dpdk-thunderx-examples-19.11.4-150300.16.1<>,c$2p9|Kw4 ML\x.U i/_N*^LP 8Y5n CY/y xgb7"6kMk;f G7vj"U0\}eq>>?'?'d! - hJ `q   8  ! 8^(ffǛf $6(78@F9XF:FG(H|IXY\$]x^kIb?cdpeufxlzuv+wlxy'p't'z'Cdpdk-thunderx-examples19.11.4150300.16.1Data Plane Development Kit example applications (thunderx)Example applications utilizing the Data Plane Development Kit, such as L2 and L3 forwarding.c$2ibs-centriq-5ZTSUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/System/Librarieshttp://dpdk.orglinuxaarch64    0 hp 8 h 8  p  ( 0 X(h   (  H  p  8   {NcQQ!62A '^e`5'2.ci =_1/ h E {<W*_{  tjpmj[;iE  R k o    } uL%3,2^ H1i 5jr:3i;jC"L"8:-7F ? U  M>|dg{f!5{[fovzoar|gH{of{fvzoaHS.r{T( Rf i p)T( #|f04PC J8 ,  R^kJTKc `sU  g+3 26aQ1%M1Z&}(i_]0 $<; G3Fwh< f;EJ $M-@0%+\]6l &Wcn# #B$!pU_# A.IF /(s ?*( o, B77kl k.2 7*Ka  >DIFA큤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큤AA큤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큤c$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/p_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$/`_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$/`_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$$Z_VCc$$Z_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$/`_VC_VC_VCc$/`_VC_VC_VC53e6555fc64ca9398453002363bf51a7ecde57fe23b35f70a562a3c2c13e6e87a11a1a4870e99b8cf7ab6b11e0ea996fa977b918e8c95f8dda617e24f2ae28b5b62e67d79c605aab14936936b7bc04040aca9c9ad3e33b1374133cd1606e6712ac954e0278232a28fd4f925a8dba8e7ef8b03273da4f0020c6e45c87dc88ad852796feea669d0860df054230723e14a12bdcce98f4b2e3f4486867744bcbc396f887206284887122d33f861e20d8d02e6215892ab3b9dec186eebae295547fb219cb5587aea22256fd634940ce58a516c0d5ff855082e5679868ec0a056ac575ed5e8308fa1f05e3743be170cc34d67b00064b9772ffbbeb17c3027694d85bf7f61d0d79489429a804546ff8dff80b59d4ec0aad42f8c49d3650509ed2a4f74caaf3866ed9874328472eda6703ff4db038126719a0a435c61ccbab9881c4bd1e49fadd580aae8c9b9d0d961a9a71b09672ca821714375d750de174f39bfc4ef7b5d9e65455b27eb4cf601505e5b7f048f53efe8588dda9b75a8af1cbb8e2c45f2b3ddc9bb7ee094d7fda9fa75ae4b12e9891a1e3a57ad4788df76b08531f97bda78d2031694936c3e2d13834e125ffeffa140e1626691785e80c216a28bde9cb0df0660881586635858e16bf92a10b91e3999f3484d88a23a2a9744945e17ef7c5dea6a0a6207f10bc4b129b637ebbff1944f47f2954a9238e102760c98209a1fe19756fd1b435ecead78a97437dc0e69d9c9e4402a79f576f75b5f5f595a77c32fe4d3e02e3b88541bd0b2e14f06a7c61769cd072701f2bb6040f2be8192d2ea12572295bffeb64fc584dae802e999de57eaa6502de1e8ae992b9af08cf4c9967f61188a0efe9563f872c57a61ac8dc7f276e5a637519439181195cd770616bdaaaad90c06308bf2b7c4aaef59915511685c1a2708e9c640a2f9c2c5379e8921666c2579ad2d1f1bb13f8195768f1c2429e3a2f35408b18f13261f06f81d3c1a5fdf3fa94d3343ef154ff479371f4c8219bbce83881734f6978aa3b21c65d7a4e2c199beb066b7c94644ec189f3d482cee1b6e840cef10081775ff796b111a0384d244a12dfcbee3143e403cfb1482af649e2d703f3f578b45de44143f76ace86a17c646169110cff614927c1048fc48ff097b3fff61ba222354b0ce941fa9c7de01ddba74442bbc26712c0858e8cfcfd0ef7ebe98b2785c995d978aea93a0f96fcc8a8d55ad661bb3f4bde5d9da5548d425c153565511e0eb108dd2a54a85e3c58347bc345ca445396dbe898ed26339e27787118a1aabcbbde74ed95fdded851cfdd657b134c956034b554c6f1a599459a3812455acbb6418bb80df6f17ea7a613aa60595e9144f4724bb0cff9da475cfaa7828e1b62e678877902ec08c206ac9343ae8d45e8f93f95fc6f82660da3af1c643f64b21372db3d7884c82ed40ccc29c89b32d70042578c0dea4d822a817fe902edcbbd878a20868a271622eeab5a8d6e548031386b936259420cba8e881b0448ecf7fdc7e7f37f67d5acddc7adad3caf3c9b928cdd283c3e2228c2068d38ac3739520bc775fcdfbc0fa8ba4ca641fe59d69f42795905e60fcc662392992428047299f82861962ef48758dd083314f75661b5ea17a1991b8580c08e5d0fef826cb9da53c3eb23dbb3cd889c9d4183d5ef1243ef309d82f81a97fbd81ce1f62e2b49683e75338d42480465fac06f7ced9b69fc3d25f227ff85377e1e48acd89858ee6a5a24405894a1f0634458f509c7d4641b9d454793c7969063bff61ab1bb963165e00a46ec0f78dc3e10bd486ca1100707e73075694af91ffe35b1a2b9ffd03fc1028572dfd5f1ba03eb2875c6ad832ec48efd1ed5aa7691c295fc7225a6c55786ec9f58e676aa931dc41efe0fed002c5e85db9704d0b3514bced20b3b88357a0f56aaabbb6917171bc7a924401481022be0cf1400b4558ebce6366eaab6faacc5b2433e50a59487ff0b1f514ebb250803d16ff1505a730ccb778492abd4d7a111499a4877a4567fbc5d3b0f116af41eaaa230408263eb25c4eae34c442a4ec1d5705858d38daea23a451b73db80e6b22ccf22cbd7b2b40b6cf7741cffe0b7f705ad1cd0ce9a86c98309f4b5c4aa62e911a3199ced2c5c324389933dc9e74ff8805a27141390e1113fd4545e2b28f1e906a166767a4fdce6befec18bb27d961ab96c391c2c76f4d5be960f4d6025d395be7d4a8af3dd5494f7f7ad4a46138aa179ec0b8ddb925c128ccb65a119eb8ce214b6be2e10d3d6fbbef57e12ecbf18191aabaf5c787a586baa0ab0a887d0f344329264e923744c50537bf0753fd1dc484a4545524103d4dcc20a555dc910efbef36df3c1bf49ec5467902b7205b4848ff932acfc60a5d5de353d061d4a31602665bd02a3f05c34dedba518cfde397d7a64b06a6e3ed6751785d15b7b3ce01d7715edf0f828d79f568bc0314aaa44217c68a41ad198121c2a97d956b8e8b3d06226247809adecd9edc36c20ca4354954f06723f70becfd299d19eae0fbbab7e81b58ea848a5fbbc74b81053530006147b691d812fe20fcfc0e98fc9189f2bec316e24958302b77d3e20861d356cb8880e71b017660de5d1e87e2188c88f5c9a1cd46b2d6d527a4c5460b8b72ecea0354a13a42aaa71a40bddb4bb999ebae16d25cacfc4a647026fc5b819a31c4e32712936f078e6a293d91c79fc496e71ff05bc405417f0c1db85a7190394b2036261f492c3c6befc8563e0893074c449300cc95f5fa2741a28340e5d3d7ba03bddcf3144f58a46b117ae94d9671326518bdf5e2780665ce1410271206a4e7a4e6e2517ec43bf57be9e3878277deb92cc88972954080bca1b8dcb2d503b738d311f3de4d7b42bc3e7e6ea22c249781acc1fc597e59f1b39ba7b9ec733b04d7fc51c5a6ef6665f8c67379404be45edce275866d67c2d5269b5839a26b75f07b222484f4641e309e998edb6f4716a18573b4fbe270e7c8dad8a11102f63bf6c6ebbba858080d20e1fc19c882bf288d967fc300be34584484d03694313906650d72f54db7a502b2f6682c9af6fa3322103e9b04b5af9dc7d16fa36e19d209fb072d012b94b18fd7216d5cea79a754b496c5fa392b189ca862e929587ab3c7be8bb5a5c4e0d38e33516809a00b3952f1906307f01dc1d55493e5691361b863f26c4eef2347587603e9e9f1532a798c2e8f42e13c751e49d05d1b3ab28987c40834c4aedf1b660cacc00398f45bfe433e36a90892c6d7b76eeef51c4e14b284fffc4fd90a150946c62e3ea720194d03f84263a92a11fa25858a53886d89a472221805a7f73afa0a78cfc52db058d15a17a0abe51e62a2d24f99aa2494ad8470662721e21b288a33d1fab16852b787ed1dca8a2369d2d967b4c981332a0c70e597072d845b9985d80a11202bd2a8e6d194d0be8f5bc3ffaaafc022d94482104543591b3ba8292b287da77a49a55015a810d6b6802690298576be78914c7764b6bf850b53e6c14393f1a87f80bab4418b8c1bb8eaac31dc886a71bcf7cb5ae99998c26ccb5a8ef55244f232eaac0340654e63ed47edc4fb46e9b2a89e2e06cf05100a5153b87dd6b98a726300f006d3e15cd30250c60f01a809b04e23c3accd7252bcbb388a7b6cf600d7f1de5c9971f52ae15f67ded82220e9b7732ab93c0a3cfd8ef2faca87d31d8d902969bc891b3c139dd15c07e75f02b46c9ce01912452109ed516bf90722c7f63e04b3fcdcb9d2428aa1fb834ec75a01fedf9caae9740b9a712735de0dc2f988ce3035df94bdc5594166830d5ea05653a096becd7eb90cc4f7c21913043399f4de8ca13b56c1e6ad363b912cdf30fedbf754b1e8dffd6771db8b77bdcbe9dba97d8dea0c721a502e493e4c0df8e082eaad6d39709285e622b2b8f09e340c65482756124790d27b56a94ff2bf35f9a2d3e23b65ab851089ba159b11c6fd0aeb337afc2ac46ecd1997831427fbec41cf6f58a08b36a457b6930d79ecfb62b0cc05373d99f61a570c9b39ed0f3c8ac56fb5560ae9b81208fdc5a7f0604dcea12d5d867e79886e5abe0b1342989d1dd07dce6132ef6de4d6fcc0d8fa46f77bfd8e257cfaadf47fd8f11aa83901074c98147cf36da173c59a4b08ebdaae99934f5cfeb8a0c234ba36660947bc20d636c804aef706dfc000c0ac2b28ed7f92fb2be046ed349effd0e91742ebe65a6c9d2a9bb9ed8da2161c48d9ac0d7d510471fd8a1eb0d01f7a5a2c68daee0e9a20333989d90292f2da295b8a62e6a562894c19c7d22c65cb66c5cf49605523adf07791e076526e18f616f0e3b1026fee734b9162ee924bcc90f7ff5ba3451fcb2808cee33447b1ea1d3db697830d24d39c81a621a4f01cf736e100084132b28c27ed85d851964cca5c99e4466596bb070a8b774ba2c550793e69b7ae702ad003206fb7abf0560c8a2a24cefed46f38ffa3d3b494ff74920ad85ceb58b8153a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e0426c3e2221f59c4cf3e093624f02dc55a1913e642f2a9278a0c417ccb14381472827a70eac52bdf00514fc4d6b3bf71b68ad234da26d2914aef88d406c91ed7a72685f22ef057a4e9f12c255d7ea0e5e12cbdbdfe2f378485d647c79f08caa98f3a0f09c3251644082ab70844ba205a4cae1f09e54c6695a1714fa87ce1f305dce8dffb6b9047ae0d406d8fc3bd00e539e7596166ef4b788bbf2b0f062488e1095521cc1ec49e48bf17d94e776deabfa4418e6611489e50849e3305a4861ddcca1871a9ba06c8a18dd55201dbd3f8bffd14ce6079006f1c63bbd86667c0b4f6b19121324bf4acac7b9d7cff94b3c9190c623f6f1d12d604a299e84b021d3106e23809fd8f7c53bd6e6b35c5a1cf467e28723b96cae687703bfba9ea80843cd9d562df613c9f4f1b504f2cf1a4289ccb529d46e5c37b0244e1cde6a79f04d369af415f01cec8dd98736a2a3ce4d9279b14c908d19800c932a85f8a0c7c0d9f9a6f05bcf0bd576bcea73bf0117eadd1c99dc437447226aa36d574331f2101738a6d5d05751e5ea55fff128a257675fd5f46708b590757fbfa369b447269e7c6e31c5ba533d8024c3d292393dec38594548c784c24c54de8532da5452649b83917434c046686bcc35400a6f63fdd1b31d37e87f2d3ac3202331ad226b29949e756f1e6fdfc5c3c983f15e8c67fe1f5df71080d0cb9c7634effbe38ebdc0116bb3e2b28753bbc859e1638b8bb94817c58c52e1693140455bbc3f4381f4171234cba6f04e9e9aa0c16395aaf82cb91ca65bea3ef74a07210b9b7008a061dc5ae20a1361aafc89acae4313b00853663866b0350440ce8cc1680d59679f10c825ef0f99e4f8d251e2ba02d8a2534edd76c15f6fe2ae3c383c55f074276b813b1e1714e51e124f53e647d5b18588bcd1fc1922fe51b4f8b4ced445c185dcf55141a33ed38a93a3ed520e2ed7b7fd7d02fdc602bc6dab4ccd6f288de5f4cacf8a27e07cbd3436dffd7364a609ec4af546d4a994e7315193c5b3d4a5f626b4ce3c1c248e79a9dff8761138911c9325223a21664cf2c430883fa259e4966487d2cbdc8d7617e14c00a3eb8ab61db274e42cad0846cc4639fbd794d93c70fbe16b2af3ce605f8fbab65d6f395f0cb879fc2b2a54194c79aa7e609cd938a4b6abe15ffb664893f538265aee853e4c49e179d2e14e9284fd4152714a56d4f99bf75805aa3e9eb959f361032e727d213b74122e3433e331f75b0d0f7fe91e57ae9c51fb2be0605beb6c9011bcb6a3c94ec23e7f5924cac8c51446a0cd2e15526082c7021fa3bedac7fc2d85d85b38b1ffad094026cb0a998b178fa09d5b9a615c6626b9ff93cf86f57f238510a33691b0afcb0fddddc59710ddf4d7a991dbc3100d816e65c1ffc76b3bd1575fe3999292404a90c5db90eddb4c993cb591e43195ded1e4343861b15b9aef6599a17bbdd56164a2e1237d4ebb206a4ecc67bc66ca5715597f8f147cdc9de5be7b623e54c4d412aea6a76078a1d4505046a930bca82622b8353a648f93d6df6bad2c622109ce023a0df297de940de3e15242ce38f78de1cb131006dab06c9744276f6010ed77df2335145ab36ac47654294be33cc3d2fd208b64bab35573b1a533f67315861ac139cd69133713fa8f1360bf8b6faa44dc12cd38ec2825c7e68d79559ecdf35853bf96d9505a3b8e40f2a7deecd1e30f01c1815f57686dd4be74638e9a34757ebd4a36867f79a29c9cb4400b8e08c6004e070c01ab232a85bbed499281c0aa78aab530fd818da2868e08a0576ef96108fdce8154dc6aab9f488e364d84c7e705862e2f3e9fb88a686e8c953720d110aeec334d6fe9efb48597ff6557b8b6367b0bda3ee7090d566d8e640741e093ae8e095bd97a2e3061ee7b2847d38f51e6f306a71239bb9f241c9fc2e86565a489686339af537b4b9df45069a7b507b107a97fc0d6801711806eab9584d45db7551bbb8ab4be21c5b8b7fd689204c38da2c6d287918ea0bbdfa80c6c98916d0e20c3ead40e56d5756097078ca7c974f5b66ae14fb780c9448095466a1d4b51c773514ef2064bcb2cb2729928cb5e53714095398a7d854a23c352e7631111e7d0f175fe86f8d594bea7d518e5cbabdcd391cc0fbd68a9bfcb3717f926bbef09566fcf722b757f919a13cb77d28dcc593193ebc88f2eb35a67cdd8302182b2b33df56f95503c89eba84f65c7d478908f53e00833d716c3068e3c991b1c3271d1a6575cb3ed5a4a20d86e7de362b55259190cac2d191c5cafe6444cafc3fcebb97d401aee72cffd23f2db0a623f3d09280bef261e7d3a1fbaf93b2a3142d9b1083538ca0f58080753aee84e21bca7333a60e44f9fc1b87c5dbef50f438be7522e8f28f1ce25dd28c6e9f08be8a593bbe046979f2f6e989350c5471844b951c9d9d2f1d95f31081e61635647ebb5e4fefafcaf4b37d7bf3ce319c7a54ef1b4313fa4f6c005fccd8689cf13e1d3b78c424ddcae133235b2f5731e78f205a27a7e3e7b2af0c6d9b127f2a22208ef62de48d967b208a79eeb4948bae8c0383cd145c2372848cf8c4fac79764463ba059186a7f0fef326f1fc1df77eb7a4cc40207683cf5d9b3803d6baee62b2aa5a0536675a60f67b4a597d017cbe8d5ecee975c8ce5b55e8f4f898740f74e71b27940f0cbdefe591cb43de9a339343dd2965beb60eb551f53198c4ec6d1a05b56a5c8e882b8fa2860d906e78f48648231ba826d2c31495c367432f8ec0ed6a7cab1f930d0ad7316bf0906be26ec0fe4baa6aa6114e98e96ec4f4e2fdb532c6259a15c3f9923a6dab363371e79a54a7e0b81e84a3afa587d65aad84649356ef4d5cb535e15c38e20c57ac984593f13e82ff8ae7a16e31b76364edbc225a96ea91929241deaa83a7a6906084cfcf447194054897355f10ba8c35d0a0e1370e907e5796ae47c63a0256268ce459c12fb83572b1c6bd66e39135b1850102d5d5a7094106e4061412cd167c44417127808c0dff868a93d7935e05345fe07712ba3a93e71a66580dc8cdee8063d56496c0bfb7a0bb1ef2f34e8f7c2fb4d247f8ede4530da98e207828ccdeaf0b44478f74d6a5f7adbeee98dd65df87c81e1aa351f9b872b743560a4a5a214a640729bb23591ce8dc2a3190a7e876ecf4314458cae2dec48c1991bc0bf071dec085cc3c4ff628ecbc07b5b8fe8ff9ebbaf2c3a32b229b67a8f6a780096987f1c42f7d88f7ce2d92e720749c82992479fcfae49b3b20cbba391ae0b14e11c5da3cff003f40d99a601ae060116d3630251a2712a7d4f5f48db0dcb0d24169d8a6947416117c491297f23c4514d549364cda690c89aab1f5190be649ec149254978acccae25d9ed2c2de5c8134ab88010032b7b68061c91cb52244f1a96cffd68b6b21d707d09c28285f8e9a44f7f04f959b16cbc86815b3dd194d82ed9999d90ba74a1bd50ff8fb0e00850ca8d12db73333cc2621aece10d6933ab265b1feb1ae28b114e2a027e7dd442e30284accba99907cf2e647e8d1837a6d8948a0320463e5dd9142a25b98809de4cc30b4f7f8641dfcd45305a15345dffc85cb28a555aa0487232f996f3efb817b9faf80b02d324d13702ac7ce64e68e97ad45a9fd68131cc20a2aca96dec717ec03f81bf543824b95e6867d9ae4534cdace48e0d972175d5449f92c6122643d9b66bc7125bc707c5d3ab362c1d70764dcb4ef24e8c8b986f383f25f0fe0dbe35f60c2e322ae5ea6afb15e7cf2a3b3ba5185aa6296c902c3a34ec6865d991b10a1d5325005d61110285cbec4c9c6caa3dc326d6698a32e7fa4d844a25f5f014da3debb28f2566e53a7783189e3dcad2a44803c90093dbcc4fe81eed57debcdc78b3e6c3f62ca2df18d2f5f5f31d54938f9652187d9136e58ab4cc4960414b2b50f3adfeb0f5cfa6978849e31fd54d74165dbdbd82eb3714d9cb077800e8a3f317a95b918378a3f4f5841d6654f106099b6dc0f1555375e8994a744925c26a821204bf9801ecc07bd67d05d11c91cfe67d9984c84bfac65bff71674a1253877a01a73c8614cf652a4363d2b2992d4672052064685ef5e63a6c62e9f1659e388d4b862b9f0abb9575dca785c6ae445acf24c8f1cd0c5bb11651f8280b26f80779ac10acfa4f9a953604403e50053953b9e1c3e88a5852ad4aa20686df9e3986324f1077abeb2c512e4da1f69be27f5064e82338f5765b692e6da25a979d9e915f60aed69d9958037b7f6c2fb66baa1832bbdc81a109257a793022f86dacca7e73a886a670ba2623fb87102107c97b85d1e50be6c438fadbed84d2827a5032e36b2308312efba0d52654ece4760a5a4b758e27c3bf983d8208c6b97d429a141dcced5faefd10055c0569e985025bb74131abddd1e3321d63b77e4942eab8649748ee45070b613f1528813e5d8b9af3a427d102591e60f381f2f9352ed1ba1dff112bc11241212b8d67d14f6f0ba0c61d6a7717161d4ab316cf6f195dd8cbcc31272b9c556e0fe67495fd92574c299e0f387696d130d211494f74681b0bdd66f95027321f05fe951020a1fca5178181112abc5e8b1586082ed2de8dbb8476095c0c18a0852229c54d5fdec17b0a0c3e34bab9cdce7b7844eb396f5e82eb6613ed0680bde005f3771d64fa19cc7c6f0a7ae2dd3a1ccebba2167ed6fc04d07e24bc6469dfe480de10709cc457cc093dd2a7e5a4cb5ebd1781fbe8218050e1d4f215df575dc0ba24c5fbfaeb0a3e967047ce2eedbc5805cfff9cc192d8b359a0ef143a19d0a01e9b7575d4a2a057bcd0db3ea710567b1539da3d077da3251398ae391299f86135f33fa3691390bca6ee5345b8aae20248a221b8db3ab906aa557ac44b9cc3ec55680c254c0480312e97f2470fa06b45784eab74f08b36df4c334d795eee95fc51d562dcd25d5e5dfbc1327cad12c0d51d5bc81a1288e025e6713b3175cc5c4de3d159a88f6c31ba4c68b87b42d03917c50b7c4df70b68dcce6224787336a7a17e1dcfe8c1a72bafa8cece832e4fbbeaf624ce98be89c70245bb9d06f213fa52ed73035e5077aa0ec7153900ade2fe073d5c34b9ec5f4f8c8835f9474379f9089638df4d9fe129a8b6ff8447d1c06178a7bdde44ea3d0e2c44dd19ba9d52cafc6be419a3b28a83ca4bae4cfca813783d0f6f1b9ad1081903379559b4cf5aca682faca3d36984843e18d5ae5f63467e64a5cf48ba7484da7b98375d9647d0fb02430014499a7e72018f475bb28b19ead77834d658a8c7b8081f00a121150a375809b59ecb5dce9efcb821c2c84e90f733fde306f647ac5cd18f18c6da2776c9df609665e8a79d95b149b12fdb1224c2f27fa3329292ac13f279f0be918c33bcabc497f2831d72d9d66aaccd4ad9d1bc5683b729bd8f2bf3194cd90df192d246132f1cbd584978e5cb5d1fc3c01574d558eac71b07bd16feb7320c7896e92aad070d338388113aa18b7c796bc2dfcd3330fee702e917c3a10b736aa1833d0b4bf751741547b84587960cfc1c652c4b66f61efb451e601115278c224e091fc91eae444a10a691aae0b0724047fdb33a61f007cffad2a7a217e021b368eaabed4733271ef5d8ade03715032c181432d19273d7fb093736da2aa8486a8d31675f3411f0375293deb64df76a02bb6e5a4192571816a9f43a8b85e0856c864fb33d3ea62220fffa0c58df3f44e2ff69c8fa4565661920c2a7c1b5f305aee210b9ae68887c590d1d83a48e7ae35c68a9c9d6b75b936bb1344d3463391d70f536c7da5f54af2f2d0dea2613dbcd121a86a438116976d1ae0eda067609036da99ba3f7aa221d52dccc979c43148afcd40e024e0647276d2c26d93f732d7d01dcba88a020070c8c0ff8a0a70297ce39fc7d4d379a8467069d2e2a060afa05cc004962ae95fad34bbda65d2713d961cc4a2ea68a12e417acf3671341083028b634d75de0c2ecc3502b0da3eed9b680e2e9eff9411ffcf32eb501ab3e7aee2c36ae1f391b3640b6cbd73ff064755f7bbd55eebfbb5c1c89591ebabca36409d5fe7a9cfd5778c3d089a9ae118db83e1b1fad5b65acba3d2f9fdecfef3e947e4a60e8089f7803daf4e8dcadbaab3aeaa44218824327275dd7fd6b9a325aca71b0d6e75cd179cbebd022e617fe593410231041c0399734fa42052cf35f2b1bfe7ed141d7b1e11082a8e211b9f8da623423397893d725ba8a832ac9981180aab3d9df8b00bdbc347a61d52f0aa3304414bc98f97ed2dd3a70109819451198a43767071225341b4fc711ec47e2efcc550a8d091139e844ee95284b3ffeded4b1ee78f527c13d0834b34b5b3171536893c0b0e667e2643b285a82fd45db294b990b71308310f753d181c06e942e95b11ffca37fa7c5b3b7a83b6970865573b5440a7c0ba1d8e4612b6c877f6f89f2d301164dbc34a79e21ec7bd514ecfdfffd4baabf727c0e421f61e371506a1bba4fd37a94fb9750d0fb5d285f27654fdaaefe2f9c29536b731c875d1db30abb01a5a9a782f5b4d705828fa7c3959bb52ad8b84a491033ec1e6d7c15d1c3ce30cce37b930a012a0a9cd047170046e0a6b2f2e9002c19e7d7246770ec2d7e157fb33dec4b05ec0dc2eb1bb56a4d6d88fbf34d72315c12d05d33b2743f63cbe218b4771bfd95660f0e955f07d2b5952134157822c761dd3ea3586458bb08af543d158801f6871b5cfb052e1b337e4d2df61f5642dc639600621a58f78f07986f8d7e1d7c07e9b5fbbce7f999cf86aeba942fe9a2a75dc91cd1350103d314ae1871045c3900e206379e06dadf1784ebd18f0576afb7aeaacb1d060fb386498171d4ec7b19196b39ad6423352111447f4dcf5771923c01a15f58b45118a59ce194697abc8fcfc91140513d97bad21041e86c02e4a3d2fcc2a12dbb7123f27209ce3a6011579a42ed29dce9c69295adb4307960f621255e83cbeef83e46e37bfc4f89fa7f7b2ee88db9046c206ec712d1ea3d5dac5b0a63a3706363290c7844e9dcfb8bc2ef95424318ad208ef4fa4dcea7ff87e23a82a99561e1d190233499fc8e4052c46826bb8b7cffc372096e89ee3b077e3a38db25a26aad2839387de50272b3331d26c329cb4889c4dbdcadf4fb718ec921567979fd59194916c6a526f863336fae153eacc0bbce497e5724acfab999bab3b0e1096dc0461f3f5e6a0db54d5efa82a06d02f8055f4bc9fbec14973d73572415d36d50bb7b94b057156caf8b5d9e611fac38d964dbc869a67934842810d2e64d09abd5c2245f0fa99721069de3e4e031b4cd3ed06b13ee2404e805219e89631bdfb97233219e2e06b0539d2e73206b30647798c2b60ef75dac08eb6d00b054ced65691000d370bb66981a7d35700fdd6a83438240ecf3e5880287fd10bb17d447e15a9ece1d797c04c3a8c74eb20ad27cb05e6bb741949e3556d74ddb654e444856c6a5172599526e1eee7c574d946fe34401ad16d00bb4e34dfeac53f20562698a553a928617f88f3efe0c4a28a09e5451b55ed0fbb91d724e237e0429dfbab3e315b4e3fcc4b322bcf824d600a74e9accef0c428268b91ec9ad4d189784f07155f587067e1e548e0ecabcad353e09b2fa22598c3673f68fd2250e2fb12c427539d5e96646f32813e783393a60e662575ce89c614a31e33a5ee93dff138b631868d6e24fdf286830552a20163ffbcb920fb72239b32b8823ea26b2456aaa0f12634d7b744b13d5e7db9cd3890333edb9932987c14629dbdc9997aa1cdef73c9ed98177ccdeee30a333cb30815eab45e186f8c92fe97cbc5cf74f51b09ec495771720a59f830df893dc4527ff1f55f283709892779106fb61c77b0a6473ea11fe1e3833960351725794bc39fb0b9a51395bb59c38e849010020fcc11a2b15a8acf2befeeb711e231fa7cd8354e80e7010bb73b78363d2935345fbec2c82cebf8a1a356c2533c1d4678324f76995e2b962638fc5ea5111428c481716f4f3dee1952c8bacec7f332272b23ba5342c4aec105fbb093878dfeec1b40fdccd2c7503babc01f467d535219856e24d79d4e608e2a86d50426786d418f9f82ac324e68e7eb8ad939f1a34785e2f62b049c84d2ba5f9f0c2036332cf770c78cedb72a9b270ed793dc1ef90eac905732a86dd07459ff3ceeca3482250fea10a570a6bf79b823bf27fc6f9450b53a0cdc7c988746330afc33a027926d99768fa862a7bc32c8233204a858fc5628176583fbaf192253f8a1bd3d3fa88e67f3646fa72fa08ee483370d84930cc4872266076dc1e7a252486a4778a5518abc4ba106bc0fbe9446a8a06d2c4fcaa4e831f5e80a2795aad812e90ddeb57af43b03b3c03fbfbe83f88efe674c1317443324119caf564353fde807ea3cbc66ae07d9bfe188d87d5ca304551c614564344ac9b998b959bb38f0ad35c5dd473015478b636ea5b50e11b253dfcb7d9673cb36b037d54d14ddccbcd8423a9842930988ff29f6b9b6473191b38e8160cadd3db4e97fa7796abadb1978c4e425a3c40507adf635029cdcbd14cd35e4277c03a9da9e347e0a64d4441cfb1b646dbc80b1afafa6700742e6d55f553d92659c9356b97a41a369f295a07b3db3a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62ea255d87f9612dce33b022d81d71449f5133090f8cfa86367e988c4735baac945649cc862d4e0a6f3804e93f39b3e2de3291e15796032084189a35f48d33f1ffe42c4bb50a5ba9aa175ff9a6ca257ce9b949832c4ba2c052f8eb86b6d87f03666346f549719d34ce69f47b9b4c95077f88d9a8ec2e8f061d9095047a9b5d60d0fe52b62785a3fc4f08dfbcd1850bcde511d8550209f1a6ae2dffe8b7960e43b47146158e16a9ac1aa335a55f8dc1c88d07efcc7ab458a517367528d495182db4127a84c3912bb0b24b4fb0f1528e18166ed41ebbf92d622d91db219ceba1df30f118ec7b300237d5946fd4c443b14298eb4b554b1360531a52cde83595d0427ca067c34521cffb6dd042f8ddb002b3cd7fcf2972d833f3cb6af24ff8c3829e428f75d08f04b7fe5f021904d904bffdd40c987387bb648e4b08d8a51dffd9e30197874b4c72a155383690542eb985dadd338c99a74c9cf7728b4958e8eea417cef45bcad80795bc9098ca8a8e738a6b22847deb101dfb0abdc36dfa8e880c2d5747874f26e7f26ebcab38676b14b5c3bcfc7523cea76c4c2f5cde7fa777182f031b3bed899bca516714db68079a997a9bd470fd07b24b5cd4757369ad31465088d2971306519d1a92b1c921055249ad904556256701254a0b3f2b4e7f5b4c9e3e07ca9c873a53917af29ad06bb3579ce0e481233116e0eb0b28744b7756fc453618dc47d43907cc8190e777420b6c093d78436b19c41b6a434f94a0c6ef5e968142fda70535396ebaffeee4ba7649f19ca432796c0ba33622db0286a9f462f99f01945eebfdc6312fe471abd2513d7dcecb4beecbda089e1a063e77568c0059d98003cc0b6ebbf908e0c84d53632963b1d1ecbe44eca9980278cf469f935ee4ae5362d55269aa9e81531e8091201985b9791bb4acc728e9daa6d39df4f4d01986515d4f0fef15c3fe2ad7f51c1c5383853cde8d8c66f39575e588041481df72a2eaf8c689db216730c2a0fe4aa3f6414cdafcb6e8ba82c3915be86a705e7c12c48cbccd490528432f8e8a1dcade195f037c03cb62bc354f6f97acb795e31717979c1f36bf98d240b743200047c254d0d732d4cfe08af926f34fff3ff10ac6118a45ac7815499ec921dc1f77f57f3bc449d0c23480724440001d86b130a3ed9ad7a4324e5789df970c4a5e762c9ef572d4bab8f929f40f097ba04bfadf1a9745cbc3f64ce717745d9ced6d81fe1ad6f33a908269293fc67f822ef31023362eaa6bffe8af43e1fc0ca5c46aeb4c23c45be23adf79bf125399a6c8b11e87094627f349bebdde65b82c9174810307ce888f68fad03fa0cb92cf54fac5279df1fc2dbd09bdbac1f648532988ac8270b2f298197ff00ada38824d070339d472b83edae08a47ae2d93cf4b3b08618183e342b80bdb6b585627d886bb80b4df23a13c63e7b8e3761bf3e754dcdb5f55029de2739024c66dca82ef3602310c728a9b94d827744c4f204dcb3cd037a55ec4ae152ed5c3b8013f36798c0eff74a920258d191eb133a04b3515cd18a473618ce3e1c01616731070a2e7755ef4a33a62b5a991e02b9246a066c508ed21df9cea46c8cec2f7aea8552531da85edf79c62fb27a63c205bb44b6c645dbd1c9a26a3ff1c9b6a1d3615735fbc0d2f38ae8d57ed17adf22959f3e16029bd44e4ee0939d56ee617468a829a424fec5a52f64d9f3ef9eae6a2c3c1aaf35cfade70c7ee2f8a656c9b682c068ac95405891dc58638bfd1a10474e9ed8ce27d762bcda95e922e56013a04f21d294ddc0a5b720847782b906f7175bc51d0ea5b6830bb9aaa7727124d14dce62bfa3277dfa3320a55de8308bcac97d350a958f7da6d7edb1c242bdabad03717dcb128eee027fb16097fd700b26d558d6cfcd85617f1e1a53753dc22ef780cebecee3de68956e321fba4792778bbfafae60d4157eb82e6d8a7bd74eec9b879c882444b9a5b29d5de5db8b165f2d021322d541b0c2961b9cfce7581ac4560c715144aba3a62ead62b5843f38d63fd1f80de095567738725820170798cd1d075000154bc813ae683e56d4fea7845e8af74c91e2a7ff3d7bb585e7e57337a5b1c4c831b3ab6d1ae145473453beb15a4e7be2fd821a65107bb1226a679a80897d8548512207bd84e3d721e1266ec70537fcbe8a5d6f92c6c11bea0cdef828f9e362ce033d8a98b5007784bb99fbc49e577b05ba80ed9e4751517eca42b54fea51265e2dabee188ed3fb5cb6bf41f1348731bfd6c719df3ec0423007190f9918505ca67ebc081833edfc2100a99fe1d548b41ecadaf6d8d96a2af186dce60164a001bc27d6cce9240e78cd6df66b7690d282882f813f2aa661f50f9d3b497e6875488740fff39acf113751a0483a5030750f2f6024ebcf155d73d0aabf87ce2d76fb378f1caf6c59f7ad044569c987c5dcaf207022d5f78ceffd21ed3caef5c8910f0737d3c2377ad417d3e1f6c46df96db079513acc9ac66ee76d9940c07f1012275664b005cd6c987aebd9f6de1e11c527f274627b1048889bb61ffe6b5360d97123bcda35e89d11e99ab032f78f48054c71debe7b1c05f72cb1566445a7d0fab4989fe7fc53e8476a5cd671fed3536338b8531a10fe133a92b5a3f3f6e4a7772529cd5b9e1c4394efb6f755b6eb799f28f67d51773c81610b6fb407778b2d23f301f54999588af87868a580f180d8c0661844c6e153f202307068cb47e229c4c6a3152f1516a07efada60388e4fa2a77727b71c5e5b7554ced4b3cea784c27e9745612022192449b0b01f1bbea3d024902d9f72b5ac0a9c3ea3585494a55df791cc8afe15e8b5bce78a2e591a05d85301f0e1d78f46b4a8ea32b80eeafdca4fc51dfa992ba08b3f4a80299e3b3cc88330e3c56c9ae6b3979b7e17e72c0afa3ca9aa6d8091f8b28858ad12c792c8fab3503e63bb7d5efe4653d54e4462a48283ab8d891c91976e910678a10916a78bdf313d3b01c6ae934e4a1d4463dbbb4111b79547765fbbb141888556fd6a938b2fa413e7763e364b06b69084876104db35d5c1b67493ed5de7f179d537f09e08b383c76079c15bef6f19029e9db2a8a574ec351b1b2b106006177e95e7d4d1a746306e40feaf0de6c99341848a8ec0a50849d1affbf75d6285a73f6db3d701cde04925d840acc6b257562382af0644faeb43de21a4136d51b66465aa9888ea9f8c648d0e26208824f15a81533d8c6bfd12f83af530c4e0f061d5023d6bc8eb9886568b3e26294d0df38ed83e438c245f94aaa52c2ece4c15547756e0d328c330b89b799dabb596e9d7f51fc949b12e694c6bc7a2dfd189917597f0eb2641974d244a189eee5a52495edd5fb742daea06806c1382f500af741ea55904acd51b7876979d1c5c7c5f79561c0ffb457cbdcca932bb5ca4e63ebfd00342aabc26352c9599b515a63f29d5a2bd3dc2a123b43cb9186535f6443d405d5a63511664cea1abe39a8b52dde3be600783b825b82060d9709ee8f686569092899d0602882071dc901987903f869639ae2c3f7859c459482f1cd8fbf7c7de4985af4e748ea057766cae63f93e71ba01808e3cf3e2d828639a2037f2eb0bacb829079d660e547df1cabe42c17ad82df2b6d89e1656cc89b5c080c5ed75a243acbac7573dc3c051b55ecfb0b510376da8ff912f2ce45eea541bc918488c59819ef791aa46e0e38d1481b6afbeeffd28a1afbffb484d926c3a58ba686047bbed7f985da7ea986b78275bf6b4aa7f95341769cad1401cf3640baa28fe8a58bfc267c0ba4f29da551233237e3fa112f25fbf1c25cbeb780c53b93bfd401a40d63a932dc5022bc01a922504e6c420b5f2bf9ad58e8810f4c606ef9770790351a0ea33d9846b52749e8c5b9ef4d53bafce397f097618a900d1320a7e9af180ae19da9e62f4c91d1b9af4b59a288c085c97ca2a44134e75db8d567b1a61043945830b22a21ab0741e235c11c83e0bbf7d9bc2508cc9b4a4d7a51b7e416ad9fa5239ddbc5d3293c40c488c1e459c8629e83f3602ba558bf005046cf7b11d73cdcefce0bb34eee4827e07c0f89a1a2e3a6c8d804e6f85e27d40700ca8a7aa4b3646949ae7883b9f15808e2ecd04aa8ec64b855eec926ea747c0a72f14e1c52a6f7f1a245cc19b346a6eb1eaf3d11712f5b970465d4d7ad72d0ab88739f60504f303f9522f5bfe9d0c1dbfaef8c65c775842b7b6499a6b56cea60ad8580b3ac4e1b892fab2604a05861fbb31d9fbf4e1fff7c1c9170ede854796eb498d04b1a2617c4da032970c7075eb3c3aff41f75cefd756fbb79c447e7d3033e8f688242e0b7a8ef074534066e5b480434d440317caf533878b6a45c9fcaf7a97f08c178f22beb584ccd1e264f86e08af127d7ffe4d8edffcb6c27a0770a54378c0bd65ccbc434fb6af012b2cb53c93be67056b0ca5b0f30cfa9018b91f6507db810db8b719c1b8196579d2c6a444b170887c66714e2fb5467b7bd6c97da777c7afa12e9a721efbfa963e431fb32d9a1f14a98eb87c6bcc7503119dd705bf6c52080229b4e2a025f87675cd290beda2b770c7f152cce2f8b1d9cae306737a11cb3b5a721fe9764bc269877f243e71cd9762d95dfe07dffb8664e470185bf43033fa5eb5b9d313dded82be20a4ddece8c4209d3b36b8452d196c4dc733bac4bd4b2304271c0c0e315e93722c2c49928546e15910ce13c41cd0c50cdb3e104ce94d06417436a1f548b39a340d3b5e11c62f8b1eb7be2ba5eee8879ec6bf9d2bf4386c0a70deebf03500c6f99c54f0804cd641c159035f947708fa625dfb1a66a3be8d9d8864453b662d667db512e11df6ed6e2c27f1259c8b865c492bf483cf9d1aff6946e2954899a55853acdb1a08f5ad23a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e0f41f309c84768b036de3ad9764cbf1010939fdb7349ce1bdebdaef6c0db2278a3010205cabb6e4587c5b45b569261bdee0e41ee0056a25a4fae5e4341d2f744cd29d915a806255bd0e584ab2999e75fc63a5a71b31e0f00824e79eff4befd42f1033e84169b25616e727b8cb26c7ff49207e9bc4c231fb8d81c53c746586c393eee067b083f131d5a9076d56e47cdd97c0b809c2ae6c46647419a183a22abf0edfaeb144c7d5bda829665b8f7985176ed985b923d69ffe74a4976aab0eb1d9236ec4b8847ce4d3288134c28a71b7674c8c2078d7b8b439a56e661b11b3a4d59ff2a98d8df1c7eee6162fbd6c397726d6ce068d4bc80262070393e1e19f57a2000cb24a6dbe436f9305adad1c71bed6181f1701497450f09588cf83fb577434e853e1919e4f94a85dad0f8223a29731a718114facaa5ff06aaa75c965da94d428563215e3ff7e88543939cad3fa9d68f7789af59dc00ac915cb570ed1e19220f5311f0d61997c18cb6f6d119c7a3a30bd16d3339ba75f196465f27f23d039f26d01ff545fcbbb9e2f9fe189e15eb86ee8814c7dc245e850a192a67e2fb30d93251a67893a6a604644eaebc33f0ef3572e2967afdb196be635df715297688ab95fe767d8adadedd1e526d0c459df38dad7c15fb87b96212573fa1727ba9ec0b392dd23f40233669cea465aa3d6d1f6c794a6168823f1d2c6324101cbccc05e74d721115738ec1eed85f9e1db1a1a86b560b2c4973e3837e3febaa0cea22e52418a73e161aa9fbbf7960e870dd323de52149ffc534b8b20532732d4270da9b2f8337559e98979b5e2fb83d8333d74c8d65082069af52359f85d6b43bbc9f50dcb31e39982a532f094299851a0125e434c4c6f7711f02887b022eb17d3f2ca4049b9416ed9de4c2163d6d65c9b392902b1ca2b8e5058acb0c349f7b0b75a95ea8bc25790180c09bcbcde8691b21f8792917c691077cc605f31bbfcf3627a96ab08f5e15088554b0bf462745980905eec414a38d62b0bbbf7b5505e5992ff670e6ae9cbf2a63a029c2e7362ddae3da4e08a85f3a960dd70d6d88c48e120ef009d172aedb6f60de80c781f33d3b0b88ca73857b6db1a0d156e734a2c3c8547c3462f22ac8aba018ac4fe4589c95c1469b67d592904f1effc1e0cabfab1f4cf2873c11068c553b2fa0b832c8efac20be1ca0964df993dfd18f34c2ccf832bf12b6dba16a419fe192f95f6825aaf4a29cf4345d9268882341c3ad1c5e4f572925fcfc7d7b2b5c53e9de81c0744878cd3814b82e1533af0a1e8c3475843b6c72235deccd1891a958e77c8c9939cfd43321c21ffe8f89778b88c41dfa3fd130c580dd06e6ef13dc49d484257fd42ea32744eea59876350bc23f04ea6a4fe1a92be297c08bf412c1af5c3588a81fc37c223b409270a2933dab993e0bdd8a843e3510c9250e19d038815eed4bfcf029c9f7e8e843cbd12ccbe318cfcc4e2d695780628b51c23d271cb12dbbad01a7678810ad2ebc379c9cc32b3728bd9c08fd242bcfa0ef3abd1c92c3fef1568b2d4539ecc5fe3dff83a16c7c70e5419e7ac998e86d92510e06431ffeb72af0eafbbacb32eb8d255d5e922bcd7febac4886b15cfc075e1ba8d6e891fcbdb7030ae8d1021a9cfe746d32cce9bf65e3b66087ffc615224ef8917d905f7be964bf96ecb4de8c0d533f359d37731bbaa06415b4ce8959bcded51a0f456d9cc16c2ccbf898902fb38753339a3367af3bd45ae2efc3b456a79533c90cb5bf54b13af8eaf8f1197001d6acc542acaef8d8f104141fdf0101afde9a8bdb6c65afdb78d4b11cb1f627bb19425631f440ebe44f3d299d8f0cb7773479d05c685d848eac07834fe693eb9537df199d0374150c351d28c96228fdb0dda1ff31c1c2b3845c302bedbcb272184c61803c8caf46979c41075be45fe1776da732412cb9ef139ee3cbb005547b74dcc316490721b0c419588c069bc8986df50530949a755aa99f33a349b74466ae33fc687bd6e2d4ad89da101820a0549036c523fef0e72b00677bdd84e29f32487facf6f9ba6781b413002acdb7df5e7d2c6ab2cfcb7f2e62ea375c19b987a95f429bb61bafbadf62e4e3d5d716d8504de744945be3c6ee9531f43c21da7d7f75d43e611549b972dccdded9c313701d7a3c8af6f403ebc615dad02f6c67ba7a0997aabad6470a5b34e58fe3233c7064f13906d3333170a7674c19349fbd9c07001abc0df53f336d846a9ad6bf2a378b38e129482a0cc85c83a9b17d2a6ac3d2f893125211435d0cbd1ba7a64add003e655eca2b4c975b6c2f64ab0348b0ade7b8d86a89743afd6707e71691ded7e006e552b9a7f42abf7217920863a62c79bf96f5b9854d19d51b020dbbc2a99d240edcc3e2fe8da60ddd800d37e14fa805e1d1ef3e67827d3f341f12193a6ee64dbfed7b5ed62a08ec06dbe9dfc7aace65c3eba7b32fedb9e797c639925ee3d86da52877a8197890eeaed92f36b22cc8983470e18f744643058aa3a5e378a91ec733653496d7c67eceec7066c82b0e2707b19c04b2f0bb7e4d3631823532a6a90ed870057e34a15a5e81e92866cb938e15e2860db246b698f0fa20ca0acf4f561a87a56dd3bfa5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62eba56cf9c6ad9aff5b2f19a202285990a8fb058971f2884aaa4c97af70dd8dfbd1da84ee916dd45ccbbe1726a572af48e41b94b1c92c7c7371a8f99a018070eaaa5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootdpdk-thunderx-19.11.4-150300.16.1.src.rpmdpdk-any-examplesdpdk-thunderx-examplesdpdk-thunderx-examples(aarch-64)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     /bin/bash/usr/bin/envlibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)librt.so.1()(64bit)librt.so.1(GLIBC_2.17)(64bit)librte_acl.so.20.0()(64bit)librte_acl.so.20.0(DPDK_20.0)(64bit)librte_bbdev.so.0.200()(64bit)librte_bbdev.so.0.200(EXPERIMENTAL)(64bit)librte_cfgfile.so.20.0()(64bit)librte_cfgfile.so.20.0(DPDK_20.0)(64bit)librte_cmdline.so.20.0()(64bit)librte_cmdline.so.20.0(DPDK_20.0)(64bit)librte_cryptodev.so.20.0()(64bit)librte_cryptodev.so.20.0(DPDK_20.0)(64bit)librte_cryptodev.so.20.0(EXPERIMENTAL)(64bit)librte_eal.so.20.0()(64bit)librte_eal.so.20.0(DPDK_20.0)(64bit)librte_ethdev.so.20.0()(64bit)librte_ethdev.so.20.0(DPDK_20.0)(64bit)librte_ethdev.so.20.0(EXPERIMENTAL)(64bit)librte_eventdev.so.20.0()(64bit)librte_eventdev.so.20.0(DPDK_20.0)(64bit)librte_flow_classify.so.0.200()(64bit)librte_flow_classify.so.0.200(EXPERIMENTAL)(64bit)librte_hash.so.20.0()(64bit)librte_hash.so.20.0(DPDK_20.0)(64bit)librte_ip_frag.so.20.0()(64bit)librte_ip_frag.so.20.0(DPDK_20.0)(64bit)librte_ipsec.so.0.200()(64bit)librte_ipsec.so.0.200(EXPERIMENTAL)(64bit)librte_jobstats.so.20.0()(64bit)librte_jobstats.so.20.0(DPDK_20.0)(64bit)librte_kni.so.20.0()(64bit)librte_kni.so.20.0(DPDK_20.0)(64bit)librte_kni.so.20.0(EXPERIMENTAL)(64bit)librte_lpm.so.20.0()(64bit)librte_lpm.so.20.0(DPDK_20.0)(64bit)librte_mbuf.so.20.0()(64bit)librte_mbuf.so.20.0(DPDK_20.0)(64bit)librte_mempool.so.20.0()(64bit)librte_mempool.so.20.0(DPDK_20.0)(64bit)librte_meter.so.20.0()(64bit)librte_meter.so.20.0(DPDK_20.0)(64bit)librte_metrics.so.20.0()(64bit)librte_metrics.so.20.0(DPDK_20.0)(64bit)librte_net.so.20.0()(64bit)librte_net.so.20.0(DPDK_20.0)(64bit)librte_pci.so.20.0()(64bit)librte_pci.so.20.0(DPDK_20.0)(64bit)librte_pipeline.so.20.0()(64bit)librte_pipeline.so.20.0(DPDK_20.0)(64bit)librte_pipeline.so.20.0(EXPERIMENTAL)(64bit)librte_pmd_bnxt.so.20.0()(64bit)librte_pmd_bnxt.so.20.0(DPDK_20.0)(64bit)librte_pmd_bond.so.20.0()(64bit)librte_pmd_bond.so.20.0(DPDK_20.0)(64bit)librte_pmd_crypto_scheduler.so.20.0()(64bit)librte_pmd_crypto_scheduler.so.20.0(DPDK_20.0)(64bit)librte_pmd_i40e.so.20.0()(64bit)librte_pmd_i40e.so.20.0(DPDK_20.0)(64bit)librte_pmd_ixgbe.so.20.0()(64bit)librte_pmd_ixgbe.so.20.0(DPDK_20.0)(64bit)librte_port.so.20.0()(64bit)librte_port.so.20.0(DPDK_20.0)(64bit)librte_power.so.20.0()(64bit)librte_power.so.20.0(DPDK_20.0)(64bit)librte_power.so.20.0(EXPERIMENTAL)(64bit)librte_rawdev.so.20.0()(64bit)librte_rawdev.so.20.0(DPDK_20.0)(64bit)librte_reorder.so.20.0()(64bit)librte_reorder.so.20.0(DPDK_20.0)(64bit)librte_ring.so.20.0()(64bit)librte_ring.so.20.0(DPDK_20.0)(64bit)librte_sched.so.20.0()(64bit)librte_sched.so.20.0(DPDK_20.0)(64bit)librte_security.so.20.0()(64bit)librte_security.so.20.0(DPDK_20.0)(64bit)librte_security.so.20.0(EXPERIMENTAL)(64bit)librte_table.so.20.0()(64bit)librte_table.so.20.0(DPDK_20.0)(64bit)librte_timer.so.20.0()(64bit)librte_timer.so.20.0(DPDK_20.0)(64bit)librte_vhost.so.20.0()(64bit)librte_vhost.so.20.0(DPDK_20.0)(64bit)librte_vhost.so.20.0(EXPERIMENTAL)(64bit)libvirt.so.0()(64bit)libvirt.so.0(LIBVIRT_0.0.3)(64bit)libvirt.so.0(LIBVIRT_0.1.0)(64bit)libvirt.so.0(LIBVIRT_0.1.4)(64bit)libvirt.so.0(LIBVIRT_0.7.3)(64bit)libvirt.so.0(LIBVIRT_0.8.5)(64bit)libvirt.so.0(LIBVIRT_0.9.13)(64bit)libvirt.so.0(LIBVIRT_0.9.3)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0.4-14.0-15.2-1dpdk-any-examples4.14.3c@bk@bj_s!_i@_2@^@^l@^\@]@]@]\@\Y@\o@\I[Ѱ@[[['ZZ@ZZZH@Z\ZTZ@X6@W= SLES15 It needs rdma-core >= v16.- Removed 0002-kni-fix-build-on-SLE12-SP3.patch since no longer referenced in .spec files - Added 0002-dpdk-eal-ppc-rte_smp_mb.patch to fix an issue on ppc64le platforms with v18.02 - Updated to version 18.02; some of the changes include: * Added function to allow releasing internal EAL resources on exit * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API * Updated i40e driver to support PPPoE/PPPoL2TP * Added MAC loopback support for i40e * Added support of run time determination of number of queues per i40e VF * Updated mlx5 driver * Updated mlx4 driver * Added NVGRE and UDP tunnels support in Solarflare network PMD * Added AVF (Adaptive Virtual Function) net PMD * Added feature supports for live migration from vhost-net to vhost-user * Updated the AESNI-MB PMD * Updated the DPAA_SEC crypto driver to support rte_security * Added Wireless Base Band Device (bbdev) abstraction * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD * Added new pipeline use case for dpdk-test-eventdev application * Updated Eventdev sample application to support event devices based on capability * Added Rawdev, a generic device support library * Added new multi-process communication channel * Added GRO support for VxLAN-tunneled packets * Increased default Rx and Tx ring size in sample applications * Added new DPDK build system using the tools “meson” and “ninja” [EXPERIMENTAL]- The vm_power example does not work for ppc64le since it uses the IXGBE PMD driver which is not available for that platform(bsc#1082154): * Disable CONFIG_RTE_LIBRTE_POWER for the sample application; * Disable CONFIG_RTE_LIBRTE_IXGBE_PMD for the actual PMD driver;- Upgraded to latest stable release 17.11.1 (LTS): some of the fixes include: * location changes of the GPL and LGPL licenses; * net/mlx4: - fix drop flow resources leak * net/bnxt: - double increment of idx during Tx ring alloc - group info usage - check for ether type - size of Tx ring in HW - number of pools for RSS - return code in MAC address set - link speed setting with autoneg off * net/nfp: - MTU settings - jumbo settings - CRC strip check behaviour * net/sfc: - multicast address list copy memory leak - DMA memory leak after kvarg processing failure - fix label name to be consistent * net/i40e: - VLAN offload setting issue - FDIR input set conflict - FDIR rule confiliction issue - setting MAC address of VF - flow director Rx resource defect - warn when writing global registers - multiple driver support - interrupt conflict with multi-driver - Rx interrupt - check multi-driver option parsing - flow director filter * net/qede: - enable LRO over tunnels - reject config with no Rx queue - check tunnel L3 header - tunnel header size in Tx BD configuration - VF LRO tunnel configuration * net/mlx5: - Tx checksum offloads - un-supported RSS hash fields use - device operation type - pedantic compilation - fix pedantic compilation - flow item validation - flow RSS configuration - UAR remapping on non configured queues - secondary process verification - port stop by verify flows are still present - flow priority on queue action- Enable(disabled by default) MLX4 and MLX5 pmd(fate#322609)- Upgraded to latest major 17.11(fate#322609); some of the fixes include: * Extended port_id range from uint8_t to uint16_t * Added a new driver for Marvell Armada 7k/8k devices * Updated mlx4 driver * Updated mlx5 driver * Added SoftNIC PMD * Added support for NXP DPAA Devices * Updated support for Cavium OCTEONTX Device * Added PF support to the Netronome NFP PMD * Updated bnxt PMD * Added bus agnostic functions to cryptodev for PMD initialization * Updated QAT crypto PMD * Updated the AESNI MB PMD * Updated the OpenSSL PMD * Added NXP DPAA SEC crypto PMD * Add new benchmarking mode to dpdk-test-crypto-perf application * Added IOMMU support to libvhost-user * Added the Generic Segmentation Offload Library * Added the Flow Classification Library - Removed 0002-kni-fix-build-on-SLE12-SP3.patch since patch merged upstream and available in 17.11- Added missing supported broadcom chipset family Broadcom NetXtreme II BCM57810- Upgraded to latest stable 17.08.1; some of the fixes include: * net/qede: disable per-VF Tx switching feature * revert "net/virtio: flush Rx queues on start" * various fixes for mlx5 PMD drivers * various fixes for bnxt PMD drivers * various fixes for i40e PMD drivers * various fixes for crypto PMD drivers * testpmd: fix for non-consecutive ports * ethdev: fix ABI version- Add missing libelf-devel dependency- Updated to 17.08(bsc#1050250, bsc#1046598, fate#322913, fate#322608) Some of the new features are listed below: * Increase minimum x86 ISA version to SSE4.2 * Added Fail-Safe PMD * Added support for generic flow API (rte_flow) on igb NICs * Added support for generic flow API (rte_flow) on enic * Added support for Chelsio T6 family of adapters * Added latency and performance improvements for cxgbe * Updated mlx5 driver * Added NXP DPAA2 Eventdev PMD * Added dpdk-test-eventdev test application * from 17.05: * Added mbuf raw free API * Added free Tx mbuf on demand API * Added VFIO hotplug support * Added PowerPC support for i40e and its vector PMD * Added VF max bandwidth setting in i40e * Added LiquidIO network PMD * Added support for NXP DPAA2 Network PMD * Added support for NXP DPAA2 - FSLMC bus * Added support for the Wind River Systems AVP PMD * Added vmxnet3 version 3 support * Added MTU feature support to Virtio and Vhost * Added event driven programming model library (rte_eventdev) * Added Software Eventdev PMD * Added Cavium OCTEONTX Eventdev PMD * Added NXP DPAA2 SEC crypto PMD * from 17.02: * Added generic EAL API for I/O device memory read/write operations * Added VF Daemon (VFD) for i40e. - EXPERIMENTAL * Added generic flow API (rte_flow) * Added APIs for MACsec offload support to the ixgbe PMD * Added Solarflare libefx-based network PMD. * Added support for Mellanox ConnectX-5 adapters (mlx5) * Added ARMv8 crypto PMD * Added crypto performance test application * more details can be found in http://dpdk.org/doc/guides/rel_notes/release_17_08.html http://dpdk.org/doc/guides/rel_notes/release_17_05.html http://dpdk.org/doc/guides/rel_notes/release_17_02.html [-0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch - 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch - 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch - 0005-kni-fix-build-with-gcc-7.1.patch - 0006-kni-fix-ethtool-build-with-kernel-4.11.patch - 0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch] - Use updated patch to enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+ 0002-kni-fix-build-on-SLE12-SP3.patch]- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version- Split libs into a subpackage to provide multiple installable versions on same sytem- Do not use obsolete pci_enable_msix for() kernel > 4.8 [+0006-kni-fix-ethtool-build-with-kernel-4.11.patch, +0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch]- Updated to 16.11.2 which provide bug fixes as below(fate#321541): * mbuf: fix missing includes in exported header * eal: fix debug macro redefinition * net/nfp: fix packet/data length conversion * net/i40e: fix setup when bulk is disabled * pci: fix device registration on FreeBSD * net/i40e: ensure vector mode is not used with QinQ * nic_uio: fix device binding at boot * net/bnx2x: fix transmit queue free threshold * net/vmxnet3: fix queue size changes * kni: fix build with kernel 4.11 * kni: fix possible memory leak * kni: fix crash caused by freeing mempool * net/i40e: fix allocation check * net/virtio: fix crash when closing twice * net/ixgbevf: set xstats id values * net/i40e: fix hash input set on X722 * eal/linux: fix build with glibc 2.25 * net/i40e: fix incorrect packet index reference * net/thunderx: fix 32-bit build * net/thunderx: fix build on FreeBSD * net/thunderx: fix deadlock in Rx path * net/ixgbe: fix setting MTU on stopped device * vfio: fix secondary process start * net/virtio-user: fix address on 32-bit system * net/virtio: fix MSI-X for modern devices * net/virtio: fix link status always down * net/ixgbe: fix multi-queue mode check in SRIOV mode * net/i40e/base: fix potential out of bound array access * vhost: fix false sharing * net/thunderx: fix stats access out of bounds * net/virtio: disable LSC interrupt if MSIX not enabled * net/i40e: fix mbuf alloc failed counter * net: fix stripped VLAN flag for offload emulation * vfio: fix disabling INTx * net/igb: fix VF MAC address setting * net/igb: fix VF MAC address setting * net/ixgbe: fix VF Rx mode for allmulticast disabled * net/bonding: fix updating slave link status * net/virtio-user: fix overflow * net/i40e: fix TC bitmap of VEB * net/ixgbe/base: fix build error * net/ixgbe: fix Rx queue blocking issue * net/ixgbe: fix all queues drop setting of DCB * net/ixgbe: fix TC bandwidth setting more details can be found in http://dpdk.org/ml/archives/stable/2017-May/001809.html [- 0005-kni-fix-build-with-kernel-4.11.patch] - use default gcc which is now gcc7 (bsc#1042372) [+0005-kni-fix-build-with-gcc-7.1.patch]- Add upstream patch to fix building against linux kernel 4.11 [+0005-kni-fix-build-with-kernel-4.11.patch]- sync mailbox definitions with Linux PF driver(bsc#1035993) [+0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch]- Enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch]- Fix dpdk KMP build fails(bsc#1031750) - enable igb_uio kernel module(fate#322394) - update kernel version for SLES12SP3 4.4.59 for bsc#1031705 [*0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Enable HAVE_VF_VLAN_PROTO for SLE12SP3(bsc#1031705). [+0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Disable dpdk-kmp package for ix86.- Upgrade to LTS release of 16.11 which contains fixes below(fate#321541): * app/test: fix symmetric session free in crypto perf tests * app/testpmd: fix check for invalid ports * app/testpmd: fix static build link ordering * crypto/aesni_gcm: fix IV size in capabilities * crypto/aesni_gcm: fix J0 padding bytes * crypto/aesni_mb: fix incorrect crypto session * crypto/openssl: fix extra bytes written at end of data * crypto/openssl: fix indentation in guide * crypto/qat: fix IV size in capabilities * crypto/qat: fix to avoid buffer overwrite in OOP case * cryptodev: fix crash on null dereference * cryptodev: fix loop in device query * devargs: reset driver name pointer on parsing failure * drivers/crypto: fix different auth/cipher keys * ethdev: check maximum number of queues for statistics * ethdev: fix extended statistics name index * ethdev: fix port data mismatched in multiple process model * ethdev: fix port lookup if none * ethdev: remove invalid function from version map * examples/ethtool: fix driver information * examples/ethtool: fix querying non-PCI devices * examples/ip_pipeline: fix coremask limitation * examples/ip_pipeline: fix parsing of pass-through pipeline * examples/l2fwd-crypto: fix overflow * examples/vhost: fix calculation of mbuf count * examples/vhost: fix lcore initialization * mempool: fix API documentation * mempool: fix stack handler dequeue * net/af_packet: fix fd use after free * net/bnx2x: fix Rx mode configuration * net/cxgbe/base: initialize variable before reading EEPROM * net/cxgbe: fix parenthesis on bitwise operation * net/ena: fix setting host attributes * net/enic: fix hardcoding of some flow director masks * net/enic: fix memory leak with oversized Tx packets * net/enic: remove unnecessary function parameter attributes * net/i40e: enable auto link update for 25G * net/i40e: fix Rx checksum flag * net/i40e: fix TC bandwidth definition * net/i40e: fix VF reset flow * net/i40e: fix checksum flag in x86 vector Rx * net/i40e: fix crash in close * net/i40e: fix deletion of all macvlan filters * net/i40e: fix ethertype filter on X722 * net/i40e: fix link update delay * net/i40e: fix logging for Tx free threshold check * net/i40e: fix segment number in reassemble process * net/i40e: fix wrong return value when handling PF message * net/i40e: fix xstats value mapping * net/i40evf: fix casting between structs * net/i40evf: fix reporting of imissed packets * net/ixgbe: fix blocked interrupts * net/ixgbe: fix received packets number for ARM * net/ixgbe: fix received packets number for ARM NEON * net/ixgbevf: fix max packet length * net/mlx5: fix RSS hash result for flows * net/mlx5: fix Rx packet validation and type * net/mlx5: fix Tx doorbell * net/mlx5: fix endianness in Tx completion queue * net/mlx5: fix inconsistent link status * net/mlx5: fix leak when starvation occurs * net/mlx5: fix link status query * net/mlx5: fix memory leak when parsing device params * net/mlx5: fix missing inline attributes * net/mlx5: fix updating total length of multi-packet send * net/mlx: fix IPv4 and IPv6 packet type * net/nfp: fix VLAN offload flags check * net/nfp: fix typo in Tx offload capabilities * net/pcap: fix timestamps in output pcap file * net/qede/base: fix FreeBSD build * net/qede: add vendor/device id info * net/qede: fix PF fastpath status block index * net/qede: fix filtering code * net/qede: fix function declaration * net/qede: fix per queue statisitics * net/qede: fix resource leak * net/vhost: fix socket file deleted on stop * net/vhost: fix unix socket not removed as closing * net/virtio-user: fix not properly reset device * net/virtio-user: fix wrongly get/set features * net/virtio: fix build without virtio-user * net/virtio: fix crash when number of virtio devices > 1 * net/virtio: fix multiple process support * net/virtio: fix performance regression due to TSO * net/virtio: fix rewriting LSC flag * net/virtio: fix wrong Rx/Tx method for secondary process * net/virtio: optimize header reset on any layout * net/virtio: store IO port info locally * net/virtio: store PCI operators pointer locally * net/vmxnet3: fix Rx deadlock * pci: fix check of mknod * pmdinfogen: fix endianness with cross-compilation * pmdinfogen: fix null dereference * sched: fix crash when freeing port * usertools: fix active interface detection when binding * vdev: fix detaching with alias * vfio: fix file descriptor leak in multi-process * vhost: allow many vhost-user ports * vhost: do not GSO when no header is present * vhost: fix dead loop in enqueue path * vhost: fix guest/host physical address mapping * vhost: fix long stall of negotiation * vhost: fix memory leak- Fix broken dpdk-pmd/* soft links(bsc#1026804).- Do not disable cryptodev as EXPREMENTAL tag has been removed. - Remove CONFIG_RTE_LIBRTE_MBUF_OFFLOAD as cryptodev is not depending on it anymore and its removed from the upstream.- Enable rte_kni kernel module for dpdk(fate#322394). [+preamble] - Build dpdk-thunderx only for aarch64- Update to version 16.11(fate#321541). Some of the new features are listed below: * Added software parser for packet type. * Improved offloads support in mbuf. * Added vhost-user dequeue zero copy support. * Added vhost-user indirect descriptors support. * Added vhost PMD xstats. * Added virtio NEON support for ARM. * Updated the ixgbe base driver. * Added APIs for VF management to the ixgbe PMD. * Updated the enic driver. * Added openssl PMD. * Added support for new gcc -march option. Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html - Resolved fixes in the updated versions are : * enic: Fixed several flow director issues. * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets. * enic: Fixed high driver overhead when servicing Rx queues beyond the first.- Added gcc-6 as default compiler for CRC/mtune & other optimizations. - Fix possible parallel installation of dpdk subpackages.- Add pre_checkin.sh to generate the dpdk-thunderx.spec file- Fixed paths using %{name} to have the dpdk.spec aligned with dpdk-thunderx.spec- Added back in all the architectures to keep .spec files aligned * Driving thunderx platform architectural dependency via the ExclusiveArch tag- Added support to build code for Thunderx platform(fate#321960). - Introduced new dpdk-thunderx.spec file: * Removed architectures not supporting Thunderx platform (e.g. x86) * Added dependency on gcc v5.0 for armv8a-crc- Update to version 16.07.2. Some of the fixes are listed below: * ethdev: prevent duplicate event callback * hash: fix bucket size usage * hash: fix unlimited cuckoo path * lpm: fix freeing memory * lpm: fix freeing unused sub-table on rule delete * mempool: fix leak if populate fails * mempool: fix search of maximum contiguous pages * pci: fix probing error if no driver found * net/bnx2x: fix maximum PF queues * net/bnxt: fix bit shift size * net/bnxt: fix crash when closing * net/enic: fix Rx queue index when not using Rx scatter * net/enic: fix crash on MTU update or Rx queue reconfigure * net/enic: fix crash with removed flow director filters * net/enic: fix max packet length check * net/enic: fix multi-queue Rx performance * net/enic: revert truncated packets counter fix * net/fm10k: fix VF Tx queue initialization * net/i40e: fix Rx hang when disable LLDP * net/ixgbe: fix VF registers * net/thunderx: fix Tx checksum handling * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#id2]- Update to version 16.07.1. Some of the fixes are listed below: * contigmem: zero all pages during mmap * crypto/null: fix key size increment value * hash: fix false zero signature key hit lookup * mem: fix crash on hugepage mapping error * mbuf: fix error handling on pool creation * net/e1000: fix returned number of available Rx descriptors * net/enic: fix freeing memory for descriptor ring * net/i40e: fix dropping packets with ethertype 0x88A8 * net/i40e: fix mbuf leak during Rx queue release * net/i40e: fix null pointer dereferences when using VMDq+RSS * net/ixgbe/base: fix possible corruption of shadow RAM * net/ixgbe: fix VF reset to apply to correct VF * net/virtio_user: fix error management during init * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#fixes-in-16-07-01-stable-release]- Drop code for generating our own linker script. * Commit 948fd64befc3 (" mk: replace the combined library with a linker script") added upstream support for building and installing a linker script so we drop our code from the spec file which generated a much larger and possibly broken linker script resulting to linking issues (boo#1002534)- Update to version 16.07. Some of the new features are listed below: * Removed the mempool cache memory if caching is not being used. * Added mempool external cache for non-EAL thread. * Changed the memory allocation scheme in the mempool library. * Added a new driver for Broadcom NetXtreme-C devices. * Added a new driver for ThunderX nicvf devices. * Added mailbox interrupt support for ixgbe and igb VFs. * Updated the ixgbe base driver. * Updated the i40e base driver. * Updated the enic driver. * Updated the mlx5 driver. * Added support for virtio on IBM POWER8. * Added support for Virtio in containers. * Added vhost-user client mode. * Added NSH packet recognition in i40e. * Added AES-CTR support to AESNI MB PMD. * Added AES counter mode support for Intel QuickAssist devices. * Added KASUMI SW PMD. * Added multi-writer support for RTE Hash with Intel TSX. * Improved IP Pipeline Application. * Added keepalive enhancements. * Added packet capture framework. * Added floating VEB support for i40e PF driver. * Added support for live migration of a VM with SRIOV VF. * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides/rel_notes/release_16_07.html - http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_16_07.rst - Or the doc/guides/rel_notes/release_16_07.rst file in the released tarball.] - Removed patches that are already avilable in dpdk-16.07 [ -0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch - 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch - 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch - 0005-d293dac-vhost-claim-support-of-guest-announce.patch - 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch - 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch - 0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch - 0009-bonding-copy-entire-config-structure-in-mode-4.patch - 0010-bonding-fix-active-slaves-with-no-primary.patch - 0011-bonding-do-not-ignore-multicast-in-mode-4.patch - 0012-bonding-do-not-activate-slave-twice.patch - 0013-bonding-fix-crash-when-no-slave-device.patch - 0014-bonding-fix-detach-of-bonded-device.patch - 0015-bonding-fix-detach-of-slave-devices.patch - 0016-eal-linux-support-built-in-kernel-modules.patch - 0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch - 0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch - 0019-i40e-base-fix-driver-load-failure.patch - 0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch - 0021-i40e-fix-inverted-check-for-no-refcount.patch - 0022-i40e-fix-overflow.patch - 0023-i40e-fix-VLAN-filtering.patch - 0024-mempool-fix-leak-when-creation-fails.patch - 0025-pcap-fix-captured-frame-length.patch - 0026-port-fix-crash-for-ethdev-writer-nodrop.patch - 0027-port-fix-crash-for-ring-writer-nodrop.patch - 0028-tools-fix-unbinding-failure-handling.patch - 0029-tools-support-Python-3-in-bind-script.patch - 0030-tools-support-binding-to-built-in-kernel-modules.patch - 0031-vhost-fix-leak-of-fds-and-mmaps.patch - 0032-virtio-fix-crash-in-statistics-functions.patch - 0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch - 0034-virtio-fix-restart.patch - 0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch - 0036-examples-fix-build-dependencies.patch - 0037-examples-ethtool-fix-build.patch - 0099-mk-fix-gcc-5-version-on-suse.patch - 0100-kni-fix-build-with-gcc-6.patch - 0101-ixgbe-fix-uninitialized-warning.patch - 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch - 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch - 0104-igb-fix-constant-sign-in-left-shift-operator.patch - 0105-e1000-fix-missing-link-interrupt-check-brackets.patch - 0106-app-test-fix-missing-brackets.patch - 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch ] - Created soft link for dpdk_proc_info and dpdk_nic_bind(from dpdk-procinfo, dpdk-devbind) to keep compatibility. - Added a new binary dpdk-pdump dpdk-procinfo- Add _constraints file to force build dpdk with sse3 enabled x86 machine(bsc#993462). - Enable compilation for ppc64le with the help of Rüdiger(ro@suse.de). - Enable example package for aarch64 using Rüdiger(ro@suse.de) changes. - Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings). - Disable examples that need LPM which is disabled on non-x86. [+0036-examples-fix-build-dependencies.patch, +0037-examples-ethtool-fix-build.patch, +_constraints]- Added support for aarch64 compilation. [+0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch] - Disabled aarch64 dpdk-examples package for the time being as it contains lots of Intel specific code. - Added proper "Group" field for the subpackages .- Add upstream patches to fix building with gcc >= 6 * 0100-kni-fix-build-with-gcc-6.patch * 0101-ixgbe-fix-uninitialized-warning.patch * 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch * 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch * 0104-igb-fix-constant-sign-in-left-shift-operator.patch * 0105-e1000-fix-missing-link-interrupt-check-brackets.patch * 0106-app-test-fix-missing-brackets.patch * 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch- Removed unwanted files(bsc#984437).- Added missing GPL-2.0 and LGPL-2.1 licenses.- Update tarball URL.- Applied all the fixes recommended by upstream for v2.2 stable release(bsc#981996). [+0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch, +0009-bonding-copy-entire-config-structure-in-mode-4.patch, +0010-bonding-fix-active-slaves-with-no-primary.patch, +0011-bonding-do-not-ignore-multicast-in-mode-4.patch, +0012-bonding-do-not-activate-slave-twice.patch, +0013-bonding-fix-crash-when-no-slave-device.patch, +0014-bonding-fix-detach-of-bonded-device.patch, +0015-bonding-fix-detach-of-slave-devices.patch, +0016-eal-linux-support-built-in-kernel-modules.patch, +0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch, +0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch, +0019-i40e-base-fix-driver-load-failure.patch, +0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch, +0021-i40e-fix-inverted-check-for-no-refcount.patch, +0022-i40e-fix-overflow.patch, +0023-i40e-fix-VLAN-filtering.patch, +0024-mempool-fix-leak-when-creation-fails.patch, +0025-pcap-fix-captured-frame-length.patch, +0026-port-fix-crash-for-ethdev-writer-nodrop.patch, +0027-port-fix-crash-for-ring-writer-nodrop.patch, +0028-tools-fix-unbinding-failure-handling.patch, +0029-tools-support-Python-3-in-bind-script.patch, +0030-tools-support-binding-to-built-in-kernel-modules.patch, +0031-vhost-fix-leak-of-fds-and-mmaps.patch, +0032-virtio-fix-crash-in-statistics-functions.patch, +0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch, +0034-virtio-fix-restart.patch]- Use fdupes to manage duplicate files- Create DPDK packages for 32 bit x86(bsc#977639).- Add upstream patch for the ixgbe driver * 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch: Fix VLAN filtering logic by adding the missing brackets in the 'if' statement.- DPDK is most common vhost-user backend, Adding upstream patches to help qemu vm live migration with vhost-user (fate#320713). [+ 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch + 0005-d293dac-vhost-claim-support-of-guest-announce.patch + 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch]- Move the combined library back to the devel package (bsc#975123) Ever since we dropped the CONFIG_RTE_BUILD_COMBINE_LIBS=y option, the libdpdk.so is no longer a shared object but rather a linker script generated by the spec file. This means that it is only used during linking and the linker will add the individual DPDK libraries to the DT_NEEDED tag on the dependent binaries.- Fix shared linking against libdpdk.so (bsc#975123) * Restore the 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch patch which sets the correct dependencies for the shared libraries. * Drop CONFIG_RTE_BUILD_COMBINE_LIBS since a custom linker script is used to create and install a more lightweight version of libdpdk.so. * Include the combined libdpdk.so library to the regular package since it is also necessary during runtime.- Removed unwnated patch and reformated patch file names(bsc#974903). [- dpdk-2.2-dtneeded.patch, - dpdk-2.2-examples.patch, - enic-pun-fix.patch, - dpdk-2.2-warningflags.patch, + 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch + 0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch] - Added CONFIG_RTE_BUILD_COMBINE_LIBS flags to club all all *.so into one library- Intial version 2.2.0(fate#319169)  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDrFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r     rr19.11.419.11.4-150300.16.119.11.4-150300.16.1      !!!!!!"""""""""""""""""""###$$%%&&&%'''''''%($)))))$*****$+++,,,---../01110222////////////////////.3333.44444555666666777777777777788899:::9;;;;;;;9<===>>>????????@@@AAABBBBBCCCCCCCDDDDEEEEEEFFFFFFFEEEEEEEEEEEGGGHHHdpdk_example_basicfwddpdk_example_bbdevdpdk_example_bond_appdpdk_example_cmdlinedpdk_example_eventdev_pipelinedpdk_example_fips_validationdpdk_example_flowdpdk_example_flow_classifydpdk_example_helloworlddpdk_example_ip_pipelinedpdk_example_ipsec-secgwdpdk_example_ipv4_multicastdpdk_example_knidpdk_example_l2fwddpdk_example_l2fwd-cryptodpdk_example_l2fwd-eventdpdk_example_l2fwd-jobstatsdpdk_example_l2fwd-keepalivedpdk_example_l3fwddpdk_example_l3fwd-acldpdk_example_l3fwd-powerdpdk_example_link_status_interruptdpdk_example_ntb_fwddpdk_example_packet_orderingdpdk_example_qos_meterdpdk_example_qos_scheddpdk_example_rxtx_callbacksdpdk_example_service_coresdpdk_example_tep_terminationdpdk_example_timerdpdk_example_vdpadpdk_example_vhost-blkdpdk_example_vhost-cryptodpdk_example_vhost-switchdpdk_example_vm_power_mgrdpdk_example_vmdq_appdpdk_example_vmdq_dcb_appexamplesMakefilebbdev_appMakefilemain.cmeson.buildbondMakefilemain.cmain.hmeson.buildbpfREADMEdummy.ct1.ct2.ct3.ccmdlineMakefilecommands.ccommands.hmain.cmeson.buildparse_obj_list.cparse_obj_list.hdistributorMakefilemain.cmeson.buildethtoolMakefileethtool-appMakefileethapp.cethapp.hmain.clibMakefilerte_ethtool.crte_ethtool.hmeson.buildeventdev_pipelineMakefilemain.cmeson.buildpipeline_common.hpipeline_worker_generic.cpipeline_worker_tx.cfips_validationMakefilefips_dev_self_test.cfips_dev_self_test.hfips_validation.cfips_validation.hfips_validation_aes.cfips_validation_ccm.cfips_validation_cmac.cfips_validation_gcm.cfips_validation_hmac.cfips_validation_sha.cfips_validation_tdes.cmain.cmeson.buildflow_classifyMakefileflow_classify.cipv4_rules_file.txtmeson.buildflow_filteringMakefileflow_blocks.cmain.cmeson.buildhelloworldMakefilemain.cmeson.buildioatMakefileioatfwd.cmeson.buildip_fragmentationMakefilemain.cmeson.buildip_pipelineMakefileaction.caction.hcli.ccli.hcommon.hconn.cconn.hcryptodev.ccryptodev.hexamplesfirewall.cliflow.cliflow_crypto.clikni.clil2fwd.cliroute.cliroute_ecmp.clirss.clitap.clikni.ckni.hlink.clink.hmain.cmempool.cmempool.hmeson.buildparser.cparser.hpipeline.cpipeline.hswq.cswq.htap.ctap.hthread.cthread.htmgr.ctmgr.hip_reassemblyMakefilemain.cmeson.buildipsec-secgwMakefileep0.cfgep1.cfgesp.cesp.hipip.hipsec-secgw.cipsec.cipsec.hipsec_process.cmeson.buildparser.cparser.hrt.csa.csp4.csp6.ctestbypass_defs.shcommon_defs.shcommon_defs_secgw.shdata_rxtx.shlinux_test4.shlinux_test6.shpkttest.pypkttest.shrun_test.shtrs_3descbc_sha1_common_defs.shtrs_3descbc_sha1_defs.shtrs_3descbc_sha1_esn_atom_defs.shtrs_3descbc_sha1_esn_defs.shtrs_3descbc_sha1_old_defs.shtrs_aescbc_sha1_common_defs.shtrs_aescbc_sha1_defs.shtrs_aescbc_sha1_esn_atom_defs.shtrs_aescbc_sha1_esn_defs.shtrs_aescbc_sha1_old_defs.shtrs_aesctr_sha1_common_defs.shtrs_aesctr_sha1_defs.shtrs_aesctr_sha1_esn_atom_defs.shtrs_aesctr_sha1_esn_defs.shtrs_aesctr_sha1_old_defs.shtrs_aesgcm_common_defs.shtrs_aesgcm_defs.shtrs_aesgcm_esn_atom_defs.shtrs_aesgcm_esn_defs.shtrs_aesgcm_inline_crypto_defs.shtrs_aesgcm_inline_crypto_fallback_defs.shtrs_aesgcm_inline_crypto_old_defs.shtrs_aesgcm_old_defs.shtrs_ipv6opts.pytun_3descbc_sha1_common_defs.shtun_3descbc_sha1_defs.shtun_3descbc_sha1_esn_atom_defs.shtun_3descbc_sha1_esn_defs.shtun_3descbc_sha1_old_defs.shtun_aescbc_sha1_common_defs.shtun_aescbc_sha1_defs.shtun_aescbc_sha1_esn_atom_defs.shtun_aescbc_sha1_esn_defs.shtun_aescbc_sha1_old_defs.shtun_aesctr_sha1_common_defs.shtun_aesctr_sha1_defs.shtun_aesctr_sha1_esn_atom_defs.shtun_aesctr_sha1_esn_defs.shtun_aesctr_sha1_old_defs.shtun_aesgcm_common_defs.shtun_aesgcm_defs.shtun_aesgcm_esn_atom_defs.shtun_aesgcm_esn_defs.shtun_aesgcm_inline_crypto_defs.shtun_aesgcm_inline_crypto_fallback_defs.shtun_aesgcm_inline_crypto_old_defs.shtun_aesgcm_old_defs.shtun_null_header_reconstruct.pyipv4_multicastMakefilemain.cmeson.buildkniMakefilemain.cmeson.buildl2fwdl2fwd-catMakefilecat.ccat.hl2fwd-cat.cmeson.buildl2fwd-cryptoMakefilemain.cmeson.buildl2fwd-eventMakefilel2fwd_common.cl2fwd_common.hl2fwd_event.cl2fwd_event.hl2fwd_event_generic.cl2fwd_event_internal_port.cl2fwd_poll.cl2fwd_poll.hmain.cmeson.buildl2fwd-jobstatsMakefilemain.cmeson.buildl2fwd-keepaliveMakefileka-agentMakefilemain.cmain.cmeson.buildshm.cshm.hMakefilemain.cmeson.buildl3fwdl3fwd-aclMakefilemain.cmeson.buildl3fwd-powerMakefilemain.cmain.hmeson.buildperf_core.cperf_core.hMakefilel3fwd.hl3fwd_altivec.hl3fwd_common.hl3fwd_em.cl3fwd_em.hl3fwd_em_hlm.hl3fwd_em_hlm_neon.hl3fwd_em_hlm_sse.hl3fwd_em_sequential.hl3fwd_lpm.cl3fwd_lpm.hl3fwd_lpm_altivec.hl3fwd_lpm_neon.hl3fwd_lpm_sse.hl3fwd_neon.hl3fwd_sse.hmain.cmeson.buildlink_status_interruptMakefilemain.cmeson.buildmeson.buildmulti_processMakefileclient_server_mpMakefilemp_clientMakefileclient.cmeson.buildmp_serverMakefileargs.cargs.hinit.cinit.hmain.cmeson.buildsharedcommon.hhotplug_mpMakefilecommands.ccommands.hmain.cmeson.buildsimple_mpMakefilemain.cmeson.buildmp_commands.cmp_commands.hsymmetric_mpMakefilemain.cmeson.buildntbMakefilemeson.buildntb_fwd.cpacket_orderingMakefilemain.cmeson.buildperformance-threadMakefilecommonarcharm64ctx.cctx.hstack.hx86ctx.cctx.hstack.hcommon.mklthread.clthread.hlthread_api.hlthread_cond.clthread_cond.hlthread_diag.clthread_diag.hlthread_diag_api.hlthread_int.hlthread_mutex.clthread_mutex.hlthread_objcache.hlthread_pool.hlthread_queue.hlthread_sched.clthread_sched.hlthread_timer.hlthread_tls.clthread_tls.hl3fwd-threadMakefilemain.cmeson.buildtest.shpthread_shimMakefilemain.cmeson.buildpthread_shim.cpthread_shim.hptpclientMakefilemeson.buildptpclient.cqos_meterMakefilemain.cmain.hmeson.buildrte_policer.crte_policer.hqos_schedMakefileapp_thread.cargs.ccfg_file.ccfg_file.hcmdline.cinit.cmain.cmain.hmeson.buildprofile.cfgprofile_ov.cfgstats.crxtx_callbacksMakefilemain.cmeson.buildserver_node_efdMakefilenodeMakefilemeson.buildnode.cserverMakefileargs.cargs.hinit.cinit.hmain.cmeson.buildsharedcommon.hservice_coresMakefilemain.cmeson.buildskeletonMakefilebasicfwd.cmeson.buildtep_terminationMakefilemain.cmain.hmeson.buildvxlan.cvxlan.hvxlan_setup.cvxlan_setup.htimerMakefilemain.cmeson.buildvdpaMakefilemain.cmeson.buildvhostMakefilemain.cmain.hmeson.buildvirtio_net.cvhost_blkMakefileblk.cblk_spec.hmeson.buildvhost_blk.cvhost_blk.hvhost_blk_compat.cvhost_cryptoMakefilemain.cmain.c.initmeson.buildvm_power_managerMakefilechannel_manager.cchannel_manager.hchannel_monitor.cchannel_monitor.hguest_cliMakefilemain.cmeson.buildparse.cparse.hvm_power_cli_guest.cvm_power_cli_guest.hmain.cmeson.buildoob_monitor.hoob_monitor_nop.coob_monitor_x86.cparse.cparse.hpower_manager.cpower_manager.hvm_power_cli.cvm_power_cli.hvmdqMakefilemain.cmeson.buildvmdq_dcbMakefilemain.cmeson.build/usr/bin//usr/share/dpdk//usr/share/dpdk/examples//usr/share/dpdk/examples/bbdev_app//usr/share/dpdk/examples/bond//usr/share/dpdk/examples/bpf//usr/share/dpdk/examples/cmdline//usr/share/dpdk/examples/distributor//usr/share/dpdk/examples/ethtool//usr/share/dpdk/examples/ethtool/ethtool-app//usr/share/dpdk/examples/ethtool/lib//usr/share/dpdk/examples/eventdev_pipeline//usr/share/dpdk/examples/fips_validation//usr/share/dpdk/examples/flow_classify//usr/share/dpdk/examples/flow_filtering//usr/share/dpdk/examples/helloworld//usr/share/dpdk/examples/ioat//usr/share/dpdk/examples/ip_fragmentation//usr/share/dpdk/examples/ip_pipeline//usr/share/dpdk/examples/ip_pipeline/examples//usr/share/dpdk/examples/ip_reassembly//usr/share/dpdk/examples/ipsec-secgw//usr/share/dpdk/examples/ipsec-secgw/test//usr/share/dpdk/examples/ipv4_multicast//usr/share/dpdk/examples/kni//usr/share/dpdk/examples/l2fwd-cat//usr/share/dpdk/examples/l2fwd-crypto//usr/share/dpdk/examples/l2fwd-event//usr/share/dpdk/examples/l2fwd-jobstats//usr/share/dpdk/examples/l2fwd-keepalive//usr/share/dpdk/examples/l2fwd-keepalive/ka-agent//usr/share/dpdk/examples/l2fwd//usr/share/dpdk/examples/l3fwd-acl//usr/share/dpdk/examples/l3fwd-power//usr/share/dpdk/examples/l3fwd//usr/share/dpdk/examples/link_status_interrupt//usr/share/dpdk/examples/multi_process//usr/share/dpdk/examples/multi_process/client_server_mp//usr/share/dpdk/examples/multi_process/client_server_mp/mp_client//usr/share/dpdk/examples/multi_process/client_server_mp/mp_server//usr/share/dpdk/examples/multi_process/client_server_mp/shared//usr/share/dpdk/examples/multi_process/hotplug_mp//usr/share/dpdk/examples/multi_process/simple_mp//usr/share/dpdk/examples/multi_process/symmetric_mp//usr/share/dpdk/examples/ntb//usr/share/dpdk/examples/packet_ordering//usr/share/dpdk/examples/performance-thread//usr/share/dpdk/examples/performance-thread/common//usr/share/dpdk/examples/performance-thread/common/arch//usr/share/dpdk/examples/performance-thread/common/arch/arm64//usr/share/dpdk/examples/performance-thread/common/arch/x86//usr/share/dpdk/examples/performance-thread/l3fwd-thread//usr/share/dpdk/examples/performance-thread/pthread_shim//usr/share/dpdk/examples/ptpclient//usr/share/dpdk/examples/qos_meter//usr/share/dpdk/examples/qos_sched//usr/share/dpdk/examples/rxtx_callbacks//usr/share/dpdk/examples/server_node_efd//usr/share/dpdk/examples/server_node_efd/node//usr/share/dpdk/examples/server_node_efd/server//usr/share/dpdk/examples/server_node_efd/shared//usr/share/dpdk/examples/service_cores//usr/share/dpdk/examples/skeleton//usr/share/dpdk/examples/tep_termination//usr/share/dpdk/examples/timer//usr/share/dpdk/examples/vdpa//usr/share/dpdk/examples/vhost//usr/share/dpdk/examples/vhost_blk//usr/share/dpdk/examples/vhost_crypto//usr/share/dpdk/examples/vm_power_manager//usr/share/dpdk/examples/vm_power_manager/guest_cli//usr/share/dpdk/examples/vmdq//usr/share/dpdk/examples/vmdq_dcb/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:25950/SUSE_SLE-15-SP3_Update/06e7d1a1371fa731af18a74b9731d929-dpdk.SUSE_SLE-15-SP3_Update:thunderxdrpmxz5aarch64-suse-linux  !"#$%&%'(&%'((&%&((((%'(((&((%'(&%&%'(&(%'((&%'(&(((%'((((((((((((&%'(&&%'((&%'(&%'(&%'(&%'(((((((((%&&&&&&&&&(((((((&((((((((((((%'(&%'&&(((((((&((((((%))))))*)))))))))))))))))))))))))*)))))))))))))))))))))))*%'(&%'(&%%'(((&%'(&%'(((((((((&%'(&%'%'((&(('(&%%'(&%'((&(('(((((((((((((((((&%'(&&%&%&%'(&%'(((((&%(%'(((&%'(&((%'(&%'&(%'(&%&%%%(((%((('(((((((((((((((((((%'(&)%'(&((%'&(%'((&((%'((((((((&&&(%'(&%&%'&(%'(((((&%(%'(&%'(&%'((&((((%'(&%'(&%'((&(%'((&(((%'((&%'((((%'(&(((((&(((((((((%'(&%'(&ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=6159553b9011f7f50234b7e15a34f5afffa5fb2d, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=55c9dc80d4b963095afb3f10d4b452e320572805, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=44aa4ad4b716e91fc857ca474b534b04e621a52e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a11d42dfce2a52144497f09b56aafcd8c76697dc, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=6f812cd9b9a6d1c2af72a8fc85198694b890d7c0, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=359d7643000fdf1d3cb62d8b022bdd0a7412ad46, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=7f2f3172757da8027eeee37870e5add3dcc62def, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=f6d315d6978f2eda79b0d46b32b239b5bbe70074, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=95630f3bbb0188022b26b0727f1ae10559d4c784, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=ba48dac086bef4539052893622633d9b3c9eea72, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=f0f848d4e802fa849bff5e80af177a6b80fa6bb5, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=294d55e15d6ec639a04cb92c8adce6ca39210846, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=9214ef5fa8141fd8c91b5b671ddc00a877588ab2, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=9acae0b023b78cfe8b82f075d062ec898de2d5f3, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=78cc56807b6a5a83adefddd2f65985df647fa2dd, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=50e40d099a0dd92210e6f33b68c75c59fca51a4e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=4e686e7c4f512ca20f294d50cbdc7258e3f134a1, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a343476f9fcc314ed4688533747c3e5e1f86f820, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=bb60cc4df0f83159d1c62d7e62e7d78c9a6a4e89, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=688f390ce2ca7d6a24452fe8ed41651e3a3d2369, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=67e73d022bb05b610be19b77bc7408b7fa87541e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=3759821efd2de734a5ece659b96d7c9fd61e1362, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=94135f84bfb4ebde438a62e23d8fc8013196a9ba, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=dba540ea7935001cd0f3f1839f70484c1e1cc3f9, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=488553d8688968d3d74dadf90f05dd828e1c9ebb, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=d61c75d031af440a471d699900fe24affd47ab2a, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=72043e1d62d2ee6270bbe0484d3967514889581f, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=f95fa8df38d81e6b0ab551da90e731387ee26bed, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a1a21ad6703afa42c6f92dffa01361e49023c311, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=39f0948c40dfaf11338d32a20d7812490f1db0f3, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=9d6939a651e2adbe919531d6902b4cbecaeb16ac, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=2393d3d471aa47a7b9518513530aa858b0625174, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=bc1b0117c8445b628e38864bebaa9eae0b8621df, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=0e284451a4b14dc266b9fae6d1f998878cedceb6, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=b2b6fdcc38f9990597da9a3b3493f898fe17bad8, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=2315eb024c66c194a8c831a3e1e242a2b0e15ee7, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=8172264ef7c5212890d48d7bd39c53ba9fc68005, for GNU/Linux 3.7.0, strippeddirectoryASCII textmakefile script, ASCII textC source, ASCII textBourne-Again shell script, ASCII text executablePython script, ASCII text executable )0;GTdi+BKZiv           R*R,RRRR)RR+RRRR*R,RLR RRRR)RR R+RKRRRR*R,R;RRRRR:R)RR+RRRRRRRRRRRR*RRRRR)RRRRRR*R,RRRRR)RR+RRRR*R,R2RRRR)R1RR+RRRRR*R,RRRSRRRRRR)RR+RRRRRRRRR,RNRRLR%RRSRRR*RRR6R7RCR5RRRBR)RRR+RKRRMR$RRRR*RQRPR,R2RRR(RR!RRRR RRRR'RR RR)R1RRROR+RRRRRRR,R2R*RRRRR)R1RR+RRRR*R,R2RR&R%RRRR)R1RR+RR$RRR*RRRRR)RRRRR*R,RRRR=RRRRR8RDR)RRRRRR*R,RRRR)RR+RRRR*R,RRRR)RR+RRRRRRRRRutf-8a61d7fa5abe1ee6b7f755fef4c77bbdaeaf63234c78d6c479c4af72438bd130f?7zXZ !t/੓]"k%*IOO.C !}B1; W2|8ϙ(:m'2kAs~ןu_o1L\ H~P ̊PZrV?k$/ڧ`!J|#[o[:}|q3|EZbKyoTt:OeOIϖxTTqfQu=?2Di"2]Az7_?Kk>)h{5L[$=|_-(cCv6vFGc$xۓx<0⏈ìac.B[Z"W|`l˙i74krd_X{BCE:)!'.1dbefC4ye%\jrih#4`17/&YÍQ;m&ռ0]`: Mz=F%t,= %qWkiMsP9B ~**/2KG<Ϯd5;{*;)xu/`0oKmsy^"p T["b{ P*a֧l{Xu!DԌBIm[ხt Y>?\S18+"}R|oљuH/"s! 7%!7 GDB([~ZUЦxh՝nO\bo9#aJʅtbyk9Va O~ƣk%-,&Y" Gϓ`M7sλd4`};1oUeu +gߑv5S[H+ ++m4?60 As)d0oNg.*9jTm]ܤ@1 W<9 o!gouКsT:^Gzy r@tC1֡9ཆqsgJE7JWe\H<؞80^Q^?YڡﵲsH,&hxk3cX̡́p&%Pb,&W6~ׇ?1X~"*B΀hPz%NS3̦K-; 3󶜙q7)N\9}m/ژkaDґ 2VR&`@UՌX:$c'hoEuLT dކ e "~cm`告Ǥҍ=k+>Tev'>B1r1pwv[9NaP/ejL6{:oP;>n_GmBt2>Lõb*jc Dr:kuzI"#BݱE)ƪBf nU=b)]<޺LםQ9A>wI¢ Ak ϿX>Api{=ʓLK1L{H8lI$4(Dp<A|3ќi"*;H*Q,YA _qcxiXPKEȗMOo6tdE8(PFV4{O0Mb x1fK6]6VeȒS D0vjeu!̂ɴu`Yԗ8LlZPT/aJO:$ slZ ;$ *Yva?D2ng!L:RwV@(w| }P ^W AB\.6&W|Vě%V;Eae>:HkδѦݐ}a}pN~+L%L-ښ@c<͛!pUږ6@U@E^P5g~jn=P̵n2Ԏ8`h"nD .9C(WSJs55-G^8f\  ' jFfrKt2up1@)`bnaT8aS{ps |jY9.w1D,Eeg(z9Y02o!{Ֆmd#]ΞLXߧRxv2H:E B޹^ ]v<";be짬C%2$:EX;A2+ZƋ2} Pʟu5wTA'ngŌx u,`/\ L=}EB?xώɳ0 g>07NXJks+jc u*99,ƚ 822ɿu_-7<ԟgv"F=_ֳ4S*}He+j,j^[mg[oZZ wM?gdK}F󜆚(TĠحEބl_貃q8!ʞwZcѹV8;Kr%fl|~2BqjqJvkZ!>1E! "" nk,wyRA _ls%iS'!6mĈFS琏3ߵ^0-l N=b|wL^e5'(440)s/ 6S-c{(%TZ=e)m^*| HX-$6?gOiR" Xӟ{y~ʷD#LX!MĴ zDc*K^#tR_8q_j%?2-~܎ ]lbď%3AlJ߫RFc4 i4~K绢 <I85gr<4gC1 P @_& %"cAM >ԁ\Ry4h>sDWCr1'fJ/^.mau(ֽ{EvMw m?4KL*RN5ECxF𕊍b[W̓"l:0U;M-Oɞ h~s!? (0<l~~ ʇ-+4rOlZWCiF9 SN+6V3C>zԆGLݸ2a52w, ʒ~7pOXo5il 6U9f.'kA6|!BkK܊q9ObgN%Q%V=hSI?QI)K9Dco~) *p>Wp UC5:1^C|ڝE.qBӇy 89.xNPBnH% .t$,:]c-A1l8eI B%H?hBo6Ɇ^zBMݱ ϡ@Y 2BE5-n.oę;,<[u+PUa}nvR} evQ> ,.),"=1n.xD-A[D% fjJŊCot\f@cKx?Z=Jp!?F?ǹ8 'm^[$1,e4zT[pDR Bl갉z-U]OBhѯ@tBPؿђyL7H2vT貳rau8Aj-6l,c/_}l/ "6ҧhVfB Fu/~K'w?y@dBaF8Map|)O/. 79H?@gh&gÃVv 8 h"A-;v*fkx/=6rmz Ej."v 쁻oU{j]Tkvût\-[@Sy U+f{~# ЩW*mQU4"dCPf3ۄo1@3bqs8)휗9Ā).Jң^;)0"1NЊVXHvB=z. 7.;Lf[0+*5dǟ1du%e:_<a@qk,V`㲕ȭٮZ0( (bO#4Y"Ed# 2 G Fָ|UJs}EBgm˥뛅1FnwcHGRrK)yܺC!k sc]p~hm'c [q S6=%I)65'b7=`+kDƆ61qj et9AΡ_Y7$7'NZ*qwyM%XuQYB]O ?}5NJi*92 mq06HWMMrp |^vHXv12q=~y5zH٠opSR; ,O.쌢>w!.Z:,NOZas90n8v(v,S+0Pi@9G6<HjXoW6J4L< ; nNM0'c28>B1jbdQyM6EҶN8g3D|$ёѵ|d;j|{FIUpߞwkoy\h JNR۫IC|DlҔՎ"(ib[:v l5]bCҪb"Gh Q3i?u[ᆇtVa%R镽5~_b/!K>8}dq@`ɦѡk[xT6%eӗ#3*y~P@`H7Ԙ Sщ3IexӖުu[QY6*FEpuxZ ';KY6%Hmz{63 ԅTq&R+ @On+PuB!f;$Gc@p?ՎNq>kAtC-'y3F4g ҼJ8蘎$0dQG1r&5ЊL?ЩriXHQڵhrWLʁo?ƽ= y5UX5OmeP>IRU9 Y?g٬Ӓr(ܗb>鲑60 O3}%j,vmV G4,=þ;|F@!א-6=.BY$==.צ]~6W35@kP;!>K; "bxN{UE!Vn&50{_ Gx_n)BOxfxʰsA.:OڦTc@.g98DRNO8`p?[1bsۭv FR4تl 59DxX81%v7zƞ\.!s:3mbo6 =hWk4H褳5}%iT<\mi]fB, ?hjdIAGcҌ{KۓiI;VOWspKM?K"<Wy:Ij_ʰ7oZa I U|ᲮIu$#(j+g)Z + nGde [}ׂ\C!\~ VC3}ћӠ Uԧ)-_g%A)PZ!+wf=OϬ(K ;]5V-Eu_@U3_8Px8#ivw`L>rs,Cބ)N1kczm$6tr&;\J , Hb}V6o/꿬Fp3L):GoZNEwC*]]LEu)d3f֓.ޒ~`N*x&h%K(<]ڬ[FX!!B.9g*k8=<|%e˘@nel:[`gxh(IQvoKTUYu97+y|6G̔ v?^r} r/82`bo Ui(hnʐЍS;4sAr%.SFoy%pO[ZjrAFnmu.Ӫے:B 3P",>a ^K2yt.׵$i[^ŃVUlpLC(3/x9N)L7ՠdmbӆD,T(h o]vCB?E-.HΨZiI\6XtE3[t1Hb(D4JȪ[k̤f;Ri \,P 3U^eMMAeE8P~΋j;%@&*e׹?(ZKk pxзu4ٽ קE~qA'}DpCg9^]2V,ي(w ֋Ch4 sLQ7V6‘>D^̩ S 3GJԗ2w4?8\9," 3ץnM~U#!+D'Қ504r7fWi*&>Ety5O$-^)r>w(X™A1pHȤ[_a#!3>;sgh*]_BK>l 8r~WX1O,[93^ׄ:*s[(J}vό,@@%A׊eLҏ>Ue4Z %1qÓq: ^4寷^mrH Am%<"B$[bt(9q$Ή$v2Fw}*j%K s#K;რzߝ`-OC\+\2ǵ*dT)l' @5^"(oD ^䧍mX6EG5lcz7Bf/|Eԡ[=Nj~aefyL@$Y&YG| Y$[Bk^G UjzԀ VP694z_L_>ݼs-~%D ė*3uc<:su}[;0 5fsi c[ FƚW-J/'K W8~AVc|:4r=lȀ:҄Ըt'sD gELZ0wdomg%S]A=Ҙ7]7_PgrXmd6'ֲ7-CMpgqd#!Buh$aO_uLr*zC뢶7۹a۝H^A p22T{бȕԀ5{n 0Np(ث^l'|d?vE]/ΜK0Dwٓw ґW3+2 !nwe GӺ_ 菉]![ԉ'{ϡR6kb dV23j-1JMS&LEpA.dh(/ ~ f컿& e➗e;f}&ԷO} nT\9\Sl8oG'QC`1B >d=Ry#&QWPCrIE[r<#! }ҼMrxPk3_yr~uXjDQ؏X<2PYXWsGppԥ{4 qnǬx{AMp8 ZO:x҄ʉ{ a}B9j:8;OpJұ&#*.e=GMRJ&jjCʟf$ QB5qamKגFăIJtXRҪ(J1}D,K?׍8S ATx\ΥjX pDŽr?n۶KW[4i]9^n[f8{i_Y{m%E.]g| #2goҋerw.n߅j0T2[`Ad?|L$dqk ad1NKXFYTPEM]杋VcWX6_0}0>S⧊ڼ:̘I7+4 [ 5vklwG9bMVHٕ#LBi(m~8'nK 1)Q~0-3{a\:( Xp c:˳yTB?+\`]Rv $@`ֻ0\$ 5=Gkd]`-M2\ykv:+da?u7QL3˽̼z#!v*M-`gBԦ Ew < '㟛tLH-8/sa. A0"U?w5|- /bIoE\N)f:x&0-NnpXC#8ɛy>p(ZDaDZĻy]EÈks%=%3#H} 3BjRb4xs̛V,Ls)D_V͠}+/nz/F_GEކWE/u$8 Cs)!wW,TE^?+p-*n0ܰr$WWnI)eYٕvmoҮzel\F 'p_*\Bތ!S XJw}ysѷNߞJ:Z*<]Q Jypn[#:$p OuU W?u%C#@ЁIMg?/a6gΔ`I*å#Qo@` { sYM2ْoUgǑ,u㥽XH -͠!c ס}'eƫ]9jFNH7l3y<'Y̸f5Ղ5<}N+ V;[+ (OU}pBϵ.+P|1l$pZOoKS(K mYKx3q ӻ"ꒊA`W2kTIU:|$:MTo{2ET`> P ^]!O~ )=)= 83Up*\^<|d1}.d^pܴ}a{{ 2&^s'fw\̪B!Hd8_kXzțjlnإ3^ȶVNvE=_!><ϱWŵgw髏LhJEFCeO(4&GcbᄉVz ռ٪`؟uQݮSUVCNSŏSG{9 >W0mCvT" ]ᒲ`t-qfr{" U ;*pīx4ad*:ѧ%N ;Z^霡< O;93 0?b M/˔Z|<[޺qAEMrx!Ec_D}ֱY Jw15.c5恿3T .aפ& ~sͰ}* [U'UK1ZDH Uxޕ,)"bR Wނ.Id@fo ~& ީIӈ@GH5X}wn,kD+ Etb?!Ѝ;xƇWQ~|\x7ylCi,;!mJ` QgK?:az;'S V@əbgJGxKvi=-jC@e`5^`*#X/>ˆW*]b!GueZ%%5VNI 3Z` `U{UH-Vvϐ)cGGt}OP"-jٙs /B_7qxQ-peJ:n$t+3`im=tPgn]{ju(6C^/`ӷ/iӏ-MI!]b#Fs+^ӴǪ%B0m>|Lj.cȩW@DrJSj*ii8*%[p>WdԬ;IYT)nftkweA4fq$ 񧝂wdT*O+Մ9[~H4*>)V#ێMY['Du5V3igvmt7Do*C׎AFd  Xz_P7E&pZ)WTjŌk;m~c<I<u@vT6‹&Wyn?wEͅTu^͵"C=zg`(+HsCHD4}F=vsG'C?dfIsK0qES Ê m4T>sOvSs*w <<2<5UDN"ouQGL_ (ֲ`%=4+B}-eQEbݥlx/6a^zX<qi o^f B#o0e3%#lW2$)j`w5;((I+{7Lj4$RNښPbrMb[@6&B%ƦhN l3:\La-Rb{Cz yu?1'>5x4KqXr~4ImvJ{S~wHblLH|~2A8~|hurG>Vb[q3eиeR &4}2:6%fkm4j+u+c?v?I~.%Sr>Ah747"0b~"hg{;%!ׇJq Zz,Ym!5:`mX' ̙ Sz'}3hE|]ef6dotz=v\ןqgSHZkHXM`0\% @3ӱMkl4u܏ |6F,vkX.$fQݫD:(ɥlly]}d43*QL\+T>c4pywiPEo vէoN[٦ aYk[RdYb5+76ս{I9xh,r#:zg7gF* F:LKP-~(,2;0ug,7@^|RؘodDi`kN[TL_!΅c\!%fJ}sq1]wyy.M0 pu@5CiޣɄQ\0{2ƄSL)򘞔EJ I70Bi )= hK7 C[+ko;@5,>/{"$ 8[tKD׹t9=؃`lF`2}v+Y,\Ԅ_$V KXxmҸxGXARh|2."BR=/ ^6&g6JpGE}C¿5!a,@C9u][*-_YXc!UBV],όt0 ,vr*ҿ.,kjҢ8O?WI=mi!r@PeTkes)\ aNvCS;3!o+'r!5zeG.11rY=^?QK 1Qb*cdؙ 0jp衕}OE:QEs)ڊimCל7AVq\$_t2[8d0V@^; ^8_ " _ 0 n]y;!1Kc܆ʜ̟(.KhNȣ[ g)'x ,c0ƿr9ùMGxn%XaMml5q7EIl^OR׍.Az92 8<ۄX ^|$>3> ̀JedћM]Wm07OB .,:b"WlezQ 5gt$4ceQܺ"kSY#cb~w0p^_!nܲ{k6{ǿߣ#̐۫T%,Y[tg)}f{'R*J2_~EekiOU+3Eラu[ZGBI8jO$"řF~ml[i pOFdS[j>c=~lU^J3ٵߎT{Q蚧{rk-x@$Lo(7O 57R!A tSֶׯ0Z{i[\($FwE Q36ޗ+r5ϭQL.X,=ukl#*F~S뗒#sVm&<7oZˆNN?G%&l "P0ؤZeZU-`b9nplNJf3mWi1g;Ξވ];q%\J{̓S) ܳR2I=2pcuA+^#)#ݣv {%Gғ~î6渡?wd\kUC-j,.v?^)Y30۷JRקDړ몃v,O ˔\>ːfLW8^h9<'r:.QiyRk[qQY/e:U;/m;CS_LôAp>ڭ[{-rK\B>N=ÿj U ~5|\ g<6cBR΀yl(\"Gbq'f0b lߖ$Fy~kCNO]daNFzM{TO W0ՕˏhMl _H;B ֢y1sau%xDZ1j{ OKXTW| $4¹־)|t]\mZCmQMK:"`̱%LD [.iS_}a## eq<`봰\1NxɾxRzCt!>tl?$! ̤ } #Bi6(Ӆ).Z!Oپ-gq !Ǝ[8k-] d* !xlT%7 02\"n[ŕ¹#xh},q4#͚Y/>55X҂>o%fO^S,FD!Xj!<pD9׬}_YF7}b"z~K_dF.8*BAE>_^FG(2|*s5_0 E.\!+7}."7yD9GDj?:)sn"CшuN3kǴIy?vB&n*TDݐ+EbRE q?6"a؂ wQԌw-ȴY,ZYьVhZzĽNRa #r ]S5~#nY|`Y`%7 &Z YeqCtv5U"ܖۍ|"Jw89E{\j9,"+"/@ɱL*Ta/}b?[TC#4񨠢FMl:sJ[!͉W?hv{z+5~}gd*ҏ9k>3Xq/_Oo[;7GSKH;Ä 6CfVrpz 2|P#UWc6PT ,x5@}JouxOw|焢{+sIX \lH4V)1:_tf ol{ i+ZT#RjNR>&[v@|ꩱUPNQ|΄P{*ow{ЏH?x~,3qB@:@@'>-|Cs( )H:1OhK"?Hl|xnybXyAF{0 4LS'lMtBiĢfr2GlNNph)VMK}] 9Q?= !;=4 m(OADm/s*x dhAHR QrjfQ+ƫ00X75Gݨ"%vAHSd f S:e/DZo~-_E|+Ze~&tzP$}Fi,z]mx7+eܠLcumVN: ׆3 P4/ŎoӚ#|/lvi[<)͋{a%_ENGO O@du<d&EPC{(q_&д-zC yůek YWk)~cS )xc8(@x_+đ: UmwDO^^~۱fWi6Yx8`޿ }ii^3>9d)`|g ?3`ſq*vՠm5#G~L<PabfDQN]͔ph#{/1ܷt3t8{Q)r ѻ롫}eS2W/ 'ȨZ>aّ<F7muI3][Q.]Zosi50Bfh.6X|AJuӺPp+N+M1D-Y5[$J"rIE`MIZ޹P̈́šYܹԮ )1$p&KҲEmAT]dk\s )t72a_5ќ;A+\lg.%-BR6L'Ҫf%MB sY@_BC\>*n YC&RY\_L_JPl\h|GàL$ )lK2>BGc9H]v% ⼤tEHyupӿm_R)4ۨ:NOHv4;{iI2+]y5P XCJCH]b̃e0h/ne}?,h!b,a+LȈvxphW=na!*Beɣi_9?gڛ9\׺8sY֤ {iGP61QXUP KvLvHڢGo鎬bHռ qXa)AζSlvE 0a9]SrBsCU 4ttk g ďtvS\)pxC"oF Y林 eŽb'T`JXiG u fQź,ݨ:u;$XQvg"cG} 2l1yhc47wwsB~i&ȌRUJfPpr1k"94t2M`zG9abp gĬgYpG>~"pCڀb$QC1p\xQ=\'Tg ^!?GvnϠ3]EP2vg̺ -^YT&,`MSy!az1HO[4Щ5@Y&4Qa<{|0"oPoެF0`wF )y6-#*І(^#:j84$]hxx6K]g 6F(gJY,[8?(@t3ٛ`X#vڇ{m*c%ۨ bH,6-ٓ}/b .ͻPk6Z>}10ܚWj $zlJWEy m=Éʏ~T;|DXKFa'RMjEΘ(b]4:Rl=Lkhe>lDWOqxA'RLw- ;Sy{3aʳ/Ri9nw1S 2j7iS3괍n z;C r9_W85;>L) 8 ,C>(?%Ά:_DHS \ &<R\e3[ך9tIZo`Bj1&`ԴD[a\Ť  |PtNbF 9xH(=68FW\@ ;X:ΓoO1p0gLY?fͫ&!9ܻxYGV 8m@智q7J3ؒZy(䱶6B΍ڮ8сaGOjH?L-`ӛHM²f4_l~M=Xe# Ʋihx^ҕ.]ÿY&٣!Fqm^L#3(|]V)e?ZT{ 8n~"n ~7ѾX+[¡BiMPA;HsPU)Q\rhtҲ\: ɂ.&:_sef ɐ= A};<|1TxlD鰗)+M5"xW>5ZHb͢X@q5Ӟ'򑞝X7c 22Brn0﷬V^ik--o\h G4aY+}y%2nLEޜ;u"|=̿vJGFm2u_ }"^=GEyS |b~/z"40m?c%'%.8$8L;1h~LQgr1Zq1WGc!%3Ygum >:pKzG {6 |>.fݦU'k uN6 ~ ٢Ntbo2%{\qwP2KSavL9v2Wq*hv7A3h5՞ތ> 2B;V7^ $ϙqj|b9 /' WD&)gIsaxK&߄yz\og~I}ZWJdfh{#kXuTmU\o)ggf2>H]煯 kӹgdoq lB7Ƭ$/n.1lE-<&2|/Ů'/ ~Ӯ6(]A -"3`CnDsY4X=P\ѕE onⴽ"(P(qWHI9,N*za96_l.RNq*\X׊l}aŏJ\q\N2{(6Υ*T`@eؽ@" +X}fGs)&4`FSruZmnX M#X[ [ J1ߐ]{';hh+#`cٶYě89 ]gQ;Nqioa"5c/})qqӇ%y}>A[&1%׫hTݝ cP{  7;dKRć"oOɠi_VФp52L$7wbZ=$KkjouA OaT4FY.GgzSQ{q K6Ksk/ˎ'Os94N ܈ kUrлk@Q!! |y^TxL>GRIbՊҿhJ#D&2S4*jr$}rܤhXT}e=}x;iX]?LoE%\U ^Bj]o{~C򚽔*hO262)U"z3 @|_{}쪴)6H)v=+bc%y\LjU2eW6TT\.%g0{O@Z#K6mi:0Z`@]^{-V޶,ݼ[D2z}9 ,OR4.~ -#a6̹98DԮ;6D^8؞)JKkI&i1 t|ԅe)jgSJ)g;,VkpnbI`PmJܜF|rIQjDKv-y署_W0 ɏ9CnPr BRˍ1´LZ]puvo\tT1z벦 H3"ˡ KB #-6s|Jȧx:\d4yqD)@N3*6ԕ@+V)Wh_1X{N+FϦjrs6y2G:_8-533K#7n+xx&m2o%b(a zRPTͬ`+o$]h> ܳU۱_:]~I4,z4<6.agGD yUuC<̿o2">c\XkU1.i95 KF7,x{AΈ)8Ft "ߌ>QmwFF-FXYM{+m}ѹ4qa$6lSeUJ^z4m=Z186G^jA9nR4ۺ`nuyv`jR EdžK k|OXG/bRJ@jx堁ҍ? >L߫TOM6S7Mq9=gcK^ۑZdQbR Z?^yqj["6)B͏nr*s!N.\D *VV@h=So*Y΁& {p)\3Y;|g@ɓy =\ѐ?MEbp J͉ >Đ$ ]o D36\56t a ɽ?މedZTCNBRjf$BÿZ=nx9pYn +l`P]~,y許|%ic4I!L1.Hr <ƚv0Je;}9h7uVTfˠ[=*jmbaz hSsp#z~^Vm@de1 (-#I!Ybp&yd "vNas(/[,V/9Q|Tk7M+`QA%ȡ}K0#bԝa.!A'O9#j?\'e4U&|f}Oz ,? ]a 3DHp1$!C .H$lPrd y1{ϯ) a!x;%PcQ,/cng҈L@4\xyj`eV unX'R^AicvA4׾mOJם)[5CќIoC7;f!/NxALBc39*֊У7O7%"֥IffEY^FsMt+17fH)-{ΘL))O~iwX0d*~zTDa9n?9a~Kd%D&ir;GԐ:!Zў{h⡹|q;H|om?ŽDg9-?|#ow +&CKD8PPSJ\5 uw!-{Иast8؀).nlȵV J:x' D!v|b;b aC1ZCǐ !U_Ɩwg=ӎ̐-#A`,)䒗zzj0L=3[u*[byZ +R(מ M_j~`[ȫoc0n(h7Y}1$FNXHnrT/(<9zBDUde~gHtXU8lyf ޑs}mvB$dˀ>pPJAv4G7V:m(Rt*RG!Vo Zb7lN~Y#Z9J?x5urVZ.fW[/뤑F'Gq;PWCJXK1=wˆj̐S=xarGSHMd'Wdv=$Ig-9Ўm0Ƞy&@%Nԣ4q׈CGmtY:;Je[_P!.˧ô66g\{@"/! o|TO)ruS߁ؐDz̩}p,O֓=듘AFTVxVV`N( yAW-]2rKE؀D & ibo"Ňݾ$Gko uă/ |4$e/IC:s/~t;Ra Nh|߶4ŗ͍gq).lo(yv1~)n ׽,{ 3Z'fߺEX,jpmP6r-(",gE9nڡX KqRZ:v ^c5I㫎60NrpҴjWMq:VQ03ń|{wK?mNmUUL m-F]G?'乬2"i9{둼D,{+ b(Wbft@2F{PAYD}w/V߅U4&ᙑ)3msdXj7|Tv 32#r?KLv@&~YI*e[h/vi\d`ڨ4UO#;jm#S'2o_)7Ȫav`8#^"0 D TERw&d~ 5g딦{ַ1fۈVB-x|RvhФ]{g ,3D[qNmm&K5`$q5kJ!jCQqW؋F;[8-@kJڛs,`g^iEi v3#޹*Ɠ(8!,Ei𓅖Fpxp\mC7&=\wYX׵C4i(dNX`L'QT`yU\ѪCɓz@t+/C=L%2vj +߶o,YHW+3iO.-3ڶf8 {P<?THu!aZ`:ޅ0tNGIT`JtB.G֭8zo_ZUs‚Yn;q#\ʞ3jl2#JQTn=`Uq\DNBjX{JY@L`"K'7nHJnр6,ԐGs者MXCUt{C|f*c9>E?e fN?r6Aǽudߦ0@^(eqUXƚpگ!Kg# {]20w-g}bU1uƒjОGݭ6?*dZ &^PGFT~ȯ'Y2JJ RVnWܯ1.L<9eSj cmysoOidևuJRS*͒?O2 \vCUwZ]R|o+;MehzP )@Q6HO{ag6{?T X1 "`L5CLN)ƞb6A&'V!xr(~N׼Z!r2^W/9Z>䍿uH0Z:p@+]̑֡la{dg4_NZAD?áMl9dFqݫĴTŒz*eznR} VUbE˃p+! i OxKR?U$ٕ[:ŶƫYK7<15"95@B^}+A%ѽr :ŎQҒ9E` z>2S[[$wN~hJ]L@?N%:DI_)f; ({ܢKo@66l3n \Q|m c+ȵ=0gJI򱘜PC9qR k/d7}8JOA&+ WE hҰaNǓR_ 4~:FC\-Vb`)Pg_>]~BZ*۷b?V/EO%DU'n|nSXxp{v($Ǔ}y 7~Id_<W7|C8wBQE`9.;aIj^a=!-L"9jM)Q:)R}V!,JyA9F"_4*QGM:q 84 "`օX-"sxAE+7Fs:O@g]-r"j$?޴sHF˭BSí323:Y&ĭFNmڽz:kE]bTՅ765M@F's}ݳT4r?`lơf^+VLcϻ]}OTlaI]*A!gf=bwV咜lxa\lJg7c@W WNDɘHI&%xF o0xheW EtyOQ#V2)L+3v\}*ӹӅrg53U}fJ2ϭvL_Fu ܅M;Qm7C8@ L2Q06006]V Ӫ+[rIzI^0r5͕o}SGmNu3^z# [P{\/nQ=^#gQi` 훆8'tx `I@n1=(!%8Wh:[ S|zY+y/j.>KiW OOmdJϝ9Zœٹc/AFpс$ |J EU}5\$ 㕑$Pno<2Ր%6=>Zd)SBG>ʆlqDඋk