cups-2.2.7-lp152.9.9.1<>,8`/=„K]Udq54wOFwڤb خ:w;@3M(' i;϶>֔V/<Vwk<>e#0ƨyA^E{S9I6Z[>NJ?Jd   9pt    #| )x 5p   7 7&7&&&(&8&)9'T):*#)= >?@)F3GHH@I8X8YD\|]t^,bcdQeVfYl[upvhEw!,x-$y9z=<=LJ+J8J<JfJlJxJ~JCcups2.2.7lp152.9.9.1The Common UNIX Printing SystemCUPS is a modular printing system which allows a computer to act as a print server. A computer running CUPS is a host that can accept print jobs from client computers, process them, and send them to the appropriate printer. CUPS consists of a print spooler and scheduler, a filter system that converts the print data to a format that the printer will understand, and a backend system that sends this data to the print device. CUPS uses the Internet Printing Protocol (IPP) as the basis for managing print jobs and queues. It also provides the traditional command line interfaces for the System V and Berkeley print systems, and provides support for the Berkeley print system's Line Printer Daemon protocol and limited support for the server message block (SMB) protocol. CUPS comes with a built-in web-based interface.`cloud1381copenSUSE Leap 15.2openSUSEGPL-2.0 and LGPL-2.1http://bugs.opensuse.orgHardware/Printinghttp://www.cups.org/linuxx86_64getent group ntadmin >/dev/null || /usr/sbin/groupadd -g 71 -o -r ntadmin if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in cups.service cups-lpd@.service cups-lpd.socket cups.socket ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in cups.service cups-lpd@.service cups-lpd.socket cups.socket ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi # Use %tmpfiles_create when 13.2 is oldest in support scope /usr/bin/systemd-tmpfiles --create /usr/lib/tmpfiles.d/cups.conf || : test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable cups.service cups-lpd@.service cups-lpd.socket cups.socket || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop cups.service cups-lpd@.service cups-lpd.socket cups.socket ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in cups.service cups-lpd@.service cups-lpd.socket cups.socket ; do sysv_service="${service%.*}" rm "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart cups.service cups-lpd@.service cups-lpd.socket cups.socket ) || : fi fi c c 8X08h008H80(08HH8`(8h88(8P H8H8X888(0(080H0H0(8(0zih <+a p[ ]&%[? + /#b Gpc@ul}kb> lw4q! %d_}Srw~ WYeo e C3>UNCHy| no ef#ozzxvx} jafw n DDA`&YKT ,9 m$}~:` _l0s# r( M;]6S&j]Y /]|! y ^" _'m,%  FQ(t&IMow^}q yT Yzo d -r! h#zwuz yp)y p( R8!q&QJ - 1  & N{r S0 "=k6 4 g] kN9&XM0=#EA}F& i ( K+Xy P % % 1 !  *J9 -pS'# N !~ 0 R A"lC UWjL,,5P40X]`,[@*b:6DZBXQU j7( :  p_ #M:-.'HM  Y  9 h*A큠A$AAAAAAAA$$$$$AAAAA$A$$$$$$$$$$$A$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$A$$A큤AA$$$$$$$$$$$$$$$$$$A$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$A$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$A$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$A$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$A$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$A$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$A$A$$$A$A$A$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$A$$$$$$$$$$$$$$$$$$A$A$$A$A큤$$$$$$$$$$$$$$$$$$$$$$$``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````75f7f822f3a65164d88370e25ad87d5621cdd3eb40e82702af06913dd84af60775f7f822f3a65164d88370e25ad87d5621cdd3eb40e82702af06913dd84af607f4b50eba35d9b8320f0c001d9982e74f94400026992c44757d706aeb9e4cd7f5698c9519ae500318fb80fdef6df010afc68f050c417a6e7b2fadb35f30dbd3dc1004acf5cb62b6cbedbf75250aa8a96355bcc5a49969af2095f6ac6e640814651004acf5cb62b6cbedbf75250aa8a96355bcc5a49969af2095f6ac6e64081465e1beffe2226f87cb1196c590ee43fa84a7b018c2236ab1098de1f5cd02788e98ef0899a24de8b82f811fc70d4309d6f2e5d302964a79f79525a0ef745655e7d855b335a5924e5ed8c61f56d885b703cf83e12d8ee6bcc266db6f92d5a1695f47696d858676b49472818ee59156fd4dcce1a91168d160ea14ee9ff8157d844a0305139dd70c4a833d3cdc521ebdf05b7a6c620499a139aeef4b6ce1699bb9c64b1381f3f4fd98a409a62da8eda13444b1f75c1d6e844ed0815e47ac93f4984dc802aa8b63b965f85e2ba2880509c8d74a986c5e806ddc8b0fc06766dd834d76f0754357f722ecdff1af2f3e6cb6e91f68b807dccdcda921a05b8877962eff29c9ab8234739d4415537ccfa0e3be578187850580b465581131c6e56bf6cb5bda346dd954fbf5c482f61b048b46e60c71183b67ef3c178b43fede95e3e1de42554107e0ab5d9fccecf66752375fb419ef5ebab89a39fcc35a2e28df1efdc20e7e8b2e673f5f6b0a6149ad7876ccfea9b1ee794d74054fed4008ea81dcd0158ccd32aa4f7e62259f3e3190877cd0eb082a8964c486718b6f2d20e76965115ff732df0a6bf24d093012224a311b1fb3e3b5bd69779d5dfdd65a9ae4c3d3c8d5273c9b3ac0c27766b30535b149211d4ca20663b55e24b901bf5e6f856dfd49c4427c2e0cb76b2b5b5ce83d7dbc44c62e36036bff8f0e771f4853a2bf4d0a23aa76d51f6aed8a72c2cee4ed5464324638b91ce98d9eccc363568309acdb0a4f2d21b66cd441afeba8143184855f46f6c32ee397011e0feaed49cf0a8b9a705bcf4e5bf685ec3a52b12f4d54f68e693bd9a42920ac7fbb39aa79b4e3a4c418305e671a7368416a090fa06e4f9c5ee158b447b78252ab242961d2540e27e9327d168c8a3cd941088e6bda9407c7bf0386c1d3ed7580109e8c2fa56a734b5b81db23ef98a5819bc1e3337743147951884bab51c4fd338e9c5a234a59dfda9ba0c817f8996f0d35ce133c7acfb2b3b7d9353bd6a326e59d333e1be348c6abb44e5d6bb0492ff06c6a2af3eb8f68435c07dc9af973fd8aa8d95ffc9c552e47274026d70d3f7f93087553490069275c08517d9bdabf1e190dcc62af852abdb3ea28e2434bca78c6ac74d4fc8436803c8af1f890165bbabc5e46a0e24bed64011c8d57cc43682ea06741d9f1ed0ea19303e6c66842cc103726147f00f94bf9f1a4ba721593ad32ea9bb475eea8c19538134b09df1b19ddb1e8685911c3dcd9530bd2ba2a8daad5567f808af1b565ac1c7e77552513ab461eadf34efb3b4c6626254e0e94a8e4f42d546448aaed4f71ad1178487bd7498e4933f61c615d8e9a9bbb4930c12912cd863dcc1c9c42ddaf1c2fd79da1698b7ac75724b764e27882f8d8f605e78271ace391bd2182076adc8e3dd32e43174f68233d5a2aa79761e1ca6d2fa31e226e7fe1f1a383657254cdd41069f541ebaedda862ffcf6eee58bff2724e81f295fcb447edb967e27f84ba462ba4c298e3f1ba04939a9c8b3c04638844a559c1f0256e6db4cb7694f860d98be26460b28122e6f647bd63377375822a5144e62036dbf5cf3880fdbbeb824b4151a3c324384e149f23f1f79f4061b8655e3039c9e081aeeaf260ce83a8257ab781b8e5660fdf8000fb76fe60ff988a7423cfb8793b8e83344a21348c3bef020c1390e042b14532c15623f4739311c7f0bbb2e35b3eed0fb2bcf155c916123cb1171e382a02f7b95d253d4b8bce9cac4a412bbb4b8b425f4a4b8055a6256c43dffd0f392236732b578991b08089c0803a1b9769507c510fe9d00b3f969d2e3364029bd930ec2779103abf82c5612202d1234a3d5d1e3ecd4c7b4fd1c471c8fe2cd110fc3de6aea960b3115dd4992efd34ed972c7fc003b50ad7ddcaefbaef53424385c7b5909306815f7903d11589bcb6d3b7c68389fd67d1bce647676d16b3a306d14c88bfe851b751a55382cf23f3a22267064dc2b3fb1b037ce17bb97f9a40ade0bef63903feae6f776aea5e25a7e4b1d0d409ca1fb20fe58f80424feb6b250058a0e708f843d023c8eb5b22577099a2362eecc3c6473d07983a75b8057e483177aea6c3843201c7421c4da15253e1a4110b96354151a1dada793ffba52279519ca74e229a3925e75a99c3d4998388949da7cc2305c39115bc4baeb8e4af663769da11ffd0e123fd83285e578c3587263b4e24d90151c06c3e6675e5e88009ebd819a0ed1f81b45b400a1ac38201bd8de96b050ee723cd59963be6f942583463977da3ed718b7023ae8e8868e0e135484e679ed079f47d7db2e6eba068876f550bbd112a0879e0eae3ce0b3ee5b069e5a15b6dd42c8dc7880bf442b452f247eccecd37f285fb1fd75b8f4689ce9c8544ed920dfcaac5d9bd679f5b4098c30993e3c1e386e39ce5013d31f38a985947b5742ea4de32e6b598feece27865547a7f1fe844d81f2da858d9758963ac662e5739988246ee002f9a0af6ceacce8e5521b2420527949e9a1a79b2ba16eb9b0334881f066d809c875900a682059174ea1072f56e664f9e8329ea4cefa60a53d6d370823a19a65eb6463032eb47a59df0ca741330f1b5fe9756200f9d8726c880dad88cb01a75f0cd464e4212115dd7ff71bbc6593482a653deddc9972acf4cc5cd36493b7ab4afb4a0675ae400c9732cacea903675d96d0840995c888338ea1fcbb729dedeb147811a11b7608b62d279500f14d53d7131b01ef980b79ac31675e3eae58d9b41972c665b30966006ee58f2e1e29e4fb416bb7b747bdb8b9078c55a8455f7be94ed3fff7b893a880da7ea7f0b31df456f6f89ab745705c27f73fe2d6946c5656bafc2a398d7ba6312e9162b40150c79ca4f4399b38029b94bcd41669476126477b636d32e7404f0c910a5cb0cacea95d92a3567fa0e19d5114309f0fd7ef04239032a039b96539e496f3c4eefee41f54d1465e957d42951cc1aa26c2e3e53945f27ab119e90f29a036f51f98b774232221c8414831402f4c3ea5f07944b7648dc14540f0ed90707c52d4a1e6368fce352b7aeccd4a8639bc58397c670aa46f7e92110ec43bc730390b100da75f09cf8b09bfdc192be683238c086bee0f219a11936b44cf8a17ebe707183546957f3c3873787c774131cbf47bb3b03394fc0a1a2b21a77d6bc45e014e2d5800dcb40356aa7dcf1d8614cfcff34548be1a39ef782873dd55edd8bb92257e9d863d60c8eef95c288be1e138b294f8045f4f9ba33a5ce330f2bf7dbc96044bf3da2c74860801ddf75d9c313ace36aa1f7937f5af2be6af9c8398523f5de6d7dfdfca180ede5186b6960c1147ba5c3b259f6307791cf56d965b5fe17d59883d446078f334b6dd78ec5112a0bbf028dff74f4c38ef83c090c7e489bb59e45d58c7845f44408b7ab69d037c335d9e165408b79b649071a9b365dfa58789eb4ac873e005482cc72b3c95597987e978b1ac0c998ab88a45f71414999c910ec4ed7d28877090d90d4a08aab71542b3e8c5d8d5089391d0ec1fff4aed4d4e9e113de94c2d49a3362b6e96d4b7c072cffae7f5178ac1add0b4490160e293e6ff4e26a6861f3de2958ce4c53bfa4084e1960b16f5daf93b48ed37bf483eaad3ae79ed9469c624ba2a5394f1a28e4341fb0edeb3b3f8edc32f0b201210cee02373cf4d93cf76e25520466bd083f7c5b468238aceaf108dcf0b4f9fbaacde5c9dcca8b473a9caa73d0e6937629d9077ff2c8239b9f06d8be4aaec36bb4b87386429492cf2867009ab5d48541d53d4eae614e73a8858dbb70baf6caea0539b06d1145c921e1a9ced5daee1cd48f16a744dabd421a2d5c8537932f8f3b6e7b31c41849aef0069da568cc4ad4fd142482c5e94556725feecc83817885f9b6937a68c58b7d453737deee3d453e25b77a32c5ebf31682acf25b517066a333e344f3bd67f820c8de0e26936d8f4a94dca11668085e1037df2272811b9e848197b743f48366bd9d9a0debe170d3184129000ee3310d020151b8e9391484ab47c50081d6a9eefab371ce4ebfb15f7f65873967ff97af622d59583b46b0b1818f336f865780033814956b0ee2b55c9bfe63fcafbe43b0d045cead30ed0aec49d3bdc25f4317a96ad73417af1f4f0e8de1cc8d2f131c02bfc9c1f06d19fcbc1228339d573135b6e775d3fcad6760a973dc0012858c9fb14f3b84b2af663b21716f4b24a401711ce08f13e7a85b4001737af8234fda98eb70bbb47752cc9de61573f388bc5eb2325e2f88e3a67a5e24714cdc1a0a60edbb7f75c9b7560e9f9858c58fc539a50bbb6c5ee680e72948cdf58263479a4d9a76125d42a4c87aba2a8197df67ae938a675728ea9e9347d5239108dd4f94e2bb5689679e8d287033f4ea58df3ff3e2561d26d279befc524fa94d7f26f11a6a5456cdd852ffb0f22a3b293f453f86720c237c62f9901a4b1a9864bad67f049e2aa18e329a975872e24630cb450f12a6986945ffc20673d7d5612d03b44d02a086ec12b404b8042ccf5ce41ecfe938fb9fe55eeb5f622ab2dbe33ead263ae0120628755fe1303cf2ad2e98143cb285209aa8471fb5916c8881d8ffc2d68b1ea5ad84e104b501a7a272dd308247c54065983731dad0336fbd2b256800969c9c2d171f8bb1512f924522c3e9c1c49213482d3bf56996561fc088db673b86eea82f28b42f1065a7a59389324cd6142b5f6858cd4dd94a23c6ec193fec6faf6a0136c3d3e5f8febc0d817a6a1f65a25020e4b401da4368338ff13ca8f0e8c2a07b6c34fcc88b72b5db9e0f3186d864dd7906d2b05fc56328d7eaad2e593a900cd89f47bfc5bfc4494dda9af194a496a3c497f06781d948a7466b04d0a8470f9883b3533eff347fadc321d5ba1a71eb891aac53a459e1a1996baefd7471223189d59b7e186e0937495150b20e8c8a132e97c2ebbe57d7316497146b94e2e15a29e39c42db69c4e89ced477eb664cb35dbe47605e8ef1c4628269e1cb983e68c37171ef5e88f4c628ade02b71ad113b97fb369d92c0d376810215d4361dbb0087810631d7b5556f23e075d0247e0252d1760598298d93f30460ee2f44c54e313f17e6f9625b456f3b772a5bf7e5c1a9616c60e366a102112437a24aa6156cf0bcdbc29b4025b3b90d12b9334e8fa67ab7bdd30b6b81d1ecfdc059a16e033e4ed89ce9e2fb71c3942b32e7e714be23dd9d6e3d198c9551dd18b8138dd0a37fdad745132fe5a090759d7e78929074968881bcf2495b419d75e0fd9ea32a15d04ac743e2bc1b62c6cb739ac9aa8e2020e87891e162f82e7653bd6bad9af3a6831cc654a5b4243b2029068f9a4381cd5645e873ac23254c907ee34fbdc0f98e46f503469287f3aacbbf284d2d50d9f0823e0c463dc2261ef6ebc0bb81c13d5001a0b0601ab8196c02578489bb21e5760e146cf0967570a1d789fe06e34fea770994a2b805838754dc4b661b681e59cc8f54211676f4617fc2e7365d69cb0e5f4ff4d8d8d99d583743254a57c9ef4ff24e41df9111d308df15bcbbfb6d206c29f00e2f5b289573fb6e6837805e14c1c05f0b1193e9760782c9997839691c8611896bcc71d23e1cca526b597d88c03a0ce93387af78578adea5b93822449f7c51c83fe5373716c336ce33a1be8c7cfcb7e6bbd023c78b6abc95b72e0b4269617112e98d7fb4c94e7868175e694127f04d6b9e0ffd59c1a8548da07763dbb850f7dce487c220d3e43379ccffeb7bef9c3d4b13e8721db0bff6f0304b9625dfee4d6357c74e3e35c3a988d0e610d7400eca1ca403f50d4dcc87adf675d332c3baa1af076e1b1809bd30e1d5bff3b012475905ce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558d95616994646f5f575cba65b30b96855303dbd72944ac980abf083c6e0e6a464e6f2e0afaf4a27fa1b127d95d97da1f6db1f37f3c52f16677a49cbba65e6072d54c132ab2499371731ef275a9a9ce51c3db96e3a1a178ba86d9c5aaf6d00c4108b631a3a071ff8e1fffae98fbf9c78015dc20c0f1208eac54e5c31895578df341ca8e2ce6ed29714b99fb48805bc18631f4d6af0222f62e27d5c84b6f81caabfbe65cdc22cfbb6e4df597fe2348f1436bfdbcc7c7a7ad834c40f1f0736d8780278111f9d540b5a2a0a2657be67be246e2d2a8a7816cad04cf638811d3fad12f979c6df1b9fd52a975f6a911e1df1ada32209e17b548f06d5254c7162fc287b64a49f4bc6b7b912b4abb3e30a23842f01bfcda7efc35a4dc005470e3bddb02070146c028c5798c6dbf4d3d6245227c05205b7da21f36da1b8694c9a462fd855a2e09d82376aa5c63c26e5735e1728c2569241465be5ad4ebe55bd6bb07959e30a63fd857d9720c1abf0112cbf52e284178832da822789f5ef88d67c16a3ae9b98aea1ad0569647cce507f8802a5649ca6ffd8c5dc750ea4789fb161a5a14b06ac0153d73dc06ff84a1adfd7cadb7f99046cbb64524c72de1c4d8d28e4611b27ad5215ed68e366c577754959cb7233283534113c9e3fb4b8fec0810d1bdde782169b9ee122bb33d919fe71f28170473c3e44be4c7761dad89a451bd2113968b0681d816a7f807f753abbf6c5d12b7a699648868ab0c060f38fd6642ded616e3f1ed0574f5f522beabbf1d8e794dbf4f5ae55f51fcaa4300e1f2c72c0301cd7aa5560f98a03c8a81e309435a3d7c555dcaef1275c9ef66101fa00384d09f6c496592fb5b1711721f98786fe300b178a666d24c37c34f4b9ba2c76ec32f0a1a14f0539b449a68bf0fae6a44c8dcec570203da62f90b60b2a1f0b783fcd345f6c22a7f8c1d07b4e45bc56dd3fcd3b5496b817cb4180aef1aa46b025063196f106ebf928cb9319df0196914e949d7837197858e5a1a3fb11f81e926cc72d472917270ebf154cb0ef5d12ed183d2e47987dd0195422871448e84be7496aaba6eaecafaaed3bf13a0902accdb9270f1de45bae8440e2deed7a55ebd428d663878bee65125af971b119f94b181d7c30800354a280cebe6f4d4381489147ac2405fa174cbb995713cb9e842fb812d0879c1af3b220d3dc8619fb7b9312286abc8f9849a59de0b589745bb8ece2aed9417c1ba0a1d74b4fb8ad6d191fd0405c3124223d2f3708935204fed432030f411047cc14a54f1008f27bac6ee6e31ae6f9d94d952f896f179e874d5edf79ae2c0128972b7d0f46ac0a6372ca2e8a633020dc3697682047d1a7af94a0d21279461d670eab3664c900875dff17b2bd4abccf00ba20ca660252a3246a99744dbabdd89bf17927ee2c70a999f982c4fb0e0fabd7f41a7ca22151d10418312e134eed7306538c0bd8bcbf31217cb7d2fc1aca7cb72fc87fb0b91f96704f92ec24a067472900e3660523c3763638cc45318ce50862d4f7d29a7b2e0f078da7f4f154a9bf2ea6b0c3b90ef107696c25a04f480e3237fe6cbee95cdd5d30a5803e23b3bcded904a23d157f05a754ac31dff338e8f8538e36690000af66fe6be7818caf67650096ee4f414f3e3e578984ec3ff506da3fddefa18355375d61e9f5973cd0ddf0e7e08b3c2176da099fcf3a0315eea99f9f038038504d6b17347982717dc43f1f5cb5d94bd73258b22bf0d3196a38c0ba65903efe17d3f9e3dd01a6b3189e046e7a99f13f25f41b890258040b9ca8559a1c61f4d1ef0456458fbaa4c3b2600f267010e5aac8e5892e3817f23bcc2b17fc12ab0c35377862c0f355e7a4c149e32e14ce80504b040d07a3df924bcfdc23b166bcc8780dbd648349628b1d083fa6fee88deafc413aa2d3998d561bf898b6d4a408f60bb8ac3c976d69bc9d19e80f0e06dba9b0e7fe1bb38c13c29beef740d4128695b03a62c7d102216d63af096093c8a4b6df21328f5b3973822717e966c43d08776706786db080980a77fdbaa0c4cf030afc0da8acacce728eae451beef4cb57da392d1b2c425a79fc6d781f835c2ee3bbbb16d4e887fe0b9dc143b013eb6ace53116e4c7a94fafe9b9523dccc1062f32a3e89b67072231d14078c29559f30951d86ae887200e97d103236b93c4ef81f43dab464ba49a6d120473e450c3fe4dddaa69827e53e3bbe72006cbb518d6f24308b59dc0f4b9f19489d2c9201e0f9123d729f4cc6df065db46c6c77c33b0b1564b88bedb0d4ed46c950a53884a82540ea6366c97552a4eb6332b326a0a51e3c61ae0019d0272b2f8c2db1fbea34fe2fc5e47b55bfbfc102fad45102f8d3b56e4919b44241ad2e9c7f2cf552f95c406929fa73b529b11feb506b49b489df332ef23321c8175d063cf2afa2953773ab352cdcfc1f6f3f113baf5e9146d1efe021e250b3533262b233c9bae984e445573a65c9c0bd91e3859b67da72f52fac7c7d158ac6a17133a203176ba89edfa081fcdb7521b1d79e321197d0b867df4095c0d028c09753d5addc57bc62d0a11debaa52d67677898c75bfee883e299cb4e356f3d962aecc43e17824e75a7748a6c0ed0bf193619663438cfe2f12ac49a15c996cd0092380f4bb4f6527f909170c7cd7f41e9bdaecc489578eacef8743a3ef29bb3f557b77f4d344156ada0a4d62efde13c38e31fd60c2975fbc26776ef45690b0439fa3adcd394d7ead29df1a4aca28057d72bf25581b476002874a699e64bf3bf87e3dcc6c1f4f8357ade4dae18ad98d56065571a264843d57debde5c688257539b51850618f2cd7f8a114f22d3ab94d0c5b3ba54c081531b0a6f4dfa9f5e84336c5fd190006a99f435d9a43e72823ca59639ce8a06afbd3f2631f86b7ff02d358d144db82d58d5a23d1d5c8019c416ca84c80e5bb27402b4ea7c72066229c05cbe2ca77b12d45d5885501aad500fc253d48a521b8d192f24a6a697dc3251ad45dcbdfdaa261fe8e80297a6db3333868bfd1e5f866e868588af7fc4e2726edf69ea58221249422338fc26db6e6216749b12e0e808d365e5e58ab9503d91ff5b8d8936e4b013740c2eda72f040e1f68098236997a294bdfa8eb83f6f600ec094f406f50a1327b1ec0a7e28ab58911f0d0d0ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85593d6ed5c6724a311970defd0cec9be4b6014b8a08dcd27b06af789c96e44ed7540e8d6784f1e585f71136aa6eb787564bbbfd624ffddc52bfd9b086580e00782554b48b44b0e5059ae862657e56d539edcfc468e5ede7a3b04c9c70528d54a1a2ff15d6fd5ab9bf8b89d4f8e1fa240ce8fa8ac588314c43324a075623c7d5c4afc2a8dedca8269fc85bd2fedf3f0e5f7583ea1ab50f5d1ef18c36200075a1ccc2320ec5cd2a0471c8ed28e0e622c0daed4838dcaf6b62007ced0b0951fb32baaf9ad9c00801719522f8ecca0320166bedcc7df08822ec10fcc2bca68f2e4d5b08f8563001a75f933c433c4ab73b9431442e021bad6d3c2df1cbc25fed0f54f45671c9270ac973b0f036c65f0b237c4c3d1a5e1ba5e659aea75716f4c5321f74c405f08d3bfda5b4f71c7cd9d5080a13c632dce225de01a9707b1a9043638c220ade349d43c5719d437a6b126b915366f2aec449c1655e44567b4ed104098449e0a03cec958731d616ec39ce3fe7bf36c100ec77e4741a7d68f9d67a4b95122631e0683e7f3fc1043b89f716082dec1e116fa00bf6fc689a669625967615dc4d7d82e67c957a9e21d07cff5d7bc811b24701df4b62c8c5b6040759057b924f6596c72228ca66be90e0228298a29cf9d2e4c3e2ad1f589129ecd18f01c286c6c423de1cbf43caf62eb04733e3798af87c1b00cc3062d6c1d0ee8f2d3011ac957b8e7525eebe298d6cf9ea6aef72e3d34ded3a6c06b85ad79d210b4909dabd0dfa10901a3eefdcd968b055a2f0be2dbe32270c64a32e1b07eb6e70cf7c34e62a329fad70b6694bc651069f9ae167b88f45a8541bd77fd160fd4ead0f438fb7b01b15ae8c9b96e634a5bc474256195f60da599eab17d8da72ea4cff0708aa36b3f340346d73fdf9f0409ad03963311863a1d47ec78d51530f6fee587640c2fedd008402214535173064795d60334bc334abb60be3db250418b61703a31fc9fc220b8aa7f15b1c78906909712f46b691baa5657260c33eb5e691e5a778d38e19574464af1fe79d586869fc4ee64505996e399aa4f36d550149a798fd1daad0c24f56ca2a9adb32ed8c9cf389633c82288906fa011d577708ab950b7aacd5b5c62c66020dc96c4b801252388a3d16d8405d9d6d40572bc241fb22e602ba713c8d511ed2b0d4fc4fac27b26c08a36a9e8f8c2062c5277009a7b87eb6889e44fe8fbf3f6256c8036bae5b65cc3f78ca2ab67d33517f4aaa6903f20929b33453d0d35fbf18fbbbd90ee5547a56002d1495f6644824d6250b40512407209726cd83f759d673dda150bd7f4108fbc85cf1374027a251007b602d358948a8ef3b496e986d10f47a0b462f90c2010f716613ea26436bb3acb0e3fe228bb77bf51dfaaa7b3e4be9ff7b49b10b49e515319bcc8f129660801531599b8b534a59f9296407aa89356d26df21ec08f3103be22e9b6c468c0495849dcd74f7f587da53c790e3a5db1fbdd4832efdfe1cc2b74734a815ae0298514a1e5205918a93f2eab853804c980feae5cc6d4e5ec13dcf1da55a9b6d6e62dd04f78118fbe73add3e04afeb7c91db66bf436315917046438f0798efeb2573e2dd08cecf6893d32dff7832a0157c689f660c97541548661c846d314fbd9e1ff39b7f529147176bfa180b5c7313162e87a72fd88e67e4d83ac8800240e5813e5293361d42a4f53ef450d1d71290bba529e8b55c49c0c37167012b2267857ac8dc1d69d75e545ff5bfe640c501a07cfcfa0e72414272b5732badc53c14022feeaccf221f7992957c1c5747b8fe04bf3dcf2200c9dfa70de576c014a5c1415c64e6aa76e0b04e4876ce57d80d06c50517f2228a5fa35bdb0550ebb344e00ced36ee581a68fb38aee68cc2b7b4c0b37620b8090b01017816f9fdd82b7ecb1a50a1979a2f7825d250c51e51f4ac95a91ea7a53806be0b88051fedb913ee32603b2b57b4798a87e8ee38c777256b99fde747b94af348fbaa7cc074824a07dfee54baa34586c65bc92396c33e02346bfb91cfa0d6bacc820d71bbdf60ec4a2d4976b04d2b66f7230be143397c0b2c966a17b6598f68a50caf07f8b118d55e810f15f4e6651a4b4c1046dc5174892147b0ffd4550da46708c72e7124df252c70f9dfa7918e4ac7e9008aac73fffcf60d32a9c0b0425cc31134d979b40f1d05ecd8eb0e77a3562cddd685ffaf28239298b99ac84327208db710711285933ac100139d55cc99cb62ec72622352cfb54031952def177ea843393eb54dc2550abe938ae8aedaf882ff65434fc0d2f11c7c9608994c88d7b9db30f2bb2213fc024bb8fb885a73d9a48d4c32ee787e20775ff536ae19b03e367279b8470efe5e5b8bea6181a5b0463d60793dcd8487183e06543ec7d8f34f073a47135025f8ce31421db6d7ce17e8be524d25ef8605f95c82154e64bce1dae553a5fe93c14aa76d9dbb5fb402f08275be66bb549bee37fc7a45045b05daca690d4f0b66a49ad4deb87c48e5028ddd66b0976fe4bb42fe120de1421213062f0139a371c7f6101d8056d5ee16668825a6b1e47425ec58cafcaea9ea87e7e2259987e974d09a5284c45a4e9435c00a5c86be34d43876b277760d58fe328c323cacda1859223aa9ac50c63509440c45e6b6ae7cf5990239daef5d0e205972d9b2da0f7e9a83ef171f4f2aba9092d1f01c6ddc241c05356734d5b4b60be18580d29bbc78946778ea75618bd1553a1ff6e88b0ba8a1b3d56034693df24d267e32e145d0154939627a74b01d0c620e17c88b863ebda6126c21dea6101d8eabb1f6b7dfe02bf06d1ecc2feac23416a0203d0aaeb34350d147384559f5ad3a3c700e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85563b8d12aa45677fd39c62f0462e0c996c87b135c3869be660ae480c69579e3f98e5fe8dd4f8668bc74a463d15cf4bfafc5338911030e877496de3cd8068996dc93434b67bbe1c307f1110c59a177e7bba7181c5e57342a55a36e4d8c00de765bf6c43ee3482c0598fd5bb4070d80507f21c3af022e342c8066bcda4f499b52b7ac6813fed00b1688ec5cb817bdee385dd94ff76e18dd39e6587d3f9fcbf905cbaad976684645895d143d2fca873d6f2df2a3bf85592fddcc2ad0ebbbb986ced25ddc510582b8b42606efd2714c977b04cb87a83725fd807e9b12e3dd1aa5e5c50ef7f8109e518940d0315db7aa9f153c221615088b791e262227860a8aa084fb0a95ea3e1b83513f14147918a11d8e9c1c54d59e4faa72cb49d02fcc6629e4d6b1d1dbaaf2fef7873bd0b3d89af5c413827603ff16fb15398a94cdf9666db6f21b1cba588c7fc40f6b055cbc933796fff007b20623f8330d0810b1fa0f6dc9ad12e74306b7bc88879ece6e0ba1a7e05f7c5c6f6970855895fd44d8190c512abd4e95fde603087f9ebef8f39b207cd6656f4afa21fe1fbd1d6a3724f242a120e851038a568cddc4d8476a65c47e459774b598c566631e5596ce753b90c2babeb7a66481ed3c752d34dfcb420761b1376744ebf929865e455ee881d1df7a9166992b4ca96d26e0464ba65a9216e7fe87f02162a1b8eae57dc4b32beb0ffb61ca913e8f578b10aa7b4dd03161b07f9fd426e16325844bcab190b9c009a38761f90b9afa59adbd64d8a5bf94645aca78d7db1472ddc6ba5af79ea2637298885c0941164632739a272ea9100e9e0978e42c81da154886ba649db2408861f01f6d9ae31f681b138f308a5ef326ed37bf59ba02d8e6cffc258b56e74968f785b50504be725a813133827c205b04dd3f407e4eeac11e6c426a040026578b7960c4433f34165b139e15d0c49e736d23d23addfdd64bf3ce7fdd3b112490a468168ec493c525ac26bc06c6a740c97455cc55696b74eb2f2aabbe602d652bacde8798ba197988516b781ba22b7d1f969a7e0bab56358441cbffeccce68a501d1f462932ba44a156312cd2617e1d6ce67bf2558bd40ed7d8d20b93294c29732684c2a237640e352e5fb02709a8514d44226a3293981f2d52e568e6b715bf24823439d6a20cf7c68d8c64315d9fb301ec8e452cf65561f0bf8ce58368a25b41407e122015c5766f3ec85c47a04b1c977b2715c059dddd3a4f1ad9018aeb1877de17d3785e9b57f79c3e78e72490c3cc2ebc660d4b4e73cbee9f43c7e5bf74df4eb401b35f36064662baf974c61c20af546f9d3d1ce08462875c7e2c9da282117a8b2254ca2fa2e1616389620ff9992c58929d1ef4ce188b4608fd0a5cfdbc0b6976d47dd98b0284e4438b9742244c945d8893856bd2fbbf679b2498999f9982b6f493fcd18aed00eb301bd59b93f248463ddcc8b3cd756533c5e2d197643e57ab3d5d709c415cbf2306492040a85e990acbf67eaf63b3a278a353956d4f2ec241d4661b81dc2710349768e04affd4c4c9b5cbfc1c4b4f470d24cd461e0cc31e82961a29fb403ea30e6a611a987525e3456a07f3daea6edb84bb7e7588174ae3545a360973a0fdd204cc4be6ccd207b4fca2f9ba7cc25187071cd60ebb2a0a6da0b220dbd73ff223543880bc6bb965b29ff892a1c64edf2dcb882d1796922ba50133d7730ee6bc7f9b982b073c320530db01488904a247384be0e43769711c9914ff0e3ff5a56c54dff298a105e8dbb313f4665ee73936bb5d46aa1a2d132b84c8a52570496ae4a8a3c5d2699d2360896a4f3e7ee62560be6e8e9e4007de9639f671d87c7b35b5e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85510e566d58a3be152e70a7f93672d33d98ac27d416bfc8e30223f8d13360188f62abd306a8d91942bd33277df43381ebbbbdb3a5cbd74c36a40791bcdc543af9d3b224a0e065f3cca683a3bbb84fb421f65e2a4e7eca3209ba1fac66a96c8e37ab8776ed0da26f8dcfe6fa32c32f939c241161322f70548feb57a5cd96348a66caa3467f685b46d2e9c41f8d4ed5c5f563d830808bd8828d2a870adb2a683d39fd6a50e97c914b8e2866fa536a63ec571ad811c1d827e4c3cdf1474f0d73e0158b900fa4a8be76e18ebfe62ee05cad4d13a8cb85693dc882f4193625361b23de89efd187f0628cd98c71ef020533724d0cc5a058dd7b0052b76fb0191185c41bd752814bd30a37c37adb7388b672cca30b7287d2f4a5a6a73fabe76da11f37cee9567cfa543c0eda77a029e722fbdc6312df4b1820831db55cc6549183f4c166f30294f2c13ab264404c329b86bc968359f10dd0e65e744888d23cb16f2ebb90f40bd67743acd3f07926952734fe363abf73b70b84673f6a28e3367ffb92efb79872277d44fbceed4e9e1eba266ca760f244d95a863f04a59d0a6aae9a29570f5bba857796cb533d1e57ec49daacbaf54058b31ae08c0c4714e9dde8e53491fb53b9a964e29be0e9c79668ecaae1dd7048ecd072a556a39ed13623643bb668982d5de36c774821dc522b46aaf9085ac781fb6c87923a47532861f21bed9fae51ce22756bb1c064fe99b078de36eb9ea52e226a685225516f8d01d486f5ae1607c2d70e6fffa44b4b487ee03b4ddcac83fdf549ebf9736acaa7f706e0933bd9c74c50945e7bf0a8e74b8e638a5a9f590b5f2b7c67cc59a7cc02d461b9c7d69cdfdbc898d98c5576a0f134a344c99cbb08e27dfa8a837224ffe03f75f5947cca416b18ae5599177479ff8f2160a59ca8aa2b656b98a8636332fce65230a52e4dab9de35115b9aa1f1578aa36fb6d6f04805424f2a7d9e14805042b2b2b05ff0f8f2c51b4dc24db7f550b0207ec8f5ab2c5a03c1ecb3ad0062318999a54d54e91f28e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855059d8943b9445fa1fa18a454338bceea9bf7665b6135dfa52bcecf8c80d7812f101c5e95f06d25e5ddfa540bee45d0b15da6555b7957eff13d6e1b3fc40d34b13f55e8b539b71e63c0fd8431c1b1a061a5cb7fdcab88555614f2a3096e07adf8b73eb5f1d2c1cfea0e406f525283ba6436773dcffc594ebf206b30135af43ab684b2005b5feba52350ea7409ac6b3819d0edfe34e32fa4319e0383ec6671b51e550ee63103df979a7b6ca6f5150a5d619889e8076e95596076d99075803810d9cc8031db2a2f2584787935fb424b88af5805437858fb083fd90383ab967bc151188e27870975034dfedfd77c6ff461cfa982d9ca301b663456dcebabc566c087255bb3a51f6a044116756c04942a87f82914d075469ff4b89725ce58bb9c10a302c66a43b0957c32c254018d1a2595cfcab4717455da79ada95b272f5b15d7c365476907974b781817476fc17a035e75b8cf85c04150b43d1c1dc7eb10119ce79ab8a79f1f045347575685d4152f8530995b70ac151245fa8fa19350ce58419c73982f3e21d9f1918bef9de163de6643263e8e20cb88c5a6e265efc75b28ccb06766024cbfd5593e158798d1ef2d8db330538fbb60e19313a8fdae4e3d7215ea590bb45264c8859650fc762bebbea2beb4b4d5e41cc9847f75d4bc73ac8cb1bb4aa0ca0f2c96e790903a636a18d16bc02edc64adbf8649a1d24d9ef0ead5b428b57503b0c553a1b3bd6a4b0714a25a56cb3f47325e63e8304d2d341a00ee18bbef76c6f0d19502e41365ac98a77d3e59e4282fd8d724ed1d478a0a25a4ed65c3a8a97a5aea6290f7c3d71e12af0c105dcf15cae67d8b2065f6848ba53ac63a3a862f66ceb4d3f7f83dace9a3b4302445cc50068718f1e95f3ccce53f01ff482dcbf35d15f4ead91c059553ac1f4c458238526646bf0b51612d6b7b97fd7954b5563bbbb19ad2d31f8548f1a2e3eff97dfadb9d5a9237c3c05bc67859611435536e9c84376df93b0c7a8959f729a70165d4b6a23fe58be44192ea700bb6251134fe7c78ec1bce7b35e6b7b5877ae43a19c60b859f5e0ed13867bfc40c0d4b652d8483ead9df20f5b13f49110f88d0675540f8848047bc45c13319d9c3f8e5be32f7cfbfd3c25942477dbba5254435cf79006c7820cdeae6a8b772b2aa7523c6352a217c23293b399ffc978434f7f26e76e4c46ef02bc4123656289a94df6047102e57e2858ef2cddc5d78effe4cbe00e9e1843bd91583380563e7295599d1b832177a68c9385b2a5d020409dba2147cbc704629ff3a5e3e9a0c23766e53a382af1efb9c138754517ddc67fa4cb46571b418fdcf14b7ed6ba130039028e9fab47f9e2db34369295321c83fa5f44d648a8d64bff92ae145754dfb9b0d1044fc61437e82f3c7704203f4c027879d694be2bb26e406f102fe73824e1cd40842184e75edf53c5819d00483f8135c98ac38299f145d4f4c913f61f3e60dc5c0871dacd9cecb0dca14a797ce37d6c0b3eb52cc42b32dea65ebce7dc40c84033146d095f21db379cfae1f4aab4804c67022f859f6d4d51766337cde74b15b1b15382baf88fd09cd533fb34f0e76e9f3e41fbe4bf5c5da469ae1e27ce0f5b63fb070b3b8d24d8432ad55833fe50ea71a251001bacf4370d9527196e3fbea79272f346f02d498ca93a18a125b0c23204047fb111818b5b4ebc849b52cd5b42fb250ef778263fe42e27bb8a1c2d9851da62b61d7e1b1fbf6490f11bd5bf2f0da7e6ae469504e83fbd63cbba86a797bdd4eb4ac22515634bcd45dd55b13a8c333eea227ae26376d2197084ab00bd06094d7e4fa9e937f9c5a998aa6447da115c86a40c43dd04d3ce443820accd73c79669638584e25e8cba25a165b47957e203c22b07f844b8a98dda3d07cc433bd82a7e57a9776819672822a539a61f3a032dde06fecdef9efaf3ef0f1739ad11b3e5d9a14ee505165168352db402a6d1c7e846259bfd7d0940d0e5923fffc59079475774f9cede73aef92addf234599b1fa028bbe15009a56cfd82e14d2c7361de3c55dc2d868d6ebb640ce43d63183ed1d235ddacf6dceb52f4ae1f091cf11c77c1d13b85b425b0523f7bc41b27b355c50f92f02031a2a9b720807e3f5140e51f06143bac3097ecea13732a24eda62a43b318549f8efcc9e352f60bbebae85a3274f1919ea45e17e20ce7267194ba1e30982d2856545913e408813673e84dfa235410dcb98810c1b45da3d094be954dc623b81ea4b5707db830b64f5da29557cf1c0aa4e50a8196d63e70f7e0f3846a312d094b8a170d0f6d40de0cf848404edc5874957021c736b8daa8357d646916898102ed38ad0095645de844ff4d5b1dc8a5a039e0b7379ac345c7d61a8ab8173105a0f29fedd93e8fe73c39015a6dd47b943002d9b6ef846cf219574d9047f8464a9a94d11cd4593748a0e7bcc1567f1a390c18ba4a3d6d4d043be26c5884e8e248324c404151283858bab83f653b6398b6cf9e182417036fefc2b71f4c002744ca746b184a1b72041a0886ba00dca92ec972d553cf3e22416fc4aea872f02c467fa3a4cb857f009e1e89473757136c6ab955c8d695d80a6e55344f48f59448cf2a8d467be60b35998f8ad3828210a414c95df2623a2e7a8b9a112626b9f4ec9c78f4dbe7e117e9a844174ca80a3905efc07f516b90a7d66daa52c08d54e690bcf327cca9cd67f3d70ddb4969328c0f4187f13ac73f1b3943d6285acdc6fd6d0f73e71f84082cd81757a6279aa7d56c81cc1f5733391e184deb9524e58bd2f69bbc9f48dee46e55efe4daa4244026f91ab70d4edc1b56ccf019ec3897360006dcd1017a970f8318708828494bcbf429201061099f88cb1316e573ebe764e328e0766aeab66501ff64d9150bab9943af732aba2c2d9f40d7d4159730e13203e3a3566fc88f9b8c19af9c5974c74316d7cd849d8e15305166b466e67ce4bf6a65c14cab0b10d5d20ddf9cfc6a52f04a492bd614f38a304a07e807c4c9b4988eb55f4914333e50b52506c7207d78fdb94146a3e290de609af9dc574ac36d96b3a6f7b360c8503c869cf1bf2c0783c2f793180774dd03c40ef848ea5cbbd2070f9b9a81913a56163f5dbcbe0406fb6aa13575abd25ee509e54a8fe6ec8be0ba0885db9d6f789fc12ab9de6c9194956935712f1564e714bca3d4fef519023242eecd0495ec5b127a9a75595bde7e7f6282ff535caebd26dd8588e134e87f5c9692cbbd4cebcc94da4abcccd6180280fe14a882ad34c7a34f70565caf8f499973ba887c9338113b98ab29fcf39ad6b5ec454e644edda01d99c2972a8d617cca4ac16833d7bbab4e5e2b3a67d6e8c6f31181cafa63aff1412d47a948cc7a011f5ed44f3bf8f6efb4aa2f14c1756457302fb599d383d7f6a30086879455e9d73c6b1e9cf4edf6483413b1da951607161701f6967cbcabb306bea0d6eb0f526d9bf2dc4f786e893aa27884d3b9b18604a26ed8bb5431aa19b5eb4764958a2a980294d0be918460845ebcb2276a013311a5f83fbfc75cc279248b6aa44d3b0ff8ed7968e2f75a2d36b526eda4b553d967d7c3aa60f90569e4f5b27366004369aefd3690ec7b367f8ed39f8e2d1dce55ea3fb5b522294d0a8223794d71d49ff9ad4e4e11f0044c41724097ff17f662ed6f889894c4bda10b631d5e25d6aa7be25c38a6b6b7208ce00c4c9a4ecfd7d0d0caed9ea43afc0d3aafac470758a28fa915a846094388807b458c83c9f28246f39938beb1c1fe7711b6c609c2925384fe5c6addb78fbd005424ba7e12f301c8a719e2b60599c8a50ca2f28440fc0d2b4bfb7e219d37fb1108e015a95e79f61682b2a32270f31f225d0dfb3cc4a139757f21e464fc80b3f7a914aa0c9a79bec7c90bac31c8fbdc38905df4f3fd87fa04f547fd98c63bab35154ebef04ee81de84c1fad8e27545ce502012b61be09d1b3222ad1edd2db17077a807a2e6248cdd964328748a5053fc84af9e158ae4856a20fb5aea0f5da836d91dc173337b47646e99b2679c76188feda816532e29dac289e064dadfb7c182cb7b581554d33e66a8d2b89d1c9ee9b81c63df2caff77344b2355143b6d1fd48abb41b19e01faa0b638008a667cc08a3c71287e2659c210c951f71754a33dd86edff275f26ad747f5efca272760eb34b06dbad60fa2b798e600b1675787bf7c20496fa02cbaf99e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551f6ecd0c2702ea2d14db03623868c159f452996f074cad583cd46d93356bf390eeb5d3f75598614be8cccb618259e71692790fa9958ee3372483f794917ff09494caed5e4488dafb0afb4eebb0c2adcf54ffe5317f33445fb0f4f5520e62d99db4d7f4eb44fb6ab99ba390263db82426a0682934f48b21b27073507845d73f0c4f2313dcff0b9a6dfbd927fe08ceaabaf5465878774bb26f7f99c5d8ef401d3e8042283a3f34c2edc2dc3ac1dbbdb5fddaf0d418b5e57b78d3764bcfbc649c321af7bde590707bd06563fc048b5d4e746d0bf5f593c4cb1d5c60d4e9e69b45a9023a86c2bd14c1e028805e257b5b25b6fd46a86ca49c3af86a277ae9ab8eee9ef22ccfba5dfc3c33c3679f116e2f2b66cfcc643a732851d7d3c5f4ee03f5841d9e5e44927b49079801bd95f0817c5d345c5bf7a495f0d6d73ddcf8f318259376052e3a4ed1faac6deca7f242ad7a3971678850b8874ee1836609735d3dc08ef4ab50459646f83f49317d6e47dba38588d058b178db8ce27c120802cae63945d14f2605ac834972d76a6ef8c184ea82271ad46ba5423bd20d6b25579a11b3c91807083413e79ccce06909b15d07c4a51b6c534d4d3e2333145cfe184d85a7a3701c3d599f5c5feb4942e2b5b7747ebd69bac27faf3f1578b3ba4989200e4aae82a46c18f3f6d1ca298f4c4d88b960304e01578ab733a0416d3e8f7f46b24a68324dd9b8429280a461bb502572f26fad140a88c4fdc91359fd4275319aa2f5dfa4261b45972d44117ca526d01bd33b4b365c28cbf25069ff96e494e95e25222f0b3a1873652805bd06fedf9ea989f262a97d74865606d8c6755db0c08a6e21dd5d8a0538cfc1dcded626b31284ad2787b385f42c5f309f5a7fe2cf2b6c5f4e8cb3c58c9ac223377827acb94f2396a234390df6d6d70023860e50517690404253c5344770428486ad57ab65bb0f3ce503891b536d09938b08592d6a0defe4c99f9a2c9568b60d7d42de5778fbef7c3467681dd4910ad308b8a75db5c31e6caf02d683e712a8fa19fe9430e0627909fd9db32ae8bac44dc900d46f34817ad8b6126055dafe62fb7788218c9d2bb216a078b5d056f4f75f4130c02d096dbafd4420e86375d8122475a1258f38f1a2027ab6b44120ffd3c5d3d64fa131d607ae85c234083f2155c65d9749c41c611e91a7fd1217e8425f2c4e1cc2d71ea2da2a3b4340a8e795658ee0bdc8be634224cf3ddb3f32b30fa2db250e1cb1a617b613b2e14adc1949f025abee9e7552c6bb9a2b6596e081a1a715ab1743779326d9548fb81568a566fc37d1953a7a7bba5feb8756721baa36366173420bf77dbc5f0fc821f17e8c95406949e74a3392699995b58e58cc5fd2f4205c6e6870e2aafe3b871dfa75c527b8319fce3b12af01be8acbf644323c0f6fcf8f73a57b828ef9a50b1287a106a63f40c88af4f1a9f3d7289dc77b6be21926431409caf928adcbeb1a54cbfd334a3b060fe6114a71b2846a3ce5078cd752bc08e90dd896349b6c386418ff750e0f25367e946ee855d918c94257b2c5ea4d128b074201492e9eb45299402228ba8083fb0a1a552469bda037c8f8f1e5fe42c65003e1267d3c7bf891d5aa31a0d34493d47971b6599ae004e36cd6de8a47c102fe3ff2ab679e8a0add0b84577a4ee79cb39993e86b802407d9a1728db257493d81477ff1c75df429e4cefcdb926b965e0c58c68a1621b64e94deca53dc5dfbf5fe74697562bc239dbbe59c719f0169339516e151a2e114427c8897a858838bb44b27ca9d5692659ea194407e6fa867434fdaa05fecf12565f39860ceec3ef39e7a8de8a31bf25ab3b059b2c4edbf47b53953a5fe6906c47d9ab75f6a96715707bfe74e44e050bb1bbb102fe488cc8b3e2c7208f9c1729bd62006b1b7d8bfd4e7e04574e3e62efd3a2910a12a7130430e29727130e04729b385936d5b1b6b11a7af57faded1e5083a597f05f1b2fa8afd4a2bb29de4403c26257f321116a581713c4289280f14233d7838f96fb788d71d911d38c390940fa2000a5aac8e220e9a706a319cdcacac962a2004ca8d5e0ead587c583e80fa14a323a003a919639336998d75a2960965dbf5e84a19fab269fbc61f91033ebde4b4f6e322281a20f1199e79ec960fa3bbb4800a2dcc11768af0d74bfd178c9f3d58da6a6ef5dea341ae2cb677b3210c06b623c492f1835274a15b767b6fdd023576d1d5f84d918fe973da662c5b4da9b20e33dc3de1e06e082fedc73e7238bb32efbcc255881a51490b0c58cd14351dcd92317e7e3222c0a0f2867562de459ee2fdf4644702cde2e19897a0a6dc4f635fff39daf234e1b8c057799982ff5d5339ac19436c22648f5c49ba1064af307d3c78ef8127a3f24dee80d2ababcf15cf10cadacb9bee679106aa7ab326d2b6397b7a8245cfdf51c835914f6061d5fc00b7fab919700edb2a0c916057bfad2e7a6a14629dcfc8206202c0483986654f46a08ff8571f0bb632bb381e518674828c65fbd45d836c3c404e33e00a6e5902e585215256e48e39151a89cf5e1f4d717be35e4ca36310eb242683baa114abe5502de116fc0011364b529cd37e7f3e91bfad2654d17fbea3bebdc58731a9de9fdd8918988359f19652efcfb977cd6e33c433ef8c950675ac541329f45076cc519e59fdad44304926408307c900888f560cdd176cb5366a1c5a6f64b1ad7ce28933869a009e54a2aee8c707c08ecf974c910634ad7070c0ebb82bf16b0ba40f38505db2f4ca2a15a0ac9845ec67aca16b1f7275f495609b591a277e3773b0860b897bcfa5ecfaa38c44d2e895db439e82c6ab71d8bbcaa4e3c17779669c9fb017b8afb83675b93a766db2ef55341cf9b1bf2522df04a669e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8554b7f6b79f5c34e1bc813031c706f2136eb6eca7f79dec21d841f312d07b55d5e560e8e66f1809a5e58b15500ebc06a84fb7b60bf487a32c6defa7907f4b60e84fafc75ca77998d25bbc99fcaaa03fff2e66b3030187aab57d6f0344d279cae6b0cd661599988a1329dc8014c69de6df41e9565a3c18a04e2a9327d94da044f4154efc5c01ee82494745d9d7c1bab2a95ce7003e263d8ff013370735da464f0f9a891b931af814b5eeebb999ecc098e15c5f9a4e206c0fbe1c012ffcd54c2fd4b182863222079f737b5a81bea44fc2f02a81b4d20aa9259a4ed8a9b67114988dc994aa1187791fcbb796d783043e1e176e5d097e9b82e725d45b2f59f6bda58b2a0194df2c67cdedb62cc432b266ddcd9c4a356192bc3d06c947b7610fbcafce32d4bd08f12901163f6b4ffd20d93bb6e10df204d82de7ae43a5307a322062d20c7131f947989bf80c2ee71ef3d8ae659fc0b7bb444d2c9999a225b77c83e9179e3dd73ac9e152a0f26ae2d5d62ee62b67eb9a42c47307601407f94e73fa33a2b54ab7d85e3882aa58d6cd9170d8d6396b849377ce5a8f94b6af72ab1aeee50c721369d634c97e14df203cc4ce67d4b7ac8fc492d65bc503c28655b63a7e6707c2f1ead528f2be8df0785c39d9fa4270f24e4f4a7e16dd3a0db9190bfa2927920976eaae8f89671ad04abaf05f5eddf549170847796d1db5ddb4e80708200a756931f2946e6d1cb9a178c1c5e74b46ac8378310c9200b014711b195821884710be2ab9fc37b6e9be04040cda028ac3331595606cb66ecdd85ee4e9630e0350b65b09d97f291c466774f2b37682b61964b8394d71fd8674541bc1b610230c2a58bde7921d9a0cb26419438c1799365771939e99be23a4ef0101b4cb82d8292c6a837c57e5f2fbf04f5d10b3d70e91050fc0b0de3144a83186171c2309b8fd7db6e530089aa39c0dc5d77df1f540f7db0b119f7dde4b8c3cb54a89ecfe96e2b94736e40aa60818f1ea9f9a156d6458c6ccd109e43711859a39e286c0486b70b395c7b7d6d4632a6d9fd72cb4861011a1435adb401fe01606224703f53f6eca7d96549d07ca72ccef320c101332dd5bf1ac8f5fa3ec09fbe830163010a6ed072792af0bb3731d95723208fe3ec66ca08b7927808f04775e95548714f3a2ee11324299987add983a70198c25eb2d7b43263f02e81fadd4d650c9934ede900439831d4eff2241d4167fa41e30bbcdb617e5ba76c3a7fa09b48e07b6b757aa864e1ecc8da0a97ca19761e3d1fda286f3d92e9a5e0eda61e40692eb4bbcff046c1a2cbc4b5049ee701b7b77858cb0a252f1ce7428add4b7a5856c748c3450872f6ae30a812619a0d42b542f4556f26267be20b7b35093bfd2193c0cddcec65ee3ebd77dc5efebfe73c7312732beb80d6ab01508a5fbe22939adc49a97eb0910d19bf76f0892deb2bd4fe06612524558f758d732b12b35418c41b6fd3584951ec07a1d37bde47add281b252e5dbeaba6ab15f0a6680b8fdd156bcb3e606dc565c3119076ca0c09a73bd54445174c9a109eb096e7dab8f93ce21a01ed54cde59b549ee7cf1e5efe7c4831c34b364de877bcb7b134bf0de7b6758f00329dda4f7ac5871e209b9c92eab71569f20c6bb2a035c419393b8181b2a99ea266ad6aba764fe6c6c2f126939367d5bcb163e581c162b278359b13d96333271718c4f49382fadd699d8dbb77b2a6493d30a0764c8dce9e4233fba144380e642b39d7e582bd91e0e8a4cdefd29d11d5c83ddd08ce3b66c9ac8906de01972404159d7ea3ca86bba349c1170290c68f58d84094eb80aea690350f82480f9fd248bac8fb405fb7331f61b0b5ad9b7f8d6f7964d2baad5c9c943afa7bde59bc92ca3a7011f21882cfef16c79aa93bea4a4624b75cd70de0dde2e7e323518eb8a1dbcbf4031ec475e807bf2b080cc19333b5a2a2ef3344ead6650fa4395615cb93b4650efbec88f3aab6e86a514d6dccd2852b89124b110f133a876ba774973cd8ca6294c10dc12fc653911fdac46eec919a080d37d4f28a9c4a348aaa23d0d3f4db76f12e8ca0f081d9384375ed0f6010030c3367111d57c34c1de904f2f72117d6c1eb3b8f6eea33f32cab0d4410760ba11bdde9daefcc51f6764065f4b2b26896f2bb405bd3cd90e2edcee8c932261d7b6dc34541c833dae02c32142fd0353742a130eb20381c5311ddc2db774cf77cb97d1ee60209594f9e86233f38546de452a0ba674413ae734283f114c49b40cabb1d084941fca17c37c91bc89494d575cf86236c1db9d522ebe9521362baa9b3bfa63467b97d9165d639ab9da778abbc0d3636bd0cf56b6d4c6d01a1eece8cd0b915cbeb29d1193c0d6cd1f5c01a2170428dfc0bd442968ec101f5385ec1db4b0648bad1f6d6f7b1862aab3bc30ab6b8ee1ccf80eb808c9dbb3785a9dfa2c5e8dc85ffe00fef4152b87de499a2f0fc86175b375bb97b9787f3ef279f81e7a7f8fc4b136330588890d39ebdf791cdfcaa7cf00c11c817f3ffccbc091282fe7a887e26839fe5adb8bff786cbdbfefbe0c21aee70be2a3c22b4d1f311c8d7fc7d6c4d81b2ea3cd9c7fda8e3bf108ce32583255c35cd9b84555855e0e3cee3dfdad67817dd63b9b586bca2e8e8eaa4720615e24094ef26a84212c7af9c664699957d49bd97ce44fcaa5d0cf730aaf6fcdeaa4d6477aca20d9c6dc15dad3d97679277de16bd496dcd06b387008034ecfac8bb012a3f7c9333e65654d67cabb7477962bba6d80d70ae2947ee99f92392d55fe942cfecad0d173fa73e02d6487fac19d7b386ff621546c75f2897b804b25d470a43c4ffdeff25c6325b9e24c07de811ca6f9458420ea4696eaec1b402c59a8fef09b9e24cc538b263ae3e4686ef5e64b89916794f3236b877164f767835b57f0c935887482ebf1b4977ceb14389d03f3d88f5f0f1fbf0e7a07d556ed69307f7b94f1a7e2a424430a8413e18423d251d5f69931e139b357a0307dcf0257b82849569f78f04f54b3d01b6492a7a76d3a553ff9e9132925d18387a425c21900dca80c422493a1423b3dcc9f0c6ef01a4a6f73fbb3295eed6ca3024d42489e9b5c9c49cefc2d80d9870ea19fd33197a03c7f07ef3c86596ddea6b29dab0ba8c03fc0aa9d8605a889e95dda75cce3e40d5599ac92aa2bb516d1173958938827b621287f59e9f425ab457720ceb5c770f07f73674d58eb383c473f357609e821297927d9e95c51838ec7cc2825c0c3eeb6764eed21adeec7f86f218cd46961af08c64e4db6436007ee29bca292c6342c9218fdbdd215219bf3f8b69c39f8b20bfd94d48ccccd27c3ff4577402b92ac22651fcef512b91dce4bd75c5ddf5a2283caab786e7d48124f5377b58256f1be4842bd4826cd20fa8b1222352da6c3e679804a70bd1c8b99915004ef6dcf55687ef1eb421fbea417af558bbe5b1612e44e0b5ed7cacc7559871c3277f05260f29760095bd8073fadd84235acbc5d4c0bf796a28bf61f8687599be3ec4d2cd7ec473e2e36b3000da4aba9516d75c8dfb832d4cd503d019ad0c2ce76def6c4483d456a455ab3c1497bb6b4b294b4ea90f0bc58268b491bc7ab17926a333f86dc08361b3fdb179550ab25a937f47024cf2f8abeeed1c403efbacc1636c2da5542c0f135e2e9ebce00ccc3077d8dbd551f37198d475ff325d99ad71af6ec1c7840f9b29c55593f738b97076f8f3ca32483f36125c2022d0717631b32f5200f902139ee50b09521187cda249f082d5ef92c4918d359205f46431261d740f1aadf82d885861ff4f0e310db05d511218079a0e7cf467b65b4af56bf570f43f56781d081f41b758487f5169993cf6cb09e3cf7d8482ae354e50ee7bd0541c30cb4cccbb4824438fb5bbf9528402aa62981d983bc4067b951958f5a765f5bf4c0f3a62539cc79e5ae8a3bd65379484585e81541541ed51d48a4a99bdc77fdd513d4c8f31c577d39c0212898d96b9f31f47836b736f31d82b2e4361d225d9f6c7f5b4d5efd9477657098d16f472606babc812691179b7c05130cc7f33a9ba8e6680d1b26fa85f39fc65e736e534a2940bf72c6dd1ac8f17e5c0e5abdb0ade46fad18123c69e47767c9ec4a0f361384f9ac1345c7e79dd7797aa6d1fcad93b636a0606d4d90df3c24f605dfca8c1ea99f97fc5c08799926e1d9b0ecdc44f992e73f2c464095b49cc4cda61b7625f6d03ac412f8c71e573b4348c64217b1cd04a1187cbc5f04c31a3283b864bfdf9a85a77e711c51ecf4d28db828b7a8237bb679006f36a37321583eee2d7e3ef79b4324c2bac02e54d9d15eef641d18aed9d0cafa03557ce7d5ebff2bdab958c7933a953a188f7cb64c76505d759d17634ae11cfd567c78e387c7ab5a7b096660f0f4ad0913aa3bf67849e1e495c567a26760310ff5c7e65b01ebebd3020aa3d451079d50290ac9b4466d99a19c08a065c4eff22a26d7de962dd34994231364bb641cd7d4acf9642d9a20ab0a7e9efbd412a5d8decd03dc92990ad623cd6d062439e1088d0a1f15770f39b0064a9532b38d169ce3ab5fa1e04de98d7469de077afae7d49d6d312d6312fc2cc16cb725d946518337104296eea0a2349aec7b1baff0245c85d5fec695e7d01e9d2cbded491ea96e680c8ee3a3af037af8dac07738af708cb0e0de4470f311cbaf57927e09abcceaa92c44490a09d9e065369d3cb361a47171b241943892b346930af68631a1014f4cfd3bea0e8a2ae0682b77a2c3a2bef08485a8f8094c496ffdcfe0f37554f7e6c027dcf5dbf019a99d299273b1f0d5848f6285575a5ea0a1cb7a15647c79ca8d7eb934b0580f28bad4ec40c31cd7cfe772c13cbc8b1362a368e287f4bb045409d57876ebd6baf5e5ab0e96f7a29ae82633607ce981864101824cde61db42c278ea13559430bb1f1c991e1102bb29238fda3005ce2e067060cfeb0f12fc57c1fd2904b8884c33e61c9f24278f22f67ad570e02dbffd139eb7de7013569c9d78915d239b0878278547eaf4fe39730db77694a346fc6ebc007426ff6449d161cb730d8a72f00ff56ac3518e5d36cac1b200b9f78b35c0d1fb3b7bc12820d9ced34131663b4a1f3b5463791cc31e9450dbc2d8e5df5160a30b8781696718db7f291f3e3c8d9d33f10cdab0cd6ed37d035a12f13121e243d03be31676f16f7f5df6ccc25043a1b171dc6039d397df22a6cd6333022450aeb2f1a1b4e636e6056f350f2b38d5a70ae21c1710a58ab66dbbc3ea43ed68e23706d28db5e84207c04ea9f2e0f5531a6daf98bb2160e6a8a636007f47c0997b90a22387c0e52269bf9a55f7474136e8eef7791dc7234b7a3e51eb56b880fc69f38d9f7f3275217698f3146af52dde5e14330482f8165ff5a8813bcaef894325fa19ba0ea15a84584eafa08b2ccdb7358d765a2eb5182d055d030a9b3e9dfb3de5cbf4b442abd8e9909cf64b7ef0c27debc1fa57e7f3f3cd38839aa85876aeafb4d9dce20c1694023450883cfb2765a47587007d50b809fcdf62abd095ba7b45252d1aa46011809e3681a89dc6a652a0b72c5eaaae04fa121a20889a5ce59014423b077a79619b47d23070b0b7dee0f685d4a07c59bbce144f83f94c2095ed64f1f5499e5fe40a9588020085bb2e98f0e24807dc465da7073fd36e06eb5e83a5305a238f0251bb9f43c5b3bcce283fee3ec58ad6d43e5d72e7c5696b9a4a433f38cd5e0077da74acc89eb393dad45f1b2443b982be4acebbd09979ed782e71ab84f7057740a0cfab13860964053e0c9f4fa6f1210896e7cc97f32aeaaf9874c831a179dea0e8dc262aee43db1c0b68a710893b73f645ab614258de3f510caaf5b6618a8680f09585f7305f0fd57834a2b33c1615ea458889c509b920bab0b36e23418dafa01658cc1e64f9c99bde7d23de38fb9734acc154a4da475e9dc3ba4b136ce5c216feb12a23aceb9b40217fcb4f893b73f645ab614258de3f510caaf5b6618a8680f09585f7305f0fd57834a2b34cec3066b0bc925f77e2c7a7649e11fc6e1274ec06e060349bb0e96775fd903779865c94acf40288eb66d43f8d70cf0bb7df4a29ebeebb83937f53ac610f72c308043ff5c7ebadaba948f119e69ff8327ea532c41b563aa0209b070ec36fb25afc8a73ecfc1242170e15de9c0d2b9069d523a109526d8114405fe6a7770f7c2054051b49c2f3276f069b6b427e00ea32d755cffce86fd6909c8ac7a5b61ee8fc0063ef2e92448eb3e6e6db895a58d709d72603ce7f773c1890788370f1529e15e46086e564ec1fea699c3271e043f3f3f9a5ab296d96cfaeeb7ba20ff7889dd711ea25c8a2c591f280cff842583d718652f6fc713c3a657e788729fff7aa4ec6a4f85479aee6a3c9e5e303f495525f9643fecc1af1198842b9d9c729a5fd8d43780b4661d22b0252811194bafc39a22957bb9f0200dbc84081026d06b924d5e877ef102f944d1309396b5d88e88c94abb73bc9a4103a3371ad8de9bb1e613fd64a6d6b1e8e05bdbf6248c9a34e6777e1f8f8e951b6dc9df069cdc2adedd561fc050a9fa411d7106fa3305b8d2768a106a48c59d10b01c336caf2401f843120558100545569ff61ed29f270923d6e356bd0434250b5264b721f40e52fd87f07cc4171a7d884bf90d75102bd14d4bf9b5b627245288f1fe99cf1ff9dfc7c708fd5acd9355867dbbbed0a45ccef70e1d92f0af20fe4b85d510f76e2b3d760ae2fc198b0825688a851f478d28267da3f820edc1427d07d1d427760c26ed5c3cb24f313e0b7afea71b061a6410ca8d4359d0ebf90a7585b3ec43abf57e1e9bc2f43bf6295bd6a81bd3989253aad957a0a1a947d67137b78f8f9f3c0b8d85db10b11af36c723ed80381ccdbfe7801a5c1315cb6db25df539ea0742ccd3cf1e79d151da3dac8a2b46a5c63130f0b23078d363fca32259b395dc8c6d9f6661bda7ed9a2660bc3efc7bcf98195eabfa77b5fffae558b2262e3356f1a0c788736a8fe74782147274de035315cf3fe5da0cb7aee51d4a9fcd17ddfd9c35c82ed97937d721f34dcd75ced9f8a9f7e7eda11f729ef1269ba619e4fab164ad5b9392fe1ea6175c757cf16da26cd05034bd7ac5b1cd9a56397c66820538bae73ce2bbda8397f73c32edff503fe7aa32a4eeecb24b3fbec2f39ed9d77531224366988663076b7dbc73173428e9c09c39a38ae3a143ec2aa65fe07373bb572a4ecc12227df94694006e0e0ffbde118aae709f7ef65590de9071e8b2cd322f84fd645c6b64f3cc452ce4e7180386b31ec8e732efd8b8812450c610b0775fe8bca7d40e62b149be10e1926fa078153679ed565ececc911c1e5e8a9ff216d9dfb691495e3a1536ff38bfc7efd28db3ff0565e57a6623bd442afdd25d54b7ec724b416997f493bd9112619313e11ad72a697f75b868de63061554cb23dbc3ef96991438c48d1783a77e3abe04cbb1c25ae2a8955f9336f8f88c9095e0c45f6c1aef40b9904740e7b0ceb4628c89ac52c9fd6496aa3ab7e8189d8521614c11295ba4ca4351dda9972c1ca6e80570aae9286f366984b441ca9247864e4117867235fd1e25c7dd962b17909639d83d1133f4e8f5b8b907932a4acc470964b1a54a1745df335db7fcf59ca4c12cd5be0db85844cc613e19e75d4ed41148ec4dfcf7df5d56637828d6082c170e16c66d4323e0332eed881ed1912a0101d38ad21b22b75a9b15347d5c4e8fe6b9f0702e5001a2a7d70ce19b4dacc77b0a378ea9711cd580c99d1d6e23c56f47e0170c5f3076154aea03672de15c9ed45de120848fd1727e265fca672a4fe593840fa82a6fe16de49ba20ec30532d3c5517c3e089b8959ccc1f29d07da627f7dac189d29143fe230ef95482b7001823343a67ef37aef4895bb2e1e2c5fbe35e567ab8d4b0fbfd971a5e6f2bb65fb16007a1d21ec00e5492f23aeee51488cde355e42bb478a15c130a3d091a7f09d7842677395d670813fce0dadd167798d7ab944d9631d68632a7eb69f908babf7a8e4a38ae6a1018b216c32b88a2f56a92fc243d12160094803707e8831f766abf59d34fe3994fdb49b613bbcb6353b4bfe327725ca40725fcc0ea1af18e530e6370699d35f231c9b6f9b00f62e6d6bc93cdb58c003f040fa895800bb0d5b09c2bc35bc0aa0ae6e31fd07a7c89ac0309bfb2fe1d6dde3b828f96cb0779ce0fc8914db1365b2ec05903ae6b3f647ea702f3bd7c72f66222b5028e9917d972e44138ed9097a20a1672278ddf381813ea97ad972b5e335b6bbc836b46ff57d6a225a5e63c2d463004b6831d08aef9a5aaadc7d4d6058e363a3f18e1165914c244d12b4697157de3be1364ca6f08297371260d36b3bippippipprastertolabelserviceserviceclass-jobs-header.tmpl../de/help-printable.tmpl../de/option-boolean.tmpl../de/option-header.tmpl../de/option-pickmany.tmplclass-jobs-header.tmpl../de/set-printer-options-trailer.tmpl../de/help-printable.tmpl../de/option-boolean.tmpl../de/option-header.tmpl../de/option-pickmany.tmplclass-jobs-header.tmpl../de/set-printer-options-trailer.tmplfr/help-header.tmplde/help-printable.tmpl../de/help-printable.tmpl../de/option-boolean.tmpl../de/option-header.tmpl../de/option-pickmany.tmplclass-jobs-header.tmpl../de/set-printer-options-trailer.tmplde/option-boolean.tmplde/option-header.tmplde/option-pickmany.tmplclass-jobs-header.tmpl../de/help-printable.tmpl../de/option-boolean.tmpl../de/option-header.tmpl../de/option-pickmany.tmplclass-jobs-header.tmpl../de/set-printer-options-trailer.tmpl../de/help-printable.tmpl../de/option-boolean.tmpl../de/option-header.tmpl../de/option-pickmany.tmplclass-jobs-header.tmpl../de/set-printer-options-trailer.tmplde/set-printer-options-trailer.tmplja/trailer.tmplcupsd-helper.8.gzcupsd-helper.8.gzcupsd-helper.8.gzrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlprootlprootlplprootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootntadminrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcups-2.2.7-lp152.9.9.1.src.rpmconfig(cups)cupscups(x86-64)  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/bash/bin/bash/bin/bash/bin/bash/bin/bash/usr/sbin/groupaddconfig(cups)coreutilscups-clientcups-configlibavahi-client.so.3()(64bit)libavahi-common.so.3()(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.16)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libcups.so.2()(64bit)libcupscgi.so.1()(64bit)libcupsimage.so.2()(64bit)libcupsmime.so.1()(64bit)libcupsppdc.so.1()(64bit)libdbus-1.so.3()(64bit)libdbus-1.so.3(LIBDBUS_1_3)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libgssapi_krb5.so.2()(64bit)libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2.5)(64bit)libpam.so.0()(64bit)libpam.so.0(LIBPAM_1.0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.2)(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libsystemd.so.0()(64bit)libsystemd.so.0(LIBSYSTEMD_209)(64bit)libusb-1.0.so.0()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemdsystemd2.2.7-lp152.9.9.12.2.7-lp152.9.9.12.2.7-lp152.9.9.13.0.4-14.6.0-14.0-15.2-1lprnglproldplp4.14.1`t6@`T@_=^]@\n\['ZZ Z@Y@YB@YYχ@YX@Y9<@Y1S@Y /XXsXۡXN@WrfV2UU@U@U@U@U@UUv@UTܕTܕTܕTܕTr@Tr@T@jsmeix@suse.deSamuel Cabrero jsmeix@suse.dejsmeix@suse.dejsmeix@suse.devliaskovitis@suse.comjsmeix@suse.dejsmeix@suse.dejsmeix@suse.dechristophe@krop.frjsmeix@suse.dejsmeix@suse.deopensuse@dstoecker.dejengelh@inai.dejengelh@inai.deschwab@suse.dejsmeix@suse.dejsmeix@suse.dedimstar@opensuse.orgalarrosa@suse.comalarrosa@suse.comkukuk@suse.comdimstar@opensuse.orgkamikazow@web.demichael@stroeder.commeissner@suse.comjsmeix@suse.detchvatal@suse.comtchvatal@suse.comjsmeix@suse.detchvatal@suse.comtchvatal@suse.comjsmeix@suse.demimi.vx@gmail.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.com- When cupsd creates directories with specific owner group and permissions (usually owner is 'root' and group matches "configure --with-cups-group=lp") specify same owner group and permissions in the RPM spec file to ensure those directories are installed by RPM with the right settings because if those directories were installed by RPM with different settings then cupsd would use them as is and not adjust its specific owner group and permissions which could lead to privilege escalation from 'lp' user to 'root' via symlink attacks e.g. if owner is falsely 'lp' instead of 'root' CVE-2021-25317 (bsc#1184161)- cups-2.2.7-web-ui-kerberos-authentication.patch (bsc#1175960) Fix web UI kerberos authentication- cups-2.2.7-CVE-2020-10001.patch fixes CVE-2020-10001 access to uninitialized buffer in ipp.c (bsc#1180520) - cups-2.2.7-CVE-2019-8842.patch fixes CVE-2019-8842 (bsc#1170671) the ippReadIO function may under-read an extension field- cups-2.2.7-CVE-2020-3898.patch fixes CVE-2020-3898 (bsc#1168422) heap-buffer-overflow in libcups ppdFindOption() function- cups-2.2.7-CVE-2019-8675.CVE-2019-8696.patch fixes CVE-2019-8675 and CVE-2019-8696 (bsc#1146358 and bsc#1146359) and some other security/disclosure issues https://github.com/apple/cups/commit/f24e6cf6a39300ad0c3726a41a4aab51ad54c109 (Apple's internal issues rdar://51685251, rdar://50035411, rdar://51373853, rdar://51373929)- Add issue5509-fix-utf-8-validation-issue.patch (bsc#1118118) Fixes https://github.com/apple/cups/issues/5509- cups-2.2.7-CVE-2018-4700.patch fixes CVE-2018-4700: session cookie is extremely predictable, effectively breaking the CSRF protection of the CUPS web interface (bsc#1115750)- cups-branch-2.2-commit-97cb566568a8c3a9c07c7ccec09f28f5c5015954.diff is 'git show 97cb566568a8c3a9c07c7ccec09f28f5c5015954' for https://github.com/apple/cups/commit/97cb566568a8c3a9c07c7ccec09f28f5c5015954 (except the not needed hunk for patching CHANGES.md which fails) that fixes local privilege escalation to root and sandbox bypasses in scheduler (Apple's internal issues rdar://37836779, rdar://37836995, rdar://37837252, rdar://37837581) in the CUPS 2.2 branch bsc#1096405 CVE-2018-4180: Local Privilege Escalation to Root in dnssd Backend (CUPS_SERVERBIN) bsc#1096406 CVE-2018-4181: Limited Local File Reads as Root via cupsd.conf Include Directive bsc#1096407 CVE-2018-4182: cups-exec Sandbox Bypass Due to Insecure Error Handling bsc#1096408 CVE-2018-4183: cups-exec Sandbox Bypass Due to Profile Misconfiguration- Version upgrade to 2.2.7: CUPS 2.2.7 is a general bug fix release. For details see https://github.com/apple/cups/releases or the CHANGES.md file. Changes include: * Additional security fixes for: bsc#1061066 DBUS library aborts caller process in _dbus_check_is_valid_utf8 (in particular that aborts cupsd) and bsc#1087018 CVE-2017-18248: cups: The add_job function in scheduler/ipp.c in CUPS before 2.2.6, when D-Bus support is enabled, can be crashed by remote attackers by sending print jobs with an invalid username, related to a D-Bus notification which are the CUPS upstream issues https://github.com/apple/cups/issues/5143 Remote DoS attack against cupsd via invalid username and malicious D-Bus library and https://github.com/apple/cups/issues/5186 squash non-UTF-8 strings into ASCII on plain IPP level and https://github.com/apple/cups/issues/5229 persistently substitute invalid job attributes with default values - not only in add_job see also bsc#1087072 dbus-1: Disable assertions to prevent un-expected DDoS attacks * NOTICE: Raw print queues are now deprecated (Issue #5269) so that now there is a warning message when you add or modify a queue to use the "raw driver" but raw printing will continue to work through CUPS 2.3.x, cf. https://lists.cups.org/pipermail/cups/2018-March/074060.html * Fixed an Avahi crash bug in the scheduler (Issue #5268) * Systemd did not restart cupsd when configuration changes were made that required a restart (Issue #5263) * The scheduler could crash while adding an IPP Everywhere printer (Issue #5258) * The scheduler now supports using temporary print queues for older IPP/1.1 print queues like those shared by CUPS 1.3 and earlier (Issue #5241) * Kerberized printing to another CUPS server did not work correctly (Issue #5233) * More fixes for printing to old CUPS servers (Issue #5211) * The scheduler now substitutes default values for invalid job attributes when running in "relaxed conformance" mode (Issue #5186) * The cups-driverd program incorrectly stopped scanning PPDs as soon as a loop was seen (Issue #5170) * The `SSLOptions` directive now supports `MinTLS` and `MaxTLS` options to control the minimum and maximum TLS versions that will be allowed, respectively (Issue #5119) * The scheduler did not write out dirty configuration and state files if there were open client connections (Issue #5118) * The `lpadmin` command now provides a better error message when an unsupported System V interface script is used (Issue #5111) * No longer support backslash, question mark, or quotes in printer names (Issue #4966) * The CUPS library now supports the latest HTTP Digest authentication specification including support for SHA-256 (Issue #4862) * TLS connections now properly timeout (rdar://34938533)- Make sure cups-libs- is removed- Version upgrade to 2.2.6: CUPS 2.2.6 is a general bug fix release. For details see https://github.com/apple/cups/releases Changes include: * DBUS notifications could crash the scheduler (Issue #5143) (see also bsc#1061066 "DBUS library aborts caller process")- Use again the baselibs.conf from Fri Oct 13 11:11:10 UTC 2017 that got broken by the change on Wed Oct 18 06:11:10 UTC 2017. - Version upgrade to 2.2.5: CUPS 2.2.5 is a general bug fix release. For details see https://github.com/apple/cups/releases - Version upgrade to 2.2.4: CUPS 2.2.4 is a general bug fix release. For details see https://github.com/apple/cups/releases - Removed 0001-Update-cupsEnumDests-implementation-to-return-early-if-all.patch 0002-Save-work-on-Avahi-code.patch 0003-Avahi-fixes-for-cupsEnumDests.patch because since CUPS 2.2.4 it is fixed in the upstream code via https://github.com/apple/cups/pull/4989 more precisely via https://github.com/apple/cups/commit/a2187a63425a3d6c05de1e1cbf8c26fd39a1aced https://github.com/apple/cups/commit/657c5b5f91e6d5120c4ad7b118cf9098dd27f03d https://github.com/apple/cups/commit/3fae3b337df0be1a766857be741173d8a9915da7- Fix typo in requires- Implement shared library packaging guideline [boo#862112] - Update package descriptions.- Remove redundant Requires(pre) line — the use of %post -p already implies it.- Pre-require user(lp) in cups-libs- In /usr/lib/tmpfiles.d/cups.conf use group 'root' for /run/cups/certs (boo#1042916).- Major backward incompatible change since CUPS 2.2.0: There is no longer the directory /etc/cups/interfaces because since CUPS 2.2.0 so called "System V style Interface Scripts" are no longer supported for security reasons (see below the entry about the changes included in CUPS 2.2.0). - Disabled cups-2.1.0-cups-systemd-socket.patch because it does no longer apply which needs to be examined and decided by someone who knows about systemd internals. - Disabled 0001-Update-cupsEnumDests-implementation-to-return-early-if-all.patch 0002-Save-work-on-Avahi-code.patch 0003-Avahi-fixes-for-cupsEnumDests.patch because they do no longer apply which needs to be examined and decided by someone who knows about Avahi internals. - Version upgrade to 2.2.3: CUPS 2.2.3 is a general bug fix release. See https://github.com/apple/cups/releases Changes include: * The IPP backend could get into an infinite loop for certain errors, causing a hung queue (rdar://problem/28008717) * The scheduler could pause responding to client requests in order to save state changes to disk (rdar://problem/28690656) * Added support for PPD finishing keywords (Issue #4960, Issue #4961, Issue #4962) * The IPP backend did not send a media-col attribute for just the source or type (Issue #4963) * IPP Everywhere print queues did not always support all print qualities supported by the printer (Issue #4953) * IPP Everywhere print queues did not always support all media types supported by the printer (Issue #4953) * The IPP Everywhere PPD generator did not return useful error messages (Issue #4954) * The IPP Everywhere finishings support did not work correctly with common UI or command-line options (Issue #4976) * Fixed an error handling issue for the network backends (Issue #4979) * The "reprint job" option was not available for some canceled jobs (Issue #4915) * Updated the job listing in the web interface (Issue #4978) A detailed list of changes can be found in the CHANGES.txt file. - Version upgrade to 2.2.2: CUPS 2.2.2 is a general bug fix release. See https://github.com/apple/cups/releases Changes include: * Fixed some issues with IPP Everywhere printer support (Issue #4893, Issue #4909, Issue #4916, Issue #4921, Issue #4923, Issue #4932, Issue #4933, Issue #4938) * The rastertopwg filter could crash with certain input (Issue #4942) * The scheduler did not detect when an encrypted connection was closed by the client on Linux (Issue #4901) * The cups-lpd program did not catch all legacy usage of ISO-8859-1 (Issue #4899) * The scheduler no longer creates log files on startup () * The ippContainsString function now uses case-insensitive comparisons for mimeMediaType, name, and text values in conformance with RFC 2911. * The network backends now log the addresses that were found for a printer () * Let's Encrypt certificates did not work when the hostname contained uppercase letters (Issue #4919) * Fixed reporting of printed pages in the web interface (Issue #4924) * Updated systemd config files (Issue #4935) A detailed list of changes can be found in the CHANGES.txt file. - Version upgrade to 2.2.1: CUPS 2.2.1 is a general bug fix release. See https://github.com/apple/cups/releases Changes include: * Added "CreateSelfSignedCerts" directive for cups-files.conf to control whether the scheduler automatically creates its own self-signed X.509 certificates for TLS connections (Issue #4876) * http*Connect did not handle partial failures (Issue #4870) * cupsHashData did not use the correct hashing algorithm () * Updated man pages (PR #4885) A detailed list of changes can be found in the CHANGES.txt file. - Version upgrade to 2.2.0: CUPS 2.2.0 adds support for local IPP Everywhere print queues and includes several performance and security improvements. See https://github.com/apple/cups/releases Changes include: * Normalized the TLS certificate validation code and added additional error messages to aid troubleshooting. * http*Connect did not work on Linux when cupsd was not running (Issue #4870) * The --no-remote-any option of cupsctl had no effect (Issue #4866) * http*Connect did not return early when all addresses failed (Issue #4870) * The IPP backend did not validate TLS credentials properly. * The printer-state-message attribute was not cleared after a print job with no errors (Issue #4851) * The CUPS-Add-Modify-Class and CUPS-Add-Modify-Printer operations did not always return an error for failed adds (Issue #4854) * PPD files with names longer than 127 bytes did not work (Issue #4860) * CUPS now supports Let's Encrypt certificates on Linux. * All CUPS commands now support POSIX options (Issue #4813) * The scheduler now restarts faster (Issue #4760) * Improved performance of web interface with large numbers of jobs (Issue #3819) * Encrypted printing can now be limited to only trusted printers and servers () * The scheduler now advertises PWG Raster attributes for IPP Everywhere clients (Issue #4428) * The scheduler now logs informational messages for jobs at LogLevel "info" (Issue #4815) * The scheduler now uses the getgrouplist function when available (Issue #4611) * The IPP backend no longer enables compression by default except for certain raster formats that generally benefit from it () * The scheduler did not handle out-of-disk situations gracefully (Issue #4742) * The LPD mini-daemon now detects invalid UTF-8 sequences in job, document, and user names (Issue #4748) * The IPP backend now continues on to the next job when the remote server/printer puts the job on hold () * The scheduler did not cancel multi-document jobs immediately () * The scheduler did not return non-shared printers to local clients unless they connected to the domain socket () * The scheduler now reads the spool directory if one or more job cache entries point to deleted jobs () * Added support for disc media sizes () * The httpAddrConnect and httpConnect* APIs now try connecting to multiple addresses in parallel () * Interface scripts are no longer supported for security reasons () A detailed list of changes can be found in the CHANGES.txt file. - Version upgrade to 2.1.4: CUPS 2.1.4 is a general bug fix release. See https://github.com/apple/cups/releases Changes include: * Fixed reporting of 1284 Device IDs (Issue #3835, PR #3836) * Fixed printing of multiple files to raw queues (Issue #4782) * The scheduler did not implement the Hold-New-Jobs opertion correctly (Issue #4767) * The cups-lpd mini-daemon incorrectly included the document-name attribute when creating a job. It should only be included when sending a job (Issue #4790) A detailed list of changes can be found in the CHANGES.txt file.- Replace krb5-devel BuildRequires with pkgconfig(krb5) on suse_version >= 1315: give OBS a better chance to break up build cycles.- Drop cups-1.7.5-cupsEnumDests-react-to-all-for-now.diff and add 0001-Update-cupsEnumDests-implementation-to-return-early-if-all.patch, 0002-Save-work-on-Avahi-code.patch and 0003-Avahi-fixes-for-cupsEnumDests.patch which is what upstream finally commited to cups 2.2 sources in response to https://github.com/apple/cups/pull/4989 in order to fix cupsEnumDests to react to the ALL_FOR_NOW avahi event (and also include a similar fix for the dnssd case). Related to bsc#955432.- Add cups-2.1.3-cupsEnumDests-react-to-all-for-now.diff . Avahi sends an ALL_FOR_NOW event when it finishes sending its cache contents. This patch makes cupsEnumDests finish when the signal is received so it doesn't block the caller doing nothing until the timeout finishes (related to bsc#955432, submitted upstream at https://github.com/apple/cups/pull/4989)- Add /etc/cups to cups-libs package [bsc#1025689]- Replace pkgconfig(libsystemd-daemon) BuildRequires with pkgconfig(libsystemd) on openSUSE 13.2 and newer: the various sub-libraries have been merged into libsystemd since version 209. openSUSE 13.1 was the last product to ship systemd 208.- Remove CUPS.desktop and pixmap * Obsoletes patch cups-1.3.9-desktop_file.patch- Version upgrade to 2.1.3: CUPS 2.1.3 fixes some issues in the scheduler, sample drivers, and user commands. A detailed list of changes can be found in the CHANGES.txt file. Changes include (excerpt): * The scheduler should not exit under memory pressure () * Fixed some issues in ipptool for skipped tests () * The "lp -H resume" command did not reset the "job-state-reasons" attribute value (STR #4752) * The scheduler did not allow access to resource files (icons, etc.) when the web interface was disabled (STR #4755) - Version upgrade to 2.1.2: CUPS 2.1.2 fixes an issue in the 2.1.1 source archives which actually contained a current 2.2 snapshot. There are no other changes. - Version upgrade to 2.1.1: CUPS 2.1.1 fixes a number of USB and IPP printing issues, addresses some error reporting and hardening issues in the scheduler, and updates some localizations. A detailed list of changes can be found in the CHANGES.txt file. Changes include (excerpt): * Security hardening fixes (, , , , , , , , , , , , , , , , , , , ) * The cupsGetPPD* functions did not work with IPP printers (STR #4725) * Some older HP LaserJet printers need a delayed close when printing using the libusb-based USB backend (STR #4549) * The libusb-based USB backend did not unload the kernel usblp module if it was preventing the backend from accessing the printer (STR #4707) * Current Primera printers were incorrectly reported as Fargo printers (STR #4708) * The IPP backend did not always handle jobs getting canceled at the printer () * Added USB quirk for Canon MP530 (STR #4730) * The scheduler did not deliver job notifications for jobs submitted to classes (STR #4733) * Changing the printer-is-shared value for a remote queue did not produce an error (STR #4738) * The IPP backend incorrectly included the job-password attribute in Validate-Job requests ()- add -devel to build a 32bit wine on 64bit only Leap systems.- Version upgrade to 2.1.0: CUPS 2.1.0 offers improved support for IPP Everywhere, adds support for advanced logging using journald on Linux, and includes new security features for encrypted printing and reduced network visibility in the default configuration. A detailed list of changes can be found in the CHANGES.txt file. Changes include (excerpt): * Added support for 3D printers (basic types only, no built-in filters) based on PWG white paper. * The IPP backend now stops sending print data if the printer indicates the job has been aborted or canceled () * The IPP backend now sends the job-pages-per-set attribute when printing multiple copy jobs with finishings () * The IPP backend now updates the cupsMandatory values when the printer configuration changes () * No longer install banner files since third-party banner filters now supply their own (STR #4518) * The scheduler no longer listens on the loopback interface unless the web interface or printer sharing are enabled () * Added a PPD generator for IPP Everywhere printers (STR #4258) * Now install "default" versions of more configuration files () in particular cups-files.conf.default and snmp.conf.default * Added SSLOptions values to allow Diffie-Hellman key exchange and disable TLS/1.0 support. * Updated the scheduler to support more IPP Everywhere attributes (STR #4630) * The scheduler now supports advanced ASL and journald logging when "syslog" output is configured (STR #4474) * The scheduler now supports logging to stderr when running in the foreground (STR #4505) - Adapted patches so that they apply to CUPS 2.1.0 sources: * cups-2.1.0-choose-uri-template.patch replaces cups-1.2rc1-template.patch * cups-2.1.0-default-webcontent-path.patch replaces cups-1.4.3-default-webcontent-path.patch * cups-2.1.0-cups-systemd-socket.patch replaces cups-systemd-socket.patch- Fix bnc#943950, escape the macro call %systemd-tmpfiles in comment.- Add gpg verification for the tarball - Version update to 2.0.4: * Fixed a bug in cupsRasterWritePixels (STR #4650) * Fixed redirection in the web interface (STR #4538) * The IPP backend did not respond to side-channel requests (STR #4645) * The scheduler did not start all pending jobs at once (STR #4646) * The web search incorrectly searched time-at-xxx values (STR #4652) * Fixed an RPM spec file issue (STR #4657) * The scheduler incorrectly started jobs while canceling multiple jobs (STR #4648) * Fixed processing of server overrides without port numbers (STR #4675) * Documentation changes (STR #4651, STR #4674)- cups-2.0.3-additional_policies.patch replaces cups-1.7-additional_policies.patch that still adds the same "allowallforanybody" policy but now with separated "Limit All" to avoid https://www.cups.org/str.php?L4659 (boo#936309). - Added "-p /bin/bash" to RPM shell commands scriptlets that enforces bash to be safe against any possible "bashisms", cf https://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets- Fix the previous commit by using direct systemd call and ensuring we work even on older distros- Fix postin-without-tmpfile-creation and run %tmpfiles_create macro on our cups.conf- Version upgrade to 2.0.3: The new release addresses two security vulnerabilities, add localizations for German and Russian, and includes several general bug fixes. Changes include (excerpt): * Security: Fixed CERT VU #810572 CVE-2015-1158 CVE-2015-1159 exploiting the dynamic linker (STR #4609) (bsc#924208) * Security: The scheduler could hang with malformed gzip data (STR #4602) * Restored missing generic printer icon file (STR #4587) * Fixed logging of configuration errors to show up as errors (STR #4582) * Fixed potential buffer overflows in raster code and filters (STR #4598, STR #4599, STR #4600, STR #4601) * Fixed inside (STR #4575) * Fixed lpadmin when both -m and -o are used (STR #4578) * The web interface always showed support for 2-sided printing (STR #4595) * cupsRasterReadHeader did not fully validate the raster header (STR #4596) * The rastertopwg filter did not check for truncated input (STR #4597) * The cups-lpd mini-daemon did not check for request parameters (STR #4603) * The scheduler could get caught in a busy loop (STR #4605) * The sample Epson driver could crash (STR #4616) * The IPP backend now correctly monitors jobs () * The ppdhtml and ppdpo utilities crashed when the -D option was used before a driver information file (STR #4627) * ippfind incorrectly substituted "=port" for service_port. * The IPP/1.1 test file did not handle the initial print job completing early (STR #4576) * Fixed a memory leak in cupsConnectDest (STR #4634) * PWG Raster Format output contained invalid ImageBox values () * Added Russian translation (STR #4577) * Added German translation (STR #4635) - cups-busy-loop.patch fixed STR #4605 is obsolete because it is fixed upstream (see above). - cleaned up this whole RPM changlog (wrapped too long lines if possible and removed trailing whitespaces).- Add patch cups-busy-loop.patch to fix rh#1179596 , cups#4605- Add back the posttrans cleanup script as it is needed- Add patch cups-systemd-socket.patch to fix socket activation and to match socket approach Fedora has.- Version bump to 2.0.2: * Security: cupsRasterReadPixels buffer overflow with invalid page header and compressed raster data (STR #4551) * Mapping of PPD keywords to IPP keywords did not work if the PPD keyword was already an IPP keyword () * cupsGetPPD* sent bad requests (STR #4567) * For detailed list see CHANGES.txt file- Enable PIE for build- Remove legacy paralel-port support as it is not really needed as most do not want it- Update descriptions to just state what changed and let user find it out. - Add back comment about %fdupes - Remove exit 0 on scriptlets as it is provided by the %service bla ones already - Fix the comment about openSUSE version on tmpfilesdir declaration- cups-2.0.1 update: * lengthy list of changes see the upstream CHANGES.txt that is distributed with the package * Disabling of sslv3 to mitigate poodle - Use gnutls to provide SSLOPtions configuration directive * openssl is no longer supported upstream * Remove the with-openssl-exception from license - Remove cups.sysconfig as it is not used with systemd based distros - Purposely lose support for SLE11 as it doubles size of some of the sections and keep suppor for openSUSE+SLE12 * even with the conditions we would have to go unencrypted only as needs newer gnutls, so don't bother with keeping the compat - Use upstream service and socket files to allow more working tools - Removed patches: * cups-0001-systemd-add-systemd-socket-activation-and-unit-files.patch * cups-0002-systemd-listen-only-on-localhost-for-socket-activation.patch * cups-0003-systemd-secure-cups.service-unit-file.patch * cups-1.3.6-access_conf.patch * cups-1.5-additional_policies.patch * cups-1.5.4-CVE-2012-5519.patch * cups-1.5.4-strftime.patch * cups-move-everything-to-run.patch * cups-polld_avoid_busy_loop.patch * cups-provides-cupsd-service.patch * str4190.patch * str4351.patch * str4450.CVE-2014-3537.str4455.CVE-2014-5029.CVE-2014-5030.CVE-2014-5031.CUPS-1.5.4.patch - Refreshed patches: * cups-1.3.9-desktop_file.patch * cups-config-libs.patch - Added patches: * cups-1.7-additional_policies.patch * cups-systemd-socket.patch/bin/bash/bin/bash/bin/bash/bin/bashcloud138 1619770383  !"#$%&'()*+,-./0123456789:;<=>?@ABDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     2.2.7-lp152.9.9.12.2.7-lp152.9.9.12.2.7-lp152.9.9.1    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"""""""""""""""""#$%&''''''''''''''(()))))))))))***++++++++++cups-files.confcups-files.conf.defaultcupsd.confcupsd.conf.defaultppdsnmp.confsnmp.conf.defaultsslcups.confcupscupstestppdcupsbackenddnssdhttphttpsippippslpdsnmpsocketusbcgi-binadmin.cgiclasses.cgihelp.cgijobs.cgiprinters.cgidaemoncups-devicedcups-driverdcups-execcups-lpddriverfiltercommandtopsgziptoanypstopsrastertodymorastertoepsonrastertohprastertolabelrastertopwgmonitorbcptbcpnotifierdbusmailtorsscups-lpd.socketcups-lpd@.servicecups.pathcups.servicecups.socketcups.confcupsaddsmbcupsctlcupsdcupsfilterrccupsrccups-lpdcupsbannersdatadriversdrvsample.drvexamplescolor.drvconstraint.drvcustom.drvgrouping.drvlaserjet-basic.drvlaserjet-pjl.drvminimum.drvpostscript.drvr300-basic.drvr300-colorman.drvr300-remote.drvipptoolcolor.jpgcreate-printer-subscription.testdocument-a4.pdfdocument-a4.psdocument-letter.pdfdocument-letter.psget-completed-jobs.testget-jobs.testget-notifications.testget-printer-attributes.testget-subscriptions.testgray.jpgipp-1.1.testipp-2.0.testipp-2.1.testipp-2.2.testipp-everywhere.testonepage-a4.pdfonepage-a4.psonepage-letter.pdfonepage-letter.psprint-job-deflate.testprint-job-gzip.testprint-job.testtestfile.jpgtestfile.pcltestfile.pdftestfile.pstestfile.txtvalidate-job.testmimemime.convsmime.typesmodelPostscript-level1.ppd.gzPostscript-level2.ppd.gzPostscript.ppd.gzprofilestemplatesadd-class.tmpladd-printer.tmpladd-rss-subscription.tmpladmin.tmplchoose-device.tmplchoose-make.tmplchoose-model.tmplchoose-serial.tmplchoose-uri.tmplclass-added.tmplclass-confirm.tmplclass-deleted.tmplclass-jobs-header.tmplclass-modified.tmplclass.tmplclasses-header.tmplclasses.tmplcommand.tmpldeadd-class.tmpladd-printer.tmpladd-rss-subscription.tmpladmin.tmplchoose-device.tmplchoose-make.tmplchoose-model.tmplchoose-serial.tmplchoose-uri.tmplclass-added.tmplclass-confirm.tmplclass-deleted.tmplclass-jobs-header.tmplclass-modified.tmplclass.tmplclasses-header.tmplclasses.tmplcommand.tmpledit-config.tmplerror-op.tmplerror.tmplheader.tmplhelp-header.tmplhelp-printable.tmplhelp-trailer.tmpljob-cancel.tmpljob-hold.tmpljob-move.tmpljob-moved.tmpljob-release.tmpljob-restart.tmpljobs-header.tmpljobs.tmpllist-available-printers.tmplmodify-class.tmplmodify-printer.tmplnorestart.tmploption-boolean.tmploption-conflict.tmploption-header.tmploption-pickmany.tmploption-pickone.tmploption-trailer.tmplpager.tmplprinter-accept.tmplprinter-added.tmplprinter-cancel-jobs.tmplprinter-configured.tmplprinter-confirm.tmplprinter-default.tmplprinter-deleted.tmplprinter-jobs-header.tmplprinter-modified.tmplprinter-reject.tmplprinter-start.tmplprinter-stop.tmplprinter.tmplprinters-header.tmplprinters.tmplrestart.tmplsamba-export.tmplsamba-exported.tmplsearch.tmplset-printer-options-header.tmplset-printer-options-trailer.tmplsubscription-added.tmplsubscription-canceled.tmpltest-page.tmpltrailer.tmplusers.tmpledit-config.tmplerror-op.tmplerror.tmplesadd-class.tmpladd-printer.tmpladd-rss-subscription.tmpladmin.tmplchoose-device.tmplchoose-make.tmplchoose-model.tmplchoose-serial.tmplchoose-uri.tmplclass-added.tmplclass-confirm.tmplclass-deleted.tmplclass-jobs-header.tmplclass-modified.tmplclass.tmplclasses-header.tmplclasses.tmplcommand.tmpledit-config.tmplerror-op.tmplerror.tmplheader.tmplhelp-header.tmplhelp-printable.tmplhelp-trailer.tmpljob-cancel.tmpljob-hold.tmpljob-move.tmpljob-moved.tmpljob-release.tmpljob-restart.tmpljobs-header.tmpljobs.tmpllist-available-printers.tmplmodify-class.tmplmodify-printer.tmplnorestart.tmploption-boolean.tmploption-conflict.tmploption-header.tmploption-pickmany.tmploption-pickone.tmploption-trailer.tmplpager.tmplprinter-accept.tmplprinter-added.tmplprinter-cancel-jobs.tmplprinter-configured.tmplprinter-confirm.tmplprinter-default.tmplprinter-deleted.tmplprinter-jobs-header.tmplprinter-modified.tmplprinter-reject.tmplprinter-start.tmplprinter-stop.tmplprinter.tmplprinters-header.tmplprinters.tmplrestart.tmplsamba-export.tmplsamba-exported.tmplsearch.tmplset-printer-options-header.tmplset-printer-options-trailer.tmplsubscription-added.tmplsubscription-canceled.tmpltest-page.tmpltrailer.tmplusers.tmplfradd-class.tmpladd-printer.tmpladd-rss-subscription.tmpladmin.tmplchoose-device.tmplchoose-make.tmplchoose-model.tmplchoose-serial.tmplchoose-uri.tmplclass-added.tmplclass-confirm.tmplclass-deleted.tmplclass-jobs-header.tmplclass-modified.tmplclass.tmplclasses-header.tmplclasses.tmplcommand.tmpledit-config.tmplerror-op.tmplerror.tmplheader.tmplhelp-header.tmplhelp-printable.tmplhelp-trailer.tmpljob-cancel.tmpljob-hold.tmpljob-move.tmpljob-moved.tmpljob-release.tmpljob-restart.tmpljobs-header.tmpljobs.tmpllist-available-printers.tmplmodify-class.tmplmodify-printer.tmplnorestart.tmploption-boolean.tmploption-conflict.tmploption-header.tmploption-pickmany.tmploption-pickone.tmploption-trailer.tmplpager.tmplprinter-accept.tmplprinter-added.tmplprinter-cancel-jobs.tmplprinter-configured.tmplprinter-confirm.tmplprinter-default.tmplprinter-deleted.tmplprinter-jobs-header.tmplprinter-modified.tmplprinter-reject.tmplprinter-start.tmplprinter-stop.tmplprinter.tmplprinters-header.tmplprinters.tmplrestart.tmplsamba-export.tmplsamba-exported.tmplsearch.tmplset-printer-options-header.tmplset-printer-options-trailer.tmplsubscription-added.tmplsubscription-canceled.tmpltest-page.tmpltrailer.tmplusers.tmplheader.tmplhelp-header.tmplhelp-printable.tmplhelp-trailer.tmpljaadd-class.tmpladd-printer.tmpladd-rss-subscription.tmpladmin.tmplchoose-device.tmplchoose-make.tmplchoose-model.tmplchoose-serial.tmplchoose-uri.tmplclass-added.tmplclass-confirm.tmplclass-deleted.tmplclass-jobs-header.tmplclass-modified.tmplclass.tmplclasses-header.tmplclasses.tmplcommand.tmpledit-config.tmplerror-op.tmplerror.tmplheader.tmplhelp-header.tmplhelp-printable.tmplhelp-trailer.tmpljob-cancel.tmpljob-hold.tmpljob-move.tmpljob-moved.tmpljob-release.tmpljob-restart.tmpljobs-header.tmpljobs.tmpllist-available-printers.tmplmodify-class.tmplmodify-printer.tmplnorestart.tmploption-boolean.tmploption-conflict.tmploption-header.tmploption-pickmany.tmploption-pickone.tmploption-trailer.tmplpager.tmplprinter-accept.tmplprinter-added.tmplprinter-cancel-jobs.tmplprinter-configured.tmplprinter-confirm.tmplprinter-default.tmplprinter-deleted.tmplprinter-jobs-header.tmplprinter-modified.tmplprinter-reject.tmplprinter-start.tmplprinter-stop.tmplprinter.tmplprinters-header.tmplprinters.tmplrestart.tmplsamba-export.tmplsamba-exported.tmplsearch.tmplset-printer-options-header.tmplset-printer-options-trailer.tmplsubscription-added.tmplsubscription-canceled.tmpltest-page.tmpltrailer.tmplusers.tmpljob-cancel.tmpljob-hold.tmpljob-move.tmpljob-moved.tmpljob-release.tmpljob-restart.tmpljobs-header.tmpljobs.tmpllist-available-printers.tmplmodify-class.tmplmodify-printer.tmplnorestart.tmploption-boolean.tmploption-conflict.tmploption-header.tmploption-pickmany.tmploption-pickone.tmploption-trailer.tmplpager.tmplprinter-accept.tmplprinter-added.tmplprinter-cancel-jobs.tmplprinter-configured.tmplprinter-confirm.tmplprinter-default.tmplprinter-deleted.tmplprinter-jobs-header.tmplprinter-modified.tmplprinter-reject.tmplprinter-start.tmplprinter-stop.tmplprinter.tmplprinters-header.tmplprinters.tmplpt_BRadd-class.tmpladd-printer.tmpladd-rss-subscription.tmpladmin.tmplchoose-device.tmplchoose-make.tmplchoose-model.tmplchoose-serial.tmplchoose-uri.tmplclass-added.tmplclass-confirm.tmplclass-deleted.tmplclass-jobs-header.tmplclass-modified.tmplclass.tmplclasses-header.tmplclasses.tmplcommand.tmpledit-config.tmplerror-op.tmplerror.tmplheader.tmplhelp-header.tmplhelp-printable.tmplhelp-trailer.tmpljob-cancel.tmpljob-hold.tmpljob-move.tmpljob-moved.tmpljob-release.tmpljob-restart.tmpljobs-header.tmpljobs.tmpllist-available-printers.tmplmodify-class.tmplmodify-printer.tmplnorestart.tmploption-boolean.tmploption-conflict.tmploption-header.tmploption-pickmany.tmploption-pickone.tmploption-trailer.tmplpager.tmplprinter-accept.tmplprinter-added.tmplprinter-cancel-jobs.tmplprinter-configured.tmplprinter-confirm.tmplprinter-default.tmplprinter-deleted.tmplprinter-jobs-header.tmplprinter-modified.tmplprinter-reject.tmplprinter-start.tmplprinter-stop.tmplprinter.tmplprinters-header.tmplprinters.tmplrestart.tmplsamba-export.tmplsamba-exported.tmplsearch.tmplset-printer-options-header.tmplset-printer-options-trailer.tmplsubscription-added.tmplsubscription-canceled.tmpltest-page.tmpltrailer.tmplusers.tmplrestart.tmplruadd-class.tmpladd-printer.tmpladd-rss-subscription.tmpladmin.tmplchoose-device.tmplchoose-make.tmplchoose-model.tmplchoose-serial.tmplchoose-uri.tmplclass-added.tmplclass-confirm.tmplclass-deleted.tmplclass-jobs-header.tmplclass-modified.tmplclass.tmplclasses-header.tmplclasses.tmplcommand.tmpledit-config.tmplerror-op.tmplerror.tmplheader.tmplhelp-header.tmplhelp-printable.tmplhelp-trailer.tmpljob-cancel.tmpljob-hold.tmpljob-move.tmpljob-moved.tmpljob-release.tmpljob-restart.tmpljobs-header.tmpljobs.tmpllist-available-printers.tmplmodify-class.tmplmodify-printer.tmplnorestart.tmploption-boolean.tmploption-conflict.tmploption-header.tmploption-pickmany.tmploption-pickone.tmploption-trailer.tmplpager.tmplprinter-accept.tmplprinter-added.tmplprinter-cancel-jobs.tmplprinter-configured.tmplprinter-confirm.tmplprinter-default.tmplprinter-deleted.tmplprinter-jobs-header.tmplprinter-modified.tmplprinter-reject.tmplprinter-start.tmplprinter-stop.tmplprinter.tmplprinters-header.tmplprinters.tmplrestart.tmplsamba-export.tmplsamba-exported.tmplsearch.tmplset-printer-options-header.tmplset-printer-options-trailer.tmplsubscription-added.tmplsubscription-canceled.tmpltest-page.tmpltrailer.tmplusers.tmplsamba-export.tmplsamba-exported.tmplsearch.tmplset-printer-options-header.tmplset-printer-options-trailer.tmplsubscription-added.tmplsubscription-canceled.tmpltest-page.tmpltrailer.tmplusers.tmplusborg.cups.usb-quirkswebcontentapple-touch-icon.pngcups-printable.csscups.cssdeindex.htmlesindex.htmlhelpaccounting.htmlapi-admin.htmlapi-filter.htmlapi-ppd.htmlapi-raster.htmlcgi.htmlcupspm.htmlencryption.htmlglossary.htmlkerberos.htmllicense.htmlman-backend.htmlman-cancel.htmlman-classes.conf.htmlman-client.conf.htmlman-cups-config.htmlman-cups-files.conf.htmlman-cups-lpd.htmlman-cups-snmp.htmlman-cups.htmlman-cupsaccept.htmlman-cupsaddsmb.htmlman-cupsd-helper.htmlman-cupsd-logs.htmlman-cupsd.conf.htmlman-cupsd.htmlman-cupsenable.htmlman-cupstestdsc.htmlman-cupstestppd.htmlman-filter.htmlman-ipptool.htmlman-ipptoolfile.htmlman-lp.htmlman-lpadmin.htmlman-lpc.htmlman-lpinfo.htmlman-lpmove.htmlman-lpoptions.htmlman-lpq.htmlman-lpr.htmlman-lprm.htmlman-lpstat.htmlman-mime.convs.htmlman-mime.types.htmlman-notifier.htmlman-ppdc.htmlman-ppdhtml.htmlman-ppdi.htmlman-ppdmerge.htmlman-ppdpo.htmlman-printers.conf.htmlman-subscriptions.conf.htmlnetwork.htmloptions.htmloverview.htmlpolicies.htmlpostscript-driver.htmlppd-compiler.htmlraster-driver.htmlref-ppdcfile.htmlsecurity.htmlsharing.htmlspec-banner.htmlspec-command.htmlspec-design.htmlspec-ipp.htmlspec-pdf.htmlspec-postscript.htmlspec-ppd.htmlspec-raster.htmlspec-stp.htmltranslation.htmlimagescolor-wheel.pngcups-block-diagram.pngcups-command-chain.pngcups-icon.pngcups-postscript-chain.pngcups-raster-chain.pngcups.pnggeneric.pngleft.gifraster-organization.pngraster.pngright.gifsample-image.pngsel.gifsmiley.jpgunsel.gifwait.gifindex.htmljaindex.htmlpt_BRindex.htmlrobots.txtruindex.htmlcupsCHANGES-1.0.txtCHANGES-1.1.txtCHANGES-1.2.txtCHANGES-1.3.txtCHANGES-1.4.txtCHANGES-1.5.txtCHANGES-1.6.txtCHANGES-1.7.txtCHANGES-2.0.txtCHANGES-2.1.txtCREDITS.mdINSTALL.mdLICENSE.txtREADME.mdcups.1.gzcupstestppd.1.gzclasses.conf.5.gzclient.conf.5.gzcups-files.conf.5.gzcups-snmp.conf.5.gzcupsd-logs.5.gzcupsd.conf.5.gzmailto.conf.5.gzmime.convs.5.gzmime.types.5.gzprinters.conf.5.gzsubscriptions.conf.5.gzbackend.7.gzfilter.7.gznotifier.7.gzcups-deviced.8.gzcups-driverd.8.gzcups-exec.8.gzcups-lpd.8.gzcups-snmp.8.gzcupsaddsmb.8.gzcupsctl.8.gzcupsd-helper.8.gzcupsd.8.gzcupsfilter.8.gz/etc/cups//etc/dbus-1/system.d//etc/pam.d//usr/bin//usr/lib//usr/lib/cups//usr/lib/cups/backend//usr/lib/cups/cgi-bin//usr/lib/cups/daemon//usr/lib/cups/filter//usr/lib/cups/monitor//usr/lib/cups/notifier//usr/lib/systemd/system//usr/lib/tmpfiles.d//usr/sbin//usr/share//usr/share/cups//usr/share/cups/drv//usr/share/cups/examples//usr/share/cups/ipptool//usr/share/cups/mime//usr/share/cups/model//usr/share/cups/templates//usr/share/cups/templates/de//usr/share/cups/templates/es//usr/share/cups/templates/fr//usr/share/cups/templates/ja//usr/share/cups/templates/pt_BR//usr/share/cups/templates/ru//usr/share/cups/usb//usr/share/cups/webcontent//usr/share/cups/webcontent/de//usr/share/cups/webcontent/es//usr/share/cups/webcontent/help//usr/share/cups/webcontent/images//usr/share/cups/webcontent/ja//usr/share/cups/webcontent/pt_BR//usr/share/cups/webcontent/ru//usr/share/doc/packages//usr/share/doc/packages/cups//usr/share/man/man1//usr/share/man/man5//usr/share/man/man7//usr/share/man/man8/-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.opensuse.org/openSUSE:Maintenance:16185/openSUSE_Leap_15.2_Update/1f560b15bd86642d9c3179dd459d2050-cups.openSUSE_Leap_15.2_Updatedrpmxz5x86_64-suse-linux   !"#$$$$$$$$$$$$%&&'()&&*+,-.../......(...00010000002))000)000.30.00..)0200)0.01000020)00..0020))0.)0.0..../......(......3.......(..../....(.......(.....000100000.().0100.3......)/2000.1..0.2.....00(0)0..0.30001000000)))00)0)0))003000000)1200)00)1000020)00000)020))0))0.0....../(..../....(........../......(......3......1(..../....(.......(.....(00010000002))00)0)0))003000000)1200)00)1000020)00000)020))0))000....40.///...//././......./...........//....../............/..//./$./..//..//..56789988:;<=>?@?A.0.0B))CDDDDDDDDDDDDCDDDDDDDDDASCII textdirectoryexported SGML document, ASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4b74e7432b0b11139ad1af105decc7ee6d1eb0df, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=24c41aff698e28ccd55fbf6c2d934565a5324d16, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c1644b2b4d1a86b894bcd2029327d22db864cc5c, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8848a127d4a085be81508280c01f06b8bcf27b45, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e9d9a6b850a3ed26338ddb4c1cb0241e65c51a63, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bb8137103da4b3501a4e7cce1f96792152f0c17f, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=23809d435d8b27d1dcc21b0c582ad0b5819bcba7, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d235fa8d2b24ea59eb69ca6303547b2ccc898743, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4c094ff9417a7abfde564021b3c0c0adfeaad7cc, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9da22f0131412050cf6c04cd068145b2e5fd281e, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=07610eb2c4008e8a288a1906b0a59ea5a95e6559, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fa31ad367f21f03fbe114da4d0d095d7056b6206, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=65031684d09afb243287dd89379074a114007081, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e720fc6f6f88872d84dcc541ff84d22ba5558758, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d68f577e7e70d8360598c608454809c0933fc7a5, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a55e0c27f77e70409ac0cae6caf7f44e92f59d9b, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=cf105867fa6656d3e1e9ef60dead98669e1d68a1, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=0a45b9d90dc8178c6e66e79b94a5068137f55928, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aff5d6e151154313e8be03e249f5f34dfd238570, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d9e3eee9755e42130f2d5cf483a6c7082928cfc4, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7a0886ae2b71f843b56692c7747a4093fdc0dd26, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=620cbb3b27343e7424b47dad9e3808a2d308de9f, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=027f921b65ed686dcd32d7b3b1d191b6542ca0ce, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=419502c70fb4d6601ede1ca35205025fa5001bdc, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ff9782871309f6d09b8c361579868f8e9d07160b, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4781421c9cca775d38062564da04adfd3da25eb0, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6b7d5e762b6580c284f05dd3617ed5a4682a6c2e, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f8d82e153168d29a3f047ced65ddddec3086b010, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=384baf51fa856a9a28fb07b53a9f2e986f02df8c, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a938584abaea35659c49f6f1fab08f61048184d1, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9a25bfaa15cb93807ea66d11508ee7c7f38c32e2, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a33699e66f4d0a2bccb3a59b52eff5d1644abf81, for GNU/Linux 3.2.0, strippedC source, ASCII textJPEG image data, JFIF standard 1.01, resolution (DPI), density 180x180, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=8, manufacturer=Canon, model=Canon EOS D60, orientation=upper-left, xresolution=130, yresolution=138, resolutionunit=2, datetime=2015:10:20 18:11:34], baseline, precision 8, 512x768, frames 3 (gzip compressed data, last modified: Fri Mar 23 03:48:36 2018, max compression, from Unix)PostScript document text conforming DSC level 3.0, Level 3 (gzip compressed data, last modified: Fri Mar 23 03:48:36 2018, max compression, from Unix)JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=10, manufacturer=Canon, model=Canon EOS 30D, orientation=upper-left, xresolution=154, yresolution=162, resolutionunit=2, software=QuickTime 7.4, datetime=2008:02:03 22:54:07, hostcomputer=Mac OS X 10.5.1], baseline, precision 8, 512x640, frames 3 (gzip compressed data, last modified: Fri Mar 23 03:48:36 2018, max compression, from Unix)ASCII text, with very long linesUTF-8 Unicode textJPEG image data, JFIF standard 1.01, resolution (DPI), density 128x128, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=0], baseline, precision 8, 835x1280, frames 3 (gzip compressed data, last modified: Fri Mar 23 03:48:36 2018, max compression, from Unix)ASCII text, with CRLF line terminators, with escape sequences (gzip compressed data, last modified: Fri Mar 23 03:48:36 2018, max compression, from Unix)PostScript document text conforming DSC level 3.0, Level 1 (gzip compressed data, last modified: Fri Mar 23 03:48:36 2018, max compression, from Unix)ASCII text, with CRLF line terminators (gzip compressed data, last modified: Fri Mar 23 03:48:36 2018, max compression, from Unix)HTML document, ASCII textHTML document, ASCII text, with very long linesHTML document, UTF-8 Unicode textHTML document, UTF-8 Unicode text, with very long linesUTF-8 Unicode text, with very long linesemptyPNG image data, 150 x 150, 8-bit colormap, non-interlacedPNG image data, 192 x 128, 8-bit/color RGB, interlacedPNG image data, 768 x 768, 8-bit/color RGBA, non-interlacedPNG image data, 575 x 150, 8-bit/color RGBA, non-interlacedPNG image data, 128 x 128, 8-bit/color RGBA, non-interlacedPNG image data, 700 x 150, 8-bit/color RGBA, non-interlacedGIF image data, version 89a, 64 x 36PNG image data, 446 x 1056, 8-bit/color RGBA, non-interlacedPNG image data, 624 x 448, 8-bit/color RGBA, non-interlacedGIF image data, version 87a, 4 x 36PNG image data, 257 x 257, 8-bit/color RGBA, non-interlacedGIF image data, version 87a, 32 x 36JPEG image data, JFIF standard 1.01, resolution (DPI), density 50x50, segment length 16, baseline, precision 8, 445x570, frames 3GIF image data, version 89a, 16 x 16assembler source, ASCII texttroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) (1:ENTZ`fo~    R&R"RRRRRRR%R!R R&RRRRRR R R%R R&RR RRRRR%R R&RR RRRRRR%R RRRRRR&RR%R R&RR RRRRR%R RRRRRR&R'R.RR%R RRRRR&RRR%R RRRRRR RRRRRR RRRRRR RRRRRR R&RRRRRRR%R RR)R*R+R&RRRRRRR%R(RR RRR&R%R RRRRRR&RR%R RRRRRR R&RRRRR%R R&RRRRRR%R R&RRRRRR%R RRRR&RRR%R R RRRR&RRR%R R&RRRRRR%R RRRR RRRR RRR&RRRR%R RRRR&RR%R R&RRRRR%R RRRRR R&RRR%R R-R$R R&RRR RRRRRRR#RR,R R RRR%R R&RRRRRR%R `K[h)r# Use a real bash script with an explicit "exit 0" at the end to be by default fail safe # an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed # see the "Shared_libraries" section in http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets # Begin refresh systemd units and clean up possibly obsolete systemd units # The following is a generic way how to refresh and/or clean up systemd units. # A systemd unit may need a refresh after updating a package when the new package # had installed a changed systemd unit file for an enabled systemd unit. # A systemd unit may become obsolete by updating a package (see bnc#904215). # A systemd unit is considered to have become obsolete when the systemd # symlink /etc/systemd/system/.../unit_name -> /path/to/unit_file is broken. # When during package update the new package does no longer provide a unit file # then the systemd symlink becomes broken after the files of the old package # had been actually removed by RPM. # According to /usr/share/doc/packages/rpm/manual/triggers and according # to https://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets#Scriptlet_Ordering # and http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Scriptlet_Ordering # from the new package only "posttrans of new package" is run after "removal of old package" # so that the new package must do the clean up as RPM posttrans scriptlet. for u in cups.service cups.socket cups.path; do if systemctl --quiet is-enabled $u 2>/dev/null then # Refresh still valid enabled systemd units and clean up possibly obsoleted systemd units: # Enforce systemd to use the current unit file which is usually the unit file of the new package # but also in case of custom units (that use other unit files) a "reenable" won't hurt because # "reenable" does not implicitly stop a running service which is "the right thing" because # a RPM package installation must not automatically disrupt (restart) a running service. # Using "--force reenable" is essential to clean up possibly conflicting/broken symlinks. # (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. posttrans script ... failed"): systemctl --quiet --force reenable $u 2>/dev/null || : else # Refresh still valid disabled systemd units and clean up possibly obsoleted systemd units: # First using "--force reenable" is essential to clean up possibly conflicting/broken symlinks # because there is no "--force disable" that would clean up possibly conflicting/broken symlinks # see https://bugzilla.opensuse.org/show_bug.cgi?id=904215#c34 # so that first the unit has a clean state and then it is set back to disabled (as it was before). # If a disabled systemd unit has become obsoleted, "systemctl --force reenable" will clean it up # which means the unit gets removed and the subsequent "systemctl disable" will do nothing. # (without "|| :" build fails with "Failed to get D-Bus connection: No connection to service manager. posttrans script ... failed"): systemctl --quiet --force reenable $u 2>/dev/null || : systemctl --quiet disable $u 2>/dev/null || : fi done exit 0/bin/bashcups-filtersfoomatic-filtersghostscriptutf-81fa2d828135a35f17191b4f5c36dea1aa57d6a609715a7a2ee6d53b97ab1a1c3? 7zXZ !t/Z]"k%]X1( =yY`e0^hMfvy5 U(`y4)O4n6dMδV4LBk9g]gT(o5x~uМt>zSAR}0 @Eqm05܈U4J4Սs?܈m}fՑTMdQEՑ ҂JQ=WgmgKgpU~{J`(K]#ǂv$gh +p;DŽ2*'s*ȡgvߛ &]v=s k$^et\iiﲰۭ> ld0:iݴ/֐R&J-DTT3>43%:@bW#z1|g\VǤ-ԑRR~#P%t aS~y75=.mɨ_"REt};~S #3.IKUp7Bvb!-n}v"/ !vbǫ_ԋtX_ނ.0Fu^HFv^H ejXVVZ*C0Z } w$:/xX E(s(zp׋̡.ehk;)XlW(Z ~^__KnM/X;gc GGeĦ(lI&昴\.>9+ٕ pn(߆w'}ESfEOOm(8~*ؠgm (Q/ A75ɣ %3-x1a]Rfg)AY"gww5})52zi"z`n?ҪY$Y= wWN:ԕv`e.?/텅"n+pe[, Y8u# #ʉj̑oĄ̓H7FgB6r*ÌC &|b[)siw8Ɂ >-qe5i ,+1q)pҐqVlVHQUӚ]Y1`9] e"x.A1(.8M/q=Gnzm$BWh=+~7S~[߄Vc6xf0,yy=ގ[AC,>X{CRT$ ,I_5I!vQ" JJ0j#0}boB&۬$}ڦL>La^==B7 wUyh ղlʿ.ɩ! hSwvd#H>=q<9In_Q'R`5g5ZO |zuʟJ k#Sl4ѷ*M: 9:Zrws\v]ٶivLۀi~Iv ,J;l]UAyZ?Y}(D/U,LpI4UZSJ/27y:C}Aָ9gyB?@,h={wIzeŰ;nLbf%Ex#F<-:Ł[[! y1,Vmb(bs|ЕW4+RI-.ذzs'5/Xh(q903r4Ͽw:=Vc o{SoML@3 .gNaԅ2SI+*'aM+yiOnДcwm=qe܊&۫gP}Le 9[}.+L[<3;4V&ciQ8YWg.⭍IpNyD ;Нjbz` -:/)$KMd`zʹIQ"]1M_Q)i5"˚AaӴ^L / }#% ^ytkDH8劃ӄh(QKbӆ&\dͬvM'`]%2k_gʹgmU~ )⨙Jz "ND46`0>~~3u L $+K쟠2CU]p|>zRu/O'OL[_?o^p?ʦt%ZyRc JX-j1z;D*\ bS)Cؽ/J7d d@6=-.JKI^5#ځG RGM>>TP8[b Rת*Oq*k`Rrr5Q}qFRյ/Y#'WO,7i‘mm*kE'[2m,o1,s\B Љxȇِ>k`B<6: vuOVR(췡`ACE1bMd tHzT 7q ir%Xlr&Gy7>?}o4th@?X?մCG[9rmDbք"nԋ2+o/5Ctp:cK߉4 r$š`VX|gq u´.X84 7$Wu4A&JGbs4~aOy${6%X25;DG$G䡢6.!aHl(y*C:ޭWpsV%x[a6J>\$tĮx2+AC%nˆfuL1iMmB@JZ hAzCO%;/cQ1v|;1kύg=3T;IEy“y VȀ>+"qK^=sYWXU K*l29W oJ~_hljڔ4; 6'H cE 2&f4C ^$SAӸk5 $o9Pk:x$xCom0&{'R]/}!u3D_4(N"oUt3T}/6?)j.IA‰yDX6@ "x(LU>9'<:o%[]]PhqgkRH2~&X]{Xkb P{jd_j)I_s d4Ȟ"96Dr8^$nzK⚧1VY Vn Sdˠ*ux^ I.]Vz FLKټqW>m ;4Gv`9J ȿ r\'Ө<67hC,Slqgj@:o%nQ"zNdr%Y^5~.d0̱AZezYX N[T\ɼˬ&ߪґ!/o7"aWbLft POJ$ѕ6秱*5H_+[}sg[j[>,BO8KQjD? }0FS'4)ϙ͵5qByy6(f=G^IL+Ʒ: pCp,eR4KvNZWPKnG ]Ll2>U"˚ 80t^fX k0$Ibrϖ⻩'m[r5~vŰ%@kMCoLwfaoG:b&A5S+/n#atդ[a_#jqz)t:_#0!H-ҞiOwzna=tc3o'M7 wԥ ֞^g_ } :?3a {2,&!.i(āD꥗UP2h̹z4d +G-Hb8jй D'Ifj[pAL+\r98Iï6>)Y~vsl3oXĥa9``#\CCm@ t *b. d.֋FK~O_a# ѨF`l== -:QoRpP|\wB 0u3W;)~';;;3^!ς(WЪ-O.9sX7 ڹR%(mvLEqzmJDgOI6#9CkG-KNhM\&HIdMdHtmpGp\<:9jƪ**P~7'vE Q4aL= ䷵XҖZJj] }-:'Ny/TMȅJ@r'ݪZiN+0]zn tHЙ#XsqLk{Nݽ}wc w?LMVFeFN+2ޥ.[80C/l!G!Eq{+e}[&9]b;@x|7w7Zo"&"FL<gbq y\cnNV*>Qٜf.p)Zx)7*IB琬; veO4Qġqn*lo3n>Z;VOQg5P]r~ځCX\ux!:ί I:X7F.5Lc)v;hu6Gptp+;q>3G|,`mdc|~g鿬WILfIG&(X)=Zn'q%* pA`c+$zoR :3;5Jv35t|l^[+QĕN2Kl۱.Nl Ȕ$v+*uef$_ZK&: 1HdIVǏ Rà gw{/&!g+!Re=GPk=][ǿhi 'Y vm}^s@TWVU;[#nx2*cr%\6#(5R˨,"͢5#䯚B}ެlf(eJʆ.mD| D~*X|b]'fP3~O]S5Ģ}<⛤Wm[9LbV],ÔceL*vv#oqfI@R2u4S/8-҉E<;j# "e9ϐkI93`Ț 5D'*(shb &R &`'Hc[ݿW,QeSukݴ8qpQW7qSn .fsr{Q",ACI(S\`ѕ#`FDU#Bl_wK6Fm#: s1.2Y])oژ(g\\T(G>7Z ::,㷝Kѩ#Ocᚃ9%ØR,h =cMM?6-Q${yΉ<ܲ;W<ZJb׈ 4Ou9қL1ߎ֨Ťj.1=;v`z5|2W.X.OBWH y1)-H\J4jNfӀ^EE%+(SPA+k2ypJY(M-_1X|!+zuțv2ʯ& X*6cpYp,rG,պ#3 K˝^TSyV}hP,OP{Jh\v?t8q⹬t@lMnV;`qtu"?L'1`WxR7r3aX!ܻ}t3Fb/E&&ߙ96*a8\w+F0: W(ToFx| o5I˗tP2n*z]~;yIKuїfĿ"zn?!Lr3 '}!̻1pk@6[PK=s\ak`j'_FѶbnwo3 =:I=mYAma> ?\FVrm@{([RGILa, W-E`>=2ILDd8M퓐ˆ0'Glp5fAXQw1M8?ݦzql`a4^RM:2Fj)W$`۾fDaKgYP3Vر[ yy4Q۰lW(:^{"SVNLo{X\F} p%҄sqzcL Jg]6&4Ľ0 awJIug^ RAN0 Vw>QC!{O$9W=x=3poXW6 wR!.Zߗшq*8ZZgnƭu4?>c1fHxyM.(w fOYY Dw<[1ǎ2R|?z-JJו#J.aW96[se!wlH<1dȽL;+a^1MϨG5<< /,,;oiOzGsXINGE+tx%Lc1Lt2ľ >n˾O.^" $ +SH K1ʳlI , d8A3wC7w3_e# P)l];ς4^Sl 59tY1NHBYwؔaT,Vl$QmU4|C.hqUe2` Zp93;a\&.xe=.[=Έ%]\djTWc64ȮsT|\~ 5Y.C q"rd&0cU"ÆJLl MV_\*ź=1e80Aj;Μ&X/h'\;B2ak+D6fܒEe )q4'R NZ^=Ԃ9i2OmxDTUD܍ W4rV"8j!يS;H,/iP=lǯ+Kvɨܟn,h'2ҫ@osv1%qaV:i9վ.*.6 Ѳrukq!:E v}FAVOjrڏ9JH[t9H?[`˴Mڭk@kL^l5)D$ RdQ'?R2q2û%s:9\XSo~˖s\5*/'ȫg e)̷B,;EX8Žo8sa]p 5!΍B(k\i2\r<*v"nf_P_=@H.xMI=7ғJWᄫqR[eK(AHN%=Vcʝ]e*N61n-z3ڄ 4pR? \43+0FH!(%2Rtвbƛ᣾l&Kqr쎎^XԒҳ!; #qJE/֣Zh̓[ W&=;,~\_'HNU\giA³(7EmSeJ#8:<`8T{NTk$ ddf&"VxAX9V :W[T=usHL|OX~f5J1 c cn}~e$8ybH`7 A "Lr’%`0 Wwm$nվ;#YLݑDe\6kĴƆ[ gV4&K?g ؁auvx~s35v\N-BQ?P}1H 8?v=5'FjePPܘ f>֕ڍ:S +LL*t胋:3èErk' $&ly,2( :v? h4/"jج=)$oܡQl%uuZj7 <4͉u+n8Jh}r(s-8NcaG훇SۇĘfҊhKJayQ(35 0otQ_Bqqǻ"WOJi)]fBP3M^3<r|m#xX*O*5.XJlo^:qFEA-x3жm(sӃDZKW末Rc!KN٧_LKigsX+먝TpڮmWqL \>3ثSE͕6My4j,ҙ/J `1mL<})gHÿ.{EqYCዬhl$c0!'BHFs J3X5UU@prJPRRw446Z00>VWf^FyO<^Z0>˨߻] Uq\ tx75jM9kJp'|òڇӈv*YܚmE w ;r 79ѫR4cD * n+'=:w@#heK\;kt CB=GYO^>]ǕyU?s ٷ "͜4(Db^-j.b @m`sޒ(4#Ff 㤮*8k0*Wkc4eKY碢6_Շ<])Vvo]B8v90ߠg0CnCscw[)g ;dz&T k0_o(aa){!j^S\͒԰h:F 04hX rjEB( el7I!+Lh6&&*UD69omJ/ $NɤOtUy=,F@bx :aKt "~26;L?UHz^km0E/cS7v {wUC>:mL ЗU3JYԃj]èhx (8mJzY9GeyOfiHL,]tLU}ʪzu]%R^g{EmGw` O? Rt|\W)U~9?6z$z5:٣o{}U;1pzދ : L+};׉ѯDlV. ;_;DqgDNW"8#-| !x+]ŏG~?No"6HBƬ>$ sM6Nu乐7MUiPT~J"V^}`v*+C/4`ߵS3T3hf+| W\ԅkKnë/OmkbjOe䁈uWyu v*`{]7>\ Iuտ3ʐ!%.74gz*`ywN\?b9s`r1a9 $&.\fˋ_vrbY5/zgކLXx:;d0tebhsT!lלӘ# d*vZp14M{CRM!kҜ`L`{e#[DȚ@kH-Ʊ|ֽЄ:7G#RE܄~Њ*\g!A#ͤ'3߸ =D(6I1,'N g xed?F-:-u69>xFxh 8oh  ܀+UԌ{u9x:yK;y쟽0zMsly$ ~O3,(q0q4-kt7ME=R{ x-WЉ`d>eDӳ6ѪE:{ƠUW ÖSIU dN h- |Iq qsI/eie+Q&rH+R.³"\ÁP%+}9l:[ FS?Hb{bo^&f Y=$6,ɰVSN~|=I I#kl~U2veK?d_M]F.w3EMu'7/$.:HW(cY 1Zlt>ޑi8W| vIҏ.!t$j6.! H7¦tuj/s7κhGSfY ZITהXqClO1H Fw{yUOYb8mBvAW&AX4DX!񭂻Op6UM-r3wnCaB FqG޺p"0&i1$Dm|uJ =!Nbk'T!SfS^b g%Txʰu&tsiX8%YrQ!QfNdP\( d>3Qa|Wݙ01>wP9ʯ"ݧl4zi [l"Ŝ߄S e `< ynV p8Lkݐl!yS&ǯ6bER0{:I߱$DR;tD!^փ5UI(_n>5v1}#S !&5/pIÁC~*=BMH1XؠyS '.YÇ} NI*{sCe) yccVtύk{鱑jNjPŋ7jl [HㆄyC*"GOgAyQ Z=C0݅|>u!W`Ъ(8Y7^7F*nq66Ib1Xh MMj>6KR9_n,Ȍ^ 91 kJ*J[5L,Ay,ВfNhĔyC(BЉYwn |c/%c`#Hrg9&8!ZF tfΝ,*}4AfӨ7̿wl֍B#hłTzbyshV`D إuFzAS,Nhiఛ|!NJyWWڙ]P &>9kqIe@EJco(e@ 7G,Le1o}#;~wh6~6]>"r2taańV`VV_/˝*1Ҧ{P xW_Oi2>Fݞ|%蕃Dr^XOT&) 2ab>롣-2櫖H۾xZLo-r|IM, )hi 8iJԒgU"Sj|c,~(x ''zwqPi?zUM@D^̤qyP7TT~(R)0[Z?/yp@\]E,bN=J39_އ;S*MP;4ͣ(b #wR5CUҳqSEfZlH{wҎ 7tĹ|}U2fxUS'=H<ߒɆi޲+80cv*) TZ shǥÍ􉋓1UR4VB2/C0hsN,Uc8wo- t;{ģ"}' Kq P,0g+Pb3~U.?ˎ{Ir"?]&R->wQPW$tljC5o-gUIstc`|0—6#UQUe UG&'.*d}1a>W.ꓔuS1DJ[4z 97sZ+Bm K^`dQKƎAg8j|:݊7Ki172JO4dKeȃaZwV:-i,ZIe8uBbo}gn@H3]mc(CHНo1竷Dm)ˆzkKȡw6ki:k4YH$y$>#\1c><={MѾH!_VEnE`TƯ^Ez%4'MX UX0i5;UlRX.DA~]Vr6Hۖ3B@Cd~Jlb$f7]DhsQ/[ݖ.ngPJ WMޢ@u2dR׿cg!Foϯ##-P!{Zg-q[#:$3`Q/:6ŋ|}6BEnĸkӋkfA \K& 68ýzBx4Ĩ $V)Q:Î?yu qi3藳~lh)1@8S%MHQ_zowa+-yBexwO]3R7Rj*aoj6FoagHAf :S=ldoPhȠN /JxKu\K xqR:pЍBWg6X1\d&ٵY[vUu/V §;&ßYal[c'w-=|9Ly @";I{ib-IT<,lKHeJ~,ێmuS H*_h)T%LPHC %=YT5ڷg}1{kQSd-hiŽ5Dqo[D2o "W)O؉X+eN@oP<\d E' 8pXic/fT~)$ECY I61h*obL:B.${&6?$ X22=>@6S ^TJ^𖗯#0cxn @b"[) [mIqX,б:} 2lShF8uٸS|h9V=(Zϸ`aiWm%8{G#6pR?Jnp:` Wz 4eRB`jrfyCg Yy)oIcIVl@ !\8(s"SXdx mnsmu 5;_ҁj sALsmD݊ϑ´:m1ӏIFw7 D[I2OD-WTX7V+q;cAHbt ܝ?x ''Ev:`WJӡ @g0h1 ]8A-c0S]GU6וra4o!=d"&1*rf_oõD,%SdhLH[>Qu}[˗{VC1c_^Vok"R/uJBE&Aϖ`KR'0v죐JC k$1C1q"^*Ya=y(#zEC&tbwR]=,Yе@e5h92S`g6S=ʲ)ʓTvrPn6e+R1P~ uRsGZqM?jsK9ﱵ`D:]Uמa#“ 3w&)uPCp"Eu6 c 4rN&_)c ZCU89(YmG U}ls1WwX}qnhYgWǶ? S3&l4L~gnNzNh,nULAgDʭc)~1!Oͱie\BJG tNm?IoO0Jd w*WK+Oy}l3.wF29P&㇧vb¨^4<7{r@W @%f?hG1Ul:0H'eԯfܖ09+(SeбAq}{PT @ee \Q`>mh9@P U' jXL]e3615t(O#[}mOON}SOd R]A8&Yh#H뫬02A7J}߉Zg]ҼCF+qDjBui}C_5e{=H0xPCKĝ j6EI8l-_6̟14\2J QR)j:ɥf@ ) KIFqD~ %P&QyXEyNI 2@fpqߡw  3(><wevVZ@7'gbxل= J@ a1 uST1g%\EZ^V(JS!S5o1?mh~]Ү++ _=Z5;'>7n}RaEñ袷c1!1[ܛ8Dnt8RǤv*Vtoi`RI,zDg8 *IyZ/ =[baYݦ"?ą" 3l-/|:`84;M}# G[[^L5%u/UDNB&L0'^>>$(ͱ 3,x HVҰDI|1MXτ1&#z7ė\vl}ӂJI?ُ'\gSA~'}KT,WJ-}󥡡 O"՘DXYԺn t!t-_ju I\ R6.dڜzStZ-|ݲYF bSKL]K~RY'ɥ -˪ }_]K47tFXӼsŠ#dcIXer.?iEEqE0ZV:u(;m1Ƽ1kw畒3$?)&O_!8nOJ d3EqLX"uЪ O% ?W;F|XkX>Ԥ!9e}o/ThqRdLusRGxLU4GݚyO ֎8eqOL.}Uw!a"º̨bV-iz 7ϴo  YZ