í«îÛvzkernel-debug-devel-2.6.32-042stab112.15Ž­è$>èìEÌž˜žsÁÍð—Ìן£>ÿÿÿÐŽ­è4Bæ?Bå÷dèéêì ,í vîèïìñó öø "ü<ýSþY`,²Ì,  ê, c, D, Yó, † ,6H,“,îÞï, Ÿ@ ŸÄ Ÿà  ‚(  ª8  °I9 ©ÔI: "oI><5@F<5HG<5l,H<å¨,I=•ä,X=ÁôY= \=œ,]>rØ,^?ï9 9bBåJdBåÂeBåÇfBåÍlBåÏzBåçCvzkernel-debug-devel2.6.32042stab112.15Development package for building kernel modules to match the debug kernelThis package provides kernel headers and makefiles sufficient to build modules against the debug kernel package.V&Jkbuild-rh6-x64.eng.sw.ru˜Š Parallels, Inc.GPLv2System Environment/Kernelhttp://www.kernel.org/linuxx86_64if [ -f /etc/sysconfig/kernel ] then . /etc/sysconfig/kernel || exit $? fi if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] then (cd /usr/src/kernels/2.6.32-042stab112.15.debug && /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*.el6*.*/$f $f done) fi¦à§I Ï)]C~LzKÒ ýKŽŒ«Y [)  .õ ¾ªÆoUó¤º/± dý`‚¤-@ ·ý)WH‘U=‚îUd°ÖÖ%0+aU¦YWTº¯T>/9và8'9ØÖT=œo…Uø[T÷zÕ°V¦™T>&U ú‹†hT oÁT´[T* ]òUàœ,éW] jV ÍeT¿X,w Î èÉà}U…É øo9Ê0 0€ #+gkƒ8 ¬8V¦žYTYT 7d‚tÅU"Â6L v<#¿4hrƒßY91Α§Îsyñ9ãk /™> ÅÐ2M>6#å&ßv· “t×#E1Ê=++¤H¬cÓHvÉAHc Hl kH®bàH*—ÁŸjÉ‚M1A5 ›-W6\„¢i$5aÅ„„\d¢ à-ߎ<=A–s%d, ŠuÑøæ¥ Ù¡“cþ»rrq<B<oAAHÛˆ M#%cê׈N›Ø4«2K;5RJdÛˆC{Š&×{•º+ ™ LJÊ; m›X²W^5e†–ÔÝPVV¥¦c~=Hø¹íÇv××ÓÖßÔÍÍÐÖ ¿Õ¼0Ó(R <¼å×ÄV w..ËäÌ^H Äñ˿Ŋſ¸yU°‘ùÖ±Ká ˆý¯<Í_w2Xib•Ô… †$sTM»Ýd(äK5Q*KSY Ú^ž/šH_XÍ"U†‡q² tòd778 ˆašXk“ ŸyU„ÙHDVö#ˆŠc`ŒÎFb$é 2=³€1¾òˆ>»¥›ÌJÂÒßïs e¡ î Ô+$3 ’äÛöˆþky,e,Ç–¥ggÏÌ £–¬9ÐÊ *H`ü-ññ|¦kqqÁì߃éœ] rçŘLº gм©bcñVå+žB_|qÊ=ÐXðB)Ufaff¬fUYf QÛ¹ô<$ä :û¼‡Tê°•Pv•`8Çî½ ÏöÁê3 Í  #ä’ÚŒ!ào1!äuJx ëË"€ „ Â;¾ÔÖꊘÇQ×?k#Äð 1 SäL0"˜µÄºŒ;ÔŸ:±,åºÏ+R&D+”3«åù š  ‰,Õ 6ÜV/åT%æñ÷¯&RÝ¢!üÞX’ X\3p :@||%Õ› Pø®R) } Px¾¿ø t mwZ,Q å$Z”0+\œ €æÌõÝòM®éò3 ó% ò¿|¥ígcÄs©úOÅ/åièÕÛ ®ñ!¶© ïZ!÷ ëªc2 §*Re\Ï ìïEý!±ƒPÛ ÓÞ B ;N É 2[äw¶afxZf'…Ng ¯ O<g÷Žë ¸¾Šl?Á ŸvÜB+€Ü  ß¾êH†cãMeaL‚ (" »±Tõ€t» ”M šÎ” Æ!’3 ! ¿—J X aR¤aTe+ ¾» vhC t5虼"!!o­ï =R~ +o‚çB¥ôoS2È.`6¦E‹´ Û`£T†‹e:à á úI <x ¾OVÔçy`Ö<– \Y î©ÈTIÇwvæ>£ðåE[cÿÿ½V#|@ª$QÂ*WO‰= C]ÊöTzÑ©•ÔHLa 0ûim ˆŸ2€ iÅ93œnŽÇL¬78bØœ4Þ‡°IBÂÚîér2Ë‘vV§Vë¡}a[%!} W Ùð¶6ŠÑ¤([kºÐW`§rçô6>No®]$q2– Œ¼ˆÃ?Föel# -\5£s»¾]7ï2]T(© jx‡~Ï |üì^ÿ Ké"y—ÜKVMXÖVì¼'Õ`n£è!ýÇn‹bq\6à}>Ÿï²2+DXë}cØF1(RÜ›1›_&ü:#^¬Ñm ¹7:ìˆÑG¿ÕRªæ{_—®ÂÕvýnã2s £9P%<…²îãq% žõº$6Bµª8 5o%Ú™žè’» ZTE“ôÔrè0 ¾ÁzF­ Â{èsn¨v$ªÄ‚ g7Hݽ*a¨""I¦…hYÃSí]Ã!¸ Ûpï­ÌQi- ÝÐræùÇ ûŒ*bæ¡#'ôÌøZÖ Hû²Û™‹q épÁ³Æó6f "Õ3,Ò$¤y©[Òª ßÇ<ôÅqÆg}L+)-˜!ó/u¢¿Já o=ýX N:. ì ŒÊdz%*ჅýfÈUd;À¦2ø÷+ý‹›Ñ*±m‰MB±Á¤r1ÿ¤] 4ìWpS6pR\Úv£[³^.…º 1­ÅL)±¡úÏ8aºÍ?*Løp¾>‡&æw½Ö2š“f ɳÅoò ¦ºÿ zÔ­^ÂÓ=®øMýêÞ1ôûD‚ˆá³*V]°g[xˆÒdÅݵ ~ë+?ÙKzJ&" ¾OF<_T@:€SJµ™ RÉ0R¶",†ó–C49_Ù ‡ ”Äahø1ˆÛF t"Î2Ê ½' ØDZ À Y ©/ûŽøjVj  ðò{ýþþq¸f•È ÊÞ C¹ }¾ B ‚Ÿ2Ó%¯À¹, p x<)Š9…óQ"øæ@ á Z3 –-š(6ŒÖ=ˆÝ×Ûª-cã‚L Ç]û¬³Q KÝ)[7'~¢tV±¯§Þ%Œñœ $+  ¡%­Lr9EL§3­§Ö³,}9Ó&#3#*!n }%V)R ˜p}³2žKöË,gaü˜]† Ô:>kÍ+ÎÝ$¦\lp|1Røt :(ë¬]}0cˆOë  a¦É°£ „ßYjsØDFÚð FüÛ$¤dîBT ¹v$[} ~ 1„•Õ뚀ô¯¦½HÌ£;bê:ŒCí ¡Æ—=‘-=ñsZÛVsÝE¶)u4ßÂm Œ ¨®´¤§d0jˆ ìëDÜùuEŒñW Úv‘CyÈ| „ ã?$ûDý®¶ {C™ñCÙûÿ΀υpÓóV ñï=¸$<¦]­ï‡™ %µ¥øT18cs;$§d ãÏ ¥õ–J‰#€l PÞf‡ 7ÍÃË "2Æòæ+Êè´ÃvvøöÇ þ V1Ü š+D Ð.IΩú0,@³eY#‰<RŒÆçsñ.- ó&r¢ç\|õ0@î$ÿÚâqÖ%g {5I ÈF, ×ÑjäYœ–Y PÙÕõ[{ ¸ŽÑ ~è9é¥íð#Áï z Ž Ç¨lÔ‡ŒTà ™á e»©èIJÛ٠Ȉ ö ¨óIý* l/oEã” ]VBŠùª2¦¨"î" àx" å·û8ÌOK×Õ_¦½`.Ý¡&‹gOñ$Y6jJsè ¸ 4>îo.á UåÒ³p¦=' [û$^a § ?z “#Á #EëÎÛ˜ ®¸ 1ž @ õee´‡Û›3ú¼£¡“U*6ó!g±j™z ÒðÛ CžJd)Ì!ë*m¶ß [Ö,!m üÀ˜ ¥%E;u\Uì‚€í\,W ó!‡Aë°ç"¦ ; =4€Ê  Ò9ÜÉ Î§" (ÈÉ ^ãk°Ë r o'1µ–(vŽxm;IW|¿ýèFyÑ ˆA2õ$™‚ ¤Ç+C/ C@+þg èjcB £ÿÐ Àvš*»$4Ã{7:|Tr4»w&Eê¨+mϧ§`lŒà¸o\ 2‘7‘üÖüL þN ×eé LG Õ“¥1â€cO>Ÿk§èq(¹ € yE,¡¤ C €0}(2'€ `7êƒ Ó 0Â"ަa1Tþ—-8í0£Ç¹ W-•5û"f÷º rW¶Jgn QL-†4æ¼Òb= ð n‡ z0çVh> i Ã#qõ’ÃBÎj;Ý+À±Eê è(•Ú«)­ d;E VLÞñ3"keP›X¯Ò<Vo()a`N¯ Ç t8Ü Ù  Ît*]@bø"K 9 |é ì9®t °* /€Ì»ªkq4'¦á „¸i¯M Âhô 'Dt š¶¨ã ©-Mgë O•0€³ ô((€aÝ·.‹·0 W OÛ¤" <2¦óP“Zd 3"Œ=Õ:É#*,±zŽš ™õ 0 HIKZ2-}Õ ŽÖŸOH É“ ô#VC*Yb©pl“á SI¡„M8 ¦9•øÃ'˜I¦ÍéO¡—'æ êr Ö@>’‘rÕ”< ?\ï€Úú½¯l9-;w ¢Ûž2j û"²ÓM%5"BÊ’†F쫎)$ŠOŠOy0Ñ õ Ê–T<î)¼ & â<ð˜ª9*Áti m ¿ö’-“VGAö¯ £ 6 W«0MAõ ô ‡ Ž Rd©·· /11' \Úi÷}&t/í ãA÷Ž zÐŒ~L¯uú7 ï99 Q7ÆT!µ' Ï™b#ƒ²%.§ ù٠퟇5þ°À Lñ‰«ô7_°&ˆ3ú ¨dè%Pv<Ô ´üöž0Î0GØþ)ePÃQ=Z¯§ š‚üMc¦ ; æÞ· ÔvjÁK¾U+ gî ßUÕÛe*Ü#G NL>n™0 5$Ñš›9Äô/ » (•ÚôæÝ’ ç=`UJŠ(™‹„&£ &î ð^.¾Ì¢r>éÉU6G  71ýõ~Ãh¢?Î1 Æ0\5Ð sÆÙµ 7.'/"µ ÈT—en0Vk¢*ŽÛ(/èp½ õ@ “ÀÕ{ƒ N *[•:J… —Qì2hmÙ+b Ë׆.º-† ‹n³”N'– qž34œ<ä¨PGL%€ÊÒáä*m <85’ÖLÆnà ÷óW0)èkX’Ñ­™ PmÐr »ÝWÓ oÙ Ñ™à!6œ ñ ‹ñƒë -‹Ü8ÚC Œi4+º%e1²kýiIf »£D øh  2†Dt/feèv¹' ! z Æ ÕËA7ôšáîz—nFÞ1O¬BÙ1°ÿƒe µ¤~c}éžb‡Þ’ 2}O@ùÛL Y¾£÷·|5!»# ´5¥ÅQBÊ1'¹¸ß!¸‚2qf K #íÕ8•1Ã&ìX \™‘¸^ Õ'¶GNHžy8fDb'] ÞÏÜ} !J ¹bL8TR e– €*]¦Æ  ! STÒë Í Ör É?ƒ*àŒ a/€ýL'áF ¬Ìþô– G½“žŠ:çÈ Õ?Ó NP(Ö^ö’°ŸéÖ!©¼+‘Î D+ŸXz å*’©•7 ­'£Hê6! ?w¬ ²ÿ$M*‡ {#7„Ì\^#uUîhçcA: .Y%pÔŽö=2M K Í¢c òhëŶÿW ý) « S á ¨X5PÙ1g= 9^)"£&-%¨ŒSb zd±U.«;,6÷ p UâN3äØ#‡¸•‡Ä‡|njªiX=Q"µ†Ÿ Þ/™é*q6Õo)!vCg45  ù ÛZ êS@Ï  S3:'3‰q aZ9 _#³UÍÙ v†íÃw¢$f;Ÿ<' ˆ3½¬@ ‹Óìÿ E¾*óc£1Uâœg"’.Þ™ Ї)½é8¸ÿ08|Õ)!,ÌOh áúIÐ µì4¥,b׋ۜ—™€o}B @<«h–*½1 # kÐF ݃PÙu ™›oJ]€/°'›O³\U ìsÝ%» t´,·Ì ê¾ëB"Å8)s8Ïlkª0¸ –â 7/§X §˜F$¯ i$x™ŸbËÖ+àe!ˆ` úì#E ¡ˆE;i‘r¡d_ÈÀA3î#[ Í—x ½%ª8&ˆ«FÆñ×)?‚;æTÆ ¾`¦$D Sï7¶Æ%Iš¸ Æ z 7X; …“ËíQí=Q}¡5d/ÃCí&0å +sÔ:†!¶)ˆ¸ Ã\_¨7 »a5R1ç , t]  »œ=e$(7¥7' >ò ¾ÿ'B)HŽÓ˜p¢NcSCdÌuK !˜¹2 ›#%AEeM $1ñ} + ¶™z*_ç ¥}õ!r×ò B‹a!Õ þñà[û”û Ç  >K¢ÿ"•}÷S¶ ²3¹?'ªþ €U²*fv"Z‡34 Z `)X± ?ê…'tÌ ßŸ$éN\ó>gSéZ9Ú•º¬'j³FQµÆ â!%´ Ü*¬ ‡]/wÿøG§‚&}(Œ¨[u’< Ç)Lï#y"òEŸb˜Ð9 O±-û ªVXX& *î*ºu-ÛÈ& #9«† ­³-]© «R0õhÆ ³~­Ž~$’; {– lÜ ²¹°· nå çÅ­(>èŸG%Ò í’HPq£Áüà‰žŒ5عj@ ß‹$Y 52FQI-#´¦Õ2:P m#í:ÑQ*> ðÂó _caó‚jÍ\fH5Wd3*¹Úµó¯…”ÙÊ+P/ª%fB²à $ ô9Ó¦%©5œ €ž ×$%„K oZ‰é Œ> Á~Ü®AÎ'Ë Ì1ïSæ¡"*6tQgì\$ +˜~/Î ò6V‹—gÆâ!cÑmé6}")L¢sZ(Ûy³ ÍPì„Bê Î ­ Ý› ; zjà É1§fo¡ Ž¡µú Ô, .]ª g º 2Ù€BÑ`Iãåw… R7Â;á W>oK\>"-W( ª'\=I~k¶ 6‡GZC¢ž¤ 4øT&b1Š Žo) ×]ML’b‰ 3a4ò¿©) ‡*.4 ¼‹ôxð=«J‰#×&µ? ` ´µ(o`Ò +ï,  Éð8ÖÝ«Ài€4ª -ƒ ÅŸ€i!v !šâªAÓÏ„2¤' —.¯ Âõe/-`ö‡DЗ b'Ô º¦`ˆ“t’y[veoæŸXãPr¿ë¼¤(Š< “Û_Ū¶f”#“XÀ/U ­CýjT Ú™ 9÷Ëë€8XB…øà#–‚‡Bà[å&ÞºFOç#m}G¬®DDþ)ªDJ‰ P4ò ŒR¡L€ð«zªp -;iAÝ/ÍU–ý_&9̦¤/• î óÕ"¿Ú —Ö*°.; (&JP¾Ç¯y÷E!kÔK ¤ ‡€þ¦:7T=/ K䱨° ¡ŒKU0á%ú-#0 Iêá>fL 5 5 ÝÁ3·Çö‘³%³»­ Q¹ öooÂÂæ  ii) Yè+ ã` ô0,¨<—x†¬& m)niÖ8¸0íKewJ šb¥„QäVäVÚ êu (ª+g#¾BÇ X^½5©#7N žB'ª'ªŒUU:9ô}‚, >EF{Jo÷Û" —  Üç¨6tÒ€É:xc×ШÞQâ.Ò4aÈð c ['/+ˆ.¤z8p²ò$$Mg7Ì  ª³ b ê #5[‚ ÷¡’ÃCù í` èôôJ€uô ]ys‘þkí m{d5eIŽ’geg}‹ec°Õ©ÃT‚£=~$bÊvæ-‘–Ƕ &:Àœóº¸P¬ Û©èÊ€Y¹xý¹ÐMr)È\#ˆ lÕ½WıexJ6Ù ÃÕvÕ¶ ÚtL %µ@nL¬‚þ>P œn! UUAê9EW¦D˜k;Œv 0FœUE¿k&†{¹™¸”dddÉN¸ ™f ÄöÔÓ¢§AíAí¤¤¤¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤¤AíAí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤AíAíAíAí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤AíAí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤Aí¤¤¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤AíAí¤Aí¤AíAí¤Aí¤Aí¤Aí¤AíAí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAíAí¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤AíAí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤AíAíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤AíAí¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤AíAí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤AíAí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤AíAí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¡ÿAí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤¤Aí¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤AíAíAí¤Aí¤AíAí¤AíAíAí¤Aí¤AíAí¤¤Aí¤¤Aí¤Aí¤AíAí¤¤¤¤Aí¤Aí¤Aí¤Aí¤AíAíAí¤AíAí¤¤AíAíAí¤AíAí¤¤Aí¤AíAíAí¤Aí¤¤AíAíAí¤Aí¤AíAíAí¤AíAí¤AíAí¤¤AíAí¤Aí¤¤AíAí¤Aí¤¤Aí¤Aí¤AíAí¤AíAí¤Aí¤AíAíAí¤Aí¤Aí¤¤¤Aí¤¤AíAíAí¤AíAí¤AíAí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤¤Aí¤¤¤Aí¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤Aí¤Aí¤¤AíAíAí¤¤¤¤Aí¤Aí¤¤Aí¤¤¤¤¤Aí¤¤Aí¤AíAí¤¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤AíAí¤Aí¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤¤AíAí¤¤AíAí¤¤¤¤¤¤Aí¤Aí¤¤¤¤Aí¤AíAí¤Aí¤AíAí¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤Aí¤¤¤AíAí¤¤AíAíAí¤¤Aí¤¤AíAíAí¤AíAí¤¤AíAí¤¤¤Aí¤AíAí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤AíAí¤¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤AíAí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤AíAí¤¤Aí¤¤Aí¤¤Aí¤¤AíAí¤Aí¤¤Aí¤¤¤¤¤¤Aí¤AíAí¤¤¤¤¤AíAí¤¤¤¤Aí¤Aí¤¤Aí¤¤¤¤AíAí¤¤AíAí¤AíAíAí¤¤AíAí¤¤¤¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤¤Aí¤¤¤AíAí¤¤AíAíAíAí¤AíAí¤¤AíAí¤Aí¤¤¤¤¤Aí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤AíAí¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤AíAíAí¤¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤AíAí¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤AíAí¤¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤Aí¤¤¤AíAí¤Aí¤¤¤¤¤¤Aí¤Aí¤AíAí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤¤¤¤Aí¤¤¤Aí¤¤AíAí¤¤AíAí¤Aí¤Aí¤Aí¤¤¤AíAí¤¤¤AíAí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤AíAí¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤¤Aí¤¤¤¤AíAí¤¤Aí¤¤Aí¤Aí¤¤¤¤¤Aí¤Aí¤¤Aí¤¤¤¤AíAí¤¤AíAí¤¤Aí¤¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤¤¤Aí¤¤AíAí¤¤¤¤¤Aí¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤AíAí¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤¤¤¤AíAí¤¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤Aí¤Aí¤¤¤¤Aí¤¤¤Aí¤AíAí¤Aí¤¤¤¤¤Aí¤¤¤¤¤AíAí¤Aí¤¤¤¤AíAíAí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤AíAí¤Aí¤Aí¤¤AíAí¤AíAí¤¤¤AíAí¤Aí¤Aí¤Aí¤¤¤Aí¤¤Aí¤¤¤AíAí¤Aí¤¤¤¤¤Aí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤¤Aí¤AíAí¤Aí¤Aí¤¤¤Aí¤¤AíAí¤Aí¤¤¤Aí¤Aí¤¤Aí¤Aí¤¤¤¤Aí¤Aí¤Aí¤¤Aí¤AíAí¤¤¤Aí¤Aí¤¤¤¤¤Aí¤¤¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤¤AíAí¤Aí¤Aí¤¤Aí¤AíAí¤¤¤Aí¤Aí¤Aí¤Aí¤¤AíAí¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤¤Aí¤Aí¤¤¤AíAíAíAíAí¤¤¤¤AíAíAí¤AíAí¤¤Aí¤AíAí¤AíAí¤Aí¤AíAíAí¤¤AíAí¤¤¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤Aí¤AíAí¤¤¤Aí¤Aí¤Aí¤¤¤AíAí¤¤¤AíAí¤AíAíAí¤Aí¤AíAí¤AíAí¤Aí¤¤¤¤¤¤Aí¤Aí¤AíAíAí¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤AíAí¤AíAí¤¤AíAí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤¤Aí¤¤¤Aí¤Aí¤¤¤AíAí¤Aí¤Aí¤¤Aí¤¤¤Aí¤Aí¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤Aí¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤¤Aí¤AíAí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤AíAí¤Aí¤¤Aí¤¤¤¤¤Aí¤¤AíAí¤¤¤¤Aí¤¤¤¤AíAí¤¤¤¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤Aí¤¤¤Aí¤¤¤¤AíAíAí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤AíAí¤¤¤Aí¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤Aí¤Aí¤¤Aí¤¤¤¤¤¤Aí¤Aí¤AíAí¤Aí¤¤¤¤Aí¤¤Aí¤¤¤¤AíAí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤AíAí¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤Aí¤AíAí¤¤¤¤¤¤¤¤¤Aí¤¤¤¤AíAí¤¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤AíAí¤¤¤¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤AíAí¤AíAí¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤AíAíAí¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤AíAí¤¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤¤AíAí¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤¤¤Aí¤¤AíAí¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤AíAí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤¤Aí¤¤AíAí¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤AíAí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤¤Aí¤AíAí¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤AíAí¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤Aí¤¤Aí¤¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤Aí¤AíAí¤¤¤¤¤AíAíAí¤¤¤¤AíAíAí¤¤¤¤¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤¤Aí¤¤AíAí¤¤Aí¤¤Aí¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤Aí¤¤¤AíAíAí¤¤¤¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤¤¤¤Aí¤¤AíAí¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤AíAíAí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤AíAí¤AíAí¤Aí¤AíAíAíAí¤AíAí¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤AíAí¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤AíAí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤AíAí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤¤Aí¤¤AíAí¤¤¤¤¤AíAí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤Aí¤AíAí¤Aí¤Aí¤Aí¤AíAí¤¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤Aí¤Aí¤¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤AíAíAí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤AíAí¤¤¤AíAí¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤Aí¤¤Aí¤¤¤AíAí¤AíAí¤¤Aí¤¤Aí¤¤¤Aí¤Aí¤¤¤¤Aí¤AíAíAí¤¤¤AíAí¤¤Aí¤¤Aí¤¤¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤AíAí¤¤Aí¤¤¤Aí¤¤¤¤¤Aí¤¤¤¤AíAí¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤AíAí¤Aí¤¤AíAí¤¤¤AíAí¤¤¤¤¤AíAí¤¤Aí¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤Aí¤¤AíAí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤AíAí¤¤Aí¤¤¤AíAí¤¤¤¤Aí¤Aí¤¤¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤¤Aí¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤¤AíAí¤¤¤¤¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤AíAí¤Aí¤¤¤¤Aí¤AíAíAí¤¤AíAíAí¤Aí¤AíAí¤¤AíAí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤AíAí¤¤¤Aí¤¤Aí¤Aí¤¤¤¤Aí¤Aí¤Aí¤¤¤¤Aí¤¤¤¤¤Aí¤Aí¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤Aí¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤AíAí¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤AíAí¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤AíAí¤¤¤¤AíAí¤¤¤¤AíAí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤AíAí¤¤¤Aí¤¤¤Aí¤Aí¤¤Aí¤¤¤¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤Aí¤¤¤Aí¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤Aí¤¤AíAí¤¤¤¤¤¤¤¤Aí¤AíAí¤Aí¤Aí¤Aí¤AíAí¤¤Aí¤Aí¤¤¤Aí¤¤AíAí¤Aí¤AíAí¤Aí¤AíAí¤¤AíAí¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤Aí¤Aí¤¤¤¤¤Aí¤¤Aí¤AíAí¤Aí¤¤¤Aí¤¤Aí¤Aí¤¤¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤¤¤AíAí¤¤¤¤¤Aí¤AíAí¤Aí¤¤¤Aí¤¤¤¤¤Aí¤¤¤¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤AíAí¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤AíAí¤¤¤AíAí¤Aí¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤¤¤¤AíAí¤¤¤¤Aí¤¤Aí¤AíAí¤¤Aí¤¤¤Aí¤Aí¤¤¤¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤¤AíAí¤¤AíAí¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤Aí¤AíAí¤Aí¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤Aí¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤AíAí¤Aí¤¤¤Aí¤Aí¤¤Aí¤¤¤¤¤AíAíAí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤¤¤AíAí¤Aí¤¤¤¤¤¤Aí¤AíAí¤Aí¤¤¤AíAíAí¤¤¤Aí¤AíAí¤¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤Aí¤¤AíAí¤Aí¤¤¤¤¤¤Aí¤Aí¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤AíAí¤¤¤¤AíAí¤Aí¤¤¤¤¤¤¤¤Aí¤AíAí¤¤AíAí¤Aí¤¤¤¤Aí¤¤AíAí¤¤¤¤AíAí¤¤¤¤¤¤¤Aí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤Aí¤¤¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤¤Aí¤¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤¤¤¤¤Aí¤¤Aí¤AíAí¤Aí¤AíAí¤¤Aí¤Aí¤¤¤¤¤AíAí¤¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤¤AíAíAíAí¤AíAí¤Aí¤AíAí¤Aí¤¤¤¤AíAí¤¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤¤¤¤¤¤Aí¤¤AíAí¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤AíAí¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤AíAí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤Aí¤¤¤¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤AíAí¤¤Aí¤¤Aí¤¤¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤¤¤¤¤¤í¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤í¤í¤í¤¤¤¤í¤íííííííííí¤ííAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤í¤¤¤¤Aí¤¤¤¤¤¤í¤¤¤¤¤¤¤¤¤¤¤¤¤¤í¤íí¤¤í¤Aí¤¤¤¤¤¤¤íí¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤íAí¤í¤í¤¤í¤Aí¤¤¤¤¤¤¤¤¤¤¤¤¤í¤í¤í¤¤¤¤¤¤¤íAí¤¤¤ííí¤¤íAí¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤Aí¤¤Aí¤¤¤Aí¤¤¤¤íííAí¤¤¤í¤íAí¤¤AíAí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤Aí¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤¤Aí¤Aí¤AíAí¤¤¤Aí¤Aí¤Aí¤Aí¤Aí¤AíAíAí¤Aí¤AíAí¤¤¤AíAí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤Aí¤¤Aí¤AíAíAí¤Aí¤AíAí¤Aí¤AíAí¤Aí¤¤AíAí¤V&F#V&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&BþV&?¨Uñ¸ÈK5¹K5¹Uñ¸ÝK5¹K5¹Uñ¸ Uñ¸£Uñ¸ðUñ¸ÜUñ¸ÞUñ¸âUñ¸·K5¹K5¹Uñ¸¬K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸´K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸Uñ¸ðK5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨Uñ¸™K5¹Uñ¸ÖV&?¨Uñ¸ÆK5¹Uñ¸³V&?§Uñ¸ÍUñ¸ÍK5¹K5¹K5¹Uñ¸ðK5¹K5¹K5¹Uñ¸éK5¹K5¹Uñ¸°Uñ¸¤K5¹Uñ¸àV&?¨K5¹V&?¨K5¹Uñ¸iK5¹Uñ¸xK5¹K5¹Uñ¸ÍK5¹Uñ¸ðK5¹K5¹K5¹Uñ¸«Uñ¸qUñ¸¤Uñ¸ÞV&?¨K5¹Uñ¸âUñ¸ÍUñ¸¡K5¹Uñ¸âK5¹K5¹K5¹Uñ¸}Uñ¸}K5¹Uñ¸}Uñ¸ÍUñ¸áK5¹K5¹Uñ¸ÚK5¹K5¹K5¹Uñ¸ðK5¹K5¹Uñ¸àK5¹K5¹V&?¨K5¹K5¹Uñ¸ÀUñ¸ÊK5¹K5¹K5¹Uñ¸”Uñ¸ÎUñ¸¥Uñ¸îUñ¸ÚUñ¸ðK5¹K5¹V&?¨K5¹Uñ¸–K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸åUñ¸dUñ¸lK5¹K5¹Uñ¸_Uñ¸ÝK5¹K5¹Uñ¸ Uñ¸ K5¹Uñ¸K5¹K5¹Uñ¸ëK5¹V&?¨Uñ¸äUñ¸áK5¹Uñ¸áUñ¸áUñ¸æUñ¸ïK5¹K5¹K5¹Uñ¸äK5¹K5¹V&?¨K5¹Uñ¸èK5¹Uñ¸èUñ¸sK5¹Uñ¸äUñ¸®K5¹Uñ¸jK5¹K5¹Uñ¸ÞK5¹Uñ¸ÞUñ¸•Uñ¸åUñ¸¡Uñ¸ÝUñ¸qUñ¸lK5¹Uñ¸®K5¹Uñ¸¹Uñ¸™K5¹Uñ¸K5¹Uñ¸›K5¹K5¹K5¹K5¹K5¹Uñ¸™K5¹Uñ¸ÁV&?¨Uñ¸œUñ¸}V&?¨Uñ¸ÁUñ¸œK5¹K5¹K5¹Uñ¸ K5¹K5¹K5¹K5¹K5¹Uñ¸pK5¹K5¹K5¹K5¹Uñ¸‰K5¹K5¹K5¹Uñ¸žK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸¡K5¹K5¹K5¹K5¹Uñ¸K5¹K5¹K5¹Uñ¸–K5¹K5¹K5¹Uñ¸K5¹K5¹K5¹K5¹Uñ¸ÎK5¹Uñ¸ðK5¹Uñ¸kK5¹Uñ¸kUñ¸›K5¹K5¹K5¹K5¹V&?¨K5¹Uñ¸ØK5¹K5¹V&?¨Uñ¸ÞV&?¨V&?¨Uñ¸ÔUñ¸™V&?¨V&?¨Uñ¸±Uñ¸ËK5¹Uñ¸ K5¹K5¹K5¹V&?¨V&?¨Uñ¸yK5¹K5¹K5¹V&?§Uñ¸‚Uñ¸™Uñ¸ïUñ¸åUñ¸jUñ¸åV&?¨Uñ¸ºV&?¨K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸æK5¹Uñ¸ðK5¹V&?§K5¹K5¹Uñ¸zUñ¸zK5¹K5¹K5¹Uñ¸žK5¹Uñ¸ÖUñ¸ÖUñ¸ÜUñ¸äV&BþV&BþV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&?¨V&?¨V&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&?§K5¹K5¹Uñ¸ÈK5¹Uñ¸éUñ¸¤Uñ¸ÞUñ¸ÜUñ¸ðK5¹K5¹Uñ¸äK5¹Uñ¸ðUñ¸ÕK5¹K5¹Uñ¸äUñ¸”K5¹V&?§K5¹K5¹Uñ¸”Uñ¸ðK5¹Uñ¸žV&FV&?¨K5¹Uñ¸ßUñ¸ßK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÖK5¹K5¹K5¹K5¹K5¹K5¹Uñ¸…K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸¯K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸„K5¹K5¹K5¹Uñ¸ÜK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÊK5¹K5¹V&?¨K5¹K5¹K5¹K5¹K5¹K5¹V&?¨K5¹Uñ¸ÁK5¹K5¹K5¹Uñ¸–K5¹K5¹V&?¨V&?¨K5¹K5¹Uñ¸`K5¹Uñ¸áUñ¸áUñ¸áK5¹K5¹K5¹K5¹Uñ¸ËUñ¸ëUñ¸ËUñ¸ãK5¹K5¹K5¹Uñ¸®Uñ¸ÝK5¹Uñ¸©K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÝK5¹K5¹K5¹Uñ¸žK5¹K5¹K5¹K5¹K5¹Uñ¸iK5¹K5¹K5¹V&?¨K5¹K5¹Uñ¸ÔUñ¸±K5¹K5¹K5¹K5¹V&?¨K5¹K5¹Uñ¸ÝK5¹V&CV&CV&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&C¹V&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&FV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&C¹V&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&BþV&?¨K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÍK5¹K5¹K5¹Uñ¸òK5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹Uñ¸ÍUñ¸àK5¹Uñ¸ÍV&?¨K5¹K5¹K5¹Uñ¸ÍV&?§Uñ¸êUñ¸êUñ¸êUñ¸îK5¹Uñ¸Uñ¸êUñ¸êUñ¸êUñ¸êUñ¸êUñ¸ÚUñ¸âUñ¸êUñ¸âUñ¸êUñ¸êUñ¸êUñ¸Uñ¸ÚUñ¸êUñ¸êUñ¸êUñ¸êUñ¸êUñ¸êUñ¸êUñ¸ãUñ¸êUñ¸êUñ¸êUñ¸êK5¹Uñ¸êUñ¸êV&?§Uñ¸aUñ¸Uñ¸âUñ¸éUñ¸ñUñ¸êUñ¸éUñ¸ÚV&?§Uñ¸êUñ¸êUñ¸êUñ¸ÚUñ¸ÚUñ¸Uñ¸êUñ¸ãUñ¸êV&?§K5¹K5¹Uñ¸¬V&C¹K5¹Uñ¸ìK5¹K5¹K5¹Uñ¸ðUñ¸¸K5¹K5¹K5¹Uñ¸ÕK5¹Uñ¸âK5¹V&?¨V&?¨V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨K5¹K5¹K5¹K5¹Uñ¸²K5¹Uñ¸ÜK5¹K5¹Uñ¸îK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸·K5¹V&?¨K5¹K5¹Uñ¸¢V&FK5¹Uñ¸©K5¹K5¹K5¹V&?¨Uñ¸ðK5¹K5¹Uñ¸ÔV&?§Uñ¸ïUñ¸ïUñ¸ÔUñ¸ïUñ¸ïUñ¸ïUñ¸ïUñ¸ïK5¹Uñ¸ÛV&?¨V&?¨Uñ¸²Uñ¸äK5¹K5¹Uñ¸ÞV&?¨V&?¨Uñ¸ÙK5¹Uñ¸ïK5¹V&CK5¹Uñ¸xUñ¸ K5¹V&?¨K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹Uñ¸mK5¹K5¹K5¹V&?§K5¹K5¹V&?¨K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨V&?¨K5¹K5¹K5¹K5¹Uñ¸íUñ¸ëK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÅV&?¨V&C‰Uñ¸©K5¹K5¹K5¹Uñ¸±V&?¨K5¹K5¹K5¹Uñ¸ÕUñ¸ìUñ¸‚K5¹K5¹Uñ¸·Uñ¸ÙUñ¸äV&?¨V&?¨V&?¨V&?¨V&?¨Uñ¸ÆUñ¸ÍUñ¸ÞUñ¸æUñ¸V&?¨K5¹K5¹K5¹K5¹K5¹Uñ¸äK5¹Uñ¸éV&?¨K5¹V&?¨V&?§Uñ¸ÍUñ¸ÝUñ¸`V&?¨Uñ¸ïK5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨Uñ¸ÙK5¹K5¹K5¹Uñ¸”K5¹V&?§K5¹K5¹K5¹K5¹K5¹Uñ¸¦V&?¨Uñ¸ïV&?¨V&?¨V&?¨K5¹K5¹K5¹Uñ¸‰K5¹K5¹Uñ¸›K5¹Uñ¸hUñ¸¢Uñ¸çUñ¸ÖUñ¸ÜUñ¸lK5¹K5¹Uñ¸êK5¹Uñ¸ßUñ¸ÜK5¹K5¹Uñ¸ðUñ¸äK5¹K5¹K5¹K5¹K5¹Uñ¸”V&?¨V&?¨V&?¨V&?¨V&?¨K5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹Uñ¸˜K5¹K5¹Uñ¸˜K5¹K5¹Uñ¸ïUñ¸äK5¹Uñ¸©Uñ¸âK5¹K5¹K5¹Uñ¸ÊK5¹K5¹V&?¨K5¹Uñ¸Uñ¸Uñ¸íUñ¸éUñ¸ãK5¹Uñ¸îUñ¸ñV&?¨V&?¨Uñ¸·V&?¨Uñ¸¥K5¹V&?¨K5¹Uñ¸ÀK5¹K5¹V&?¨V&?¨V&?¨K5¹Uñ¸˜K5¹V&?¨K5¹K5¹K5¹V&?¨V&?¨Uñ¸êUñ¸­K5¹V&?¨Uñ¸ãK5¹K5¹K5¹Uñ¸˜K5¹Uñ¸°K5¹Uñ¸½K5¹V&?¨V&?¨K5¹K5¹V&?¨K5¹Uñ¸ÖUñ¸ÇK5¹Uñ¸ÌV&?¨Uñ¸¬Uñ¸òK5¹V&?¨V&?¨K5¹K5¹K5¹Uñ¸²K5¹K5¹Uñ¸±V&?¨K5¹V&?¨Uñ¸ÌK5¹K5¹K5¹K5¹V&?¨K5¹Uñ¸ÝK5¹V&?§K5¹K5¹K5¹K5¹Uñ¸âK5¹K5¹K5¹Uñ¸ðK5¹K5¹Uñ¸˜K5¹K5¹K5¹K5¹K5¹Uñ¸lV&?¨K5¹V&?¨V&?¨V&?¨Uñ¸´K5¹K5¹K5¹Uñ¸ëK5¹V&?§Uñ¸¹K5¹K5¹K5¹K5¹Uñ¸˜K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸rK5¹Uñ¸eK5¹K5¹K5¹K5¹K5¹V&?¨Uñ¸îUñ¸ÙK5¹K5¹K5¹K5¹Uñ¸æV&?¨K5¹K5¹K5¹Uñ¸îK5¹K5¹K5¹K5¹K5¹Uñ¸çK5¹V&?¨Uñ¸ÌK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ŒUñ¸xV&?¨Uñ¸tK5¹Uñ¸Uñ¸ìUñ¸ìK5¹K5¹K5¹K5¹V&?¨Uñ¸±K5¹V&?¨K5¹V&?¨V&?§K5¹Uñ¸ìK5¹K5¹Uñ¸æUñ¸Uñ¸¸Uñ¸ÍUñ¸éUñ¸Uñ¸æK5¹K5¹V&?¨K5¹K5¹Uñ¸ÜUñ¸ÞV&?¨K5¹K5¹K5¹Uñ¸ÖV&?¨Uñ¸íUñ¸ÝK5¹Uñ¸áK5¹Uñ¸èK5¹K5¹K5¹V&?¨K5¹Uñ¸«K5¹K5¹K5¹K5¹K5¹Uñ¸ŸUñ¸—V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸˜K5¹Uñ¸ëUñ¸ëK5¹Uñ¸Uñ¸ÝK5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÔK5¹K5¹V&?¨Uñ¸dV&?¨V&?¨K5¹V&?¨Uñ¸¬Uñ¸éK5¹Uñ¸éUñ¸•K5¹K5¹Uñ¸ÎK5¹K5¹K5¹V&?¨K5¹V&?¨Uñ¸©K5¹V&?¨Uñ¸”Uñ¸áK5¹Uñ¸ÎV&?¨Uñ¸éUñ¸àUñ¸ïK5¹Uñ¸´K5¹K5¹K5¹Uñ¸rK5¹K5¹K5¹Uñ¸ÔK5¹V&?¨K5¹K5¹Uñ¸ÞUñ¸ìK5¹K5¹K5¹K5¹V&?¨K5¹Uñ¸ÞUñ¸•K5¹Uñ¸{K5¹Uñ¸ðUñ¸æV&?¨V&?¨K5¹V&?¨K5¹K5¹K5¹K5¹Uñ¸éK5¹Uñ¸ÂK5¹V&?¨Uñ¸pK5¹K5¹K5¹K5¹K5¹Uñ¸ŸV&?¨K5¹K5¹Uñ¸äK5¹K5¹K5¹K5¹K5¹K5¹Uñ¸€K5¹K5¹K5¹Uñ¸ÎV&?¨Uñ¸—Uñ¸ÕUñ¸®K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÍK5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹Uñ¸ÝUñ¸ÝUñ¸íK5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹Uñ¸vK5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÀUñ¸ÏK5¹Uñ¸ÃV&?§Uñ¸äUñ¸ãUñ¸ðK5¹Uñ¸ãUñ¸äUñ¸ÙV&?§Uñ¸ãUñ¸ãUñ¸äUñ¸ãUñ¸ãUñ¸êUñ¸ãV&?¨V&?¨V&?¨V&?¨V&?§Uñ¸àUñ¸àUñ¸àUñ¸àUñ¸àUñ¸àUñ¸‘Uñ¸àUñ¸˜K5¹V&?¨K5¹K5¹K5¹Uñ¸·V&?¨V&?¨Uñ¸àUñ¸aV&?¨Uñ¸èUñ¸ïV&?¨K5¹Uñ¸îK5¹Uñ¸­K5¹Uñ¸ÊV&?¨Uñ¸©V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÎUñ¸áUñ¸áK5¹K5¹K5¹Uñ¸œK5¹V&?¨K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÚV&?¨K5¹Uñ¸ßV&?¨V&?¨V&?¨Uñ¸V&?§Uñ¸Uñ¸ÉUñ¸çUñ¸Uñ¸Uñ¸Uñ¸Uñ¸Uñ¸K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÖUñ¸–Uñ¸òK5¹K5¹V&?¨K5¹K5¹Uñ¸¥Uñ¸ÆV&?¨Uñ¸–Uñ¸„K5¹V&?¨K5¹K5¹K5¹V&?¨K5¹Uñ¸ÌK5¹K5¹K5¹K5¹Uñ¸ŽK5¹K5¹K5¹K5¹V&?¨V&?¨K5¹K5¹K5¹V&?¨K5¹K5¹K5¹K5¹K5¹V&?¨K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨K5¹Uñ¸K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨K5¹K5¹V&?¨K5¹V&?§Uñ¸ÎK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨K5¹K5¹K5¹K5¹K5¹V&?¨V&?¨K5¹V&?¨K5¹V&?¨K5¹K5¹Uñ¸ÍK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨K5¹Uñ¸âUñ¸çK5¹K5¹K5¹K5¹V&?¨K5¹K5¹V&?¨K5¹V&?¨Uñ¸«Uñ¸ÆV&?¨Uñ¸ÀUñ¸òUñ¸˜V&?¨K5¹K5¹K5¹V&?¨Uñ¸ÁV&?¨Uñ¸eK5¹K5¹Uñ¸òK5¹Uñ¸ÊV&?¨Uñ¸ŽUñ¸ŽV&?¨K5¹V&?¨K5¹Uñ¸ŽUñ¸ñK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨Uñ¸æK5¹K5¹K5¹V&?¨K5¹Uñ¸ÆUñ¸ÅV&?¨V&?¨K5¹K5¹K5¹Uñ¸ïK5¹K5¹Uñ¸ŸUñ¸žUñ¸©Uñ¸ðUñ¸ÚV&?¨Uñ¸ãUñ¸ÕK5¹K5¹Uñ¸ôUñ¸ãUñ¸ÙUñ¸}V&?¨Uñ¸ÝUñ¸€V&?¨Uñ¸ÍK5¹K5¹K5¹K5¹K5¹Uñ¸ÎK5¹V&?¨V&?¨K5¹V&?¨K5¹Uñ¸¦K5¹Uñ¸ÔUñ¸ëV&?¨V&?¨V&?¨V&?¨V&?¨V&?¨Uñ¸×Uñ¸·K5¹Uñ¸éK5¹K5¹Uñ¸ÂUñ¸ŽV&?¨Uñ¸¾V&?¨Uñ¸˜K5¹K5¹K5¹Uñ¸àK5¹K5¹K5¹K5¹K5¹Uñ¸ÅV&?¨V&?¨V&?¨V&?¨K5¹Uñ¸·K5¹K5¹V&?¨K5¹K5¹Uñ¸äUñ¸ÌUñ¸ÌUñ¸ÌV&?¨K5¹K5¹K5¹K5¹K5¹V&?¨V&?¨K5¹V&?¨V&?§K5¹Uñ¸ÞUñ¸ëUñ¸²K5¹Uñ¸tV&?¨Uñ¸ÚUñ¸ËK5¹K5¹K5¹Uñ¸éUñ¸ÔUñ¸·K5¹V&?¨Uñ¸œUñ¸•K5¹K5¹Uñ¸¬V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨K5¹K5¹K5¹K5¹Uñ¸ëUñ¸êUñ¸ƒK5¹Uñ¸`K5¹K5¹K5¹K5¹K5¹V&?¨Uñ¸ÆK5¹K5¹K5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹Uñ¸èK5¹K5¹K5¹K5¹Uñ¸áK5¹V&?¨K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨K5¹K5¹K5¹V&?¨K5¹Uñ¸¼K5¹Uñ¸éUñ¸~K5¹K5¹K5¹Uñ¸ÜK5¹K5¹K5¹K5¹Uñ¸àK5¹K5¹K5¹K5¹V&?¨V&?¨K5¹K5¹V&?¨V&?¨V&?¨V&?¨K5¹K5¹V&?¨K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÎK5¹K5¹Uñ¸ÝV&?¨Uñ¸éK5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÀV&?¨V&?§Uñ¸ïUñ¸ïUñ¸ïUñ¸ïUñ¸ïK5¹K5¹Uñ¸ïK5¹Uñ¸³K5¹K5¹K5¹Uñ¸žK5¹Uñ¸¥Uñ¸ïUñ¸ïK5¹V&?¨K5¹Uñ¸äUñ¸äUñ¸˜V&?¨V&?¨Uñ¸¯Uñ¸¯K5¹K5¹Uñ¸}K5¹Uñ¸×Uñ¸¬K5¹Uñ¸eV&?¨V&?¨V&?¨K5¹Uñ¸¥Uñ¸‹K5¹Uñ¸¥K5¹K5¹Uñ¸ÍV&?¨K5¹K5¹K5¹Uñ¸¬K5¹K5¹K5¹V&?¨V&?¨Uñ¸ðK5¹K5¹V&?¨V&?¨Uñ¸ÍV&?¨V&?¨K5¹K5¹K5¹V&?¨V&?¨K5¹K5¹Uñ¸‚K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹V&?¨K5¹Uñ¸ŒK5¹K5¹K5¹K5¹Uñ¸ìK5¹V&?¨Uñ¸K5¹V&?¨K5¹Uñ¸”V&?¨K5¹K5¹Uñ¸¾K5¹K5¹K5¹Uñ¸ßK5¹K5¹Uñ¸ÔUñ¸òV&?¨Uñ¸ÙK5¹K5¹K5¹V&?¨V&?¨K5¹K5¹K5¹V&?¨Uñ¸áK5¹K5¹K5¹K5¹Uñ¸ÞK5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?§Uñ¸èK5¹K5¹K5¹Uñ¸íUñ¸ÂK5¹Uñ¸ÍUñ¸ÍUñ¸ÙUñ¸ÝK5¹Uñ¸ÂK5¹Uñ¸ÂUñ¸ÂK5¹Uñ¸ÝK5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÂK5¹K5¹K5¹Uñ¸ÂK5¹K5¹K5¹Uñ¸ÂUñ¸ÂK5¹K5¹Uñ¸ÍUñ¸˜K5¹Uñ¸ÂK5¹Uñ¸fUñ¸´Uñ¸cK5¹Uñ¸ÍK5¹V&?¨K5¹V&?¨V&BþUñ¸äV&?§K5¹K5¹K5¹K5¹K5¹V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨K5¹V&FV&?¨K5¹Uñ¸ºUñ¸ºUñ¸bK5¹K5¹K5¹Uñ¸˜K5¹V&?¨Uñ¸éK5¹Uñ¸Uñ¸œUñ¸æUñ¸sUñ¸©Uñ¸ñK5¹Uñ¸ÝK5¹Uñ¸ÁK5¹V&?¨V&?¨K5¹Uñ¸éUñ¸ìV&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨V&?¨K5¹Uñ¸ÞK5¹Uñ¸¾V&?§K5¹K5¹K5¹K5¹Uñ¸©Uñ¸ïK5¹K5¹K5¹V&?¨V&?¨Uñ¸áK5¹V&?¨Uñ¸ÉK5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?§K5¹Uñ¸˜K5¹K5¹Uñ¸˜Uñ¸˜V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸˜Uñ¸˜Uñ¸˜K5¹K5¹Uñ¸˜K5¹K5¹K5¹Uñ¸˜Uñ¸˜K5¹Uñ¸˜K5¹K5¹K5¹Uñ¸˜Uñ¸˜K5¹Uñ¸˜Uñ¸˜Uñ¸˜Uñ¸˜K5¹Uñ¸ŸK5¹K5¹K5¹K5¹Uñ¸˜K5¹K5¹Uñ¸˜Uñ¸˜Uñ¸˜Uñ¸˜Uñ¸˜Uñ¸˜Uñ¸˜K5¹K5¹Uñ¸˜Uñ¸˜Uñ¸˜Uñ¸˜Uñ¸˜Uñ¸˜Uñ¸˜Uñ¸˜K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹V&?¨V&?§K5¹K5¹K5¹K5¹V&?¨K5¹K5¹V&?¨Uñ¸æK5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ÝUñ¸©Uñ¸òUñ¸éK5¹Uñ¸~Uñ¸¢K5¹Uñ¸“Uñ¸ÙK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨K5¹K5¹K5¹V&?¨V&?¨Uñ¸ëK5¹K5¹Uñ¸ÜUñ¸ÖUñ¸ÚUñ¸­Uñ¸îK5¹K5¹Uñ¸ÜK5¹Uñ¸ÝK5¹K5¹K5¹V&?¨Uñ¸ÝUñ¸ÆV&?¨K5¹Uñ¸ëUñ¸ÉV&?¨V&?¨Uñ¸ÖV&?¨V&?¨Uñ¸ïK5¹K5¹V&?¨K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?§Uñ¸àUñ¸ K5¹K5¹Uñ¸ÔK5¹K5¹K5¹K5¹K5¹K5¹Uñ¸æK5¹K5¹K5¹K5¹Uñ¸ôK5¹Uñ¸ÜV&?¨V&?¨V&?¨K5¹K5¹V&?¨V&?§K5¹K5¹V&?§K5¹Uñ¸ÛUñ¸ŽV&?¨Uñ¸‚V&?¨V&?¨V&?¨Uñ¸ÜUñ¸–K5¹K5¹K5¹K5¹V&?¨K5¹K5¹K5¹Uñ¸ßK5¹Uñ¸ÚK5¹V&?¨K5¹Uñ¸éUñ¸ÔV&?¨V&?¨V&?¨K5¹K5¹V&?¨K5¹Uñ¸­V&?¨K5¹K5¹K5¹K5¹V&?¨Uñ¸¦K5¹K5¹K5¹K5¹V&?§K5¹K5¹Uñ¸ÚK5¹Uñ¸±K5¹K5¹Uñ¸ÉK5¹K5¹K5¹K5¹Uñ¸îK5¹K5¹V&?¨V&?¨Uñ¸çUñ¸ÍV&?§K5¹Uñ¸éUñ¸æUñ¸ÌUñ¸éUñ¸æUñ¸éUñ¸±Uñ¸©K5¹Uñ¸ÉUñ¸£K5¹K5¹V&?¨K5¹V&?§K5¹K5¹K5¹Uñ¸³K5¹K5¹K5¹V&?¨K5¹K5¹V&?§K5¹K5¹K5¹K5¹Uñ¸ÝUñ¸ØUñ¸™Uñ¸ÚUñ¸¸K5¹K5¹K5¹K5¹Uñ¸èV&?§K5¹K5¹K5¹K5¹K5¹Uñ¸·Uñ¸ÔK5¹K5¹V&?§Uñ¸£Uñ¸ÙUñ¸ãUñ¸ÅUñ¸äK5¹Uñ¸ÄK5¹Uñ¸ãUñ¸«Uñ¸ãK5¹Uñ¸ðUñ¸£K5¹Uñ¸}Uñ¸ãUñ¸êUñ¸ðUñ¸ÙK5¹Uñ¸ÇUñ¸äV&?§K5¹K5¹V&?§Uñ¸€V&?§Uñ¸iUñ¸—K5¹K5¹Uñ¸Uñ¸ÃUñ¸—Uñ¸iUñ¸iUñ¸ªUñ¸šUñ¸ªUñ¸£Uñ¸ÕUñ¸ßUñ¸­Uñ¸ÕUñ¸ÛUñ¸äUñ¸§Uñ¸²K5¹K5¹K5¹Uñ¸eK5¹K5¹K5¹Uñ¸­Uñ¸­Uñ¸ÜUñ¸qUñ¸ Uñ¸êK5¹Uñ¸èUñ¸ØUñ¸²Uñ¸åK5¹Uñ¸ØK5¹K5¹K5¹Uñ¸£K5¹K5¹K5¹Uñ¸«Uñ¸äUñ¸ØK5¹Uñ¸äK5¹K5¹Uñ¸•V&?¨K5¹K5¹Uñ¸˜K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸íK5¹K5¹K5¹K5¹Uñ¸ìV&?¨K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ìK5¹K5¹Uñ¸ìK5¹K5¹K5¹Uñ¸¦K5¹Uñ¸ØK5¹Uñ¸ìK5¹K5¹K5¹K5¹Uñ¸íUñ¸K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ìK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ìK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?¨K5¹Uñ¸ÙV&?¨Uñ¸ÖUñ¸ÃUñ¸©V&?¨Uñ¸êUñ¸–Uñ¸ŸUñ¸¦V&?¨Uñ¸îUñ¸˜Uñ¸sUñ¸vUñ¸–Uñ¸¤Uñ¸ÞUñ¸ÕUñ¸èUñ¸›Uñ¸§Uñ¸–Uñ¸žUñ¸¦K5¹Uñ¸ËUñ¸žUñ¸vV&?¨V&?¨Uñ¸×V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸áK5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&IžV&BþK5¹V&BþV&BþV&C§Uñ¸ K5¹K5¹Uñ¸ßUñ¸†Uñ¸‰K5¹Uñ¸ßK5¹K5¹K5¹V&?©V&IžV&BõV&BõK5¹V&BõK5¹V&IžK5¹V&IžK5¹V&IžK5¹V&C¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ïK5¹K5¹K5¹K5¹K5¹K5¹V&IžK5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&IžV&BÿV&BþK5¹V&BÿV&BþK5¹V&IžK5¹K5¹V&BþK5¹K5¹V&BþK5¹K5¹V&C¹V&BþK5¹V&BþK5¹K5¹K5¹K5¹K5¹K5¹Uñ¸ßK5¹V&IžK5¹V&IžV&BûV&BöK5¹V&BùV&BûUñ¸œK5¹K5¹V&IžUñ¸_K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&BùK5¹K5¹K5¹V&?§K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹Uñ¸œK5¹K5¹K5¹V&BùK5¹K5¹V&BùK5¹K5¹Uñ¸vV&?§K5¹K5¹K5¹K5¹Uñ¸K5¹K5¹K5¹V&IžV&CV&CV&CK5¹V&BþV&BÿV&CV&CV&CUñ¸aV&CK5¹Uñ¸ôV&IžK5¹V&IžUñ¸€V&IžUñ¸èK5¹Uñ¸aV&C¹K5¹K5¹V&C¹K5¹V&?§Uñ¸–K5¹K5¹K5¹K5¹V&IžK5¹K5¹K5¹V&I¡K5¹Uñ¸~V&I V&I K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹K5¹V&?§Uñ¸qK5¹V&?§Uñ¸qUñ¸qK5¹V&?§K5¹K5¹K5¹Uñ¸qK5¹Uñ¸~Uñ¸ÛV&I¡K5¹V&I V&I V&IžK5¹K5¹V&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&FV&F84b0fb9603456f389eadf6da132d5f725da7bd4acbc2b7adaeca7cde74557763f310125b88d24219e57941881a8dabac21440a68ed1ae3b960264222159ce7cbb37fad644e2ee0b5c59a77dcafcd1293f8832b5292488af6d64e1730bdfd49110ae3fe0798e8560562b8be8e8ac8b213d95f38e1df0bca6a0e56e2d7728543e9560f0097fa779f91ef1ecc97379a84db43162aeb69ed1c1f4df7de0499e70e6ebb989b0161a2e6798acf9d3444b0a9bb5989d8d6e26fa74c917aa4031afff606738b72c07dd8526ede509ef1b376be67d39f84d8e361938d507a84cff2a2afc8998e552858003b01968425ec732065efe29b4b8c6bc16af5ec793db8e8e220b6d121ffda4bcd7e1f451a884e76d6613668bea38bb8813b3de8cfe7318cce0fe86135a8472e16677488ba7022579ed928752ac98ce3f6d1b157c5a3604106acf2b1f3434bf4fe37795c033b960286616d2c8cc280099007e43c65cc2dd8f2a61e4686dc67a88e4c5e62e03f185de0a2142654b05e4542cf9a0a30530e59c0479d7096956ec54cf5f1b9b0788f4a97675b9f4684daab1f6469dfa89ba4242ae7ee91e42a4378eac36658a3cec347e627fac7c690d9def22e0f5f3db46f652c1f646a99ba5da71265d213aa42bc89a7b5722e6900a1aeffa38071680822f5a3c23debca0b078fcedde5f3c851c38cae8a4e6716a1e4745a7f114f541c524ffdeab48b7d338c90699714db38e09bff2ac4fe60ea73907491a581ef0aaf7f1b83b81044d93f449dca44bfdfb1b86e181d590a46de6f7a38e0a7c7ce1aa66011158f0fa21b0ed4ebcaa5ee88249b38a4ef326c7a014e23286dcf072b48e42f22ec92bccf3b30498db68a7052e1f3a80a297b6725e711499dd5e83621a6f7c64b069d409f29d96d2a6447744e182ec07885b166075f828807256194888e34514301efe292e98170bef84e2959ff98c08d366b5e23fd3837f2a2af2d507e84ac7f6384ddb72fed3c33700a4ef3dc07d950587f0b234edbf01e697c48bac7591aaa5c34d2b418e36bc727ade5488d69e245fbd5a4eee6b0cb28d832d0f8a3f7a14fa9d36f424d46ac3f4dc156b34d073b249c79607d7356300281c1d3ee82125ad9354ff16b5f94d24acdc8e88bc02f4415041313946a5007d29fabb8fcc5f4e76e7573d5f5eb83936d20e497689f34b5e06dbbe41fd7c57a4f7d267776c24c8f4024ec14dc30472ee6746b11dc7e2c84629c0477c614e664afc9e9c9506cf4b50b8ea2aa053925f2af3c4136020c087576a01498b7868935ca0bda85787965588c0508cfe58a2a5170f36cae202d3a40cb7172df995831d020fb5716920f925c4e34e320d32d2efa7a28155de317112c83dec9dd85ec87e3e79b72890e187d034cba5d9d1fd7c57a4f7d267776c24c8f4024ec1433ec534827438452fa3dbc34c75c27759cdb569181f6a1e99d5e79a0f78ae5eda480db8bb5dcd1c926b77f452ef2ad950e72551deff5c396fd1e00293fd009ac144fd7ea46e1762cc3afdb9d8a4abd5ac93127a00055a458a7dcf9715e714f775a65f04e4f44723d3e996e1371c765c3697ddef5a7a8dbdb67fcbe8f0741e1f32d8e959feddb306bbe713874054300baf9a6917f7ea8f64c5f5055d84b781659d28aa72f0f54765fab7a2fcfa9de4fad1e493f8003e94f08380b49cd3c5ad3c2c30838a1ada9ff9caf37360646b9375fc40de47bd501b84a7e088ac9b0e78afcb563360cf893bd48ea9d73a36da3958b382ceec315fba61f2ef28b71778823efc9ada6c60f0da097ce09164ed251ccfc1e493f8003e94f08380b49cd3c5ad3c2e535c3c2d06fb03979f4f634602dcf1f84394f581ff4fc390204a238597e0a9e2d8e959feddb306bbe713874054300ba321e7ff54b7117daf93316d0133564dc4f878de6b8f86731fb49affdd7e574c6b76ca49f948f2426a1c023ddf35a0f167d5ec694fe14fbbdfb13574dbada5f220b0bde4eadc2db836b4271c1f0caa96c5697abdeb0f54888d052d4f43c5f2ded28513d3f0d19222cbdadbeb32c12d9e7426b6c98e4c972d797108c6953b52d59282214df866d82cf69891ee812a1cb60a0f77b385b6f291b8750582e4472611a2d8e959feddb306bbe713874054300baa11d36c42533228ba861cc63f9339112e6a2ee556752fd4fd8c89614eb43adf99aa297314c22cd4244310c08066610077f552f652299847e1f8f56b158a775011efb39f604ee6c3981b21a9089e44a343d16864aacabcac85cfa8ce6194b8b3b4f741fdc8057570d1b0c8ce1548e180721a0dfc426fa570f56494b9cd3ff3ba62d8e959feddb306bbe713874054300ba0fa4ed87a9485b491d0b46194b56e4a0ecbcf5dbd36a6a057143861ab3ea25da39de414944b90d85811e15d62f19665163fcad457b10b9638db3240abc0fb7a38741ec8ee295452f0f1a2fd3f382c30fccaec15fee6f50ff5c2e6820447c17209fb6a487e4cf7b1c4160a3bc9928c7a6c3f08bcd6a3c83f735818c758d0b0e54938e16af2f93216b568b07955986f74e96d9a4f16637a4504f37ed360263dd4385752920e0cc236dc45b4cc415f60ab2938e16af2f93216b568b07955986f74e92e9f2d7acb8aeabf5cddda718eb03dee69b58dde86029a89724febc17b20cb5e06973374d5fffe30bb0fa9631bee31ba77d6fab0c1259cb3e4a93e861826f6a50b843d9169a205e96818d2e083b496f60401b3445cf8d833f6a0aab5fce961f8e13b42b6c9e2caa22f26adb85ae9f39ef45692e6cf853a820212f27780d99651fd7c57a4f7d267776c24c8f4024ec14cb4ab8be332d1d6e5ac7792c75b56b860f0493ab49730063ddb6bf3da24fd68e6e74d9ab0e60ba68ac3f437f71e66774b685effa092dbb439671c7bfe74cf0f1440fe89b206c7a9d02cf70371d1989724805417874f826f074a5a31fea700680262a861ce397135ec84c8547a16bd158b4aac3f01d513a798f2d3f6fe8d0e75eed9a1e73c5b2958a9ebd356f27fc973b10257e1d41994ac446db4841cf0ffc084f361642ddf7291081addf9dbd52fa6d2d8e959feddb306bbe713874054300ba932421aa2c0acbd0d68dbbf64a393b2ee04d1c0a01304f35c4f6715d673b6125f90973c8e437e796fd5e4c5afedc3c4a1ad3a31bcd93b90afad4791fd0d256cb170a5716941e4794c63ac0a0e2cd66858cf3405b2083e184c50ab43542c87480632088efd641869735610a043dcf899597c2a655fa60bbd2643c896984051a8fe7a581167290c9e2e988699c6be3a9b6abd858e71eec02c5e68186854edbea1b98a57d8250ad3a33b0a0d1ed249411449d6b64a030b0332c27261a3a5fd7366effd2a0b2934718d1cd920773350caba56ad3d9fa2d6deb483c975822bbe4c1b5871fee2e2f51b01283078815d6c4844ffaa4993a35e4f91afbbceccaccbc896312ac41246b1e9672cf1202a1ea4952b5b1509a5b9c6e26361c62e7b4eb5bf41c4554c503972882809ee1204cce7263068259a58ccb6968f4c93a62114f0927f89712c768234eb124c8c2683cd548f5c13c42c92e8ab282cf9dff1557abb7ae0c52fc71ef153996e4b6b47727e4464d3c0cc6a83ef1cba25ba3c36992be55fa06a78495a37d7c7c27d296e5ddc807b950aeabba8cbf8ee323cb861d4ae08c03cf271fee5f003ff7e30e54f778dc8448421856fa9e05b717b245a1084c1477e01ceb57b65b0e7932fb08221429af4708b2ec8b3d2038bd8274e3032c4dd8f39ee390098708ec1576e9dee4d22f4a2d527a3f3154d304616cf55990a70852e08a8fb3f216bd7cc68cab25892a1bbbbe6664efa4e0a7311fd8539dcac1f875621d217a937d0db5ca84076a771d7b4f9081052cd187da93c394826bf9e5fefd46b032b5034548107fe5af7bcf6a7dc2dc3e05d43b44e0451cf2fd2470a50dea56d85f6dd03c1a3203ec6e0905e22e3f8f9bb1d43b44e0451cf2fd2470a50dea56d85fb3e53607d8535fb372e0169b5b3a1de883de62ef37bc579de450b559cc036bdc0deb9a94746d9e2e073dae654a07672168725dfeefa342063fd76a0f5b93a85df04396f397f206868fbbeae4fa61e9121fd7c57a4f7d267776c24c8f4024ec140eb658f7c7c5887f6dd0c522ecff4074eb6f3a8560b5d09aee9551585ff40d2e6148b2c85289e0172c60a6c97e8393991bab6cc6e4f423c7f46898c3c3e68c7f271ce45c3a70e02e48be28e8f63cca9dbc1641653f73072cbaa53c050565042ba27bc24e96e99b17f25ebaa8167e562b82b05be6faf036338842bd09f077508c2fdee25cf94c33ab3992e1de999608f425ac6b690b8bd399d83d25d6a485985b81f4358d070d4082010584780167b2acba411b3c47774b3e6d50712f96e779e037a08794a4aace78bed90aa06d14673f12318bd8a607f743cfb733a2e5004efd6cdf2f2687c3d41bf009139b1693711ba152b1fea729b4602b609601ab8defc92952ca891c1c964ecfafca4c1bb8e1410429a8ff8bb56c1f263176edabc65c0c17688bba36b2e830ab1484f382d07ded81f5077d6ed3320155cfda04626c9ddce7add2ff4d6bacd3c14e3a9e150b656d34febd8a8b09d56749c4b8430a864190b97564570a3043d6aed29ca6fdc457273210478e852febd3d018c27e4dbd1e78f5d9e46bda014e04d4287e776d1ad7bab44332cff67032acaf5b71e13da68e931ef26b822b1eaabd13925832f5d62511e2e492c0e20dc6282663d6232f423f1395e186cce435e1341d0f8c986808239b511665c65155c0e251f4a2b1cd8b007f71c289ba9d4ae69b85e53ba4f79fb52429eb4f653077ff7d4c523abedfb8fdd348f4f2c96f5a70011ad7e08028e2c2e2cfe3db377e4ef1717829c79208ace88a07287e7d0698f0bccb6532e248d5fd83aa7de2e284daf5f8a92e0a0de15739de75c1db5de12e84513381599ac64acc92d719ac4af5ea4f80cf7d3dad693d141a9b3d80bc27b5b63e28ca89a8e702e4ff96ce5fea669deca43369da58cea90e011e4c95f46778eb180c45bd2d8c5790efc025af59cd69fdde69147378efbce13cad941dcc87a6cb9a3bbefc6bb3da216bdece4c69f02b0c7720167da9ffb41c5bed7e7455214db7f8c40e10183c208a20fcc72bc5d374210e49bdf3f49252e4e39fa34646636cf244dae9e783c7015186bfabe58c4b4be1f8b0826447e70d815eb5539901f16c8882102257ec0e7e0e4311f05391a07cc4ccabe989ce9944d141f34adcda67f8dcc0b28c93cc44743e6c572b7f11e0b9d53df3c576fdf3c50ff96058cb28ca54a8c498684a2b075504427c082e6f086e215e70097a2b21df2cbebb804e2d0f7d80831ee7cbc6a9a95af9d0f2553ab14a3895e1b401748a551864d0f2553ab14a3895e1b401748a551864f4f2a1b4b06c82c187a7dcce6ede1ebae2852d74408c18a38bd66ca1a481323b3508f60a518c3ebef1cbc0ea893e2bccd41b45508072768ae7211055f4ab6f7789d4ebcaf902e2d967e4863f21207b236a04986c242b4351b7ddddd513d6bf8b374d6d16425fcee3550ac4bbdfa003d46a52ff5c5e2388c7592d326c9832a1714dfa514842fb3000979b9614e4c5bc55280dc5cce093f42405b87383e8cb0a6666866284c4f0cbc7dbd5adf953bdec6d83776c3ee2da906c4b6d8687b93747ff7df509672816d77b718f4112f37f58b110031a4859dbc3b409179049923adeab9942a38d5efdd16022c8d935b6d78490e29765913ee3164e6bcd398283490816386fa4721d8df7bf88918ed95511303a1ff7b173560ad92066b4246b68d19e2a68004c59b56258bdb30a49d5458745e58ff99efc21df126c8f3499946966cb31a91727f780b7d4a21265b6e9372e7e52fd936a9666547b0575e651488020cb299942a38d5efdd16022c8d935b6d78490b615d108613f671ec98054750b71d1ca7043b5124264ac8543d68c51a6e459591c7ee51fdcc349df3df0db17f87fe6ec3771829cd7030293e83e2fea26a30799e649712e737eaeb8dfb6eab78dafaa15999273fd41043259585cb02f75c096951674b521b20f0009c74e166054d65833c1b757635bbdad7e1f0dd9a0a5a11b7739a6ca8a5988dc4029374294a82cb252f1deeebf012c90d2e74015aa3fa52ef2262a18a5cbaab271957326ef51c8a3fa7e1731a7df786316ea6d3a56fca6ef79434cb856da8538209dcfecf2d01924417603b81a19b5447847a1563e79784f82062c46651ec9c4186ed90c149a857dde653271b2d185c6d5c23d187ab9e49d2e167f0297ea5ce72e2062f0243f2929f3295daf2e0b6610958440efcb438c50b2a8cf4fff6bc8f37db55543e1246c3120ed81fe1970b0b98b8e4e345a13ab75e5057ae0c25984bf836097d6e17930e4b6b01186bf7ef2d7f5247eeb56ed05c33bb01186bf7ef2d7f5247eeb56ed05c33b1c8efa633563b1496bd2c660cea547473c77ff9378c2b8f446f54018ff8911b63fb8b1838d0891d732f64a009cc8d12def269789e20032ec6beaac0231003e487ebfbf5c8003717d2a46ce43f72c61222b316cda0e35eb3e0796e343c0e54b4e25b5587eb1c67af50e999173b8a02559ecddb03c1464d07c055239d29de6a48ec45de43c3a9f0b76ed0a84dff1752527240803ffd1e3e96e5124053acfed8d45ead1336e374fdc92e4ab49df23204f843d413cb0e9275586c900ef4022edc9c5de4a3822982af82fbc75daf2cf7f4b15954c3106a17db056cd216011819f8753340936b60ee64d30a28d3ae1d1256f9a85ac777453b93ad3786d40abf4f9a609bc7a3ae100110db6bd3afaa53350c4b031a20a26b8e4929b6ceb07983e8f60cbafa1672905adff24a5a8512d927cc840fc17e79653592b8727ac197e83202d8485574e6a06ede932397deb00bdf065b3cde75fc56320e05e70bd43744841372989d356c495fd76412d269a9150f6f0642ae320a3d2c43cf6fce1823e78ecd3fb488128405eda38c5d23b86bf6f1cc4c86c9b207d67b936e4d47755ae4146d39dc94de3a5e44e663f0fd148ce8e45dff38af7e8e560139291161efa10a60d73a4760546a2948a98705cd8e35d8bcd54e9481136de25e7646bcb71ee45a7cd06e7a2d75dba8507ea73279f234f82596c671a4145614b9f2fa0a6bbaea47461d59583637930484dda968404d8dfd57c853185f7d8b8fa2394d44be690b393a40984b9c4302acc6f0aa5cba35a6c5d46eaae708ba2a6323c690c80c6ee4c7089d5dcb129aa836199bd5afc6796a69b437a0c708ba2a6323c690c80c6ee4c7089d5dcdd5c1a05415acf87ee90881e79649155312622a42105ea97b971ea3c207ead61b30b8ad7880c4234517fc22c7e359c64bf6a971de8b6cb122e4dd2c65ba0bee1653f30cb2b5de8a9ef5719bc44b675c8eb34810153ea63dc24d1dd61a2c36e13aa16cd36b083e238afdae374ec49618a585c6fd0c682f1007fc27c7c99820c4088ce7c8cf059c13651af41ac41bb869f3db8689df45b20140fc57d6c76a3b9aac7ea0c32626990f79fffa3c0711aaee64d4627bd03e6eabcfbf95284181693386e0b29fd6db2b341b334db28978ba1d043241c2db57a82b7044a2fdcd20a185a90aaa459a7393ba40e9ce8c91e6be36c5de67701124693cc9a99c53e899922c94dfb21232ec2625a0ff0a61f6a666ad6b26251cb92dc925429e52139238ac10c555417e55aeec9a11e29a630d22d477f1bd573eccb479e10678a588413248b931c82279f78ece3a6fbe0f1766641ca2ddcbb28a250420dcb9972f3cf6c73d85dd8c9df5f4a9897ebe0105f4b9ceb6e403fbe368adf47b3c1d1d7ad94fba35e90329ab7c3b0d849628c5de2f84a32ea0b945a3f97fe3ad349ff6955d2d7f8db19a5bc588105b2d1807975f6a975faaf9d80b37a85079da789b875d1c30ed049a963f7c69c5220bff46e59e7c3cf809bc845e9f0abcaa10105cd37e280b25735f6c7147336183345ad31318c86df900cbe46555d2d34d7a77c2decdd984d64a41c3a27d306e60f3ec844ee57e97d5b3e3e0a2d5f2d0068e6ad9ecabbd415f998aecac897de942784f5b0438f91dd594a40cffb593cec5e677a45accd5b45da171d11516dc7542fc1981457306a88492728a6589c5cf3cd69214c325c43e4cbecfcaddfa7ba5d44a3b2c62249c62b292cd886f7dda25bba0105f4de125b9cfd3c2ef72a276bc6f05354613ef165f56ac9641155ba22625c98033157778da8f10b57b7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784deb7bb3e6aefcc347c9a80352c9ce784ded3aec8ff9d602282c47f19a05494969ab53db47f43505f0e9068a3ca621304dc17eed2d1144e37ae05b5e56d9d0cd5ced167bc00cfc009c6e69b2873fc76f43995ebb7eee5dc9cbec5e5629f376e0814e544eeb0ef14c17774208160f35e654cb47b155722d72ff4f1f164c2e2d116d7f1ef23bf25357657271b87d63aafe9fa4c841ea8ec98562355249ad6a3f53fc9e7ce091d2b529494b66adcf650829805a8f6f74246644fd8095f9ce464efc6ab59af99e0ccd075e9d56c5cd0ac8a0e563d1a56897e086477a5ea1e483fa0685783092f9eebbfa7bbf420cc7f708e978696937ff8e46eb22a22b0b9ea3c78f8ddacb79d659f673b2fa98b16ca94abd8e41963aba81292717b22cad13de718e4b92da56a7b0974611892f2b5667d6c4d4547833fa8515e93a72d6c83d5626d8d04e3531d6734b3c34790d1e45955d6eb9f7ad5216f42f8f6455a81a92ab183a48eb7051fcccfbe9e5402fc4e231d669391ec052a98f49ee3ff8df48fe50868a5eb241e28dffcf9bd6dd60510a63d93746ab04359f792e91b2e55fef4a183f89a21829d600dcff7c1cbc4f54880059b876a8f33972438c5513f12a834b5b27b5d61a91e5c1337f1b7dc7010514de494239e4f98bbf37f701b1f4879592640899aa24f98bbf37f701b1f4879592640899aa2355189d6d19965184e445ddd642ce922d59b06ce1d5a78e10f03ce86db000718e549c0e944c586be79b23040efda091454f207477d7a8af7bfc9d9a577d6c9f59079082c0135a22c9b476ab00c4ea02a9079082c0135a22c9b476ab00c4ea02aaec173413741465fff8faa86eccb4b0184c0d9d52668647535f307da9835d6a23faa5b90702b337d9b037d22249950c89a71849ce1c621264ba1fcdbed0c088730f69ce964edcd7f3e460e4d803a8692fd84bf31d3c8ace20d02b5bf45212412830d77d2a83028d440ddda6b8578b59575096f9af452d2c1073b3c9a203196ad3e3271d420a27f10a59a735d75ee0507daef86c9fcec8d7d73e2971294d4314022b8f732db1a065039e5e0510c86113efef5411e7bd0c827dbd061464e7d7b15d8cb033e9ffa4ee0e056064965b84965ab263c7bbc9504f59ac9599b3145961c9141ce580baac5a1f6054128679095dc3a8e21f657ea737c26fd00c6024ddba66e1305dddcd0b5bac49a559413cde25f0b05d0c83c22f74f425162279a9b23015b7daa5ca274dc74f13a83895cb67881d79844776ef50ae65483d61f4921382365a73d82a506a718ded84ab5af357f947a7c111fcd924cbbb6de94b3d2bda997de4fb90a3de387163bee6d71066a9d4a3e2e69656a66e9c1681120a2478855d54c446e033d73bd99e07f25acf145cea10834798fcff4a9cdbab7ed49aa0b10bbda7db7e04a4f3231f34014cd019c58826bee9225a42ebe6eca63f8a3e4e9487c1af342dbcd9ce1e2895c948203615ae6599921f7325299f76d10867ecf1fcdc29ee43c112d359b476ade7efad44670e885a3c3e41e940bf7902614a817e58a1599c56cf6550827811739091591f17abe8a5a956892bc25be5614caa5408dee2b86fd5edfe14e049794437237e1f8ba148880dd894a85682767e5fdc7ded42bb56ef8ec1a9796c39313812cc7874231ce08f046d6459a8ee8c3597edcc463ea88a171f966265e35233bc935191bc0d7245ade07865d18ce77997b19881517fa7dd706b2a681ab521a0f9746407021224d695a585f484f1a429f4088c9e4b9132849714b5eed9cd4120900ae193df199a20a6429a2f41405cb6689f28511ada1f43dfe0e4586826030c736bf6cc1a893d0d4191d13295b1c434c436091f0083f7195e0e18e457235dc5f95f24aecbfc9cf5c404542528203574aa7a9f6f1334aa02f247c3e37b55d75d6bb8576d5d17d81337adb7538b85974334e9b2f82c5514b8cca05fec8cd52aa4a8cf2c3ca259753292282aeaa1bc777ce377e09836c56af3653bb2ad4739004268a65864ec0e5424edb4addc9bd229619776472efee142c736785157134fa843daee15d96ae3d31f33f3ad3c505fe234d37b7e3556341f21bc1947b4640aeefb9bac4de0bae7defe35383d1f4be6174df49ff0ab3cd35ebc471d1075b0253fe36d830627c1feae8366b7f8ac45432ed1a2da3fcb97258dcb2189407d5f0e239280b00e6e8312f786d81670b29c476a1319d20802fc661333d1c48c8270fddc6d86661abd1d56d54835d59cd39d1b165e1f2d2defe552afbc487fe49d09ec06d846a1d0036c8fb51b13b6e17eb1c7034350c4bfa1177ae3afbc11163a41e9ae2fc0185e79560932aae780684f92be5ca92e2a182b344636b260f1b7d2e2f222e4181ad2872a7ae164283001ad8e949014b5154dc397b620c4f76be4b3dd30765746b56e722c32f8d3b8dc2bb82e8f2568b3dc87d4faa4a2c0b5ea5fc17cc37b35cd38036c931ab350ec5750bd005a80b6220b41200e5f84ffaf1a48e5b0af0ebb346b07e570eee9e4f89a37ac0a15bf9e396451f37f913d8ee154f9ba7fc8f0161c709abc578d67b3b0e3dce8c2a03a6770c08388dca547908ff10bbd90f43ec5e408344db4d1903b7156d4c2bc08ef351d9cf207f874d6a21c08ac756f5e14dd034e38cc41134d7acfb1bd499af5226b026944ff99f3842d5a3c394ad8dc7ed28daece0815289e8cf3ea736ddcc077ed5da2d14db3f8607c974d75c2d1ab18cb64bc53c284cd089d64d11556be36055eaab66531dff537170424992e419bc88e995f5eb9a2dc0a06cff2b0896a5e6a3fcf00426df53517beef61db6bc5cae3a40c9aadbdc539bf2ed6f795e7fef9bad2502eff01394ac6ddde3221bb1bd75f1bc40bb5dd51b3008aeb4a04c48e02b4472c647fd97f7002c5e288050e18d8ed4f92821b4545111f7b0a64a2bed4e9dd60782f83d1225db545bb842e51fa84292107f24b8a40b28a5609ba53baa91d93271254dda46f31bac73bc332d895bf7fff8e912f7350f9dcbb8e58c5d5e39293c225e832add117944b8e58c5d5e39293c225e832add1179449cc9ac7e614a6a6388ff7dfc7d8b71529836597c875af6ef55f5929404f115585911c57371559cb8e6c7adfc11f410c9e81c74bc7eac57808c4c31ab7f8d8b1ed8c8ace2976faee3ef0d54f727b5b783eb5ac8a3bc6a9b206f3c84f13bddb8c203e4524e73610a4b451e6b22462ae5d84c1ec7117bf3bb721efe2014353f2058e596d1f8a90a31553fc401f85aa2a17682070a0a0214059934b3e55564ab779beb717f3cfd15442811194a8399c2799fe636948dad212ccde3786e79bf14c0212b8e796616e1ddbec18eac23ab3915bb4911fe8919fd09f43ff5847fa7cef213869190d07159701e8bdc5041e403e18543a5906df7da2eeb89869d869d69891f1e45e4b69e2b6709535860ff6e2012169cfe9fa273453a5fb4ee91ae28404b9f0537d99622b54ad3fb2b7d477fddcc1a89bd21ad992d78dd8a73953740a54cd3ffabc536dc8252eb4d4c404769bf9de09441b5195bfa57dc0f3fbaf971d98002d1acf44327681d6f73bc48f4b656914b12209934aefa794ef725b8377aaaa0df6409196eba4752c3a56bead2e397a391b908d1ed9671fa0c2dda6ded887f8dd28b540251cf2d1cdaf09fb168ae2efb21a53ff208e6efd5a4cff14e4a92d77490ed5b18b3ef19749736b1fd2aa2cd121376128a3f45a73f31ffbfd81d15e4e3343a55490fe89df4a744e8cab90dfe3a044a78592ef3e92f4ed45eb64e5d757c5da1002fff814dd8e983b812c772d3f1bbe79df6371a092c679901a1fc6b00ef851cbb57eb4d32140d35bd1ca059784d1011c4a4f78f75961e6b121f3bb251c4ffc8db095107b1475536513859feed418649d59c7d6ecc3b146a569c0762038c4ad9efbedb9723d6ee0426e9a9f33d76bb340f63df3662ebcbc491ff78b6ae86707377d355db149459fa9c937106af31ca1927953bbc0b321cf2b8bdd5cfb9a5a9fe02457cff8be17f44af9714b67a73dadad7e8846dd7939e70691626446a38fac51d1937190cac1f77826216e63c8de8ba3c3831e3058f74992288aa140a59b417d1a14d961bd5675fa649b1cbb184e6ca0cd7c05ab42a703df31d09a03b144aaab57342ea78794f636c58d1e7b073b2cf41096ac1775811fd8423b8131c764d57c1c33f05f814b6c488afa08b3324f7d41918adca00cc47529ab8bfbc3487df5df9af0b50832131c73a958ea1be88ab066c2233928ebb35d4d43ae2141334812cf70f152059ceec91534ea8828f748888828c422a698d08fc3cbcc71d9a5117b6a96bf08c598ce69231b325c30481cd10360b6611d7a555f280270f3c606e68817acb135b7d2c7428bb3fbbe47bb1d2828fd413d9bb6dbdf1f4abab91dc739738c071b2cdc27c9b128f2288ea328c88eafa1291634aedc9c36463938ffb3b927eb2586fb8fd134984e9bebba1947b737c707432d19a18110d83ce3121a458071158cf6d466e049926cae43aa321d111f9fb9d9a013c9119d21b1a257c87ff838299efc9e18c1eeb4976a1003249f43e2b4e080fd316da3191ea810fe3897c6f37150ef84df06565b46d4af4b4f9cf2075896fcc94c02e56feb07086254f025db56af386eeea531b7df6d439e6499971e26b01b4331f3d044460b28ca54a4b464c97007f603adfc0b8e8cb7e7e398eb98e1abb6558a57db816fa9e2d4cd3f91335dfc8461740a0a60e501d4883dd3a1a6e027a3be6f4a5e679d2e9d90fb2847fa0ef15c2ee81dcd4ab28ded99facfb07891aba2ca5e6aa088f50968faeef3abb300ff8875384b60103dba01e0006c709705e11fbc8a1a3de632a6bd698924869a3bb7abd320de25877c0f4c875ad4f242b557c7c4c1e72e28ae552aadea1900dcd4a517d2bade305448b7325d1c964a4c71c6752b506a0e11b85ca538d661eb8aa9f4621508db4d143bdd3b7d092448ad8c8dc725078d299a987ab17d2a31b7d9f646955877bdf5c70dad0da6423cb12f673327b9c44582070fd9ee7d4df81ad74c9c4ea5f8e3cab53e1de184eb66ee33ddd11a0efd880737572415adaa72ec506cd0b0b7d0419caa831b88c2dfb5954c91431761776ed9dc5e0202cd82455e0b7de796da04d7de3b8ff8080bf0811cb7fb118740f679233cc585285387caa6d1c1fe8749e615504aa5b9865c610701d36d74dfe545a11ec266105313816c8f015630c479e9fd55fbd05571402f478f8c60db1be7ddf477acc9cd547a02c32156e915e4478fa895c7c142eb0313e92786f1b1a55817eaedad2c62f955f738a4c58c3e8bb3a9557dbb8a37e082cd039c212f0532706924a0c6012df97290ad0a706bb86646cd722faf5cb23265e5f19527c446aefca9fa106554c97857050214b78dc8947a9d17dfe850846756d790b3312c05f3eab928b15789b7eb4570579416d386cc8f284bf6c1f62e3e80c6afd41403683fd766e8ca20cb2de0010f4eb2e0d6be0e37354c0db2d7ef14623c6bdfe4a5b99ddb399a699e13684bd6fafcb5292d37ce2c87a0daada696384b671aff59e01c11a3ccab8253951ad40af9e4ad7665ecbef4a445a7d1ed99780434dc79d205d6bb3e495e0881ba3eab5713ccf9e09a67ca37452b25795e5ad2804d132613b4fafb6fe8832e33451954c177001fe3f77f74b7e468c14e571b3f47eba6dfc7409cab8da61b445f554fce8f6f365139ae26d6cc6faf8e1b1b30cd910f64fe0564e1b69e0fc7d418a04e55527cef883f45f50d0caca9092a093a04046e3c4962854d590ea0504df74be8245be7ceaef89b66fdfc0d3235cc900430ce5d9b0cc3536c5c6f883e48878a7a9b7f0b195f4b8787e75d31e654ab2a5c9e0286e8238c16a63e72367d2d34b14344de2ad3c06063c56a99f23f80767179d34b3dd99f94edf6e536aa1d1ba53792551e22f891ac8b6a06ef027dd6b653e8fa726d20cd934e3346abeb88765a72a7ea5170e0d9b6a9b12a1a0f06ed0f45e427379a34d02226f549821a226e7a180c663dbcb951263a4b438803f9ba00cf09d431a08eca08d3677ad3452f6e2e0e1f9403fcbd2dc8584fa4bfdc95ec2564c5fb73e088e7adf5470fbeccaf1ee4501badf5ec082f928b1630a1b4d8812f0015fdfc7ce3a5d34eecabc1628c3415d9be15d5856554eddcc4ad7e6862a68123f7f0f40c97a02b3b56bd6c748f0b85386fc05aec198a653232e923268b0d430a3dd60b5f5bc9a5a663ed38f2a4319cbc77b63c495995475efef2c05f30abd274d5fc20432d746cd16947a80c2bed8b8cf73d19eb65f5e39224bbab271b5685775b0624be88f66aff76507d647f638ba00fd746c0e4ba2f3eba79315d100b70a8cd7454e0828ede09dd17cd2de78d3c455549f99e82f66e3e51a9af3d87f51408b532e0894c34533147a2ffc3a7f17d6b08f4ac5693b3c58fe8dfda624450fcdfaf112ac11cafe7408996f56d09d479801048129211d73cccad388b4da650119de1966477b7e1fec30a525e2976ab582a63c31d45dc62350571613b6e1dc83d7d12c4e17bc6dcb254616e1a109407b2286288d8d8130c08fc80acc7d7f811b7d0de759499c85a159d93a9b104535c3ae2bf9c195ff5fcca43e9246655fe7bc35a8f5aef180e7ff6b28494f6579dd5bd5efe934a605b02f0a6a2407b2460b7e76aa86f5fa3920e7bf8b609dc7a0ff70e412f6253bd54d9bdab3909d4bc5c96e074508f94d9d7a4ad407681155b80f106e5054b1366dade2a29d223f17f445f939bd2808f23d4e83cf2fd31559d3cbfe2b998c3a495def0ad4e788998efd9afdbf309bf572f6536a32f0389b55f8c71c5ce8c9e69ddfcb857f84d71842034c8bff33040778529c8449e2df46edec8c15757032fbcb496cfc2c04fb4edd3509464c68d8bedef2ea9deb397576e4533850236227b4918832a8489b3a917b716a0416f54be1fb27c48f730b9dd3b5788c8af28e7164daa03aafdd0b66604f48e0458da33ac3bb3b921330678a88a1228ced618094a44c5ce88f06715c4849b1ef95ed44001d50ce3ed57d11b549994c25070a454aa12b478cfc25116ceec60c17ecd62cb7e216247f215b88ccb4624883106c434f4fb67e1a36e4a5cb60ad2e43cb62a57042411c17859519b75918411bf0e0cadf1386ae03ed27e7f048f407323cabd935c03af22238065fb614d5c35335a38cde8dd803494f099f61714a2b5d2cd87f7d9d481b972d784b1e51a53e9dc4c093f21a12d03f98d11aac0d8d8794b7e04e609ec94c6dece88957415a544c85aa1003006c627e12d9871ab84466ebeabcd9fff238cf108e0a6c58356ba8ba3d1e242ed56f3d1401b908d1ed9671fa0c2dda6ded887f8dd26d20890fa6cda2639b1176de28fc42dc6aa8543c2e785533427bbe99e30991f79095a8c9187949f1eb865115b7312f0dd7733f3bd960f7b83126bf36e1822ca525465357e0da097e923ff3e2bdca92eb517e33ea97d18f45a25bd31a8c5b50b33e48d6ce25830409fef76a10ccad62159305930acd08927da2fab03badf5b4189bcafdb0631e6bdf54d547e6f840be0097a916c49765fe43235f7f710d921202fe3baf771ed79b237b62961d8d85f462a8b523ed51a30eb1953d392e8524a098bb7bb42bea2eb64749b94789741b9d7b23be66965fe2698e58778d0caffe8c330db9acc4109d322991d1cb5bb19e48d5545d0d06e89cfb96c93c37f563dee0f723e072d84f4cbebcc69e985ba8adb2c726d78bf700355436134b2864f2a8023054b0209fa942ddb95e987925d644ad141a43f91f09758a6081b6f4cdef3c22e85c448ff62fb157eef948bcd863a61f0ac620a77e84b59538406fe75e31c0c4b5567406c40dfe0fcb6dee0c14c8cb7a5b2783c4c6949892c1e9951eeea38a9ad3b815a0083c0ae491c8109f7eaf2dc30300cb1ad8099dd2a8bbcd9b33e02f3a7156bb2af0dcebd4c023ed69d9503cadff46d30d370b26b21261b74513a0d2f99de8466840acc684761d73f15d45cb89716c45167b2904d98e4046a32838a5c4c6bb53692afd39f39079c696120781251bcfe48daf65c06aeed708b99ca19314eb6a488f4d5f042350dab20a0513b3b99b4a804d909d886019a41c7ec9330ba3d6c1962e91ed1791da00e5b1e65d986ae0f75f35e0bda0bb832ba0665d658c9b4d2ac91e5b80b42af9ae8222b232dbb5c8c1997bd17d03ab25187421afd7ca67ec651b34e621898545b1fa8460fcf211eeee16803b9ad1623b7f643094bf24029bee0bfae791a29877202def8bd375e495b00605dcdfcb3764028a7774e4912e26236c749ec8715d254f08b099340f40ea6590aeaf201dd01a86160126e746caa15cb7a3073d519918820352a715bcf3a8725131d51de224c27e6c4cc9df8bc52ab334d4d523d8c345489ae9b597566d83716f4e38a29bd1f51db84301fdfcd775df6b627cc05b453366b606fc1ec010a8a18889666473f9496ab8aa64c774d7c60fb765a6ca729a301d5e6205ff53572ef3e5ba2cfc0e203d44f8b596f9e77091d09436e478d94d2b13aed363467f71cfdf4ea6486064b257882883265775579e5ccabd7ec2e1b6a7c93fd0a439386d58809b1900b81ee86139a1e1f3be1a7df4728f48075630f0ff4055b8ccc63b2620e27b12c19a6db33b7c93acfaf817f38dfa771e938d97cd34391c59a3547fbd5e1bf7dcfa0e0980964684330240647605138ce7f2e636f06539ca663c6d24344f5f9c108f0efc31a30750395d935ee411f2c509ed4430235c602a514de56e64210c4f86295e67e03f8f4e9f25ef9c7151e2bea1ef147812ff0a7da5f37cbbc905018cae3d3d22118ad8516b7c11cc732edbbbeb5326336fa274b0c8308099d5900200665ed6eae310665bad19a04b2248fcc4094c43717adfe159038ad6f7f6b6f006d92e78f930a282ddf696f55f01e4374ef6f73fb97e32c8ae76441468e492e45ccd99253192937ca7d1ffa4abbdb4b975bf1e4a276685a7c34453e2723a61acfcddfc9ecd34cfae379549a98c3f3c32fefd405cd9c6553b17494c7f39b48f992e82e176a950352a17c7f05dd59fcd18482e7cfe4b9d8444a1ac9dad02095b9cc10f6fea7ab4479faefe0b1728da7c2f26676fdbebfa3e9fd1cd61a0e6051e0a11e4e7efa857af98cf2673c1e64425ebe2abb68b145c4ebcec0125f63100db18c7a082cc185e19858a48ae1bd8200ae07bb1fbce67b580c13b57c94d6eb5806b3cc5b8515a60e26d06609bd0e15360a353271445472cfe4269cbf047a6d3dc46e3564eeae64867391f27adbf2e329b0068fff98b69c79986a1b465fe28ec4aa135152f95bdb9d70db87cb618f5d0aaee826fba9d1566158a3d641b6d55ce40ac7ac2a767b28e5ec07f094c15cfbb3be2aacd0f3b353b11bd984b10e8b39226f8ad6df5b17592421c025a26152c348f6ae31a96035fbd8cddba8d16851b6fd2088df768c16faf1ffe02aefc16ac78888d4c9684a4643645640027b03ca3713077521849776ac8106f676d0cbff18f4c55a11918f83460c43f56955d48e59b8c71f0825ae7069e6147f4d35b6310ec82d2318fdf9d64fd3bfefea5c041938e9a8cfc4ef534797787072bb8830a0dfead9049a23dac89f12f1aea50bfd6448e8379d8e557335bb5a877799020551827063a2051bf532869e77b691035cb4ae51905366a204880e8cf1fcd3e61ef3cfa4127899320718a78fd852e1cbd36c3f526a598360d85106db07897c937209e63eb2a521feccf63cdcf56fae9b97662ad6132b1a49069a30e9bb8e631c373eaf541698ec543da1fe61b2c181d23b9251af7766f48558058661f3586a1a931975ccd4fe8113db731e11cc09d1aec3b774fc93ed97e0060d4cd09f3e9e9346ae01370f56cb561f4058d996736c0dae5b00697ce0db6d74fe1ac78a11cb6837b810ada7c01da740fce65f88866a6777c767263da460fc44561bcf6d275f9a9f8c7ef9374ba8c2b6f11b004839980e7f8026c7b3a591a428af0497781f311d6e14c3b19618cdcb9cb78911e136144baabd20d1e8f0cd58343173218fde4987de3243b8c7e3483ddae6211f29c2c348d7a50c18db6212ee38f036acf0c3261ce5bd11fc6f56967fd0d6c94c7c4b444166d6dce6d7f13fc00a31232d2860ff8433a9b983106e53abfdb0cf5d059ecf790bf39e447595b5d295deca44d04c70bfb2e4e8c669667e7ab5034f5c39362f23a0b91358fce099491f29deb04e4157c9b763bb3442b282297ea711c58c2cbd85eec2f255560296533bdcd816d8270f56a422da70e58e12335e23136b3eaed2d0a6018bdaa35a11dd3ae93e234fc719c4f34359d9a1f73a1ebed081b94dafe29ec6ac5f1867bb8fc802096c3d3f5e6af8fda53636c700a7827977a22abb9f2d6106fb78acb55a447eb61fc7fe0778a9b8026a25e175626640bdf3677e62df878ed830160681582f1e58eb1ba4cc2e6eb5b07fae7dc29111f5397c917c7d5e6fe8ec79693b98fd83dc41ce32aadea0c9aa10b611a15675cec9ab563a9a72d4a331727412022f90ec70241529f307a31869e7e6cfbe8a5cedbd444be7216303596ec4d5050478bc7fafe68e5c39a5281fa03d112bc9e5b707cb0c1e8d60432a81960aa357169c2356ee52ec5a16f685e2f782f6abb0b8ab9f036bf586c624af9a3a2e24e92202cc21b4f1a2ba414e330f5492358cb4c9448deb30605b8b4e1a0844dd0e5cebd84eba843046de07bc267f1704792b6ebee2b9c65efbe88ac9b1f6c66b8be0c8a2ca2a9a75c7c5c2739ff4cf0ccea67b373fc14824633077a114b89fd31fffc91e6e55a5797dd67640dd032e24d49583c5e914671340ce92d9ae4cf4a0dda4cd60434c33ccf394d91f0503ead505179fa29099aa85dd02eb084d1749622383d69d11992d709069294ad4cf729daa96d9bde83e95a23997dad821d93598af557c25c6ee4ac39d44fb52bc9e9ba31e68803a64229e824cd0fd3b12e0ac812d9cc522cd1a3a3332c063a8139f1d4af8ad4b8cbeade15e0ca621ecffd6ebc62400715f0da833dd0ed451d0650be79cdd2b632e765769f3dc30abc8f89de1a000a509aadcbee6fd2a5c7ddfa50ede6de124430c723bdd86dcebb1f66990b8ef601b1a0c3ab98d3e8a2ab7b08c5e1f95ab026c00161236ee21da8c34aa36065f96dbc2dfdff619b36e6f63ebf771da817834f23275b94b82e14067f4e6aac32eeb3cf97d8187ddfce30d543559920bc7086c16517bf46910272bb389a00a387edf7f0122c54f460c9f446d89dbf4a9f5c60c38a394499858faab7d8218fa5458dfa9e1ba470ce5fac264fbe99401f4c4c44c92f988c7df771aab2ba9fe021c4415cc5f3225cd796e93e78aa4da1ec7e8f70c511ae26c40c93e1c80ac2e8f1c26a98a9db966feab933de408a48afbaa8dd671f6084febfdcddfafc0980356c323fb0b0ea5eacba08e0c78ec982c1e7340b4c41fa00886fab1b4e6097710d393fa3d6ceb42dd4edf8effbb7d882cc1c4fd5ca6efc06da2b86ce377197ea459ceb8c9dd5f135fe05dad8d5a67059a6bd1d3d5baa39a8606cb7f0b36b7ffed407a409829c9df19f64781a40c751d332f97a955511599c461d573d0ba27ceda74fdd9a186b4d197a1e05871efa6898ba987adb52f8de032d28a94ded2fbfaf2d48fbe2ee5face6c4e14e4798aa49af9e9864352c6ad707741987a083b8132f20cb250c9627daaf90a7e2d80c8eb4069a4f29ca89be1e52ae730a3290743f5b907c554783603c27e887b68759c81795b3602919e727ccb6d1582604bfb42e7c054607dde0d878b82baa4eac10da42a6e33871c6c3ff70415f2fbc20ffe1df9a1750acbd371d429c9da12b0095d2ad85d104fffee44559539cbc44b10900e5af53590b408ce6d3735f623ef42c5ed80882d9447011c5c454cf07068c6365b13ef0e2752812b69b4c1fe1c7d360f64373351c0160f8e4a53d33cfb242d3c48c7eae1c525728332e1490c63de1246f5749bd861420d99c4d611e4a936b9a40b4626bae19c730e96b827037c5b3ccbb87cafc0020fd68b543a3123a7415a8217b591653245a4db2e029dbb685f25e0e09aa59624964e2b81509539f3c8e3a10c82aef9db8f588d4703a253121ebb0c6d951950e8ce17407ee566368f957d20cd6e26a058cee07156d5a0252d50e9a0d579136d5cc3a3a987ed6f796245565af54792d7c9230c9700fdc2975fe9855f19acdf4b86da8a3db51d866567ad973301c7257b168fb516a02490d5dbef54a20ec1e95b560b0cf839ec2bad24619d37d9219783d8163276bd9a03a96f6ae4e4908087213e0d87b2c439911eeb28a18777d8e7066d1b7807db2316235140ea95770e3b16d832b5287b935ef770c33832fcdecb734e1ca30e7ae990990bdf3fbcf34d364ca2805034be63fa3c7ac6fd4c1c8b3f198f49adf5b6acaac219ff969f4a43664bdd6c2db92f910b8c471bc91d7b0ce1b9a4659f9eaf0e95f7cfa4e137567f1d5066e8f0eaa6dcfc6e5259c64e002edabbcaac2acae303fc05655b6f6b2b07aac9b900379799ca207df1876668530d385a72bb4faae2c4cc4d585e3d598376f2ab71638fee92056c8d5ed697eb58ed52c9be4c6032894892939dc15c0fa8e1e3807358d78dead9e32f7b088ada2f6cb725a9ddfaaef1a5caebd7b2d5c6cf762c9241695e63496f685c07c5fbbc295eb44c267529a7beb5a2c442117d9f9c899796186725331686bea6ee018ceeb34b172781df32b1df43327090b6d7b2dc558102ceeabf87362e1fb82d7cd7a4435772ff9232d9eb65017166a10ef13e47fa2ecf922b30f9244f0c0d4b21d907acf0fcb2b179759833c172fc0082b2d3f0e298b69a7b82bcc0f156b565f2cb2676c0ed24d7edd3e93d67b6b42554fe880cfe1dfbfb615ed34bec4fd8de52820d49fff0778a63b937e3ff8518aa181f95defb25d2857826cf111c71c5e6f0400545eb4d01b6e2cb044374eea4a78760c9d622f4e27d5ffc9ed7cf5792c4483b622dec60893d0076de33c907e4e34a6e7ec571aaf34d3e647ee8736eb2a82010cc2b8194bde001a28c7a56ca66735691549e275035382b303a27f1da41849a9761e05d2fa943c8393a438291094026d4bf4b0341b414a2c71d961fd11eefeeb2bdc76558c2c1f11c019b063c6a996ca67ec2ef93fca6ee8057b3f276221ccd1941ce11f8dd9dea8d3073cca57c1e67de09c01a6bf82eadfcf182626494dc088957f0bdd33ed7d92f52c89bf8134c9f65a9f2404ce7b15b2332bfdaa70af34cb4b5709b83ae6c61de1becf3a2465eaa660eba72be35b9991ab1d4f23d122491e55605211f1899b40b925ac0363bc9e00d5ba0e763658d38f91b2b02b3f055eaa417063e95630c7a959ce134cb0ea6931e8853bc316025985192788c1f66b7faa2dfa17efdbdf1e416be2504cfa8df270149eb23a9416c276c57c0fa8576b5f0f53a7a15da07ad30517de572b410e57d2c55e0f29a7ec49d966f59370820be48bbf77ada399411e0a46f9f72ac49c9f3ce8a4bfed00eaf7a4c7c1ce846b43ed6cc4a8f62e7c23da435c9f31618c899a35bb08a1eff7a594e85be027d769116e3c909d83be1b138b8fb121bd892b575276515e01057bf49a9806fafc965625ab160bad6b06ffae41abf013788c75282f5410a18a2b99236fac429dc2820a1de39d8a97a6bd313fedbd657635c3f18e7fee9e9379046fb2916f6cf99a6ac001ff43569bb4d1abaf55ad02cd2d45f1c6ffb893bb3a1d5caf5f440488919eb598067aec64360398d7811c7e0e290b959989a62d496faa75e3ac648f80a2d1e4fbea49c14a180df4019e0e928ec8c71e204a6402503158526fd585fab256662b134b5adb0919ea23e95752a182902d022e77d2ae9fb71dbddfe00b6284c5aa9621c163bfca7fe4ce00f9de4e1bd1bb437756e421eab18584119df8ed39790db5af6337dd0014f872232ca40d706102708d06dd40a96232b3dbc61af4fae45b828a5254d87b72921942840bb5919d81a06ab14562649cc46de3de3dba54492ea5a8b1b3227ae51f7395ce364eb7efcd5224ebce3dff55ce893130e9ec6c62d0ca7de52905ed134a722184409c62a95b63a130b161d3a9604c527a4701a6313eab70994f3f961fa986346beda13284dbdf34e53f4412ce3a5b2cd9c3eb23cbcdf4b01ceaa462307b9ea91a7f348f629d9ec0d765b9eba91700fcb860f4b9ee55f8ec5e3a7ee0e398b33d52b4d28e89cc8ac2f69a0ad3bcc2402f54866878b509e1a4c0a5a4f7555a940ba48235ac4764aaa76f2c49ee3104f2c8aa80ec7275e7663d4d07ed9f8d920d798b58e59ead0b7a3cefbe29cd83c656a81fb5673e644b91a2b1ca1f58adf463e1e1eec14395898b23b53bf12f4aaa6050375bd1aafb9d47e0ef6df496db558ba4cf239a5921e80fa926c2b02bdaf533bbc7dc37561e2bbc6288cfe9d9cd1cc239da7832f533d0907a2c4cf624645b412585d667e9415c38f8991e01aaf5ab61be67b9f6d5d8c0e0001f2108d19100a35f669144863ad4dad7d7ea06d7776ab9315c62e6a53a293b5977872f834282b0a747de334f510ab6f25a4e95b9398ec1763b2229dcdc5dd8521370e98a1b99c20fa128497805508e5789120bf0451e848b798d56c04f3835e7cbdfc9d3d5403be3a72d8593d6cd87eec1e796739b7745c75c5b21d27423e330b7ebc6ae3efaac8b1f82cfa341e38f9cb18e677fd3fa76d1806e6a888ee1f96680e0e5037057fc21e605fc9af94e8ecfeb6ec54cce1eae06f2dc4e2eadaf3ce7bd6d91cb0d132a20dc1fa9ddb6f0f292349dd55d739decc9fad2f9b1d30f241cf49250864f1ae75299d651eb39700b77289b00828b09e150edec5dc001cc4ecb75b18a9f1ea14c4f6ac42a870ed4e9becfa18c866501fcdeec3f3a06737b1f8a9111e77165901b67664915602a23499b9b1f75e23dfaa0b0e17a0ef033adb0baa14969dfd5129926cc5d48efff5be344dd9d90fc2eb4c61aa2a3f34b2c62a3cd1f9b2421f9b3f3721a987fa8e57f31d9f9f7a560e5f2732ea1efb7cb1210ee4d07fdf7980158978f599429d3acb2910fd105ff73072ac40e0fe694ce90b2e26fdffe1d390ba073801a68ae84446e78582df0c02469f6a7f76b683237a3bd915afc11c99d273245450731a2345e42d5f262de8c78bf645c5aaea44e92ebb0598d17ee92060162215ccc16ecaa739bb866064e07deae1ff46aaf9b4f01aead08f685cf655ad444b3ad54de865a24bbc449caa67e509b19b44733fe68e08a86348eb901c01c830e3bc19a37b59cbef624e65f919a124abc7d9bdb13271847f8dc04912179c5c4c59818d2f550f024b76d32554ab3b5d1ad9c79d7492e35e340496030ac8940e3b6949fdb7e7a0ac8a5a8ced4ec19b16dabb6f631dd21844dfc0b9aac6565a23ee54787adf69eea470c6e30a3e134ef98236a4712ac2a60f1bcb578090586d8872c38c677df881b9fc2e5fdc06f1b48b5029b67a613ae5681023049b1644e0d83ec77b4a49e46ff9ae7c9ac36b5982c29a3e2c764f18f2fe798f804a7ddddb52e7a8566769b5e23d2d5db0c295b7445fc4a68d2785ab8ec47ea574132c0fc59b36c236931fa468f908463a1343a03a0df3a7002437868d2aef972869f3952e4b1b5f784133ca473f0a2b7d55c7ed56306cdfa22a39a6da0e0ae4e9364e920fc58e365292c753b6b1e23126963a8fe5d355c5703b5e2ddeba4cff140ee7c3c80a1b4cc11cea8db21ac6cb0f4edf923d9d53adb8a9d73645579a41894058e86d7511a8dda99e196a51433c56adab2e4ed3340e7043772b7296f6088b9b82be08773105adc6e71c71cadc83afb7b5e1349cef8f99569ea2b3f23a900949ef771d816004bf17abf1decc7993f4b6f620fc98eeca0452d4d197ab3519d0fe7e9fa216b2601e20f70da151d49f24809b76f2d139d0d62b0f95b3e7a92b3d970ce65a0bd9dd7e4019ca59b703ed15fbd8b8819ca302a467e88e0449d4cff09401379bfaae0480a039b5867ab1716746c51e16baadf75a59b3f25e9a5e8d27156eaffaf6b7492c8a0b2c394854ccd28983589f46fb4bdd9ce6e085743c2529d665c6ee1eac6ecc7ee52cc7491681db00d97c8e641aab8c409aab0902464e24e77e424408cd98e25fb8d57f82022cba7b5049f9dc34fa757e3d842cca017d14fb90c7f96dbf17d02ced1f21acfd4e95b3138be05cf75b762b8d1ae1fbb6daa3c28c650e2ff4000c095436fd619d8c5302250ae0470ca6386f97def438ee914bb6dce2600a28af6e2def8b45547e371eb3dac04a4a2bd03dc63ba1a32a90355ec80c5c21a74776f4dc44f1f0236f0b568dd16d6dcc4f60521aa7366ad8109ca4c2c2d5abf3f3d73172583a53ff92d9e42faa63a2fa7d6e66d8ffe52d54864a02c005ca2c2bb98280381479bf7e8422bfce64ad866c220b7ebf7fa963a6640d9910cb03000bfe57af903990e55a132037d127093ea634ec6823bc6c5695659444b5b10a27463ba8a43619cea8adbbeea2c140cbec8867a13c17e56955286c5274fa34ca289c7675bd530a29719746441a264c7e92fdf4772818184c030067c5855d3183c047a3962de4737f3eec47709d059a7af033bdbc2378bc6f3c9006532ce6e5cb7f29fd78f3b02f9ff77d13e0d30d33a4222cb7a1fc7f372d1b13c0d3d7455eae4517631910ceb841e88a7dc4e28721875c36838bc9c300fbea2a0af03bb8cb6c26f0c9cdd9bd872e143fc30ce7cce087d7d08f370386580ba49e23480b87ee50c00805dd17e75d18fe4ace8184d94d8bb1fe1c5f89cfacfb7d7e0392d09599c3daad040c7a1155bd0bdde51bd09c616d9e84bf036af8d1edd068abe0d00c06b95ed8e74cc4c5159777df7bbec9c1c4c2cb145b71ddca7012fe6f0a4706be43b711bb3d87ce3a1576b19d18b1da6e637e35591803289c02e6fe9ec4beec0535ab0f070d9c2546b3747cd2379bc4c3a28a9ead7daf93e3e1052de7a965e34f23499ff26a575821f8198852ac4a2e2f06ac756226a73f224d6d6690a42761e64718a5f0f7e2a5d41b16b746c0b89755d8719f3f6eef78f103340b6944364601e138d311301ef901f4674b01b1f6261f4ffc7eaa962532f0de6b79e1dd025a8b4c787e5fc4f0a52674b0cfa8dd94086449ad4ed07bdf364061a9d2a85440f96602b5c4b71c01d1fae5ff812734f63c14e9e378958483a5334d54ac88301e52d39f8421805c5b24f73e5563dabe98c4ae03c8bb94ebb36cf11a9f06c6a0458e6c2dd79915b02ed88c07264f53541499bf76b64e7281a51e7683ce641ef2cacbcd3551a5340ee59679e6740c15f6fc6c6bf5e1da015b69a0bb13ea2e5d7d08f7085cd18816fe02e80972550a241e4da9bb6f7b8b88b2ddbb0ab79e07c0be0739ac54b70254f6ef0d5b681f76e9dc4344a9aba27eebbf719a9313bdcaedfcc52edc15b13eca1189b29468664006de1dccf28e1911669fab421f4f06663a798be2dc0ff2146f01b8aa59039544e2d74acc80c4e6f28e46cb7cb472e81d1a6e416c96c24fd1638f0bb6e67d4279ad8367d0b322b0433a166596cd43ec30438087ad2eaec63678a496b521b30957ee6efc976eeecf09d36454c20d67e2aa9df1b0c8d5dd43693043e98b8e6f207b21d6e2476ae5f75fc00556dfe92b480f87659aa5cddb82481ef7abd10ab0b20499c38ebbb88d22f7e53f33cdafec443ad059704900720b02c29162165b9bda34858c8425a4a3d0212e7cb6322e00b507cfc94aab29ea7cfd5a7e82a75210c0dfaac785c2c41a9d9794d3d4d1e50f3baa86c9262ec8b657c9e1050cd2c07d1f88f93478cd8982ae60e10bc2633c6b29b5eba28f54501dfd2731e80cf6e968b4c81921d2383d282dff43999a0fb5096cc86678cdd7173229277b79fc5c4d4ab463fa089b42befa23cec0e0a88e89373de2a26cc8aa4799b2d14e325726c4376bd57036b4a312a1458afb911d5e8c541abbba82fe39833a5f089c50c97150bab40d69aac731c4981956276430ba88f1770446dc0daff0e1df7ced27ef90002b047ca9659fcc5d871359643cb8916fe298fe486f105bd7d4b75ee8bd205fa90af4ca808d68c81645eb18658be6535b9a1c0e1a80dd204cf22b640900107a71216a1ecd506477d24366af270662c03177ef99012e8027774b02f7dd56bba97d290a88fc641dd6448fd91bb95a6fd27657f2c061dffdc16a1e0b64b2c67740931017eeffdc9a9ec81358583aac33d8eccb8a005af03c4259bbf8ffe4f22b34e5a5632dc0b9f221cf98488c8a2023d665534c1e477faa9fe709eff64090e756dcc43d16cd7ea583d44c0ffe15d668e88362036c1496b29e9917ca3d680ad2cf82094a65e3826f431add6d50f413b3e704002b192778e93891e215c40465a068451e96d90513ae95f0f78ca3e8f1c29cb09e9f8889864bcfbafd037ee3381b68a484e89920211b84339acc7903de1e467a26c42daecff21893c5edba64626f7aaa84bce69976a670e6c42e227a0745db5d115a34322e2a7e903ff86a85ee4bae1f3666d54504e1e0ccf42bb02a90708bce6434a369a1e5cde1b4318f99d9c26045bcbb0cfa88bdf1a6c643b1db3808c673b08382173c6b75789f2b6186acc6e17ab07e54a70ad982966581b7c8cbdb84cb5879a1f350f12330f3fb5b7cc0936f404fe5ec125c419f9a0fb544b9b663a4f45535bfd7c9f130ccd6b3f22836b9bf96ebeeeb62a7c35be6558b19d63196917b1df09142c34ea0c8b98c5d9a7e5d7690f7a88f9d2d3cb23fcc261a2f31c5a80b9f20fa4de6b022561f8bcc528693a1402e92b214b1a6a03ceadddfbc48b4d6c2e12afb9cffd00ac2774311a84f0987d524519cffc701e50dd93e659fd0d3828a8b9ffd036d3f21f096bfcdbcae6e2ffcbbcc2acc54dd781d16caedcf601457c25b39fbacd97c20046597935ffe2a8973cc7f52010550e40d8bd0e04d1d2939ff1e64e023266de4c10d1374ac7f9a5e4a155274649ce71e4f27627e5ef0ee859c3c269deb3101ade63eb622058234da5fafdfad5bd57d3acd4fe2d55347a6e0c443b33dd32ab6a8b108f3d16538cbf0175b4f3baa06a520b2a2df87b06ae67820fb4bf34a9549e8fcf47d1b4e44bd92018c9f8f8b65d355b7cf79ec283cb7a8c3fb07579330be162a842391469955d4b0fd3faa9f6a8a6b7ccb58f78f5396a43ba2409801115243dc5a1e74f20ac68f282aec0fb7e36cebcff9f7fb97a6faa9b704aac3c563e7c71f33d19677a7d7fb065e6a80f762df8943ce277510b06aa7b5348078dfd9c717f58c8fc8453701c7edf835d493b5b38a383c79a5b4d2bb06b5303ed58f9d4bca529d1e4fcd07bd3901eaf29a9963c78b336ca7abc079eb5996a16fb07bc310d649fa56be10c75b98d137fa01abdee819d4862c8cedc05ddd5fa01a6fff87460be644a88490ac66d43f7c91b7e35b4311eee197bc0466014de62fa44e33d862a32856c6b58f76d451544746182e506719207c316bda48a8114ec1b360e72dfa07d4489f77d52f0bc719cef502148cb10c3b558cd53364d357abaa66d318b0fd7a98c32d9528bb227e8e97456c81adc3188fb1ec2c7dbde10b86d7fca3a25c4f8261a4508c64d2c30fb9b824dac4809c80789fe2c52acdb88afd8e3b8dbf5be8aa39dff6c78c90875a8308d9ec0d017fd5581099861f3ace61b9b869bee1e5c487c5a56dc68b8f9ed76e0b4ac3c33d9d7956849e89c39f907c6a711823a9e5832256202003c917b8906cf393ac7d5e684b6a6583b744ca19d1f1329d0679c4f79fe1c9cf48d79d16a0748457c6a5163659672ebde0188a2cca9bf02c0fa94907c8e52e16bedeed50d76b4f6d01ac5106a194e4fe25ae02e7efea13b0ba0bcfba69f31062d6a3e931dea4203b2c881f9b13020ac8d50b02980e619b334d013a32a4a71dc44ffd37c830da3bd82a9266c1a0a9bb13af84d0944ca321f5be2dc54abe35085fb6b679325b9b873b12b19ba23a3eac94f1ac3e612a5b542763531bf5bee898ef673a7d666a17160786b09eb56c06f759a28d2ffab7d6235aa7763204ef4a6c482222291e530267018ed0e75f2a4a24a900078c060b5ca083fc7228d742fe379a5ca1206334f9fd484b2891cc7db53bf3caebc945a954df560c04b0ef9cb90c7ddb06e4b579fdb4c4295dd131be7ae6eb3a55eca9e5fe65f9324b24e3d566e17d7589850282cf393c0ab822dbc3192e03b4ae735fa3b3f964b28e5fc1227bb6e0ff21913d60e180bb013d3f9e4d31aa68a61532dd6141c032e043a575cea6118867398aeb81a96d78e40dbb2135f6b75fdece27c09ff13037dc021c9688d0175abaa4723992f0dbf6b02f74f6e50a1f0e11032d1966b5f6d0690810157bdef0039584b4241a5bef48e1677e1e48aead532b5872332782c49cabbb38e45e5814509ba1475d08a4f5aa86fc7ee2769db723afc6da0971556f67d5cfb89238fbbcceb395b9eaafa5a1452be3ac965be1bd8727276706d59ab22075e5c693de19c05cbc2b7d35d05491da388bda7dd1706f7aa2a0a71bd6f7ae782ff07254113e48ec78581619f8c85b7d923683de5ddfce22d856c46777b50ccc54c5926e1b285cae52ae5f0a042274d71ee577473961bd6c18195881d94e997c5c7c3e08609d6894e8051d12772ce1e26f85d2d8ca6e7b047bcc80545ef9e250466cfbd6c40b445f960db419dd0ca67db87370729c269c9c2206dc550834cd21708e56db075ca76f75b2feb0fc0254df34b0defb20801d074f5b2cd0ef12aa8ab33e389a8706130685fcafa3b27700d79a1bc01f185ef55984758d31f9524a4ffdebb2aae30462220a3c9d7dd3510853f034082cdb9037d8dbf463973b44b33313515e47629bb1ae2c0bad9c97728c90f2d24b58e96beb7e19322a2184860d34723cb379580f380408130dffe39cc6b25dc697808b161126b0c72bca146d80fc1a1d8fe64431df65e9db97f5110eede5885a4def10eb89520fcd118fa870d8787d073de39f3720ea33649729907568ca60941c3092dfcb2db1b2374a84b38af860d2238f6e5502488f12ca4b3bad2f1443ac4b0b63a91bcd5dc9e243128a61bde6d074c2470c33904e2f41d66eeca2b08d737d0fb9dd1f187abedadb026107c29d427aa8e657ef409056cf400faa3739ba293d474e90fd3de33aa3b388fc4ba5cb141a586a1d51fa78c1ccdb688ea32cfbb8150ed35bffaae0ed5742e48bc1fe957d6e51ea14961c3796d1c6d55c6c6df58beb638cf4f7193f53e55a10935de8a4f3d763c313a50b2eece4a0610f4648b8c5749358daba88c6d3341ba6b7ef54f365a1987df5d28cb6eba5e806a0ae76bbd2534291f5f3c43ba9d09a33ecfe91e534871e6d2a2336a4946c2710954528f71f4ad0aef2161c145ae214b0a0813269e09dd3988d63b8667ab2c79e9b8e2a99f58f43710bbef9053d741329c00293f47f0d16e3e3a230150ec5e27101a82a4682747d91dd7fb7d0ae37a7c72ee56014e6d0d509e2efb94e97dd80706482de2219a908b6851cc6ad9652ce70f68b0ad715c450a7d0c0a5d3e8a0bedf29ca970eca977d24abbc5d5a9cbaf9a078c80c0aa1fe7a031c03d47c19e2f6edf2987c307b345cbd3576972683a13a68f93e142d9f6c61a0b557618fefeea93161f5f32e4025ce3b69c4196ad339f4f17726a328c19f2f3ce511af9601eb68c3a1ae9ebbb58a006de3c04a0885b07e1d9238467dbd3903d56716d63bae579ad0e391489d39365a2d0113b5b38b06f259b07eaf1459354a73df41ae8db8ed9d5e678a6d5983b6da7086168e3af51ce3103ab214757efcc1293cfcddf2d16ae36d01635d67df0735de8c7a85be549a354c079d88f5374bcab626425a94d9ca23511d34ca97c0f5fe3dfe740550e84afda849eede972b20c2804742a6485419718b9d519987895d68245ab0159276aac5ff6fd62cd114b25372c8b83ea00c3d467787979e900a8c8b7817ed91d1aad843fef848425a350b1d0bc1ba631d0165a4706ea06e06bf9f9cbddbadf6eefb716a82a5069a638433737119b755acbbaa9deee9de53cce68cd319e7f7c0802df78013ecf8005dd6ecf76e7bfe0ec45b7057caa87418a939084d1ce4376076fb1b8884a050c9dc780c6bdfb248e7335dd261150ab7c32581edb2010db29e0329524af51479ebe5286be36024c3b18d97cbb777d3c5d3e673c52980580725d47889aec9d8954ec07c963056a33aa4af9d43398b2043a5b25dd032d33e74da0b4282be2f4c19e45e349ca2e20807f2535229f8fca5f0e549bbf95eeb52a6adcb36c7cb640149b914d80779e95fedbaa4a0cc2cb21430f980fc7fb6305aa817820c3e4b579ad3018225b0e3fcd9de09cdf2626c08442ff5f4b6fb4452bc212dcc5a1aee7797f74f8d9e94139d3e8e190718f955d038adff5ebfe7f41f0c20d8dbef1fb3be23f61a1c6785e15f47174fc29962de698b1f37ef55a121be22dcdcf3df0f6918213b09ecbd48e4e30d8dbaf9516e84f0d0dd078e0818d6ef3fbb419c6616d064dea48efd0cf620087ac7a511ef2a50586c0637a8d8e7e37be74fcca5696795417acb51b2bebb0899b1a0e1cd975e1ebbb14b7658633cda94aaa55793eb180af6f859c552af301d5ad94ee48f673fb9591897d0eac12657dbea58a0960afdfb8a1d8027c402eee7fd6f903d543be3076a9247c037c849c0c4b81b83efd03393e1d093c50dfac2f125fa556f9d40f6a8ee53c8c00e23dd8e93c70a831187156b38701353e1205fafd380473fa69480fcd34e238868ff20b49826b3b88a3d9023840d8ef03395519962f647ba7c977ade180ad04bf10180c0d6a14ae8b52c37a1dff6740dc7b11dc0c34a39dec866880c24af8a136137b91b1846e8e9ae9c576eb3b7ec027ca99c301013d6c075df85a03d8f7c22d8f5839b2270d9b7e860b7cfc5c2beadb457891097ccb8af6d52a00e887b9f8449d710bfe20e8c44000d9f8f6e1d6421ffcff7bbe5ae2c695448d6fcb62479c83eb0bccefa7a0440f56f7a72b1ece230ff112915ed6bf7fe7a0b7d834e0933eeef1f58cb8b2c49857ba67787eb3cc93765e066d535f7bc038042dad92db4896db6170645613b35c939b5f0acd3bad4c44d2d19615dd0ad1e81354f6e0c58f5caace71969029530a0c9b1f2393f7e595c19cc151299255e1eff7cbc18517129d9341dfa2bc18040dbc288eebe7f3f357eab2dd657e05a851a569a7a7b446af99c28e71e1ae1ef3fe945e1949d302d9f75b0b7a09651323232941f2cbf21a497d5abb65222d10af1e192d4498a6672897c6f5bff8435bd2f70c3b5fc4ea13f40dbb7e9eab2e37d0e278412014385b30aa87a29e2861c74207a7722029b12418d39f529dfb890f8d10b73e5507b1d548814c113c84de30037940d3b903a77695210bbb4c1c8704dd01b2124533b453b109a534f8969c0d813abfa1087d78cf02ae012e33ad3f0901698434b8e406dc97a96278e4ace7b468cb6c9dee455021c64450c754d643f92bc1f572bbe96a65ad67225644ec16458bae078260da4d5c91b37b3ea60b41930c9add6e5437392d6836c8839046cda14a42f1b4b31ac636930f1f3cd887227d620415dad0ece9613791fedbcc3e0295000a850279ad796cc18ed4bda62399acbccaa99824104738e6e9e2993a07261f472ebc653a51413d52839b5e692bb29aa12d3b85cf512ef2a1e1783d84f8f705895dbc2f5c172f46d329a54a25dd5b17f80c0bfc1fc2314fe7584ec0f34db94c74b716a8afd7be7271520c339ee10e19a5c2a2152e28c6ccb08bfd21448d02cb025642a0d3a0427f6308efbcb105fbfea56809f55f48e253856546d78cf4fef8ffebe16a720bdbea14b3c0e29fdb515aaa68cb3a65dec87447c4f4bf6ebc9ab0cb7614976c54feb5b6d1d8c53831bb9b0578fbcbf554eebe2b1f9468bc7dabbd16d322e05867024ec08eae66d265d6fbaf8069cc72bfbcd1b444bf3d87b52c47c60dbb5d2c891e747f3389b54770cbc1ddfe922113990296200d4bb8402ae1911fb86487e9641bc4540ad509385ed13c42f4cbf05cf38d724eed8797ae7119f756a905c2063f8bc4d361da7cde2f52cfa24336583c831cd49b53d4a0dfa46d368f7b9997292d9cd338d670b0888d8b0cd382e489cadde3dc6c7ad965bb8125067eea7080eb067012ce543d99dfd40e2210a947d3040ebae4bb9839dabf5c72a1eb10c897d452b0ca1741ac4abcb584c1e2e9e0f71354f53283d2ba1b1d19eefb950fe5dba09c915aec09a6cfa6c01b8e7133a0845e40587195f5b572e6d4766c40a6026d2864959c797e4319bb08be4900c3409101c13208d5d31aa469396351047eb476af29ffe73309897259e90e5e94ec8347fdc085cd76ff6258a54a3c3e4d8e32f61e35d98dfd4b7f9160bff39ffcc2fa3c4ed9231bb70c00c1c732dd3d324626777c99c0d9a23d22ff97638f56e84d799776ab5889744bdd976efb926763aa9ae5b31f5c0ab5ecad4b0697be18b4b0eb9277d45956ffcca7514addfe4f01bfe03a958a0ffda859cfb4c2c0fc09623628352b478706a3c81376cf5192cab57acdf847e846af9f730f8af13b4da3c24946972cb0012115f025aa1609f5a43eb142b7875870aaf4444db889c4e8fe761adc1d52fe14b677cc6a991c3d91232e7b15c206c7eff5ac5ce66d9b1245f72571fa304e60bb75bd42aa33f00c38d3835dafde398ead1a7e5eaec4ff36bb1fbea718ce59fccddad59ee083f6242e6d077d3d2ebb42559d3274a9d1e8c88a24674071c9d6e91ca382dcc10e604042ee5501631f974811a94e5feddf1fde81665485b638ed9378f3e06f89be7b205243270b32c15aba8e1a36746dfe69c952f7fc55ebf4ff0e6f5d0c93b1d7af18189db609138d36346e7d61349c665d40d11fb4619921fc55b02879a3c4987ebca38ac0f1e9258c263b86e6ba1bc4169aa5baeb41979acb23f6fd1459eafd68b0d46729908e8529b2eb9c9e8cfd445017462db876987d99e5da229e8020482faff03d0a90e69af573313f511561d1102ba11b6d98a18b1c23f288b5f5bae2d571c691065bcde35e2ccdbfdb6a3cc95461819e0019f146d9947cbde412675aac8539d175c8874e9103c38760f56d9338073890e214baa78742d54ae05eeea9881a8c49860318ed0e49b75c39ff051c8eb64e6040283802cc405344f0ec09c4cf7b85ffeded8657d8765ef6bc5769484144e62d8445be318217ede36d3d91e0209a3fbd444422f047ca990f126a1aa40be899f36d80a77e8b971c7e2b8c0140401bc0150121cb91fe20f4da63a869b73b5e3e34b3544f991f49de4831b9b1b8e85a7632cfc531a880be79c73c5776294f322843a9553fc45aad604d2980671415fb28c6e36b8738a23213dd6692398a30ed4d842493a2db7e67551538d032ffbda96fb6f070fdf2489d3f71b27da8174aa5abb602830161c55d0a21f27cec953e438a3cfff0ce97b0d8830e6b353c5d75f15bc600c7d60595108b7e616c30eb7f4c5f396a9f5f7ba060e7991535ebe473691d5828012f9fe40e5d3a9f03a57ab474986f3a2c8f88d1e4d715d7eac45c84d49c223edbc44a116a97d0b3e2b82e3765f93254209fc2a837580eeb54fbdf422bd96f3ea35c4c9e02a0fbaedab698a4324501d5aaadf6c89abde574cf37fcffa85db50eaeead861bfef413e947f7423c867628d7248c8df8492de02ff7c92687cb09cc507298dc186b1b57840a4d40b50eed93a237ba0326a1bb2647f0b570c9fe39af3231f865ef2026c14a3a8b4c227d640fd14f947612a472d5102d95bd142e67309c46f4f474c403c2e6d3c6a853fcdd8a8533f4c2fa1d5feb8de9886b7c88281cf26ddd578b671e843adf9f5f6f0d38c67adf1d626c9a1f58a8a16638fc6795a384db49dce3babc22ee2ef2bf2a9c1d8df05e2a9a95fd47b32785d2186c92ed000e4c749706a892abe2add8a05e86bfc3312a9cf504650b087880ee7b0b2d8936d90d5704447ef469e05eb8dd2fb4caa389529705305c9078d7ef19b0f1b8cc5a779677d981b9d3c1042c35747065e1e61c0d99ccf184596bb5a2c9e023660ee0a8b3677c9014141cf305b35ae910b8df0b5e96126e7c44131ef1297819dfab5745f598aa218214bf8af61d360caaddc1ea21f14177838448df1fa2f3177d79f1f58f06449e154644ec2c41a4f0d215da1d9512569d5bc3351eb2293c03ca9a755b69eb3efd1f9f24b7ff5cfc7147d89d6af1e4517671dc04bc3942f671b63e1ed7862ae380584e4f5ca1526fe787f690dbf832c66f2d134c135b84681a95ed19699c778c27f8724104babfb4dff5d2d913ec7e23c7841f0bd8ba3e74fd9d1b0436b929f093419dea6b837da7395e8d1fafe2a37735004326d54f890b2e641f62c0bd741c8f2c4e81c3156946c614ef3d05472428c5962574390347e7ad7da9395ae7d249ad346a53311145146691454ce1da9face74e05fb22e1d4a4b8c1570e41986e3985b206aa0c7497adde38bbff53f9bdde700882825ed6ce07dbe932a8124bd8b59b50afb9fa22f7860734c34655a6f05526c3629e5a010e33977823142510d2957c8ad888e2294da1a13fbb1f8d234add4a3278befcc12ab3c972ffe823d3ef823ada0f3cc54dd0cce55e2f8b2350fae04fce6af309fff1845d3c06371fe29f36c1fc0b3a3f1c5477cb45d67368aa4a77d22fc92fc46a7ea31bf2967dbb577b40f4c0e9ebeb2207aaa52eacbee5891b804f4c5696bee8326f95e66ecc60f2e5fd25e243bc9e6017275ca7c0ed05ff476a6bd5823c70550412e1761eb19bfa46a1428a3a2a9dbd414e55d77d09e96f604d3d85192524b68bb6e2e87a022ebc3b68c006be2e5fa8b4e852d7aaabac1a9e3c2c8f9c7312575b142f2173944f510046e54e2cae1a425ea5c696d755732b32cb5b760cf89a6731fa5f0d461b708dcca24b75e784063043a5c3378fa3d1f232272b154141b4161b07c8865e864499fe8798c45fa923e2f21ac77ee5ccb43e7134aca39bc8afcdf7a095355133875ebd64d1061bd9daf45a7bd92c8fa2b8c86ec7ea9bd3750ec077c0c60cb61c9b2cbfbf5a3b607dd9e27b1a9e45fed1ab1e2838caac8d72fe8fb89f5a265985026a4d94aa2676b0ab65e5de52630e14ff2e9b5ff32bb4f7c3fd758c7ad0fa237e64efed2849325df77094c5c96c227a8a0a95a20176d057954a4dc98aa79d519330d7653c889a4360d8266e7a6d69aef27a5b9ba90d52f4f36cdf973cf5e571091ac14fba621e600c33501cbf2a9c978329c27ea851ba311172b986cda9e13051f74754e789c4a3a720e0f2dd774b9585c4b39f6f18a02224f5dbcd8983df1d1ad9523897eb3ee030ccb55fecf5f8c737643ef6377c500818138550e5f5083f043dbb2050a9384aeda43d86194886e02b817e71d96ac1ff9dc334ee4a54e8d270fb4dcda57ab9d9d9cb16115f84989dee8c8285e417777c8b5b29e41e4ede0c4a7f41aa70dc0a3ecbe4857c93cba4b0a6a1157edd41b48e307cd49f5d42fa67bc2303909d774d6583e62e39929800dabd53f92724f08b972d91db1dcb4d801111739f4352991331004dc3e6fa88530c926917615a606a5181dcf7f165560fad4c31becf7c06f98fb57729c3c356dfb984092338a69ef7a445de4693a38f33584c42197f4624d5921c00182dfa5513f9cfd146fc99b9769e228fcf501e7142b9a73adf8e6781a27e17a734183eada9eca581beef8019088758a84ae498682ffaf4525f3441877bcd2fb579be3f1a887f4bdd91d147e7db92db73be36304ef27d6d1fe371f017c7891021338a72d3dcb4d36f7b9a7cedfd983324e9ffd3916e26c7d9122c185e6df4016654749eb03f7fe75f08a48ece8e2413843ec90f709f437b268fc80a534397db880f399bc568bcbf4363df5cf2b21eac23eaac23737bf5e119bb3ea0f13f2b21b9b00043a2c5d001d3e2280566981786ae0de683cb25dd333ffe575600ad1ba8fc9848eea24afa195decfb332eb7dc0500881024890a18acc1960c8ebaa6f0176d992e3f57a4dbdaf08ada8ba5edb83917778fb61bcc66985cff031d077fa8216ede21457abd7bd8849fac11e7d824e1e0a3ca213dfaba54467e727d0cf42bbae2cf2345a26b7c4060cb27945b7dabaf8f2870e34aa42bc562733eaffd13fa819b6edf84d4fe5d6e466f7597605e4eafe0fe9e250b36d17725edeee42cc8c951be47e64428f0be70f22970e4080bda4435cb891eb374a7a0d277309b7878b21b2ebcf1df583274ac25e8cf3747124c0ddfd85f0bcf717a505f050164ebe88c114cd1877adbbf2ab2b158d4d4dc27322ac25fbe270fd197a86374ef51a47118d36991e086a709405e52184046e5a09c3eca64c7e7619bef517dda0c53571eb0ca66620a74548905d4838cdf037f989df31b61a6116daaf6c0dbfa24de1c56853dc11df8df22a118169830cbfd42b0c7ed79e0685091313a86e3b37acd0363b72be222c11f6807468e6a8b7f6b14bbabc5278181037ce69364191711d6db03aba7f329bd8530e4dad53147710f4b0f2afe8775ccd5bb87a0b52f8186382671e542647b0028ea30faf36b1698e8abdbe4e1dd89da2c18f43db58389dd723fd74b325b8bc548d859b3155fc3ce7bf8a9a0033bf1ae43e1bbabf7967f87996dd33a57e9f5a7e9cbbd5a1fb4c318e2bc69b464f3f059892aed9cbfa66cf4555335c056e11861f58f9fdbb8071c8a228098203a3edc84d63a9b4b7c68cc1eb42b865b4433db245a08416d110ea90118481699b2747c6cfa8f5072a7aadc183290c1e2d5a4f62ce74b140c96ffe374ef43ce9c5088aec02ff3140b7a7696b65a59679815567276c9ebfb98de529cab56b4c8e1a40ef7e0a6e1b08ef56bd32d5d1b932a696c13ec1a0bc14ace64c95b38886c817a8d3f60950660be126a733b2fd493fc418c52621cc6c309fd8a1290a8204313e806d22387046e2a4cd12967a88d70b033336385eede393875cc4d7439b3e3525345a3bb6672b2bc1dbe206d61b549c8e88e2172b41797d44a23271a92b312396f0e255e6d41ef74fcfc48d1e638d515eac3e99f930be5f0e24717feb8a8bdcbdc515bf6a1e4342d62784d08ad9b3987a35a4ab8054100e5b666481120664f0aa4408a2aae04253242473d9a9bf2070cbaa2023cdac8630a1d01688d35ca8d31538cb98b6b4dda25fcb745abfb8d654447c91a906ae82cbb8154d617a07a599b4c801f6b3858fc635333876962e8f97b8e199d49b3e7c2e0237097595b86f2b7060929a502bde40448ed0769fd2f29b9868a836889a4d64e37d4e211ac10f42dd6cdf2b10f8976f132ee15ff4c2f40fda5e7abaf09cd7c6637adde5039c19afe99aa3c9ecfc5d825469d1232a41ba5133bcdae00b0e75bf973734f41560b874fedaf1df9f02ccdac95b7b3487e2f8e3c9bd67c18029d99b615db46090f42604734612cea32bfeea439960a3542ef947daf3737cad243cd29df2f393cb27c8f7a17f2530f01bacc7729d5568e620cbdaf1cd9afa850f85eede100650f780737586208a08fb9382b9845f13483f9f66ef09c0c028992a614988bbb3a24f96f2e4b38514088656ba2b1242daeb77f3a1d10fd4ddaccacec8644adac624b9f1e053ae4e31bf856b1eb18979c352696650af624916b81777886f9cf504394504c123aaa361b8ecba2add44f6e2011a4d7ec5dadf1c2642f359714301c6718f27249874c48bc4efd78944ec982d6fb6195930bcd93bc01895edc4aad9332401aa376d3afd41968b578656eb85263dd9c4419349a37609dcd8bf1c2187298acdb63169838bdc2c7e76c1ee3e85c68baacb87bc2b06ea3f88a6ddfd4b9577d2df64c58c337921f17b1a5c73d503602439b64f5b820ca18572a57b2d58f1b7e07a6f39333bf477f59865ec0d063eed24780c8b47e628c37eb29fdb7caf2373929e0e63b1281d281e440dab3fe71d78757ec08e0dd23d0570bc1ed8782583eac1ff00a675b76566f8d1a48a720c14422ac4b3be918345fb51216f9f318afba5f63be993c874bbf45eecd96883be9d7afdbf18e8afd145623c58da9989823a7b3b9395f3ed9c6121e19a261fc52c93f7c6f52ef2c4d95cc85f1f0fd6ce1f0f981a1081e98e4a4689ec065902a713b06b48e8fdbafcedd29d4605ed6a1368aa99fdf5466b39b8b40ad1bbcc50fd5b7c852ba20cb48148469772105710dcb81bab1c20ed6900fa8636df55f8a2c4266bdda38d7419b5d970f5748fcd32614ea5df418c0afa62d4047759aaf1b6efedcb05f103e38a43939b5a2f2ca8690996cae0b60594b544b740041988f3ad7f76431d4b909c11cf28f5d83031f272b0e01327b645cc3f2d9799b9420d390097451f7c0428634f7869b6b952ac76324a6a32238746f23f10f8593f2b5e6c13bbb75880bb601b348466ebcaf736ee60c3dd9f47745739ee96b57e035a2b5231524e0cac9ec6c047bb1da06c932bcb930ade67f0bc8ce4e89dc45b494ad2ca67461a016bcda681404a746bcdde43849e016b46f98f213af9067a267643af37f57d821a303ab6e28e26ec9536ac67eb49f4699b57b6a8459f54f44eb904f7395153700d8f3fa4ad43ac4ae55665c70e87f8de93bdc3c41fcc6266f705d12b4125cb7869381a351175f6ae53cf3e12bebfe20dce707aa61c01b5bedd17f39641b084a91d4f384bc383e3c9b74e24e131952b37790c8d24588703cc97f1e592f910f17d672cdae90aacfca256b84549c865c47a046255597552a182e183af9e023f26eaf609709c0488a72f00c13e9aa4e378d0d5796aa485fc65f1d23b4c6417d7275fc9047b40910d980ae0432399df386109f0ad1ad4222c00d2c8a7d4a585214174fdd4c0e0bf515c7868ffc6ae0ddfb19b7eff45e89518cbc9a9df44de77fbbc9de73088739fef52050a59552c4fc94acf5dcada7ccccc944d4a516191010b6a21fe1a2defee30ecfe878d6018392341eff365829109176684f8f5443cdceb842bc66209f90f24d1751619e02a0a3ab98635c27d1909802ceff3d8827e30fd12a5d83c50d610cfccab7a5738a157ee2e3b5153f603184e4081afe3da155c00e6eb29471fbb6a3198703aaf6f377d1ade3e9b67588277e82921f1acee2539849ba4b1127ac6ec251e469ab7d20b4db2813d401c0928911f6f9f95ba82d3e3481e76538994c9ccb6600414204d01885aaa863591ff67e447da851e75a34516c95dde9c9e184e5d80db53730a37cd16b88ee137fcdda81de8b9f55ebd4a181c5ce725420d33e10e2d84a17c76bfc9d1409484f5ac7a112762eb2cdd1858a9a6d49da35b61d58e33ed48e81a67eacc835032cfedf0ca2cfc2547e9ac463463767bdb21b6ba8628cd444d52fe6c166fa659b23f878723e12a0d58911a7d3d89702156eb5a86c600445bd67dc9b4e7b8fddf05065ee55c34fb2e6882d19163423ce2d66e52b5e22a8fff6b226de9130954519381fe55c25a6c8163bc350887b0347fcda67779670075f55ee77855c3f7b3bbd820d9099cd1f48e0303423e7c98c55a20015a18a849bd01e902b6b74b20a53a5445b48d7a8787daaed8b97c86d4e62c9f81752afcaeb2e636bf317ea1081d95fc7a57372f7fe05f03965051c2f2597808cc343f2009c67a8147c74f3a58e425ab2575fa80143ec1d5e61a7f4871f1cdcdf278e1a72f498292a982df25de1fee495775efabd03df5b97cce7736c525e546e1832af4bd2ee801fe7b15ebcd4e4deefd96d0adcde040cd612ef165e90c7e244ea35e3e8750529d87deda6d07d738d705af2cb5adf975469fa3ff2a5b14422b02b1196f85bcdbe507cc14bd79fad419c94809c14ec7567f653357e4220a96f6c4db67d3d55fcc69371bf5e5d60c9db244039be836f4255e1acd6c09920cb6712dad46a97ab8d6f4e812e02b45584d87057dd20f5374528e682ddedcb7fbefc1a1fa28be71d455d638445451f7060ac83f11c53c690fb0c4ee192eaccab3f5a0630a3a1e6a89fb97c636702e57807548d44321a95bc1d21afc2f4efec636550cdf3e4de53d3d3832f6c14d1cb782328228de4bb9d389234980a0ff02fe3684a0748bfac4f8c051ef28ee11c343164334bda2558b7b99a90efe0f2c8ee10e22a0ac53d068565790de4be84d6b540d411028a7716ed043977a9286569b0a7c82ad1f09985ac8e3b850216ad3df17f056b2c36827e73cc5f407a7c0afb781d066a5e0b1657934cc717c0a86e3262dc878a22150e8195b693f7cfe0cbd8e7488768a76f0e6d432af02d6bda72a41cc851a0ee39df60bbbb929150479e2de4a7378044d958ab3352684db9618592696e757d1d80be6e96be949d61899db7bff3489bbb881bf048084bcc9c831d68d0f46fd9b550964831e0c73516033ed9606ca783778cca9840045da299f2a85faa0a1a6215088572fabd5d4e25f25d9d817a00523910ed475cf2f388524a566381d0ddabb5f356779969b37d4a96532a718bd25c534114439111f51449cce0e53c3ad33ef17f50a9a3cf46f62cb32fc8028d7b9cf283a5305440894d47154d8e012ff6a202e3efb301b560721ae3d585313ae2155f2a371361500b329b725577171311855164b8c698d14de42a76fc7a82eb0a7d85a867c9ca398b8d23068c068bdee7833be4a9dd199b6da270b5a5bc9d7af967c6829fb99e633829f2b2585c31c9d519755e3ab0e6f5ca9aa884ca850927f49f653c70b67edcd25ae0372b0eafb15724df814926839ee850dcd388f50fccefa92da431044950b2035218bd8df2907b320aade78ae663d7415a7c51a3bd05c0b9d29374bb4354867ea2ab5c12206136bc4101509e2a512daa37a338fbf467953f7f40f642005a8cd00425ec4fd96c85d15abd8afd455589ae7a327e283b5793ff7bf95f05c254390068a60ff3808a3123b0ac882dbd9f478d47a154f0216bdd79f5e3e4c5ec176945bb10f5414eb21bbf1910bc6a53dcef2f4519224e80a7185db2f49be88b98ba58d0f335e65b550595c66380be8459a02874675a3c862613a43de1be4c17371cf33bc22b631dbb6fa12f49672265c7906dd732b01e6afec02a9c81ea84fbad5caeb263af4434e3e482773cde3e51ad6a4944aa5499f95b7eb99e37ee8e329b4ec3702ad68ab6148aba18800a8e345fd6f5b9c0b379e449050a37840309d7406d28309bf4c1e43151ff15f238b930099f07fd71eeaf89983b3522af3e36bee5bd73207f849eff91246a1ee385ea0254d45adc0469200da2146cddbb75345959eec7de2ac51bbd327c27c0a0e7ead0dd77850606df7db263337c5e8b62dc505f64b697ec992c8aa77eb3f555a3f3b859d951de0db484df9e6f35dcfc3f190bf5f2efd219aeaa58a2e1c3b8b2b425bd74ac9c08f23e5d9540923c72c58e4fc4d70be8353e8130b107d1d6d16eff987f61b021401c089f089e544afe81ecbaf498b2529271b834d452d82af6b5a8bba619d7a06a5f798dbbe7a0f6aec23585b98298c9b162468323f1389b4a3f94c1f624d41e529c91578ccac52e5239047130009883afb34a0a5ce72dd1d0e2f13a0b8e28ddd53a6c436e3200c1f9f4dd03d3a6f89ed881d55719adac20bc002ef1fbf39aa77830cb176015f4ff83f8a763b5f35fb8dc9ad440b1dabc0170c8613f718d54030177f84452c5f8bcf48bc935ea29d292e675703d785e718e4f97f6e671d57025f60212058e12c56c9a34e3d95c785d6f2166c50db785cf46cfc79c2a66e3cb7192b5f3f945888fea54a50ac655c24677701610a5f0e4a98a9e98a415c42dd921e4ecceb21746334af904fd1e8f58935b2b4143c3cc6eb26e7db3a0dd17dbb6a04383d32223a6004676624fd372e3353bf74148ef4d0940fca0d7d949b6f116f5395c190c67ee4d7a01900f64c6a970c867aa4cb978e6040933c83ce2c75035486b6b502b0bec0f50ab854baebaaac9c86eedbc3e2876cf306892ca8cce4f7285176afc6a2768de0155bcf3c2453e8edadeedbfcf129b71b6dcfbde2c2b78561980e49d71381db7eae90896bd5ec77b4cd923f1d39f543860ac14f829ff30f2dd54f332c173885ce37dcca60eca9ba30954d20df66835212a89b9c66ed8bc760e02289454b27531a0782bc967146b2b0b30846ae03ac7319f2b4d79ac93dba37d633a0c6f443db9624741b72403cb96771796ee34d35b67a14adf325415a0e8abd414ac32b0587b7924172d948433e83ace3fae48fe92b0c67975a3bf122160c49af3d9901b4bc366c5e60741e03384265cca2e55f52f8730f2530cece03245deb189128655b29bba4cebac0ba226efec9711215ae5e4fde1de837dfd6ed506e5713b03e541a14d6c8427526f51a45f34d2a8341a63e92e47c9e5dd2871f3cad5403d9a1a4fa4f6639e1b0e931492ad342adfd0e61674492b87086b02e26f9ff5a8cf030a0fe4a1b89e35d79e7acaeab2288abb67a4ceb341c557c037d4a4cd321aa56aa8cd377e45ab1725e39cba866fe49ea40180d152b8523ecea872a6785e62a45955d7e88fda3b4d69e85cabbe21c9b184edeb5c33240909126eeb899d88ee4efd6b5c99466e281a79eddaaa14402a5268941035c4ab6322bf955678067a048269cda1a8a8038aeb657868dc512682d3ef75ff94e851e5c5d41013211d5286138cc3cc4a46703ff68cc0ba5696320d6df0db67f628f46445b06dd0218a4089cc75b26dde2cc146ac40345bc376e438071964fd3cc62ca7682945d20d24eaf64759a350631b1ec48cc4d860eab0b15c48c4b96f1ed827f49f578208d00372466279a30232fada091753cea68fb54343d4b12d0bc2955315cdf86a31baaafccd6a1ffa489d3ec766de6b40d18eb5d108dde5b9111ffba017e6e90d40d4f6eec46427c728ed7457e6021a3504810eefba90259669087c678a95cad60ff8ebf6d01f110edcc8af2419946664d2d4f9a0148db6d036b66cc0113fb5998eb253fa3a318438ecf0fe49661236a41309af60e7a0727d556a21196db88b2722b6962c8644ca0b42d9d2b771224e7997b4b7050bb068df294391abd3e1a219d18158a80063c567ef1f6d43c22fb711bba281c8f71dd90be29bdd50d66cb0c00254adfc834a240d16d05c137dc7711b90d5557bea99b9790b033b9e615a132ef946b251d91cf1342c6f58c63240ee83092279bfe1e46c7b76eb0b38c0f63e9cad8f94f1af5f82b3509358c6df2f53f72e4bc08314552bb58980da93a062b0e6eacd50c3d547974b998c77e3fb3abf8950f987e0db79a0899097c6ddfe8d4d9ae83c8a21b02e945b9446f9a38036d60db8aced4a024d1eee782e4a58e6a74c5383962e9df04f7933e39f1e0a3de6c0822d4c9e455db8e629274c5ca35dfcf6feeac8c5c4c172b96a7b6b2f6f9cd5a2b7f59d59fde0ed2a78e8b963aaace4627e5e28f7d793aa3fc9795dc263302b4e2053f112e768ecabfb7510d131e74ec29f820619a9fe0a189098222b6786ae4b6bc58f2d073f5324c3407f5a776e9f3aca5be135905545e27b0b6f2150c14def54323eb410255091defe36d67deadec6b8833ad3e9b6cca3d73017a92f360b4ae49108f36f0e6aafea1951b072908b84cf8ce12af0f87e5943e857efcdf2166e63e7f121484f85de896a3268a53ed0f869965b9ed7febd9c570722b4dfdf53d3888ccb03952d064ebb605720e1c7a17aa27d7b1b8ef4b3869e1c440395b0915c19d35d8a8f25887aa9d54d23472b6487ed424f47965ffef29baf96ddb3404ec501c224a4003538d76d3c109f9a46ded4fa8793300fdb25580a90193b0e1c33259c6f7b6f1a04778d81c7f6f3b752a1f67772ddd94b50a3c47643a8285fdf9844e587b59a45920a74b80f751dd6e9e1bead804cbd22483eecbb75211eb37039fbe7bf1953a62acf070e703f0d7735342275400898ed2dbbec259f1899e16509487a18c563ccd7fd47e0e2360955159b13d78c3c4896ef298fea74604fa5d0fe5600f7bb0512ec84692380af5cc66e61112ae1989a371090ff4b827a8f873aaebedfc078fd6f6089466938b3deb0a20483b8c7b2c6fbe90547bbc1b6e00d96ab5c057bd3c2b02685f548e24abeeac6b2afc249857dddf257af6d4b88dbe890be87287c9dbdfe58283b2277083ec91f30eec3edc746f0594993c4c617a5d1186530591ab19bfa1fdad1354dc3530b8c3d7ff8ddd53766621dcf04fee77c1dd4efd45e32bf1c53395a0f036c1ed01dd70b43cf4980339d8f9b4b7eb618f8a18a791cdc82c0c88b7f3970483b172ca4b9314e50c030b2d15b2903f2bbda1c7fbcaafcf3f68e4f4ad791828d65a7fc414fdcab7143b12f663ad976b1d80bc9f1f5371a9e0b5a119525989ab71e739a772d46aeae9f804734c4946f9c5e47f104fc65c036f639fd47b0f90f65434ce8424f321aea7c82aadeb06f22e31f646a57561e4b534cbfa6ddad5d87a9248225972d678658017ea8c17483ddbc47e9d5bd1f7c2432893bc130fe5c4862c371123b8351f3860d36c02c961bbc133d514a0d8cfed55d1d881fe38c9ed84ed1f172c781c1fcb1d30e5a537fc1767a3da92e8a36edc377f25b3fa1d6b90c1edf00f0379a34a4e09bec5a01dd76ee5e76ccdf25769c489ada4a0d3591e6ae1815ddd0ec5ebe45c332a25251d5c51dd3ffc8461781ff2abe39a7d4ee9455ef2ab8d2e92c7fffaaedcb692bb11cec2953baf9b7f9b661c2ffdecac0ff5b49032fc551bfeb1de079ea1baccd8ae91f60a2908e783ef2da17cdf8bff1527452f259fe0415cd34095b9d3009f50efd83076df1a523a7fdff137ec001e3bc3011ee9cc152b8c136882d63ba3fec2e5046d66dc574866c6b89676f138b1b99fba480b4d34e3961c3679cf47a1f07e3d60505e45cd0fa2b75a15af9be8aaf1d72abb4d2e6e5032c46f43a4beda6f217fa44313f50354110bab9b550d9287db1e6816c91345f93ec8cdc53b5cff2055f35e770a5ea33ab66fbc518662bc8f2f914f1a4ae60af31d5e6d9fa7f9bbe008c3149a2d2363e0b995f60160c86e674ba5136486739cfd93e995b57b154377849645db0027b073b56f8b73710f5e4f59b962642be3f5672959fdc97c7544211309b54d460f47ca2533343b8820e2e30efa4073c943a46ec5c88b997ab6dac72c00652249e7aa78b617d06af0c8277fd28213357a627342b99663d27e08bfca581741f0160822766a9880e37030c774fe49b129d20e40e8c3402c9e172b9f54ca080e2f09bb6c2341e4b22c6731c8d3d4727a41e68666bd216a048ff25e34e0e3cd7a803c9e4f8ef18ad5aecc2222912909b2c7620d3efbd745b15ccc95efdcc4a183fc569cf2fca4f1efa6e01b4e8842899db656f90d95f378a6023af2f3e2c43ff4ab1108312f22b42acfce1e51480923071113165bd4bc1f5dc1349c185d644d6509a4eda7ed40ba5031ecc8546f0a0b00d64adc4f8253cdfd864de49c97f97548cb5033326c27d91cf553d9cf35be2d4c1b16dd0b96e39787824129b083ef31659d6fd9db9ed73d1b587d4a849cb8fb7d163b4784d2e72fcf939074e61563de852c880a29570fe4b098b3969d6476a1ca3825d1cae7a3b591d36d352db3ecca24b8fae2acec6495c2d76b221d510dce21c23bcc5829d6cd035a8c82df9eaec4e2e292eea3a9cdf6ccd3b3c68c6a5174673c8c2e03ca61e924436e887324892985dbef9e05eef00187b3b4610c811a9245316da1be0ac2064b656bc9ab7cd8a8bed39bfb7fdd1984fa3c7f39b8175ce6b12bd004bdfbbe4f45338232cd15a1057e0b31344ffcb52b90f9585d94e7fa3fdc186f1d6257387261ad6a792190c93739ee4af42bb91747d78f008826795f12310abdbbc81c013d9c3c21448edd436f9f73476b0278c2f7387bf3d9d742a6cece887cef55575e43510dd8f9245899c7e31a1bc81bb4bd7e79e0727d3a49dab0d9f3b43e61d40576adbfa78947626dfcf09daedd7a872ad47ef430e6f82760535dd3390ccb06e76c4198d7d7cff10243fe753402d850b5e8cb30872fee14f7013e062802958ab030d3fc7b0481d92bece66f93419d444c31ca1f35fbc63d4ddf5094dc04bca28cef27ec4a27339a339c6e23e72c289b5b61dc7262a47dac18286925deaf5aa554272f452e3d5dec3426acf0d0463b6e6f594da7f949bea7c39b0dcb1a97e029c8284cc89b779a3e8224446fc3ebd49b46f46f3eec34c9baac4a46cbc43f7571ed3b362410c3f785bda05dfc45c33cb117d023a47235db2a4cc800ab9e1bc9ef526e786cda14234768601696a2b3a0c7a9b821b95f4721826e52e16da4bf633419d48288b2275708d1015c6a93523c561074f8839e62a78f0d91254280d77514cd2818327cdeef380647d8cd0c7d2ebd5043a54f3926724fba420cf47879963308becd1a05e43c917a15e035afc749bdd40dfb0e55a1c5f40e4ba19f958e04f0736b26eff2c13964563d16ab6b09e828fd5893b0cfcbf47890d10c2a9c1bfd38f089060047a247f00ec3e3bd8dc999ba0556c027b1d4d375e82b844f95af5072a556af606118a4eb1199e07d4d5f3cbe45181a9db6ec505ddbb405a370e5165a3d7948e7bd659981527ac4a4e0d54c2272cde9579a281ae9106b033944574f3ff1cdcaf9f58920cc07b9ed7837d799efca4ab56a784b3e4f49a44792212e87b59b21894373a36e922d5af6e5e783a1e81a695284e29dffbab96000b0bcdb0611de28779df10c4b554f851313a5933118a3b90fb9c7b10b4447437a631fd138cb3a78cec686ecb1c3ad011d6adecf5f760e55ad359b42d8cdad13b91fe929b16efb7c7bf6dbe57527b07af5c1e2e14cffa4b1d782a44a48d031857ddbc66351a894ae245214d454d0e9ae0e7a5e0b56308ce4f1b4efa3c7d6df6e2a5d328c91484447a57ff050c8237176dc3ae673a1601a0aba52da7f1f2ca08f171d916e6f53c49573a11c326285717d4de33410866eaa48da9119199a977a13ec1b4c69f9992a56ffd17ddcc3dadd6b3a0647b49cecda14b1eafac64a0bbc946f08030f57b23f0b8fac17f656c92d4509dfe86dab3d39bc9cfe5217c197bbb1c790a2dc1710c908b8c82bb1e1e9e4f9296a0772fa0820baaa1dd16aa5c758d68cdedade1d9208cda119e7c3a6ecd577a848108e77ab61d6187747786ba8bcb1a137cc26348ee86ab2cd455408e090e142d24507254a1ec732dd0157957f8beb5536b67359c2948ce3d3d0a7c43b82a0070351821bf4a1e44ec12bc0e45ab7d21f22b0b4a585818de63795e051a2005372f8e711fc5478d5fb412b5edda5f81f2ae3b451af0e25b75b0413b8fbf27c34a7d3cb3616eb9120f61981ab6d01ab0b32215a1a4ba9c3ff9508b2a544006bde2ae16eaa4af1ec3b569e53251a383bf3e6e27b302a5ca95794c7bdeb828c4f4ef528f9e6821ce6b45a5e7d602f8ffda8092b8da58e33f790a8c86c83c2689573fe71c0bb11ca03b0738246be563330ba1a8bd02ee979d8a2d35055c9e9bf53444cf9143f7a29a944bdb59e6a6a3b5851fcfa931d7c08257c8b5925a5e41c33d2e6d7f8256f685c4ddec17e5a02d6f782bdfc75a156489c084d39af01171165bb235dde9299fbb021201b73509e49f3fb588880b19cee1f89a094a3d441cdb8089696796d826dcd64231c20a5b5031e3a9884b261cdcd2a8016fde74cf31128d9871e0d7a1f769c5afc9e9338d600eccb520057989a39da760fbb4d720f6b0a7c9d7481e2268b8f9a188f678c76a03dac862573fdf3987ddc2845d397e74ff45df9d512a41ed71aa90da36ec4aa572e4c819cb9bf0bd5da9e900b808103b9504f8db5165e5147656ca3d588fbba4eb467e470dacf2f38ea00987d2c42e3696a62f3fd9fdfaeb68dedbb50077669153a88b95f395efaa82de73245a06ee5304b3b2ec1ef79c88d3b8cda82fc7db2d91350dddf06d893498c522868b29489062347e8c0dc293158e8993ca91252da55f3caa7502c4b385c874cd6f2b10ef73904d6f04fe58eb022c997abb4d08182538b60c223e0652a51911e018270f512795db82f9db18b9e746cdea5918b8cc0d641a1c6d8a2382f72f310480b09f6f781405765c6f92e6ef5bef1f87247810ae8ecbb20105ea6535bdb234d2453abbc3939eb56cc5754be9d1ca3be1ebb072e019a33c358e3e9e2815bbfa6be35a62df053caba89a0a3d1915aacdeb97145e985afe8fc57ef96f51b6d528a7edd27c17ec002b13358d877fb39b27243e769a6348225278e68db603780802e6574052e5a730e268f3d466ddb2a1cd391d358f7ee5944b17c347a66558f8a579c92d8f799d17276c107484779ba56c62903e7775fc95c1e36a099a2d106260831f1a389a5f4299ae1a8916c5542f32bff55d95b6e17863e3d8e6016d3f27cb1dfd0a52c8e04e756de37f271575d9f8841204cdfbf4fc36b11536a31b3b6135440ad7edb76e91d0892d749c00d1d38cc1a30d22e52f3dcb4e5468bf525677f3124bd03c5af88985b78ce1e9ea04f1bb6707c8d99c1230bc6853a60d274e1cba1991e8fc1b13a43a1054e381db78134958ae3aab8b8e8f62978f3a69c3909cc9219a30004b0fe1532d5c8b4d00e57ac4b0cade4a134ef82bdf1bc89c18e6ed8adaf4fb9a6ad950abb4c4c30576de98169bc9ad2ead20fc5b82f0b7ecda7bd0535d792269066f8f941e59218ec0bf952fb218a262085c4917c317bf35d83f6db184d8824c78cfec490517353262b728469a1fd774a64f165c3394784d5c7402be54cf2633e5b9a72fc953cb21939568134572ee17645163814debca4b79cc3432868819357360dbb25e9f6ba85dec859f6ea3ebd33ac1f4df33ccef4a71dc54e1fdefe1a299b69e189db2ccdd2d8f051238ddccbaecfcb62f5138799dc6a393d0499eeab471f090a9e0d172150388765f460d789656c2cf21b86af420033908a64bd903312f669f78c5d0b6b0a4e5a2d4c114a0a0391f443b67172f507ba8f1d44a827eb43624bde66e6dbc2b41fd8c7b09774dfe8e33e792f39067c543e9d331f14c667f192398dc072e05a157fed2d9c2287215c2af4e550cb740cd231142aff7d1381bdfcb46e2132f298717ec102709adb978078d0b30bdb99dccec853d186d934f5cee44c7038200c100b642d9c36baac7a33d3d20ba880e8bb811397c5e78142632d24d0c8ecbc00e55e0b37dfa1e4d72942be81b98e23a64613b5b4fef422a452780f3b46a3852019d6665796395a86de325e8869ea3b37b314daf2060145cd6399901e5355a54a38073db4011cab02b7c01337b662ca16f8e37859282711dab04b90f3018e5cb9121da8ba7db86cd87fe951ccbadbc9f96f4c046879d3ac882371d30c70db66bfd5ccec7d92c1466b5802ae68910e2fcd29d2b2133cf2eb2fa1034acc8bdeae464d9027e325868a19325777f04767ec01b9f39b93c54384038a5a8715e8a5b17327bdae7fd6ae5c05dc083cfcb1e010d92e89fccda7a94a368dfee9d73fc2bf9236927852d5779d3423f37033d3d4f05588bc8676474ae3b3f1b43213486e9102297177092fa5c52abffb872e658a03644735de734c92b61aef40b69a4a5268da2a0ce182b77f067ebf864f6e2434b295de7128447c54cc63a7cc91cbd2a54577fa543b9818788e871e1fcb9c7252985fb22dbbce892b462b9793958ed6835ef696132373ac13089d7deaf898092e56374a8b67bee628c3f756c78b166e1733cc3c4f5859cfeda61f12762995cb43ba07ba0ed6bae3f4446df6eca8f34f95185ad34119ede3cc805cd4a557dca451ae4128027703acacfe77f5eefc61baa94a83f634ce462bf682119a2fc54b7d85e55e4ed14afeb5ba0437b715f077c1cdf22dbcc031abfcda6a6cbbb7421794a06271c3292abcfdc4cb982209a6becd38865e96d9e28437c455bcd0f206db412fc5e25cd02c99c9f5c90fb05b8f84af9b7bde9699e831b9132c0df40b7b261ce1c4890fca1c2c951d515df5c5deb1e6476764787795ddde424ed88c6356dfecaecabff1d963b68337c19b87a4c31b96b21e9ecece9c6cb743bbc41d4fc9ca28950c650e024186dbe475061bbd36db757ad5b841b406553ea62301f74303dabdaa5fb7e652f59452612d2cb88e196221ca27979a38bdab98eba4ea644d6c208a88a44a9fd25a790f0c8e2c0ddc7b03a7c335c7c403d4ce0ae0442186a46cf19a7829cec950dd55895943430ce8612fb992c08c72515c29cc544fc7604d15f0f5e5e6dcda22d0d7f009d7270747c39e0e58f4fe2a3477fee25faf311654bb2b748d6ad0bc86f6b04889a6e58e5a65cdba71b863b4135c115753407a13ae0a966f39420ce37da57bf84cc55aca2bfc0dc3cebd760887703161be9b3cfce1449e52b484f5dad9ec125317ce33177cf4d0b26a08e222ec4775d85247556d478f3e46c52dfbdaa3d79885de64925903c44d928da6804889deb20a55b19df3d8f94daaa296127a18ef3da1d20ec3b5b560b704498124efe20f6d385a8023dcd47e75e7d16736bf14f489de1db3c9ef7ab504efad3a59cedbf303a1ee2e13c1a3b8ef9020f299ca73a58fe04356bdaf332b43f737fe3bb21c06b640949fb85a8e44189e8ca5c7b0b8cb744d9533bcc70e632988d69fcaa5a943ad9ab3447092b187446ecefb7814f2eb34193e2de6aa0d5e4cbc950be542a7162fede133ae04a5f9e1946b6eafa2382c641a5e9c9e54dc20bc17c4a3595f5a08f77d160873a302dcf13f23e14d91d89e0ac6b93a25a49c4485c7b03cfcb15d25da313ae34e4e82a66f719c2ac1bbec65c010aa2aacb0bf1a4401515bfbe1964daf21923fedcbae197b4e51fcbd390c73b2713f5f1d77bce4404665e5f4557e6ff5e2eddbcfbaac81e0492eebbbac8fa45ccc38271b9331de4c3379db037bb72c974c6d0dc3646f3a8d4e521c64f9d1cd8c0b5ecb6fbcc600fa2a915672345a2ef887a6e517b6818d78b36aa6441042dc90c2e27374004c91792d78fc0e79b38bcef6eadb7faaa701f4c578986e0dfdf8746a315ff47ad05cb9ee8cd57c99c08bec7e2b616e1db7d9bb822436a11478ca5bc80fe700230b75169750e14726d5444c2a0ea90bba798f46a196a7d5639664cd3585637c1741715ff0ae44cec37f37bfb34e1bd9ed80d8b5ccc48f0d54b0c24c75652d1f1fb673d1247d1594be01a03ad25c33dce205c0b1731ffe603f936732d96a4adec5b526fcb065eb6d09b70e1a939e559e8f7398f5fceb02e744eda619460e3da89b7e8e231ae2b031b926f7dd46e6d39a6ab9573352b7414df564ccaa39997f9a3c550a18e6a1656f1bb90cb7b420010aa8bc1665fc82079addf1d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e84b0fb9603456f389eadf6da132d5f72ee77d459729e84984445c2ed1be97cd7d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ecfa0f52b294d2124621d5c709093ad61d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ee2a973235249a098b34c84a266aa0a1e1c1c8385aad893de1d1f150db783a736610957365490cbe9e0f5eb0eeeb306f02888d2ce2354a67f39ff0d5060ba2d05a70ea53dc2b99d8807e7c98f62ae6131c18e1c878894d29676c9ab486a9a2b99fc9bb11e5d5e1f3df0ff51695a8e9d0a5e0df59474bf7d0c41ac997fca83812c2b4738b8e059ec568bada933f99db59e979bde8d3faba3d28c0680823ea72646d88df42173e6cc06d70d9d95de13ab2991f868094d850bf6043c47e6695329ddb1ec7dc66cbdc846962d6325d84e95bc56a7424910cd7f975286b63834f8f70dd6e6bd4789fab1fde3b96804b554371be8169e29c6a727a71bb7a2e74d570af0d113e5dd2aee5c9cc0914c3963b6a65d4bc7ac99595883e729f28249312057ceaf2c04bfd6b499fadfb4be8a3f9b77a771e3dc18e426ddf7cc6889be689a7a047f0b3287ae15e4ca3acf63666374f03c0f085b5f6ae1351de68279c4d163e08d9928989b9e0cb497740b6c122da1c80b7e4d355d9fb6049999949c88ca2a5e21a676d83cb9fd24ed8b3148fca0734c157dc5292aab9cbd761116ea034eab7daf1c8e25b2466f0db606722b882bae9338ec3f86a1138db4f375922e6a4e7861cc0a66ab76297d179c473e9d2b035ab4f387745907a8ab05c3343c0fb5a78d7d0bebe048acd7cab3aace5831445a24c788c49da5962302e468cb20bb1b90248a8d23c12aac51f62a2dc9dcab9b00be9c2b8b4cb2be1be49fff22e57a1831f8989b63fa71063057122f094f517e25e7443939968639e7a4b283ad89e884314ce7574751f17386a22a5fde9f351c3dd23652ee9f1e6d20aedb82dd0be92de6a4d5d18497eb22fe22d10c8d70b0e10490f9758929213cd0f93d8c81e936854e7a5dbf92c0b19e5eda99ce46c635794c40c54b4adf67658e72f9823adf572af63020e6fb68e68ff216643a0c340e914e45dd88ef21640a306e0a6043a41bfd23abad814e9ef32f1a25bc6aab8f7d9e6001ba0ce73dc18f977da742cf616f4f7729f46af955e3cf3f4fcd95548b6f93c2216120d25961ef65e1b5a36d732e71f51617d985dbaad0553a90e34425f68da6e01d436a2fafc3be5bdeaf78738b8110c9176b9e7528c23a1179df5322db54e37f3331fd1692ea592f0c7408e08365d79d7e3c3f06766e220e116686f2f81f05ec20878d188f9b44f40d5beb7c3421ef8f3ba7d6514f4e5653e6869981928b5ab9fab9416a415da65ea29cd02f8ca311c0d31bca16e9399720b16eac6b416cfb3fedebd5729e4306706559b3174eac347eda74b94cc9aa71364926dd429cbe66779fcc7026f80a520055389e5bff6b7df0df7c6da980885b0b75dc108f32348726b3a7e4a23fcf5cd155c720ecc0ce044799a7a15dd8fec5e0f27aebabe5a2c244985c84fe93a5a05f784ee4869d730214ba812b2a8fb9c366bb1c3fa942abc6e13705f1675a30c75681c74e96322b2d550ab7bb10f8d3b865fa94e930ea33b306c7b2594310bd68ac12eee3dc3c5f97dac8aa9e421e5018e7df2cb2445595a1a8626e77410042648e6b7a1c90d64c253d3aedf7f71778399cc33841788524691e22fd9033a519d82e190ecebc1bde90e67e17c6de4bcebd8cabd82debf7577700e80d357b5bf96aac99efdc2b8e53c0bbbbcf04a1589970ed1190565d9fb79b7934a0b927e128f2c312b6e56ce8dc850cc87c951e3cd90805a9c4e77355042a97db507ac41dd43d5008db66f1e3cdc533fb243a4e977c1ace32d6ef30f1773e8eb696a400b3cbcdd5115da5e7bafb1752663c4bbb732e1a58f9b38fab423f54085f0a4405f76b71a4c4c58a5216d604ea31cc6f88f2d5ed2c52f44beb307cb450a8af1817530dcf4554325fb3575fa6467de48fab3f13db4f787212c361c7174b42f7b10b8c2375b4df6185938ee2e9936578c74ab689d1cad97c97e6190d08694ee2cdc39a3376a897c4e85bdddcdcff8b2395f0b3c101f3b57809bb4bad3ba62166768a291bf005d1bd30e0c071e8e2f78c7b0594339ca9a86ac5acfd971e859080b0557ea3cfa2690e3f1c300123b6c57c2cd40555b67c6e98c5fca2d32431784bf9c35e343ad860698683641df86bae0f3c30f66ee89c16f982581c9aa2ca6c9f80455473163e68870d6008325ccdddee9a55d8ed20f2d83cb9fdc100809c335c066c8a18997b07bccfc053155f5ed1cc03271575ff100d4305e597e95b4b4feba706a80506bc11caf5d4032b0f1f53ebd943c64f17dd7a45bf47d056724a1ff81b3dabf29ad76c3c0d2b48d5c6f2495dc8b4befe9383e4c162277c33c08f0e5bab97c78ce7b9a2c243006d61afde5fd31fe063d2c9677a0bd6ebe90f4519ca91ce0e810ac8b09ffa85af2d1eec2a0efae68206740142251a2dd9188a738c208f931156a723b156db33c39eb2ccdfe350e8fff05960a0bbb0fccbbbbc4d559381ce3bcdfa5af8806631208511f129fcb8998d88c093aee44e0f61a58e06c4479258492d01862a3a7fa5b5fec838be61d88cb87528232a5d0af4ce78205a482cb6272f803648c28df91952d636b5728dfa197471d5036671dc1b54848b5d395940f286766f76007cda0ba991a07904c62639aa857a979e12c61164179b1999129e86b1ed8fccd2caa34965bd5ec07c756c55f462aafd3cce9f9d9827a9fba667c3ed84f3761a2499141f7b9f0e7454d983dc4e1453403958bab3bd683e321a72ffa8b502b28302224e1cbd9fa6010547111f1f03c349ecb08698aad043f255434216f7498304243537cf8c7a4d2bb74d612ac573cec5c022acbd58af1dc8c1cf01c00877cb26bef664550d899950496540d21c4d0eff794a2042375e23cf7d75c8ed5d5ab5a853d0805b92c3ceebfc4cd8cdbafa97210215a310ea535a6414ae7f2b7d72c295e71823f654f470c4ce22cb4b543bccbf8fa6a44244faedaaa5ca7f45727814fb51805e063b9ffb2aab91a78df116b5c630178e507e4e48ee89d0664abe3c5ee64cbd0e839af3ab830e4f396cb90993364f94c6b85bf598ad056a0c5e3715f3662310127b3ae0379bfea7e8d11d732288d9683a5b2151fbdd3ef2e2ebe055c67995b28b7e03552e2b25c2ae285aa1f6524bacbfedeb7034d7173dc70d9365350bd5dc7c0a7dfe7506cca8d6dc70932125f315a3b6d5c6109c882c6abc36108ec5c171788eaa732e388b63038b6c2742f7652e4c128e3bab134dc51de16fe8ae3ea5b85b749478d2c012c94e185b4d7a3b7694e65cc85fd4647de30a600deb3758a7a17be41d20c49d0f0c65951a0f93a7ecf33e7a07b3ce1e0223b20b4559a0246139808e2ad82f56000b9023f930c9621f975c55f6a4694fc88ced76d4c7b3462a28ef6af722670d99c7875befc9169d2286f3e2f5c14d38887529780bc472dc2348c57aff208e2618f9be77be0045f53f168a9fbe5d7458a66d3cf7aa8f0cc5fc0200410320b310cb45542195bbf6a6c8bef3134e82186bbf4248c36449ad2c2845556d3c80ca25d237083066caf6ecf866514a74e41dda25a813da3faecfae41aa91290d4faf38d1e290f1c0f26ada639072c9c238e7afdb579714491d4d205d324a10f70cd59401e6b5dd8e8afbae744c0e2bab1997b4ba4e07f061cf439f62973c6e687c160002d50b2c8840964ea70b5ebf96bded7f373ca202daf3cc47427dc3354a91ec716b64732d79d9f6f9728512b1a2fa80b40f0e07a77d6a6b8b1695b85d4c99536c092f2755485761ffd76a484aeb61ca9fb4110ddb19d0beccac7db7d9e36905af1d6680c9cb69b8549c6cfc5aa48d355d4c0693d11ec6c3e34e214db0eefb3bec3bf3f9c3198f7487f464c6047310bc1b7c93baa299c041cc8cf91dc9898ac033a344b3ff5831e01c962edd7adabd1a794b03623638819f3db13788858ac66a6b8ff578ac001ef81b2f0df1571baae0af7b6f045d971ef1e51f48eee095397032349cb553de252afa26b0d24d33541aaf9a7f93852a17bac2a07209f1546c64981ce36f8397f1306be45cc3ddd247f08d3b5bed5e0dd5b66166144608bb06dda1a8db95e7a452a69bb5b1269b96fd1e1be30f4ba8fb65eaf4c735f5891bfd9773a5fb660992e5551bead176ed8c2f7d8a8bbe9c8bba42d3238990bbde911181d37372da744908b9a5a3ec0703cfebda7f651ee53f0a8197e090396055383821a036e0cc8210e9ea4c3edaabd8e6057dba87f99ac70c227fa403ed8e13438aeac238f02c480b4b1befd7d150f8444fe9877aff32eac969f927a35efeebea052f28ddc83565929cb689ba69025a87c1fd612710872b9d4c49f718219adb0321b7e28273ad8936c17c855108f66e28ed0ffa9b608885bb5e1a18a306c7193987a6fdb601d0e2e65191b4fd9980bff5f060b6143968a47e85ccd010f0f54c8fd90426dbd8f8752b68bab3c25e412fca5f9feaa696056ee89436fcd310e36a99e53ddeedecce4d2a06b1e1151cefb5bd9aff77192a868d5ad8186c11672bd8bfa279ac782c53af42f995f74dd36343b01756dc08d763acdd2b18ab21e0721a73fa627e664d75b1eedb95c38f045faf491c9600528834df5db75ae1377bacebe47e47b7532eeba7894123167bdfbe033f3f1b4a1e6695b61a05a28df64869e5d2ac894c7a12ff651c7b0af1e873374e5e3eac210c28c4b9d0d750235848ee945c0f336e1d2f7999ae06fe0db7b89f73b2659e2ec4ca12c59e17c2d7484aae20d6981e832d1f84a036dc1cf493867ab4ba66de8ef7746c49e8c4ade9d91325d7a97f3dce319970efcdb1aa61f48623145117824811e23d2a6e7fb89d0fb8018945ae9390f7bb61025453896e55c8d75060f6024b776fa8f478b9536bfacd66bb68afd81f43b7ddf7ae9ddce600dfd6e6624e42b4f20fa1965c225065d0fb68129610869920d12479e9021e1c6f2820bbfac1978c895bd84790bf57352df9d42ee840fd40aa11321144b2f8f149e75cb85e923a395fb9432be82c95a40ed647c97cc26658244d41e19958e313e478748a9cc430ddefc361bca3a3256189112c64f0472264e0ffc745ab13e29be225abc632b9eebcab53814bad7703c1a9533467499f49d20000fd527dbdf3775ff5bc07934c5fc2c2821d5507860a42da93169033293e294e57d6632b704510a5d1f1fa37b8ae991037569accad0e5b24004f536e601b14fcdfc7fb71d4bca8f6f474aae2baaa0b21d26d9b302f6f664fe8332dbf055a783efef64164efaf1531cb57d768dcf3e05a26a2091de8e14e14332d9488f07e8ad34989949b41cbf8f3bd782094eb25c6b11c399951769e1ebdc1d182e6d7ad2337a8a21a8cfde6a74502a53bf0c7f15bf99d099c8930d1b6c1c2595ee6827f3f7562117300b63468e8fd4e21af8eb5fec8390f9c210a3ae57ccfd33d42e1a3550e88bd9933a1936f68e55bbc72610e28349bd8cb1e6e1279569ebd5ec1fa0ee5b16f17e433d71faddc53b8829392d19f2d6c436c4dcbb09c88cad75b355775f0cd63db8a2ddd7fa307295bb55247b76bf37576042eab2a5e3c9d3ae6e908919d4c7b11f70dc100934b778a8863496d8b3efd24cde6305fde89461af7df9a083732a76702963063c6141a6a9d887602cbf91d662672458b40669fc22328e67e456292b94267aef9d7869372dda37a6c23af374a812b9fc49531fb2d5f6402bded585e1bd7a25c86d9d2c4d6387334831033b398c7c5ba7137a1a780eaea944286381c83e81cc9d5dc06a20f9c85d0f0861e063f42993e80af07b89d7b625e44c9937404773c5675bc0afe8bf3fbf6d712038f5b6814378e66a549a548646ae7051506dca08d164345d35fb04cae638aec793da9abb180aed30d66dc17b8a58b0562d10d2075c5226ac9e725268460e331102b61d84151678683f51bb1cf1372034ea197fab732c070528ad7458a4b41e7426a1de10f5852ff53e3b2d109dc0faeeae008d45949ad593e350166d91fc1dbf8fa3d541ff5502c7f97377dd4b90fa33f4c5968e578982bb8deae51f63c3889b5119649a64e3b21179cd7164dfd56b23a0a4d5a12dbaa654fe807c883a8a1fe04a436a6f6e0a79236b8eb13313af6e12a6063404e99b26962dd01e4f74c10396e63ef414598258a7c96f710900e80fa3de80b6833026cacd25464707fe9691342b765b080d06935b6f77eb7046703c2822f5e27ed18538b67305445c0bc712f5477f61b2ffa12a2b1de0ffb9b1205c3dfe017b99340bac6412cd7c7f7730066e2fd0d23043010d52f200eb2d96aa8ab1a33b3f6ed2a564e561b29019047f0489e442d367d531d3ac2e5366a2e3beb5e10052cadb91d5d7b00d0f00fdd7e76f027e58e5e5fc292ab08f7e4cb1f8ca69646df17e6a95edde858cdc9fb21e75a021b00ab8098a5d73dd8e57f1a1d2ab34ee06cb4032c3247ca912ff64d136d4e4e99ad67df7ce09503608c294e910412068ffcb690fafc26306ef25186524bbbbca9274ca5a36c0eab40e43c26d929f171c680a2e35afbd06f6669abdd8ac85eab8f1b14ede72b525a6091c93b3aebb4f143a8525282ad044a5a5cfe9cb223e24d93cac95f6e7e6ef1abd4359b38ea659c1b58adcb436f891f31b84c026118783f004831fbc4b947fa6c55d34a127b2ad6053c8e68d5f5bd4c4a303e325750ca5c8ac2bb9ef3cb2fb537b2822de2d77e3d3178575c9d298edb47040f67ffa44af145502ec80889d7f83ec4a009e53b3fa27dc0d3dfe036fc90c4e3c920a29938c3d5c02724054de8caeaf146b674a77dafb8bdae719f7a9a3ecab9b8860ecb425d1fa75d4f8fa8577dcfd9d7138e60ee2008dbeb312d41d19cfc91e5986e164d716839f8ff0cf08891c22b7720a13d5bebf6966d149fb20e7264d364cbbfbb83d52849d3f1d971773912f2158b5de958a8a1c2dd785faffcc69c04b48df3622d600212918267646bff52230622f6c3cba83806d8d03bc13cdbacdef327cece4c7d74cec2d867c79a8e7f9980289fb4493c683467cb030d04ad7b178ef85c7b10884679d2d83065d25be042914523242e1ffd54327bf2925b60668216e2e92d5d03f93760150c3272fc591b3530586be03d414807451c9716482a22beae0b84229b1a6a3370e3cf71c1387b0857d34e76d514e55e3f252754890113ce880aee7ef52c44a4fcfb883c028dde6eb1c5da3418ed83aede58210661721715f6be327d14377b69b9790aaacb15e0fdae91183f734a47f3f9ce27b8c3aedc2e270251b74ad31fbc7cadb11f96868a915356c76170a555244e229cb19dae6dbcf114517f3ecd8ce950bbf5a939bdc21395a5b57b218ac720c085f31c5956d46abcef4ff934364f8a0d97c82552650599a5fa7a3833203a7ed390ab12d66453bff4f5c5b98bd781cc80b3e15a89cbf67271eff207de952e6bd1f8129bf8c7172f04e28dc301ab836631dc4dbe9a04d8ee02c2b0e66005c14472ac10278d44c91a4e4f1b44a91890aa0cb7f343261646c407f906632919f94adc5487b712b3da1c72c96963f1f72415317e63bd8aabdb269958d1fdf4f92e036c8d7dbb4911db7c4132c895d9e4dcbd46a20cad7f0fd1a72ccb4f0a1ad7f1bb0368d75b61cc7412e34973bc9ae6b84f1861404162c21d00e908a0dc1286c87d1ae641d93281d0cc1813e4370a20b6973b501da058830e50b32059616f6028e7819bf9e07dd429ded94fbe4d0a955bed7df4de8987fb98f476ab9142dea2a115e168b1a36bd2cf0bdeda1660ed60b95e322618a130e0b596ac86cfaccd4e01c26d62d181abd07ce4d2f9766b9f08ec4cc1d9081807e9c4654d969dc55ae9c5d6b140ca6752ce53dfe4b79a6fddff397452dd6f3df7397eb45a95948045058742d26b60e9e8a732fb4258cca348caf21d584634f5c1efe45a226ab91a9998533e79bfd6b34367404538a752cf43a918824fe74866a76b699e26343fb042e32923d5dcf0e7dabcf56295713f4011df30eea7d40fac3152c78ef54edaea5259055a018028c5786ad7a535033cf26577b190b23bfc5d4cca77553d7dff83a01e6d6d6dbb65ebca6a7a4362322c36b813ef20c8c6e48496cfe78d8ff51fabf51e10fd2549660d7cd9da86d7c1de910b20d3cc50215bee7f38bd07a5d3f42e500fec186c2e78cf7092efd524d7074546b5ae8a442e65f5510979254a52e1ac322d431b0d95abf161a54f079ea64bb13ca8c198c5b0b301cf36a221a9edc7efaa4931bd72c122ad9c2850e8acc46a250797cf42c6dbfca2fd1dd5027af079838482164ac29d8f2bda8b338d42cb89c865b312a9bb485d3d610aa9e0617ff10f169acfe2b344e3e370179001ff4bacfdf5c44eed335d51ea84dcd71551ba0d508f9ea426d87d0b184da7ab6a8cf8c35d666976b8bdf5089404eb34a1e95ac53fe0d1284912225ef540642d4d81dfd71f64afd2d83b3f5a9804a44f6ae7f09a37ab41cc5953e03b584cd9edd5702bc8d14004020647c198f87e28cac39314608c53d62f839235530c0b075a60dc6e52dcc2d73dd73ac235225fdce9eb63ada86cd7e2f62ff522ad8a7636daad3aacd4cf2b46ef7d785cf2be108d753631a31ced807aa890e34903f77af464ac3ccc16f23a567c8812a9c52d16facec7fec137b96feb70b85f73fffd602bebfa3e4698d08c7a1531c329929339a20527ebc81fe8bed2029a8eed1ef64645275682860560c88d027e83742a3c06920bfdb745190e2a510bfc89b1c0a9418e78fef49c8eca2db8f532ff9572374cdb4ed88b12a47fb3b00a59be4e6322f51a16385860f074542bd57a09609f5e2f1f94d4a92d3a84a7a3bebbda6c2e9fef6d72b35d0d36f0ca6a2599c1740e4eb2649c71a5b69389422f118a3ec708e121fceceda596c485860c19a0785736070f4f712e76b0ea988d2b91f7b8c9e2df3f528e5a327b7db57e6062513352b860738189e765315c1f8cff839762db30094cefa87e37d30d8db5307674afbddbf5961ea4e46bffe7feaa8235caa1efb55ac03237bf55363dd43277ab539f4b3aaef2e27aa79792cf25ec5dbbfd997ed7fcc92693b38c264d10b3b8462e78770f9a703ea803a828ec3d4028f0b0cbbf1b9059c9e370734be534eec741b0df20ffbadb13e9c4a01f1fcfeba4d9cedb374b306c2bcd4547c77cd5ce7235f96b9627211428d06e11f03989190567769da889763cf0c76bc486866e93795274472dd11249e8cca53da81220b516c961b9fe5077acea8ccc3145d47130c0f99a9b969efddedd3fe89e32ae38824b55706a21d3a4d0fef55601270bcbf077c41db351e81e7311b785a783f5d01791238fc2f4ea247dbfb65a3e2e946f7f4715dbb3fb91f930bdbad059799ef3a77784a4a3f7379c2df831644ec3a921c64b9c3c4723927a1cc6d13b9057be804a3ffeb2867019e8607a44470e0848747b0e96533cc989695ae198e12fcedad38915202e5c859862b2264ea84d84de119190d9d8234e80922a14ffcd09540ec215a9550a31460bd3c91aa45bb608cfc7fd4565628612a8f030dd7b8d7867fde5bb5524f4878afe35e1ec612f155f03d0a73b9e374b9ccf176bb02fca9d351416799bc2d512b9fc8578df1b6794c156e767a7d301ffcc1a22c6918a1b374f2863379c071f3ea4d683d390129a414efd0bd266c9bc01996ed5ee92a0f6689d56c52e049a7763224043964d526faec9127a137aa310c34d1ee97109b6134c8a09298b1e2058176c96b49924ddfd4eca5030569ce5a8db44c07665b6bd176c9f1a69574671044f35c6566aa830e26066b6731ca7e1a26a575976b4a71a9794265561e01236292fba6cc2e04e1ffcf3dd08aeefeac1948a49845ed128c23bc0bb904884aab67ecf67126f33792e0602c63ca6cbb021a1875d80254821db6c49b6cbab45bbcb4becd0490eee32d90ea15286ac82b0f28626a4d6296d03619e4c42730a86ab404e3805893ddc3e86d03e9ad0ff184581037ee1a32782336ff5f5e07cb3362e9281de6ce48f145ee738f8efe8a179fc14467e9476a76986f12d359288f567a8e389851c3fe68a547e78ade39229dc735e4f6cb88dc406f09f74a79e7fe2f8f09a2bf39d15b388c131b062529f783b4ad1f203ded3a57b92560df7bea93aff7e1924771bf32de3dddc59783e81ead3dd79fe021bdb928030fdddcd3ab4b06caa93bde896f5b01bccb21c891754e3415cbe5fca34b1fb9d9d3114b5986fc443ccc16cbc136f7ce66add562bba259177404108cf1413e725345c8682c4d379578ba760c5e5992d962c2eebf4d433c56750379bd8d67f2c4759f191fcfa88dbe621e759cc53eab4caa1ffd989d207ac0d40ce034e00a1a0119e59c4818506ac200cabedf49bcbe53cd782f07444deca4d183651026bf02cb78b55c07dfa625a314c47256a4bb2ccd320943f20bdb6e1f85c41283a488da99f55699b4d2d9d7ed70a8f19601888af5fa7b37949a957ad7764642e02d5f9a4d77a8dc4a70b9d025169c19275c42e8af578fd645efb26e513a71f976275114e863b8eb1f2d72a93b2c0bcfe0c8ecb56a7b3cc4e687da0c6a645ee36f1982df7f2a7d2eb7d7784a2636b9de30f729a6e94c5ffaf310d7d2b2d84ed6bfd98abf64d5d269c5c957f0c854a88aa8ed38341fcc20f2847c6829ceb32960c2bd17c49fe023b8c7181745c4ef0705b4be6403b1579091bdc453e0864651f0450957c3304588470c45fbe35afae72cc7ffcc02fb97862953632e1f0c168513b9871fdef8075ec956aabda76366d90fc161ea11e03c855335ffb03cb7163569eeb4053b75b583abb39147b148cfe353ec18459975894802d558f2e9a0577f1b0a27266fcdf590190ef441a30dda867cd412096673bdf39c694f291d37e8b05b9dd04584f63e4f57604bd52dc0c074e32d07593d91786b2a0fdea5823d00264b749c69162d784dc74b48cb10af8dd87730bdfd449c379261d8e70076407fb663a0df422bc65a969fbc602bee8f5885d0e69a613c5ba25a5a882acac726404777c7878a58b502ab3482ebdf3b53be554f6c8ac4176d1d3dcf11f5139bc5b4fec2f161c5574514ee9d5dd589e1219eb04f1e94f22ae1831cada9248b39acea402c87b2f9d9d57fe27d5cd3cd43f4a06e2d5e94c439a5ec00c3b618547e4897cdd1f868ad597f5f02faff2f33d477b434f941d7113cef31283073ad232ceca4b1ebd5144a72f591e46650164be5bc88822729897f4fc20e561fc51e5f321079651cf246a6e91d62699ae68b29ae0f4b4168abe3db047bd242eea5ada43f9c34f666612b12718003bbc0b794694d32cbf3ed2e8ea9045ff96e12ea5527149a2885fb275c9f9f4f5039b57574af64446c2c2e5eec307b10f04041f7469cb92579e667928fcf4bdde68e63885cfd4bda21217d45a722203b7dc7b2114794b54e6e52c8c158b51da3e1e401eb812ec9b730c95c0bb5b9469b3866e74961c5b997a13ab0bc8f50d948f28cf78d885bbb020dca0ad656b42e0a3c38675a80061e21f12bcde6b84b8bdc7291751361355eaa00bc0125f48eff26222f40a7252eb0f194b4429adb23a24786db4b7505d1f22449f4404850e6192aa15d6475787dc434aa381ecd40597d97dd1a7de9e3d0f3767ecdcac7ef399df456ce5866312554feb28460bbb00c9298c2c43c97dc47dd7f13e1ddc3b6d351d0de922d381915d436f2fbe61d7db6b56ca20cfff3983640cf05ea2fe5ef2e66fbc6c07a0a7fe39edd57ee217318ad7467217c403a2395ce8219d68305a02820c7e6ff2709cd49c79c981e4f7fe1d85bc2a441ad685a4eee4335dfd0cadf6c0223301b0d3b62c552cdfdb4a7588c76aa4265a2ec6eb925999f18f9383e0a97a694ede58774d600a03e925fcb59d0d867ae725fcd8dc1d2eac96662f3bf24b7188b95f5ed6cfada9103677d28c7c2bad7c9bd3420f4a232ba467357ec024bc8f97bf705d79532ba7e4bd33bcaf5a0c11c1d1e10a1636325461be18b9fd1d12cfcc52c981a10d5d5f9570eb5eed7299ab0b664bd2bd478799ac1546b5f948f375784a3ae5e1723388eb1df3cc8df80943dbbac14f699b5f978830e5b1fb7198ca96a37ccf5b2d292770509161e4b6d9dc46f16535c88cedd4a8af77534adf9ce0711de80ed62d7a3114514a7a1c77bd54a5f26f16842d8996ec063b0922e5788b85d541f70bad21d8eb97b73de43ecd43d2c0371736f7cc5bfd0adc1959b6d79fe916e7a20a4cf95987e62ec48607ec1c735e3ec587e21e1605e8449de61bcb818267cc865f457ae590fa6ab972373a30b38c69a480949f6c656f4b0df826a54fdccb3c6cc572358047fd4ec1148094bdfa4ecc522da0e56598386d9e26c053f0da1525081502f15829ea3ccec35963bc0ff85b4bed2fefcbbeb6dfbf1144c46d163f39bf8dea68fc472b22f9ec4ddf0f2eb813fd5cfa947467f9c7b2cd71a48070adcb16c733a4fd4ee3452906707d283dc9c8a84e86925f265da11cde5fc7a67973c85b68265233273679f16aa129190e13e6b6d00e26fe5fde716e6d1bae73a1227f4b69c9e857b9ee673bffe1b8a8883b4b050a53c10e58487887dc4a543799c0e267dc287aeb6c5f560e9f1822eefc21ed740713be554412c1e4930c03201fbd14084d6ec1464b16f4144d77cf972f6d01a2ef51a1793cc55e8eea219568fd03d684883835ad3a637a0bc6e437ee79236512b2e33408759374c9d01960b8bedb02b0b634176ae8d8323f67c1440f5b4833da6452d6f71aa662c563584844c3762dffb6408776aa0bbd8a86cf3a690d6d35935a1e41d66ac50e13204c2472ad65a74944b1aa676a9e514ebb314b780c9e4a513cd819f7df21316da75d535f17bbdf5d70f99e3e0579009b27dc493d0a3893c23fcc770d0b4344074dc40d07961cf23b4bff88c33e1b2719200d62872ff986b346bbbd84a5af79dcd7df6fc53075cf3aa043d070c4f651fb87fa250b922b26e6469b865ac01e65938d75ca8365b7cd561fc5bc98965d4ab652432a87ea3cf8b45de40fb1046083f474c7fa3d7cd0992902b04890475089717c3bd346b010bf151c8a75e37d8eb783482608cbc28165ea01e10d058a538a98890a53ec630fca5d04dbad26e1b90f5710813e21a0a60cfd476dbce943f3ddd014b0fb8a574811d1719a541470ffa856e53cbef1c9ec7f9f3387729d02fe7aa090e8b00500f446319114829c4d2a3425a374f934cdbda48bc01931097ea0455536e9f44d5cdc56b26701c10538785a9897979aeb7d9321b7da2de3801f474adf65ff20eb52f29b444b6c4507b7f9fecc6fac2572ead7eab6684fa309d77b34cb7f8e73cdd81a947d9b9ddbf74f5646fb33f6cdd97292b88adc6e56d9080dd8d6381cea2bfff745e71855e29dcc9d972710488139ad029b5e0ae3e11c98211b6f3c1b576c91ef37b8010a6079181040469c8297c3da5bafb95f3fa5dd6b94bb715c5174d8fa64f74a6b7d75d3fa7470e59e658e2f18d7eecf5f636899ac7cef5084271db4648908c62e3e73811f6aa8095107f2700f33811a315e02a9c8f1bc3fd87692faec922fd093222d79269dafd62a7a24755f0855b64c56978dfd393bc71e00a80513b2d50e8f81ccb3551a29587e8757856fa6524ec7212e4ee3a637f4d3982dca806b46e6ec81db6654bb4122688d5bf579116abf09845c6659d0ecba7f6fb8f8da1f3d3a874b38fa36f5eada1533eb6f17084074dcdc785667a7348668a924e4a7e9cb1b46d20a173beeb7887b15ed6ff77342659d0e6a63154f1e9508af8255a8b2ba4302e5b88180f676393d5f69755c02229e64fd915c2b7b40e3c5578077bd7d35bef8e0932d0eeef167f2c86b3f1e2d8c3d6bd92b35403ce4360258b22d4ae2d72dd0f3ac765ef4d3fb8e515552341c58b9ed6218ab124721e2ba18e689c27ca4e64e744268252c5a9cb3a549183076d6c4014bb39da077ea35e4a6608624092ae26d08f4304276cc174b4f2c7432684befdc40817dc417de6204be0f5f2e6c799de96c7948e55bbdef85191d8329fe5c95aa326b0dc87071e148d68e34934925a48da5683b08d873bf324a37b7892c89013df15a4f094843b3de198f31cb8b89468b097b9efe484cab6236e233c2e7dcf63a23a4a45a736377f7d7059c7ebfa72760caf8b2580dcac6cf4e64ceca099b45d0844081ce1e31c7f959fe3bc6454514ec0453079fb4d3ed55b86497ccfd9528ccb42f647a32d86bb90e6f0be5ace1e3feb9cf03bafb078de21216bb6756ab27be0bd3330260350a4ad457450bd92366716ba79a565b23c1f1ebf652c994aa7f85debf1e3b82fd3d8e688d1acc92015456765868c5b6cb353fe66e183337057b8b334658fffc4cc54c98e7a1d4dae9c00fa26684059c7e5412c4f54c469065ab55b1ab42f48076f08957582351f942a28e3826a53d065d9fade9c883ee279870957ba938c202cff7ecc27d38b26bf50faa98e6e134bb283536b234d8a281ae36a63ff8e7c9bc4004d4f70811a5f17fa1abfdfa5824d5ffc5bb0a2de0bd6804c1b8131bd3aab487ac9123a0861761bd5de18d0cca9dbbf157137c0373ec7d016ba3dc31877d9069451b7be85f06477b952512ea0690ceed443501550018c2b2b08fa9356e09d8044c30125620949899d4a6bcae6e232ab336f494d48bc1106386fd87b321fe30890c53e0496fd46382c3b35fe59695fb22a7219099e3b0ae69f24ba61caaf9431d6911517a22be8b4f413a5d4446c661033919e7cc05d1a88643161236b238776f7a921f1e15c8963ed9c85248e4e9857d3a88b4f053bd28a9fd95f8f344389bd07029e09b125accc66c836dc120ce86402f54ec5973396792ba7fdbc62a60d3397f7debaf43ed0a9f09748a985f835a21f03c08a06d154db75d22f64ec49170f5df8a1be852f2969f757680d60cb67f6e8ac5f607349a2207ddfd3747ffce546174c8e3c1bd11540be3f926ecb9f33048a82bd9076848db4d219b841b4f02a53fae53e7e856d945ae8cc8e7b926619baf2eb66fbe7722cf99fe8b618fc0c1ceb3056f21274eec7b597f65ee22f0fa2ef72df8c7a02fd8182bcb4b6efa216318bd4269f3d0f8f1beb75ce861d45bdc91c9e4cada3337bf4d8811c5177077b49ad2e32e5e1e9b7e15f948ccc3a36c16ad8a2ec284709195041e40dd7632bd786a5d443c26d91b2f6ba0506e1969a6bd822465e0b90206e1b4dcdf555c6b25355810001d1de4a59c37ad5f430f5835487085061a10a451d6fdfdcaf6e02c25dccdb57c26632e6b69649bb07a178187653c279a210058f9d398f6e0c460da7bc69493e8a623d9a41dfa05cdaeca926d11bf19010e34bc4ac5c1331ab3f24806879f6138eedcc63f12c47a79925586edeeba88d40f0b6470b804a3c0189cc861dbf6580c23e101f2a6d0f29f0afb40cf627015bab169314189c72c88a94d0f5eb29d7127d5d5c636ab004d449c68d00c8b04b3e357ad98f128305e611a712ebf5d73ba9bfe506429903f846553952083750763eb778454dbffb81ae239b84894315cc866e48073207f9664a85ec9fcc6ed00d2d746ab8191b80be065917c523cf099790c6b36c80346637664fe403f2df624aff562085888089a29551d55fa16e74cf121d45792095e51d4911731b93b39371f97b5c8c39f73fa86569e5ac02e5ca73e09a15eecd355614c46b85c5aadacd7f500b665b3a93160ff7dba8b3737f4ec59e453ed2a078cc49ad60162305b8cd28f16bc2bbc8614fa19c13650c642e2e3c6578a13c5d0bb1c02ef108cae05bb1666f716239eeb008ebdd8e3eb7cbbaab648657179a858996f485161e55b338c6aab5939ec524264dffac1566bf6f25447946bbe9d9f1d2c349bb315dc546821d99ba51c718cc0b62b61454f0733d2437a8bf3e4db849fcf9a4752267d90199399cddff5436990226785c17c908b90ccad6e8fc2f7876ebc5f83e930a5a1fcd6e259bf0aed3efb3c45b02a08451fcef4739342f01db8a86924b37b486507cf71f9f0bda718f986aff5013adb75bd6129a3f005eeeb5abaa9237a20f5feaac040902d61b2ae6d9e4b24f4deb7effd7dfbb1294887d69540efd71061fca2d398e14e97cab77654e6dd97cc2e1b0f76091a6abb614604e70317ad1061fb91ac1b45527d72a094bcd3c766dbc4351ad86c6f7ea4ed87c3cbb86f368bb17b8650c4b643fcd9ae286880ccaab235f43d2b727f9f206f28cf59e420040f33ce66daa6f9a63e23edb0b1eb607d33c0b1c0b176f824388a60c982b8b4847d3572e2472bf3971d35e309169dcc465f9618f862e4f2169b51573d45765322353ff0accd6e36e486e49bb27ed3cf8954dd81df8b448c7696baafdb42ca3472cbe8bc4c5bd6ccc0c124a926f17246c7c7ac7a20a2df8bd0822cd0e2090a08e52f781eda59568be365899fa14ef6ce4f98e56ab0a078396d98d8ae4cb4c46c731ba41303ef3e3ce8d7af03ab3ab8748a87e661b4210c970ac2ecf40aec0bbb2ee8da680adc07523a43d244b5be2353661168a0a2abd4bb43063210f1bc0b7279866e3278788701548e21296e8ca0a04adb6b619995982c9f09796106397f42089ec1dba80c8a8bab900cc6e2b44df7aa46dd2c6aa5a1968790d69ab7e3e6e85116dff041e7062bbe7cecb29710ae5f2aa1246a4bccd5d03e3e2021a70ede2981affaff0cec04050082d45c261b1879f348104a7c6d494ac6037706dd09530ea0c1faf27c23fd39794eedb46120105e44a3a844f02d654f0d69b2fb539aea81f5350ac67793b4bdcc8c06ee76f15e35dabbab7aac23284f59a1cecf763c3be1a33093153f63bb75c2dfcec691c9828d1ce4fa3d7ef36ea54dc08933918744e8f7fcdfa205859db7e65d25896b1d8d6176e4fab474eeb800971a34917a0c3363e1fdd689808a237a14404a866f2c3f0f84f3f2eb5a71afc226fb02636650cb8c7f2afdb95f9e6a28a61671ff44fc5cd936fa8ed0e494883aee09e9262e777c86e10962c4690d96ead6b396a8f72a550ef0f831a6731b525a8931716dd123ce708672eba89f9cb409443d76b9398f6c0ce36de964d3eedd2036de39f0540ca63c20a0c8648e9eccbfa96cfe99af0da8b079ea3a0bf77dd65b6317ca9b8d734c0d9f81a6003436b8c534004ba01c6d55c751aa0d924055b724b9549ae5afb9229e836e8ca5e7e71eec1ab13ce296148f44ae3620fc5d135f789a95bab33d752256707e6a40cfbe25db83e9023909754a9a844ab86181c3c7f7323ede48fe0a307c815c257bfdaf41e551f6afb196eb398f0223f0ccdcf308cd3abe1adb292b8ab908531f3c69afaea84d021de3f616a36eb53a6579399b61a836ebe57ba80bc72867d209dfab8f27d3196e19282f6772bf9e797ffad3b60da158d527b88fa73c3fad449e0bba99201e631bc303880f5011ca460d5c532aa52145cc9baf42d957b0307ae93155a97cc839a6c43ab4e71cbd9fa9dd7712d3c75bedf32bebf83da76f8c47fea528059e60c9a33becf0a5cd8c1c7762aad527fe743b6f0b048785721c7fcf2786061fdc4fc9f890ce701564b7077cf68017f1dcb5f7901a1df9dfac84a33087a1ef62c3708354f4bfb2a46e28a687daaa84695e604639be1de8f7b9405a8b7ac010e65a1609784ede70e5512362cac6af34b3f939b3125421b0c41f817f01ee26f9c8580b9ad6767b872ba6ec1e2d475a4bd2b02326e10694967ee216f58559b4872a8aedaa255f944595bacd555114f14f12e8bbfd65bec80a46d5a416a3dd1f80a280f9b6541bd3599e9c7f215347dd87dd031ed4333547b44f556051b388aff1540742cee75089f70a721dac0357a757dd609d99b3eaee0c379830261ffea8803c775e9418d06e11a8f25d18a9fa22b3f534c593cdc174b36528859fd338ab6199407b731ccfc33cfe9267f213fe8a2871d5b0dbd883cbf59b58ae2cf778acfa8467c1f91901aa03e9a0949aae8bc5b2b009a8f53cab1d2b84b039622432bd9dfacb0e26e9797692610e00ac5bd0a77527b52e7c7948e460f77443d16828fa25ecc092579f59fba0d162834dc3b4d5b50135f96084c662f4f735dec57c1911578217b68ed0a938b959dfff05d40d8ee7b918ca3fd9f3b544eb34b7f51dd254f668029697fe13b13c7028feb4088913d25dbb5f1a6f27da97f72299560adf18e8a9615a811c6db3d6205ab3450315aaac130d1cabac431ae503c0f8ab176448f858b7000ca71ab42131916633f5a1372a36bcc0dc8304d2a9bb6855fe5aadd00fe68bdb7364c6aadbe28948c896f1f3f20be251562cacd377394a046597a5137c7c4c7e8a87fe65160f81f34df1e220729e2a865e338df21ddcf06135a02e2117b575fb80cb8115e4ba2e9bc1c8560c848b13ac144b86bbaddf2953c31bb26b43c26374970fdf0ed49e6d9371bda60dd5b25d1e75300175a8155c2bac60aeba3f8708ddeeb580d460783784e0ac460c95abcc4163fb658a512c9b91169116c47d2f4be4bcb991892befcf21a6bbefa92a7f5b8577e5af4850c1a0ca350c88df61299fa5857f9f353260d6cf30697c05a79b983301424d4ec08206e0421d9cecabca99885feaeefb084d050fda3f556c49deec699808d29da573046a26c11c1fc92067dda975311c87418680bd83ed48c0dab0bda71e9e16b5975ff2596e0eb26d61718ea0e8fcfdb598da6d074bcda6c30ba41a46e1b5155069f10d0819f91ea1d9e94d5a65e3c6aa36e59bbe6d19e8bdf977d9de88ec95fc6ef28be73e1900f343561a4474057d18917333a0b1631c46c37b0eeb0d03ce6e631d06e9e67b97befe64043cbdcec98b8d4dcfba43cd4fc8f7c1bc8c897a8dd62e618dac54192e5e669dc8603a16d622867bc83c190ef70473552564b8c6e9948fd346c75debd9dafc4f7ede0e628e41cf3c3aa9453b08fe61a4b39bfd280812b3bfae3f1aec263a73cab21f6d28dddd82b1d643813fcaa8f0fcadab2d5b60e5f3c7e38d23e1766e925032e4ea2bc21443513a785e66809a1006919b2f56178c83dd991080f9efd387e776ade05337787fcdc76d983afc4330ad1d1c3c48bb221132c4f82fbe31ffa628237c286125c8fa26e2b991749615e535eaac9cfec29890fdce5f2856a00871c801e968a31231920d997cfb2a53caf82724cda45015c6362a3c326683a1706ae86be1b078e88ccd880b09163cca4a34ae260395ca03b274bf9fe025d0635617c20353f65ed7693516c73513336d577d9d6946a278bb07ba3bdcf579bc4ca747362904d5a8197ded71a323e913f3eacd811b0fec050ced93acdabc3e88367b18ee13a6b18315185fe4a2ea950d1c939fd4c6992b75588cf2af1a8845d162d801a97d90cb52ba3413e1119eef2996e32c8138256a5123e22a6dd61d3c1926a14250ca72e33e19bc17d0e9db69540d246985cece78c1a4a6becee8cca598b1905c72be0abe235dfffe4331e8f3ca5e98422ff2d886732d89331ba7143b0a1481aced702b7e09de6344482b9ff5c8dfc7d1e11da8ae9befd4743a83513213219cbb8a9f70a7f472e017d3c0b694bdfffd1408a1ab3b1d3cdf310173ad48b1c7db27bad73b3b74c2baaaade8341655a683603257b868edf8b8a44ed1a501fee780f4641a4822eb55427b3a9d8233fb5724054659ff8593948c1f2b3c76cc1541639c0be5c93c99ef64dd6bc08eba26f3b69683a661637259e183143fe8c8a2b7ce89684263d64551be854683334e3671ad6f67c7eae3ce6864d12b7a0d24015d0773a62cec8e7e6f44a7548230537d08d0ffb42c88ff7f68dd7a1e9f87b8c04a3be860f4dd46424e59c1a7bfbc8b62c1b102fb0357d4f137edb65e8f371024a9967a211a9063a42e0d960334fb99c4255c05076b81b1e8600a16a8df8d28aa44a1c9043f6819f3fe3cc2c749e2a5e465a9d98ae748f1a1fa382528c6314101560de1cf9537532b66a73b24da7dd975cf9afcdc5e8a3c0901ffa16b8b1e666f1506b888525530a51d2fa39a2b7e64b78e442f097c98bf4cffed811473d477b619be38f2a758db490b4a045a4e2ac04ed1719a2584c03a407e3fb3caca6f1af5208a917673f1d90b55e50b9df1d235a0ccb90ae368f66ec6f816face342de592da886557356211b6e99790d1756cbe41e061b428d188e38952357ca52515cf80c5cba30df7a3496c2753182251edb258a31027be488351cf5bfb23b58b82171dafcaf5876a0b5d0f2864fddb0bc3b0714b8041b679b37d695ba24a4bb69e8947b8b29277189da74c7005965a983bc442f4f1cf8b0bf48c7f9f3f19ba1abd91998971d8cef200fcf6f236de0836bcfa0517344d473e62104c65fddb729f39912690ed453e2efe7694805f592aa4e3ed2ff3ccb8717cefe6567ddcdc8641420f341f661fbcd23d09429cbeff0e055132460ad17ac8fb3d379e4ee980cb6b641321416c63254d115ec0892d1fce7176c71cbff514541204e1d4be7ef8c1a9d21fcbac7854dc8508c5dfc2f8d84b32831323d5df696e38ca691987292ae8690f3b21d7be4a62f2001efc8cdaca25d7e47f62e9a2e45f3e4bcf8dca9725f3d727df1f771b0e66312efdc31a3be897f2cdc6ef2448ccd49e86787a67a409c229f221ecaf2897a685bc505cb91450e08ad8ff0e91474ef98acdbd4560d0d1ed39328d2008beff5290c418efb764948e37ed88a624cbdbe081141fb42baa0696cade9ff34c131853fb4c23689a4ffdfeeb62d8456bf5c264e3f0ad09e8417f84d9259e7f46d9bbbf138aa9ee7f7241892c3ec71ed9859b6089752e8031dc77ad0e9d590c1b9e7a564c0620c458cd70f5f4f9512c24669d21e2499a78984bb181f75cae83344f3d0a58e14f32897f221b72cc8b51b287817caf4203e80db3e505295849d872ddf288f9b3ae2c1f7cbb8be0e99db111997fd9f526a7ad854cc98944886964a3c89fe05b6e5bd539882c619c4d214f6b720515ac708d160f7b0772723ade227f0a1071d8c88e6eeec92d22c6489a937d74a4406b67f90bd2b6e78d91ede396119fd833ea5f64be72c20bc93a5aeb0daa61dde5b04b2724b3220d5117807459ebf559683de26f3e5a58254175d9c1717a042e99fb2577792c41de93c6549fec536261d215fa9dd85e5eecc7409c9b9bd6d5fce1f9971a53832b59e493e10f6d5a45b9be5eec05e28e3a51bd256bf591f163200176171cb084c298bf4b09738ce16910f3458e76f022d7a5f5a01a284e6f360f622dab7b3f27f46e02a52bc7d9c8dd9f1facf5df2325c14f01433be3f59f544fd8ae3a15e573e400ee27f832c012c840d4354a0a67ef7b43982dc28b12dbf94ed71f9a3b722c7f6c04b455e4710cfec005ef2f783110e5835c872d753dc6061296197abf10025e0dac49dbd6ab86669030526632d04dd1dbc91ad5eee0720c391d2bdfe6de77276e8e37531999e2f018c4a912d9085cd386af4e4d1da7c234d491ffc4b11f23df627345d02699bec20a86225b1736c63a4095ce020041fd26c1b81a3e910425e0dd58666f503de3d78f260323df1b6fe491124da30b4028ab7573a833b39f95883bf7ecfc7c8319b965bb54fd648c2ff4d17bffc4f0e9af83c679a2316834446939be3b460073ad7c2aa8d8655d6ab2ed1667e8221aafba2aaf0827075a5d157214d61075cf78f24749615d770074432202ea9939fa97b93d48ad4d7c22b53f69dbb5436e40441c9f9ad3850b51eaf68b084fa5045910857f09af87c5cf9c0e8322099b59ec3ec8ee09b241dadc8abf3ec22b516b70c5f43cd240d1ce2cc8722bc4c58f3282b60a5edc12a7e602bd52651f166599fff86c00714d222cac2a59911518385a2c2d188910755cef92bf4a728d328ffdb5c868df523a6615e365ddf24d310aac30b30e788be4fe32c05567a4caed036db5fa31b06c087107c99676a70e56f5e09300417bd09485a995983965fe752107092e518d72fa93299e973f977d1223f0b30c142ee1e9aa6037e1a6778d3558383d94f4332ac662a4f9fbe5ae0c388614e636ea74624c79a090655a894024381875c45237c4c05f9d287e402e9b1d83f349ebf4100ce435be94973f3ec1415e3ebee6e63ca4cf78059b770eebba72b9e6f183b2cf08a9a2ac45b4f42d71556bd1cb4ea7435a902059a99d8682c2fbf26b30324e6feb0405c02776bfcfa8f079491de54f07cb7a01b21e1d6f1541ae9bcb160039601f69551f282812626e6270ce7269420795e6f8c1838d15e6146d64530c5157a5e56831d4d4e279c6da108e9cb8932298102dcb8f222b671fc8adfcfb0f7120896417aa7d14d34bd37500e5d05999047d88ae3632653a474d998197dc2ecc180f7ce8f41b85491b634adf9dcaf4650d52be3b8f565a5b4f4a9e4a5c99fded72d88884bc8b426e62c9d78e55fd6842923c290e0fa6e10a19c3f1aa05d06d760ed20638afe3e12f8c095e6963adc184a0faa121b24b5298c922472851a1ed95a53537c753022de778a80aead7dbafc2a5aad2e60465e3c7d831a8f4da026151ccd86559d54c567a1d11ab10df196a2605120c6d459efa396cc42ef72857181279ce9f401d5185fe6d3962371ad08f74a2b508650c8312fa6f87a62fad08564fcf8ddea591e79e7754ae91fe45f9e4cef71ec840c628d5d2839bfe4d3943b24fdf407acf6a3204bf9dab4c286dbbb4fa432122d78be9a1f0a706849aacae2f582ecf378b60a5d1d312a10bdd6692186336cdae2acf5a435d718a67323e3c4f37827b33675d893a3efe127c06bff6508f5abf19140f4912a84f78e002bfa6c832da3399a96b3f37eb3a4c909998a684552614b81a340a94512bf63a48f0e02f2ac7c57416247428d606bf12e5a97f95fbefa48126714b9a5622b8a5ed3ecb0245feb4174ead151d681c1be619d4afffe6c1892065769df3f15b510f9ecee765f69f0e7b0fe02f538ed9a53a5f3ac136eaffac409838b6691762a888cfcacc34e1d895efef535f5d68bf937f919eb34ff266c5d42aad72a0745caa5e1b623edcfb79b9bb8eca6d2eb067938a3e4bbf94623aa8a83d783ab48723a3c05a539331d7e81720aafdc6e15bdf0468f2524bb1c63e6375786cbe2ff8d143f8e06d982f6635aedab675234e9393545a0976709294e5f4562178fb0df3e41cdfb02398b99cf74e8c03a4bb0a3271e19a25e4e91c258460bb114dbb4033b28946f99f104a9959b502e40d3af62c5b8651492df73b0f2a3bbd83191258cf6754e4e71d574143e11d3752521f9137fdd88caaf108ce9c88b61f10ae86634d07602aa7e1046374815f12ebdd14777a566c7b21d9d0293c9df0554b5eed5fdf0eb8a07e724077f7f1bcd23d3a3773f1dc87922cf97b3c2c9e1cd1f296eaf202fb480191f371ceb6c4315830d3326024fcef10f632c9f4d1df98e5e6af7d2a32f02da859a6e50e7715b0c2ba3a831270f27273d5424cf8a9c70dcc6c53d464a862c0df766ce383e21607c06f715772676ec92e2243d4c80770e843b2a75aac6b81c589d5c6a49e780da4ba8579176b86f1fab0f1fa32e8b43aee676acf0d771198fea6abf654d6e5686968099372f348faa281acbd43c888ad02048088fbef48afc2b338043a03b650611cfa8a59ad685f18f4eb8419d38d3af21227151db26d6f437a6a4ba33b6364f6f8ce51713f9f327e2155450b144c0672d3aace747626e938eab85f5b147807298cf583dc68439bcddd00c78399aa1fa94d259e51e7d74310a35b97cfde5c1e7574228ae7941c0dfb32863bf163458fae3dde4e650df2657666ea62e4aef75c192b3e11025fe477dfcf0611d08c15d22a8a2fbd4af8ffb9e1d4a8292c7cf6bb3f1770c539327093c99b3e426a8c20578b21491e49b6a98d5fa352156f567e23748dc2ba3ab4eb430d484e94090d657bb45e4d6c333d27ee56e14862693790b87f2624d029c389c6ff17771a0473142b88481a72d69f2ebe14723154765b9788de5910a047c326b2973c1cf435713376a64e31ef01036828d05f479cf9765cc888e1a75d3ee4aea067772017cfbd74d80f9cd59eee6d18d473c94eab6eaf9fe820839b9c3b0c71ce0aec5365bd0f7486821da27b9eb0943f4551becbf9272f7c425fcd0eea0bfa7ad926c919275a426f5a55900eff1f1518ab80cca6f683e9e5a924aa78a7faebf82f59db3cdb30fcf579bac2921d27f681bfaf61f2d6e0a7ec2c18a7d5a15f9d539853e5cd59acee1a016ad345150b8ec680d626a1dfc55adfc24421237a37ee3d5ea4a3b7ad911e1d121cdd471b674f60a94a4ff9faebb5b8aa651fc780f45a6698480e54c0d9143953958a9727f24cb2d8183fa218a09add94d72ebc49f6c61d2a26ce7d1b2513ebfd21cbac394f976bba28e3eacf978422d2f348ca0eff13b3b7264f6096b2cf5afcfc526ddbf91f35b6156ab3f38571341ce20976745a70fbd645707eebf74ac689af1fd21aae9566cffa33b11fe4515d52d0f218ee4db1acfbfc0d79a5902a397c2332371e3d08c1c9a549aa3a514bdc6bf178ae45f9c58f7f7d91bdc40d4cf01be2db9192d11e035ab9e38446642229b140a108c8bfd0833984690c1183415374cef725eac9f5ef9b3932f57b0a00d2848fd0bdf2466a1a9a88551b9327d65137160275c67566038de0c71f506afc80ddf705106e825549fd490c2fd20e4e8c9a6c836742a97a6191d6d61278e696e66629bc45909ad3198f5f83ce1fbb36af714797fc3b9cd767de4455de8b87a3f8fb19a9fd55e58c55ab2806f9104e3304edbeb22bf4aabd525a21fe5730c98d598a4da8875918a228cc1791f761f2b05fd601db054bef452cf0a08dfe5e989778f715d62ea737c2167f19d74d57643a81ccfe163d63dd3050bb1dd0308f03a1f9cceed63b508149d0d5f924ab9282810f4a9f196784427f3f152200096fc3cc1291bdfa0ba841fb931490ad3f0ee3c4cfbbea7676a0dd7d5e9d528239a6b3ba44e1a0eb9eeaffb669e99bb5221de25f18482ed6f70db56da0c3494566d563d900c6c4a8666cd1e655c90538bb1c6d440abce67a09c50d6d361fa556faf02387c4e1f25db7337b4947dea254601ecdc06cc5cee7ccc9ae43a920361c61f778e9d9c678579bf851d26ef8674b509287bb4543b5018e3c296b432ac97a99b307550bbb3cdb0885266bfbb82ec1444ccd73d042039830da320b45e83a41534c96487948c34154efe070803d4d2ed2d862cab6536faa05794f72b45b0328421bc1c799e4395d75c67b19acff3daec2f727154c3dedf9063912983c1837a4f68cf72ec8166d5155bba498bd4beaab4f42dda83c1bdb91f97bbc61f38558837d51c94fa2e00b81fe86bec8ade4462f2e4bc554557c61db79ee92729b433f4cd22997af709afabed5cd50e577a708d2a1ab55887de763ac18f37382e30050c97867fd371cb51779d4241bb2703b577019a36278cae3aa0037762fed2f97b5d07450a67ece928d6591735028554bac6f3a2de0e91291b2a3c805785255f2c5c1bce0eebfd75a07cfcf0f9e6c6969d1577052792eaa9002faf003ba55038df252a96bd29df90c144d867fe63fa3174885497e72cfe2cc08f5cee118fa328f5c0e6bdd675f2c18e2781e0c32da548b497141e323bf1ef7e182868a6d2ad2db607d430917014ca21631b619e39c1ecf919f0c11527dae8e95eab8069bef4ffb35ccf49b0ef40a216f0fe58825961158fa732dd51c8ba13dd6423b21b98107226d75677edea2f2ae7b101f9d76bcaf38288a0a9060353418831e4b69a77d8cd984eae0332e996af3ca11aecefa80f5815c87b84314919a4ec1e29dc1f1b50778253395d8783e85891583c70ca14956beafa629dbf663a3e9b201d1ce329e6240f7e3afca998d4ca3ee3e22bf0b45efa39e8afea5c753be0301e383a3865d03d5ca267971e06914d0b7ded891692be966ed2f47767a35cb315b19812007aaf4322d4662931db8633e48b0515c04594967e4498afc565292e0bd014f4518f2d9db35a71c428138e731089ef1e1a2f5075979322516c4e7af0a3661dfca06e92d233da95d0963e9501007239342910e5ce89e5e446c5d212110e8423116640f952b37295cf20eadd639a3957e97f0f9588a344cea4e824dda2ad56da81ec9bb9f869b9baa92ea8df22cbcdcd9a9eedaa8912e81ce6885618eb8361713d8053d235708b96a5771eb3b638dc3db8683593426a3f8fcbf414df9f5a205ea27715305b46befa8cebf770b122f2b957ab5e601805411a920bc10c9083ec45dfb309cb6b9fead3d78f2a4ce1dbeaa70f512a8ba454f2507c490399c162057444a37e5ad8cf6d27d7f1c18dc327beadc6fe30bc36ee9c6c13f2e6a324b9338f2f9a01ea0dc58a66cd57993ab6685749a2cf429a108b13c9b8aad453c0a4d33810f8f0eb742e0174f9db396cfc1541955b645cdf3b56fab90b74ece6bce04258ad982f67b46249e7e61bfef1d55386d2f1aba593729efb2b9be1ac26cc68f509fb5e89602ea1073a4ef51fade8c038b686744bae4bc3b6276e4e0f1b95c9217e65593220a876655c5c9618a88c97ee2ed6ba2eff928d132c16520633fa4d89c7f61745f0d02a4a434e963ab73c748132742f5a9237edace77a8e1a5424aa8bd7aa11eddcfb9817b7fa05c2301126e2c8e144d97a7d4128002f2316e94435e36cfa10e2a8964314a63d1ef0d654c9570843b994cbbe2a10bcbd18d053b8a3d9935c1735ccc9b3dd52421b65f343c6155fc492b2cd981b2db9d0094eae56e8e98068a94059b1728fd76d10a8147bf479cfb72d1b9522acb9f5a8849cbdc523edd88ed34244b6eaf854bf9655c8b683d84c06b72400bd3941adabc9adf426669109fe985e9ad1319e45d61097d3e4d3efbe718ae8663465163fa3c433388e26b22bdc60eaf298239192bcb6da785e7970cbc94a803df50b3da7558cb2c36de58c7ed9e3226692aa19c579755bfbac08f52b6e7198cf8325b75f474c6dceaa0f331ff497cb2147dd20ddeef7acb894f66c3d31908575e8fc76aa85e658a11d9556002430c1b15df93a2894ac427815901f684aa542fa6ebd24cf3c82f5767980bb304da512eee38e61da5403471227ddb5350e4c28d189d9e67f145368bdeb96b8dda3ae13677ef1c1d3a8bb91b2d2529780e6f8d6914a6056175e49919906ecd3e0c8995e924562c8777e8aefb10e3383bc78b8d17a0627668a668984338c358b956165c5aa1ca8a820d93ac30cf79fe72604a32ba28260d882a7337eb4917f92e1997254fc11e4c86fde7bc61c7bbb4eaf2cce02718707bbdc50a456714873fce93ec311b133386642ab4e3ebadcacad1c8051958442351f1cdbaa8fdfb62e57008b464654ba97b52be1e4c2f227084facf40097801daef302e94ea7a4c6bc71987887ffd6af2e0a53a4c863064f3a29ef87342116a1f1ad20276df20d7b55365d8c8bedc09f8c4e63f82ca74afd18bec0dde7c740775f9f4ce3e85aeba2bf6851980be77f865de6193afe653c38bd11981e6dae366cf47918e7c6dc96f2a484d9bc8f7d3367e9794b9297e292339bcad2adb25c4cc5ac74058316f9ec30b8a2174111781cda79ac83698e50b406610265097e0c28f8c31d7e7657a10ea7d4528d1dafe6107df8ef52813b3e62984786b942f7fcdd226a55868389fc89ac6226850e61eb698a73fe44058d1bf6a4de25a779f8f0a760d8042b439b72ef40add720a04daef8768969ff6999aca05101eef4744b6c2af07191e24428017244779485939d560bed33142930f8121523cf47b16c86ff182b4ced7d941513991d01fc50cce81a8c417ead90e7035c96502e37c89c8b95fa199b8382d5e11cb9a6e3ef11abcfd451f5c6f2b17e938f5c367c1f249dff41c2dfc06f914d4cea6cb22eac821e98b9c2ae41d2042cb482cb878cbbb56ebee8848bca122be0f0c30df7902a8c3e7674424bf722274da9344e1135646cfd69e799f6654d3faaa5ce5524226c7c989feaa7cfefd227278af6bab5360132f60bdcbd0db8367eb9c6bb4a5476b4e5980fb7d93159705468fb205197735084f235c20ea7377dc6fcc7da071645f5f5b1b3e0adbde4f46f54341861d2305ad0d691034df8596001bbd5e95651769f4e14498d2035e10d2ffcfdf53550f45665b3baedf25936060bca5c7a3e1be469d14760f026e6668b11f1161c51b436f056238b3b571e4e46a750b09aab5d3da77a277399f43574e13c342134ac8679dae945f302294c993ac6f38eae7cc274b72ffc19d26c7eeeb3a206030911c01e5e518591586882b18ed1476f9d1a816db24dea2f1257d6ba84b0f1d8ff9ebf977f735b53345be29d88fd02b2fffc91bd8cd4dc4bd15f25b0feaa001b55e4e1d23e93e3f23ec62c6ae1b14d9d1b4d016ef7639e5ea515777dcb83b8e2c85ce392f73b80b27fe5b11d19734d38834bc18a832afd69c89ef41207ad7bc67331963695d08625215c6433c50a3b341233b4d4bb46d94508e289289522e77431eea1d4d4ebd424f41b1e1b7442a87804bdd797d2d2add6fcc669f46296e17def2ad09fdc3a39058f2e74206bce0eb970b7d6377694eb0e58b77c6dfb77071f93c5bda1f744a14bca2b31a894290e42d419972696a375557b1bae2fc608f87ce792624c0e732959ec03d5125e81977c73b7032a4097683f86ae98c5cd121f6226b3edec40a9a47c05868d7b48c0a6dc8018ba12b92ee801d45f00062834553d115527b723351b3cbc50ef7e9c2b9649ae94ccaa20ae839d60acc1a1130318f1db769b233000eb3a498c20a2126f3c9c07da68744c166abf67abde205c2b604ac1bad0a1a0a65bfda8185f5b9b04630766df6a49d4cb2928b8f6141c67089f5372fcfc9d55c45d607efb4e089f8876b582ea38f65cc25d7bf67d07058e48206ef62a84dbafc535cf212cf9b97f3b673a803b8592b1cf63a452ded6f7108c68f96db9d714e660eace3a18e505e88457b39caf363d1581486c5cbcaa05d972b476907d15088178b67f42201515826059d0576d28ed251071d44e1e8b349d5d1255d9498b4f14be201990c8053ba526371ca5b8f9938ed7e7c8838ba6689d604d37bf489e9f46edc5400fd9c59ca624365a327f891c9f44ea8b6bc746129b6d528d528111b66bde49b71041ca1352a976d067bd0178a7eb4f0fd5aa7dae7399fa9b5470b2f701502b2283c4184318d8d351fdd07d251af6572104e851649a970744b34f323f7304591ec23a43e53f9a60344dad366b230fb2ac876eca799246e230d3ed4927be2303a4a9f2cafa2ad025fe7c3fcfe9b89aad9f6084d255dac7c16cdb73edba71b7187a6eb1979f813dba33f74dbaa900510129fe64b7719d7d29c7875784dd3d6fa95df3a7080f7b68bbd8e328c9bfdfe9c5bc37f63f299d351a37b67f81e575e16a93e50dd3dc6a9eadfa9fc992a723073675725c1b922adb7bb60b70d5db3cef5ae468ac394b3873412cfa765a9a86aebb0f8e8707d1324351028e11f229bc71da6d70b6b99db5cf18f111969cac7ced63c36d655f2fabd2f246fdc86d4a35fb6c62e5d9153ce16dba76f950d942ed834e1f457901190669ac5ab1cce96660b6674eadf41668288880458a2ded22beca7ec70e7f6e937ea733a2cf034375f29cea0dd5a836ee77f63633174d59308f9147bab17b85237c19c13cce48e3ba3dac28c4cead4feb6eae007acad93df85aeeb6ba652a7499f503f65c9194fc7665b1ea47e2c2fcf1a1f229411744eae05ed6518ed6536d7c76c512e0ca3573d57a2333ac35f7815aed8e28f9a5d0db89790c1b1f3f6e67bfae1123afeca75210eec58b90c941b7104ff332ba5c623939352c45138fe6de53293ada0675f284184c83ddf9277d62c6c9b31c21e0d97fb874786dcc07dadf58e4bc13fcd8d1930c0a3753601622664e8be6990f46c5948d9107c427800693837a23e41414055bf0bcb81b59855354f35ba0e5d43b212abfa1cf27807935168c2372a646e07e7ddcbd4ab729451d48df5fc79e441521fd248d12b43da8f1a1380a7b71281c0c86daba7fa28a9a36b2364d8e68c6a1ff9421fb50e323f59bbca1868309853bb5ae80542fe8a18cde8cf7b1150750fd7a4dad85032c714b089d96a4c7e34f19737968d3c13abccb6abc544f3f2f4d3600114210507960e895c52a12e1f5959f6d059943fd14f5fc313f0de30e26621a1bfd968d5f812809529a4c9b7cca7a4b1629779bbf604618bd090d719e5f78990335eb8bcb4af6cdd139f50903ba8e2ef74f7780b426ce296335eb10b87534e639a499966fc407bd38695b6a1689cab26cb53d2a0525d7a16e7dd12476b1be8f9327c88beacdc37c94879e2a862f99cbbf78260b107f9491528d0cacb3833a2abe9887b9f5140b9d5049251dc0a7c478893fca71c202ff11124ec49ad82cdba1760c5662f388993facdc78e0513a8dc5d3330b8ff027e67551c52747e3d5161cb40a731208491bcafe7a7bba7871acb67f30ac08966bed738b4324b9239230acc3862753b6dd7ca127520d9d14048853458c7a58d41eeea83e6afefbc51e96dae65d817d62a3cc43f0ea27adee1a023bf1f82781dbf7df12c9c57fc02fd81db42ca3ce1268bb9d475ae29a5fa00d0e342b3a1e8390569a03f3b72fbafaa84e2a74418b499a14e579da57dd607b1a50c1c15f3f25d9013b93bc019e7d282b687a56367560ff1776a07cf40954fd0639e40b7006daa71b592226a52864f306048f6d993006eafb83e2d78d54fd63869208e41455dc15772675d00bd72c66f28a8119a76ee93260595f7994d0dba1892c70c38d3036b43c1425dc813ebaa42b27082d21dfa301edc9908173fcb081b9f433dbd229eea6bb098f3d82f26ee1b4fba293cbc70b4cd9b1a1f18696de15c614086b4b4439e8aee30b19c54504a57fd28200a288b4f77fe8cea87846b9e969cfdcb63c6805c949bb642e9575bfab5519973696df1fa49fd0a4a3ba2b7baa85b919e8ab016bc1a596401cce502c9dbd71cd848edc9ca1f858d79f2123e0afa4a2256c623d86cbac85da5de72c04f79e5a7a0d3fdfb68242e01326d70e7e426431d4742891ef8be9332fd0f2df9e22e9fa250df25c25bb41baea92fcbaa2562965e3e76d0434bb09a7f53db2e2ff261d7fff715b1eea3109f9448bc5685401011f415ee6e487585e7983fa542e66d01eef474c589a81ebbc3fc4a6391065df1f9d4275fb3ee834e4b46214e8a030f5b2deb17f3ec876ef352045536b39c82b4aa8fd5f5cab23f5d7ae05a75c63a5dabd1b897c998cd93de964f7546875b34fded14e526efb6b139b02ac0ba8630e5aefd61809f5243e7cb34a8e3b3ef8763c85e2b150b963e6f12fae0e6e4a2ffb2b8acb99f01b40ddd159b9fc113498cd268cf119eb58a78c99dd255bddd27425163b79f03541e6e0166a307d951f58a55e4c8e6586848fe35b2249eb69bbb6a7bd2bd6774ced0a596b59bba9267a7433de580cfa9fc95a5c26cff1211ed85ff33d2ab5cfdc42cc78c5a0410151a7e9c5b58ec32a0e454dfb0c0d29f8b9a42410da9a1ea0a8e1ab304c88cc39be9f1bb0b529eb596a9a2c19d5e77690df9946fa527d09c18b84b315be4c20bfff7d3036f7104cee4bfeb51d7d7864ecd32c1429159a3b42f5590c1cbbe59e65714143d6a3edd4c62a66b145d32b2291ae3f19d77ac0c3b1f810ec0fd7a3e6d402e193fbee4a6bd1f91d8a93c68100f4cce92d6bfd1111223403916be26b89ed0e5ad9763cdadd00f591c3edb0cc3f53290013aeded2f9c05969b2a43152d5fa25b977916d754c3447c6a9c05d4816c4ad99a56502f2f31d69d1cf8c89f1302e1de74b6ba4e5ff125f3d6a8b6787e393019a7296fe3bce4f97dc848294f1b907c09f8a501686b4ce72b4633fe12b78b77fcf2c377e6fd23634abb2b143faf1925033daa4e8df9472eeaeb8483217756f7dc2a97626fc8d70647ee2903fdb3eac714232364c81c929bf3e20c5ee5088253d08ad55094bd70082225d931c8958d90723b5b74014a726db1444ee3d646c634f84ddd27b1f7d4b1609f924c172811dc155f700f5d12299867c8b49f7d5fc541ee5ebb282794b2a4e0fe616e5b83afff1965d8ec42770e98ef9a674ce2705bcab9ad308860f36ec55494cdab08c08ce3405a2e3f48b655da35bfb7ae6b87a7855295a9ab71057fa75b12d1a615729d27a454439de6331cef98acc92b38e9f06f215986d1eda4970f1679aa9d4e0971d942880441a5868c5a0516645b9f7fc191107f174693f1fde82e3a3a4e689c0446cf3f6932a8e2d295e8a6ce9a48106ae2c88f583419415d7338d6b0d02c09b155fc46af3b7476ab84a304928da23c525920e0316dc637704c08ae1e8e9ab3fcf3de2722f2d65d6ed6989f9a0e181560ff9dbc3d4956ce2ab9ffac5c60facaccc1cf3bce6789c17b4801838d35817491a0d5c2f73ceb7457d8e633fbed351af7b122c820bf32fd77194fff63b61c8ad1eb558f56d3f4455beb74676aa0d870368d5266cad8ba4072a59ffd5412f2b3895f477a4f7676b05fb0f640b044b13ababaef1cfe56d32150dde11bc5ec4f01717b24aed42b9896fda17ac9037f67759a680b719f43abe6b5f14f6bc331f1625cb2f1b3f964f683e51a93731e499af2104679013b2775d581e67c31277f7f857b8a37e4210e4c52dc103642b9159993946f174c87ca58d1a12d4650cac6f4d026b98bf8734093fee0bc29e089f3aaa008e6d55e002d55c5e5fd1693737034b31a5f65c8b652578ea44f00b8ad0d0cc89be49baad123631a6993f0f119d2767d22526ec0c850b721c793bd07a31a2055b5c4213d8655e526cbd2129347f70b12dcb4d46d1ec88e69d3477eff82cae23a80e0bd7a4b68fe3ce2e2621bc240eda11de687ab5b888c2ee126e359ee3f802dae8112b596cfe6d92982e25892f0b61b76f2951d2a0f6ce129a7733e76c62f52b60060cae403137152a92a71c2712a09c187c4c45afbe3fa62599f913ad54f748396303d615c139263aa8d274b96e32905d13f9696a84bfb341fd123d8d9a9fc2114afb126b84611d4b4e30fdc865112fc72be0b6f40446f35bef64a1dac4e194b39dae41a052b92c365b6bee3dbe72862653357bfb0bccd9a9b1f7cb6a83d67bddf116adefd92b71a11e8b38377787e4df86ba9f4dcb792ab79c0fbd5741b0f4ccaa3d96f830a14121ebd58dbcd2c6e434d9a946a618a4b775df963401735f1ca12e655368d7a212338aa87a7d8cfe45af868661f7794a2706692b8f9d27f060b800b291b261d25ce33511d8a4d7cee55d2a0530d783ac795a5ddeef158fe9891c7f62e101904623c5521a3b50325bf04783afacc6a95244748b0f57b8d8a6daf0f98c62df208ea9540e52e347e3f33d38be9475d9fc89b6b56f6e6d3ace9da52a842512648d2153bdd5855b0de25ae5a435ce330c40b53c8fb8033a6a260ce534c2c44e237e15d4df645657ba145522d51ea1a280f16d059f816b566c8cb888d77229ba2c5c810eeb061a4d33033162625e605a68b7db64973aa66e7f263dce53ce184811f1c2eed3d30426975fc81175cca2c3817fa9ab1265dee6cd83bcbb3edd8dcdb2eb4553b9ed9d5102392333f371b79b593d8fb8929f86bb9ef30fc103b5d0df1f5d81cd7ff6da3db205807abf14b89cdd1415bdee9481a22c5a546f06fc08d33d9c9027594b56b7feae87337fcee15184bc46e91a59160aa02cecf28f77befee9e97ad8c1ed93d3c861a6f93b59669d6d7d823987afe97dbb1796c6765684b6dfa182235dc0be2d0dd405d4075501ed2a0d054c2c0a4b618e17e475781cbfb9f8df0813bbf2d1230678d92ecc0f90702ea94804fc7ecd5018fb1a25908a18bb08ad66ed43be82f5e9bc1975bbe39d56d0e5a69a588b8fd2e91fef78743f2c7f585a16df110d11a899cd72b49b46dee369c74ec6b6a6beb7fabc1770e630ab5b18a1277b3d334bbfb7c7f96b3f00493fd76709713132e9ff4b97f662adebf7a4e38f1e7002c7c06a72cb7efe00dfcf48bfbc2ab734074669f3f62d3c92129167bddf12e4c5cb14ea097f1fb14688a3bc62ad901f7467dc4899427aeec6f98ddca64e3e45feda1c46fd682a82e73374ddd7b01f761f276759bf047b24bddeed3e0205da5b42b217041d3d8dca42f2809f951b0824c3f951e16eae380467fca23afde67e390c0d1742dc6e69f9f8ed44a59e78f6dfbcfb38040d80130cab230b6c0ca0cb5028e80d9045051da546b2188cabaaca55c92c6004eef134eac769426848afa0943cf041e3368bf597f61ac2cb5185485105b5e04feadec8bd3d93c2c592edbffda0dc21fc46f9a9cb390a1814536138c148c2b874e560f9c00f8941115fd4c7af53a54f57a913c54333a0af15f5ffd29d3fffeea0d0a6e18f0099e88c55c1d421ee51a41be9c132d1f3c88498a23e5ca9ead126ee3d82148159f25c7825a9daa915eb1717d7d3554c8625c3df1fb70abbb4d424e84d3fc4bb4590a86b6fd59b6eae6937bc23424a96767032a61e371acb8f4e77a9590038ae25181375e3ac5532a63b6b2c3f9491963daf8ed34b8aa0786d210e1812fa21fd12afd12b7b231a3a1ba867e077455fe39c3957bdb764dd5fcd57ae3a47fbc6afaab8e574dd956274d1b04526b82586cbc2f2263194f0f00a36c87b58372ee4cf02ce0a1fb1f1238b7d91d78438c9dbd176e6e0e6f2cfb7f5bd65a65f592f579b861da24d18d4138dae679cfac79cba8be195df70eb31f130212b72cf4982b54214f4d382843922feeebcf87655f2825f3a25af5bed4110423dea527a1df49b2c908b926e90f00f68e0b7e816ccab169d1154a23df856b904228d44a6dd5c58dc4d6f53f37ea1b718a917ddad18064093baf15cb2737528e3dbfa0e3d70b114325917f85e5d6c3a59c6b37b8a324862eed10c77fd3664b09e1bab37b2de1e52943619af4e577b9dc5971b505740aa528d81175a8c0a9cfd5cfb2b9927ccd0e2fdffaf5e4601fd9cd0c943c828ffcdb1032f79030f16d3cce41d47ad3bac820a798b0f7fb31fc330e0dab9d3f38dc25c3e5b3d8a0854f54e79b6e978034222afa1736554b90f34d2b3d432b142d7abc986b0a3a65ba645819bf4e7e49558af86e0f90aba3cb421ae7c68effd2e4060d11fd177368e78a39303be457b2cde7389245392f037aa5c19794f3c412f0bfd52e8212deafe82735d53f02bf75a0f748b87ab96749807069bb0d9d115eb6e5a073d245e751c747d73658db4841d6838a721ede60e743863a4907a4446d2bdf321eb69be2d4c6ce9f03450dd966be704ae38af79360414c47b387613d3d7858e8959c3059b7cff209f6e636947e9299eb6c13d4c04e8773367fd3f6bb592abafe82cf024e4e510fefa102831beebd7c227f999523a4adb1ef7eab84652868523004e58f48af8a410ee60415598727ff603159b66cfd8867de090b8e3ff9d7a9d5bf0806ac20738b0f471338c223278b8c238a27eaf09c3e33b7a5f46f72aa7ab7542a6a62351c7185b2f9a3eb4b7ee1cbcbaaf98c70fe6485864c3f4b3d6708d805a096cd029a2067830ef5f6006edca1ddfdd6c206f68fb0685666693ba1b2b1a6c296d6f2e666d9cab4c75ecf4ccfad9fa3672457c610dbbf715d74a0e803367c541f87c6a08cc2933333fa24022f1824c4f98de561780b65ec83b0ce724eafcd8777bcda49ae867b06c380623b184efdb6d3bb1e2847ecf8d5d3579115f6d8f88bd5de74f06fb09dae00c88d767b1340f9793526c4ea82bdc936f2d5b045ba20eaa33f0440c8aa5a953250373053d152364ee5d74d7f6eb9410cf810db4d67a51b29526ece0445e14ffbb2aaba00019b12a5c065e524a2df52c20a76a04e6ab34c6cede5abedb4cda417379ca409f3677317bf228e34a00faee3d9dcfda6715b44d08fcc677ee4a58b145ece5028ff47fd0faf0b40ea4d9bd7a5c086796117fecc9199fb8554dd1cf6dc61883395c22c5b0f7d7f735ad7a9a5e4677a51411a1d8db64f647fc40685a0c928745bba2b4c022ab50f60f9f0f33cdd82bac7f3cff91fd4d185ddf3f9cbc544f8ccff6ed727f9be5f53bdf9a85a043409118b6d334f2ca3335e22bd853ee3442e02d07929d7036286320e7b9b291d91972232a070a8842bdf850b0b122218f6cf72d0726af8a93cc9b5657eb9a70b41c65427c20515f50bb2e841fdf4c17255ec2e884c9a9900fcdcf25adbc65cff47c05c96f680c4f55f362c64cfee1b068861bfb83f5150474931a00fc8a68621dc81cbe51a3bea63efdc8b566cfc29ea7948fd1d32d39e8d16520b7946131f215fab1c0c5e7d1f4cd4e117fcecf8650283927e19e43c6f587cb048ed95f35ee28358df708e6d24200546e80093396e0364272d1086db8711e326a60df7b458db4ea80ef2ef9cbf6f399d785a8b5c7d3c032ad7ecfb0ef08dc60e37085565919c099fd954e1651d5ddb15f0cff2a3c2b666f90f1e689a29c2f4a466c2d885369ef0adc0f1780a0c1150c2079a7c40439b8879ed7c8e67eb673cb99cdc5fc0735571dcef1b10f397c5a3460272ffa2fad24688a5aa365199e1cd08477ad6609a86ed3ba7bc4e0dd8ee0b5a6598f0013d027f94da964853d330e5a94f12eeb3e1eaceeac59008930581e0d36da6d208470c3317cf24d9bc2e277307f0170318ce01c4f3a05a822fd87083d17193444e3f487d3c4396e346cd19d331bddc283f6c868136b186b9e95b264061660e70679ec9d101072d4acd46194eb193a231b59e4450e8651036096f70572a311dcf2f94fa077f82dd5e7a507543b763e1fb07980bcbf630b8905d67ed446b9bfbfe6da727931023c2528d26575b56810263f7328e58a214a935945d4796ea5b3c6aafdd11344e9695334b8bd7d056ade9d64b25936552046baadb2dd6731d8cdd85366dc7965156e64db378a259a5f6a42f68480138ed76f517470257947319c3b4c427dbc49c1dd02b953027ff625080fd11fba633c77c2b8c5bd8f25574164df5145ba100b80b0299223552ea24f3d0c09408394341056d40cace2158748ac7561d94e99379ef1b8ace56e8b5bea91c5e1fabeb7264bf3dfdc863d2caaf25dd0df9772aa207591ba7dc074b6e024d4afc47213f69b591bdacc1c31d2ce31a7736e6776783f373b0cd50dd1360313da13208cbf09dcc76db806de94870fb377a60a103b11ad0b2e2c622935bd1f25ab61fb381f725a09ae68bab24b43ddea468988f12fa74ae25f37a2ca9565e5ec73a83b0f8f785f9167b81f3d2a242b7dbe2a915fbe05fed3eb30968f07987f4b2fa6ec1776e3f379b2be6e9c8290f77ef41ddb5f40c7fc8560c0ae9ca4ba22d4c34d8493ffc13948351c79e3cfd7b8982d5080efa18f0bc6c19448673973a065d8cb0ae17b24c16b2fe521bbe6ce3f302dce10e89ecbac72cee5d9908c19e72a472744ee4fe0cc25db2e69ea3668d86e85f2ef8f50cb234cb8d630df0041e5e9daf8c04c5ec6a511299cf38f5c2a2b7d689c60eaf1c45bbc50472d8c4560b684f360e7de0bb53aca8d024bef9445ba138e5bf38edb7217df7b51688fca7731c4d0e21f0e01c44ba3c46c2ab323d14e4ef55b60416f055c14f7b3eb6a46782d7b797abb0699dcda3bd55b8a7f87238826db60e53674725144a1d1c77defea181ef74f4c3d31685def410086f9b204961424ac25c7980cec7745e963426a6db29148d0171a6ca7930d093b634a981d8d42ac939ad3b6756bdb656ea2b251ff96ac4bd4df20d0ac2e1c32fc0e8b494fa5f86f99c5606af73a47c6ddc3c07b11f41dae96764b4da0ca7fe718e5788edd358a609dae418d2f8530cd3b0678d300e05f47818d8dfed9d3d33fff9d8d892d4b78fbf9de7ed4857764656f5db677f36db6b90770264e28bb24abb35efe892ca2a10fe1c30babc0e7acc77e7798aaf0c5497c47cb086083435d05accfc09ead2a7e2a47c437983d552405971da67084e1541f8747c30225efdcf7db93603fd3654061dc06cec9a48ac0cd8bd70fb799002575c6c6a07fa6c576dba539a0ed377bfdea6beef1e39553c65f1afdffbe7da88cd4d788a6375179a9cd894cd71229ca333161df3263e500a30017989434a8502d9651cf58baaa5435192c2f46863c76bc9d4f3793f8d0efd7c1a3cd71009435031771fee1271a9adfcc3f29cdc75f64c8b4cdd4b144b622594ebfcaf209e7900e74dafa8f75c06a162de80cd84dc6bd324b63077891ad99b295b0cc68d51babd134eb97ece194fe512a2620f673e691cb2cba7a0171216f7eec0a0d10e5d20cf279a39301e87bb3c1857439729c85085cb934cca388f3a9b2b02e61b07593a6a444344f6e79428bc647f2d253794ce20ca5c0f760bb6d4ac51451b86beb26f27e78f5261e51e8b622a6b659f7c8324e15aa5aa3f509fde6b017f9a482ebc1300ea5e51f5e5b2ac854930bdd3ad8d352359a6147462818ebfe1de2afa741c8b46345710ca054fbb36eb694ac47518c7c5f7f9e534de5bb48b4b8bfea3353bb57c21899fd7fe790cb48005768d9cc30729200dc165f97715d10f1131cbbf36048bfaf4272aa29cd1afb7857c45b155dc9e12aa28eb63e006033d8443d888664cff2bf056cc5b077b420fdb72f422a625f073eb1caf64ba8f07a8fdf21f4426052438faaad298d6e1e68a9406ab7a1e61853a8cf746f182b28e3d44109fd5989cf285adf5f3336b1a66c13de4e940401557ffc007d5211260660eb691b11d9aa21f5d4f05d5438d2093433803f0fd5f58caf8bb39a66fc585c6a5466d4d2ccab0663c4b9c54834068302433566c7b4b95dba9afa051fee74e06567aba391e9b26f147933a62fd05060874899f72f7290eeb02d2dbff5911ab4a3ea04f595bfa6cca24dca568ceaafca920727a7c7bd62da2c2a3ed17af6bb6f27292448603a9f8b16bdf23f03e8f3f2b93877cd2eff810d9f1c6b7df236b9d7a013594bfb9daa2b985efad7fa3229ccb8a67a9841171148c95c85475be9b4fedd6f5bded921a138a7775dfcc7962a13cc4227f851520b717ba4b9b378c3ecb9a50afdfd6b1e4449f4a960e122e6cb90f595dab2fe8ce27bc3142e274fc2224ce83c4adea02be55f51568c6f1d7581d8ce4cd8d5500553ead6dc306f18dcbaa513cab17e23324e5f24e7f77b3f9995c666acb0018a438375929ba7e5c62aeb17bc7fd6ffb29bfb3c749f22bcfe99b067eef10c1be96277c67791bf9edb9cd4b115fd54204e6a59016f896cdf63a1c2f8bf4b58012e6da439e96bb8b43c00bc134ccc41c7d4a7a5035c511f571efa3e4d592f174de8085066d8277a73fb77518926ad4ce9081a50efe000ebc4e9352f07b6b67c3b6237e524c87b1178a843e486da10431c1daebea1fb7cf6314614c771e32e33ec4e7d8efac28bc6a60085d71761a73d326447af56bc8af2220bab4fca1b16757d807f8b57c6407724fa79d3cef3972588bb41019e60be35fe6892e9a3a17eabe01a125140d8c5ea5e04ee5a157f0ce58a29f49af8722e106a40976a110ce63998aa397121962af69aaef15a126a8e4b1b80b3ec37bbe78d74386cff5e03c6def15d42e24afe62b8a973c2468441d4946146817e83849ed8bca2c6a6b31036af2403029ea2110ecc6ab29c6ce4bc07ff693d2b849eeaef5b83696640667d513fc790ec42a8281e0a0af848d5584efaa62f9e26f8d8a01a5c377507c7387f6b0be5d41b3093e554928814e62957e28a6bcab74230a72b20a34cb8d62ae4f76099f59c24a2d30b9e3a63009f29798f2e7e6615bb8b113ce359ca8bde54a5846e7afbaaa113aa262d248f301bd129b0eeee0f02ddb349ddc158abd5023d639096fddd0ab4bb1ba173ab0f96a07f33145781dcdbcd0c76829fcadeb9a1d9f22aa87a21b05d54b01446d7c4d94fa745b369d313cefc000dc6b448138044d1aa5b6a4b06338b5c89b55827b66202b5d681f008a91aa2bd4a9a8d486490d66d0048d3762a27fd8b3b67b5494fb9d93605a00f5dea0a6544e9e5ef131d40f295f6fc5b582571665a81082bdcc800fa2a32635a348de688787772cdfec8cbaa5ce4bf5c5d75ff6f01137be770e3226541367c7f16cf5032a217ccef13c9cdfc0114de64bb98a30d18cdd96095a76d67a243ee8a78e83f3fcb66f0d5b882fd03d4dc681dda680a9e86b7de91655273cbf5e61454fe4619885f39901224322ae465b3276b95cd57e3115b0c067e78ae38003853deb4e6c8f6c3ef3c3b85d0d9ad4cad798897f6a491af1f5fd1d0f2a04e9ef1487a04586ba53129c8956769581e1cc1da4dbccc9665914604b823388b55970a3a56e2d62f9dbf05f5f25c525ffe454c7a93c11b6cf31c5e221d4e99e18a43f6b69e4a12fb24d46374f29b6aee43ed78301285b58a382deda0d285448111940b78bbac325015ddd9bfafa838c85f6f1ca7087cd2c91606ca796b56823caeb0753c62ffced06c3927307ec2e559f978cca4dbe797078416aea323e676ea5f196d4ea9da98a53129d50d870b18dbe43c765e3c64a2113c11f5b1acc08c5bed01984d7d3db8381914594b69fb19dbb0100790feb5c03d05fabed0cce15a6d4f5c0ff7a5cc9d94948c07c0af89b5d19b3d013d71f85fc042065a7fa421366db414ccc0196570d1bbed7e25a6e3d56c56ed8d2660d6042d8d90fef19b13bd6200d73793fe8c28bb6295efdf874f42c70d4c05ce4c613643f023eb2af49b13f91285c451674e00e421a81a57235de3e35277ab96a0db856bcc785808910f9fe5ceadff718e26c57b4b22d2c64e0b7a356a0799b5c3a5e8a9f52865a435a9353b88fb9261890202c7aa4752e24945cd8a8a3b7f38bc2a2bb4e810501b0b073993a3fa39b4a563ac15282ba1409349f5275a1f15a943b3322ddb4467ba5d79c77b44e5152f3ada19ed5a69300dbeb26feba5e22bfc14f64ae60ca1b07eefecbc7cff6161c0c06413f19aa65a9ea2b6227f552bd42126d594c536f0753e1da74cdec796cd0f3938f539b09f9a0fcdd079712b40777862cdf83fd5f833e88d9bc82018ab3973b0b7c8822c7b75b152535534e8a22f750b79c1dcdb489bccba287425f50044d0d339772e300f1547673552af136f146b8e492d3c1a7bbee0e42e5c29a3413f4705c401cae143894143371dcbc133cbe02d37a7ce9dbf5237c83d10f2660ce379ac1c492941432a0611930fb01ea3b93d52cc181944bf293f1133eb076740623dd59e592073e9ffc4f8e19ecfd0f1e804aef8502c0c24f2d678d3125875160568ecee93ad83942dea7f78647cdea8638758c0c3e99176112d3c936c9b1792d0f510a321740d4fbeb9facb423e894267ec5039b38f7aed19151a1b74bc2df844b413eb43a86d255e91b7eec5a082c383437f8942dccdcda1fb9b1e20f9dd81235fb9bac8a87302745ab4ba05e948ebf5ae853fea04fff35d22ddb355ba0ad3fdb93358d5d8b56ff1c0c1ee52807becd4970b3dc459010f38432551975be53e3ce63d543b70fc93087986d0d93709e66a44ac68a08906ef47eaf1c707e6f99a80966407df3ab224483a9b43376129d237f0718ed096fb64c25f4e7a1721b71db0f2f4dc92ca4be7e9d4339ce58abd4f410480ebd1091e33fb2f57c1c9ef9207ed5abe8caaf0ac4c4789e9bd0b4b94435e35612e72fe95956a053a28e5990737562276f0764d7975e1f901bc9f2e31b3fe33b035d10927c443f0faa2f374c1ba6386bebe0fd7901fed6c67ff94f64bb040fc8cf40efecb842496c102c076f590b63630aeeb7ec53de068b56f5ddf59b7ddade016d7837ff8709bc3eb7e69f0d740a695077080085671d59195ab0ff66e3b86ef369f0c4f77d3af1839241074a445168ad0af94b4f5e93611cc487cb52f32b82f4b7467e498a560e2fe63af3630b3aba4e49c6b63fb964012dc0522bf48a6ee165d3579bd3bd20d66599a76dbca229b357cf27b2e501d776c778c6be59702ba561a5356b0c93518ccc870fbad1fd126bf8149d337719e2668cacec4a7f630d81c4dfb0199d89a1bfb62e04836a120f07ef883e4062c77c4b12afba164d42cb6aa295ef4e7009f9bcea47d56d48d989f35e36167768fa664b7a1c653f60b8640ac60b8cc40dc9d34b476457c1c8f7ec2fc2b27ef6c6215a4275e891168afff912b21924e0bd2da88ee8f1688369e4e8f0932d959f81e78ddd392a7f357fb46c93cb53daa3475938a570bf0d8ef4e797699cb898180b1789f6b9d5bf053d1311d5dad4bc839a446a315c56277f4098d442ea993d85ada076bfac798859f40b7d14893b19fbc22e126151ec73dafc465a593d9173586440d59d3d7f376c0fd00070e15130b658d68a0a162ecbba06060e88a51f79d879354cf63d58c1e6908cd4a2c76b2656609cf42b550bc47806360a7b030e3e6f61a5f18b4f0bdf41f2c71c418e3a2bc01a5ce8ad1d03e6c44a1db84c66636d10ddb1046b1c6d76d22bb36f9248417d6e0d85a4351d0f40ad52accc1217f00d97b1dfc0a2586c46a349b64fd9e8e06c203b6d4bb929fb2506575b8b479236081b2cd57362460e41cf848e8dfe2d0c484c5dd81bcefc42424f05f4c6258d9cacd02b4db91b23e8e0a0b5b1b4cc738a5270382dfe508ffa2542a122c5b93060a9811554018f3812978eaefb83d1d650c70adebe85dae4e0703bb44e952392768dbfa4b44dd52ed23772ca944a3c400a561bf5f7eb51128e512645a8c8505cd3a90ec9a7d089e3d37a8c85cfce8b65fdec3d503fa071fd294be52a0b15646e51ae45adb415e42088486838cb237dc619628e493aff4c38edb3e2d5e5fb7f59e8ceeface5ca714a8cfb27a2af9990c0ba7b23170ee0c9d2e073d44226b112a1b32aecd7a77c64e1ddd0747d1ee92269e02a4773a089e053da675c3b6a475976bfe15c5d99117e956b936f7e6df68bb9815a1892945c8dfa43688e9c96859f98e8cddedd5f78e00578486c924908398175089fefa0dd53fe413ad04a9c376d8fa8794291393bcd49d63ec382c7bd634721103f4ead713e41c8fcd774b428c55819e2a40751b588b2d5138562df20e6eb3488c344f9735b51c01dc7f328b3c87a473f5b12cd05e19fcabbe53ba3d1a89f388dff841d6bd4cfaa44617db464dd177fad4bdd9a746870ce67f4dc02e792b6c92a7fc626036e4a51e0bc61bd490fee057adb56467e429f686a403b5d7941c8581d4a32e06b614eecb994436ce426459184060827119650cf9ae4e6093c41e7cd4fc4ef4b9ea6e01f18618331fa0680a452df80d6311b3748be66ae0d7f70ef1dca505a491b72467aa7462752da344aa260111e5b9bf8f42a9cf1b7eafc8d37609a5b89b141a3297d8a89c631cbb7c929f982ef32966a534e9fe07c944bf4390a2c876a0f328096a358d64f6fe4fa655ca935a4db02bc9242d80f4d45ea42f2c7afe048b9e411a584a88b8abb59f0cf8b81188e6262bc7ba487e167b600d1b8dc77f93644e02158abc9219674e770c2f476b023aed43a747bb84ff801c759275e47f0606ef42055a7f3f7ba225e8a5452bc5da1d2227563637fd29095f29a500acc12694bcdf7f37da04c5dc4d78ae591518e8e957fe68c8d7b2aa723c8a064d51d1400eb0b0250702ae2cc79e87e04f3f69c51ed6e674ca33bd73f7053436df5c4836f849e864ff160e7d850aad820fcefbc26b01181bdccd396da08a38010b43090c794ff14e7299b1f303df058a24560cd164000425fbfe97dd74bc57b5c27f6a360cf620a1f6e0e798929130455a6df0dbbec06a5b6e76f4a0286df3a805cb9a8df9ce8f4a34955f3f1f744e8c0a9d2eefd59040bcb4b127b2b740c65a136110305f2ad5b7d7bb01833fc020d4d1672eb9de71a6afb1435e5607944eba3c5ede9508e19f15c6a6c195fb904a9dfc996792de6a11ac08c51aa1e9bb6b791d04fca3d673b68c49d5a7b261e7a0b79395c9872c8feaf3546f2fd506094e37762b5e300d11fe917049a3a5c8478fd71a04ded2fc4ae1f2e07a7ab47069fcd30018c90943d27ba3cc000f6658377c59b9053b03a9f550e67a10f4213200018e104f7a5d230f848f368334612e7e22338bedf48b49d3f5e25b9ac3450a78f01ac464bc64e20a10ee3fb202273bd91d62c1f254aa61fdaa76aef1ab9b4cd93f3093a9856b138832ffb4ebc4d5ad9a40cf72902fd2e7641420bca43ec709a7895661633491260f6d1d752c360b2a4fe6983ef6103b6713f98091df67deb451fd4308bf5316e99c0ef831c78de7e225620c5f2d79aadc0c2e87cc62dbe643e7f2760b89bdd03f8da4b801d5ecb10a55b1a389278dfcbbf93b82be2ee58cc55cddf492c4fb2a6369addf4107a86b87f803258c6c779157c03c484aae2085616eedd4b53b20af8748f6b21b1bf17643dc140d511ffd56728e8b57cadd1bd3346df1af2e913e316efb1ae617c1b69aa05b0a8ea1d89385dd7750b29d142fa0d9c11daa651588479baca7c431e68f2570c16868cc5f95e4a34e1b18a40ab71014c13ef8dc09560bb358dfb3b5eb80bde569cc84bf94a1b573a919dcc782dc65f447cdeb6efd3b9bff56776e1750bafd8d0b9216fe44a067eb1c3369d35f90f6e5d0ab1edefcb6c282f62d83e39eb83cb7144517bf43b66cc2cc84b2bc484ad2a82ea77b82047f0d0b6931fdf0a21ccb8a342753f7703f463916da437f48980bae27cd9052ca4b1b8d030a721a61abf54e23a0851437aa1532cbb44268bfa73eb17b49b57a7ddec92d6ab5b5d178c94f7fe2a373d2060bae09cbad1a859366527ef35169d993873af0771cf7f8a6996800707cbba913edaa2554ca949cc13c8895f001926d94e0c7507a8499fa693f73b8d89c6bdcf05983a1d68d0cc827fcb825fbea0f90ec6e17302c6886f3de5e6a66be79413ab7d0818fa350741ccc0e5f1b4c72d88fb35363239f8016fc11e521911222e0e4a32585510873c1709bfcff49aff3ab614ea4ee1012ac6f6b964a8725aab5d9b18edf25b63907e1c4be414c855a4eaa0c01842a2fecb951aae17a7e7a00871eb2977ab9af0ad38f4233042c4b5e86e04948ff81fa86ac7afb49d1d83aa3157f6c073ed90c9a671bc168bab47a00caeb44e8d0b86815b997469436b7b940b3a81f731d17bee5d79f59d7bdc58da84a7dec6716387631ed9b2116dd3c280a06196cdce5789f340fc735a4865ca6eafe0f4acb1e889cf4a501edb61f68b93d67ff9412407751bc004a0db0cf17ecacee067f3616e6b83a83ff9f48878dcd5b0f011d33d567b71945f1ffac0bf7e68f87657d8f0dc7082f540c62116fb896605adc7da062a58249c35160a93e29a58ba0df7e80995b8413b274e11ecbaede0de9cbaf37a002a0541aff3e4adb315aaa615a766037778b0f5b4f01ac979d1ea4cda40d4310d4844f0c9f9cd92b78282f49a84447a744697fd8533164931d1a6e89c0c0cbf896e68171dc6e1fe5f7a9df611c4672f9e340feefad567da7a5aa983a8be3391fa290ce00b8e37b48040be5550e591df19c3434525c7e4989d8a4b4ce378b57c6f508d26aa870516f7ee63267ffdd58dbe18cb3c60a827a5babf64d5560c01c8a3d9489c52576d0900e5c6e0df4cbca52a0e4138c72f1c247a70c300fca3b18ee15096672b885494711c83d0d7f9ffd41ff9f705c50daa8d211059c510eaa010106371b91bfa775fb6ed7df0dc4103e0ab597aea6e566d2595ec303608c0693cf9f27d455c2c56178b5d9973cbf6ccb9654b6d5ba08ee732d0d7f115f8a4f50ef56ffb02f2e4d5a12c5446d5e2490e495f5a54b71aef6f1ddc8772dbdc4b7ab1917fe3e152f0a5ec48f574780361ceea18ccbcbcd7a2aab6e63c581cc2c3f780a426796cb5f47bcb05434dd21aa461e82090791b5231befd3b2512122e78332e3a3bb651fd0580d56fa452185d2507e2b3f61b36db4b474c102fdd6d2f0f3db44f3a30cc955b01fdd772c814b40a252a96f2aac994db9e94314098e4d496d18fa33f16e74df250dc2cce079231252601d8c8414d601c4f5e677f2d89d48fac80e02c7656a433a6354ceaa982d8c4f611ff6793e943f1d101ea6972e164cc3e45d043f8e0dbaf5820d06c7209a0340217e2cbaaa2a4d89e98774fbe85eb2f155d99db804121a4e3a9d338a5757aa41941045c7f6ccc89f12f4dbffecaaddc0527f11f0ef71ee90e83c3f1764a044048d158b89cc0111e4a85691e83bbd1caa576b02be8924471604c9789d1e2f5ad9b1bc697aa44fb56de5811be5406ff073d0e3a9722beb2cb947f7c1fcc7e9d6c30e23c09846eeb0a21f6a0e8aab9b001d4da6a65e88ec532fa9c5858a3f6e9189c98a705627fc013ca72f22d2d08356e0407917155c0673715f252169068654c1a22d4341278126d6fd910d4a224206645d7d927aa1c72393c796961dd6c5384180b609d1ab130c9a46e099b0c3dcb9c72dd8cfdf28dac37eedbf3a30326e46df06189959c796277c492fb3dfb48b496c0b3b2a4601711957741a7e930c5c9de2820a33fd7320b59706d6b77106eb666c80995b90313d8e4fb8ab7bba9ddc583b711f18007afaa792a7c9e7a254d227604124c14230c9604256757dfd474ca3d6c92eb8edf3f62bf52e04c148d555b2c69e801b0ecb13cc9c765c0bed14461fc539908aec35dedc7a348d2ecf45c57fc869088cdc4b1bb4f8b79095fac1e06c7567b15cd66209b908903c67a793ae98570adc8a80a4fac6e3cec17be4fe3461cbd35f2c0c8a5e573b78079101b5a7caccffad47e67399d9b4ace263ad9bcb41ec9868ebf11b143869f3b1ac23918606802f311983c819a02fdc7289ffc225e39b8b44368a0b4d97e8f30249451003952cbf5fdcf2de8e14ea2cb0721c2b3d25d0e47456f2553951196df642cc1695c63e68ee7ab1029f8f86dee7c4d4ef78934e4736a02e3721eda38eccf393acdb6ac3e657c899432626787118f96e45f26554924c8e55314e781e7257da4e6a2f0ff6c216b1cd61fb54a7d3d261032ab9976e161f92a391cfb026b97981347b6a12de442359c68c83d0447a9bc285b9c8cae9372fee180dff341b88a431615eb8c425f5e74a8674b47d2ac476cd79f04351a8b50a7aac5a2f5b678bf0b46604ba622e5054a65c5c24bb98c84039486cb9b4437b1e0037fd988c6dba9bc203f5631a7c2febdb64b8a7ff43e2bd3950f7d700fd1aaeaf569867f83d3e01baf05ce7d3c84876b4b6b0d1dc70d96fad115c560737ebdd33f94f26e4f47817fc0b87d36117294748fdf1151ce2e90dbfe6e939e453641e44ee1b67a978bbfd740c7beafab17e6d52f822fe7e44a1609ed7f1773f33e8d4ddb51f040847d908a77fb814e126106d737f0a765dcad2bd465b0a588e89b2f3b19a2bcf4df5dffeed3350b20a8fc4bd3eee5eb55500f34f036eebf475d675cc976f574f30eec70478ac5bf86c3a67d632c7d5954a4be4d8fc1699b4aadb7c28392e4b741054e71313862fe7a32d095d88284c3b65a7c9df84e63cd14bc15cc274c54dcc154a31c4dc9c622851d5f3fd0046caa1844d207bca03d3d82c20dd59b2f4f852b12011a88951940afda134c234a83d40c715fe10b3c661bc46de020333608586d211eb0c3b4dc296bf695fc08b9eefc8af6354e3804378d821ba8cbb83b3fc94d0628b6d46ab870cbccd0bc35344f15cddb268241ea0d71d8ef08d8dcab2ce4f9d2181bb3c6ea9f3f0e1fd41885892f18a631a24e7588d04c11bf4ac0be001f4b5b795b895c3f9d7f28b1f5326bdea1f16d6463cc40209a195afb2b5fb3696d048c5d7ec44b9b1e6ae9ae25b225155bec20796478184c6e468128964b7b1534900fdd5d77ebe97507f6ad375f6ecf52e94606fb08e5c5368cbfbc92512732444bd2e3c0161492c686c9059bb018aabd50f3cd81b6bc678ff16aaf7dd78b165e6324ae4335843c533d3114c2bf2a3b91cac1977cd1f013412ae03426bb6c48a55683cca1dbe7443233e8e8417c0f639250f5b6f87781cd805ca2ec88e3f43ef25df857b96699ef37ada645634e832d3aa9ae1411043b81182262fe5d1e2d5e7653d554e420e46a9ef33ed0d5e78cfff6f0ddbef1efe02b6f9029b6cd59785b884619d4e9e7673210995f1240e76e209839389482c8eb0710ab71090e08b3eb04df4342dd076e4e99ecfac2496b5955611a20a7578f1186faf5f34f72928b7753a7c6f852f04b8ed8ffbf294a52e5f76e8523b8726649023825d2de08587fedbd9ce000bee89938dc0b96abb730eff01a4ac744b40fa4ff35742a5cdc01e9028e516d80d2aabadf5329dd4f2868a91bdbc33d0257ba81d66fa5ffcae48a7333623cd15f30f4159abb390c9707591d5838a88557edfe693262bb995f323d4fdd35b589fae58b925f0aa4e4fc4853334f7cbfa4fae7a48446cd7e2561ecafbf09c1c548e9d9105a9e381fca3dcf1714e2ff891cbb190126dc8794dd1c33d4390245a4cc03f73efe45c5e0b63b1f3e29437f237d396195ce7493907aed3c8047e7f29c9f0e7b2b2a646169279d70f38592c57bfd5f078487d252327e0a7ab014cb1f70f273d261df85929548317c6e755eb1f4eb7871ac0d31bba16960e9b690de015b8e0467b8ec72f601a66b558061bf715325ed16cf2aab599affffcb78564c0ac3be01168179b2aa0560936872c24fd7969e8a5a6eb9da90e4bf5e983de4666185f33eb7eb58fd9479499a595cb6ab5e1776f519592d7336589c2bcbe2edc481ee67853a6549e7fc417731fac163eefe138f9e3ae5e6026a9aab4b715fd75393d7dac7471360a0783b789cf113ae36b1c5413f7b2e0901af1891482f4dedb42bac546d970fccc5946297e9f7840f27b72e880343e48a1b9bb37c9fed3dcc454f13e7a13727c6d63b1e37ef2dec72a572cd568e8805382a0d1ed471f424c1eaeec8e470cd25965eea4e5685ac96ee959673887fe9ec6b83959aa17da5366db65825f68fbbaba4d850630e5dc93739052695fd21704cb44620aa6f5a3d3e721bd0f7ace84c7ec65c114bcaefc055e2e7c22d5e7a59cd6e5b8b02417cb450b8c62b39cfd512afc175f7cd6e5e8d07ac5ee6f806afea28969b7e574d7f37ec4eeb16bff39bb7b1db886fdf245524dbcdcd778b6442fb64b998ff916a4d9c7a63cc46b177850661b6fc35de93fcdf6b48de0b8195bfdb095ca00b659a7fac94be1c8f01f50ac37a233dc0762b8fbef1c002cf68b2374cd7db7c095345359839a0e583d8ceb729756f911d507f2699357c54a40a65e4a10e1c0ec69252c9d79a16b0759595756cdde03d231670eddb70385c536af2437b78ea91373ed7237ffad9d4c2806e8004f4fbdba89d7a9ec1d404add7b5c2a40ce647c9e071e6c6c00414b81a2d72ae5b3c3d75f03e8a9544a4ce1f2578a679bda1e7399665f1d9c559e0404c140898b629aec4cba1dfb0ccced465b8acef461b90e21756e4b1df8cb86815f5d080249deb147a12b9f0dd6163f0dd362af7cab83476d77adaa2020a12d00bf7724343beb718e61aef9f8bad49ff2553dee59375572ec54fd4ccd5ec59dbc17f77ee1d2c139ff9a16bf2ced0ef3a80f68fcb042b142c63563405f83b0aef7500294026b99d87f3fa0dd6007c23a13b076f4a4c39472f06c1148ca3fd6a7a7da01d07eb5662c0b47a518156696e4bb99d7e8d3e84a8f7fc04ee309ecc905476dda9b42051078c0ee869576ead55b3a61699a5c987c01b60a283b9e0290e62268b671d433e0d742c2cb0d2156feadfc5ce4f88b637977e2acaf2de47aaaf2ba825d4001299e1db2b897b273392861d407f9bf85c1ac5e52a8eace4e3f6669ca125b1e6b0cc4bf6c14a34aabd41d6ad856416945d13aacd8144b22cecfa106fd3e319d9e2a8554e7eb1635b4b8724f1f817f32731d38b77862c6eb5a571c62c72dc5ed387c78c91a17d5105820efbed83dbec0214f7a715a76621b4ea46dde359c029b90e34862e577be943435d9e0cc3f1a0f74b6eb1326185130a465fd08f6313078235d56c72830091627827988017161c21f7f8b6805265f88d528bd93735754f9fcadc7da3c5a8aa86e12670dbf07218eaf77b73da95b4be684b0299bab1b183dd3e80bf2d590fb6fd64deb29c4a46f3301766021291038c2db9b20c11a1d52a71e1865a4f0df3a1f2120061ec556b70e42865353bafbf24bebcc019a8eec73ed82418d6e0660af0cc86ac34cc74c63ff3a1933a777782e56b61b20333294b64e35a636504ff9094d7cf472be5254346fd360fc5f84a85262c1d70b0ffbe172a71fcb9edde7dc417e4cf65224bd197c81ab0c6e82c0b2fed586dde375f0f53e9f83e6846865f3b1f502f2ac9719280fd1961afa19a9034632fffbc327a66af5533ba62f39128016befda8b676b1543b0d1d3443aec6337f498c865c4650f461a9ac5ed25e63f2409b0b866fb6072dce496f01f00049344a3ecdf6c7cf1f84d463cbb9cbf745df604a5514d61126126f56187b7727f091e716e631c4a9d50d8a76399dc29f9042fd9393cefb5b1c28d954d5f669726a8ca73ebdbd62b30934b201d6a93f55afa1fcce68c92cd75b237b2208b5bda15dc5ffb9414caf3fe820e923ebb4319ecc6c12102ce805940311231496ae64a82058e9710c805efaef33d296b8994ee3307cc55b776b32f69531f0d7c1b5816c59d7510d81036d238bffdf09bcae13276db151b9b5fad63c0109b390a2e3252f5180a6669937de657802fcae23461eb8072d8b582d4f5cc573626c6886e70ac71ae8b097edc6d20feac0eb4dbe51f420c8e424557403a1fc10dfa426fe95248ac5a2db4649734449e17ae0ad961ddab6150f3f2b4bd455e657b5581b636bc1a97138cb95618cf5ad0bd31cce4b6ae1458eb5dcada48f3e0a5ef17729be4b08152646c32e95d73c7d59adcd50fb1166cd558299fe5022985d79343b7297a7dc158a9edefe9a43941e8147b58bcf054e39dcedfb9f8252862899faaa1a763b65a79a485b6dcbdeca39cde781dd8c18d90a452f49ae74fe38c822e9196558237193bde309eed78aef7cdf2da9f6a467febfe73987faeff62febb1dbb2c1c6c13b972c91a73c05fee5414dd1cd26ac44d57f60a42d8f9000b20eacbabd1a6ecef5eee0a312a4fb7b1d3f7473722f12fd4ed0e519f0393d4eed4b4d330e9de586f0e9640dd0954a95d82d8bc72cb6028a122f8dfaa6ae2f15228a2799ab2f54aeb0efd88e02577924aa450dda0ce42d78a91994a40fb760e314592ce0d1248c8b2feb98659fb521472197ba476a4afc87bfc40ba5e17e0e133f3160bb79c192f108e7d91cc90e63ba8fa766708b5aa9944828dc4731797e286192c7ec4656b23780731eb162aa17863e37a96b604aec24221779f2e36fa894414cb5e0bd3ece11569c91e1e0a3e09847b997271d39638b1f35b04c8d56df4d6b141e019ef3edabd0c4fa8d311bc20705ee6b6b9419c364e8f2a70cdd7006a08ec5f27f2d69f60cd5bb7179820f2b5e7b70242fddc4ca8a0b89d761894ffa0ae9be139be3c1d617f3637106a20ed86fda90ee603e65aac1e1142de6da6196cb693526fdd4ea5adbe31349a0ae90d53fbbe73fe0a3e7a25527a03725d84367b38715a8f845991befcbd98679120f87d7701a86d42bc1ef28b678e262368c259c64469c22354863023f80bf977a3c00fad53150f3a995fcbf518819fef751f1095cb263d10f0744a09e98bf5b7c8bfa3e3539096d9d1fd23900d4b071aba13e70ce658d799ac211c11b835b8bb5c3b391ecd31ef885f1e4bb1676d50f6b98c4a09cfdcd01db882a0e9f6d37962dcf5a8093b50cd6c743165b344711d81f6fe31249b03d009240e8e595a984658cdb1cfd14774473f2cb16d7af6cb8541f7362c62149b5c24d6ec8619f79e08483220eec6aa9739c0b52ef0db264e9dec0ac3f12d125797a7c3b5a1e0b0942bcb76bb620f1147dea686d5f53ca1e07378afa9d75488f7c87c851ac5b6a5ec9c4dc205df694fd794ef2007e070cd009feed223d1dccde195627842cda93bf219115b65ea3e448b62d66a9c35d8217227d556b99c5ebc30dc01b55dc4b8823c77ccacecb1018da255a27fdcbfa6f5957c90b4e6df4e50a9a51c6928414175ba04caf44bece1db20604aec169419bc890b845eaaac842ed5c50553144c6a0918ffe0349fcb46093474f983df5717e0b6fc58b6ff3c5ab42dd640252a76157ea4ed602e8de0f910ff130e6ec93cc0a3f03b597adf38eb249cc713e7ad58806f4c309763e3965a8def12f29e3a28c87e2014461f62c19c51c810c6eeae9cacf69cce74171331489242bcd675248f9d5585203b6a39cd436c4428cd8aa7a7d82202d20124574a47bee3af7f1050e60871cf7af447f0a33c7f839fac1cc603051530bfe2c68672a5dc2d26ea76247acb228ac32e758d86ca5fd53a87fb2e918c787cdef695f1a6bf8170a50e0eb317b6df79240681eb1cfb94e19c267098b633dca726231f7f8929655349c386476656a2018ab7639a7b094ea41d4ea05ce62ee00e65f8fdb5d8360b95d007e85b1b6ea32e2162a9184a5e6ecf930dc7b950126c3130b6583b3f4d962528415ba49574938ee1ae190b131c287047c8d0dfb7ae263ce36696ea3bd9ee878f4d32fa05fedd13758192204d0d80613facbd6c12904005785b0b941a2cf680c1f55f98668cba07efe2e9f07c43391b703f3ede9ec6efbb6765f5a124e7c2f1111eba0e7c6ec15e50307f3ae4ab18f8a1f25f73117caa7c611c54c633b4b63928d0629683716a1330e7ea349454cd8ac616600868e73bd15fa205da6cdde9ee6a1bdf90012fda145960057ea690dbcabdcbed5d50a5613b6a030a92537145f296c879390f55d92f2b4f516bac23d8c58ba15eb57c92e639ffb0285d3af126dcdf1f46b986134d9168d3300a029b80baceb07c3cf358e6837827e8ded51f4abe8237a48ea987c7133e502fc15fe0c2765a4485ae309e46e8f870e145bcd0431c4ef430a7d526b3bef6b98a400445e7ce4f86b3717824e7a8fd02b04a75381f1da834ab645a4232624cf304b31611c4d31639089e90f635b9c370369f8b7e4f126cc04eee7aa4a00b85313be9f4b4d27eb48f5ccefd6d94213fa9a071506bd18a33a58f24c222cc47de6c54ca9a4c40354b174ea1bc4ad8bb08eb18ffa55965cb7446ed52a4265f691dbfa6a12254eaa153aa3aeb4daed7e0c3aed480e06a7219a4d34d1365160b7e8453e5ca1cada92fdb5711a836a5aacc90586554c3718d53f2a14d9d7d6ec778cb95e32670665e1d0c0ed846ee61d0cd1ca03de09770397449dcea9bbf716f23e0939947ad87709a0bdaf3da726faef2a80235617a5342e7080daee47710527399dc27399b1aa2f07e7b8d53b41db1451f68398aef6f91142a8a9da9e47d03142f731f0f651fad4fb28a04e89692678133b752f563d62fb9901bebe485c5f8a3aa0cb203d0e8cb03ed2c5ff40aa3646cb796633add1a640205e55a4014c9619d4a7473caaa76c7fd2f26bcd46ac2ccab680bc7ef60c246098f8a2e956cee41539dc82b8396672ce8029001675bc769f39cdb7ac90cf4443c84d94af06b10c35433822025a2a97e2ae25bfe2ae0b511ee6835cd5e722208938507260adcb3e353806c67f7c9086cc829949e4778592b653021cb85b547ce286273b1f801004536c6e142ec059261809a91e7276699c3a4d21aed20a6fc2b6b8a3399cd7fa82e019666a573e9b492169cd3d41d8cd98f00b204e9800998ecf8427eb8b087b2b06074e2985c768e8bdca35797ef86e0d7eab1188fc59872e741fe15002882e4e8c4ac61d9737da3b442b56a7349ce4d06c82e13df761fa7d0dde7fc171204fd074c18ad0be090b008e34708628170c605a4ba3b3c2bae97ab5927190b3312551fc426fa015a11ea8029142330ef9c7c2fb6de9a11b101d578d89687dfcff94c231969dd3a6dd5383e7850a0b46e228e42452031668e47218ebcb5d2bc5d1612e4f4a6f85427ecf28cc7a66084b5a9ec6b8b236a95db3437877407f42265fa4a2726bff5a31d39db89247cef9c06564cfde97724673e58e06ef1c91c86c8c555a151b186db23959d1a4b503239202e70470be1d863a524c21be6d00cf267dbbc34ad47e02f1fc8ebe6b74e3adcd77f2cf67cd100836bd291df68ac041cf48cb586ddf906b355d19e4086423201d559568572de6237689f56559f7209a6100098e98b93fbc52afcfc260675de14de9d2775c52e2435bdba4c1145f0caa0da253a9054ccaf71e08b9df8e5ed95e4ca48d005262985a984de01db7491150afb2bebb66d34ff227b3c2acdd372f0e0751825a6974ab4567e3ebc18cb6ea68d21d4263b48bbfcad2937cbd2cd89b2b38166fe6fb5b7c962e219079043a076bc957586a6179d5a61526fa2205c4b319bacde4cc68e25a74708a50d7538eb70b7f2c1bd804c39dd6f9b693ece627b824b46cd1e2aa554dad70fd9676d2e6ad7c575f3407e38320ac9a2823f759202ce10a715100b804f8279198c9eb36dc73a2b860e5a14b7caf084e4300a300a6f0eb68f3b9325d54a06cb52c487fb666f7d3e5f700a69b700020055d8ba2899d769875caa55e878310c387eab89ae7bba30f040cec9298e25a50badff3a5e30a45bd1bae802c06b437e568cda0c70f40f47a93109ebc49d8118affda77d57ede1553933a0bba8fb52065317d551d8330f41586713b0c8cd13f3d7bc1727188431d144841e215ce7b0a570943885bbf6da056db27159d67a81169daa85beece4aac02421a825e9ea0c846c4239b8d1e7c61ad3979be2c387d999515cdce59070747e7fea278c77dabb31ae6d0d1ff9bc1227be6e1802b2aabad2dbe05588cd06387eae76a0d493652680dbe82b305017db8bc41c70d0a390e67fe978160ed83b68f4d9885a170b8026a4dbfbcac7042604df807f10b86342e0a8d3cee4660254537abf36fe5132c4d2b3bbb27414dc37f25270d8d56d70140b14fbd03af934a60f303b947d62946715f9334b14ec258be1a9811c1d83770adf4edfdb04bfbd78bc185a84f282ee65e48707bc0f4fb20f3a54c1119da5187e75100411f3a4884c0af2d0155bf4db3b1d9450a5fe19a6ce97ecccab69ae6ff0610f2156974c6ed87d5d629fdde9d646548b503825a67a7b436ad5871ef2a6bbd0322022f0f07244ec4fd5871ef2a6bbd0322022f0f07244ec4f99bc1e500e3a7c70fe1e341c7f6dc11cbe59055c81e9c00d83bd5a9137c18bd5be59055c81e9c00d83bd5a9137c18bd50c50cf197c91bee30e6453ca3fd3aafad41d8cd98f00b204e9800998ecf8427e7e81fbf7ff77852edf04aa9af62c25057e81fbf7ff77852edf04aa9af62c2505be9de2942de0a7efdb6ef017ed9ee2c6be9de2942de0a7efdb6ef017ed9ee2c698031e6e247a54a8e368a7581429f249cf19c342fd52ad3a15a15231fcff6de66aade63c500bdb95d1bab68c421e9f6b075ee531593cd2520efd768ec0afbe64c70fe2355c5b9532ed2e3c5aa81cbd01fbf9bb3ad8ab1e0852490de527a3c58e5be573fa6b523bae2a09524817eb1934a2a4f76dfb4a56016b429f8dee1f7376084e1408f3337f6b17635403ea9f250d0b0a84f82c798e6cce384b575687f1194a98ebbab06633b114ef8001a33078d3045ced4f694bd6c860c11a86f72c783cc20fdd8196a8c2101125f75dbd160aa56a67a53d0a857e09515d1b1ae867110a9339feacb120e3fabfefb1c321e5ef887fe8482e843fa5261d5315e4a88f792418c087cafc6fc643387c4103d4e657f4e4f53d3c7539c3c60803562efabf07a0643fe2a01cdb80f9d04944d0633a3377e586a523a7481345140cde3bf8031763f476db7e099821fa09fae0a50fafb4dec2fe28ec8705ebc00d917f4c4bb8df61d1534a99ef2c20b33029ebd559da241689976a82aa854ef2b2b9fc3fb7e5ade741016141bf664d349437c25220c2fc949376b55503a3d5f212697b620df6c1783398934df048828d9db3160a83b072236a7e381920237b00f1cfb4eb917d9ff66a7e381920237b00f1cfb4eb917d9ff6ca7f726a686358b09a6bc3455188fb21122e97aebdbcdd5812fc2cdca0c99097f1b186abc7a482548c4e0cdd9d3625882e0bfdc0eb78ca744114b42489f077d32f2227287e2f75e33216ee326fdae4eb4b0f53ffe49aae99335a2d0a81643f176ab37e536b723f6cbe07fca073daef038b9c32a2047ba6ebac2d25d8642274c2d30a2f4fd0714ec184b5365c1782e01ce74891ce550d233ae0da469c1cfed13b72a2f3dbdf1d9fa96ff61da28269b52f9769589490ac420463d64a8b2221ab25dbf4d1cb7450bef9dbf767a6bb6417a80ce4a4ab9799d6ae89da93bb03894410a9c5ebd7285afaad856f565c2af3ced88cda9d7256db2f152645ee7f192dd368661bee7d4753618ba5489cff40571cee329d6e038d4f805c0cdfd65550cbf90cf42b3fecf6fd05bd87d3ebd3d1bf0eaaefb52a3f5ad4d766aef000ce50b31aa4602707015a9d0f62f23716264cb36e02602707015a9d0f62f23716264cb36e02501f6c971a9373a0f891b7b60328f1179084c76508698fa002ca33da5ad774a69084c76508698fa002ca33da5ad774a657a1c8798fa33e8ac01437b1d188b51bffa6108f5290188d0030024744de853ac3227e84d81e5a83dfdd28e5e6d084a06b5b4e1610159d42b062badc5add27f5b0a47fca33808712e30eb1f50001a3369bfb82166760a126b9ef0482a0ae2e9cabc3bc9b9092d2fc338f587e0bed23bf5a14a5b337499415fb6a82546de97375a4cecb764e83d360f4640f554d70903b7ee13cf245d7150105631ec0b283136fb3af09ca4087481a5502e120e9ad626de23f0fe19ef24e3d72a5fffdd19d1228acf7c91d35dcd826ad96a19de2bd8ed9eb48d1d832e01d829133e2a67fda1a0ef12a094f5993e325598aded094fcd35bd0c162996d68b95af3cb846ddb8a0d59e3172d2881e99659a02703e84ac190a90fea4a48f13700ece12a3496840a83735328f257cfd0790f171bb724247e99a8129d0534362c4bdab2c077b8b29d70e87d0c32cfde8c9770e54afa4cde5b7499ad1348d1e1397761a9932a84f401c4364753fc5038777913e110f2e9d83513c8572057a2a843891d29e8a68ac50bdcb4ab19d533023c103473f7b93f44ecbc9bcbde5e13d191b5aea01c64cf8fc6ed1c9ec02c2c8486ba399c5bb2ec499e9fef53a2766d3e1ef228b4faeccdcfd60bea11d38b0cbc90a63be4dddb8717307358ab2e0742a9ee3a23f812de31c10e10be193709c6f740b4949f90f45f47dd8807d41d8cd98f00b204e9800998ecf8427e87eea4ac69e039d5ea4016c931102a7de84457654df898fd74d330d079bf9c8fd41d8cd98f00b204e9800998ecf8427e0e3c51cc065e1e16dae8548be7ac08b73fcb8b920b77f7db88328dd491cab31f2ceb59d7710fcada64f333bf8345ff2e61b664ad12737cbcb6388ff293c676151c13ae2ab0c6b93289a387dc36dfca8ecd7b2bb3682505e4703c41de084d7ee88ad62d42efd00a531577b500a78c8ceb7e1995df0f8366e50a96877fe9ba8b88845484dd6fc6bd72e8c8290e6b0b07cb770b60a87e7b9134e9a1fa24e28c999183cb91918bb3d25dfc7b8658b78075d8388d97abf7a10fec2b57cb1fc04b75875152ca82f572b7e75f04b3931d6e905a5152ca82f572b7e75f04b3931d6e905a34b812ad954b587babd7df633beb657548b594782c2c6886cec240c57959974829df8a88358e774fecc7acf8c3e8b733188c08c39b07968ca0c2586a58185a8b53a57d655a079b505cb7ffada1212fd338465d674731bd67d0050058a30e46f906b8fe59e07e939594f64d5f9f44cc05346394c0e87701205958361b12743002502cccf2aec4fcfe3acfb3f9d1e99440e22c842d9c4f96a9ec09c42c67704647911d17a9b612a08fc71a558933e5ad9b0d6e02f77d598875dbd577db1d193e54a16f6e71d0789a727144d2770da1155042f8ff89f0593769d29050c61459ed057d85b80366b6246e66c8228508508e11257effa6c8370a229f8092c9e14f17af1c8bce6bfa83c594fd6b39592366bf72de03c80328e9a3e875d641e11349ce85d1c9d4d6c8298009b2a3aeecd684db72d5b17207a395d8a544610e7921762bd8b1c42884fa5bdbde53d64cff469374fd3e0975740eec3481da4239017709545c418537cf1891c2fcf900a521c26959541a0a97f908aabcf4957c5314042fa3a015e1e74513773b0b2ace4991635de31e679ecfa6569224e4576452e70266b5a3362c22f3c22e7c54621e690855780268362c22f3c22e7c54621e690855780268837dde9d393af7be48c20a15e7e9fec665eb0e189dadac7edaa0ad15685e41720a7419178a93de5c1aa000a564363a9c5b31c89d1c8c379730375b9fc5f8b07bcf9d001049bfdf64822a412e349eb08658f3f250e4929cba2fbf96502fa106c33aa1912cfadf2169c6ce2bfee934ec7e6e4530e52c7a42ca970296b457c3af0fcafd9ab382cbe9f6633febdea978fbc6fe7f56a048c7c72b242cc63e865b099744ab4bd21dd81b758e72b7c6fd3c3a4a1a5aeb51218d6e5fd6c40051b72b8a19e87f4f9ac2e46d819ff407b1fddf23c1a2462aad4201c666bd248300bb99b45fe746d6ef428c94679627a5fba74bf6b25745cb21ef1f0acf43ef6ea98ec535ad84f707aac14d76425fb8495c8516df43c520e1904dd6d3a8b92ee2256093c41c2e6537269845624bbf1f86d8e769a330bd07ef1831434136bc09438f3c8ac75c272b53ae68151c0ed13cd7d2ded4c0db45dc98e90fc0bee185125e0653e2aebadbaac1548c0a0b967f086ee620b402fdfe55146f21a495d4f02697ae668f5a1ebe59301bddbf2bea02a986fe6991fe39fa09740a6f5da0902524462f4320691012f5174b535043834ff50e8f19131b4a16245b89b537afd476f9fe3269594c2fb65d6216ac71af588fe69b225b619c12be792e06439c7d53b823221fe4f878a8fa03ef55f5adc02476805adb0d00758b1f2a3b25e41d3f464ca409de75167125649431a2d492904950f238a809141fd07227e900dcc1eb5f930a653d237a92344502b39eb151b7e486179515883595e75a9769d73d54cbaab46ce45ed8b69693133d9dc2a02f0b627abab4524a808733dbb5f1d76e3183f45068a17a2255ee5875cd8d0e79f65c747cce35eed9516c14cb5f4fd1052b73bf8341b211488604737e12e3b87772606614f69a10b3e3945eaffef427edac4d8ed2e0ce027681d90e8b170a95b6734573dbac9f98aa49b026951f3d895f6af1d891d18560040020924712ae1ccc39fe77e8a6ac4ac7a1cfaa991548318699581c8fcb74d12c138fe340b08923f79b25a497a82634936861e55f45046adc0da02a7103694cdeac77e7c5ce248ddbce3859b93046221fe9a2c8e6cb2f1cd0de30225807901db862eb5de42e2ed6cb7bf42791a811d9dccb7c495dbc9cacc35f25b92510a30d1d73ff42a43420912444ddf0f299069d223ecc14851618d7f61a1ea14d9b69ffb299f12062d4b8a89fd9ba879235eefea32480901ea256ddc3032d9fa367a6b87960036dad23a5465402cd1f2c7fb7abadf4c0e5c56e340d83df8970f41be4ec41508802c7bec396b27d8619ab8bb648bbcc64c071db2b6ecc08e6642f384c5ec17632b567b9bb0bcf2ed5079c7c5d1afdd779eb25620183744046ac2b45744759aa63f97626dba14494abb5c843786a794b1b748a1d68a09ca410f629980409c816c3bbfe4a7d084c4e0863321ac19e82e833bca93594dbea6e87a7713c0f4a893377ff2faabed0585d0354aecb38ecabb3a2a18c16056059619fd8fa6fd5e12b1614524ea22d1c93969582a7d1100cd95d2620eb0308ea5ce8a1c9878ef36871ba8360dac8f9498d7d78ae41b7744b280839c25fc8b641f2d23d79966b516d92d3548c8bc90285c3447fedbb6cdceed3bff86591c0d7a4ea6b4dc0703aa8ceb50a2506cd3f1dca958d6ed58b3edbc85e1125bdfc5c1c7221d29325db7a57401512697eafb3ecf6b7c024c5af71e380cf0072774574fb7a397f4d3cb2277cedc892091cd8910eb5576735e525f13bf0c7a8901060933cbbf3f77a8841fe153baa9d84eff37c3a486ca35dd9dfe15e1b5bf67c367c5812402a252ea5afce8e20c7ccccaada4d42d668d88420aa47f74e75ebd843e50284b81e74de54f390d57847b62907ac4dea01e328ba5d3148d5b0417c0eba1b8cf92db4d9540bf47710dfd2b9b6f75315b7a6768621268aa85f59c0a68483fc1fa5e28ad0e48f45cf602cb9f3a3e3c8e1c495ce08d44aff81a137e91047c49c1bff8c9e28d93fe2f2387d0806ec9f1f7c12715d31e008dec7bf5b1fa863606a14cae089af56725081934eefcd43bac6646ac0b866be2cbf4340190ef8226cce638631b25c0c548aba2b0f462133285fae2db46f3c04f76bafae9ecceac1cc84b7245a60923cee8e497ae82b6f89bda2808dec4aa35c4a2299819f6cd474202360f0f944776ca63d6a59be6d3a4f10b232d693f8895dc6acaf3f2ef325cb2bcd1bb0013fedfa34b0953ac0f062711c924576d888bc4f33e59f339422eeafb87dc85c60f4e8b09b2dc05d51562c3b066239d947064145827927d21e648cd819f90fccf53fc111e25ebfe3f8e894ea8863ad0e6f4a0582e7ac4bac7fe18db019b096f7013c1d0641940f90bb4e2a04148d8853932f0281043783fccadcdc3168bc29a0f7cdf295dfc2e874df85cd06f62cf282467ae3588741a898eeb58f165d7d86157d1a4158543e6cefcb7b36113ce0b906bad203f5d0d23dfe2abb5133a6bf4527395f33e19d20538ff360b97e2fa6b086b31f2544a6c5cc35e5e3278b28d3de8dfcd4efefa7e68f7eca84885bc421aa7f6eed7a9fbf15f5f458345842daf7d58a7765f064fccb7cb76ad9c7f8493ec3ba4ef9242e1a39c59e2fca98496b59fa07abfe904fe5582f454eeea2b2b485aa235f568e8ab69e74eabbd56d81e0294cb27b208eb46b601b6507689a172999c643754004e05b0d915b6be61c1e1594c55178d35ec5ee53c91dd2d8d5248162bcad2d8be3b2cf1cbc870830d343a5eb0a520d75e7a2b64b97215d00d530693d204d77e3a1a8ccb2ce2a288f3a8601889d2cb96eeb6d8d969a55bdbd26bc405e4433721cd5eb73591c180d0f1e85fc6e9356a04e631fd557c7f53d7001f33c734d1c7369f9364947737f0e68207824d7fc1e82e4dee3e12916d352b905969b92f6027a13f300bc7637f123c5ef54f181b963606e39d26aba2c97d5531097800521b52ac764d8d0c98ad720c59e5ae06ca5c6817efad521dcb8e21359a4bb1a71e72ec0f50342023c1cf6d870a3d50af358ced2abd01dad4f0ed16c1535bc22211db8c1fbc2213ad21d545714bf0515b3f7377223c96c658805a101f0c29f83100b4b2301f6081daefd0784e3a3fa16b8ead8ec832e934e1dfbb1fec0e1d335b033844feb8127eae70a301b27c2afcecd385bbdac95b601a1d425505cddf069a7a62f83430a2b2554a5f67e30613beb40dfd62bff4643c5981f86eea6dcbc9a97e001698a49c3117e1d4618a4389bd52c9fc21e634234778e072d357fe9c4afc03f497fcee4868e60588079a322d5daa828248f85674a3ea6c0d458d8f9140ea46f6e7b467e19ac766eadabc84dbfb43a98c5e561ae5990bcc949c87a7583041c250346ac6cd5f4a09950a317e6033d1c250346ac6cd5f4a09950a317e6033d1c250346ac6cd5f4a09950a317e6033dc2b03242d46d40b493715523e66b939f25fa8092dbc2c2d8df3be836f7002394c61294edb1a89c8d91f0ca857df572fe2b1cda168e9aeec4613a9be176b9268379c62345857aff7f890fec80e70d01ac06013db5c69b15f723b5fc7ca8e812b0dc88f085696e1f26bfd8406b7de7b8fb662f9f68d3ba852a2b61436dde9e8d5f90a1b22eec6a2cc1f55f958552c188bb83b5df5ddc66a40179af4678e0aa8eafe898244082c39b443117f7893ce0debf5a8439f4f1d75f19ef2803ab6e366bd0asm-x86rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootvzkernel-2.6.32-042stab112.15.src.rpmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿkernel-debug-devel-x86_64kernel-devel-x86_64kernel-develkernel-devel-uname-rvzkernel-debug-develvzkernel-debug-devel(x86-64)     rpmlib(VersionedDependencies)/usr/bin/find/bin/shrpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(CompressedFileNames)rpmlib(PayloadIsBzip2)3.0.3-14.0.4-14.0-13.0.4-13.0.5-14.8.0UñpÀUæäÀUå“@UÏ)ÀUÈ’@U¯…ÀU¤ùÀU“Ö@U‰J@U‡øÀUa@U~¾@Uyx@UvÕ@UuƒÀUmšÀUlI@U_@UYÔ@UYÔ@UUßÀUQë@UF ÀUCjÀU:0@U0õÀU-@U-@U+¯ÀU&iÀU€ÀUÝÀUF@U£@U ÀU hÀU.@Tý‹@Tù–ÀTõ¢@Tï ÀTí¹@TìgÀTë@TåÐ@TåÐ@Tä~ÀTáÛÀTáÛÀTÜ•ÀTÛD@TØ¡@Tи@TÊ ÀT¿”ÀT¼ñÀT·«ÀT¯ÂÀT­ÀT›ü@T™Y@TÀTŠØÀTˆ5ÀT…’ÀTuÀÀTto@Tm×ÀTk4ÀTeîÀTaú@T[bÀTSyÀTN3ÀT>aÀT2„@T&@TÔÀT š@T ¥ÀTk@Tk@S÷0ÀSíö@Sä»ÀSÛ@S׌ÀSÐõ@SÆi@SÁ#@S¾€@S¶—@Sª¹ÀS©h@S¥sÀS¤"@SžÜ@SšçÀS™–@S™–@S˜DÀS˜DÀS•¡ÀS‘­@S[ÀS @S¸ÀSŒg@S‰Ä@S…ÏÀS8@S|•@S{CÀS{CÀSt¬@Sr @Sp·ÀShÎÀSg}@S_”@SW«@SOÂ@SKÍÀSF‡ÀSCäÀSB“@S=M@S9XÀS1oÀS*Ø@S&ãÀS"ï@S©@Sz@S 4@Sî@Rþ@Róy@Rë@Rç›ÀRÙ@RÏàÀR¹w@R´1@R±Ž@RªöÀR¡¼@R”@RŒ¤@Ru@RxÝÀRté@RpôÀRnQÀRnQÀRe@R[ÜÀRV–ÀRR¢@RIgÀR@-@R1¬ÀR/ ÀR)ÃÀR7ÀR”ÀRÀR ÂÀR ÀRˆ@R6ÀRå@Qÿ“ÀQûŸ@QúMÀQøü@Q÷ªÀQöY@QòdÀQîp@Qé*@Qæ‡@QÞž@QÝLÀQÚ©ÀQÒÀÀQÍzÀQɆ@QÄ@@QÁ@Q»ÀQ¸bÀQ·@Qµ¿ÀQ±Ë@Q±Ë@Q§?@Q¥íÀQŸV@Qš@Q–ÀQ–ÀQ’'@Q’'@QŠ>@Q‡›@Qƒ¦ÀQzl@QvwÀQu&@Qm=@QT0ÀQT0ÀQHS@QGÀQC @Q/FÀQ-õ@Q+R@QÑÀQ€@QÝ@Q¹ÀQh@Pý-ÀPõDÀPóó@Pê¸ÀPårÀPÒýÀPÐZÀPÏ @PÅÎÀPÀˆÀP½åÀPµüÀP¬Â@Pª@P¦*ÀP¢6@Pœð@P—ª@P‘ÀPŠ{@P…5@P@ÀPï@P~ÀP{úÀPx@Pv´ÀPv´ÀPtÀPtÀPtÀPrÀ@Pp@PnËÀPnËÀPnËÀPmz@Pmz@Pl(ÀPl(ÀPj×@Pe‘@Pe‘@Pd?ÀPaœÀP\VÀPY³ÀPWÀPPy@PIáÀPH@P@§@P?UÀP;a@P7lÀP4ÉÀP.2@P.2@P+@P*=ÀP#¦@P"TÀPÈÀPßÀPßÀPßÀPŽ@P <ÀPöÀPSÀP_@OýjÀOü@OõÀOñ@Oí˜ÀOß@OØ€ÀOÈ®ÀOÆ ÀOĺ@O¿t@O»ÀOº.@O²E@O²E@O© ÀOŸÐ@O–•ÀO’¡@O‘OÀO†ÃÀO…r@O„ ÀO}ÀO}‰@Oy”ÀOtNÀOq«ÀOpZ@Ok@Ok@OiÂÀOgÀO`ˆ@OYðÀOUü@OUü@OUü@OTªÀOOdÀON@OLÁÀOLÁÀOKp@OHÍ@OG{ÀOG{ÀOF*@OF*@OB5ÀO>A@O<ïÀO;ž@O8û@O5ÀO3µ@O2cÀOîÀObÀOÀO?@NèÀNÔÉ@NÔÉ@NÂT@N¹ÀN¹ÀN¶vÀN³ÓÀN¯ß@Nª™@N¦¤ÀN¥S@N¡^ÀNj@NšÇ@N•@N”/ÀN’Þ@NŠõ@N‰£ÀN‰£ÀNºÀNyÑÀNx€@Nw.ÀNw.ÀNs:@Nmô@Ng\ÀNch@N_sÀNWŠÀNS–@NK­@NJ[ÀNI @NEÀNCÄ@NCÄ@NBrÀNA!@N>~@N=,ÀN:‰ÀN:‰ÀN:‰ÀN98@N7æÀN6•@N5CÀN/ýÀN/ýÀN.¬@N(ÀN%qÀN +ÀN7@NŸÀNN@N ¶ÀN Â@N|@N|@NÙ@MûAÀMøžÀM÷M@Môª@MìÁ@MäØ@MÜï@MÚL@MÖWÀMÕ@MÑÀMÍ@MËËÀMÉ(ÀMÉ(ÀMÁ?ÀM¾œÀM½K@Mº¨@M¸@M¶³ÀMµb@M°@M®ÊÀM®ÊÀM­y@M¬'ÀM¬'ÀM¤>ÀM¢í@M›@M™²ÀMx@Mx@Mx@M‡=ÀMTÀMTÀMwkÀMwkÀMtÈÀMlßÀMbSÀMZjÀMY@MQ0@MOÞÀMKê@MIG@MGõÀMGõÀMD@MB¯ÀMA^@M@ ÀM>»@M>»@M:ÆÀM9u@M8#ÀM6Ò@M0:ÀM.é@M-—ÀM,F@M'@MÑ@M PÀM­ÀM\@M@Lþ!ÀLþ!ÀLû~ÀLøÛÀLö8ÀLæfÀLâr@LÛÚÀLÉeÀLÆÂÀL¾ÙÀL½ˆ@L½ˆ@L²ü@L±ªÀL¤{ÀL™ïÀLŽ@L~@@LuÀLs´@LrbÀLnn@LjyÀLi(@Le3ÀLa?@La?@L[ù@L[ù@LYV@LXÀLXÀLR¾ÀLQm@LNÊ@LMxÀLEÀLEÀL>ø@L=¦ÀL [2.6.32-573.7.1.el6]Frantisek Hrbata [2.6.32-573.6.1.el6]Frantisek Hrbata [2.6.32-573.5.1.el6]Frantisek Hrbata [2.6.32-573.4.1.el6]Frantisek Hrbata [2.6.32-573.3.1.el6]Frantisek Hrbata [2.6.32-573.2.1.el6]Frantisek Hrbata [2.6.32-573.1.1.el6]Kurt Stutsman [2.6.32-573.el6]Kurt Stutsman [2.6.32-572.el6]Kurt Stutsman [2.6.32-571.el6]Kurt Stutsman [2.6.32-570.el6]Kurt Stutsman [2.6.32-569.el6]Kurt Stutsman [2.6.32-568.el6]Kurt Stutsman [2.6.32-567.el6]Kurt Stutsman [2.6.32-566.el6]Kurt Stutsman [2.6.32-565.el6]Kurt Stutsman [2.6.32-564.el6]Kurt Stutsman [2.6.32-563.el6]Kurt Stutsman [2.6.32-562.el6]Kurt Stutsman [2.6.32-561.el6]Kurt Stutsman [2.6.32-560.el6]Kurt Stutsman [2.6.32-559.el6]Kurt Stutsman [2.6.32-558.el6]Kurt Stutsman [2.6.32-557.el6]Kurt Stutsman [2.6.32-556.el6]Kurt Stutsman [2.6.32-555.el6]Rafael Aquini [2.6.32-554.el6]Rafael Aquini [2.6.32-553.el6]Rafael Aquini [2.6.32-552.el6]Rafael Aquini [2.6.32-551.el6]Rafael Aquini [2.6.32-550.el6]Rafael Aquini [2.6.32-549.el6]Rafael Aquini [2.6.32-548.el6]Rafael Aquini [2.6.32-547.el6]Rafael Aquini [2.6.32-546.el6]Rafael Aquini [2.6.32-545.el6]Rafael Aquini [2.6.32-544.el6]Rafael Aquini [2.6.32-543.el6]Rafael Aquini [2.6.32-542.el6]Rafael Aquini [2.6.32-541.el6]Rafael Aquini [2.6.32-540.el6]Rafael Aquini [2.6.32-539.el6]Rafael Aquini [2.6.32-538.el6]Rafael Aquini [2.6.32-537.el6]Rafael Aquini [2.6.32-536.el6]Rafael Aquini [2.6.32-535.el6]Rafael Aquini [2.6.32-534.el6]Rafael Aquini [2.6.32-533.el6]Rafael Aquini [2.6.32-532.el6]Rafael Aquini [2.6.32-531.el6]Rafael Aquini [2.6.32-530.el6]Rafael Aquini [2.6.32-529.el6]Rafael Aquini [2.6.32-528.el6]Rafael Aquini [2.6.32-527.el6]Rafael Aquini [2.6.32-526.el6]Rafael Aquini [2.6.32-525.el6]Rafael Aquini [2.6.32-524.el6]Rafael Aquini [2.6.32-523.el6]Rafael Aquini [2.6.32-522.el6]Rafael Aquini [2.6.32-521.el6]Rafael Aquini [2.6.32-520.el6]Rafael Aquini [2.6.32-519.el6]Rafael Aquini [2.6.32-518.el6]Rafael Aquini [2.6.32-517.el6]Rafael Aquini [2.6.32-516.el6]Rafael Aquini [2.6.32-515.el6]Rafael Aquini [2.6.32-514.el6]Rafael Aquini [2.6.32-513.el6]Rafael Aquini [2.6.32-512.el6]Rafael Aquini [2.6.32-511.el6]Rafael Aquini [2.6.32-510.el6]Rafael Aquini [2.6.32-509.el6]Rafael Aquini [2.6.32-508.el6]Rafael Aquini [2.6.32-507.el6]Rafael Aquini [2.6.32-506.el6]Rafael Aquini [2.6.32-505.el6]Rafael Aquini [2.6.32-504.el6]Rafael Aquini [2.6.32-503.el6]Rafael Aquini [2.6.32-502.el6]Rafael Aquini [2.6.32-501.el6]Rafael Aquini [2.6.32-500.el6]Rafael Aquini [2.6.32-499.el6]Rafael Aquini [2.6.32-498.el6]Rafael Aquini [2.6.32-497.el6]Rafael Aquini [2.6.32-496.el6]Rafael Aquini [2.6.32-495.el6]Rafael Aquini [2.6.32-494.el6]Rafael Aquini [2.6.32-493.el6]Rafael Aquini [2.6.32-492.el6]Rafael Aquini [2.6.32-491.el6]Rafael Aquini [2.6.32-490.el6]Rafael Aquini [2.6.32-489.el6]Rafael Aquini [2.6.32-488.el6]Rafael Aquini [2.6.32-487.el6]Rafael Aquini [2.6.32-486.el6]Rafael Aquini [2.6.32-485.el6]Rafael Aquini [2.6.32-484.el6]Rafael Aquini [2.6.32-483.el6]Rafael Aquini [2.6.32-482.el6]Rafael Aquini [2.6.32-481.el6]Rafael Aquini [2.6.32-480.el6]Rafael Aquini [2.6.32-479.el6]Rafael Aquini [2.6.32-478.el6]Rafael Aquini [2.6.32-477.el6]Rafael Aquini [2.6.32-476.el6]Rafael Aquini [2.6.32-475.el6]Rafael Aquini [2.6.32-474.el6]Rafael Aquini [2.6.32-473.el6]Rafael Aquini [2.6.32-472.el6]Rafael Aquini [2.6.32-471.el6]Rafael Aquini [2.6.32-470.el6]Rafael Aquini [2.6.32-469.el6]Rafael Aquini [2.6.32-468.el6]Rafael Aquini [2.6.32-467.el6]Rafael Aquini [2.6.32-466.el6]Rafael Aquini [2.6.32-465.el6]Rafael Aquini [2.6.32-464.el6]Rafael Aquini [2.6.32-463.el6]Rafael Aquini [2.6.32-462.el6]Rafael Aquini [2.6.32-461.el6]Rafael Aquini [2.6.32-460.el6]Rafael Aquini [2.6.32-459.el6]Rafael Aquini [2.6.32-458.el6]Rafael Aquini [2.6.32-457.el6]Rafael Aquini [2.6.32-456.el6]Rafael Aquini [2.6.32-455.el6]Rafael Aquini [2.6.32-454.el6]Rafael Aquini [2.6.32-453.el6]Rafael Aquini [2.6.32-452.el6]Rafael Aquini [2.6.32-451.el6]Rafael Aquini [2.6.32-450.el6]Rafael Aquini [2.6.32-449.el6]Rafael Aquini [2.6.32-448.el6]Rafael Aquini [2.6.32-447.el6]Rafael Aquini [2.6.32-446.el6]Rafael Aquini [2.6.32-445.el6]Rafael Aquini [2.6.32-444.el6]Rafael Aquini [2.6.32-443.el6]Rafael Aquini [2.6.32-442.el6]Rafael Aquini [2.6.32-441.el6]Rafael Aquini [2.6.32-440.el6]Rafael Aquini [2.6.32-439.el6]Rafael Aquini [2.6.32-438.el6]Rafael Aquini [2.6.32-437.el6]Rafael Aquini [2.6.32-436.el6]Rafael Aquini [2.6.32-435.el6]Rafael Aquini [2.6.32-434.el6]Rafael Aquini [2.6.32-433.el6]Rafael Aquini [2.6.32-432.el6]Rafael Aquini [2.6.32-431.el6]Rafael Aquini [2.6.32-430.el6]Rafael Aquini [2.6.32-429.el6]Rafael Aquini [2.6.32-428.el6]Rafael Aquini [2.6.32-427.el6]Rafael Aquini [2.6.32-426.el6]Rafael Aquini [2.6.32-425.el6]Rafael Aquini [2.6.32-424.el6]Rafael Aquini [2.6.32-423.el6]Rafael Aquini [2.6.32-422.el6]Rafael Aquini [2.6.32-421.el6]Rafael Aquini [2.6.32-420.el6]Rafael Aquini [2.6.32-419.el6]Rafael Aquini [2.6.32-418.el6]Rafael Aquini [2.6.32-417.el6]Rafael Aquini [2.6.32-416.el6]Rafael Aquini [2.6.32-415.el6]Rafael Aquini [2.6.32-414.el6]Rafael Aquini [2.6.32-413.el6]Rafael Aquini [2.6.32-412.el6]Rafael Aquini [2.6.32-411.el6]Rafael Aquini [2.6.32-410.el6]Rafael Aquini [2.6.32-409.el6]Rafael Aquini [2.6.32-408.el6]Rafael Aquini [2.6.32-407.el6]Rafael Aquini [2.6.32-406.el6]Rafael Aquini [2.6.32-405.el6]Rafael Aquini [2.6.32-404.el6]Rafael Aquini [2.6.32-403.el6]Rafael Aquini [2.6.32-402.el6]Rafael Aquini [2.6.32-401.el6]Rafael Aquini [2.6.32-400.el6]Rafael Aquini [2.6.32-399.el6]Rafael Aquini [2.6.32-398.el6]Jarod Wilson [2.6.32-397.el6]Jarod Wilson [2.6.32-396.el6]Jarod Wilson [2.6.32-395.el6]Jarod Wilson [2.6.32-394.el6]Jarod Wilson [2.6.32-393.el6]Jarod Wilson [2.6.32-392.el6]Jarod Wilson [2.6.32-391.el6]Jarod Wilson [2.6.32-390.el6]Jarod Wilson [2.6.32-389.el6]Jarod Wilson [2.6.32-388.el6]Jarod Wilson [2.6.32-387.el6]Jarod Wilson [2.6.32-386.el6]Jarod Wilson [2.6.32-385.el6]Jarod Wilson [2.6.32-384.el6]Jarod Wilson [2.6.32-383.el6]Jarod Wilson [2.6.32-382.el6]Jarod Wilson [2.6.32-381.el6]Jarod Wilson [2.6.32-380.el6]Jarod Wilson [2.6.32-379.el6]Jarod Wilson [2.6.32-378.el6]Jarod Wilson [2.6.32-377.el6]Jarod Wilson [2.6.32-376.el6]Jarod Wilson [2.6.32-375.el6]Jarod Wilson [2.6.32-374.el6]Jarod Wilson [2.6.32-373.el6]Jarod Wilson [2.6.32-372.el6]Jarod Wilson [2.6.32-371.el6]Jarod Wilson [2.6.32-370.el6]Jarod Wilson [2.6.32-369.el6]Jarod Wilson [2.6.32-368.el6]Jarod Wilson [2.6.32-367.el6]Jarod Wilson [2.6.32-366.el6]Jarod Wilson [2.6.32-365.el6]Jarod Wilson [2.6.32-364.el6]Jarod Wilson [2.6.32-363.el6]Jarod Wilson [2.6.32-362.el6]Jarod Wilson [2.6.32-361.el6]Jarod Wilson [2.6.32-360.el6]Jarod Wilson [2.6.32-359.el6]Jarod Wilson [2.6.32-358.el6]Jarod Wilson [2.6.32-357.el6]Jarod Wilson [2.6.32-356.el6]Jarod Wilson [2.6.32-355.el6]Jarod Wilson [2.6.32-354.el6]Jarod Wilson [2.6.32-353.el6]Jarod Wilson [2.6.32-352.el6]Jarod Wilson [2.6.32-351.el6]Jarod Wilson [2.6.32-350.el6]Jarod Wilson [2.6.32-349.el6]Jarod Wilson [2.6.32-348.el6]Jarod Wilson [2.6.32-347.el6]Jarod Wilson [2.6.32-346.el6]Jarod Wilson [2.6.32-345.el6]Jarod Wilson [2.6.32-344.el6]Jarod Wilson [2.6.32-343.el6]Jarod Wilson [2.6.32-342.el6]Jarod Wilson [2.6.32-341.el6]Jarod Wilson [2.6.32-340.el6]Jarod Wilson [2.6.32-339.el6]Jarod Wilson [2.6.32-338.el6]Jarod Wilson [2.6.32-337.el6]Jarod Wilson [2.6.32-336.el6]Jarod Wilson [2.6.32-335.el6]Jarod Wilson [2.6.32-334.el6]Jarod Wilson [2.6.32-333.el6]Jarod Wilson [2.6.32-332.el6]Jarod Wilson [2.6.32-331.el6]Jarod Wilson [2.6.32-330.el6]Jarod Wilson [2.6.32-329.el6]Jarod Wilson [2.6.32-328.el6]Jarod Wilson [2.6.32-327.el6]Jarod Wilson [2.6.32-326.el6]Jarod Wilson [2.6.32-325.el6]Jarod Wilson [2.6.32-324.el6]Jarod Wilson [2.6.32-323.el6]Jarod Wilson [2.6.32-322.el6]Jarod Wilson [2.6.32-321.el6]Jarod Wilson [2.6.32-320.el6]Jarod Wilson [2.6.32-319.el6]Jarod Wilson [2.6.32-318.el6]Jarod Wilson [2.6.32-317.el6]Jarod Wilson [2.6.32-316.el6]Jarod Wilson [2.6.32-315.el6]Jarod Wilson [2.6.32-314.el6]Jarod Wilson [2.6.32-313.el6]Jarod Wilson [2.6.32-312.el6]Jarod Wilson [2.6.32-311.el6]Jarod Wilson [2.6.32-310.el6]Jarod Wilson [2.6.32-309.el6]Jarod Wilson [2.6.32-308.el6]Jarod Wilson [2.6.32-307.el6]Jarod Wilson [2.6.32-306.el6]Jarod Wilson [2.6.32-305.el6]Jarod Wilson [2.6.32-304.el6]Jarod Wilson [2.6.32-303.el6]Jarod Wilson [2.6.32-302.el6]Jarod Wilson [2.6.32-301.el6]Jarod Wilson [2.6.32-300.el6]Jarod Wilson [2.6.32-299.el6]Jarod Wilson [2.6.32-298.el6]Jarod Wilson [2.6.32-297.el6]Jarod Wilson [2.6.32-296.el6]Jarod Wilson [2.6.32-295.el6]Jarod Wilson [2.6.32-294.el6]Jarod Wilson [2.6.32-293.el6]Jarod Wilson [2.6.32-292.el6]Jarod Wilson [2.6.32-291.el6]Jarod Wilson [2.6.32-290.el6]Jarod Wilson [2.6.32-289.el6]Jarod Wilson [2.6.32-288.el6]Jarod Wilson [2.6.32-287.el6]Jarod Wilson [2.6.32-286.el6]Jarod Wilson [2.6.32-285.el6]Jarod Wilson [2.6.32-284.el6]Jarod Wilson [2.6.32-283.el6]Jarod Wilson [2.6.32-282.el6]Jarod Wilson [2.6.32-281.el6]Jarod Wilson [2.6.32-280.el6]Jarod Wilson [2.6.32-279.el6]Jarod Wilson [2.6.32-278.el6]Jarod Wilson [2.6.32-277.el6]Jarod Wilson [2.6.32-276.el6]Jarod Wilson [2.6.32-275.el6]Jarod Wilson [2.6.32-274.el6]Jarod Wilson [2.6.32-273.el6]Jarod Wilson [2.6.32-272.el6]Jarod Wilson [2.6.32-271.el6]Jarod Wilson [2.6.32-270.el6]Jarod Wilson [2.6.32-269.el6]Jarod Wilson [2.6.32-268.el6]Aristeu Rozanski [2.6.32-267.el6]Aristeu Rozanski [2.6.32-266.el6]Aristeu Rozanski [2.6.32-265.el6]Aristeu Rozanski [2.6.32-264.el6]Aristeu Rozanski [2.6.32-263.el6]Aristeu Rozanski [2.6.32-262.el6]Aristeu Rozanski [2.6.32-261.el6]Aristeu Rozanski [2.6.32-260.el6]Aristeu Rozanski [2.6.32-259.el6]Aristeu Rozanski [2.6.32-258.el6]Aristeu Rozanski [2.6.32-257.el6]Aristeu Rozanski [2.6.32-256.el6]Aristeu Rozanski [2.6.32-255.el6]Aristeu Rozanski [2.6.32-254.el6]Aristeu Rozanski [2.6.32-253.el6]Aristeu Rozanski [2.6.32-252.el6]Aristeu Rozanski [2.6.32-251.el6]Aristeu Rozanski [2.6.32-250.el6]Aristeu Rozanski [2.6.32-249.el6]Aristeu Rozanski [2.6.32-248.el6]Aristeu Rozanski [2.6.32-247.el6]Aristeu Rozanski [2.6.32-246.el6]Aristeu Rozanski [2.6.32-245.el6]Aristeu Rozanski [2.6.32-244.el6]Aristeu Rozanski [2.6.32-243.el6]Aristeu Rozanski [2.6.32-242.el6]Aristeu Rozanski [2.6.32-241.el6]Aristeu Rozanski [2.6.32-240.el6]Aristeu Rozanski [2.6.32-239.el6]Aristeu Rozanski [2.6.32-238.el6]Aristeu Rozanski [2.6.32-237.el6]Aristeu Rozanski [2.6.32-236.el6]Aristeu Rozanski [2.6.32-235.el6]Aristeu Rozanski [2.6.32-234.el6]Aristeu Rozanski [2.6.32-233.el6]Aristeu Rozanski [2.6.32-232.el6]Aristeu Rozanski [2.6.32-231.el6]Aristeu Rozanski [2.6.32-230.el6]Aristeu Rozanski [2.6.32-229.el6]Aristeu Rozanski [2.6.32-228.el6]Aristeu Rozanski [2.6.32-227.el6]Aristeu Rozanski [2.6.32-226.el6]Aristeu Rozanski [2.6.32-225.el6]Aristeu Rozanski [2.6.32-224.el6]Aristeu Rozanski [2.6.32-223.el6]Aristeu Rozanski [2.6.32-222.el6]Aristeu Rozanski [2.6.32-221.el6]Aristeu Rozanski [2.6.32-220.el6]Aristeu Rozanski [2.6.32-219.el6]Aristeu Rozanski [2.6.32-218.el6]Aristeu Rozanski [2.6.32-217.el6]Aristeu Rozanski [2.6.32-216.el6]Aristeu Rozanski [2.6.32-215.el6]Aristeu Rozanski [2.6.32-214.el6]Aristeu Rozanski [2.6.32-213.el6]Aristeu Rozanski [2.6.32-212.el6]Aristeu Rozanski [2.6.32-211.el6]Aristeu Rozanski [2.6.32-210.el6]Aristeu Rozanski [2.6.32-209.el6]Aristeu Rozanski [2.6.32-208.el6]Aristeu Rozanski [2.6.32-207.el6]Aristeu Rozanski [2.6.32-206.el6]Aristeu Rozanski [2.6.32-205.el6]Kyle McMartin [2.6.32-204.el6]Kyle McMartin [2.6.32-203.el6]Aristeu Rozanski [2.6.32-202.el6]Aristeu Rozanski [2.6.32-201.el6]Aristeu Rozanski [2.6.32-200.el6]Aristeu Rozanski [2.6.32-199.el6]Kyle McMartin [2.6.32-198.el6]Aristeu Rozanski [2.6.32-197.el6]Aristeu Rozanski [2.6.32-196.el6]Aristeu Rozanski [2.6.32-195.el6]Aristeu Rozanski [2.6.32-194.el6]Aristeu Rozanski [2.6.32-193.el6]Aristeu Rozanski [2.6.32-192.el6]Kyle McMartin [2.6.32-191.el6]Aristeu Rozanski [2.6.32-190.el6]Aristeu Rozanski [2.6.32-189.el6]Kyle McMartin [2.6.32-188.el6]Kyle McMartin [2.6.32-187.el6]Aristeu Rozanski [2.6.32-186.el6]Aristeu Rozanski [2.6.32-185.el6]Aristeu Rozanski [2.6.32-184.el6]Kyle McMartin [2.6.32-183.el6]Aristeu Rozanski [2.6.32-182.el6]Kyle McMartin [2.6.32-181.el6]Aristeu Rozanski [2.6.32-180.el6]Aristeu Rozanski [2.6.32-179.el6]Kyle McMartin [2.6.32-178.el6]Aristeu Rozanski [2.6.32-177.el6]Aristeu Rozanski [2.6.32-176.el6]Kyle McMartin [2.6.32-175.el6]Aristeu Rozanski [2.6.32-174.el6]Aristeu Rozanski [2.6.32-173.el6]Kyle McMartin [2.6.32-172.el6]Kyle McMartin [2.6.32-171.el6]Kyle McMartin [2.6.32-170.el6]Aristeu Rozanski [2.6.32-169.el6]Kyle McMartin [2.6.32-168.el6]Aristeu Rozanski [2.6.32-167.el6]Kyle McMartin [2.6.32-166.el6]Aristeu Rozanski [2.6.32-165.el6]Kyle McMartin [2.6.32-164.el6]Aristeu Rozanski [2.6.32-163.el6]Aristeu Rozanski [2.6.32-162.el6]Kyle McMartin [2.6.32-161.el6]Aristeu Rozanski [2.6.32-160.el6]Aristeu Rozanski [2.6.32-159.el6]Aristeu Rozanski [2.6.32-158.el6]Aristeu Rozanski [2.6.32-157.el6]Aristeu Rozanski [2.6.32-156.el6]Aristeu Rozanski [2.6.32-155.el6]Aristeu Rozanski [2.6.32-154.el6]Aristeu Rozanski [2.6.32-153.el6]Aristeu Rozanski [2.6.32-152.el6]Aristeu Rozanski [2.6.32-151.el6]Aristeu Rozanski [2.6.32-150.el6]Aristeu Rozanski [2.6.32-149.el6]Aristeu Rozanski [2.6.32-148.el6]Aristeu Rozanski [2.6.32-147.el6]Aristeu Rozanski [2.6.32-146.el6]Aristeu Rozanski [2.6.32-145.el6]Aristeu Rozanski [2.6.32-144.el6]Aristeu Rozanski [2.6.32-143.el6]Aristeu Rozanski [2.6.32-142.el6]Aristeu Rozanski [2.6.32-141.el6]Aristeu Rozanski [2.6.32-140.el6]Aristeu Rozanski [2.6.32-139.el6]Aristeu Rozanski [2.6.32-138.el6]Aristeu Rozanski [2.6.32-137.el6]Aristeu Rozanski [2.6.32-136.el6]Aristeu Rozanski [2.6.32-135.el6]Aristeu Rozanski [2.6.32-134.el6]Aristeu Rozanski [2.6.32-133.el6]Aristeu Rozanski [2.6.32-132.el6]Aristeu Rozanski [2.6.32-131.el6]Aristeu Rozanski [2.6.32-130.el6]Aristeu Rozanski [2.6.32-129.el6]Aristeu Rozanski [2.6.32-128.el6]Aristeu Rozanski [2.6.32-127.el6]Aristeu Rozanski [2.6.32-126.el6]Aristeu Rozanski [2.6.32-125.el6]Aristeu Rozanski [2.6.32-124.el6]Aristeu Rozanski [2.6.32-123.el6]Aristeu Rozanski [2.6.32-122.el6]Aristeu Rozanski [2.6.32-121.el6]Aristeu Rozanski [2.6.32-120.el6]Aristeu Rozanski [2.6.32-119.el6]Aristeu Rozanski [2.6.32-118.el6]Aristeu Rozanski [2.6.32-117.el6]Aristeu Rozanski [2.6.32-116.el6]Aristeu Rozanski [2.6.32-115.el6]Aristeu Rozanski [2.6.32-114.el6]Aristeu Rozanski [2.6.32-113.el6]Aristeu Rozanski [2.6.32-112.el6]Aristeu Rozanski [2.6.32-111.el6]Aristeu Rozanski [2.6.32-110.el6]Aristeu Rozanski [2.6.32-109.el6]Aristeu Rozanski [2.6.32-108.el6]Aristeu Rozanski [2.6.32-107.el6]Aristeu Rozanski [2.6.32-106.el6]Aristeu Rozanski [2.6.32-105.el6]Aristeu Rozanski [2.6.32-104.el6]Aristeu Rozanski [2.6.32-103.el6]Aristeu Rozanski [2.6.32-102.el6]Aristeu Rozanski [2.6.32-101.el6]Aristeu Rozanski [2.6.32-100.el6]Aristeu Rozanski [2.6.32-99.el6]Aristeu Rozanski [2.6.32-98.el6]Aristeu Rozanski [2.6.32-97.el6]Aristeu Rozanski [2.6.32-96.el6]Aristeu Rozanski [2.6.32-95.el6]Aristeu Rozanski [2.6.32-94.el6]Aristeu Rozanski [2.6.32-93.el6]Aristeu Rozanski [2.6.32-92.el6]Aristeu Rozanski [2.6.32-91.el6]Aristeu Rozanski [2.6.32-90.el6]Aristeu Rozanski [2.6.32-89.el6]Aristeu Rozanski [2.6.32-88.el6]Aristeu Rozanski [2.6.32-87.el6]Aristeu Rozanski [2.6.32-86.el6]Aristeu Rozanski [2.6.32-85.el6]Aristeu Rozanski [2.6.32-84.el6]Aristeu Rozanski [2.6.32-83.el6]Aristeu Rozanski [2.6.32-82.el6]Aristeu Rozanski [2.6.32-81.el6]Aristeu Rozanski [2.6.32-80.el6]Aristeu Rozanski [2.6.32-79.el6]Aristeu Rozanski [2.6.32-78.el6]Aristeu Rozanski [2.6.32-77.el6]Aristeu Rozanski [2.6.32-76.el6]Aristeu Rozanski [2.6.32-75.el6]Aristeu Rozanski [2.6.32-74.el6]Aristeu Rozanski [2.6.32-73.el6]Aristeu Rozanski [2.6.32-72.el6]Aristeu Rozanski [2.6.32-71.el6]Aristeu Rozanski [2.6.32-70.el6]Aristeu Rozanski [2.6.32-69.el6]Aristeu Rozanski [2.6.32-68.el6]Aristeu Rozanski [2.6.32-67.el6]Aristeu Rozanski [2.6.32-66.el6]Aristeu Rozanski [2.6.32-65.el6]Aristeu Rozanski [2.6.32-64.el6]Aristeu Rozanski [2.6.32-63.el6]Aristeu Rozanski [2.6.32-62.el6]Aristeu Rozanski [2.6.32-61.el6]Aristeu Rozanski [2.6.32-60.el6]Aristeu Rozanski [2.6.32-59.el6]Aristeu Rozanski [2.6.32-58.el6]Aristeu Rozanski [2.6.32-57.el6]Aristeu Rozanski [2.6.32-56.el6]Aristeu Rozanski [2.6.32-55.el6]Aristeu Rozanski [2.6.32-54.el6]Aristeu Rozanski [2.6.32-53.el6]Aristeu Rozanski [2.6.32-52.el6]Aristeu Rozanski [2.6.32-51.el6]Aristeu Rozanski [2.6.32-50.el6]Aristeu Rozanski [2.6.32-49.el6]Aristeu Rozanski [2.6.32-48.el6]Aristeu Rozanski [2.6.32-47.el6]Aristeu Rozanski [2.6.32-46.el6]Aristeu Rozanski [2.6.32-45.el6]Aristeu Rozanski [2.6.32-44.el6]Aristeu Rozanski [2.6.32-43.el6]Aristeu Rozanski [2.6.32-42.el6]Aristeu Rozanski [2.6.32-41.el6]Aristeu Rozanski [2.6.32-40.el6]Aristeu Rozanski [2.6.32-39.el6]Aristeu Rozanski [2.6.32-38.el6]Aristeu Rozanski [2.6.32-37.el6]Aristeu Rozanski [2.6.32-36.el6]Aristeu Rozanski [2.6.32-35.el6]Aristeu Rozanski [2.6.32-34.el6]Aristeu Rozanski [2.6.32-33.el6]Aristeu Rozanski [2.6.32-32.el6]Aristeu Rozanski [2.6.32-31.el6]Aristeu Rozanski [2.6.32-30.el6]Aristeu Rozanski [2.6.32-29.el6]Aristeu Rozanski [2.6.32-28.el6]Aristeu Rozanski [2.6.32-27.el6]Aristeu Rozanski [2.6.32-26.el6]Aristeu Rozanski [2.6.32-25.el6]Aristeu Rozanski [2.6.32-24.el6]Aristeu Rozanski [2.6.32-23.el6]Aristeu Rozanski [2.6.32-22.el6]Aristeu Rozanski [2.6.32-21.el6]Aristeu Rozanski [2.6.32-20.el6]Aristeu Rozanski [2.6.32-19.el6]Aristeu Rozanski [2.6.32-18.el6]Aristeu Rozanski [2.6.32-17.el6]Aristeu Rozanski [2.6.32-16.el6]Aristeu Rozanski [2.6.32-15.el6]Aristeu Rozanski [2.6.32-14.el6]Aristeu Rozanski [2.6.32-13.el6]Aristeu Rozanski [2.6.32-12.el6]Aristeu Rozanski [2.6.32-11.el6]Aristeu Rozanski [2.6.32-10.el6]Aristeu Rozanski [2.6.32-9.el6]Aristeu Rozanski [2.6.32-8.el6]Aristeu Rozanski [2.6.32-7.el6]Aristeu Rozanski [2.6.32-6.el6]Aristeu Rozanski [2.6.32-5.el6]Aristeu Rozanski [2.6.32-4.el6]Aristeu Rozanski [2.6.32-3.el6]Aristeu Rozanski [2.6.32-2.el6]Aristeu Rozanski [2.6.32-1.el6]Aristeu Rozanski [2.6.32-0.54.el6]Aristeu Rozanski [2.6.32-0.53.el6]Aristeu Rozanski [2.6.32-0.52.el6]Aristeu Rozanski [2.6.32-0.51.el6]Aristeu Rozanski [2.6.32-0.50.el6]- Revert: [kernel] softirq: reduce latencies (Prarit Bhargava) [1246064 970263] - Revert: [kernel] softirq: Add softirq_2ms_loop and default to existing RHEL6 behaviour (Prarit Bhargava) [1246064 970263]- [mm] swap: make nr_swap_pages atomic (Jerome Marchand) [1259362 1252362]- [fs] autofs4 - fix uid and gid assignment in mount request (Ian Kent) [1258581 1248820]- [firmware] add iwlwifi-8000C-13 ucode (Stanislaw Gruszka) [1242969 1134603] - [net] Always propagate flag changes to interfaces (Jarod Wilson) [1253734 1222823] - [s390] zcrypt: Fixed reset and interrupt handling of AP queues (Hendrik Brueckner) [1253729 1238308] - [scsi] zfcp: Use correct length for FCP_RSP_INFO (Hendrik Brueckner) [1253728 1223105] - [tools] perf: avoid possible race condition in copyfile (Milos Vyletel) [1253733 1229673] - [tools] perf: Introduce copyfile_offset function (Milos Vyletel) [1253733 1229673] - [tools] perfs: Add rm_rf utility function (Milos Vyletel) [1253733 1229673] - [net] vlan: restore VLAN_GROUP_ARRAY_LEN definition (Michal Schmidt) [1246102 1242145] - [md] dm btree remove: fix bug in redistribute3 (Mike Snitzer) [1246105 1242023] - [netdrv] vmxnet3: prevent receive getting out of sequence on napi poll (Neil Horman) [1246092 1236564] - [kernel] sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem (Oleg Nesterov) [1246081 1198732] - [kernel] percpu_rw_semaphore: add lockdep annotations (Oleg Nesterov) [1246081 1198732] - [kernel] percpu_rw_semaphore: kill ->writer_mutex, add ->write_ctr (Oleg Nesterov) [1246081 1198732] - [kernel] percpu_rw_semaphore: reimplement to not block the readers unnecessarily (Oleg Nesterov) [1246081 1198732] - [kernel] percpu-rwsem: use synchronize_sched_expedited (Oleg Nesterov) [1246081 1198732] - [kernel] percpu-rw-semaphores: use rcu_read_lock_sched (Oleg Nesterov) [1246081 1198732] - [kernel] percpu-rw-semaphores: use light/heavy barriers (Oleg Nesterov) [1246081 1198732] - [kernel] blockdev: turn a rw semaphore into a percpu rw semaphore (Oleg Nesterov) [1246081 1198732] - [kernel] softirq: Add softirq_2ms_loop and default to existing RHEL6 behaviour (Prarit Bhargava) [1246064 970263] - [kernel] softirq: reduce latencies (Prarit Bhargava) [1246064 970263]- [md] Revert "dm: don't schedule delayed run of the queue if nothing to do" (Mike Snitzer) [1246095 1240767] - [md] Revert "dm: only run the queue on completion if congested or no requests pending" (Mike Snitzer) [1246095 1240767]- [net] udp: fix behavior of wrong checksums (Denys Vlasenko) [1240758 1240759] {CVE-2015-5364 CVE-2015-5366} - [fs] vfs: Unhash and evict unused children dentries after rmdir (Lukas Czerner) [1243400 1241030] - [fs] vfs: Prevent syncing frozen file system (Lukas Czerner) [1243404 1241791] - [fs] vfs: Prevent freeing unlinked file to be indefinitely delayed (Lukas Czerner) [1243406 1236736] - [fs] vmcore: continue vmcore initialization if PT_NOTE is found empty (Baoquan He) [1245195 1236437] - [fs] vmcore: prevent PT_NOTE p_memsz overflow during header update (Baoquan He) [1245195 1236437] - [kernel] audit/fix non-modular users of module_init in core code (Baoquan He) [1245195 1236437]- [redhat] Update dracut dependency to pull in drbg module (Herbert Xu) [1241518 1241338]- [security] selinux: don't waste ebitmap space when importing NetLabel categories (Paul Moore) [1130197] - [x86] Revert "Add driver auto probing for x86 features v4" (Prarit Bhargava) [1231280] - [net] bridge: netfilter: don't call iptables on vlan packets if sysctl is off (Florian Westphal) [1236551] - [net] ebtables: Allow filtering of hardware accelerated vlan frames (Florian Westphal) [1236551]- [fs] Revert "fuse: use clear_highpage and KM_USER0 instead of KM_USER1" (Brian Foster) [1229562]- [netdrv] bnx2x: Move statistics implementation into semaphores (Michal Schmidt) [1231348] - [scsi] storvsc: Set the SRB flags correctly when no data transfer is needed (Vitaly Kuznetsov) [1221404]- [block] fix ext_dev_lock lockdep report (Jeff Moyer) [1230927] - [md] Revert "md dm: run queue on re-queue" (Mike Snitzer) [1232007] - [firmware] another cxgb4 firmware load fixup (Sai Vemuri) [1189255] - [char] tty: Don't protect atomic operation with mutex (Aristeu Rozanski) [1184182] - [edac] i5100 add 6 ranks per channel (Aristeu Rozanski) [1171333] - [edac] i5100 clean controller to channel terms (Aristeu Rozanski) [1171333] - [crypto] rng - Remove krng (Herbert Xu) [1226418] - [crypto] drbg - Add stdrng alias and increase priority (Herbert Xu) [1226418] - [crypto] seqiv - Move IV seeding into init function (Herbert Xu) [1226418] - [crypto] eseqiv - Move IV seeding into init function (Herbert Xu) [1226418] - [crypto] chainiv - Move IV seeding into init function (Herbert Xu) [1226418]- [gpu] drm/radeon: fix freeze for laptop with Turks/Thames GPU (Jerome Glisse) [1213297] - [md] dm: fix casting bug in dm_merge_bvec (Mike Snitzer) [1226453] - [fs] nfs: Send the size attribute on open(O_TRUNC) (Benjamin Coddington) [1208065] - [net] inet: fix processing of ICMP frag_needed messages (Sabrina Dubroca) [1210321] - [net] tcp: double default TSQ output bytes limit (Hannes Frederic Sowa) [1140590] - [hv] hv_balloon: correctly handle num_pages>INT_MAX case (Vitaly Kuznetsov) [1006234] - [hv] hv_balloon: correctly handle val.freeramid executables (Mateusz Guzik) [1216269] {CVE-2015-3339} - [netdrv] i40e: Make sure to be in VEB mode if SRIOV is enabled at probe (Stefan Assmann) [1206000] - [netdrv] i40e: start up in VEPA mode by default (Stefan Assmann) [1206000] - [netdrv] e1000e: Bump the version to 3.2.5 (John Greene) [1211531] - [netdrv] e1000e: fix unit hang during loopback test (John Greene) [1211531] - [netdrv] e1000e: fix systim issues (John Greene) [1211531] - [netdrv] e1000e: fix legacy interrupt handling in i219 (John Greene) [1211531] - [netdrv] e1000e: fix flush_desc_ring implementation (John Greene) [1211531] - [netdrv] e1000e: fix logical error in flush_desc_rings (John Greene) [1211531] - [netdrv] e1000e: remove call to do_div and sign mismatch warning (John Greene) [1211531] - [netdrv] e1000e: i219 execute unit hang fix on every reset or power state transition (John Greene) [1211531] - [netdrv] e1000e: i219 fix unit hang on reset and runtime D3 (John Greene) [1211531] - [netdrv] e1000e: fix call to do_div to use u64 arg (John Greene) [1211531] - [netdrv] e1000e: Cleanup handling of VLAN_HLEN as a part of max frame size (John Greene) [1211531] - [netdrv] e1000e: Correctly include VLAN_HLEN when changing interface MTU (John Greene) [1211531] - [netdrv] e1000e: call netif_carrier_off early on down (John Greene) [1211531]- [serial] add ability to set IRQ via module parameter (Prarit Bhargava) [1210848] - [fs] pipe: fix pipe corruption and iovec overrun on partial copy (Seth Jennings) [1185166] {CVE-2015-1805} - [netdrv] macvlan: add VLAN filters to lowerdev (Ivan Vecera) [1213846] - [x86] Mark Intel Broadwell-DE processor as unsupported (Steve Best) [1226904] - [net] ipv6: reallocate addrconf router for ipv6 address when lo device up (Hannes Frederic Sowa) [1223610] - [mm] memory-failure: move refcount only in !MF_COUNT_INCREASED (Rafael Aquini) [1222832] - [mm] memory-failure: shift page lock from head page to tail page after thp split (Rafael Aquini) [1222832] - [mm] memory-failure: transfer page count from head page to tail page after split thp (Rafael Aquini) [1222832] - [scsi] lpfc: Correct loss of target discovery after cable swap (Rob Evers) [1226779]- [netdrv] iwlwifi: use custom workqueue (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: remove not used *bt-coex* files (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: avoid use-after-free on iwl_mvm_d0i3_enable_tx() (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: clean net-detect info if device was reset during suspend (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: take the UCODE_DOWN reference when resuming (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: BT Coex - duplicate the command if sent ASYNC (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: nvm: force mac from otp in case nvm mac is reserved (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Free fw_status after use to avoid memory leak (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: fix MLME trigger (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: don't disable the busmaster DMA clock for family 8000 (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: 7000: modify the firmware name for 3165 (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: forbid MIMO on devices that don't support it (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: force quota update update after FW restart (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: fix typo in CONFIG option (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't power off the device between INIT and OPER firmwares (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: prevent using unmapped memory in fw monitor (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Avoid signal based decisions if ave beacon RSSI is 0 (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: fix scan iteration complete notification handling (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't stop the FW monitor too early (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: fix Tx Power firmware API (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: capture connection loss as part of MLME trigger (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add trigger for time events (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: do string formatting in debug triggers (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: fix spelling errors (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't return uninitialized value in get_survey() (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: remove unused arguments (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Fix wrongfully flushing frames in the roc/off channel queue (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add debugfs entry with the number of net-detect scans (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: refactor rs_update_rate_tbl (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: check the size of the trigger struct from the firmware file (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add trigger for firmware dump upon MLME failures (Stanislaw Gruszka) [1134606] - [net] mac80211: Fix mac80211.h docbook comments (Stanislaw Gruszka) [1134606] - [net] mac80211: notify the driver about deauth (Stanislaw Gruszka) [1134606] - [net] mac80211: notify the driver about association status (Stanislaw Gruszka) [1134606] - [net] mac80211: notify the driver about authentication status (Stanislaw Gruszka) [1134606] - [netdrv] mac80211: convert rssi_callback() to event_callback() (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: fix comment indentation (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Clean up UMAC scan UIDs in the reset and drv_stop flows (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: 8000: change PNVM in case it doesn't match to the HW step (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: fix debug print in the RSA ownership workaround (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: allow to configure the timeout for the Tx queues (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: drop support for early versions of 8000 (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: use debugfs_create_bool() for enable_scan_iteration_notif (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: initialize trans_pcie->ref_count on configure() (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: inform mac80211 about umac scans that was aborted by restart (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: remove d0i3 ref correctly during AP start (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: Fix memory leak in iwl_req_fw_callback() (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: remove WARN_ON for invalid BA notification (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: take IWL_MVM_REF_UCODE_DOWN before restarting hw (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't wait for firmware verification (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: add new 3165 series PCI IDs (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: remove time-event start/end failure warning (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add iccm data to 8000 b-step data dump (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: add rx packet sequence number to dbg print (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: properly flush the queues for buffering transport (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: assign new TLV bit for multi-source LAR (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: continue (with error) CSA on GO time event failure (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: simplify iwl_mvm_get_wakeup_status() return (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't double unlock the mutex in __iwl_mvm_resume() (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: clarify time event end handling (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Always enable the smart FIFO (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: update copyright to include 2015 (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: add more new 8260 series PCI IDs (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: BT Coex - update the new API (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: fix force NMI for 8000 (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: freeze the non-shared queues when a station goes to sleep (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: allow the op_mode to freeze the stuck queue timer (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: update Tx statistics when using fixed rate (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't init MCC during CT-kill (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: remove warning on station exhaustion (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: trans: Take ownership on secure machine before FW load (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: add new 8260 series PCI IDs (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: improve ss_params debug print (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: don't allow the FW to return invalid ch indices (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: reflect TDLS pm state in mvmvif->pm_enabled (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: fix identation (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: remove unneeded include iwl-fw-error-dump.h (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: use correct NVM offset for LAR enable for new NVMs (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: fix smatch warning: warn: inconsistent indenting (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: include more registers in the prph dump (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: speed up the Tx DMA stop flow (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: support family 8000 B2/C steps (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: always update the quota after association (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: BT Coex - disable RRC by default (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: remove IWL_UCODE_TLV_API_SF_NO_DUMMY_NOTIF (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: remove IWL_UCODE_TLV_API_DISABLE_STA_TX (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: bump API to 13 for devices that use iwlmvm (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: set LAR MCC on D3/D0 transitions (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: support LAR updates from BIOS (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: take the MAC address from HW registers (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: allow disabling LAR via module param (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: support new PHY_SKU nvm section for family 8000 B0 (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: disable 11ac if 11n is disabled (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: iwlmvm: LAR: disable LAR support due to NVM vs TLV conflict (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: change last 5ghz channel to 165 & add support for 8000 family (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: use IWL_DEFAULT_MAX_TX_POWER for max_eirp (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: nvm: init correct nvm channel list for 8000 devices (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: LAR: Add chub mcc change notify command (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: don't declare support for 5ghz if not supported (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: ignore IBSS flag as regulatory NO-IR indication (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: consider LAR support during NVM parse (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: create regdomain from mcc_update_cmd response (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: init country code on init/recovery (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add MCC update FW API (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: disconnect if CSA time event fails scheduling (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: dvm: drop VO packets when mac80211 tells us to (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: fix compilation with IWLWIFI_DEBUGFS not set (Stanislaw Gruszka) [1134606] - [netdrv] wireless: Use eth__addr instead of memset (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't override passive dwell in case of fragmented scan (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add trigger for firmware dump upon low RSSI (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add trigger for firmware dump upon statistics (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: restart firmware recording when no configuration is set (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add trigger for firmware dump upon command response (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add trigger for firmware dump upon channel switch (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add trigger for firmware dump upon missed beacons (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add the cause of the firmware dump in the dump (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add framework for triggers for fw dump (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: use only 40 ms for fragmented scan (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: allow to force the Rx chains from debugfs (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: add new TLV capability flag for BT PLCR (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't iterate interfaces to disconnect in net-detect (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: new Alive / error table API (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: support beacon statistics for BSS client (Stanislaw Gruszka) [1134606] - [net] cfg80211: add nl80211 beacon-only statistics (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't write to DBGC_OUT_CTRL when stopping the recording (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: remove deprecated scan API code (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: deprecate -9.ucode for 3160 / 7260 / 7265 (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: support radio statistics as global survey (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add statistics API version 10 (Stanislaw Gruszka) [1134606] - [net] cfg80211: add scan time to survey data (Stanislaw Gruszka) [1134606] - [netdrv] cfg80211: remove "channel" from survey names (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: apply destination before releasing reset (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: remove unused function in BT coex (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: fix BT coex shared antenna activity check (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: print single stream params via debugfs (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: avoid ss_force from being reset after tx idle (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: increase the number of PAPD channel groups to 9 (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: consider TDLS queues as used during drain (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: disable MIMO for low latency P2P (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: adapt rate matching to new STBC/BFER (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: disable beamformer unless FW supports it (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't try to stop scans that are not running anymore (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: better match tx response rate to the LQ table (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: call ieee80211_scan_completed() even if scan abort fails (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: reduce quota threshold (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't send a command the firmware doesn't know (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Fix building channels in scan_config_cmd (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Enable EBS also in single scan on umac interface (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Fix a few EBS error handling bugs (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: allow to define the stuck queue timer per queue (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: enable watchdog on Tx queues for mvm (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: ignore stale TDLS ch-switch responses (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: improve TDLS ch-sw state machine (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: prepare the enablement of 31 TFD queues (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: enable forcing single stream Tx decision (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: remove space padding after sysassert description (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add beamformer support (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: don't dump useless data when a TFD queue hangs (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't reprobe if we fail during reconfig and fw_restart is false (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: check IWL_UCODE_TLV_API_SCD_CFG in API and not in capa (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: fix rx chains configuration in phy ctxt cmd (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: support secured boot flow for family 8000 B step (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: use a new API for enabling STBC (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: refactor ht/vht init (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: remove stats argument from functions (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: really disable TDLS queues (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: BT Coex - set all the co-running values to 0 (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Do not consider invalid HW queues in queue mask (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: support family 8000 C step (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: init ref_lock (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: document switch case fall-through in iwl_mvm_send_sta_key (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: use STBC regardless of power save mode (Stanislaw Gruszka) [1134606] - [netdrv] Revert "iwlwifi: mvm: drop non VO frames when flushing" (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add support for new LTR command (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: BT Coex - fine tune the MPLUT register (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: move U-APSD decision to authentication (Stanislaw Gruszka) [1134606] - [netdrv] mac80211: move U-APSD enablement to vif flags (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: ignore temperature updates in the RX statistics notification (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: cleanup unuseful and overflowing traces (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: generate statistics debugfs code (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: move statistics API to new header file (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: sync statistics firmware API (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: correctly set the NMI register (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add rxf and txf to dump data (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add support for dumping a secondary SRAM (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add debugfs file for misbehaving U-APSD AP (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: let the firmware configure the scheduler (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: remove unused TLV capability flags (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add print of he nvm version (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: set max_out_time equal to frag_passive_dwell in fragmented scan (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: allow to disable MIMO for P2P only (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: allow to collect debug data from non-sleepable context (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: make sure state isn't in d0i3 when stopping fw monitor (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Add debugfs entry to enable scan offload notification (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: add new config and PCI IDs for 4165 series (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: make sure state isn't in d0i3 when collecting fw dbg (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: repeat initial legacy rates in LQ table (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: don't indicate no BA if STA was in powersave (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: organize and cleanup consts (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Alter passive scan fragmentation parameters in case of multi-MAC (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: call to pcie_apply_destination also on family 8000 B step (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: ask the fw to wakeup (from d0i3) on sysassert (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: tlv: add support for IWL_UCODE_TLV_SDIO_ADMA_ADDR TLV (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: use iwl_mvm_sta_from_mac80211() consistently (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: use iwl_mvm_vif_from_mac80211() consistently (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: remove useless extern definition of iwl4265_2ac_sdio_cfg (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: clean refs before stop_device() (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: dvm: main: Use setup_timer (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: dvm: tt: Use setup_timer (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: support 2 different channels (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: wait for d0i3 exit on hw restart (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: consider d0i3_disable in iwl_mvm_is_d0i3_supported() (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: support multiple d0i3 modes (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: support IWL_D0I3_MODE_ON_SUSPEND d0i3 mode (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: allow both d0i3 and d3 wowlan configuration modes (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: add basic reference accounting (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: convert the SRAM dump to the generic memory dump (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: change SMEM dump to general purpose memory dump (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add smem content to dump data (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: support additional nvm_file in family 8000 B step (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: rs: fix max rate allowed if no rate is allowed (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: clear tt values when entering CT-kill (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: Set the HW step in the core dump (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: allow RSSI compensation (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add debugfs to trigger fw debug logs collection (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: pcie: let the Manageability Engine know when we leave (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: support LnP 1x1 antenna configuration (Stanislaw Gruszka) [1134606] - [netdrv] Revert "iwlwifi: use correct fw file in 8000 b-step" (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: mvm: add fw runtime stack to dump data (Stanislaw Gruszka) [1134606] - [netdrv] iwlwifi: remove MODULE_VERSION (Stanislaw Gruszka) [1134606]- [x86] perf/intel: Add INST_RETIRED.ALL workarounds (Jiri Olsa) [1189949] - [x86] perf/intel: Add Broadwell core support (Jiri Olsa) [1189949] - [x86] perf/intel: Add new cache events table for Haswell (Jiri Olsa) [1189949]- [tools] perf trace: Handle legacy syscalls tracepoints (Jiri Olsa) [1212402] - [scsi] qla2xxx: fix busy wait regression (Chad Dupuis) [1207270] - [fs] eCryptfs: Remove buggy and unnecessary write in file name decode routine (Mateusz Guzik) [1202156] {CVE-2014-9683} - [net] ipv4: Missing sk_nulls_node_init in ping_unhash (Denys Vlasenko) [1218103] {CVE-2015-3636} - [s390] dasd: disable CUIR support for z/VM (Hendrik Brueckner) [1223721] - [ata] ahci: avoton port-disable reset-quirk (David Milburn) [1223187] - [inifinband] iw_cxgb4: don't call neigh_release (Sai Vemuri) [1215835] - [fs] sunrpc: Set alloc_slot for backchannel tcp ops (Sachin Prabhu) [1208339] - [fs] epoll: convert max_user_watches to long (George Beshers) [741705] - [firmware] cxgb4: add missing Makefile invocation for 1.13.32.0 images (Jarod Wilson) [1189255] - [fs] proc: make proc_fd_permission() thread-friendly (Carlos Maiolino) [1201593] - [acpi] scan: reduce log level of "ACPI: \_PR_.CPU4: failed to get CPU APIC ID" (Charles Rose) [1222466] - [netdrv] mlx5: wrong page mask if CONFIG_ARCH_DMA_ADDR_T_64BIT enabled for 32Bit architectures (Doug Ledford) [1141604] - [netdrv] vmxnet3: Receive vlan stripped frames in hwaccel path (Neil Horman) [1218404] - [fs] NFSv4.1: Deal effectively with interrupted RPC calls (Steve Dickson) [1200956] - [fs] NFSv4.1: Try to deal with NFS4ERR_SEQ_MISORDERED (Steve Dickson) [1200956] - [fs] NFSv4.1: Handle NFS4ERR_BADSLOT errors correctly (Steve Dickson) [1200956] - [kernel] cgroup: fix cgroup_rmdir vs close race (Johannes Weiner) [1167772] - [thermal] intel_powerclamp: add id for Avoton SoC (Steve Best) [1225544] - [kernel] tracing: Buffer the output of seq_file in case of filled buffer (Jiri Olsa) [1123102] - [kernel] tracing: Consolidate protection of reader access to the ring buffer (Jiri Olsa) [1123102] - [kernel] tracing: Fix ring_buffer_read_page reading out of page boundary (Jiri Olsa) [1123102] - [kernel] ring-buffer: Check for end of page in iterator (Jiri Olsa) [1123102] - [netdrv] be2net: use PCI MMIO read instead of config read for errors (Ivan Vecera) [1216088] - [thermal] powerclamp: add ids for future xeon cpus (Steve Best) [1183181] - [powercap] RAPL: add IDs for future Xeon CPUs (Steve Best) [1183177] - [net] flow_dissector: fail on evil iph->ihl (Jason Wang) [1179559] - [netdrv] hyperv: Add IPv6 into the hash computation for vRSS (Jason Wang) [1179559] - [netdrv] hyperv: Add handling of IP header with option field in netvsc_set_hash (Jason Wang) [1179559] - [net] bridge: check return value of ipv6_dev_get_saddr() (Thadeu Lima de Souza Cascardo) [765987] - [net] bridge: Fix possibly wrong MLD queries' ethernet source address (Thadeu Lima de Souza Cascardo) [765987] - [net] bridge: Use IPv6 link-local address for multicast listener queries (Thadeu Lima de Souza Cascardo) [765987] - [net] conntrack: RFC5961 challenge ACK confuse conntrack LAST-ACK transition (Jesper Brouer) [1200541 1212801] - [net] tcp: Restore RFC5961-compliant behavior for SYN packets (Jesper Brouer) [1200541 1212801] - [crypto] drbg - fix maximum value checks on 32 bit systems (Herbert Xu) [1219907] - [crypto] drbg - remove configuration of fixed values (Herbert Xu) [1219907] - [netdrv] iwlwifi: mvm: protect rate scaling against non-mvm IBSS stations (Stanislaw Gruszka) [1206103] - [netdrv] mac80211: send AP probe as unicast again (Stanislaw Gruszka) [1206103] - [netdrv] mac80211: count interfaces correctly for combination checks (Stanislaw Gruszka) [1206103] - [netdrv] wl18xx: show rx_frames_per_rates as an array as it really is (Stanislaw Gruszka) [1206103] - [netdrv] mac80211: fix RX A-MPDU session reorder timer deletion (Stanislaw Gruszka) [1206103] - [netdrv] ath9k: fix tracking of enabled AP beacons (Stanislaw Gruszka) [1206103] - [netdrv] iwlwifi: dvm: run INIT firmware again upon .start() (Stanislaw Gruszka) [1206103] - [netdrv] iwlwifi: mvm: rs: fix BT Coex check to look at the correct ant (Stanislaw Gruszka) [1206103] - [netdrv] iwlwifi: mvm: Fix ROC removal (Stanislaw Gruszka) [1206103] - [netdrv] iwlwifi: mvm: BT Coex - fix a NULL pointer exception (Stanislaw Gruszka) [1206103] - [netdrv] iwlwifi: fix max_ht_ampdu_exponent for older devices (Stanislaw Gruszka) [1206103] - [netdrv] mac80211: drop unencrypted frames in mesh fwding (Stanislaw Gruszka) [1206103] - [netdrv] b43: fix support for 5 GHz only BCM43228 model (Stanislaw Gruszka) [1206103] - [netdrv] mac80211: disable u-APSD queues by default (Stanislaw Gruszka) [1206103] - [netdrv] mac80211: notify channel switch at the end of ieee80211_chswitch_post_beacon() (Stanislaw Gruszka) [1206103] - [netdrv] nl80211: ignore HT/VHT capabilities without QoS/WMM (Stanislaw Gruszka) [1206103] - [netdrv] ath5k: fix spontaneus AR5312 freezes (Stanislaw Gruszka) [1206103] - [netdrv] mac80211: Send EAPOL frames at lowest rate (Stanislaw Gruszka) [1206103] - [netdrv] iwlwifi: mvm: always use mac color zero (Stanislaw Gruszka) [1206103] - [netdrv] iwlwifi: mvm: fix failure path when power_update fails in add_interface (Stanislaw Gruszka) [1206103] - [netdrv] iwlwifi: mvm: validate tid and sta_id in ba_notif (Stanislaw Gruszka) [1206103] - [netdrv] iwlwifi: pcie: disable the SCD_BASE_ADDR when we resume from WoWLAN (Stanislaw Gruszka) [1206103] - [x86] perf: Don't use -ENOSPC for out of PMU resources (Jiri Olsa) [1215827] - [x86] perf: Blacklist all MEM_*_RETIRED events for Ivy Bridge (Jiri Olsa) [1215827] - [x86] perf: Add Intel IvyBridge event scheduling constraints (Jiri Olsa) [1215827] - [firmware] iwlwifi: update -12.ucode for 3160 / 7260 / 7265 / 7265D (Stanislaw Gruszka) [1194517] - [firmware] iwlwifi: update -10.ucode for 3160 / 7260 / 7265 / 7265D (Stanislaw Gruszka) [1194517]- [net] tcp: relax tcp_paws_check() (Thadeu Lima de Souza Cascardo) [1209147] - [x86] Mark Intel Broadwell-H processor as supported (Steve Best) [1132147] - [x86] kernel: ignore NMI IOCK when in kdump kernel (Jerry Snitselaar) [1196263] - [kernel] virtio: don't expose u16 in userspace api (Michael S. Tsirkin) [1154634] - [x86] apic/uv: Update the UV APIC HUB check (George Beshers) [1219207] - [x86] apic/uv: Update the UV APIC driver check (George Beshers) [1219207] - [x86] apic/uv: Update the APIC UV OEM check (George Beshers) [1219207]- [rpm] kernel.spec: fix 561.el6 changelog (Kurt Stutsman)- [net] Reinstate WIRELESS_EXT_SYSFS in net/wireless/Kconfig (John Linville) [1219434] - [netdrv] cxgb4: Firmware macro changes for fw verison 1.13.32.0 (Sai Vemuri) [1219233] - [netdrv] cxgb4: Move firmware version MACRO to t4fw_version.h (Sai Vemuri) [1219233] - [netdrv] be2net: fix SR-IOV resources optimization (Ivan Vecera) [1211535]- [powercap] RAPL: Add support for Intel Skylake processors (Steve Best) [1187314] - [powercap] rapl: add ID for Broadwell server (Steve Best) [1189925] - [s390] dasd: Fix unresumed device after suspend/resume having no paths (Hendrik Brueckner) [1213800] - [s390] dasd: fix inability to set a DASD device offline (Hendrik Brueckner) [1213799] - [s390] dasd: fix unresumed device after suspend/resume (Hendrik Brueckner) [1213801] - [netdrv] netvsc: don't flush peers notifying work during setting mtu (Jason Wang) [1203623] - [input] wacom: clear ABS_MISC on the touch device (Aristeu Rozanski) [1111332 1111333] - [x86] asm/entry/64: Remove a bogus 'ret_from_fork' optimization (Mateusz Guzik) [1209233] {CVE-2015-2830} - [fs] gfs2: try harder to obtain journal lock during recovery (Abhijith Das) [1110846] - [thermal] intel_powerclamp: add id for broadwell server (Steve Best) [1189954] - [net] Fix checksum features handling in netif_skb_features() (Vlad Yasevich) [1220247] - [scsi] megaraid_sas : Modify return value of megasas_issue_blocked_cmd() and wait_and_poll() to consider command status returned by firmware (Tomas Henzl) [1219105] - [netdrv] Revert "netxen: remove init of dev->perm_addr in drivers" (Tony Camuso) [1213689] - [ppc] Build RPA PCI Hotplug driver as module instead of directly into the kernel (Gustavo Duarte) [1095456] - [drm] radeon: fix wait in radeon_mn_invalidate_range_start (Rob Clark) [1218794] - [drm] i915: Fix and clean BDW PCH identification (Rob Clark) [1218794] - [drm] i915/vlv: save/restore the power context base reg (Rob Clark) [1218794] - [drm] radeon: Do not directly dereference pointers to BIOS area. (Rob Clark) [1218794] - [kernel] makefile: update drm version (Rob Clark) [1218794] - [drm] i915/vlv: remove wait for previous GFX clk disable request (Rob Clark) [1218794] - [drm] radeon: add extra check in radeon_ttm_tt_unpin_userptr (Rob Clark) [1218794] - [drm] i915: Reject the colorkey ioctls for primary and cursor planes (Rob Clark) [1218794] - [drm] radeon/dpm: fix 120hz handling harder (Rob Clark) [1218794] - [drm] radeon: do a posting read in cik_set_irq (Rob Clark) [1218794] - [drm] i915/vlv: remove wait for previous GFX clk disable request (Rob Clark) [1218794] - [drm] i915: Align initial plane backing objects correctly (Rob Clark) [1218794] - [drm] radeon: drop ttm two ended allocation (Rob Clark) [1218794] - [drm] edid: set ELD for firmware and debugfs override EDIDs (Rob Clark) [1218794] - [drm] radeon: drop setting UPLL to sleep mode (Rob Clark) [1218794] - [drm] radeon: do a posting read in si_set_irq (Rob Clark) [1218794] - [drm] radeon: fix interlaced modes on DCE8 (Rob Clark) [1218794] - [drm] Fixup racy refcounting in plane_force_disable (Rob Clark) [1218794] - [drm] Don't assign fbs for universal cursor support to files (Rob Clark) [1218794] - [drm] radeon: fix wait to actually occur after the signaling callback (Rob Clark) [1218794] - [drm] radeon: do a posting read in rs600_set_irq (Rob Clark) [1218794] - [drm] i915: Dell Chromebook 11 has PWM backlight (Rob Clark) [1218794] - [drm] radeon: do a posting read in evergreen_set_irq (Rob Clark) [1218794] - [drm] radeon: do a posting read in r600_set_irq (Rob Clark) [1218794] - [drm] i915: avoid processing spurious/shared interrupts in low-power states (Rob Clark) [1218794] - [drm] radeon: do a posting read in r100_set_irq (Rob Clark) [1218794] - [drm] i915: Prevent use-after-free in invalidate_range_start callback (Rob Clark) [1218794] - [drm] i915: Check obj->vma_list under the struct_mutex (Rob Clark) [1218794] - [drm] radeon: fix DRM_IOCTL_RADEON_CS oops (Rob Clark) [1218794] - [drm] i915/bdw: PCI IDs ending in 0xb are ULT. (Rob Clark) [1218794] - [drm] i915: Correct the IOSF Dev_FN field for IOSF transfers (Rob Clark) [1218794] - [drm] radeon: fix 1 RB harvest config setup for TN/RL (Rob Clark) [1218794] - [drm] i915: Insert a command barrier on BLT/BSD cache flushes (Rob Clark) [1218794] - [drm] radeon: use drm_mode_vrefresh() rather than mode->vrefresh (Rob Clark) [1218794] - [drm] i915: Drop vblank wait from intel_dp_link_down (Rob Clark) [1218794] - [drm] radeon: enable native backlight control on old macs (Rob Clark) [1218794] - [drm] radeon: fix voltage setup on hawaii (Rob Clark) [1218794] - [drm] radeon/dp: Set EDP_CONFIGURATION_SET for bridge chips if necessary (Rob Clark) [1218794] - [drm] radeon: workaround for CP HW bug on CIK (Rob Clark) [1218794] - [drm] radeon: only enable kv/kb dpm interrupts once v3 (Rob Clark) [1218794] - [drm] radeon: Don't try to enable write-combining without PAT (Rob Clark) [1218794] - [netdrv] i40e/i40evf: implement KR2 support (Stefan Assmann) [1214872] - [kernel] ethtool, net/mlx4_en: Add 100M, 20G, 56G speeds ethtool reporting support (Stefan Assmann) [1214872]- [x86] perf: Add cpu_ for core_pmu (Jiri Olsa) [1188336] - [block] NVMe: Initialize device list head before starting (David Milburn) [1158606] - [block] NVMe: Fix potential corruption on sync commands (David Milburn) [1158606] - [block] NVMe: Fix potential corruption during shutdown (David Milburn) [1158606] - [block] NVMe: Asynchronous controller probe (David Milburn) [1158606] - [block] NVMe: Register management handle under nvme class (David Milburn) [1158606] - [block] NVMe: Update module version (David Milburn) [1158606] - [block] NVMe: Handling devices incapable of I/O (David Milburn) [1158606] - [x86] Mark Intel Broadwell-EP processor as supported (Steve Best) [1132146] - [fs] nfs: Don't attempt to decode missing directory entries (Benjamin Coddington) [1182830] - [acpi] Skip creation of /proc/acpi/power_resource/ entries for duplicate power resource names (Lenny Szubowicz) [1206643] - [powerpc] perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH (Steve Best) [1213966]- [x86] mm: Linux stack ASLR implementation (Jacob Tanenbaum) [1195683] {CVE-2015-1593} - [scsi] megaraid_sas: do not process IOCTLs and SCSI commands during driver removal - a fix (Tomas Henzl) [1212364] - [fs] xfs: DIO write completion size updates race (Brian Foster) [1198440] - [x86] KVM: Fix lost interrupt on irr_pending race (Paolo Bonzini) [1213741] - [sound] ALSA: seq-oss: Initialize MIDI clients asynchronously (Jaroslav Kysela) [1212596] - [net] ipv6: Don't reduce hop limit for an interface (Denys Vlasenko) [1208493] {CVE-2015-2922} - [net] vlan: more careful checksum features handling (Vlad Yasevich) [1212384] - [kernel] tracing: Export tracing clock functions (Jerry Snitselaar) [1212502] - [input] wacom - use new input-mt routines (Aristeu Rozanski) [1111332 1111333] - [input] wacom: enable touch on Intuos 5 (Aristeu Rozanski) [1111332 1111333] - [netdrv] bnx2x: Fix kdump when iommu=on (Michal Schmidt) [1211695] - [netdrv] bnx2x: Fix busy_poll vs netpoll (Michal Schmidt) [1212365] - [netdrv] bnx2x: Fix statistics locking scheme (Michal Schmidt) [1211695] - [netdrv] bnx2x: Fix kdump on 4-port device (Michal Schmidt) [1211695]- [firmware] cxgb4: update firmware to revision 1.13.32.0 for T4 and T5 (Jarod Wilson) [1189255] - [netdrv] cxgb4: Add warning msg when attaching to adapters which have FLASHes smaller than 2Mb (Sai Vemuri) [1211742] - [infiniband] cxgb4: Increase epd buff size for debug interface (Sai Vemuri) [1211742] - [infiniband] cxgb4: Configure 0B MRs to match HW implementation (Sai Vemuri) [1211742] - [infiniband] cxgb4: Fix locking issue in process_mpa_request (Sai Vemuri) [1211742] - [infiniband] cxgb4: Limit MRs to < 8GB for T4/T5 devices (Sai Vemuri) [1211742] - [infiniband] cxgb4: Wake up waiters after flushing the qp (Sai Vemuri) [1211742] - [infiniband] cxgb4: Handle NET_XMIT return codes (Sai Vemuri) [1211742] - [netdrv] libcxgbi: fix freeing skb prematurely (Sai Vemuri) [1211742] - [netdrv] cxgb4i: use set_wr_txq() to set tx queues (Sai Vemuri) [1211742] - [netdrv] cxgb4i: handle non-pdu-aligned rx data (Sai Vemuri) [1211742] - [netdrv] cxgb4i: additional types of negative advice (Sai Vemuri) [1211742] - [netdrv] cxgb4/cxgb4i: set the max. pdu length in firmware (Sai Vemuri) [1211742] - [netdrv] cxgb4i: fix credit check for tx_data_wr (Sai Vemuri) [1211742] - [netdrv] cxgb4i: fix tx immediate data credit check (Sai Vemuri) [1211742] - [netdrv] cxgb4i: Don't block unload/cxgb4 unload when remote closes TCP connection (Sai Vemuri) [1211742] - [netdrv] cxgb4: Update FW version string to match FW binary version 1.12.25.0 (Sai Vemuri) [1211742] - [netdrv] cxgb4: Add a check for flashing FW using ethtool (Sai Vemuri) [1211742] - [netdrv] cxgb4: Fill in supported link mode for SFP modules (Sai Vemuri) [1211742] - [netdrv] cxgb4: Fix missing initialization of win0_lock (Sai Vemuri) [1211742] - [netdrv] cxgb4vf: FL Starvation Threshold needs to be larger than the SGE's Egress Congestion Threshold (Sai Vemuri) [1211742] - [netdrv] cxgb4/cxgb4vf: For T5 use Packing and Padding Boundaries for SGE DMA transfers (Sai Vemuri) [1211742] - [netdrv] cxgb4vf: Move fl_starv_thres into adapter->sge data structure (Sai Vemuri) [1211742] - [netdrv] cxgb4vf: Replace repetitive pci device ID's with right ones (Sai Vemuri) [1211742] - [netdrv] cxgb4i: send abort_rpl correctly (Sai Vemuri) [1211742] - [netdrv] libcxgbi: support ipv6 address host_param (Sai Vemuri) [1211742] - [netdrv] cxgb4i: Fix -Wmaybe-uninitialized warning (Sai Vemuri) [1211742] - [netdrv] cxgb4i: Fix -Wunused-function warning (Sai Vemuri) [1211742] - [netdrv] cxgb4: Fix build failure in cxgb4 when ipv6 is disabled/not in-built (Sai Vemuri) [1211742] - [netdrv] cxgb4i: Remove duplicated CLIP handling code (Sai Vemuri) [1211742] - [netdrv] cxgb4i: avoid holding mutex in interrupt context (Sai Vemuri) [1211742] - [infiniband] cxgb4: Fix ntuple calculation for ipv6 and remove duplicate line (Sai Vemuri) [1211742] - [infiniband] cxgb4: Take IPv6 into account for best_mtu and set_emss (Sai Vemuri) [1211742] - [infiniband] cxgb4: Make c4iw_wr_log_size_order static (Sai Vemuri) [1211742] - [netdrv] cxgb4: Fix FW flash logic using ethtool (Sai Vemuri) [1211742] - [netdrv] cxgb4vf: Add 40G support for cxgb4vf driver (Sai Vemuri) [1211742] - [netdrv] cxgb4: Wait for device to get ready before reading any register (Sai Vemuri) [1211742] - [netdrv] cxgb4/cxgb4vf: Updated the LSO transfer length in CPL_TX_PKT_LSO for T5 (Sai Vemuri) [1211742] - [netdrv] cxgb4: clean up a type issue (Sai Vemuri) [1211742] - [netdrv] cxgb4: potential shift wrapping bug (Sai Vemuri) [1211742] - [netdrv] cxgb4: Add support for adaptive rx (Sai Vemuri) [1211742] - [netdrv] cxgb4/cxgb4vf: Add Devicde ID for two more adapter (Sai Vemuri) [1211742] - [netdrv] cxgb4vf: Remove superfluous "idx" parameter of CH_DEVICE() macro (Sai Vemuri) [1211742] - [netdrv] cxgb4: Use BAR2 Going To Sleep (GTS) for T5 and later (Sai Vemuri) [1211742] - [netdrv] cxgb4: Don't allocate adapter structure for all PF's (Sai Vemuri) [1211742] - [netdrv] cxgb4/cxgb4vf: Add device ID for new adapter and remove for dbg adapter (Sai Vemuri) [1211742] - [netdrv] cxgb4: Fix t4_flash_erase_sectors() to throw an error when requested to erase sectors which aren't in the FLASH (Sai Vemuri) [1211742] - [netdrv] cxgb4: Add support to S25FL032P flash (Sai Vemuri) [1211742] - [netdrv] cxgb4: Allow T4/T5 firmware sizes up to 1MB (Sai Vemuri) [1211742] - [netdrv] cxgb4: Issue mbox commands on correct mbox (Sai Vemuri) [1211742] - [netdrv] cxgb4: Avoid dumping Write-only registers in register dump (Sai Vemuri) [1211742] - [netdrv] cxgb4: Detect and display firmware reported errors (Sai Vemuri) [1211742] - [netdrv] cxgb4: Fix T5 adapter accessing T4 adapter registers (Sai Vemuri) [1211742] - [netdrv] cxgb4: Fixed the code to use correct length for part number (Sai Vemuri) [1211742] - [netdrv] cxgb4: Fix for handling 1Gb/s SFP+ Transceiver Modules (Sai Vemuri) [1211742] - [netdrv] cxgb4: Free completed tx skbs promptly (Sai Vemuri) [1211742] - [netdrv] cxgb4: Fix race condition in cleanup (Sai Vemuri) [1211742] - [infiniband] cxgb4: Only call CQ completion handler if it is armed (Sai Vemuri) [1211742] - [netdrv] iw_cxgb4: Don't limit TPTE count to 32KB (Sai Vemuri) [1211742] - [netdrv] iw_cxgb4: advertise the correct device max attributes (Sai Vemuri) [1211742] - [netdrv] iw_cxgb4: Support query_qp() verb (Sai Vemuri) [1211742] - [netdrv] iw_cxgb4: log detailed warnings for negative advice (Sai Vemuri) [1211742] - [scsi] cxgb4i: Fix ipv6 build failure caught with randconfig (Sai Vemuri) [1145278] - [scsi] cxgb4i: remove spurious use of rcu (Sai Vemuri) [1145278] - [scsi] cxgb4i: Guard ipv6 code with a config check (Sai Vemuri) [1145278] - [scsi] cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api (Sai Vemuri) [1145278] - [scsi] libcxgbi: Add ipv6 api to driver (Sai Vemuri) [1145278] - [scsi] cxgb4i: Use cxgb4_select_ntuple to correctly calculate ntuple fields (Sai Vemuri) [1145278] - [scsi] cxgb4i: add support for T5 adapter (Sai Vemuri) [1145278] - [scsi] csgb4i: convert skb->transport_header into skb_transport_header(skb) (Sai Vemuri) [1145278] - [netdrv] cxgb4: Export symbols required by cxgb4i for ipv6 support and required defines (Sai Vemuri) [1145278] - [netdrv] cxfb4vf: Add config option to enable Chelsio cxgb4vf driver (Sai Vemuri) [1112417] - [netdrv] cxfb4vf: Call dev_kfree/consume_skb_any instead of kfree_skb (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Use pci_enable_msix_range() instead of pci_enable_msix() (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Turn off SGE RX/TX Callback Timers and interrupts in PCI shutdown routine (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Adds device ID for few more Chelsio T4 Adapters (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Check if rx checksum offload is enabled, while reading hardware calculated checksum (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Adds device Id for few more Chelsio adapters (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Remove superfluous call to pci_disable_msix() (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: make functions static and remove dead code (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: added much cleaner implementation of is_t4() (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: use DEFINE_PCI_DEVICE_TABLE (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: remove unnecessary pci_set_drvdata() (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Staticize local symbols (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Support CPL_SGE_EGR_UPDATEs encapsulated in a CPL_FW4_MSG (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Add support for Chelsio T5 adapter (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Add support for Chelsio's T480-CR and T440-LP-CR adapters (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Fix VLAN extraction counter increment (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Fix extraction of cpl_rx_pkt from the response queue descriptor (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Use netdev_ and pr_ (Sai Vemuri) [1112417 1145275] - [netdrv] cxgb4vf: remove __dev* attributes (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: do vlan cleanup (Sai Vemuri) [1112417] - [netdrv] cxgb<3, 4>*: improve Kconfig dependencies (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Use defined Mailbox Timeout (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Quiesce Virtual Interfaces on shutdown (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Behave properly when CONFIG_DEBUG_FS isn't defined (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Check driver parameters in the right place (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: recover from failure in cxgb4vf_open (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix mailbox data/control coherency domain race (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Ingress Queue Entry Size needs to be 64 bytes (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix setting unicast/multicast addresses (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Advertise NETIF_F_TSO_ECN (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix up "Section Mismatch" compiler warning (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: add ethtool statistics for GRO (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: minor comment/symbolic name cleanup (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: add call to Firmware to reset VF State (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Fail open if link_start() fails (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: flesh out PCI Device ID Table (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix some errors in Gather List to skb conversion (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix bug in Generic Receive Offload (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: don't implement trivial (and incorrect) ndo_select_queue() (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: remove call to stop TX queues at load time (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: make single bit signed bitfields unsigned (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Use netif_set_real_num__queues (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: do not use PCI resources before pci_enable_device() (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Fix bug where we were only allocating one queue in MSI mode (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Fix off-by-one error checking for the end of the mailbox delay array (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix SGE resource resource deallocation bug (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: fix TX Queue restart (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Implement "Unhandled Interrupts" statistic (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: remove obsolete DECLARE_PCI_UNMAP_ADDR usage (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Use correct shift factor for extracting the SGE DMA Ingress Padding Boundary (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Remove obsolete comment about the lack of a TX Timer Callback (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Stitch new T4 PCI-E SR-IOV Virtual Function driver into the build (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Add new Makefile for T4 PCI-E SR-IOV Virtual Function driver cxgb4vf (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Add main T4 PCI-E SR-IOV Virtual Function driver for cxgb4vf (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Add T4 Virtual Function Scatter-Gather Engine DMA code (Sai Vemuri) [1112417] - [netdrv] cxgb4vf: Add core T4 PCI-E SR-IOV Virtual Function hardware definitions and device communication code (Sai Vemuri) [1112417] - [infiniband] iw_cxgb4: fix for 64-bit integer division (Sai Vemuri) [1145275] - [netdrv] cxgb4: only free allocated fls (Sai Vemuri) [1145275] - [netdrv] cxgb4: Fixed incorrect check for memory operation in t4_memory_rw (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add the MC1 registers to read in the interrupt handler (Sai Vemuri) [1145275] - [netdrv] cxgb4: Update FW version string to match FW binary version (Sai Vemuri) [1145275] - [netdrv] cxgb4: Fix for SR-IOV VF initialization (Sai Vemuri) [1145275] - [netdrv] cxgb4i: Move stray CPL definitions to cxgb4 driver (Sai Vemuri) [1145275] - [netdrv] cxgb4/iw_cxgb4: Move common defines to cxgb4 (Sai Vemuri) [1145275] - [netdrv] cxgb4/iw_cxgb4: work request logging feature (Sai Vemuri) [1145275] - [netdrv] cxgb4/iw_cxgb4: display TPTE on errors (Sai Vemuri) [1145275] - [netdrv] cxgb4/iw_cxgb4: use firmware ord/ird resource limits (Sai Vemuri) [1145275] - [netdrv] iw_cxgb4: Detect Ing. Padding Boundary at run-time (Sai Vemuri) [1145275] - [infiniband] cxgb4: Initialize the device status page (Sai Vemuri) [1145275] - [infiniband] cxgb4: Clean up connection on ARP error (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix skb_leak in reject_cr() (Sai Vemuri) [1145275] - [netdrv] cxgb4: remove unnecessary null test before debugfs_remove_recursive (Sai Vemuri) [1145275] - [netdrv] cxgb4: Adds device ID for few more Chelsio T4 Adapters (Sai Vemuri) [1145275] - [netdrv] cxgb4: Replaced the backdoor mechanism to access the HW memory with PCIe Window method (Sai Vemuri) [1145275] - [netdrv] cxgb4: Use FW interface to get BAR0 value (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fixes cxgb4 probe failure in VM when PF is exposed through PCI Passthrough (Sai Vemuri) [1145275] - [netdrv] cxgb4: Not need to hold the adap_rcu_lock lock when read adap_rcu_list (Sai Vemuri) [1145275] - [netdrv] cxgb4: Change default Interrupt Holdoff Packet Count Threshold (Sai Vemuri) [1145275] - [netdrv] iw_cxgb4: don't truncate the recv window size (Sai Vemuri) [1145275] - [netdrv] iw_cxgb4: Choose appropriate hw mtu index and ISS for iWARP connections (Sai Vemuri) [1145275] - [netdrv] iw_cxgb4: Allocate and use IQs specifically for indirect interrupts (Sai Vemuri) [1145275] - [infiniband] cxgb4: add missing padding at end of struct c4iw_alloc_ucontext_resp (Sai Vemuri) [1145275] - [infiniband] cxgb4: Add missing padding at end of struct c4iw_create_cq_resp (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix vlan support (Sai Vemuri) [1145275] - [netdrv] cxgb4: Check if rx checksum offload is enabled, while reading hardware calculated checksum (Sai Vemuri) [1145275] - [netdrv] cxgb4: Decode the firmware port and module type a bit more for ethtool (Sai Vemuri) [1145275] - [netdrv] cxgb4: Decode PCIe Gen3 link speed (Sai Vemuri) [1145275] - [infiniband] cxgb4: Update Kconfig to include Chelsio T5 adapter (Sai Vemuri) [1145275] - [infiniband] cxgb4: Only allow kernel db ringing for T4 devs (Sai Vemuri) [1145275] - [infiniband] cxgb4: Force T5 connections to use TAHOE congestion control (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix endpoint mutex deadlocks (Sai Vemuri) [1145275] - [netdrv] cxgb4: use the correct max size for firmware flash (Sai Vemuri) [1145275] - [netdrv] cxgb4: Save the correct mac addr for hw-loopback connections in the L2T (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix over-dereference when terminating (Sai Vemuri) [1145275] - [infiniband] cxgb4: Use uninitialized_var() (Sai Vemuri) [1145275] - [infiniband] cxgb4: Add missing debug stats (Sai Vemuri) [1145275] - [infiniband] cxgb4: Initialize reserved fields in a FW work request (Sai Vemuri) [1145275] - [infiniband] cxgb4: Use pr_warn_ratelimited (Sai Vemuri) [1145275] - [infiniband] cxgb4: Max fastreg depth depends on DSGL support (Sai Vemuri) [1145275] - [infiniband] cxgb4: SQ flush fix (Sai Vemuri) [1145275] - [infiniband] cxgb4: rmb() after reading valid gen bit (Sai Vemuri) [1145275] - [infiniband] cxgb4: Endpoint timeout fixes (Sai Vemuri) [1145275] - [infiniband] cxgb4: Use the BAR2/WC path for kernel QPs and T5 devices (Sai Vemuri) [1145275] - [infiniband] cxgb4: Disable DSGL use by default (Sai Vemuri) [1145275] - [infiniband] cxgb4: rx_data() needs to hold the ep mutex (Sai Vemuri) [1145275] - [infiniband] cxgb4: Drop RX_DATA packets if the endpoint is gone (Sai Vemuri) [1145275] - [infiniband] cxgb4: Lock around accept/reject downcalls (Sai Vemuri) [1145275] - [infiniband] cxgb4: set error code on kmalloc() failure (Sai Vemuri) [1145275] - [netdrv] cxgb4: Adds device ID for few more Chelsio Adapters (Sai Vemuri) [1145275] - [netdrv] cxgb4: Remove addressof casts to same type (Sai Vemuri) [1145275] - [netdrv] cxgb4: Call dev_kfree/consume_skb_any instead of kfree_skb (Sai Vemuri) [1145275] - [infiniband] cxgb4: Update snd_seq when sending MPA messages (Sai Vemuri) [1145275] - [infiniband] cxgb4: Connect_request_upcall fixes (Sai Vemuri) [1145275] - [infiniband] cxgb4: Ignore read reponse type 1 CQEs (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix possible memory leak in RX_PKT processing (Sai Vemuri) [1145275] - [infiniband] cxgb4: Don't leak skb in c4iw_uld_rx_handler() (Sai Vemuri) [1145275] - [infiniband] cxgb4: Save the correct map length for fast_reg_page_lists (Sai Vemuri) [1145275] - [infiniband] cxgb4: Default peer2peer mode to 1 (Sai Vemuri) [1145275] - [infiniband] cxgb4: Mind the sq_sig_all/sq_sig_type QP attributes (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix incorrect BUG_ON conditions (Sai Vemuri) [1145275] - [infiniband] cxgb4: Always release neigh entry (Sai Vemuri) [1145275] - [infiniband] cxgb4: Allow loopback connections (Sai Vemuri) [1145275] - [infiniband] cxgb4: Cap CQ size at T4_MAX_IQ_SIZE (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix four byte info leak in c4iw_create_cq() (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix underflows in c4iw_create_qp() (Sai Vemuri) [1145275] - [netdrv] cxgb4/iw_cxgb4: Doorbell Drop Avoidance Bug Fixes (Sai Vemuri) [1145275] - [netdrv] cxgb4/iw_cxgb4: Treat CPL_ERR_KEEPALV_NEG_ADVICE as negative advice (Sai Vemuri) [1145275] - [netdrv] cxgb4: Calculate len properly for LSO path (Sai Vemuri) [1145275] - [netdrv] cxgb4: Updates for T5 SGE's Egress Congestion Threshold (Sai Vemuri) [1145275] - [netdrv] cxgb4: Rectify emitting messages about SGE Ingress DMA channels being potentially stuck (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add code to dump SGE registers when hitting idma hangs (Sai Vemuri) [1145275] - [netdrv] cxgb4: Fix some small bugs in t4_sge_init_soft() when our Page Size is 64KB (Sai Vemuri) [1145275] - [netdrv] cxgb4: use remove handler as shutdown handler (Sai Vemuri) [1145275] - [netdrv] cgxb4: Stop using ethtool SPEED_* constants (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add more PCI device ids (Sai Vemuri) [1145275] - [netdrv] cxgb4: Don't assume LSO only uses SGL path in t4_eth_xmit() (Sai Vemuri) [1145275] - [netdrv] cxgb4: Remove unused registers and add missing ones (Sai Vemuri) [1145275] - [netdrv] cxgb4: Query firmware for T5 ULPTX MEMWRITE DSGL capabilities (Sai Vemuri) [1145275] - [netdrv] cxgb4: LE-Workaround is not atomic in firmware (Sai Vemuri) [1145275] - [netdrv] cxgb4: Allow >10G ports to have multiple queues (Sai Vemuri) [1145275] - [netdrv] cxgb4: Print adapter VPD Part Number instead of Engineering Change field (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add support to recognize 40G links (Sai Vemuri) [1145275] - [netdrv] cxgb4: Use pci_enable_msix_range() instead of pci_enable_msix() (Sai Vemuri) [1145275] - [infiniband] cxgb4: Add missing neigh_release in LE-Workaround path (Sai Vemuri) [1145275] - [netdrv] cxgb4: Fix referencing freed adapter (Sai Vemuri) [1145275] - [netdrv] cxgb4: Don't retrieve stats during recovery (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix gcc warning on 32-bit arch (Sai Vemuri) [1145275] - [netdrv] cxgb4: Avoid disabling PCI device for towice (Sai Vemuri) [1145275] - [netdrv] cxgb4: silence shift wrapping static checker warning (Sai Vemuri) [1145275] - [netdrv] cxgb4: Changed FW check version to match FW binary version (Sai Vemuri) [1145275] - [netdrv] cxgb4: allow large buffer size to have page size (Sai Vemuri) [1145275] - [infiniband] cxgb4: Use cxgb4_select_ntuple to correctly calculate ntuple fields (Sai Vemuri) [1145275] - [infiniband] cxgb4: Server filters are supported only for IPv4 (Sai Vemuri) [1145275] - [infiniband] cxgb4: Calculate the filter server TID properly (Sai Vemuri) [1145275] - [netdrv] cxgb4: make functions static and remove dead code (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add API to correctly calculate tuple fields (Sai Vemuri) [1145275] - [netdrv] cxgb4: Account for stid entries properly in case of IPv6 (Sai Vemuri) [1145275] - [netdrv] cxgb4: Assign filter server TIDs properly (Sai Vemuri) [1145275] - [netdrv] cxgb4: Include TCP as protocol when creating server filters (Sai Vemuri) [1145275] - [netdrv] cxgb4: Reserve stid 0 for T4/T5 adapters (Sai Vemuri) [1145275] - [netdrv] cxgb4: calls skb_set_hash (Sai Vemuri) [1145275] - [infiniband] cxgb4: Make _c4iw_write_mem_dma() static (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix formatting of physical address (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add new scheme to update T4/T5 firmware (Sai Vemuri) [1145275] - [netdrv] cxgb4: Much cleaner implementation of is_t4()/is_t5() (Sai Vemuri) [1145275] - [netdrv] cgxb4: remove duplicate include in cxgb4.h (Sai Vemuri) [1145275] - [netdrv] cxgb4: remove unnecessary pci_set_drvdata() (Sai Vemuri) [1145275] - [netdrv] cxgb4: remove workqueue when driver registration fails (Sai Vemuri) [1145275] - [infiniband] cxgb4: Issue RI.FINI before closing when entering TERM (Sai Vemuri) [1145275] - [infiniband] cxgb4: Advertise ~0ULL as max MR size (Sai Vemuri) [1145275] - [infiniband] cxgb4: Always do GTS write if cidx_inc == CIDXINC_MASK (Sai Vemuri) [1145275] - [infiniband] cxgb4: Set arp error handler for PASS_ACCEPT_RPL messages (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix accounting for unsignaled SQ WRs to deal with wrap (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix QP flush logic (Sai Vemuri) [1145275] - [infiniband] cxgb4: Use correct bit shift macros for vlan filter tuples (Sai Vemuri) [1145275] - [infiniband] cxgb4: Handle newer firmware changes (Sai Vemuri) [1145275] - [infiniband] cxgb4: Add support for active and passive open connection with IPv6 address (Sai Vemuri) [1145275] - [infiniband] cma: Add IPv6 support for iWARP (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add CLIP support to store compressed IPv6 address (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add routines to create and remove listening IPv6 servers (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix stack info leak in c4iw_create_qp() (Sai Vemuri) [1145275] - [netdrv] cxgb4: Do not set net_device::dev_id to VI index (Sai Vemuri) [1145275] - [netdrv] cxgb3: Correct comparisons and calculations using skb->tail and skb-transport_header (Sai Vemuri) [1145275] - [netdrv] cxgb4: Force uninitialized state if FW_ON_ADAPTER is < FW_VERSION and we're the MASTER_PF (Sai Vemuri) [1145275] - [netdrv] cxgb4: fix error recovery when t4_fw_hello returns a positive value (Sai Vemuri) [1145275] - [netdrv] cxgb4: Support CPL_SGE_EGR_UPDATEs encapsulated in a CPL_FW4_MSG (Sai Vemuri) [1145275] - [netdrv] cxgb4: Fix pci_device_id structure initialization with correct PF number (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix SQ allocation when on-chip SQ is disabled (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix error return code in create_qp() (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix onchip queue support for T5 (Sai Vemuri) [1145275] - [infiniband] cxgb4: Bump tcam_full stat and WR reply timeout (Sai Vemuri) [1145275] - [infiniband] cxgb4: Map pbl buffers for dma if using DSGL (Sai Vemuri) [1145275] - [infiniband] cxgb4: Use DSGLs for fastreg and adapter memory writes for T5 (Sai Vemuri) [1145275] - [infiniband] cxgb4: Add module_params to enable DB FC & Coalescing on T5 (Sai Vemuri) [1145275] - [infiniband] cxgb4: Turn off db coalescing when RDMA QPs are in use (Sai Vemuri) [1145275] - [infiniband] cxgb4: Add Support for Chelsio T5 adapter (Sai Vemuri) [1145275] - [netdrv] cxgb4: Disable SR-IOV support for PF4-7 for T5 (Sai Vemuri) [1145275] - [netdrv] cxgb4: Update driver version and description (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add T5 PCI ids (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add T5 debugfs support (Sai Vemuri) [1145275] - [netdrv] cxgb4: Enable doorbell drop recovery only for T4 adapter (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add T5 write combining support (Sai Vemuri) [1145275] - [netdrv] cxgb4: Dump T5 registers (Sai Vemuri) [1145275] - [netdrv] cxgb4: Initialize T5 (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add macros, structures and inline functions for T5 (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add register definations for T5 (Sai Vemuri) [1145275] - [netdrv] cxgb4: Allow for backward compatibility with new VPD scheme (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix cast warning (Sai Vemuri) [1145275] - [infiniband] cxgb4: "cookie" can stay in host endianness (Sai Vemuri) [1145275] - [infiniband] cxgb4: Address sparse warnings (Sai Vemuri) [1145275] - [infiniband] cxgb4: Insert hwtid in pass_accept_req instead in pass_establish (Sai Vemuri) [1145275] - [infiniband] cxgb4: Don't wakeup threads for MPAv2 (Sai Vemuri) [1145275] - [infiniband] cxgb4: Don't reconnect on abort for mpa_rev 1 (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix endpoint timeout race condition (Sai Vemuri) [1145275] - [infiniband] cxgb4: Only log rx_data warnings if cpl status is non-zero (Sai Vemuri) [1145275] - [infiniband] cxgb4: Always log async errors (Sai Vemuri) [1145275] - [infiniband] cxgb4: Keep QP referenced until TID released (Sai Vemuri) [1145275] - [infiniband] cxgb4: Display streaming mode error only if detected in RTS (Sai Vemuri) [1145275] - [infiniband] cxgb4: Abort connections when moving to ERROR state (Sai Vemuri) [1145275] - [infiniband] cxgb4: Abort connections that receive unexpected streaming mode data (Sai Vemuri) [1145275] - [netdrv] cxgb4: Fix incorrect PFVF CMASK (Sai Vemuri) [1145275] - [netdrv] cxgb3/cxgb4: Use netdev_ and pr_ (Sai Vemuri) [1145275 1145278] - [infiniband] cxgb4: Fix bug for active and passive LE hash collision path (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix LE hash collision bug for passive open connection (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix LE hash collision bug for active open connection (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add LE hash collision bug fix path in LLD driver (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add T4 filter support (Sai Vemuri) [1145275] - [netdrv] cxgb4: remove __dev* attributes (Sai Vemuri) [1145275] - [netdrv] cxgb4: Chelsio FCoE offload driver submission (common header updates) (Sai Vemuri) [1145275] - [infiniband] cxgb4: use WARN (Sai Vemuri) [1145275] - [netdrv] cxgb4: Fix initialization of SGE_CONTROL register (Sai Vemuri) [1145275] - [netdrv] cxgb4: Fix unable to get UP event from the LLD (Sai Vemuri) [1145275] - [infiniband] cxgb4: Don't free chunk that we have failed to allocate (Sai Vemuri) [1145275] - [netdrv] cxgb4: Remove unnecessary #ifdef condition (Sai Vemuri) [1145275] - [netdrv] cxgb4: Address various sparse warnings (Sai Vemuri) [1145275] - [netdrv] cxgb4: allocate enough data in t4_memory_rw() (Sai Vemuri) [1145275] - [netdrv] cxgb4: Fix build error due to missing linux/vmalloc.h include (Sai Vemuri) [1145275] - [netdrv] cxgb4: Dynamically allocate memory in t4_memory_rw() and get_vpd_params() (Sai Vemuri) [1145275] - [infiniband] cxgb4: Fix error handling in create_qp() (Sai Vemuri) [1145275] - [netdrv] cxgb4: Don't attempt to upgrade T4 firmware when cxgb4 will end up as a slave (Sai Vemuri) [1145275] - [netdrv] cxgb4: Inform caller if driver didn't upgrade firmware (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add support for T4 hardwired driver configuration settings (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add support for T4 configuration file (Sai Vemuri) [1145275] - [netdrv] cxgb4: Code cleanup to enable T4 Configuration File support (Sai Vemuri) [1145275] - [netdrv] cxgb4: Add functions to read memory via PCIE memory window (Sai Vemuri) [1145275] - [netdrv] cxgb4: Fix incorrect values for MEMWIN*_APERTURE and MEMWIN*_BASE (Sai Vemuri) [1145275] - [infiniband] cxgb4: Move dereference below NULL test (Sai Vemuri) [1145275] - [netdrv] cxgb4: Remove duplicate register definitions (Sai Vemuri) [1145275] - [infiniband] cxgb4: Update RDMA/cxgb4 due to macro definition removal in cxgb4 driver (Sai Vemuri) [1145275] - [netdrv] cxgb4: set maximal number of default RSS queues (Sai Vemuri) [1145275] - [infiniband] cxgb4: Include vmalloc.h for vmalloc and vfree (Sai Vemuri) [1145275] - [infiniband] cxgb4: Use vmalloc() for debugfs QP dump (Sai Vemuri) [1145275] - [infiniband] cxgb4: Add debugfs RDMA memory stats (Sai Vemuri) [1145275] - [infiniband] cxgb4: Convert import_ep() over to dst_neigh_lookup() (Sai Vemuri) [1145275] - [infiniband] cxgb4: Debugfs dump_qp() updates (Sai Vemuri) [1145275] - [infiniband] cxgb4: Use ULP_MODE_TCPDDP (Sai Vemuri) [1145275] - [infiniband] cxgb4: Turn on delayed ACK (Sai Vemuri) [1145275] - [netdrv] cxgb4: Use netif_set_real_num__queues (Sai Vemuri) [1145275] - [netdrv] cxgb4: set skb->rxhash (Sai Vemuri) [1145275]- [mm] readahead: get back a sensible upper limit (Rafael Aquini) [1187940] - [fs] quota: Properly invalidate caches even for filesystems with blocksize < pagesize (Lukas Czerner) [893926] - [fs] xfs: fix behaviour of XFS_IOC_FSSETXATTR on directories (Zorro Lang) [1200705] - [fs] xfs: allow logical-sector-sized DIO (Eric Sandeen) [1197195] - [fs] xfs: rename xfs_buftarg structure members (Eric Sandeen) [1197195] - [fs] xfs: clean up xfs_buftarg (Eric Sandeen) [1197195] - [fs] xfs: simplify xfs_setsize_buftarg callchain; remove unused arg (Eric Sandeen) [1197195] - [fs] fuse: avoid scheduling while atomic (Brian Foster) [1144128] - [fs] pipe: kill ->map() and ->unmap() (Brian Foster) [1144128] - [fs] fuse: use clear_highpage() and KM_USER0 instead of KM_USER1 (Brian Foster) [1144128] - [s390] af_iucv: fix AF_IUCV sendmsg() errno (Hendrik Brueckner) [1211173] - [s390] zcrypt: improve device probing for zcrypt adapter cards (Hendrik Brueckner) [1211174] - [cpufreq] fix null ptr dereference (Petr Oros) [1186720] - [powerpc] eeh: Remove reference to PCI device (Gustavo Duarte) [1189019] - [powerpc] pci: Override pcibios_release_device() (Gustavo Duarte) [1189019] - [powerpc] eeh: Export functions for hotplug (Gustavo Duarte) [1189019] - [pci] Add pcibios_release_device() (Gustavo Duarte) [1189019] - [netdrv] mlx4_en: do not ignore autoneg in mlx4_en_set_pauseparam (Amir Vadai) [1121491] - [netdrv] mlx4_core: Replace pr_warning with pr_warn (Amir Vadai) [1136753] - [netdrv] mlx4_core: Deprecate use_prio module parameter (Amir Vadai) [1136753] - [x86] intel_pstate: Add CPUID for BDW-H CPU (Steve Best) [1164883] - [x86] crypto: aesni - fix memory usage in GCM decryption (Kurt Stutsman) [1213330] {CVE-2015-3331}- [crypto] testmgr: fix RNG return code enforcement (Herbert Xu) [1208804] - [netdrv] i40e: Fix RSS size at init since default num queue calculation has changed (Stefan Assmann) [1209444] - [netdrv] i40e: Move RSS table size for VSIs to the VSI struct (Stefan Assmann) [1209444] - [netdrv] i40e: Enable more than 64 qps for the Main VSI (Stefan Assmann) [1209444] - [netdrv] i40e: use netdev_rss_key_fill() helper (Stefan Assmann) [1209444] - [net] netfilter: xtables: make use of caller family rather than target family (Florian Westphal) [1210697] - [s390] dasd: fix panic in DASD driver during boot (Hendrik Brueckner) [1193535] - [md] dm-io: fix a race condition in the wake up code for sync_io (Mike Snitzer) [1205853] - [edac] sb_edac: fix corruption/crash on imbalanced Haswell home agents (Seth Jennings) [1210148] - [fs] proc: show all supplementary groups in /proc/pid/status (Jerome Marchand) [960050] - [kernel] futex: Take hugepages into account when generating futex_key (Jerome Marchand) [1193250]- [kabi] Adding symbol si_meminfo (Petr Oros) [1150668] - [kabi] Adding symbol pv_mmu_ops (Petr Oros) [1177818] - [kabi] Adding symbol mmput (Petr Oros) [1177818] - [kabi] Adding symbol get_task_mm (Petr Oros) [1177818] - [kabi] Adding symbol cpu_active_mask (Petr Oros) [1177818] - [kabi] Adding symbol __node_distance (Petr Oros) [1177818]- [scsi] fnic: IOMMU Fault occurs when IO and abort IO is out of order (Chris Leech) [1024066] - [scsi] fnic Driver crashed with NULL pointer reference (Chris Leech) [1024066] - [scsi] fnic: For Standalone C series, "sending VLAN request" message (Chris Leech) [1024066] - [scsi] fnic: Improper resue of exchange Ids (Chris Leech) [1024066] - [scsi] fnic: Memcopy only mimumum of data or trace buffer (Chris Leech) [1024066] - [scsi] fnic: assign FIP_ALL_FCF_MACS to fcoe_all_fcfs (Chris Leech) [1024066] - [scsi] fnic: part of treewide: fix errors in printk (Chris Leech) [1024066] - [scsi] fnic: fnic Control Path Trace Utility (Chris Leech) [1024066] - [scsi] fnic: Failing to queue aborts due to Q full cause terminate (Chris Leech) [1024066] - [scsi] fnic: NoFIP solicitation frame in NONFIP mode and changed IO (Chris Leech) [1024066] - [scsi] remove unnecessary pci_set_drvdata() (Chris Leech) [1024066] - [scsi] scsi: Convert uses of compare_ether_addr to ether_addr_equal (Chris Leech) [1024066] - [scsi] fnic: Incremented driver version (Chris Leech) [1024066] - [scsi] fnic: Fnic Statistics Collection (Chris Leech) [1024066] - [scsi] fnic: host reset returns nonzero value(errno) on (Chris Leech) [1024066] - [scsi] fnic: fnic Driver Tuneables Exposed through CLI (Chris Leech) [1024066] - [scsi] fnic: Kernel panic while running sh/nosh with max lun (Chris Leech) [1024066] - [scsi] fnic: Hitting BUG_ON(io_req->abts_done) (Chris Leech) [1024066] - [scsi] fnic: Remove QUEUE_FULL handling code (Chris Leech) [1024066] - [scsi] fnic: On system with >1.1TB RAM, VIC fails multipath (Chris Leech) [1024066] - [scsi] fnic: FC stat param seconds_since_last_reset not (Chris Leech) [1024066] - [scsi] lseek(fd, n, SEEK_END) does *not* go to eof - n (Chris Leech) [1024066] - [netdrv] tun: Fix csum_start with VLAN acceleration (Jason Wang) [1036482] - [netdrv] tun: unbreak truncated packet signalling (Jason Wang) [1036482] - [netdrv] tuntap: hardware vlan tx support (Jason Wang) [1036482] - [vhost] vhost-net: fix handle_rx buffer size (Jason Wang) [1036482] - [netdrv] mlx4_en: Reduce memory consumption on kdump kernel (Amir Vadai) [1100303] - [netdrv] mlx4_core: Use low memory profile on kdump kernel (Amir Vadai) [1100303] - [netdrv] mlx4: Use is_kdump_kernel() to detect kdump kernel (Amir Vadai) [1100303] - [kernel] crash_dump: Make is_kdump_kernel() accessible from modules (Amir Vadai) [1100303]- [fs] cifs: Don't replace dentries for dfs mounts (Sachin Prabhu) [1204047] - [fs] nfsv4: Don't decode fs_locations if we didn't ask for them (Benjamin Coddington) [1206695] - [usb] storage: Use normalized sense when emulating autosense (Gopal Tiwari) [1202951] - [scsi] virtio-scsi: avoid cancelling uninitialized work items (Paolo Bonzini) [1066623] - [sound] alsa: hda_intel: apply the Seperate stream_tag for Sunrise Point (Adrian Huang) [1209541] - [netdrv] qlcnic: Update version to 5.3.62.1 (Chad Dupuis) [1196516] - [netdrv] qlcnic: Delete existing multicast MAC list before adding new (Chad Dupuis) [1196516] - [netdrv] bnx2x: Force fundamental reset for EEH recovery (Michal Schmidt) [1199576] - [drivers] core: fix possible missing of device probe (Michal Schmidt) [1149614] - [drivers] core: deferral race condition fix (Michal Schmidt) [1149614] - [drivers] core: Fix ordering between deferred_probe and exiting initcalls (Michal Schmidt) [1149614] - [drivers] core: Move deferred devices to the end of dpm_list before probing (Michal Schmidt) [1149614] - [drivers] core: fixup reversed deferred probe order (Michal Schmidt) [1149614] - [drivers] core: KABI fix, put deferred_probe in device_private under __GENKSYMS__ (Michal Schmidt) [1149614] - [drivers] core: move the deferred probe pointer into the private area (Michal Schmidt) [1149614] - [drivers] revert "core: fix addition of delayed probe infrastructure" (Michal Schmidt) [1149614] - [infiniband] qib: Fix potential NULL d_inode dereference (Doug Ledford) [1185095] - [infiniband] qib: Add support for the new QMH7360 card (Doug Ledford) [1185095] - [infiniband] qib: Do not write EEPROM (Doug Ledford) [1185095] - [infiniband] qib: remove pointless assignments (Doug Ledford) [1185095] - [infiniband] qib: Correct reference counting in debugfs qp_stats (Doug Ledford) [1185095] - [infiniband] qib: Change get_user_pages() usage to always NULL vmas (Doug Ledford) [1185095] - [infiniband] qib: Return error for unsupported QP creation flags (Doug Ledford) [1185095] - [infiniband] qib: Additional Intel branding changes (Doug Ledford) [1185095] - [infiniband] qib: Fix port in pkey change event (Doug Ledford) [1185095] - [infiniband] qib: Use pci_enable_msix_range() instead of pci_enable_msix() (Doug Ledford) [1185095] - [infiniband] ocrdma: Update sli data structure for endianness (Doug Ledford) [1149273] - [infiniband] ocrdma: Report correct value of max_fast_reg_page_list_len (Doug Ledford) [1149273] - [infiniband] ocrdma: report asic-id in query device (Doug Ledford) [1149273] - [infiniband] ocrdma: Fix off by one in ocrdma_query_gid() (Doug Ledford) [1149273] - [infiniband] ocrdma: Use unsigned for bit index (Doug Ledford) [1149273] - [infiniband] ocrdma: Help gcc generate better code for ocrdma_srq_toggle_bit (Doug Ledford) [1149273] - [infiniband] ocrdma: Update the ocrdma module version string (Doug Ledford) [1149273] - [infiniband] ocrdma: set vlan present bit for user AH (Doug Ledford) [1149273] - [infiniband] ocrdma: remove reference of ocrdma_dev out of ocrdma_qp structure (Doug Ledford) [1149273] - [infiniband] ocrdma: Add support for interrupt moderation (Doug Ledford) [1149273] - [infiniband] ocrdma: Honor return value of ocrdma_resolve_dmac (Doug Ledford) [1149273] - [infiniband] ocrdma: Allow expansion of the SQ CQEs via buddy CQ expansion of the QP (Doug Ledford) [1149273] - [infiniband] ocrdma: Discontinue support of RDMA-READ-WITH-INVALIDATE (Doug Ledford) [1149273] - [infiniband] ocrdma: Host crash on destroying device resources (Doug Ledford) [1149273] - [infiniband] ocrdma: Do proper cleanup even if FW is in error state (Doug Ledford) [1149273] - [infiniband] ocrdma: Report correct state in ibv_query_qp (Doug Ledford) [1149273] - [infiniband] ocrdma: Debugfs enhancments for ocrdma driver (Doug Ledford) [1149273] - [infiniband] ocrdma: Report correct count of interrupt vectors while registering ocrdma device (Doug Ledford) [1149273] - [infiniband] ocrdma: Move PD resource management to driver (Doug Ledford) [1149273] - [infiniband] ocrdma: Increase the GID table size (Doug Ledford) [1149273] - [infiniband] ocrdma: Add support for IB stack compliant stats in sysfs (Doug Ledford) [1149273] - [infiniband] core: Replace ib_umem's offset field with a full address (Doug Ledford) [1149273] - [infiniband] ocrdma: Always resolve destination mac from GRH for UD QPs (Doug Ledford) [1149273] - [infiniband] ocrdma: Fix ocrdma_query_qp() to report q_key value for UD QPs (Doug Ledford) [1149273] - [infiniband] ocrdma: Save the bit environment, spare unncessary parenthesis (Doug Ledford) [1149273] - [infiniband] ocrdma: The kernel has a perfectly good BIT() macro - use it (Doug Ledford) [1149273] - [infiniband] ocrdma: Don't memset() buffers we just allocated with kzalloc() (Doug Ledford) [1149273] - [infiniband] ocrdma: Remove a unused-label warning (Doug Ledford) [1149273] - [infiniband] ocrdma: Convert kernel VA to PA for mmap in user (Doug Ledford) [1149273] - [infiniband] ipoib: drop mcast_mutex usage (Doug Ledford) [1141191 1145910] - [infiniband] ipoib: deserialize multicast joins (Doug Ledford) [1141191 1145910] - [infiniband] ipoib: fix MCAST_FLAG_BUSY usage (Doug Ledford) [1141191 1145910] - [infiniband] ipoib: No longer use flush as a parameter (Doug Ledford) [1141191 1145910] - [infiniband] ipoib: Use dedicated workqueues per interface (Doug Ledford) [1141191 1145910] - [infiniband] ipoib: Make the carrier_on_task race aware (Doug Ledford) [1141191 1145910] - [infiniband] ipoib: Consolidate rtnl_lock tasks in workqueue (Doug Ledford) [1141191 1145910] - [infiniband] ipoib: change init sequence ordering (Doug Ledford) [1141191 1145910] - [infiniband] ipoib: factor out ah flushing (Doug Ledford) [1141191 1145910] - [infiniband] ipoib: validate struct ipoib_cb size (Doug Ledford) [1141191 1145910] - [infiniband] ipoib: Remove unnecessary test for NULL before debugfs_remove() (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: Consolidate rtnl_lock tasks in workqueue" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: Make the carrier_on_task race aware" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: fix MCAST_FLAG_BUSY usage" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: fix mcast_dev_flush/mcast_restart_task race" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: change init sequence ordering" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: Use dedicated workqueues per interface" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: Make ipoib_mcast_stop_thread flush the workqueue" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: No longer use flush as a parameter" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: fix IPOIB_MCAST_RUN flag usage" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: Add a helper to restart the multicast task" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: make delayed tasks not hold up everything" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: Handle -ENETRESET properly in our callback" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: don't restart our thread on ENETRESET" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: remove unneeded locks" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: fix race between mcast_dev_flush and mcast_join" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: fix ipoib_mcast_restart_task" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: flush the ipoib_workqueue on unregister" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: cleanup a couple debug messages" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: make sure we reap all our ah on shutdown" (Doug Ledford) [1141191 1145910] - [infiniband] revert "ipoib: don't queue a work struct up twice" (Doug Ledford) [1141191 1145910] - [pci] msi: Fix pci_msix_vec_count() htmldocs failure (Doug Ledford) [1185095] - [pci] msi: Add pci_msix_vec_count() (Doug Ledford) [1185095]- [net] netfilter: ipset: autoload set type modules safely (Jiri Pirko) [1208051] - [net] dynticks: avoid flow_cache_flush() interrupting every core (Marcelo Leitner) [1191559] - [x86] Mark Intel Broadwell-DE processor as supported (Steve Best) [1099685] - [x86] Mark Intel Skylake-S processor as supported (Steve Best) [1132156] - [x86] Mark Intel Skylake-Y processor as supported (Steve Best) [1194009] - [netdrv] mlx4_core: Fix error message deprecation for ConnectX-2 cards (Amir Vadai) [1157841] - [netdrv] mlx4_core: Deprecate error message at ConnectX-2 cards startup to debug (Amir Vadai) [1157841] - [netdrv] ixgbevf: Add code to check for Tx hang (John Greene) [1150344] - [netdrv] ixgbevf: Fix ordering of shutdown to correctly disable Rx and Tx (John Greene) [1150344] - [netdrv] ixgbevf: set vlan_features in a single write instead of several ORs (John Greene) [1150344] - [netdrv] ixgbevf: add RSS support for X550 (John Greene) [1150344] - [netdrv] ixgbevf: enable multiple queue support (John Greene) [1150344] - [netdrv] ixgbevf: Fix checksum error when using stacked vlan (John Greene) [1150344] - [netdrv] ixgbevf: fix possible crashes in probe and remove (John Greene) [1150344] - [netdrv] ixgbevf: add support for X550 VFs (John Greene) [1150344] - [netdrv] ixgbevf: compare total_rx_packets and budget in ixgbevf_clean_rx_irq (John Greene) [1150344] - [netdrv] ixgbevf: Update Rx next to clean in real time (John Greene) [1150344] - [netdrv] ixgbevf: reorder main loop in ixgbe_clean_rx_irq to allow for do/while/continue (John Greene) [1150344] - [netdrv] ixgbevf: Cleanup variable usage, improve stack performance (John Greene) [1150344] - [netdrv] ixgbevf: Combine the logic for post Rx processing into single function (John Greene) [1150344] - [netdrv] ixgbevf: Test Rx status bits directly out of the descriptor (John Greene) [1150344] - [netdrv] ixgbevf: Update ixgbevf_alloc_rx_buffers to handle clearing of status bits (John Greene) [1150344] - [netdrv] ixgbevf: remove useless bd_number from struct ixgbevf_adapter (John Greene) [1150344] - [netdrv] ixgbevf: Resolve missing-field-initializers warnings (John Greene) [1150344] - [netdrv] ixgbevf: introduce delay for checking VFLINKS on 82599 (John Greene) [1150344] - [netdrv] ixgbevf: Remove unused get_supported_physical_layer pointer (John Greene) [1150344] - [netdrv] ixgbevf: do vlan cleanup (John Greene) [1150344] - [netdrv] ibmveth: Add function to enable live MAC address changes (Gustavo Duarte) [1198748] - [netdrv] ibmveth: Add function to enable live MAC address changes (Gustavo Duarte) [1198748] - [tools] perf: Fix race in build_id_cache__add_s() (Milos Vyletel) [1204102] - [edac] sb_edac: Add support for Broadwell-DE processor (Seth Jennings) [1197939] - [edac] sb_edac: Fix typo computing number of banks (Seth Jennings) [1197939] - [acpi] memhotplug: add parameter to disable memory hotplug (Igor Mammedov) [1207249] - [acpi] processor: Convert apic_id to phys_id to make it arch agnostic (Prarit Bhargava) [1201164] - [acpi] processor: Make it possible to get local x2apic id via _MAT (Prarit Bhargava) [1201164] - [acpi] scan: bail out early if failed to parse APIC ID for CPU (Prarit Bhargava) [1201164] - [acpi] processor: use apic_id and remove duplicated _MAT evaluation (Prarit Bhargava) [1201164] - [acpi] processor: Introduce apic_id in struct processor to save parsed APIC id (Prarit Bhargava) [1201164] - [acpi] processor: export acpi_get_cpuid() (Prarit Bhargava) [1201164] - [acpi] video: Fix use_native_backlight selection logic (Benjamin Tissoires) [1205233] - [acpi] video: Change the default for video.use_native_backlight to 1 (Benjamin Tissoires) [1205233] - [acpi] video: Add systems that should favour native backlight interface (Benjamin Tissoires) [1205233] - [acpi] video: Do not register backlight if win8 and native interface exists (Benjamin Tissoires) [1205233] - [acpi] video: separate backlight control and event interface (Benjamin Tissoires) [1205233] - [acpi] video: correct acpi_video_bus_add error processing (Benjamin Tissoires) [1205233] - [acpi] video: use after input_unregister_device() (Benjamin Tissoires) [1205233] - [acpi] video: Don't start video device until its associated input device has been allocated (Benjamin Tissoires) [1205233] - [acpi] video: Harden video bus adding (Benjamin Tissoires) [1205233] - [acpi] video: fix unused but set variables in ACPI (Benjamin Tissoires) [1205233] - [acpi] video: use kasprintf (Benjamin Tissoires) [1205233] - [video] backlight: fix KABI breakage (Benjamin Tissoires) [1205233] - [video] backlight: introduce backlight_device_registered (Benjamin Tissoires) [1205233] - [video] backlight: add backlight type (Benjamin Tissoires) [1205233] - [acpi] preparation of backlight backports (Benjamin Tissoires) [1205233] - [acpi] acpica: expose OSI version (Benjamin Tissoires) [1205233] - [scsi] hpsa: dont meddle with hw which isn't ours (cciss) (Tomas Henzl) [1204886] - [scsi] be2iscsi: Bump driver version (Rob Evers) [1189845] - [scsi] be2iscsi: Fix kernel panic when device initialization fails (Rob Evers) [1189845] - [x86] tls: Interpret an all-zero struct user_desc as "no segment" (Kurt Stutsman) [1172798] {CVE-2014-8133} - [x86] tls: Don't validate lm in set_thread_area() after all (Kurt Stutsman) [1172798] {CVE-2014-8133} - [x86] tls: Disallow unusual TLS segments (Kurt Stutsman) [1172798] {CVE-2014-8133} - [x86] tls: Validate TLS entries to protect espfix (Kurt Stutsman) [1172798] {CVE-2014-8133}- [platform] thinkpad-acpi: unhandled hkey event (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: replace strnicmp with strncasecmp (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: fixed spacing coding style issue (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: don't test unsigned int for negativity (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Update mapping for F12 hotkey on *40 models to KEY_FILE (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Add mappings for F9 - F12 hotkeys on X240 / T440 / T540 (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: llvmlinux: Remove nested functions from Thinkpad ACPI (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: save and restore adaptive keyboard mode for suspend and, resume (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: support Thinkpad X1 Carbon 2nd generation's adaptive keyboard (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Fix inconsistent mute LED after resume (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Convert to snd_card_new() with a device pointer (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Clean up inclusions of ACPI header files (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Fix build error when CONFIG_SND_MAX_CARDS > 32 (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Remove OOM message after input_allocate_device (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: fix handle locate for video and query of _BCL (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: add the ability setting TPACPI_LED_NONE by quirk (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: return -NODEV while operating uninitialized LEDs (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: kill hotkey_thread_mutex (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Handle HKEY event 0x6040 (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: don't use [delayed_]work_pending() (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: buffer overflow in fan_get_status() (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: recognize latest V-Series using DMI_BIOS_VENDOR (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: use mod_delayed_work() instead of cancel + queue (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Fix unused function warnings for CONFIG_PM_SLEEP (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Free hotkey_keycode_map after unregistering tpacpi_inputdev (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Fix a memory leak during module exit (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Flush the workqueue before freeing tpacpi_leds (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Use struct dev_pm_ops instead of legacy PM routines (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Drop pm_message_t arguments from suspend routines (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: fix issuing duplicated key events for brightness up/down (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: recognize Lenovo as version string in newer V-series BIOS (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: module_param: make bool parameters really bool drivers & misc (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: switch procfs to umode_t use (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Fix printk typo 'bluestooth' (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: handle HKEY 0x4010, 0x4011 events (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: handle some new HKEY 0x60xx events (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Convert printks to pr_ (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Correct !CONFIG_THINKPAD_ACPI_VIDEO warning (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: fix common misspellings (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Always report scancodes for hotkeys (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: We must always call va_end() after va_start() but do not do so in thinkpad_acpi.c::acpi_evalf() (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Remove unnecessary semicolons (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: delete double assignment (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: fix comment/printk typos (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: avoid keymap pitfall (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Add KEY_CAMERA (Fn-F6) for Lenovo keyboards (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: add support for model-specific keymaps (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: lock down size of hotkey keymap (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: untangle ACPI/vendor backlight selection (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: find ACPI video device by synthetic HID (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: clean up ACPI handles handling (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: don't depend on led_path for led firmware type (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: explain errors from acpi_install_notify_handler (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: acpi_evalf fixes (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: detect EC node using its HID (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: disclose usertask for ALSA callbacks (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: fix brightness hotkey poll handling (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: let other subdrivers know backlight level range (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: move greeting messages out of the first subdriver (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: fix volume/mute hotkey poll handling (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: constrain IBM-era support to IBM boxes (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: fix ALSA callback return status (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: fix typos "ammount" -> "amount" (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: make volume subdriver optional (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: don't fail to load the entire module due to ALSA problems (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: don't take the first ALSA slot by default (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: bump version to 0.24 (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: basic ALSA mixer support (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: disable volume control (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: support MUTE-only ThinkPads (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: volume subdriver rewrite (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: sync input device EV_SW initial state (Stanislaw Gruszka) [1170392] - [platform] thinkpad-acpi: fix assorted typos all over the place (Stanislaw Gruszka) [1170392] - [kernel] sysctl: add cap_last_cap to /proc/sys/kernel (Richard Guy Briggs) [1202508] - [block] xen-blkfront: fix accounting of reqs when migrating (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: module exit handling adjustments (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: handle backend CLOSED without CLOSING (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkif: drop struct blkif_request_segment_aligned (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: Silence pfn maybe-uninitialized warning (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: restore the non-persistent data path (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: improve aproximation of required grants per request (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: revoke foreign access for grants not mapped by the backend (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: set blk_queue_max_hw_sectors correctly (Vitaly Kuznetsov) [1201287 1202393] - [block] xen/blkback: Use physical sector size for setup (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: Introduce a 'max' module parameter to alter the amount of indirect segments (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: use a different scatterlist for each request (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-block: implement indirect descriptors (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: remove frame list from blk_shadow (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: pre-allocate pages for requests (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: switch from llist to list (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: drop the use of llist_for_each_entry_safe (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: handle bvecs with partial data (Vitaly Kuznetsov) [1201287 1202393] - [block] llist/xen-blkfront: implement safe version of llist_for_each_entry (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: free allocated page (Vitaly Kuznetsov) [1201287 1202393] - [block] xen/blkback: persistent-grants fixes (Vitaly Kuznetsov) [1201287 1202393] - [block] xen/blkback: Persistent grant maps for xen blk drivers (Vitaly Kuznetsov) [1201287 1202393] - [block] xen-blkfront: use bitmap_set() and bitmap_clear() (Vitaly Kuznetsov) [1201287 1202393] - [x86] iommu/amd: Fix missing iommu_shutdown initialization in passthrough mode (Herton R. Krzesinski) [1198380] - [x86] intr_remapping: Fix section mismatch in ir_dev_scope_init() (Herton R. Krzesinski) [1198380] - [x86] iommu: No need to set dmar_disabled in check_zero_address() (Herton R. Krzesinski) [1198380] - [x86] intr_remap: Call dmar_dev_scope_init() explicitly (Herton R. Krzesinski) [1198380] - [x86] amd-iommu: Fall back to GART if initialization fails (Herton R. Krzesinski) [1198380] - [x86] Split swiotlb initialization into two stages (Herton R. Krzesinski) [1198380] - [x86] gart: fix breakage due to IOMMU initialization cleanup (Herton R. Krzesinski) [1198380] - [x86] Move swiotlb initialization before dma32_free_bootmem (Herton R. Krzesinski) [1198380] - [x86] Fix iommu=soft boot option (Herton R. Krzesinski) [1198380] - [x86] Don't put iommu_shutdown_noop() in init section (Herton R. Krzesinski) [1198380] - [x86] Make calgary_iommu_init() static (Herton R. Krzesinski) [1198380] - [x86] swiotlb: Remove duplicate swiotlb_force extern declarations (Herton R. Krzesinski) [1198380] - [x86] Move iommu_shutdown_noop to x86_init.c (Herton R. Krzesinski) [1198380] - [x86] Set dma_ops to nommu_dma_ops by default (Herton R. Krzesinski) [1198380] - [x86] swiotlb: Remove the swiotlb variable usage (Herton R. Krzesinski) [1198380] - [x86] Add iommu_init to x86_init_ops, fix build (Herton R. Krzesinski) [1198380] - [x86] 32-bit: Fix swiotlb boot crash (Herton R. Krzesinski) [1198380] - [x86] Handle HW IOMMU initialization failure gracefully (Herton R. Krzesinski) [1198380] - [x86] swiotlb: Defer swiotlb init printing, export swiotlb_print_info() (Herton R. Krzesinski) [1198380] - [x86] swiotlb: Add swiotlb_free() function (Herton R. Krzesinski) [1198380] - [x86] intel-iommu: Convert detect_intel_iommu to use iommu_init hook (Herton R. Krzesinski) [1198380] - [x86] amd_iommu: Convert amd_iommu_detect() to use iommu_init hook (Herton R. Krzesinski) [1198380] - [x86] Revert "Fall back to GART if initialization fails" (Herton R. Krzesinski) [1198380] - [x86] gart: Convert gart_iommu_hole_init() to use iommu_init hook (Herton R. Krzesinski) [1198380] - [x86] calgary: Convert detect_calgary() to use iommu_init hook (Herton R. Krzesinski) [1198380] - [x86] Add iommu_init to x86_init_ops (Herton R. Krzesinski) [1198380] - [x86] Use x86_platform for iommu_shutdown (Herton R. Krzesinski) [1198380] - [x86] kvm: initialize large vmallocs (Andrea Arcangeli) [1142529] - [ata] ahci: Add DeviceIDs for Sunrise Point-LP SATA controller (David Milburn) [1129472] - [i2c] i801: Add DeviceIDs for SunrisePoint LP (David Milburn) [1129472] - [hid] usbhid: fix PIXART optical mouse (Benjamin Tissoires) [1200586] - [hid] usbhid: add always-poll quirk (Benjamin Tissoires) [1200586] - [net] ipv6: ndisc: Use pre-defined in6addr_linklocal_allnodes (Nikolay Aleksandrov) [1204780] - [net] ipv6: send unsolicited neighbour advertisements to all-nodes (Nikolay Aleksandrov) [1204780]- [virt] revert "kvm: exclude ioeventfd from counting kvm_io_range limit" (Amos Kong) [1205442] - [x86] uv: Fix UV2 BAU legacy mode (Frank Ramsay) [831804] - [x86] xsave: Use alloc_bootmem_align() instead of alloc_bootmem() (Prarit Bhargava) [1206140] - [kernel] bootmem: Add alloc_bootmem_align() (Prarit Bhargava) [1206140] - [infiniband] ipath+qib: fix dma settings (Doug Ledford) [1171803] - [netdrv] mlx4_en: current_mac isn't updated in port up (Amir Vadai) [1081667] - [netdrv] mlx4_en: Fix mac_hash database inconsistency (Amir Vadai) [1081667] - [netdrv] mlx4_en: Protect MAC address modification with the state_lock mutex (Amir Vadai) [1081667] - [netdrv] mlx4_en: Fix errors in MAC address changing when port is down (Amir Vadai) [1081667] - [netdrv] mlx4: Verify port number in __mlx4_unregister_mac (Amir Vadai) [1081667] - [netdrv] ixgbe: fix setting port VLAN (John Greene) [1150343] - [netdrv] ixgbe: allow multiple queues in SRIOV mode (John Greene) [1150343] - [netdrv] ixgbe: cleanup sparse errors in new ixgbe_x550.c file (John Greene) [1150343] - [netdrv] ixgbe: Fix checksum error when using stacked vlan (John Greene) [1150343] - [netdrv] ixgbe: fix crash on rmmod after probe fail (John Greene) [1150343] - [netdrv] ixgbe: bump version number (John Greene) [1150343] - [netdrv] ixgbe: Add X550 support function pointers (John Greene) [1150343] - [netdrv] ixgbe: cleanup checksum to allow error results (John Greene) [1150343] - [netdrv] ixgbe: add methods for combined read and write operations (John Greene) [1150343] - [netdrv] ixgbe: Add x550 SW/FW semaphore support (John Greene) [1150343] - [netdrv] ixgbe: Add timeout parameter to ixgbe_host_interface_command (John Greene) [1150343] - [netdrv] ixgbe: add support for X550 extended RSS support (John Greene) [1150343] - [netdrv] ixgbe: use netdev_rss_key_fill() helper (John Greene) [1150343] - [netdrv] ixgbe: phy: fix uninitialized status in ixgbe_setup_phy_link_tnx (John Greene) [1150343] - [netdrv] ixgbe: add helper function for setting RSS key in preparation of X550 (John Greene) [1150343] - [netdrv] ixgbe: Add new support for X550 MAC's (John Greene) [1150343] - [netdrv] ixgbe: cleanup move setting PFQDE.HIDE_VLAN to support function (John Greene) [1150343] - [netdrv] ixgbe: cleanup ixgbe_ndo_set_vf_vlan (John Greene) [1150343] - [netdrv] ixgbe: fix X540 Completion timeout (John Greene) [1150343] - [netdrv] ixgbe: fix race when setting advertised speed (John Greene) [1150343] - [netdrv] ixgbe: need not repeat init skb with NULL (John Greene) [1150343] - [netdrv] ixgbe: check for vfs outside of sriov_num_vfs before dereference (John Greene) [1150343] - [netdrv] ixgbe: fix race accessing page->_count (John Greene) [1150343] - [netdrv] ixgbe: remove wait loop on autoneg for copper devices (John Greene) [1150343] - [netdrv] ixgbe: add warnings for other disabled features without MSI-X support (John Greene) [1150343] - [netdrv] ixgbe: use e_dev_warn instead of netif_printk (John Greene) [1150343] - [netdrv] ixgbe: use e_dev_warn instead of e_err for displaying warning (John Greene) [1150343] - [netdrv] ixgbe: determine vector count inside ixgbe_acquire_msix_vectors (John Greene) [1150343] - [netdrv] ixgbe: move msix_entries allocation into ixgbe_acquire_msix_vectors (John Greene) [1150343] - [netdrv] ixgbe: return integer from ixgbe_acquire_msix_vectors (John Greene) [1150343] - [netdrv] ixgbe: use e_dev_warn instead of netif_printk (John Greene) [1150343] - [netdrv] ixgbe: Do not schedule an uninitialized workqueue entry (John Greene) [1150343] - [netdrv] ixgbe: Drop Rx alloc at end of Rx cleanup (John Greene) [1150343] - [netdrv] ixgbe: Resolve warnings produced in W=2 builds (John Greene) [1150343] - [netdrv] ixgbe: add comment noting recalculation of queues (John Greene) [1150343] - [netdrv] ixgbe: reset interface on link loss with pending Tx work from the VF (John Greene) [1150343] - [netdrv] ixgbe: Make return values more direct (John Greene) [1150343] - [netdrv] ixgbe: Delete a bunch of dead code (John Greene) [1150343] - [netdrv] ixgbe: Fix ixgbe_write_mbx error result (John Greene) [1150343] - [netdrv] ixgbe: Correct X540 semaphore error (John Greene) [1150343] - [netdrv] ixgbe: Fix spurious release of semaphore in EEPROM access (John Greene) [1150343] - [netdrv] ixgbe: Convert some udelays to usleep_range (John Greene) [1150343] - [netdrv] ixgbe: Change some uses of strncpy to strlcpy (John Greene) [1150343] - [netdrv] ixgbe: Fix possible null-dereference in error path (John Greene) [1150343] - [netdrv] ixgbe: remove unnecessary break after return (John Greene) [1150343] - [netdrv] ixgbe: remove unnecessary break after goto (John Greene) [1150343] - [netdrv] ixgbe: change PTP NSECS_PER_SEC to IXGBE_PTP_PPS_HALF_SECOND (John Greene) [1150343] - [netdrv] ixgbe: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate (John Greene) [1150343] - [netdrv] ixgbe: remove linux/export.h header from ixgbe_ptp.c (John Greene) [1150343] - [netdrv] ixgbe: fix detection of SFP+ capable interfaces (John Greene) [1150343] - [netdrv] ixgbe: avoid duplicate code in suspend and stop paths (John Greene) [1150343] - [netdrv] ixgbe: separate the PTP suspend and stop actions (John Greene) [1150343] - [netdrv] ixgbe: extract PTP clock device from ptp_init (John Greene) [1150343] - [netdrv] ixgbe: allow ixgbe_ptp_reset to maintain current hwtstamp config (John Greene) [1150343] - [netdrv] ixgbe: extract the hardware setup from the ixgbe_ptp_set_ts_config (John Greene) [1150343] - [netdrv] ixgbe: rename ixgbe_ptp_enable to ixgbe_ptp_feature_enable (John Greene) [1150343] - [netdrv] ixgbe: fix linking at 100Mbps on copper devices with MNG FW enabled (John Greene) [1150343] - [netdrv] igb/ixgbe: remove return statements for void functions (John Greene) [1150343] - [netdrv] ixgbe: add /* fallthrough */ comment to case statements (John Greene) [1150343] - [netdrv] ixgbe: add space between operands to & (John Greene) [1150343] - [netdrv] ixgbe: don't check NULL for debugfs_remove_recursive (John Greene) [1150343] - [netdrv] ixgbe: add braces around else block (John Greene) [1150343] - [netdrv] ixgbe: fix several concatenated strings to single line (John Greene) [1150343] - [netdrv] ixgbe: fix checkpatch style of blank line after declaration (John Greene) [1150343] - [netdrv] ixgbe: fix function-like macro, remove semicolon (John Greene) [1150343] - [netdrv] ixgbe: clean up checkpatch warnings about CODE_INDENT and LEADING_SPACE (John Greene) [1150343] - [netdrv] ixgbe: get rid of SET_ETHTOOL_OPS (John Greene) [1150343] - [netdrv] ixgbe: change handling of multicast filters (John Greene) [1150343] - [netdrv] ixgbe: Use out-of-line function for register reads (John Greene) [1150343] - [netdrv] ixgbe: convert low_water into an array (John Greene) [1150343] - [netdrv] ixgbe: Add new netdev op to turn spoof checking on or off per VF (John Greene) [1150343] - [netdrv] ixgbe: Fix memory leak in ixgbe_free_q_vector, missing rcu (John Greene) [1150343] - [netdrv] ixgbe: Fix tx_packets and tx_bytes stats not updating (John Greene) [1150343] - [scsi] scsi_show_extd_sense double prints ASC/ASCQ for vendor specific ASC (Rob Evers) [1203858]- [fs] dcache: return -ESTALE not -EBUSY on distributed fs race (J. Bruce Fields) [1061994] - [fs] fuse: revalidate when may_open() returns ESTALE (Zorro Lang) [1142355] - [md] dm: impose configurable deadline for dm_request_fn's merge heuristic (Mike Snitzer) [1163769] - [md] dm-sysfs: introduce ability to add writable attributes (Mike Snitzer) [1163769] - [md] dm: don't start current request if it would've merged with the previous (Mike Snitzer) [1163769] - [md] dm: don't schedule delayed run of the queue if nothing to do (Mike Snitzer) [1163769] - [md] dm: only run the queue on completion if congested or no requests pending (Mike Snitzer) [1163769] - [md] dm: remove request-based logic from make_request_fn wrapper (Mike Snitzer) [1163769] - [md] dm: remove request-based DM queue's lld_busy_fn hook (Mike Snitzer) [1163769] - [md] dm: remove unnecessary wrapper around blk_lld_busy (Mike Snitzer) [1163769] - [kernel] panic: add TAINT_SOFTLOCKUP (Aaron Tomlin) [1184512] - [kernel] watchdog: print traces for all cpus on lockup detection (Aaron Tomlin) [1184512] - [x86] nmi: provide the option to issue an NMI back trace to every cpu but current (Aaron Tomlin) [1184512] - [x86] kernel: Avoid calling arch_trigger_all_cpu_backtrace() at the same time (Aaron Tomlin) [1184512] - [net] ipvs: allow rescheduling of new connections when port reuse is detected (Marcelo Leitner) [1108514] - [net] ipvs: Fix reuse connection if real server is dead (Marcelo Leitner) [1108514] - [net] neigh: Keep neighbour cache entries if number of them is small enough (Jiri Pirko) [1199856] - [net] gso: fix skb_segment for non-offset skb pointers (Jiri Benc) [1200533] - [netdrv] mlx4_en: Expose port number through sysfs (Amir Vadai) [1119772] - [net] core: Add sysfs file for port number (Amir Vadai) [1119772]- [kernel] dynamic_debug: fix comment (Michal Schmidt) [1203349] - [kernel] lib: dynamic_debug: use seq_open_private() instead of seq_open() (Michal Schmidt) [1203349] - [kernel] dynamic_debug: replace obselete simple_strtoul() with kstrtouint() (Michal Schmidt) [1203349] - [kernel] dynamic_debug: fix ddebug_parse_query() (Michal Schmidt) [1203349] - [kernel] dynamic_debug: remove wrong error message (Michal Schmidt) [1203349] - [kernel] docs: dynamic-debug-howto.txt: update since new wildcard support (Michal Schmidt) [1203349] - [kernel] dynamic_debug: add wildcard support to filter files/functions/modules (Michal Schmidt) [1203349] - [kernel] lib: parser: put EXPORT_SYMBOLs in the conventional place (Michal Schmidt) [1203349] - [kernel] lib: parser: add match_wildcard() function (Michal Schmidt) [1203349] - [kernel] dynamic_debug: line queries failing due to uninitialized local variable (Michal Schmidt) [1203349] - [kernel] dynamic_debug: reuse generic string_unescape function (Michal Schmidt) [1203349] - [kernel] lib: introduce generic string_unescape (Michal Schmidt) [1203349] - [kernel] lib: net: make isodigit() public and use it (Michal Schmidt) [1203349] - [kernel] dynamic_debug: add pr_errs before -EINVALs (Michal Schmidt) [1203349] - [kernel] lib: KABI fix print_hex_dump_bytes() (Michal Schmidt) [1203349] - [kernel] dynamic_debug: dynamic hex dump (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Fix vpr_ logging styles (Michal Schmidt) [1203349] - [kernel] lib: dynamic_debug: use kbasename() (Michal Schmidt) [1203349] - [kernel] string: introduce helper to get base file name from given path (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Remove unnecessary __used (Michal Schmidt) [1203349] - [kernel] dynamic_debug: use printk(KERN_WARNING..) in stub function (Michal Schmidt) [1203349] - [kernel] dynamic_debug: init with early_initcall, not arch_initcall (Michal Schmidt) [1203349] - [kernel] dynamic_debug: update Documentation/*, Kconfig.debug (Michal Schmidt) [1203349] - [kernel] dynamic_debug: add modname arg to exec_query callchain (Michal Schmidt) [1203349] - [kernel] dynamic_debug: print ram usage by ddebug tables if verbose (Michal Schmidt) [1203349] - [kernel] dynamic_debug: simplify dynamic_debug_init error exit (Michal Schmidt) [1203349] - [kernel] dynamic_debug: combine parse_args callbacks together (Michal Schmidt) [1203349] - [kernel] dynamic_debug: deprecate ddebug_query, suggest dyndbg instead (Michal Schmidt) [1203349] - [kernel] dynamic_debug: make dynamic-debug work for module initialization (Michal Schmidt) [1203349] - [kernel] params: add 3rd arg to option handler callback signature (Michal Schmidt) [1203349] - [kernel] dynamic_debug: fix leading spaces in dynamic_debug.h (Michal Schmidt) [1203349] - [kernel] dynamic_debug: replace if (verbose) pr_info with macro vpr_info (Michal Schmidt) [1203349] - [kernel] dynamic_debug: process multiple debug-queries on a line (Michal Schmidt) [1203349] - [kernel] dynamic_debug: factor vpr_info_dq out of ddebug_parse_query (Michal Schmidt) [1203349] - [kernel] dynamic_debug: add trim_prefix() to provide source-root relative paths (Michal Schmidt) [1203349] - [kernel] dynamic_debug: enlarge command/query write buffer (Michal Schmidt) [1203349] - [kernel] dynamic_debug: chop off comments in ddebug_tokenize (Michal Schmidt) [1203349] - [kernel] dynamic_debug: early return if _ddebug table is empty (Michal Schmidt) [1203349] - [kernel] dynamic_debug: tighten up error checking on debug queries (Michal Schmidt) [1203349] - [kernel] dynamic_debug: describe_flags with '=[pmflt_]*' (Michal Schmidt) [1203349] - [kernel] dynamic_debug: drop explicit !=NULL checks (Michal Schmidt) [1203349] - [kernel] dynamic_debug: pr_err() call should not depend upon verbosity (Michal Schmidt) [1203349] - [kernel] dynamic_debug: replace strcpy with strlcpy, in ddebug_setup_query() (Michal Schmidt) [1203349] - [kernel] dynamic_debug: change verbosity at runtime (Michal Schmidt) [1203349] - [kernel] dynamic_debug: make dynamic-debug supersede DEBUG ccflag (Michal Schmidt) [1203349] - [kernel] dynamic_debug: use _DPRINTK_FLAGS_PRINT (Michal Schmidt) [1203349] - [kernel] dynamic_debug: fix whitespace complaints from scripts/cleanfile (Michal Schmidt) [1203349] - [kernel] dynamic_debug: use __printf not __attribute__((format(printf, ...))) (Michal Schmidt) [1203349] - [kernel] dynamic_debug: fix undefined reference to `__netdev_printk' (Michal Schmidt) [1203349] - [kernel] dynamic_debug: use a single printk() to emit messages (Michal Schmidt) [1203349] - [kernel] dynamic_debug: consolidate repetitive struct _ddebug descriptor definitions (Michal Schmidt) [1203349] - [kernel] dynamic_debug: make netdev_dbg() call __netdev_printk() (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Convert printks to pr_ (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Remove uses of KERN_CONT in dynamic_emit_prefix (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Consolidate prefix output to single routine (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Add __dynamic_dev_dbg (Michal Schmidt) [1203349] - [kernel] lib: Remove unneeded version.h include (Michal Schmidt) [1203349] - [kernel] docs: fix dev_debug() braino in dynamic-debug-howto.txt (Michal Schmidt) [1203349] - [kernel] dynamic_debug: add #include (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Add more flags (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Initialize dynamic debug earlier via arch_initcall (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Introduce ddebug_query= boot parameter (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Split out query string parsing/setup from proc_write (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Fix dynamic_dev_dbg() macro if CONFIG_DYNAMIC_DEBUG not set (Michal Schmidt) [1203349] - [kernel] dynamic_debug: fix documentation errors (Michal Schmidt) [1203349] - [kernel] dynamic_debug: small cleanup in ddebug_proc_write() (Michal Schmidt) [1203349] - [kernel] dynamic_debug: include slab.h (Michal Schmidt) [1203349] - [kernel] dynamic_debug: Remove KBUILD_MODNAME from dynamic_pr_debug (Michal Schmidt) [1203349] - [fs] nfs: Add a module parameter to set the number of session slots (Steve Dickson) [1077226] - [fs] nfs: Fix races between nfs_remove_bad_delegation() and delegation return (Steve Dickson) [1166843] - [fs] nfs: Ensure that we call FREE_STATEID when NFSv4.x stateids are revoked (Steve Dickson) [1166843] - [fs] nfs: Don't try to reclaim delegation open state if recovery failed (Steve Dickson) [1166843] - [fs] nfs: Ensure that we remove NFSv4.0 delegations when state has expired (Steve Dickson) [1166843] - [docs] kdump: Document this case in kdump.txt (Baoquan He) [990302] - [x86] kexec: Add a x86_64 arch specific function arch_crash_auto_scale (Baoquan He) [990302] - [kernel] kexec: Introduce a new arch dependent function arch_crash_auto_scale (Baoquan He) [990302] - [kernel] kexec: Use __weak symboling instead for arch dependent function of kexec (Baoquan He) [990302] - [drm] makefile: update drm version (Rob Clark) [1200563] - [drm] i915: further quiet i915 (Rob Clark) [1200563] - [drm] i915: fix build for CONFIG_BUG=n (Rob Clark) [1200563] - [drm] i915: tame the chattermouth (Rob Clark) [1200563] - [drm] radeon: properly set vm fragment size for TN/RL (Rob Clark) [1200563] - [drm] radeon: fix the crash in test functions (Rob Clark) [1200563] - [drm] radeon: fix the crash in benchmark functions (Rob Clark) [1200563] - [drm] radeon: fix PLLs on RS880 and older v2 (Rob Clark) [1200563] - [drm] radeon: don't init gpuvm if accel is disabled (Rob Clark) [1200563] - [drm] i915: fix inconsistent brightness after resume (Rob Clark) [1200563] - [drm] i915: Init PPGTT before context enable (Rob Clark) [1200563] - [drm] i915: BDW Fix Halo PCI IDs marked as ULT (Rob Clark) [1200563] - [drm] i915: Only fence tiled region of object (Rob Clark) [1200563] - [drm] radeon: Restore GART table contents after pinning it in VRAM v3 (Rob Clark) [1200563] - [drm] radeon: Split off gart_get_page_entry ASIC hook from set_page_entry (Rob Clark) [1200563] - [drm] radeon: use rv515_ring_start on r5xx (Rob Clark) [1200563] - [drm] radeon: add si dpm quirk list (Rob Clark) [1200563] - [drm] radeon: add a dpm quirk list (Rob Clark) [1200563] - [drm] i915: Ban Haswell from using RCS flips (Rob Clark) [1200563] - [drm] i915: Kill check_power_well() calls (Rob Clark) [1200563] - [drm] revert "i915: Preserve VGACNTR bits from the BIOS" (Rob Clark) [1200563] - [drm] irq: BUG_ON() -> WARN_ON() (Rob Clark) [1200563] - [drm] i915: Don't call intel_prepare_page_flip() multiple times on gen2-4 (Rob Clark) [1200563] - [drm] i915: Disable PSMI sleep messages on all rings around context switches (Rob Clark) [1200563] - [drm] i915: Force the CS stall for invalidate flushes (Rob Clark) [1200563] - [drm] i915: Invalidate media caches on gen7 (Rob Clark) [1200563] - [drm] mc: disable msi (Rob Clark) [1200563] - [drm] i915: save/restore GMBUS freq across suspend/resume on gen4 (Rob Clark) [1200563] - [drm] i915: resume MST after reading back hw state (Rob Clark) [1200563] - [drm] i915: Only warn the first time we attempt to mmio whilst suspended (Rob Clark) [1200563] - [drm] i915: Disallow pin ioctl completely for kms drivers (Rob Clark) [1200563] - [drm] i915: Don't complain about stolen conflicts on gen3 (Rob Clark) [1200563] - [drm] radeon: properly filter DP1.2 4k modes on non-DP1.2 hw (Rob Clark) [1200563] - [drm] radeon: adjust default bapm settings for KV (Rob Clark) [1200563] - [drm] radeon: fix sad_count check for dce3 (Rob Clark) [1200563] - [drm] radeon: KV has three PPLLs (Rob Clark) [1200563] - [drm] radeon: check the right ring in radeon_evict_flags() (Rob Clark) [1200563] - [drm] radeon: work around a hw bug in MGCG on CIK (Rob Clark) [1200563] - [drm] radeon: fix typo in CI dpm disable (Rob Clark) [1200563] - [drm] dp-mst: Remove branches before dropping the reference (Rob Clark) [1200563] - [drm] dp: retry AUX transactions 32 times (Rob Clark) [1200563] - [drm] fb_helper: move deferred fb checking into restore mode (Rob Clark) [1200563] - [drm] ttm: Avoid memory allocation from shrinker functions (Rob Clark) [1200563] - [drm] nouveau: bring back legacy mmap handler (Rob Clark) [1200563] - [drm] nouveau: Do not BUG_ON(!spin_is_locked()) on UP (Rob Clark) [1200563] - [kernel] coredump_wait: don't call complete_vfork_done() (Mateusz Guzik) [1197599] - [kernel] vfork: make it killable (Mateusz Guzik) [1197599] - [kernel] vfork: introduce complete_vfork_done() (Mateusz Guzik) [1197599] - [virtio] virtio_pci: document why we defer kfree (Fam Zheng) [1199421] - [virtio] virtio_pci: defer kfree until release callback (Fam Zheng) [1199421] - [netdrv] tg3: Hold tp->lock before calling tg3_halt() from tg3_init_one() (Ivan Vecera) [1200911]- [md] raid5: Initialize bi_vcnt (Jes Sorensen) [1203221] - [md] raid10: fix conversion from RAID0 to RAID10 (Jes Sorensen) [1177745] - [x86] crypto: sha256_ssse3 - also test for BMI2 (Herbert Xu) [1201560] - [x86] crypto: sha256_ssse3 - fix stack corruption with SSSE3 and AVX implementations (Herbert Xu) [1201490] - [char] tty: drop driver reference in tty_open fail path (Mateusz Guzik) [1201894] {CVE-2011-5321} - [netdrv] e1000: move e1000_tbi_adjust_stats to where its used (John Greene) [1150339] - [netdrv] e1000: e1000_ethertool.c coding style fixes (John Greene) [1150339] - [netdrv] e1000: remove unnecessary break after return (John Greene) [1150339] - [netdrv] e1000: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate (John Greene) [1150339] - [netdrv] e1000: Use time_after() for time comparison (John Greene) [1150339] - [netdrv] e1000: remove the check: skb->len<=0 (John Greene) [1150339] - [netdrv] e1000: Use is_broadcast_ether_addr/is_multicast_ether_addr helpers (John Greene) [1150339] - [netdrv] e1000: get rid of SET_ETHTOOL_OPS (John Greene) [1150339] - [netdrv] e1000: remove open-coded skb_cow_head (John Greene) [1150339] - [netdrv] e1000: remove debug messages with function names (John Greene) [1150339] - [netdrv] e1000: delete non-required instances of include (John Greene) [1150339] - [netdrv] e1000: fix possible reset_task running after adapter down (John Greene) [1150339] - [netdrv] e1000: fix lockdep warning in e1000_reset_task (John Greene) [1150339] - [netdrv] e1000: prevent oops when adapter is being closed and reset simultaneously (John Greene) [1150339] - [netdrv] e1000: fix wrong queue idx calculation (John Greene) [1150339] - [netdrv] e1000: Remove extern from function prototypes (John Greene) [1150339] - [netdrv] e1000: replace dma_set_mask()+dma_set_coherent_mask() with new helper (John Greene) [1150339] - [netdrv] e1000: ethtool: Add missing dma_mapping_error-call in e1000_setup_desc_rings (John Greene) [1150339] - [netdrv] e1000: dma_alloc_coherent: use __GFP_ZERO instead of memset(, 0) (John Greene) [1150339] - [netdrv] e1000: Remove dma_alloc_coherent OOM messages (John Greene) [1150339] - [netdrv] e1000: Remove remaining alloc/OOM messages (John Greene) [1150339] - [netdrv] e1000: fix up function prototypes after __dev* removals (John Greene) [1150339] - [netdrv] e1000: remove __dev* attributes (John Greene) [1150339] - [netdrv] e1000: fix concurrent accesses to PHY from watchdog and ethtool (John Greene) [1150339] - [netdrv] e1000: Small packets may get corrupted during padding by HW (John Greene) [1150339] - [acpi] fan: Use bus id as the name for non PNP0C0B (Fan) devices (Prarit Bhargava) [1192485] - [acpi] fan: support INT3404 thermal device (Prarit Bhargava) [1192485] - [acpi] fan: add ACPI 4.0 style fan support (Prarit Bhargava) [1192485] - [acpi] fan: remove no need check for device pointer (Prarit Bhargava) [1192485] - [acpi] fan: printk replacement (Prarit Bhargava) [1192485] - [acpi] fan: do nothing in suspend and poweroff callback (Prarit Bhargava) [1192485] - [acpi] fan: trivial style cleanup (Prarit Bhargava) [1192485] - [acpi] fan: Initialize acpi_state variable (Prarit Bhargava) [1192485] - [acpi] fan: avoid null pointer deference error (Prarit Bhargava) [1192485] - [acpi] fan: Use struct dev_pm_ops for power management in the fan driver (Prarit Bhargava) [1192485] - [acpi] fan: Fix more unbalanced code block (Prarit Bhargava) [1192485] - [acpi] ec: Drop suspend and resume routines (Prarit Bhargava) [1192485] - [acpi] fan: fix unbalanced code block (Prarit Bhargava) [1192485] - [input] mouse: synaptics - remove X250 from the topbuttonpad list (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - remove X1 Carbon 3rd gen from the topbuttonpad list (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - re-route tracksticks buttons on the Lenovo 2015 series (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - remove TOPBUTTONPAD property for Lenovos 2015 (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - retrieve the extended capabilities in query $10 (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - do not retrieve the board id on old firmwares (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - handle spurious release of trackstick buttons (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - fix middle button on Lenovo 2015 products (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - skip quirks when post-2013 dimensions (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - support min/max board id in min_max_pnpid_table (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - remove obsolete min/max quirk for X240 (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - query min dimensions for fw v8.1 (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - log queried and quirked dimension values (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - split synaptics_resolution(), query first (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - adjust min/max for Lenovo ThinkPad X1 Carbon 2nd (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - adjust min/max on Thinkpad E540 (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - add min/max quirk for Lenovo T440s (Benjamin Tissoires) [1186105 1186111] - [input] mouse: psmouse - add psmouse_matches_pnp_id helper function (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - add min/max quirk for pnp-id LEN2002 (Edge E531) (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - fix resolution for manually provided min/max (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - change min/max quirk table to pnp-id matching (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - add a matches_pnp_id helper function (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - T540p - unify with other LEN0034 models (Benjamin Tissoires) [1186105 1186111] - [input] mouse: synaptics - print firmware ID and board number at init (Benjamin Tissoires) [1186105 1186111]- [infiniband] core: Prevent integer overflow in ib_umem_get address arithmetic (Doug Ledford) [1179327] {CVE-2014-8159} - [net] ipcomp: Mark as netns_ok (Jiri Pirko) [1112926] - [netdrv] l2tp: Fix UDP socket reference count bugs in the pppol2tp driver (Jiri Pirko) [1198290] - [net] ipv6: replacing a rt6_info needs to purge possible propagated rt6_infos too (Jiri Pirko) [1198404] - [net] netfilter: ipt_LOG: add bufferisation to call printk() once (Mateusz Guzik) [972694] - [net] netfilter: add missing xt_log.h file (Mateusz Guzik) [972694] - [virt] kvm: exclude ioeventfd from counting kvm_io_range limit (Amos Kong) [1124311] - [pci] Deprecate DEFINE_PCI_DEVICE_TABLE (Prarit Bhargava) [1198148] - [pci] Remove DEFINE_PCI_DEVICE_TABLE macro use (Prarit Bhargava) [1198148] - [wireless] rt2800pci: add firmware for RT3290 (Stanislaw Gruszka) [1036243] - [wireless] iwlwifi: add -12 firmware for iwl 3160 / 7260 / 7265 / 7265D (Stanislaw Gruszka) [1036243] - [wireless] iwlwifi: add -10 firmware for iwl 3160 / 7260 / 7265 / 7265D (Stanislaw Gruszka) [1036243] - [wireless] iwlwifi: add -9 firmware for iwl 3160 / 7260 / 7265 (Stanislaw Gruszka) [1036243] - [wireless] Update zd1201 driver to new mac80211 stack (Stanislaw Gruszka) [1189024] - [wireless] Update rndis_wlan driver to new mac80211 stack (Stanislaw Gruszka) [1189024] - [wireless] Update mwl8k driver to new mac80211 stack (Stanislaw Gruszka) [1189024] - [wireless] Update adm8211 driver to new mac80211 stack (Stanislaw Gruszka) [1189024] - [wireless] Update wl3501_cs driver to new mac80211 stack (Stanislaw Gruszka) [1189024] - [wireless] Update atmel driver to new mac80211 stack (Stanislaw Gruszka) [1189024] - [wireless] Update at76c50x-usb driver to new mac80211 stack (Stanislaw Gruszka) [1189024] - [wireless] Update airo driver to new mac80211 stack (Stanislaw Gruszka) [1189024] - [wireless] Backport ti drivers from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport mac80211_hwsim driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] orinoco: Compile the driver with updated mac80211 stack (Stanislaw Gruszka) [1189024] - [wireless] Backport libertas driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport ipw2x00 driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport p54 driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport brcmsmac driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport b43 driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport ssb bus driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport bcma bus driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport iwlegacy driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport rt2x00 driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport ath common layer from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport carl9170 driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport ath5k driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport ath9 driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport iwlwifi driver from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport mac80211 from linux-3.19 (Stanislaw Gruszka) [1189024] - [wireless] Backport wireless core from linux-3.19 (Stanislaw Gruszka) [1189024] - [kernel] workqueue: add system workqueues (Stanislaw Gruszka) [1189024] - [kernel] workqueue: add mod_delayed_work (Stanislaw Gruszka) [1189024] - [wireless] driver core: export platform_device_register_data as a GPL symbol (Stanislaw Gruszka) [1189024] - [net] etherdevice: Add ether_addr_equal_unaligned (Stanislaw Gruszka) [1189024] - [net] if_ether.h: add IEEE 802.21 Ethertype (Stanislaw Gruszka) [1189024] - [wireless] kernel.h: define u8, s8, u32, etc. limits (Stanislaw Gruszka) [1189024] - [wireless] kabi: remove wireless_send_event symbol (Stanislaw Gruszka) [1189024] - [scsi] qla2xxx: fix race in handling rport deletion during recovery causes panic (Chad Dupuis) [1102902] - [usb] io_ti: fix sysfs-attribute creation (Don Zickus) [1196460] - [usb] io_ti: fix port-data memory leak (Don Zickus) [1196460] - [usb] io_ti: Make edge_remove_sysfs_attrs the port_remove method (Don Zickus) [1196460] - [scsi] storvsc: force discovery of LUNs that may have been removed (Vitaly Kuznetsov) [1035571 1199766] - [scsi] storvsc: in responce to a scan event, scan the host (Vitaly Kuznetsov) [1035571 1199766] - [scsi] don't add scsi_device if its already visible (Vitaly Kuznetsov) [1035571 1199766] - [fs] aio: wake all waiters when destroying ctx (Mateusz Guzik) [1201260] - [x86] kvm: SYSENTER emulation is broken (Mateusz Guzik) [1186450] {CVE-2015-0239} - [x86] kvm: add halt_poll_ns module parameter (Paolo Bonzini) [1185250] - [kernel] sched: Add function single_task_running to let a task check if it is the only task running on a cpu (Paolo Bonzini) [1185250]- [crypto] sha512: Create module providing optimized SHA512 routines using SSSE3, AVX or AVX2 instructions (Herbert Xu) [1036216] - [crypto] sha512: Optimized SHA512 x86_64 assembly routine using AVX2 RORX instruction (Herbert Xu) [1036216] - [crypto] sha512: Optimized SHA512 x86_64 assembly routine using AVX instructions (Herbert Xu) [1036216] - [crypto] sha512: Optimized SHA512 x86_64 assembly routine using Supplemental SSE3 instructions (Herbert Xu) [1036216] - [crypto] sha512: Expose generic sha512 routine to be callable from other modules (Herbert Xu) [1036216] - [crypto] sha256: Create module providing optimized SHA256 routines using SSSE3, AVX or AVX2 instructions (Herbert Xu) [1036216] - [crypto] sha256: Optimized sha256 x86_64 routine using AVX2's RORX instructions (Herbert Xu) [1036216] - [crypto] sha256: Optimized sha256 x86_64 assembly routine with AVX instructions (Herbert Xu) [1036216] - [crypto] sha256: Optimized sha256 x86_64 assembly routine using Supplemental SSE3 instructions (Herbert Xu) [1036216] - [crypto] sha256: Expose SHA256 generic routine to be callable externally (Herbert Xu) [1036216] - [crypto] rng: RNGs must return 0 in success case (Herbert Xu) [1199230] - [hv] hv_balloon: keep locks balanced on add_memory() failure (Vitaly Kuznetsov) [1006234] - [hv] hv_balloon: refuse to balloon below the floor (Vitaly Kuznetsov) [1006234] - [hv] hv_balloon: report offline pages as being used (Vitaly Kuznetsov) [1006234] - [hv] hv_balloon: eliminate the trylock path in acquire/release_region_mutex (Vitaly Kuznetsov) [1006234] - [hv] hv_balloon: Don't post pressure status from interrupt context (Vitaly Kuznetsov) [1006234] - [hv] hv_balloon: Fix a locking bug in the balloon driver (Vitaly Kuznetsov) [1006234] - [hv] hv_balloon: Make adjustments in computing the floor (Vitaly Kuznetsov) [1006234] - [hv] hv_balloon: avoid memory leak on alloc_error of 2MB memory block (Vitaly Kuznetsov) [1006234] - [fs] isofs: infinite loop in CE record entries (Jacob Tanenbaum) [1175245] {CVE-2014-9420} - [x86] intel_pstate: Add support for SkyLake (Steve Best) [1189313] - [x86] vdso: ASLR bruteforce possible for vdso library (Jacob Tanenbaum) [1184897] {CVE-2014-9585} - [kernel] time: ntp: Correct TAI offset during leap second (Prarit Bhargava) [1199134] - [kernel] kexec: fix build error when hugetlbfs is disabled (Minfei Huang) [1121663] - [kernel] kexec: export free_huge_page to VMCOREINFO (Minfei Huang) [1121663] - [kernel] kexec: save PG_head_mask in VMCOREINFO (Minfei Huang) [1121663] - [mm] Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED (Minfei Huang) [1121663] - [scsi] lpfc: correct device removal deadlock after link bounce (Rob Evers) [1194793]- [netdrv] i40evf: TCP/IPv6 over Vxlan Tx checksum offload fix (Stefan Assmann) [1150337] - [netdrv] i40e: fix race in hang check (Stefan Assmann) [1150337] - [netdrv] i40e: Fix TSO with more than 8 frags per segment issue (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Update driver versions (Stefan Assmann) [1150337] - [netdrv] i40evf: Add more info to interrupt vector names (Stefan Assmann) [1150337] - [netdrv] i40evf: allow enabling of debug prints via ethtool (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Use advertised speed settings in ethtool and refactor get_settings (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Fix output of i40e_debug_aq() for big endian machines (Stefan Assmann) [1150337] - [netdrv] i40evf: don't wait forever (Stefan Assmann) [1150337] - [netdrv] i40evf: refactor reset (Stefan Assmann) [1150337] - [netdrv] i40evf: disable NAPI polling sooner (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump Driver Versions (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Remove unused variable an_enable and function update_link_info (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: i40e_register.h updates (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: restrict VC opcodes to their initial values (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Refactor the receive routines (Stefan Assmann) [1150337] - [netdrv] i40evf: Force Tx writeback on ITR (Stefan Assmann) [1150337] - [netdrv] i40evf: stop the watchdog for shutdown (Stefan Assmann) [1150337] - [netdrv] i40evf: ignore bogus messages from FW (Stefan Assmann) [1150337] - [netdrv] i40evf: reset on module unload (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump i40e and i40evf versions (Stefan Assmann) [1150337] - [netdrv] i40e: Support for NPAR iSCSI partition with DCB (Stefan Assmann) [1150337] - [netdrv] i40e: AQ API updates for new commands (Stefan Assmann) [1150337] - [netdrv] i40e: AQ API updates (Stefan Assmann) [1150337] - [netdrv] i40e: add more struct size checks (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump i40e/i40evf versions (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Increase ASQ timeout (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: AdminQ updates ww36 (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: find partition_id in npar mode (Stefan Assmann) [1150337] - [netdrv] i40evf: kick a stalled admin queue (Stefan Assmann) [1150337] - [netdrv] i40evf: enable interrupt 0 appropriately (Stefan Assmann) [1150337] - [netdrv] i40evf: don't fire traffic IRQs when the interface is down (Stefan Assmann) [1150337] - [netdrv] i40evf: remove leftover VLAN filters (Stefan Assmann) [1150337] - [netdrv] i40evf: refactor shutdown code (Stefan Assmann) [1150337] - [netdrv] i40evf: Remove some scary log messages (Stefan Assmann) [1150337] - [netdrv] i40evf: remove redundant code (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Convert macro to static inline (Stefan Assmann) [1150337] - [netdrv] i40e: check for AQ timeout in aq_rc decode (Stefan Assmann) [1150337] - [netdrv] i40e: set max limit for access polling (Stefan Assmann) [1150337] - [netdrv] i40e: remove unused nvm_semaphore_wait (Stefan Assmann) [1150337] - [netdrv] i40e: add range check to i40e_aq_rc_to_posix (Stefan Assmann) [1150337] - [netdrv] i40e: let firmware catch the NVM busy error (Stefan Assmann) [1150337] - [netdrv] i40e: Bump i40e version to 1.2.2 and i40evf version to 1.0.6 (Stefan Assmann) [1150337] - [netdrv] i40evf: make early init sequence even more robust (Stefan Assmann) [1150337] - [netdrv] i40e: Define and use i40e_is_vf macro (Stefan Assmann) [1150337] - [netdrv] i40e: Add a virtual channel op to config RSS (Stefan Assmann) [1150337] - [netdrv] i40e: remove useless debug noise (Stefan Assmann) [1150337] - [netdrv] i40evf: remove unnecessary else (Stefan Assmann) [1150337] - [netdrv] i40evf: make comparisons consistent (Stefan Assmann) [1150337] - [netdrv] i40evf: make checkpatch happy (Stefan Assmann) [1150337] - [netdrv] i40evf: update header comments (Stefan Assmann) [1150337] - [netdrv] i40e: don't overload fields (Stefan Assmann) [1150337] - [netdrv] i40evf: don't use more queues than CPUs (Stefan Assmann) [1150337] - [netdrv] i40evf: make early init processing more robust (Stefan Assmann) [1150337] - [netdrv] i40e: clean up throttle rate code (Stefan Assmann) [1150337] - [netdrv] i40e: poll firmware slower (Stefan Assmann) [1150337] - [netdrv] i40evf: Add support for 10G base T parts (Stefan Assmann) [1150337] - [netdrv] i40evf: properly handle multiple AQ messages (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Use usleep_range() instead of udelay() (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Fix whitespace indentation (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump i40e/i40evf versions (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump i40e & i40evf version (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Ignore a driver perceived Tx hang if the number of desc pending < 4 (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: add max buf len to aq debug print helper (Stefan Assmann) [1150337] - [netdrv] i40evf: Fixed guest OS panic when removing vf driver (Stefan Assmann) [1150337] - [netdrv] i40evf: fix memory leak on unused interfaces (Stefan Assmann) [1150337] - [netdrv] i40evf: don't leak queue vectors (Stefan Assmann) [1150337] - [netdrv] i40evf: do not re-arm watchdog after remove (Stefan Assmann) [1150337] - [netdrv] i40evf: future-proof vfr_stat state check (Stefan Assmann) [1150337] - [netdrv] i40evf: fix scan warning on sprintf (Stefan Assmann) [1150337] - [netdrv] i40e: always print aqtx answer (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: ARQ copy desc data even for failed commands (Stefan Assmann) [1150337] - [netdrv] i40evf: don't wait so long (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: fix extension header csum logic (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Add nvmupdate support (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Clean up code (Stefan Assmann) [1150337] - [netdrv] i40evf: remove unnecessary break after goto (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump i40e to 0.4.21 and i40evf to 0.9.40 (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Add set_fc and init of FC settings (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Add new HW link info variable an_enabled and function update_link_info (Stefan Assmann) [1150337] - [netdrv] i40evf: invite vector 0 to the interrupt party (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Force a shifted '1' to be unsigned (Stefan Assmann) [1150337] - [netdrv] i40evf: don't violate scope (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Do not free the dummy packet buffer synchronously (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump i40e to 0.4.19 and i40evf to 0.9.38 (Stefan Assmann) [1150337] - [netdrv] i40evf: change branding string (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: initialize context descriptor (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: add ASQ write back timeout variable to AQ structure (Stefan Assmann) [1150337] - [netdrv] i40evf: set flags before sending message (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: clear aq bah-bal on shutdown (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Add base address registers to aq struct (Stefan Assmann) [1150337] - [netdrv] i40evf: resend FW request if no response (Stefan Assmann) [1150337] - [netdrv] i40evf: fix typo (Stefan Assmann) [1150337] - [netdrv] i40evf: return more useful error information (Stefan Assmann) [1150337] - [netdrv] i40evf: don't stop watchdog if it hasn't started (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Big endian fixes for handling HMC (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump i40e to 0.4.17 and i40evf to 0.9.36 (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: remove reserved type (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump i40e to 0.4.13 and i40evf to 0.9.35 (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: modify debug prints to avoid seg faults (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Update RSS configuration (Stefan Assmann) [1150337] - [netdrv] i40evf: fix off-by-one (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Reset Head and Tail on AQ initialization (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: i40e_register.h update (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump i40e to version 0.4.10 and i40evf to 0.9.34 (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Add Flow director stats to PF stats (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: remove FTYPE (Stefan Assmann) [1150337] - [netdrv] i40evf: check admin queue error bits (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: User ether_addr_copy instead of memcpy (Stefan Assmann) [1150337] - [netdrv] i40evf: don't go further down (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: AdminQ API update for new FW (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: set headwb Tx context flags and use them (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: bump version to 0.4.7 for i40e and 0.9.31 for i40evf (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: add PPRS bit to error bits and fix bug in Rx checksum (Stefan Assmann) [1150337] - [netdrv] i40evf: Fix function header (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump build version (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: remove deprecated device IDs (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: fix poll weight (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: fix TSO accounting (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: remove chatty reset messages (Stefan Assmann) [1150337] - [netdrv] i40evf: use correct format for printing MAC addresses (Stefan Assmann) [1150337] - [netdrv] i40evf: clean up log message formatting (Stefan Assmann) [1150337] - [netdrv] i40evf: remove bogus comment (Stefan Assmann) [1150337] - [netdrv] i40evf: remove unnecessary log messages (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Clean up a few things (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Fix code to accommodate i40e_register.h changes (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: fix rx descriptor status (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Bump build version (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: add Tx pre queue disable function (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: check AQ register for valid data (Stefan Assmann) [1150337] - [netdrv] i40evf: make messages less dire (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: remove rx_errors and rx_missed (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: VEB structure added, GTIME macro update (Stefan Assmann) [1150337] - [netdrv] i40evf: fix crash when changing ring sizes (Stefan Assmann) [1150337] - [netdrv] i40evf: set descriptor multiple to 32 (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: remove unused RX_LRO define (Stefan Assmann) [1150337] - [netdrv] ethtool: Replace ethtool_ops::{get, set}_rxfh_indir() with {get, set}_rxfh() (Stefan Assmann) [1150337] - [netdrv] i40e/i40evf: Change type to u32 to avoid sparse error (Stefan Assmann) [1150337] - [netdrv] i40e: check pointers before use (Stefan Assmann) [1150345] - [netdrv] i40e: catch NVM write semaphore timeout and retry (Stefan Assmann) [1150345] - [netdrv] i40e: stop flow director on shutdown (Stefan Assmann) [1150345] - [netdrv] i40e: disconnect irqs on shutdown (Stefan Assmann) [1150345] - [netdrv] i40e: Issue a PF reset if Tx queue disable timeout (Stefan Assmann) [1150345] - [netdrv] i40e: Fix the Tx ring qset handle when DCB reconfigures (Stefan Assmann) [1150345] - [netdrv] i40e: Fix the case where per TC queue count was higher than queues enabled (Stefan Assmann) [1150345] - [netdrv] i40e: fix race in hang check (Stefan Assmann) [1150345] - [netdrv] i40e: Fix TSO with more than 8 frags per segment issue (Stefan Assmann) [1150345] - [netdrv] i40e: Don't check for Tx hang when PF down (Stefan Assmann) [1150345] - [netdrv] i40e: fix shift precedence issue (Stefan Assmann) [1150345] - [netdrv] i40e: Fix memory leak at failure path in i40e_dbg_command_write() (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Update driver versions (Stefan Assmann) [1150345] - [netdrv] i40e: Use ethtool private flags to display NPAR status (Stefan Assmann) [1150345] - [netdrv] i40e: Set FLAG_RD when sending buffer FW must read (Stefan Assmann) [1150345] - [netdrv] i40e: print Rx packet split status (Stefan Assmann) [1150345] - [netdrv] i40e: Set BUF flag for Set Version AQ command (Stefan Assmann) [1150345] - [netdrv] i40e: Add support for getlink, setlink ndo ops (Stefan Assmann) [1150345] - [net] set and query VEB/VEPA bridge mode via PF_BRIDGE (Stefan Assmann) [1150345] - [netdrv] i40e: Implement configfs for NPAR BW configuration (Stefan Assmann) [1150345] - [netdrv] i40e: Add NPAR BW get and set functions (Stefan Assmann) [1150345] - [netdrv] i40e: enable packet split only when IOMMU present (Stefan Assmann) [1150345] - [netdrv] i40e: Add method to keep track of current rxnfc settings (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Use advertised speed settings in ethtool and refactor get_settings (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Fix output of i40e_debug_aq() for big endian machines (Stefan Assmann) [1150345] - [netdrv] i40e: Fix i40e_ndo_set_vf_spoofchk (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump Driver Versions (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Remove unused variable an_enable and function update_link_info (Stefan Assmann) [1150345] - [netdrv] i40e: Fix the EMPR interrupt received handling (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: i40e_register.h updates (Stefan Assmann) [1150345] - [netdrv] i40e: Use #define for the VSI connection type (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: restrict VC opcodes to their initial values (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Refactor the receive routines (Stefan Assmann) [1150345] - [netdrv] i40e: rename debugfs clear_stats option (Stefan Assmann) [1150345] - [netdrv] i40e: update Shadow RAM read/write functions (Stefan Assmann) [1150345] - [netdrv] i40e: Enable Loopback for the FCOE vsi as well (Stefan Assmann) [1150345] - [netdrv] i40e: Fix function header (Stefan Assmann) [1150345] - [netdrv] i40e: fix led blink toggle to enable steady state (Stefan Assmann) [1150345] - [netdrv] i40evf: Force Tx writeback on ITR (Stefan Assmann) [1150345] - [netdrv] i40e: stop the service task at shutdown (Stefan Assmann) [1150345] - [netdrv] i40e: add locking around VF reset (Stefan Assmann) [1150345] - [netdrv] i40e: Use even more ARQ descriptors (Stefan Assmann) [1150345] - [netdrv] i40e: delay after VF reset (Stefan Assmann) [1150345] - [netdrv] i40e: avoid use of uninitialized v_budget in i40e_init_msix (Stefan Assmann) [1150345] - [netdrv] i40e: i40e_fcoe.c: Remove unused function (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump i40e and i40evf versions (Stefan Assmann) [1150345] - [netdrv] i40e: Support for NPAR iSCSI partition with DCB (Stefan Assmann) [1150345] - [netdrv] i40e: when Rx timestamps disabled set specific mode (Stefan Assmann) [1150345] - [netdrv] i40e: use same check for Rx hang as for Rx timestamps (Stefan Assmann) [1150345] - [netdrv] i40e: AQ API updates for new commands (Stefan Assmann) [1150345] - [netdrv] i40e: AQ API updates (Stefan Assmann) [1150345] - [netdrv] i40e: add more struct size checks (Stefan Assmann) [1150345] - [netdrv] i40e: Issue "Stop LLDP" command for firmware older than v4.3 (Stefan Assmann) [1150345] - [netdrv] i40e: check I40E_FLAG_PTP before handling Tx or Rx timestamps (Stefan Assmann) [1150345] - [netdrv] i40e: only enable PTP interrupt cause if PTP is enabled (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump i40e/i40evf versions (Stefan Assmann) [1150345] - [netdrv] i40e: Dump Stats string removed from debugfs help command (Stefan Assmann) [1150345] - [netdrv] i40e: Add define for interrupt name string len (Stefan Assmann) [1150345] - [netdrv] i40e: don't give up on DCB error after reset (Stefan Assmann) [1150345] - [netdrv] i40e: fix proc/int descriptions (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Increase ASQ timeout (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: AdminQ updates ww36 (Stefan Assmann) [1150345] - [netdrv] i40e: adds FCoE configure option (Stefan Assmann) [1150345] - [netdrv] i40e: limit sriov to partition 1 of NPAR configurations (Stefan Assmann) [1150345] - [netdrv] i40e: Don't exit link event early if link speed has changed (Stefan Assmann) [1150345] - [netdrv] i40e: limit WoL and link settings to partition 1 (Stefan Assmann) [1150345] - [netdrv] i40e: Adding function for reading PBA String (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: find partition_id in npar mode (Stefan Assmann) [1150345] - [netdrv] i40e: remove VN2VN related mac filters (Stefan Assmann) [1150345] - [netdrv] i40e: Add warning for NPAR partitions with link speed less than 10Gbps (Stefan Assmann) [1150345] - [netdrv] i40e: disable IOV before freeing resources (Stefan Assmann) [1150345] - [netdrv] i40e: Fix bug with TCP over IPv6 over VXLAN (Stefan Assmann) [1150345] - [netdrv] i40e: Fix Rx checksum error counter (Stefan Assmann) [1150345] - [netdrv] i40e: fix un-necessary Tx hangs (Stefan Assmann) [1150345] - [netdrv] i40e: Fix possible memory leak in i40e_dbg_dump_desc (Stefan Assmann) [1150345] - [netdrv] net: Disallow providing non zero VLAN ID for NIC drivers FDB add flow (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Convert macro to static inline (Stefan Assmann) [1150345] - [netdrv] i40e: add to NVM update debug message (Stefan Assmann) [1150345] - [netdrv] i40e: check for AQ timeout in aq_rc decode (Stefan Assmann) [1150345] - [netdrv] i40e: poll on NVM semaphore only if not other error (Stefan Assmann) [1150345] - [netdrv] i40e: fix up NVM update sm error handling (Stefan Assmann) [1150345] - [netdrv] i40e: set max limit for access polling (Stefan Assmann) [1150345] - [netdrv] i40e: remove unused nvm_semaphore_wait (Stefan Assmann) [1150345] - [netdrv] i40e: init NVM update state on adminq init (Stefan Assmann) [1150345] - [netdrv] i40e: add range check to i40e_aq_rc_to_posix (Stefan Assmann) [1150345] - [netdrv] i40e: rework debug messages for NVM update (Stefan Assmann) [1150345] - [netdrv] i40e: let firmware catch the NVM busy error (Stefan Assmann) [1150345] - [netdrv] i40e: better error messages for NVM update issues (Stefan Assmann) [1150345] - [netdrv] i40e: clear NVM update state on ethtool test (Stefan Assmann) [1150345] - [netdrv] ethernet/intel: Use eth_skb_pad and skb_put_padto helpers (Stefan Assmann) [1150345] - [netdrv] i40e: Reduce stack in i40e_dbg_dump_desc (Stefan Assmann) [1150345] - [netdrv] i40e: Bump i40e version to 1.2.2 and i40evf version to 1.0.6 (Stefan Assmann) [1150345] - [netdrv] i40e: get pf_id from HW rather than PCI function (Stefan Assmann) [1150345] - [netdrv] i40e: increase ARQ size (Stefan Assmann) [1150345] - [netdrv] i40e: Re enable Main VSI loopback setting in the reset path (Stefan Assmann) [1150345] - [netdrv] i40e: Add new update VSI flow to accommodate FW fix with VSI Loopback mode (Stefan Assmann) [1150345] - [netdrv] i40e: Increase reset delay (Stefan Assmann) [1150345] - [netdrv] i40e: fix netdev_stat macro definition (Stefan Assmann) [1150345] - [netdrv] i40e: Define and use i40e_is_vf macro (Stefan Assmann) [1150345] - [netdrv] i40e: Add a virtual channel op to config RSS (Stefan Assmann) [1150345] - [netdrv] i40e: don't enable PTP support on more than one PF per port (Stefan Assmann) [1150345] - [netdrv] i40e: Add description to misc and fd interrupts (Stefan Assmann) [1150345] - [netdrv] i40e: allow various base numbers in debugfs aq commands (Stefan Assmann) [1150345] - [netdrv] i40e: remove useless debug noise (Stefan Assmann) [1150345] - [netdrv] i40e: Remove unneeded break statement (Stefan Assmann) [1150345] - [netdrv] i40e: trigger SW INT with no ITR wait (Stefan Assmann) [1150345] - [netdrv] i40e: don't overload fields (Stefan Assmann) [1150345] - [netdrv] i40e: Prevent link flow control settings when PFC is enabled (Stefan Assmann) [1150345] - [netdrv] i40e: Do not disable/enable FCoE VSI with DCB reconfig (Stefan Assmann) [1150345] - [netdrv] i40e: Modify Tx disable wait flow in case of DCB reconfiguration (Stefan Assmann) [1150345] - [netdrv] i40e: Update VEB's enabled_tc after reconfiguration (Stefan Assmann) [1150345] - [netdrv] i40e: Check for LLDP AdminStatus before querying DCBX (Stefan Assmann) [1150345] - [netdrv] i40e: Add support to firmware CEE DCBX mode (Stefan Assmann) [1150345] - [netdrv] i40e: Resume Port Tx after DCB event (Stefan Assmann) [1150345] - [netdrv] i40e: Bump version to 1.1.23 (Stefan Assmann) [1150345] - [netdrv] i40e: re-enable VFLR interrupt sooner (Stefan Assmann) [1150345] - [netdrv] i40e: only warn once of PTP nonsupport in 100Mbit speed (Stefan Assmann) [1150345] - [netdrv] i40e: clean up throttle rate code (Stefan Assmann) [1150345] - [netdrv] i40e: don't do link_status or stats collection on every ARQ (Stefan Assmann) [1150345] - [netdrv] i40e: poll firmware slower (Stefan Assmann) [1150345] - [netdrv] i40e: properly parse MDET registers (Stefan Assmann) [1150345] - [netdrv] i40e: configure VM ID in qtx_ctl (Stefan Assmann) [1150345] - [netdrv] i40e: enable debug earlier (Stefan Assmann) [1150345] - [netdrv] i40e: better wording for resource tracking errors (Stefan Assmann) [1150345] - [netdrv] i40e: scale msix vector use when more cores than vectors (Stefan Assmann) [1150345] - [netdrv] i40e: remove debugfs dump stats (Stefan Assmann) [1150345] - [netdrv] i40e: avoid disable of interrupt when changing ITR (Stefan Assmann) [1150345] - [netdrv] i40e: fix link checking logic (Stefan Assmann) [1150345] - [netdrv] i40e: Add condition to enter fdir flush and reinit (Stefan Assmann) [1150345] - [netdrv] i40e: _MASK vs _SHIFT typo in i40e_handle_mdd_event() (Stefan Assmann) [1150345] - [netdrv] i40e: Bump version (Stefan Assmann) [1150345] - [netdrv] i40e: Moving variable declaration out of the loops (Stefan Assmann) [1150345] - [netdrv] i40e: Add 10GBaseT support (Stefan Assmann) [1150345] - [netdrv] i40e: process link events when setting up switch (Stefan Assmann) [1150345] - [netdrv] i40e: Fix a bug where Rx would stop after some time (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Use usleep_range() instead of udelay() (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Fix whitespace indentation (Stefan Assmann) [1150345] - [netdrv] i40e: enable LSE poke and simplify link state (Stefan Assmann) [1150345] - [netdrv] i40e: mask phy events (Stefan Assmann) [1150345] - [netdrv] i40e: skb->xmit_more support (Stefan Assmann) [1150345] - [netdrv] i40e: use global pci_vfs_assigned() to replace local i40e_vfs_are_assigned() (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump i40e/i40evf versions (Stefan Assmann) [1150345] - [netdrv] i40e: fix panic due to too-early Tx queue enable (Stefan Assmann) [1150345] - [netdrv] i40e: Fix an issue when PF reset fails (Stefan Assmann) [1150345] - [netdrv] i40e: make warning less verbose (Stefan Assmann) [1150345] - [netdrv] i40e: Tell OS link is going down when calling set_phy_config (Stefan Assmann) [1150345] - [netdrv] i40e: Remove unnecessary assignment (Stefan Assmann) [1150345] - [netdrv] i40e: Change wording to be more consistent (Stefan Assmann) [1150345] - [netdrv] i40e: Allow user to change link settings if link is down (Stefan Assmann) [1150345] - [netdrv] i40e: Add dual speed module support (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump i40e & i40evf version (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Ignore a driver perceived Tx hang if the number of desc pending < 4 (Stefan Assmann) [1150345] - [netdrv] i40e: quiet complaints when removing default MAC VLAN filter and make set_mac reversible (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: add max buf len to aq debug print helper (Stefan Assmann) [1150345] - [netdrv] i40e: Add checks and message for Qualified Module info (Stefan Assmann) [1150345] - [netdrv] i40e: set num_queue_pairs to num configured by VF (Stefan Assmann) [1150345] - [netdrv] i40e: Enable l2tsel bit for VLAN tag control (Stefan Assmann) [1150345] - [netdrv] i40e: Add a FD flush counter to ethtool (Stefan Assmann) [1150345] - [netdrv] i40e: ATR policy change to flush the table to clean stale ATR rules (Stefan Assmann) [1150345] - [netdrv] i40e: Some FD message fixes (Stefan Assmann) [1150345] - [netdrv] i40e: Update flow director error messages to reduce user confusion (Stefan Assmann) [1150345] - [netdrv] i40e: fix PTP bug (Stefan Assmann) [1150345] - [netdrv] i40e: Fix a few potential VF dereferences (Stefan Assmann) [1150345] - [netdrv] i40e: Fix for recent kernel panic (Stefan Assmann) [1150345] - [netdrv] i40e: Cleaning up missing null-terminate in conjunction with strncpy (Stefan Assmann) [1150345] - [netdrv] i40e: use correct structure type name in sizeof (Stefan Assmann) [1150345] - [netdrv] i40e: fix sparse non static symbol warning (Stefan Assmann) [1150345] - [netdrv] i40e: Fix missing uapi/linux/dcbnl.h include in i40e_fcoe.c (Stefan Assmann) [1150345] - [netdrv] i40e: remove support for vf unicast promiscuous mode (Stefan Assmann) [1150345] - [netdrv] i40e: Minor comment changes (Stefan Assmann) [1150345] - [netdrv] i40e: disable local loopback on vmdq vsi (Stefan Assmann) [1150345] - [netdrv] i40e: use correct vf_id offset for virtchnl message (Stefan Assmann) [1150345] - [netdrv] i40e: expose debug_write_register request (Stefan Assmann) [1150345] - [netdrv] i40e: disable FCoE (Stefan Assmann) [1150345] - [netdrv] i40e: adds FCoE to build and updates its documentation (Stefan Assmann) [1150345] - [netdrv] i40e: RHEL6 fixups for fcoe code (Stefan Assmann) [1150345] - [netdrv] i40e: Adds FCoE related code to i40e core driver (Stefan Assmann) [1150345] - [netdrv] i40e: adds FCoE code to the i40e driver (Stefan Assmann) [1150345] - [netdrv] i40e: always print aqtx answer (Stefan Assmann) [1150345] - [netdrv] i40e: Give link more time after setting flow control (Stefan Assmann) [1150345] - [netdrv] i40e: Fix firmware API version errors (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: ARQ copy desc data even for failed commands (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: fix extension header csum logic (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Add nvmupdate support (Stefan Assmann) [1150345] - [netdrv] i40e: fix format mismatch in drivers/net/ethernet/intel/i40e/i40e_debugfs.c (Stefan Assmann) [1150345] - [netdrv] i40e: (ptp) warn when PF_ID does not match in PRTTSYN_CTL0 (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Clean up code (Stefan Assmann) [1150345] - [netdrv] i40e: never generate both software and hardware timestamps (Stefan Assmann) [1150345] - [netdrv] i40e: Add ndo_get_phys_port_id() callback support (Stefan Assmann) [1150345] - [netdrv] i40e: remove unnecessary break after goto (Stefan Assmann) [1150345] - [netdrv] bridge: fdb dumping takes a filter device (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump i40e to 0.4.21 and i40evf to 0.9.40 (Stefan Assmann) [1150345] - [netdrv] i40e: Implement set_settings for ethtool (Stefan Assmann) [1150345] - [netdrv] i40e: Add set_pauseparam to ethtool (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Add set_fc and init of FC settings (Stefan Assmann) [1150345] - [netdrv] i40e: move nway reset (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Add new HW link info variable an_enabled and function update_link_info (Stefan Assmann) [1150345] - [netdrv] i40e: Finish implementation of ethtool get settings (Stefan Assmann) [1150345] - [netdrv] i40e: disable TPH (Stefan Assmann) [1150345] - [netdrv] i40e: Fix a boundary condition and turning off of ntuple (Stefan Assmann) [1150345] - [netdrv] i40e: tolerate lost interrupts (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Force a shifted '1' to be unsigned (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Do not free the dummy packet buffer synchronously (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump i40e to 0.4.19 and i40evf to 0.9.38 (Stefan Assmann) [1150345] - [netdrv] i40e: remove linux/export.h header from i40e_ptp.c (Stefan Assmann) [1150345] - [netdrv] i40e: limit GLLAN_TXPRE_QDIS to QINDX 0-127 (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: initialize context descriptor (Stefan Assmann) [1150345] - [netdrv] i40e: FD filter replay logic bug fix (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: add ASQ write back timeout variable to AQ structure (Stefan Assmann) [1150345] - [netdrv] i40e: fix compile error on 32bit (Stefan Assmann) [1150345] - [netdrv] i40e: Correct mask assignment value (Stefan Assmann) [1150345] - [netdrv] i40e: clear all queues and interrupts (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: clear aq bah-bal on shutdown (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Add base address registers to aq struct (Stefan Assmann) [1150345] - [netdrv] i40e: fix fdir programming (Stefan Assmann) [1150345] - [netdrv] i40e: Add debugfs hooks to print current total FD filter count (Stefan Assmann) [1150345] - [netdrv] i40e: Fix the FD sideband logic to detect a FD table full condition (Stefan Assmann) [1150345] - [netdrv] i40e: Avoid adding the TCP-IPv4 filter twice (Stefan Assmann) [1150345] - [netdrv] i40e: only create PTP device node once (Stefan Assmann) [1150345] - [netdrv] i40e: don't store user requested mode until we've validated it (Stefan Assmann) [1150345] - [netdrv] i40e: break PTP hardware control from ioctl command for timestamp mode (Stefan Assmann) [1150345] - [netdrv] i40e: rename i40e_ptp_enable to i40e_ptp_feature_enable (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Big endian fixes for handling HMC (Stefan Assmann) [1150345] - [netdrv] i40e: do not take NVM ownership for SR read (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump i40e to 0.4.17 and i40evf to 0.9.36 (Stefan Assmann) [1150345] - [netdrv] i40e: Bypass timeout recovery level 0 so as to not cause MDD (Stefan Assmann) [1150345] - [netdrv] i40e: no pf reset at pci remove (Stefan Assmann) [1150345] - [netdrv] i40e: reapply LAA after reset (Stefan Assmann) [1150345] - [netdrv] i40e: allow user to set LAA again (Stefan Assmann) [1150345] - [netdrv] i40e: use WoL flag when setting LAA (Stefan Assmann) [1150345] - [netdrv] i40e: Add ablitity to enable/disable link from set_link_restart_an (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: remove reserved type (Stefan Assmann) [1150345] - [netdrv] i40e: Fix ethtool coalesce settings (Stefan Assmann) [1150345] - [netdrv] i40e: fix a stray print message (Stefan Assmann) [1150345] - [netdrv] i40e: warn on newer/older firmware API rev (Stefan Assmann) [1150345] - [netdrv] i40e: Add PF reset when Malicious driver event for PF (Stefan Assmann) [1150345] - [netdrv] i40e: make prep_for_reset void (Stefan Assmann) [1150345] - [netdrv] i40e: Stop the VF device after setting its MAC address (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump i40e to 0.4.13 and i40evf to 0.9.35 (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: modify debug prints to avoid seg faults (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Update RSS configuration (Stefan Assmann) [1150345] - [netdrv] i40e: keep service tasks out of reset process (Stefan Assmann) [1150345] - [netdrv] i40e: clear VEB stats when pf stats are cleared (Stefan Assmann) [1150345] - [netdrv] i40e: Fix scheduling while atomic bug during NAPI (Stefan Assmann) [1150345] - [netdrv] i40e: debugfs fix to dump remote LLDPDU (Stefan Assmann) [1150345] - [netdrv] i40e: Helper routine for Rx/Tx queue enable/disable wait (Stefan Assmann) [1150345] - [netdrv] i40e: Fix dangling ring pointers upon driver removal (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Reset Head and Tail on AQ initialization (Stefan Assmann) [1150345] - [netdrv] i40e: workaround NVM GLQF_HKEY (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: i40e_register.h update (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump i40e to version 0.4.10 and i40evf to 0.9.34 (Stefan Assmann) [1150345] - [netdrv] i40e: use stored base_queue value (Stefan Assmann) [1150345] - [netdrv] i40e: Fix a bug in ethtool for FD drop packet filter action (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Add Flow director stats to PF stats (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: remove FTYPE (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: User ether_addr_copy instead of memcpy (Stefan Assmann) [1150345] - [netdrv] i40e: Do not accept tagged packets by default (Stefan Assmann) [1150345] - [netdrv] i40e: Separate out DCB capability and enabled flags (Stefan Assmann) [1150345] - [netdrv] i40e: Change the notion of src and dst for FD_SB in ethtool (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: AdminQ API update for new FW (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: bump version to 0.4.7 for i40e and 0.9.31 for i40evf (Stefan Assmann) [1150345] - [netdrv] i40e: Allow RSS table entry range and GPS to be any number, not necessarily power of 2 (Stefan Assmann) [1150345] - [netdrv] i40e: Delete stale MAC filters after change (Stefan Assmann) [1150345] - [netdrv] i40e: Do not fall back to one queue model if the only feature enabled is ATR (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: add PPRS bit to error bits and fix bug in Rx checksum (Stefan Assmann) [1150345] - [netdrv] i40e: keep SR-IOV enabled in the case that RSS, VMDQ, FD_SB and DCB are disabled (Stefan Assmann) [1150345] - [netdrv] i40e: Changes to Interrupt distribution policy (Stefan Assmann) [1150345] - [netdrv] i40e: implement anti-spoofing for VFs (Stefan Assmann) [1150345] - [netdrv] i40e: don't complain about removing non-existent addresses (Stefan Assmann) [1150345] - [netdrv] i40e: remove unused variable and memory allocation (Stefan Assmann) [1150345] - [netdrv] i40e: allow for more VSIs (Stefan Assmann) [1150345] - [netdrv] i40e: add checks for AQ error status bits (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump build version (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: remove deprecated device IDs (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: fix poll weight (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: fix TSO accounting (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: remove chatty reset messages (Stefan Assmann) [1150345] - [netdrv] i40e: not all VSIs have rings (Stefan Assmann) [1150345] - [netdrv] i40e: clear pxe after adminq is rebuilt (Stefan Assmann) [1150345] - [netdrv] i40e: Fix incorrect feature configuration status (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Clean up a few things (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Fix code to accommodate i40e_register.h changes (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: fix rx descriptor status (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: Bump build version (Stefan Assmann) [1150345] - [netdrv] i40e: remove irqs only when they are set up (Stefan Assmann) [1150345] - [netdrv] i40e: don't remove HMC that doesn't exist (Stefan Assmann) [1150345] - [netdrv] i40e: print full link message (Stefan Assmann) [1150345] - [netdrv] i40e: add xcast stats for port (Stefan Assmann) [1150345] - [netdrv] i40e: add vsi x-cast stats (Stefan Assmann) [1150345] - [netdrv] i40e: increase reset wait time (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: add Tx pre queue disable function (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: check AQ register for valid data (Stefan Assmann) [1150345] - [netdrv] i40e: print message for pre-production hardware (Stefan Assmann) [1150345] - [netdrv] i40e: add VEB stats to ethtool (Stefan Assmann) [1150345] - [netdrv] i40e: set lan_veb index (Stefan Assmann) [1150345] - [netdrv] i40e: add missing VSI statistics (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: remove rx_errors and rx_missed (Stefan Assmann) [1150345] - [netdrv] i40e: refactor stats collection (Stefan Assmann) [1150345] - [netdrv] i40e: refactor send version (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: VEB structure added, GTIME macro update (Stefan Assmann) [1150345] - [netdrv] i40e: notify VF of all types of resets (Stefan Assmann) [1150345] - [netdrv] i40e: clamp jumbo frame size (Stefan Assmann) [1150345] - [netdrv] i40e/i40evf: remove unused RX_LRO define (Stefan Assmann) [1150345] - [netdrv] i40e: remove check for large buffer (Stefan Assmann) [1150345] - [netdrv] i40e: Rework register diagnostic (Stefan Assmann) [1150345] - [netdrv] i40e: don't use OR to check a value (Stefan Assmann) [1150345] - [netdrv] i40e: enable CONFIG_I40E_DCB (Stefan Assmann) [1150345] - [netdrv] i40e: remove ifdefs which are no longer necessary (Stefan Assmann) [1150345] - [netdrv] i40e: revert 075a5d9ee83117e56cf429fcc1cbc78f020ed3bf (Stefan Assmann) [1150345]- [mm] vmscan: check if reclaim should really abort even if compaction_ready() is true for one zone (Rafael Aquini) [1066702] - [mm] page_alloc: prevent unending loop in __alloc_pages_slowpath() (Rafael Aquini) [1066702] - [mm] page_alloc: fix deferred congestion timeout if preferred zone is not allowed (Rafael Aquini) [1066702] - [mm] compaction: prevent infinite loop in compact_zone (Rafael Aquini) [1066702] - [mm] compaction: detect when scanners meet in isolate_freepages (Rafael Aquini) [1066702] - [mm] compaction: push isolate search base of compact control one pfn ahead (Rafael Aquini) [1066702] - [mm] compaction: checks correct fragmentation index (Rafael Aquini) [1066702] - [mm] compaction: abort if migration page cannot be charged to memcg (Rafael Aquini) [1066702] - [mm] compaction: check migrate_pages's return value instead of list_empty() (Rafael Aquini) [1066702] - [mm] hugetlb: fix and clean-up node iteration code to alloc or free (Rafael Aquini) [1066702] - [x86] fpu: shift clear_used_math() from save_i387_xstate() to handle_signal() (Oleg Nesterov) [1196262] - [x86] fpu: change save_i387_xstate() to rely on unlazy_fpu() (Oleg Nesterov) [1196262] - [kernel] clockevents: Make minimum delay adjustments configurable (Prarit Bhargava) [1183773] - [kernel] clockevents: Sanitize min_delta_ns adjustment and prevent overflows (Prarit Bhargava) [1183773] - [md] dm-switch support for RHEL 6 (Mikulas Patocka) [1196319] - [drm] i915: ignore early underrun irqs during init (Rob Clark) [1193972] - [x86] switch_to(): Load TLS descriptors before switching DS and ES (Denys Vlasenko) [1177354] {CVE-2014-9419} - [virt] revert "revert "virtio-net: initialize vlan_features"" (Vlad Yasevich) [1132972] - [netdrv] macvtap: Fix csum_start when VLAN tags are present (Vlad Yasevich) [1123697] - [netdrv] macvtap: signal truncated packets (Vlad Yasevich) [1123697] - [netdrv] macvtap: restore vlan header on user read (Vlad Yasevich) [1123697] - [netdrv] macvlan: Initialize vlan_features to turn on offload support (Vlad Yasevich) [1123697] - [netdrv] macvlan: Add support for 'always_on' offload features (Vlad Yasevich) [1123697] - [netdrv] mactap: Fix checksum errors for non-gso packets in bridge mode (Vlad Yasevich) [1123697] - [netdrv] revert "macvlan: fix checksums error when we are in bridge mode" (Vlad Yasevich) [1123697] - [net] core: Correctly set segment mac_len in skb_segment() (Vlad Yasevich) [1123697] - [net] core: generalize skb_segment() (Vlad Yasevich) [1123697] - [net] core: Add skb_headers_offset_update helper function (Vlad Yasevich) [1123697] - [netdrv] ixgbe: Correctly disable VLAN filter in promiscuous mode (Vlad Yasevich) [1123697] - [netdrv] ixgbe: remove vlan_filter_disable and enable functions (Vlad Yasevich) [1123697] - [netdrv] qlge: Fix TSO for non-accelerated vlan traffic (Vlad Yasevich) [1123697] - [netdrv] i40evf: Fix TSO and hw checksums for non-accelerated vlan packets (Vlad Yasevich) [1123697] - [netdrv] i40e: Fix TSO and hw checksums for non-accelerated vlan packets (Vlad Yasevich) [1123697] - [netdrv] ehea: Fix TSO and hw checksums with non-accelerated vlan packets (Vlad Yasevich) [1123697] - [netdrv] e1000: Fix TSO for non-accelerated vlan traffic (Vlad Yasevich) [1123697]- [powerpc] perf: Never program book3s PMCs with values >= 0x80000000 (Steve Best) [1193743] - [mmc] rtsx_usb_sdmmc: fix incorrect last byte in R2 response (Don Zickus) [753699] - [mmc] rtsx: fix possible linking error if built-in (Don Zickus) [753699] - [mmc] Add realtek USB sdmmc host driver (Don Zickus) [753699] - [mfd] rtsx_usb: Defer autosuspend while card exists (Don Zickus) [753699] - [mfd] rtsx_usb: Fix runtime PM deadlock (Don Zickus) [753699] - [mfd] rtsx_usb: Fix decimal printf format specifiers prefixed with 0x (Don Zickus) [753699] - [mfd] rtsx_usb: export device table (Don Zickus) [753699] - [mfd] rtsx_usb: Make mfd_cell array const (Don Zickus) [753699] - [mfd] rtsx_usb: Add comment in rtsx_usb_suspend (Don Zickus) [753699] - [mfd] rtsx_usb: Fix possible race condition (Don Zickus) [753699] - [mfd] Add realtek USB card reader driver (Don Zickus) [753699] - [netdrv] e1000e: Fixup comments jumbled by i219 support (John Greene) [1150340 1186055] - [netdrv] e1000e: avoid incorrect ioremap/iounmap sequences for e1000_pch_spt (John Greene) [1150340 1186055] - [netdrv] e1000e: NVM write protect access removed from SPT HW (John Greene) [1150340 1186055] - [netdrv] e1000e: initial support for i219 (John Greene) [1150340 1186055] - [netdrv] e1000e: Feature Enable PHY Ultra Low Power Mode (ULP) (John Greene) [1150340] - [netdrv] e1000e: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate (John Greene) [1150340] - [netdrv] e1000e: remove unnecessary break after return (John Greene) [1150340] - [netdrv] e1000e: Fix CRC errors with jumbo traffic (John Greene) [1150340] - [netdrv] e1000e: Add code to check return values on NVM accesses (John Greene) [1150340] - [netdrv] e1000e: Add support for EEE in Sx states (John Greene) [1150340] - [netdrv] e1000e: fix trivial kernel doc typos (John Greene) [1150340] - [netdrv] e1000e: delete excessive space character in debug message (John Greene) [1150340] - [netdrv] e1000e: Fix TSO with non-accelerated vlans (John Greene) [1150340] - [netdrv] e1000e: Include clocksource.h to get CLOCKSOURCE_MASK (John Greene) [1150340] - [netdrv] e1000e: Tx hang on I218 when linked at 100Half and slow response at 10Mbps (John Greene) [1150340] - [scsi] megaraid_sas: Revert "driver version upgrade and remove some meta data of driver" (Tomas Henzl) [1197811] - [s390] vdso: fix clock_gettime for CLOCK_THREAD_CPUTIME_ID, -2 and -3 (Hendrik Brueckner) [1195675] - [sound] alsa: hda - fix hda_display_power() when !CONFIG_SND_HDA_I915 (Jaroslav Kysela) [1069236] - [lib] list_sort: do not pass bad pointers to cmp callback (Dave Airlie) [1195439] - [ata] ahci: Remove Device ID for Intel Sunrise Point PCH (David Milburn) [1129415] - [ata] ahci: Add Device IDs for Intel Sunrise Point PCH (David Milburn) [1129415] - [i2c] i801: Add Device IDs for Intel Sunrise Point PCH (David Milburn) [1129415] - [scsi] always increment reference count (Ewan Milne) [886657] - [scsi] scsi_debug: deadlock between completions and surprise module removal (Ewan Milne) [886657]- [kernel] ipc: sysv shared memory limited to 8TiB (George Beshers) [1171218] - [fs] exec: do not abuse ->cred_guard_mutex in threadgroup_lock() (Petr Oros) [1169225] - [kernel] cgroup: always lock threadgroup during migration (Petr Oros) [1169225] - [kernel] threadgroup: extend threadgroup_lock() to cover exit and exec (Petr Oros) [1169225] - [kernel] threadgroup: rename signal->threadgroup_fork_lock to ->group_rwsem (Petr Oros) [1169225] - [scsi] fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx (Neil Horman) [1187393] - [net] do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso (Neil Horman) [1187393] - [scsi] hpsa: update driver revision to 3.4.4-1-RH4 (Joseph Szczypek) [1189274] - [scsi] hpsa: Cleanup hpsa_message and hpsa_find_cfgtables (Joseph Szczypek) [1189274] - [scsi] hpsa: Use local workqueues instead of system workqueues - part 2 (Joseph Szczypek) [1189274] - [scsi] hpsa: add in P840ar controller model name (Joseph Szczypek) [1189274] - [scsi] hpsa: add in gen9 controller model names (Joseph Szczypek) [1189274] - [scsi] hpsa: detect and report failures changing controller transport modes (Joseph Szczypek) [1189274] - [scsi] hpsa: shorten the wait for the CISS doorbell mode change ack (Joseph Szczypek) [1189274] - [scsi] hpsa: refactor duplicated scan completion code into a new routine (Joseph Szczypek) [1189274] - [scsi] hpsa: move SG descriptor set-up out of hpsa_scatter_gather() (Joseph Szczypek) [1189274] - [scsi] hpsa: do not use function pointers in fast path command submission (Joseph Szczypek) [1189274] - [scsi] hpsa: print CDBs instead of kernel virtual addresses for uncommon errors (Joseph Szczypek) [1189274] - [scsi] hpsa: do not use a void pointer for scsi_cmd field of struct CommandList (Joseph Szczypek) [1189274] - [scsi] hpsa: return failed from device reset/abort handlers (Joseph Szczypek) [1189274] - [scsi] hpsa: check for ctlr lockup after command allocation in main io path (Joseph Szczypek) [1189274] - [scsi] hpsa: guard against overflowing raid map array (Joseph Szczypek) [1189274] - [scsi] hpsa: do not ack controller events on controllers that do not support it (Joseph Szczypek) [1189274] - [scsi] hpsa: remove incorrect BUG_ONs checking for raid offload enable (Joseph Szczypek) [1189274] - [scsi] hpsa: do not check for msi(x) in interrupt_pending (Joseph Szczypek) [1189274] - [scsi] hpsa: slightly optimize SA5_performant_completed (Joseph Szczypek) [1189274] - [scsi] hpsa: optimize cmd_alloc function by remembering last allocation (Joseph Szczypek) [1189274] - [scsi] hpsa: fix race between abort handler and main i/o path (Joseph Szczypek) [1189274] - [scsi] hpsa: honor queue depth of physical devices (Joseph Szczypek) [1189274] - [scsi] hpsa: use workqueue to resubmit failed ioaccel commands (Joseph Szczypek) [1189274] - [scsi] hpsa: factor out hpsa_ciss_submit function (Joseph Szczypek) [1189274] - [scsi] hpsa: do not request device rescan on every ioaccel path error (Joseph Szczypek) [1189274] - [scsi] hpsa: do not queue commands internally in driver (Joseph Szczypek) [1189274] - [scsi] hpsa: get rid of cmd_special_alloc and cmd_special_free (Joseph Szczypek) [1189274] - [scsi] hpsa: reserve some commands for use by driver (Joseph Szczypek) [1189274] - [scsi] hpsa: avoid unneccesary calls to resource freeing functions (Joseph Szczypek) [1189274] - [scsi] hpsa: fix memory leak in hpsa_alloc_cmd_pool (Joseph Szczypek) [1189274] - [scsi] hpsa: report allocation failures while allocating SG chain blocks (Joseph Szczypek) [1189274] - [scsi] hpsa: pass error from pci_set_consistent_dma_mask from hpsa_message (Joseph Szczypek) [1189274] - [scsi] hpsa: rename hpsa_request_irq to hpsa_request_irqs (Joseph Szczypek) [1189274] - [scsi] hpsa: report failure to ioremap config table (Joseph Szczypek) [1189274] - [scsi] hpsa: trivial message and comment clean ups (Joseph Szczypek) [1189274] - [scsi] hpsa: refactor hpsa_find_board_params() to encapsulate legacy test (Joseph Szczypek) [1189274] - [scsi] hpsa: downgrade the Waiting for no-op print to dev_info (Joseph Szczypek) [1189274] - [scsi] hpsa: propagate return value from board ID lookup (Joseph Szczypek) [1189274] - [scsi] hpsa: propagate hard_reset failures in reset_devices mode (Joseph Szczypek) [1189274] - [scsi] hpsa: remove 0x from queue depth print which is in decimal (Joseph Szczypek) [1189274] - [scsi] hpsa: notice all request_irq errors (Joseph Szczypek) [1189274] - [scsi] hpsa: Fix -Wunused-but-set-variable warning (Joseph Szczypek) [1189274] - [scsi] hpsa: rename free_irqs to hpsa_free_irqs (Joseph Szczypek) [1189274] - [scsi] hpsa: adjust RAID-1, RAID-1ADM, and RAID-6 names (Joseph Szczypek) [1189274] - [scsi] hpsa: change how SA controllers are reset (Joseph Szczypek) [1189274] - [scsi] hpsa: turn off interrupts when kdump starts (Joseph Szczypek) [1189274] - [scsi] hpsa: fix memory leak in kdump hard reset (Joseph Szczypek) [1189274] - [scsi] hpsa: correct endian sparse warnings (Joseph Szczypek) [1189274] - [scsi] ses: Add power_status to SES device slot (Maurizio Lombardi) [1195134] - [scsi] ses: add reliable slot attribute (Maurizio Lombardi) [1195134] - [scsi] ses: add enclosure logical id (Maurizio Lombardi) [1195134] - [scsi] ses: generate KOBJ_CHANGE on enclosure attach (Maurizio Lombardi) [1195134] - [scsi] ses: close potential registration race (Maurizio Lombardi) [1195134] - [scsi] enclosure: handle non-unique element descriptors (Maurizio Lombardi) [1195134] - [scsi] enclosure: fix WARN_ON in dual path device removing (Maurizio Lombardi) [1195134] - [scsi] ses: requesting a fault indication (Maurizio Lombardi) [1195134] - [scsi] ses: add subenclosure support (Maurizio Lombardi) [1195134] - [scsi] ses: show devices for enclosures with no page 7 (Maurizio Lombardi) [1195134] - [block-driver] cciss: do not reset non-resettable boards (Tomas Henzl) [1192516] - [scsi] Fnic: Not probing all the vNICS via fnic_probe on boot (Chris Leech) [1092771] - [scsi] lpfc: Update lpfc version for 10.6.0.20 driver release (Rob Evers) [1194793] - [scsi] lpfc: Update copyright to 2015 (Rob Evers) [1194793] - [scsi] lpfc: Fix setting of EQ delay Multiplier (Rob Evers) [1194793] - [scsi] lpfc: Fix crash in device reset handler (Rob Evers) [1194793] - [scsi] lpfc: application causes OS crash when running diagnostics (Rob Evers) [1194793] - [scsi] lpfc: Fix internal loopback failure (Rob Evers) [1194793] - [scsi] lpfc: Fix premature release of rpi bit in bitmask (Rob Evers) [1194793] - [scsi] lpfc: Initiator sends wrong BBCredit value for either FLOGI or FLOGI_ACC (Rob Evers) [1194793] - [scsi] lpfc: Fix provide host name and OS name in RSNN-NN FC-GS command (Rob Evers) [1194793] - [scsi] lpfc: Parse the new 20G, 25G and 40G link speeds in the lpfc driver (Rob Evers) [1194793] - [scsi] lpfc: lpfc does not support option_rom_version sysfs attribute on newer adapters (Rob Evers) [1194793] - [scsi] lpfc: Fix host reset escalation killing all IOs (Rob Evers) [1194793] - [scsi] lpfc: Linux lpfc driver doesn't re-establish the link after a cable pull on LPe12002 (Rob Evers) [1194793] - [scsi] lpfc: Fix to handle PLOGI when already logged in (Rob Evers) [1194793] - [scsi] lpfc: Fix the iteration count to match the 30 sec comment (Rob Evers) [1194793] - [scsi] lpfc: Fix null ndlp derefernce in target_reset_handler (Rob Evers) [1194793]- [block] genhd: fix leftover might_sleep() in blk_free_devt() (Jeff Moyer) [1193201] - [s390] kernel: 3215 tty close crash (Hendrik Brueckner) [1186682] - [s390] zcrypt: fixed domain scanning problem again (Hendrik Brueckner) [1193613] - [s390] zcrypt: Number of supported ap domains is not retrievable (Hendrik Brueckner) [1193613] - [fs] gfs2: Move gfs2_file_splice_write outside of #ifdef (Robert S Peterson) [1193559] - [fs] nfsd: fix EXDEV checking in rename (Steve Dickson) [1154787] - [fs] nfs: Be more aggressive in using readdirplus for 'ls -l' situations (J. Bruce Fields) [1043771] - [netdrv] be2net: avoid unncessary swapping of fields in eth_tx_wrb (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: process port misconfig async event (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: refactor be_set_rx_mode() and be_vid_config() for readability (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: remove duplicate code in be_cmd_rx_filter() (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: use offset based FW flashing for Skyhawk chip (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: avoid flashing SH-B0 UFI image on SH-P2 chip (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: refactor code that checks flash file compatibility (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: replace (1 << x) with BIT(x) (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: move un-exported routines from be.h to respective src files (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix sparse warning (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: Fix TX rate limiting on Lancer/Skyhawk-R VFs (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: move definitions related to FW cmdsfrom be_hw.h to be_cmds.h (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: issue function reset cmd in resume path (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: add a log message for POST timeout in Lancer (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fail VF link config change via ndo_set_vf_link_state() on BE3/Lancer (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix failure case in setting flow control (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: move interface create code to a separate routine (Ivan Vecera) [1149267 1158694] - [netdrv] emulex: Use skb_put_padto instead of skb_padto() and skb->len assignment (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: Check for presence of IFLA_AF_SPEC (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: Validate IFLA_BRIDGE_MODE attribute length (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: use netdev_rss_key_fill() helper (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix alignment on line wrap (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: remove multiple assignments on a single line (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: remove space after typecasts (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: remove unnecessary blank lines after an open brace (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: insert a blank line after function/struct//enum definitions (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: remove multiple blank lines (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: add blank line after declarations (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: remove return statements for void functions (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: add speed reporting for 20G-KR interface (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: add speed reporting for 40G/KR interface (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix sparse warnings in be_cmd_req_port_type{} (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix a sparse warning in be_cmd_modify_eqd() (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: enable PCIe error reporting on VFs too (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: send a max of 8 EQs to be_cmd_modify_eqd() on Lancer (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix port-type reporting in get_settings (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: add ethtool "-m" option support (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: use v1 of SET_FLOW_CONTROL command (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix RX fragment posting for jumbo frames (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: replace strcpy with strlcpy (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix some log messages (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: query max_tx_qs for BE3 super-nic profile from FW (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: define macro for_all_tx_queues_on_eq() (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: get rid of TX budget (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: make be_cmd_get_regs() return a status (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: define BE_MAX_MTU (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: remove unncessary gotos (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix log messages in lancer FW download path (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: Add a dma_mapping_error counter in ethtool (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: Add TX completion error statistics in ethtool (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: add a description for counter rx_input_fifo_overflow_drop (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: shorten AMAP_GET/SET_BITS() macro calls (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: add a few log messages (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: Remove DEFINE_PCI_DEVICE_TABLE macro use (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: Issue shutdown event to ocrdma driver (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: support deleting FW dump via ethtool (only for Lancer) (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: ignore VF mac address setting for the same mac (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: update driver version to 10.4 (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: use "if (!foo)" test style (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: remove unused structures in be_cmds.h (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: reduce arguments passed to FW-cmd routines (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: update UE bit description strings (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix return status of some ndo methods (Ivan Vecera) [1149267 1158694] - [net] etherdevice: Use ether_addr_copy to copy an Ethernet address (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix return status of some ethtool methods (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: return -ENOMEM for memory allocation failures (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: return -ETIMEDOUT when a FW-cmd times out (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix error status for FW-download (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: use -ENETDOWN error status when interface is down (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: re-enable vlan filtering mode asap (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: cleanup MCC async event processing code (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: move async cmd processing to a separate routine (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fixup TX-rate setting code for Skyhawk-R (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: get rid of SET_ETHTOOL_OPS (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: Add link state control for VFs (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: fix up function prototypes after __dev* removals (Ivan Vecera) [1149267 1158694] - [netdrv] be2net: remove __dev* attributes (Ivan Vecera) [1149267 1158694] - [net] make net_get_random_once irq safe (Ivan Vecera) [1160464] - [net] avoid dependency of net_get_random_once on nop patching (Ivan Vecera) [1160464] - [netdrv] tg3: Release tp->lock before invoking synchronize_irq() (Ivan Vecera) [1160464] - [netdrv] tg3: tg3_reset_task() needs to use rtnl_lock to synchronize (Ivan Vecera) [1160464] - [netdrv] tg3: tg3_timer() should grab tp->lock before checking for tp->irq_sync (Ivan Vecera) [1160464] - [netdrv] tg3: move init/deinit from open/close to probe/remove (Ivan Vecera) [1160464] - [netdrv] tg3: tg3_disable_ints using uninitialized mailbox value to disable interrupts (Ivan Vecera) [1160464] - [netdrv] tg3: fix ring init when there are more TX than RX channels (Ivan Vecera) [1160464] - [netdrv] tg3: use netdev_rss_key_fill() helper (Ivan Vecera) [1160464] - [net] core: provide a per host RSS key generic infrastructure (Ivan Vecera) [1160464] - [net] introduce new macro net_get_random_once (Ivan Vecera) [1160464] - [netdrv] tg3: Allow for recieve of full-size 8021AD frames (Ivan Vecera) [1160464] - [netdrv] tg3: Work around HW/FW limitations with vlan encapsulated frames (Ivan Vecera) [1160464] - [netdrv] tg3: fix return value in tg3_get_stats64 (Ivan Vecera) [1160464] - [netdrv] forcedeth: Remove DEFINE_PCI_DEVICE_TABLE macro use (Ivan Vecera) [1160464] - [netdrv] tg3: Replace ethtool_ops::{get, set}_rxfh_indir() with {get, set}_rxfh() (Ivan Vecera) [1160464] - [platform] thinkpad_acpi: support new BIOS version string pattern (Benjamin Tissoires) [1194829] - [platform] thinkpad-acpi: enable loading module with new B-series Lenovo BIOS (Benjamin Tissoires) [1194829] - [platform] thinkpad-acpi: fail to load with newer Thinkpad X201s BIOS (Benjamin Tissoires) [1194829]- [sound] alsa/hda/usb/core: hda: do not export static functions (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: drm: i915: hd-audio: Don't continue probing when nomodeset is given (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix runtime PM check (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - WAKEEN feature enabling for runtime pm (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - restore BCLK M/N value as per CDCLK for HSW/BDW display HDA controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add power-welll support for haswell HDA (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Fix 'const' warnings and some retyping (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Enable new USB drivers - HiFace and BCD2000 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add support for Akai MPC Element USB MIDI controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-caiaq: fix stream count check (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix Scarlett 6i6 initialization typo (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add native DSD support for Matrix Audio DACs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Don't resubmit pending URBs at MIDI error recovery (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add support for Zoom R16/24 capture and midi interfaces (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add mode select quirk for Denon/Marantz DACs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add native DSD support for Denon/Marantz DACs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: Add big-endian DSD sample formats and fix XMOS DSD sample format (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add resume support for Scarlett mixers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add resume support for MicroII SPDIF ctls (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add resume support for FTU controls (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add resume support for Native Instruments controls (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add Digidesign Mbox 1 resume support (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add Xonar U1 resume support (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add Emu0204 channel switch resume support (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add audigy2nx resume support (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Allow quirks to handle own resume and proc dump (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Refactor ignore_ctl_error checks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Use snd_usb_ctl_msg() for Native Instruments quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Set the Control Selector to SU_SELECTOR_CONTROL for UAC2 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add ctrl message delay quirk for Marantz/Denon devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: 6fire: Convert byte_rev_table uses to bitrev8 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Scarlett mixer interface for 6i6, 18i6, 18i8 and 18i20 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Replace the magic number 44 with const (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: make set_*_mix_values functions public (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add private_data pointer to usb_mixer_elem_info (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: revert "alsa: usb-audio: Add quirk for Focusrite Scarlett (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix memory leak in FTU quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add duplex mode for Digidesign Mbox 1 and enable mixer (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add mixer control for Digidesign Mbox 1 clock source (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix Oops by composite quirk enhancement (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Allow multiple entries for the same iface in composite quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: Add snd_pcm_stop_xrun() helper (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Trigger PCM XRUN at XRUN (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix device_del() sysfs warnings at disconnect (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Use strim() instead of open code (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Pass direct struct pointer instead of list_head (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Flatten probe and disconnect functions (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Use snd_ctl_enum_info() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: 6fire: Use snd_ctl_enum_info() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add support for Steinberg UR22 USB interface (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: drop unused varible assigments (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: caiaq: check for cdev->n_streams > 1 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: hub: rename khubd to hub_wq in documentation and comments (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-caiaq: Fix LED commands for Kore controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add native DSD support for XMOS based DACs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add MIDI port names for the Yamaha MOTIF XF (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: fix BOSS ME-25 MIDI regression (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Whitespace cleanups for sound/usb/midi.* (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Respond to suspend and resume callbacks for MIDI input (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Adjust Gamecom 780 volume level (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: improve dmesg source grepability (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix races at disconnection and PCM closing (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: mixer: remove error messages on failed kmalloc() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: mixer: coding style fixups (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: work around corrupted TEAC UD-H01 feedback data (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix deadlocks at resuming (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Save mixer status only once at suspend (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Prevent printk ratelimiting from spamming kernel log while DEBUG not defined (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix format string mismatch in mixer.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: MIDI driver for Behringer BCD2000 USB device (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Suppress repetitive debug messages from retire_playback_urb() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add quirk for Logitech Webcam C500 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: 6fire: Use standard printk helpers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Use standard printk helpers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usx2y: Don't peep the card internal object (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: work around KEF X300A firmware bug (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Use SNDRV_DEV_CODEC for mixer objects (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: Convert to snd_card_new() with a device pointer (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Resume mixer values properly (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add missing kconfig dependecy (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: re-order some quirk entries (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix Creative VF0420 rate (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add support for Focusrite Saffire 6 USB (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hiface: Fix typo in 352800 rate definition (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add a quirk for Plantronics Gamecom 780 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: fix uninitialized variable compile warning (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: use multiple packets per urb for Wireless USB inbound audio (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add front jack channel selector for EMU0204 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: Fix wrong mapping of RLC and RRC channels (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb - Don't trust the channel config if the channel count changed (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb - For class 2 devices, use channel map from altsettings (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: supply channel maps even when wChannelConfig is unspecified (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: 6fire: Fix probe of multiple cards (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Use module_usb_driver (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: support wireless devices in snd_usb_parse_datainterval (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add support for wireless USB devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: remove unused endpoint flag EP_FLAG_ACTIVATED (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: rename alt_idx to altsetting (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: clear SUBSTREAM_FLAG_SYNC_EP_STARTED on error (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: void return type of snd_usb_endpoint_deactivate() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: don't deactivate URBs on in-use EP (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: remove deactivate_endpoints() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: remove unused parameter from sync_ep_set_params (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-usx2y: remove bogus frame checks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-caiaq: LED support for Maschine Controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: improve buffer size computations for USB PCM audio (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Fix assignment of 0/1 to bool variables (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix invalid volume resolution for Logitech HD Webcam C525 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: fix automatic Roland/Yamaha MIDI detection (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: 6fire: make buffers DMA-able (midi) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: 6fire: make buffers DMA-able (pcm) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: don't push static constants on stack for *ph (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: do not trust too-big wMaxPacketSize values (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: 6fire: fix DMA issues with URB transfer_buffer usage (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: WARN_ON when alts is passed as NULL (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: remove implicit_fb from quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: remove is_playback from implicit feedback quirks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: do not initialize and check implicit_fb (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: reverse condition logic in set_sync_endpoint (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: move implicit fb quirks to separate function (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: separate sync endpoint setting from set_format (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: remove assignment from if condition (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: remove disabled debug code in set_format (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usx2y: remove an unneeded check (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hiface: return correct XRUN indication (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: 6fire: return correct XRUN indication (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usx2y: Fix unlocked snd_pcm_stop() call (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: ua101: Fix unlocked snd_pcm_stop() call (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: 6fire: Fix unlocked snd_pcm_stop() call (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: fix regression for fixed stream quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add Audio Advantage Micro II (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add quirks for Roland QUAD/OCTO-CAPTURE (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: claim autodetected PCM interfaces all at once (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: remove superfluous Roland quirks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add MIDI port names for some Roland devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add support for many Roland/Yamaha devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: detect implicit feedback on Roland devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: store protocol version in struct audioformat (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Add M2Tech hiFace USB-SPDIF driver (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: uniform style used in MODULE_SUPPORTED_DEVICE() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-6fire: use vmalloc buffers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-caiaq: use vmalloc buffers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-caiaq: remove the unused snd_card_used variable (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: sound/usb/misc/ua101.c: convert __list_for_each usage to list_for_each (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usx2y: remove some old dead code (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix invalid volume resolution for Logitech HD Webcam c310 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: work around Android accessory firmware bug (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio - Fix invalid volume resolution on Logitech HD webcam c270 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio - Apply Logitech QuickCam Pro 9000 quirk only to audio iface (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: fix Roland/Cakewalk UM-3G support (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-6fire: Modify firmware version check (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: proc: use found syncmaxsize to determine feedback format (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: caiaq: fix endianness bug in snd_usb_caiaq_maschine_dispatch (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm_format_to_bits strong-typed conversion (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: adjust for changed 3.8 USB API (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb - Avoid unnecessary sample rate changes on USB 2.0 clock sources (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: USB quirk for Yamaha THR10C (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: USB quirk for Yamaha THR5A (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: USB quirk for Yamaha THR10 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix autopm error during probing (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: try harder to find USB_DT_CS_ENDPOINT (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-audio: set the timeout for usb control set messages to 5000 ms (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: add quirks handler for DSD streams (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: add support for bit-reversed byte formats (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: add support for DSD DOP stream transport (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: use ep->stride from urb callbacks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: disable autopm for MIDI devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: Add quirk for 192KHz recording on E-Mu devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: playback design: use usb_set_inferface quirk from more locations (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: fix endianness bug in snd_nativeinstruments_* (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: uac2: support read-only freq control (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: show err in set_sample_rate_v2 debug (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: uac2: auto clock selection module param (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: uac2: try to find and switch to valid clock (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: uac2: do clock validity check earlier (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: use endianness macros (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: spelling correction (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: neaten EXPORT_SYMBOLS placement (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: neaten MODULE_DEVICE_TABLE placement (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: convert list_for_each to entry variant (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Clean up the code in set_sample_rate_v2() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: Work around CM6631 sample rate change bug (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: mixer: propagate errors up the call chain (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: Parse UAC2 extension unit like for UAC1 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: add delay quirk for "Playback Design" products (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: handle raw data format of UAC2 devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: handle the bmFormats field as unsigned int (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Trust fields given in the quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Playback and MIDI support for Novation Twitch DJ controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add a workaround for the NuForce UDH-100 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-caiaq: fix smatch warnings (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-caiaq: switch to dev_*() logging (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-caiaq: rename 'dev' to 'cdev' (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb/quirks, fix out-of-bounds access (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add support for M-Audio FT C600 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: fix Roland A-PRO support (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb: cosmetics, remove a leading space (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: caiaq: fix use of MODULE_SUPPORTED_DEVICES() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: fix invalid length check for RME and other UAC 2 devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Make snd_printd() and snd_printdd() inline (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: selector map for M-Audio FT C400 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: M-Audio FT C400 skip packet quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: correct M-Audio C400 clock source quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb - fix race in creation of M-Audio Fast track pro driver (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix NULL dereference by access to non-existing substream (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Make ebox44_table static (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix kernel panic of Digidesign Mbox2 quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add support for Creative BT-D1 via usb sound quirks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: support delay calculation on capture streams (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Support for Digidesign Mbox 2 USB sound card: (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: ignore-quirk for HP Wireless Audio (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Enable S/PDIF on the ASUS Xonar U3 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb6fire: prevent driver panic state when stopping (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-caiaq: remove __dev* attributes (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb-6fire: remove __dev* attributes (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: sync ep init fix for audioformat mismatch (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix missing autopm for MIDI input (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Avoid autopm calls after disconnection (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb - Don't create "Speaker" mixer controls on headphones and headsets (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: FT C400 sync playback EP to capture EP (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fast Track C400 mixer controls (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fast Track C400 mixer ranges (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: M-Audio Fast Track C400 quirks table (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: parameterize FTU effect unit control (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: skip UAC2 EFFECT_UNIT (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add control index offset (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: use sender stride for implicit feedback (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: replace hardcoded value with const (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: add channel map support (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Extend chmap definitions for UAC2 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: fix delay account during pause (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: ignore delay calculation for capture stream (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: properly initialize the sync endpoint (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: process pending stop at PCM hw_free and close (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: stop both data and sync endpoints asynchronously (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: simplify endpoint deactivation code (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: simplify snd_usb_endpoint_start/stop arguments (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Deprecate async_unlink option (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Return meaningful error codes instead of -1 in format.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb/6fire: Fix potential NULL pointer dereference in comm.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Fix misspellings of "whether" in comments (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: ua101, usx2y: fix broken MIDI output (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: use bitmap_weight (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix mutex deadlock at disconnection (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add quirk for Focusrite Scarlett 18i6 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix crash at re-preparing the PCM stream (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: sound/usb: remove CONFIG_EXPERIMENTAL (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add quirk for Reloop Play (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: USB audio quirk for Roland VG-99 advanced mode (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: remove unused variable in init_pitch_v2() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix races at disconnection in mixer_quirks.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Use rwsem for disconnect protection (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Fix races at disconnection (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: usb-audio: Add TASCAM US122 MKII playback (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd-usb: fix next_packet_size calls for pause case (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: add new DSD sampleformat for native DSD playback on XMOS based devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: add DSD formats (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: Define G723 3-bit and 5-bit formats (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Select INPUT for Realtek HD-audio codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda: export struct hda_intel (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - fixup input_free_device called after input_unregister_device (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda: Simplify PM callbacks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable mic mute hotkey and LEDs for an HP machine (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Debug output which type of fixup was selected (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Print codec->chip_name in autoconfig (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - patch_analog.c: Remove some unused functions (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add new GPU codec ID 0x10de0072 to snd-hda (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix wrong gpio_dir & gpio_mask hint setups for IDT/STAC codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda_intel: apply the Seperate stream_tag for Skylake (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda_controller: Separate stream_tag for input and output streams (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - New codec support for ALC298 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add quirk for Packard Bell EasyNote MX65 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - New codec support for ALC256 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add new Dell desktop for ALC3234 headset mode (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/hdmi - apply Haswell fix-ups to Skylake display codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make add_stereo_mix_input flag tristate (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Create capture source ctls when stereo mix input is added (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix typos in snd_hda_get_int_hint() kerneldoc comments (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add codec ID for Skylake display audio codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: sound / pm: Replace CONFIG_PM_RUNTIME with CONFIG_PM (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add "eapd" model string for AD1986A codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add EAPD fixup for ASUS Z99He laptop (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix built-in mic at resume on Lenovo Ideapad S210 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Drop AZX_DCAPS_ALIGN_BUFSIZE (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Define the DCAPS preset for the old Intel chipsets (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add headset Mic support for new Dell machine (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Allow forcibly enabling/disabling snoop (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add AZX_DCAPS_SNOOP_OFF (and refactor snoop setup) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - using uninitialized data (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: sound/radeon: Move 64-bit MSI quirk from arch to driver (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Limit 40bit DMA for AMD HDMI controllers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - One more HP machine needs to change mute led quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Supported HP mute Led for ALC286 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Clean up mute/mic GPIO LED handling (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - fix the mic mute led problem for Latitude E5550 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - move DELL_WMI_MIC_MUTE_LED to the tail in the quirk chain (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda: Deletion of unnecessary checks before two function calls (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add mute LED control for Lenovo Ideapad Z560 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Change EAPD to verb control (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix kerneldoc errors in patch_ca0132.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda_intel: Add DeviceIDs for Sunrise Point-LP (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Restore default value for ALC668 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - fix mute led problem for three HP laptops (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add kerneldoc comments to hda_generic.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Update Initial AMP for EAPD control (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - change three SSID quirks to one pin quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Set GPIO 4 low for a few HP machines (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add ultra dock support for Thinkpad X240 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add workaround for CMI8888 snoop behavior (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - More kerneldoc comments (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Correct kerneldoc comments (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Pass printf argument directly to request_module() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - New SSID for Headset quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Update restore default value for ALC283 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Update restore default value for ALC282 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add missing terminating entry to SND_HDA_PIN_QUIRK macro (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda: Use snd_ctl_enum_info() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Use "Line Out" name instead of "PCM" when there are other outputs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix "PCM" name being used on one DAC when there are two DACs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix inverted LED gpio setup for Lenovo Ideapad (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Fix missing ELD change event on plug/unplug (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: ALC283 codec - Avoid pop noise on headphones during suspend/resume (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda_intel: Add Device IDs for Intel Sunrise Point PCH (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add dock port support to Thinkpad L440 (71aa:501e) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add dock support for Thinkpad T440 (17aa:2212) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make the inv dmic handling for Realtek use generic parser (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add Inverted Internal mic for Samsung Ativ book 9 (NP900X3G) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add inverted internal mic for Asus Aspire 4830T (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Sort input pins depending on amp caps (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move the function "check_amp_caps" to hda_codec.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add explicit include of err.h (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add fixup model name lookup for Lemote A1205 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Replace strnicmp with strncasecmp (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Use standard hda_jack infrastructure for CA0132 driver (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove superfluous hooks from VIA driver (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove superfluous callbacks from STAC/IDT codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Allow multiple callbacks for jack (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make snd_hda_jack_detect_enable_callback() returning the jack object (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make snd_hda_jack_tbl_new() static (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Get rid of action field from struct hda_jack_tbl (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix invalid pin powermap without jack detection (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add TLV_DB_SCALE_MUTE bit for relevant controls (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make the ALC269 pin quirk table shorter (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add common pin macros for ALC269 family (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - move HP_GPIO_MIC1_LED quirk for alc280 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - move HP_LINE1_MIC1_LED quirk for alc282 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - move HP_MUTE_LED_MIC1 quirk for alc290 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - move HP_MUTE_LED_MIC1 quirk for alc282 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - move DELL2_MIC_NO_PRESENCE quirk for alc255 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - move DELL1_MIC_NO_PRESENCE quirk for alc255 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - move DELL1_MIC_NO_PRESENCE quirk for alc283 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - move DELL2_MIC_NO_PRESENCE quirk for alc292 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix COEF setups for ALC1150 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix digital mic on Acer Aspire 3830TG (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Set up initial pins for Acer Aspire V5 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda: ca0132_regs.h: Fix typo in include guard (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Use tables for batch COEF writes/updtes (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add alc_update_coef*_idx() helper (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Use alc_write_coef_idx() in alc269_quanta_automake() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Optimize alc888_coef_init() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove obsoleted EXPORT_SYMBOL_HDA() macro (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove obsoleted snd_hda_check_board_config() & co (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/hdmi - apply Valleyview fix-ups to Cherryview display codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/hdmi - set depop_delay for haswell plus (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - restore the gpio led after resume (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Avoid setting wrong COEF on ALC269 & co (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Set TLV_DB_SCALE_MUTE bit for cx5051 vmaster (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/ca0132 - Don't try loading firmware at resume when already failed (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix pop noises on reboot for Dell XPS 13 9333 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Set internal mic as default input source on Dell XPS 13 9333 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix parsing of CMI8888 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix probing and stuttering on CMI8888 HD-audio controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Fixed ALC286/ALC288 recording delay for Headset Mic (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add codec ID for Braswell display audio codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add PCI IDs for Intel Braswell (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add mic mute led hook for dell machines (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - fix an external mic jack problem on a HP machine (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix loopback noise on Dell XPS 15 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make vendor quirks lowest prio for ALC2xx (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Refactor quirk picking and change quirk priority (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add mic fixup for Gigabyte BXBT-2807 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add mute LED pin quirk for HP 15 touchsmart (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add NULL check to all PM ops in hda_intel.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add the pin fixup for HP Envy TS bass speaker (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix broken PM due to incomplete i915 initialization (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd/hda: add runtime suspend/resume on optimus support (v4) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Revert stream assignment order for Intel controllers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add capture mute led support in led_power_filter (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - fix a typo by changing mute_led_nid to cap_mute_led_nid (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add new GPU codec ID 0x10de0070 to snd-hda (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add several entries for enabling HP mute led (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix and neaten print_nid_path/debug_badness (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix invalid function call in snd_hda_add_vmaster() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add a fixup for Thinkpad T540p (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add another headset pin quirk for some Dell machines (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Replace ICH6_ prefix (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove obsoleted SFX definitions (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move SD nums definitions to hda_intel.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Use common reboot notifier (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move more PCI-controller-specific stuff from generic code (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - restore BCLK M/N values when resuming HSW/BDW display controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make position_fix as generic callback (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove superfluous MAX_AZX_DEV (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Adjust speaker HPF and add LED support for HP Spectre 13 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove the obsoleted static quirk codes from patch_cmedia.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove the obsoleted static quirk codes from patch_conexant.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Kill the rest of snd_print*() usages (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Kill snd_printd*() in HDMI debug / info prints (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make the pin quirk tables use the SND_HDA_PIN_QUIRK macro (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make a SND_HDA_PIN_QUIRK macro (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add pin quirk for Dell XPS 15 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: call overridden init on resume (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix usage of "model" module parameter (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Support HP mute led for output and input (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add more entry for enable HP mute led (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add quirk for external mic on Lifebook U904 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - fix a fixup value for codec alc293 in the pin_quirk table (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - verify pin:converter connection on unsol event for HSW and VLV (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add quirk for ABit AA8XE (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: revert "alsa: hda - mask buggy stream DMA0 for Broadwell display controller" (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - using POS_FIX_LPIB on Broadwell HDMI Audio (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add support of ALC667 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add more codec rename (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - New vendor ID for ALC233 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add two new pin tables (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add support of ALC891 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Fix COEF widget NID for ALC260 replacer fixup (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Correction of fixup codes for PB V7900 laptop (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/analog - Fix silent output on ASUS A8JN (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - move some alc662 family machines to hda_pin_quirk table (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - move some alc269 family machines to hda_pin_quirk table (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: revert "alsa: hda - drop def association and sequence from pinconf comparing" (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Pop noises fix for XPS13 9333 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add an instance to use snd_hda_pick_pin_fixup (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - drop def association and sequence from pinconf comparing (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - get subvendor from codec rather than pci_dev (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add a new quirk match based on default pin configuration (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add fixup_forced flag (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix onboard audio on Intel H97/Z97 chipsets (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Replace DEFINE_PCI_DEVICE_TABLE macro use (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add support headset mode for ALC233 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - fix format type mismatch in sound/pci/hda/patch_sigmatel.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Disable AA-mix on Sony Vaio S13 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - White noise fix for XPS13 9333 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/hdmi - Add Nvidia Tegra124 HDMI support (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add headset mic detect quirk for a Dell laptop (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add headset mic detect quirks for three Dell laptops (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add new GPU codec ID to snd-hda (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - if statement not indented (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - mask buggy stream DMA0 for Broadwell display controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add dock pin setups for Thinkpad T440 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Set infoframe and channel mapping even without sink (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Set converter channel count even without sink (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Suppress CORBRP clear on Nvidia controller chips (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add more entry for enable HP mute led (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add headset mic detect quirk for a Dell laptop (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add new codec ALC293/ALC3235 UAJ supported (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add two codecs alias name for Dell (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add headset Mic support for Dell machine (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add headset mic detect quirk for a Dell laptop (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add support of ALC288 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make full_reset boolean (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add headset mic detect quirk for a Dell laptop (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Do not assign streams in reverse order (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add eapd shutup to ALC283 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Change model name alias for ChromeOS (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Improve HP depop when system change power state on Chromebook (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix silent speaker output due to mute LED fixup (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Fixed single output machine get empty hp sense (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable beep for ASUS 1015E (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add headset mic detect quirks for three Dell laptops (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Inform the unexpectedly ignored pins by auto-parser (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - verify pin:cvt connection on preparing a stream for Intel HDMI codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Restore default value for ALC282 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Fix the noise after suspend and resume on ALC282 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Restore default value for ALC283 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - initialize audio InfoFrame to be all zero (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix loud click noise with IdeaPad 410Y (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Use analog beep for Thinkpads with AD1984 codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add missing loopback merge path for AD1884/1984 codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add automute fix for another dell AIO model (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add headset quirk for Dell DT (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Added inverted digital-mic handling for Acer TravelMate 8371 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Mark reg op args as iomem (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Rename reg access ops in hda_controller_ops (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make azx_attach_pcm_stream static (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move codec create to hda_controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move azx_interrupt to hda_controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add position_check op (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move low level functions to hda_controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - move alloc_cmd_io to hda_controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Relocate RIRB/CORB interface to hda_controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move the dsp loader to hda_controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Pull pages allocation to hda_controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add hda_controller.c and move pcm ops from hda_intel (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add pcm_mmap_prepare op (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move snd page allocation to ops (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Pass max_slots and power_save to codec_create (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add jackpoll_ms to struct azx (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - remove unused clear of STATESTS (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add function pointer for disabling MSI (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Use device pointer from the card instead of pci (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Keep pointer to bdl_pos_fix in chip struct (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Allow different ops to read/write registers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move some definitions to new hda_priv.h (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix CORB reset to follow specification (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix registration of beep input device (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/sigmatel - Allow auto-switching for dock line-in of HP laptops (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make codec object as a parent for input beep devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Replace with standard printk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable sysfs attributes without CONFIG_SND_HDA_RECONFIG (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add sysfs to codec object, too (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Create own device struct for each codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Manage each codec instance individually (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hwdep: Take private_data as drvdata for sysfs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Create sysfs attribute files via groups (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Avoid codec D3 for keeping mute LED up on Lenovo Yxx0 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add a fixup for HP Folio 13 mute LED (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add more entry for enable HP mute led (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable front audio jacks on one HP desktop model (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add QEMU codec vendor ID (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/ca0132 - Fix recording from mode id 0x8 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/ca0132 - setup/cleanup streams (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add headset mic detect quirks for two Dell laptops (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove superfluous inclusion of linux/pci.h (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Allow NULL bus->pci (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove dependency on bus->pci in hda_beep.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: revert "alsa: hda/realtek - Avoid invalid COEFs for ALC271X" (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pci: Convert to snd_card_new() with a device pointer (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make snd_hda_gen_spec_free() static (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Disable static quirks for C-Media codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move HDA_FIXUP_ACT_FREE call in snd_hda_gen_free() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix undefined symbol due to builtin/module mixup (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add subwoofer quirks for Asus UX51VZH and N55SF (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Rename ASUS subwoofer quirks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix mic capture on Sony VAIO Pro 11 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add a headset quirk for Dell XPS 13 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix inconsistent Mic mute LED (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix leftover ifdef checks after modularization (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Improve loopback path lookups for AD1983 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix missing VREF setup for Mac Pro 1,1 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add missing mixer widget for AD1983 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Avoid invalid COEFs for ALC271X (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix silent output on Toshiba Satellite L40 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add mute LED support to Lenovo Ideapad (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/hdmi - allow PIN_OUT to be dynamically enabled (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Do not accept responses from non-existing codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/conexant - Disable static quirks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/conexant - Enable stereo mix input for CX20549 and CX20551 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/conexant - Add analog loopback mixing to CX20549 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/conexant - Apply cap of mix amp volume on CX20551 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/conexant - Use generic parser for HP 530 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/conexant - Use generic parser for Toshiba P105 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/conexant - Apply the amp cap override for CX20549 mixer (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/conexant - Re-implement OLPC XO workarounds via fixup (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Avoid unnecessary verbs write in snd_hda_activate_path() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add fixup name lookup for CX5051 and 5066 codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add headset mic detect quirks for another Dell laptop (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add parameter for dumping processing coefficients (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix silent output on MacBook Air 1,1 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Apply +5dB output amp on ASUS Zenbook UX31A (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add headset mic detect quirks for some Dell machines (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix endless vmaster hook call in thinkpad_helper.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - automute via amp instead of pinctl on some AIO models (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Apply codec power_filter to FG nodes (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Don't set indep_hp flag for old AD codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/hdmi - apply all Haswell fix-ups to Broadwell display codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add codec ID for Broadwell display audio codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add device ID for Broadwell display audio controller (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Split Thinkpad ACPI-related code (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Don't create duplicated ctls for loopback paths (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Correct AD1986A 3stack pin configs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add consistent tag names for firmware patch (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - firmware patch code cleanup (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Increment default stream numbers for AMD HDMI controllers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Minor code optimization for patch_realtek.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Disable Front HP jack detection on Gigabyte Z87X-UD3H (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable subwoofer on Dell Vostro 5460/5470 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix wrong inclusion in Thinkpad ACPI users (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Kill EXPORT_SYMBOL_HDA() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Explicitly keep codec powered up in hdmi_present_sense (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add Dell headset detection quirk for one more laptop model (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add Dell headset detection quirk for three laptop models (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add enable_msi=0 workaround for four HP machines (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Split verb definitions into sound/hda_verbs.h (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable stereo mix as default for AD and VIA codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Ignore small negative LPIB delay correction (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add missing initialization of aamix paths (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Allow capture-only configuration (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - skip depop delay before D3 for Haswell and Valleyview2 display codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - fixup ALC262 to skip depop delay before D3 on Intel BayleyBay (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - allow a codec to define its own depop delay time (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - fixup ALC262 to remove depop delay on Intel BayleyBay board (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Remove depop delay for suspend and resume if applicable (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add more codecs alias name for Dell (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Clean up async codec PM using standard async infrastructure (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - resume codecs in parallel (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - suspend codecs in parallel (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Disable runtime PM when EPSS is unavailable (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable runtime PM on Panther Point (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Refactor pm notification in hda_codec.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Bind with HDMI codec parser automatically (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Split the generic parser as an individual module (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add static DAC/pin mapping for AD1986A codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - One more Dell headset detection quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Fix IEC958 ctl indexes for some simple HDMI devices (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Mute all aamix inputs as default (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Another Dell headset detection quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - A Dell headset detection quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove quirk for Dell Vostro 131 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - fix mic issues on Acer Aspire E-572 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix silent output on MacBook Air 2,1 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix missing ELD info when using jackpoll_ms parameter (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - remove hp_automute_hook from alc283_fixup_chromebook (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Independent of model for HP (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix headset mic input after muted internal mic (Dell/Realtek) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Use always amps for auto-mute on AD1986A codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/analog - Handle inverted EAPD properly in vmaster hook (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Another fixup for ASUS laptop with ALC660 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix complete_all() timing in deferred probes (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix bad EAPD setup for HP machines with AD1984A (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix silent output on ASUS W7J laptop (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add mono speaker quirk for Dell Inspiron 5439 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add LFE chmap to ASUS ET2700 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Initialize missing bass speaker pin for ASUS AIO ET2700 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - limit mic boost on Asus UX31[A,E] (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Check leaf nodes to find aamix amps (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix hp-mic mode without VREF bits (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Create Headhpone Mic Jack Mode when really needed (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable mute/mic-mute LEDs for more Thinkpads with Conexant codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Drop bus->avoid_link_reset flag (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Set pcbeep amp for ALC668 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add support of ALC231 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Set current_headset_type to ALC_HEADSET_TYPE_ENUM (janitorial) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Provide missing pin configs for VAIO with ALC260 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add headset quirk for Dell Inspiron 3135 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix the headphone jack detection on Sony VAIO TX (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix missing bass speaker on ASUS N550 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix unbalanced runtime PM notification at resume (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - A casual Dell Headset quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Also enable mute/micmute LED control for "Lenovo dock" fixup (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Select FW_LOADER from CONFIG_SND_HDA_CODEC_CA0132_DSP (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable mute/mic-mute LEDs for more Thinkpads with Realtek codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - load EQ params into IDT codec on HP bNB13 systems (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Don't clear the power state at snd_hda_codec_reset() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Control EAPD for Master volume on Lenovo N100 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Don't turn off EAPD for headphone on Lenovo N100 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Check keep_eapd_on before inv_eapd (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix Line Out automute on Realtek multifunction jacks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Fix wrong baseline length in ATI/AMD generated ELD (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Skip out-of-range latency values in AMD ELD generator (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Add error-checking to some codec reads (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Use TFx channel positions instead of FxH (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Control SPDIF out pin on MacBookPro 11,2 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Add new codec ALC255/ALC3234 UAJ supported (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Apply MacBook fixups for CS4208 correctly (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Make fixup regs persist after resume (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda_intel: ratelimit "spurious response" message (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Get rid of AMD HDMI exception in hdmi_present_sense() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - block HDMI jack reports while repolling (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add a block_report flag to jacks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Delay HDMI presence reports while waiting for ELD information (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Another Dell headset quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add pincfg fixup for ASUS W5A (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add support for CX20952 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: HDA - Limit mic boost and add mute LED for an HP machine (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Make sure mute LEDs stay on during runtime suspend (Realtek) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Apply GPIO setup for MacBooks with CS4208 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Name Haswell HDMI controllers better (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable Thinkpad mute/micmute LEDs for Realtek (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda: add device IDs for AMD Evergreen/Northern Islands HDMI (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Introduce the bitmask for excluding output volume (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add sanity check of vmaster slave dB steps (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix possible zero-division (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable SPDIF for Acer TravelMate 6293 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - rename function not_share_unassigned_cvt() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Disallow unsupported 2ch remapping on NVIDIA codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - not choose assigned converters for unused pins of Valleyview (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add extra chmap for 2.1 outputs on ASUS laptops (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add a fixup for ASUS N76VZ (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Disable AA-loopback on ALC283 Chromebook (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove locally dead codes (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add a fallthru comment (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix possible NULL dereference in snd_hda_get_pin_label() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Sync EAPD with vmaster on AD1984A Thinkpads (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix silent headphone on Thinkpads with AD1984A codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add missing initial vmaster hook at build_controls callback (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Re-setup pin and infoframe on plug-in on all codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Disable ramp-up/down for non-PCM on AMD codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Add HBR bitstreaming support for ATI/AMD HDMI codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Add ELD emulation for ATI/AMD codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Add ATI/AMD multi-channel audio support (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Allow HDA patches to customize more operations (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Raise the delay for alc283_shutup (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix mute LED on HP laptops in runtime suspend (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add support of ALC285 / ALC293 codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add support of ALC255 codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove OOM message after input_allocate_device (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix unbalanced runtime PM refcount after S3/S4 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix typos in patch_hdmi.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add codec ID for Valleyview2 display codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move mutex from hda_eld to per_pin in HDMI codec driver (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix possible races in HDMI driver (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Treat zero connection as non-error (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add connection to thinkpad_acpi to control mute/micmute LEDs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add HDA_FIXUP_ACT_FREE action (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix inverted internal mic not indicated on some machines (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Sony VAIO Pro 13 (haswell) now has a working headset jack (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add a headset mic model for ALC269 and friends (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Update HD-Audio-Models.txt (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Update documentation for Realtek codecs model strings (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix microphone for Sony VAIO Pro 13 (Haswell model) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable surround speakers (when line out is also present) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add fixup for ASUS N56VZ (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Fix channel map switch not taking effect (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Tweak debug messages to be more useful (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Fix available channel maps missing from TLV (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Fix channel maps with less common speakers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Fix unused slots being enabled in manual and non-PCM mappings (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Fix programmed active channel count (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Fix incorrect default channel mapping for unusual CAs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Fix reported channel map on common default layouts (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix mono speakers and headset mic on Dell Vostro 5470 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix GPIO for Acer Aspire 3830TG (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Enable internal mic on a Thinkpad machine with ALC283 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix Internal Mic boost can't control with ALC283 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add fixup for MacBook Air 6,1 and 6,2 with CS4208 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: alsa : hda - not use assigned converters for all unused pins (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/ca0132: Staticize codec_send_command (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add CS4208 codec support for MacBook 6,1 and 6,2 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add Toshiba Satellite C870 to MSI blacklist (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - unmute pin amplifier in infoframe setup for Haswell (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - define is_haswell() to check if a display audio codec is Haswell (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add dock speaker support for ASUS TX300 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Re-setup HDMI pin and audio infoframe on stream switches (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - hdmi: Fallback to ALSA allocation when selecting CA (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add device entry and inactive flag to unsolicited response (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Haswell codec exposes device list/select info on pins (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add device list & select info of display pins to codec proc file (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - add flags and routines to get devices selection info for DP1.2 MST (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix NULL dereference with CONFIG_SND_DYNAMIC_MINORS=n (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add workarounds for pop-noise on Chromebook with ALC283 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix ALC283 headphone pop-noise better (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add inverted digital mic fixup for Acer Aspire One (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Limit internal mic boost for a few more Thinkpad machines (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix the order of a quirk table (janitorial) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix internal mic boost on three Thinkpad machines (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add a fixup for Gateway LT27 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Mute the right widget in auto_mute_via_amp mode (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Allow auto_mute_via_amp on bind mute controls (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix missing mute controls for CX5051 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add pinfix for LG LW25 laptop (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix jack gating when auto_{mute,mic} is suppressed (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix missing fixup for Mac Mini with STAC9221 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix invalid multi-io creation on VAIO-Z laptops (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove analog mic pin override from STAC9228 dell-bios quirk (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - jack poll once if jackpoll_interval==0 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Clearing jackpoll_interval avoid pending work (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - use azx_writew() for 16-bit length register (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix the noise after suspend on ALC283 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/realtek - Selectively call snd_hda_shutup_pins() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: replace strict_strto*() with kstrto*() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add snd_hda_jack_detect_state() helper function (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove NO_PRESENCE bit override for Dell 1420n Laptop (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix EAPD GPIO control for Sigmatel codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Headphone mic support for an Asus/Conexant device (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove static quirks for AD1986A codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Drop a few other static quirks for AD1986A (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Drop static quirk for Toshiba Satellite L40-10Q (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Drop static quirks for other AD1986A Samsung machines (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Convert static quirks for AD1986A Samsung laptops (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Convert the static quirk for Samsung Q1 Ultra (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove static quirks for AD1988 codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove static quirks for AD1981 and AD1983 codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove static quirks for AD1884/1984 & variants (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Remove static quirks for AD1882 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add fixup for HP TouchSmart with AD1984A codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add fixup for Lenovo Thinkpad with AD1984 codec (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add GPIO control to AD1884 HP fixup (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Move azx_first_init() into azx_probe_continue() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Apply a proper chmap for built-in 2.1 speakers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Add KEY_MICMUTE and enable it on Lenovo X220 (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Define more channel map positions (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Follow channel position definitions to alsa-lib mixer (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Add a documentation for channel mapping API (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: thinkpad-acpi: Add mute and mic-mute LED functionality (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Allow unlimited pins and converters in patch_hdmi.c (v2 - rh specific) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix default multichannel HDMI mapping regression (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda/hdmi - Work around "alsactl restore" errors (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Allow 3/5/7 channel map for HDMI/DP (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Fix channel maps for Nvidia 7x 8ch HDMI codecs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Provide the proper channel mapping for generic HDMI driver (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hda - Add standard channel maps (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: RH specific - define sound device registration order (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: RH specific KABI preservation for the added parent device mapping (hwdep) (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: RH specific KABI preservation - redo function prototypes (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: RH specific KABI preservation for the added channel mapping (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: seq: Deletion of unnecessary checks before the function call "snd_midi_event_free" (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: snd_pcm_oss_period_size: Use round{up,down}_pow_of_two() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Add support for wildcard msbits constraints (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Fix handling of multiple msbits constraints on the same runtime (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: core: Deletion of unnecessary checks before two function calls (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: Update the state properly before notification (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: Correct PCM BUG error message (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: control: Add missing kerneldoc comments to exported functions (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: Zero-clear reserved fields of PCM status ioctl in compat mode (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: Disable mmap for known broken archs (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: control: Allow to pass items zero to snd_ctl_enum_info() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: control: Warn if too long string is passed to snd_ctl_enum_info() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: subject: alsa: seq: Remove autoload locks in driver registration (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: seq: bind seq driver automatically (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: lto, sound: Fix export symbols for !CONFIG_MODULES (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: seq: Use atomic ops for autoload refcount (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Allow pass NULL dev for snd_pci_quirk_lookup() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: fix fifo_size frame calculation (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: snd_interval_step: fix changes of open intervals (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: snd_interval_step: drop the min parameter (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: core: fix buffer overflow in snd_info_get_line() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: control: Define SNDRV_CTL_TLV_OP_* constants (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: simplify snd_pcm_tstamp() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: seq: seq_memory.c: Fix closing brace followed by if (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: core: Use ktime_get_ts() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: seq: Continue broadcasting events to ports if one of them fails (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: seq: correctly detect input buffer overflow (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: core: Fix format string mismatch in seq_midi.c (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: 'BUG:' message unnecessarily triggers kerneloops (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: Use standard printk helpers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hwdep: Allow to assign the given parent (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: seq_oss: Use standard printk helpers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: seq: Use standard printk helpers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: core: sparse cleanups (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: trivial: sound seq ioctl dbg: print hexadecimal value padded with 0s (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: seq: Fix missing error handling in snd_seq_timer_open() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: timer: Use standard printk helpers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: oss: Use standard printk helpers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: hwdep: Use standard printk helpers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: rawmidi: Use standard printk helpers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: core: Use standard printk helpers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: pcm: channel mapping API implementation (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: control: Use standard printk helpers (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: seq_oss: Drop debug prints (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Mandate to pass a device pointer at card creation time (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Drop unused name argument in snd_register_oss_device() (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Add helper function for intersecting two rate masks (Jaroslav Kysela) [1069236] - [sound] alsa/hda/usb/core: Limit the fallback card id string size (Jaroslav Kysela) [1069236] - [sound] revert "alsa: usb-audio: Fix crash at re-preparing the PCM stream" (Jaroslav Kysela) [1069236]- [security] keys: close race between key lookup and freeing (Radomir Vrbovsky) [1179850] {CVE-2014-9529} - [usb] keyspan: fix typo causing GPF on open (Don Zickus) [1191745] - [usb] keyspan: fix NULL-pointer dereferences and memory leaks (Don Zickus) [1191745] - [s390] dasd: retry partition detection (Hendrik Brueckner) [1193614] - [fs] ext4: lock i_mutex when truncating orphan inodes (Lukas Czerner) [1193845] - [fs] ext4: fix reservation overflow in ext4_da_write_begin (Eric Sandeen) [1144588] - [fs] setfacl removes part of ACL when setting POSIX ACLs to Samba (Sachin Prabhu) [1122301] - [fs] xfs: unmount does not wait for shutdown during unmount (Brian Foster) [1171317] - [fs] xfs: remove wrappers around b_iodone (Brian Foster) [1171317] - [fs] xfs: return the buffer locked from xfs_buf_get_uncached (Brian Foster) [1171317] - [fs] xfs: clean up buffer locking helpers (Brian Foster) [1171317] - [fs] proc: task_mmu: bump kernelpagesize_kB to EOL in /proc/pid/numa_maps (Rafael Aquini) [1071986] - [fs] proc: task_mmu: show page size in /proc/pid/numa_maps (Rafael Aquini) [1071986] - [documentation] procfs: add /proc/pid/numa_maps interface explanation snippet (Rafael Aquini) [1071986] - [video] fb: reorder the lock sequence to fix potential dead lock (Dave Airlie) [1119728] - [video] fb: avoid possible deadlock caused by fb_set_suspend (Dave Airlie) [1119728] - [char] vt: attempt to fix con_set_unimap race (Dave Airlie) [1119728] - [char] vt: Don't ignore unbind errors in vt_unbind (Dave Airlie) [1119728] - [video] vt: Fix up unregistration of vt drivers (Dave Airlie) [1119728] - [char] vt: Fix replacement console check when unbinding (Dave Airlie) [1119728] - [video] fbcon: fix locking harder (Dave Airlie) [1119728] - [video] fb: Yet another band-aid for fixing lockdep mess (Dave Airlie) [1119728] - [video] fb: rework locking to fix lock ordering on takeover (Dave Airlie) [1119728] - [net] bridge: include in6.h in if_bridge.h for struct in6_addr (Jiri Benc) [1002037] - [net] inet: defines IPPROTO_* needed for module alias generation (Jiri Benc) [1002037] - [net] sync some IP headers with glibc (Jiri Benc) [1002037] - [net] rtnetlink: fix userspace API breakage for iproute2 < v3.9.0 (Michal Schmidt) [1102094] - [net] netlink: rate-limit leftover bytes warning and print process name (Michal Schmidt) [1102094] - [net] rtnetlink: Call nlmsg_parse() with correct header length (Michal Schmidt) [1102094] - [net] rtnetlink: fix rtnl_calcit() and rtnl_dump_ifinfo() (Michal Schmidt) [1102094] - [net] sched: make traffic control network namespace aware (Jiri Pirko) [1119542] - [netdrv] ppp: deflate: never return len larger than output buffer (Florian Westphal) [1178695] - [net] sctp: fix slab corruption from use after free on INIT collisions (Daniel Borkmann) [1135425] - [md] raid10: round up to bdev_logical_block_size in narrow_write_error (Jes Sorensen) [1194726] - [md] raid1: round up to bdev_logical_block_size in narrow_write_error (Jes Sorensen) [1194726] - [fs] nfs: fix race in filelayout commit path (Steve Dickson) [1184394] - [fs] nfs: fix BUG in filelayout_recover_commit_reqs (Steve Dickson) [1184394] - [fs] nfs: Remove assertion BUG_ON()s from the files and generic layout code (Steve Dickson) [1184394] - [fs] vfs: atomic f_pos access in llseek() (Zach Brown) [1151601] - [fs] vfs: atomic f_pos accesses as per POSIX (Zach Brown) [1151601] - [fs] jbd2: Fix oops in jbd2_journal_remove_journal_head() (Lukas Czerner) [914809] - [fs] jbd: Fix oops in journal_remove_journal_head() (Lukas Czerner) [914809] - [fs] gfs2: Allocate reservation during splice_write (Robert S Peterson) [1193559] - [fs] nfs: Be less aggressive about returning delegations for open files (Steve Dickson) [1145334] - [fs] nfs: NFSv4.1 data server timeo and retrans module parameters (Steve Dickson) [1175413] - [fs] nfs: don't do blind d_drop() in nfs_prime_dcache() (Steve Dickson) [1133136] - [fs] nfs: Convert a trivial printk into a dprintk (Steve Dickson) [1139229] - [fs] nfs: Avoid PUTROOTFH when managing leases (Benjamin Coddington) [1143013] - [fs] ext4: disable synchronous transaction batching if max_batch_time==0 (Eric Sandeen) [1100532] - [block] cfq-iosched: fix incorrect filing of rt async cfqq (Jeff Moyer) [1174629] - [netdrv] ixgbe: remove CIAA/D register reads from bad VF check (John Greene) [1156061] - [kbuild] nvme.h not in kernel-headers rpm (David Milburn) [1133703]- [fs] proc: task_mmu: add VmFlags field in smaps output (Rafael Aquini) [1190868] - [oprofile] Fix section mismatch warning (Jiri Olsa) [734360] - [oprofile] Fix crash when unloading module hr timer mode (Jiri Olsa) [734360] - [crypto] testmgr: mark rfc4106(gcm(aes)) as fips_allowed (Jarod Wilson) [1185395] - [crypto] Extending the RFC4106 AES-GCM test vectors (Jarod Wilson) [1185395] - [drm] radeon: fix hwmonitor initialization to set correct driver_data (Jerome Glisse) [1191746] - [x86] Update of TLB shootdown code for UV3 (Frank Ramsay) [1180151] - [block] fix non-atomic access to genhd inflight structures (Jeff Moyer) [1151109] - [kernel] freezer: fix thaw_process() vs refrigerator() race (Oleg Nesterov) [1144478] - [mm] mmap: change nr_ptes BUG_ON to WARN_ON (Oleg Nesterov) [1168780] - [mm] memcg: fix crash in re-entrant cgroup_clear_css_refs() (Johannes Weiner) [1168185] - [mm] swap: change swap_list_head to plist, add swap_avail_head (Jerome Marchand) [1103333] - [lib] plist: add plist_requeue (Jerome Marchand) [1103333] - [lib] plist: add helper functions (Jerome Marchand) [1103333] - [mm] swap: change swap_info singly-linked list to list_head (Jerome Marchand) [1103333] - [netdrv] net: bnx2x: fix sparse warnings (Michal Schmidt) [1148017] - [netdrv] net: bnx2x: avoid macro redefinition (Michal Schmidt) [1148017] - [netdrv] bnx2x: fix typos in "configure" (Michal Schmidt) [1148017] - [netdrv] bnx2x: Limit 1G link enforcement (Michal Schmidt) [1073820 1148017] - [netdrv] bnx2x: Use correct fastpath version for VFs (Michal Schmidt) [1148017] - [netdrv] bnx2x: Add a fallback multi-function mode NPAR1.5 (Michal Schmidt) [1148017] - [netdrv] bnx2x: new multi-function mode: UFP (Michal Schmidt) [1148017] - [netdrv] bnx2x: Changes with storage & MAC macros (Michal Schmidt) [1148017] - [netdrv] bnx2x: Fix link problems for 1G SFP RJ45 module (Michal Schmidt) [1148017] - [netdrv] bnx2x: Configure device endianity on driver load and reset endianity on removal (Michal Schmidt) [1148017] - [netdrv] bnx2x: prevent incorrect byte-swap in BE (Michal Schmidt) [1148017] - [netdrv] bnx2x: Fix sparse warnings (Michal Schmidt) [1148017] - [netdrv] bnx2x: Fix static checker warning regarding `txdata_ptr' (Michal Schmidt) [1148017] - [netdrv] bnx2x: Fix timesync endianity (Michal Schmidt) [1148017] - [netdrv] bnx2x: Be more forgiving toward SW GRO (Michal Schmidt) [1148017] - [netdrv] bnx2x: VF clean statistics (Michal Schmidt) [1148017] - [netdrv] bnx2x: Fix stop-on-error (Michal Schmidt) [1148017] - [netdrv] bnx2x: ethtool -d might cause timeout in log (Michal Schmidt) [1148017] - [netdrv] net: ethernet: broadcom: bnx2x: Remove redundant #ifdef (Michal Schmidt) [1148017] - [netdrv] bnx2x: FW assertion changes (Michal Schmidt) [1148017] - [netdrv] bnx2x: Make BP_VF more robust (Michal Schmidt) [1148017] - [netdrv] bnx2x: Prevent pci_disable_sriov with assigned VFs (Michal Schmidt) [1148017] - [netdrv] bnx2x: Prevent IOV if no entries in CAM (Michal Schmidt) [1148017] - [netdrv] bnx2x: Update driver version to 1.710.51 (Michal Schmidt) [1148017] - [netdrv] bnx2x: Code cleanup (Michal Schmidt) [1148017] - [netdrv] bnx2x: Add timestamping and PTP hardware clock support (Michal Schmidt) [1148017] - [netdrv] bnx2x: switch to new VLAN model (Michal Schmidt) [1148017] - [netdrv] bnx2x: Remove DEFINE_PCI_DEVICE_TABLE macro use (Michal Schmidt) [1148017] - [netdrv] bnx2x: fix crash during TSO tunneling (Michal Schmidt) [1148017] - [netdrv] bnx2x: fix possible panic under memory stress (Michal Schmidt) [1148017] - [netdrv] bnx2x: Fix the MSI flags (Michal Schmidt) [1148017] - [netdrv] bnx2x: Fail probe of VFs using an old incompatible driver (Michal Schmidt) [1148017] - [netdrv] bnx2x: enlarge minimal alignemnt of data offset (Michal Schmidt) [1148017] - [netdrv] bnx2x: VF can report link speed (Michal Schmidt) [1148017] - [netdrv] bnx2x: remove null test before kfree (Michal Schmidt) [1148017] - [netdrv] bnx2x: Replace ethtool_ops::{get, set}_rxfh_indir() with {get, set}_rxfh() (Michal Schmidt) [1148017] - [netdrv] bnx2x: Remove useless return variables (Michal Schmidt) [1148017] - [netdrv] bnx2x: Revert UNDI flushing mechanism (Michal Schmidt) [1102833 1130671 1148017] - [netdrv] bnx2x: Check for UNDI in uncommon branch (Michal Schmidt) [1148017] - [netdrv] bnx2x: Fix UNDI driver unload (Michal Schmidt) [1148017] - [netdrv] bnx2x: Add support for Multi-Function UNDI (Michal Schmidt) [1148017]- [powercap] rapl: add support for CPU model 0x3f (Steve Best) [1183185] - [x86] acpica: Disable _OSI Win8 for all except Intel Broadwell (Lenny Szubowicz) [1174502] - [netdrv] igb: Indicate failure on vf reset for empty mac address (Stefan Assmann) [1150341] - [netdrv] igb: enable internal PPS for the i210 (Stefan Assmann) [1150341] - [netdrv] igb: serialize access to the time sync interrupt registers (Stefan Assmann) [1150341] - [netdrv] igb: refactor time sync interrupt handling (Stefan Assmann) [1150341] - [netdrv] igb: convert to CYCLECOUNTER_MASK macro (Stefan Assmann) [1150341] - [netdrv] timecounter: provide a macro to initialize the cyclecounter mask field (Stefan Assmann) [1150341] - [netdrv] igb_ptp: Include clocksource.h to get CLOCKSOURCE_MASK (Stefan Assmann) [1150341] - [netdrv] igb: Remove unneeded FIXME (Stefan Assmann) [1150341] - [netdrv] fm10k/igb/ixgbe: Use dma_rmb on Rx descriptor reads (Stefan Assmann) [1150341] - [netdrv] ethernet/intel: Use eth_skb_pad and skb_put_padto helpers (Stefan Assmann) [1150341] - [netdrv] igb: Fixes needed for surprise removal support (Stefan Assmann) [1150341] - [netdrv] igb: bump version to 5.2.15 (Stefan Assmann) [1150341] - [netdrv] igb: remove blocking phy read from inside spinlock (Stefan Assmann) [1150341] - [netdrv] igb: add flags to set eee advertisement mode (Stefan Assmann) [1150341] - [netdrv] igb: flush when in xmit_more mode and under descriptor pressure (Stefan Assmann) [1150341] - [netdrv] net: Remove ndo_xmit_flush netdev operation, use signalling instead (Stefan Assmann) [1150341] - [netdrv] igb: Support netdev_ops->ndo_xmit_flush() (Stefan Assmann) [1150341] - [netdrv] igb: bump igb version to 5.2.13 (Stefan Assmann) [1150341] - [netdrv] igb: Add message when malformed packets detected by hw (Stefan Assmann) [1150341] - [netdrv] igb: remove unnecessary break after return (Stefan Assmann) [1150341] - [netdrv] igb: remove unnecessary break after goto (Stefan Assmann) [1150341] - [netdrv] igb: do a reset on SR-IOV re-init if device is down (Stefan Assmann) [1150341] - [netdrv] igb: workaround for i210 errata 25: Slow System Clock (Stefan Assmann) [1150341] - [netdrv] igb: bring link up when PHY is powered up (Stefan Assmann) [1150341] - [netdrv] igb: separate hardware setting from the set_ts_config ioctl (Stefan Assmann) [1150341] - [netdrv] igb: unhide invariant returns (Stefan Assmann) [1150341] - [netdrv] net: use ethtool_cmd_speed_set helper to set ethtool speed value (Stefan Assmann) [1150341] - [netdrv] net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate (Stefan Assmann) [1150341] - [netdrv] igb: add defaults for i210 TX/RX PBSIZE (Stefan Assmann) [1150341] - [netdrv] igb: use mac loopback for i354 backplane (Stefan Assmann) [1150341] - [netdrv] igb: rename igb_ptp_enable to igb_ptp_feature_enable (Stefan Assmann) [1150341] - [netdrv] ethtool: Replace ethtool_ops::{get, set}_rxfh_indir() with {get, set}_rxfh() (Stefan Assmann) [1150341] - [netdrv] igb: remove redundant PHY power down register write (Stefan Assmann) [1150341] - [netdrv] igb: whitespace fix (Stefan Assmann) [1150341] - [md] raid5: Fix livelock when array is both resyncing and degraded (Jes Sorensen) [1177889] - [md] raid5: fix another livelock caused by non-aligned writes (Jes Sorensen) [1187285] - [md] Check MD_RECOVERY_RUNNING as well as ->sync_thread (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] fix semicolon.cocci warnings (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid5: fetch_block must fetch all the blocks handle_stripe_dirtying wants (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] Always set RECOVERY_NEEDED when clearing RECOVERY_FROZEN (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] move EXPORT_SYMBOL to after function in md.c (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] discard PRINT_RAID_DEBUG ioctl (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] remove MD_BUG() (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] clean up 'exit' labels in md_ioctl() (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] remove unnecessary test for MD_MAJOR in md_ioctl() (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] don't allow "-sync" to be set for device in an active array (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] remove unwanted white space from md.c (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] don't start resync thread directly from md thread (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] Just use RCU when checking for overlap between arrays (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] avoid potential long delay under pers_lock (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] simplify export_array() (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] discard find_rdev_nr in favour of find_rdev_nr_rcu (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] use wait_event() to simplify md_super_wait() (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] be more relaxed about stopping an array which isn't started (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: process_checks doesn't use its return value (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid5: fix init_stripe() inconsistencies (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid10: another memory leak due to reshape (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] use set_bit/clear_bit instead of shift/mask for bi_flags changes (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: minor typos and reformatting (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] bitmap: always wait for writes on unplug (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid5: disable 'DISCARD' by default due to safety concerns (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: fix_read_error should act on all non-faulty devices (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: count resync requests in nr_pending (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: update next_resync under resync_lock (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: Don't use next_resync to determine how far resync has progressed (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: make sure resync waits for conflicting writes to complete (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: clean up request counts properly in close_sync() (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: be more cautious where we read-balance during resync (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: intialise start_next_window for READ case to avoid hang (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid10: always initialise ->state on newly allocated r10_bio (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid10: avoid memory leak on error path during reshape (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid10: Fix memory leak when raid10 reshape completes (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid5: avoid livelock caused by non-aligned writes (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] don't allow bitmap file to be added to raid0/linear (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid0: check for bitmap compatability when changing raid levels (Jes Sorensen) [1127962 1136260 1149935 1152914 1153341 1177913] - [md] Recovery speed is wrong (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] disable probing for md devices 512 and over (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] flush writes before starting a recovery (Jes Sorensen) [1132916 1136260 1149935 1152914 1153341 1177913] - [md] make sure GET_ARRAY_INFO ioctl reports correct "clean" status (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid5: speedup sync_request processing (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid5: deadlock between retry_aligned_read with barrier io (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid5: add an option to avoid copy data from bio to stripe cache (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] bitmap: remove confusing code from filemap_get_page (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid5: avoid release list until last reference of the stripe (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] md_clear_badblocks should return an error code on failure (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid56: Don't perform reads to support writes until stripe is ready (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] refuse to change shape of array if it is active but read-only (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: fix request counting bug in new 'barrier' code (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913] - [md] raid1: Rewrite the implementation of iobarrier (Jes Sorensen) [1136260 1149935 1152914 1153341 1177913]- [char] raw: Return short read or 0 at end of a raw device, not EIO (Jeff Moyer) [1142314] - [kernel] sched: Fix clock_gettime(CLOCK_[PROCESS/THREAD]_CPUTIME_ID) monotonicity (Seth Jennings) [1140024] - [hid] trivial formatting fix (Don Zickus) [1072627] - [hid] don't Send Feature Reports on Interrupt Endpoint (Don Zickus) [1072627] - [x86] hyperv: Mark the Hyper-V clocksource as being continuous (Vitaly Kuznetsov) [1190699] - [hv] vss: Fast propagation of userspace communication failure (Vitaly Kuznetsov) [1190699] - [hv] vss: Introduce timeout for communication with userspace (Vitaly Kuznetsov) [1190699] - [hv] vmbus: Enable interrupt driven flow control (Vitaly Kuznetsov) [1190699] - [hv] vmbus: Cleanup vmbus_close_internal() (Vitaly Kuznetsov) [1190699] - [hv] vmbus: Fix a bug in vmbus_open() (Vitaly Kuznetsov) [1190699] - [hv] vmbus: Cleanup vmbus_establish_gpadl() (Vitaly Kuznetsov) [1190699] - [hv] vmbus: Cleanup vmbus_teardown_gpadl() (Vitaly Kuznetsov) [1190699] - [hv] vmbus: Cleanup vmbus_post_msg() (Vitaly Kuznetsov) [1190699] - [hv] make uuid_le const (Vitaly Kuznetsov) [1190699] - [hv] Remove unnecessary comparison of unsigned against 0 (Vitaly Kuznetsov) [1190699] - [hid] hyperv: make sure input buffer is big enough (Vitaly Kuznetsov) [1190699] - [hv] vmbus: Cleanup the packet send path (Vitaly Kuznetsov) [1190699] - [hv] Change variable type to bool (Vitaly Kuznetsov) [1190699] - [hid] hyperv: convert alloc+memcpy to memdup (Vitaly Kuznetsov) [1190699] - [hv] vmbus: introduce vmbus_acpi_remove (Vitaly Kuznetsov) [923184] - [hv] vmbus: Teardown synthetic interrupt controllers on module unload (Vitaly Kuznetsov) [923184] - [hv] vmbus: teardown hv_vmbus_con workqueue and vmbus_connection pages on shutdown (Vitaly Kuznetsov) [923184] - [hv] vmbus: avoid double kfree for device_obj (Vitaly Kuznetsov) [923184] - [hv] use correct order when freeing monitor_pages (Vitaly Kuznetsov) [923184] - [x86] hyperv: Fixup the damage caused by the irq cleanup (Vitaly Kuznetsov) [923184] - [x86] hyperv: Cleanup the irq mess (Vitaly Kuznetsov) [923184] - [net] Fix build failures due to ip_is_fragment() (Stefan Assmann) [1159149] - [netdrv] enic: fix rx napi poll return value (Stefan Assmann) [1159149] - [netdrv] enic: free all rq buffs when allocation fails (Stefan Assmann) [1159149] - [netdrv] net: ethernet: cisco: enic: enic_dev: Remove some unused functions (Stefan Assmann) [1159149] - [netdrv] enic: add stats for dma mapping error (Stefan Assmann) [1159149] - [netdrv] enic: check dma_mapping_error (Stefan Assmann) [1159149] - [netdrv] net: use DMA_x_DEVICE and dma_mapping_error with skb_frag_dma_map (Stefan Assmann) [1159149] - [netdrv] enic: convert to SKB paged frag API (Stefan Assmann) [1159149] - [netdrv] enic: make vnic_wq_buf doubly linked (Stefan Assmann) [1159149] - [netdrv] enic: use spin_lock(wq_lock) instead of spin_lock_irqsave(wq_lock) (Stefan Assmann) [1159149] - [netdrv] enic: support skb->xmit_more (Stefan Assmann) [1159149] - [netdrv] enic: fix work done in tx napi_poll (Stefan Assmann) [1159149] - [netdrv] enic: update desc properly in rx_copybreak (Stefan Assmann) [1159149] - [netdrv] enic: handle error condition properly in enic_rq_indicate_buf (Stefan Assmann) [1159149] - [netdrv] enic: Do not call napi_disable when preemption is disabled (Stefan Assmann) [1159149] - [netdrv] drivers/net: Convert remaining uses of pr_warning to pr_warn (Stefan Assmann) [1159149] - [netdrv] enic: implement rx_copybreak (Stefan Assmann) [1159149] - [netdrv] pci: Remove DEFINE_PCI_DEVICE_TABLE macro use (Stefan Assmann) [1159149] - [netdrv] enic: use pci_zalloc_consistent (Stefan Assmann) [1159149] - [netdrv] pci-dma-compat: add pci_zalloc_consistent helper (Stefan Assmann) [1159149] - [netdrv] enic: Add ethtool support to show classifier filters added by the driver (Stefan Assmann) [1159149] - [netdrv] enic: fix return values in enic_set_coalesce (Stefan Assmann) [1159149] - [netdrv] enic: do tx cleanup in napi poll (Stefan Assmann) [1159149] - [netdrv] enic: add low latency socket busy_poll support (Stefan Assmann) [1159149] - [netdrv] enic: fix lockdep around devcmd_lock (Stefan Assmann) [1159149] - [netdrv] enic: devcmd for adding IP 5 tuple hardware filters (Stefan Assmann) [1159149] - [net] core: introduce skb_flow_dissect() (Stefan Assmann) [1159149] - [netdrv] enic: fix return value in _vnic_dev_cmd (Stefan Assmann) [1159149] - [netdrv] net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate (Stefan Assmann) [1159149] - [netdrv] enic: convert to hw_features (Stefan Assmann) [1159149] - [scsi] qla2xxx: Update the driver version to 8.07.00.16.06.7-k (Chad Dupuis) [1147534] - [scsi] qla2xxx: Fix sparse warning in qla_iocb.c file (Chad Dupuis) [1147534] - [scsi] qla2xxx: Move warning message to debug level (Chad Dupuis) [1147534] - [scsi] qla2xxx: Fail adapter initialization on load ram failure (Chad Dupuis) [1147534] - [scsi] qla2xxx: Disable PCI device in shutdown handler (Chad Dupuis) [1147534] - [scsi] qla2xxx: Mark port lost when we receive an RSCN for it (Chad Dupuis) [1147534] - [scsi] qla2xxx: Restore WWPN in case of Loop Dead (Chad Dupuis) [1147534] - [scsi] qla2xxx: Honor FCP_RSP retry delay timer field (Chad Dupuis) [1147534] - [scsi] qla2xxx: Add missing ISP27xx checks to optrom code (Chad Dupuis) [1147534] - [scsi] qla2xxx: Force use of mailbox interface for flash access commands for ISP27xx (Chad Dupuis) [1147534] - [scsi] qla2xxx: Free sysfs attributes for ISP27xx (Chad Dupuis) [1147534] - [scsi] qla2xxx: Disable laser for ISP2031 while unloading driver (Chad Dupuis) [1147534] - [scsi] qla2xxx: Enable diagnostic port using NVRAM parameters (Chad Dupuis) [1147534] - [scsi] qla2xxx: Declaration error cause stack corruption (Chad Dupuis) [1147534] - [scsi] qla2xxx: Add fix in driver unload for pending activity (Chad Dupuis) [1147534] - [scsi] qla2xxx: Fix driver version string message (Chad Dupuis) [1147534] - [scsi] qla2xxx: Add diagnostic port functionality (Chad Dupuis) [1147534] - [scsi] qla2xxx: Add FA-WWN functionality (Chad Dupuis) [1147534] - [scsi] qla2xxx: Add FDMI-2 functionality (Chad Dupuis) [1147534] - [scsi] qla2xxx: ISPFx00 unexpected resets during adapter boot sequence (Chad Dupuis) [1147534] - [scsi] qla2xxx: Incorrect linked list semantic in qlafx00_get_fcport() (Chad Dupuis) [1147534] - [scsi] qla2xxx: Incorrect debug level on mailbox command print 0x1111 (Chad Dupuis) [1147534] - [scsi] qla2xxx: ISPFX00 avoid writing semaphore register in request_irqs() (Chad Dupuis) [1147534] - [scsi] qla2xxx: Fix potential return count bug in qla2xxx_get_vpd_field() (Chad Dupuis) [1147534] - [scsi] qla2xxx: ISP27xx fwdump template error print simplification (Chad Dupuis) [1147534] - [scsi] qla2xxx: ISP25xx multiqueue shadow register crash fix (Chad Dupuis) [1147534] - [scsi] qla2xxx: Add endianizer to max_payload_size modifier (Chad Dupuis) [1147534] - [scsi] qla2xxx: Enable fast flash access for ISP83xx (Chad Dupuis) [1147534] - [scsi] qla2xxx: Add ISP27xx fwdump template entry T275 (insert buffer) (Chad Dupuis) [1147534] - [scsi] qla2xxx: ISP27xx fwdump template fix insertbuf() routine (Chad Dupuis) [1147534] - [scsi] qla2xxx: ISP27xx fwdump template remove high frequency debug logs (Chad Dupuis) [1147534] - [scsi] qla2xxx: ISP27xx optimize fwdump entry table lookup (Chad Dupuis) [1147534] - [scsi] qla2xxx: ISP27xx add tests for incomplete template (Chad Dupuis) [1147534] - [scsi] qla2xxx: Use dma_zalloc_coherent (Chad Dupuis) [1147534] - [scsi] qla2xxx: Restrict max_lun to 16-bit for older HBAs (Chad Dupuis) [1147534] - [scsi] qla2xxx: fix incorrect debug printk (Chad Dupuis) [1147534] - [scsi] qla2xxx: ISP27xx queue index shadow registers (Chad Dupuis) [1147534] - [scsi] qla2xxx: ISP27xx firmware dump template spec updates (including T274) (Chad Dupuis) [1147534] - [scsi] qla2xxx: Update entry type 270 to match spec update (Chad Dupuis) [1147534] - [scsi] qla2xxx: Correction to ISP27xx template entry types 256 and 258 (Chad Dupuis) [1147534] - [scsi] qla2xxx: Add pci device id 0x2271 (Chad Dupuis) [1147534] - [scsi] qla2xxx: Correct ISP83xx/ISP27xx mislogic in setting out_mb in qla25xx_init_req_que() (Chad Dupuis) [1147534] - [scsi] qla2xxx: Allow ISP83XX and ISP27XX both to write req_q_out register (Chad Dupuis) [1147534] - [scsi] qla2xxx: Correct operations for ISP27xx template types 270 and 271 (Chad Dupuis) [1147534] - [scsi] qla2xxx: Fix build errors related to invalid print fields on some architectures (Chad Dupuis) [1147534] - [scsi] qla2xxx: Correct the port no assignment for ISP82XX (Chad Dupuis) [1147534] - [scsi] qla2xxx: Add support for ISP2071 (Chad Dupuis) [1147534] - [scsi] pm8001: Update nvmd response data to request buffer (Rich Bono) [1168386] - [scsi] pm8001: fix pm8001_store_update_fw (Rich Bono) [1168386] - [scsi] pm8001: Fix erratic calculation in update_flash (Rich Bono) [1168386] - [scsi] pm8001: Fix invalid return when request_irq() failed (Rich Bono) [1168386] - [scsi] pm8001: fix a memory leak in nvmd_resp (Rich Bono) [1168386] - [scsi] pm8001: fix update_flash (Rich Bono) [1168386] - [scsi] pm8001: fix a memory leak in flash_update (Rich Bono) [1168386] - [scsi] pm8001: Cleaning up uninitialized variables (Rich Bono) [1168386] - [scsi] pm8001: Fix to remove null pointer checks that could never happen (Rich Bono) [1168386] - [scsi] pm8001: more fixes to honor return value (Rich Bono) [1168386] - [scsi] pm8001: add a new spinlock to protect the CCB (Rich Bono) [1168386] - [scsi] pm8001: honor return value (Rich Bono) [1168386] - [scsi] pm8001: clean bitmap management functions (Rich Bono) [1168386] - [scsi] pm8001: Fix hibernation issue (Rich Bono) [1168386] - [scsi] drivers/scsi/pm8001/pm8001_ctl.c: avoid world-writable sysfs files (Rich Bono) [1168386] - [scsi] pm80xx: fix problem of pm8001_work_fn reseting incorrect phy device (Rich Bono) [1168386] - [scsi] pm80xx: no need for tag allocation when issuing the command of unregistering device (Rich Bono) [1168386] - [scsi] pm80xx: Enable BAR shift to avoid BIOS conflict with MPI space for ATTO pm8001 based HBAs (Rich Bono) [1168386] - [scsi] pm80xx: Read saved WWN from NVMD for ATTO pm8001 based HBAs (Rich Bono) [1168386] - [scsi] pm8001: remove unnecessary pci_set_drvdata() (Rich Bono) [1168386]- [perf] Pass protection and flags bits through mmap2 interface (Jiri Olsa) [1188336] - [perf] Fix up MMAP2 buffer space reservation (Jiri Olsa) [1188336] - [perf] scripting perl: Force to use stdbool (Jiri Olsa) [1188336] - [perf] symbols: Get kernel start address by symbol name (Jiri Olsa) [1188336] - [perf] tools: Fix segfault in cumulative.callchain report (Jiri Olsa) [1188336] - [perf] tests: Add test for closing dso objects on EMFILE error (Jiri Olsa) [1188336] - [perf] tests: Add test for caching dso file descriptors (Jiri Olsa) [1188336] - [perf] tests: Allow reuse of test_file function (Jiri Olsa) [1188336] - [perf] tests: Spawn child for each test (Jiri Olsa) [1188336] - [perf] tools: Add dso__data_* interface descriptons (Jiri Olsa) [1188336] - [perf] tools: Allow to close dso fd in case of open failure (Jiri Olsa) [1188336] - [perf] tools: Add file size check and factor dso__data_read_offset (Jiri Olsa) [1188336] - [perf] tools: Cache dso data file descriptor (Jiri Olsa) [1188336] - [perf] tools: Add global count of opened dso objects (Jiri Olsa) [1188336] - [perf] tools: Add global list of opened dso objects (Jiri Olsa) [1188336] - [perf] tools: Add data_fd into dso object (Jiri Olsa) [1188336] - [perf] tools: Separate dso data related variables (Jiri Olsa) [1188336] - [perf] tools: Cache register accesses for unwind processing (Jiri Olsa) [1188336] - [perf] record: Fix to honor user freq/interval properly (Jiri Olsa) [1188336] - [perf] timechart: Reflow documentation (Jiri Olsa) [1188336] - [perf] probe: Improve error messages in --line option (Jiri Olsa) [1188336] - [perf] probe: Improve an error message of perf probe --vars mode (Jiri Olsa) [1188336] - [perf] probe: Show error code and description in verbose mode (Jiri Olsa) [1188336] - [perf] probe: Improve error message for unknown member of data structure (Jiri Olsa) [1188336] - [perf] tests: Show the inner make output when an error happens (Jiri Olsa) [1188336] - [perf] tools: Emit more precise message for missing glibc static library (Jiri Olsa) [1188336] - [perf] tools: Add dcacheline sort (Jiri Olsa) [1188336] - [perf] tools: Add support to dynamically get cacheline size (Jiri Olsa) [1188336] - [perf] tools: Add cpumode to struct hist_entry (Jiri Olsa) [1188336] - [perf] report: Add mem-mode documentation to report command (Jiri Olsa) [1188336] - [perf] revert "Disable PERF_RECORD_MMAP2 support" (Jiri Olsa) [1188336] - [perf] tools: Update mmap2 interface with protection and flag bits (Jiri Olsa) [1188336] - [perf] script/python: Print array argument as string (Jiri Olsa) [1188336] - [perf] tools: Prettify the tags/TAGS/cscope targets output (Jiri Olsa) [1188336] - [perf] tools: Fix pipe check regression in attr event callback (Jiri Olsa) [1188336] - [perf] tools: Added support for __get_bitmask() macro (Jiri Olsa) [1188336] - [perf] tools: Add options to function plugin (Jiri Olsa) [1188336] - [perf] tools: Add options to plugins (Jiri Olsa) [1188336] - [perf] tools: Add flag to not load event plugins (Jiri Olsa) [1188336] - [perf] tools: Fix 'make help' message error (Jiri Olsa) [1188336] - [perf] record: Fix poll return value propagation (Jiri Olsa) [1188336] - [perf] tools: Move elide bool into perf_hpp_fmt struct (Jiri Olsa) [1188336] - [perf] tools: Remove elide setup for SORT_MODE__MEMORY mode (Jiri Olsa) [1188336] - [perf] tools: Fix "==" into "=" in ui_browser__warning assignment (Jiri Olsa) [1188336] - [perf] tools: Allow overriding sysfs and proc finding with env var (Jiri Olsa) [1188336] - [perf] tools: Consider header files outside perf directory in tags target (Jiri Olsa) [1188336] - [perf] tools: Add warning when disabling perl scripting support due to missing devel files (Jiri Olsa) [1188336] - [perf] trace: Warn the user when not available (Jiri Olsa) [1188336] - [perf] tests: Add a test case for cumulating callchains (Jiri Olsa) [1188336] - [perf] tests: Define and use symbolic names for fake symbols (Jiri Olsa) [1188336] - [perf] tools: Reset output/sort order to default (Jiri Olsa) [1188336] - [perf] ui/gtk: Fix callchain display (Jiri Olsa) [1188336] - [perf] ui/stdio: Fix invalid percentage value of cumulated hist entries (Jiri Olsa) [1188336] - [perf] tools: Enable --children option by default (Jiri Olsa) [1188336] - [perf] top: Add top.children config option (Jiri Olsa) [1188336] - [perf] top: Add --children option (Jiri Olsa) [1188336] - [perf] top: Convert to hist_entry_iter (Jiri Olsa) [1188336] - [perf] tools: Add callback function to hist_entry_iter (Jiri Olsa) [1188336] - [perf] tools: Do not auto-remove Children column if --fields given (Jiri Olsa) [1188336] - [perf] report: Add report.children config option (Jiri Olsa) [1188336] - [perf] report: Add --children option (Jiri Olsa) [1188336] - [perf] tools: Add more hpp helper functions (Jiri Olsa) [1188336] - [perf] tools: Apply percent-limit to cumulative percentage (Jiri Olsa) [1188336] - [perf] ui/gtk: Add support to accumulated hist stat (Jiri Olsa) [1188336] - [perf] ui/browser: Add support to accumulated hist stat (Jiri Olsa) [1188336] - [perf] ui/hist: Add support to accumulated hist stat (Jiri Olsa) [1188336] - [perf] tools: Save callchain info for each cumulative entry (Jiri Olsa) [1188336] - [perf] callchain: Add callchain_cursor_snapshot() (Jiri Olsa) [1188336] - [perf] report: Cache cumulative callchains (Jiri Olsa) [1188336] - [perf] tools: Update cpumode for each cumulative entry (Jiri Olsa) [1188336] - [perf] hists: Accumulate hist entry stat based on the callchain (Jiri Olsa) [1188336] - [perf] hists: Check if accumulated when adding a hist entry (Jiri Olsa) [1188336] - [perf] hists: Add support for accumulated stat of hist entry (Jiri Olsa) [1188336] - [perf] tools: Introduce struct hist_entry_iter (Jiri Olsa) [1188336] - [perf] tools: Introduce hists__inc_nr_samples() (Jiri Olsa) [1188336] - [perf] tools: Add automatic remapping of Android libraries (Jiri Olsa) [1188336] - [perf] tools: Add cat as fallback pager (Jiri Olsa) [1188336] - [perf] tests: Add a testcase for histogram output sorting (Jiri Olsa) [1188336] - [perf] tests: Factor out print_hists_*() (Jiri Olsa) [1188336] - [perf] tools: Introduce reset_output_field() (Jiri Olsa) [1188336] - [perf] tools: Get rid of obsolete hist_entry__sort_list (Jiri Olsa) [1188336] - [perf] hists: Reset width of output fields with header length (Jiri Olsa) [1188336] - [perf] tools: Skip elided sort entries (Jiri Olsa) [1188336] - [perf] top: Add --fields option to specify output fields (Jiri Olsa) [1188336] - [perf] report/tui: Fix a bug when --fields/sort is given (Jiri Olsa) [1188336] - [perf] tools: Add ->sort() member to struct sort_entry (Jiri Olsa) [1188336] - [perf] report: Add -F option to specify output fields (Jiri Olsa) [1188336] - [perf] tools: Call perf_hpp__init() before setting up GUI browsers (Jiri Olsa) [1188336] - [perf] tools: Consolidate management of default sort orders (Jiri Olsa) [1188336] - [perf] tools: Allow hpp fields to be sort keys (Jiri Olsa) [1188336] - [perf] ui: Get rid of callback from __hpp__fmt() (Jiri Olsa) [1188336] - [perf] tools: Consolidate output field handling to hpp format routines (Jiri Olsa) [1188336] - [perf] tools: Use hpp formats to sort final output (Jiri Olsa) [1188336] - [perf] tools: Support event grouping in hpp ->sort() (Jiri Olsa) [1188336] - [perf] tools: Use hpp formats to sort hist entries (Jiri Olsa) [1188336] - [perf] tools: Convert sort entries to hpp formats (Jiri Olsa) [1188336] - [perf] tools: Add ->cmp(), ->collapse() and ->sort() to perf_hpp_fmt (Jiri Olsa) [1188336] - [perf] tools: Add libdw DWARF post unwind support for ARM (Jiri Olsa) [1188336] - [perf] tests: Add dwarf unwind test on ARM (Jiri Olsa) [1188336] - [perf] tests: Introduce perf_regs_load function on ARM (Jiri Olsa) [1188336] - [perf] tools: Consolidate types.h for ARM and ARM64 (Jiri Olsa) [1188336] - [perf] session: Fix possible null pointer dereference in session.c (Jiri Olsa) [1188336] - [perf] sched: Cleanup, remove unused variables in map_switch_event() (Jiri Olsa) [1188336] - [perf] sched: Remove nr_state_machine_bugs in perf latency (Jiri Olsa) [1188336] - [perf] tools: Remove usage of trace_sched_wakeup(.success) (Jiri Olsa) [1188336] - [perf] tools: Use tid for finding thread (Jiri Olsa) [1188336] - [perf] tools: Get rid of on_exit() feature test (Jiri Olsa) [1188336] - [perf] record: Propagate exit status of a command line workload (Jiri Olsa) [1188336] - [perf] tools: Clarify the output of perf sched map (Jiri Olsa) [1188336] - [perf] tools: Adapt the TASK_STATE_TO_CHAR_STR to new value in kernel space (Jiri Olsa) [1188336] - [perf] tools: Add missing event for perf sched record (Jiri Olsa) [1188336] - [perf] tools: Move ACCESS_ONCE from perf.h header (Jiri Olsa) [1188336] - [perf] tools: Move sys_perf_event_open function from perf.h (Jiri Olsa) [1188336] - [perf] tools: Move syscall and arch specific defines from perf.h (Jiri Olsa) [1188336] - [perf] tools: Move perf_call_graph_mode enum from perf.h (Jiri Olsa) [1188336] - [perf] tools: Move sample data structures from perf.h (Jiri Olsa) [1188336] - [perf] tools: Remove PR_TASK_PERF_EVENTS_* from perf.h (Jiri Olsa) [1188336] - [perf] tools: Remove asmlinkage define from perf.h (Jiri Olsa) [1188336] - [perf] tools: Remove min define from perf.h (Jiri Olsa) [1188336] - [perf] tools: Remove unlikely define from perf.h (Jiri Olsa) [1188336] - [perf] tools: Remove MAX_COUNTERS define from perf.h (Jiri Olsa) [1188336] - [perf] tools: Consolidate types.h (Jiri Olsa) [1188336] - [perf] tools: Unify export.h (Jiri Olsa) [1188336] - [perf] tools arm64: Wire up perf_regs and unwind support (Jiri Olsa) [1188336] - [perf] tools: Move u64_swap union (Jiri Olsa) [1188336] - [perf] tests: add a test of kvm-390: trace event (Jiri Olsa) [1188336] - [perf] tests: Add numeric identifier to evlist_test (Jiri Olsa) [1188336] - [perf] tools: Parse tracepoints with '-' in system name (Jiri Olsa) [1188336] - [perf] tools: Handle EINTR error for readn/writen (Jiri Olsa) [1188336] - [perf] tests: Add map groups sharing with thread object test (Jiri Olsa) [1188336] - [perf] tools: Share map_groups among threads of the same group (Jiri Olsa) [1188336] - [perf] tools: Reference count map_groups objects (Jiri Olsa) [1188336] - [perf] tools: Allocate thread map_groups's dynamically (Jiri Olsa) [1188336] - [perf] tests: Add thread maps lookup automated tests (Jiri Olsa) [1188336] - [perf] tests: Add a test case for hists filtering (Jiri Olsa) [1188336] - [perf] tests: Factor out fake_setup_machine() (Jiri Olsa) [1188336] - [perf] hists/tui: Count callchain rows separately (Jiri Olsa) [1188336] - [perf] top/tui: Update nr_entries properly after a filter is applied (Jiri Olsa) [1188336] - [perf] ui/tui: Rename hist_browser__update_nr_entries() (Jiri Olsa) [1188336] - [perf] ui/tui: Fix off-by-one in hist_browser__update_nr_entries() (Jiri Olsa) [1188336] - [perf] hists: Add missing update on filtered stats in hists__decay_entries() (Jiri Olsa) [1188336] - [perf] tools: Account entry stats when it's added to the output tree (Jiri Olsa) [1188336] - [perf] hists: Collapse expanded callchains after filter is applied (Jiri Olsa) [1188336] - [perf] hists: Add a couple of hists stat helper functions (Jiri Olsa) [1188336] - [perf] hists: Move column length calculation out of hists__inc_stats() (Jiri Olsa) [1188336] - [perf] hists: Rename hists__inc_stats() (Jiri Olsa) [1188336] - [perf] report: Count number of entries separately (Jiri Olsa) [1188336] - [perf] callchain: Add generic report parse callchain callback function (Jiri Olsa) [1188336] - [perf] kmem: Utilize the new generic cpunode_map (Jiri Olsa) [1188336] - [perf] tools: Use cpu/possible instead of cpu/kernel_max (Jiri Olsa) [1188336] - [perf] tools: Allow ability to map cpus to nodes easily (Jiri Olsa) [1188336] - [perf] tools: Fix pmu object compilation error (Jiri Olsa) [1188336] - [perf] sched: Introduce --list-cmds for use by scripts (Jiri Olsa) [1188336] - [perf] lock: Introduce --list-cmds for use by scripts (Jiri Olsa) [1188336] - [perf] mem: Introduce --list-cmds for use by scripts (Jiri Olsa) [1188336] - [perf] kmem: Introduce --list-cmds for use by scripts (Jiri Olsa) [1188336] - [perf] tools: Show absolute percentage by default (Jiri Olsa) [1188336] - [perf] ui/tui: Add 'F' hotkey to toggle percentage output (Jiri Olsa) [1188336] - [perf] tools: Add hist.percentage config option (Jiri Olsa) [1188336] - [perf] diff: Add --percentage option (Jiri Olsa) [1188336] - [perf] top: Add --percentage option (Jiri Olsa) [1188336] - [perf] report: Add --percentage option (Jiri Olsa) [1188336] - [perf] hists: Add support for showing relative percentage (Jiri Olsa) [1188336] - [perf] probe: Fix perf probe to find correct variable DIE (Jiri Olsa) [1188336] - [perf] probe: Fix a segfault if asked for variable it doesn't find (Jiri Olsa) [1188336] - [perf] tests x86: Fix stack map lookup in dwarf unwind test (Jiri Olsa) [1188336] - [perf] x86: Fix perf to use non-executable stack, again (Jiri Olsa) [1188336] - [perf] tools: Remove extra '/' character in events file path (Jiri Olsa) [1188336] - [perf] machine: Search for modules in s/lib/modules/s (Jiri Olsa) [1188336] - [perf] tests: Add static build make test (Jiri Olsa) [1188336] - [perf] tools: Fix bfd dependency libraries detection (Jiri Olsa) [1188336] - [perf] tools: Use LDFLAGS instead of ALL_LDFLAGS (Jiri Olsa) [1188336] - [perf] tools: Fix memory leak in pretty_print() (Jiri Olsa) [1188336] - [perf] tools: Fix backward compatibility macros for pevent filter enums (Jiri Olsa) [1188336] - [perf] tools: Disable libdw unwind for all but x86 arch (Jiri Olsa) [1188336] - [perf] tests x86: Fix memory leak in sample_ustack() (Jiri Olsa) [1188336] - [perf] tools: Improve error reporting (Jiri Olsa) [1188336] - [perf] tools: Adjust symbols in VDSO (Jiri Olsa) [1188336] - [perf] kvm: Fix 'Min time' counting in report command (Jiri Olsa) [1188336] - [perf] tools: Instead of redirecting flex output, use -o (Jiri Olsa) [1188336] - [perf] tools: Fix double free in perf test 21 (code-reading.c) (Jiri Olsa) [1188336] - [perf] stat: Initialize statistics correctly (Jiri Olsa) [1188336] - [perf] bench: Set more defaults in the 'numa' suite (Jiri Olsa) [1188336] - [perf] bench: Update manpage to mention numa and futex (Jiri Olsa) [1188336] - [perf] probe: Use dwarf_getcfi_elf() instead of dwarf_getcfi() (Jiri Olsa) [1188336] - [perf] probe: Fix to handle errors in line_range searching (Jiri Olsa) [1188336] - [perf] probe: Fix --line option behavior (Jiri Olsa) [1188336] - [perf] tools: Pick up libdw without explicit LIBDW_DIR (Jiri Olsa) [1188336] - [perf] callchains: Disable unwind libraries when libelf isn't found (Jiri Olsa) [1188336] - [perf] tools: Do not call warning() directly (Jiri Olsa) [1188336] - [perf] tools: Print event name when show warning if possible (Jiri Olsa) [1188336] - [perf] tools: test correct variable after allocation (Jiri Olsa) [1188336] - [perf] top: Fix documentation of invalid -s option (Jiri Olsa) [1188336] - [perf] tools: Allow building for tile (Jiri Olsa) [1188336] - [perf] tools: Remove unused simple_strtoul() function (Jiri Olsa) [1188336] - [perf] tools: Update some code references in design.txt (Jiri Olsa) [1188336] - [perf] tools: Fix __perf_evsel__open (Jiri Olsa) [1188336] - [perf] evsel: Update function names in debug messages (Jiri Olsa) [1188336] - [perf] tools: Remove thread__find_map function (Jiri Olsa) [1188336] - [perf] annotate: Print the evsel name in the stdio output (Jiri Olsa) [1188336] - [perf] report: Use ui__has_annotation() (Jiri Olsa) [1188336] - [perf] tools: Fix memory leak when synthesizing thread records (Jiri Olsa) [1188336] - [perf] tools: Use tid in mmap/mmap2 events to find maps (Jiri Olsa) [1188336] - [perf] report: Merge al->filtered with hist_entry->filtered (Jiri Olsa) [1188336] - [perf] symbols: Apply all filters to an addr_location (Jiri Olsa) [1188336] - [perf] symbols: Record the reason for filtering an address_location (Jiri Olsa) [1188336] - [perf] sched: Fixup header alignment in 'latency' output (Jiri Olsa) [1188336] - [perf] timechart: Fix off-by-one error in 'record' argv handling (Jiri Olsa) [1188336] - [perf] machine: Factor machine__find_thread to take tid argument (Jiri Olsa) [1188336] - [perf] tools: Speed up thread map generation (Jiri Olsa) [1188336] - [perf] kvm: introduce --list-cmds for use by scripts (Jiri Olsa) [1188336] - [perf] ui hists: Pass evsel to hpp->header/width functions explicitly (Jiri Olsa) [1188336] - [perf] symbols: Introduce thread__find_cpumode_addr_location (Jiri Olsa) [1188336] - [perf] session: Change header.misc dump from decimal to hex (Jiri Olsa) [1188336] - [perf] ui/tui: Reuse generic __hpp__fmt() code (Jiri Olsa) [1188336] - [perf] ui/hists: Pass struct hpp to print functions (Jiri Olsa) [1188336] - [perf] ui/gtk: Reuse generic __hpp__fmt() code (Jiri Olsa) [1188336] - [perf] ui/stdio: Fix invalid output on event group report (Jiri Olsa) [1188336] - [perf] tools: Fix synthesizing mmaps for threads (Jiri Olsa) [1188336] - [perf] probe: Clarify x86 register naming for perf probe (Jiri Olsa) [1188336] - [perf] mem: Clarify load-latency in documentation (Jiri Olsa) [1188336] - [perf] bench: Add futex-requeue microbenchmark (Jiri Olsa) [1188336] - [perf] bench: Add futex-wake microbenchmark (Jiri Olsa) [1188336] - [perf] bench: Add futex-hash microbenchmark (Jiri Olsa) [1188336] - [perf] tools, x86: Build perf on older user-space as well (Jiri Olsa) [1188336] - [perf] tools: Disable user-space callchain/stack dumps for function trace events (Jiri Olsa) [1188336] - [perf] symbols: Check compatible symtab type before loading dso (Jiri Olsa) [1188336] - [perf] symbols: Check return value of filename__read_debuglink() (Jiri Olsa) [1188336] - [perf] tests: Add NO_LIBDW_DWARF_UNWIND make test (Jiri Olsa) [1188336] - [perf] tools: Setup default dwarf post unwinder (Jiri Olsa) [1188336] - [perf] tools: Add libdw DWARF post unwind support (Jiri Olsa) [1188336] - [perf] tools: Add feature check for libdw dwarf unwind (Jiri Olsa) [1188336] - [perf] tools: Warn the user about how to enable libunwind support (Jiri Olsa) [1188336] - [perf] tools: Add variable display for VF make output (Jiri Olsa) [1188336] - [perf] tools: Factor features display code (Jiri Olsa) [1188336] - [perf] tools: Fix bison OUTPUT directories dependency (Jiri Olsa) [1188336] - [perf] tests: Add pmu-bison.o make test (Jiri Olsa) [1188336] - [perf] tests: Fix *.o make tests (Jiri Olsa) [1188336] - [perf] probe: Support distro-style debuginfo for uprobe (Jiri Olsa) [1188336] - [perf] probe: Allow to add events on the local functions (Jiri Olsa) [1188336] - [perf] probe: Show source-level or symbol-level info for uprobes (Jiri Olsa) [1188336] - [perf] probe: Show appropriate symbol for ref_reloc_sym based kprobes (Jiri Olsa) [1188336] - [perf] probe: Find given address from offline dwarf (Jiri Olsa) [1188336] - [perf] probe: Use ref_reloc_sym based address instead of the symbol name (Jiri Olsa) [1188336] - [perf] probe: Show in what binaries/modules probes are set (Jiri Olsa) [1188336] - [perf] probe: Unify show_available_functions for uprobes/kprobes (Jiri Olsa) [1188336] - [perf] probe: Replace line_list with intlist (Jiri Olsa) [1188336] - [perf] probe: Remove incorrect symbol check for --list (Jiri Olsa) [1188336] - [perf] probe: Fix to do exit call for symbol maps (Jiri Olsa) [1188336] - [perf] symbols: No need to export dso__first_symbol (Jiri Olsa) [1188336] - [perf] tools: Move hash.h header (Jiri Olsa) [1188336] - [perf] tools: Move fs.* to lib/api/fs/ (Jiri Olsa) [1188336] - [perf] callchain: Separate perf_reg_value function in perf_regs object (Jiri Olsa) [1188336] - [perf] callchain: Introduce HAVE_DWARF_UNWIND_SUPPORT macro (Jiri Olsa) [1188336] - [perf] callchain: Rename unwind__arch_reg_id into libunwind__arch_reg_id (Jiri Olsa) [1188336] - [perf] callchain: Separate libunwind code to special object (Jiri Olsa) [1188336] - [perf] callchain: Add mask into struct regs_dump (Jiri Olsa) [1188336] - [perf] tools: Remove __maybe_unused from dwarf unwind functions (Jiri Olsa) [1188336] - [perf] callchain: Do not report zero address in unwind (Jiri Olsa) [1188336] - [perf] tools: Fix dwarf unwind max_stack processing (Jiri Olsa) [1188336] - [perf] tests x86: Add dwarf unwind test (Jiri Olsa) [1188336] - [perf] tests x86: Introduce perf_regs_load function (Jiri Olsa) [1188336] - [perf] bench: Add feature that measures the performance of the arch/x86/lib/memcpy_64.S memcpy routines via 'perf bench mem' (Jiri Olsa) [1188336] - [perf] tools: Fix memory leak in event_format__print function (Jiri Olsa) [1188336] - [perf] record: Add readable output for callchain debug (Jiri Olsa) [1188336] - [perf] tools: Add call-graph option support into .perfconfig (Jiri Olsa) [1188336] - [perf] tools: Put proper period for for samples without PERIOD sample_type (Jiri Olsa) [1188336] - [perf] report: Remove some needless container_of usage (Jiri Olsa) [1188336] - [perf] tools: Shorten sample symbol resolving function signature (Jiri Olsa) [1188336] - [perf] tools: Shorten sample symbol resolving function signature (Jiri Olsa) [1188336] - [perf] report: Use al->cpumode where applicable (Jiri Olsa) [1188336] - [perf] trace: Add support for syscalls vs raw_syscalls - leftover (Jiri Olsa) [1188336] - [perf] Prevent false warning in perf_swevent_add (Jiri Olsa) [1188336] - [perf] Limit perf_event_attr::sample_period to 63 bits (Jiri Olsa) [1188336] - [perf] x86/intel: Fix Silvermont's event constraints (Jiri Olsa) [1188336] - [perf] Fix perf_event_init_context() (Jiri Olsa) [1188336] - [perf] Optimize group_sched_in() (Jiri Olsa) [1188336] - [perf] x86: Add a few more comments (Jiri Olsa) [1188336] - [perf] Remove redundant PMU assignment (Jiri Olsa) [1188336] - [perf] Fix prototype of find_pmu_context() (Jiri Olsa) [1188336] - [trace] ring-buffer: Fix infinite spin in reading buffer (Jiri Olsa) [1123102] - [trace] ring-buffer: Always reset iterator to reader page (Jiri Olsa) [1123102] - [trace] ring-buffer: Check if ring buffer iterator has stale data (Jiri Olsa) [1123102] - [x86] perf: Fix shared register mutual exclusion enforcement (Don Zickus) [1191741] - [x86] perf: Fix PCU filter setup for Sandy/Ivy/Haswell EP (Jiri Olsa) [1167862] - [x86] perf: Add missing cbox filter flags on IvyBridge-EP uncore driver (Jiri Olsa) [1167862] - [x86] perf: Register the PMU only if the uncore pci device exists (Jiri Olsa) [1167862] - [x86] perf: Add Haswell-EP uncore support (Jiri Olsa) [1167862] - [x86] perf: Fix section mismatch in split uncore driver (Jiri Olsa) [1167862] - [x86] perf: Rename IvyTown to IvyBridge-EP (Jiri Olsa) [1167862] - [x86] perf: Move SNB/IVB-EP specific code to seperate file (Jiri Olsa) [1167862] - [x86] perf: Move NHM/SNB/IVB specific code to seperate file (Jiri Olsa) [1167862] - [x86] perf: Declare some functions and variables (Jiri Olsa) [1167862] - [x86] perf: Fix SNB-EP/IVT Cbox filter mappings (Jiri Olsa) [1167862] - [x86] perf: Micro-optimize nhmex_rbox_get_constraint() (Jiri Olsa) [1167862] - [x86] perf: Fix leak in uncore_type_init failure paths (Jiri Olsa) [1167862] - [x86] perf: Add __init for uncore_cpumask_init() (Jiri Olsa) [1167862] - [x86] perf: Fix IVT/SNB-EP uncore CBOX NID filter table (Jiri Olsa) [1167862] - [x86] perf: move uncore_event_to_box() and uncore_pmu_to_box() (Jiri Olsa) [1167862] - [x86] perf: make hrtimer timeout configurable per box (Jiri Olsa) [1167862] - [x86] perf: add ability to customize pmu callbacks (Jiri Olsa) [1167862] - [x86] perf: fix initialization of cpumask (Jiri Olsa) [1167862] - [x86] perf: Add Ivy Bridge-EP uncore IRP box support (Jiri Olsa) [1167862] - [x86] perf: Add filter support for IvyBridge-EP QPI boxes (Jiri Olsa) [1167862] - [x86] perf: Don't use smp_processor_id() in validate_group() (Jiri Olsa) [1167862] - [x86] perf: Fix uncore PCI fixed counter handling (Jiri Olsa) [1167862] - [x86] perf: Convert kmalloc_node(...GFP_ZERO...) to kzalloc_node() (Jiri Olsa) [1167862] - [x86] perf: Enable EV_SEL_EXT bit for PCU (Jiri Olsa) [1167862] - [x86] perf: Add filter support for QPI boxes (Jiri Olsa) [1167862] - [x86] perf: Add auxiliary pci device support (Jiri Olsa) [1167862] - [x86] perf: Fix intel QPI uncore event definitions (Jiri Olsa) [1167862] - [x86] perf: Fix sparse warning (Jiri Olsa) [1167862] - [x86] perf: Prevent some shift wrapping bugs in the Intel uncore driver (Jiri Olsa) [1167862] - [x86] perf: Fix unintended variable name reuse (Jiri Olsa) [1167862] - [x86] perf: Add support for IvyBridge model 58 Uncore (Jiri Olsa) [1167862] - [x86] perf: Fix typo in perf_event_intel_uncore.c (Jiri Olsa) [1167862] - [x86] perf: Add Ivy Bridge-EP uncore support (Jiri Olsa) [1167862] - [x86] perf: Fix SNB-EP CBO and PCU uncore PMU filter management (Jiri Olsa) [1167862] - [x86] perf: Remove unused variable in nhmex_rbox_alter_er() (Jiri Olsa) [1167862] - [x86] perf: Handle pci_read_config_dword() errors (Jiri Olsa) [1167862] - [x86] perf: Fix typo in uncore_pmu_to_box (Jiri Olsa) [1167862] - [x86] perf: Add cpumask for uncore pmu (Jiri Olsa) [1167862] - [x86] perf: Uncore filter support for SandyBridge-EP (Jiri Olsa) [1167862] - [x86] perf: Fixes for Nehalem-EX uncore driver (Jiri Olsa) [1167862] - [x86] perf: Fix uncore_types_exit section mismatch (Jiri Olsa) [1167862]- [scsi] hpsa: Use local workqueues instead of system workqueues - part1 (Tomas Henzl) [1134115] - [scsi] lpfc: RHEL 6 lpfc driver release 10.2.8020.2 (Rob Evers) [1148957] - [scsi] lpfc 10.4.8000.0: Fix IP Reset processing - wait for RDY before proceeding (Rob Evers) [1148957] - [scsi] lpfc 10.4.8000.0: Fix discovery timeout during nameserver login (Rob Evers) [1148957] - [scsi] lpfc 10.4.8000.0: Fix quarantined XRI recovery qualifier state in link bounce (Rob Evers) [1148957] - [scsi] lpfc 10.4.8000.0: Fix race between LOGO/PLOGI handling causing NULL pointer (Rob Evers) [1148957] - [scsi] lpfc 10.4.8000.0: Fix locking issues with abort data paths (Rob Evers) [1148957] - [scsi] lpfc 10.4.8000.0: Fixed crash from page fault caused by use after rport delete (Rob Evers) [1148957] - [scsi] mpt2sas: Bump driver version to 20.100.00.00 (Tomas Henzl) [1059155] - [scsi] mpt2sas, mpt3sas: set cpu affinity for each MSIX vectors (Tomas Henzl) [1059155] - [scsi] mpt2sas, mpt3sas: Update attribution language to Avago (Tomas Henzl) [1059155] - [scsi] mpt2sas: map log_info value 0x0x32010081 to DID_RESET (Tomas Henzl) [1059155] - [scsi] mpt2sas, mpt3sas: fix upper bound for the module parameter max_sgl_entries (Tomas Henzl) [1059155] - [scsi] mpt2sas: MPI2 Rev BB (2.00.20) specification and 2.00.35 header files (Tomas Henzl) [1059155] - [scsi] mpt2sas: Bump driver version to 19.100.00.00 (Tomas Henzl) [1059155] - [scsi] mpt2sas, mpt3sas: Fail the host reset initiated due to discovery related I/O timeouts at driver load time (Tomas Henzl) [1059155] - [scsi] mpt2sas, mpt3sas: log exceeded temperature thresholds (Tomas Henzl) [1059155] - [scsi] mpt2sas: MPI2 Rev AA (2.00.19) specifications (Tomas Henzl) [1059155] - [scsi] mpt3sas: issue_reset is uninitialized (Tomas Henzl) [1059155] - [scsi] mpt2sas: issue_reset is uninitialized (Tomas Henzl) [1059155] - [scsi] mpt2sas: Revert " mpt2sas: Remove phys on topology change." (Tomas Henzl) [1059155] - [scsi] mpt2sas: fix ioctl in comment (Tomas Henzl) [1059155] - [scsi] mpt2sas: fix undefined reference to `__udivdi3' compilation errors (Tomas Henzl) [1059155] - [scsi] mpt3sas, mpt2sas: fix scsi_add_host error handling problems in _scsih_probe (Tomas Henzl) [1059155] - [scsi] mpt3sas: Bump mpt3sas driver version to 04.100.00.00 (Tomas Henzl) [1059155] - [scsi] mpt3sas: Added Reply Descriptor Post Queue (RDPQ) Array support (Tomas Henzl) [1059155] - [scsi] mpt3sas: Added OEM branding Strings (Tomas Henzl) [1059155] - [scsi] mpt3sas: Copyright in driver sources is updated for year the 2014 (Tomas Henzl) [1059155] - [scsi] mpt3sas: MPI2.5 Rev H (2.5.3) specifications (Tomas Henzl) [1059155] - [scsi] mpt3sas: Bump mpt3sas driver version to 03.100.00.00 (Tomas Henzl) [1059155] - [scsi] mpt3sas: Clear PFA Status on SGPIO when PFA Drive is Removed or Replaced (Tomas Henzl) [1059155] - [scsi] mpt3sas: MPI2.5 Rev G (2.5.2) specifications (Tomas Henzl) [1059155] - [scsi] mpt2sas: Bump mpt2sas driver version to 18.100.00.00 (Tomas Henzl) [1059155] - [scsi] mpt2sas: Get IOC_FACTS information using handshake protocol only after HBA card gets into READY or Operational state (Tomas Henzl) [1059155] - [scsi] mpt2sas: Added Reply Descriptor Post Queue (RDPQ) Array support (Tomas Henzl) [1059155] - [scsi] mpt2sas: Avoid type casting for direct I/O commands (Tomas Henzl) [1059155] - [scsi] mpt2sas: Bump mpt2sas driver version to 17.100.00.00 (Tomas Henzl) [1059155] - [scsi] mpt2sas: Clear PFA Status on SGPIO when PFA Drive is Removed or Replaced (Tomas Henzl) [1059155] - [scsi] mpt2sas: Copyright in driver sources is updated for year the 2014 (Tomas Henzl) [1059155] - [scsi] mpt2sas: MPI2 Rev Y (2.00.17) and Rev Z (2.00.18) specifications (Tomas Henzl) [1059155] - [scsi] mpt2sas: Added driver module parameter max_msix_vectors (Tomas Henzl) [1059155] - [scsi] mpt3sas: delay scsi_add_host call to work with scsi-mq (Tomas Henzl) [1059155] - [scsi] mpt2sas: delay scsi_add_host call to work with scsi-mq (Tomas Henzl) [1059155] - [scsi] mpt3sas: Rework the MSI-X grouping code (Tomas Henzl) [1059155] - [scsi] mpt2sas: Rework the MSI-X grouping code (Tomas Henzl) [1059155] - [scsi] mpt3sas: combine fw_event_work and its event_data (Tomas Henzl) [1059155] - [scsi] mpt3sas: correct scsi_target/device hostdata allocation (Tomas Henzl) [1059155] - [scsi] mpt2sas: annotate ioc->reply_post_host_index as __iomem (Tomas Henzl) [1059155] - [scsi] mpt2sas: combine fw_event_work and its event_data (Tomas Henzl) [1059155] - [scsi] mpt2sas: correct scsi_target/device hostdata allocation (Tomas Henzl) [1059155] - [scsi] mpt2sas: Add free smids to the head, not tail of list (Tomas Henzl) [1059155] - [scsi] mpt2sas: Remove use of DEF_SCSI_QCMD (Tomas Henzl) [1059155] - [scsi] mpt2sas: Remove uses of serial_number (Tomas Henzl) [1059155] - [scsi] mpt3sas: Remove use of DEF_SCSI_QCMD (Tomas Henzl) [1059155] - [scsi] mpt3sas: Remove uses of serial_number (Tomas Henzl) [1059155] - [scsi] mpt2sas: don't wank with fasync on ->release() (Tomas Henzl) [1059155] - [scsi] mpt2sas: Removed compiler warnnings when logging is disabled (Tomas Henzl) [1059155] - [scsi] mpt3sas: fix cleanup on controller resource mapping failure (Tomas Henzl) [1059155] - [scsi] mpt2sas, mpt3sas: cleanup forgotten pieces (Tomas Henzl) [1059155] - [scsi] mpt2sas: Adjust confusing if indentation (Tomas Henzl) [1059155] - [scsi] mpt2sas: Fix common misspellings (Tomas Henzl) [1059155] - [scsi] mpt2sas: fix typos concerning "management" (Tomas Henzl) [1059155] - [block] Fix dev_t minor allocation lifetime (Jeff Moyer) [1149890] - [scsi] virtio-scsi: fix various bad behavior on aborted requests (Fam Zheng) [1164749] - [mm] fix page list corruption from double LRU add during swapoff (Johannes Weiner) [1171492] - [x86] kvm: vmx: invalid host cr4 handling across vm entries (Jacob Tanenbaum) [1153327] {CVE-2014-3690} - [x86] uv_bau: Avoid referencing invalid data in ptc_seq_show (Frank Ramsay) [1166297] - [x86] uv_bau: Increase maximum CPUs per socket/hub (Frank Ramsay) [1166297] - [ata] libata-acpi: missing _SDD is not an error (David Milburn) [1171049] - [lib] crypto: Remove debug code from crct10dif (Neil Horman) [1154740] - [mfd] rtsx: Change default tx phase (Don Zickus) [806173] - [mfd] rtsx: Copyright modifications (Don Zickus) [806173] - [mfd] rtsx: Configure to enter a deeper power-saving mode in S3 (Don Zickus) [806173] - [mfd] rtsx: Move some actions from rtsx_pci_init_hw to individual extra_init_hw (Don Zickus) [806173] - [mfd] rtsx: Add shutdown callback in rtsx_pci_driver (Don Zickus) [806173] - [mfd] rtsx: Read vendor setting from config space (Don Zickus) [806173] - [mfd] rtsx: Implement driving adjustment to device-dependent callbacks (Don Zickus) [806173] - [mfd] rtsx: Add clock divider hook (Don Zickus) [806173] - [mfd] rtsx: Add output voltage switch hook (Don Zickus) [806173] - [mfd] ers: Add realtek pcie card reader driver (Don Zickus) [806173] - [netdrv] igbvf: Fix checksum error when using stacked vlan (Stefan Assmann) [1150342] - [netdrv] igbvf: Remove DEFINE_PCI_DEVICE_TABLE macro use (Stefan Assmann) [1150342] - [netdrv] igbvf: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate (Stefan Assmann) [1150342] - [netdrv] qlcnic: Fix return value in qlcnic_probe() (Chad Dupuis) [1148019] - [netdrv] qlcnic: Fix number of arguments in destroy tx context command (Chad Dupuis) [1148019] - [netdrv] qlcnic: Fix programming number of arguments in a command (Chad Dupuis) [1148019] - [netdrv] qlcnic: Fix ordering of stats in stats buffer (Chad Dupuis) [1148019] - [netdrv] qlcnic: Remove __QLCNIC_DEV_UP bit check to read TX queues statistics (Chad Dupuis) [1148019] - [netdrv] qlcnic: Fix memory corruption while reading stats using ethtool (Chad Dupuis) [1148019] - [netdrv] qlcnic: Use qlcnic_83xx_flash_read32() API instead of lockless version of the API (Chad Dupuis) [1148019] - [netdrv] qlcnic: Update version to 5.3.62 (Chad Dupuis) [1148019] - [netdrv] qlcnic: Add support to run firmware POST (Chad Dupuis) [1148019] - [netdrv] qlcnic: Use usleep_range() instead of msleep() for sleep less than 20ms (Chad Dupuis) [1148019] - [netdrv] qlcnic: Add support for 0x8830 device ID (Chad Dupuis) [1148019] - [netdrv] qlcnic: Update Link speed and port type info for 83xx adapter (Chad Dupuis) [1148019] - [netdrv] treewide: Fix typo in printk (Chad Dupuis) [1148019] - [netdrv] qlcnic: Fix endianess issue in firmware load from file operation (Chad Dupuis) [1148019] - [netdrv] qlcnic: Fix endianess issue in FW dump template header (Chad Dupuis) [1148019] - [netdrv] qlcnic: Fix flash access interface to application (Chad Dupuis) [1148019] - [netdrv] pci: Remove DEFINE_PCI_DEVICE_TABLE macro use (Chad Dupuis) [1148019] - [netdrv] net: ethernet: qlogic: qlcnic: Remove duplicate object file from Makefile (Chad Dupuis) [1148019] - [netdrv] qlcnic: Initialize dcbnl_ops before register_netdev (Chad Dupuis) [1148019] - [netdrv] qlcnic: Set driver version before registering netdev (Chad Dupuis) [1148019] - [netdrv] qlcnic: Fix update of ethtool stats (Chad Dupuis) [1148019] - [netdrv] qlcnic: Update version to 5.3.61 (Chad Dupuis) [1148019] - [netdrv] qlcnic: Enhance Tx timeout debug data collection (Chad Dupuis) [1148019] - [netdrv] qlcnic: Update version to 5.3.60 (Chad Dupuis) [1148019] - [netdrv] qlcnic: Optimize ring count validations (Chad Dupuis) [1148019] - [netdrv] qlcnic: Pre-allocate DMA buffer used for minidump collection (Chad Dupuis) [1148019] - [netdrv] qlcnic: remove duplicate QLC_83XX_GET_LSO_CAPABILITY define (Chad Dupuis) [1148019] - [netdrv] qlcnic: info leak in qlcnic_dcb_peer_app_info() (Chad Dupuis) [1148019] - [netdrv] 3c59x: Fix bad offset spec in skb_frag_dma_map (Neil Horman) [1119527 1159607] - [kernel] pid: Handle the exit of a multi-threaded init (Aristeu Rozanski) [1095884 1107216] - [kernel] pidns: fix free_pid() to handle the first fork failure (Aristeu Rozanski) [1095884 1107216] - [kernel] pidns: pidns_get() should check task_active_pid_ns() != NULL (Aristeu Rozanski) [1095884 1107216] - [kernel] pidns: Fix hang in zap_pid_ns_processes by sending a potentially extra wakeup (Aristeu Rozanski) [1095884 1107216] - [kernel] pid: reenable interrupts when alloc_pid() fails because init has exited (Aristeu Rozanski) [1095884 1107216] - [kernel] pidns: Stop pid allocation when init dies (Aristeu Rozanski) [1095884 1107216] - [kernel] pidns: Wait in zap_pid_ns_processes until pid_ns->nr_hashed == 1 (Aristeu Rozanski) [1095884 1107216] - [kernel] pidns: Dont allow new processes in a dead pid namespace (Aristeu Rozanski) [1095884 1107216] - [kernel] pidns: find_new_reaper() can no longer switch to init_pid_ns.child_reaper (Aristeu Rozanski) [1095884 1107216] - [kernel] pidns: guarantee that the pidns init will be the last pidns process reaped (Aristeu Rozanski) [1095884 1107216] - [kernel] pidns: make killed children autoreap (Aristeu Rozanski) [1095884 1107216] - [kernel] exit: __exit_signal: use thread_group_leader() consistently (Aristeu Rozanski) [1095884 1107216] - [kernel] exit: avoid sig->count in __exit_signal() to detect the group-dead case (Aristeu Rozanski) [1095884 1107216] - [kernel] futex: check PF_KTHREAD rather than !p->mm to filter out kthreads (Oleg Nesterov) [1123756] - [kernel] futex: Prevent attaching to kernel threads (Oleg Nesterov) [1123756] - [kernel] futex: futex_find_get_task remove credentails check (Oleg Nesterov) [1123756] - [kernel] clocksource: Make delta calculation a function (Prarit Bhargava) [1145751] - [kernel] clocksource: Move cycle_last validation to core code (Prarit Bhargava) [1145751] - [kernel] events: Check permission only for parent tracepoint event (Jiri Olsa) [1171943] - [kernel] fork: ERESTARTNOINTR seen from fork call in userspace (Oleg Nesterov) [990783] - [kernel] add panic_on_warn (Prarit Bhargava) [1174022]- [infiniband] iser: Use correct dma direction when unmapping SGs (Amir Vadai) [1059090] - [infiniband] iser: Release the iscsi endpoint if ep_disconnect wasn't called (Amir Vadai) [1059090] - [infiniband] iser: Fix memory regions possible leak (Amir Vadai) [1059090] - [infiniband] iser: Bump version to 1.5 (Amir Vadai) [1059090] - [infiniband] iser: Micro-optimize iser_handle_wc (Amir Vadai) [1059090] - [infiniband] iser: Micro-optimize iser logging (Amir Vadai) [1059090] - [infiniband] iser: Use more completion queues (Amir Vadai) [1059090] - [infiniband] iser: Remove redundant is_mr indicator (Amir Vadai) [1059090] - [infiniband] iser: Centralize memory region invalidation to a function (Amir Vadai) [1059090] - [infiniband] iser: Terminate connection before cleaning inflight tasks (Amir Vadai) [1059090] - [infiniband] iser: Fix race between iser connection teardown and scsi TMFs (Amir Vadai) [1059090] - [infiniband] iser: Fix possible NULL derefernce ib_conn->device in session_create (Amir Vadai) [1059090] - [infiniband] iser: Fix sparse warnings (Amir Vadai) [1059090] - [infiniband] iser: Fix possible SQ overflow (Amir Vadai) [1059090] - [infiniband] iser: Decrement CQ's active QPs accounting when QP creation fails (Amir Vadai) [1059090] - [infiniband] iser: Collapse cleanup and disconnect handlers (Amir Vadai) [1059090] - [infiniband] iser: Fix catastrophic error flow hang (Amir Vadai) [1059090] - [infiniband] iser: Re-adjust CQ and QP send ring sizes to HW limits (Amir Vadai) [1059090] - [infiniband] mlx5: Add Signature API additions (Amir Vadai) [1059090] - [infiniband] mlx5: Use extended internal signature layout (Amir Vadai) [1059090] - [infiniband] mlx5: Use enumerations for PI copy mask (Amir Vadai) [1059090] - [infiniband] mlx5: Copy DIF fields only when input and output space values match (Amir Vadai) [1059090] - [infiniband] iser: Centralize ib_sig_domain settings (Amir Vadai) [1059090] - [infiniband] iser: Set IP_CSUM as default guard type (Amir Vadai) [1059090] - [infiniband] iser: Remove redundant assignment (Amir Vadai) [1059090] - [infiniband] iser: Bump version, add maintainer (Amir Vadai) [1059090] - [infiniband] iser: Fix/add kernel-doc style description in iscsi_iser.c (Amir Vadai) [1059090] - [infiniband] iser: Add/Fix kernel doc style descriptions in iscsi_iser.h (Amir Vadai) [1059090] - [infiniband] iser: Nit - add space after __func__ in iser logging (Amir Vadai) [1059090] - [infiniband] iser: Change iscsi_conn_stop log level to info (Amir Vadai) [1059090] - [infiniband] iser: Suppress scsi command send completions (Amir Vadai) [1059090] - [infiniband] iser: Optimize completion polling (Amir Vadai) [1059090] - [infiniband] iser: Use beacon to indicate all completions were consumed (Amir Vadai) [1059090] - [infiniband] iser: Use single CQ for RX and TX (Amir Vadai) [1059090] - [infiniband] iser: Use internal polling budget to avoid possible live-lock (Amir Vadai) [1059090] - [infiniband] iser: Centralize iser completion contexts (Amir Vadai) [1059090] - [infiniband] iser: Use iser_warn instead of BUG_ON in iser_conn_release (Amir Vadai) [1059090] - [infiniband] iser: Signal iSCSI layer that transport is broken in error completions (Amir Vadai) [1059090] - [infiniband] iser: Protect tasks cleanup in case IB device was already released (Amir Vadai) [1059090] - [infiniband] iser: Unbind at conn_stop stage (Amir Vadai) [1059090] - [infiniband] iser: Don't bound release_work completions timeouts (Amir Vadai) [1059090] - [infiniband] iser: Fix DEVICE REMOVAL handling in the absence of iscsi daemon (Amir Vadai) [1059090] - [infiniband] iser: Extend iser_free_ib_conn_res() (Amir Vadai) [1059090] - [infiniband] iser: Remove unused variables and dead code (Amir Vadai) [1059090] - [infiniband] iser: Re-introduce ib_conn (Amir Vadai) [1059090] - [infiniband] iser: Rename ib_conn -> iser_conn (Amir Vadai) [1059090] - [infiniband] iser: Bump version to 1.4.1 (Amir Vadai) [1059090] - [infiniband] iser: Allow bind only when connection state is UP (Amir Vadai) [1059090] - [infiniband] iser: Fix RX/TX CQ resource leak on error flow (Amir Vadai) [1059090] - [infiniband] iser: Clarify a duplicate counters check (Amir Vadai) [1059090] - [infiniband] iser: Replace connection waitqueue with completion object (Amir Vadai) [1059090] - [infiniband] iser: Protect iser state machine with a mutex (Amir Vadai) [1059090] - [infiniband] iser: Remove redundant return code in iser_free_ib_conn_res() (Amir Vadai) [1059090] - [infiniband] iser: Seperate iser_conn and iscsi_endpoint storage space (Amir Vadai) [1059090] - [infiniband] iser: Fix responder resources advertisement (Amir Vadai) [1059090] - [infiniband] iser: Add TIMEWAIT_EXIT event handling (Amir Vadai) [1059090] - [infiniband] iser: Support IPv6 address family (Amir Vadai) [1059090] - [infiniband] iser: Adjust data_length to include protection information (Amir Vadai) [1059090] - [scsi] scsi_cmnd: use the scsi data buffer length to extract transfer size (Amir Vadai) [1059090] - [scsi] scsi_cmnd: Introduce scsi_transfer_length helper (Amir Vadai) [1059090] - [infiniband] iser: Bump version to 1.4 (Amir Vadai) [1059090] - [infiniband] iser: Add missing newlines to logging messages (Amir Vadai) [1059090] - [infiniband] iser: Fix a possible race in iser connection states transition (Amir Vadai) [1059090] - [infiniband] iser: Simplify connection management (Amir Vadai) [1059090] - [netdrv] r8169: update rtl8168g pcie ephy parameter (Ivan Vecera) [1186831] - [netdrv] r8169: Use eth_skb_pad function (Ivan Vecera) [1186831] - [net] Add functions for handling padding frame and adding to length (Ivan Vecera) [1186831] - [netdrv] r8169: disable rtl8168ep cmac engine (Ivan Vecera) [1186831] - [netdrv] r8169: prevent enable hardware tx/rx too early (Ivan Vecera) [1186831] - [netdrv] r8169: add support for RTL8168EP (Ivan Vecera) [1186831] - [netdrv] r8169: add support for Byte Queue Limits (Ivan Vecera) [1186831] - [netdrv] r8169: call "rtl8168_driver_start" "rtl8168_driver_stop" only when hardware dash function is enabled (Ivan Vecera) [1186831] - [netdrv] r8169: modify the behavior of function "rtl8168_oob_notify" (Ivan Vecera) [1186831] - [netdrv] r8169: change the name of function "r8168dp_check_dash" to "r8168_check_dash" (Ivan Vecera) [1186831] - [netdrv] r8169: change the name of function"rtl_w1w0_eri" (Ivan Vecera) [1186831] - [netdrv] r8169: for function "rtl_w1w0_phy" change its name and behavior (Ivan Vecera) [1186831] - [netdrv] r8169: add more chips to support magic packet v2 (Ivan Vecera) [1186831] - [netdrv] r8169: add support more chips to get mac address from backup mac address register (Ivan Vecera) [1186831] - [netdrv] r8169: add disable/enable RTL8411B pll function (Ivan Vecera) [1186831] - [netdrv] r8169: add disable/enable RTL8168G pll function (Ivan Vecera) [1186831] - [netdrv] r8169: change uppercase number to lowercase number (Ivan Vecera) [1186831] - [netdrv] r8169: fix an if condition (Ivan Vecera) [1186831] - [netdrv] r8169: adjust __rtl8169_set_features (Ivan Vecera) [1186831] - [netdrv] r8169: fix setting rx vlan (Ivan Vecera) [1186831] - [netdrv] r8169: fix the default setting of rx vlan (Ivan Vecera) [1186831] - [netdrv] r8169: add missing MODULE_FIRMWARE (Ivan Vecera) [1186831] - [netdrv] r8169: add support for RTL8168H and RTL8107E (Ivan Vecera) [1186831] - [netdrv] r8169: Remove DEFINE_PCI_DEVICE_TABLE macro use (Ivan Vecera) [1186831] - [netdrv] r8169: Enable RX_MULTI_EN for RTL_GIGA_MAC_VER_40 (Ivan Vecera) [1186831] - [netdrv] r8169: disable L23 (Ivan Vecera) [1186831] - [netdrv] r8169: support IPv6 (Ivan Vecera) [1186831] - [netdrv] r8169: use Giant Send (Ivan Vecera) [1186831] - [netdrv] r8169: split rtl8169_tso_csum (Ivan Vecera) [1186831] - [netdrv] r8169: get rid of SET_ETHTOOL_OPS (Ivan Vecera) [1186831] - [netdrv] r8169: fix the incorrect tx descriptor version (Ivan Vecera) [1186831] - [netdrv] r8169: Call dev_kfree_skby_any instead of dev_kfree_skb (Ivan Vecera) [1186831] - [netdrv] r8169: delete non-required instances of include (Ivan Vecera) [1186831] - [netdrv] r8169: check ALDPS bit and disable it if enabled for the 8168g (Ivan Vecera) [1186831] - [netdrv] r8169: remove unnecessary pci_set_drvdata() (Ivan Vecera) [1186831] - [netdrv] r8169: enforce RX_MULTI_EN for the 8168f (Ivan Vecera) [1186831] - [netdrv] r8169: remember WOL preferences on driver load (Ivan Vecera) [1186831] - [netdrv] r8169: fix invalid register dump (Ivan Vecera) [1186831] - [netdrv] r8169: remove unnecessary length check (Ivan Vecera) [1186831] - [netdrv] r8169: remove "PHY reset until link up" log spam (Ivan Vecera) [1186831] - [netdrv] r8169: fix lockdep warning when removing interface (Ivan Vecera) [1186831] - [netdrv] r8169: add a new chip for RTL8411 (Ivan Vecera) [1186831] - [netdrv] r8169: fix offloaded tx checksum for small packets (Ivan Vecera) [1186831] - [netdrv] r8169: fix 8168evl frame padding (Ivan Vecera) [1186831] - [netdrv] r8169: fix auto speed down issue (Ivan Vecera) [1186831] - [netdrv] r8169: add a new chip for RTL8106E (Ivan Vecera) [1186831] - [netdrv] r8169: adjust the flow of hw_start (Ivan Vecera) [1186831] - [netdrv] r8169: add a new chip for RTL8111G (Ivan Vecera) [1186831] - [netdrv] r8169: Update the RTL8111G parameters (Ivan Vecera) [1186831] - [netdrv] r8169: Modify the method for setting firmware (Ivan Vecera) [1186831] - [netdrv] r8169: Update PHY settings of RTL8111G (Ivan Vecera) [1186831] - [netdrv] r8169: Modify the mothod for PHY settings of RTL8111G (Ivan Vecera) [1186831] - [netdrv] r8169: Remove firmware code (Ivan Vecera) [1186831] - [netdrv] r8169: honor jumbo settings when chipset is requested to start (Ivan Vecera) [1186831] - [netdrv] r8169: fix vlan tag read ordering (Ivan Vecera) [1186831] - [netdrv] r8169: remove the obsolete and incorrect AMD workaround (Ivan Vecera) [1186831] - [netdrv] r8169: remove unneeded dirty_rx index (Ivan Vecera) [1186831] - [netdrv] r8169: workaround for missing extended GigaMAC registers (Ivan Vecera) [1186831] - [netdrv] r8169: remove __dev* attributes (Ivan Vecera) [1186831] - [netdrv] r8169: Drop tp arg from rtl8169_tx_vlan_tag() (Ivan Vecera) [1186831] - [netdrv] r8169: remove unused macros (Ivan Vecera) [1186831] - [netdrv] r8169: allow multicast packets on sub-8168f chipset (Ivan Vecera) [1186831] - [netdrv] r8169: Fix WoL on RTL8168d/8111d (Ivan Vecera) [1186831] - [netdrv] r8169: Kill SafeMtu macro (Ivan Vecera) [1186831] - [netdrv] r8169: use module_pci_driver macro (Ivan Vecera) [1186831] - [netdrv] r8169: Support the get_ts_info ethtool method (Ivan Vecera) [1186831] - [netdrv] r8169: enable transmit time stamping (Ivan Vecera) [1186831] - [netdrv] r8169: Support RX-FCS flag (Ivan Vecera) [1186831] - [netdrv] r8169: Support RX-ALL flag (Ivan Vecera) [1186831] - [netdrv] r8169: convert to hw_features (Ivan Vecera) [1186831] - [netdrv] r8169: convert to new VLAN model (Ivan Vecera) [1186831] - [netdrv] bnx2: Correctly receive full sized 802.1ad fragmes (Ivan Vecera) [1148014 1158668] - [net] add 802.1ad / 802.1ah / QinQ ethertypes (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Remove DEFINE_PCI_DEVICE_TABLE macro use (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Rebranding bnx2 driver (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Don't build unused suspend/resume functions not enabled (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Don't receive packets when the napi budget == 0 (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Call dev_kfree_skby_any instead of dev_kfree_skb (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Fix shutdown sequence (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Use pci_enable_msix_range() instead of pci_enable_msix() (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Make module parameters readable (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: delete non-required instances of include (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Update version to 2.2.5 (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Report MDI/MDIX status to ethtool (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Enable auto-mdix when autoneg is disabled (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Advertise nothing when speed is forced (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: calls skb_set_hash (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Add pci shutdown handler (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: remove __dev* attributes (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: set maximal number of default RSS queues (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Add support for ethtool --show-channels|--set-channels (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Remove unnecessary k.alloc/v.alloc OOM messages (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Support for byte queue limits (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: treewide use of RCU_INIT_POINTER (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: switch to build_skb() infrastructure (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: add skb frag size accessors (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: use DMA_x_DEVICE and dma_mapping_error with skb_frag_dma_map (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: don't request firmware when there's no userspace (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: convert to SKB paged frag API (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: convert to hw_features (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: remove some rcu sparse warnings (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Always set ETH_FLAG_TXVLAN (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: use vzalloc() (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Update bnx2 to use new vlan accleration (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Use netif_set_real_num_{rx,tx}_queues() (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: return operator cleanup (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: avoid some skb->ip_summed initializations (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: Add support for skb->rxhash (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: use the dma state API instead of the pci equivalents (Ivan Vecera) [1148014 1158668] - [netdrv] bnx2: remove HAVE_ leftovers (Ivan Vecera) [1148014 1158668] - [netdrv] be2net: set EQ DB clear-intr bit in be_open() (Ivan Vecera) [1123784] - [netdrv] 3c59x: avoid panic in boomerang_start_xmit when finding page address (Neil Horman) [1119527] - [edac] sb_edac: Fix discovery of top-of-low-memory for Haswell (Seth Jennings) [1158623] - [idle] intel_idle: support additional Broadwell model (Steve Best) [1166341] - [x86] minor cleanup of rh_check_supported() (Prarit Bhargava) [1136447]- [drm] fix fb-helper vs MST dangling connector ptrs v2 (Rob Clark) [1170251] - [drm] gf100-/gr: return non-fatal error code when fw not present (Rob Clark) [1170251] - [drm] radeon: make MMU_NOTIFIER optional (Rob Clark) [1170251] - [drm] upstream sync to v3.18 (Rob Clark) [1170251] - [drm] upstream sync to v3.17 (Rob Clark) [1170250] - [drm] upstream sync to v3.16 (Rob Clark) [1170249] - [drm] upstream sync to v3.15 (Rob Clark) [1170246] - [drm] backport: misc additional shims/stubs (Rob Clark) [1170246] - [drm] backport: shrinker2 (Rob Clark) [1170246] - [drm] backport: allow backport header to remap things (Rob Clark) [1170246] - [drm] backport: add private idr2 (Rob Clark) [1170246] - [kernel] makefile: add RHEL_DRM_* version trackers (Rob Clark) [1170246] - [mm] swap: export release_pages() (Rob Clark) [1170246] - [kernel] time: export nsec_to_jiffies (Rob Clark) [1170246] - [kernel] seqcount: backport __seqcount_init() (Rob Clark) [1170246] - [kernel] PTR_RET is now PTR_ERR_OR_ZERO (Rob Clark) [1170246] - [kernel] poll: add poll_requested_events() and poll_does_not_wait() functions (Rob Clark) [1170246] - [lib] acpi: add acpi_target_system_state() (Rob Clark) [1170246] - [lib] rbtree: fix rbtree_postorder_for_each_entry_safe() iterator (Rob Clark) [1170246] - [lib] rbtree: add rbtree_postorder_for_each_entry_safe() helper (Rob Clark) [1170246] - [lib] rbtree: add postorder iteration functions (Rob Clark) [1170246] - [lib] rbtree: add prio tree and interval tree tests (Rob Clark) [1170246] - [lib] rbtree: add RB_DECLARE_CALLBACKS() macro (Rob Clark) [1170246] - [lib] rbtree: remove prior augmented rbtree implementation (Rob Clark) [1170246] - [lib] rbtree: faster augmented rbtree manipulation (Rob Clark) [1170246] - [lib] rbtree: low level optimizations in rb_erase() (Rob Clark) [1170246] - [lib] rbtree: handle 1-child recoloring in rb_erase() instead of rb_erase_color() (Rob Clark) [1170246] - [lib] rbtree: place easiest case first in rb_erase() (Rob Clark) [1170246] - [lib] rbtree: add __rb_change_child() helper function (Rob Clark) [1170246] - [lib] rbtree: optimize fetching of sibling node (Rob Clark) [1170246] - [lib] rbtree: coding style adjustments (Rob Clark) [1170246] - [lib] rbtree: low level optimizations in __rb_erase_color() (Rob Clark) [1170246] - [lib] rbtree: optimize case selection logic in __rb_erase_color() (Rob Clark) [1170246] - [lib] rbtree: adjust node color in __rb_erase_color() only when necessary (Rob Clark) [1170246] - [lib] rbtree: low level optimizations in rb_insert_color() (Rob Clark) [1170246] - [lib] rbtree: adjust root color in rb_insert_color() only when necessary (Rob Clark) [1170246] - [lib] rbtree: break out of rb_insert_color loop after tree rotation (Rob Clark) [1170246] - [lib] rbtree: move some implementation details from rbtree.h to rbtree.c (Rob Clark) [1170246] - [lib] rbtree: empty nodes have no color (Rob Clark) [1170246] - [lib] rbtree: Export the augmented rbtree helper functions (Rob Clark) [1170246] - [lib] rbtree: Undo augmented trees performance damage and regression (Rob Clark) [1170246] - [lib] rbtree: Add support for augmented rbtrees (Rob Clark) [1170246] - [kernel] rcu: make SRCU usable in modules (Rob Clark) [1170246] - [kernel] lockdep: Silence warning if CONFIG_LOCKDEP isn't set (Rob Clark) [1170246] - [power] Add sysfs switch for disabling device run-time PM (Rob Clark) [1170246] - [pci] Add pci_ignore_hotplug() to ignore hotplug events for a device (Rob Clark) [1170246] - [lib] string: introduce memchr_inv() (Rob Clark) [1170246] - [mm] util: export __get_user_pages_fast() function (Rob Clark) [1170246] - [x86] quirks: Print the Intel graphics stolen memory range (Rob Clark) [1170246] - [x86] quirks: Add Intel graphics stolen memory quirk for gen2 platforms (Rob Clark) [1170246] - [x86] quirks: Add vfunc for Intel graphics stolen memory base address (Rob Clark) [1170246] - [x86] quirks: use gen6 stolen detection for VLV (Rob Clark) [1170246] - [x86] quirks: support GMS and GGMS changes on i915/bdw (Rob Clark) [1170246] - [x86] quirks: add early quirk for reserving Intel graphics stolen memory v5 (Rob Clark) [1170246] - [netdrv] forcedeth: call vlan_mode only if hw supports vlans (Ivan Vecera) [1190840] - [netdrv] forcedeth: Remove extra parens (Ivan Vecera) [1190840] - [netdrv] forcedeth: Remove DEFINE_PCI_DEVICE_TABLE macro use (Ivan Vecera) [1190840] - [netdrv] forcedeth: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate (Ivan Vecera) [1190840] - [netdrv] forcedeth: drivers/net/ethernet/nvidia/forcedeth.c: fix typo s/SUBSTRACT1/SUBTRACT1/ (Ivan Vecera) [1190840] - [netdrv] forcedeth: get rid of SET_ETHTOOL_OPS (Ivan Vecera) [1190840] - [netdrv] forcedeth: Call dev_kfree_skb_any instead of kfree_skb (Ivan Vecera) [1190840] - [netdrv] forcedeth: Use pci_enable_msix_range() instead of pci_enable_msix() (Ivan Vecera) [1190840] - [netdrv] forcedeth: Cleanup MSI-X to MSI to INTx fallback code (Ivan Vecera) [1190840] - [netdrv] forcedeth: Fix invalid errno reporting in nv_request_irq() (Ivan Vecera) [1190840] - [netdrv] forcedeth: delete non-required instances of include (Ivan Vecera) [1190840] - [netdrv] forcedeth: remove unnecessary pci_set_drvdata() (Ivan Vecera) [1190840] - [netdrv] forcedeth: Fix FSF address in file headers (Ivan Vecera) [1190840] - [netdrv] forcedeth: Use module_pci_driver to register driver (Ivan Vecera) [1190840] - [netdrv] forcedeth: Do a dma_mapping_error check after skb_frag_dma_map (Ivan Vecera) [1190840] - [netdrv] forcedeth: Remove unnecessary OOM messages after netdev_alloc_skb (Ivan Vecera) [1190840] - [netdrv] forcedeth: Fix WARNINGS that result when DMA mapping is not checked (Ivan Vecera) [1190840] - [netdrv] forcedeth: remove unnecessary NET_ADDR_RANDOM "bitclean" (Ivan Vecera) [1190840] - [netdrv] forcedeth: remove __dev* attributes (Ivan Vecera) [1190840] - [netdrv] forcedeth: prevent TX timeouts after reboot (Ivan Vecera) [1190840] - [netdrv] forcedeth: fix TX timeout caused by TX pause on down link (Ivan Vecera) [1190840] - [netdrv] forcedeth: fix buffer overflow (Ivan Vecera) [1190840] - [netdrv] forcedeth: advertise transmit time stamping (Ivan Vecera) [1190840] - [netdrv] forcedeth: spin_unlock_irq in interrupt handler fix (Ivan Vecera) [1190840] - [netdrv] forcedeth: Fix non-kernel-doc comments with kernel-doc start markers (Ivan Vecera) [1190840] - [netdrv] forcedeth: Fix (nearly-)kernel-doc comments for various functions (Ivan Vecera) [1190840] - [netdrv] forcedeth: add transmit timestamping support (Ivan Vecera) [1190840] - [netdrv] forcedeth: Remove all #inclusions of asm/system.h (Ivan Vecera) [1190840] - [netdrv] forcedeth: stop using net_device.{base_addr, irq} (Ivan Vecera) [1190840] - [netdrv] forcedeth: use eth_hw_addr_random() and reset addr_assign_type (Ivan Vecera) [1190840] - [netdrv] forcedeth: ethernet dev_alloc_skb to netdev_alloc_skb (Ivan Vecera) [1190840] - [netdrv] forcedeth: Fix bql support for forcedeath (Ivan Vecera) [1190840] - [netdrv] forcedeth: Support for byte queue limits (Ivan Vecera) [1190840] - [netdrv] forcedeth: stats updated with a deferrable timer (Ivan Vecera) [1190840] - [netdrv] forcedeth: allow to silence "TX timeout" debug messages (Ivan Vecera) [1190840] - [netdrv] forcedeth: Add messages to indicate using MSI or MSI-X (Ivan Vecera) [1190840] - [netdrv] forcedeth: Add internal loopback support for forcedeth NICs (Ivan Vecera) [1190840] - [netdrv] forcedeth: sweep the floors and convert some .get_drvinfo routines to strlcpy (Ivan Vecera) [1190840] - [netdrv] forcedeth: fix a few sparse warnings (variable shadowing) (Ivan Vecera) [1190840] - [netdrv] forcedeth: Acknowledge only interrupts that are being processed (Ivan Vecera) [1190840] - [netdrv] forcedeth: add skb frag size accessors (Ivan Vecera) [1190840] - [netdrv] forcedeth: Remove unnecessary driver assignments of ethtool_ringparam fields to zero (Ivan Vecera) [1190840] - [netdrv] forcedeth: use DMA_x_DEVICE and dma_mapping_error with skb_frag_dma_map (Ivan Vecera) [1190840] - [netdrv] forcedeth: convert to SKB paged frag API (Ivan Vecera) [1190840] - [netdrv] forcedeth: fix vlans (Ivan Vecera) [1190840] - [netdrv] forcedeth: do vlan cleanup (Ivan Vecera) [1190840] - [netdrv] forcedeth: Add appropriate include for prefetch users (Ivan Vecera) [1190840] - [netdrv] forcedeth: Use ethtool ethtool_cmd_speed API (Ivan Vecera) [1190840] - [netdrv] forcedeth: Use full 32 bit speed range in ethtool's set_settings (Ivan Vecera) [1190840] - [netdrv] forcedeth: fix compile warning of not used nv_set_tso function (Ivan Vecera) [1190840] - [netdrv] forcedeth: convert to hw_features (Ivan Vecera) [1190840] - [netdrv] forcedeth: Fix common misspellings (Ivan Vecera) [1190840] - [netdrv] forcedeth: fix build warnings with CONFIG_PM_SLEEP disabled (Ivan Vecera) [1190840] - [netdrv] forcedeth: Call netif_carrier_off at the end of the probe (Ivan Vecera) [1190840] - [netdrv] forcedeth: Do not use legacy PCI power management (Ivan Vecera) [1190840] - [netdrv] forcedeth: Use netdev_dbg for printk(KERN_DEBUG (Ivan Vecera) [1190840] - [netdrv] forcedeth: Remove netdev_dbg uses (Ivan Vecera) [1190840] - [netdrv] forcedeth: Convert dev_printk( to dev_( (Ivan Vecera) [1190840] - [netdrv] forcedeth: Separate vendor specific initializations into functions (Ivan Vecera) [1190840] - [netdrv] forcedeth: Add function init_realtek_8211b (Ivan Vecera) [1190840] - [netdrv] forcedeth: Convert pr_ to netdev_ (Ivan Vecera) [1190840] - [netdrv] forcedeth: Use pr_fmt and pr_ (Ivan Vecera) [1190840] - [netdrv] forcedeth: Convert remaining dprintk to netdev_dbg (Ivan Vecera) [1190840] - [netdrv] forcedeth: Use print_hex_dump (Ivan Vecera) [1190840] - [netdrv] forcedeth: convert dprintk(KERN_DEBUG to netdev_dbg (Ivan Vecera) [1190840] - [netdrv] forcedeth: Change reg_delay arguments and use (Ivan Vecera) [1190840] - [netdrv] forcedeth: use usleep_range not msleep for small sleeps (Ivan Vecera) [1190840] - [netdrv] forcedeth: do not use assignment in if conditions (Ivan Vecera) [1190840] - [netdrv] forcedeth: include and instead of and as suggested by checkpatch (Ivan Vecera) [1190840] - [netdrv] forcedeth: remove unnecessary checks before kfree (Ivan Vecera) [1190840] - [netdrv] forcedeth: fix multiple code style issues (Ivan Vecera) [1190840] - [netdrv] forcedeth: Don't check for vlan group before vlan_tx_tag_present (Ivan Vecera) [1190840] - [netdrv] forcedeth: return operator cleanup (Ivan Vecera) [1190840] - [netdrv] forcedeth: Remove address use from assignments of function pointers (Ivan Vecera) [1190840] - [netdrv] forcedeth: Fix different hardware statistics versions (Ivan Vecera) [1190840] - [netdrv] forcedeth: correct valid flag (Ivan Vecera) [1190840] - [netdrv] forcedeth: trans_start cleanups (Ivan Vecera) [1190840] - [netdrv] forcedeth: Account for consumed budget in napi poll (Ivan Vecera) [1190840] - [netdrv] forcedeth: Kill NAPI config options (Ivan Vecera) [1190840] - [netdrv] forcedeth: GRO support (Ivan Vecera) [1190840] - [netdrv] forcedeth: Stay in NAPI as long as there's work (Ivan Vecera) [1190840] - [netdrv] forcedeth: use skb_headlen() (Ivan Vecera) [1190840] - [netdrv] forcedeth: fix tx limit2 flag check (Ivan Vecera) [1190840] - [netdrv] forcedeth: convert multiple drivers to use netdev_for_each_mc_addr, part4 (Ivan Vecera) [1190840] - [netdrv] forcedeth: use DEFINE_PCI_DEVICE_TABLE() (Ivan Vecera) [1190840] - [netdrv] forcedeth: request_irq - Remove unnecessary leading & from second arg (Ivan Vecera) [1190840] - [netdrv] sfc: don't BUG_ON efx->max_channels == 0 in probe (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: Add NIC type operations to replace direct calls from efx.c into siena_sriov.c (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: Rename implementations in siena_sriov.c to have a 'siena' prefix (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: Move the current VF state from efx_nic into siena_nic_data (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: remove incorrect EFX_BUG_ON_PARANOID check (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: fix addr_list_lock spinlock use before init (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: Remove DEFINE_PCI_DEVICE_TABLE macro use (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: Use __iowrite64_copy instead of a slightly different local function (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: Add support for busy polling (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: Add per-queue statistics in ethtool (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: add extra RX drop counters for nodesc_trunc and noskb_drop (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: Restrict PIO to 64bit arch and use 64-bit writes (Nikolay Aleksandrov) [1168627] - [netdrv] revert "sfc: stop PIO for RHEL6" (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: Use netif_set_real_num_{rx, tx}_queues() (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: Remove device ID macros only used once (Nikolay Aleksandrov) [1168627] - [netdrv] sfc: Add Sol