xorg-x11-server-source-7.6_1.18.3-31.1<>,wZz/=„Knɺ,x88 C] 8--DU B5(]:1i+vn 4#FDԹudǺR%9eSw϶ XVR2l@RW+4δcI-y͐FPGē}I!"aY7i춢VU&nRկ[_ŏBm+͕̱V"g:>?>|d$ ) E|   / ? ^  H Pdol6(0h܄("8,B94B:BFGHI;XBYB\B]a^b\cdۖeۛf۠lۢu۴v&wx$y>,z>lCxorg-x11-server-source7.6_1.18.331.1Source code of X.Org serverThis package contains patched sources of X.Org Server.Zzcloud128?nopenSUSE Leap 42.3openSUSEMIThttp://bugs.opensuse.orgDevelopment/Sourceshttp://xorg.freedesktop.org/linuxx86_64r?^Q=w h" G IW  s# # M W*h [5OBv|'`YNE#hn Yh {{  #o; a;H r J@a*eXeo?boUUd1t5a<mPeWZS(Rg 8u {h3**o{ ><SQ7.n f!TlRk8;4#9qobHFr{EWBP_w~b]U> xkGZR\)SG M]9:qeJ l'td|S&eYyP2-CY MdH"%b_j fͥ;u) X_|bF k 9 + etog /i+_N$&PP bhd^>S  cD^ %"h < ; /"m/{ 9= A,*un "C@ W YsnQ65Q!UYB *=ik(7 & T#@duOYPaPe/>!9s%W ,\ G{uP-m St.ij 0,@??U J2 e6X|NTT1vy)c n# l+ 8 9+ @G }g$??.C8 C-K84BXe< J !gs x x EFFUU''-%13BB) M|Y<N 6   H'ޗ6Fz3 St~6 P0 6{1=e(?|`&TTf51 d+ 2$ 7 -)# vl5K V_t  93} (y*v DnD k2:r%8FSWc\  b55nis> `(k$+GwhF7|&, 8e[?g #$;:1 vD/ U[g; / 7}:e$ zo,)  ow^ afA1k*'`Vv k (9VS/~ S% p988e~B ~^ D2@G C njSdTe]h9ϻ":"?^bS^4k2k/p'  5E JtZzbF#$r <7 mlP- oJPM  zyB\VPQA-}- m .5 !G|?!JyMx" *4@ Ce }cK  K/o8~R:e!{h( 6 N,B>e1>|jJY8 /S"~}R,dPy J< ifO 35)p\h`TptX= @'4bwJ F  QKa[! 6ngQ V$a + + TK?#. %v.Q -Pb 4 " ]7! ". .q"+/1 5 @Far!t@#-O#)dzn<IV=tmj^ZB = R!qe!^tXU?e, | 6 O _  >rL0?jq$f0;ir!Cv<hJ s8 ( 'BO:n1M& l J] B7CI=*xFn t9e8ok^ac5 M21t)L e:sWNfGhPEduJ^x"nC/(SKrv`ETRv]yyMrd \Z X9V7KgN_Z!Y(`sY-s;e#*Sy@ v;Xk D| O qOgF7'\,Z1]  &* E P:+:* 3 N*l) nb S)Z/E&>"K(9,EP b%+6SR`^0;ea2`wJjD "& '=NGM]H y -2Ct[uSIV %P@(Ota fu# i[m uU{+&ekh2d5. 7'T*LT= guMeE'')%'''%%%#$}9m" `.nt#N-!8/.Qs%; "0K?Em&}v *3'b5rUP~p&B#/%/[QAZT2VF% 3xbn91$n1'BKJ 8%?KQ H|='! O% ܱ'=2Q  #dc}ygw-$ (#cv^ t)0x9*gIx) z= GsHn;8ns:9^X7!=RD5I^A큤A큤A큤A큤A큤큤큤A큤A큤큤A큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤A큤A큤A큤A큤A큤큤A큤큤A큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd5df87950af51ac2c5822094553ea1880f2b266829bc4c4058dce41c866a6f4628413fff12357e1a32f5c055dd801dd5571172e2e845b41bbaadfe01d32690161bc00b273b56aa926d48dfe87484757e73c5abf24998d3dea70d0c2eb2c5293e99e32dccb1450856f6cbd07943f7e4579a353f56f328b69845d2c455609de42f6c6494d5a852e499501147c93807c563643e6b9eaf0f8c3e609c8b21721161cc5a5bf702d7294c3a83794c0a40ad2942dee4a27300587cd9fa5711a103b68afd94d2b2042dc0b3fd6e153fad79153cad0cbfec09e060dc0387e65ba5869206d5bc44c10074495a79905d17faedc0ad13bc4b23dbe264c0bcd55558e26687b1e8fb4cd116e7d01ccd975072b9618f2406693fd7c69f2f8463258a3de0d00c71874a2345cce4ce4601ab21f6f30b68ef2ab3d4a8f0a1031986276eb0109e0968d1fe460169e942d7b90cf1da904cda03eccdfb26163fe7cc894e621dd65e2a38e470266d78696c026a71185c0fe929df1e45d99382abf9f674ca424fc9def58027b568b3e399ea71056a601ab803bf67cb7d46c30ba6e5805f1c93c9b40ee824574e0cb6f31b208313b1a7423944b26cc6ee213a9980785658b2443ff5c2e2b996e91b6a3e872dfb942168f50271875104b7c24da7dae3f549a44e3f665786788709d29f4bf0121ce87c21a1a3cf7c01556704224a79aa72406b333b921130df5b01b2747feab939a63d0bdd233f84ecb56f54294dfbc0a18b578c74d2b2cc2821c6cd36e6908cc8fc0e80302eb91fad49d292b9556adcc55b33b708805c5ca72abfb218c07db288920419f9d2f26073470fabe8ada15bdd9f02bb28ae08ab91e652e415a34203affd46dd19d468235062a93f0ae0548222a54233f2e2246f36f3d37f60ef046c35eee419afc93ed439027eb2f8b9750e46411782ea156c44cb57d1d281ac1edcc91d151fe5e52160e0b6a8dc4726d0a91e8ed6575c8e049fe4c205803bb4fd358f54bb20740f9c68c8ff0505cb0f03d22337daa284a842c265e043395600f5dfe850b9cbf5a9a317246008d24b07af0034c9142e69e1e4489b5905b0d406d0b366be4fd6424baf5ebe1868e8fa18af41b2729863b88d842d086e8727fab70835d03e6b66f9402e63efd6c99f44b6a05a54bb019bfb02087c4ef2c00834fa6d2f716d9b321565cdd9c0b2e0427b800e8a33cd12a43b216484c8aa561dff21a3d7f92d2950878b5b4a35f4ef1e86a170da27e216764081ea4f016731a15936e30922dd1d40928065ae0e0b4076f36027b4e8aaed9736e06da2fb8f1ba15f195dff5b275bd0853771efd4db68618fd941544133397d398823e82a298346693bdf5fd893d3c073ad0f1b754f8b6bfff0da9a12a9c9169b25bb3c7a6ac60bd89c44fa4936bc460afa5be559f353f9c21352a5b8e05d9021d772492ac5c8ce9d4f27420c607d3237bc70fef5edf6338e41857f8b7314c3c5c47c05fa5b59bea33820eb81c189e59c6531638dc7a2ca6c8cc2d914309914f0c329aadba6e190e5e5f35e396e0e790381133bfd4ef2806983caa67acc235b40cc420b57274effe7f6a674ee634ffa5bb72bb1825fe5902ccbef636b3c4ffdc6bb37415d7852a225436e9c7c78405dc7d60a7c7dc86713bfeb92b7fe0ba283ee8ce1e656fa5dc0e6329257d4a7c4acd04fa84815f710f9630199066d1b172d3e83db1b9e6c492377f6b16d76fc732bf31dc55a4d66445227b2a9a11a82e8585d25cd034f86b2fe513320bd9a5e0a05fffb63bac372c242acd951dd45b3fb87f9cbdc0867a35ac35852389e4cb085f7c532df2820b9bcf5697f8652ed22368b4dda2c90160bd5c16c7bc5ba6308b1a28cfcc7e3cea29992c1c6d6dacada92b78635515569f0d80ca2ece6aa090a23f3a030572fb1a303184ded19e9a18d6aed8ae8979824093308916feff0dac81bda88ccd1b145e2ad6432a0c96d429add2539fbf10b11f4e37b09aaf32ae0f8c57a5107fb133220cc5b992cbcb7e39ced5784677da8df4a3c5b3aead4fefe43e754d021a5e828fd04c94d89b730de6a9ce150abb0b24f43965fc40cd77dbf6250cdf106994fe5a301326cbe8a000c4a1acfc3bc665e7b1fc15ca875120760a2debfbe47811688f4d2baab636c5f33ff2de58719f548dde8fd21bf479ae97c797b69dfb5f6e9f7a6077a80743a0676d4fe186345c7ed250400febfbc606bdbd0dff629c8c1d1643b96751912b6cc5aea8d2e982f3eb4eba3d8c4a51a43b6afebf680e5dec10d161f34fe64339bd2dc75ec8467c8b8fb40e5f173ea2ccbdbab23fc903d5b5d278268e245ed2c86e909cd7ef1b55fb1cf842f266932b5b0da3df4d6c68ddcb14748565a0301c3c61da62969fc79da165735b6f1c7dc8d73a91c90dbb56f4370bdce1cac6bdfd6f51daf13202e24c951a213b121d37cfd7d7656fb83f12eab4a879b9411de14ed2d6e3aac9248dd0d9d4235542b021b82216b5666d2e85f5c0f08c8292035f01d7d7c482294080b3d314648208046e4809c8611e0f27fe7b0fabb7ae5c80c3eb388bbb98706bfb73786a29e7a8a2c35bf80a82ee23825fb7b340d90de06962bf28cc62fb8e95a3140be4d992265ad535fc4faaa2b1427f024414296d3bb2c5e2f0c528478605759d051e3a4273491fc38ac18c9b1b293243151efe4f75cbe8fe9c7debe608bc3b93f8346b27a5c829ad6ca478ec68eff10c1fbd8e6fceca701c73d8c6f316d1e90a3dd6b4c29a9ed3d0d032173dbb503a9091e0405831985e4dad191ad14789130d1497390fc1923a90cce35593cb8dc613e8bcee63c0f5b3dd00bb1529fde28bd6a92c6820bfe61e0df3fa2ae08a87b92f0e088da77b31ee15dd2ccf650eb5dd7654350afe6817f54924a5b59f86d5bba5b07353c1e931848324786a44c6f477fc40491454a91bf38296a17bcc99ec8fffbf4cc62df04ffb0ccf7bc6b60c7563a732e8e39c1ff9c97fe246aef033404fe8280230a8dbbca8d7b0de58a9ae9e41ed14e1c7065458dea4021002b8fdb603c927957fef8e877c9bea5c71e2088e5569cc4c9d63ebd1462cdd5c0f191af14606649e5ee7005d7de7bed3dbd7f8d23e64ff4b2681b1438accd1776c880d6125e1a8951739b1b11375d93f35d2fa7b699fc355f3be51395b2101fef0b5ffdfdeef12dd505b1e9d34d48863974569ea4eda68d14fb8162205a397ae805802af88244e74c0086bb0a74eba96914e5eab037d2b5e063c1bce565231299fee1eb4e856da17d390bceee4d71b0b2708ae94af8cb9eb4479fa841626a7168a3530cdbb5af65629f4e2695d97f756cada532163f35ad01680cc8966dec30cebe23d55d9bee5964e1addf06e201e03f05b8411042447ec6e3486c44413a9a9b48b12cecf35b9dafe690e5f8450bd2d943a067629f0c13fafff0406d95dcb6e6ebebe46db842e918c101f8f834108a0969c51583f69e24b2526d393d0d9a9af7571149772de0e5beb36d457b57cc0694dfbdc034f6c1a926b8f29f6c0ef75aa062c8f181b3a31a1cf079076bd908f6a9be260acdadf961e19fed2502365a1aa9d15e61268b00d51af8120351261fd7e3dd17bccec7b51394b6b086bd7d2f11d62ff030b5532d799b851da67a70b3cc4d316db305c03be4b6c21a6651d2a60cba34a64e5dd8d4cdcb4b441500b9244caa7a7ab23ece1db37efa76da300b8babbb5dde22f3e3ac18ec3a850259ba56bf77694dc49c31d3c654a5cfffaa0a8f655551dec52c89048a2c48a8fa6e05ed6c43d1d00b858fc5dfc2f65d0d8b9f9db921594c8db479059914b77f3526eb62b7bf10f8066f49a72f082dfefaf900e521efbce9eb526a28fadb37da8e6d9bb9860eee1130f45359d6d027061e5c0152522b86a2568a5b84f9e9e92d9c9052d632d5fd23aade91d92ff82fc78ec06d639cd12d2a5cde6d8cc2befde8c3a4d3c055e089d97b96eacc8e9e3781dd363d00eb5220d5c1f66b38541fa18a64a0d62a8c974523556e028e5f99ee7cf942641467825c293b95d08fd53cd47d13fc33f81568b59a7707c698e0582daec1e1e40d52e3d72b3e5efc5afec26f8170a74872b90f8cc78dd384ac8e07927992e2ee2e81ba19ec54d09ce67c8893b9b24ac3d7d65cc56929785ade89aa3a1e72b299099775e0878668183aa92363a3446713a322f1513c988e2147d6a7eae86bde3f5d0d2924a630ff8221b9e273bd6d2b2f95c5450e3ea035d1105b08efcbc0e566cbf8af8e7b751bdf4275db4f9e941e3353bb699d7f11eff94624d7ea6bc2400a3ef8e7d8d91ed835a414e9e7843a203bf4ab9cd6a4924815714990cf1d943e71503fc0889629d34798638d98c7dde5ab5d39584379a9216a2619dcd2de59972949077958fcab168b89320cca28911e0b459a97934801bdcb986d3d2aeaf55804022b4861fd55b9b525bc7beaea9296ff78468a84dfa3883f621a777b9b1f4aafb270c2f983f35b365aad5fe8870ebb35758a1f4bb90a1df562eb293721b62e1130c682ba0edb8f7e3d8c327c68b49e6fefb96e7e5a4dd3616115a1c8f20febfa8e2433f0526ae76f86466e0b400392b84d5a5c6278191149cbc06be9de8af2b296bbb54e268f5e70e3d4d4c8f63eb5c96d194f8910e91c4f99887a2510f8ed80f460f087bda5348c0ebff3ffd4029a8affa703c181b0eecfd592b7965c659f6e1ceccf8b19848f9fa147c10444812df15b76907595a0288b77cc8cbba4644137d9f79fa2a7189f249aa23ecba9760e34d198a1a490589c0860dcd4062883fbff93db5227f5bbf58f3884ebd082e2d54c82c88336e05051eeeff498c7d62a330c9501f24c82d123c5125ba685bc0221c99b404fd3e054569184141661e463ed31665be28842a14d38616e39f5f3a8f1d741a8e3cb8fbf308c76b30c62a34d77b33c294f65fd999e39c04719edb07b830ca6962fbc385a42c34505880bf74970b313d12380e8aa1c6a72f11c1efc564ab9376dcb215b526f65be24fe442380634b1094ca8b7960faddbe087b10eaef7ecc8ec87811226b72681fe3e2a6829131f7ac59798a15f85a1d2056f56ac760dc270c8d64030271d41b4ca41e46c59b88d325d62fbb5b932badf0f0818f557d42102195d65afd383845ef9bbb8b9daa56f5f73104a2bc872a681fc6ec8af771a11bcb86e406a8930971563401fe76df786b24b874c51ab5bad559bb3489bcde3773b514031023f323d9e9d5c56fc0a1ac48e9d5e8afa89763bcaf5414281c22880023dfb6915ce797ece51621992c864c0236c48b02bb0cf4cac4aad760963b20e798c479e88d92adcbc953507fea337ac773ac3a5e9681fdb899fab5ab6c7b8b4269e2e65bf8dc06956e152adcd007878d3e842f5be2750882465cfaa6bcbc46646496869ed4103d57fed0c456142ba9508edca74e8c5df3466bb69a6d2b675add6a9fd539b718b4b5ad3cecf5b75390367fa214c36a220b39abc56891756ebc45662cdaf3089ddcc9dd0776fcaf49770cb08a946f1ccbfa7a1509b6d934c44605fb9450c8bb3e3be1c7addb21ad5a1219761bd1b6d19fd035dc0b51d99dcd37a81e0cf2b5ca25084880fe4c8015ef751480abef8d302ed7de00eafc67066acb26227840982b0f82acd0328ce0ef7f7c58d9ff6e85d336a3dc7b6b5a01de4c9992b8a1779eefa4542fa02e87c0374b7504a7a0ff58abcb4cbadf7e0000a18e097f56a17f4d9a381484fb5055b3a57df9157f73f71003c32ac81b4838c574a3b647b9e6cead1bbb3348f586cc213f1ad5bb1b9ede5d43f435605faec85814acfb38d8a5347ffc2336ed2dcae682c4a5a5e8a062a37158162f119a521d0fbb63b1c9866c51ac45949a8650612160194fa91c359d508e40b79b7961b9025ec3986e9d807b06329e42681b9a53ac75b3c43b89d1e95b73e23515ebcbfc7b7299bdedaccea2b70a7d273a1df5966f59b6a14ca785896b2ca6ae8f60fd4a99750fefc6286fc6e1977574a4572f9b933ed669c4f3d7a8503bd9802e01596a7edd3ec6799e58ce1548cb56a88133e27d7db54e8b2c6e555cbba2ebc39d387ef28ef79a298c3ddb1f84c757032784e8407ed4c55df8f4ef9677c92c6432dc482015a740ce4e4661e4fc7ff3c4ed8825e237237c59dbe33d1efaedf8d2fec0607476c20d18e28df23597a37b5833c0406d011b0aabbcb927172d57117258ea9f94f956b2a80f25db1970845a69712f0f02deac429365f25da6727ad880748d3a6c25d05aa02e09e0ebec07ff9d74cb35786841e930975cf152b08f20b74816b25d38637abb584dba77176ca14c28563b4b5e91a1cbe4ae0a5e7f9e5ba9e74e065d7d10a83f21e4fdf461b2815e68a7ae7699a0f6cd712c5eca6523538c17d1073328b57d1556e8964491de7a69cb5357fecc1bdd62b5531df99d64b0cd2945c01bdc9f6ee94c78a94cf419c9bf495721141c459d2e507c53f4e1bdb68d59dae5a9e17dfe9ed8f10e6ed5b099437bec6cbd618ecef7763d64511c477fb5bec78fe8a754f9b4196f3e3cdb52dc050dfd9ae7b10f5689dfaab07a5e7d97f5b07f9edc047a61eaf9810993a652fdaa7e9f6714ef48491ca9c27e6727d7e82df08a9cd3fca69299fa6550c0d89a6de362b8ac3da265df080d0bc73cfe4147a7801c5cb4ac595ccb1245bf1167331cc9e685b031676b14b8fcaf84bb6c703a7ed54d02302edd1214bbbc4a4121e4da8b00e25acf38b60e9f8c16447c5c78bc6605cdf0ea57efe17febb9ac79272a4c92c089d07f02dcfbdd66a47a4d5e768e1e1b183e20964718aacda43b08df45be0d2724f4a690271ce6694d956edebc5fa0bb83b3b41370480f0c776a4e14b7c59fdaa4c9481378f1bffd16eb4e04b298efaa0cd7b4e3d8a1983911b5ed4c2ddebe0ded39bd60de6173df37646c5ed375fc5d0a1ebba55c937689c5178f9bc7b96d4279c1f3692453ad834e0ade64c31d938b5014318214c4c64e084174126d675bcefcd20908bd8dedbea44418904a4ecb6d016f197ee7e01dd22b801401f914b8aa733e528afbb2e2395e01b19687cc821c2699d8c3ebcc7600f5febac110de41eb2f38f317dc9db40ceef8a6618018ae3a2199deeea5031c87e5013ff90162202c53663ad33f87e548e5c03be378603bfa9568d0b0cfb0e93caf6f46487b9dc68394578f6f9a9c4f1d9da1ac4b8bfd1b03afba1bbf7d1633267d3e9d9e569bea0bb5b2030f8e863e54fa54fa174457ebf0d103c443893da5ad2cd65006430a12238b7fdc2a0ed516bbc4421da33aa9b22ed70f76f5c38f6b969cec6a191f3104f1246722679f25a6c35e45797f3b9521e48fdb7aa1860f76b8d03862fb9877f9fe6126a10a5e024005d75890f0da75561832ad57238faf20009e39639aa6070b8b78d7514e7159efea1f12675c020041b9c58461b11ea8d179e6f590f6212faf6831f24aeeff332e7c5934db2ff34c6b2d8c5e18a6ee33de197742e3fce6e713eaa44b7f1680ef07c9671a90f93777cc59de24689fba2f74700b2225374e34702c418cb92f108818dfebf6045993ebf42c1267c0fbd32afa2cdbb1cf062f4db70b6e5b5040242a7139edd563741c7e669aaf25d57968453faca47a89a8c0dad941149c0b248515728cb472fe5a227716e23da16a7c79e3420491a9fce6f947b7969d73875c2f8a7854c9a7b645cf81ceb7cd9a4fc3523ca22f305c6d7c2873727ab01ec3952362384be4df27807b8d544356e85902a38d649da02d62c4e4e32504b8177c57ba184367f0990d034948348916c292531cab71669fc74014a40ab8b2b884c52b5c334c68ab45eca947c5a53eb3f0548be488ca3ec47b2d7be1b1ebb5dab5b32394ca717841938edd06ef4d7ada173c519df2c9139e780bc1de85dbad95c92daf88953a0567bdeb9551321ce71ff8fc3527eb022a5f0a156d7a8e3430e0b963c4947a616fdbc06fb522432cf3915eef59d59cdbe448f4bedef078798a925503f09539fb9b07f0727fd8a6fde060439b7f25c98266b21b21789c132136b4683bf5874ab14b451c5819f17e59987acc39c8a4a10ac7c4e7cc8960331c72fc02bc7258aff73712c5b17b23c2266fb679d44cb4021840ee7572ce66f3a76c96335daf8204856deb8b818a77e06679f7c77cdbb03df9904e0d37cf9e7d38311a3e8d6a7a3f6878d5169084e04159de4a7ad35fe12ac6e4cb7e673d86f11c6e7b8a1b835075e472652fcf7d8245234b043f37f4b3629e8ca8b13976aaa4c0f466a10aa5260ff6532dc69877979e529aca533379cf4a7c6202885cc55cd464b74c9a16cdcdb80c061ac3783315aa8325acb3bf6bc4d648aa47ed708d718ec8eb47d673ca06fc29a235ad418c459afeb135ead52677c5fdb469e4f846fe63416d85d9ff94c42c23cedd7854093756a04929a5b06e54043770b4e1d4aa07528d6d5df8327f5b2ad50ef758e066938555fbc02198bffd92b4905b4397f0245ffb292d9f3e0e6bcf50d6ac7ebac77538ea4ab69eb46e29b67a0b237a0704f6a64da5a5b4057a6799a5ad1b93b2070f820ac1525347cfc6d4bf44892c1439e2a638d77492ce609902eff831cc0acd3310aa80715015cc8a88049ed80010762beae6c6640ef18b50f46fdfaff6edac8b5a74f4809f2b5419cbabe24820394c1f3f928fd3fa97ac5879114f11c6e38577ff75d081c5b473fea243bf4a12824a340b85835c70b6b6773a4313e6d6ad21171a975906b2bc97fde44e7fb8524fec68e378e37f0653b6585650ac5d2fdd02e10b83d91b8e02cedb126ea0870a6f15d22341a30293a93c27888744c1eb78da66b13963fa3911592e81b3300a18a688ed0cf5b41dc2357977279d67a23794b03e04c6031b955e454f5d1a72ea9e50695e16c683fa537c675026f50b12373e71f1b26ad5f16d2e9780b62f4222411a73f5e36273063298ef3da750d7cf2f65ce991c22b57efbb38097f6a7639a4c36b916b1148d35aefef21b225c151e7544df7fc13f07c4595dd9b946707440cc160a8d334895dff10e52914921e0ebc6fb82d91dd1835a860ac7ea6dadd34a6f3860184503b8ccf94fcfbc334836dc98bd69e11314e22993cd1cd24df1dc5e6d68b2cdf29a7205795ab96a802387187126df987733fe0ce627b64898c3b666142a010c02a53a49962f6a20a6128087a5e65b784d01b9aa125e13051b93bc2ab49bd4a98d30571bb745716ab64c25ff0983ac849f61e2e9e5e1cb8d12edf5f583cdb54cf6636ce026062337c9f4313b85f892cefd3f0c90d1c7a3d39633117f4577769343fe064b79032cd6c00753d9f088da81f0290ab644ecb14d315444574c60e4d3944979d4d8763b1ebd8b5fa2511383e07db7ee619040cb73d017ca8316bfdcada9e548afda8f1e257a7903170d3a5416a5a26569fc89f6e322c17bc43c8f7ab0e28c2a672382926745c8ef2293026e785edba44b46347947c392da74c3806e7d50324eb4e51e7808fd88a184e50b260a2a773d8ce1c97a5b4c1f7b3d19cc49b8b7e7be6db268f9b80001f101eef737e791cc7a84cd496f1c015127a14de1b2913d1cdaaa9c9f78fcd3af95019438b1636472eaee06f082d3bc41cbd9c6f2e203aecc0e6cad42b4f39c0ce27fcb81ba6b2089cd94cbe3b02ac64f32f668b7e2bfd5fcb962d5fa864cdb85498da1a69a2d39ffc0083c3b234e8737f8cc9212996a847afb3d354806a3ddab816f186df3d7c49f66fa0cf35d8839421b99b4f3ca402ce735bbcc22ad701da00d44546d38101d11dc5f9f9a9c5e40d0fcc744955d786c880957faca9f472b25440dfcd1f1283d9fa55876553eb476d7174b8ee9bf22405e21c7ff86db67b7ec058e6563702ebc253046d589ce2650d0eddda17a5c54b8fe9ad6e71c12c5bbc5f193b23102ee0aed6fbdde2161ca2899fb4c51d0d5a1f6794680c0815d7e9f2d6cbd41ec0a94fe50b618c3767241b7d2201c62e78afe65913ce8077918df47d2201c62e78afe65913ce8077918df441bad005d542c027f208773d3f0f4a289c2fea240489badb435b23f4b1edd9af7d931e69a6d8d666843359cf6f56b0cab0ba9edb7e06b8b015b1a4782c73e73b72d431c886cada786953301df427eeb7b0ba9edb7e06b8b015b1a4782c73e73b51bbc5a9889a340148479046cf401b2421478f6e95d4cf20a6ca808b67b3dd122d8f69df98008d9d333154273c3302e62d8f69df98008d9d333154273c3302e694c76d542f258b7d6b19165a0cdadb1894c76d542f258b7d6b19165a0cdadb18477f5632e2786f4e56eebca6ec06a91c477f5632e2786f4e56eebca6ec06a91c160582746ab9e222cbb21c6354dcebb547393d1ce7e22ebe3b2afed805083482b8a6510b6bd7b3df31258e40a63ba113e66e4d01c552d81130307cacce62251d8072afb8255266fa5fb1d14a1a6917518072afb8255266fa5fb1d14a1a6917514713adb0daae6cf5aaf14f43cc6abeac17b71a1ac9889d9af39cfc976775e3e0907b06abfb631baa9379ee48c92f4f6a494716b5c75ca38f192d1d4c788cf3198ccf1325fc6abc9cdbded87f13e9a76bcfa325c3676af060b7369644609a0871315a34561059e174a61f0bff1cc6a08552ad34060f1cabbf9996f52cbd2547e5db36e51a3ab11588123b9c27bd18e8e4cb2941bcbf64ee6529e36f944a7215ef32873a04daf74ed6bd140f10e6606e8e3ad6f49640b78f2cf17ac6cde7bfa09b677311441699ba8c29b33d12c74af2bd31b2f53a97d215f4608e89814c5c1fda0fe6cfa61b5d1601ad5ba3c6b6fd8f7a7ba105e1f3c5c41c934379bbcea24b3fa53cf82c7726d54da882d39ac72d7867d5ca87603cb231bd3e5feb4d406ec2040e18a3cccd78c217d233fbc9b4d5a874fa6cb615ae39f91f120c1744e9f084cc8f0c8d9e046f8a56f72f2a7efbc85e0af48b3e6ad3b1e36581fe33e7af5859e85c86eaf12f73c78d9b3131e42494ad76ab512654abc2df030d3c70a9e666e53ef4705c64dfb45b72d8500a90fd62c074e1dd62d544145cb53e8ccedba51dafeaabf870a9dc24b1e7e98af5fd48e5732900f4b37b88be3516c6ce82d8d85e65adf9d03cf04f85b76b2b055bc811aad51ff8a2dc421778e53b7214b73ffa52daa77c612734a2df82509eda1379f044c8aab04e2bcba7befa2248911be98414867b6b7a159a5ca5b97217dea8c7d5281c05325b8b95563f61cd99b5b1c0844baf0a57075ef8036aa4def45549bbe25c8ed8ec37382ac0db08b755b108c6b125de8fa6160bb3b3cd3cc050318884fe46c12f815167495a829355a5554369058c859b6bcb39b99f0286ced1cadd0334fff46dfd2b26d13feae2c5bb23096e30212fdb208cd6e4c3dce23872fc7ab5e5300fdb52b6230646b2bf53b80b2e4004d2e302cab5afa1029634ac46d1ab556b6c9aeaddafc55cbe202818ddbcae822e77509d4480bb78ca6c18aa4cc71c628fe5dec19f602162f5d7510c84add3cfe3697620d0df49ce16f4cfe96fd3e1a5a43b2632767c5374fcc931cf021b0b4a46172ef6443d598cfee32809a9c314011a890332098a1a1c7bf2c4470fe907e9cff56e410c125dab12d384b85093d81d1d490661a2e4419f3144d569d54b1af904c1664a236308081dbbc94c27732da37d6a6f0ce45344aee20e4fb9ed28933d6848608501a465c321db998b2797780c2d53b2f08572c88fa3c8cb24d9f7e1411f03ce9d94e559e435a693a3f12ad1b9da4286fd25dd3d08eefc7ada76c34bd3063deda19625d781d853ca8835824f21eae0f8828fb3f304504b9b25303335922a6ef6a350cfafd3199ff6455491f5528369f2c39c673c2d182b37a5e87740bcc9abc789261eb2ae079a38ede5dc81ee26c837b2fc32b6f2efc00f55da0902499b8428a2d3a61f18296ae225b84ef605f6dc08c140722e6f9d902620c809296f9b4c0e9854a6a7491cbe0d47c3d5e25bcd195a98008657c0e6fe13d2aa4506ae5af7bab4aafebaef6a4517471c2632a356f24a5462ee71ef520cde4f0ba43d5e9e0406419f654155195d0a7ebf405340cf611a3970788d158981f92b9954b8a77f783e7fb16c7066f16637e49e3726cd14f4fb831204bc9be3add033761a2f5b2a30c0e9db072a473ead5dca181de25cdcee2c2820b4b010e9ed90445d0596f669823b1e6a55d7ea7d0a1749e6bb13907ab5560b31fde7d89541b78411aef02c04f789c3683cc54a20f0e81b8e974b9c1fc3549a130810243cac16d4af2f0daeb8cb29f2339d9cbb652dc8d6e0831e2e89e03628eba16e27de8079c26ec0ae2b19a4bf0dc6b4507f0bc2dcd04f3b0e935316d36d9ef5c28fd779405cc7b0901ff64a234d652e3c6c34a5145c7ba93a666af9653baaf1415f1495d52082bfe328b4408a98bc66239f84c8e54a99d423dbf1deaa927b5731fb87f36d3136b22fa187aa4f1ab2d14c2c5bb6dff2716726ae7b262f678d3e34b51b2b4d85c3f68ab3808d7d5295d506177e53e3fca9897b19b781edde43648d1e86e17ac17f3d45ca53bb826d51f87e9ddab31ffa0f2a077a2350c6d6925a5e48eec718ad238158da994df968c2cd801f876373f770f0ca149c31384656c652afaecde3f320cdfcf7ad1a8cfe49bfba7c93a56643bc0fe866762e5d71364cf64a86a570d2140c17fabeb6ace927985a8b94442f4cceed624c5fb1ddabefdc51734766c15726fd49a7afabdd2aed7a1f91add1c35a2c95184f550fa3cef882a3d5313c9f731cd602e849772b008f7b43b89f04b3f8c9f134c55cec13dd7182d959c5d35a8b125e5b77154642123d6222abc3d34554691116043dba1d88ca6dca58dbba1be889f9cb4ec4fb8e2be09d58cb501850f1c1dd4a37d99ffa349a5482db5da6d885f283fac815a1821eb7f9ea8cf1aad1e9e47924c44f1821e36f194d170c7cdf20898c73d67426db778904b3921b4121862498344fb50e1a53212199bb046421eec0d82619947f6e947104bf64bbf5c73a6f7db602c46c4e3f8a3c289e7392cb9b5b6bd36db8ababea55da4c2784ecdc218358fb05ddb5a4c8d4b9745fd45af3207c74c4b015f400e22491382cd1f282aba3dbb075542dcc613364096eb652b36ba81816b5a5b18bab880b33c202a579501eef6d9165ee0250133f1b49d14795aad4f7ab4a4b9edc5855716030ab634a27e3e0807f140da9d9da598e3add0db5b149d46fbb0b5afe7a6551861b248aa7bf5557d0e9760baadd6f6835394f1aa04cbf28e394a593d25ab3684b2d4f42f453670fabced9ed9788130cd13810e2007bde938698b9f904167fe782bf28dc3d367c950781910120807eb90a0c1d1412cb068d7c116a0a36dea231791a0046d94d28315c6e3d43e0589a3693f51f0105ebe3b08af447d78b40df393b297f330f01bd4aae0a789bb2511950a2529a7216a0ca9d09dbc8ec077b15fa3c796696d1ab502a409bd1acdb534d1e9e6273d0a35dd4d97efef4d5a63ce8a60f0f81eddecc3b137aab29cf320a21729642f59ee4a2ae85d1d76ed41dd03a67648f5228e2dae6486af8b3de75c764a7d71c241808c6681dfaf1efa22f98c3f4ad702faba4710ebaa88e19bc5b0f417c99fa3702e8b8c58903c4015314ecf86359aca5ba0fecc1c08e8b1147f4e31311751484f6c109c10bcb505369f897eced77349fded5613e4f040ccfa205366c42aba4f718d4d26e50c5c6fbac37d38484b87d8f22c70e34470a0274c5ad5cd5c75e594dc57d6bb958e9c5abcd9907b311a878fd59cf6b151d1fc71c199d93091b72527b7e1c60eeec50969ee5e85df230f64fa9147c1adcd86aca185c177344d84273099eddbdc4ebbd4192e0daff425eb1db9c27a9af59a0843ece9d47ac8b1aa91e192345875a9af369b98cf4a919df5d2fd17dba5db95406ae3e9e9a07190da8dfd9228fd3e94ab1eb96e1348534dcc495a0b65316ef6b27ffd8c3df24be35a671f3ce8d59afd539743d8a864049f62b1ee2ddd5d717be0a175d1c563f49ec22954c90b0169470bd4f5dfc1f69f7c2cd6420577e1f3dffaf90b1ab81bda2166a568ff2cc6995d570c367bc3ec5c936963be2bbd10d71866e7d7ce46f6d7b1ff2bda0e626fa832993a793ee03daf1a544d755f119f88938c896fa282b72531f2e4ccbc8825378a9eea333a6b313912d4757c4b3a8eb67e536393e180e23114572fb1bcef7f60a8fbc814050ebbfbfb02084f90ba26d3dfa41654be436e3f9ccbb6d72c77ed5e658fb70e1ea5633258c595915ee5bf0f15cbc66c5e7752f128e2ce9b5aecd3d2751762a99d53a416f40b02e176637db0f85036fb2075ebfdd5dee970e4ff1d5d837c2f4c9da89a56445e40630e8cd1553ccf7ee712e06011750018c4a63e60886e2e3851fdd780e3fea38039be8b4dda0a2e5717aba5ff0254b286da99b1453badc5b609f1e5149acc52896ee299069b09d7000b3fe0f68d701706f697266a4a3e9b972784691a11a98a1f7d7d6cad7895df4054fbb1a2bf18e53071291d854a5f44f8e00ff1b0fa98bb903e4082cf367c892e096df8a366421843c38606ae3033c3a0d8966917b5c4d5a99f913f9ff5b1708a1f735b55ce727acb07051e29b53fefa742e40b2cdf2d94e00576a19cf6535391152aee7c077451cae91098492652c0676aa2e71cee424199fc81df8b32fde3e4bb0dce2199ac1d94dc438c67c3c715ad44032cf02cb5ab282783962b53da0786c831ff5d355a67f8e3cc70dec725a6cdb24714dfa59ca69633e361e2bbb43acee0867d0fb31261e58279be90334e09bc78f0d6524220630a9e771576649e4454e471729c70be1a1d0fc1bc4e39ab61a9d8a9d99f5b3154bc9a1534047abd54d0e115e106af818db3b2bef861387a0ed422323cac572d1c7dc1115b37e03e34029940db53a15021a2f55334ba18d932206e52892ce8d968f39428e70abb3c3f092fd1aa633424b8b48153beec14ba3ddf86488ba5e1ccc736ffd9070af5d070fae918b44bd030acbc784e92b1f94239e70c82e89c3845828cba19d50e9dbcf0a4bac5df164e958d0aa4381bcce2a11ac90a3085b93ce53642f44c13e0f5c127f05c133581ada61c08f55ebfa8f6d9c5a99bc4119ad063f8f358002b4a47855a71e6bddb1a3d5cbb1fc6c953b14250597991bfda0013d6961ccaa06b7b3a01f0f45b99d2815d0b689ba45a896e8153399c0cd94920bd9eced3d5e43773061e52bf270ea2b18bb3e93e32f717587ed864d0d481ce90a88874c447dc86f9b913457fd6eafd754756ec42f13a4c6501175c5861edec56829c571cdb0d3cac5484832f3eb02b7c4b9b806e72194b1fd814f393ac753d7ef5a950819a246d3e585645db7f07acd9b2a3b92f8d093e802123fc72f54a6b5e78ea17744fd145f13d01bf386c44d896204790ae313060a3e5ab0c9f34e280f30ab814d7886320dbe0973526f29b0b48ecc6219181e74b68a00a33627d6ffadfd702618f63a95e484dc9a260fd0b1604c357d6e80dde7690d5fdea49665b096b7a93766507f6942eb0cc3c92935eedd9a98e39816e4342e59bfa4dd6c1585577fa7eff877f6144d2883b998ebc228e1450da68bd56242a446b4f5d6074217e074d7741411a3da51d9063cbb494d43bbac6db233a22340f8e7bd60a2b9919d0c8de929c402bd0f4ad102d509f317092b9bbe433ff5f21a6a70dcb0206c057472960eb4ade243b2100225c8f6a2443a3e22eb99a96ad601c84e8ee653a74d2eef64219116d00b372a59522715720b643174c6a3e1df70340bedfb1a66c490f0b5ab65e17b6f4ec515e5200897fcf6c19be8c3bda29c7e6f734935e49b8d83c19db0130186c2b66a6747b1c0f9acaf6e083f1a2d81e5ec62d2ba06da70d777ee6df4cbf4a6b518c31d2388c3bd5356745df667905c23a2ca7a4e061b27304bde0677d6dcd848fcb8010fc28c1b479954f5d8836139fe408b782f499863d0c5868a9c778e0df6fc8af854a968678570060b0c34346e851f3c29db9a63a19ee1f84d76f1a380886aaa50e64c89b4b639f5e26f1ecd83e095aff5417adc16827ec6e9f4a561c842d483ddf5b76b1403391f4d592acc79b8c309b0945e8a3d1b7719aefde1d18bbff981186c6671395341394901e36cd88f7e0c0c2c2e311475176c664fefcfecfd26b44df5ae96737055a1006f265fe708f5b3032231d29f8b66a706acc89b75360eaf6cc6696072429c74daee8182c561ed3626d05de6463ae15047f5792c368add96dd9ac200d7f606b0ba86307de759c7f50b19193848def03d945659358cc3e1ffabb1a7f31363969a9c7caf0c64e14878c906a95fb09a50970ac4e829b04b6ebb78e4cf2a176befedd37070f3767cbd21ea387c6a840db3dfbf8691bbf573d4dffc4969ef335970dc2d85f0ab9e9979abf4d240b8fa9a4115f5a6f09c15066eafe8710c873aac2b64bb5016026a7d80a6fae22b752b40173486f5a5d434c1f7c932bf2e1d3203187cc2a4233cddf3a0ecea63c25867f77502d30095622653dbdc2d43ce018de7131170651bb10447519f0718685919eb538f3dc0b41cdb37e523d1b917fd662a7c97acfd0921897e6d89b1868baf0e7c621afe2c644ea456956af29c06d1e29df428bfeb5b738f0922dd599080c72308152411c27b9b5d22da8e229994d531e6927dbc9f75584acaae7ef3ad7d1d54cb85a1cbb4b3311171f5eb2f6ed7bf706bb15f8a489223d4c087d0d9692a00ca57adb21482469a15419bb36ad686906a8415a2c198f2ec6614467b1a986f8f6b7dfd194e6411fb33eeaa85b923174bc2f92cd6caf70a9b1f0c44a02bc3968abd3c792b6dcb594bd970d0d60cb8f5eeaa3aee3d09229260c7cd0cfb01a539f57a6cf04cfbf2f2761de2a7fe3db0820dc139a08ad4ca8c56d80f4c4e7f43aa2ff62935c6dfd5cedb71ab344ac35a03664c63b68e87dbacab298990af5dba783f13d97bd7c73c2f97b3a5f6eb26145a797a8db0f2ed48c61a688e803c1d4503136511349bf3d4f61f2647b25b71b14df6422504fe75b7f806df8823525209aec07809dd371f1097e9eed0cf155722796863841279ade8748046b95e6e36ac74381469f647854278c5514370c28e46b8ec66a085d5eb323d8a7c02ab4960551bb32343b0f25936e11a8998d19df0c00612b93ad28026a137954cc48986a1207162f48ecf332bd511db8f36eb989ebc2abb33d57d7069a9f52609c93fdf94bb176f381c02438c23b741d945cbd0b21c3e0d6423212cd8fab6731cb4734e59a841481ded9d4f3013fc757d7bfe46bca6f1b3ec2592238f3d42bafaaeccb834e5986222f097ba3d0b7555452f9771b0bc448d1e83db292df73643e3c21863722299c0b1074651e62db4b4c65145b4b6bab77f638e9d2426e5b41eaed0b21312782a0548b647462d45a2ea1a46415f1ec73bd5c2bd061e342db028bc780c5bfae138189001110dcc2ab483b8031b61924918039d57b27a08568a2d32e2e3a6dc66ff12b5b8cff6e3a1500f5d80d1a1ef995b65612782143d95b92880e0f5704d9b04d8a4434da7b142a08d13bbce9c14354002b96b19c55f9e5637ca50bbe2d2ff761cb94176f2d20a8c3333d1b41307c30edbe2fab8d88581ebfc65949eed4afdd83ad0d846263f026140a7b6b9564698d035bf48094629b87b84c91e55cfbd198a39c1f8abf2535128eb0fbce6a2531a0ec47ad10dec7ce071f26479441eb968d3994d3abf31e808da61bce5f6b3a2d2993fcdd92a23f5bab22770c688c91746ffdda6f6830dc5834ed4d9d2e0a85f62f2fc4df545601964bdbaae5ebc7179bd8b303df7596dc9e72f3d18d7182f97f7294a71c71206a4b8a349877ddd6419389aaa971b396da324dc2397cdfd5b9dcac96e375b5053deac54ee5ad6c80476f8d67b3753e74f2f46e7e90ff760bc15128e9f0ee831ae44c7b05c27c2df614c7e1335b0ce48eb1145293024e026d228fb083b85a36d32db98f2c37cded4736be608b089f529368ddf58057cfb09a47963a8bae7054389bf57b58597371ed6fa6a2c91a9fe7f8421cbd927e0873c48aacffc1f1e3d703d9e174d24f363984ac088dfad64fdbdf4528533a8fedccfdfc294292b8be0aa9134c76752d12c7adc4b6d9685de7b9622a03b8207760119fe239d1bdc1858896912e0ec2f2e41da792b56d0da50282824dc5a08ef7370e51d24914c7b362c12e1a55d304a77f41f1828e03e559c4a3309583205b3db7a2564144cbf046d5a1be197315875d3e297a9d3acfabb5ec8ca51532673a3245829a709723bb81b7f4b2a62adfa2db810c7706d0074ed38323903183d5c8733cf6306df5a4a765ecba29d9b75b6e1cd5e137f92d4bf6ebc4dddfb833696a9afacb30733e84160ae8ea5f6f3f32499c78f3944196b4a0e19bcd176eff4055a7fb3f690f726fb8739edd5c78ea0879de8bbf5431ec45fb90522dbcb33e9561e88da1bff2aff08762b39db9bd84cdcc52cb89563f8c6facecdb6691e5adfe540a600ad786a7cef386aaedf0db4843f0590919a4ebda0b62354f2fb67dea06292b5500f9670446e0db38c55b6add43d389115fb78dad0521dd10a08c355aefabc2fca5c675a565349191674fc2d0c2589e5087ff423f89125691f06e7c444cfafcd80cce0ee2ab89b08c99b82a745d94a925db2f1eca43b3b57b3e353ef3f96713d85e242fbe855f0089f52b1be2cba21efceaa2718a38469a1f2fa08ce823292aa570619cbcb9130e99c5fb13a9e23178decc218ff3ca513fc5be18b49d16d2af46aff282352c279b3d943dae3a4d4e10c5bb3e82bb0107ec6a37602cb92b1fdb3613a43b03333b7ae96e31709555a1e7fa2ff2b39659fa7b9dd35d29cca245422c250a9ab8cd2e3d812f71e6ae97ee4063fa457c49cdaa049348d73bedd23b845d8d333608e4981be8f3e4c9d51b411f039ff6392d62825d8ba88eafc4c5a13831a85d1ebf3529a09c2cd161dbebd9f1d1fed65f31fdae16b784c579ef55504b11aeddd231019707aee6499d6b4de188f19272af5a7e1d49bdb446d121971af692c67b7652a3891a035ef5db45115b5f18d9bbdfa86219afb0f4503bc16a108a0375491610c9483f4a5f6105e507431c5c85e5ea6cb85f1509248ccf230dfd6c228bca304e0abe19b9acda4ef4d96402be5c4e9c41c19be1f3df51bbea01d0f3134b56e1388c0efcdcf475ed2244e63fbc7d3b011f01dc793cbdbfccfa397f38dbf036567a70097be266b17310f23a5c7488ffce757acbdb40e209f7c499558e333b57b042b158f2a3139dbc21be34a9eebf73a0a0ffb0857fad78fa5cfb271aa2ee9c3bce0027ec73b41bd85555f3c2a2faa0a7555ea9b240fc804fdc148b9691bbb0d40bc956a5c74d7203ab7972309ae7bab9cbd32f29d3e3d01daedecdadcfe13e94ca3e9d64a6d23d3c07cfa14c56ad9bc03aa18a5242e6768e2ee66a7c9f3674038a6105c474dca4c9ebfe2a4a103f931eac970ed0b3c98034287f3086c70b3618a943b2255c085bba31019fcd7f6eba9f4030e5b2a17ed08b9bc9352f368028153e9c6738f72021055e93c98f320f7e3e34f5fd5ff94513969b5b7b9572302c894f6523901b8c1a492dd9138f37641e89530c3230d85c8d491286fdeda50925bc545fc1dcd9f60cddd2e371a9078e094da39136386c06d6463653045b2f2bc8662ca8e3ff4de6920a1fb30430f0749130e7581b258c6b1cb41f443705d451278eb6af260700e5306c7e573822cbe2ea1930b2bf9ead13bb5698484eb3becf81be4dc7c496a6e609fcc80b17f00e449dfec70dcf60332173ac06832947f7d863f154ad975f38a4148e18f64d64b7fb3b88523f6234acb9cce17c748fa14508a4fc50404ddeccc4d3fb3521d9f87c23d5419f89cef013a688769ed5737469ffa02b38c7d337de902014862e55232c5a35859471ef27d5fbefb19725e78eb4959588b2673722c9cc3edfbed4f41bd2f7a2fb04da16b01c41b0cd46c88ace417a01fb5b63c9c860474b7dedf7472247e4226ea837e63f2021fff5df7fe2c0456570a58415d6a7ed01ffc8bfd109ef7d154a2892250aa9b41bdf2f6906b5b9c952dfbaacb9b5d7a5ad7dc9465f24fda87f7da7b10a1fa5f1be5ee2012cdd089ef3b3f56d490b93eef42a3dbfd9e445b7f583ee971d7f681b7d83bc1c0f70977e399a1b4b6e98a92a0259dfb05e07f2ff32631cf356e1a4b5c42849a43ccfd02fdbc20a3dffcd0783c7525f61ff6d625d57883a61bde4f8ee0fc76de14c7a9b78286746e54bbe88bd4d6a80ecde17a98ecfe205e46801da1c07b38e3078d5ea4c09ab60445a1156eb5e06b1742b55743efdbd98107553beea9a710661e5afdffd578643df40f3d39553c563957c7be3b7a28e1ba82774696668380e04eaf733eacdb55a63145061ebaedd89f32abe442f9c8feb56fb49be1f1177904d7567e23ccd2aabdb905df0d8e830decf20e8910c767612e3c0b2f99498074a6991aca7b9141f3bad7c570755ab386c60dbda04ba4b153f2e306841f8f82c05617fcc8f0d3195ded06c1593a37bddb8ccc820af8e2c17b695afa00a462b79983f6f6daa48025ef14896dee3b846dc0b4102b71d7cbae280afac20f0b3e1b2935da109c613ececca4f90db483d51fc0d8ec5b0bcaedd94eba84023db7139097c54bdb6a69c45119a4e83b56162df905ba519d037644fa08dc9f05cb43bdc830dcaaa4309a8652448bf66f377282bcce6482ae18cc3e11481b5520bbc4e4861a038220c58a09467f44fdfc864a4b8ff4a5387a8e06c8e356658d6094ce9d79226c9e94d8f02e20e4fedf3b11f6058ac6f5849c26140b561a06dec3e9e119f4301099aed29131ef2d7547f51ca784711f37b1421b05e89dd7cb3932f51669657238dfd78f2c8e0ceda3bec48017b1be1bfbf596dbdd7832e6bb061901d66cd33567540ed49cc5abd453f161634061ef5f830ff69e4df8cb5078a757784532d7373946f15aa5ee1bf1098e4d4b83e2226105ce5bf3d0dc304a72fa4f154eb62246679f7bcfc9a7533173c5ac3686e49333de1e6ff34005a42a3eaa7fa41c9dd308d32382494dd94e3fce9461946c83e47f2554a3a611f0f3c1e2ac515cccdf443c947fd859b564c9788ebe8ba3813368e963e437298962e7a3af377ccccb9d2ad152235d5325e371eb267e263b33cdef9ddf2cc1e57524dacee71b3e2cfefb75d4d2f78d8698b78bd4b8601f46c3f5bb3d80af60b4cc3e70aea66b606c9f62887b48904d52a663d9d83636f0f7317641445a24c6671d51f5adde27f90eb0d57fc1f5564ccd793f610ba63820c3dca2b28284e5f61fe079929dfdb1fac405736f5807aed98db8ed8c6749d4a6d873eb4e4cee28a25d577422b9fa8a26823626868211ea2272ced2987518b7b21677a875623c17699eaa2a27d07eef7ef75a3e782b71c580ca0f77e95c3ae4903f7143b05c4291e660c8c5b13cbf0951169a7907f8aaf989f8a7c3de3658cbd07929947784b1a6962f38cc03573a5227c7e1029741fac245d2ce457dae7f5e82c7a0365aa58acbaa4156b7ac7fbeec03011288c344b4269b67545d18f4f4548bb7c4a1be68a78d60910febd309f4caa178ba1c21c00877ca749751a7f1f7d3d15d55dea5cb3531c2c2d1cac7264ba4c07051fd22ec8a2b7d4e7cc835c4a03282fcb5fd57241745204ec7fce0575059f60f2a23944556c54be512a92c32618b32149c565d2c242889b019eb3bcc56891a89c647295e25f478dcf1e945cea59db4c9d1166316f05bfa35e0b9673546f0edab4699d1df12af22978bb753f4ec7bf5cd48a9f28f548c982926de0a5f40b911c768148402a7cf1253fbe2b5c45481cb3978bf4ade416b6a31c933526ca925afa1056db09470de11809606e58bb20b211ddf5863cd65f1b558d928f2cb71102b97a5145ee02e049f2ef304aa3e6a9f69dedf5e6215ff74f5d4f528f21d8888d57477ab85a156fed6e902878a0a99ea65bf60686a900b9cc2c6028d8f30654b01880e7bc1b92e51aa52c163304fcf9e717d592f5b646f2dfd325e6693e4f6869258668a858aeb2984ab5e90793cc3df8af0a297861ec267f6110f6342068d8a28ff5dec3fbddc9d2376240f5151e89a7acc6c67bdd1c421c9da96220fea4270cb6205e629844731670f059c946df27a4a45e8571676fe4e22ebc326e8a5c35495c831852be0eef23023b1073565adc610d791efe84b4d6ff6cf2ee5719360f4780c3cecda67ca9ab92cc0555fd9b8d4e7d2159e73dc37eb2b420c412a6c15d357e16763e9c7c598a86bf6e071f19e6d64a31c7d9a311df097cf124d20c639df71ed9d13d7cc5dacf6c3f544ae208accc61beda14d342237f6e05868d99d4ae43dafd1b57d45ff157fd94b9fcfcc3f6fa8cb563cb38c7f7b0abf4bd072833169543ad1921b9fc22892c7b04bda82571114687677531875c7f4b31d99cf6ce2ffc96aed956e0ac0ddcf9f70c92f6d4569c4c65efd9870fa4db85fb97949a922acfa156b23ed9192e673d9ec5fd67fb3056039ff12c1da3603cd25bf47035fc1a9a5b751825f7b542355ff82051452c739389f5a0c139a6c517b99e1a7a5156566454aa3a8c404785e53f0b726f7074d91ea6d9c1c5ef16495fd7ee22a6e6b6a10f6a1c0f98f0636b8ccb6bf8e87a111d2e567720bb13161061bd8e979def595cf3ca3bff1b079c87eed3a7743ce43f184b06ec6e30992a5c8e269ad9a60120f429b24384b29574455e698406b8fba34f911335b1adab8a09dec6fb54680f412fc0fbd4b027e9c0fd0a7f76c8cadd71bce44905b86657eff0055a9973042f362a1b2287ef6515f7630aba752ef5b8c22e47f6108412eeb16d9169875cb8d010bfbb880061f7651696e1f77851ee9e4c9511f677970be44e859ee34d6c51dc670127876d8b9b9c1a5189a2600e2e495269b9d02827dedfc408f9cd9a9fb436d384fed8de0203fe12a233a5bfd519de0c0a8328c7d1cc930431baba604e52c67cc269ca8390ad35e21459b228adf014057cd4f00871303fd3da4e76af1e562133659e89f872b065308fad9d41740389d0b55a6e77556bc9d636463e7a87bbf087377a3f44f2d0a3615aa38d3b8951742c6c0b6514bedac9dd2b0050774eec16ca309c25ed4fc99f37defa7220c7dd92f78c86855f8f065743d68f1e03b49658e5bf347dfcb57b7416f35a7e1ec3c63a958e737b41d9cd5c77bd081d506838b84820ea55e93713600d3cc1b9c1c46be1826077152c938bd7fe6779924b5369f34a11863c4c2fcce101867447660c89ee7ba67534125b3a8e5d7550b1bb224d2e1058270397af31c99142859b4bf8d3aec733d1f4582be7a0149ef97f23a1091fb377f492be181e487cc950b9bcd851492be80139261ab5e84e1c829d484a99a2624e24bb6bdd0cd42ec184d8c5621653c29d9581d48b752d809513384ca1b691a2a106a7ba3384a52bd02c872f5dd6749bbaba732be0fe8904abf091a550801f1ac302fd589d7f6b5c50dcb55e84e1d317f5e48d65ddb584f91c63e7510a2aa179d53e08809b3b96cfececc7907c16e3046f8f100282736dbe23334259477c3623db19b30376904a528fc683e016ffbd318112affcd95037e85c925d94e0da5ccb2e5b04312af981b86ee782eca886dda7b81e37fe0912eebd0ffe816d925b0254284331a53eb849c7c1222b96bd6a80dbc60d387b42d4b40190b74ec27d41ed48ffd47a3f9e0140ac801959ac55e911cc071702037e4960e4d6c17f065d273c7c71e4a84dc2cc3a03b64959702c54e8a41fc7a517552d9fe0f2f3912559c4c4409fcddb0311058a599330d874f4c58dc945ea7f3f557d9e06a9c06d324b479b018c1e5c3ef11e5a9a268836e44c7a2e3242a839afdfa49c3af34f833dc8068c27bf2645fe4771905e91bcb1dc81315c826893cb98ceea50f917e3a2fd2a8e9471ff6448a54385abff6d8b5b78e63bb0b8eee442d204f07544136cc38a5522f5be10ddec1fbbfc229fd5838ded0ad9dcb68a8b4a3568df900870b87f864a3752a5a63e4aff46e925bced9d98472d341c79d63469f410c5855731460be0da21699ba68e0b58fecde46ab7098e32b6177ad6de2b7f5e38117c30d0f9bb30cb004fdb066e8399d47dd501c2cb60fcbf7c70e42cc177a792779f5b3d20c9c63e83beee810755c818cee2a880a1d15c88d6f09e91341a6d0c889ef3661f661c8db800fabb2596c1a531b7ab943d9ac55de22e4c4c6ad334b5c38a745903be01d25704c45d8a3532a72d2efca7f302de221024637ce9b2a99f7624417e79dae3331032964dcf8bd2de0aea78c76d05d9107f15c0c73c1a6b5e7ab27d6e72815e83c8643ba53cec64fbfb466b82985395973c9c7d2e334680ecdb7052951d674f4760405628c9c6de424a2263b61f1d4f6b112554616e05fa8ce92204e90f60d216e7322d7d2d1b82bc0f5aabf5b000122a1f89e5e47ed1cf85388b9570c8572dac2d9ecb6c2881a0171112253e0306c117bbfbee12d7786b305fb9617e560cba8c60b68ba8334c4d36590e33ea4f442ea403224f4e4c979f4eb53163bbf3f647401fa28eeed7939761530748842e80f60a41552c9c17f9a2878979baf31032e30dfd6db7eebdff02f15c36a73bb086af52072bf0c4ef637d37659426be62b1c565b61e0110cb31e3c0dda6add72153844a41327a47b7b8ebdf74fafea542bcbb93ef0f207003ee809cddc411109c81aad0e09a2c548ebd66007709678758b9b2eebc6e43e844258f56e207a3b8fb569aab4a3f806e500f90236681fb24919f5c998a082c8f34b3e3db6807dda57884aee04cf3d63566525a9f0811828b8288201cbbf86214d0d41f33eb95f5653e9d8d531700fca19b6a3ed4351e152f56ff0f76cf2aa0b8c51af6561261c1aab1f17a161d4addd0e4eb4661343e54083524db2e3a9adcfe454dfc191e90f0b35f7a05b60717c96cd93f50c21e8133224e9dcb174114e68ba4eb2c0294e656bf0497c14e2c965824e1908148d64abec660bd2e10ce0ba01f567c1d15aeb5fb2bc36ac76ff432e9d0714fb36b209d8db2d6e1ac3bf13327420c6bd84d98a5a1cf658e6e47c1b4bab79dd0d963ff47273ba2d093111c8e366600cce905b18a877ddd21a01458859ccbd165ccd6e094dfd8be67ff1b2e23124aeadace852a68eb6681cb15ce32f33b01efd3d8726a7e1cff65f9dda98847be23592b0becee63e33187ab283eb31758d3e45f50f3bf5e4fa3f6bb989298d74dad10ab91a2dadca21527777c0794c38f5a86449fb55ceb7630ea21c8cbf5c715f375e96c07f098fab15791dc9a5232ab40b0656d692907f5f25947ceee3726aa38a372c98905f0955a6795c9677eaac1aa0a6c68aaca13454e84eb786f398707227fd7982986987b4fb7415b85280e9f5622ba25f29c904627650a68324b119422a477874c350c37c33a4bf251b7fce7a3ef86e2efb550513fc63d676ea27f96c2e284a1f023ab43c932c04d5a52569c57d14da25be844f33752763bd7b0a881f0669a0e51231df87533821123dc93c7fe43aa7db377719cfca5b6c88f7aed6c440087646143ec6c06d0eb01db52f083ca93aa39a7aa064d3c68dff9804e37022cf85001474ff0a1e8cb32c99d40044dd2d53b370d2c13668d55b5393c2101c66ee28cc26e9a20ff0ea20f43902b695874c65e10c1e76ca21a3732870704c6625dd9c528448176161254ee108137bfd218b93424a68661416220fde1052611c511e01892c32ee63b7ad93bfb7ee127273d1977379bb2b4fce147bb05e57f11850fa4309b16fe2aa2e79809e4bc36f4aa46c072ae74d1df657bc944f010ca1facb8a60abfca9f64e0bf46338802e267124863181c74c23166c58c0af3fdbcca2fb98f243411749d8ddebc16acf69f1652b99ff85b1882356216e250fee287ff2fa4e1de958447037622f0744e033021ed93628156d451c0df643b22100477015e9218367ce2421d6ef5faa5d2b88f7555f4f911c5a7f40e12529867c2e3e9a227d758b0c7667af56ec2d19a083083e394c6272faf9fb6777f85155ea45ae51a2aeb700f6e19a32eac7eae998325dcfed4954e96b41315e8fed84af8cab5d657eb4139cdc4e2b3c974fa89b05860722341780f5bdcae40eddd10d67c21e43a25f4371cf7c59eba3b95592baae5a7ffaf5f8e10d3be70720375743dcb63dd1ebb84ff5318ccedaa757eca2ab60e025c493b3227fbd113302e2028e78ae8b76343d37aa0d2e74064c7b933c280f73b6920507d2f617d651f5993545320eca17b18b178001d4c3920a80e74d09297809bcd50fc7be7cf4a84ae5567fd43b42aa9b52aa68b200bde322af573427888dd29ed0af899ee8615c252dd8ee29a56b310de80a25afaac86c3c1128e50a1a728342d751828f38f87d55a6fac7ca396bdb02725b321978129a9e552b6878fe04d898cbe4284683d2a96a9f7bf73cdf127e30a524e4d4ab6593b534e6040466179d7fed6091c22a185deba41cbdd1f6ef76fc69684200abcc1f1bb4e9c3ed895141b24d39e6afbf45103016142b9073abbee08c04cd5b6a29e251a7c9cb00f2d7e886f145bb931dfc1d6f88796cc938bba70ebdefbeb70d4669ca490143496f9b65bda2d1a0909952f76e50ff523b3e9d69e52c22aa981cbfb2644145a42aca45f0afdc02d8ef31a353248b0867fc14a2f35476503fe5372127eb79435147c9c03e47134a7e70dcc9b870c1b20caf933eeb092d51a496836a9dd481975f6fd3cf67e30f3b1f1da942720f916a718633aeaba95f77bc0d507cea64b1bb714303ea32f65a3c911ae7d431c6457a127ec31a71f3582a97e564d0316484995beb7d3624e19068de3fdf0a4d1167856cc5e8c6fa3dc4317dace1fd5d59b0b655bb5ea93f9f88f2fe2f7ba255cd110e5e86f76c2fce4b35568dcfabd1d1e10cbdbbda5c377bbfc4c0a9d19d7af0209be355290ee229dcfd5a74c867784bef7dcdab3609598a807bcce2c329226328629e01d626d338fce9186995a231cd080bc720782b13c043534be915aae343e412e40dc70b843d4460d2b32d333c187075ba03b16fbec139d3a423a3a9612eb39ee1f3bd768002f10f3eb7d500f067acf704869578f68ab3e28a9ebe579fc7145c3da4119ec71487d94a6d3793bcfa1249bbdfdb36d9a00b66f10f9e3efd92ef7d09fe082f217f711c368263c66a45cbdc8dcc1aa5ceec7d8ac185302e556eb8c3768efae5586703c12d316f90d59646ab87a36e334c3f950ce8ee8dfec84fc784c1d9792c9808b5e0c314f30ceaa54403c05ae85a432509b0a123f5c6d679e0baaf234f3075a731433509fc6bc76207e1ec0fff2a0352dc84ccc8b31826fc9fb4006a59b40661ce6f63a2b32f50a9b5f05220f29eb7662deb68198e7631cea339a5223416e44f8b871bedbf836dd3188c9886ab43daf6389a013780981517c6111f6c810ae20039ea1574bbe127b7ead7329b4e5d48ec5c0af86de10814a627d98e691ec158a61c5165c9bfb8fb119489907ef80936b358ff8777a85107b5dbbb1d2d0ca61cbed422fbe4ef2086b33a5d8e67994439b8fea1e45d0c45ca0852a61f7c18c78f2473216899cf00e13bdd7a35c1efb8a92e394c43ef6fad2e8f132cadb9f7bf706eb44547e00345a9a40b8cd5bc6ee49a7dda6f2c6a48cde6fbc980df84929e6358cb42264003469d28b6225b8922f3349d2ad27375cde283497b88330d458772ff39be06539f03d53a124a463c3498bae938c32ec61ec622d182dbc9c421256d61d4dca1dfe2a3a07f0b65daaa6beb18038728856d6dcbceffaa25b28ac48efffd572b7225ac85dd2d1671c10391dfef35694609642b748bdc1e6893fee742309426c41ffce50d61bb740f2a61cfee1134718f7982e5e2a1717967a05fe7193979813ba3f7d61cfdd1d28597c68d2bdfdf33d918010bc0efe540accc2b9036535ac36ed67ddd035df3d6bf322db0a3ebb1d23ad081d01906d16d40bd7891439ed0745ad3480c968ccd87c4b6ba35f8605f7e623a1c5cf21dd03f1401adcd696c25daf71a54a0ca18a61aa9a257811a52b280857e7568f75ae360b78bb629885a9ec3dbda0501ea0fded59e064e09d305e783006e724ea8886c22825b1b748fa170baf603171672c52819b23b122c12248f2281c99218554b84f0767961cba557af127dbb115285e43e36808126a0aa228adb3d9e3d61287f6b42fb005e4c0a1b0f068e2ac894630e3fc509af1d2f5a681f309ad9108e674cb1cd14eb58fef0a4bd9e908b79ed45463e02574422ab3cf68406fa041ece03d6627712602d1bfc00b9518f45edae033a91c3065f5e1f4ce2035099ffa39e9439fc3dd7115d4ac65139a968adbf22a44157fe9975d9efaaf644fa48316f81dc713aa9f0b843d0a76c3f8d6b643e1da50c05c09293c918ee62be5b6661c0df130f3c76d1137043331f5fc4d11c7f712e02395fca915853b17cf39b842c0c78fbc94775db3731ef2362dcda90075391375b190ab2b6082db51eed758195962ae9595685ff665bf2f72854de06a5fea94a152865c0153ad6e7ddf8cd9c0c38d87400f6fc584a3cf8dc4d0fb439b6e5ddb20771647481985fc793fe5387875ab2b98f703147b404f6e718f7e62750c30a2e9a4c07dc8459b419446b0eb67d43be972e1c03035542d3b4c2b7d72e3ced746f7ed0f9ff4a815d94cfcf5d9f6473cc1c507729f223ef4f0d234bafade38aaa31b5721c86b7d3ba46b10be15868938443034c5470c31ceb89df2acb8d25012ee4871e07d1c5f1fa549f6966041bb88f7ed4a56961e6fc1c14294cdcaed33ea7636684d4af0ef52e9ab0a9091e0cb072cb63259eeec07fec8476995998b72ad4d448ba8fee8fa4ea773eb2d7cb4df5c11addecdba1c64b6bd641d2f3a8f3bdb4f7d5f896811e9a24aa1cc8166216e4bfd9dc7f7ddf8f2e59337ee8ca7440b708c6a5eaf3f1f2aa309895800ba854729271b357038478c138f42f3a4dec582e6076b75cd2a16c93bd817489740a0e591719d7ad35f56758967b48dcda912162fe46e362e2c348f2f0dbc08996e5221046d2724e867632f8c9945cbfcbb9c807a7f30e7df456dbd9634a34ad484efbc5e4646feb9fcd8f3c5c6d145dae64e582e5b6e570aaef8b56fa175af9936f3eb1686200f18c3d10138b27d3b839053450d0bf58b82b0b1f8528534ebafd5e7838f66cff4705d43d0b7f799f25d51c839b803351648d27a2374d9db2b0c7fc0793f2d38f594605a9b900779dea284d743b0451d91199c95c2138715a11ab079c3720a9e6dca227e5513db1a2e693103ae327c63d25dd52e808d9e5c2c011afff19f5cbdb01a15a465d4d59327eef7d9644ba152ae4ad04b782fb181d3828407d9a0d2407442c8f83023b208f2dd3ac9e2a8c58119497b28038758d8bd6c1d00848827f7cb5ad663b1a14dc2989c3d774d7e9b7cbae58c299d20f1c9135339554dad9b80cf8a9d72a9fa971add324f9123a14aa292b75052c19a2ee6ca12db9fee1f422f587b37f126db469f4e4a7ff9d5069a99b62935dff76faf76383f6e08dbbd0961bb8b2e8447c584b5a73e0456ba79279dc09fe22b410e4d61cb58a122bd67ea8bd956131675021fe2111f53ba135f72e64b3fc00181121b26d8d96123068275d9a239f1d2b9bac806a56417d18a7b068eb493d72103b5e7905035f2152ceb614566c699de8c4ca9869d108426cd33666402ecbd22e8197ec8c93066d0e45291239c774cb13fa5d931c97c423aa87336fbd39b234bc5984eabe69dc3224336163a601622dcdcc401024f99fa753f86011b93697d45f1ebaef2994b3ccf4718cc04e86eeb095b68d3bd016b184836dfce9b0eba6f49976bd716451b0ea9d386b5499821be1129aca5d1fc448add24eb93ecb7cf06059662a96e2203bb44da84e9ddaed4e74613de153d01b75f35df15d718952d6eb1b077b3433bd51042d4e0c7f757cf963d4192c4d1dc5a632699b1be366fae8b0ae874292aafe3aebdad7b4f14c5be56349a1299892976896e05f79815ea05b898fd4ec835e44e955a843a4911f0499d9bc258cfaa76edf665793a0287493de0a3df482dee230c2538705df90f8ea8236a7a3abec504e980c33b13c8dd760b7136d148426a3cc7e5103f79b39c8bdde85abf6d7a4544d514a4a8de665ea786deae9ac33d5937908b16fca2bb3429cb52d260dc02c02a280335849c2179ecbb9d47fba477c312459003f9aea3d91b4f8e8fab7faf672329958b36c9d4ceac597519dd8a30c02230575a00d852b9ef8910793ee397b674b25fbed84bd0a9a7f97fa6941f2112ce50e56c791dab2fbbad94bcacf26a3d02442167976a5b029f1d2f5c4c35e18557625640de364afb1c572b8438ccfefb3db1236aff397a51f0abb5463ccb60bd412d20b578669c78f8f5e48d714e25c2dfc56da2e0faeb450238e3658795d73547c0a69403616768fbb81d5b728dc3dfd6fccc87aa57acdfd9ef65f1bc297cea7f489136a7948e4bc89948a1e25b8a40b44c2d3ff51f37321e5c59b60521472b8db79e3cfa53b0b27f16dd9fa1d32dd23c7b52754cabb7f9fb5e68ead6031b9298eb85a6358e3139107a2705526fa6d720af8fd372240f5f6f72f705d1ac6b1512c90081b9acbcd95ed49e01f9af49e0383f82b80e2abf5dcd7d61ed610b5e57bdb10fa37c623b0b12f0a8985edae2203424bcec9a321ac8022c7694482308e1056500742a4305392d2837fa6edf7ef97187bf8d89d2d69385f8244b1881b8f6d52364c0f4cd533421bb834c36ce6d20511016e996d6da6b752274d0b835871aca52c479d42f00b6055df03981976776e1bde4f3104055072d7ed906563cdd32dac705842e13e33741eac372ada136f4042bcad2b32ba662d57aaa62176a3c5755c0f695cd5ddf9e21e0be8eda8a70fa6069fc2f3d9cffd2f1db835236f8e374f18d67b44cfd2df26f957c3da1e8dd91599b26dc806a5d43adc594d3b24dc4d663085344ebb728e9a1cb34b44123b7dcf602d4029ce846fad021e1c10979c52bed51b804b4535ed15dba16addefa48f092753c78eb040012f37c5a124927244b2bc5476df06ac5b4835895ce46f936eea2eef09943d439a22a02d775a3d3505bd33c276c2aaf02bca32460b5e9eea8a5f630c3e96006586fe58ae7adbd97c0e0b3469996cfcc9b75dc6a371c33ffd0df0b579d18224d3874a0d69c6e85218961fd8bc85b962b2cb6033dbe54e087e3f8778de909ce504b9d0ecca82965a7d0c5c72a9d3e107aebda6e8c1c18336a258865293392438192c6bc7268c39d03a50b8f6951761f8354de8324225acba7ba6a0686fb6223942e9bb86211e09f2fde3c5dd392cafd75d6bf04a069cf1bf462049e4069cb6e42add2e64b812a0bf25624935d864edba530dee1994c4f84f45da6f9ad2e7bc88d3ce5801be7ae1e098c1fd6877b9c7a688533034baf93862119ee712dd02443638bcae5f5d19a57e4365704170719cfbf000ea384da953f00326ebd75036b6560d93c72b146aa08b0893d41b92d01c507192c6f98c25000294d39344f4e46e22a2dec6a6f0b12c5528e903cff5b52b0fba07ab03cca3434e7676ea0e61e9de2ba8a0396a9dbf92b32145a7fe1853db38fdd1521c940774408eb393003cd008b6a85135774748445abc80a7e8e5aebcd4e0cf03203ee2644fb4ffd03605d5e606c674d72f00854612bc6c6059e8b3114e87c07e29decc17a10eebbf57beb68caae97f9c8f52d249f5d88e404d72435822ec8adaa3cc6d28f00b906fb7904fd690109407bfe60ec803083a39d1a4c59a32ed8a6cdfc067b36575d24a7cdf9ec56acda683dbb3ac42e2c02a551dcbfbeb469021fba5beefbf0c2368dc303ecad4e4f7923b7af96ae73e7625e18f5e576ea9a2af19bc0b300ace4524e962ad4937b06671b7d31798b85c8393de9cd83b13f2009dd5f065ad823b0f57d05e691f0467fa82b0e48a52b3c096485bba5d4e0be468237fbd9f1a1ef85541a7c7e8e2b9903467bd2a634d24a0a57886cc4a2be2688531da0923c1033ca595ed5bfbc294e801a58e03c206df80d6ab717f643500b695db816df1e52f54998acf94a7c8d09792dc5e2d93b29751e127044892148fef4d0587fe1a36505d7ad6e5d1884151aae217676c0b2dc1b210355ae5882d26f42534a2960720d64483fc1e8c71a1911af8c8bb61c234ae94277a4f6452175619bfb664da07b1ca1fab226b5ccb681b82426f104a2b7938243981821906b090ca852a0d2dbf935dd8ba5af311b9d0703fd5b5975fa3abec0418b9b53fcd8a6cdf452191c3d309be3ff4cb5824460b1bd0bcacd14d6121012285637bec86c29903e1052a5696a9c4b41125bba68de9bffeefa9356a13a18bdf21312d474402776957957e37b2431e5c2e777278074916b6df2fca7b9bcbbacba1aba58366eda39c5958dcbd4719bd07c685ab424dd7271dbacae15437cddb971e295b1b8927ac2d7a16fece50927b8dd8bf56bfe119ff37ab2923ce578a9dd82b13aec78f68bf857ff500047a35071e1e3f28497177290d982fcdd75a7aed0d7a10f8f39bc7f83bd3ebe1ecdf1ee831b5b82ce0d5b5adedcf9011f71f6a53d797efa8a334a9ed9aee112d4af6d7abb8c3b532e179a5a5b11a22c566db714fc770e0c9cc3e1793af8a3d315a2b4366a703fdc9ef44be3534296ef043e97298f7f2290d3138cb71ea013f95a79746b03630597843353d76a6cebf55786128b4a791ce32b34ce8424d019c98d8eb52b7d6a8aa2184ac949624e0204b2e6812ebaa4b397d1cd58dd91170730cb504d440b747a3d9d879e7e66bcb2629e3b795e044658c74bbe53bd1700d45deeaf7111884eed85aacb7b738cae4ecfec1a66266ac80dce72b2043a9d33547ffbb58914a311b7ff96f737236b7a7e00ccc97378601f593a5524d619a8831f34337bc69cd498ae2b01f619c0af9084a541c40bbacfce7bb1645b1272752fc07276c647b9d5d2c1dd7a12fed5117c3ffe44ea402db21a5e8c48d8fe69aaa2e9d980ee9d4e827503c26c2a9a30411bf9b47254cd2c4e9f1dca6d35c540af54b99c2428391ab6531932239a8128d6446030d830568e463edebc484eddc227afd7edbfd4ce73d9f076f3a2479956464e5a33b154d70f3053946cce312d3dd3d7e60dffa95869ce6d7586adafe8de557a57482d817fbe2267ae836c70da0811934fc7ee65b503a96df2de6e2d7a94c23c31c1c78c89bd6ecd211dc808d06765ed804c9c193a35635cc3ab82055d9c1a36204b38ef9843e2d121e106a64e3c9d0720f621be8a759ccf1cec02574027196f68b91401828d7be131c4bf70a5fa762eb38c75dc80b7dca09ddc47254511eee74481940764bd985e088d0f5de9af3fb1547fe48aa7c641d51363c3b22e194587841e46656467a133a35a5eceac2b1f74828cf0d7efece26801ba9b02af6b77f6440047bd48050e6d8934fc6bf7c71bb67e38c86aba882c6e146118484b4208af173550bab81f489f88c79a5a7df18e8c44504f21a268d9bbf6dc7d57f2c60a0a4af5ef1414cd431722b215583eb8c52734d16dc9350bb1beffbdc223a418051cd05a644ee61fb475c183a782635e3b582a310ccb9152e6aa5c4f1747e5c26c2f358005cab5d44b78d676bfc3628fe1c416a8b1fbd06517ce0686291a2b370a92cc600c82a1988d6055b0c56c7dc5e3326c3543e545c0f1c9fb0333150090c7e0e509d425c75f8ec5416ab5a6aaf9ccfef857bf749bc347e95936ffa7fcdad6ab9e4becc7fe10fe3c569923e869d241cd6fe2e68e30486b6a47accdeac05f04f478b0dfc458cf26554e27438f4ea58238dc0e6931b77d5d29deae4a88fdfd478271428df751513742f09760bd25def854b4428ff123e20375ac8dfd9c469e758525500cdce0a293ce7f291ca8f28bff8be58779e04f55ab01f45fba42b76bba0089cb836ac49202769e4070a512177a6f53ab00e244490ac90b4577b7b1e5172122ccaf8111f2ed5dddd6376ecc386e157e14f7ea06d8c80fdd3abdebe74a2bf959318c5326e020b06e225ccfe1d4a816afab9588d269cff9db34ea412197d95054fc234312c33805739a77f0d197b8fc3a158d74de1327424dc66335daab209f72494883fd9b7e4d2cfaf7e71d5644ecfa33693ab06d9be401ae4b867d863a290cb33f66ae7f39a1e65afc262c57359d9b2870a3291bd3ff96913d2b21f9b9240c1bb4bfa874b1ab9ee4cc4e7b846d4bf2ebee10ac9aa66e9ad5181b6522056f0ff043f4c8511fec9f9c8f23ab14b7242eace03bc269760eca09eb0deea30b63f675cdd7821a4ce2ad57c0d9a2643134b97d83ba23edecf84ceb0b0ea966419af9871bc063338308305d99cae1ef65159012b8342c4e14d9cf6f9d0672352f39412dcd34a0496b52efa9727e5bbf3764295735ca2e04203883d1725ebd1359d71e23464a38522ba951845eca3ee982a005bb8b2f140eacccd24296087c80e7afce4354eab342c6e5fe73723cd40a28adc5b7b5650c8d1fddd00ca15b3cc3caa3b3f6d367a2daf874c3247f089b7985e105d0007033d6f91a1e64931a19128da07e24916a1737b67d5ebceaac562ddf0dde4e5cdffbe09bc2f6032c98896249eadb56177c7d35791dd5e1355d100dbdab7d71244ed262547d420a13f9ba4e171772c3e3eee3e63abf7720873ac7302ce2a2cde6cb6bbf451c95df2a21b20126504cd48f48354479eee266d9fe91afa4c00479f39d227f1aa52e2c1ba4919a354b773034708b89a4713c18463c145120c843974643a3dce4d2e2ba34f99bf7a337ebd06493cee194ea4b18a3567aa63d372962debbe69d3fe33833dead57a6e8f3ea4fee2bcd3793ee5fb455720cc883415017b705c1073c8564fe2cc2489db466126777cf82267899c9cc0577afbd42359efa5c29059a3ebe6ef866aaabe4694f4252306638f4823b7592247edb90c0c965f470e74d8a270d138bb6345d06892c67e45d7bb7e1bb19d48193c95ba8fee5dd5be20bdcaac949441b3cc3bcea050ce4c3b09a6e5963a138940d22808258f8fdf12b386194d7bfb5875746fa6e49d570665f81ecfcaa3b9d6156cb7f3ffc8f51e0e84ad43a05ea45989f5f2cf6e01680dcb5122668aaa6d9fa99668d9e46ad6100bd16bdfe3499f833d270518cc8ddc063a0ce1014acbd9a3878e3d9a67156f21f8031ee01c3b8f0fb609c6fbe2eb7a7563611f55945c0673af8216269924c81e11d8a1a2a315382b1c8c88fe8cdb3b61a7242c399d8da2b3d5a340f874b3b3d55893488e45ca8d05f2279719359dc5f1d8bf6433cfbe35522e0db4e8e6eeccfbc4dd9df088546abb89023e3de16a074e1046413fe59ffcc915995b445e806df5927324a4e7dd0ecc796f43918f653d9dc31aed164fef37a9c97ffbdce69472a5e99affc62be31cab8a24b57e09b24eba3d37f412ffa9ee936d6221a92d1b3619873fba9aeb7b1c0b5fd30ee2bc078bdd7be4613f5847e23e32b2c15d93fcd2deb18100c40606a3c7fa40b6a6b84ab12d774911768bd5bd82f65d65a4a75e734a5c239a9ec8596eabf9cb205ada1095210b8b6ae3774fec3ab2fcc502ac198c9c5b936cc1b5ab544d54a2627a33bba241291ae93130cc0807058931ccd300d3cf02de8095fc7a4626d7f60cc64232eb809b90ace4caf3d332db96336ab21cf53abaf6df4b7ead048d610a0fdff8eb303aa34f4fc4c3250f965ee73b7e1bc896e7300cbebcf13725d022fc39ffc9959b082f158d7f2b5e61932c539a82a3f3be5e1195d20dfde544b2713f1f46ff5856c11b3455be7a4afa1ae38a043c0fa970f3d4b72db43330ce81a18458eda7106d85c6afca8f6f3e0437f744485a41d0926ba9059da6b77d7e071e9178472493e32be4bc8187cfe86dfbafc0917410d5560cbacbdaa0aa5e88674e4236d2c78e4ffa1a021a9d8aafb4f50faded4feeb5be2142ecbc65f6e428824ad0ed4898df5c17cf1c812987ef042749113de586fcc1604af4e35787fbb9b2672fc3ab27ddab2d89f80acb44bca523bf10747fd169045151766fbe985f8b98a36110b5945bf2ba4bfaaeedffd50a4d5b2ee7995919efcbc51ac45982c21b1a346af232808c0ea0686986ed1bc86c7631351dd79a2706ac1d526e075ec00f55ca10c806247edf3e14cd2a52218f57f6fe9f679a4e0d3e69a3463e2b53454334a5d570888c10d657cdbf8c75ba83120926c4a4e157542f1ec4fc58fe05c4c5ae4d28725ff3e033b6df1de15a153d252fd11c9218530e663838025471e1a05b4baa5c4d935fd3fe978c330fc38dd8fe17bb0872c893fde210e81c9fd81689a35074262bca191eb25175e213a5c55041c1446ecb3a60b15e757d142a490c6a6481fe3252230aa41dea27bccbe9d2b18fef77beafed7d8ba4e5f7971d05016c50ea36f5a1add6603fe1b1f4fa091aec8b6dd68faead1d58209a6e2c4bbef193abe71dfa753df46ebda4ea524cebf9b9fed4d1ff231e5bc98c97df7cc21599880bfd6376b62ff2d9c732f4f655528d84dc5f9b4f30a1f921fae04c8991dbeb65cb2d4ba171b1a50bde4564c31a682e866a3ec95b89a27324ceed9b0dc01a28dc5d3b6436fca2a3ee089160e282de0277696e12a850ceaee093af611a09fbeb9d89ff851e17443b297d2aeda6e8a641f650b9bca6304ec9ace58a8b70cf9e9ff55345f3f7c4cae51e72b0c92755d80d5e8373eb75a320498aa536e166a71bc995b67118bfc7be75080fc811cddeff0825e8f17f7ef307dd48aa27c223e3424eaab0f0a9c644363e3dc38845ab8f3f0994adf58eacd3e228ba659a396492fcbd52b53e3c3d77efbfe9aefe39e11b0f814c05a06f8beb9ec15f22303bf908de6e2f686086bd626b9249c4dc3845f1efcf9e9abde439888cdcca73451899553ec06a18f1ffb7fdb0dd7f02470b836d4eb40064b13085d0d91a267729772596240217e74d4b27f42069f6e5a7edf9f868d57e1f5c94f210fe8b79bc8fad1cb1844eb0e8dce75067925199136eac6830d48f934905fe7996d9e63a6f378bdf744f2381f5310df7884d63822dd40c7917f0591b8e4d57443441c5c2cd76fc0601f0ba33d4e07d30b2ae90c685a106af988d2def0a0a0d0585592ae464d0d490fca2f8e8e26394244198e36f65072244db7199ba67d589a17b479cb3f568cd7b52b0c3094ea36689805c4193e4707db53c41d521bc74234081ce6d301e05b79c202ad25aed6ed23dccd9764bab0be0842b898441fad65d640bc98edd4f748614018a90e3af25c81f2be9f3c13f54ef2e04958c70c50084fef139ff76c4afc8fcbaa74465d36867e8da3836b3e10280d7f3222894b76c356e2109e0929c089fee68f2b4bfd4421010c50a4d252d546e1ea6ba6c9e0b8937386ef47ca30fb82487e594d380904ee67b0c38e3d7bcb2ec4e26d6a949892b588bcf4c49e6711ae50f5bb51ec207b1b99adc47aae251bb09f1fe43317af767efbfc09f73fff4577082d925e66159fcfe20b3b03c85ab77b326a1bb7412d23421b579d781afc96716a970f1f4fc6b43e23c73047897ac6d305e281ac735633c7907ed522df3e698e3019fe065931ce922551ee0c811a12ad0b686697927b05785d870cf6f95c0fb1b51b2da77ead3a6fa19def806b7b048c814a0efe3e7c205bc6da8d87909aa9f4b3aec360253b3adeedca399a9f3de0b8c6405410757fe6fe703f23ea33b9c3be18a4803c8b57f0024598c759062431cb8655547abe7fffdfc5ab0e961edfaa1f46177683917e9b0928d8e032131b39c8b34d83ba8dde7c63c0c870da8f8b7a1b5b7569f81f5ccae44199258fecc655627d226c50e2b534c338e8655aab295f55bfe00a7a404bd9f3c56030496563d5a9a50be23b55f8918f80465328475129b43c65b060bbc52688ba528d356db4808952d7ee98dcc42fb88abc6c4b1387cc3106f55602ffe12f9682324b10e1fbb59194007057402c93b4d123287fec9cdb936558d45a48a5f0984fb4f59c469401dba4b76d9ba66973d47be4fe04e81846308535b2d47e41ab7977b93ec08c89125e67693319971ea1ca15f2182764347d6b2218434659e379601e064cf9c945a58679fb4d95fe23a87555abf93d93552af1bc5acbf911fc267cedd0271128a7ec6fd9cd43df01b48b0b6dd84f6d9cfd3885ce7f5e7c44f7c34c0aa3208b3bcbc78ab2736f41714426913a762d1bb5da576014a6bc8d70792d3a8253b26e614d6a30dc9d7029488ee4d4cf71d914de97a6620beb9d72c965c6d9d1e771e16739695cc359aee2c8eb5dceda3e67c26bd6f2bbe44e2d87d6137bfdbfda7965b79923e39b6a214a59e2da6993a4d804aca570d5e28d25e2d430292f60d82c07f8cb5016f322a13ba29e502c31239f7b51d963a040f9c0325b2a48b09cc976373d7752f79ba8798215d5a93b97522da4db943e12359727df7c217579ab49a54616322e2ed3606430b6ce4d31eeb71568e36176f1abaebf8fce9e1f84df033348fef8d591437e1519bb9e72a92daa71d9092a5007b30df88e94fdd773be994e7265161be754414529e7c5325a4561e2ddc26529c2499e83fcfe9f2b15ebb53d0a7a8c3d8d2fd89712114afabe9f28b4c5a3552717e5e94c2dd15c8a7bda7c1254a21e49931e4999d8cb46018718d0525a05c84940d42640884940915a89f39fba8061a8e3be6444af4ce93061533e0f9b4f1793f4c369372e7ecbc2fb37b6c656b25399085a99fc1ad5f8b80d3601414deff4c4dba01e8eda3e6787b07f5beff469633b82919287f70503a44877fe14ced44a06bd09fe776da0f3979554abb0bb6398558cc1836d30439e472308430a971c963f07de8a9b67d596a88b8ef620a4f3dfce6cbdb282554b49fc0f7bf8afc65ad934f9f50dd61e2ab3f88c43fad3a21e4e26a9a5012ec1152b1d06b3ba6abed6fb87fdac3176fe7faa209c0040f006942f8e1e128dd651aa02231275f94c7479ce35cc8c66371c06afbb02e8b7d49a2aadc58684ea06378fd330a4590ddde11706b80cc582b73fae1aedd05512e5e41caedbc42b722f4ffb3eadb079f2292c6c6d31e6423f5452fa6020ec045f7a7caddb7b94c5e185aca81abe2668e4f64810085b1af108e44af0ba88052a1dc5202649375d827e9f1f76ef82d991e9f87517d50fb852b8247e81e9852c1626a32da1cf4ecf9d86dbf756ad07f87c1820a5134ced2cf6faa150820d98b218ccd4d7848ec4a4245e42466602b00f96de77597cc942f2cf50c7ca6f855839d208e1870044197903dabe2df651dd98f2342e907b5b85b406bdbe58aff633b1ad0a1efd72a8c2ecdff92b0064dc91b6347072be0eb5c55ee8c7d0646cf0934c29b3aabcbd2b37456dbe927b3e4fdfc9e0479e69ce15ecc66492230eb601903202d598221222adb429cf005da3a95b1058646b81ab0dcdb4057e5328711ee554676e600f2ad007adc01f6dc66be2b904ea3ee9ea884a1f83403c8be06c0f582ceb1b3c8cea23d54395334a1230140da8fc3b644fb84ba9af54fb45bfd156d1dd9e87c0e25fcb478f0e9f676b739b7c9b58ac83e506aaebaa8ca81b03d27f0945d63c98342067d66536a90bbb36d2f3708a21755c6734b1fd82d921638e005119ca4ee1c201822ad5786e7f9c8a291f3b138431d18ceaecec14602624bc5649de207eb341cc3ac8b6950a5ac418a557cda977956e41f02be896b4a31db69c87c580517adbdeebc2d1e6a2e5203bc941f9557a17390121a52fe511a376c99d2447035d8906467f36603d01d8ba67f3c67b9342e0747cb3a09bea59bbd3c35a21f39fa4352aaf1aa4020fae9974810dd9927dbbe2694a2e94c9f27f85faee5d83ed5e71e69f1131975a4522d431b504c6a9d71878c368d9a083edd9d3a6ae71bdf06cc72e7ceab4c1a7e4683249bbdf4e590e0e9c2316488849d5a6113d631c13bd60fde4ed09a2f77c8ce0a7507d01750b7bba2cfd8f6a50829a320e51ddcd87a608cd848b613a6fef90b535972c236e5048040c73b8fdca33269f925e4a4feb8502b888655cedc54a937df608709cb02bc7369c28e91d70b99f2c672242c0485c0bc85cf10f5c6a8944fd6d60f101af978dc13ae52bd9a199fcebbe0bbb1c2bc0cc09256cf6f60b8232519110bd8b602b66d217c8c65c630346ec2e5ee5226e7f802cdbc002be5176afaca257e8e81913e3f2de188cf4043515093853284ee7c1bc5de8d6515660a6fa1ede7e8a72d9c82bf657c3ab4802214ea8ba3d0ab1ae94381f72831ec5ed2976374339872e510d371d54facf00a517a44b06c6b155cfcb1575d2c9bd831392c18780049fb6eadb5459a78ee75a51c8c8f4d0366e549e0f89306364e63a19c6ebdaea2ebb4e1a6719aaec0a4933d3d4720e34d18b2e197f03364bbb7aa336c096c233c9fc823071faf07b13a1ca952ca688bd9e185a242f2a4d47c41feab378fd894505f44c7be4d267b1f726f1d103875f2b12c41df9bc6e0cce18449a3f58060ccf3b5ae016c34451623074f8a092e7b48376b76cd499496e36b81dc2b0a951af59db8f2f020d6cd6e2c672f7b366a9a0002f993658ca24a8c2d396b50a573af366e505c861999ad502702aa8e6a7f3c9572339e453da65224dd877c3db3fa33d90b88e6d5fb2071f921ce44556de88cc0c9faeeb507343af72814509a2e2eb4b4ad4355e2a8adb1136e93c7fdd6f52cb6e8d86d966194c5348a9eef1f806a94205782585785444a245e032503c1dc13ed2244c8707ac6938dfd61ed6bb0590c88a70461e2efa884b1c8c51ee1f70ed0e6bc8009165cec98b1db7740d0473e9b04e1f38390d0147cc378de587b8138ee3aa3d80f0e3318c9e001b356cfb2ce688369840613bf3b96efca542808f4db41223b6d0487467d3f8feac49cf744f8956342d3e7943f5813c242a0c25d379f741c55b3rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootxorg-x11-server-7.6_1.18.3-31.1.src.rpmxorg-x11-server-sourcexorg-x11-server-source(x86-64)@@@@   /bin/bash/bin/sh/usr/bin/python/usr/bin/python3rpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)3.0.4-14.0-14.4.6-14.11.2Z@Y@Yp@Ym@Yh@Y_wY;@XXXXX,X*XJX43@WҤ@W9@W/*@W'A@W#LW @W @W @WKWW@V@Vn@V3VVm@VxVVV&@VV@V@VV@VGVVVUVA@V0V0V7@UU@U@UUzUuUn@Ui@U0U:T!TTTԬT[@T[@Tk4T`TN3T)ITSS@SS@SS@SSj@Sj@S@SǺS.S[SrSSSy@Sr @Sg}@S`S^BS\@SZN@SCS-{@S,)S 4@S 4@RR>Rx@R@R@RR1@R@R@R@RSRSRjR0@R0@R0@Rz/@RsRnQRj]@R].@R2@R/ RRR@R@QQ@QyQ2Qo@QnQ^Q@j@Q9Q7/Q7/Q& @Q$Q \P@P @PP@PP@P{P`K@P[@PXb@P"TP @PSP OO@O@O@O Ot@OO\@O@OO@Ok@OLO3@OO (@NNwNwNNk@Nj@Nj@Nf @N\N[@N@NNNNN@NN@NNNNNN@N@N@N@N@N@N@N N N M@M۝M@M@M>MMMMh@MZjMU$MJM*M$]@M!@MMMMM M M L-@LL@L,@L,@L7L7L7LΫLq@LL@L|LB@LB@L@LuLrbLrbLmLjyLi(@La?@L_LYV@L5L(K@KK#@KՀ@KՀ@KKh@Kh@K@K@K@K@K"@K"@K@KKKK@K[K[K @KK@K@KKuBKQ@KO@K$@Kb@K@JJTJ@J%J@ĴĴJęJJ@J@JjJ@JJG@J@Ju@JQJ]@Jx"Jt.@JT@JL@JB@J;}J0J/@J.NJ)J)J'@J%@J%@J|IIIIzIyIV@II@I@Im@Imstaudt@suse.comsndirsch@suse.commsrb@suse.commsrb@suse.comsndirsch@suse.commsrb@suse.comsndirsch@suse.commsrb@suse.commstaudt@suse.commstaudt@suse.commstaudt@suse.commstaudt@suse.comsndirsch@suse.commstaudt@suse.commsrb@suse.commstaudt@suse.comeich@suse.comeich@suse.comsndirsch@suse.comsndirsch@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.deeich@suse.comeich@suse.comtobias.johannes.klausmann@mni.thm.delbsousajr@gmail.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comtobias.johannes.klausmann@mni.thm.deeich@suse.comeich@suse.comfcrozat@suse.comeich@suse.comeich@suse.comeich@suse.comhrvoje.senjan@gmail.comeich@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comeich@suse.comtiwai@suse.deeich@suse.comtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.demsrb@suse.comantoine.belvire@laposte.netmsrb@suse.comeich@suse.comnormand@linux.vnet.ibm.commsrb@suse.comdimstar@opensuse.orgsndirsch@suse.comtobias.johannes.klausmann@mni.thm.deeich@suse.comtobias.johannes.klausmann@mni.thm.demsrb@suse.comsndirsch@suse.comLed sndirsch@suse.comlbsousajr@gmail.comtobias.johannes.klausmann@mni.thm.detiwai@suse.desndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comeich@suse.comtiwai@suse.deeich@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comtobias.johannes.klausmann@mni.thm.deeich@suse.comsndirsch@suse.comeich@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.delbsousajr@gmail.comsndirsch@suse.comstefan.bruens@rwth-aachen.detobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.decoolo@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.deeich@suse.comeich@suse.comlbsousajr@gmail.comsndirsch@suse.comsndirsch@suse.comcrrodriguez@opensuse.orgtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.delbsousajr@gmail.commsrb@suse.comeich@suse.comeich@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comtobias.johannes.klausmann@mni.thm.delbsousajr@gmail.comlbsousajr@gmail.comschwab@suse.demsrb@suse.comsndirsch@suse.commsrb@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comeich@suse.comtobias.johannes.klausmann@mni.thm.deeich@suse.comsndirsch@suse.comhrvoje.senjan@gmail.comtobias.johannes.klausmann@mni.thm.demsrb@suse.comschwab@suse.desndirsch@suse.comtobias.johannes.klausmann@mni.thm.deidonmez@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.deschwab@suse.detobias.johannes.klausmann@mni.thm.desndirsch@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.dewerner@suse.defcrozat@suse.comsndirsch@suse.comsndirsch@suse.comopensuse@cboltz.desndirsch@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comsndirsch@suse.combadshah400@gmail.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comsndirsch@suse.comsndirsch@suse.comtobias.johannes.klausmann@mni.thm.desndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.commgorse@suse.comdimstar@opensuse.orgjengelh@medozas.desndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comro@suse.dero@suse.dero@suse.decoolo@suse.comsndirsch@suse.comeich@suse.comeich@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.deeich@suse.demhopf@novell.commhopf@novell.commhopf@novell.commhopf@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comdevel@navlost.eumhopf@novell.commhopf@novell.comsndirsch@novell.comvuntz@opensuse.orgjeffm@suse.desndirsch@novell.comsndirsch@novell.comsndirsch@novell.commhopf@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.commhopf@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comsndirsch@novell.comcoolo@novell.comsndirsch@novell.commhopf@novell.comsndirsch@suse.desndirsch@suse.demax@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.devuntz@opensuse.orgsndirsch@suse.demax@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.deeich@suse.desndirsch@suse.deeich@suse.desndirsch@suse.desndirsch@suse.deeich@novell.comeich@suse.deeich@suse.dero@suse.dero@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.dero@suse.desndirsch@suse.dero@suse.dero@suse.dero@suse.dero@suse.dero@suse.desndirsch@suse.desndirsch@suse.delchiquitto@novell.comsndirsch@suse.dero@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.deeich@suse.deeich@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.demhopf@novell.comsndirsch@suse.desndirsch@suse.demhopf@novell.commhopf@novell.comeich@suse.desndirsch@suse.desndirsch@suse.deeich@suse.desndirsch@suse.desndirsch@novell.commhopf@novell.commhopf@novell.comsndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.deeich@suse.deeich@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.demmarek@suse.czsndirsch@suse.desndirsch@suse.desndirsch@suse.desndirsch@suse.de- U_glamor-spans-fixup-wrong-count-on-glDrawArrays.patch * Fix XFillPolygon via GLAMOR (boo#1051350) This makes the selected cell in LibreOffice Calc visible on Intel Gen4 graphics.- U_0001-Unvalidated-lengths.patch, U_0002-xfixes-unvalidated-lengths-CVE-2017-12183.patch, U_0003-hw-xfree86-unvalidated-lengths.patch, U_Xi-Test-exact-size-of-XIBarrierReleasePointer.patch, U_0004-Xi-integer-overflow-and-unvalidated-length-in-S-Proc.patch, U_0005-Xi-fix-wrong-extra-length-check-in-ProcXIChangeHiera.patch, U_0006-dbe-Unvalidated-variable-length-request-in-ProcDbeGe.patch, U_0007-Unvalidated-extra-length-in-ProcEstablishConnection-.patch * Security fixes (unvalidated lengths) [CVE-2017-12176 - CVE-2017-12187, bsc#1063034, bsc#1063035, bsc#1063037, bsc#1063038, bsc#1063039, bsc#1063040, bsc#1063041]- U_os-Treat-ssh-as-a-non-local-client-v4.patch * Recognize ssh as remote client. (bnc#1022727)- U_glamor-properly-handle-mask-formats-without-alpha.patch, U_glamor-preserve-gl_red-bits-in-r-channel-when-destination-is-gl_red.patch * Fix rendering with glamor acceleration. (bnc#1047154)- u_Use-better-fallbacks-to-generate-cookies-if-arc4rand.patch If arc4random_buf() is not available for generating cookies: * use getentropy(), if available (which was only recently added to glibc) * use getrandom() via syscall(), if available (there was no glibc wrapper for this syscall for a long time) * if all else fails, directly read from /dev/urandom as before, but employ O_CLOEXEC, do an OsAbort() in case the random data couldn't be read to avoid unsecure situations. Don't know if that's too hard a measure but it shouldn't actually occur except on maximum number of FDs reached (bsc#1025084)- U_Xi-Do-not-try-to-swap-GenericEvent.patch, U_Xi-Verify-all-events-in-ProcXSendExtensionEvent.patch, U_Xi-Zero-target-buffer-in-SProcXSendExtensionEvent.patch, U_dix-Disallow-GenericEvent-in-SendEvent-request.patch * Fix security issues in event handling. (bnc#1035283, CVE-2017-10971, CVE-2017-10972)- U_Use-timingsafe_memcmp-to-compare-MIT-MAGIC-COOKIES-C.patch * Prevent timing attack against MIT cookie. (CVE-2017-2624, bnc#1025029) - U_Use-arc4random_buf-3-if-available-to-generate-cookie.patch/ U_Brown-bag-commit-to-fix-957e8d-arc4random_buf-suppor.patch * Use arc4random to generate cookies. (bnc#1025084) - U_auth-remove-AuthToIDFunc-and-associated-functions.-N.patch * Remove unused function with use-after-free issue. (bnc#1025035)- U_xfree86-Add-IndirectGLX-server-flag.patch * Add IndirectGLX ServerFlags option to re-enable indirect GLX. (bnc#1032509)- xorg-x11-server.spec: Re-add patches 701/702 removed by mistake.- U_glamor-Fix-dashed-line-rendering.patch This replaces the last patch and fixes dashing in GLAMOR.- n_glamor-Always-draw-dashed-0-width-lines-in-software.patch Draw dashed lines in software, partly fixes (boo#1021803).- U_glamor-Fix-missing-declaration-in-dash-vertex-shader.patch U_glamor-Fix-typo-vec2_pos-vec2-pos.patch Fix X server crash on drawing dashed lines (boo#1025985).- U_glamor-Disable-logic-ops-when-doing-compositing-v4.patch * fix unpainted areas when glamor is being used (bnc#1022050)- U_dri2-Sync-i965_pci_ids.h-from-mesa.patch Update Intel PCI IDs for modesetting to include Broxton 2x6. Fixes (boo#1011158).- U_modesetting-set-driverPrivate-to-Null-after-closing-fd.patch Prevent crash when unplugging displaylink device. (bnc#1011570)- U_glamor-Remove-the-FBO-cache.patch Fixes (bsc#983743) by not keeping >1 GB of VRAM busy.- Replace N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch by N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch Only disable HW cursor for cirrus and mgag200. This should fix a regression introduced by using modesetting for Intel gen9+ (boo#980124).- modesetting.ids: Add file for PCI IDs of ASICs which the modesetting rather than the native driver should be used for. This includes all Intel Gen9+ hardware (boo#978954).- removed u_exa-only-draw-valid-trapezoids.patch; no longer needed since pixman 0.32.0- removed no longer needed patch u_ad-hoc-fix-for-mmap-s-truncated-offset-parameter-on-.patch, see https://lists.x.org/archives/xorg-devel/2016-April/049493.html for upstream discussion; obsoleted by upstream patch https://cgit.freedesktop.org/xorg/xserver/commit/?id=4962c8c08842d9d3ca66d254b1ce4cacc4fb3756, which is already in xorg-server 1.18.3- Add permission verification for SUID wrapper - Disable SUID wrapper per default until reviewed- n_Install-Avoid-failure-on-wrapper-installation.patch: rename to: N_Install-Avoid-failure-on-wrapper-installation.patch - u_xorg-wrapper-Drop-supplemental-group-IDs.patch: Drop supplementary group privileges. - u_xorg-wrapper-build-Build-position-independent-code.patch: Build position independent.- n_Install-Avoid-failure-on-wrapper-installation.patch: Fix up build for wrapper. - Place SUID wrapper into a separate package: xorg-x11-server-wrapper- Set configure option --enable-suid-wrapper for TW: This way, the SUID wrapper is built which allows to run the Xserver as root even though the the DM instance runs as user. This allows to support drivers which require direct HW access.- Update to version 1.18.3: A few fixes relative to 1.18.2, including one fairly important performance fix to the Present extension. - Remove U_present-Only-requeue-for-next-MSC-after-flip-failure.patch The patch is included in this release.- Add patch U_present-Only-requeue-for-next-MSC-after-flip-failure.patch Fix a hang while using the present extension Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94515 https://bugs.freedesktop.org/show_bug.cgi?id=94596- Add automake, autoconf, libtool, c_compiler, pkgconfig(xorg-macros), pkgconfig(libudev), pkgconfig(libevdev), pkgconfig(mtdev) to Requires: of the SDK. This simplifies the build of Xserver modules.- Add support for a driver specific PCI IDs files supplementing what's in xf86VideoPtrToDriverList(). PCI ID lists may be held in /etc/X11/xorg_pci_ids (boo#972126).- Update version to 1.18.2: A big pile of updates in this one. Highlights include: * glamor is updated to use OpenGL core profiles if available, which should improve memory usage and performance on modern hardware, and got some other performance improvements for rpi and other GLES platforms * DRI2, DRI3, and Present all received correctness fixes for hangs, crashes, and other weirdness * Xwayland server has been updated to support the Xv and the xf86vidmode extensions for better compatibility, and fixed some bugs with output hotplug and pointer updates * Xwin saw improvements to window and clipboard management, and a few new keyboard layouts - Remove upstreamed patches: + U_kdrive-evdev-update-keyboard-LEDs-22302.patch- Backport upstream patches for Xephyr input hot-plugging / single-GPU multi-seat support: * U_kdrive-fix-up-NewInputDeviceRequest-implementation.patch * U_kdrive-set-evdev-driver-for-input-devices-automatica.patch * U_ephyr-don-t-load-ephyr-input-driver-if-seat-option-i.patch * U_kdrive-don-t-let-evdev-driver-overwrite-existing-dev.patch * U_ephyr-ignore-Xorg-multiseat-command-line-options.patch * U_ephyr-enable-option-sw-cursor-by-default-in-multi-se.patch * U_kdrive-introduce-input-hot-plugging-support-for-udev.patch * U_kdrive-add-options-to-set-default-XKB-properties.patch * U_kdrive-evdev-update-keyboard-LEDs-22302.patch * U_config-udev-distinguish-between-real-keyboards-and-o.patch- u_os-connections-Check-for-stale-FDs.patch Ignore file descriptor if socket or devices dies. This prevents the Xserver to loop at 100% when dbus dies (boo#954433).- Add 50-extensions.conf Disable the DGA extension by default (boo#947695).- Replaced u_confine_to_shape.diff by u_01-Improved-ConfineToShape.patch and u_02-DIX-ConfineTo-Don-t-bother-about-the-bounding-box-when-grabbing-a-shaped-window.patch.- u_pci-primary-Fix-up-primary-PCI-device-detection-for-the-platfrom-bus.patch Fix up primary device detection for the platform bus to fix the Xserver on older iMacs (boo#835975).- Update to version 1.18.1: First release in the 1.18 stable branch. Major themes are bugfixes in glamor, the modesetting driver, and the Present extension. Xwayland users may want to apply the following pair of patches in addition to this release: https://patchwork.freedesktop.org/patch/72945/raw/ https://patchwork.freedesktop.org/patch/72951/raw/ which combined fix an input issue when hotplugging monitors. Both are likely to be included in a future release unless testing discovers further problems. - Remove upstreamed patches: + ux_xserver_xvfb-randr.patch + U_systemd-logind-do-not-rely-on-directed-signals.patch + U_kdrive-UnregisterFd-Fix-off-by-one.patch + U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch- u_Panning-Set-panning-state-in-xf86RandR12ScreenSetSize.patch Fix panning when configured in xorg.conf* (boo#771521).- Handle source-file-list in build not prep - N_xorg-x11-server-rpmmacros.patch: Delete: Process xorg-x11-server.macros in install- U_modesetting-should-not-reference-gbm-when-it-s-not-d.patch: fix build when gbm is not defined.- u_busfault_sigaction-Only-initialize-pointer-when-matched.patch Only initialize pointer when matched (boo#961439). - u_kdrive-UnregisterFd-Fix-off-by-one.patch -> U_kdrive-UnregisterFd-Fix-off-by-one.patch- Add test for defined macro %build_xwayland This can be used to enable the build of Xwayland and the package xorg-x11-server-wayland using a macro in projconf (boo#960487).- Split out Xwayland: * Build a package xorg-x11-server-wayland * Limit build to Factory (boo#960487).- Enable XWayland on Leap also (boo#960487)- u_kdrive-UnregisterFd-Fix-off-by-one.patch * Copy open file table correctly by avoiding an off-by-one error (boo#867483).- Update to version 1.18.0 - refreshed N_zap_warning_xserver.diff, N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch - supersedes u_fbdevhw.diff, U_linux-Add-linux_parse_vt_settings-and-linux_get_keep.patch, U_linux-Add-a-may_fail-paramter-to-linux_parse_vt_sett.patch, U_systemd-logind-Only-use-systemd-logind-integration-t.patch- Update to version 1.17.4: Minor brown-bag release. The important fix here is Martin's clientsWritable change which fixes a crash when built against xproto 7.0.28. - supersedes u_0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch- Update to version 1.17.3: Various bugfixes across the board.  The most visible changes include fixing GLX extension setup under Xwayland and other non-Xorg servers (enabling core contexts in more scenarios), and various stability fixes to glamor and the Present extension. - supersededs the following patches: * u_randr_allow_rrselectinput_for_providerchange_and_resourcechange_events.patch * u_CloseConsole-Don-t-report-FatalError-when-shutting-down.patch - removed evdev xorg.conf.d snippet since it's meanwhile shipped with evdev driver itself (since version 2.10.0)- u_vesa-Add-VBEDPMSGetCapabilities-VBEDPMSGet.patch Add VBEDPMSGetCapabilities() and VBEDPMSGet() functions (bsc#947356, boo#947493).- Backport a few upstream fixes for systemd/VT handling (boo#939838): U_linux-Add-linux_parse_vt_settings-and-linux_get_keep.patch U_linux-Add-a-may_fail-paramter-to-linux_parse_vt_sett.patch U_systemd-logind-Only-use-systemd-logind-integration-t.patch U_systemd-logind-do-not-rely-on-directed-signals.patch- Improve conditional enablement of XWayland.- Add patch u_0001-os-make-sure-the-clientsWritable-fd_set-is-initializ.patch Prevent segmentation faults with more than 256 clients (introduced by xproto 7.0.28 increasing the max client count 256 -> 512) Fdo Bug: https://bugs.freedesktop.org/show_bug.cgi?id=91316- Update to version 1.17.2: Pick up a pile of fixes from master. Notable highlights: + Fix for CVE-2015-3164 in Xwayland + Fix int10 setup for vesa + Fix regression in server-interpreted auth + Fix fb setup on big-endian CPUs + Build fix for for gcc5 - Dropped patches: + Patch110: u_connection-avoid-crash-when-CloseWellKnownConnections-gets-called-twice.patch + Patch113: u_symbols-Fix-sdksyms.sh-to-cope-with-gcc5.patch + Patch116: U_os-XDMCP-options-like-query-etc-should-imply-listen.patch + Patch118: U_int10-Fix-error-check-for-pci_device_map_legacy.patch + Patch119: U_xwayland-enable-access-control-on-open-socket.patch + Patch120: U_os-support-new-implicit-local-user-access-mode.patch + Patch121: U_xwayland-default-to-local-user-if-no-xauth-file-given.patch + Patch2000: U_systemd-logind-filter-out-non-signal-messages-from.patch + Patch2001: U_systemd-logind-dont-second-guess-D-Bus-default-tim.patch - Changed patches to work with the new version: + Patch114: u_ad-hoc-fix-for-mmap-s-truncated-offset-parameter-on-.patch- U_os-support-new-implicit-local-user-access-mode.patch, U_xwayland-default-to-local-user-if-no-xauth-file-given.patch, U_xwayland-enable-access-control-on-open-socket.patch * Prevent unauthorized local access. (bnc#934102, CVE-2015-3164)- Fix GNOME X Session for some hybrid graphics (rh#1209347): + add U_systemd-logind-filter-out-non-signal-messages-from.patch + add U_systemd-logind-dont-second-guess-D-Bus-default-tim.patch- Fix build of s390/s390x (bnc#933503)- U_int10-Fix-error-check-for-pci_device_map_legacy.patch * int10: Fix error check for pci_device_map_legacy pci_device_map_legacy returns 0 on success (bsc#932319).- Add xorg-x11-server-byte-order.patch to correctly set X_BYTE_ORDER when compiling tigervnc on ppc64 architecture. Related to bnc#926201- U_os-XDMCP-options-like-query-etc-should-imply-listen.patch * Enable listening on tcp when using -query. (bnc#924914)- Enable systemd-logind integration support: + Add pkgconfig(libsystemd-logind) and pkgconfig(dbus-1) BuildRequires. + Pass --enable-systemd-logind to configure.- u_ad-hoc-fix-for-mmap-s-truncated-offset-parameter-on-.patch * ad hoc fix for mmap's truncated offset parameter on 32bit (bnc#917385) - N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch * hwcursor still considered broken in cirrus KMS ((bnc#864141, bnc#866152)- Update to version 1.17.1: Fixes for CVE 2015-0255. + xkb: Don't swap XkbSetGeometry data in the input buffer + xkb: Check strings length against request size- u_symbols-Fix-sdksyms.sh-to-cope-with-gcc5.patch Fix sdksyms.sh to work with gcc5 (bnc#916580).- Update to version 1.17.0: + Continued work to strip out stale code and clean up the server. Thousands of lines of unnecessary code have disappeared yet again. + The modesetting driver has been merged into the server code base, simplifying ongoing maintenance by coupling it to the X server ABI/API release schedule. This now includes DRI2 support (so that GLX works correctly) along with Glamor support (which handles DRI3). + Lots of Glamor improvements, including a rewrite of the core protocol rendering functions. - Remove upstream patches: + Patch130: U_BellProc-Send-bell-event-on-core-protocol-bell-when-requested.patch + Patch131: U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch + Patch200: U_kdrive_extend_screen_option_syntax.patch + Patch201: U_ephyr_enable_screen_window_placement.patch + Patch202: U_ephyr_add_output_option_support.patch- Add xorg-x11-server-source package that contains patched xserver sources used to build xorg-x11-Xvnc.- Update to version 1.16.2 - Fix present_pixmap when using present_notify_msc - Fix present_notify to return right away when querying current or past msc.Xext/shm: Detach SHM segment after Pixmap is released - xkb: ignore floating slave devices when updating from master (#81885) - fb: Fix invalid bpp for 24bit depth window - supersedes U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch- fix bashism in post script- XServer looks for dri.pc during configure. dri.pc is currently provided by a Mesa devel package, which is pulled in by other requirements, but it might be better to explicitly require dri.pc.- Backport upstream patches to enable Xephyr window placement via new "-output" option or new "-screen WxH+X+Y" syntax. * U_kdrive_extend_screen_option_syntax.patch * U_ephyr_enable_screen_window_placement.patch * U_ephyr_add_output_option_support.patch- Update to version 1.16.1: + mieq: Fix a crash regression in mieqProcessDeviceEvent + ListenOnOpenFD: Remove Resets since this is intended to be for hotplugging connections + XQuartz: Better support turning off "Displays have separate Spaces" on OS X Mavericks + glamor: Fix temp picture coordinates in glamor_composite_clipped_region + glx/present: Only send GLX_BufferSwapComplete for PresentCompleteKindPixmap + xfree86: Fallback to first platform device as primary + xfree86: Allow non-PCI devices as primary + xwayland: always include drm.xml in tarballs- A better fix for 24bpp graphics problem with cirrus KMS (bnc#890599); Adding a new patch: U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch while obsoleting two patches: u_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch u_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch- no longer add /usr/lib[64]/xorg/modules/updates to module path (FATE#317822)- only add /etc/alternatives/libglx.so as ghost on suse >= 1315- added /etc/alternatives/libglx.so as ghost - moved libglx-xorg.so to xorg/xorg-libglx.so to avoid messup in case anybody runs ldconfig in modules/extensions- make use of update-alternatives for libglx.so (FATE#317822)- Change U_ to u_ as these patches are not upstream yet: * U_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch - -> u_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch * U_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch - -> u_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch (bnc#890599).- Fix corrupted graphics with 24bpp on cirrus KMS (bnc#890599) two patches added: U_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch U_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch- U_BellProc-Send-bell-event-on-core-protocol-bell-when-requested.patch Send XKB bell event on core protocol bell if such an event is requested. This allows to override the system beep by a desktop provided sound instead of silently ignore it (bnc#890323).- Update to version 1.16.0 (final): + Glamor integration. This GL-based X acceleration subsystem now offers reasonable performance that avoids software fall backs much of the time. + XWayland. This provides an X server integrated into a Wayland window system. It uses Glamor for rendering, and so avoids most of the performance problems inherent in window system layering. + systemd integration. This provides for systemd-based launching and management which improves boot performance and reliability + Elimination of thousands of compiler warnings. We've been slowly adding more and more compiler flags to the stock X build to warn us of unsafe coding practices. Version 1.16 finally addresses the enormous list of these warnings. + Glamor for Xephyr. This X-on-X implementation now serves as the primary development environment for our new 2D acceleration subsystem, permitting rapid development and testing on a single machine. + Non-PCI device support. Many graphics devices are not enumerated with the standard PCI APIs; now the X server can auto-detect and configure them as it does in more conventional systems.- update to 1.16RC4 * non-PCI device support stuff merged - supersedes u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch- Update to 1.16RC3 - Bugfixes all over the place- u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch: Make sure result of shift operation fits into type of variable. This fixes finding the correct visual for RENDER with a BGRA framebuffer (bnc#876757).- %post: * move SaX2 generated xorg.conf file to xorg.conf.sle11 Only in very rare cases a static X configuration is still required on sle12. And, in some cases the migration from a static sle11 X configuration to a static sle12 X configuration is not possible at all, e.g. some video and input drivers are no longer available on sle12. In short, trying to migrate will result in more harm than benefit. (bnc#877315) * remove dangling link /etc/X11/XF86Config (bnc#879360, comment#15) * prevent %postun of NVIDIA/fglrx driver packages from restoring xorg.conf backup or running sax2 as fallback to create a new xorg.conf (bcn#877315)- Fix crash in abnormal condition (bnc#879666, bnc#879489): * u_connection-avoid-crash-when-CloseWellKnownConnections-gets-called-twice.patch Fix a crash when CloseWellKnownConnections() gets called twice. This can happen if FatalError() is called in the shutdown procedure. * u_CloseConsole-Don-t-report-FatalError-when-shutting-down.patch Don't call FatalError() on errors in console ioctls when in shutdown.- Added n_xserver-optimus-autoconfig-hack.patch for FATE#316410. This is a little hack to make the X server autoconfigure the output sinks for Optimus laptops. This lets them automatically use outputs that are only wired to a certain GPU. To be removed once our desktop tools can configure this easily.- Remove upstreamed patches: - u_xfree86-allow-fallback-to-PCI-bus-probe-for-non-seat0-seats.patch (patch108) - u_xfree86-add-new-key-MatchSeat-to-xorg-conf.patch (patch109) - u_xfree86-add-short-description-about-MatchSeat-key-in-xorg-conf-man-page.patch (patch110)- Remove N_fix_XWAYLAND_SCANNER_undefined.diff Configure line is gone- Add new patches to make non-seat0 X servers work properly with non-KMS video drivers: + u_xfree86-allow-fallback-to-PCI-bus-probe-for-non-seat0-seats.patch + u_xfree86-add-new-key-MatchSeat-to-xorg-conf.patch + u_xfree86-add-short-description-about-MatchSeat-key-in-xorg-conf-man-page.patch- added missing pkgconfig(xf86dgaproto) BuildRequires- N_fix_XWAYLAND_SCANNER_undefined.diff * handle undefined XWAYLAND_SCANNER_RULES in configure; fix compilation for openSUSE 12.3- Add missing BuildRequires- Update to 1.16RC2 - Build and pack XWayland DDX- obsolete glamor-devel from the correct package- obsolete also glamor and glamor-devel in addition to glamor-egl- Update to version 1.16.0pre: - Remove upstreamed patches: + Patch223: U_keep_non_seat0_x_server_from_touching_vts.patch- u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch: arch: Fix image and bitmap byte order for ppc64le (bnc#865069)- remove creation of libxf86config which was once used bu SaX2.- Rename u_keep_non_seat0_x_server_from_touching_vts.patch to U_keep_non_seat0_x_server_from_touching_vts.patch, since it's now upstreamed. * See: http://cgit.freedesktop.org/xorg/xserver/commit/?id=46cf2a60934076bf568062eb83121ce90b6ff596- removed N_randr_fix_abi.patch, since it caused the crash with current NVIDIA drivers built against xorg-server 1.15 (bnc#858827)- changed license back to MIT, since xf4nc is no longer patched into X.Org sources (bnc#856905)- Also build with --disable-linux-apm as lnx_apm.lo is still built even if --disable-linux-acpi is used. Both are obsolete and very likely dangerous to use nowadays.- Update to version 1.15.0: The final 1.15 release!- Update to version 1.14.99.905 (1.15 RC5): We're getting perilously close to 1.15 now; this should be the last RC before we're done next week. If you haven't bothered to test a recent candidate, now would be an awesome time to do so and make sure we're releasing something that's going to work for you.- Add u_keep_non_seat0_x_server_from_touching_vts.patch * See: http://cgit.freedesktop.org/~jwrdegoede/xserver/commit/?id=405e2805d3903a8a631f01924593a227c634f05d * Pull request to main xserver git tree scheduled after 1.15 release- u_exa-only-draw-valid-trapezoids.patch * Fix possible x server crash using invalid trapezoids. (bnc#853846 CVE-2013-6424)- Changed patch numbering, reordered patches to group SUSE specific and to-be-upstreamed patches. - Added descriptions to a number of patches. - Renamed some patches: * N_p_default-module-path.diff -> N_default-module-path.diff * n_xorg-x11-server-rpmmacros.patch -> N_xorg-x11-server-rpmmacros.patch- Dropped: * N_0001-Check-harder-for-primary-PCI-device.patch Whith libpciaccess code path irrelevant for Linux. * N_0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch Solved differently upstream * N_bug-197858_dpms.diff This one is upstream already - apparently nobody check this when it no longer applied... * N_bug534768-prefer_local_symbols.patch Upstream has a better suggestion how to solve this. However this patch is no longer needed * N_dpms_screensaver.diff This topic was solved slightly differently upstream - still patch got ported without checking it's context. * N_randr1_1-sig11.diff No longer needed. Problem was fixed differently upstream. * u_vgaHW-no-legacy.patch Problem solved in the nv driver. - Renamed: Those patches will go upstream, thus they are prefixed by a u_: * n__confine_to_shape.diff -> u_confine_to_shape.diff * N_fbdevhw.diff -> u_fbdevhw.diff * n_x86emu-include-order.patch -> u_x86emu-include-order.patch * N_xorg-server-xdmcp.patchA -> u_xorg-server-xdmcp.patch Those patches no longer apply but are kept for reference thus prefixed by b_: * N_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch -> b_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch * N_cache-xkbcomp-output-for-fast-start-up.patch -> b_cache-xkbcomp-output-for-fast-start-up.patch * N_sync-fix.patch -> b_sync-fix.patch Those patches came from a foreign source but are not upstream, yet, thus prefix ux_: * u_xserver_xvfb-randr.patch -> ux_xserver_xvfb-randr.patch- Update to version 1.14.99.904 (1.15 RC4): Here's another RC this week. This includes fixes for the GLX regression on OS X and Windows, and fixes for Xinerama and various extensions. - Drop superseded patches: + Patch143: n_autoconf-On-Linux-give-fbdev-driver-a-higher-precedence-than-vesa.patch- removed no longer applied n_Xvnc-pthread.diff from package- Update to 1.14.99.903 (1.15 RC3): - Remove upstreamed patches: + Patch228: u_aarch64-support.patch + Patch229: u_disable-acpi-code.patch A new configure option controls this now + Patch240: U_revert_dri2_realloc_dri2_drawable_if-pixmap_serial_changes.patch + Patch242: U_randr_dont_directly_set_changed_bits_in_randr_screen.patch + Patch243: U_randr_report_changes_when_we_disconnect_a_GPU_slave.patch + Patch244: u_randr_send_rrproviderchangenotify_event.patch + Patch245: u_randr_send_rrresourcechangenotify_event.patch + Patch246: u_randr_deliver_output_and_crtc_events_of_attached_output.patch + Patch249: U_xserver_enable_grabdevice_by_default_for_non_seat0.patch - Drop superseded patches: + Patch16: N_p_xnest-ignore-getimage-errors.diff + Patch79: N_edid_data_sanity_check.diff- Fix naming convention for last patch- Add U_xserver_enable_grabdevice_by_default_for_non_seat0.patch * See http://cgit.freedesktop.org/xorg/xserver/commit/?id=c73c36b537f996574628e69681833ea37dec2b6e- N_x86emu-include-order.patch: Change include order to avoid conflict with system header, remove duplicate definitions- N_randr_fix_abi.patch * Fixes compatibility with nvidia binary drivers. (bnc#849152)- Update to prerelease 1.14.4-rc1 (1.14.3.901) * bugfixes * fixes for security issue CVE-2013-4396 - obsoletes u_Avoid-use-after-free-in-dix-dixfonts.c-doImageText.patch- Add U_randr_dont_directly_set_changed_bits_in_randr_screen.patch, U_randr_report_changes_when_we_disconnect_a_GPU_slave.patch, u_randr_send_rrproviderchangenotify_event.patch, u_randr_send_rrresourcechangenotify_event.patch, u_randr_deliver_output_and_crtc_events_of_attached_output.patch, u_randr_allow_rrselectinput_for_providerchange_and_resourcechange_events.patch * Send randr 1.4 events to allow tools to react to new providers. (fate#316408, fate#316409)- u_Avoid-use-after-free-in-dix-dixfonts.c-doImageText.patch * Fixes a security issue, in which an authenticated X client can cause an X server to use memory after it was freed, potentially leading to crash and/or memory corruption. (CVE-2013-4396, bnc#843652)- Update to version 1.14.3: Bugfix release. Changes all over the place. - Remove upstreamed patches: + Patch227: u_init_framebuffer_base.patch- removed modprobe options for NVIDIA kernel module, since these have been moved to the NVIDIA packages themselves- Delete N_0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch: This patch is no longer appicable. The code has been reworked completely thus the problem fixed with this most likely no longer exists. - Delete N_Use-external-tool-for-creating-backtraces-on-crashes.patch: This feature has multiple issues, there is no reason to keep the patch around.- Remove the unused Xvnc packages - Remove the now unused vnc macro - Remove the Xvnc patches: + Patch17: n_VNC-Add-support-for-VNC.patch + Patch18: n_VNC-Readd-timeout-when-vnc-viewer-connection-breaks.patch + Patch19: n_VNC-Fix-crash-when-no-depth-translation-is-required.patch + Patch20: n_VNC-Don-t-let-VNC-access-the-framebuffer-directly-an.patch + Patch21: n_VNC-Enable-use-of-all-keyboard-layouts-independent-o.patch + Patch22: n_VNC-Fix-crash-due-to-unset-input-device-names.patch + Patch23: n_Xvnc-pthread.diff + Patch24: n_VNC-Add-proto.diff- n_autoconf-On-Linux-give-fbdev-driver-a-higher-precedence-than-vesa.patch: At SUSE we want to perfer the fbdev driver over the VESA driver at autoconfiguration as it is expected that fbdev will work in allmost all situations where no native driver can be found - even under UEFI and with secure boot. replaces: N_autoconfig_fallback_fbdev_first.diff- removed N_vidmode-sig11.diff (fixed upstream already)- Update to version 1.14.2: + Bugfix release, changes include: + dix: fix device scaling to use a [min,max[ range. + dix: pre-scale x by the screen:device:resolution ratio + os: Reset input buffer's 'ignoreBytes' field + dix: don't overwrite proximity/focus classes + dix: plug memory leak in freeing TouchClass + os: Use ErrorFSigSafe from FatalError and it's friends + dix: send the current axis value in DeviceChangedEvents (fdo#62321) + Xi: Use correct destination when swapping barrier events + xf86: don't hotplug output devices while VT switched.- Packaging changes: + Added patch240: U_revert_dri2_realloc_dri2_drawable_if-pixmap_serial_changes.patch For detailed information visit: http://cgit.freedesktop.org/xorg/xserver/commit/?id=77e51d5bbb97eb5c9d9dbff9a7c44d7e53620e68- u_xserver_xvfb-randr.patch * Add randr support to Xvfb (bnc#823410)- Update u_aarch64-support.patch: disable x86 asm also on aarch64- u_disable-acpi-code.patch * Don't build the ACPI code (bnc#805304)- Update to version 1.14.1: This release contains the fix for CVE-2013-1940, see here for more detail: http://lists.x.org/archives/xorg-devel/2013-April/036014.html In the remainder we have two build fixes, a couple of comment fixes and a change to the list.h code to inline the xorg_list_init function. Fairly unintrusive, the lot.- Add Source URL, see https://en.opensuse.org/SourceUrls- rebased u_aarch64-support.patch and reenabled it- u_aarch64-support.patch: Basic support for aarch64 disabled for the initial build of 1.14.0!- Update to version 1.14.0: Here's the 1.14 X server release; the last couple of weeks yielded a couple of useful bug fixes, but nothing that earth shattering. + a bunch of fixes to the touch device + a few fixes to the GPU hotplug bits + software rendering speedups (due to using the new pixman APIs) + elimination of a lot of warning messages (we've still too many) + pointer barriers work There are lots of other fixes too, as always thanks to all who provided patches, review and comments for this release!- u_aarch64-support.patch: Basic support for aarch64.- Update to version 1.14 RC2 1.13.99.902: + Remove upstreamed patches: u_Do-not-use-intel-driver-on-Poulsbo-Oaktrail-Medfield.patch (patch225)- added u_init_framebuffer_base.patch: initialize buffer.base to fix Xorg segfault in virtualbox guest (bnc#799480)- Update to version 1.13.2: No commits since rc1. Commits from rc1: + EnableDisableExtensionError: Use ARRAY_SIZE rather than sentinel + glx/dri2: initialise api to avoid indirect rendering failing randomly + XQuartz: Avoid a possible deadlock with DRI on OS X 10.7.5 and OS X 10.8.2 + XQuartz: Add some verbose logging to debug xp_lock_window being unbalanced + XQuartz: Don't add the 15bit visual any more + version bump for 1.13.1.901 (rc1) + vfb: Initialize the GLX extension again.- disabled build of VNC (xf4vnc), which finally has been replaced by the seperate xorg-x11-Xvnc source package (tigervnc)- let xorg-x11-server require xkeyboard-config again, since Xvfb is part of this package and requires keyboard files as well (bnc#797124)- Update to version 1.13.1: - Remove upstreamed patches: (double checked) + U_EXA-Track-source-mask-pixmaps-more-explicitly-for-Co.patch - Removed unrecognized configure options + "--enable-builddocs"- Let the old Xfig program find the ghostscript fonts (bnc#784305)- Update N_autoconfig_fallback_fbdev_first.diff to ensure modesetting driver is used before fbdev.- U_EXA-Track-source-mask-pixmaps-more-explicitly-for-Co.patch Track source/mask pixmaps more explicitly for Composite fallback regions. In particular, make sure pExaScr->src/maskPix are cleared when the corresponding pictures aren't associated with drawables, i.e. solid or gradient pictures. Without this, we would in some cases associate the source/mask region with unrelated pixmaps from previous Composite fallbacks, resulting in random corruption. (bnc#786153, fdo#47266)- u_vgaHW-no-legacy.patch * likely fixes build on ppc- /usr/bin/Xorg is no longer listed in /etc/permissions - remove %set_permissions and %verify_permissions and re-enable rpm permission check (bnc#632737 #c27)- N_driver-autoconfig.diff * "ati" needs to be the second choice right after "fglrx"; there must not be a gap between "fglrx" and "ati" introduced by removing "radeonhd" from this list by the previous change- N_driver-autoconfig.diff: * removed radeonhd and unichrome from driver list, since no longer supported upstream- Update to version 1.13.0: + Packaging changes: - Unify naming of patches - Drop upstreamed patches: 223, 224, 300 - 310 (double checked) - Remove patch pio_ia64.diff - not applicable anymore - Remove patch xserver-bg-none-root.patch - not applicable anymore - Remove patch bug474071-fix1.diff - not appliable anymore - Remove patch pci-legacy-mem-fallback.diff - not applicable anymore - Remove patch pu_fixes.diff - not applicable anymore (xaa is gone)- u_Do-not-use-intel-driver-on-Poulsbo-Oaktrail-Medfield.patch * Do not use intel driver on Poulsbo, Oaktrail, Medfield, CDV. IDs stolen from Kernel psb driver. (bnc#772279) * obsoletes xorg-detect-psb.patch- renamed patches of previous change according to our policy u_* --> U_* (since these were rebased on upstream patches)- Add patches u_dri2_add_DRI2CreateDrawable2.patch and u_0012-glx_Free_reference_to_destroyed_GLX_drawable.patch to fix seemingly random crashes of the X stack [bnc#769553]; patches came from upstream git commits, and were rebased to apply to present version cleanly.- Update to Version 1.12.3 + The third stable update to the X.Org X server 1.12 series is now available. A few smaller changes only since the second RC, some memory leak fixes and two fixes to avoid out-of-bounds array access.- removed redundant buildrequires to xorg-x11 meta package- change xorg-x11 requires to a requires for xkbcomp (xorg-x11 is meanwhile a meta package, which requires any X sample app package); background: Xserver uses xkbcomp on startup for creating the cache file for xkb keyboard map.- let xorg-x11-server require Mesa, since that package includes the DRI drivers (including the "swrast" DRI driver for software rendering), which are required by GLX and AIGLX extensions (bnc#765241)- Update to version 1.12.2- no longer use obsolete %run_permissions; replaced it by %set_permissions (bnc#764101)- added patches to implement GLX_ARB_create_context extensions required for OpenGL 3.0 support (not upstream yet)- changed pixman-1-0 requires to version 0.24 (bnc#759537)- remove BuildRequires to ghostscript-library, since it conflicts with ghostscript-mini apparently now required by some other package- Rebase VNC patches Rebase confine_to_shape.diff- Update to version 1.12.1 - Drop xorg-docs-1.6.tar.bz2: the docs are provided in a sep. package. - Add ABI Provides verification: + pre_checkin.sh to be launched with --tar before checkin (no parameter given will try to do the right thing). + pre_checkin.sh is used during build to verify that the ABI values match the expectations, to ensure we provide by rpm what the binaries do. - Add rpm macro file, allowing driver and input packages to specify %x11_abi_videodrv_req, %x11_abi_xinput_req. - Rebased patches to apply on 1.12.1 code base: + 0001-Check-harder-for-primary-PCI-device.patch + 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch + autoconfig_fallback_fbdev_first.diff + bug534768-prefer_local_symbols.patch + dpms_screensaver.diff + driver-autoconfig.diff + fbdevhw.diff + fix-dpi-values.diff + fix_fglrx_screendepth_issue.patch + p_default-module-path.diff + pu_fixes.diff + p_xnest-ignore-getimage-errors.diff + randr1_1-sig11.diff + vidmode-sig11.diff + xorg-detect-psb.patch + xorg-server-xdmcp.patch + zap_warning_xserver.diff + sync-fix.patch - Drop upstream fixed patches: + U_dix-on-PointerRootWin-send-a-FocusIn-to-the-sprite-w.patch + U_dix-send-focus-events-to-the-immediate-parent-44079.patch + U_Don-t-call-deleted-Block-WakeupHandler.patch + u_OS-acpi-Reconnect-to-acpid-when-it-gets-restarted.patch + u_record-fix-sig11.patch- Parallel build with %_smp_mflags; strip redundant sections/tags - Use pkgconfig symbols for BuildRequires/Requires- fixed buildreqs due to reorganization of libvnc/vncproto- fixed buildreqs due to splitted xorg-x11-libs- added /usr/share/fonts/misc/sgi to Xserver core font rendering fontpath (bnc#738961)- U_dix-send-focus-events-to-the-immediate-parent-44079.patch/ U_dix-on-PointerRootWin-send-a-FocusIn-to-the-sprite-w.patch * fixed very visible bug in XI2 handling exposed by a gtk+ bugfix (bnc #740332, fdo #44079)- also package list.h in s390 so that sax2-tools can build- complete s390 fixes- fix build on s390/s390x- add libtool as buildrequire to avoid implicit dependency- u_record-fix-sig11.patch * If you aren't using the Record extension (and you aren't), you can work around the bug by moving the code which accesses the (non-existant) request buffer inside the loop looking at the recording contexts (of which there should be none). (bnc #728964, fdo #36930)- U_Don-t-call-deleted-Block-WakeupHandler.patch: Don't call deleted Bloxk/WakeupHandler() - this avoids crashes when handlers are unregistered from within a handler which are in the call chain behind the current handler (bnc #723777).- zap_warning_xserver.diff: Fix man page to match changed behavior.- update to xorg-server 1.10.4 - VNC patches completely redone by Egbert Eich (N-VNC-*) - Xvnc-pthread.diff: small buildfix required for factory - removed obsolete patches * EXA-mixed-ModifyPixmapHeader-pitch-fixes.-bug-33929.patch * Replace-malloc-with-calloc-to-initialize-the-buffers.patch * U_xserver_fix-pixmaps-lifetime-tracking.patch * commit-5c6a2f9.diff * pad-size-of-system-memory-copy-for-1x1-pixmaps * record-avoid-crash-when-calling-RecordFlushReplyBuff.patch * xorg-server-stop-cpu-eating.diff - adjusted patches * bug534768-prefer_local_symbols.patch * zap_warning_xserver.diff - disabled patches for now * 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch * cache-xkbcomp-output-for-fast-start-up.patch * xserver-bg-none-root.patch * 0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch - set VIDEO_ABI_VERSION = 10 and INPUT_ABI_VERSION = 12 in specfile- U_xserver_fix-pixmaps-lifetime-tracking.patch * avoid crash when enabling the desktop icons in gnome3 (bnc#701199)- u_xf4nvc_missing-libz.patch * Xvnc no longer can rely on the toolchain to add the required libs, it uses directly.- update: * randr1_1-sig11.diff removed accidentally forgotten debugging code. * u_OS-acpi-Reconnect-to-acpid-when-it-gets-restarted.patch made socket non-blocking. Idea taken from a pach for SLES11.- don't look for 10-evdev.conf for anything older than 11.3 (this includes SLE-11).- remove use-last-screen.patch: This patch has been rejected upstream. We will try to resolve this issue differently by not providing any screen, monitor or device section.- remove disable-fbblt-opt.diff: We are unable to reproduce this issue any more. So let's remove the workaround and start from scratch when issue resurfaces and find a proper fix.- fixed bug-197858_dpms.diff: removed pieces that have been solved differently today.- remove moblin-use_preferred_mode_for_all_outputs.diff: remove moblin specific patches.- rename edit_data_sanity_check.diff -> edid_data_sanity_check.diff- remove p_xkills_wrong_client.diff: made obsolete by commit b7f3618f.- remove xorg-server-1.8.0.diff: issue is now resolved in spec file.- fix zap_warning_fix.diff: recover from noisy people.- remove p_xorg_acpi.diff add u_OS-acpi-Reconnect-to-acpid-when-it-gets-restarted.patch removed redundant error message.- remove mouse.diff: Never understood what this patch was good for.- remove p_bug96328.diff: /dev/input/mice is the default mouse for X -configure on Linux for a long time already.- remove xephyr.diff: solved by configure options in spec file.- remove libdrm.diff: not needed any more, drivers seem to be fixed.- remove xorg-docs.diff: solved in spec file.- remove pixman.diff: Doesn't seem to be needed any more.- remove xorg-x11-nonroot-vesa.patch, org-server-nohwaccess.diff: There are other things missing to make those patches useful.- remove: xserver-1.6.1-nouveau.patch. This patch was only cosmetic.- remove: CVE-2010-2240-address_space_limit.patch CVE-2010-2240-tree_depth_limit.patch These security issues have been handled in the Linux kernel in a much more general fashion.- remove: bitmap_always_unscaled.diff missing_font_paths.diff This has now been solved in the spec file directly.- xorg-server-xf4vnc-fix-keyboard-layout-handling.diff Consolidate adapted patches for bugs 400520, 605015, and 660797 into single patch: - xorg-server-xf4vnc-bug660797-fix-keycode-lookup-and-isolevel3shift.diff - xorg-server-xf4vnc-bug660797-multilayout.diff - xorg-server-xf4vnc-bug605015-fix-keyboard-handling-xinput.diff - Fix *major* memory leak introduced by original 1.9 enabling patch- xorg-server-xf4vnc-bug660797-multilayout.diff - bnc #605015, 660797, fallout of fix from May 10: Keyboard handling was not XKB aware, which lead to a multitude of issues. Situation with this patch is not perfect, but way better.- xorg-server-xf4vnc-bug660797-fix-keycode-lookup-and-isolevel3shift.diff - bnc #400520, fallout of previous fix: Analysis for shift/level3 event faking was broken, leading to e.g Shift+PgUp not being recognized correctly.- bnc #605015 - Enable use of all keyboard layouts, independent of remotely set layout - Remove obsolete xorg-server-xf4vnc-bug605015-vnc-umlauts.diff - xorg-server-xf4vnc-bug605015-fix-keyboard-handling-xinput.diff This should basically already enable the use of other keyboards, if the remote keyboard stays at US. - xorg-server-xf4vnc-bug605015-fix-keycode-lookup-and-isolevel3shift.diff This patch fixes keycode lookup (not using any static keyboard layout any more) and ISO-Level3-Shift handling (enabling the use of keyboard layouts that use AltGr for reaching certain characters).- Xvnc should require xkeyboard-config (bnc #682904)- EXA-mixed-ModifyPixmapHeader-pitch-fixes.-bug-33929.patch * EXA/mixed: ModifyPixmapHeader pitch fixes. (bnc #678264, bfo #33929)- Replace-malloc-with-calloc-to-initialize-the-buffers.patch * Replace malloc with calloc to initialize the buffers[] as NULL in do_get_buffers function (bnc #673595)- record-avoid-crash-when-calling-RecordFlushReplyBuff.patch * record: avoid crash when calling RecordFlushReplyBuffer recursively (bnc #673575)- Added --enable-kdrive-evdev switch to ./configure so that the evdev driver can be used with Xephyr's -keybd and -mouse switches- Disable Use-external-tool-for-creating-backtraces-on-crashes.patch: - Security isn't exactly fond of the patch (bnc#666578) - Patch potentially livelocks server in fork() (bnc#660166)- Update xorg-server-xf4vnc-fixes_1_9.diff: Fix Xvnc rendering issues. - Enable build of Xvnc again. - Merge xorg-server-xf4vnc-fix-crash-on-193.diff into xorg-server-xf4vnc-fixes_1_9.diff- disabled build of Xvnc and moved Xvfb to main package; xorg-x11-Xvnc will be a seperate package (bnc #660208)- Add xorg-server-stop-cpu-eating.diff to avoid eating 100% of the CPU when auto-detecting which vt to use on startup.- pad-size-of-system-memory-copy-for-1x1-pixmaps: * Pad size of system memory copy for 1x1 pixmaps (bnc#652523, bfo#32803)- use-last-screen.patch * adjusted the patch to no longer segfault the Xserver during startup immediately when there isn't any screen section specified at all (bnc #661989)- use-last-screen.patch * Use last Screen section found to prefer xorg.conf (bnc #661536, bfo #32430)- added xorg-server-xf4vnc-bug605015-vnc-umlauts.diff as patch, but still disabled- xorg-server-xf4vnc-fix-crash-on-193.diff Fix vnc startup crashes (bnc #660208). Reenabled build of Xvnc. Massive rendering errors, still.- bumped version number to 7.6_1.9.3- sync-fix.patch * fixes the issue that gnome screensaver fadeout could not be stopped (bnc #648851)- xorg-docs 1.6- xorg-server 1.9.3 * This version is functionally equivalent to the second release candidate.- xorg-server 1.9.2.902 (1.9.3 RC2) * includes various build and bug fixes to stability and correctness over previous releases- remove Xorg setuid bit (bnc #632737)- xorg-server 1.9.2.901 (1.9.3 RC1) * many buildfixes and bugfixes- xorg-docs 1.5.99.901 (1.6 RC1) - adjusted xorg-x11-doc.diff- xorg-docs-1.5 - adjusted xorg-docs.diff- disabled again vnc build due to immediate assertion during startup of Xvnc- uncommented non-existing xorg-server-xf4vnc-bug605015-vnc-umlauts.diff- xorg-server-xf4vnc-fixes_1_9.diff: Fix build of vnc server for 1.9 Xserver series.- xorg-server 1.9.2 * This is a brown-bag release to address an issue with the xorg-server-1.9.1 tarball. The version of util-macros used to build the 1.9.1 tarball was modified and could cause problems due to the absence of the -fno-strict-aliasing CFLAG. This tarball was packaged using the unmodified util-macros. This additionally contains a fix for a regression in XQuartz found by Christof Wolf.- commit-5c6a2f9.diff * retain obsolete pixmapPrivate, just for ABI compatibility * reenable patch- xorg-server 1.9.1 (final release) * functionally equivalent to xorg-server 1.9.0.902- disable commit-5c6a2f9.diff for now- commit-5c6a2f9.diff xfree86: Kill pixmapPrivate with a vengeance (v2) ScrnInfo->pixmapPrivate only existed in order to catch invalid access to the framebuffer by making the backing data NULL across the VT switch. This was causing more confusion in the higher layers during mode setting without any real benefit, so remove it. v2: Kill ShadowModifyPixmapHeader() as well. (ABI change!)- xorg-server 1.9.0.902 * This release fixes an input regression introduced in 1.9.1 as well as some additional memory management issues. - obsoletes vbe-bufferoverflow.diff- Xvfb requires xkb rules, so adjust requires of the extra package- xorg-server 1.9.0.901 * This is the first release candidate for xorg-server-1.9.1. We've picked up fixes for some crashers and memory management problems as well as some minor new features including RandR support in XQuartz, 18bpp support in xfree86, and support for the nds32 architecture in xfree86. - adjusted zap_warning_xserver.diff- Use-external-tool-for-creating-backtraces-on-crashes.patch, xorg-backtrace: Use external script /usr/bin/xorg-backtrace for creating reasonable backtraces upon crashes.- set VIDEO_ABI_VERSION = 8 and INPUT_ABI_VERSION = 11 in specfile- xorg-server 1.9.0 * obsolete patches: - dmx-silly.patch - fixed-SYNC-extension-trigger-BlockHandler-test.diff - sw_cursor_on_randr.patch - xorg-evdev-conf.diff - xorg-server-commit-21ed660.diff - xorg-server-revert-event-mask.patch - xorg-x11-server-gl-apps-crash.patch * adjusted patches - 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch - 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch - CVE-2010-2240-tree_depth_limit.patch - cache-xkbcomp-output-for-fast-start-up.patch - confine_to_shape.diff - driver-autoconfig.diff - fpic.diff - xorg-detect-psb.patch - xorg-server-1.8.0.diff - xorg-server-nohwaccess.diff - xorg-server-option_libxf86config.diff - xorg-server-xf4vnc.patch - xserver-1.6.1-nouveau.patch - xserver-bg-none-root.patch * vbe-bufferoverflow.diff - fixes vbe buffer overflow - disabled vnc build for now (standalone server + module)- Replaced the previous xdmcp fix with a simpler approach that doesn't cause login problems in xdm and kdm. (bnc#625593)- CVE-2010-2240-address_space_limit.patch/ CVE-2010-2240-tree_depth_limit.patch * xorg stack/heap overlap fix (bnc #618152)- xorg-server-commit-21ed660.diff * dix: make DeviceEvent coordinates signed for Xinerama (bnc #628295, bfo #24986)- xorg-server-revert-event-mask.patch * locked up mouse event mask patch (bnc #619034)- Add xorg-x11-server-gl-apps-crash.patch to fix crash with GL applications. See bnc#617651. The patch is taken from upstream on the server-1.8-branch and simply updates the glx/ and hw/xfree86/dri2/ directories.- use configure option "--with-sha1=libcrypto" to fix also plain rpmbuilds (bnc #627872)- Fix some shortcomings in the xdmcp implementation. It used to suppress loopback addresses from the list of potential display addresses to report to xdm, even when talking to xdm through a loopback address. Now only display addresses of the same kind as the xdm connection are reported to xdm. This most notably helps Xvnc servers contacting the local xdm, because they were severely affected by the suppression of loopback addresses.- missing_font_paths.diff: * added /usr/share/fonts/{misc/sgi,truetype} to core font rendering default path; always use ":unscaled" for bitmap font paths (bnc #616400)- xorg-detect-psb.patch * remove again "intellegacy" from driver autoconfiguration; that reverts previous change (bnc #608315)- xorg-detect-psb.patch * added "intellegacy" as fallback for "intel" (gets active if 'nomodeset' is set as kernel option) since there is now a new package for the older intel driver, which still has UMS support- remove Xdmx manual page from xorg-x11-server, since it's already in xorg-x11-server-extra- Updated "Prevent XSync Alarms from senslessly calling CheckTrigger()" to make sure SyncTriggerInit() readds trigger to counter (bnc #584919).- Xdmx was disabled in favor of Nomad repository but it is apparently dead (no Xdmx for OpenSUSE 11.2, last build from early 2009). This patch re-enables Xdmx with some silly typo fixed (dmx-silly.patch). Contributed by .- Prevent XSync Alarms from senslessly calling CheckTrigger() when inactive. If an XSync Alarm is set to inactive there is no need to check if a trigger needs to fire. Doing so if the counter is the IdleCounter will put the server on 100 percent CPU load since the select timeout is set to 0 (bnc #584919).- specfile cleanup - removed no longer useful xlog2xconf.sh- adjusted moblin-xserver-no-root-2.patch, renamed it to xorg-server-nohwaccess.diff and enable it by default - rename moblin-xorg-x11-nonroot-vesa.patch to xorg-x11-nonroot-vesa.patch - removed obsolete patch 'xserver-boottime.patch'- Adapted and fixed 'noroot-background' patch originally coming from the Moblin project and enable by default.- On ia64 the Xserver brings its own PIO functions (inb, outb, ...). These are supposed to overrule the ones provided by glibc. Unfortunately this doesn't seem to work under all circumstances. Therefore use inX/outX_ia64 and set appropriate defines.- Fix SIG11 on VT switch when using SW cursor with RandR (bnc #592614).- fix evdev config file (use the one from xserver upstream)- fix libxf86config (resolve references)- fix_fglrx_screendepth_issue.patch * hardcode default color depth of fglrx driver to 24bit to fix video driver autoconfiguration (bnc #593878)- update to 1.8 - obsoletes xorg-server-walk_drivers.diff - adjusted xorg-server-xf4vnc.patch - xorg-server-1.8.0.diff * install evdev config file to the right directory- xorg-server-walk_drivers.diff: * updated patch working more cleanly, fixed coding style, added comments (Rüdiger Oertel)- disabled udev support for openSUSE <= 11.2 (bnc #589997)- re-do xorg-server-walk_drivers.diff again, different approach create screen sections for each possible drivers now it is really using the first driver as in full autoconfig- update to 1.7.99.902 - fixed font path ("--with-fontrootdir")- xserver-1.6.1-nouveau.patch (from fedora) Also, don't treat DRI setup failure as an error for nouveau.- rework xorg-server-walk_drivers.diff- re-implement walking list of possible drivers to find a working one- update to 1.7.99 to get rid of hal - refresh patches - drop p_ia64-console.diff - remove hal-devel from buildrequires - add libudev-devel to buildrequires - add --enable-config-udev to configure- drop un-applied patches p_pci-off-by-one.diff.ia64 xorg-x11-server-1.2.99-unbreak-domain.patch ia64linuxPciInit.diff exa-greedy.diff commit-c941479.diff moblin-hw-xf86-modes-Set-crtc-mode-rotation-transform-befo.patch moblin-xfree86-move-didLock-assignment-down-to-where-the-f.patch moblin-randr-fix-operation-order-so-that-rotation-transfor.patch- update to 1.7.6 * reintrocued record extension * bugfixes- update to 1.7.5 * Only four fixes since the RC, with the fix for 25640 being rather noteworthy - if your X server crashed on replugging keyboards (or using a KVM), you're encouraged to upgrade. - dix: restore lastDeviceEventTime update in dixSaveScreens - Don't double-swap the RandR PropertyNotify event - Xi: reset the sli pointers after copying device classes. (bfo #25640) - RENDER: Fix gradient and solid fill pictures with Xinerama, and misc cleanup - obsoletes 0001-Don-t-double-swap-the-RandR-PropertyNotify-event.patch- 0001-Don-t-double-swap-the-RandR-PropertyNotify-event.patch * The event is swapped in randr.c/SRROutputPropertyNotifyEvent, so it should not be swapped again here. (bnc #573446, bfo #26511)- set VIDEO_ABI_VERSION = 6 and INPUT_ABI_VERSION = 7 in specfile- update to 1.7.4 - obsoletes acpi_events.diff - obsoletes loadmod-bug197195.diff - obsoletes events.diff - obsoletes acpi-warning.diff - obsoletes fbdev_fallback_fail_fix.diff - obsoletes bug-507190_xorg-x11-server-bnc381139-randr-reprobe-on-unsuspend.diff - obsoletes keyrelease-1.5.2.diff - obsoletes 0001-Unclaim-PCI-slot-if-driver-probing-fails.patch - obsoletes 0001-Fix-sporadic-segfault-on-resume-with-intel-KMS-due-t.patch - obsoletes bug532341.diff - obsoletes no-return-in-nonvoid-function.diff - adjusted 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch - adjusted bitmap_always_unscaled.diff - adjusted bug-197858_dpms.diff - adjusted cache-xkbcomp-output-for-fast-start-up.patch - adjusted driver-autoconfig.diff - adjusted fixed-SYNC-extension-trigger-BlockHandler-test.diff - adjusted fpic.diff - adjusted missing_font_paths.diff - adjusted p_default-module-path.diff - adjusted p_ia64-console.diff - adjusted p_xorg_acpi.diff - adjusted xorg-detect-psb.patch - adjusted xorg-server-xf4vnc-disable-dmxvnc.diff - adjusted xorg-server-xf4vnc-fix.diff - adjusted xorg-server-xf4vnc.patch - adjusted xorg-x11-server.changes - adjusted xorg-x11-server.spec - adjusted zap_warning_xserver.diff - removed truetype_fontpath.diff - removed libdri_noPanoramiXExtension_symbol.patch - exa-greedy.diff not applied - fixed xorg-detect-psb.patch: rewrite to use second level switch statement for device_id - /usr/$lib/X11/Options is gone (Remove xorgcfg 'Options' list.)- added xlog2xconf, which is a script to create a minimal xorg.conf extracted from Xorg..log- driver-autoconfig.diff: * VIA chipsets: switched to "via" as first try since "via" is no longer renamed to "chrome9" in -chrome9 driver package and - unichrome driver package now disables the "via" wrapper- missing_font_paths.diff * added /usr/share/fonts/{URW,cyrillic} to font paths (bnc #558915)- build Xserver again with '-O2' instead of '-O0', which had been an unintentional change (bnc #551789)- add 'Option "AutoAddDevices" "off"' to xorg.conf only as documented comment, since it caused a lot of confusion (bnc #548085 and various others)- xorg-server 1.6.5 * This release fixes the fact that 1.6.4 would crash on drivers that still tried to initialize the DGA extension. It also has a minor improvement for Xephyr to support nesting within an existing window at a different depth. - obsoletes dga-removal-fix.diff- since we no longer use xorg.conf make ZapWarning the default (bnc #545590)- Fix segfault when killing X with ctrl-alt-backspace. (bnc #545363) * The damage structure for the cursor is not deregistered before deallocation, causing a subsequent DamageUnregister () to segfault. The problem may leave the text console unrestored. (0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch)- 0001-Check-harder-for-primary-PCI-device.patch (bnc #545458) * Primary PCI devices are identified by checking for an 'PCIINFOCLASSES' device which is VGA and has access to the memory bars enabled. If there should be more than one device for which this is true redo the check and also check if IO resoures are also enabled, if this still doesn't turn up a unique result also check for the presence of a BIOS rom.- driver-autoconfig.diff * GeForce 6150SE support broken on nv (bnc #465190/544674)- dga-removal-fix.diff * Here's an updated patch -- removes the _X_INTERNAL from the .c files, renames xf86DiDGAInit to _xf86_di_dga_init_internal, and renames xf86DiDGAReInit to _xf86_di_dga_reinit_internal.- dga-removal-fix.diff * "Removing DGA ended up breaking any drivers calling into the old xf86DiDGAInit function as it tried to see if DGA was already enabled and ended up crashing if the VT wasn't completely initialized. Oops."- xorg-server 1.6.4 * fbdevhw: Test for graphics:fb%d as well as graphics/fb%d * render: return the supported version rather than just passing the proto's version * xfree86/modes: Remove all framebuffer support from DGA * dri2: Don't crash if pPriv is NULL. * Don't send events through the master if the device has SendCoreEvents off. * Don't reset the lastDeviceEventTime when doing DPMS actions * dix: append "built-ins" to the font path in SetDefaultFontPath- bug532341.diff * fixes Xserver crash when running x11perf -shmputxy10 test case (bnc #532341, bfo #23298)- Less intrusive fix for server segfault. Should fix fdo #24010 (memleak).- %post: modify xorg.conf if required * do not change input driver behaviour for existing X.Org configurations- moblin-use_preferred_mode_for_all_outputs.diff * use each outputs preferred mode (bnc #537488)- Prefer locally defined symbols in modules (bnc #534768).- 0001-Fix-sporadic-segfault-on-resume-with-intel-KMS-due-t.patch: Fixes segfaults with intel and KMS upon resume (only occuring sporadically).- Update to 1.6.4 RC1, adapted patches.- 0001-config-don-t-shutdown-the-libhal-ctx-if-it-failed-to.patch * no longer need to revert commit c941479 (bnc #528397, bfo #23213)- revert commit c941479 (bnc #528397)- Resynced with patches from Intel's Moblin project. - Updated patches to aply cleanly again.- xorg-server 1.6.3 * This mostly just collects a bunch of minor fixes since 1.6.2. Two notable inclusions are: - Replacing dixLookupResource with dixLookupResourceByType, dixLookupResourceByClass. This returns us to having two resource lookup functions, but this time we have a more sensible name and argument set. - Fixing RandR transforms for drivers providing set_mode_major. These patches were originally slated to land in 1.6.2 but I missed them somehow. - obsoletes commit-cadf65a.diff- xorg-server 1.6.2 * This is the second update to the 1.6 version and is designed to be a drop-in compatible version with various bug fixes and other improvements. - obsoletes various patches * bug-507190_xorg-x11-server-bnc381139-randr-fix-timestamps.diff * includes-fix.diff * security-Fix-a-crash-caused-by-wrong-ordering-of-fo.patch * security-Grant-untrusted-windows-remove-access-on-a.patch * security-Revert-behavior-of-extension-access-for-co.patch - adjusted zap_warning_xserver.diff- Adapt vnc patches to changes in input infrastructure (fixes bnc #508553)- Unclaim PCI slot if driver probing fails (fixes bnc #511529)- includes-fix.diff * build fix - truetype_fontpath.diff * added /usr/share/fonts/truetype to default font path- use %moblin define in specfile- xserver-1.5.0-bg-none-root.patch * removed patch for compalloc.c, which hurts on Moblin - disabled xserver-1.5.0-bg-none-root.patch (only useful for Moblin)- diabled build of Xdmx since it conflict's with NOMAD's Xdmx (bnc #511269)- driver-autoconfig.diff * ati ==> fglrx --> radeonhd --> ati * nv ==> nvidia --> nouveau --> nv (FATE #305109) * openchrome ==> chrome9 --> openchrome --> unichrome * registered vboxvideo - obsoletes radeonhd.diff/radeonhd.h- keyrelease-git.diff * xkb: Don't press+release keys on key events. Fixes submission of F7 to apps on switch from console for drivers that switch fast enough (bnc #141443).- autoconfig_fallback_fbdev_first.diff * fallback to fbdev first, then vesa instead of the other way roundFrederico's patches to support reprobing of connected displays on EnterVT and fixes to set event timestamps properly. - Re-probe RANDR outputs on laptop unsuspend. - Make RANDR 'set' timestamps follow client specified time. - Add missing fields to SRR*NotifyEvent().- Patches taken from Moblin: * security: Grant untrusted windows remove access on all windows. * security: Fix a crash caused by wrong ordering of format arguments. * security: Revert behavior of extension access for compatibility. * Autodetect Plousbo chips. * add -nb command line option to supress root window background stet on startup. * cache xkb output for fast startup. * make noPanoramiXExtension symbol local and initialize.- fbdev_fallback_fail_fix.diff * fix fbdev fallback failure if no xorg.conf exists; fbdev driver complained about required BusID (Egbert Eich)- instead of require do provide INPUT_ABI_VERSION/VIDEO_ABI_VERSION to fix dependancy loop- xkeyboard-config should be required by xorg-x11-driver-input - require INPUT_ABI_VERSION = 4 (provided by xorg-x11-driver-input) - require VIDEO_ABI_VERSION = 5 (provided by xorg-x11-driver-video) - require libpixman-1-0 >= 0.15.2- enable DRI2 build- xorg-server 1.6.1- fixed-SYNC-extension-trigger-BlockHandler-test.diff (bnc #472046) * Reworked ComputeBracketValues(): * Reworked previous patch to IdleTimeBlockHandler() (commit 1f4fb022) (Egbert Eich)- commit-cadf65a.diff * randr: Nuke broken set_origin shortcut. Shortcut is impossible to implement this way, because we don't know for sure whether the crtc of an output has changed or not. (bnc #482838)- renamed modprobe config to /etc/modprobe.d/50-nvidia.conf (required by new module-init-tools).- radeonhd.diff/radeonhd.h: * prefer radeonhd for autoconfig for ATI >= R500- added hal-devel to BuildRequires for input driver configuration support via HAL, e.g. evdev- removed randr12-8d230319040f0a7f72231da2bf5ec97dc3612e21.diff; probably a wrong patch since this commit has been reverted right after by commit b4193a2eee80895c5641e77488df0e72a73a3d99 again - no longer overwrite xorg.conf with an obsolete one; obsoletes disable-root-xorg_conf.diff- regenerated xorg-server-xf4vnc.patch (still disabled)cloud128 1521065082  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~7.6_1.18.3-31.17.6_1.18.3-31.1     !!!!!"""####$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#%%%%%%%%%#&&&&&&&&#'''''''#(((((((#)))))))*************#+++,,,,,,,,,,,,#----...#////////000#111#22222#3333333333333#4444444#5555555#66666666666666#77788888888888888879999999997:::::77;;;<<=;;;;;;;;;;;7>>>7??????????7@@@@@@@@@@@@7AAAAA777#BBBBBBBBBBBBBBBBBBBBBBBBB#CCCCCCCCCCCCCCCCCCCC##DDDDD#EEEFFFEGGGEHHHHEIIIIIIIIIIIIIIIIIII#JJJJJJJ#KKKKK#LLLLLLLLLLLLMMMMMMMMMMM##NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNPQQQQQQQPPPPPPPPPRRRRRSTTTUUSVVVWWSXXXYYSZZZ[[S\\\]]S^^^__S```aaSSbbbccSdddeeSfffggShhhiiSjjjkkSlllmmSnnnooSpppqqSrrrssStttuuSvvvwwSxxxyySzzz{{S|||}}S~~~SSSSSSSSRRRRPPPPPPPPPPPPPPPPPPPPPPPPPxserverCOPYINGChangeLogINSTALLMakefile.amMakefile.inREADMETODOXextMakefile.amMakefile.inbigreq.cdpms.cdpmsproc.hdpmsstubs.cgeext.cgeext.hgeint.hhashtable.chashtable.hpanoramiX.cpanoramiX.hpanoramiXSwap.cpanoramiXh.hpanoramiXprocs.cpanoramiXsrv.hsaver.csecurity.csecuritysrv.hshape.cshm.cshmint.hsleepuntil.csleepuntil.hsync.csyncsdk.hsyncsrv.hvidmode.cxace.cxace.hxacestr.hxcmisc.cxf86bigfont.cxf86bigfontsrv.hxres.cxselinux.hxselinux_ext.cxselinux_hooks.cxselinux_label.cxselinuxint.hxtest.cxvdisp.cxvdisp.hxvdix.hxvmain.cxvmc.cxvmcext.hXiMakefile.amMakefile.inallowev.callowev.hchgdctl.cchgdctl.hchgfctl.cchgfctl.hchgkbd.cchgkbd.hchgkmap.cchgkmap.hchgprop.cchgprop.hchgptr.cchgptr.hclosedev.cclosedev.hdevbell.cdevbell.hexevents.cexglobals.hextinit.cgetbmap.cgetbmap.hgetdctl.cgetdctl.hgetfctl.cgetfctl.hgetfocus.cgetfocus.hgetkmap.cgetkmap.hgetmmap.cgetmmap.hgetprop.cgetprop.hgetselev.cgetselev.hgetvers.cgetvers.hgrabdev.cgrabdev.hgrabdevb.cgrabdevb.hgrabdevk.cgrabdevk.hgtmotion.cgtmotion.hlistdev.clistdev.hopendev.copendev.hqueryst.cqueryst.hselectev.cselectev.hsendexev.csendexev.hsetbmap.csetbmap.hsetdval.csetdval.hsetfocus.csetfocus.hsetmmap.csetmmap.hsetmode.csetmode.hstubs.cungrdev.cungrdev.hungrdevb.cungrdevb.hungrdevk.cungrdevk.hxiallowev.cxiallowev.hxibarriers.cxibarriers.hxichangecursor.cxichangecursor.hxichangehierarchy.cxichangehierarchy.hxigetclientpointer.cxigetclientpointer.hxigrabdev.cxigrabdev.hxipassivegrab.cxipassivegrab.hxiproperty.cxiproperty.hxiquerydevice.cxiquerydevice.hxiquerypointer.cxiquerypointer.hxiqueryversion.cxiqueryversion.hxiselectev.cxiselectev.hxisetclientpointer.cxisetclientpointer.hxisetdevfocus.cxisetdevfocus.hxiwarppointer.cxiwarppointer.haclocal.m4autogen.shcompilecompositeMakefile.amMakefile.incompalloc.ccompext.ccompinit.ccompint.hcompositeext.hcompoverlay.ccompwindow.cconfigconfig.guessconfig.sub10-quirks.confMakefile.amMakefile.inconfig-backends.hconfig.cdbus-core.cfdi2iclass.pyhal.cudev.cwscons.cx11-input.fdiconfigureconfigure.acdamageextMakefile.amMakefile.indamageext.cdamageextint.hdbeMakefile.amMakefile.indbe.cdbestruct.hmidbe.cmidbe.hdepcompdevbook.amdixBuiltInAtomsMakefile.amMakefile.inXserver-dtrace.h.inXserver.datom.cbuildatomscolormap.ccursor.cdevices.cdispatch.cdispatch.hdixfonts.cdixutils.centerleave.centerleave.heventconvert.cevents.cextension.cffs.cgc.cgetevents.cglobals.cglyphcurs.cgrabs.cinitatoms.cinpututils.cmain.cpixmap.cprivates.cproperty.cprotocol.txtptrveloc.cregion.cregistry.cresource.cselection.cstubmain.cswaprep.cswapreq.ctables.ctouch.cwindow.cdocMakefile.amMakefile.inXinput.xmlXserver-spec.xmldtraceMakefile.amMakefile.inXserver-DTrace.xmlfilter-xmlto.shsmartscheddocbook.amdri3Makefile.amMakefile.indri3.cdri3.hdri3_priv.hdri3_request.cdri3_screen.cexaMakefile.amMakefile.inexa.cexa.hexa_accel.cexa_classic.cexa_driver.cexa_glyphs.cexa_migration_classic.cexa_migration_mixed.cexa_mixed.cexa_offscreen.cexa_priv.hexa_render.cexa_unaccel.cfbMakefile.amMakefile.infb.hfb24_32.cfb24_32.hfballpriv.cfbarc.cfbbits.cfbbits.hfbblt.cfbbltone.cfbcmap_mi.cfbcopy.cfbfill.cfbfillrect.cfbfillsp.cfbgc.cfbgetsp.cfbglyph.cfbimage.cfbline.cfboverlay.cfboverlay.hfbpict.cfbpict.hfbpixmap.cfbpoint.cfbpush.cfbrop.hfbscreen.cfbseg.cfbsetsp.cfbsolid.cfbtrap.cfbutil.cfbwindow.cwfbrename.hglamorMakefile.amMakefile.inglamor.cglamor.hglamor_addtraps.cglamor_composite_glyphs.cglamor_compositerects.cglamor_context.hglamor_copy.cglamor_core.cglamor_dash.cglamor_debug.hglamor_egl.cglamor_egl_stubs.cglamor_eglmodule.cglamor_fbo.cglamor_font.cglamor_font.hglamor_glx.cglamor_glyphblt.cglamor_gradient.cglamor_image.cglamor_largepixmap.cglamor_lines.cglamor_picture.cglamor_pixmap.cglamor_points.cglamor_prepare.cglamor_prepare.hglamor_priv.hglamor_program.cglamor_program.hglamor_rects.cglamor_render.cglamor_segs.cglamor_spans.cglamor_sync.cglamor_text.cglamor_transfer.cglamor_transfer.hglamor_transform.cglamor_transform.hglamor_trapezoid.cglamor_triangles.cglamor_utils.cglamor_utils.hglamor_vbo.cglamor_window.cglamor_xv.cglxMakefile.amMakefile.inclientinfo.ccreatecontext.cextension_string.cextension_string.hglxbyteorder.hglxcmds.cglxcmdsswap.cglxcontext.hglxdrawable.hglxdri2.cglxdricommon.cglxdricommon.hglxdriswrast.cglxext.cglxext.hglxscreens.cglxscreens.hglxserver.hglxutil.hindirect_dispatch.cindirect_dispatch.hindirect_dispatch_swap.cindirect_program.cindirect_reqsize.cindirect_reqsize.hindirect_size.hindirect_size_get.cindirect_size_get.hindirect_table.cindirect_table.hindirect_texture_compression.cindirect_util.cindirect_util.hrender2.crender2swap.crenderpix.crenderpixswap.crensize.csingle2.csingle2swap.csinglepix.csinglepixswap.csinglesize.csinglesize.hswap_interval.cunpack.hxfont.chwMakefile.amMakefile.indmxMakefile.amMakefile.inconfigCanvas.cCanvas.hCanvasP.hMakefile.amMakefile.inTODOdmxcompat.cdmxcompat.hdmxconfig.cdmxconfig.hdmxparse.cdmxparse.hdmxprint.cdmxprint.hdmxtodmx.cmanMakefile.amMakefile.indmxtodmx.manvdltodmx.manxdmxconfig.manparser.cparser.hparser.yscanner.cscanner.ltest-a.intest-a.outtest-b.intest-b.outtest-c.intest-c.outtest-d.intest-d.outtest-e.intest-e.outtest-f.intest-f.outtest-g.intest-g.outtest-h.intest-h.outtest-i.intest-i.outtest-j.intest-j.outtest-k.intest-k.outtest-l.intest-l.outvdltodmx.cxdmxconfig.cdmx-config.hdmx.cdmx.hdmx_glxvisuals.cdmx_glxvisuals.hdmxcb.cdmxcb.hdmxclient.hdmxcmap.cdmxcmap.hdmxcursor.cdmxcursor.hdmxdpms.cdmxdpms.hdmxextension.cdmxextension.hdmxfont.cdmxfont.hdmxgc.cdmxgc.hdmxgcops.cdmxgcops.hdmxinit.cdmxinit.hdmxinput.cdmxinput.hdmxlog.cdmxlog.hdmxpict.cdmxpict.hdmxpixmap.cdmxpixmap.hdmxprop.cdmxprop.hdmxscrinit.cdmxscrinit.hdmxstat.cdmxstat.hdmxsync.cdmxsync.hdmxvisual.cdmxvisual.hdmxwindow.cdmxwindow.hdocDMXSpec-v1.txtDMXSpec.txtMakefile.amMakefile.indmx.xmlscaled.xmldoxygenMakefile.amMakefile.indoxygen.conf.infooter.htmlexamplesMakefile.amMakefile.indmxaddinput.cdmxaddscreen.cdmxinfo.cdmxreconfig.cdmxresize.cdmxrminput.cdmxrmscreen.cdmxwininfo.cev.cevi.cres.cxbell.cxinput.cxled.cxtest.cglxProxyMakefile.amMakefile.incompsize.ccompsize.hg_disptab.cg_disptab.hg_renderswap.cglobal.cglxcmds.cglxcmds.hglxcmdsswap.cglxcontext.hglxdrawable.hglxerror.hglxext.cglxext.hglxfbconfig.cglxfbconfig.hglxscreens.cglxscreens.hglxserver.hglxsingle.cglxsingle.hglxswap.cglxswap.hglxutil.hglxvendor.cglxvendor.hglxvisuals.cglxvisuals.hrender2swap.crenderpixswap.cunpack.hinputChkNotMaskEv.cChkNotMaskEv.hMakefile.amMakefile.inatKeynames.hdmxarg.cdmxarg.hdmxbackend.cdmxbackend.hdmxcommon.cdmxcommon.hdmxconsole.cdmxconsole.hdmxdetach.cdmxdummy.cdmxdummy.hdmxevents.cdmxevents.hdmxinputinit.cdmxinputinit.hdmxmap.cdmxmap.hdmxmotion.cdmxmotion.hdmxsigio.cdmxsigio.hdmxxinput.clnx-keyboard.clnx-keyboard.hlnx-ms.clnx-ms.hlnx-ps2.clnx-ps2.husb-common.cusb-common.husb-keyboard.cusb-keyboard.husb-mouse.cusb-mouse.husb-other.cusb-other.husb-private.hmanMakefile.amMakefile.inXdmx.mankdriveMakefile.amMakefile.inephyrMakefile.amMakefile.inREADMEephyr.cephyr.hephyr_draw.cephyr_glamor_glx.cephyr_glamor_glx.hephyr_glamor_xv.cephyrcursor.cephyrdri.cephyrdri.hephyrdriext.cephyrdriext.hephyrglxext.cephyrglxext.hephyrhostglx.cephyrhostglx.hephyrinit.cephyrlog.hephyrvideo.chostx.chostx.hmanMakefile.amMakefile.inXephyr.manos.cfakeMakefile.amMakefile.infake.cfake.hfakeinit.ckbd.cmouse.cos.cfbdevMakefile.amMakefile.infbdev.cfbdev.hfbinit.clinuxMakefile.amMakefile.inevdev.ckeyboard.clinux.cmouse.cms.cps2.ctslib.csrcMakefile.amMakefile.infourcc.hkcmap.ckdrive.ckdrive.hkinfo.ckinput.ckmode.ckshadow.ckxv.ckxv.hvfbInitInput.cInitOutput.cMakefile.amMakefile.inmanMakefile.amMakefile.inXvfb.manxfree86Makefile.amMakefile.inXorg.sh.incommonMakefile.amMakefile.incompiler.hdgaproc.hextramodesfourcc.hmodeline2c.awkvesamodesxaarop.hxf86.hxf86AutoConfig.cxf86Build.h.inxf86Bus.cxf86Bus.hxf86Config.cxf86Config.hxf86Configure.cxf86Cursor.cxf86DGA.cxf86DPMS.cxf86Events.cxf86Extensions.cxf86Extensions.hxf86Globals.cxf86Helper.cxf86InPriv.hxf86Init.cxf86Mode.cxf86Module.hxf86Opt.hxf86Option.cxf86Optionstr.hxf86PM.cxf86PciInfo.hxf86Priv.hxf86Privstr.hxf86RandR.cxf86VGAarbiter.cxf86VGAarbiter.hxf86VGAarbiterPriv.hxf86VidMode.cxf86Xinput.cxf86Xinput.hxf86cmap.cxf86cmap.hxf86fbBus.cxf86fbman.cxf86fbman.hxf86noBus.cxf86pciBus.cxf86pciBus.hxf86platformBus.cxf86platformBus.hxf86sbusBus.cxf86sbusBus.hxf86str.hxf86xv.cxf86xv.hxf86xvmc.cxf86xvmc.hxf86xvpriv.hxisb.cxisb.hxorgHelper.cxorgVersion.hddcDDC.HOWTOMakefile.amMakefile.inddc.cddcProperty.cedid.hinterpret_edid.cprint_edid.cxf86DDC.hdixmodsMakefile.amMakefile.infbmodule.cglxmodule.cshmodule.cxkbKillSrv.cxkbPrivate.cxkbVT.cdocMakefile.amMakefile.inREADME.DRIcompREADME.modesRegistryddxDesign.xmlexa-driver.txtdriMakefile.amMakefile.indri.cdri.hdristruct.hsarea.hxf86dri.cdri2Makefile.amMakefile.indri2.cdri2.hdri2ext.cdri2int.hpci_idsMakefile.amMakefile.ini810_pci_ids.hi915_pci_ids.hi965_pci_ids.hpci_id_driver_map.hr200_pci_ids.hr300_pci_ids.hr600_pci_ids.hradeon_pci_ids.hradeonsi_pci_ids.hvirtio_gpu_pci_ids.hvmwgfx_pci_ids.hdriversMakefile.amMakefile.inmodesettingMakefile.amMakefile.indri2.cdriver.cdriver.hdrmmode_display.cdrmmode_display.hdumb_bo.cdumb_bo.hmodesetting.manpresent.cvblank.cexaMakefile.amMakefile.inexamodule.cmanMakefile.amMakefile.inexa.manfbdevhwMakefile.amMakefile.inREADMEfbdevhw.cfbdevhw.hfbdevhwstub.cfbpriv.hmanMakefile.amMakefile.infbdevhw.manglamor_eglMakefile.amMakefile.inglamor_xf86_xv.ci2cMakefile.amMakefile.ini2c_def.hxf86i2c.cxf86i2c.hint10INT10.HOWTOMakefile.amMakefile.ingeneric.chelper_exec.chelper_mem.cstub.cx86emu.cxf86int10.cxf86int10.hxf86int10module.cxf86x86emu.cxf86x86emu.hloaderMakefile.amMakefile.inloader.cloader.hloaderProcs.hloadmod.cos.cmanMakefile.amMakefile.inXorg.manXorg.wrap.manXwrapper.config.manxorg.conf.d.manxorg.conf.manmodesMakefile.amMakefile.inxf86Crtc.cxf86Crtc.hxf86Cursors.cxf86DiDGA.cxf86EdidModes.cxf86Modes.cxf86Modes.hxf86RandR12.cxf86RandR12.hxf86Rotate.cxf86cvt.cxf86gtf.cos-supportMakefile.amMakefile.inbsdMakefile.amMakefile.inalpha_video.carm_video.cbsd_VTsw.cbsd_apm.cbsd_bell.cbsd_ev56.cbsd_init.cbsd_kmod.cbsd_kqueue_apm.ci386_video.cmemrange.hppc_video.csparc64_video.cbusMakefile.amMakefile.inPci.cPci.hSbus.cbsd_pci.cnobus.cxf86Pci.hxf86Sbus.hhurdMakefile.amMakefile.inhurd_bell.churd_init.churd_video.cint10Defines.hlinuxMakefile.amMakefile.inint10linux.cvm86linux_vm86.clinux.hlnx_acpi.clnx_agp.clnx_apm.clnx_bell.clnx_ev56.clnx_init.clnx_kmod.clnx_platform.clnx_video.csystemd-logind.cmiscMakefile.amMakefile.inSlowBcopy.csharedVTsw_noop.cVTsw_usl.cagp_noop.cioperm_noop.ckmod_noop.cpm_noop.cposix_tty.csigio.csigiostubs.cvidmem.csolarisMakefile.amMakefile.insolaris-amd64.Ssolaris-ia32.Ssolaris-sparcv8plus.Ssun_VTsw.csun_agp.csun_apm.csun_bell.csun_init.csun_inout.ssun_vid.cstubMakefile.amMakefile.instub_bell.cstub_init.cstub_video.cxf86OSpriv.hxf86_OSlib.hxf86_OSproc.hparserConfigint.hDRI.cDevice.cExtensions.cFiles.cFlags.cInput.cInputClass.cLayout.cMakefile.amMakefile.inModule.cMonitor.cOutputClass.cPointer.cScreen.cVendor.cVideo.cconfigProcs.hread.cscan.cwrite.cxf86Optrec.hxf86Parser.hxf86tokens.hramdacBT.cBT.hBTPriv.hCURSOR.NOTESIBM.cIBM.hIBMPriv.hMakefile.amMakefile.inTI.cTI.hTIPriv.hxf86Cursor.cxf86Cursor.hxf86CursorPriv.hxf86HWCurs.cxf86RamDac.cxf86RamDac.hxf86RamDacCmap.cxf86RamDacPriv.hsdksyms.shshadowfbMakefile.amMakefile.insfbmodule.cshadow.cshadowfb.hutilsMakefile.amMakefile.incvtMakefile.amMakefile.incvt.cgtfMakefile.amMakefile.ingtf.cmanMakefile.amMakefile.incvt.mangtf.manxorgcfgXOrgCfg.precard.xbmcard.xpmcomputer.xpmdown.xbmkeyboard.xbmkeyboard.xpmleft.xbmmonitor.xbmmonitor.xpmmouse.xbmmouse.xpmnarrower.xbmright.xbmshorter.xbmtaller.xbmup.xbmwider.xbmxorgcfg.man.prevbeMakefile.amMakefile.invbe.cvbe.hvbeModes.cvbeModes.hvbe_module.cvgahwMakefile.amMakefile.invgaHW.cvgaHW.hvgaHWmodule.cx86emuMakefile.amMakefile.indebug.cdecode.cfpu.cops.cops2.cprim_ops.csys.cvalidate.cx86emux86emu.hdebug.hdecode.hfpu.hfpu_regs.hops.hprim_asm.hprim_ops.hprim_x86_gcc.hregs.htypes.hx86emui.hxorg-wrapper.cxorgconf.cppxnestArgs.cArgs.hColor.cColor.hCursor.cDisplay.cDisplay.hDrawable.hEvents.cEvents.hFont.cGC.cGCOps.cGCOps.hHandlers.cHandlers.hInit.cInit.hKeyboard.cKeyboard.hMakefile.amMakefile.inPixmap.cPointer.cPointer.hScreen.cScreen.hVisual.cVisual.hWindow.cXNCursor.hXNFont.hXNGC.hXNPixmap.hXNWindow.hXnest.hiconmanMakefile.amMakefile.inXnest.manscreensaverxnest-config.hxquartzGLMakefile.amMakefile.incapabilities.ccapabilities.hindirect.cvisualConfigs.cvisualConfigs.hMakefile.amMakefile.inX11Application.hX11Application.mX11Controller.hX11Controller.mapplewm.capplewmExt.hbundleInfo.plist.cppMakefile.amMakefile.inPkgInfoResourcesDutch.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibEnglish.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibFrench.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibGerman.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibItalian.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibJapanese.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibSpanish.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibX11.icnsar.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibca.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibcs.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibda.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibel.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibfi.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibhe.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibhr.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibhu.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibko.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibno.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibpl.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibpt.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibpt_PT.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibro.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibru.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibsk.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibsv.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibth.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibtr.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibuk.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibzh_CN.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibzh_TW.lprojLocalizable.stringslocversion.plistmain.nibdesignable.nibkeyedobjects.nibX11.shXquartz.plistcpprules.inmk_bundke.shconsole_redirect.cconsole_redirect.hdarwin.cdarwin.hdarwinEvents.cdarwinEvents.hdarwinXinput.cdarwinfb.hkeysym2ucs.ckeysym2ucs.hmach-startupMakefile.amMakefile.inbundle-main.claunchd_fd.claunchd_fd.hmach_startup.defsmach_startup_types.hstub.cmanMakefile.amMakefile.inXquartz.manpbproxyMakefile.amMakefile.inapp-main.mmain.mpbproxy.htrick_autotools.cx-input.mx-selection.hx-selection.mquartz.cquartz.hquartzCocoa.mquartzCommon.hquartzKeyboard.cquartzKeyboard.hquartzRandR.cquartzRandR.hquartzStartup.csanitizedCarbon.hsanitizedCocoa.hxprMakefile.amMakefile.inappledri.cappledri.happledristr.hdri.cdri.hdriWrap.cdriWrap.hdristruct.hx-hash.cx-hash.hx-hook.cx-hook.hx-list.cx-list.hxpr.hxprAppleWM.cxprCursor.cxprEvent.cxprEvent.hxprFrame.cxprScreen.cxwaylandMakefile.amMakefile.indrm.xmlxwayland-cursor.cxwayland-cvt.cxwayland-glamor-xv.cxwayland-glamor.cxwayland-input.cxwayland-output.cxwayland-shm.cxwayland-vidmode.cxwayland.cxwayland.hxwinInitInput.cInitOutput.cMakefile.amMakefile.inX.icoXWin.exe.manifestXWin.rcddraw.hglxMakefile.amMakefile.ingen_gl_wrappers.pyglshim.cglthunk.cglwindows.hindirect.cwgl_ext_api.cwgl_ext_api.hwinpriv.cwinpriv.hmanMakefile.amMakefile.inXWin.manXWinrc.manpropertystore.hsystem.XWinrcwin.hwinSetAppUserModelID.cwinallpriv.cwinauth.cwinblock.cwinclipboardMakefile.amMakefile.indebug.ctextconv.cthread.cwinclipboard.hwndproc.cxevents.cxwinclip.cxwinclip.manwinclipboardinit.cwinclipboardwrappers.cwincmap.cwinconfig.cwinconfig.hwincreatewnd.cwincursor.cwindialogs.cwindisplay.cwindisplay.hwinengine.cwinerror.cwinglobals.cwinglobals.hwinkeybd.cwinkeybd.hwinkeyhook.cwinkeynames.hwinlayouts.hwinmessages.hwinmisc.cwinmonitors.cwinmonitors.hwinmouse.cwinms.hwinmsg.cwinmsg.hwinmsgwindow.cwinmultiwindowclass.cwinmultiwindowclass.hwinmultiwindowicons.cwinmultiwindowicons.hwinmultiwindowshape.cwinmultiwindowwindow.cwinmultiwindowwm.cwinmultiwindowwndproc.cwinos.cwinprefs.cwinprefs.hwinprefslex.cwinprefslex.lwinprefsyacc.cwinprefsyacc.hwinprefsyacc.ywinprocarg.cwinrandr.cwinresource.hwinscrinit.cwinshadddnl.cwinshadgdi.cwintaskbar.cwintrayicon.cwinvalargs.cwinvideo.cwinwakeup.cwinwin32rootless.cwinwin32rootlesswindow.cwinwin32rootlesswndproc.cwinwindow.cwinwindow.hwinwindowswm.cwinwndproc.cincludeMakefile.amMakefile.inXIstubs.hXprintf.hbusfault.hcallback.hclient.hclosestr.hclosure.hcolormap.hcolormapst.hcursor.hcursorstr.hdbus-core.hdisplaymode.hdix-config-apple-verbatim.hdix-config.h.indix.hdixaccess.hdixevents.hdixfont.hdixfontstr.hdixfontstubs.hdixgrabs.hdixstruct.hdo-not-use-config.h.ineventconvert.hevents.heventstr.hexevents.hextension.hextinit.hextnsionst.hgc.hgcstruct.hglobals.hglx_extinit.hhotplug.hinput.hinputstr.hinpututils.hkdrive-config.h.inlist.hmisc.hmiscstruct.hnonsdk_extinit.hopaque.hoptionstr.hos.hpixmap.hpixmapstr.hprivates.hprobes.hproperty.hpropertyst.hprotocol-versions.hptrveloc.hregion.hregionstr.hregistry.hresource.hrgb.hscreenint.hscrnintstr.hselection.hservermd.hsite.hswaprep.hswapreq.hsystemd-logind.hvalidate.hversion-config.h.invidmodestr.hwindow.hwindowstr.hxkb-config.h.inxkbfile.hxkbrules.hxkbsrv.hxkbstr.hxorg-config.h.inxorg-server.h.inxserver-properties.hxsha1.hxwin-config.h.ininstall-shltmain.shm4ac_define_dir.m4libtool.m4ltoptions.m4ltsugar.m4ltversion.m4lt~obsolete.m4manMakefile.amMakefile.inXserver.manmanpages.ammiMakefile.amMakefile.inmi.hmiarc.cmibitblt.cmicmap.cmicmap.hmicoord.hmicopy.cmidash.cmidispcur.cmieq.cmiexpose.cmifillarc.cmifillarc.hmifillrct.cmifpoly.hmigc.cmigc.hmiglblt.cmiinitext.cmiline.hmioverlay.cmioverlay.hmipointer.cmipointer.hmipointrst.hmipoly.cmipoly.hmipolypnt.cmipolyrect.cmipolyseg.cmipolytext.cmipushpxl.cmiscanfill.hmiscrinit.cmisprite.cmisprite.hmistruct.hmivalidate.hmivaltree.cmiwideline.cmiwideline.hmiwindow.cmizerarc.cmizerarc.hmizerclip.cmizerline.cmiextMakefile.amMakefile.indamageMakefile.amMakefile.indamage.cdamage.hdamagestr.hrootlessMakefile.amMakefile.inREADME.txtrootless.hrootlessCommon.crootlessCommon.hrootlessConfig.hrootlessGC.crootlessScreen.crootlessValTree.crootlessWindow.crootlessWindow.hshadowMakefile.amMakefile.inc2p_core.hshadow.cshadow.hshafb4.cshafb8.cshalloc.cshiplan2p4.cshiplan2p8.cshpacked.cshplanar.cshplanar8.cshrot16pack.cshrot16pack_180.cshrot16pack_270.cshrot16pack_270YX.cshrot16pack_90.cshrot16pack_90YX.cshrot32pack.cshrot32pack_180.cshrot32pack_270.cshrot32pack_90.cshrot8pack.cshrot8pack_180.cshrot8pack_270.cshrot8pack_90.cshrotate.cshrotpack.hshrotpackYX.hsyncMakefile.amMakefile.inmisync.cmisync.hmisyncfd.cmisyncfd.hmisyncshm.cmisyncshm.hmisyncstr.hmissingosMakefile.amMakefile.inWaitFor.caccess.cauth.cbacktrace.cbusfault.cclient.cconnection.cio.clog.cmitauth.coscolor.cosdep.hosinit.creallocarray.crpcauth.cstrcasecmp.cstrcasestr.cstrlcat.cstrlcpy.cstrndup.ctimingsafe_memcmp.cutils.cxdmauth.cxdmcp.cxprintf.cxsha1.cxstrans.cpresentMakefile.amMakefile.inpresent.cpresent.hpresent_event.cpresent_fake.cpresent_fence.cpresent_notify.cpresent_priv.hpresent_request.cpresent_screen.cpresentext.hpseudoramiXMakefile.amMakefile.inpseudoramiX.cpseudoramiX.hrandrMakefile.amMakefile.inrandr.crandrstr.hrrcrtc.crrdispatch.crrinfo.crrmode.crrmonitor.crroutput.crrpointer.crrproperty.crrprovider.crrproviderproperty.crrscreen.crrsdispatch.crrtransform.crrtransform.hrrxinerama.crecordMakefile.amMakefile.inrecord.cset.cset.hrenderMakefile.amMakefile.inanimcur.cfilter.cglyph.cglyphstr.hmatrix.cmiindex.cmipict.cmipict.hmirect.cmitrap.cmitri.cpicture.cpicture.hpicturestr.hrender.ctesttest-driverMakefile.amMakefile.inREADMEddxstubs.cfixes.chashtabletest.cinput.clist.cmisc.cos.csignal-logging.cstring.ctouch.cxfree86.cxi1Makefile.amMakefile.inprotocol-xchangedevicecontrol.cxi2Makefile.amMakefile.inprotocol-common.cprotocol-common.hprotocol-eventconvert.cprotocol-xigetclientpointer.cprotocol-xigetselectedevents.cprotocol-xipassivegrabdevice.cprotocol-xiquerydevice.cprotocol-xiquerypointer.cprotocol-xiqueryversion.cprotocol-xiselectevents.cprotocol-xisetclientpointer.cprotocol-xiwarppointer.cxi2.cxkb.cxtest.cxfixesMakefile.amMakefile.incursor.cregion.csaveset.cselect.cxfixes.cxfixes.hxfixesint.hxkbMakefile.amMakefile.inREADME.compiledXKBAlloc.cXKBGAlloc.cXKBMAlloc.cXKBMisc.cddxBeep.cddxCtrls.cddxKillSrv.cddxLEDs.cddxLoad.cddxPrivate.cddxVT.cmaprules.cxkb.cxkb.hxkbAccessX.cxkbActions.cxkbDflts.hxkbEvents.cxkbInit.cxkbLEDs.cxkbPrKeyEv.cxkbSwap.cxkbUtils.cxkbfmisc.cxkbgeom.hxkbout.cxkbtext.cxkmread.cxorg-server-provides.buildxorg-server.m4xorg-server.pc.inxserver.ent.inylwrap/usr/src//usr/src/xserver//usr/src/xserver/Xext//usr/src/xserver/Xi//usr/src/xserver/composite//usr/src/xserver/config//usr/src/xserver/damageext//usr/src/xserver/dbe//usr/src/xserver/dix//usr/src/xserver/doc//usr/src/xserver/doc/dtrace//usr/src/xserver/dri3//usr/src/xserver/exa//usr/src/xserver/fb//usr/src/xserver/glamor//usr/src/xserver/glx//usr/src/xserver/hw//usr/src/xserver/hw/dmx//usr/src/xserver/hw/dmx/config//usr/src/xserver/hw/dmx/config/man//usr/src/xserver/hw/dmx/doc//usr/src/xserver/hw/dmx/doxygen//usr/src/xserver/hw/dmx/examples//usr/src/xserver/hw/dmx/glxProxy//usr/src/xserver/hw/dmx/input//usr/src/xserver/hw/dmx/man//usr/src/xserver/hw/kdrive//usr/src/xserver/hw/kdrive/ephyr//usr/src/xserver/hw/kdrive/ephyr/man//usr/src/xserver/hw/kdrive/fake//usr/src/xserver/hw/kdrive/fbdev//usr/src/xserver/hw/kdrive/linux//usr/src/xserver/hw/kdrive/src//usr/src/xserver/hw/vfb//usr/src/xserver/hw/vfb/man//usr/src/xserver/hw/xfree86//usr/src/xserver/hw/xfree86/common//usr/src/xserver/hw/xfree86/ddc//usr/src/xserver/hw/xfree86/dixmods//usr/src/xserver/hw/xfree86/doc//usr/src/xserver/hw/xfree86/dri//usr/src/xserver/hw/xfree86/dri2//usr/src/xserver/hw/xfree86/dri2/pci_ids//usr/src/xserver/hw/xfree86/drivers//usr/src/xserver/hw/xfree86/drivers/modesetting//usr/src/xserver/hw/xfree86/exa//usr/src/xserver/hw/xfree86/exa/man//usr/src/xserver/hw/xfree86/fbdevhw//usr/src/xserver/hw/xfree86/fbdevhw/man//usr/src/xserver/hw/xfree86/glamor_egl//usr/src/xserver/hw/xfree86/i2c//usr/src/xserver/hw/xfree86/int10//usr/src/xserver/hw/xfree86/loader//usr/src/xserver/hw/xfree86/man//usr/src/xserver/hw/xfree86/modes//usr/src/xserver/hw/xfree86/os-support//usr/src/xserver/hw/xfree86/os-support/bsd//usr/src/xserver/hw/xfree86/os-support/bus//usr/src/xserver/hw/xfree86/os-support/hurd//usr/src/xserver/hw/xfree86/os-support/linux//usr/src/xserver/hw/xfree86/os-support/linux/int10//usr/src/xserver/hw/xfree86/os-support/linux/int10/vm86//usr/src/xserver/hw/xfree86/os-support/misc//usr/src/xserver/hw/xfree86/os-support/shared//usr/src/xserver/hw/xfree86/os-support/solaris//usr/src/xserver/hw/xfree86/os-support/stub//usr/src/xserver/hw/xfree86/parser//usr/src/xserver/hw/xfree86/ramdac//usr/src/xserver/hw/xfree86/shadowfb//usr/src/xserver/hw/xfree86/utils//usr/src/xserver/hw/xfree86/utils/cvt//usr/src/xserver/hw/xfree86/utils/gtf//usr/src/xserver/hw/xfree86/utils/man//usr/src/xserver/hw/xfree86/utils/xorgcfg//usr/src/xserver/hw/xfree86/vbe//usr/src/xserver/hw/xfree86/vgahw//usr/src/xserver/hw/xfree86/x86emu//usr/src/xserver/hw/xfree86/x86emu/x86emu//usr/src/xserver/hw/xnest//usr/src/xserver/hw/xnest/man//usr/src/xserver/hw/xquartz//usr/src/xserver/hw/xquartz/GL//usr/src/xserver/hw/xquartz/bundle//usr/src/xserver/hw/xquartz/bundle/Resources//usr/src/xserver/hw/xquartz/bundle/Resources/Dutch.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/English.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/English.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/French.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/French.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/German.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/German.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/Italian.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/Italian.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/Japanese.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/Spanish.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/ar.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/ar.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/ca.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/ca.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/cs.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/cs.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/da.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/da.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/el.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/el.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/fi.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/fi.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/he.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/he.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/hr.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/hr.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/hu.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/hu.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/ko.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/ko.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/no.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/no.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/pl.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/pl.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/pt.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/pt.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/pt_PT.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/ro.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/ro.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/ru.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/ru.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/sk.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/sk.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/sv.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/sv.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/th.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/th.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/tr.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/tr.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/uk.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/uk.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/zh_CN.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib//usr/src/xserver/hw/xquartz/bundle/Resources/zh_TW.lproj//usr/src/xserver/hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib//usr/src/xserver/hw/xquartz/mach-startup//usr/src/xserver/hw/xquartz/man//usr/src/xserver/hw/xquartz/pbproxy//usr/src/xserver/hw/xquartz/xpr//usr/src/xserver/hw/xwayland//usr/src/xserver/hw/xwin//usr/src/xserver/hw/xwin/glx//usr/src/xserver/hw/xwin/man//usr/src/xserver/hw/xwin/winclipboard//usr/src/xserver/include//usr/src/xserver/m4//usr/src/xserver/man//usr/src/xserver/mi//usr/src/xserver/miext//usr/src/xserver/miext/damage//usr/src/xserver/miext/rootless//usr/src/xserver/miext/shadow//usr/src/xserver/miext/sync//usr/src/xserver/os//usr/src/xserver/present//usr/src/xserver/pseudoramiX//usr/src/xserver/randr//usr/src/xserver/record//usr/src/xserver/render//usr/src/xserver/test//usr/src/xserver/test/xi1//usr/src/xserver/test/xi2//usr/src/xserver/xfixes//usr/src/xserver/xkb/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:7380/openSUSE_Leap_42.3_Update/3b3a186c97fe06a67697bccb62c2c9ae-xorg-x11-server.openSUSE_Leap_42.3_Updatedrpmlzma5x86_64-suse-linux                                                                          !  "##$%directoryUTF-8 Unicode textASCII textautomake makefile script, ASCII textC source, ASCII textC source, UTF-8 Unicode textmakefile script, ASCII textM4 macro processor script, UTF-8 Unicode textPOSIX shell script, ASCII text executablePython script, ASCII text executableXML document textASCII text, with very long linestroff or preprocessor input, ASCII textC++ source, ASCII textC program text (from flex), ASCII textHTML document, ASCII textautomake makefile script, UTF-8 Unicode textmakefile script, ASCII text, with very long linesawk script, ASCII text executableUTF-8 Unicode text, with very long linesassembler source, ASCII textISO-8859 textX pixmap image, ISO-8859 texttroff or preprocessor input, UTF-8 Unicode textC source, UTF-8 Unicode text, with very long linesASCII text, with no line terminatorsBig-endian UTF-16 Unicode text, with very long linesLittle-endian UTF-16 Unicode text, with very long linesBourne-Again shell script, ASCII text executabletroff or preprocessor input, ASCII text, with very long lineslex description, ASCII textM4 macro processor script, ASCII textM4 macro processor script, ASCII text, with very long linesPOSIX shell script, ASCII text executable, with escape sequencesASCII text, with very long lines, with escape sequencesASCII text, with escape sequencesexported SGML document, ASCII text RRRRRRRRRRRRRRRR5qG>"2v?`]"k% #4ղKQ(CžisqG^Yo' ykET ?zP'Yjmqzt^L2I~owԣ]`u 6ZztgMP]tJ}R\MVt][{y"`Z .*"B :mEM˕?bc7UPƼ("$Fp L#0Am:2AXDfEcO]a|˯ꋲ̃w{&~ێ^Dl5\!(2H) ^7ePHQ/1ŶC_qllz_]:pE\k]dg 8j 5,-{ԉ(f~pcPM5A'p4% g|3\z8b ]LynG.3*1`q?W^&TcN ٿTSR_璾rt [R*RDʹΉrqbqCp=d\L$q-kCՀ~jٍ;WET+A HMۮUPLLI<]Q0\Ł؞8$!'t{k/91,m$.b8^Yŗ e+RYጅClC>Ӭ-;4 3`7[S zU&cy.Ye.^&־4qU( DE l QUS]A(ۖ.0vT+"z!Ü(g=Hn&mVs/M,ta.p~9Ǡo]ϯ2X /rP@Ee9D I[R8ʳ3#ުXNRԢ͍{)^B!AS c٭}݉ظ~+Z7z Ykfg_cWƵb!VDCsنд,;H D {U<*ۣv=-S~{[EщK^mF Z6{k8v\O+Y&N uCYp#6|eԗ6h(tj%@ UW0$XT(~C Ǩ<SIX9!iSqƒ=ueco/@r7dW0>ޗPfRYҖScURmnUu!Ǣ 6wYC-K{G͞ ^\|w6;TZm^V;-Gfb4CjbVG@9yB[=AZ Zvd#_ -2n0oǁCu{l]aՆ%(T^D2._w(j69ꞄoDC6iUۇix TY#&jC+ ~9ZŒt&#//:KO/gt$8 "ש,KBH8}!=wne,lNrKWӈL6}k*A52fWqLћ=8/?B~+7z]xו]%OM^ qp.!T^FFbNkh(A[lОO >O``0jך-I=[l ; Rd5m ]8OM $({o6ZM9R=@D`^My">ћU>͇HB(EtS([R[MX]P餕uT^"|Ex2*,X![|+NBL%9io;pg'Z'٥%ɒ^GV4.Rż(|V%Qdyq儂[Ѻ?s-\ei}%oߟxk%높x&<#3^ t u mvhy qxFnY'+ r. ۹,M'nɂ3&b,ٵ%X^mZS1"-͙⢥$P-m(ԢކJPE7.&82b,0/:i ԋj#>%C]cb,oDJЭVl+N[FtچiN!gw$wUT@m*"/o&@Į$Rp,i@h1(ӳۻg.g F\団\X)"[p)Q.h翲 KH% _k^h;uvU?2T3pȌY׀ ˄q:x'{Kڪsf¥a̡׌ܬ-ᤖGⷿ)bT/pcHRmМWyHLWl"g=j f0 SX5$'ʯ>R*:,LpD>jfʢbM$:B-L*|d3oi2t- 4.pHLɂ!oG_YgҨEcBmL9NVxZPAI됴Z Z[{ xggr.! ݕ&5abxPGIC3cE>ǚ`؈T0G#[.D=? 1O/ܻypijF4\ע&NV}6DΕqpE/--vk>8Ӆs "~z-PO^5>^||QB}xI,mDYw$P!SN9XfJRxhKvJ(gu](1%: Q<%KXS lGoT" Mp"Ob3Ioxh w7*EϿK׋W#XxJIr_~B2(# /L|J0'~]9bk;OLrjnU0^>-t+37Qx)p[=>Yt ~wkE|9BS&vyCLX亜Ր2 0EthEh,˼0^Rf,-e%H,FZ9_MOs>)q6. i8XEs_jۤ@"-vx4,ѾTێ{ ь)#*}U ab=YyҎ@ ^fleRďp`MڳUY/lz=,3X0m .lj`9gA~w.sʒA ʹS1/.7iHB=ĵML/ oYa PЃz?D7"&Ep ]pB0Mz\%S2Ųj2Jm5х 5SŞs Jx|0; 1j!0toO\WD,)Ԩib.ʅ" FKYZS6Q<+j0hhꣳYk(D(r 1EYopUNU߰C*%bsjE4r`]rv4}_4=D)j@} Lrtm;eU/9=H@Ț}o$$/gwZP׆Gm!H¡R~>؈C^H b8c۳!}!lA%#b2Ԁ~I$FtȞeK0)u:ufRf%pN(-b'hZuL6C&3t Ԏ FQiD[15Kp6cXRy}h.VPsߒWo vsSb3ҰS~l h ߙg*3 ųSDLsșί 9*Y+ ?"8ߪ5,7ouU-ZsJȚ<گ@F{.)Bo4"Q Sv܀B[ =I)| dޙ!ďb=s9k}"Я"Ap5I7IMgTANVLʌ$ia,<]9;pj39UHFdԐ@^{ U$,HDŽ1]7[Ԓ4\.r(,G}0oUS#I-(Hnqk. SRaCii\#C"?xv\ \:)̃)0vL$NZM`^ n3C)հ@lwM3o|3;+8 Ќ# /,ΥAg̙2/h?:l)z1A4)z- *e:_-i յf9cAT%J@!֑&XR'21\1z] "/iR:Pcq1Qk31ayjxqCbfU*Q><>u}Bݻqft.a䌛Tx+P=EDy"2j<6N~;FQVUٖG{9')Ym:N.ɴ[:"^V x&G.՝WTbҩm.JGtȟC 흈MH?VO zyjfR ^tür"cb}CS[=w%m)Q -ݫƐo61 ;GޏP s%vo<3)׸.~%hz8Yy1![( )I.u!t/~#No,%zGRǠ#ښ,^)k'N/jStX [:31Tϝ}{a\ydq8xFd0wZ2 4ԚE/sԡ-c) J( 8va?&W6M }%qW߱V7м]ϭ`tx .gsv<~g<^-_m{3:Qꑍ6vz_ſSOme)5|x "b@3psmP<Wu BYU4eJbG\KF|tA(CE&[>_s3jWh1C6CuIcmӎ !^$*u6MRX2tU&{ LՄ^td7ҢL %].ݎeP۞VTcuK֣q1̰ G nMNuQg7%QvB"VF@F6 |ov?/<YƩs=' &u-qһxXD Z/ݥ ңܤ ,V˽wogM#QՏM?0|zޕ@:e N  xI˧jT$uu 9=)ՉyÄ⇁h7A\VT_5w"Iڭq󔻨Lks-xWQb?b_zXju@/wrQ[\i-(,'i?o6 $ C"Q>K4ݲF[yErw⼎1 Mm}S~SQqfWQm@Q;4U͜ƒELh{Π,K$ 7WΝK9XN!r C&)&jC>ؕbE 꿣 Q~*RBK$|@U]9gKbUk8cԼ_5'FV·3q*Y|5~]goBAĸ:w0\wN.1ge4lW5pFIlfG`@_U(NiyV{p$τ&)R~GeLUg=k-!S^c;1[R;~M8k7+g =ӰTʼnlg>'ơৌy0-Dg9H?R8;a n&<*;%x'YjAϥX#\i"鱕X![yn}r#xjq K": Mgrߢ?ʑi=yKmxo +j>,WqK/> ׈Q\UD 6نG$.FVfd_EQ͇*'nj"X"-6 F1^,l̥GU_!/P;ʀ $Qj,}YO; K;BaN5$EX|5yF86t3/AD @O`$=OC0A n4 ƹDtq±Fuwzе P~xY3%U;$i1HaQ˚0܄% [7.G ~1Gj-S[(9O3uNy`ez8,|t7,T큹~_{#!0N$9 }^ٓy|pr<ꦼ 0꛴=Zӄ^u1wζ 0̳ J7VYD*fR=$D7DVZ]H6Sj'4\<ӛ=塍Bq}GT]Q_s')I.SEq@#ĀdžMolnYa1ݕm0i /ot4^ 9Tl$:?^e=pxGN>v^˪73  ^^w:R,T-a߄is(\\DmYۇlq@eS6դ`Į;Âdǹ-Y77}gw䊞woƒ}DaQe*F/MHVs.t}b'ǖĔYhawFڹԈphgEC'qޓݥ  ψ&ŗz&>:ɏU$U3"׋oipJf PX-:D^HmkG}E4Mnev Z,N=.j\L!BDvG=UZ7W/v՛7$N=/Nj˷}fC]+yƚK1*[GVAF㵆sldBkd8z tZw!+*5IT -tmyZnK}ytʪcS'k$Y1b\|í8%TMk=^eHy#9Q!AǩsAn_! RiAdrDȧ%Tyc5GYfD> + QKlݑ:8a2.+y]FFҭrJV*|KPumoxu`WQn(ފ4\42ĚَhZ*ҒJ"˹}!4h$[! rBh-/=j;xz!~/*pg3OPMl2&PdxYGoAơ@*~A^9&IR)W %QwECpQeQX PJ@wZ9苶2W?wV}=c@q u{y7{YU#Lbebs٬S]gc{XۅiSTBܺJ C˧̨Do~L{/jC(MCRqquGB6ߣ:lƺ=MLt3]KU Jݺ@034=a88P;O5&RNäTY}ZyE?J~@RGO]ԓX ~ wE4S,6NàRjK>7+4+x(?\[y 7x<@8X3pbi5&xCoA/-y5u=`@u+:~? i|a4Q"tf, JP`"OҶ1jDIC$>*s*7*mu_Rgө^3Oٍ$$D."C`DY9XhWe{Y>/{:L5&^ݚ}A`d-)U 1_J;T ҃^+w@<^,i=;E w_*1 #V^] 02d\zZk68lCX @JR<NJw̗٩VP5ǘfɜfB!dV'G}Mq*B3k\murIޔ2:}Im"z0 'rHMb*KѰh4zKdJHHDj+\3j)ĉD;7U56d^zSuB_M붮6+,v,j`@kiYz,`p4Xȁu ߛN 3P0}u9\(bVpΦC\TrMMIeLo_n윾 ?.xL 9So龹Cb~Uk&a>F߉}pG-4\2B}7eL%{a ߵ֚{#C} {%KнH7K[hϩ}sE:;RpCGApeBQ(?* ܧp^T6N׈,7P]o"OڨĠ =,JZ(kxR&?.=3M"F{`eY=MqaHQ@oR## RRջ@lF8[:Q"V lh9ZTIjFaO oOV8 ̉{t R!\MÍϦyBSUֱ)QҼ(:ߴ"{@O W&ެYiX* fB i+̾ɮ46bsHNrs&a#+M랸͆N>6OՓ5atv\QkS_F4`V#qJjxdTzPTįЈ} aerC}rO dћc)VFeaL9R  VX6cŭgub|RVG#{EuBo #{֯@ 4ywAY/h\ Ƙ`8-::ЪtUm ]d;+B' bl3H@G7Ⱥx]JFi6 mO&~ 911 %M1;h #ZBF:^? Mv~=<V߷`!y͹ӮPw?6Tc;7/ (J<ϯ9":(|~jX<2`RIk ?aV TO6nU(+(]|xed\DJivg('ߨq髝gM9YGY`?)NP;@"QS𨯰 KWvdio8 bG~x׊&.L+>ùit F?96\PƤ9 61zpf~KдBa|;".%'QUg8Sڜ Z@ kߨ@Ce]4yCoL\dnϹapd*2kk{5::;2oI-JkRd@:,jk0taj.v3exS]e^(b&?[;*X}B|Ӵ0@Qw@x(&83@jTc~xbDZF0OI:Y+#:ͶM{s=YS}/$ViŊj