Вы находитесь на странице: 1из 224

Content-Type: multipart/related; start=<op.mhtml.1320174561266.f4532d7614763232@ 182.1.58.115>; boundary=----------5CkDtfGSYcOJmtn6EDynoP Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats,Gothic%203%20Walkthrough%20-%20GameSpot.com.txt.htm Subject: =?utf-8?Q?Gothic=203=20Cheats,Gothic=203=20Walkthrough=20-=20GameSpot.c om?= MIME-Version: 1.

0 ------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline; filename="Gothic 3 Cheats,Gothic 3 Walkthrough - Ga meSpot.com.txt.htm" Content-Type: text/html; charset=iso-8859-1; name="Gothic 3 Cheats,Gothic 3 Walk through - GameSpot.com.txt.htm" Content-ID: <op.mhtml.1320174561266.f4532d7614763232@182.1.58.115> Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats,Gothic%203%20Walkthrough%20-%20GameSpot.com.txt.htm Content-Transfer-Encoding: Quoted-Printable <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=3D"http://www.w3.org/1999/xhtml" xmlns:fb=3D"http://www.face= book.com/2008/fbml" xmlns:og=3D"http://ogp.me/ns#" xmlns:gl=3D"http://ww= w.glyde.com/2010/gml" xml:lang=3D"en" lang=3D"en"> <head> <title>Gothic 3 Cheats,Gothic 3 Walkthrough - GameSpot.com</title> <meta http-equiv=3D"content-type" content=3D"text/html; charset=3Diso-88= 59-1;charset=3Dwindows-1252" /> <meta name=3D"description" content=3D"Discover Gothic 3 cheats, walkthro= ughs, FAQs, codes, hints, and more for the PC." /> <meta name=3D"keywords" content=3D"Gothic 3 cheats,Gothic 3 walkthrough,= Gothic 3 PC cheats, Gothic 3 cheat codes,Gothic 3 PC walkthrough" /><met= a name=3D"viewport" content=3D"width=3D1024" /> = <meta property=3D"og:title" content=3D"Gothic 3" /> <meta property=3D"og:type" content=3D"game" /> <meta property=3D"og:url" content=3D"http://l.gamespot.com/htVKbp" /> <meta property=3D"og:description" content=3D"The Gothic series continues= in this third installment." /> <meta property=3D"og:image" content=3D"http://image.gamespotcdn.net/game= spot/images/2003/all/boxshots2/920920_54699.jpg"/><meta property=3D"og:i= mage" content=3D"http://image.gamespotcdn.net/gamespot/images/2006/337/r= eviews/920920_20061204_gum001.jpg"/><meta property=3D"og:image" content=3D= "http://image.gamespotcdn.net/gamespot/images/2006/337/reviews/920920_20= 061204_gum002.jpg"/><meta property=3D"og:image" content=3D"http://image.= gamespotcdn.net/gamespot/shared/home2/random/gamespot.jpg"/> <meta property=3D"fb:app_id" content=3D"91756522905" /> <meta property=3D"og:site_name" content=3D"Gamespot" /> <meta property=3D"fb:page_id" content=3D"177524632292095" /> <meta name=3D"dw-page-params" content=3D"{'siteid':'68','sid':'68','ptid= ':'6027','onid':'36','PD':'0','PR':'920920','SSPR':'920920','pid':'92092= 0','genre_id':'23351','category_id':'72','prodtypid':'8','xref':'http://= www.google.co.id/url','xrq':'sa=3Dt&rct=3Dj&q=3Dcheat%2Bgothic%2BIII&sou= rce=3Dweb&cd=3D1&ved=3D0CBcQFjAA&url=3Dhttp%3A%2F%2Fwww.gamespot.com%2Fp= c%2Frpg%2Fgothic3%2Fcheats.html&ei=3D_T2wTtOXDeSemQWzgsCHAg&usg=3DAFQjCN= EN2355-3bKnjG_4FCi9NnyZ17LYQ','edid':'107','ts':'1320173059','oid':'6027= -36_68-920920-0','pguid':'vj5PngoPCP0AAFT1nVYAAAAM','ld':'asia.gamespot.= com','clgf':'','globid':'','url':'http://asia.gamespot.com/pc/rpg/gothic= 3/cheats.html'}"> <meta name=3D"dw-reg-silo" content=3D"2">

<link rel=3D"canonical" href=3D"http://asia.gamespot.com/pc/rpg/gothic3/= cheats.html" /> <link href=3D"Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameS= pot.com.txt_files/base2008.css" rel=3D"stylesheet" type=3D"text/css" /> <link href=3D"Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameS= pot.com.txt_files/global00.css" rel=3D"stylesheet" type=3D"text/css" /> <link href=3D"Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameS= pot.com.txt_files/base0000.css" rel=3D"stylesheet" type=3D"text/css" /> <script type=3D"text/javascript" src=3D"Gothic%203%20Cheats%2CGothic%203= %20Walkthrough%20-%20GameSpot.com.txt_files/global00.js"></script> <script type=3D"text/javascript">var _gaq =3D _gaq [];_gaq.push(['_se= tAccount', 'UA-22577913-1']);_gaq.push(['_setDomainName', '.gamespot.com= ']);_gaq.push(['_trackPageview']);_gaq.push(['_trackPageLoadTime']);(fun= ction() {Asset.javascript(('https:' =3D=3D document.location.protocol ? = 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js', {id: "goo= gle_analytics",async: true});})();</script> </head> <body class=3D"standard alt pc site_region_9"> <div id=3D"site_layout" c= lass=3D"pc"> <div id=3D"site_masthead" class=3D"has_platform"> <div class=3D"site_mh_wrap site_mh_top_wrap"> <div class=3D"site_mh_section site_mh_brand"> <div id=3D"site_masthead_brand" class=3D"site_mh_brand_logo"> <span class=3D"site_mh_brand_logo"><a class=3D"site_mh_brand_logo" href= =3D"http://asia.gamespot.com/?tag=3Dheader%3Blogo">GameSpot</a></span> </div> </div> <div id=3D"site_masthead_search" class=3D"site_mh_section site_mh_searc= h"><div class=3D"mh_search_wrap mh_search_wrap_l"><div class=3D"mh_searc= h_wrap mh_search_wrap_r"><form action=3D"http://asia.gamespot.com/search= .html" class=3D"search site_search masthead_search" method=3D"get"><fiel= dset><legend>Search</legend><div class=3D"wrap"><span class=3D"search_te= xt dynamic_helptext"><span class=3D"help">Search</span><span class=3D"fi= eld search_query_field"><input class=3D"text" name=3D"qs" type=3D"text" = value=3D"" tabindex=3D"2" /></span></span><span class=3D"submit"><span c= lass=3D"btn"><button type=3D"submit" class=3D"submit" tabindex=3D"2"><sp= an>Search</span></button></span></span><input type=3D"hidden" name=3D"ta= g" value=3D"masthead;search" /></div></fieldset></form></div></div></div= > <div class=3D"site_mh_section site_mh_userpanel"> <div id=3D"userpanel"> <div id=3D"userpanel_off"> <div class=3D"panel_wrap panel_wrap_l"> <div class=3D"panel_wrap panel_wrap_r"> <div class=3D"panel_wrap panel_actions"> <div class=3D"label">Sign on Options</div> <ul class=3D"actions"> <li class=3D"action first_action signin has_dropdown"> <div class=3D"action_state"> <div class=3D"action_wrap"> <a class=3D"toggler action signin" href=3D"http://asia.gamespot.com/pag= es/common/login.php?tag=3Duserpanel%3Bsignin">Log in<span> &raquo;</span= ></a> </div> <div class=3D"dropdown userpanel_more"> <div class=3D"dropdown_wrap userpanel_more_wrap"> <form id=3D"signin" name=3D"signin" method=3D"post" action=3D"http://as= ia.gamespot.com/login.php"> <fieldset> <legend>sign in</legend> <ol class=3D"fields">

<li class=3D"field userid"> <span class=3D"field_label"><label for=3D"EMAILADDR">Email</label></spa= n> <span class=3D"field_data"><input class=3D"text autofocus" type=3D"text= " name=3D"EMAILADDR" id=3D"EMAILADDR" tabindex=3D"1" title=3D"email" /><= /span> </li> <li class=3D"field passwd"> <span class=3D"field_label"><label for=3D"PASSWORD" >Password</label></= span> <span class=3D"field_data"><input class=3D"text pwd" type=3D"password" = name=3D"PASSWORD" id=3D"PASSWORD" tabindex=3D"1" title=3D"password" /></= span> </li> <li class=3D"field hidden_fields"> <input class=3D"hidden" type=3D"hidden" name=3D"path" value=3D"http://a= sia.gamespot.com/pc/rpg/gothic3/cheats.html" /> </li> <li class=3D"field submit"> <div class=3D"submit"><input class=3D"submit" type=3D"submit" value=3D"= Login" tabindex=3D"1" /></div> </li> </fieldset> </form> <div class=3D"forgot_password"><a href=3D"https://authorize.gamespot.co= m/1328-2425-8.html?tag=3Duserpanel%3Bforgot">Forgot Password?</a></div> <div id=3D"facebook_js_on" class=3D"facebook_signin"> Login with facebook<br/> <a href=3D"" class=3D"fb_btn"><span class=3D"fb_btn_text">Connect</span= ></a> </div> </div> </div> </div> </li> <li class=3D"action signup"> <div class=3D"action_wrap"> <a class=3D"action signup" href=3D"http://asia.gamespot.com/pages/commo= n/login.php?tag=3Duserpanel%3Bsignup">Sign up</a> </div> </li> </ul> </div> </div> </div> </div> </div> </div> </div> <div id=3D"site_nav" class=3D"site_mh_wrap site_mh_nav_wrap"> <div class=3D"site_mh_section site_mh_nav_group site_mh_nav_main"> <div class=3D"nav_label">Main Nav</div> <div class=3D"site_nav" id=3D"site_nav_main"> <ul class=3D"site_nav site_nav_main"> <li class=3D"nav_item reviews_nav_item first has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l reviews_action_wrap_l"> <span class=3D"action_wrap action_wrap_r reviews_action_wrap_r"> <span class=3D"action_wrap action_wrap_c reviews_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/review= s.html?mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Breviews%3Btop">Reviews<=

/a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_reviews_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_latest_reviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/reviews.htm= l?mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Breviews%3Blatest">Latest Rev= iews</a> </li> <li class=3D"subnav_item subnav_item_all_reviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/reviews.htm= l?mode=3Dall&tag=3Dmasthead%3Breviews%3Ball">All Reviews</a> </li> <li class=3D"subnav_item subnav_item_video_reviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?type=3Dreviews&category=3DReviews&mode=3Dfilter&tag=3Dmasthead%3B= reviews%3Bvideoreviews">Video Reviews</a> </li> <li class=3D"subnav_item subnav_item_reviews_blog"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/news/blogs/= review-blog/909185210/index.html?tag=3Dmasthead%3Breviews%3Breviewsblog"= >Reviews Blog</a> </li> <li class=3D"subnav_item subnav_item_metacritic_reviews"> <a class=3D"subnav_action" href=3D"http://www.metacritic.com/browse/gam= es/score/metascore/90day/all">Reviews on Metacritic</a> </li> </ul> </div> </div> </div> </div> </li> <li class=3D"nav_item news_nav_item has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l news_action_wrap_l"> <span class=3D"action_wrap action_wrap_r news_action_wrap_r"> <span class=3D"action_wrap action_wrap_c news_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/news/i= ndex.html?tag=3Dmasthead%3Bnews%3Btop">News</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_news_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_top_stories"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/news/index.= html?tag=3Dmasthead%3Bnews%3Btopstories">Top Stories</a> </li> <li class=3D"subnav_item subnav_item_site_blog_asia"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/news/.asia.= html?tag=3Dmasthead%3Bnews%3B.asia">GameSpot Asia Blog</a> </li> <li class=3D"subnav_item subnav_item_news_blog"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/news/blogs/= sidebar/909182374/index.html?tag=3Dmasthead%3Bnews%3Bnewsblog">News Blog= </a> </li> <li class=3D"subnav_item subnav_item_rumor_blog"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/news/blogs/= rumor-control/909119209/index.html?tag=3Dmasthead%3Bnews%3Brumorblog">Ru= mor Blog</a> </li>

<li class=3D"subnav_item subnav_item_daily_updates"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/pages/updat= es/index.php?t=3Dall&tag=3Dmasthead%3Bnews%3Bdaily_updates">Daily Update= s</a> </li> <li class=3D"subnav_item subnav_item_new_releases"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/newthisweek= .html?tag=3Dmasthead%3Bnews%3Bnewreleases">New Releases</a> </li> </ul> </div> </div> </div> </div> </li> <li class=3D"nav_item videos_nav_item has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l videos_action_wrap_l"> <span class=3D"action_wrap action_wrap_r videos_action_wrap_r"> <span class=3D"action_wrap action_wrap_c videos_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/videos= /index.html?tag=3Dmasthead%3Bvideos%3Btop">Videos</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_videos_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_all_videos"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?tag=3Dmasthead%3Bvideos%3Ball">All Videos</a> </li> <li class=3D"subnav_item subnav_item_on_the_spot"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/shows/on-th= e-spot/?tag=3Dmasthead%3Bvideos%3Bon_the_spot">On The Spot</a> </li> <li class=3D"subnav_item subnav_item_appetite_for_distraction"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/shows/appet= ite-for-distraction/?tag=3Dmasthead%3Bvideos%3Bappetite">Appetite for Di= straction</a> </li> <li class=3D"subnav_item subnav_item_now_playing"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/shows/now-p= laying/?tag=3Dmasthead%3Bvideos%3Bnow-playing">Now Playing</a> </li> <li class=3D"subnav_item subnav_item_tonight_on_the_spot"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/shows/tonig= ht-on-the-spot/?tag=3Dmasthead%3Bvideos%3Btonight_on_the_spot">Tonight O= n the Spot</a> </li> <li class=3D"subnav_item subnav_item_video_reviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?type=3Dreviews&category=3DReviews&mode=3Dfilter&tag=3Dmasthead%3B= videos%3Bvideo_reviews">Video Reviews</a> </li> <li class=3D"subnav_item subnav_item_video_previews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?type=3Dpreviews&category=3DPreviews&mode=3Dfilter&tag=3Dmasthead%= 3Bvideos%3Bvideo_previews">Video Previews</a> </li> <li class=3D"subnav_item subnav_item_trailers"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?type=3Dtrailers&category=3DTrailers&mode=3Dfilter&tag=3Dmasthead%= 3Bvideos%3Btrailers">Trailers</a> </li> <li class=3D"subnav_item subnav_item_gameplay"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?type=3Dgameplay&category=3DGameplay+Movies&mode=3Dfilter&tag=3Dma= sthead%3Bvideos%3Bgameplay_movies">Gameplay</a> </li>

<li class=3D"subnav_item subnav_item_interviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?type=3Dinterviews&category=3DInterviews&mode=3Dfilter&tag=3Dmasth= ead%3Bvideos%3Binterviews">Interviews</a> </li> </ul> </div> </div> </div> </div> </li> <li class=3D"nav_item cheats_nav_item has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l cheats_action_wrap_l"> <span class=3D"action_wrap action_wrap_r cheats_action_wrap_r"> <span class=3D"action_wrap action_wrap_c cheats_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/cheats= .html?tag=3Dmasthead%3Bcheats%3Btop">Cheats</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_cheats_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_popular_game_cheats"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/cheats.html= ?tag=3Dmasthead%3Bcheats%3Bpopular">Popular Game Cheats</a> </li> <li class=3D"subnav_item subnav_item_game_guides"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/gameguides.= html?sort=3Dpost_date&sortdir=3Dasc&tag=3Dmasthead%3Bcheats%3Bguides">Ga= meSpot Walkthroughs</a> </li> <li class=3D"subnav_item subnav_item_answers"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/answers.htm= l?tag=3Dmasthead%3Bcheats%3Banswers">Answers</a> </li> <li class=3D"subnav_item subnav_item_gamefaqs"> <a class=3D"subnav_action" href=3D"http://www.gamefaqs.com/?tag=3Dmasth= ead%3Bcheats%3Bgamefaqs">Walkthroughs on GameFAQs</a> </li> </ul> </div> </div> </div> </div> </li> <li class=3D"nav_item culture_nav_item last has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l culture_action_wrap_l"> <span class=3D"action_wrap action_wrap_r culture_action_wrap_r"> <span class=3D"action_wrap action_wrap_c culture_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/featur= es/index.html?tag=3Dmasthead%3Bculture%3Btop">Culture</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_culture_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_culture_home"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/features/in= dex.html?tag=3Dmasthead%3Bculture%3Bfeatures">Culture Home</a> </li>

<li class=3D"subnav_item subnav_item_hotspot_podcast"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/events/the-= hotspot/index.html?tag=3Dmasthead%3Bculture%3Bhotspot">HotSpot Podcast</= a> </li> <li class=3D"subnav_item subnav_item_site_blogs"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/blogs/index= .html?tag=3Dmasthead%3Bculture%3Bsiteblogs">Site Blogs</a> </li> <li class=3D"subnav_item subnav_item_tradeshows"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/tradeshows.= html?tag=3Dmasthead%3Bculture%3Btradeshows">Tradeshows & Events</a> </li= > <li class=3D"subnav_item subnav_item_soapbox"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/soapbox/ind= ex.html?tag=3Dmasthead%3Bculture%3Bsoapbox">Soapbox</a> </li> </ul> </div> </div> </div> </div> </li> </ul> </div> </div> <div class=3D"site_mh_section site_mh_nav_group site_mh_nav_platform"> <div class=3D"nav_label">Platform Nav</div> <div class=3D"plats_wrap plats_wrap_l"> <div class=3D"plats_wrap plats_wrap_r"> <div class=3D"plats_wrap plats_wrap_c"> <div class=3D"site_nav" id=3D"site_nav_platform"> <ul class=3D"site_nav site_nav_platform"> <li class=3D"nav_item xbox_nav_item first has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l xbox_action_wrap_l"> <span class=3D"action_wrap action_wrap_r xbox_action_wrap_r"> <span class=3D"action_wrap action_wrap_c xbox_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/xbox36= 0/index.html?tag=3Dmasthead%3Bxbox360%3Btop">Xbox 360</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_xbox360_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_xbox360_home"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/xbox360/ind= ex.html?tag=3Dmasthead%3Bxbox360%3Bhome">Xbox 360 Home</a> </li> <li class=3D"subnav_item subnav_item_reviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/reviews.htm= l?platform=3D1029&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Bxbox360%3Bre= views">Reviews</a> </li> <li class=3D"subnav_item subnav_item_previews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/previews.ht= ml?platform=3D1029&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Bxbox360%3Bp= reviews">Previews</a> </li> <li class=3D"subnav_item subnav_item_new_this_week"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/newthisweek= .html?platform=3D1029&mode=3Dtop&tag=3Dmasthead%3Bxbox360%3Bnewreleases"= >New Releases</a> </li> <li class=3D"subnav_item subnav_item_top_rated">

<a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D1029&type=3Dtop_rated&mode=3Dtop&tag=3Dmasthead%3Bxbox360%3Bt= op_games">Top Games</a> </li> <li class=3D"subnav_item subnav_item_all_games"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D1029&mode=3Dtop&tag=3Dmasthead%3Bxbox360%3Ball_games">All Gam= es</a> </li> <li class=3D"subnav_item subnav_item_videos"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?platform=3D1029&tag=3Dmasthead%3Bxbox360%3Bvideos">Videos</a> </l= i> <li class=3D"subnav_item subnav_item_cheats"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/cheats.html= ?platform=3D1029&mode=3Dtop&tag=3Dmasthead%3Bxbox360%3Bcheats">Cheats &a= mp; Walkthroughs</a> </li> <li class=3D"subnav_item subnav_item_xbox_live"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/xbox360/dlc= /index.html?tag=3Dmasthead%3Bxbox360%3Bxboxlive">Xbox Live</a> </li> </ul> </div> </div> </div> </div> </li> <li class=3D"nav_item pc_nav_item has_dropdown"> <div class=3D"action_state active"> <span class=3D"action_wrap action_wrap_l pc_action_wrap_l"> <span class=3D"action_wrap action_wrap_r pc_action_wrap_r"> <span class=3D"action_wrap action_wrap_c pc_action_wrap_c"> <a class=3D"toggler nav_action active" href=3D"http://asia.gamespot.com= /pc/index.html?tag=3Dmasthead%3Bpc%3Btop">PC</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_pc_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_pc_home"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/pc/index.ht= ml?tag=3Dmasthead%3Bpc%3Bhome">PC Home</a> </li> <li class=3D"subnav_item subnav_item_reviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/reviews.htm= l?platform=3D5&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Bpc%3Breviews">R= eviews</a> </li> <li class=3D"subnav_item subnav_item_previews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/previews.ht= ml?platform=3D5&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Bpc%3Bpreviews"= >Previews</a> </li> <li class=3D"subnav_item subnav_item_new_this_week"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/newthisweek= .html?platform=3D5&mode=3Dtop&tag=3Dmasthead%3Bpc%3Bnewreleases">New Rel= eases</a> </li> <li class=3D"subnav_item subnav_item_top_rated"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D5&type=3Dtop_rated&mode=3Dtop&tag=3Dmasthead%3Bpc%3Btop_games= ">Top Games</a> </li> <li class=3D"subnav_item subnav_item_all_games"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D5&mode=3Dtop&tag=3Dmasthead%3Bpc%3Ball_games">All Games</a> <=

/li> <li class=3D"subnav_item subnav_item_videos"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?platform=3D5&tag=3Dmasthead%3Bpc%3Bvideos">Videos</a> </li> <li class=3D"subnav_item subnav_item_cheats"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/cheats.html= ?platform=3D5&mode=3Dtop&tag=3Dmasthead%3Bpc%3Bcheats">Cheats &amp; Walk= throughs</a> </li> <li class=3D"subnav_item subnav_item_downloads"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/downloads/i= ndex.html?tag=3Dmasthead%3Bpc%3Bdownloads">Downloads</a> </li> </ul> </div> </div> </div> </div> </li> <li class=3D"nav_item playstation_nav_item has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l playstation_action_wrap_l"> <span class=3D"action_wrap action_wrap_r playstation_action_wrap_r"> <span class=3D"action_wrap action_wrap_c playstation_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/ps3/in= dex.html?tag=3Dmasthead%3Bps3%3Btop">PS3</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_ps3_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_ps3_home"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/ps3/index.h= tml?tag=3Dmasthead%3Bps3%3Bhome">PS3 Home</a> </li> <li class=3D"subnav_item subnav_item_reviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/reviews.htm= l?platform=3D1028&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Bps3%3Breview= s">Reviews</a> </li> <li class=3D"subnav_item subnav_item_previews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/previews.ht= ml?platform=3D1028&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Bps3%3Bprevi= ews">Previews</a> </li> <li class=3D"subnav_item subnav_item_new_this_week"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/newthisweek= .html?platform=3D1028&mode=3Dtop&tag=3Dmasthead%3Bps3%3Bnewreleases">New= Releases</a> </li> <li class=3D"subnav_item subnav_item_top_rated"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D1028&type=3Dtop_rated&mode=3Dtop&tag=3Dmasthead%3Bps3%3Btop_g= ames">Top Games</a> </li> <li class=3D"subnav_item subnav_item_all_games"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D1028&mode=3Dtop&tag=3Dmasthead%3Bps3%3Ball_games">All Games</= a> </li> <li class=3D"subnav_item subnav_item_videos"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?platform=3D1028&tag=3Dmasthead%3Bps3%3Bvideos">Videos</a> </li> <li class=3D"subnav_item subnav_item_cheats"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/cheats.html= ?platform=3D1028&mode=3Dtop&tag=3Dmasthead%3Bps3%3Bcheats">Cheats &amp; =

Walkthroughs</a> </li> <li class=3D"subnav_item subnav_item_psn"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/ps3/dlc/ind= ex.html?tag=3Dmasthead%3Bps3%3Bpsn">PlayStation Network</a> </li> </ul> </div> </div> </div> </div> </li> <li class=3D"nav_item nintendo_nav_item has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l nintendo_action_wrap_l"> <span class=3D"action_wrap action_wrap_r nintendo_action_wrap_r"> <span class=3D"action_wrap action_wrap_c nintendo_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/wii/in= dex.html?tag=3Dmasthead%3Bwii%3Btop">Wii</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_wii_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_wii_home"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/wii/index.h= tml?tag=3Dmasthead%3Bwii%3Bhome">Wii Home</a> </li> <li class=3D"subnav_item subnav_item_reviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/reviews.htm= l?platform=3D1031&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Bwii%3Breview= s">Reviews</a> </li> <li class=3D"subnav_item subnav_item_previews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/previews.ht= ml?platform=3D1031&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Bwii%3Bprevi= ews">Previews</a> </li> <li class=3D"subnav_item subnav_item_new_this_week"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/newthisweek= .html?platform=3D1031&mode=3Dtop&tag=3Dmasthead%3Bwii%3Bnewreleases">New= Releases</a> </li> <li class=3D"subnav_item subnav_item_top_rated"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D1031&type=3Dtop_rated&mode=3Dtop&tag=3Dmasthead%3Bwii%3Btop_g= ames">Top Games</a> </li> <li class=3D"subnav_item subnav_item_all_games"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D1031&mode=3Dtop&tag=3Dmasthead%3Bwii%3Ball_games">All Games</= a> </li> <li class=3D"subnav_item subnav_item_videos"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?platform=3D1031&tag=3Dmasthead%3Bwii%3Bvideos">Videos</a> </li> <li class=3D"subnav_item subnav_item_cheats"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/cheats.html= ?platform=3D1031&mode=3Dtop&tag=3Dmasthead%3Bwii%3Bcheats">Cheats &amp; = Walkthroughs</a> </li> <li class=3D"subnav_item subnav_item_wii_shop"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/wii/dlc/ind= ex.html?tag=3Dmasthead%3Bwii%3Bvc">Virtual Console</a> </li> </ul> </div> </div>

</div> </div> </li> <li class=3D"nav_item nintendo_nav_item has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l nintendo_action_wrap_l"> <span class=3D"action_wrap action_wrap_r nintendo_action_wrap_r"> <span class=3D"action_wrap action_wrap_c nintendo_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/3ds/in= dex.html?tag=3Dmasthead%3B3ds%3Btop">3DS</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_3ds_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_3ds_home"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/3ds/index.h= tml?tag=3Dmasthead%3B3ds%3Bhome">3DS Home</a> </li> <li class=3D"subnav_item subnav_item_ds_home"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/ds/index.ht= ml?tag=3Dmasthead%3B3ds%3Bds">DS Home</a> </li> <li class=3D"subnav_item subnav_item_reviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/reviews.htm= l?platform=3D1068&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3B3ds%3Breview= s">Reviews</a> </li> <li class=3D"subnav_item subnav_item_previews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/previews.ht= ml?platform=3D1068&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3B3ds%3Bprevi= ews">Previews</a> </li> <li class=3D"subnav_item subnav_item_new_this_week"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/newthisweek= .html?platform=3D1068&mode=3Dtop&tag=3Dmasthead%3B3ds%3Bnewreleases">New= Releases</a> </li> <li class=3D"subnav_item subnav_item_top_rated"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D1068&type=3Dtop_rated&mode=3Dtop&tag=3Dmasthead%3B3ds%3Btop_g= ames">Top Games</a> </li> <li class=3D"subnav_item subnav_item_all_games"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D1068&mode=3Dtop&tag=3Dmasthead%3B3ds%3Ball_games">All Games</= a> </li> <li class=3D"subnav_item subnav_item_videos"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?platform=3D1068&tag=3Dmasthead%3B3ds%3Bvideos">Videos</a> </li> <li class=3D"subnav_item subnav_item_cheats"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/cheats.html= ?platform=3D1068&mode=3Dtop&tag=3Dmasthead%3B3ds%3Bcheats">Cheats &amp; = Walkthroughs</a> </li> </ul> </div> </div> </div> </div> </li> <li class=3D"nav_item playstation_nav_item has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l playstation_action_wrap_l"> <span class=3D"action_wrap action_wrap_r playstation_action_wrap_r">

<span class=3D"action_wrap action_wrap_c playstation_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/psp/in= dex.html?tag=3Dmasthead%3Bpsp%3Btop">PSP</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_psp_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_psp_home"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/psp/index.h= tml?tag=3Dmasthead%3Bpsp%3Bhome">PSP Home</a> </li> <li class=3D"subnav_item subnav_item_reviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/reviews.htm= l?platform=3D1024&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Bpsp%3Breview= s">Reviews</a> </li> <li class=3D"subnav_item subnav_item_previews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/previews.ht= ml?platform=3D1024&mode=3Dtop&sortdir=3Dasc&tag=3Dmasthead%3Bpsp%3Bprevi= ews">Previews</a> </li> <li class=3D"subnav_item subnav_item_new_this_week"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/newthisweek= .html?platform=3D1024&mode=3Dtop&tag=3Dmasthead%3Bpsp%3Bnewreleases">New= Releases</a> </li> <li class=3D"subnav_item subnav_item_top_rated"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D1024&type=3Dtop_rated&mode=3Dtop&tag=3Dmasthead%3Bpsp%3Btop_g= ames">Top Games</a> </li> <li class=3D"subnav_item subnav_item_all_games"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/games.html?= platform=3D1024&mode=3Dtop&tag=3Dmasthead%3Bpsp%3Ball_games">All Games</= a> </li> <li class=3D"subnav_item subnav_item_videos"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/videos/inde= x.html?platform=3D1024&tag=3Dmasthead%3Bpsp%3Bvideos">Videos</a> </li> <li class=3D"subnav_item subnav_item_cheats"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/cheats.html= ?platform=3D1024&mode=3Dtop&tag=3Dmasthead%3Bpsp%3Bcheats">Cheats &amp; = Walkthroughs</a> </li> </ul> </div> </div> </div> </div> </li> <li class=3D"nav_item mobile_nav_item has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l mobile_action_wrap_l"> <span class=3D"action_wrap action_wrap_r mobile_action_wrap_r"> <span class=3D"action_wrap action_wrap_c mobile_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/iphone= /index.html?tag=3Dmasthead%3Biphone%3Btop">iPhone</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_iphone_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav">

<li class=3D"subnav_item subnav_item_iphone_home"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/iphone/inde= x.html?tag=3Dmasthead%3Biphone%3Bhome">iPhone Home</a> </li> <li class=3D"subnav_item subnav_item_rating"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/iphone/game= s.html?sort=3Duser_rating&tag=3Dmasthead%3Biphone%3Brating">Highest Rate= d</a> </li> <li class=3D"subnav_item subnav_item_popular"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/iphone/game= s.html?games=3Dpopular&tag=3Dmasthead%3Biphone%3Bpopular">Most Popular</= a> </li> <li class=3D"subnav_item subnav_item_appetite_for_distraction"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/shows/appet= ite-for-distraction/?tag=3Dmasthead%3Biphone%3Bappetite">Appetite for Di= straction</a> </li> <li class=3D"subnav_item subnav_item_reviews"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/reviews.htm= l?platform=3D1049&tag=3Dmasthead%3Biphone%3Breviews">Reviews</a> </li> </ul> </div> </div> </div> </div> </li> <li class=3D"nav_item mobile_nav_item last has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l mobile_action_wrap_l"> <span class=3D"action_wrap action_wrap_r mobile_action_wrap_r"> <span class=3D"action_wrap action_wrap_c mobile_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/androi= d/index.html?tag=3Dmasthead%3Bandroid%3Btop">Android</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_android_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_android_home"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/android/ind= ex.html?tag=3Dmasthead%3Bandroid%3Bhome">Android Home</a> </li> <li class=3D"subnav_item subnav_item_rating"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/android/gam= es.html?sort=3Duser_rating&tag=3Dmasthead%3Bandroid%3Brating">Highest Ra= ted</a> </li> <li class=3D"subnav_item subnav_item_popular"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/android/gam= es.html?games=3Dpopular&tag=3Dmasthead%3Bandroid%3Bpopular">Most Popular= </a> </li> <li class=3D"subnav_item subnav_item_appetite_for_distraction"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/shows/appet= ite-for-distraction/?tag=3Dmasthead%3Bandroid%3Bappetite">Appetite for D= istraction</a> </li> </ul> </div> </div> </div> </div> </li> </ul>

</div> </div> </div> </div> </div> <div class=3D"site_mh_section site_mh_nav_group site_mh_nav_community">= <div class=3D"nav_label">Community Nav</div> <div class=3D"site_nav" id=3D"site_nav_community"> <ul class=3D"site_nav site_nav_community"> <li class=3D"nav_item forums_nav_item first has_dropdown"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l forums_action_wrap_l"> <span class=3D"action_wrap action_wrap_r forums_action_wrap_r"> <span class=3D"action_wrap action_wrap_c forums_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://asia.gamespot.com/forums= /index.html?tag=3Dmasthead%3Bforums%3Btop">Forums</a> </span> </span> </span> <div class=3D"dropdown nav_item_more nav_item_forums_more"> <div class=3D"dropdown_wrap"> <div class=3D"site_subnav" > <ul class=3D"site_subnav"> <li class=3D"subnav_item subnav_item_forums"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/forums/inde= x.html?navclk=3Dforums&tag=3Dmasthead%3Bforums%3Bforums">GameSpot Forums= </a> </li> <li class=3D"subnav_item subnav_item_forum_search"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/forums/sear= ch_results.php?tag=3Dmasthead%3Bforums%3Bsearch">Forum Search</a> </li> <li class=3D"subnav_item subnav_item_community_blog"> <a class=3D"subnav_action" href=3D"http://asia.gamespot.com/community/b= logs/community-blog/909185261/index.html?tag=3Dmasthead%3Bforums%3Bcommu= nityblog">Community Blog</a> </li> </ul> </div> </div> </div> </div> </li> <li class=3D"nav_item fuse_nav_item last"> <div class=3D"action_state"> <span class=3D"action_wrap action_wrap_l fuse_action_wrap_l"> <span class=3D"action_wrap action_wrap_r fuse_action_wrap_r"> <span class=3D"action_wrap action_wrap_c fuse_action_wrap_c"> <a class=3D"toggler nav_action" href=3D"http://fuse.gamespot.com/?tag=3D= masthead%3Bfuse%3Btop">Fuse</a> </span> </span> </span> </div> </li> </ul> </div> </div> </div> <div class=3D"site_mh_wrap site_mh_bg_toggler_wrap"> <div class=3D"site_mh_section site_mh_bg_toggler"> <div class=3D"bg_toggler standard_alt">

<div class=3D"bg_toggler_label">Theme: </div> <div class=3D"bg_toggler_dark"><a href=3D"http://asia.gamespot.com/pc/r= pg/gothic3/cheats.html?new_theme=3Dstandard&tag=3Dbg_toggler%3Bbg_dark" = rel=3D"nofollow">To Dark</a></div> </div> </div> </div> </div> <div id=3D"mantle_skin" class=3D"site_gutters"> <div id=3D"gutter= s" class=3D"site_gutters"> <div id=3D"superleader"> <div class=3D"ad_unit ad_unit_leader_sidedoor"> <div class=3D"ad_wrap ad_wrap_dart"> <!-- begin ad tag (tile=3D1) --> <script language=3D'JavaScript' src=3D'http://ad.doubleclick= .net/adj/asia.gamespot/cheats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;e= srb=3DT;publisher=3Daspyr;score=3D7.6;pos=3Dtop;dcopt=3Dist;tile=3D1;!ca= tegory=3Dtop;sz=3D728x90;ord=3D1320173059?' type=3D'text/javascript'></s= cript> <noscript><a href=3D'http://ad.doubleclick.net/jump/asia.gam= espot/cheats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;esrb=3DT;publisher= =3Daspyr;score=3D7.6;pos=3Dtop;tile=3D1;!category=3Dtop;sz=3D728x90;ord=3D= 1320173059?' target=3D'_blank'> <img src=3D'http://ad.doubleclick.net/ad/asia.gamespot/c= heats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;esrb=3DT;publisher=3Daspy= r;score=3D7.6;pos=3Dtop;tile=3D1;!category=3Dtop;sz=3D728x90;ord=3D13201= 73059?' width=3D'728' height=3D'90' border=3D'0' alt=3D'' /></a> </noscript> <!-- End ad tag --> </div> </div> </div> <div id=3D"gutter" class=3D"site_gutters"> <div id=3D"gutter_btm" class=3D"site_gutters"> <div id=3D"gutter_top" class=3D"site_gutters"> <div id=3D"container"> <div id=3D"container_layout"> <div id=3D"mpu_layout" class=3D"mini has_nav"> <div id=3D"content"> <div class=3D"layout"> <div id=3D"main" class=3D"col main_col= "> <div class=3D"share_hints"> <div id=3D"social_share_actions" class=3D"social_share_actions"><scrip= t type=3D"text/javascript">(function() {var toolbar =3D document.id('soc= ial_share_actions');if (toolbar) {toolbar.addClass('js_enabled');}}());<= /script><ul class=3D"social_share_actions"><li class=3D"social_share_act= ion facebook_share_action {'tracking':'http:\/\/dw.com.com\/redir?siteid= =3D68&edid=3D107&onid=3D36&ptid=3D6027&ts=3D1320173059&pid=3D920920&prod= typid=3D8&useract=3D196&destURL=3Dhttp%3A%2F%2Fimage.gamespotcdn.net%2Fg= amespot%2Fb.gif','urlId':'\/htVKbp'}"><fb:like href=3D"http://l.gamespot= .com/htVKbp" send=3D"false" layout=3D"button_count" show_faces=3D"false"= colorscheme=3D"light"><a class=3D"social_share_action facebook_share_ac= tion" href=3D"http://dw.com.com/redir?siteid=3D68&edid=3D107&onid=3D36&p= tid=3D6027&ts=3D1320173059&pid=3D920920&prodtypid=3D8&useract=3D196&dest= URL=3Dhttp%3A%2F%2Fwww.facebook.com%2Fsharer%2Fsharer.php%3Fu%3Dhttp%253= A%252F%252Fl.gamespot.com%252FhtVKbp" rel=3D"popup:share nofollow">Faceb= ook</a></fb:like></li><li class=3D"social_share_action tweet_share_actio= n {'iframe_params':{'src':'http:\/\/platform.twitter.com\/widgets\/tweet= _button.html?url=3Dhttp%3A%2F%2Fl.gamespot.com%2FhtVKbp&counturl=3Dhttp%= 3A%2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Fgothic3%2Fcheats.html&related=3DG= ameSpotHotSpot%2CGameSpot_E3&via=3DGameSpot','scrolling':'no','framebord= er':0,'allowTransparency':true,'style':'width:110px;height:20px;'},'trac=

king':'http:\/\/dw.com.com\/redir?siteid=3D68&edid=3D107&onid=3D36&ptid=3D= 6027&ts=3D1320173059&pid=3D920920&prodtypid=3D8&useract=3D460&destURL=3D= http%3A%2F%2Fimage.gamespotcdn.net%2Fgamespot%2Fb.gif'}"><a class=3D"soc= ial_share_action tweet_share_action" href=3D"http://dw.com.com/redir?sit= eid=3D68&edid=3D107&onid=3D36&ptid=3D6027&ts=3D1320173059&pid=3D920920&p= rodtypid=3D8&useract=3D460&destURL=3Dhttp%3A%2F%2Ftwitter.com%2Fshare%3F= url%3Dhttp%253A%252F%252Fl.gamespot.com%252FhtVKbp%26counturl%3Dhttp%253= A%252F%252Fasia.gamespot.com%252Fpc%252Frpg%252Fgothic3%252Fcheats.html%= 26related%3Dfiddlecub%252Cjusticecovert%26via%3DGameSpot" rel=3D"popup:s= hare nofollow">Tweet</a></li><li class=3D"social_share_action plusone_sh= are_action"><g:plusone size=3D"medium" callback=3D"trackPlusOne" href=3D= "http://asia.gamespot.com/pc/rpg/gothic3/cheats.html" rel=3D"canonical">= </g:plusone></li></ul></div> </div> <div class=3D"module first"> <div class=3D"head"> <div class=3D"wrap"> <div class=3D"module_title_wrap"> <h1 class=3D"module_title">Gothic 3 Hints &amp; Cheats</h1> </div> </div> </div> </div> <div id=3D"cheat_codes" class=3D"module"> <div class=3D"head"> <div class=3D"wrap"> <div class=3D"module_title_wrap"> <h2 class=3D"module_title">Gothic 3 Cheat Codes</h2> </div> </div> </div> <div class=3D"body"> <div class=3D"cheat_details"> <div class=3D"description"> <div class=3D"head"> <div class=3D"wrap"> <div class=3D"module_title_wrap"> <h3 class=3D"module_title">Various cheats</h3> </div> </div> </div> <p>Open the ge3.ini file in the Gothic3/Ini folder and change the follo= wing line in Notepad:<p />[Game]<br />TestMode=3Dfalse<p />to<p />[Game]= <br />TestMode=3Dtrue<p />You can then press [~] (tilde) while playing t= o bring up the console and type any of the following cheat codes. </p> <= /div> <table class=3D"cheats" summary=3D"Gothic 3 Cheat Codes"> <colgroup> <col class=3D"cheat"/> <col class=3D"effect"/> </colgroup> <thead> <tr> <th scope=3D"col" class=3D"cheat">Cheat</th> <th scope=3D"col">Effect</th> </tr> </thead> <tbody> <tr class=3D"alt"> <td class=3D"cheat">God</td> <td>God Mode</td>

</tr> <tr> <td class=3D"cheat">Invisibility</td> <td>Invisibility Mode</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">Teach all</td> <td>Learn All Skills (lowers stats to 0)</td> </tr> <tr> <td class=3D"cheat">Kill</td> <td>Kills Targets</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">Give</td> <td>Give Specified Item</td> </tr> <tr> <td class=3D"cheat">Spawn</td> <td>Spawn Specified Item/Creature</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">give all</td> <td>all items gained</td> </tr> <tr> <td class=3D"cheat">idkfa</td> <td>Gives 100 of each item.</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">fullhealth</td> <td>Gives the player full health.</td> </tr> <tr> <td class=3D"cheat">Give Cat_Armor</td> <td>All armor</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">Give Cat_Weapon</td> <td>All weapons</td> </tr> <tr> <td class=3D"cheat">Give Cat_Artefact</td> <td>All artifacts</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">Control</td> <td>Control character</td> </tr> <tr> <td class=3D"cheat">Watch</td> <td>Control camera</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">Teach STR &lt;number&gt;</td> <td>Set Strength</td> </tr> <tr> <td class=3D"cheat">Teach DEX &lt;number&gt;</td> <td>Set Dexterity (hunting skill)</td>

</tr> <tr class=3D"alt"> <td class=3D"cheat">Teach INT &lt;number&gt;</td> <td>Set Intelligence (ancient knowledge)</td> </tr> <tr> <td class=3D"cheat">Teach ALC &lt;number&gt;</td> <td>Set Alchemy level</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">Teach SMT &lt;number&gt;</td> <td>Set Smith level</td> </tr> <tr> <td class=3D"cheat">Teach THF &lt;number&gt;</td> <td>Set Theif level</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">Teach HP &lt;number&gt;</td> <td>Set health</td> </tr> <tr> <td class=3D"cheat">Teach MP &lt;number&gt;</td> <td>Set mana</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">Teach SP &lt;number&gt;</td> <td>Set energy</td> </tr> <tr> <td class=3D"cheat">Teach LP &lt;number&gt;</td> <td>Add learning points</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">give Cat_Alchemy #</td> <td>gives all Foods, Herbs and Potions</td> </tr> <tr> <td class=3D"cheat">give Cat_Misc #</td> <td>gives all Miscellaneous Item</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">give Cat_Armor #</td> <td>gives all Armors</td> </tr> <tr> <td class=3D"cheat">give Cat_Weapon #</td> <td>gives all Weapons</td> </tr> <tr class=3D"alt"> <td class=3D"cheat">give Cat_Artefact #</td> <td>gives all Spellscoll, Teleport Stone and Ancient Stone</td> </tr> </tbody> </table> </div> </div> </div> <div class=3D"module bwp"> <iframe src=3D"Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20Gam=

eSpot.com.txt_files/search00.htm" id=3D"sponsored_iframe" width=3D"100%"= height=3D"230" scrolling=3D"no" marginheight=3D"0" marginwidth=3D"0" al= lowtransparency=3D"true" frameborder=3D"0" longdesc=3D"Sponsored Matches= "></iframe> </div> <div class=3D"module"> <div class=3D"head"> <div class=3D"wrap"> <div class=3D"module_title_wrap"> <h2 class=3D"module_title">Gothic 3 Secrets</h2> </div> </div> </div> <div class=3D"body"> <ul class=3D"cheats"> <li class=3D"cheat"> <div class=3D"head long_title"> <div class=3D"wrap"> <div class=3D"module_title_wrap"> <h3 class=3D"module_title">Helper to improve faction reputation and spaw= n items</h3> </div> </div> </div> <p>1. Type MARVIN very fast.<br />Game will say &quot;marvin mode activ= ated&quot;<p />2. Press ` button to bring up the ingame console.<p />3. = Input command &quot;spawn sh&quot;. Without the quotation marks.<p />An= ingame helper will appear. Talk to him and you are provided with optio= ns to increase faction reputation and spawn items. Also allows you to = move forward in the main quests. All in the form of standard dialogue o= ptions.<p />4. To turn of marvin mode, type MARVIN very fast again.<br = />Game will say &quot;marvin mode deactivated&quot;<p />5. When you're = done with the Helper, you can kill him to get rid of him.<br /></p> </li> </ul> </div> </div> <div id=3D"faqs_walkthroughs" class=3D"module "> <div class=3D"head"> <div class=3D"wrap"> <div class=3D"module_title_wrap"> <h2 class=3D"module_title">Gothic 3 Walkthroughs &amp; FAQs</h2> </div> </div> </div> <div class=3D"body"> <table class=3D"faqs" summary=3D"Gothic 3 FAQ/Walkthrough"> <tbody> <tr > <td class=3D"type">FAQ/Walkthrough</td> <td class=3D"cheat_title"><a href=3D"http://www.gamefaqs.com/computer/d= oswin/file/920920/48560">FAQ/Walkthrough by GeorgeKI</a></td> <td class=3D"cheat_size">135K</td> </tr> <tr > <td class=3D"type">Other</td> <td class=3D"cheat_title"><a href=3D"http://www.gamefaqs.com/computer/d= oswin/file/920920/47253">Chests FAQ by coal_james</a></td> <td class=3D"cheat_size">19K</td> </tr>

<tr class=3D"last"> <td class=3D"type">FAQ/Walkthrough</td> <td class=3D"cheat_title"><a href=3D"http://www.gamefaqs.com/computer/d= oswin/file/920920/46495">FAQ/Walkthrough by N3Burgener</a></td> <td class=3D"cheat_size">215K</td> </tr> </tbody> </table> </div> </div> <p class=3D"print_cheats"><a href=3D"http://asia.gamespot.com/pc/rpg/got= hic3/hints.html?print=3D1" rel=3D"nofollow">Print these Cheats</a></p> <div class=3D"quick_links"><em>Hints &amp; FAQs provided courtesy of <a = href=3D"http://www.gamefaqs.com/console/pc/code/920920.html" rel=3D"nofo= llow">GameFAQs</a>.</em></div> <div class=3D"module quick_links contain_all"> <div class=3D"head"> <div class=3D"wrap"> <div class=3D"module_title_wrap"> <h2 class=3D"module_title">Gothic 3 Quick Links</h2> </div> </div> </div> <div class=3D"body"> <p> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/index.html?tag=3Dqui= cklinks%3Bsummary">Summary</a>&nbsp; <a href=3D"http://asia.gamespot.co= m/pc/rpg/gothic3/review.html?tag=3Dquicklinks%3Breviews">Reviews</a>&nbs= p; <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/news.html?tag=3Dq= uicklinks%3Bnews">News</a>&nbsp; <a href=3D"http://asia.gamespot.com/pc= /rpg/gothic3/news.html?mode=3Dpreviews&tag=3Dquicklinks%3Bpreviews">Prev= iews &amp; Features</a>&nbsp; <a href=3D"http://asia.gamespot.com/pc/rp= g/gothic3/images.html?tag=3Dquicklinks%3Bimages">Images</a>&nbsp; <a hr= ef=3D"http://asia.gamespot.com/pc/rpg/gothic3/videos.html?tag=3Dquicklin= ks%3Bvideos">Videos</a>&nbsp; <a href=3D"http://asia.gamespot.com/pc/rp= g/gothic3/downloads.html?tag=3Dquicklinks%3Bdownloads">Downloads</a>&nbs= p; <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/answers.html?tag=3D= quicklinks%3Banswers">Answers</a>&nbsp; <a href=3D"http://asia.gamespot= .com/pc/rpg/gothic3/hints.html?tag=3Dquicklinks%3Bcheats">Hints &amp; Ch= eats</a>&nbsp; <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/forum= .html?tag=3Dquicklinks%3Bforums">Forum</a></p> </div> </div> </div> <div id=3D"side" class=3D"col side_col"> <div id=3D"score_summary" class=3D"module review_scores"><div class=3D"= body"><ul class=3D"review_scores"><li class=3D"editor_score highlighted_= score pc"><span class=3D"label">GameSpot Score</span><span class=3D"data= "><a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/review.html?mode=3D= gsreview&tag=3Dscoresummary%3Bgs-score">7.6</a></span><span class=3D"sco= reword">good</span></li><li class=3D"review_score critic_score"><div cla= ss=3D"wrap"><span class=3D"label">Critic Score</span><span class=3D"data= "><a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/review.html?mode=3D= web&tag=3Dscoresummary%3Bcritic-score">6.4</a></span><span class=3D"more= "><a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/review.html?mode=3D= web&tag=3Dscoresummary%3Bcritic-score"><span>42</span> reviews</a></span= ></div></li><li class=3D"review_score community_score"><div class=3D"wra= p"><span class=3D"label">User Score</span><span class=3D"data"><a href=3D= "http://asia.gamespot.com/pc/rpg/gothic3/players.html?tag=3Dscoresummary= %3Buser-score">7.8</a></span><span class=3D"more"><a href=3D"http://asia=

.gamespot.com/pc/rpg/gothic3/players.html?tag=3Dscoresummary%3Buser-scor= e">3,439 votes</a></span></div></li><li class=3D"review_score reader_sco= re"> <div class=3D"rating_slider {'require_signup':true}"> <div class=3D"wrap"> <div class=3D"score"> <span class=3D"label">Your Score</span> <span class=3D"data no_score">N/A</span> </div> <div class=3D"slider"> <p class=3D"msg" id=3D"slide_rater_text">hover &amp; click to rate</p= > <script type=3D"text/javascript"> document.getElementById('slide_rater_text').innerHTML =3D 'slide to rat= e'; </script> <ul class=3D"current_rating"> <li class=3D"rating_slider_10"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D1" title=3D"Rate 1 out of 10"><span class=3D"handle">1</span></a></l= i> <li class=3D"rating_slider_15"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D1.5" title=3D"Rate 1.5 out of 10"><span class=3D"handle">1.5</span><= /a></li> <li class=3D"rating_slider_20"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D2" title=3D"Rate 2 out of 10"><span class=3D"handle">2</span></a></l= i> <li class=3D"rating_slider_25"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D2.5" title=3D"Rate 2.5 out of 10"><span class=3D"handle">2.5</span><= /a></li> <li class=3D"rating_slider_30"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D3" title=3D"Rate 3 out of 10"><span class=3D"handle">3</span></a></l= i> <li class=3D"rating_slider_35"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D3.5" title=3D"Rate 3.5 out of 10"><span class=3D"handle">3.5</span><= /a></li> <li class=3D"rating_slider_40"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D4" title=3D"Rate 4 out of 10"><span class=3D"handle">4</span></a></l= i> <li class=3D"rating_slider_45"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D4.5" title=3D"Rate 4.5 out of 10"><span class=3D"handle">4.5</span><= /a></li> <li class=3D"rating_slider_50"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D5" title=3D"Rate 5 out of 10"><span class=3D"handle">5</span></a></l= i> <li class=3D"rating_slider_55"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D5.5" title=3D"Rate 5.5 out of 10"><span class=3D"handle">5.5</span><= /a></li> <li class=3D"rating_slider_60"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D6" title=3D"Rate 6 out of 10"><span class=3D"handle">6</span></a></l= i>

<li class=3D"rating_slider_65"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D6.5" title=3D"Rate 6.5 out of 10"><span class=3D"handle">6.5</span><= /a></li> <li class=3D"rating_slider_70"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D7" title=3D"Rate 7 out of 10"><span class=3D"handle">7</span></a></l= i> <li class=3D"rating_slider_75"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D7.5" title=3D"Rate 7.5 out of 10"><span class=3D"handle">7.5</span><= /a></li> <li class=3D"rating_slider_80"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D8" title=3D"Rate 8 out of 10"><span class=3D"handle">8</span></a></l= i> <li class=3D"rating_slider_85"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D8.5" title=3D"Rate 8.5 out of 10"><span class=3D"handle">8.5</span><= /a></li> <li class=3D"rating_slider_90"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D9" title=3D"Rate 9 out of 10"><span class=3D"handle">9</span></a></l= i> <li class=3D"rating_slider_95"><a rel=3D"nofollow" href=3D"http://asi= a.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_ratin= g=3D9.5" title=3D"Rate 9.5 out of 10"><span class=3D"handle">9.5</span><= /a></li> <li class=3D"rating_slider_100"><a rel=3D"nofollow" href=3D"http://as= ia.gamespot.com/pages/ajax/post_rating.php?ref_id=3D920920&amp;user_rati= ng=3D10" title=3D"Rate 10 out of 10"><span class=3D"handle">10</span></a= ></li> </ul> </div> </div> </div></li></ul><ul class=3D"actions post_release"><li class=3D"about"><= a href=3D"http://asia.gamespot.com/pages/misc/reviewguidelines.html?tag=3D= scoresummary%3Breview-guidelines">About the rating system &raquo;</a></l= i><li class=3D"review"><a href=3D"http://asia.gamespot.com/pc/rpg/gothic= 3/post_review.html?tag=3Dscoresummary%3Bpost-review"><span>Review the Ga= me</span></a></li></ul></div></div> <div class=3D"ad_unit ad_unit_halfp= age-mpu"> <div class=3D"ad_wrap ad_wrap_dart"> <div style=3D"text-align:center;"><img src=3D"http://ads.com.com/Ads/= common/advertisement.gif" alt=3D"Advertisement" style=3D"display:block;h= eight:10px;width:120px;margin:0 auto;" /></div> <!-- begin ad tag (tile=3D2) --> <script language=3D'JavaScript' src=3D'http://ad.doubleclick= .net/adj/asia.gamespot/cheats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;e= srb=3DT;publisher=3Daspyr;score=3D7.6;pos=3Dtop;tile=3D2;sz=3D300x250,30= 0x600;ord=3D1320173059?' type=3D'text/javascript'></script> <noscript><a href=3D'http://ad.doubleclick.net/jump/asia.gam= espot/cheats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;esrb=3DT;publisher= =3Daspyr;score=3D7.6;pos=3Dtop;tile=3D2;sz=3D300x250,300x600;ord=3D13201= 73059?' target=3D'_blank'> <img src=3D'http://ad.doubleclick.net/ad/asia.gamespot/c= heats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;esrb=3DT;publisher=3Daspy= r;score=3D7.6;pos=3Dtop;tile=3D2;sz=3D300x250,300x600;ord=3D1320173059?'= width=3D'300' height=3D'600' border=3D'0' alt=3D'' /></a> </noscript>

<!-- End ad tag --> </div> </div> <div class=3D"module youtube_subscribe_module"> <div class=3D"head defa= ult_module_title"> <div class=3D"wrap"> <div class=3D"module_title_wrap"> <h2 class=3D"module_title">Subscribe to GameSpot's YouTube Channel</h2> </div> </div> </div> <div class=3D"youtube_subscribe_body"><div class=3D"body_wrap"><iframe s= rc=3D"Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.= txt_files/subscrib.htm" style=3D"overflow: hidden; height: 105px; width:= 300px; border: 0;" scrolling=3D"no" frameBorder=3D"0"></iframe></div></= div></div> <div id=3D"gamingoffers" class=3D"module contain_all"> <div class=3D"head"> <div class=3D"wrap"> <div class=3D"module_title_wrap"> <h2 class=3D"module_title">Free Gaming Offers</h2> </div> </div> </div> <div class=3D"body"> <ul> <li class=3D""> <div class=3D"wrap"> <h3> <a href=3D"http://dw.com.com/rubicsclk?ver=3D2&amp;ts=3D2011.11.01.11.4= 4.19.PDT&amp;edId=3D&amp;onId=3D&amp;ptId=3D&amp;sId=3D-1&amp;appId=3D29= &amp;offId=3D23&amp;unitId=3D62&amp;poolId=3D1&amp;f1=3D-0&amp;f2=3D-0&a= mp;f3=3D-0&amp;alg=3D3&amp;&amp;opt=3D1&amp;linkPos=3D0&amp;destUrl=3Dht= tp:%2F%2Froia.biz%2Fts%2Fn%2Fnwp4vq1DAAAKckIAAHNFZjEA-A%2F" >Play Battle= star Galactica!</a> </h3> <div class=3D"details"> <div class=3D"thumb"> <a class=3D"avatar" href=3D"http://dw.com.com/rubicsclk?ver=3D2&amp;ts=3D= 2011.11.01.11.44.19.PDT&amp;edId=3D&amp;onId=3D&amp;ptId=3D&amp;sId=3D-1= &amp;appId=3D29&amp;offId=3D23&amp;unitId=3D62&amp;poolId=3D1&amp;f1=3D-= 0&amp;f2=3D-0&amp;f3=3D-0&amp;alg=3D3&amp;&amp;opt=3D1&amp;linkPos=3D0&a= mp;destUrl=3Dhttp:%2F%2Froia.biz%2Fts%2Fn%2Fnwp4vq1DAAAKckIAAHNFZjEA-A%2= F" style=3D"background-image:url(http://cdn.makanamedia.com/creative/bst= ar_68.gif)"></a> </div> <div class=3D"deck"> <p>Free multiplayer online space game - try Battlestar Galactica today!<= img src=3D"http://dw.com.com/rubicsimp/c.gif?ver=3D2&ts=3D2011.11.01.11.= 44.19.PDT&edId=3D&onId=3D&ptId=3D&sId=3D-1&appId=3D29&unitId=3D62&poolId= =3D1&f1=3D-0&f2=3D-0&f3=3D-0&alg=3D3&opt=3D1&off=3D23,-1" class=3D"absol= ute"/></p> </div> </div> </div> </li> <li class=3D""> <div class=3D"wrap"> <h3> <a href=3D"http://dw.com.com/rubicsclk?ver=3D2&amp;ts=3D2011.11.01.11.4= 4.19.PDT&amp;edId=3D&amp;onId=3D&amp;ptId=3D&amp;sId=3D-1&amp;appId=3D29= &amp;offId=3D18&amp;unitId=3D62&amp;poolId=3D1&amp;f1=3D-0&amp;f2=3D-0&a=

mp;f3=3D-0&amp;alg=3D3&amp;&amp;opt=3D1&amp;linkPos=3D1&amp;destUrl=3Dht= tp:%2F%2Froia.biz%2Fts%2Fn%2FSCMPvq1DAAAJS0IAAHDrZjEA-A%2F" >Play Runes = of Magic</a> </h3> <div class=3D"details"> <div class=3D"thumb"> <a class=3D"avatar" href=3D"http://dw.com.com/rubicsclk?ver=3D2&amp;ts=3D= 2011.11.01.11.44.19.PDT&amp;edId=3D&amp;onId=3D&amp;ptId=3D&amp;sId=3D-1= &amp;appId=3D29&amp;offId=3D18&amp;unitId=3D62&amp;poolId=3D1&amp;f1=3D-= 0&amp;f2=3D-0&amp;f3=3D-0&amp;alg=3D3&amp;&amp;opt=3D1&amp;linkPos=3D1&a= mp;destUrl=3Dhttp:%2F%2Froia.biz%2Fts%2Fn%2FSCMPvq1DAAAJS0IAAHDrZjEA-A%2= F" style=3D"background-image:url(http://cdn.makanamedia.com/creative/run= esmagic.gif)"></a> </div> <div class=3D"deck"> <p>Meet mysterious and dangerous creatures and solve the enigmas of old = kingdoms. Play today!<img src=3D"http://dw.com.com/rubicsimp/c.gif?ver=3D= 2&ts=3D2011.11.01.11.44.19.PDT&edId=3D&onId=3D&ptId=3D&sId=3D-1&appId=3D= 29&unitId=3D62&poolId=3D1&f1=3D-0&f2=3D-0&f3=3D-0&alg=3D3&opt=3D1&off=3D= 18,-1" class=3D"absolute"/></p> </div> </div> </div> </li> <li class=3D"last"> <div class=3D"wrap"> <h3> <a href=3D"http://dw.com.com/rubicsclk?ver=3D2&amp;ts=3D2011.11.01.11.4= 4.19.PDT&amp;edId=3D&amp;onId=3D&amp;ptId=3D&amp;sId=3D-1&amp;appId=3D29= &amp;offId=3D26&amp;unitId=3D62&amp;poolId=3D1&amp;f1=3D-0&amp;f2=3D-0&a= mp;f3=3D-0&amp;alg=3D3&amp;&amp;opt=3D1&amp;linkPos=3D2&amp;destUrl=3Dht= tp:%2F%2Froia.biz%2Fts%2Fn%2FgP1ivq1DAAAK2UIAAHTtZjEA-A%2F" >Play MLB Ma= nager Online</a> </h3> <div class=3D"details"> <div class=3D"thumb"> <a class=3D"avatar" href=3D"http://dw.com.com/rubicsclk?ver=3D2&amp;ts=3D= 2011.11.01.11.44.19.PDT&amp;edId=3D&amp;onId=3D&amp;ptId=3D&amp;sId=3D-1= &amp;appId=3D29&amp;offId=3D26&amp;unitId=3D62&amp;poolId=3D1&amp;f1=3D-= 0&amp;f2=3D-0&amp;f3=3D-0&amp;alg=3D3&amp;&amp;opt=3D1&amp;linkPos=3D2&a= mp;destUrl=3Dhttp:%2F%2Froia.biz%2Fts%2Fn%2FgP1ivq1DAAAK2UIAAHTtZjEA-A%2= F" style=3D"background-image:url(http://cdn.makanamedia.com/creative/mlb= _68x68.jpg)"></a> </div> <div class=3D"deck"> <p>Build your dream MLB Team and compete in the ultimate online baseball= league. Play Free Today!<img src=3D"http://dw.com.com/rubicsimp/c.gif?v= er=3D2&ts=3D2011.11.01.11.44.19.PDT&edId=3D&onId=3D&ptId=3D&sId=3D-1&app= Id=3D29&unitId=3D62&poolId=3D1&f1=3D-0&f2=3D-0&f3=3D-0&alg=3D3&opt=3D1&o= ff=3D26,-1" class=3D"absolute"/></p> </div> </div> </div> </li> </ul> </div> </div> <div class=3D"ad_unit ad_unit_bottom_mpu"> <div class=3D"ad_wrap ad_wrap_dart"> <div style=3D"text-align:center;"><img src=3D"http://ads.com.com/Ads/= common/advertisement.gif" alt=3D"Advertisement" style=3D"display:block;h=

eight:10px;width:120px;margin:0 auto;" /></div> <!-- begin ad tag (tile=3D3) --> <script language=3D'JavaScript' src=3D'http://ad.doubleclick= .net/adj/asia.gamespot/cheats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;e= srb=3DT;publisher=3Daspyr;score=3D7.6;pos=3Dbottom;dcopt=3Dist;tile=3D3;= sz=3D300x250,300x600;ord=3D1320173059?' type=3D'text/javascript'></scrip= t> <noscript><a href=3D'http://ad.doubleclick.net/jump/asia.gam= espot/cheats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;esrb=3DT;publisher= =3Daspyr;score=3D7.6;pos=3Dbottom;tile=3D3;sz=3D300x250,300x600;ord=3D13= 20173059?' target=3D'_blank'> <img src=3D'http://ad.doubleclick.net/ad/asia.gamespot/c= heats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;esrb=3DT;publisher=3Daspy= r;score=3D7.6;pos=3Dbottom;tile=3D3;sz=3D300x250,300x600;ord=3D132017305= 9?' width=3D'300' height=3D'600' border=3D'0' alt=3D'' /></a> </noscript> <!-- End ad tag --> </div> </div> </div> <div id=3D"mini" class=3D"col mini_col"> <div class=3D"col_wrap mini_col_wrap"> <div id=3D"gamestats" class=3D"module stats_module"> <div class=3D"body"> <div class=3D"stats_summary"> <h2 class=3D"product_title"><a class=3D"open_toggle_panel" href=3D"http= ://asia.gamespot.com/pc/rpg/gothic3/index.html">Gothic 3</a></h2> <div class=3D"boxshot"> <a class=3D"enlarge" rel=3D"popup:boxshot" href=3D"http://asia.gamespo= t.com/pages/image_viewer/boxshot.php?pid=3D920920"> <img src=3D"http://image.gamespotcdn.net/gamespot/images/2003/all/boxsh= ots2/920920_54699.jpg" alt=3D"Gothic 3 Boxshot" /> <img class=3D"enlarge" src=3D"http://image.gamespotcdn.net/gamespot/www= /images/icons/enlarge.gif" alt=3D"Enlarge the boxshot" /> </a> </div> <div class=3D"follower_btn no_user"> <a href=3D"http://fuse.gamespot.com/registration/signup/?followGame=3D9= 20920&tag=3Dfollow_btn_reg">Follow</a> </div> <p class=3D"no-user-text">Follow for the latest news, videos, &amp; tip= s from experts &amp; insiders</p> <div class=3D"gamespot-fuse"></div> <ul class=3D"stats"> <li class=3D"publisher"> <span class=3D"data"> <a href=3D"http://asia.gamespot.com/pages/company/index.php?company=3D7= 2357">Aspyr</a>, <a href=3D"http://asia.gamespot.com/pages/company/index= .php?company=3D44040">JoWood Ent. AG</a> </span> </li> <li class=3D"developer"> <span class=3D"data"> <a href=3D"http://asia.gamespot.com/pages/company/index.php?company=3D6= 5476">Piranha Bytes</a> </span> </li> <li class=3D"genre"> <span class=3D"data"> <a href=3D"http://asia.gamespot.com/games.html?platform=3D5&category=3D= Role-Playing" title=3D"Computer Role-Playing">Computer Role-Playing</a> </span>

</li> <li class=3D"date"> <span class=3D"label">Release:</span> <span class=3D"data"> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/similar.html?mode=3D= versions">Nov 14, 2006 (US) &raquo;</a> </span> </li> </ul> <div class=3D"more_info" id=3D"more_info_toggle_wrapper"><a class=3D"to= ggle open_toggle_panel" href=3D"http://asia.gamespot.com/pc/rpg/gothic3/= tech_info.html">More Info</a></div> <script type=3D"text/javascript"> $('more_info_toggle_wrapper').style.visibility =3D 'hidden'; </script> </div> <div class=3D"toggle_panel more_gamestats {expand_dir:'horizontal'}"> <div class=3D"body"> <div class=3D"wrap"> <div class=3D"wrap"> <h2>Game Stats</h2> <ul class=3D"more_stats"> <li class=3D"stat numbers"> <dl> <dt class=3D"overall_rank">Rank:</dt> <dd class=3D"rank overall_rank"> <em>511</em> of 139,768 <br /><span class=3D"rank_change up"> (<span class=3D"dir">up by </span><span class=3D"change">34</span>) </span> </dd> <dt class=3D"platform_rank pc">PC Rank:</dt> <dd class=3D"rank platform_rank"> <em class=3D"pc">220</em> of 15,592 </dd> <dt class=3D"tracking">Followers:</dt> <dd class=3D"tracking"> <em>4,889</em> <a class=3D"gamespace {'id':920920,'list':'tracked'}" href=3D"http://a= sia.gamespot.com/pages/common/login.php">Follow&raquo;</a> </dd> <dt class=3D"wishlists">Wishlists:</dt> <dd class=3D"wishlists"> <em>2,259</em> <a class=3D"gamespace {'id':920920,'list':'want'}" href=3D"http://asia= .gamespot.com/pages/common/login.php">Wish It&raquo;</a> </dd> </dl> </li> <li class=3D"stat players"> <dl class=3D"player_stats"> <dt class=3D"first reviews">Player Reviews:</dt> <dd class=3D"reviews"><a class=3D"pc" href=3D"http://asia.gamespot.com/= pc/rpg/gothic3/players.html">220</a></dd> <dt class=3D"ratings">Player Ratings:</dt> <dd class=3D"ratings">3439</dd> <dt class=3D"now_playing">Users Now Playing:</dt> <dd class=3D"now_playing">546</dd> </dl> </li> <li class=3D"stat universe"> <div class=3D"label">Game Universe:</div> <ul>

<li><a href=3D"http://asia.gamespot.com/pc/rpg/gothic4/index.html" clas= s=3D"pc">Arcania: Gothic 4</a><span class=3D"platforms"> (<a href=3D"htt= p://asia.gamespot.com/pc/rpg/gothic4/index.html">PC</a>, <a href=3D"http= ://asia.gamespot.com/ps3/rpg/arcaniaagothictale/index.html">PS3</a>, <a = href=3D"http://asia.gamespot.com/xbox360/rpg/arcaniaagothictale/index.ht= ml">X360</a>)</span>, </li> <li><a href=3D"http://asia.gamespot.com/pc/rpg/gothic2/index.html" clas= s=3D"pc">Gothic II</a><span class=3D"platforms"> (<a href=3D"http://asia= .gamespot.com/pc/rpg/gothic2/index.html">PC</a>)</span>, </li> <li><a href=3D"http://asia.gamespot.com/pc/rpg/gothic3forsakengods/inde= x.html" class=3D"pc">Gothic 3 - Forsaken Gods</a><span class=3D"platform= s"> (<a href=3D"http://asia.gamespot.com/pc/rpg/gothic3forsakengods/inde= x.html">PC</a>)</span>, </li> <li><a href=3D"http://asia.gamespot.com/pc/rpg/gothiciithenightoftherav= en/index.html" class=3D"pc">Gothic II: Night of the Raven</a><span class= =3D"platforms"> (<a href=3D"http://asia.gamespot.com/pc/rpg/gothiciithen= ightoftheraven/index.html">PC</a>)</span>, </li> <li><a href=3D"http://asia.gamespot.com/pc/puzzle/gothicuniverse/index.= html" class=3D"pc">Gothic Universe</a><span class=3D"platforms"> (<a hre= f=3D"http://asia.gamespot.com/pc/puzzle/gothicuniverse/index.html">PC</a= >)</span> </li> </ul> </li> <li class=3D"stat play_info"> <div class=3D"label">Number of Players:</div> <p> 1 Player </p> </li> <li class=3D"stat user_tags"> <div class=3D"label">Top 5 User Tags:</div> <ol> <li><a href=3D"http://asia.gamespot.com/pages/tags/index.php?tags=3Dgo= thic+3">gothic 3</a></li> <li><a href=3D"http://asia.gamespot.com/pages/tags/index.php?tags=3Dgo= thic">gothic</a></li> <li><a href=3D"http://asia.gamespot.com/pages/tags/index.php?tags=3Drp= g">rpg</a></li> <li><a href=3D"http://asia.gamespot.com/pages/tags/index.php?tags=3Das= pyr">aspyr</a></li> <li><a href=3D"http://asia.gamespot.com/pages/tags/index.php?tags=3Dpi= ranha+bytes">piranha bytes</a></li> </ol> </li> </ul> <div class=3D"actions"> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/tech_info.html">Full= Game Details &raquo;</a><a class=3D"close toggle" href=3D"">Close</a> </div> </div> </div> </div> </div> </div> </div> <div class=3D"content_nav"> <ul class=3D"content_nav"> <li class=3D"summary"> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/index.html?tag=3Dtab= s%3Bsummary">Summary</a> </li> <li class=3D"reviews">

<a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/review.html?tag=3Dta= bs%3Breviews">Reviews</a> </li> <li class=3D"news"> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/news.html?tag=3Dtabs= %3Bnews">News</a> </li> <li class=3D"previews"> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/news.html?mode=3Dpre= views&tag=3Dtabs%3Bpreviews">Previews &amp; Features</a> </li> <li class=3D"images"> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/images.html?tag=3Dta= bs%3Bimages">Images</a> </li> <li class=3D"videos"> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/videos.html?tag=3Dta= bs%3Bvideos">Videos</a> </li> <li class=3D"downloads"> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/downloads.html?tag=3D= tabs%3Bdownloads">Downloads</a> </li> <li class=3D"answers"> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/answers.html?tag=3Dt= abs%3Banswers">Answers</a> </li> <li class=3D"cheats on"> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/hints.html?tag=3Dtab= s%3Bcheats">Hints &amp; Cheats</a> <ul> <li class=3D"cheats "> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/hints.html?mode=3Dch= eats&tag=3Dtabs%3Bcheats">Cheats</a> </li> <li class=3D"walkthroughs "> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/hints.html?mode=3Dwa= lkthroughs&tag=3Dtabs%3Bcheats">Walkthroughs</a> </li> <li class=3D"secrets "> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/hints.html?mode=3Dse= crets&tag=3Dtabs%3Bcheats">Secrets</a> </li> </ul> </li> <li class=3D"forums"> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/forum.html?tag=3Dtab= s%3Bforums">Forum</a> </li> </ul> </div> <div id=3D"similar_module" class=3D"module"> <div class=3D"head"> <div class=3D"wrap"> <div class=3D"module_title_wrap"> <h2 class=3D"module_title">Games you may like&hellip;</h2> </div> </div> </div> <div class=3D"body"> <img class=3D"tracking_gif" src=3D"http://dw.com.com/redir?tag=3Drbxirg= .2.a.10&destUrl=3Dhttp://image.gamespotcdn.net/gamespot/b.gif" alt=3D"" =

/> <ul> <li> <a href=3D"http://dw.com.com/redir?tag=3Drbxcrg.2.a.1&destUrl=3Dhttp%3A%= 2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Fgothic2%2Findex.html%3Ftag%3Dsimilar= games%253Bimg%253B1" class=3D"thumb"><img src=3D"http://image.gamespotcd= n.net/gamespot/images/2003/all/boxshots2/561413.jpg" alt=3D"Gothic II"/>= </a> <div class=3D"title_bar"> <h3> <a href=3D"http://dw.com.com/redir?tag=3Drbxcrg.2.a.1&destUrl=3Dhttp%3A%= 2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Fgothic2%2Findex.html%3Ftag%3Dsimilar= games%253Btitle%253B1">Gothic II</a> </h3>&nbsp;<span class=3D"platform">(PC)</span> </div> </li> <li> <a href=3D"http://dw.com.com/redir?tag=3Drbxcrg.2.a.2&destUrl=3Dhttp%3A%= 2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Fgothic3forsakengods%2Findex.html%3Ft= ag%3Dsimilargames%253Bimg%253B2" class=3D"thumb"><img src=3D"http://imag= e.gamespotcdn.net/gamespot/images/2003/all/boxshots2/945822_111361.jpg" = alt=3D"Gothic 3 - Forsaken Gods"/></a> <div class=3D"title_bar"> <h3> <a href=3D"http://dw.com.com/redir?tag=3Drbxcrg.2.a.2&destUrl=3Dhttp%3A%= 2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Fgothic3forsakengods%2Findex.html%3Ft= ag%3Dsimilargames%253Btitle%253B2">Gothic 3 - Forsaken Gods</a> </h3>&nbsp;<span class=3D"platform">(PC)</span> </div> </li> <li> <a href=3D"http://dw.com.com/redir?tag=3Drbxcrg.2.a.3&destUrl=3Dhttp%3A%= 2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Fgothic4%2Findex.html%3Ftag%3Dsimilar= games%253Bimg%253B3" class=3D"thumb"><img src=3D"http://image.gamespotcd= n.net/gamespot/images/2003/all/boxshots2/939672_178129.jpg" alt=3D"Arcan= ia: Gothic 4"/></a> <div class=3D"title_bar"> <h3> <a href=3D"http://dw.com.com/redir?tag=3Drbxcrg.2.a.3&destUrl=3Dhttp%3A%= 2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Fgothic4%2Findex.html%3Ftag%3Dsimilar= games%253Btitle%253B3">Arcania: Gothic 4</a> </h3>&nbsp;<span class=3D"platform">(PC)</span> </div> </li> <li> <a href=3D"http://dw.com.com/redir?tag=3Drbxcrg.2.a.4&destUrl=3Dhttp%3A%= 2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Fgothic%2Findex.html%3Ftag%3Dsimilarg= ames%253Bimg%253B4" class=3D"thumb"><img src=3D"http://image.gamespotcdn= .net/gamespot/images/2003/all/boxshots2/913888_47354.jpg" alt=3D"Gothic"= /></a> <div class=3D"title_bar"> <h3> <a href=3D"http://dw.com.com/redir?tag=3Drbxcrg.2.a.4&destUrl=3Dhttp%3A%= 2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Fgothic%2Findex.html%3Ftag%3Dsimilarg= ames%253Btitle%253B4">Gothic</a> </h3>&nbsp;<span class=3D"platform">(PC)</span> </div> </li> <li> <a href=3D"http://dw.com.com/redir?tag=3Drbxcrg.2.a.5&destUrl=3Dhttp%3A%= 2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Frisen%2Findex.html%3Ftag%3Dsimilarga= mes%253Bimg%253B5" class=3D"thumb"><img src=3D"http://image.gamespotcdn.= net/gamespot/images/2003/all/boxshots2/952152_137495.jpg" alt=3D"Risen"/= ></a> <div class=3D"title_bar"> <h3>

<a href=3D"http://dw.com.com/redir?tag=3Drbxcrg.2.a.5&destUrl=3Dhttp%3A%= 2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Frisen%2Findex.html%3Ftag%3Dsimilarga= mes%253Btitle%253B5">Risen</a> </h3>&nbsp;<span class=3D"platform">(PC)</span> </div> </li> </ul> <div class=3D"more"> <p>Users who looked at content for this game also looked at these games= .</p> <a href=3D"http://asia.gamespot.com/pc/rpg/gothic3/similar.html?tag=3Ds= imilargames%3Bmore">See More Similar Games</a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div id=3D"footleader"> <div class=3D"ad_unit ad_unit_bottom_leader"> <div class=3D"ad_wrap ad_wrap_dart"> <div style=3D"text-align:center;"><img src=3D"http://ads.com.com/Ads/= common/advertisement.gif" alt=3D"Advertisement" style=3D"display:block;h= eight:10px;width:120px;margin:0 auto;" /></div> <!-- begin ad tag (tile=3D4) --> <script language=3D'JavaScript' src=3D'http://ad.doubleclick= .net/adj/asia.gamespot/cheats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;e= srb=3DT;publisher=3Daspyr;score=3D7.6;pos=3Dbottom;tile=3D4;sz=3D728x90;= ord=3D1320173059?' type=3D'text/javascript'></script> <noscript><a href=3D'http://ad.doubleclick.net/jump/asia.gam= espot/cheats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;esrb=3DT;publisher= =3Daspyr;score=3D7.6;pos=3Dbottom;tile=3D4;sz=3D728x90;ord=3D1320173059?= ' target=3D'_blank'> <img src=3D'http://ad.doubleclick.net/ad/asia.gamespot/c= heats;chan=3Dcheats;genre=3Drpg;game=3Dgothic3;esrb=3DT;publisher=3Daspy= r;score=3D7.6;pos=3Dbottom;tile=3D4;sz=3D728x90;ord=3D1320173059?' width= =3D'728' height=3D'90' border=3D'0' alt=3D'' /></a> </noscript> <!-- End ad tag --> </div> </div> </div> </div> </div><div id=3D"site_footer"> <div class=3D"footer_wrap"> <div class=3D"site_mf_wrap site_mf_top_wrap"> <div class=3D"site_mf_brand_logo">GameSpot</div> </div> <form action=3D"http://asia.gamespot.com/search.html" class=3D"search mi= ni_search" method=3D"get"><fieldset><legend>Search</legend><div class=3D= "wrap"><span class=3D"search_text dynamic_helptext"><span class=3D"help"= >Search</span><span class=3D"field search_query_field"><input class=3D"t= ext" name=3D"qs" type=3D"text" value=3D"" /></span></span><span class=3D= "submit"><span class=3D"btn"><button type=3D"submit" class=3D"submit"><s= pan>Search</span></button></span></span><input type=3D"hidden" name=3D"t=

ag" value=3D"footersearch;button" /></div></fieldset></form><div class=3D= "nav"><div class=3D"wrap"><div class=3D"feed"><a href=3D"http://asia.gam= espot.com/misc/rss/index.html?tag=3Dfooter%3Blink">RSS</a></div><ul clas= s=3D"primary"><li><a href=3D"http://asia.gamespot.com/?tag=3Dfooter%3Bli= nk">Home</a></li><li><a href=3D"http://asia.gamespot.com/pc/index.html?t= ag=3Dfooter%3Blink">PC</a></li><li><a href=3D"http://asia.gamespot.com/x= box360/index.html?tag=3Dfooter%3Blink">Xbox 360</a></li><li><a href=3D"h= ttp://asia.gamespot.com/wii/index.html?tag=3Dfooter%3Blink">Wii</a></li>= <li><a href=3D"http://asia.gamespot.com/ps3/index.html?tag=3Dfooter%3Bli= nk">PS3</a></li><li><a href=3D"http://asia.gamespot.com/psp/index.html?t= ag=3Dfooter%3Blink">PSP</a></li><li><a href=3D"http://asia.gamespot.com/= 3ds/index.html?tag=3Dfooter%3Blink">3DS</a></li><li><a href=3D"http://as= ia.gamespot.com/ds/index.html?tag=3Dfooter%3Blink">DS</a></li><li><a hre= f=3D"http://asia.gamespot.com/iphone/index.html?tag=3Dfooter%3Blink">iPh= one</a></li><li><a href=3D"http://asia.gamespot.com/mobile/index.html?ta= g=3Dfooter%3Blink">Mobile</a></li><li><a href=3D"http://asia.gamespot.co= m/forums/index.html?tag=3Dfooter%3Blink">Forums</a></li><li><a href=3D"h= ttp://asia.gamespot.com/videos/index.html?tag=3Dfooter%3Blink">Videos</a= ></li><li><a href=3D"http://asia.gamespot.com/cheats.html?tag=3Dfooter%3= Blink">Cheats</a></li><li><a href=3D"http://asia.gamespot.com/newthiswee= k.html?tag=3Dfooter%3Blink">New Releases</a></li><li><a href=3D"http://a= sia.gamespot.com/downloads/index.html?tag=3Dfooter%3Blink">Downloads</a>= </li><li><a href=3D"http://asia.gamespot.com/news/index.html?tag=3Dfoote= r%3Blink">News</a></li></ul><ul class=3D"site"><li><a href=3D"http://asi= a.gamespot.com/misc/worldwide.html?tag=3Dfooter%3Blink&tag=3Dfooter%3Bli= nk">Worldwide</a></li><li><a href=3D"http://asia.gamespot.com/misc/about= us.html?tag=3Dfooter%3Blink&tag=3Dfooter%3Blink">About Us</a></li><li><a= href=3D"http://asia.gamespot.com/pages/common/login.php?tag=3Dfooter%3B= link&tag=3Dfooter%3Blink">Join GameSpot</a></li><li><a href=3D"http://as= ia.gamespot.com/gamemarket/?tag=3Dfooter%3Blink&tag=3Dfooter%3Blink">Sho= p for Games</a></li><li><a href=3D"http://asia.gamespot.com/misc/helpcen= ter.html?tag=3Dfooter%3Blink&tag=3Dfooter%3Blink">Help</a></li><li><a hr= ef=3D"http://sitemap.gamespot.com/?tag=3Dfooter%3Blink&tag=3Dfooter%3Bli= nk">Site Map</a></li><li><a href=3D"http://www.cbsinteractive.com/brand_= pdfs/sellsheet_GameSpot.pdf?tag=3Dfooter%3Badvertise&tag=3Dgamespot%3Bfo= oter">Advertise on GameSpot</a></li><li><a href=3D"http://uk.gamespot.co= m/?tag=3Dgamespot%3Bfooter">UK.GameSpot.com</a></li><li><a href=3D"http:= //www.gamefaqs.com/?tag=3Dgamespot%3Bfooter">GameFAQs.com</a></li><li><a= href=3D"http://www.gamerankings.com/?tag=3Dgamespot%3Bfooter">GameRanki= ngs.com</a></li><li class=3D"last"><a href=3D"http://www.metacritic.com/= ?tag=3Dgamespot%3Bfooter">Metacritic.com</a></li></ul></div></div><div c= lass=3D"promos"> <div class=3D"wrap"> <ul class=3D"promo_types"> <li class=3D"promo_type stories"><em>Top Stories:</em><ol><li><div clas= s=3D"wrap"><a href=3D"http://asia.gamespot.com/ps3/action/uncharted-3-dr= akes-deception/video/6342132/uncharted-3-drakes-deception-video-review?t= ag=3Dsummary%3Bwatch-review&tag=3Dfooter%3Blink" class=3D"title">Unchart= ed 3 Video Review</a><div class=3D"thumb"><a href=3D"http://asia.gamespo= t.com/ps3/action/uncharted-3-drakes-deception/video/6342132/uncharted-3-= drakes-deception-video-review?tag=3Dsummary%3Bwatch-review&tag=3Dfooter%= 3Bimg"><img src=3D"http://image.gamespotcdn.net/gamespot/shared/Topslots= /2011/Uncharted_102411t.jpg" alt=3D"Uncharted 3 Video Review" /></a></di= v></div></li><li><div class=3D"wrap"><a href=3D"http://asia.gamespot.com= /event/codes/saintsrow-xbox/?tag=3Dfooter%3Blink" class=3D"title">Saints= Row: The Third Initiation Station Giveaway</a><div class=3D"thumb"><a h= ref=3D"http://asia.gamespot.com/event/codes/saintsrow-xbox/?tag=3Dfooter= %3Bimg"><img src=3D"http://image.gamespotcdn.net/gamespot/shared/Topslot= s/2011/saintsrowthird_demo_102511t.jpg" alt=3D"Saints Row: The Third Ini= tiation Station Giveaway" /></a></div></div></li><li class=3D"last"><div=

class=3D"wrap"><a href=3D"http://asia.gamespot.com/xbox360/action/resid= ent-evil-operation-raccoon-city/news/6343061/resident-evil-operation-rac= coon-city-hands-on-preview-four-eyes?tag=3Dfooter%3Blink" class=3D"title= ">Resident Evil: Operation Raccoon City</a><div class=3D"thumb"><a href=3D= "http://asia.gamespot.com/xbox360/action/resident-evil-operation-raccoon= -city/news/6343061/resident-evil-operation-raccoon-city-hands-on-preview= -four-eyes?tag=3Dfooter%3Bimg"><img src=3D"http://image.gamespotcdn.net/= gamespot/shared/Topslots/2011/ResidentEvilORC_102811t.jpg" alt=3D"Reside= nt Evil: Operation Raccoon City" /></a></div></div></li></ol></li><li cl= ass=3D"promo_type games"><em>Top Games:</em><ol><li><a href=3D"http://as= ia.gamespot.com/xbox360/action/battlefield-3/index.html?tag=3Dfooter%3Bl= ink">Battlefield 3 (X360)</a></li><li><a href=3D"http://asia.gamespot.co= m/ps3/action/uncharted-3-drakes-deception/index.html?tag=3Dfooter%3Blink= ">Uncharted 3 (PS3)</a></li><li><a href=3D"http://asia.gamespot.com/pc/a= ction/battlefield-3/index.html?tag=3Dfooter%3Blink">Battlefield 3 (PC)</= a></li><li><a href=3D"http://asia.gamespot.com/ps3/rpg/dark-souls/index.= html?tag=3Dfooter%3Blink">Dark Souls (PS3)</a></li><li><a href=3D"http:/= /asia.gamespot.com/xbox360/action/saints-row-the-third/index.html?tag=3D= footer%3Blink">Saints Row: The Third (X360)</a></li><li><a href=3D"http:= //asia.gamespot.com/pc/rpg/the-elder-scrolls-v-skyrim/index.html?tag=3Df= ooter%3Blink">Elder Scrolls V: Skyrim (PC)</a></li><li><a href=3D"http:/= /asia.gamespot.com/xbox360/rpg/the-elder-scrolls-v-skyrim/index.html?tag= =3Dfooter%3Blink">Elder Scrolls V: Skyrim (X360)</a></li><li class=3D"la= st"><a href=3D"http://asia.gamespot.com/xbox360/action/batman-arkham-cit= y/index.html?tag=3Dfooter%3Blink">Batman: Arkham City (X360)</a></li></o= l></li><li class=3D"promo_type cheats"><em>Top Cheats:</em><ol><li><a hr= ef=3D"http://asia.gamespot.com/pc/action/gta4/hints.html?tag=3Dfooter%3B= link">GTA: San Andreas Cheats</a></li><li><a href=3D"http://asia.gamespo= t.com/pc/action/grandtheftautovicecity/hints.html?tag=3Dfooter%3Blink">G= TA: Vice City Cheats</a></li><li><a href=3D"http://asia.gamespot.com/pc/= rpg/the-elder-scrolls-iv-oblivion/hints.html?tag=3Dfooter%3Blink">Elder = Scrolls: Oblivion Cheats</a></li><li><a href=3D"http://asia.gamespot.com= /pc/strategy/age-of-empires-iii/hints.html?tag=3Dfooter%3Blink">Age of E= mpires III Cheats</a></li><li><a href=3D"http://asia.gamespot.com/pc/puz= zle/thesims2/hints.html?tag=3Dfooter%3Blink">The Sims 2 Cheats</a></li><= li><a href=3D"http://asia.gamespot.com/pc/action/battlefield-3/hints.htm= l?tag=3Dfooter%3Blink">Battlefield 3 Cheats</a></li><li><a href=3D"http:= //asia.gamespot.com/pc/driving/need-for-speed-underground-2/hints.html?t= ag=3Dfooter%3Blink">NFS Underground 2 Cheats</a></li><li class=3D"last">= <a href=3D"http://asia.gamespot.com/pc/strategy/medieval2totalwar/hints.= html?tag=3Dfooter%3Blink">Medieval II: Total War Cheats</a></li></ol></l= i><li class=3D"promo_type gs_on"><em>GameSpot On:</em><ol><li><a href=3D= "http://twitter.com/gamespotasia" rel=3D"popup:blank">Twitter</a></li><l= i><a href=3D"http://www.facebook.com/GameSpotasia" rel=3D"popup:blank">F= acebook</a></li><li><a href=3D"http://www.youtube.com/gamespot" rel=3D"p= opup:blank">YouTube</a></li><li><a href=3D"http://iphone.gamespot.com/" = rel=3D"popup:blank">iPhone</a></li><li><a href=3D"http://m.gamespot.com/= " rel=3D"popup:blank">Mobile</a></li></ol></li> </ul> </div> </div><div id=3D"cbs_footer"> <div class=3D"popular"> <span>Popular on CBS sites:</span> <ul class=3D"cbsi_f_pop"> <li><a href=3D"http://www.cbssports.com/collegefootball/video/live?tag=3D= gamespot%3Bfooter">SEC Football</a></li> <li><a href=3D"http://www.cbssports.com/nfl?tag=3Dgamespot%3Bfooter">NFL= </a></li> <li><a href=3D"http://www.gamespot.com/cheats.html?tag=3Dgamespot%3Bfoot= er">Video Game Cheats</a></li> <li><a href=3D"http://www.cnet.com/apple-iphone.html?tag=3Dgamespot%3Bfo=

oter">iPhone</a></li> <li><a href=3D"http://www.gamespot.com/reviews.html?tag=3Dgamespot%3Bfoo= ter">Video Game Reviews</a></li> <li><a href=3D"http://reviews.cnet.com/laptops?tag=3Dgamespot%3Bfooter">= Notebooks</a></li> <li class=3D"last"><a href=3D"http://download.cnet.com/windows/antivirus= -software/?tag=3Dgamespot%3Bfooter">Antivirus Software</a></li> </ul> </div> <form action=3D""> <label for=3D"cbsi_footer_menu">Visit other CBS Interactive Sites</label= > <select id=3D"cbsi_footer_menu"> <option value=3D"">Select Site</option> <option value=3D"http://www.bnet.com?tag=3Dgamespot%3Bfooter">BNET</opti= on> <option value=3D"http://www.cbscares.com?tag=3Dgamespot%3Bfooter">CBS Ca= res</option> <option value=3D"http://www.cbssports.com/cbscollegesports/?tag=3Dgamesp= ot%3Bfooter">CBS College Sports</option> <option value=3D"http://www.cbsfilms.com?tag=3Dgamespot%3Bfooter">CBS Fi= lms</option> <option value=3D"http://www.cbsradio.com/streaming/index.html?tag=3Dgame= spot%3Bfooter">CBS Radio</option> <option value=3D"http://www.cbs.com?tag=3Dgamespot%3Bfooter">CBS.com</op= tion> <option value=3D"http://www.cbsinteractive.com?tag=3Dgamespot%3Bfooter">= CBSInteractive</option> <option value=3D"http://www.cbsnews.com?tag=3Dgamespot%3Bfooter">CBSNews= .com</option> <option value=3D"http://www.cbssports.com?tag=3Dgamespot%3Bfooter">CBSSp= orts.com</option> <option value=3D"http://www.chow.com?tag=3Dgamespot%3Bfooter">CHOW</opti= on> <option value=3D"http://www.cnet.com?tag=3Dgamespot%3Bfooter">CNET</opti= on> <option value=3D"http://findarticles.com?tag=3Dgamespot%3Bfooter">Find A= rticles</option> <option value=3D"http://www.gamespot.com?tag=3Dgamespot%3Bfooter">GameSp= ot</option> <option value=3D"http://www.help.com?tag=3Dgamespot%3Bfooter">Help.com</= option> <option value=3D"http://www.last.fm?tag=3Dgamespot%3Bfooter">Last.fm</op= tion> <option value=3D"http://www.maxpreps.com?tag=3Dgamespot%3Bfooter">MaxPre= ps</option> <option value=3D"http://www.metacritic.com?tag=3Dgamespot%3Bfooter">Meta= critic.com</option> <option value=3D"http://moneywatch.bnet.com?tag=3Dgamespot%3Bfooter">Mon= eywatch</option> <option value=3D"http://www.movietome.com?tag=3Dgamespot%3Bfooter">Movie= Tome</option> <option value=3D"http://www.mp3.com?tag=3Dgamespot%3Bfooter">MP3.com</op= tion> <option value=3D"http://www.mysimon.com?tag=3Dgamespot%3Bfooter">mySimon= </option> <option value=3D"http://www.ncaa.com?tag=3Dgamespot%3Bfooter">NCAA</opti= on> <option value=3D"http://www.radio.com?tag=3Dgamespot%3Bfooter">Radio.com= </option>

<option value=3D"http://www.search.com?tag=3Dgamespot%3Bfooter">Search.c= om</option> <option value=3D"http://www.shopper.com?tag=3Dgamespot%3Bfooter">Shopper= .com</option> <option value=3D"http://www.sho.com?tag=3Dgamespot%3Bfooter">Showtime</o= ption> <option value=3D"http://www.smartplanet.com?tag=3Dgamespot%3Bfooter">Sma= rtPlanet</option> <option value=3D"http://www.techrepublic.com?tag=3Dgamespot%3Bfooter">Te= chRepublic</option> <option value=3D"http://www.theinsider.com?tag=3Dgamespot%3Bfooter">The = Insider</option> <option value=3D"http://www.tv.com?tag=3Dgamespot%3Bfooter">TV.com</opti= on> <option value=3D"http://www.urbanbaby.com?tag=3Dgamespot%3Bfooter">Urban= Baby.com</option> <option value=3D"http://www.zdnet.com?tag=3Dgamespot%3Bfooter">ZDNet</op= tion> </select> <input type=3D"button" value=3D"Go" onclick=3D"window.location=3Ddocumen= t.getElementById('cbsi_footer_menu').options[document.getElementById('cb= si_footer_menu').selectedIndex].value;" /> </form> <noscript> <ul class=3D"elements"> <li><a href=3D"http://www.bnet.com/?tag=3Dgamespot%3Bfooter">BNET</a></l= i> <li><a href=3D"http://www.cbscares.com/?tag=3Dgamespot%3Bfooter">CBS Car= es</a></li> <li><a href=3D"http://www.cbssports.com/cbscollegesports/?tag=3Dgamespot= %3Bfooter">CBS College Sports</a></li> <li><a href=3D"http://www.cbsfilms.com/?tag=3Dgamespot%3Bfooter">CBS Fil= ms</a></li> <li><a href=3D"http://www.cbsradio.com/streaming/index.html?tag=3Dgamesp= ot%3Bfooter">CBS Radio</a></li> <li><a href=3D"http://www.cbs.com/?tag=3Dgamespot%3Bfooter">CBS.com</a><= /li> <li><a href=3D"http://www.cbsinteractive.com/?tag=3Dgamespot%3Bfooter">C= BSInteractive</a></li> <li><a href=3D"http://www.cbsnews.com/?tag=3Dgamespot%3Bfooter">CBSNews.= com</a></li> <li><a href=3D"http://www.cbssports.com/?tag=3Dgamespot%3Bfooter">CBSSpo= rts.com</a></li> <li><a href=3D"http://www.chow.com/?tag=3Dgamespot%3Bfooter">CHOW</a></l= i> <li><a href=3D"http://www.cnet.com/?tag=3Dgamespot%3Bfooter">CNET</a></l= i> <li><a href=3D"http://findarticles.com/?tag=3Dgamespot%3Bfooter">Find Ar= ticles</a></li> <li><a href=3D"http://www.gamespot.com/?tag=3Dgamespot%3Bfooter">GameSpo= t</a></li> <li><a href=3D"http://www.help.com/?tag=3Dgamespot%3Bfooter">Help.com</a= ></li> <li><a href=3D"http://www.last.fm/?tag=3Dgamespot%3Bfooter">Last.fm</a><= /li> <li><a href=3D"http://www.maxpreps.com/?tag=3Dgamespot%3Bfooter">MaxPrep= s</a></li> <li><a href=3D"http://www.metacritic.com/?tag=3Dgamespot%3Bfooter">Metac= ritic.com</a></li> <li><a href=3D"http://moneywatch.bnet.com/?tag=3Dgamespot%3Bfooter">Mone=

ywatch</a></li> <li><a href=3D"http://www.movietome.com/?tag=3Dgamespot%3Bfooter">MovieT= ome</a></li> <li><a href=3D"http://www.mp3.com/?tag=3Dgamespot%3Bfooter">MP3.com</a><= /li> <li><a href=3D"http://www.mysimon.com/?tag=3Dgamespot%3Bfooter">mySimon<= /a></li> <li><a href=3D"http://www.ncaa.com/?tag=3Dgamespot%3Bfooter">NCAA</a></l= i> <li><a href=3D"http://www.radio.com/?tag=3Dgamespot%3Bfooter">Radio.com<= /a></li> <li><a href=3D"http://www.search.com/?tag=3Dgamespot%3Bfooter">Search.co= m</a></li> <li><a href=3D"http://www.shopper.com/?tag=3Dgamespot%3Bfooter">Shopper.= com</a></li> <li><a href=3D"http://www.sho.com/?tag=3Dgamespot%3Bfooter">Showtime</a>= </li> <li><a href=3D"http://www.smartplanet.com/?tag=3Dgamespot%3Bfooter">Smar= tPlanet</a></li> <li><a href=3D"http://www.techrepublic.com/?tag=3Dgamespot%3Bfooter">Tec= hRepublic</a></li> <li><a href=3D"http://www.theinsider.com/?tag=3Dgamespot%3Bfooter">The I= nsider</a></li> <li><a href=3D"http://www.tv.com/?tag=3Dgamespot%3Bfooter">TV.com</a></l= i> <li><a href=3D"http://www.urbanbaby.com/?tag=3Dgamespot%3Bfooter">UrbanB= aby.com</a></li> <li class=3D"last"><a href=3D"http://www.zdnet.com/?tag=3Dgamespot%3Bfoo= ter">ZDNet</a></li> </ul> </noscript> <div class=3D"corporate"> <p> <a href=3D"http://www.cbsinteractive.com/?tag=3Dgamespot%3Bfooter">About= CBS Interactive</a> <a href=3D"http://www.cbsinteractive.com/careers/= ?tag=3Dgamespot%3Bfooter">Jobs</a> <a href=3D"http://www.cbsinteractiv= e.com/advertise/?tag=3Dgamespot%3Bfooter">Advertise</a> </p> <p> &copy; 2011 CBS Interactive Inc. All rights reserved. <a href=3D"http:= //legalterms.cbsinteractive.com/privacy">Privacy Policy (UPDATED)</a> = <a href=3D"http://cbsiprivacy.custhelp.com/app/answers/detail/a_id/1272/= ">Ad Choice</a> <a href=3D"http://www.cbsinteractive.com/terms_of_use.= php?tag=3Dgamespot%3Bfooter">Terms of Use</a> </p> </div> </div></div> </div> </div> <div class=3D"absolute"> = <script type=3D"text/javascript"> (function() { var po =3D document.createElement('script'); po.type =3D 'text/javascri= pt'; po.async =3D true; po.src =3D 'https://apis.google.com/js/plusone.js'; var s =3D document.getElementsByTagName('script')[0]; s.parentNode.inse= rtBefore(po, s); })();

</script> <script type=3D"text/javascript"> Asset.javascripts(["http:\/\/image.gamespotcdn.net\/gamespot\/www\/js\/g= lobal\/init.min.js?1319658821","http:\/\/image.gamespotcdn.net\/gamespot= \/www\/js\/global\/legacy.min.js?1303772340","http:\/\/image.gamespotcdn= .net\/gamespot\/www\/js\/usertoolbar.min.js?1308782347","http:\/\/image.= gamespotcdn.net\/gamespot\/www\/js\/social_share\/socialShare.min.js?131= 5515728","http:\/\/image.gamespotcdn.net\/gamespot\/www\/js\/rating_slid= er.min.js?1297108337","http:\/\/image.gamespotcdn.net\/gamespot\/www\/js= \/follow.min.js?1313442604","http:\/\/image.gamespotcdn.net\/gamespot\/w= ww\/js\/global\/togglepanel.min.js?1303772377"], { onComplete: function(){ } }); </script> <div id=3D"fb-root"></div> <script type=3D"text/javascript"> var fbInit =3D function(){ //FB.init("6f6f1bf89719d08cda814bee8ae56e6e", "/pages/facebook/connect/= xd_receiver.htm"); FB.init({ appId: '91756522905', status: true, cookie:true, logging: true }); var queue =3D window.fbCallbackQueue []; queue && queue.length && queue.each(function(fnc){ fnc(); }); }; var fbLogin =3D function(cb){ var FB =3D window.FB false; if(FB){ cb =3D cb function(){ location.href =3D 'http://asia.gamespot.com/pages/facebook/connect/login= .php?path=3Dhttp%3A%2F%2Fasia.gamespot.com%2Fpc%2Frpg%2Fgothic3%2Fcheats= .html%3Flogin%3Dtrue%26'; }; FB.login(function(response){ if(response.session){ cb(); } }, { perms: 'publish_stream' }); } }; var fbLogout =3D function(session){ var FB =3D window.FB false; if(FB){ var logout =3D function(){ location.href =3D 'https://secure.gamespot.com/rps/misc/log_out.php?path= =3Dhttp%3A%2F%2Fasia.gamespot.com%2Fpages%2Ffacebook%2Fconnect%2Flogout.= php%3Fpath%3Dhttp%253A%252F%252Fasia.gamespot.com%252Fpc%252Frpg%252Fgot= hic3%252Fcheats.html%253F'; }; if(session){ FB.logout(function(response){ logout();

}); }else{ logout(); } } }; window.fbAsyncInit =3D function(){ fbInit(); var FB_Sub =3D FB.Event.subscribe.bind(FB.Event); // assigned to a var = to shorten the scope chain. (performance) }; Asset.javascript('http://connect.facebook.net/en_US/all.js#xfbml=3D1', {= async: true, onLoad: function(){/* store original method */var o_getDomE= lements =3D FB.XFBML._getDomElements;/* override method */FB.XFBML._getD= omElements =3D function(a, e, d){/* check if useragent is any version of= IE */if (!!FB.UA.ie()) {try {var docNamespaces =3D document.namespaces;= if (docNamespaces && docNamespaces[e]) {var nodes =3D a.getElementsByTag= Name(d);if (!document.addEventListener nodes.length > 0)return nodes;= }} catch(b) {}return a.getElementsByTagName(c);}/* default to original m= ethod */return o_getDomElements.call(null, a, e, d);};}}); </script> <noscript> <img alt=3D"" src=3D"http://dw.com.com/clear/c.gif?siteid=3D68&sid=3D68&= ptid=3D6027&onid=3D36&PD=3D0&PR=3D920920&SSPR=3D920920&pid=3D920920&genr= e_id=3D23351&category_id=3D72&prodtypid=3D8&xref=3Dhttp%3A%2F%2Fwww.goog= le.co.id%2Furl&xrq=3Dsa%3Dt%26rct%3Dj%26q%3Dcheat%252Bgothic%252BIII%26s= ource%3Dweb%26cd%3D1%26ved%3D0CBcQFjAA%26url%3Dhttp%253A%252F%252Fwww.ga= mespot.com%252Fpc%252Frpg%252Fgothic3%252Fcheats.html%26ei%3D_T2wTtOXDeS= emQWzgsCHAg%26usg%3DAFQjCNEN2355-3bKnjG_4FCi9NnyZ17LYQ&edid=3D107&ts=3D1= 320173059&oid=3D6027-36_68-920920-0&pguid=3Dvj5PngoPCP0AAFT1nVYAAAAM&ld=3D= asia.gamespot.com&clgf=3D&globid=3D&url=3Dhttp%3A%2F%2Fasia.gamespot.com= %2Fpc%2Frpg%2Fgothic3%2Fcheats.html&ttag=3Dfi;e32006" height=3D"1" width= =3D"1" /> <img src=3D"//secure-us.imrworldwide.com/cgi-bin/m?ci=3Dus-304254h&amp;c= g=3D0&amp;cc=3D1&amp;ts=3Dnoscript" width=3D"1" height=3D"1" alt=3D"" />= <img src=3D"http://b.scorecardresearch.com/b?c1=3D2&c2=3D3000023&c3=3D&c= 4=3D&c5=3D&c6=3D&c15=3D&cv=3D1.3&cj=3D1" style=3D"display:none" width=3D= "0" height=3D"0" alt=3D"" /> </noscript> </div> </body> </html><!-- DYNAMIC [ RENDER TIME: 0.234586 ] --> <!-- This document saved from http://asia.gamespot.com/pc/rpg/gothic3/ch= eats.html --> ------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline; filename=base2008.css Content-Type: text/css; charset=iso-8859-1; name=base2008.css Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/base2008.css Content-Transfer-Encoding: 8bit #legacy_layout.mini #main{width:760px;padding:10px 0;}#legacy_layout.mini #mini{ width:200px;margin-left:-975px;}#legacy_layout.mini .layout{padding-left:200px;} #legacy_layout #feature #maincolumn #content{width:760px;}#legacy_layout{color:# ccc;}#legacy_layout.mini #content{background-position:0 0;}#legacy_layout .modul e .head{background:#404040;border-color:#404040;}.alt #legacy_layout.mini #conte nt{background-position:-1010px 0;}.alt #legacy_layout .module .head{background:#

3B3B3B;border-color:#3B3B3B;} #profile_layout .layout,#siteblog_layout .layout{padding-left:200px;}#profile_la yout #main{width:760px;}#profile_layout #sky,#siteblog_layout #sky{float:right;} #profile_layout #mini,#siteblog_layout #mini{width:200px;margin-left:-205px;}#pr ofile_layout #profile_banner,#siteblog_layout #siteblog_banner{background:no-rep eat top;display:inline;float:left;height:140px;margin:6px 5px;padding:0;width:76 0px;overflow:hidden;}#siteblog_layout #siteblog_banner{background-position:cente r;margin:0;padding:0;height:158px;width:770px;} #profile_layout #profile_banner a{display:block;padding-top:140px;}#siteblog_lay out #siteblog_banner a{display:block;padding-top:158px;}#profile_layout.mpu .lay out{padding-right:305px;}#profile_layout.mpu #main{width:450px;}#profile_layout. mpu #side{width:300px;margin-right:-305px;}#profile_layout.sky .layout{padding-r ight:165px;}#profile_layout.sky #main{width:590px;}#profile_layout.sky #side{wid th:160px;margin-right:-165px;}#siteblog_layout.sky .layout{padding-right:185px;} #siteblog_layout.sky #main{width:570px;} #siteblog_layout.sky #side{width:180px;margin-right:-185px;}#profile_layout #con tent,#siteblog_layout #content{background:#2f2f2f url(bg_mini_.gif) repeat-y -30 px 0;}#profile_layout #content{background-position:0 0;}#siteblog_layout #conten t{background-position:-3030px 0;}#siteblog_layout #siteblog_banner{background-co lor:#2f2f2f;}.alt #profile_layout #content{background-position:-1010px 0;backgro und-color:#fff;}.alt #siteblog_layout #content{background-position:-4040px 0;bac kground-color:#fff;} .alt #siteblog_layout #siteblog_banner{background-color:#fff;}#feature_layout #f eature_banner{background:no-repeat center;height:170px;margin:0;overflow:hidden; padding:0;}#feature_layout #feature_banner a.banner{display:block;padding-top:17 0px;height:0;overflow:hidden;}#feature_layout #content{padding:0;width:980px;}#f eature_layout #main{width:806px;margin:15px 0 0;}#feature_layout #feature_frame{ padding:0 10px;height:1%;overflow:hidden;}#feature_layout #side{width:174px;marg in:0 -174px 0 0;}#skin #hardware_resource_layout .layout{padding-right:300px;} #skin #hardware_resource_layout #main,#skin #hardware_resource_layout #main{widt h:570px;}#skin #hardware_resource_layout #side{float:right;width:300px;margin-ri ght:-295px;}div.coming_soon{background:url(comingso.jpg) no-repeat 0 0;height:0; overflow:hidden;padding-top:405px;width:690px;margin:50px auto;}.alt div.coming_ soon{background:url(comingso.jpg) no-repeat 0 0;}div.notice{width:670px;margin:5 0px auto;padding:33px 0 0;position:relative;}div.notice .body{padding:0 0 33px;} div.notice .wrap{padding:67px 124px 52px;font-weight:bold;height:1%;overflow:hid den;}div.notice h2.corner{width:130px;height:0;overflow:hidden;padding-top:133px ;position:absolute;top:20px;left:20px;}div.notice p.callout{font-size:14px;lineheight:18px;text-align:left;}div.notice p.fine_print{font-size:11px;margin-top:2 5px;}div.notice .user_banned h3{width:421px;height:0;overflow:hidden;padding-top :61px;}div.notice .error h3{font-size:80px;line-height:60px;font-family:monospac e;}div.notice{background:url(notice00.gif) no-repeat 0 0;} div.notice .body{background:url(notice00.gif) no-repeat -670px bottom;}div.notic e .wrap{background:url(notice00.gif) repeat-y -1340px top;color:#B0B0B0;}div.not ice .wrap h2.corner{background:url(profile_.gif) no-repeat 0 0;}div.notice .user _banned h3{background:url(profile_.gif) no-repeat -130px top;}.alt div.notice{ba ckground:url(notice_a.gif) no-repeat 0 0;}.alt div.notice .body{background:url(n otice_a.gif) no-repeat -670px bottom;} .alt div.notice .wrap{background:url(notice_a.gif) repeat-y -1340px top;color:#7 37373;}.alt div.notice .wrap h2.corner{background:url(profile_.gif) no-repeat 0 0;}.alt div.notice .user_banned h3{background:url(profile_.gif) no-repeat -130px top;}ul.unions{font-size:11px;height:1%;overflow:hidden;}ul.unions li.union{flo at:left;width:100%;}ul.unions .wrap{height:1%;overflow:hidden;padding:0 15px 10p x 135px;}ul.unions .union_icon a{background:no-repeat center center;border-width :1px;display:block;height:80px;width:80px;margin:0 auto;} ul.unions .union_icon img{display:block;height:80px;width:80px;}ul.unions .union _icon a span{display:none;}ul.unions li.union .union_stats li{border-width:0;}#s ide ul.unions .union_stats li{background:none;}#side ul.unions h3,#side ul.union s .established,#side ul.unions .details{display:inline;float:right;width:100%;}# side ul.unions .wrap{padding:0 0 0 92px;}#side ul.unions .union_icon{display:inl

ine;float:left;height:82px;width:82px;margin:0 10px 0 -92px;}table.filtered_game s{width:100%;}table.filtered_games col.date,table.filtered_games col.score,table .filtered_games col.thumb{width:1%;} table.filtered_games col.game_title{width:40%;}table.filtered_games td,table.fil tered_games th{font-size:12px;padding:10px 0 10px 10px;vertical-align:middle;}ta ble.filtered_games th{font-size:11px;font-weight:bold;}table.filtered_games tbod y td{border-width:0 0 1px;}table.filtered_games tr.last td{border-width:0;}table .filtered_games td.last,table.filtered_games th.last{padding-right:10px;}table.f iltered_games td.price,table.filtered_games th.price,table.filtered_games td.rea der_score,table.filtered_games th.reader_score{text-align:center;white-space:now rap;} table.filtered_games td.price{font-size:18px;}table.filtered_games td.price_chan ge{font-size:11px;font-weight:bold;}table.filtered_games td.price_change .change {background:url(bg_price.png) no-repeat 0 0;display:block;border:0;height:0;marg in:0 auto 3px;padding-top:32px;width:35px;overflow:hidden;}table.filtered_games td.price_change .down{background-position:-5px -9px;}table.filtered_games td.pri ce_change .up{background-position:-48px -9px;}table.filtered_games td.thumb{widt h:50px;} table.filtered_games tr.sponsored_game td{padding:10px;}table.filtered_games .da te{white-space:nowrap;}table.filtered_games .thumb img{height:50px;width:50px;}t able.filtered_games .game_title{font-weight:bold;}table.filtered_games .game_tit le .publisher{font-size:10px;}table.filtered_games .score_wrap{height:42px;width :50px;margin:0 auto;padding:8px 0 0;text-align:center;}table.filtered_games .sco re_wrap a{text-decoration:none;}table.filtered_games .score_wrap .unrated{font-s ize:11px;white-space:normal;} table.filtered_games .score_wrap .numeric{font-size:24px;line-height:20px;}table .filtered_games .score_wrap .users{font-size:9px;font-weight:normal;}table.filte red_games .sponsored_game .label{font-size:9px;text-transform:uppercase;margin:0 0 3px;font-weight:bold;}table.filtered_games .sponsored_game .wrap{padding:10px 10px 10px 70px;height:1%;overflow:hidden;}table.filtered_games .sponsored_game .wrap div{display:inline;float:right;width:100%;}table.filtered_games .sponsored _game .wrap .thumb{float:left;margin:0 0 0 -60px;height:50px;width:50px;} table.filtered_games .sponsored_game .wrap .deck{font-size:11px;margin:3px 0 0;} table.filtered_games thead td,table.filtered_games thead th{background:#202020;} table.filtered_games thead th,table.filtered_games thead a,table.filtered_games .publisher{color:#999;}table.filtered_games .game td,table.filtered_games .game td.thumb{border-color:#565656;}table.filtered_games .score_wrap{background:#000; }table.filtered_games .score_wrap a{color:#fff;}.alt table.filtered_games thead td,.alt table.filtered_games thead th{background:#dedede;} .alt table.filtered_games thead th,.alt table.filtered_games thead a,.alt table. filtered_games .publisher{color:#666;}.alt table.filtered_games .game td,.alt ta ble.filtered_games .game td.thumb{border-color:#ccc;}.alt table.filtered_games . score_wrap{background:#efefef url(review_s.png) no-repeat -150px 0;}.alt table.f iltered_games .score_wrap a{color:#666;}.alt table.filtered_games .score_wrap .u sers{color:#933;}.alt table.filtered_games .sponsored_game .label{color:#666;}.a lt table.filtered_games .sponsored_game .wrap{background:#d6d6d6;} #site_layout #content span.mceEditor,#site_layout #content span.mceEditorContain er{display:block;height:1%;overflow:hidden;}#site_layout #content .mceEditor .mc eLayout{table-layout:fixed;}#site_layout #content .mceEditor .mceStatusbar{paddi ng:2px 2px;height:auto;}#site_layout #content .mceEditor .mceStatusbar div{float :none;margin:0;width:100%;overflow:hidden;}.toggle_panel{display:none;position:a bsolute;top:0;left:0;padding:13px 0 0;height:auto;width:480px;top:10px;left:149p x;}.toggle_panel_holder{overflow:hidden;position:absolute;top:0;left:0;z-index:5 999;visibility:hidden;} .toggle_panel_holder iframe{height:100%;width:100%;position:absolute;top:0;left: 0;z-index:5999;}.toggle_panel_holder .toggle_panel{z-index:5999;}.toggle_panel_h older .toggle_panel{top:0;left:0;} .layout{color:#ccc;}#content,.mini .video_content,.mini #content_promo,#mini ul. content_nav li.on,#content_footer{background:#2f2f2f;}#promo{background:#1d1d1d; }#mini #retail_partners{background:#181818;}.pre2005{color:#fff;}#content_banner

{background:#2f2f2f;}.video_bg{background:#2f2f2f;}.mini #content,.video_bg #con tent{background:#2f2f2f url(bg_mini_.gif) repeat-y -30px 0;}#mpu_layout.light_sk innable #content,#mpu_layout.portable #content{background-color:#fff;backgroundimage:none;} #iframe_layout #content{background:none;}.alt .layout{color:#333;}.alt #content{ background-color:#cdcdcd;}.alt .mini .video_content,.alt .mini #content_promo,.a lt #promo,.alt #content_footer{background:#fff;}.alt #content_banner{background: #CDCDCD;}.alt .mini #content{background-color:#fff;background-position:-1040px 0 ;}.alt #mini #retail_partners{background:#4F4F4F;}.alt #mini .content_nav li.on{ background:#fff;}.alt #mpu_layout.portable #content{background-image:none;}.alt .image_viewer #content{background-color:#fff;} #skin.alt .mini #content{background-position:-2050px 0;} .module{margin:10px 0;overflow:hidden;height:100%;}.module .head{border-width:1p x;height:28px;padding-left:10px;}.module .module .head{height:23px;border-width: 0;}.module .head .wrap{padding:0 10px 0 0;height:100%;}.module .tabbed{padding-l eft:0;}.module .tabbed .wrap{margin-left:10px;}.module .head h2{font-size:13px;l ine-height:28px;}.module .head h3{font-size:13px;line-height:23px;}.module .head h1,.module .head h2,.module .head h3,.module .head h4{display:inline;float:left ;}.module .module_title_wrap{display:inline;float:left;} .module .module_title_wrap .module_title{display:inline;float:none;}.module .mod ule_title_wrap .module_title_more{display:inline;margin-left:5px;}.module .head ul.more{float:right;font-size:11px;line-height:28px;padding:0;}.first .head,.mod ule .first .head{height:1%;overflow:hidden;padding:5px 0;}.first .head .wrap,.mo dule .first .head .wrap{padding:0 10px 0 0;margin:0 0 0 10px;}.first .module .he ad .wrap{padding:0 10px 0 0;}.first .head h1{font-size:18px;line-height:28px;}.f irst .head h2,.module .first .head h2{font-size:13px;line-height:22px;} .first .long_title .wrap h2{line-height:22px;}.first .head ul.more,.module .firs t .head ul.more{line-height:28px;}.module .module .head ul.more{font-size:11px;l ine-height:23px;}.module .head ul.more a{color:#fff;}.module .head ul.more li{di splay:inline;border-width:0 0 0 1px;margin:0 0 0 6px;padding:0 0 0 6px;}.module .head ul.more li.first{border-width:0;margin:0;padding:0;}.module .body{font-siz e:12px;}.module .body ul.details{padding:0;}.module .body ul.details li{border-w idth:0 0 0 1px;display:inline;font-size:10px;padding-left:3px;} .module .body ul.details li.first,.module .body ul.details li.story_type{borderwidth:0;padding-left:0;}.module .body ul.details li.story_type{text-transform:up percase;}.module .body ul.actions{height:1%;overflow:hidden;}.module .body ul.ac tions li{border-width:0 0 0 1px;display:inline;float:left;font-size:11px;marginleft:7px;padding-left:8px;}.module .body ul.actions li.first{border-width:0;marg in:0;padding:0 0 0 1px;}.module .body .module{margin:0;padding:5px;}.module .col .module{padding:0;} .no_data .body{padding:10px;}#side .module .body .banner{padding:3px 0 0;}#side .module .body .banner a,#side .module .body .banner span{border-width:1px;displa y:block;height:57px;margin:0 auto;text-indent:-9999px;width:292px;}#side .module .body .banner a img{display:block;width:292px;height:57px;}.module .foot{font-s ize:11px;padding:10px 0 0;}.module .foot .more{margin:0;white-space:nowrap;}.mod ule_head_search .mini_search{display:inline;float:right;padding:6px;height:18px; width:137px;margin:0 -149px 0 0;position:relative;right:149px;} #mini .module{margin:10px;}.has_nav #mini .module{margin:0;}#legacy_layout #mini .module{margin:10px 3px;}#side .body{font-size:11px;}#side .body h3{font-size:1 2px;}#side .module .body .head h3{font-size:11px;}#promo .module .head{border-wi dth:0;height:25px;}#promo .module .head h2{line-height:25px;}#gscpromo_module .b ody{height:1%;overflow:hidden;}#gscpromo_module .body img{display:block;}ul.cont ent_nav{border-top-width:1px;font-size:12px;line-height:14px;}ul.content_nav li{ border-width:0 0 1px;padding:5px 8px;} ul.content_nav li.showcase a{background-image:url(sponsore.gif);background-repea t:no-repeat;background-position:right center;padding-right:20px;}ul.content_nav ul{margin:2px 0 0;}ul.content_nav ul li{border-width:0;font:10px/14px tahoma,gen eva,sans-serif;padding:0 0 0 5px;}.module div.content_nav{padding:6px 10px;}div. content_nav .nav_label{font-weight:bold;}ul.tertiary_nav,ul.tertiary_nav li,div. content_nav div.nav_label{display:inline;margin-right:10px;padding-right:10px;}

ul.tertiary_nav li{border-right:1px solid;}ul.tertiary_nav li.last{border-right: 0;}div.quick_links{margin:20px 0;clear:both;}div.quick_links .body{font-size:11p x;line-height:1.6;padding:8px 10px;text-align:center;}div.quick_links .body a{wh ite-space:nowrap;}div.quick_links .body p{margin:0;}.error404 .body{background:# 1E1E1E;color:#FFF;text-align:center;padding:30px 10px;}.error404 .body p{font-we ight:bold;line-height:18px;margin:0;}.error404 .body h2{font-size:30px;}.contain _all .foot{border-width:0;margin:0;padding:6px 10px;} .contain_all .body ul{padding:0 10px;}.contain_all .body .body ul{padding:0 5px; }.contain_all .body ul ul,.contain_all .body .body ul ul{padding:0;}.contain_all .body li{border-width:0;padding:10px 0;}.contain_all .body li p{margin-bottom:0 ;}.contain_all .body li li{border-width:0 0 1px;padding:0;}.contain_all .body li .last,.contain_all .body .useract_toolbar li{border:0;}.contain_singles .body li {margin:10px 0 0;padding:0 0 10px;}.contain_singles .body li .wrap{height:1%;ove rflow:hidden;padding:10px 10px 0;} .contain_singles .body li li{margin:0;padding:0;}.dotted_list ul{margin:0 5px;}. dotted_list ul ul{margin:0;}.dotted_list li.dot{padding:10px 0;}.dotted_list li. dot .wrap{height:1%;overflow:hidden;}.tiled_items .body{height:1%;overflow:hidde n;}.module span.external{padding-right:13px;}ul.stories,ul.downloads,ul.videos{p adding:0 5px;}ul.stories li.story,ul.downloads li.download,ul.videos li.video,ul .comments li.comment{border-width:0;height:1%;padding:10px 0;overflow:hidden;wid th:100%;}.contain_singles ul.stories li.story,.contain_singles ul.downloads li.d ownload,.contain_singles ul.videos li.video,.contain_singles ul.comments li.comm ent{padding-top:0;} ul.stories li.story .wrap,ul.downloads li.download .wrap,ul.videos li.video .wra p,ul.comments li.comment .wrap{height:1%;overflow:hidden;}.contain_singles ul.do wnloads li.download{padding-top:0;}.contain_singles ul.downloads li.download .wr ap{padding-top:10px;}ul.stories li.last,ul.downloads li.last,ul.videos li.last,u l.comment li.last{border-width:0;}ul.stories .thumb a,ul.downloads .thumb a,ul.v ideos .thumb a{display:block;}ul.stories .thumb img,ul.downloads .thumb img,ul.v ideos .thumb img{display:block;height:80px;width:140px;} #promo_side ul.stories .thumb img,#side ul.stories .thumb img.thumbnail,#side ul .downloads .thumb img.thumbnail,#side ul.videos .thumb img.thumbnail{height:72px ;width:97px;}#skin .mini #main ul.stories .wrap,#skin .mini #main ul.downloads . wrap,#skin .mini #main ul.videos .wrap{padding:0 132px 0 0;}#skin .mini #main ul .stories .thumb,#skin .mini #main ul.downloads .thumb,#skin .mini #main ul.video s .thumb{height:90px;margin:0 -132px 0 10px;width:120px;}#skin .mini #main ul.st ories .thumb img,#skin .mini #main ul.downloads .thumb img,#skin .mini #main ul. videos .thumb img{height:90px;width:120px;} span.story_type{float:left;font-size:10px;text-transform:uppercase;}ul.stories h 3,ul.stories p,ul.stories ul.actions,ul.stories ul.details,ul.stories .deck{disp lay:inline;float:left;width:100%;}ul.stories ul.actions li{border-width:0 0 0 1p x;display:inline;margin:0 0 0 4px;padding:0 0 0 5px;}ul.stories .deck a.more{tex t-transform:uppercase;white-space:nowrap;font-size:11px;}ul.stories .deck p{disp lay:block;float:none;margin:4px 0;}ul.stories div.details{display:inline;}ul.sto ries .thumb{border-width:1px;display:inline;float:right;height:80px;margin:0 -15 2px 0 10px;width:140px;} ul.stories .wrap{padding-right:152px;}ul.stories .title em.top{display:block;fon t-size:12px;font-weight:bold;line-height:15px;margin:0 0 5px;padding-left:20px;} div.top_feature_story ul.stories li h3.title a,div.featured_download ul.download s li h3.title a{font-size:20px;}ul.stories li.no_thumb .wrap,#skin .mini #main u l.stories li.no_thumb .wrap{padding-right:0;}#promo_side ul.stories li.story{pad ding:6px 0;}#promo_side ul.stories li.story .wrap{padding:0;}#promo_side ul.stor ies li.first .wrap,#side ul.stories li.story .wrap{padding:0 109px 0 0;} #promo_side ul.stories .deck{font-size:11px;}#promo_side ul.stories li.first .th umb,#side ul.stories .thumb{float:right;height:72px;width:97px;margin:0 -109px 3 px 10px;position:relative;}#promo_side ul.stories li.first .thumb a,#side ul.sto ries .thumb a{display:block;}#promo_side .stories p,#side .stories .deck,#side . stories .title,#side .stories .deck{float:left;margin:0;}#promo_side .stories p em{line-height:12px;}#promo_side .stories .deck{margin-top:3px;}#side .stories . deck p{display:block;float:none;}

#side li.story ul{font-size:11px;}#side li.story li{float:left;width:100%;border -width:0;margin:0;padding:0;}#side li.story h4{display:inline;width:100%;}#side li.story img{height:72px;width:97px;}#side #hot_stories ul.stories li.story .wra p{padding:0 70px 0 0;}#side #hot_stories ul.stories .thumb{height:45px;width:60p x;margin:0 -70px 0 8px;position:relative;}#side #hot_stories ul.stories .thumb a {display:block;}#side #hot_stories li.story img{height:45px;width:60px;}#side ul .stories li.no_thumb .wrap{padding:0;} .picks li.story li{margin:0 0 0 10px;padding:0 0 0 10px;}.picks ul.stories .wrap {padding:0 0 0 157px;}.picks ul.stories h3,.picks ul.stories p,.picks ul.stories .deck{float:right;}.picks ul.stories .thumb{float:left;margin:0 15px 0 -157px;h eight:80px;width:140px;}.picks ul.stories li.no_thumb .wrap{padding-left:0;}.fea ture_top li.story .wrap{padding:0;}.feature_top ul.stories{padding:0;}.feature_t op ul.stories li.story{border-width:0;padding:0;}.feature_top ul.stories p{displ ay:block;float:none;margin:0;width:auto;} .feature_top ul.stories .title{display:block;padding:6px 5px;}.feature_top ul.st ories .deck p{margin:0;}.feature_top ul.stories .details{display:block;padding:1 0px 10px 10px 142px;height:92px;overflow:hidden;}.feature_top ul.stories .thumb{ float:left;height:90px;width:120px;margin:0 10px 0 -132px;overflow:hidden;}.feat ure_top .foot{border:0;margin:0;padding:6px 10px;}#mini .feature_top ul.stories .thumb{height:80px;width:140px;}#mini .feature_top ul.stories .details{height:au to;padding:0;}#mini .feature_top ul.stories .thumb{display:block;float:none;marg in:0 auto;padding:0;} #mini .feature_top ul.stories .deck{margin:6px 0;width:auto;}#mini .feature_top, #mini #games_in_story{background:none;margin:5px 5px 10px;}#mini #games_in_story ul{padding:0 5px;}#mini .feature_top ul.stories li.no_thumb .deck{margin:0 0 6p x;}.deckless_news .foot{margin:0;}.deckless_news ul.stories li.story{padding:4px 0;}.deckless_news ul.stories ul.details li,.deckless_news ul.stories ul.details li.first{border-width:0;margin:0;padding:0;}.deckless_news ul.stories .title,.d eckless_news li.story ul{display:inline;float:none;} .deckless_news ul.stories .wrap,#skin .mini #main .deckless_news ul.stories .wra p,#side .headlines_only ul.stories li.story .wrap{padding:0;}ul.downloads h3,ul. downloads div.details{float:right;width:100%;}ul.downloads div.details .more{mar gin:0;}ul.downloads li.last{border-width:0;}ul.downloads p.deck{margin:5px 0;}ul .downloads span.size{color:#858585;font-size:10px;}ul.downloads ul.details{margi n:5px 0;}ul.downloads ul.details li{font-size:10px;}ul.downloads .thumb{display: inline;float:left;border-width:1px;width:140px;height:80px;margin:0 0 0 -150px;} ul.downloads .wrap{padding:0 0 0 150px;}ul.downloads li.no_thumb .wrap{padding:0 ;}ul.downloads .featured .title em.featured{display:block;font-size:12px;font-we ight:bold;line-height:14px;margin:0 0 3px;padding-left:20px;}ul.downloads .featu red span.size{border-width:0 0 0 1px;padding-left:4px;}.download_filesize ul.dow nloads li.download{padding:6px 0;}.download_filesize li.download .wrap{padding:0 ;}.download_filetype ul.downloads li.download{padding:6px 0;text-align:right;}.d ownload_filetype li.download .wrap{padding:0;} .download_filetype .file{float:left;}.download_filetype .file_type{font-weight:b old;}#side ul.downloads li.download{font-size:11px;}#side ul.downloads p.title{m argin:0;}#side ul.downloads li.featured{padding:10px 0;}#side ul.downloads .feat ured p.title{float:left;font-size:12px;width:100%;}#side ul.downloads .featured .title em.featured{font-size:14px;line-height:18px;}#side ul.downloads .featured .wrap{padding-right:109px;}#side ul.downloads .featured .thumb{display:inline;f loat:right;height:72px;width:97px;margin:0 -109px 0 10px;overflow:hidden;} .top_news_story .body,.top_feature_story .body,.featured_download .body{height:1 %;overflow:hidden;}.top_news_story ul,.top_feature_story ul,.featured_download u l{padding:0;}.featured_download .body{height:1%;overflow:hidden;}.top_news_story li.story .wrap,.top_feature_story li.story .wrap,.featured_download li.download .wrap{padding:0 200px 0 10px;}.top_news_story li.story h3,.featured_download li .download h3,.featured_download li.download div.details{float:left;}.top_news_st ory li.story .thumb,.top_feature_story li.story .thumb,.featured_download li.dow nload .thumb{float:right;height:102px;width:178px;margin:0 -190px 0 10px;} .top_news_story li.story .thumb img,.top_feature_story li.story .thumb img,.feat ured_download li.download .thumb img{width:178px;height:102px;}.featured_downloa

d li.download .deck{font-weight:bold;}ul.videos h3,ul.videos h4,ul.videos em,ul. videos ul.actions,ul.videos ul.details,ul.videos .deck{display:inline;float:left ;width:100%;}ul.videos li.video{background:transparent;}ul.videos li.video .wrap {padding:0 152px 0 0;}ul.videos li.video li{border-width:0;display:block;margin: 0;}ul.videos div.details{display:inline;} ul.videos em{font-size:13px;}ul.videos .thumb{border-width:1px;display:inline;fl oat:right;height:80px;margin:0 -152px 3px 10px;position:relative;width:140px;}ul .videos ul.details{float:left;width:100%;overflow:hidden;line-height:10px;margin :4px 0;}.body ul.videos ul.details li{font-size:10px;padding:0 5px;}ul.videos ul .details li.first{padding-left:0;}ul.videos ul.watch{margin:3px 0;}ul.videos li. video ul.watch li{font-size:12px;}ul.videos li.video ul.watch li span.resolution {font-weight:normal;} ul.videos ul.watch li.first,ul.videos ul.watch li.sd{border-left-width:0;margin: 0;padding:0;}ul.videos ul.watch li.sd,ul.videos ul.watch li.hd{margin:0;padding: 0 5px;}ul.videos .deck p{margin:0 0 4px;padding:0;}#side ul.videos ul.actions li {margin:0;padding:0 5px;}#side ul.videos ul.actions li.first{padding:0 3px 0 1px ;}#side ul.videos ul.actions li.last{border-left:1px solid;}#side ul.videos li.v ideo .wrap{padding:0 109px 0 0;}#side ul.videos li.no_thumb .wrap,#skin .mini #m ain ul.videos li.no_thumb .wrap{padding-right:0;} #side ul.videos li.video li{display:block;margin:0;line-height:12px;}#side ul.vi deos .thumb{height:72px;margin:0 -109px 3px 10px;width:97px;position:relative;}# side ul.videos ul.details{float:left;width:100%;}#side ul.videos ul.details li{f loat:left;font-size:10px;padding:0 4px 0 0;border-width:0 1px 0 0;margin:0 5px 0 0;}#side ul.videos ul.details li.last{border-width:0;padding:0;margin:0;}#mini div.videos{margin:5px;}#mini div.videos ul.nav{overflow:hidden;padding:8px 0;wid th:100%;}#mini div.videos ul.nav li{background:none;border-right-width:1px;float :left;font-size:11px;font-weight:bold;line-height:11px;padding:0 6px;} #mini div.videos ul.nav li.first,#mini div.videos ul.nav li.last{border-width:0; padding-right:0;}#mini ul.videos{padding:0;}#mini ul.videos h3,#mini ul.videos h 4,#mini ul.videos em,#mini ul.videos div.details,#mini ul.videos ul.actions,#min i ul.videos ul.details,#mini ul.videos .deck{display:block;float:none;width:auto ;}#mini ul.videos li.video h3{font-size:12px;text-align:left;}#mini ul.videos li .video .wrap{padding:0 8px;}#mini ul.videos li.video .thumb{display:block;float: none;height:80px;margin:0 auto 10px;width:140px;} #mini ul.videos li.video .thumb img{display:block;height:80px;width:140px;}#mini ul.videos li.video .deck p{font-size:11px;}#mini ul.videos li.video ul.details{ margin:0;}#mini ul.videos li.video ul.details li{border-width:0;display:block;fo nt-size:11px;line-height:14px;padding:0;}#related_videos li.footer_caption{fontsize:10px;padding-top:7px;}#related_videos.deckless ul.stories{padding:0 10px;}# related_videos.deckless ul.stories li.story{padding:10px 0;}img.play_button{posi tion:absolute;bottom:-4px;right:5px;height:15px!important;width:15px!important;} #the_lineup ul.videos li.video .thumb{margin-top:10px;}div.promoted_content{over flow:hidden;float:left;margin-top:5px;width:139px;}div.promoted_content a,div.pr omoted_content span{display:block;height:0;width:139px;padding-top:13px;}#image_ index .promoted_content{float:right;width:90px;padding:5px 0;text-align:center;b ackground-image:none;margin:-30px 8px 0 0;overflow:visible;}#image_index .promot ed_content a{font:bold 9px/10px Verdana,sans-serif;padding:0;height:auto;width:1 00%;}ul.review_scores{height:1%;overflow:hidden;padding:0 0 0 108px;} ul.review_scores li.review_score,ul.review_scores li.review_score span.data{heig ht:40px;}ul.review_scores li.review_score{float:right;margin:0 0 5px;width:100%; }ul.review_scores li.review_score .wrap{padding:0 45px 0 7px;}ul.review_scores l i.review_score span.data{float:right;font-size:22px;font-weight:bold;margin:0 -4 5px 0 0;line-height:40px;width:45px;text-align:center;}ul.review_scores li.revie w_score span.data span{font-size:24px;}ul.review_scores li.review_score span.dat a a{font-size:24px;text-decoration:none;} ul.review_scores li.review_score span.label,ul.review_scores li.review_score spa n.more{float:left;width:100%;}ul.review_scores li.review_score span.label{font-s ize:12px;font-weight:bold;padding:6px 0 0;}ul.review_scores li.review_score span .more{font-size:10px;}ul.review_scores li.reader_score span.data{padding:6px 0 0 ;line-height:1;height:49px;}ul.review_scores li.reader_score,ul.review_scores li

.reader_score span.no_score{height:55px;}ul.review_scores li.reader_score{font-s ize:9px;margin:0;}ul.review_scores li.reader_score .reset{position:absolute;top: 12px;left:100%;text-align:center;width:45px;} ul.review_scores li.reader_score .reset a{font-size:9px;}ul.review_scores li.rea der_score span.no_score{line-height:55px;padding:0;}ul.review_scores li.highligh ted_score{border-width:1px;display:inline;float:left;vertical-align:middle;fontsize:12px;font-weight:bold;line-height:1.1;text-align:center;margin:0 8px 0 -108 px;padding:4px 0;height:90px;width:98px;}ul.review_scores li.highlighted_score a {text-decoration:none;}ul.review_scores li.highlighted_score span{white-space:no wrap;}ul.review_scores li.highlighted_score span.label{font-size:11px;} ul.review_scores li.highlighted_score span.data{font-size:52px;font-weight:bold; display:block;}ul.review_scores li.highlighted_score span.data span.na_text{font -size:55px;}ul.review_scores li.highlighted_score span.scoreword{display:block;} ul.review_scores li.highlighted_score p.msg{font-size:11px;text-align:center;lin e-height:14px;margin:10px 15px 0;}.highlight_community ul.review_scores li.reade r_score{margin-top:45px;}div.review_scores .body ul.actions li{border-width:0;ma rgin:0;padding:0;}div.review_scores ul.actions{margin:5px 0 0;text-align:center; } div.review_scores ul.actions li{line-height:24px;height:24px;}div.review_scores ul.actions li.about{font-size:9px;width:100%;}div.review_scores ul.post_release{ padding:0 0 0 134px;}div.review_scores ul.post_release li.about{display:inline;f loat:left;font-size:9px;margin:0 5px 0 -134px;width:129px;}div.review_scores ul. post_release li.review{float:right;font-size:12px;margin:0;width:100%;}div.revie w_scores ul.post_release li.review a{display:block;padding-left:10px;}div.review _scores ul.post_release li.review span{display:block;padding-right:10px;} div.review_scores .no_editor_score ul.review_scores,div.review_scores .no_editor _score ul.post_release{padding:0;}#side ul.review_scores{padding:0 0 0 134px;}#s ide ul.review_scores li.review_score,#side ul.review_scores li.review_score span .data{height:37px;}#side ul.review_scores li.review_score .wrap{padding:0 52px 0 7px;}#side ul.review_scores li.review_score span.data{margin-right:-52px;line-h eight:37px;width:52px;}#side ul.review_scores li.review_score span.label{padding :4px 0 0;}#side ul.review_scores li.reader_score span.data{line-height:1;height: 43px;} #side ul.review_scores li.reader_score,#side ul.review_scores li.reader_score sp an.no_score{height:49px;}#side ul.review_scores li.reader_score .reset{width:52p x;}#side ul.review_scores li.reader_score span.no_score{line-height:49px;}#side ul.review_scores li.highlighted_score{line-height:1.2;margin:0 0 0 -134px;paddin g:10px;height:111px;width:107px;}#side ul.review_scores li.highlighted_score spa n.label{font-size:12px;}#side ul.review_scores li.highlighted_score span.data{fo nt-size:65px;}ul.reviews{height:1%;overflow:hidden;} ul.reviews li.review{float:left;width:100%;}ul.reviews li.review .wrap{height:1% ;overflow:hidden;}ul.reviews a.continue{white-space:nowrap;}ul.user_reviews{heig ht:100%;overflow:hidden;}.user_reviews .featured_game{margin:0 10px;padding:10px 0;border-bottom-width:1px;}.user_reviews .featured_game .wrap{height:100%;paddi ng:0 0 0 82px;overflow:hidden;}.user_reviews .featured_game h3,.user_reviews .fe atured_game div.details{float:right;margin:0 0 -80px;padding:0 0 80px;width:100% ;}.user_reviews .featured_game h3 em{display:block;} .user_reviews .featured_game .boxshot{display:inline;float:left;margin:0 10px -8 0px -82px;padding:0 0 80px;width:72px;}.user_reviews .featured_game .boxshot img {border-width:1px;width:70px;}.user_reviews .featured_game p{margin:0;}.user_rev iews .featured_game p.avg_score{font-size:12px;font-weight:bold;padding:6px 0;}. user_reviews ul.details{padding:0;}.user_reviews ul.details li{display:inline;bo rder-left-width:1px;border-bottom-width:0;margin:0 0 0 3px;padding:0 0 0 4px;}.u ser_reviews ul.details li.first{border-width:0;margin:0;padding:0;} li.user_review{float:left;width:100%;padding:0;}li.user_review a.more,li.user_re view a.continue{white-space:nowrap;}li.user_review .avatar{border-width:1px;disp lay:inline;float:left;height:80px;width:80px;margin:0 10px 0 -92px;}li.user_revi ew .avatar a{background:no-repeat center;display:block;height:80px;width:80px;}l i.user_review div.details{display:inline;float:left;width:100%;margin-left:-980p x;position:relative;left:980px;}#main li.user_review{padding:10px 0;}#main li.us

er_review ul.details li{border-width:0;display:block;margin:6px 0 0;padding:0;} #main li.user_review ul.details li.recommended{font-size:11px;}#main li.user_rev iew ul.details li.recommended .count{font-weight:bold;}#main li.user_review .wra p{padding:0 100px 0 92px;}#main li.user_review .score{border-width:1px;display:i nline;float:right;height:93px;line-height:1.2;width:88px;margin:0 -100px 0 10px; }#main li.user_review .score .score_wrap{text-align:center;padding:5px 0 0;}#mai n li.user_review .score .numeric{font-size:50px;}#side li.user_review .wrap{padd ing-right:168px;}#side li.user_review div.details{display:inline;float:left;widt h:100%;} #side li.user_review .username,#side li.user_review .deck{display:inline;float:l eft;margin:0;width:100%;}#side li.user_review .username{font-size:11px;}#side li .user_review .avatar{border-width:1px;display:inline;float:right;margin:0 -92px 0 10px;height:80px;width:80px;}#side li.user_review .score{display:inline;float: right;height:82px;line-height:1.2;width:83px;margin:0 -168px 0 85px;}#side li.us er_review .score .score_wrap{padding:20px 6px 0 12px;text-align:center;}#side li .user_review .score .numeric{font-size:36px;line-height:.8;} #side .contain_singles li.user_review{padding:0 0 6px;}#side .contain_singles li .user_review .wrap{padding:6px 174px 0 8px;}#side .contain_singles ul.show_revie wed_item li.user_review{margin:0 0 10px;}#side .contain_singles ul.show_reviewed _item li.last{margin:0;}#side .contain_singles li.has_reviewed_item .reviewed_it em{padding:6px;font-size:12px;font-weight:bold;}.images_module .body{height:1%;o verflow:hidden;}ul.images{display:inline;float:left;margin:0 0 0 -4px;}ul.images li{float:left;padding:5px 0 0 4px;} ul.images li img{border-width:1px;}.mini #main ul.images img{display:block;width :115px;}#side .images_module .body{padding:10px 0;}#side .images_module .foot{pa dding-top:0;}#side ul.images{float:none;margin:0;padding:0;width:100%;overflow:h idden;}#side ul.images li{padding:0 0 0 6px;}#side ul.images li img{width:90px;h eight:67px;border-width:1px;}ul.gameguides li.gameguide{border-width:1px 0 0;hei ght:1%;overflow:hidden;padding:10px 0;}ul.gameguides li.first{border-width:0;pad ding-bottom:0;}ul.gameguides li.has_cover .wrap{padding-left:80px;} ul.gameguides .cover{display:inline;float:left;margin:0 0 0 -80px;width:70px;}ul .gameguides .cover img{border-width:1px;width:68px;}ul.gameguides h3,ul.gameguid es div.details{float:right;width:100%;}#side #gameguide_module ul.gameguides{pad ding-bottom:15px;}#side #gameguide_module ul.gameguides li.gameguide{background: none;}#side #gameguide_module ul.gameguides li.has_cover .wrap{padding:0 80px 0 0;}#side #gameguide_module ul.gameguides .cover{float:right;margin:0 -80px 0 10p x;}#side #gameguide_module ul.gameguides h3,#side #gameguide_module ul.gameguide s div.details{float:left;} #side #gameguide_module .body ul.gameguides ul.actions li{margin:0;padding:0;bor der:0;float:none;display:block;}ul.comments{clear:both;margin-bottom:10px;positi on:relative;}ul.comments li.comment{height:auto;}ul.comments li.comment .title,u l.comments li.comment .message,ul.comments li.comment ul.actions,ul.comments li. comment .deck{display:inline;float:right;width:100%;}ul.comments li.comment .wra p{padding-left:100px;}ul.comments li.comment .title{display:block;font-size:14px ;font-weight:bold;line-height:14px;} ul.comments li.comment .title .role img{vertical-align:middle;margin-left:3px;}u l.comments li.comment .avatar{border-width:1px;display:inline;float:left;margin: 0 8px 0 -90px;width:80px;height:80px;}ul.comments li.comment .avatar a{backgroun d:center no-repeat;display:block;height:80px;width:80px;}ul.comments li.comment div.details{display:inline;}ul.comments li.comment p.posted{font-size:10px;margi n:5px 0;}ul.comments li.comment p{line-height:16px;}ul.comments li.comment .hide _comment{display:none;visibility:hidden;} ul.comments ul.details li{float:left;padding:0 7px;}ul.comments ul.details li.fi rst{padding-left:0;}ul.comments ul.details li.disagree{padding:0 2px 0 7px;}ul.c omments ul.details li.agree a,ul.comments ul.details li.disagree a{background:no -repeat 0 0;display:block;float:left;height:0;margin-right:6px;overflow:hidden;p adding-top:17px;width:12px;}ul.comments ul.details li.rating{border-width:0;padd ing:0 5px;}ul.comments ul.details li.rating span{font-size:11px;font-weight:bold ;}ul.comments ul.details li.rating .positive span{left:-1px;position:relative;to p:-2px;}

ul.comments ul.details li.moderate{border-left-width:0;float:right;text-align:ri ght;margin-left:95px;padding:0;}ul.comments ul.details li.moderate select{width: 175px;}ul.comments li.last{border-bottom-width:0;}ul.comments li.hidden{display: none;}.posted_comments .pagination{border-width:0 1px 1px;font-size:11px;height: 32px;margin-bottom:10px;position:relative;width:99.6%;}.posted_comments .tabs{bo ttom:-8px;float:left;line-height:32px;margin-left:7px;position:relative;}.posted _comments .tabs li{float:left;font-weight:bold;font-size:11px;padding-left:10px; } .posted_comments .tabs li a,.posted_comments .tabs li span{display:block;line-he ight:24px;padding:0 10px 0 0;}.posted_comments .tabs li.on{position:relative;}.p osted_comments .tabs li.on span{padding-bottom:1px;}.posted_comments .page_nav{f loat:right;height:32px;line-height:32px;padding:0;width:65%;}.posted_comments .p age_nav .page_flipper{display:inline;float:right;margin-right:10px;}.posted_comm ents .page_nav .pages{display:inline;float:right;height:32px;line-height:32px;ma rgin:0 10px 0 0;padding:0;} .posted_comments .page_nav .page_flipper .prev,.posted_comments .page_nav .page_ flipper .next{padding:0 15px 0 7px;width:auto;float:none;text-transform:lowercas e;line-height:32px;}.posted_comments .page_nav .page_flipper .prev{border-rightwidth:1px;padding:0 8px 0 15px;}.posted_comments .page_nav .page_flipper .end{bo rder-right-width:0;}.posted_comments .page_nav .page_flipper span.off{display:no ne;}.posted_comments ul.useract_toolbar{margin-bottom:5px;}.comments .body .comm ent_restriction{padding:10px 10px 10px 35px;margin:0;} .comments .body .comment_restriction p{margin:0;}.comments a.post_comment{displa y:block;font-size:0;height:0;visibility:hidden;}.comments ul.more li.first{float :left;}.comments ul.more li.first a{float:left;height:16px;line-height:16px;marg in:6px 0 0;padding-right:20px;}.comments .body .add_comment{height:auto;margin:0 ;padding:7px;}.comments .add_comment .head h3{font-size:11px;}.comments .add_com ment form .text_field{border-width:1px;padding:2px;text-align:center;}.comments .add_comment form textarea{border:0;margin:0;text-align:left;height:90px;width:9 9%;} .add_comment form .actions{border-width:1px;height:31px;line-height:31px;}.add_c omment form .actions input.submit{border-width:0;float:right;font-size:12px;font -weight:bold;height:24px;margin:3px 5px 0;width:107px;}.add_comment form .action s ul{margin:9px 0 0;}.add_comment form .actions .extra_actions{display:none;}.ad d_comment form .actions .extra_actions.on{display:block;margin:8px 0 0;}.add_com ment form .actions ul li{border-width:0 0 0 1px;font-size:11px;float:left;line-h eight:16px;padding:0 10px;} .add_comment form .actions ul li.first{border-width:0;padding-left:0;}.add_comme nt form .actions ul li.facebook_login img{float:left;margin-right:7px;}.add_comm ent .comment_actions{height:1%;overflow:hidden;margin:0;padding:0;}.add_comment .facebook_actions{font-size:11px;font-weight:bold;line-height:14px;text-align:ri ght;height:1%;overflow:hidden;}.add_comment .facebook_actions .fb_wrap{display:i nline;float:right;padding:4px 4px 4px 0;width:200px;}.add_comment .facebook_acti ons label.fb_post{padding:0;} .add_comment .facebook_actions input{vertical-align:middle;}.add_comment .login{ height:152px;margin:0;padding:0;}.add_comment .login .login_methods{height:94px; margin:0;padding:24px 28px 34px;overflow:hidden;}.add_comment .login .label{font -size:11px;margin:0 0 5px;}.add_comment .login .method{float:left;font-weight:bo ld;margin:0;padding:20px 0 0;text-align:center;width:50%;}.add_comment .login .m ethod p{margin:0;}.add_comment .login .method_gs p{line-height:25px;}.add_commen t .login .method_gs a{font-size:18px;} .add_comment .login .method_gs .sign_in{margin-right:8px;}.add_comment .login .m ethod_gs .sign_up{margin-left:8px;}.add_comment .fb_connected .method{width:100% ;}.add_comment .ad_unit_marquee{margin:0 auto;padding:4px 8px 0;width:234px;}.ad d_comment .facebook_actions .ad_unit_marquee{display:inline;float:left;padding-b ottom:8px;padding-right:0;}.comments .preview p em,.comments .preview dt{font-we ight:bold;}.comments .body .posted_comments{padding:0;}.comments .loading{backgr ound:url(155x1500.gif) no-repeat center;clear:both;height:100px;margin-bottom:10 px;} .comments .display_criteria{font-size:11px;margin:0;padding:0 10px;}.comments .e

rror_msg{margin:10px 0;}.search_box{padding:0 0 10px;}.search_box .body{height:1 %;padding:10px 240px 0 10px;overflow:hidden;}.search_box ul.search_types{float:l eft;font-size:11px;font-weight:bold;line-height:14px;padding:0;width:100%;}.sear ch_box ul.search_types li{float:left;margin:0 0 0 7px;padding:0 0 0 8px;}.search _box ul.search_types a,.search_box ul.search_types span{float:left;}.search_box ul.search_types li.first{margin:0;padding:0;} .search_box ul.search_types .general *{padding-left:17px;}.search_box ul.search_ types .tags *{padding-left:16px;}.search_box ul.search_types .forums *{padding-l eft:21px;}.search_box form{float:left;width:100%;padding:10px 0 0;}.search_box . search_tip{display:inline;float:right;font-size:9px;margin:0 -220px 0 20px;width :200px;}.tags_cloud{height:1%;overflow:hidden;}.tags_cloud a{margin:0 3px;whitespace:nowrap;}.tags_cloud a.smallest{font-size:10px;font-weight:normal;}.tags_cl oud a.small{font-size:11px;font-weight:normal;} .tags_cloud a.medium{font-size:12px;}.tags_cloud a.large{font-size:15px;}.tags_c loud a.largest{font-size:18px;}.tags_cloud .body{padding:10px;}.what_are_tags .b ody p{line-height:18px;}.contain_all .tags_cloud .smallest,.contain_all .tags_cl oud .small{font-size:10px;font-weight:normal;}.contain_all .tags_cloud .medium{f ont-size:11px;font-weight:normal;}.contain_all .tags_cloud .large{font-size:11px ;font-weight:bold;}.contain_all .tags_cloud .largest{font-size:12px;font-weight: bold;}.site_stats_module .body .module{padding:5px;} .site_stats_module .body .users_search_module{border-width:0 0 1px;}#side .site_ stats_module ul.videos ul.details li.first{border-right-width:0;}.list_users_mod ule .body{width:100%;overflow:hidden;}.list_users_module .body ul.users{display: inline;float:left;margin:-5px -5px 0 0;padding:5px 7px;}.list_users_module ul.us ers li.user{display:inline;border-width:1px;float:left;font-size:10px;margin:5px 5px 0 0;padding:5px 0 0;overflow:hidden;text-align:center;height:114px;width:90 px;}.list_users_module .avatar{margin:0 4px;width:82px;} .list_users_module .avatar a{background:no-repeat center center;display:block;he ight:0;width:80px;margin:0 auto;padding:80px 0 0;overflow:hidden;}.list_users_mo dule .avatar a span{display:none;}.list_users_module div.username{padding:10px 0 ;}.module .list_users_module .body ul.users{margin:-5px -5px 0 0;padding:5px 2px 0;}.top_filter_tabs{border-width:0 1px 1px;height:48px;}.top_filter_tabs .tabs_ wrap{height:33px;margin:0 -1px;padding:12px 1px 0;width:100%;position:relative;o verflow:hidden;}.top_filter_tabs ul{border-width:0 0 1px;height:32px;margin:0 -1 px;padding:0 8px;} .top_filter_tabs li{display:inline;float:left;font-size:14px;margin:0 0 0 6px;pa dding:0 15px;height:31px;line-height:31px;}.top_filter_tabs li.on{border-width:1 px 1px 0;height:33px;}#main .news_stories{margin-top:5px;}#latest_news .head{mar gin:5px 5px 0;}#latest_news .head .more{font-size:11px;line-height:25px;}#latest _news .foot{border-top:none;}#latest_news ul.stories{padding:0 10px;}#latest_new s ul.stories li.blog .wrap,#latest_news ul.stories li.story .wrap{padding:0;}#la test_news ul.stories li.first .wrap{padding:0 109px 0 0;} #latest_news ul.stories li.no_thumb .wrap{padding-right:0;}#latest_news .blog_ic on{background:url(site_blo.gif) no-repeat 3px -57px;padding-right:23px;}#latest_ news li.sidebar .blog_icon{background-position:3px -18px;}#latest_news li.story p{margin:0;line-height:1.4;}#skin.alt .module.features .body{background:#fff;}.m odule.features .body{background:transparent;}#hub_poll_module .body{padding:10px 0;}#hub_poll_module .wrap{height:1%;overflow:hidden;padding:0 10px 0 240px;}#hu b_poll_module .question{display:inline;float:left;font-size:16px;margin:0 0 0 -2 30px;padding:10px;width:200px;overflow:hidden;font-weight:bold;} #hub_poll_module .question p{margin:5px 0 10px;}#hub_poll_module .question a.res ults{font-size:11px;}#hub_poll_module .poll_choices{float:right;width:100%;}#hub _poll_module h2{overflow:hidden;height:0;padding-top:21px;}#hub_poll_module tabl e{width:100%;}#hub_poll_module td{vertical-align:middle;border-bottom-width:1px; padding:7px 0;}#hub_poll_module tr.last td{border-bottom-width:0;}#hub_poll_modu le td.count{font-size:14px;font-weight:bold;padding-right:10px;}#hub_poll_module td.choice{font-size:11px;padding-right:7px;width:82%;} #hub_poll_module td.vote{font-size:11px;text-align:center;line-height:21px;}#hub _poll_module td.vote a{display:block;height:21px;width:40px;}#hub_poll_module tr .first td{padding-top:0;}#hub_poll_module .results,#hub_poll_module .related{fon

t-weight:bold;}#topics_module .body .wrap{padding-right:65px;height:1%;overflow: hidden;}#topics_module ul.topics{height:1%;overflow:hidden;}#topics_module li.to pic{float:left;width:100%;}#topics_module .wrap h3{float:left;width:100%;}#topic s_module .wrap .thumb{float:right;display:inline;height:50px;width:50px;border-w idth:1px;margin-right:-65px;margin-left:10px;} #topics_module .thumb img{height:50px;width:50px;}#topics_module .wrap .details{ float:left;width:100%;}#topics_module .details li{border-width:0;}#topics_module .details li.count{font-size:10px;}#side .spotlight p{margin:8px 5px;}#gslive_sc hedule .body{font-size:10px;}#gslive_schedule ul.shows{padding:4px;}#gslive_sche dule .shows a{font-size:11px;font-weight:bold;}#gslive_schedule .shows h3{font:b old 10px Tahoma,Geneva,sans-serif;height:22px;line-height:22px;padding:0 10px 0 7px;}#gslive_schedule .shows li{background:none;border-width:0;clear:both;paddin g:0;} #side #gslive_schedule li.next span{float:right;margin:-17px 7px 0 0;}#side #gsl ive_schedule li.next .wrap{margin:2px 0 2px 0;padding:4px 7px 7px;background-rep eat:no-repeat;background-position:left top;}#side #gslive_schedule li.next .deta ils{text-align:right;overflow:hidden;position:relative;width:100%;height:92px;}# side #gslive_schedule li.next .details a{text-align:center;}#side #gslive_schedu le li.next .details .now_playing{font-size:12px;color:#FFEB00;font-weight:bold;m argin-top:15px;}#side #gslive_schedule li.next .details .now_playing a{display:b lock;text-align:right;font-size:13px;} #side #gslive_schedule li.next .details p{line-height:18px;}#side #gslive_schedu le li.next .title{font-size:10px;left:0;position:absolute;text-align:center;top: 0;width:160px;}#side #gslive_schedule li.next .title em{display:block;height:79p x;text-indent:-9999px;}#side #gslive_schedule li.next .countdown{line-height:13p x;padding:2px 0 0 170px;margin-top:5px;height:68px;}#side #gslive_schedule li.ne xt .countdown dt{padding:0 0 0 62px;text-align:left;}#side #gslive_schedule li.n ext .countdown dd{font:bold 10px Tahoma,Geneva,sans-serif;margin:-13px 50px 0 0; } #side #gslive_schedule li.next .subtitle{position:absolute;bottom:0;left:0;width :180px;text-align:left;overflow:hidden;font-size:11px;font-weight:bold;}#side #g slive_schedule li.next .reminder_not_set{color:#fff;}#side #gslive_schedule li.n ext .reminder_set{color:#cfc;}#gslive_schedule li.upcoming li,#gslive_schedule l i.recent li{border-bottom-width:1px;line-height:15px;padding:4px 7px;height:1%;o verflow:hidden;}#gslive_schedule li.upcoming li.last,#gslive_schedule li.recent li.last{border-bottom-width:0;} #gslive_schedule .upcoming em.title{display:block;}#gslive_schedule .recent em.t itle{float:left;width:230px;}#gslive_schedule li.recent span.action,#gslive_sche dule li.upcoming span.action{float:right;}#gslive_schedule li.recent span.action a,#gslive_schedule li.upcoming span.action a{font-size:10px;}#gslive_schedule l i.upcoming span.start{float:left;}#gslive_schedule .recent em a{margin-right:8px ;}#mini #gslive_schedule{margin:5px;}#mini #gslive_schedule ul.shows{padding:4px 0;}#mini #gslive_schedule li ul li{padding:5px;} #mini #gslive_schedule li em{display:block;float:none;line-height:16px;text-alig n:left;width:155px;}#legacy_layout #mini #gslive_schedule li em{width:183px;}#mi ni #gslive_schedule li.recent em{float:left;width:auto;}#mini #gslive_schedule l i.recent span.action{float:right;}#mini #gslive_schedule li em a{font-size:12px; }#mini #gslive_schedule li.next .details{padding:5px 10px;}#mini #gslive_schedul e li.next p{font-size:11px;font-weight:bold;margin:5px 0;}#mini #gslive_schedule li.next a.title{font-size:12px;} #mini #gslive_schedule li.recent a.watch{display:block;line-height:14px;text-ali gn:left;}#stockwatch table{width:100%;}#stockwatch caption{line-height:0;text-in dent:-9999px;}#stockwatch th{padding:5px 20px;white-space:nowrap;}#stockwatch th .change{padding-left:14px;}#stockwatch th.percent{padding-left:8px;}#stockwatch td{font-weight:bold;padding:5px 20px;}#stockwatch{padding-bottom:5px;}#releaseca lendar h4{font-size:11px;line-height:25px;margin-top:7px;padding-left:7px;}#rele asecalendar li{font-size:11px;padding:6px 0 6px 3px;border-bottom:1px solid;} #releasecalendar li .platform,#releasecalendar li .platform a{font-size:10px;fon t-weight:normal;}#releasecalendar .more{padding:6px 0;}#gfaqs_answers_topgames l i{padding:6px 0;}#gfaqs_answers_topgames .more{display:block;text-align:center;p

adding:13px 0;}#browse_module{height:37px;background-repeat:no-repeat;background -position:5px center;padding-left:43px;line-height:37px;}#browse_module ul{displ ay:inline;margin-left:3px;}#browse_module li{display:inline;border-right:1px sol id;padding-right:7px;margin-right:7px;} #browse_module li.last{border-right:none;}#download_browse .body{height:1%;overf low:hidden;padding:10px 10px;}#download_browse form,#download_browse fieldset{fl oat:left;}#download_browse ul.tertiary_nav{margin:0;height:1%;overflow:hidden;fl oat:right;padding:0;}#download_browse ul.tertiary_nav li.last{padding:0;margin:0 ;}#download_browse #browse_filters form{padding:0;}#download_browse #browse_filt ers form select{margin:0 5px 0 0;}#podcasts{text-align:right;}#podcasts li{paddi ng:6px 0;padding-left:25px;border-bottom-width:1px;height:1%;overflow:hidden;} #podcasts .podcast{float:left;font-weight:bold;}#podcasts .podcast a{font-weight :normal;font-size:10px;margin-left:5px;}#podcasts .ots{background-position:1px 0 ;}#podcasts .np{background-position:1px -263px;}#podcasts .hs{background-positio n:1px -25px;}#podcasts .bm{background-position:2px -50px;}#podcasts .uk{backgrou nd-position:1px -74px;}#podcasts .btg{background-position:1px -199px;}#podcasts .lu{background-position:1px -124px;}#podcasts .ss{background-position:2px -150px ;}#podcasts .ftb{background-position:2px -175px;} #podcasts .oz{background-position:1px -200px;}#podcasts .crosshairs{background-p osition:2px -228px;}#recommends ul.recs li.rec{overflow:hidden;width:100%;}#reco mmends ul.recs li.rec .wrap{padding-right:90px;}#recommends ul.recs li.rec h3,#r ecommends ul.recs li.rec .deck,#recommends ul.recs li.rec .actions{display:inlin e;float:left;width:100%;}#recommends ul.recs li.rec .details{display:inline;}#re commends ul.recs li.rec .thumb{display:inline;float:right;margin:0 -90px 0 10px; }#recommends ul.recs li.rec .thumb img{border-width:1px;width:70px;display:block ;} #recommends ul.recs li.rec p{margin:0;}#recommends ul.recs li.rec p.score{font-w eight:bold;}#recommends ul.actions{margin-top:5px;}#recommends ul.actions li a{f ont-size:12px;}#got_files .body{border:1px solid;border-top-width:0;}#got_files .body img{display:block;}#feature_deck{font-size:12px;text-align:center;}#legacy _layout #mini #feature_deck{margin-left:5px;margin-right:5px;}#feature_deck h2{m argin:10px 0;font-size:12px;}#feature_deck p{margin:0;}#tags_module .head ul.mor e li{font-size:11px;} #tags_module .head ul.more li a{font-weight:normal;}#tags_module .body{text-alig n:center;padding:5px;}#legacy_layout #mini #tags_module .body{padding:0;margin:0 ;}#legacy_layout #mini #tags_module .module{padding:5px 0;margin:0;}.tag_form{ma rgin:0;padding:0;height:auto;width:100%;overflow:hidden;}.tag_form .actions{widt h:100%;overflow:hidden;}.tag_form .body{text-align:left;}.tag_form .tag_field{bo rder-width:1px;margin:5px 0;padding:2px;}.tag_form fieldset label{font-size:10px ;line-height:12px;}.tag_form fieldset p{margin:0;} .tag_form textarea{width:99%;border:0;}.tag_form a.cancel{line-height:21px;curso r:pointer;float:right;}.tag_form form.tag_form span.submit{background:#eb7d26 ur l(button00.gif) no-repeat 0 0;float:left;border:1px solid #ba6401;width:70px;hei ght:20px;margin:0;padding:2px 0 0;overflow:hidden;}.tag_form form.tag_form input .submit{background:none;border:0;color:#fff;font-weight:bold;padding:0;margin:0; width:70px;height:16px;}#mini #tag_form,#legacy_layout #mini #tag_form,#siteblog _layout #mini #tag_form{margin:0;} #mini #tag_form form label strong{display:block;font-weight:bold;font-size:11px; }#checkprices_module div.boxshots{border-width:0 0 1px;height:100%;margin:0 8px; padding:8px 0;overflow:hidden;}#checkprices_module ul.boxshots{margin:0 -8px 0 0 ;padding:0;float:left;}#checkprices_module li.boxshot{background:none;border-wid th:0;float:left;width:65px;margin:0;padding:0 8px 0 0;}#checkprices_module li.bo xshot img{width:65px;}#checkprices_module ul.priced_games li{padding:6px 0;}#min i #site_blogs ul.blogs li.blog{padding:10px 0;} #mini #site_blogs ul.blogs li.blog .wrap{padding:0 10px;}#mini #site_blogs ul.bl ogs li.blog .blog_thumb{overflow:hidden;}#mini #site_blogs ul.blogs li.blog .blo g_thumb a{display:block;}#mini #site_blogs ul.blogs li.blog .blog_thumb img{disp lay:block;}#siteblog_layout #mini .feature_top ul.stories li.story,#siteblog_lay out #mini .feature_top ul.stories li.story .details,#siteblog_layout #mini .feat ure_top ul.stories li.story .details .deck,#siteblog_layout #mini .feature_top u

l.stories li.story .details .thumb{display:block;float:none;height:auto;margin:0 ;padding:0;} #siteblog_layout #mini .feature_top ul.stories li.story .details .thumb{margin:0 auto;width:140px;}#siteblog_layout #mini .feature_top ul.stories li.story .deta ils p{padding:10px;}#siteblog_layout #mini .feature_top ul.stories li.last{borde r-width:0;}#siteblog_layout #mini .headlines_only ul.stories{padding:0;}#siteblo g_layout #mini .headlines_only p.title{margin-bottom:0;padding:0 8px;width:auto; }#top_results{margin-top:0;}#top_results .body{float:left;width:100%;}#top_resul ts .foot{clear:both;font-size:14px;margin:0;padding:10px 0;text-align:center;} ul.games li.game{float:left;padding:15px 0;width:100%;}ul.games li.game h3,ul.ga mes li.game .deck,ul.games li.game .more_details{display:inline;float:right;marg in:0;width:100%;}ul.games li.game .wrap{padding-left:110px;}ul.games li.has_scor e .wrap{padding-right:115px;}ul.games li.game h3{font-size:15px;}ul.games li.gam e .details{display:inline;float:left;width:100%;}ul.games li.game .thumb,ul.game s li.game .boxshot{border-width:1px;display:inline;float:left;margin:0 10px 0 -1 00px;overflow:hidden;width:85px;margin-bottom:2px;} ul.games li.game .details .boxshot,ul.games li.game .details .thumb{margin-top:16px;}ul.games li.game .thumb a,ul.games li.game .thumb img,ul.games li.game .bo xshot a,ul.games li.game .boxshot img{display:block;width:85px;}ul.games li.game .more_details{float:right;display:inline;margin:5px 0;}ul.games li.game .more_d etails li{border-width:0 0 0 1px;float:left;font-size:11px;line-height:13px;padd ing:0 5px 0 6px;}ul.games li.game .more_details li.first{border:0;padding-left:0 ;}ul.games li.game .more_details,ul.games li.game .deck{float:left;width:100%;} ul.games li.game .deck p{display:block;float:none;margin:0 0 3px;}ul.games li.ga me .score_summary{display:inline;float:right;height:95px;margin:-16px -105px 0 1 0px;text-align:center;width:93px;}ul.games li.game .score_summary dt{font-size:1 0px;margin-top:11px;}ul.games li.game .score_summary dd a{font-size:40px;font-we ight:bold;}ul.games li.game .score_summary dd a:hover{text-decoration:none;}ul.g ames li.game .score_summary dd.word,ul.games li.game .score_summary dd.choice a{ font-size:11px;font-weight:bold;text-transform:capitalize;} .game_titles,.game_titles ul.games{height:1%;overflow:hidden;}.game_titles ul.ga mes li.game{display:inline;float:left;padding:0;width:100%;}.game_titles ul.game s li.game .wrap{padding:10px 0 0;}.game_titles ul.games li.game p{margin:0;}.con tain_all .game_titles ul.games li.game .wrap{padding:10px 0;}.top_games_module{b ackground:#b3b3b3 no-repeat 0 0;}.top_games_module ul.games{padding:0 0 0 111px; height:1%;overflow:hidden;}.top_games_module ul.games li.game .wrap{padding:10px 10px 0;}.top_games_module .rank{font-weight:bold;} #content .top_games_module .feature_top{margin:0;}#content .top_games_module .fe ature_top .body_wrap{height:1%;overflow:hidden;}#content .top_games_module .feat ure_top .first{border-color:#fff;border-width:0 1px 0 0;width:110px;margin:0 0 200px -111px;padding:0 0 200px;}#content .top_games_module .feature_top .first . wrap{display:inline;float:left;border-color:#666;border-width:0 1px 0 0;margin:0 0 -200px;padding-bottom:210px;padding-right:9px;width:90px;}.top_games_module . feature_top .first .title{margin:0 0 10px;} .top_games_module .feature_top .first .thumb{display:block;float:none;margin:0 a uto;}.top_games_module .feature_top .first .thumb a{display:block;}.top_games_mo dule .feature_top .first .portable_thumb,.top_games_module .feature_top .first . portable_thumb img{height:75px;width:75px;}.top_games_module .feature_top ul.gam es .last .wrap{padding-bottom:10px;}#side .top_games_module{background-image:url (contain3.png);}#side .top_games_module .body,#side .top_games_module .body_wrap {background:url(contain3.png) no-repeat 0 0;} #side .top_games_module .body{background-position:-300px 0;background-repeat:rep eat-y;}#side .top_games_module .body_wrap{background-position:-600px bottom;padd ing-bottom:1px;}#video_reviews h2,#video_previews h2{text-transform:capitalize;} #side .related ul.actions li{display:inline;padding:0 5px;}#side .related ul.act ions li.first{border:0;padding:0;}#side .related ul.actions li.sd{border-width:0 ;}#side .related ul.actions li.last{border-left:1px solid;}.gameguide_header{mar gin-top:10px;position:relative;} .gameguide_header img.banner{display:block;width:880px;height:140px;background-p osition:top left;background-repeat:no-repeat;}.gameguide_header img.absolute{pos

ition:absolute;}#browse_filters ul.letternav{clear:both;float:left;line-height:1 1px;padding-top:10px;}#browse_filters ul.letternav li,.categories .body ul.lette rnav li{background:none;float:left;padding:0 2px;}.categories .body ul.letternav {border-bottom-width:0;border-right-width:1px;display:inline;float:right;font-si ze:11px;margin:-21px 77px 0 10px;padding:0 3px 0 0;} .categories .body ul.letternav li{padding-left:0;}.categories .body ul.letternav li.on{font-style:italic;}.body ul.browse_categories{overflow:hidden;padding:0;w idth:100%;}.body ul.browse_categories li.browse_category{border-width:1px 1px 0 0;float:left;font-size:11px;height:24px;line-height:24px;padding:0 0 0 10px;widt h:151px;}div.mini .body ul.browse_categories li.browse_category{width:148px;}.bo dy ul.browse_categories li.last{border-right-width:0;border-top:1px solid;paddin g-right:3px;}.body ul.browse_categories li.filter_category{float:left;border-rig ht-width:1px;padding:0 10px;} .body ul.inline li.last{border-width:0;}#skin .body ul.browse_categories li.brow se_category{width:131px;}#skin div.mini .body ul.browse_categories li.browse_cat egory{width:121px;}#skin div.mini .body ul.browse_categories li.last{padding-rig ht:5px;}#browse_filters{margin-bottom:0;}#browse_filters .body{overflow:hidden;p adding:10px 0;width:100%;}#browse_filters .body .wrap{height:1%;line-height:20px ;font-size:11px;}#browse_filters form{padding:0 5px;float:left;}#browse_filters form select,#browse_filters form span.submit{float:left;display:inline;font-size :11px;margin-left:5px;} #browse_filters form span.submit{border-width:1px;height:16px;padding:2px 0 0;ma rgin-right:10px;width:78px;overflow:hidden;text-align:center;}#browse_filters fo rm input.submit{background:none;border:0;font-size:11px;font-weight:bold;margin: 0;padding:0;vertical-align:top;position:relative;}#browse_filters.new_releases . form{margin:0 0 0 163px;overflow:hidden;text-align:center;width:286px;position:r elative;}#browse_filters.new_releases .browse_weeks{height:1%;overflow:hidden;fo nt-size:14px;margin-top:-20px;padding:0 10px;text-transform:uppercase;font-weigh t:normal;} #browse_filters.new_releases .browse_weeks a.prev{float:left;padding-left:22px;} #browse_filters.new_releases .browse_weeks a.next{float:right;padding-right:22px ;}#browse_filters ul.time{clear:both;float:left;padding-top:10px;}#browse_filter s ul.time li{border-right:1px solid;float:left;line-height:11px;padding:0 5px 0 6px;}#browse_filters ul.time li.first{padding-left:0;}#browse_filters ul.time li .last{border-width:0;padding-right:0;}#browse_filters .wrap{position:relative;}# browse_filters.updates .body{margin-bottom:1px;padding-bottom:0;} #browse_filters.updates ul.tabs{height:25px;padding-top:10px;overflow:hidden;wid th:100%;clear:both;}#browse_filters.updates ul.tabs li{float:left;margin-right:4 px;padding:0 0 0 8px;}#browse_filters.updates ul.tabs li a,#browse_filters.updat es ul.tabs li span{display:block;line-height:25px;font-size:11px;padding-right:8 px;}#feature_filter .head #browse_filters form{padding:0;margin-top:3px;}#featur e_filter .head #browse_filters form select{margin:0 5px 0 0;}#browse_filters div .help{float:right;margin-right:10px;font-size:10px;} #filter_results{margin-top:0;}#filter_results table{font-size:11px;width:100%;}# filter_results table thead th{font-size:11px;font-weight:bold;}#filter_results t able th,#filter_results table td{padding:10px;text-align:center;vertical-align:m iddle;}#filter_results table th{height:30px;padding:5px 10px;}#filter_results ta ble th.first,#filter_results table tbody th{text-align:left;}#filter_results tab le tbody td,#filter_results table tbody th{border-right-width:1px;}#filter_resul ts table tbody th p{margin-bottom:0;} #filter_results table th.posted{width:14%;}#filter_results table th.last,#filter _results table td.last{border-right-width:0;}#filter_results table th.headline,# filter_results table td.headline{text-align:left;}.no_results{padding:20px 10px; font-weight:bold;text-align:center;}.filtered_games_module .foot{border-width:1p x 0 0;padding:10px 0;}.filtered_games_module .foot p.more{font-size:14px;text-al ign:center;}.filtered_dlc_module table.filtered_games td.reader_score{font-weigh t:bold;}.embscreen_large{padding:15px 20px;margin:15px auto 15px;} #main .body div.embscreen{border-width:1px;float:right;font-size:11px;margin:0 0 10px 10px;padding:5px;width:182px;clear:both;}.embscreen_large img,#main .body div.embscreen img{display:block;margin:0 auto;}.embscreen_large p.embscreen_capt

ion{margin:10px 0 0 0;font-size:10px;line-height:11px;text-align:center;}#main . body div.embscreen p.caption{margin:10px 0 5px 0;line-height:11px;text-align:cen ter;}#main .body div.embscreen p.center{text-align:center;}.page_nav{height:1%;o verflow:hidden;padding:8px 10px;} .page_nav .page_flipper .prev,.page_nav .page_flipper .next{font-weight:bold;tex t-transform:uppercase;line-height:19px;}.page_nav .page_flipper .prev{float:left ;padding:0 15px;}.page_nav .page_flipper .next{float:right;padding:0 15px;text-a lign:right;}.page_nav .page_flipper span.off{visibility:hidden;}.page_nav ul.pag es{text-align:center;height:1%;overflow:hidden;padding:2px 0;}.page_nav ul.pages li{display:inline;border-width:1px;padding:0 3px;margin-right:3px;}.page_nav ul .pages li.on,.page_nav ul.pages li.ellipsis{border-width:0;font-weight:bold;line -height:16px;} .page_nav ul.pages li.ellipsis{padding:0;}.flipper_only .page_flipper .next,.fli pper_only .page_flipper .prev{text-transform:capitalize;}.story_page_nav{padding :10px 0;}.story_page_nav .page_flipper{padding:3px 0 0;}.story_page_nav .page_fl ipper .prev{padding:0 0 0 20px;}.story_page_nav .page_flipper .next{padding:0 20 px 0 0;}.images .page_nav{padding:10px;}.images .page_nav ul.pages li{padding:1p x 5px;}.search_page_nav,.search_page_nav ul.pages li.flipper{border-width:0;}.po rtable .page_nav{padding:18px 10px;} #bottomnav{text-align:center;padding:10px;border-width:1px;margin-top:20px;fontsize:11px;}#bottomnav h4{margin-bottom:3px;}#bottomnav a{font-size:11px;}#popula r_pages .body li .wrap,#related_content_module .body li .wrap{height:1%;overflow :hidden;}#popular_pages .body li .graphic,#related_content_module .body li .grap hic{padding-right:108px;}#popular_pages .body li h3,#related_content_module .bod y li h3{font-size:11px;float:left;width:260px;padding-left:20px;line-height:14px ;}#popular_pages .body li h3.first,#related_content_module .body li h3.first{pad ding-left:0;} #popular_pages .body li .graphic h3.first{width:172px;}#related_content_module . body li .graphic h3{width:152px;}#popular_pages .body li h3 img,#related_content _module .body li h3 img{margin-left:7px;height:14px;width:13px;vertical-align:to p;}#popular_pages li ul.details,#related_content_module ul.details{float:left;wi dth:100%;}#popular_pages li div.details,#related_content_module div.details{disp lay:inline;}#popular_pages li .deck,#related_content_module li .deck{margin:4px 0;float:left;width:100%;} #popular_pages li .thumb,#related_content_module li .thumb{width:96px;height:72p x;border-width:1px;float:right;display:inline;margin:0 -108px 0 10px;}#popular_p ages li .thumb img,#related_content_module li .thumb img{width:96px;height:72px; display:block;}#popular_pages li .deck{margin:5px 0 0;}#popular_pages li .deck p ,#related_content_module li .deck p{margin:0;}#popular_pages p.definition,#relat ed_content_module p.definition{font-size:10px;padding:10px;margin:0;}#popular_pa ges li h3 span,#related_content_module li h3 span{padding-right:13px;margin-righ t:5px;} #related_content_module .body li.sponsored h3 a.title{display:block;font-size:13 px;margin-left:-20px;padding-top:20px;}#mini #popular_pages .body li h3,#mini #r elated_content_module .body li h3{width:155px;}#mini #popular_pages .body li,#mi ni #related_content_module .body li{padding:10px 0;margin:0 5px;}#mini #popular_ pages .body li .wrap,#mini #related_content_module .body li .wrap{height:1%;over flow:hidden;}#unions_module h3,#unions_module .deck,#unions_module ul.details{fl oat:right;width:100%;} #unions_module .thumb{width:80px;height:80px;border-width:1px;float:left;display :inline;margin:0 10px 0 -92px;}#unions_module .avatar{width:80px;height:80px;dis play:block;}#unions_module .details{display:inline;}#unions_module li{height:1%; overflow:hidden;}#unions_module li .wrap{padding-left:92px;}#gamingoffers h3,#ga mingoffers .deck,#gamingoffers ul.details{width:100%;float:right;}#gamingoffers .thumb{width:70px;height:70px;border-width:1px;float:left;display:inline;margin: 0 10px 0 -82px;}#gamingoffers .avatar{width:70px;height:70px;display:block;} #gamingoffers li{height:1%;overflow:hidden;}#gamingoffers li .wrap{padding-left: 82px;}#gamespace_user_submissions #user_videos_module .body li,#gamespace_user_s ubmissions #user_images_module .body li{height:1%;overflow:hidden;}#gamespace_us er_submissions #user_videos_module .head h3,#gamespace_user_submissions #user_im

ages_module .head h3{line-height:23px;}#gamespace_user_submissions #user_videos_ module h4,#gamespace_user_submissions #user_images_module h4{margin-bottom:3px;f loat:left;width:100%;} #gamespace_user_submissions #user_videos_module .body li .wrap,#gamespace_user_s ubmissions #user_images_module .body li .wrap{padding-right:108px;}#gamespace_us er_submissions #user_videos_module .body div.details,#gamespace_user_submissions #user_images_module .body div.details{display:inline;}#gamespace_user_submissio ns #user_videos_module .body ul.details li,#gamespace_user_submissions #user_ima ges_module .body ul.details li{padding-right:0;font-size:11px;}#gamespace_user_s ubmissions #user_videos_module .body ul.details,#gamespace_user_submissions #use r_images_module .body ul.details{padding:0;} #gamespace_user_submissions #user_videos_module .body .deck,#gamespace_user_subm issions #user_images_module .body .deck{float:left;width:100%;}#gamespace_user_s ubmissions #user_videos_module .thumb{float:right;margin:0 -108px 0 10px;width:9 6px;height:72px;border-width:1px;display:inline;}#gamespace_user_submissions #us er_videos_module .thumb a{width:96px;height:72px;display:block;position:relative ;}#gamespace_user_submissions #user_images_module .thumb{width:96px;height:72px; border-width:1px;margin:0 -108px 0 10px;float:right;display:inline;} #gamespace_user_submissions #user_images_module .thumb a{width:96px;height:72px; display:block;}.cheat_details .description{margin:5px 0;}.module .body .cheat_de tails .description .head{border-width:0;padding:0;}.cheat_details .description . head .wrap{margin:0;}.body ul.cheats li .head{border-width:0;margin-top:10px;pad ding:0;}ul.cheats li .head .wrap{margin-left:0;}ul.cheats li .head h3{font-size: 14px;}ul.cheats li{padding:0 10px;}ul.cheats p{line-height:16px;}.print_cheats{t ext-align:right;}.print_cheats a{padding-left:18px;} table.cheats{margin-bottom:10px;width:100%;}table.cheats th{font-weight:bold;pad ding:5px 10px;}table.cheats td{padding:10px;}table.cheats .cheat{font-weight:bol d;vertical-align:middle;width:60%;}table.faqs{width:100%;}table.faqs tr{border-b ottom-width:1px;}table.faqs tr td{padding:5px;}table.faqs tr td.type{;font-weigh t:bold;}#side #faqs_walkthroughs .body{padding:3px 5px 8px;}#side .contain_all t able.faqs tr{border:0;}#side .contain_all table.faqs tr.last td{background:none; }#compare_prices .body{overflow:hidden;height:1%;margin:1px;padding:5px;} #compare_prices .body .body{margin:0;padding:0;}#compare_prices .prices_chart .h ead h2{font-size:12px;line-height:23px;}.prices_chart table{width:100%;}.prices_ chart table th{font-size:11px;font-weight:bold;}.prices_chart table td{font-size :12px;font-weight:bold;}.prices_chart table td.merchant,.prices_chart table td.p ublisher{font-size:11px;}.prices_chart table thead th,.prices_chart table tfoot td{padding:5px 10px;}.prices_chart table thead th.merchant{width:18%;}.prices_ch art table thead th.publisher{padding-left:7px;} .prices_chart table thead th.title{width:25%;padding-left:8px;}.prices_chart tab le thead th.price,.prices_chart table thead th.buy{width:10%;}.prices_chart tabl e tbody td{padding:10px 8px;vertical-align:middle;}.prices_chart .buy_btn{displa y:block;font-size:11px;height:16px;line-height:16px;width:45px;text-align:center ;}.prices_chart a.buy_btn:hover{text-decoration:none;}.shopper .body{padding:0 1 0px;}.shopper table{width:100%;}.shopper table td{font-size:12px;font-weight:bol d;padding:10px 0;text-align:center;} .shopper table td.button{width:45px;font-size:11px;}.shopper table td.button a{d isplay:block;height:16px;line-height:16px;}.shopper table td.merchant{text-align :left;}.shopper table td.price{width:90px;}.gamespace_video .filters{height:25px ;overflow:hidden;padding-top:6px;width:100%;}.gamespace_video .filters ul{float: left;padding:0 5px;}.gamespace_video .filters .timespan{float:right;}.gamespace_ video .filters li{float:left;margin-right:4px;padding:0 0 0 10px;}.gamespace_vid eo .filters li a{display:block;font-size:11px;line-height:25px;padding:0 10px 0 0;} .gamespace_video #gs_videos.loading{height:100px;}.video_player_feedback{margintop:0;}.video_player_feedback .body p{margin:0;padding:10px;}.video_player_feedb ack .body .submit_msg{color:#fff;font-weight:bold;}.alt .video_player_feedback . body .submit_msg{color:#000;}.video_player_feedback .body li{height:1%;overflow: hidden;}.video_player_feedback ul.scale dl{padding:0 5px 0 345px;}.video_player_ feedback ul.scale dt{display:inline;float:left;margin:0 10px 0 -340px;width:335p

x;}.video_player_feedback ul.scale dd{float:right;} .video_player_feedback ul.scale select{border-width:1px;border-style:solid;margi n:0;padding:0;}.video_player_feedback ul.free_forms dl{padding:0 5px;}.video_pla yer_feedback ul.free_forms dt{padding-bottom:5px;}.video_player_feedback ul.free _forms dd{background:#fff;border-width:1px;border-style:solid;height:1%;overflow :hidden;padding:5px;}.video_player_feedback ul.free_forms textarea{border:0;marg in:0;padding:0;height:57px;width:100%;}.video_player_feedback .body ul.btns li,. alt .video_player_feedback .body ul.btns li{background:none;display:inline;float :left;margin-right:5px;} #related_games #subnav{padding:5px;height:1%;overflow:hidden;height:25px;line-he ight:25px;}#related_games #subnav_wrap li{float:left;border-right-width:1px;padd ing-right:7px;margin-left:7px;}#related_games #subnav_wrap li.last{border-rightwidth:0;}#related_games ul.games{padding:0;}#related_games ul.games li.game .thu mb{padding:5px;margin-left:-110px;}#related_games ul.games li.game .more_details {color:#9b9b9b;margin:0;}#related_games ul.games li.game .more_details li{float: none;border-width:0;padding-left:0;margin-top:3px;} #related_games ul.games li.game.has_score .wrap{padding-right:110px;}#related_ga mes ul.games li.game .wrap{padding-left:110px;}#related_games ul.games li.game . score_summary{margin-right:-110px;}.video_player{margin:0 auto;padding:0;}#main .video_player{margin-top:0;padding:0;}.proteus_video_player{margin:0 auto;paddin g:10px 0;}#main .proteus_video_player{margin-top:10px;padding:0;}.video_content #flash_video_player_wrapper .video_player{height:399px;width:642px;}.hd_video_co ntent #flash_video_player_wrapper .video_player{height:579px;width:960px;} .video_error{padding:15px;border-width:1px;font-size:14px;line-height:15px;margi n-bottom:10px;}.video_error strong{background:transparent url(hub_icon.gif) no-r epeat 0 0;padding-left:25px;}.video_player p.req_msg{margin:0;text-align:center; }.video_content .video_player p.req_msg{line-height:391px;}#flashStateMsg #flash _req_msg{display:none;}#flashStateMsg.flash_required #flash_req_msg{display:inli ne;}#flashStateMsg.flash_required #flash_lding_msg{display:none;}.hd_video_conte nt .video_player p.req_msg{line-height:583px;} .show_user_video .video_player{height:391px;}.show_user_video .body .manage{font -size:10px;}.show_user_video .body .img_details{font-size:11px;margin-top:5px;}. show_user_video .body h3{font-size:16px;}.show_user_video .vid_desc{margin:10px 0;}.show_user_video .vid_info_wrap{margin-bottom:10px;}.show_user_video ul.view_ user_vid li.vid{padding:15px 25px;}.show_user_video ul.view_user_vid li .video_p layer{margin:10px auto;}.show_user_video .swiff_container{height:407px;width:480 px;}.video_content .transcript{height:auto!important;height:240px;max-height:240 px;overflow:auto;} .upsell.hd{margin-top:0;}.upsell .body{padding:10px 0;overflow:hidden;width:100% ;}.upsell .body .wrap{padding:0 10px 0 137px;}.upsell .wrap a.btn{float:left;fon t:bold 10px Tahoma,Geneva,sans-serif;height:38px;margin-left:-128px;width:118px; }.upsell .wrap a.btn span{display:block;margin-left:3px;padding:5px 3px 0 0;text -align:center;}.upsell .wrap a.btn span.format{display:block;font:bold 11px Aria l,Helvetica,sans-serif;padding:3px 0 4px;}.sd .wrap a.btn span.format{padding:4p x 0 3px 0;text-indent:-9999px;} .upsell .wrap p{float:left;font-size:10px;margin:0;}.video_player_promo_btn{marg in:10px 0;}.video_player_promo_btn a,.video_player_promo_btn span{background:url (btn_vide.gif) no-repeat right 0;display:block;font-size:12px;height:36px;line-h eight:36px;}.video_player_promo_btn a{padding:0 7px 0 0;}.video_player_promo_btn span{background-position:0 -36px;padding:0 0 0 52px;}.video_player_promo_btn a strong{color:#fff;}.video_player_promo_btn a.back{background-position:0 -3px;pad ding:0 0 0 7px;} .video_player_promo_btn a.back,.video_player_promo_btn a.back span{height:29px;l ine-height:28px;}.video_player_promo_btn a.back span{background-position:1000px 0;padding:0;}#content .video_player_promo_btn a{color:#ff8400;}#main .video_embe d{margin:10px auto;clear:both;background-color:#000;}#main .video_embed .video_p layer{margin:0 auto;}#main .video_embed .video_details{border:1px solid;font-siz e:11px;}#main .video_embed .video_details p.caption{padding:10px 15px;margin-bot tom:0;line-height:11px;} #main .video_embed .video_details ul.video_actions{height:1%;overflow:hidden;pad

ding:10px 15px;margin:0;line-height:14px;}#main .video_embed .video_details ul.v ideo_actions li{float:left;border-left:1px solid;margin:0 15px 0 0;padding-left: 45px;list-style-type:none;}#main .video_embed .video_details ul.video_actions li .first{border-left-width:0;padding-left:20px;}#main .module .body .blog_post ul. video_actions{padding:10px 15px;margin:0;list-style-type:none;}#main .module .bo dy .blog_post ul.video_actions li{margin-right:15px;padding-left:45px;line-heigh t:14px;border-bottom-width:0;} #main .module .body .blog_post ul.video_actions li.first{padding-left:20px;}#mpu _layout.mini #content #video_info .top{padding:0 300px 0 2px;}#mpu_layout.mini # content #video_info .video_title{float:left;margin-bottom:2px;width:100%;}#mpu_l ayout.mini #content #video_info .wrap{display:inline;}#mpu_layout.mini #content #video_info .wrap p.deck{font-size:11px;margin-bottom:5px;}#mpu_layout.mini #con tent #video_info ul.details{display:inline;float:right;font-weight:bold;height:1 %;line-height:14px;margin-right:-300px;overflow:hidden;width:300px;} #mpu_layout.mini #content #video_info ul.details li{border-width:0;float:right;p adding:0 5px;text-align:right;}#mpu_layout.mini #content #video_info ul.details li.first{border-left-width:1px;}#video_summary{margin-bottom:5px;}#video_summary .hd{margin-top:0;}#video_summary .details{clear:both;font-size:11px;float:left;m argin:5px 0 7px;}#video_summary .details li{border-left-width:1px;float:left;fon t-size:11px;line-height:11px;padding:0 5px;}#video_summary .details li.first{bor der-left:0;padding-left:0;} #video_summary p{clear:both;font-size:11px;margin-top:7px;padding:0 5px;}#video_ summary ul.watch{overflow:hidden;width:100%;height:1%;}#video_summary ul.watch l i{float:left;font-size:11px;height:28px;line-height:28px;margin-right:5px;width: 147px;}#video_summary ul.watch li.last{margin-right:0;}#video_summary ul.watch l i a{display:block;height:0;padding-top:28px;overflow:hidden;}#video_summary ul.w atch li.current{display:block;text-indent:-9999px;}#content #video_summary.sd p{ padding:0;}#content #video_summary.sd .head{background:none;border:0;height:auto ;padding-left:0;} #content #video_summary.sd .head .wrap{margin:0;padding:0;}#content #video_summa ry.sd .head h2{font-size:16px;line-height:20px;}#download_panel{padding:0 5px 5p x;}#download_panel .head{border-width:0;}#download_panel .head .wrap{height:auto ;padding:0;width:100%;overflow:hidden;}#download_panel .head ul.more li{font-siz e:11px;}#download_panel .body{padding:15px 15px 10px;font-size:11px;font-weight: bold;}#download_panel .body dl{overflow:hidden;padding:0;width:100%;}#download_p anel .body dt{border-top-width:1px;clear:both;display:inline;float:left;font-siz e:11px;font-weight:bold;margin-left:10px;padding:5px 0;width:44%;} #download_panel .body dd{border-top-width:1px;float:left;padding:5px 0;width:25% ;}#download_panel .body dd.download{text-align:right;}#download_panel .body dt.f irst,#download_panel .body dd.first{border-width:0;}#download_panel .body ul{mar gin:7px;padding:0 7px;}#download_panel .body ul li{background:none;padding:7px 0 ;border-bottom-width:1px;}#download_panel .body ul li.last{border-width:0;}#down load_item .dl_details{padding-left:137px;margin-top:10px;font-size:11px;height:1 %;overflow:hidden;}#download_item .dl_details .thumb{font-size:10px;text-align:c enter;display:inline;float:left;margin:0 15px 0 -137px;width:122px;} #download_item .dl_details .thumb img{border-width:1px;display:block;margin-bott om:3px;}#download_item .dl_details .thumb .caption{line-height:13px;}#download_i tem .dl_details .thumb .hd_thumb{width:102px;height:73px;margin:0 auto 10px;over flow:hidden;}#download_item .dl_details .video_thumb img{width:120px;height:90px ;display:block;}#download_item .dl_details .video_thumb{margin-bottom:10px;}#dow nload_item .dl_details dt{float:left;margin-right:3px;}#download_item .dl_detail s p.deck{margin:10px 0;font-size:12px;} #download_item .body a.button,#download_alt_item .body a.button{display:block;fo nt-size:11px;margin:10px auto;border-width:1px;text-align:center;width:110px;lin e-height:23px;height:23px;overflow:hidden;}#download_item .dl_details a.join{fon t-size:14px;text-transform:uppercase;}#download_item .download_messaging{borderwidth:1px;padding:10px;font-size:11px;margin-bottom:2px;}#download_item .downloa d_messaging p{margin-bottom:0;}#download_item a.dna_jn_btn{float:left;display:bl ock;overflow:hidden;height:0;padding-top:39px;width:138px;margin:0 10px 0 0;} #download_item a.dna_jn_btn:hover{background-position:left -39px;}#download_item

img.ta-upsell{display:block;margin:0 auto;}#download_item .tier2-download{paddi ng:0;}#download_item .tier2-download .promo_banner{height:120px;background-repea t:no-repeat;background-position:left top;border-width:0 1px 1px;}#download_item .tier2-download .body{padding:10px;font-size:11px;}#download_item .tier2-downloa d .synopsis{display:block;font-size:14px;margin-bottom:10px;}#download_item .tie r2-download .tier2-countdown{text-align:center;padding:7px;font-weight:bold;bord er-width:1px;} #download_item .tier2-download a.button{width:440px;text-align:center;font-size: 14px;font-weight:bold;color:#FFF;}#download_alt_item .body{padding:15px 10px 20p x;}#download_alt_item .body p.sub_head{padding:5px;font-weight:bold;}#download_a lt_item .body div.button{float:right;width:112px;}#download_alt_item .body a.but ton{margin:0 auto;}#download_alt_item .body ul.filetypes{margin:5px 35px;}#downl oad_alt_item .body ul.filetypes li p{line-height:24px;margin:0;font-weight:bold; }#download_alt_item img.ta-upsell{margin:10px 0 0;} .module .story_body p{line-height:20px;}.module .story_body span.first_letter{fl oat:left;font:bold 66px/58px Tahoma,Geneva,sans-serif;padding:0 5px 0 0;text-tra nsform:uppercase;}.module .story_body ol,.module .story_body ul{list-style-posit ion:outside;line-height:1.6;margin-left:20px;}.module .story_body ol{list-styletype:decimal;}.module .story_body ul{list-style-type:disc;}#news_story .head h2{ font-size:20px;}#news_story .byline{list-style:none;}#news_story .byline{padding :7px 10px;margin-bottom:10px;overflow:hidden;width:460px;} #news_story .byline li{float:left;font-size:11px;margin-right:10px;display:inlin e;}#news_story .byline li.date{font-size:11px;margin-right:0;white-space:nowrap; }#news_story p.deck{font-size:14px;font-weight:bold;line-height:18px;padding:0 5 px;}#news_story .story_body{padding:10px 0;}#news_story .story_body .align_right {float:right;margin:0 0 10px 10px;border:5px solid #656565;}#news_story .story_b ody p{margin-bottom:15px;}#news_story .story_body p.embscreen_caption{margin-bot tom:0;}#side .feature_top ul.stories li.story{background:transparent;border-bott om:1px solid;padding:5px 0;width:auto;margin:0 10px;} #side .feature_top ul.stories li.story .wrap,#side .feature_top ul.stories li.st ory .title{padding:0;}#side .feature_top ul.stories li.last{border:0;}#side .fea ture_top ul.stories li.featured{border-bottom:0;margin:0;padding:10px 0;}#side . feature_top ul.stories li.featured .wrap{padding:0 119px 0 10px;}#side .feature_ top ul.stories li.no_thumb .wrap{padding-right:10px;}#side .feature_top ul.stori es li.featured .title,#side .feature_top ul.stories li.featured .deck{float:left ;margin:0;}#side .feature_top ul.stories li.featured .details{height:auto;displa y:inline;padding:0;} #side .feature_top ul.stories li.featured .thumb{float:right;height:72px;margin: 0 -109px 0 10px;overflow:hidden;width:97px;}#mini .feature_top ul.stories li.sto ry{border-width:0 0 1px;font-size:11px;}#latestnews_module li.story .thumb{width :98px;height:56px;margin:0 -110px 0 10px;}#latestnews_module li.story img{width: 98px;height:56px;}#latestnews_module ul.stories li.story{padding:5px 0;}#main di v.seeit{float:right;width:170px;margin:0 0 10px 10px;}#main div.seeit .title{fon t-weight:bold;padding:4px 0 4px 10px;border-bottom-width:1px;} #main div.seeit p.caption{font-size:11px;margin:13px 0;line-height:13px;padding: 0 20px;}#main div.seeit .video_thumb{height:70px;width:102px;margin:10px auto 0; background-position:center;background-repeat:no-repeat;}#main div.seeit .video_t humb a{display:block;height:0;overflow:hidden;padding:70px 0 0;width:102px;}#mai n div.seeit .video_thumb img{display:block;}#main div.seeit ul.actions{padding:2 px 0;font-size:12px;margin:0;}#main div.body .seeit ul.actions li.watch{margin-l eft:8px;padding:3px 0 3px 21px;} #main div.body .seeit ul.actions li.download{padding:3px 0 3px 30px;}#main div.b ody .story_body .seeit{margin:0 0 0 10px;}#side #latest_news.sports ul.stories l i.story{border-width:0;margin:0;padding:10px 0;}#side #latest_news.sports ul.sto ries li.featured .wrap{padding:0 109px 0 0;}#side #latest_news.sports ul.stories li.story .wrap p{margin-bottom:0;padding-left:0;}#side #sportsgamer_news ul.sto ries li.featured{margin:0 10px;padding:10px 0;}#side #sportsgamer_news ul.storie s li.featured .wrap{padding:0;} #side #sportsgamer_news ul.stories li.story{border-width:0;padding:10px 0;}#side #sportsgamer_news div.foot p.more{padding:5px 0;}#side #recent_sports_updates .

body{padding:0 10px;}#side #recent_sports_updates dt{padding:10px 0;border-botto m-width:0;}#side #recent_sports_updates dd{padding:10px 0;border-bottom-width:1p x;}#side #recent_sports_updates dt.last,#side #recent_sports_updates dd.last{bor der-bottom-width:0;}#side #recent_sports_updates dt{float:left;width:70px;}#side .find_news ul.stories .thumb img,#side .find_news ul.stories .thumb{width:75px; height:auto;} #find_features .body li{padding:10px 0;text-align:center;}#find_features .body l i img{border-width:1px;display:block;margin:0 auto 10px;}#franchises .franchises {padding:0 3px 3px;}#franchises .franchises ul{margin:0 10px;}#franchises .body .franchises li{margin:10px 0 0;padding-bottom:5px;}#franchises .body .franchises li li{margin:0;padding:0;}#franchises .body .franchises li .banner{height:0;wid th:292px;display:block;margin-bottom:5px;border-width:1px;padding:57px 0 0;overf low:hidden;}#franchises .franchises li.on-the-spot .banner{background-position:l eft top;} #franchises .franchises li.button-mashing .banner{background-position:-292px top ;}#franchises .franchises li.hotspot .banner{background-position:-584px top;}#fr anchises .franchises li.cgn .banner{background-position:-876px top;}#franchises .franchises li.lineup .banner{background-position:-1168px top;}#franchises .fran chises li.ftb .banner{background-position:-1460px top;}#franchises .franchises l i.btg .banner{background-position:-1752px top;}#franchises .franchises li.indiev elopment .banner{background-position:-2044px top;} #franchises .franchises li.start-select .banner{background-position:-2336px top; }#franchises .franchises li.tournament-tv .banner{background-position:-2628px to p;}#franchises .franchises li .wrap{padding:5px 0;height:1%;overflow:hidden;text -align:left;}#franchises .franchises li.first .wrap{padding-right:110px;text-ali gn:left;}#franchises .franchises li.first .no_thumb{padding-right:0;}#franchises .franchises li .wrap .title{width:100%;margin-bottom:0;float:left;}#franchises .franchises li .wrap .date{float:left;} #franchises .franchises li.first .wrap .title{width:100%;margin-bottom:8px;}#fra nchises .franchises li .wrap .details{display:inline;}#franchises .franchises li .wrap .thumb{float:right;display:inline;margin:0 -110px 0 10px;width:97px;heigh t:72px;border-width:1px;}#franchises .franchises li .wrap .thumb img{width:97px; height:72px;display:block;}#franchises .franchises li .wrap .deck{float:left;wid th:100%;}#franchises .franchises li .wrap .deck p{margin:0 0 3px;}#recent_trades hows .body .wrap{padding:0 110px 0 1px;height:1%;overflow:hidden;} #recent_tradeshows .body .no_thumb{padding-right:0;}#recent_tradeshows .body .de tails{display:inline;}#recent_tradeshows .body p.title{float:left;width:100%;mar gin-bottom:5px;}#recent_tradeshows .body .thumb{margin:0 -110px 0 10px;float:rig ht;width:97px;height:72px;border-width:1px;display:inline;}#recent_tradeshows .b ody .thumb a{display:block;width:97px;height:72px;}#recent_tradeshows .body .thu mb img{width:97px;height:72px;display:block;}#recent_tradeshows .body .deck{floa t:left;width:100%;}#recent_tradeshows .body .deck p{margin:0;} form.search_category{width:134px;float:right;display:inline;margin-top:-27px;bor der-width:1px 0 0 1px;margin-right:6px;}form.search_category input.text{border-w idth:0;height:14px;line-height:14px;padding:4px 3px;float:left;font-size:11px;wi dth:107px;}form.search_category button.submit{border:0 none;display:inline;float :right;font-size:11px;height:18px;margin:2px 3px 0 0;overflow:hidden;width:18px; }form.search_category button.submit span{display:none;}#company_summary .body{pa dding:10px;}#company_summary dt{float:left;font-weight:bold;margin:0 3px 5px 0;} #company_summary dd{margin-bottom:5px;}.company_list li{padding:10px;height:1%;o verflow:hidden;}.company_list span.release{float:right;font-size:11px;}.company_ list div.title{float:left;}.company_list span.type{font-size:11px;}.company_list td{padding:5px;}.company_list td.platform,.company_list td.release{font-size:11 px;float:none;}.company_list li .wrap{padding-right:100px;height:1%;overflow:hid den;}.company_list li .no_thumb{padding-right:0;}.company_list li .wrap p.title{ float:left;width:100%;} .company_list li .details{display:inline;}.company_list li .thumb{margin:0 -100p x 0 10px;float:right;display:inline;width:88px;height:66px;border-width:1px;}.co mpany_list li .thumb a{display:block;height:66px;width:88px;}.company_list li di v.deck,.company_list li div.posted{float:left;width:100%;}.company_list li p.tit

le{margin:0;}.company_list li div.deck p{margin:8px 0;}.company_list li .posted{ font-size:10px;}.company_list .more_updates span.posted{float:right;}.company_li st .more_updates p.deck{margin:8px 0;} #recent_updates_module .body table{width:100%;}#recent_updates_module .body tabl e td.release{text-align:right;}#legacy_layout #gamestats{width:194px;}#legacy_la yout #gamestats .stats_summary{width:177px;}#worldwide .body{padding:10px 5px;}# worldwide .body ul{width:616px;height:1%;overflow:hidden;margin:25px auto;}#worl dwide .body ul li{float:left;padding:0 0 10px 0;margin:0 40px 0 0;text-align:cen ter;height:110px;width:122px;}#worldwide .body ul li.last{margin-right:0;}#world wide .body ul li img{display:block;width:122px;height:81px;margin-bottom:3px;bor der-width:1px;} #about_us .body{padding:10px 5px;}#about_us .body h2{color:#FFF;font-size:18px;} #about_us .body ul{margin:10px 0 10px 15px;}#about_us .body ul li{list-style-typ e:disc;padding:2px;}#about_us .body em.sources{font-size:11px;font-style:italic; }.gamespot_resources .body{padding:10px 0;}.gamespot_resources .body em.title{fo nt-weight:bold;margin-left:10px;}.gamespot_resources .body ul.editorial_awards{p adding-left:20px;}#content .gamespot_resources .body ul li{padding:1px 0;backgro und-repeat:no-repeat;background-position:1000px 0;} #terms_of_use .body{padding:10px;}#terms_of_use ol,#terms_of_use ol ul{margin:5p x 0 5px 25px;}#terms_of_use ol li{list-style-type:decimal;padding:5px 0;}#terms_ of_use ol li li,#terms_of_use ul#community_rules li li{list-style-type:disc;padd ing:2px 0;}#terms_of_use ul#community_rules li{list-style-type:none;}#terms_of_u se ul#community_rules em{font-weight:bold;font-style:italic;}#permissions .body h2{color:#FFF;}#permissions .body{padding:10px;}#permissions ul{margin:5px 0 5px 25px;}#permissions ul li{list-style-type:disc;padding:5px 0;} #permissions #permissions_form h2{margin:0 0 5px 0;}#review_guidelines .body{wid th:760px;padding-bottom:7px;margin:0 auto;}#review_guidelines .body img{display: block;}#review_guidelines .body .wrap{padding:15px;}#review_guidelines .body ul# quick_jump{border-width:1px;padding:10px;text-align:center;margin:20px 0;}#revie w_guidelines .body ul#quick_jump li{display:inline;font-size:14px;}#review_guide lines .body h2{font-size:18px;line-height:33px;padding-left:10px;margin-bottom:1 0px;}#review_guidelines .body span.lg-orange-txt{font-size:14px;font-weight:bold ;} #review_guidelines .body dl{border-top-width:1px;padding-top:10px;}#review_guide lines .body dt{float:left;margin-right:5px;font-weight:bold;}#review_guidelines .body dd{margin-bottom:10px;}#review_guidelines .body strong{margin-bottom:3px;d isplay:block;}.site_rss_feeds_module .body{padding:10px;}.site_rss_feeds_module ul.sub_feeds{padding:5px;height:1%;overflow:hidden;}.site_rss_feeds_module li.su b_feed{float:left;width:28%;line-height:18px;margin-bottom:5px;padding-left:25px ;background:transparent url(rss00000.gif) no-repeat 0 0;font-size:11px;} .site_rss_feeds_module .feed .body .head{height:18px;}.site_rss_feeds_module .fe ed .body .head h4,.site_rss_feeds_module .feed .body .head ul.more li{line-heigh t:18px;}.site_rss_feeds_module .podcasts li{line-height:18px;margin-bottom:5px;} .site_rss_feeds_module .podcasts li img{float:left;margin-right:15px;}.site_rss_ feeds_module ul.rss_newsreaders{list-style:disc;}.site_rss_feeds_module ul.sub_f eeds dl,#main .site_rss_feeds_module ul.rss_newsreaders li{margin-left:10px;}.si te_rss_feeds_module ul.sub_feeds dd{margin-bottom:5px;} #side .site_rss_feeds_module ul.rss_newsreaders li{margin-left:5px;border-bottom -width:0;padding:5px 0;}#side .site_rss_feeds_module ul.rss_newsreaders li li{pa dding:0;}.rss ul.rss{padding-bottom:5px;overflow:hidden;}.rss ul.rss li{float:le ft;padding:5px 0;width:50%;}.rss ul.rss li a{line-height:18px;padding-left:25px; }div.blog_entries{margin-top:0;}div#sports_beat.blog_entries{margin-top:10px;}.b log_entries_module{width:100%;overflow:hidden;}#main .blog_entry{border-width:0; padding:10px 0;width:100%;} #main .blog_entries li.first{margin-top:0;padding-top:10px;}#main .blog_entry .h ead{border:0;height:auto;padding:0;}#main .blog_entry h2,#main .blog_entry h3{bo rder-bottom-width:1px;display:block;float:none;font-size:22px;padding:7px 10px 7 px 0;}#main .blog_entry ul.details{border-top-width:0;height:25px;line-height:25 px;padding:0 10px 0 0;}#main .blog_entry ul.details li{border-width:0;float:left ;font-size:11px;padding-left:5px;}#main .blog_entry ul.details li.status strong{

display:block;width:33px;height:25px;text-indent:-9999px;} #main .blog_entry ul.details li.comments{float:right;}#main .blog_entry .blog_po st{line-height:18px;margin:10px 5px;}#main .blog_entry .blog_post img.align_left {float:left;margin:0 10px 10px 0;border-width:1px;}#main .blog_entry .blog_post img.align_right{float:right;margin:0 0 10px 10px;border-width:1px;}#main .blog_e ntry .blog_post img.align_center{display:block;margin:0 auto 10px;}#main .blog_e ntry .blog_post .wrap{overflow:hidden;width:100%;}#main .blog_entry .blog_post f ont{line-height:normal;} #main .blog_entry .blog_post #mymovie{display:block;margin:0 auto;}#main ul.blog _entries .blog_post ul,#main .blog_entry .blog_post ul{list-style-type:disc;list -style-position:inside;padding-left:10px;}#main .blog_post em{font-style:italic; }#main .blog_post u{text-decoration:underline;}#main .blog_post p{margin-bottom: 15px;line-height:20px;}#main .blog_entry ul.actions{margin:10px;}#main .blog_ent ry ul.actions li a,#main .blog_entry ul.actions{font-size:12px;}#main .blog_entr y ul.actions li.moderation form{float:none;} #main .blog_entry form.moderation_actions{float:right;}#main .module .body .blog _post em,#main .module .body .blog_post i{font-style:italic;}#main .module .body .blog_post b,#main .module .body .blog_post strong{font-weight:bold;}#main .mod ule .body .blog_post strong{font-weight:bold;}#main .module .body .blog_post ol, #main .module .body .blog_post ul{list-style-position:outside;margin:6px 6px 6px 20px;padding:0 0 0 20px;}#main .module .body .blog_post ol{list-style-type:deci mal;}#main .module .body .blog_post ul{list-style-type:disc;} #main .module .body .blog_post ol li,#main .module .body .blog_post ul li{paddin g:0;margin:0;width:auto;overflow:visible;}#main .module .body .blog_post blockqu ote{margin:6px 40px;}#main .module .body .blog_post blockquote{margin:6px 40px;} #main .module .body .blog_post table{border-collapse:collapse;margin-left:1px;bo rder-width:1px;}#main .module .body .blog_post table td,#main .module .body .blo g_post table th{border-width:1px;padding:6px 8px;}.blog_toolbar .moderation_acti ons{float:right;margin:0 0 -26px 0;padding:3px 5px 0 0;height:23px;} .blog_toolbar .moderation_actions select{float:right;position:relative;}li.blog_ entry_summary .blog_toolbar .moderation_actions select{width:155px;}.blog_toolba r .moderation_actions select,.blog_toolbar .moderation_actions option{font-size: 11px;}#side .feature_top{margin-top:10px;}#mini .feature_top .blog_entries li.bl og_entry{border-bottom-width:1px;padding:5px 4px;}#mini .feature_top .blog_entri es li.blog_entry p{margin:5px 0;}#mini .feature_top .blog_entries li.blog_entry p.deck{font-size:11px;} #mini .feature_top .foot{padding:10px 4px 5px;}#site_blogs .blogs .blog{line-hei ght:18px;}.site_blogs .body ul.blogs{height:1%;overflow:hidden;}.site_blogs .bod y li.blog{display:inline;float:left;width:100%;}.site_blogs h3,.site_blogs .deck {float:left;width:100%;margin:0;}.site_blogs .deck a.more{text-transform:upperca se;white-space:nowrap;font-size:11px;}.site_blogs .details{display:inline;}.site _blogs ul.blogs li.blog .wrap{line-height:18px;padding-right:119px;}.site_blogs ul.blogs li.blog .no_icon{padding-right:10px;} .site_blogs p{margin:0;}.site_blogs h4{font-size:11px;}#sports_beat .foot .first ,#hardware_insider .foot .first{font-size:12px;text-align:center;}#mini .site_bl ogs ul.blogs li.blog{display:block;float:none;font-size:11px;padding:0;}#mini .s ite_blogs ul.blogs li.blog h3,#mini .site_blogs ul.blogs li.blog .deck,#mini .si te_blogs ul.blogs li.blog .wrap{float:none;padding:0;}#mini .site_blogs ul.blogs li.blog h3,#mini .site_blogs ul.blogs li.blog h4{line-height:15px;text-align:ce nter;}#mini .site_blogs ul.blogs li.blog h4{margin:5px 0;} #mini .site_blogs ul.blogs li.blog .details{background:transparent;display:block ;overflow:hidden;}#mini .site_blogs ul.blogs li.blog .blog_thumb{display:block;f loat:none;margin:10px auto;width:140px;height:80px;}#mini .site_blogs ul.blogs l i.blog .blog_thumb img{display:block;}#mini .site_blogs ul.blogs li.blog h3{font -size:12px;}#mini .site_blogs ul.blogs li.blog p{line-height:14px;text-align:lef t;}#mini .feature_top ul.blogs li.blog{border-bottom-width:1px;}#mini .feature_t op ul.blogs li.last{border-bottom-width:0;} #mini .feature_top ul.blogs li.blog h3,#mini .feature_top ul.blogs li.blog p.tit le{padding:6px 5px;}#mini .feature_top ul.blogs li.blog .details{padding:0 10px 10px;}#main .site_blogs ul.blogs li.blog .wrap{padding-left:152px;padding-right:

10px;}#main .site_blogs ul.blogs li.blog .blog_thumb{float:left;margin:0 10px 0 -152px;height:80px;width:140px;}#main .site_blogs ul.blogs h3,#main .site_blogs ul.blogs .deck{float:right;}#main .site_blogs ul.blogs h3{font-size:12px;}#main .site_blogs ul.blogs h4{font-size:16px;margin-bottom:4px;} #main .top_site_blog ul.blogs li.blog .wrap{padding-right:200px;padding-left:10p x;}#main .top_site_blog ul.blogs li.blog .blog_thumb{float:right;margin:0 -190px 0 10px;height:102px;width:178px;}#main .top_site_blog ul.blogs h3,#main .top_si te_blog ul.blogs .deck{float:left;}#main .top_site_blog ul.blogs h3{line-height: 15px;margin:0 -20px 5px 0;padding-left:20px;}#main .top_site_blog ul.blogs h4{fo nt-size:20px;line-height:22px;}#siteblog_layout #mini .site_blogs ul.blogs li.bl og{padding:10px 0;}#siteblog_layout #mini .site_blogs ul.blogs li.blog .wrap{pad ding:0 10px;} #siteblog_layout #mini .feature_top ul.stories li.story .details,#siteblog_layou t #mini .feature_top ul.stories li.story .details .deck,#siteblog_layout #mini . feature_top ul.stories li.story .details .thumb{display:block;float:none;height: auto;margin:0;padding:0;}#siteblog_layout #mini .feature_top ul.stories li.story .details .thumb{margin:0 auto 10px;width:140px;}#siteblog_layout #mini .feature _top ul.stories li.story .details p{padding:0 10px 10px;}#siteblog_layout #mini .feature_top ul.stories li.last{border-width:0;} .site_blogs ul.blogs li.blog_banner .wrap{padding:0;}.site_blogs ul.blogs li.blo g_banner .blog_thumb{margin:0;width:300px;height:60px;border-width:0;}#side .sit e_blogs .body ul.blogs li.blog_banner h3{display:block;float:none;font-size:10px ;padding:0 8px;width:auto;}.site_blogs .body ul.blogs li.blog_banner .deck{paddi ng:8px 10px 0;width:auto;}.site_blogs .blog_thumb{border-width:1px;display:inlin e;float:right;height:72px;width:97px;margin:0 -109px 0 10px;overflow:hidden;}.us er_blogs ul.blogs li.blog{padding:0 0 10px;} .user_blogs ul.blogs li.blog .wrap{padding-right:87px;}.user_blogs ul.blogs li.b log .details{display:block;height:1%;}.user_blogs blockquote{float:left;font-siz e:13px;}.user_blogs blockquote p{display:inline;margin-bottom:5px;}.user_blogs . lquot{padding:0 0 0 12px;}.user_blogs .rquot{padding:0 12px 4px 0;}.user_blogs . lquot span,.user_blogs .rquot span{visibility:hidden;}.user_blogs .avatar{border :1px solid;display:inline;float:right;height:65px;width:65px;margin:0 -77px 0 10 px;overflow:hidden;} .user_blogs .avatar a{background:no-repeat center;display:block;height:100%;widt h:100%;overflow:hidden;}.user_blogs .avatar a span{display:none;}.user_blogs .st ats{float:left;font-size:11px;padding:0 0 6px;width:100%;margin-top:2px;}.user_b logs .stats .posted a{font-size:11px;font-weight:bold;}#mini .user_blogs ul.blog s{padding:0 5px;}#mini .user_blogs ul.blogs li.blog .wrap{padding:10px 80px 0 0; }#mini .user_blogs ul.blogs li.blog .details{padding-left:5px;background:none;}# mini .user_blogs ul.blogs li.blog ul.stats li{border-width:0;} .blog_description{font-size:11px;font-weight:bold;line-height:16px;padding:10px 10px 0;}div.feature_bottomnav{clear:both;width:100%;height:1%;overflow:hidden;}d iv.review_scores ul.post_release li.review{float:right;font-size:12px;margin:0;w idth:100%;}div.review_scores ul.post_release li.review a{display:block;padding-l eft:10px;}div.review_scores ul.post_release li.review span{display:block;padding -right:10px;}.top_filters_module .body{height:1%;overflow:hidden;}.top_filters_m odule .foot{padding:10px 0;} .top_filters_module .foot ul.more{display:block;font-size:14px;text-align:center ;}.multi_buy_button{float:left;font-size:11px;width:100px;}.multi_buy_button spa n,.multi_buy_button .glyde_cents{float:right;margin:1px 3px 0 0;}.multi_buy_butt on button{background:url(btn_buy0.png) no-repeat 0 0;float:left;border:0;width:3 9px;height:17px;text-indent:-70px;overflow:hidden;cursor:pointer;margin-right:3p x;}.multi_buy_button_table{font-size:11px;height:40px;}.multi_buy_button_table . glyde_cents{display:block;} .multi_buy_button_table button{background:url(btn_buy0.png) no-repeat 0 0;border :0;width:39px;height:17px;text-indent:-70px;margin-top:2px;overflow:hidden;curso r:pointer;}#onlive .body{padding:10px 9px 10px;height:1%;overflow:hidden;}#onliv e .head{background:#373737;border:0;}.alt #onlive .head{background:#7F7F7F;}#onl ive .thumb{float:left;width:140px;height:80px;margin-right:8px;text-align:center ;}#onlive .thumb_btm{position:absolute;width:140px;height:80px;overflow:hidden;}

#onlive .thumb_btm img{position:relative;width:140px;height:176px;top:-70px;left :0;opacity:.4;filter:alpha(opacity = 40);} #onlive .thumb_top{position:relative;height:80px;top:0;overflow:hidden;border:1p x #1d1d1d solid;}.alt #onlive .thumb_top{border:1px #000 solid;}#onlive .thumb_t op img{position:relative;height:80px;}.main_col #onlive .details{float:left;widt h:220px;}#onlive .tagline{font-size:11px;margin-bottom:6px;}.main_col #onlive .t agline{font-size:12px;margin-bottom:11px;text-align:center;}#onlive .button{floa t:left;font-size:14px;color:#fff;height:25px;width:111px;padding:5px 0 0;marginleft:11px;text-align:center;background:url(onlive00.png) 0 -30px no-repeat;} .main_col #onlive .button{width:131px;margin-left:45px;background-position:0 0;} #onlive .logo{float:left;margin:5px 0 0 35px;background:url(onlive00.png) 0 -63p x no-repeat;height:13px;width:71px;}.alt #onlive .logo{background-position:-71px -62px;}.main_col #onlive .logo{display:none;}.main_col #onlive .logo_full{float :right;margin:5px 14px 0 0;background:url(onlive00.png) -140px 0 no-repeat;heigh t:75px;width:71px;}.alt .main_col #onlive .logo_full{background-position:right 0 ;} .side_col #onlive .logo_full{display:none;}.onlive_iframe_wrap{background-color: #000;margin-top:10px;} a{color:#ff7400;}#container .title a{color:#ffeb00;}#container em.title a{color: #FFF;}.all #container #mini .title a{color:#FF7400;}.module .head{background:#ce 600e;border-color:#1B1B1B;}.module .head,#content .module .head h2 a,#content .m odule .head h3 a{color:#fff;}.module .body *{border-color:#1d1d1d;}.module .modu le .head{background:#373737;}#mini .module .body *{border-color:#383838;}.layout .module img,.layout .module .avatar,.layout .module .blog_thumb,.layout .module .thumb,.layout .module .download_thumb,.layout .module .union_icon *{border-col or:#000;} .module ul.actions *{border-color:#5e5e5e;}.module ul.details li{color:#7d7d7d;b order-color:#7d7d7d;}span.story_type{color:#7d7d7d;}#side .module .body .banner a,#side .module .body .banner span{background-position:center;background-color:# 000;border-color:#666;}ul.content_nav a{color:#ddd;}ul.content_nav,ul.content_na v li{border-color:#2f2f2f;}ul.content_nav li.showcase a{background-image:url(spo nsore.gif);}ul.content_nav li.on{border-color:#171717;}.layout ul.content_nav li .on li a{color:#ccc;} ul.content_nav li.on a,ul.content_nav li.on li a.on{color:#ff7400;}#mini ul.cont ent_nav li.achievements a{background:url(new_badg.gif) no-repeat right 0;}#mini ul.content_nav li.achievements li a{background:none;}.module div.content_nav{bac kground:#1d1d1d;}.module .body ul.tertiary_nav li{border-color:#4a4a4a;}.module .body ul.tertiary_nav li a.on{color:#fff;}div.quick_links p{color:#7d7d7d;}.modu le span.external{background:url(content_.gif) no-repeat 0 -200px;} .dotted_list .body li.dot{background:transparent url(dots_666.gif) repeat-x 0 bo ttom;}.dotted_list .body li.last{background-image:none;}.contain_all{background: #1d1d1d url(corners_.gif) no-repeat -7640px bottom;}.contain_all .no_module_head {background:url(corners_.gif) no-repeat -7640px 0;}#skin .contain_all{background -position:-6760px bottom;}#skin .contain_all .no_module_head{background-position :-6760px 0;}.mini .contain_all,#sky_layout .contain_all{background-position:-597 0px bottom;} .mini .contain_all .no_module_head,#sky_layout .contain_all .no_module_head{back ground-position:-5970px 0;}#profile_layout .contain_all,#siteblog_layout .contai n_all{background-position:-5210px bottom;}#profile_layout .contain_all .no_modul e_head,#siteblog_layout .contain_all .no_module_head{background-position:-5210px 0;}#skin #sky_layout .contain_all{background-position:-4500px bottom;}#skin #sk y_layout .contain_all .no_module_head{background-position:-4500px 0;}#mpu_layout .contain_all{background-position:-3850px bottom;} #mpu_layout .contain_all .no_module_head{background-position:-3850px 0;}#sky_lay out.mini .contain_all{background-position:-3230px bottom;}#sky_layout.mini .cont ain_all .no_module_head{background-position:-3230px 0;}#profile_layout.sky .cont ain_all,#siteblog_layout.sky .contain_all{background-position:-2640px bottom;}#p rofile_layout.sky .contain_all .no_module_head,#siteblog_layout.sky .contain_all .no_module_head{background-position:-2640px 0;}#skin #mpu_layout .contain_all,# skin #mpu_layout.mini .video_content .contain_all,#skin #mpu_layout.mini #conten

t_promo .contain_all{background-position:-2070px bottom;} #skin #mpu_layout .contain_all .no_module_head,#skin #mpu_layout.mini #content_p romo .contain_all .no_module_head{background-position:-2070px 0;}#mpu_layout.min i #main .contain_all{background-position:-1590px bottom;}#mpu_layout.mini #main .contain_all .no_module_head{background-position:-1590px 0;}#profile_layout.mpu .contain_all{background-position:-1140px bottom;}#profile_layout.mpu .contain_al l .no_module_head{background-position:-1140px 0;}#skin #mpu_layout.mini .contain _all{background-position:-740px bottom;} #skin #mpu_layout.mini .contain_all .no_module_head{background-position:-740px 0 ;}#content .layout #side .contain_all{background-position:-440px bottom;}#conten t .layout #side .contain_all .no_module_head{background-position:-440px 0;}.cont ain_all .body *{border-color:#383838;}.contain_all .body .module .head{backgroun d:#333;}.contain_all div.module div.head{border-color:#333;}.contain_all .body l i{background:transparent url(dots_666.gif) repeat-x 0 bottom;}.contain_all .body li.last,.contain_all .body .head li,.contain_all .body .foot li,.contain_all .b ody .actions li,.contain_all .body .details li,.contain_all .page_nav ul.pages l i,.contain_all .body .rss li,.contain_all .body li li{background-image:none;} .contain_singles .body li{background:#1D1D1D;}#side .contain_singles .body li{ba ckground:#1D1D1D url(corners_.gif) no-repeat -440px bottom;}#side .contain_singl es .body li .wrap{background:#1D1D1D url(corners_.gif) no-repeat -440px top;}.co ntain_singles .body li li,#side .contain_singles .body li li,#side .contain_sing les .body li li .wrap{background-image:none;}.seeit{background:#797979;}.seeit . title{background:#ce600e;}.seeit .title,.seeit p.caption{color:#FFF;} .seeit .video_thumb a{background:transparent url(videothu.gif) no-repeat 0;}.see it ul.actions{background:#595959;}.seeit ul.actions li a{color:#FFF;}.seeit ul.a ctions li.watch{background:transparent url(play_but.gif) no-repeat 0 center;}.se eit ul.actions li.download{background:transparent url(download.gif) no-repeat 8p x center;border-color:#929292;}ul.review_scores,ul.review_scores li.reader_score span.no_score{color:#575757;} ul.review_scores .reset a,ul.review_scores span.label,#side ul.review_scores .re set a,#side ul.review_scores span.label{color:#fff;}ul.review_scores li.review_s core span.more,ul.review_scores li.review_score p.msg,ul.review_scores li.review _score p.msg{color:#7a7a7a;}ul.review_scores li.review_score p.success{color:#ff eb00;}ul.review_scores li.review_score p.error{color:#c00;}ul.review_scores li.r eview_score,div.review_scores ul.actions li.about{background-color:#1d1d1d;}ul.r eview_scores li.review_score span.data{background:#000;} ul.review_scores li.reader_score .all{color:#ff7400;}ul.review_scores li.highlig hted_score{background:#000;border-color:#000;color:#fff;}ul.review_scores li.hig hlighted_score a{color:#fff;}ul.review_scores li.highlighted_score span.choice a {color:#ffeb00;}ul.review_scores li.no_editor_score{color:#575757;}div.review_sc ores ul.actions li.review a,div.review_scores ul.actions li.review span{backgrou nd:url(orange_b.gif) no-repeat 0 0;}div.review_scores ul.actions li.review a{col or:#fff;} div.review_scores ul.actions li.review span{background-position:right -24px;}#si te_layout .images_module .body ul.images li.image{background-image:none;}#main l i.user_review,.user_reviews_module div.page_nav,.user_reviews_module .foot{backg round:url(dots_666.gif) repeat-x 0 bottom;}.user_reviews_module div.page_nav,.us er_reviews_module .foot{background-position:0 0;}#main li.user_review ul.details li.recommended{color:#ccc;}#main ul.user_reviews li.last{background-image:none; } #main li.user_review .score{border-color:#000;background:#000;}#main .user_revie w .score a{color:#FFF;}#side li.user_review .score{background:url(bg_user_.gif) no-repeat 0 0;}.contain_all .user_reviews .avatar,.contain_singles .user_reviews .avatar{border-color:#383838;}ul.downloads .featured .title em.featured{backgro und:url(featured.gif) no-repeat 0;}.my_videos p.error .label,.my_videos p.error a{color:#c00;}#main .my_videos ul.user_videos li.detailed_video .wrap ul.details a,#main .my_videos ul.user_videos li.detailed_video .wrap ul.details li{color:# 999;} #content #upload_video .head{background:#505050;border-color:#050505;}#content # upload_video .body{background:#fff;border-color:#b9b9b9;color:#000;}#content #up

load_video .body .wrap{background:url(upload_v.gif) 0 0;}#content #upload_video .body ul.actions li a{background:#eb7d26 url(button00.gif);border-color:#ba6401; color:#fff;}#content #side #upload_video{background-color:#2f2f2f;background-ima ge:url(upload_v.gif);}#content #mini #upload_video{background-color:#1b1b1b;back ground-image:url(upload_v.gif);} #content #mini #upload_video .head{background:#ca5300;}#mini div.videos ul.nav{b ackground:#151515;}#mini div.videos ul.nav li a.on{color:#FFF;}#related_videos l i.footer_caption{background:url(dots_666.gif) repeat-x top;color:#fff;}div.promo ted_content{background:transparent url(official.gif) 0 -26px no-repeat;}#side di v.promoted_content,#search_results div.promoted_content{background-position:0 -3 9px;}.related_galleries_module div.promoted_content{background-position:0 -39px; } #image_index .promoted_content{background-color:#2F2F2F;}ul.comments li.comment .avatar{background:no-repeat center;border-color:#000;}ul.comments li.comment p. posted{color:#B2B2B2;}ul.comments li.comment p{color:#FFF;}ul.comments ul.detail s li{border-color:#666;}ul.comments ul.details li.agree a,ul.comments ul.details li.disagree a{background-image:url(thumbs00.gif);}ul.comments ul.details li.dis agree a{background-position:-28px 3px;}ul.comments ul.details li.rating .negativ e{color:#fe0000;} ul.comments ul.details li.rating .positive{color:#12c200;}.posted_comments .pagi nation{background:#1d1d1d;border-color:#1d1d1d;border-top-color:#343434;border-b ottom-color:#343434;}.posted_comments .tabs li.on,.posted_comments .tabs li.on s pan{background:url(modules_.gif) no-repeat 0 -154px;}.posted_comments .tabs li.o n span{background-position:right -180px;color:#FFF;}.posted_comments .page_nav{b ackground:#1D1D1D;}.posted_comments .page_nav .page_flipper .prev{background:url (arrows00.gif) no-repeat 0 -539px;border-color:#646464;} .posted_comments .page_nav .page_flipper .next{background:url(arrows00.gif) no-r epeat right -569px;}.xbox .posted_comments .page_nav .page_flipper .prev{backgro und-position:0 -599px;}.xbox .posted_comments .page_nav .page_flipper .next{back ground-position:right -629px;}.pc .posted_comments .page_nav .page_flipper .prev {background-position:0 -659px;}.pc .posted_comments .page_nav .page_flipper .nex t{background-position:right -689px;}.nintendo .posted_comments .page_nav .page_f lipper .prev{background-position:0 -719px;} .nintendo .posted_comments .page_nav .page_flipper .next{background-position:rig ht -749px;}.playstation .posted_comments .page_nav .page_flipper .prev{backgroun d-position:0 -779px;}.playstation .posted_comments .page_nav .page_flipper .next {background-position:right -809px;}.comments ul.more li.first a{background:trans parent url(rotation.gif) no-repeat right 2px;}.comments .add_comment{background: #1F1F1F;}.comments .login{background:#434343;}#main #generic_comments .add_comme nt .head{background:#8E8E8E;} .comments .add_comment .head h3{color:#FFF;}.comments .add_comment form .text_fi eld{background:#fff;border-color:#ACACAC;}.comments .add_comment form .actions{b ackground-color:#393939;border-color:#2C2C2C;border-top-color:#000;}.add_comment form .actions input.submit{background:transparent url(round_bu.gif) no-repeat;b order-color:#BA6401;color:#FFF;}.add_comment form .actions ul li{border-color:#5 C5C5C;}.add_comment form .actions ul li a{color:#FF9A00;}.add_comment .facebook_ actions{background:#000;color:#fff;} .add_comment .login,.add_comment .login_methods{background:url(bg_comme.gif) norepeat 0 0;}.add_comment .login_methods{background-position:right -200px;}.add_c omment .login .method{color:#fff;}.add_comment .login .label{color:#b0b0b0;}.com ments .preview .head{background:#000;}.comments .preview p em{color:#FFF;}.comme nts .body .comment_restriction{background:url(hub_icon.gif) 10px 10px no-repeat; color:#FFF;}.search_box ul.search_types{color:#fc0;}.search_box ul.search_types a,.search_box ul.search_types span,.search_box .body ul.search_types li{backgrou nd:url(search00.gif) no-repeat 0 2px;} .search_box ul.search_types li.first{background:none;}.search_box ul.search_type s .general a{background-position:0 -59px;}.search_box ul.search_types .general s pan{background-position:-500px -59px;}.search_box ul.search_types .tags a{backgr ound-position:0 -119px;}.search_box ul.search_types .tags span{background-positi on:-500px -119px;}.search_box ul.search_types .forums a{background-position:0 -1

80px;}.search_box ul.search_types .forums span{background-position:-500px -180px ;}.search_box ul.search_types .gamefinder a{background-position:0 -240px;} .search_box ul.search_types .gamefinder span{background-position:-500px -240px;} .search_box ul.search_types a{color:#999;}.search_box .forum_search_pages a{colo r:#fc0;}form.adv_search{color:#fff;}form.adv_search ol.fields .button{background :#eb7d26 url(button00.gif) no-repeat 0 0;border:1px solid #ba6401;}form.adv_sear ch ol.fields .button button{background:none;color:#fff;}form.adv_search ol.field s .data .textfield{background:#fff;border-color:#fff;overflow:hidden;}.search_re sults ul.search_results li{background-position:0 0;color:#fff;} .search_results ul.search_results li.first{background-image:none;}.search_result s .search_nav{background:#000;}.search_results .search_nav ul.content_types,.sea rch_results .search_nav ul.content_types a,.search_results .search_nav ul.conten t_types span{background:url(modules_.gif) repeat-x 0 -738px;}.search_results .se arch_nav ul.content_types a,.search_results .search_nav ul.content_types span{ba ckground-position:0 -406px;}.search_results .search_nav ul.content_types span.co unt{background:none;} .search_results .search_nav ul.content_types a span,.search_results .search_nav ul.content_types span span{background-position:right -446px;}.search_results .se arch_nav ul.content_types .on a,.search_results .search_nav ul.content_types .on span{background-position:0 -486px;}.search_results .search_nav ul.content_types .on a span,.search_results .search_nav ul.content_types .on span span{backgroun d-position:right -526px;}.search_results .search_nav ul.content_types li{backgro und:none;}.search_results .search_nav ul.content_types li a{color:#fc0;} .search_results .search_nav ul.content_types li.on a{color:#fff;}.search_results .page_nav{background:none;}.search_results .featured{background:#171717;bordercolor:#171717;color:#fff;}.search_results .featured .thumb{background:#323232;bo rder-color:#666;}.search_results .loading{background:url(155x1500.gif) no-repeat center;}.search_results .featured a,.search_results #results a{color:#fc0;}.sea rch_results #results ul.search_results a.add{background:url(orange_b.gif) no-rep eat 0 -48px;color:#fff;} .search_results #results a.add span{background:url(add_to_l.jpg) no-repeat 0 0;t ext-align:center;}.search_results .tags,.search_results #results .tags a{color:# a3a3a3;}.search_results #results li.download a{color:#ff8400;}ul.image_results l i.result{background:#222;}.tags_cloud a{color:#ccc;}.tags_cloud a.smallest{color :#777;}.tags_cloud a.small{color:#aaa;}.tags_cloud a.large{color:#ddd;}.tags_clo ud a.largest{color:#fff;}.tags_cloud .head h2 a{color:#fff;}.contain_all .tags_c loud a{color:#ccc;} .contain_all .tags_cloud a.smallest{color:#777;}.contain_all .tags_cloud a.small {color:#bbb;}.contain_all .tags_cloud a.largest{color:#fff;}.list_users_module u l.users li.user{background:#131313;border-color:#131313;}.list_users_module ul.u sers li.users a{color:#fff;}.top_filter_tabs,.top_filter_tabs li.on{background:# ce600e;border-color:#1B1B1B;}.top_filter_tabs .tabs_wrap{background:#bcbcbc;}.to p_filter_tabs .tabs_wrap ul li a{color:#fff;}.top_filter_tabs li{background:#707 070;}#gscpromo_module .head{background:#960001 url(tourname.gif) no-repeat 8px c enter;} #gscpromo_module .action a{color:#ff0300;}#releasecalendar h4{background:#262626 ;}#releasecalendar li .platform,#releasecalendar li .platform a{color:#949494;}# soapbox a.title{color:#FFEC00;}#site_blogs ul.blogs li.blog_banner h3 a.blog_tit le{color:#757575;}.feature_top ul.stories li.alt,.feature_top .details{backgroun d-color:#151515;}ul.gameguides li.gameguide,ul.stories li.story,ul.downloads li. download,ul.videos li.video{background-image:url(dots_666.gif);background-repeat :repeat-x;background-position:0 bottom;} ul.gameguides li.gameguide{padding-bottom:10px;}ul.stories .title em.top{backgro und:transparent url(hub_icon.gif) no-repeat 0 0;}ul.stories li.last,ul.downloads li.last,ul.videos li.last{background-image:none;}.top_story ul.stories{padding: 0;}.user_blogs blockquote span{background:url(quotes00.gif) no-repeat 0 2px;}.us er_blogs .avatar{border-color:#000;}.user_blogs .rquot{background-position:6px 297px;}#topics_module h3 a.title{color:#FFEB00;}#latest_news .head{background-co lor:#373737;} #latest_news .stories li a.title{color:#FFEC00;}#latest_news .stories li.story{b

order-bottom-color:#303030;}#gamingoffers .head{background:#373737;border:none;} #gamingoffers .thumb{border-color:#4d4d4d;}#hub_poll_module .wrap,#hub_poll_modu le h2,#hub_poll_module .vote a,#hub_poll_module .question{background:url(poll_bg 0.gif) no-repeat 0 0;}#hub_poll_module .wrap{background-position:10px bottom;}#h ub_poll_module .question{background-position:-220px 0;color:#FFF;}#hub_poll_modu le .question p a{color:#FF7400;} #hub_poll_module .count{color:#FF7400;}#hub_poll_module .choice{color:#FFF;}#hub _poll_module .vote a{color:#FFF;background-position:0 -59px;}#gslive_schedule{co lor:#878787;}#side #gslive_schedule li.next .subtitle{color:#FFEC00;}#gslive_sch edule .shows a{color:#FFF;}#gslive_schedule .shows h3{background:#151515;color:# 6D6D6D;}#side #gslive_schedule li.next .wrap{background-color:#101010;}#gslive_s chedule li.next .countdown dt{color:#FFF;}#gslive_schedule li.next .countdown dd {color:#FFE400;}#gslive_schedule .upcoming li,#gslive_schedule .recent li{border -color:#161616;} #gslive_schedule .upcoming li a,#gslive_schedule .recent li a{color:#FF7400;}#gs live_schedule .upcoming em a,#gslive_schedule .recent em a{color:#FFF;}#mini #gs live_schedule .wrap{background:none!important;}#stockwatch table a{color:#B5B5B5 ;}#stockwatch thead th{background:#0D0D0D;color:#464646;}#stockwatch th,#stockwa tch td{background:#101010;color:#B5B5B5;}#stockwatch .alt th,#stockwatch .alt td {background:#1D1D1D;}#stockwatch tr.max td.percent,#stockwatch tr.max td.change{ color:#06FF00;}#stockwatch tr.min td.percent,#stockwatch tr.min td.change{color: #F00;} #gfaqs_answers_topgames .head{background-color:#454545;border:none;}#gfaqs_answe rs_topgames li .title,#gfaqs_answers_topgames .more{color:#FFEF00;}#browse_modul e{background-color:#994600;background-image:url(dlx_brow.gif);color:#ffc593;}#br owse_module li{border-right-color:#e2a36d;}#browse_module li a{color:#fff;}#podc asts .subscribe{color:#feef00;}#podcasts li{background:transparent url(podcast_. gif) no-repeat;}#recommends ul.recs li.rec p.score span{color:#FFF;} #recommends ul.actions li a{color:#FFEB00;}#got_files .body{border-color:#0e0c0d ;}#legacy_layout .stats_module{background-image:none;background-color:transparen t;}#featured_download ul.actions li,#featured_downloads ul.actions li{color:#7d7 d7d;border-left-color:#7d7d7d;}.top_download h3 em{color:#a1a1a1;}.top_download p.deck{color:#d6d6d6;}#feature_deck{color:#939393;}#feature_deck h2{color:#ffea0 0;}#recentstories a{color:#fff;}#mini #related_content_module li{background:url( dots_666.gif) repeat-x 0 bottom;} #mini #related_content_module li.last{background:none;}#mini #related_content_mo dule a{color:inherit;}#related_content_module a,#popular_pages a{color:#ffeb00;} #popular_pages .body .story,#popular_pages .body .guide,#popular_pages .body .pr eview,#popular_pages .body .news,#popular_pages .body .feature,#popular_pages .b ody .factsheet,#popular_pages .body .review,#related_content_module .body .facts heet,#related_content_module .body .review,#related_content_module .body .featur e,#related_content_module .body .news,#related_content_module .body .story,#rela ted_content_module .body .guide,#related_content_module .body .preview{backgroun d:transparent url(content_.gif) no-repeat 0 0;} #popular_pages .body .download,#related_content_module .body .download{backgroun d:transparent url(content_.gif) no-repeat 0 -100px;}#popular_pages .body .movie, #popular_pages .body .user_video,#related_content_module .body .movie,#related_c ontent_module .body .user_video{background:transparent url(content_.gif) no-repe at 0 -148px;}#popular_pages .body .screens,#related_content_module .body .screen s,#popular_pages .body .image,#related_content_module .body .image{background:tr ansparent url(content_.gif) no-repeat 0 -50px;} #related_content_module .body li.sponsored h3,#related_content_module .body li.s ponsored h3 a{background:url(content_.gif) no-repeat 0 -250px;}#related_content_ module .body li.sponsored .factsheet a,#related_content_module .body li.sponsore d .review a,#related_content_module .body li.sponsored .feature a,#related_conte nt_module .body li.sponsored .news a,#related_content_module .body li.sponsored .story a,#related_content_module .body li.sponsored .guide a,#related_content_mo dule .body li.sponsored .preview a{background-position:67px 0;} #related_content_module .body li.sponsored .download a{background-position:67px -100px;}#related_content_module .body li.sponsored .movie a,#related_content_mod

ule .body li.sponsored .user_video a{background-position:67px -148px;}#related_c ontent_module .body li.sponsored .screens a,#related_content_module .body li.spo nsored .image a{background-position:67px -50px;}#tags_module .head ul.more li a{ color:#FFC593;}#tags_module .tag_form a.cancel{color:#FF7400;}#mini .tag_form fo rm.tag_form span.submit{border-color:#ba6401;} .tag_icon{background:transparent url(search00.gif) no-repeat 0 -120px;width:11px ;height:11px;}#download_panel .body ul{background:#171717;}#download_panel .body ul li{border-color:#2F2F2F;}ul.games li.game h3 a{color:#FFF;}ul.games li.game .more_details li{border-color:#CCC;}ul.games li.game .thumb,ul.games li.game .bo xshot{border-color:#000;}ul.games li.game .score_summary{background:#000;}ul.gam es li.game .score_summary,ul.games li.game .score_summary dd a{color:#FFF;}ul.ga mes li.game .score_summary dd.word,ul.games li.game .score_summary dd.choice a{c olor:#FFF000;} .titles_only ul.games li.alt{background-color:transparent;}.divided ul.games li. game{background:url(dots_666.gif) repeat-x 0 bottom;}.divided ul.games li.last{b ackground-repeat:no-repeat;background-position:1000px 0;}#side .related h3 a{col or:#FFF;}#side .related ul.actions li.hd a{color:#63C2FF;}#side .related ul.acti ons li.sd a{color:#FFF000;}#side .related ul.actions li.last{border-color:#38383 8;}#browse_filters .body{background-color:#000;}#browse_filters .body .wrap em{c olor:#FFF;} #browse_filters form select{border-color:#969696;}#browse_filters form span.subm it{background-color:#EB7D26;border-color:#BA6401;}#browse_filters form input.sub mit{color:#FFF;}#browse_filters ul.letternav li.on a{color:#555;}#browse_filters ul.letternav li,.categories ul.letternav li{background:none;}.categories ul.let ternav li a{color:#FFF;}.body ul.browse_categories li.browse_category,.body ul.b rowse_categories li.filter_category,.body ul.browse_categories li.browse_categor y.last{background:none;border-color:#0C0C0C;} .body ul.browse_categories li.browse_category.alt{background-color:#171717;}.bod y ul.browse_categories li.browse_category.end{background:#171717 url(corners_.gi f) no-repeat bottom right;}#browse_filters form span.submit{background:url(butto n00.gif) no-repeat 0 0;}#browse_filters .body a{color:#FFEB00;}#browse_filters.n ew_releases .browse_weeks a.prev{background:url(arrows00.gif) no-repeat 0 -120px ;}#browse_filters.new_releases .browse_weeks a.next{background:url(arrows00.gif) no-repeat right -150px;} #browse_filters ul.time li{background:none;border-color:#999;}#browse_filters ul .time li.on a{color:#555;}#browse_filters.updates{background:transparent;}#brows e_filters.updates ul.tabs li{background:url(modules_.gif) no-repeat 0 -154px;}#b rowse_filters.updates ul.tabs li a,#browse_filters.updates ul.tabs li span{backg round:url(modules_.gif) no-repeat right -180px;}#browse_filters.updates ul.tabs li a{color:#FFFF04;}#browse_filters.updates ul.tabs li.on{background-position:0 -102px;} #browse_filters.updates ul.tabs li.on a{background-position:right -128px;color:# FFF;}#browse_filters div.help a{color:#CCC;}#filter_results table thead th{backg round-color:#000;color:#FFF;}#filter_results table thead a{color:#FFF;}#filter_r esults table tbody{background-color:#202020;}#filter_results table tbody th a{co lor:#FFEB00;}#filter_results table tbody td,#filter_results table tbody th{borde r-color:#575757;}#filter_results table tbody tr.alt th,#filter_results table tbo dy tr.alt td{background-color:#141414;border-color:#484848;} #filter_results table td.headline a{color:#FFEB00;}.filtered_games_module .foot{ border-color:#565656;}.filtered_dlc_module table.filtered_games td.reader_score a{color:#ccc;}#download_browse .body{background:#242424;}#download_filter ul.dow nloads li{background-image:none;}#download_filter ul.downloads li.alt{background -color:#151515;}.gameguide_header img.banner{background-image:url(gameguid.jpg); }.page_nav{background:#161616;border-color:#343434;}.flipper_only{background:tra nsparent;} .story_page_nav ul.pages li,.story_page_nav ul.pages li.last,.page_nav ul.pages li,.page_nav ul.pages li.last{border-color:#646464;}.page_nav .page_flipper a,.s tory_page_nav .page_flipper a{background-image:url(arrows00.gif);background-repe at:no-repeat;}.search_results .forum_page_nav{background:none;}.page_nav .page_f lipper .prev{background-position:0 -536px;}.page_nav .page_flipper .next{backgro

und-position:right -566px;}.xbox .page_nav .page_flipper .prev{background-positi on:0 -596px;} .xbox .page_nav .page_flipper .next{background-position:right -626px;}.pc .page_ nav .page_flipper .prev{background-position:0 -656px;}.pc .page_nav .page_flippe r .next{background-position:right -686px;}.nintendo .page_nav .page_flipper .pre v{background-position:0 -716px;}.nintendo .page_nav .page_flipper .next{backgrou nd-position:right -746px;}.playstation .page_nav .page_flipper .prev{backgroundposition:0 -776px;}.playstation .page_nav .page_flipper .next{background-positio n:right -806px;}.portable .page_nav .page_flipper .prev{background-position:0 -1 015px;} .portable .page_nav .page_flipper .next{background-position:right -1046px;}.stor y_page_nav{background:none;}.story_page_nav .page_flipper .prev{background-posit ion:0 -240px;}.story_page_nav .page_flipper .next{background-position:right -270 px;}.xbox .story_page_nav .page_flipper .prev{background-position:0 -300px;}.xbo x .story_page_nav .page_flipper .next{background-position:right -330px;}.playsta tion .story_page_nav .page_flipper .prev{background-position:0 -360px;}.playstat ion .story_page_nav .page_flipper .next{background-position:right -390px;} .pc .story_page_nav .page_flipper .prev{background-position:0 -420px;}.pc .story _page_nav .page_flipper .next{background-position:right -450px;}.nintendo .story _page_nav .page_flipper .prev{background-position:0 -480px;}.nintendo .story_pag e_nav .page_flipper .next{background-position:right -510px;}.search_results .pag e_nav .page_flipper .prev{background-position:0 -836px;}.search_results .page_na v .page_flipper .next{background-position:right -866px;}#unions_module .avatar{b order-color:#3b3b3b;} #mini #unions .browse{background:#101010;}#gamespace_user_submissions #user_vide os_module .thumb,#gamespace_user_submissions #user_images_module .thumb{border-c olor:#4d4d4d;}#download_item .dl_details a.button,#download_item .dl_details dd{ color:#FFF;}#download_item .download_buttons{background:#1E1E1E;}#download_item .body a.button,#download_alt_item .body a.button{background:url(orange_b.gif) re peat-x 0 0;border-color:#E49300 #E05800 #E05800 #E49300;color:#FFF;}#download_it em .tier2-download .tier2-countdown{background-color:#343434;} #download_item .tier2-download .tier2-countdown em{color:#FFF;}#download_item .d ownload_messaging{background-color:#1D1D1D;border-color:#343434;}#download_item a.dna_jn_btn{background:transparent url(jn-butto.gif) no-repeat;}#download_alt_i tem .body p.sub_head{background-color:#333;color:#FFF;}#download_alt_item .body ul.filetypes li p em{color:#666;}#player_reviews_module .score a{color:#FFF;}.em bscreen_large,#main .body div.embscreen{background:#656565;} .story_body .embscreen_large .embscreen_caption a,.embscreen_large .embscreen_ca ption a,#main .body div.embscreen p.caption a,#news_story .embscreen_large p.emb screen_caption a{color:#FFF;}#related_games #subnav{background-color:#1d1d1d;}#r elated_games #subnav_wrap li{border-color:#000;}#related_games #subnav_wrap li a {color:#ccc;}#related_games #subnav_wrap li.on a{color:#FFF;}#related_games ul.g ames li.game{background:transparent url(dots_666.gif) repeat-x 0 bottom;}#relate d_games ul.games li.game .details .thumb{border-color:#666;} #related_games ul.more_details span.date{color:#FFF;}#hd_player_wrap,.video_play er{background:#2F2F2F;}.video_error{background-color:#1D1D1D;border-color:#000;c olor:#FFF;}.upsell .wrap a.btn,.upsell .wrap a.btn span{background:url(buttons0. gif) no-repeat;}.upsell .wrap a.btn{background-position:0 0;color:#FFF;}.upsell .wrap a.btn span{background-position:right -38px;}.upsell .wrap a.btn span.forma t{background:none;color:#ff9c00;}.sd .wrap a.btn span.format{background:url(vide o_ic.gif) no-repeat 23px -265px;} .upsell .wrap p{color:#B3B3B3;}#main .video_embed .video_details{border-color:#0 00;}#main .video_embed .video_details p.caption{background-color:#161616;}#main .video_embed .video_details ul.video_actions{background-color:#0B0B0B;}#main .vi deo_embed .video_details ul.video_actions li{border-left-color:#353535;backgroun d:transparent url(useract_.gif) no-repeat 0 0;}#main .video_embed .video_details ul.video_actions li.comment{background-position:0 -57px;}#main .video_embed .vi deo_details ul.video_actions li.hd{background-position:15px -533px;} #main .video_embed .video_details ul.video_actions li a{color:#FF5A01;}#sponsore d_video .head{background:#505050;border-color:#1B1B1B;}#sponsored_video .body .w

rap h3 a{color:#FFF;}#download_panel .head{background:none;}#download_panel .hea d .more a{color:#FF7800;}#download_panel dt{color:#FFF;}#download_panel dd{color :#C2C2C2;}#video_summary .details{color:#9D9C9C;}#video_summary p{color:#EBEBEB; }#video_summary ul.details li.posted a{color:#fff;}#video_summary ul.watch li a, #video_summary ul.watch li.current{background:url(buttons0.gif);} #video_summary ul.watch li.download a{background-position:0 -250px;}#video_summa ry ul.watch li.hd a{background-position:0 -300px;}#video_summary ul.watch li.cur rent{background-position:0 -350px;}#video_summary.sd .head{background-color:tran sparent;}#video_info .video_title{color:#fff;}#video_info ul.details li{color:#f ff;}#video_info p{color:#aeaeae;}#news_story{color:#FFF;}#news_story .social_sha re{margin-bottom:5px;}#news_story div.social_share_actions,#news_story .story_bo dy{padding-top:6px;background:transparent url(dots_666.gif) repeat-x top;} #news_story div.social_share_actions{margin-bottom:5px;}#news_story .story_body p a{color:#FF0;}#news_story .byline{background:#1C1C1C;}#side .feature_top ul.st ories li.story{background:transparent;border-color:#383838;}#side .feature_top u l.stories li.featured{background:#000;}#mini .feature_top ul.stories li.story,#m ini .feature_top ul.stories li.story .details{background:transparent;}.cheat_det ails{color:#FFF;}.module .body .cheat_details .description .head,.body ul.cheats li .head{background:transparent;} ul.cheats p{color:#FFF;}table.cheats tbody,table.cheats th{background:#141414;}t able.cheats tr.alt td{background:#202020;}table.faqs tr td.type{color:#FFEB00;}. print_cheats a{background:url(useract_.gif) no-repeat 0 -213px;}#side .contain_a ll table.faqs td{background:transparent url(dots_666.gif) repeat-x scroll 0 bott om;}#side .contain_all table.faqs tr a{color:#FFEB00;}#side .contain_all table.f aqs tr td.type{color:#ccc;}.gamespace_video .filters{background:#1a1a1a;} .gamespace_video .filters li.on,.gamespace_video .filters li.on a{background:url (modules_.gif) no-repeat 0 -154px;}.gamespace_video .filters li a{color:#888;}.g amespace_video .filters li.on a{background-position:right -180px;color:#fff;}.ga mespace_video #gs_videos.loading{background:#000 url(155x1500.gif) no-repeat cen ter;}#side #latest_news.sports .head{background:#ce600e;}#side #latest_news.spor ts ul.stories li.featured{background:url(dots_666.gif) repeat-x center bottom;} #side #latest_news.sports ul.stories li.story{background:url(dots_666.gif) repea t-x center bottom;}#side #latest_news.sports ul.stories li.last{background:none; }#side #sportsgamer_news ul.stories li.featured{background:transparent url(dots_ 666.gif) repeat-x bottom;}#side #sportsgamer_news ul.stories li.story{background :transparent url(dots_666.gif) repeat-x bottom;}#side #sportsgamer_news div.foot p.more a{color:#FFEB00;}#sportsgamer_news .banner a{background-image:url(banner _3.jpg);} #lineup .banner a,#lineup .banner span{background-image:url(banner_3.jpg);}#blea chers .banner a{background-image:url(banner_3.jpg);}#performance_guides .banner a{background-image:url(performa.jpg);}#graphics_comparisons .banner a{background -image:url(graphics.jpg);}#howto_guides .banner a{background-image:url(howtogui. jpg);} #under_review .banner a{background-image:url(banner_3.jpg);}#work_in_progress .b anner a{background-image:url(banner_3.jpg);}#spam_filter .banner a{background-im age:url(banner_3.jpg);}.site_rss_feeds_module .feed .body{background-color:#1D1D 1D;}.site_rss_feeds_module .feed .head{background-color:#666;}.site_rss_feeds_mo dule .feed .body .head{background-color:#373737;color:#FFF;} #find_features .body li{background:transparent url(dots_666.gif) repeat-x 0 bott om;}#find_features .body li.last{background:none;}#side #franchises .franchises li{background:#1D1D1D url(franchis.gif) no-repeat 0 bottom;}#side #franchises .f ranchises li li{background:transparent url(dots_666.gif) repeat-x 0 bottom;}#sid e #franchises .franchises li li.last{background:none;}#franchises .franchises li div.banner{background:transparent url(franchis.jpg) no-repeat 0 0;} form.search_category{background:#FFF;}form.search_category button.submit{backgro und:transparent url(search00.gif) no-repeat right top;}form.search_category inpu t.text{color:#626262;}.company_list li,.company_list td{background:transparent u rl(dots_666.gif) repeat-x 0 bottom;}.company_list li.last{background:none;}#revi ew_guidelines .body{background:url(footer00.jpg) no-repeat center bottom;}#revie w_guidelines .body .wrap{background:#FFF url(bg000000.jpg) repeat-y center;color

:#404040;} #review_guidelines .body a,#review_guidelines .body span.lg-orange-txt,#review_g uidelines .body dt,#review_guidelines .body strong,#review_guidelines .body h4{c olor:#E06900;}#review_guidelines .body ul#quick_jump{border-color:#FD7402;backgr ound:#EBECEE;}#review_guidelines .body h2{background:url(h2000000.jpg) no-repeat ;color:#FFF;}#review_guidelines .body dl{border-color:#E06900;}.blog_toolbar .mo deration_actions select{border-color:#333;} .blog_toolbar .moderation_actions select,.blog_toolbar .moderation_actions optio n{background:#000;color:#ccc;}#main .blog_entry .head,#main .blog_entry .blog_en try .head,#main .blog_entry h2,#main .blog_entry h3,#siteblog_layout #main .firs t .head,#content form.edit_msg .blog_preview .blog_entry .head{background-color: transparent;border-color:#1d1d1d;}#main .blog_entry h2 a,#main .blog_entry h3 a{ color:#FFF;}#main .blog_entry ul.details{border-color:#1d1d1d;color:#9E9E9E;}#ma in .site_blog .blog_entry ul.details,#main .site_blog .blog_entry h3{border-colo r:#383838;} #main .blog_entry ul.details li.status strong{background:url(site_blo.gif) 0 -34 px no-repeat;}#main .blog_entry ul.details li.posted span{color:#e2e2e2;}#main . blog_entry .blog_post{color:#FFF;}#main .blog_entry .blog_post ul.actions li a{c olor:#FFEB00;}#siteblog_layout .comments form .actions a{color:#FF9A00;}#siteblo g_layout .rumor_control #main a{color:#00fffe;}#siteblog_layout .rumor_control . module .head{background:#007089;border-color:#003f4a;}#siteblog_layout .sports_b eat #main a{color:#ff8480;} #siteblog_layout .sports_beat .module .head{background:#840400;border-color:#840 400;}#siteblog_layout .sports_beat #mini .module .foot a,#siteblog_layout .sport s_beat #mini .module .body h4 a,#siteblog_layout .sports_beat #mini .module .bod y ul.actions a{color:#ff443d;}#siteblog_layout .hardware_insider #main a{color:# 36ff00;}#siteblog_layout .hardware_insider .module .head{background:#239c01;bord er-color:#239c01;}#siteblog_layout .under_review #main a{color:#ff443e;}#siteblo g_layout .under_review .module .head{background:#9a0a0a;border-color:#9a0a0a;} #siteblog_layout .work_in_progress #main a{color:#4e98ff;}#siteblog_layout .work _in_progress .module .head{background:#123b89;border-color:#123b89;}#siteblog_la yout .spam_filter #main a{color:#91d1fe;}#siteblog_layout #mini .body h3 a,#site blog_layout #mini .body .title a{color:#fff;}#siteblog_layout #main .blog_entry .embscreen_caption a,#siteblog_layout #main .blog_entry .embscreen .caption a{co lor:#FFF;}#mini #site_blogs ul.blogs li.blog{background:url(dots_666.gif) repeat -x bottom;} #mini #site_blogs ul.blogs li.last{background:none;}#mini .site_blogs ul.blogs l i.blog h3 a{color:#FFF;}.all #container #mini .feature_top ul.blogs li.blog p.ti tle em a,#mini .feature_top ul.blogs li.blog p.title em a,#site_blogs ul.blogs l i.blog a.blog_title{color:#fff;}#main .top_site_blog li.blog h3{background:trans parent url(hub_icon.gif) no-repeat 0 0;}#main .top_site_blog li.blog,#main .top_ site_blog li.blog .wrap{background-repeat:no-repeat;}#main .top_site_blog li.blo g{background-image:url(corners_.gif);background-position:-2070px bottom;} #main .top_site_blog li.blog .wrap{background-image:url(corners_.gif);background -position:-2070px 0;}#side .user_blogs ul.blogs li.blog em a{color:#FFF;}.pc,.pc a,div a.pc,li.pc a,div a *.pc,.pc ul.content_nav li.on a,.pc ul.content_nav li. on a.on,.pc #container .gameplay_trend .on td,.pc #container .gameplay_trend .on .title a{color:#32bfff;}.pc ul.images li{border-color:#002945;}.xbox,.xbox a,.x box360,.xbox360 a,.x360,.x360 a,li.xbox a,li.x360 a,div a.xbox,div a.x360,div a *.x360,.xbox ul.content_nav li.on a,.xbox ul.content_nav li.on a.on,.xbox #conta iner .gameplay_trend .on td,.xbox #container .gameplay_trend .on .title a{color: #7ce000;} .xbox ul.images li{border-color:#172b00;}.nintendo,.nintendo a,.ds,.ds a,.gba,.g ba a,.gc,.gc a,.wii,.wii a,li.ds a,li.gba a,li.gc a,li.wii a,div a.ds,div a.wii, div a.gba,div a.gc,div a.nintendo,div a *.ds,div a *.wii,div a *.gba,div a *.gc, div a *.nintendo,.nintendo ul.content_nav li.on a,.nintendo ul.content_nav li.on a.on{color:#00d2d8;}.nintendo ul.images li{border-color:#003031;}.playstation,. playstation a,.ps,.ps a,.ps2,.ps2 a,.ps3,.ps3 a,.psp,.psp a,li.ps a,li.ps2 a,li. ps3 a,li.psp a,div a.ps,div a.ps2,div a.ps3,div a.psp,div a.sony,div a.playstati on,div a *.ps,div a *.ps2,div a *.ps3,div a *.psp,a *.sony,div a *.playstation,.

playstation ul.content_nav li.on a,.playstation ul.content_nav li.on a.on,.plays tation #container .gameplay_trend .on td,.playstation #container .gameplay_trend .on .title a{color:#8fa1ff;} .playstation ul.images li{border-color:#1f004d;}.arc,.arc a,li.arc a,a.arc{color :#fc3;}.mac,.mac a,li.mac a,a.mac{color:#fc3;}.mobile,.mobile a,li.mobile a,a.mo bile{color:#3c9;} body.alt a,body.alt #container .title a{color:#bb4b00;}body.alt .all #container #mini .title a{color:#FFE538;}.alt #flashcontent_topslot{border-color:#432000;}. alt #topslot_noflash_replacement li{background:#D8D8D8;}.alt #topslot_noflash_re placement li.alt{background:#C1C1C1;}.alt #topslot_noflash_replacement p.upgrade {background:#505050;}.alt #topslot_noflash_replacement p.upgrade a{color:#FFEB00 ;}.alt .module .head{border-color:#505050;}.alt .module .body *{border-color:#c4 c4c4;}.alt #mini .module .body *{border-color:#a5a5a5;} .alt .layout .module img,.alt .layout .module .avatar,.alt .layout .module .blog _thumb,.alt .layout .module .thumb,.alt .layout .module .download_thumb,.alt .la yout .module .union_icon *{border-color:#000;}.alt .layout .module ul.details li {color:#424242;}.alt .dotted_list .body li.dot{background:transparent url(dots_b bb.gif) repeat-x 0 bottom;}.alt .mini .dotted_list .body li.dot{background-image :url(dots_333.gif);}.alt .mini .dotted_list .body li.last,.alt .dotted_list .bod y li.last{background-image:none;} .alt .contain_all{background:#fff url(corners_.gif) no-repeat -3550px bottom;}.a lt .contain_all .no_module_head{background:url(corners_.gif) no-repeat -3550px 0 ;}#skin.alt .contain_all{background-position:-2670px bottom;}#skin.alt .contain_ all .no_module_head{background-position:-2670px 0;}#skin.alt #sky_layout .contai n_all{background-position:-1960px bottom;}#skin.alt #sky_layout .contain_all .no _module_head{background-position:-1960px 0;}.alt #mpu_layout .contain_all{backgr ound-position:-1310px bottom;} .alt #mpu_layout .contain_all .no_module_head{background-position:-1310px 0;}#sk in.alt #mpu_layout .contain_all{background-position:-740px bottom;}#skin.alt #mp u_layout .contain_all .no_module_head{background-position:-740px 0;}.alt #conten t #side .contain_all{background-position:-440px bottom;}.alt #content #side .con tain_all .no_module_head{background-position:-440px 0;}.alt .mini .contain_all,. alt .light_skinnable .contain_all{background:#e2e2e2 url(corners_.gif) no-repeat -4980px bottom;} .alt .mini .contain_all .no_module_head,.alt .light_skinnable .contain_all .no_m odule_head{background:url(corners_.gif) no-repeat -4980px 0;}.alt #profile_layou t .contain_all,.alt #siteblog_layout .contain_all{background-position:-4220px bo ttom;}.alt #profile_layout .contain_all .no_module_head,.alt #siteblog_layout .c ontain_all .no_module_head{background-position:-4220px 0;}.alt #mpu_layout.mini .contain_all,.alt #mpu_layout.light_skinnable .contain_all{background-position:3570px bottom;} .alt #mpu_layout.mini .contain_all .no_module_head,.alt #mpu_layout.light_skinna ble .contain_all .no_module_head{background-position:-3570px 0;}.alt #sky_layout .mini .contain_all{background-position:-2950px bottom;}.alt #sky_layout.mini .co ntain_all .no_module_head{background-position:-2950px 0;}.alt #profile_layout.sk y .contain_all,.alt #siteblog_layout.sky .contain_all{background-position:-2360p x bottom;}.alt #profile_layout.sky .contain_all .no_module_head,.alt #siteblog_l ayout.sky .contain_all .no_module_head{background-position:-2360px 0;} #skin.alt #mpu_layout.mini .video_content .contain_all,#skin.alt #mpu_layout.min i #content_promo .contain_all{background-position:-1790px bottom;}#skin.alt #mpu _layout.mini .video_content .contain_all .no_module_head,#skin.alt #mpu_layout.m ini #content_promo .contain_all .no_module_head{background-position:-1790px 0;}. alt #mpu_layout.mini #main .contain_all{background-position:-1310px bottom;}.alt #mpu_layout.mini #main .contain_all .no_module_head{background-position:-1310px 0;}.alt #profile_layout.mpu .contain_all{background-position:-860px bottom;} .alt #profile_layout.mpu .contain_all .no_module_head{background-position:-860px 0;}#skin.alt #mpu_layout.mini .contain_all{background-position:-460px bottom;}# skin.alt #mpu_layout.mini .contain_all .no_module_head{background-position:-460p x 0;}.alt .mini #content #side .contain_all{background-position:-160px bottom;}. alt .mini #content #side .contain_all .no_module_head{background-position:-160px

0;}.alt .contain_all .body li{background-image:url(dots_bbb.gif);}.alt .mini .c ontain_all .body li{background-image:url(dots_333.gif);} .alt .contain_all .body li.last,.alt .contain_all .body .head li,.alt .contain_a ll .body .foot li,.alt .contain_all .body .actions li,.alt .contain_all .body .b rowse_categories li,.alt .contain_all .body .details li,.alt .contain_all .body .useract_toolbar li,.alt .contain_all .page_nav ul.pages li,.alt .contain_all .b ody .rss li,.alt .layout .contain_all .body li li{background-image:none;}.alt .c ontain_all .body .module .head{background:#e0e0e0;color:#333;}.alt .mini .contai n_all .body .module .head{background:#979797;color:#fff;} .alt .mini .contain_all .foot,.alt .mini .contain_all .body li{border-color:#a5a 5a5;}.alt #mpu_layout.light_skinnable #side .contain_all,.alt #mpu_layout.light_ skinnable #side .contain_all .body{background:url(contain3.png) repeat-y -900px 0;}.alt #mpu_layout.light_skinnable #side .contain_all .body{background-position :-1200px bottom;background-repeat:no-repeat;}.alt .contain_singles .body li{back ground:#fff;}.alt #side .contain_singles .body li{background:#FFF url(corners_.g if) no-repeat -440px bottom;} .alt #side .contain_singles .body li .wrap{background:#FFF url(corners_.gif) norepeat -440px top;}.alt .mini .contain_singles .body li{background:#e2e2e2;}.alt .mini #side .contain_singles .body li,.alt .light_skinnable #side .contain_sing les .body li{background:#E2E2E2 url(corners_.gif) no-repeat -160px bottom;}.alt .mini #side .contain_singles .body li .wrap,.alt .light_skinnable #side .contain _singles .body li .wrap{background:#E2E2E2 url(corners_.gif) no-repeat -160px to p;} .alt .contain_singles .body li li,.alt .mini #side .contain_singles .body li li, .alt .mini #side .contain_singles .body li li .wrap,.alt .light_skinnable #side .contain_singles .body li li,.alt .light_skinnable #side .contain_singles .body li li .wrap,.alt #side .contain_singles .body li li{background:none;}.alt ul.rev iew_scores li.reader_score span.no_score{color:#707070;}.alt ul.review_scores li .review_score{background:#e2e2e2;}.alt ul.review_scores a{color:#ff7400;}.alt ul .review_scores .reset a,.alt ul.review_scores span.label{color:#333;} .alt ul.review_scores li.review_score span.data{background:#d5d5d5;}.alt ul.revi ew_scores li.review_score span.more,.alt ul.review_scores li.review_score p.msg{ color:#666;}.alt ul.review_scores li.highlighted_score{background:url(review_s.p ng) no-repeat 0 0;border-color:#8c8c8c;color:#555;}.alt ul.review_scores li.high lighted_score a{color:#4e4e4e;}.alt ul.review_scores li.highlighted_score span.l abel{color:#555;}.alt ul.review_scores li.highlighted_score.no_highlighted_score span.data,.alt ul.review_scores li.highlighted_score.no_highlighted_score span. scoreword{color:#858585;} .alt ul.review_scores li.highlighted_score span.choice a{color:#a70;}.alt div.re view_scores ul.actions li.about{background:#c2c2c2;}.alt div.review_scores ul.ac tions li.review a{color:#fff;}.alt #side ul.review_scores,.alt #side ul.review_s cores .reset a{color:#fff;}.alt #side ul.review_scores li.review_score{backgroun d:#555;}.alt #side ul.review_scores li.review_score span.data{background:#303030 ;}.alt #side ul.review_scores li.review_score span.more,.alt #side ul.review_sco res li.review_score p.msg{color:#a9a9a9;} .alt #side ul.review_scores li.highlighted_score span.label{color:#555;}.alt #ma in li.user_review ul.details li.recommended{color:#333;}.alt #main li.user_revie w .score{border-color:#bebebe;background:#fff;}.alt #side li.user_review .score{ background-position:0 -82px;}.alt .contain_all .user_reviews .avatar,.alt .conta in_singles .user_reviews .avatar{border-color:#c4c4c4;}.alt #main .user_review . score a{color:#333;}.alt .mini .contain_all .user_reviews .avatar,.alt .mini .co ntain_singles .user_reviews .avatar{border-color:#a4a4a4;} .alt #side .contain_singles .user_reviews li.has_reviewed_item .wrap{backgroundposition:1000px 0;}.alt #side .contain_singles .user_reviews li.has_reviewed_ite m .reviewed_item{background:#ccc;}.alt #side .contain_singles li.has_reviewed_it em .reviewed_item a{color:#333;}.alt ul.content_nav,.alt ul.content_nav li{color :#fff;border-color:#545454;}.alt ul.content_nav li a{color:#fff;}.alt .layout ul .content_nav li.on li a{color:#6b6b6b;}.alt ul.content_nav li.on a,.alt ul.conte nt_nav li.on li a.on{color:#bb4b00;} .alt .module div.content_nav{background:#E2E2E2;}body.alt .module .body ul.terti

ary_nav li a.on{color:#333;}body.alt #video_info .video_title{color:#333;}body.a lt #video_info ul.details li{color:#565656;}body.alt #video_info p{color:#333;}. alt ul.comments li.comment .avatar{border-color:#c4c4c4;}.alt ul.comments li.com ment p.posted{color:#818181;}.alt ul.comments li.comment p{color:#1D1D1D;}.alt u l.comments ul.details li{border-color:#A5A5A5;}.alt ul.comments ul.details li a{ color:#BB4B00;}.alt ul.comments ul.details li.agree a{background-position:0 -26p x;} .alt ul.comments ul.details li.disagree a{background-position:-28px -23px;}.alt .posted_comments .gen_comments_pages{background:#FFF;border-color:#E2E2E2;}.alt .posted_comments .tabs li a,.alt .posted_comments .tabs li span{color:#BB4B00;}. alt .posted_comments .tabs li .on{background-color:#E2E2E2;}.alt .posted_comment s .page_nav{background:#FFF;}.alt .posted_comments ul.pages li a,.alt .posted_co mments .page_nav .page_flipper a{color:#BB4B00;}.alt .posted_comments ul.pages l i{border-color:#B6B6B6;} .alt .posted_comments .pagination{background:#fff;border-color:#c6c6c6;}.alt .po sted_comments .tabs li.on,.alt .posted_comments .tabs li.on span{background:url( modules_.gif) no-repeat 0 -356px;}.alt .posted_comments .tabs li.on span{backgro und-position:right -381px;color:#2d2d2d;}.alt .posted_comments .page_nav ul.page s li{border-color:#b6b6b6;}.alt .comments .add_comment{background:#d3d3d3;}.alt .comments .preview .head{background:#929292;}.alt .comments .preview p em{color: #1D1D1D;} .alt .comments .body .comment_restriction{background:url(hub_icon.gif) 10px 10px no-repeat;color:#333;}.alt .search_box ul.search_types{color:#b26422;}.alt .sea rch_box ul.search_types a{color:#333;}.alt .search_box ul.search_types .general a{background-position:0 -89px;}.alt .search_box ul.search_types .general span{ba ckground-position:-500px -89px;}.alt .search_box ul.search_types .tags a{backgro und-position:0 -149px;}.alt .search_box ul.search_types .tags span{background-po sition:-500px -149px;} .alt .search_box ul.search_types .forums a{background-position:0 -210px;}.alt .s earch_box ul.search_types .forums span{background-position:-500px -210px;}.alt . search_box ul.search_types .gamefinder a{background-position:0 -270px;}.alt .sea rch_box ul.search_types .gamefinder span{background-position:-500px -270px;}.alt .search_box .forum_search_pages a{color:#b26422;}.alt .search_results ul.search _results li{color:#333;}.alt .search_results .search_nav{background:#444;}.alt . search_results .search_nav .related_terms{color:#fff;} .alt .search_results .search_nav .related_terms a{color:#fc3;}.alt .search_resul ts .search_nav ul.content_types a,.alt .search_results .search_nav ul.content_ty pes span{background-position:0 -566px;}.alt .search_results .search_nav ul.conte nt_types a span,.alt .search_results .search_nav ul.content_types span span{back ground-position:right -606px;}.alt .search_results .search_nav ul.content_types .on a,.alt .search_results .search_nav ul.content_types .on span{background-posi tion:0 -646px;}.alt .search_results .search_nav ul.content_types .on a span,.alt .search_results .search_nav ul.content_types .on span span{background-position: right -686px;} .alt .search_results .search_nav ul.content_types a{color:#595959;}.alt .search_ results .search_nav ul.content_types .on a{color:#414141;}.alt .search_results . featured{background:#ebebeb;border-color:#e4e4e4;color:#333;}.alt .search_result s .featured .thumb{background:#fff;border-color:#fff;}.alt .search_results .feat ured a,.alt .search_results #results a{color:#b26422;}.alt .search_results .tags ,.alt .search_results #results .tags a{color:#737373;}.alt ul.search_results li. movie_result li.download a{color:#ff8400;} .alt ul.image_results li.result{background:#fff;}.alt .tags_cloud a,.alt .tags_c loud a.medium{color:#333;}.alt .tags_cloud a.smallest{color:#888;}.alt .tags_clo ud a.small{color:#666;}.alt .tags_cloud a.large{color:#222;}.alt .tags_cloud a.l argest{color:#000;}.alt .tag_icon{background:transparent url(search00.gif) no-re peat 0 -150px;width:11px;height:11px;}.tag_form span.submit{border-color:#BA6401 ;}.alt .list_users_module ul.users li.user{background:#fff;border-color:#aaa;}.a lt .list_users_module ul.users li.user a{color:#000;} .alt #soapbox ul.blogs li.blog .details{background-position:-305px 0;}.alt #side .user_blogs ul.blogs li.blog em a{color:#353535;}.alt #soapbox a.title{color:#B

B4B00;}.alt .user_blogs blockquote span{background-position:0 -598px;}.alt .user _blogs .rquot{background-position:6px -898px;}.alt #latest_news .stories li a.ti tle{color:#BB4B00;}.alt #latest_news .head{background:#7f7f7f;}.alt #promo_side .stories li.story{border-bottom-color:#bbb;}.alt #gamingoffers .head{background: #7f7f7f;border:none;} .alt #gamingoffers .thumb{border-color:#9e9e9e;}.alt #hub_features .body ul.stor ies{background-image:url(special_.gif);}.alt #hub_features .body ul.stories li.s tory{background-image:none;}.alt #hub_features .body ul.stories li.story .wrap{b ackground-image:url(corners_.gif);}.alt #topics_module h3 a.title{color:#BB4B00; }.alt #main #related_games .content_nav{background:#E0E0E0;}.alt #main #related_ games ul.games li.game .more_details li{color:#333;} .alt #hub_poll_module .wrap{background-position:-750px bottom;}.alt #hub_poll_mo dule h2{background-position:0 -30px;}.alt #hub_poll_module .question{backgroundposition:-540px 0;}.alt #hub_poll_module .question p{color:#444;}.alt #hub_poll_ module .count,.alt #hub_poll_module .related,.alt #hub_poll_module .results{colo r:#ff7600;}.alt #hub_poll_module label{color:#3b3b3b;}.alt #hub_poll_module td{b order-bottom:1px solid #bfbfbf;}.alt #hub_poll_module td.choice{color:#333;}.alt .feature_top ul.stories li.alt,.alt .feature_top ul.stories .details{background :#e0e0e0;} .alt .feature_top ul.stories .foot{background:#fff;}.alt .top_story .body,.alt . mini .top_story .body{background:none;}.alt ul.videos li.video .sd a{color:#BB4B 00;}.alt ul.videos li.video .hd a{color:#0080B1;}.alt .contain_all ul.videos li. video ul.details li{color:#7c7c7c;}.alt .mini .contain_all ul.videos li.video ul .details li{color:#333;}.alt #related_videos li.footer_caption{color:#000;}body. alt div.promoted_content,body.alt #search_results div.promoted_content{backgroun d-position:0 0;}body.alt #side div.promoted_content{background-position:0 -13px; } body.alt .related_galleries_module div.promoted_content,body.alt #side #images_m odule div.promoted_content{background-position:0 -52px;}body.alt #image_index .p romoted_content{background-color:#FFF;}.alt #gslive_schedule{color:#444;}body.al t #gslive_schedule .shows a{color:#202020;}.alt #gslive_schedule .shows h3{backg round:#dbdbdb;color:#202020;}.alt #side #gslive_schedule li.next .details p{colo r:#878787;}.alt #side #gslive_schedule li.next a{color:#FFF;}.alt #side #gslive_ schedule li.next .countdown dt{color:#FFF;} .alt #side #gslive_schedule li.next .countdown dd{color:#FFE400;}.alt #gslive_sc hedule .upcoming li,.alt #gslive_schedule .recent li{border-color:#D4D4D4;}.alt #gslive_schedule .recent li a{color:#A44C00;}.alt #gslive_schedule .recent em a{ color:#202020;}.alt #mini #gslive_schedule .shows{color:#FFF;}.alt #mini #gslive _schedule .shows h3{background:#4b4b4b;color:#c6c6c6;}.alt #mini #gslive_schedul e .shows a{color:#ffe331;}.alt #mini #gslive_schedule .shows em a{color:#FFF;}.a lt #stockwatch table a{color:#3A3A3A;} .alt #stockwatch thead th{background:#929292;color:#FFF;}.alt #stockwatch th,.al t #stockwatch td{background:#FFF;color:#3A3A3A;}.alt #stockwatch .alt th,.alt #s tockwatch .alt td{background:#E2E2E2;}.alt #stockwatch tr.max td.percent,.alt #s tockwatch tr.max td.change{color:#188100;}.alt #stockwatch tr.min td.percent,.al t #stockwatch tr.min td.change{color:#860000;}.alt #releasecalendar h4{backgroun d:#979797;color:#fff;}.alt #releasecalendar li{border-bottom-color:#a5a5a5;}.alt #releasecalendar li .platform,.alt #releasecalendar li .platform a{color:#41414 1;} .alt #gfaqs_answers_questions li .title,.alt #gfaqs_answers_topgames li .title,. alt #gfaqs_answers_topgames .more{color:#BB4B00;}.alt .top_download .body{backgr ound:#fff url(featured.gif) no-repeat 15px 15px;}.alt .top_download h3 em,.alt . top_download p.deck{color:#454545;}.alt .more_downloads .body{background:#fff!im portant;}.alt .more_downloads li{border-bottom-color:#bbb;}.alt .more_downloads li{border-top-color:#fff;}.alt #podcasts .subscribe{color:#333;}.alt #recommends ul.actions li a{color:#BB4B00;} .alt #recommends ul.recs li.rec p.score span{color:#333;}.alt #latest_downloads .body .head{background:#dbdbdb;border-color:#dbdbdb;color:#202020;}.alt #latest_ downloads li{border-bottom-color:#d4d4d4;}.alt #latest_downloads .module .head u l.more a{color:#202020;}.alt #about_us .body h2{color:#333;}.alt #top_boards li{

color:#3f3f3f;}#mini ul.videos li.video .deck p{color:#fff;}.alt ul.games li.gam e h3 a,.alt ul.games li.game .score_summary dd a{color:#BB4B00;}.alt ul.games li .game .more_details li{border-color:#CCC;color:#848484;} .alt ul.games li.game .thumb,.alt ul.games li.game .boxshot{border-color:#000;}. alt ul.games li.game .score_summary{background-color:#FFF;border-width:1px;borde r-color:#BEBEBE;color:#515151;}.alt ul.games li.game .score_summary dd.word,.alt ul.games li.game .score_summary dd.choice a{color:#515151;}.alt .pc ul.games li .game h3 a,.alt .pc ul.games li.game .score_summary dd a{color:#0a5790;}.alt .xb ox ul.games li.game h3 a,.alt .xbox ul.games li.game .score_summary dd a{color:# 427800;}.alt .nintendo ul.games li.game h3 a,.alt .nintendo ul.games li.game .sc ore_summary dd a{color:#006a6d;} .alt .playstation ul.games li.game h3 a,.alt .playstation ul.games li.game .scor e_summary dd a{color:#280e77;}.alt #container #mini #find_features .body .title a{color:#BB4B00;}.alt #side .related h3 a{color:#343434;}.alt #side .related ul. actions li.hd a{color:#1F5D9D;}.alt #side .related ul.actions li.sd a{color:#A44 C00;}.alt #gscpromo_module .body{background:#cdcdcd;}.alt #main .video_embed .vi deo_details{border-color:#999;}.alt #main .video_embed .video_details p.caption{ background-color:#AAA;} .alt #main .video_embed .video_details ul.video_actions{background-color:#E7E7E7 ;font-size:12px;}.alt #main .video_embed .video_details ul.video_actions li{bord er-left-color:#353535;background:transparent url(useract_.gif) no-repeat 0 0;}.a lt #main .video_embed .video_details ul.video_actions li.comment{background-posi tion:-300px -57px;}.alt #main .video_embed .video_details ul.video_actions li.hd {background-position:-284px -533px;}.alt #main .video_embed .video_details ul.vi deo_actions li a{color:#333;} .alt #browse_filters .body{background-color:#444;color:#fff;}.alt #browse_filter s .body a{color:#fff;}.alt #browse_filters #subnav{color:#777;}.alt #browse_filt ers ul.letternav li.on a{color:#777;}.alt .body ul.browse_categories li.browse_c ategory,.alt .body ul.browse_categories li.browse_category.last{border-color:#C4 C4C4;}.alt .body ul.browse_categories li.browse_category.alt{background-color:#E 5E5E5;}.alt .body ul.browse_categories li.browse_category.end{background:#E5E5E5 url(corners_.gif) no-repeat bottom right;} .alt .mini .body ul.browse_categories li.browse_category.alt{background-color:#F FF;}.alt #browse_filters.updates{background-color:#EFEFEF;}.alt #browse_filters. updates ul.tabs li{background-position:0 -256px;}.alt #browse_filters.updates ul .tabs li a,.alt #browse_filters.updates ul.tabs li span{background-position:righ t -281px;}.alt #browse_filters.updates ul.tabs li a{color:#9E4A00;}.alt #browse_ filters.updates ul.tabs li.on{background-position:0 -306px;}.alt #browse_filters .updates ul.tabs li.on a{background-position:right -331px;color:#555;} .alt #browse_filters ul.time li.on a{color:#777;}.alt #filter_results table thea d th{background-color:#595959;}.alt #filter_results table tbody th a{color:#BB4B 00;}.alt #filter_results table tbody td,.alt #filter_results table tbody th{back ground-color:#FFF;border-color:#CDCDCD;}.alt #filter_results table tbody tr.alt th,.alt #filter_results table tbody tr.alt td{background-color:#e5e5e5;border-co lor:#CDCDCD;}.alt #filter_results table td.headline a{color:#BB4B00;}.alt #brows e_filters.new_releases .browse_weeks a.prev{background:url(arrows00.gif) no-repe at 0 -240px;} .alt #browse_filters.new_releases .browse_weeks a.next{background:url(arrows00.g if) no-repeat right -270px;}.alt #download_browse .body{background-color:#F0F0F0 ;}.alt #download_filter ul.downloads li.alt{background-color:#EAEAEA;}.alt .filt ered_games_module .foot{border-color:#ccc;}.alt .filtered_dlc_module table.filte red_games td.reader_score a{color:#333;}.alt #content .top_games_module li.game .title a{color:#333;}.alt #hd_player_wrap,.alt .video_player{background-color:#F FF;}.alt .video_error{background-color:#E7E7E7;border-color:#DDD;color:#333;} .alt .upsell .wrap p{color:#404040;}.alt #sponsored_video .body .wrap h3 a{color :#404040;}.alt #video_summary .details{color:#404040;}.alt #video_summary p{colo r:#404040;}.alt #video_summary ul.details li.posted a{color:#BB4B00;}.alt #video _summary ul.watch li.download a{background-position:-200px -250px;}.alt #video_s ummary ul.watch li.hd a{background-position:-200px -300px;}.alt #video_summary u l.watch li.current{background-position:-200px -350px;}.alt #video_summary .sd h2

,.alt #video_summary.sd .head{background-color:transparent;color:#BB4B00;} .alt #video_summary .download_panel .head{color:#bf5100;}.alt #download_panel .h ead .more a{color:#B75A00;}.alt #download_panel dt{color:#404040;}.alt #download _panel dd{color:#575757;}.alt #download_panel .body ul{background-color:#E4E4E4; color:#404040;}.alt #download_panel .body ul li{border-color:#C4C4C4;}.alt #popu lar_pages a,.alt #related_content_module a{color:#BB4B00;}.alt #mini #related_co ntent_module a{color:#fff;}.alt #mini div.videos ul.nav{background-color:#4b4b4b ;color:#aaa;}.alt #mini div.videos a{color:#ffe331;} .alt #mini ul.videos li.video{background-image:url(dots_bbb.gif);}.alt #mini ul. details li{color:#d3d3d3;}.alt #content #side #upload_video{background-color:#ff f;}.alt #content #side #upload_video.video_hub{background-color:#cdcdcd;}.alt #c ontent #mini #upload_video{background-color:#484848;}.alt .page_nav{background:t ransparent;}.alt .search_page_nav{background:none;}.alt .story_page_nav .page_fl ipper a{background-image:url(arrows_l.gif);background-repeat:no-repeat;} .alt .story_page_nav .page_flipper .prev{background-position:0 0;}.alt .story_pa ge_nav .page_flipper .next{background-position:right -30px;}.alt .xbox .story_pa ge_nav .page_flipper .prev{background-position:0 -60px;}.alt .xbox .story_page_n av .page_flipper .next{background-position:right -90px;}.alt .playstation .story _page_nav .page_flipper .prev{background-position:0 -120px;}.alt .playstation .s tory_page_nav .page_flipper .next{background-position:right -150px;}.alt .pc .st ory_page_nav .page_flipper .prev{background-position:0 -180px;} .alt .pc .story_page_nav .page_flipper .next{background-position:right -210px;}. alt .nintendo .story_page_nav .page_flipper .prev{background-position:0 -240px;} .alt .nintendo .story_page_nav .page_flipper .next{background-position:right -27 0px;}.alt .portable .page_nav{background:#d6d6d6;}.alt .search_results .page_nav .page_flipper .prev{background-position:0 -896px;}.alt .search_results .page_na v .page_flipper .next{background-position:right -926px;}.alt #bottomnav{backgrou nd:#959595;color:#fff;border-color:#878787;} .alt #bottomnav a{color:#fff;}.alt #tag_form textarea{border:1px solid;}.alt #mi ni #tag_form{background:transparent;}.alt #tag_form .body form .submit{border-co lor:#BA6401;}.alt #download_item .download_buttons{background:#E2E2E2;}.alt #dow nload_item .dl_details dd{color:#333;}.alt #download_alt_item .body p.sub_head{c olor:#FFF;background-color:#484848;}.alt #download_item .download_messaging{back ground-color:#E9E9E9;border-color:#BBB;}.alt #download_item .tier2-countdown{bac kground-color:#FFF;} .alt #download_item .tier2-download .tier2-countdown em{color:#7D7D7D;}.alt #sid e #franchises .franchises li{background:#FFF url(franchis.gif) no-repeat -588px bottom;}.alt #side #franchises .franchises li li{background:transparent url(dots _666.gif) repeat-x 0 bottom;}.alt #side #franchises .franchises li li.last{backg round:none;}.alt #legacy_layout #gamestats,.alt #legacy_layout #mini .contain_al l .body{background:transparent;}.alt #legacy_layout #gamestats ul.stats a,.alt # legacy_layout #gamestats ul.stats span.data{color:#fff;} .alt #related_games #subnav{background-color:#6b6b6b;}.alt #related_games #subna v_wrap li{border-color:#9b9b9b;}.alt #related_games ul.more_details span.date{co lor:#848484;}.alt .page_nav ul.pages li{border-color:#999;}.alt #player_reviews_ module .score a{color:#333;}.alt #news_story{color:#333;}.alt #news_story .story _body p a{color:#BB4B00;}.alt #news_story .byline{background-color:#DADADA;}.alt #news_story .byline .title a{color:#333;}.alt #news_story .embscreen_large p.em bscreen_caption a{color:#FFF;} .alt #side .feature_top ul.stories li.story{background:transparent;border-color: #A5A5A5;}.alt #side .feature_top ul.stories li.featured{background:#E0E0E0;}.alt #recent_news .foot a{color:#FFE538;}.alt #mini #recent_news .body ul.stories li .story{border-color:#3B3B3B;color:#FFF;}.alt .cheat_details{color:#333;}.alt .mo dule .body .cheat_details .description .head,.alt .body ul.cheats li .head{backg round:transparent;color:#BB4B00;}.alt ul.cheats p{color:#333;}.alt table.cheats tbody,.alt table.cheats th{background:#FFF;} .alt table.cheats tr.alt td{background:#E5E5E5;}.alt table.cheats th{background: #999;color:#FFF;}.alt table.faqs tr td.type{color:#333;}.alt .print_cheats a{bac kground-position:-300px -213px;}.alt #side .contain_all table.faqs tr td.type{co lor:#333;}.alt #side .contain_all table.faqs tr a{color:#BB4B00;}.alt .prices_ch

art .body{border:1px solid #b7b7b7;}.alt .prices_chart .buy_btn{color:#fff;}.alt .gamespace_video .filters{background:#616161;}.alt .gamespace_video .filters li .on,.alt .gamespace_video .filters li.on a{background-position:0 -356px;} .alt .gamespace_video .filters li a{color:#fff;}.alt .gamespace_video .filters l i.on a{background-position:right -381px;color:#444;}.alt .gamespace_video #gs_vi deos.loading{background-color:#616161;}.alt .site_rss_feeds_module .feed .body{b ackground-color:#FFF;}.alt .site_rss_feeds_module .feed .body .head{background-c olor:#DBDBDB;color:#000;}.alt .site_rss_feeds_module .feed .body .head a{color:# 000;}body.alt .blog_toolbar .moderation_actions select{border-color:#ccc;}body.a lt .blog_toolbar .moderation_actions select,body.alt .blog_toolbar .moderation_a ctions option{background:#fff;color:#333;} .alt #main .blog_entry .head,.alt #main .blog_entry .blog_entry .head,.alt #main .blog_entry h2,.alt #main .blog_entry h3,.alt #siteblog_layout #main .first .he ad,.alt #content form.edit_msg .blog_preview .blog_entry .head{background-color: transparent;border-color:#afafaf;}body.alt #main .blog_entry a,body.alt #main li .blog_entry .title a{color:#BB4B00;}.alt #main .blog_entry ul.details{border-col or:#afafaf;}.alt #main .blog_entry ul.details li.posted span{color:#3e3e3e;}.alt #main .blog_entry ul.details li.category span{color:#BB4B00;} .alt #main .blog_entry .blog_post{color:#212121;}.alt #siteblog_layout .sports_b eat a{color:#840400;}.alt #siteblog_layout .under_review a{color:#840400;}.alt # siteblog_layout .work_in_progress a{color:#1a55c7;}.alt #siteblog_layout .work_i n_progress .module .head{background:#123b89;border-color:#123b89;}.alt #siteblog _layout .spam_filter #main a{color:#0d588c;}.alt #siteblog_layout .spam_filter . module .head{background:#0d588c;border-color:#0d588c;}.alt #siteblog_layout .har dware_insider a{color:#2c9504;} .alt #siteblog_layout .hardware_insider .module .head{background:#319c01;bordercolor:#165400;}body.alt #siteblog_layout .rumor_control #main a{color:#00727a;}. alt #siteblog_layout #mini .body h3 a,.alt #siteblog_layout #mini .body .title a ,.alt #siteblog_layout #mini .module{color:#fff;}.alt #site_blogs ul.blogs li.bl og a.title{color:#bb4b00;}.alt #site_blogs ul.blogs li.blog a.blog_title,.alt #s ite_blogs ul.blogs li.blog .deck p{color:#353535;}.alt #siteblog_layout #mini a{ color:#ccc;}.alt #siteblog_layout #mini ul.stories li.story .deck{color:#fff;} .alt #siteblog_layout .sports_beat #mini a,.alt #siteblog_layout .under_review # mini a{color:#ff8a86;}.alt #siteblog_layout .hardware_insider #mini a{color:#2C9 504;}.alt #siteblog_layout .rumor_control #mini a{color:#00f5ff;}.alt #mini #sit e_blogs ul.blogs li.blog{background:url(dots_bbb.gif) repeat-x bottom;}.alt #min i #site_blogs ul.blogs li.blog p{color:#fff;}.alt #mini #site_blogs ul.blogs li. last{background:none;}.alt #mini .feature_top ul.blogs li.blog{border-color:#3B3 B3B;} .alt #mini .feature_top ul.blogs li.blog a{color:#ffe538;}.alt #mini .feature_to p ul.blogs li.blog p{color:#fff;}.alt #main .top_site_blog li.blog{background-im age:url(corners_.gif);background-position:-740px bottom;}.alt #main .top_site_bl og li.blog .wrap{background-image:url(corners_.gif);background-position:-740px 0 ;}.alt .blog_description{color:#fff;}body.alt .pc,body.alt .pc a,body.alt div a. pc,body.alt a *.pc,.alt .pc ul.content_nav li.on a,.alt .pc ul.content_nav li.on a.on,.alt .pc .module .story_body span.first_letter,.alt .pc .gameplay_trend .d etails dl strong,.alt .pc #container .gameplay_trend .on td,.alt .pc #container .gameplay_trend .on .title a{color:#0a5790;} .alt .pc #gamestats ul.stats li{background-position:0 -95px;}.alt ul.review_scor es li.pc span.data,.alt ul.review_scores li.pc span.data a,.alt ul.review_scores li.pc span.scoreword{color:#0b5791;}.alt ul.review_scores span.pc,.alt .pc ul.r eview_scores li.review_score span.more a,.alt .pc ul.review_scores li.review_sco re span.data a{color:#32bfff;}body.alt li.pc a{color:#00B4EC;}body.alt .xbox,bod y.alt .xbox a,body.alt .x360,body.alt .x360 a,body.alt .xbox360,body.alt .xbox36 0 a,body.alt div a.xbox,body.alt div a.x360,body.alt a *.xbox,.alt .xbox ul.cont ent_nav li.on a,.alt .xbox ul.content_nav li.on a.on,.alt .xbox .module .story_b ody span.first_letter{color:#366300;} .alt .xbox #gamestats ul.stats li{background-position:0 -195px;}.alt ul.review_s cores li.xbox span.data a,.alt ul.review_scores li.xbox span.scoreword{color:#42 7800;}.alt #side ul.review_scores span.xbox,.alt .xbox #side ul.review_scores li

.review_score span.more a,.alt .xbox #side ul.review_scores li.review_score span .data a{color:#7ce000;}body.alt li.xbox a,body.alt li.x360 a{color:#73BE00;}body .alt .nintendo,body.alt .nintendo a,body.alt .wii,body.alt .wii a,body.alt .ds,b ody.alt .ds a,body.alt .gba,body.alt .gba a,body.alt .gc,body.alt .gc a,body.alt div a.ds,body.alt div a.wii,body.alt div a.gba,body.alt div a.gc,body.alt div a .nintendo,body.alt div a *.ds,body.alt div a *.wii,body.alt div a *.gba,body.alt div a *.gc,body.alt div a *.nintendo,.alt .nintendo ul.content_nav li.on a,.alt .nintendo ul.content_nav li.on a.on,.alt .nintendo .module .story_body span.fir st_letter{color:#006a6d;} .alt .nintendo #gamestats ul.stats li{background-position:0 -295px;}.alt ul.revi ew_scores li.nintendo span.data a,.alt ul.review_scores li.nintendo span.scorewo rd{color:#007578;}.alt #side ul.review_scores span.nintendo,.alt .nintendo #side ul.review_scores li.review_score span.more a,.alt .nintendo #side ul.review_sco res li.review_score span.data a{color:#00d2d8;}body.alt li.wii a,body.alt li.ds a,body.alt li.gba a,body.alt li.gc a{color:#00D1BC;}body.alt .playstation,body.a lt .playstation a,body.alt .ps3,body.alt .ps3 a,body.alt .ps2,body.alt .ps2 a,bo dy.alt .psp,body.alt .psp a,body.alt div a.ps2,body.alt div a.ps3,body.alt div a .psp,body.alt div a.sony,body.alt div a.playstation,body.alt div a *.ps2,body.al t div a *.ps3,body.alt div a *.psp,body.alt div a *.sony,body.alt div a *.playst ation,.alt .playstation ul.content_nav li.on a,.alt .playstation ul.content_nav li.on a.on,.alt .playstation .module .story_body span.first_letter{color:#280e77 ;} .alt .playstation #gamestats ul.stats li{background-position:0 -395px;}.alt ul.r eview_scores li.playstation span.data a,.alt ul.review_scores li.playstation spa n.scoreword{color:#1f1b61;}.alt #side ul.review_scores span.playstation,.alt .pl aystation #side ul.review_scores li.review_score span.more a,.alt .playstation # side ul.review_scores li.review_score span.data a{color:#8fa1ff;}body.alt li.ps3 a,body.alt li.ps2 a,body.alt li.ps a,body.alt li.psp a{color:#7149FC;}body.alt .portable,body.alt .portable a,body.alt div a.portable,body.alt a *.portable,.al t .portable ul.content_nav li.on a,.alt .portable ul.content_nav li.on a.on,.alt .portable .module .story_body span.first_letter{color:#c00;} .alt #side ul.review_scores span.portable,.alt .portable #side ul.review_scores li.review_score span.more a,.alt .portable #side ul.review_scores li.review_scor e span.data a{color:#f00;}body.alt .arc,body.alt .arc a,body.alt li.arc a,body.a lt a.arc{color:#fc3;}body.alt .mac,body.alt .mac a,body.alt li.mac a,body.alt a. mac{color:#fc3;}body.alt .mobile,body.alt .mobile a,body.alt li.mobile a,body.al t a.mobile{color:#3c9;} .pc .module .head,.pc .seeit .title,body.alt .pc .module .head,body.alt .pc .see it .title{background:#0b5791;border-color:#002945;}.xbox .module .head,.xbox .se eit .title,body.alt .xbox .module .head,body.alt .xbox .seeit .title,.xbox .top_ filter_tabs,.xbox .top_filter_tabs li.on{background:#427800;border-color:#172b00 ;}.nintendo .module .head,.nintendo .seeit .title,body.alt .nintendo .module .he ad,body.alt .nintendo .seeit .title,.nintendo .top_filter_tabs,.nintendo .top_fi lter_tabs li.on{background:#007578;border-color:#003031;} .playstation .module .head,.playstation .seeit .title,body.alt .playstation .mod ule .head,body.alt .playstation .seeit .title,.playstation .top_filter_tabs,.pla ystation .top_filter_tabs li.on{background:#1f1b61;border-color:#1f004d;}.portab le,.portable a,.alt .portable a,.portable ul.content_nav li.on a,.portable #cont ent ul.content_nav li.on a.on,.portable .module .story_body span.first_letter,a. portable,.portable #container .module .title a,.alt .portable #topics_module h3 a.title,.alt ul.review_scores li.portable span.data a,.alt ul.review_scores li.p ortable span.more a,.alt ul.review_scores li.portable span.scoreword,.alt ul.rev iew_scores li.portable p.msg{color:#c00;} .portable .module .head,.portable .top_filter_tabs,.portable .top_filter_tabs li .on{background:#c00;border-color:#300;}.portable .module .head .beston a,.portab le .mobile_about_module .body a,.portable .mobile_filter_lists_module .body a{co lor:#fff;}.portable #gamestats ul.stats li,.portable .topten .top_product ul.sta ts li{background-position:0 -895px;}.portable .topten .top_product ul.stats li.s core{background-position:0 -892px;}.portable .mobile_about_module,.portable .mob ile_filter_lists_module{background:#c00;border-color:#300;color:#fff;}

------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline; filename=global00.css Content-Type: text/css; charset=iso-8859-1; name=global00.css Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/global00.css Content-Transfer-Encoding: Quoted-Printable html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,p= re,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,= samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,f= ieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margi= n:0;padding:0;border:0;outline:0;vertical-align:baseline;background:tran= sparent;border-style:solid;}body#iframe,html,iframe{background:none;}bod= y{font:normal 12px arial,helvetica,sans-serif;position:relative;}ol,ul{l= ist-style:none;} blockquote,q{quotes:none;}button:focus,input:focus,textarea:focus{outlin= e:0;}em{font-style:normal;}ins{text-decoration:none;}del{text-decoration= :line-through;}table{border-collapse:collapse;border-spacing:0;}input[ty= pe=3Dtext],input[type=3Dpassword],input[type=3Dsubmit],button{-webkit-ap= pearance:none;}a{font-weight:bold;text-decoration:none;}a:hover{text-dec= oration:underline;}a *{cursor:pointer;}button,input,option,select,textar= ea{font-family:arial,helvetica,sans-serif;}caption,th,td{text-align:left= ;font-weight:normal;} h1,h2,h3,h4,h5,h6{font-weight:bold;}h1{font-size:18px;}h2{font-size:16px= ;}h3{font-size:14px;}h4{font-size:12px;}legend{display:none;}p{margin:0 = 0 10px;}input{color:#000;}.absolute,img.tracking_gif{font-size:1px;posit= ion:absolute;top:0;left:0;height:1px;width:1px;border:0;}div.clear{clear= :both;font-size:1px;line-height:1px;height:0;visibility:hidden;overflow:= hidden;}p.callout{text-align:center;font-weight:bold;margin:10px 0;}p.ca= llout_small{text-align:center;font-weight:bold;font-size:10px;}p.error{t= ext-align:center;font-weight:bold;margin:10px 0;font-size:14px;} .platform{font-weight:normal;font-size:10px;}.mod_cond_red{font-weight:b= old;color:#f00;}.mod_cond_orange{color:#c60;}.mod_cond_yellow{color:#fd3= ;}.mod_cond_blue{color:#36f;}.mod_cond_green{color:#0c0;}.alt .mod_cond_= orange{color:#f93;}.alt .mod_cond_yellow{color:#db1;}.eyebrow{font-size:= 11px;line-height:13px;height:22px;width:436px;overflow:hidden;}.eyebrow = .eb_wrap{height:22px;background:url(bg000000.png) no-repeat center -2060= px;}.eyebrow .eb_wrap_l{background-position:left -2030px;padding:0 0 0 5= px;}.eyebrow .eb_wrap_r{background-position:right -2090px;padding:0 5px = 0 0;}.eyebrow .eb_wrap_c{background-repeat:repeat-x;padding:4px 0 0;}.ey= ebrow .announcements{color:#d0d0d0;text-align:center;}.eyebrow .label{ma= rgin:0 3px 0 0;}#site_layout .eyebrow .announcements a{color:#ff5c00;fon= t-weight:normal;}#site_masthead{background-color:#474747;height:134px;ma= rgin:0 0 1px;overflow:visible;}.alt #site_masthead{background-color:#5e6= 76b;}.pc #site_masthead{background-color:#0e63a1;}.xbox #site_masthead{b= ackground-color:#288801;}.playstation #site_masthead{background-color:#2= 42f98;}.nintendo #site_masthead{background-color:#0a8093;}.portable #sit= e_masthead{background-color:#b21000;}body.has_skin #site_masthead{margin= :0;border-width:0 0 1px;border-color:#000;}.site_mh_wrap{margin:0 auto;p= adding:0 350px 0 380px;height:70px;width:250px;} .site_mh_nav_wrap{padding:0 240px 0 290px;height:64px;width:450px;}.site= _mh_bg_toggler_wrap{height:auto;width:980px;padding:0;}.site_mh_eyebrow_= wrap{height:auto;width:450px;padding:0 240px 0 290px;}#site_masthead .ac= tive .action_wrap,#site_masthead .dropdown_open .action_wrap{background:= url(bg000000.png) no-repeat 0 1000px;}#site_masthead .dropdown_open .act= ion_wrap{z-index:5001;position:relative;}#site_masthead .dropdown{displa= y:none;text-align:left;position:absolute;}#site_masthead .dropdown_open{= z-index:5999;box-shadow:5px 5px 9px rgba(0,0,0,0.4);-moz-box-shadow:5px = 5px 9px rgba(0,0,0,0.4);-webkid-box-shadow:5px 5px 9px rgba(0,0,0,0.4);}=

#site_masthead .dropdown_open .dropdown{display:block;z-index:5000;box-s= hadow:5px 5px 9px rgba(0,0,0,0.4);-moz-box-shadow:5px 5px 9px rgba(0,0,0= ,0.4);-webkit-box-shadow:5px 5px 9px rgba(0,0,0,0.4);}#site_masthead .dr= opdown_open .dropdown_open{box-shadow:none;-moz-box-shadow:none;-webkid-= box-shadow:none;}.site_mh_section{display:inline;float:left;margin:0;}.s= ite_mh_nav_group{margin:0;padding:8px 0 0;}.site_mh_brand{width:380px;ma= rgin-left:-380px;padding:0;}.site_mh_search{margin:27px 0 0;width:100%;}= .site_mh_search_eyebrowed{margin-top:31px;}.site_mh_userpanel{float:righ= t;margin-right:-350px;width:350px;}.site_mh_nav_main{margin-left:-290px;= width:290px;}.site_mh_nav_platform{padding:0;width:100%;}.site_mh_nav_co= mmunity{float:right;margin-right:-240px;width:240px;}.site_mh_eyebrow{ma= rgin:-134px 0 0;}.site_mh_bg_toggler{float:right;height:64px;width:25px;= margin:-64px 0 0;}div.site_mh_brand_logo{background:url(logoGlow.png) no= -repeat center 0;display:inline;float:left;height:139px;padding:0 23px;m= argin:0 -23px -69px;} .alt div.site_mh_brand_logo{background-position:center -140px;}.has_plat= form div.site_mh_brand_logo{background-image:url(logoGlow.png);}.pc div.= site_mh_brand_logo{background-position:center 0;}.xbox div.site_mh_brand= _logo{background-position:center -140px;}.playstation div.site_mh_brand_= logo{background-position:center -280px;}.nintendo div.site_mh_brand_logo= {background-position:center -420px;}.portable div.site_mh_brand_logo{bac= kground-position:center -560px;}span.site_mh_brand_logo{background:url(g= s_logo_.png) no-repeat 0 0;display:inline;float:left;height:91px;width:2= 61px;overflow:hidden;margin:0 0 -21px 0;} a.site_mh_brand_logo{color:#fff;display:block;padding:100% 0 0;height:0;= font-size:26px;line-height:81px;width:100%;overflow:hidden;}.site_region= _3 span.site_mh_brand_logo{background-image:url(gs_logo_.png);height:89p= x;width:322px;margin-bottom:-19px;}.site_region_4 span.site_mh_brand_log= o{background-image:url(gs_logo_.png);height:90px;width:323px;margin-bott= om:-20px;}.site_region_9 span.site_mh_brand_logo{background-image:url(gs= _logo_.png);height:86px;width:362px;margin-bottom:-16px;} #site_masthead_search{opacity:.6;}#site_masthead_search .mh_search_wrap{= background:url(bg000000.png) no-repeat 0 0;display:inline;float:left;}#s= ite_masthead_search .mh_search_wrap_l{padding:0 0 0 5px;}#site_masthead_= search .mh_search_wrap_r{background-position:right -40px;padding:2px 5px= 1px 2px;}#site_masthead_search form.site_search{display:inline;float:le= ft;margin:0 -5px;width:248px;}#site_masthead_search .wrap{background:non= e;border-width:0;height:22px;padding:5px 4px 0 30px;} #site_masthead_search span.help{font:normal 12px/17px arial,helvetica,sa= ns-serif;color:#2f2f2f;height:17px;padding:0 0 0 1px;}#site_masthead_sea= rch span.search_text{float:right;}#site_masthead_search span.search_text= span.field{padding:0;}#site_masthead_search span.search_text span.field= {background:none;}#site_masthead_search span.search_text input.text{font= :normal 12px arial,helvetica,sans-serif;}#site_masthead_search span.subm= it{display:inline;float:left;height:18px;width:18px;margin:-1px 4px 0 -2= 6px;} #site_masthead_search span.submit span.btn{background:url(icons000.png) = no-repeat 0 0;}#userpanel div.label{display:none;}#userpanel_off{display= :inline;float:right;height:44px;width:194px;margin:0 -5px -5px -1px;padd= ing:0;}#userpanel_off .panel_wrap{background:url(bg000000.png) 1000px 10= 00px;display:inline;float:left;}#userpanel_off .panel_wrap_l{background-= position:0 -70px;padding:0 0 0 6px;}#userpanel_off .panel_wrap_r{backgro= und-position:right -120px;padding:0 6px 6px 0;} #userpanel_off .panel_actions{background:none;height:39px;width:188px;ma= rgin:0 -1px 1px -5px;}#userpanel_off ul.actions{display:inline;float:lef= t;height:39px;width:188px;}#userpanel_off li.action{display:inline;float= :left;font-size:14px;line-height:17px;height:39px;text-align:center;padd= ing:0;position:relative;}#userpanel_off div.action_wrap{padding:10px 0 0=

;height:29px;}#userpanel_off .dropdown{width:188px;top:38px;left:0;backg= round:#737373;}#userpanel_off .dropdown_wrap{background:#fff;border:1px = solid #737373;padding:10px 15px;} #userpanel_off li.signup{width:90px;}#userpanel_off a.signup{color:#fc4d= 00;}#userpanel_off li.signin{background:url(icons000.png) no-repeat righ= t -92px;width:98px;}#userpanel_off a.signin{color:#fff;padding:0 22px 0 = 0;position:relative;}#userpanel_off a.signin span{position:absolute;top:= 2px;right:0;height:0;width:13px;padding:13px 0 0;overflow:hidden;backgro= und:url(icons000.png) no-repeat -30px 0;}#userpanel_off .dropdown_open a= .action{color:#484848;}#userpanel_off .dropdown_open a.signin span{backg= round-position:-50px 0;} #userpanel_off .signin .dropdown_open .action_wrap{background:#fff;borde= r-width:1px 1px 0;border-color:#737373;padding-top:9px;}#userpanel_off .= signin .userpanel_more{font-size:11px;}#userpanel_off .forgot_password a= {color:#fc4d00;font-weight:normal;}#userpanel_off div.facebook_signin{bo= rder-top:1px solid #999;color:#4c68a1;margin:6px 0 0;padding:6px 0 0;wid= th:100%;overflow:hidden;}#userpanel_off .fb_btn{background:#29447e url(f= acebook.png) no-repeat left -138px;cursor:pointer;display:inline;float:l= eft;margin:10px 0 0;padding:0 0 0 1px;border-radius:3px;-moz-border-radi= us:3px;} #userpanel_off .fb_btn,#userpanel_off .fb_btn_text{color:#fff;font:bold = 13px/16px "lucida grande",tahoma,verdana,arial,sans-serif;text-decoratio= n:none;}#userpanel_off .fb_btn_text{display:block;background:#5f78ab url= (facebook.png) repeat 0 0;border-bottom:1px solid #1A356E;border-top:1px= solid #879AC0;margin:1px 1px 0 24px;padding:2px 6px 4px;text-decoration= :none;}#userpanel form#signin li.field{margin:0 0 6px;}#userpanel form#s= ignin li.hidden_fields{display:none;}#userpanel form#signin .field_label= {color:#666;font:11px/13px arial,helvetica,sans-serif;display:block;marg= in:0 0 6px;} #userpanel form#signin .field_data{display:block;background:#fff;border:= 1px solid #8b8b8b;border-radius:3px;-moz-border-radius:3px;padding:3px 5= px;}#userpanel form#signin .field_data input.text{border:0;margin:0;padd= ing:0;width:99%;font:12px arial,helvetica,sans-serif;}#userpanel form#si= gnin input.submit{background:#fc4d00;border:1px solid #9a2f00;border-rad= ius:3px;-moz-border-radius:3px;padding:3px 5px;color:#fff;font:14px aria= l,helvetica,sans-serif;cursor:pointer;}#userpanel_on{display:inline;floa= t:right;margin:20px 0 0 0;width:310px;position:relative;} #userpanel_on .user_summary{height:34px;padding:12px 74px 0 0;overflow:h= idden;text-align:right;}#userpanel_on div.toggler{display:inline;float:r= ight;line-height:22px;padding:0;right:0;position:relative;}#userpanel_on= div.username{font-size:18px;line-height:22px;display:inline;position:re= lative;}#userpanel_on div.username a{font-weight:normal;color:#fff;paddi= ng:0;position:relative;}#userpanel_on div.username span{background:url(i= cons000.png) no-repeat -70px 0;display:block;height:0;width:22px;padding= :22px 0 0;overflow:hidden;position:absolute;top:-1px;right:-32px;} #userpanel_on .has_alerts div.username span{background-position:-100px 0= ;}#userpanel_on div.avatar{border:1px solid #000;height:32px;width:32px;= margin:0;position:absolute;top:-6px;right:-74px;}#userpanel_on .avatar a= {display:block;height:32px;width:32px;}#userpanel_on .avatar img{float:l= eft;height:32px;width:32px;}#userpanel_on .avatar .fb_icon{background:ur= l(facebook.gif) no-repeat 0 0;float:right;height:0;overflow:hidden;width= :14px;padding:14px 0 0;margin:-14px 0 0;}#userpanel_on div.user_controls= {border-top:1px solid #c3c3c3;padding:4px 10px;height:18px;overflow:hidd= en;font:11px/14px arial,helvetica,sans-serif;} #userpanel_on .user_controls a{color:#171717;font-weight:normal;}#userpa= nel_on li.control{background:url(icons000.png) no-repeat 0 -146px;displa= y:inline;float:left;padding:2px 6px 0 7px;}#userpanel_on li.alert{backgr= ound-position:right -146px;float:right;padding:2px 7px 0 6px;}#userpanel= _on div.options{float:left;overflow:hidden;}#userpanel_on ul.options{dis= play:inline;float:left;margin:0 0 0 -6px;}#userpanel_on ul.alerts{displa=

y:inline;float:right;margin:0 -6px 0 0;}#userpanel_on div.alerts{display= :inline;float:right;overflow:hidden;} #userpanel_on .alert a{position:relative;}#userpanel_on .alert span.see{= height:0;overflow:hidden;background:url(icons000.png) no-repeat;position= :absolute;left:0;}#userpanel_on li.messages a{padding:0 0 0 17px;}#userp= anel_on .messages span.see{padding:9px 0 0;width:12px;background-positio= n:-180px 0;top:3px;}#userpanel_on li.updates a{color:#2c2c2c;padding:0 0= 0 15px;}#userpanel_on .updates span.see{padding:11px 0 0;width:10px;bac= kground-position:-160px 0;top:2px;}#userpanel_on div.tracked_games{font:= 11px/15px arial,helvetica,sans-serif;border-top:1px solid #8a8a8a;paddin= g:0;} #userpanel_on ol.tracked_games{padding:6px 10px;}#userpanel_on .tracked_= games_head{background:#ababab;margin:0;padding:6px 0;width:100%;overflow= :hidden;}#userpanel_on .tracked_games_head span.title{float:left;font-si= ze:14px;font-weight:bold;line-height:18px;color:#fff;padding:0 0 0 10px;= }#userpanel_on .tracked_games_head span.see_all{font-size:12px;line-heig= ht:14px;float:right;padding:0 10px 0 0;margin:2px 0 0;}#userpanel_on .tr= acked_games_head a.see_all{color:#fff;}#userpanel_on .scroll .tracked_ga= mes_body{height:312px;overflow:auto;} #userpanel_on .tracked_game{background:url(icons000.png) no-repeat 3px -= 194px;padding:0 0 0 15px;}#userpanel_on .tracked_game a{font-weight:norm= al;color:#262626;}#userpanel_on .tracked_game .plat{color:#707070;}#user= panel_on .dropdown{width:310px;top:47px;left:0;background:#262626;}#user= panel_on .dropdown_wrap{background:#e5e5e5;border:1px solid #262626;bord= er-top:0;}#userpanel_on div.action_wrap{margin:1px 1px 0;padding:0 5px;}= #userpanel_on div.action_wrap_r{padding:0 5px 0 0;height:46px;} #userpanel_on .dropdown_open div.username span{background-position:-130p= x 0;}#userpanel_on .dropdown_open .action_wrap{border-color:#262626;bord= er-width:1px 1px 0;background-position:0 -170px;background-color:#424242= ;margin:0;}.bg_toggler{display:inline;float:right;background:url(bg00000= 0.png) no-repeat 0 -220px;color:#fff;font-size:10px;text-align:center;he= ight:29px;width:20px;margin:20px 0 0 5px;}.bg_toggler_label{display:none= ;}.bg_toggler a{display:block;height:0;width:16px;overflow:hidden;margin= :0;padding:12px 0 0;} .bg_toggler_dark{padding:12px 0 0;}.bg_toggler_dark a{padding:12px 0 0;}= #site_nav .nav_label{display:none;}#site_nav ul.site_nav{float:left;}#si= te_nav .nav_item{float:left;font-size:12px;line-height:15px;padding:0;po= sition:relative;}#site_nav a.nav_action{font-weight:normal;display:inlin= e;float:left;color:#fff;padding:5px;margin:-5px;}#site_nav .action_wrap{= float:left;}#site_nav .action_wrap_l{padding:0 0 0 5px;margin:9px 0 -7px= 0;}#site_nav .action_wrap_r{padding:0 5px 0 0;}#site_nav .action_wrap_c= {padding:8px 3px 7px;height:23px;} #site_nav .dropdown{display:none;position:absolute;top:46px;left:0;}#sit= e_nav .dropdown_subnavs{left:auto;right:50%;width:162px;}#site_nav .drop= down_subnavs .dropdown_wrap{position:absolute;top:0;left:0;}#site_nav di= v.site_subnav{background:#e1e1e1;width:160px;overflow:hidden;}#site_nav = ul.site_subnav{float:left;margin:-1px 0 -110px;padding:0 0 110px;width:1= 00%;}#site_nav li.subnav_item{display:inline;float:left;border-top:1px s= olid #fff;font-size:11px;line-height:14px;width:100%;}#site_nav a.subnav= _action{background:#e1e1e1 no-repeat;color:#010101;display:block;font-we= ight:normal;padding:5px 15px;text-decoration:none;} #site_nav a.subnav_action:hover{background-color:#fff;color:#dd4300;}#si= te_nav div.site_subnavs{background:#e1e1e1;width:321px;overflow:hidden;}= #site_nav ul.site_subnavs{display:inline;float:left;margin:0 0 0 -1px;}#= site_nav li.site_subnav{border:0 solid #000;border-width:0 1px;margin:0 = -1px 0 0;float:left;}#site_nav li.site_subnav .subnav_head{background:#f= ff;padding:9px 15px;}#site_nav a.active{color:#ff5a00;}#site_nav .active= .action_wrap_l{background-position:0 -510px;}#site_nav .active .action_= wrap_r{background-position:right -510px;} #site_nav .active .action_wrap_c{background-position:center -510px;}#sit=

e_nav .dropdown_open{height:50px;}#site_nav div.dropdown_open a.nav_acti= on{color:#fff;}#site_nav .dropdown_open .dropdown{background:#000;}#site= _nav .dropdown_open .dropdown_wrap{border:1px solid #000;background:#828= 282;padding:6px 0 0;}#site_nav .dropdown_open .action_wrap_l{background-= position:0 -450px;margin-top:0;}#site_nav .dropdown_open .action_wrap_r{= background-position:right -450px;}#site_nav .dropdown_open .action_wrap_= c{padding-top:17px;background-position:0 1000px;} #site_nav .subnav_item_downloads a.subnav_action{background-image:url(ic= ons000.png);background-position:15px -45px;padding-left:34px;}#site_nav = .dropdown .has_context_updates{padding-right:220px;width:160px;overflow:= hidden;}#site_nav .has_context_updates div.site_subnav{display:inline;fl= oat:left;padding:0 0 300px;margin:0 0 -300px;}#site_nav .subnav_update{d= isplay:none;visibility:hidden;padding:16px;}#site_nav .nav_context .subn= av_update{display:block;visibility:visible;}#site_nav .nav_context{backg= round:#fff;display:inline;float:right;padding:16px 20px 316px;margin:0 -= 220px -300px 0;width:180px;font-size:11px;line-height:13px;} #site_nav .nav_context a{font-weight:normal;}#site_nav div.context_stori= es{overflow:hidden;width:100%;}#site_nav ol.context_stories{overflow:hid= den;width:100%;}#site_nav li.story{border-bottom:1px dotted #c3c3c3;marg= in:0 0 8px;padding:0 4px 8px;}#site_nav li.story div.headline{padding:0;= }#site_nav li.top_story{position:relative;}#site_nav li.top_story div.he= adline{padding-top:112px;}#site_nav .context_stories div.see_all{padding= :0 4px;}#site_nav .story_image{border:1px solid #000;width:178px;height:= 102px;position:absolute;top:0;left:0;} #site_nav .story_image a,#site_nav .story_image img{display:block;width:= 178px;height:102px;}#site_nav .context a{color:#454545;}#site_nav .conte= xt a.see_all{color:#dd4300;}#site_nav_main .event_nav_item a.nav_action{= background:url(site_mas.png) no-repeat 0 0;text-align:center;line-height= :21px;height:21px;width:53px;padding:0;margin:-3px -4px -3px -3px;}#site= _nav_main .event_nav_item .dropdown_open a.nav_action{background-positio= n:1000px 1000px;}#site_nav .plats_wrap{float:left;background:url(bg00000= 0.png) no-repeat 0 -650px;} #site_nav .plats_wrap_l{padding:0 0 0 12px;margin:-2px -6px -6px -2px;}#= site_nav .plats_wrap_r{background-position:right -710px;padding:0 16px 0= 0;}#site_nav .plats_wrap_c{background-repeat:repeat;background-position= :center -770px;padding:2px 0 6px;height:49px;}#site_nav_platform{display= :inline;float:left;margin:0 -10px;height:49px;background:url(bg000000.pn= g) no-repeat 1px -599px;}#site_nav_platform .site_nav{float:left;height:= 49px;background:url(bg000000.png) no-repeat center -549px;} #site_nav_platform .nav_item{font-size:13px;line-height:15px;padding:0;}= #site_nav_platform .action_wrap_l{margin:0 0 -7px;padding:0 0 0 5px;}#si= te_nav_platform .action_wrap_r{padding:0 5px 0 0;}#site_nav_platform .ac= tion_wrap_c{padding:17px 6px 7px;height:32px;}#site_nav_platform .first = .action_wrap_c{padding-left:10px;}#site_nav_platform .last .action_wrap_= c{padding-right:10px;}#site_nav_platform a.active{color:#fff;}.pc #site_= nav_platform .active .action_wrap_l{background-position:0 -950px;}.pc #s= ite_nav_platform .active .action_wrap_r{background-position:right -950px= ;} .pc #site_nav_platform .active .action_wrap_c{background-position:center= -950px;}.pc #site_nav_platform .first .active .action_wrap_l{background= -position:0 -1010px;}.pc #site_nav_platform .last .active .action_wrap_r= {background-position:right -1010px;}.xbox #site_nav_platform .active .ac= tion_wrap_l{background-position:0 -1190px;}.xbox #site_nav_platform .act= ive .action_wrap_r{background-position:right -1190px;}.xbox #site_nav_pl= atform .active .action_wrap_c{background-position:center -1190px;}.xbox = #site_nav_platform .first .active .action_wrap_l{background-position:0 -= 1250px;} .xbox #site_nav_platform .last .active .action_wrap_r{background-positio= n:right -1250px;}.playstation #site_nav_platform .active .action_wrap_l{= background-position:0 -1430px;}.playstation #site_nav_platform .active .=

action_wrap_r{background-position:right -1430px;}.playstation #site_nav_= platform .active .action_wrap_c{background-position:center -1430px;}.pla= ystation #site_nav_platform .first .active .action_wrap_l{background-pos= ition:0 -1490px;}.playstation #site_nav_platform .last .active .action_w= rap_r{background-position:right -1490px;} .nintendo #site_nav_platform .active .action_wrap_l{background-position:= 0 -1670px;}.nintendo #site_nav_platform .active .action_wrap_r{backgroun= d-position:right -1670px;}.nintendo #site_nav_platform .active .action_w= rap_c{background-position:center -1670px;}.nintendo #site_nav_platform .= first .active .action_wrap_l{background-position:0 -1730px;}.nintendo #s= ite_nav_platform .last .active .action_wrap_r{background-position:right = -1730px;}.portable #site_nav_platform .active .action_wrap_l{background-= position:0 -1910px;} .portable #site_nav_platform .active .action_wrap_r{background-position:= right -1910px;}.portable #site_nav_platform .active .action_wrap_c{backg= round-position:center -1910px;}.portable #site_nav_platform .first .acti= ve .action_wrap_l{background-position:0 -1970px;}.portable #site_nav_pla= tform .last .active .action_wrap_r{background-position:right -1970px;}#s= ite_nav_platform .dropdown{top:48px;}.standard #site_nav_platform .dropd= own_open .action_wrap_l{margin:0;}.standard #site_nav_platform .dropdown= _open .action_wrap_c{background-position:0 1000px;padding-bottom:0;} #site_nav_platform .pc_nav_item .dropdown{background:#09416a;}#site_nav_= platform .pc_nav_item .dropdown_wrap{background:#0093ff;border-color:#09= 416a;}#site_nav_platform .pc_nav_item a.subnav_head_action,#site_nav_pla= tform .pc_nav_item a.subnav_action:hover,#site_nav_platform .pc_nav_item= a.see_all{color:#0083e3;}.standard #site_nav_platform .dropdown_open .p= c_action_wrap_l{background-position:0 -830px;}.standard #site_nav_platfo= rm .dropdown_open .pc_action_wrap_r{background-position:right -830px;} .standard #site_nav_platform .first .dropdown_open .pc_action_wrap_l{bac= kground-position:0 -890px;}.standard #site_nav_platform .last .dropdown_= open .pc_action_wrap_r{background-position:right -890px;}#site_nav_platf= orm .xbox_nav_item .dropdown{background:#1a5a01;}#site_nav_platform .xbo= x_nav_item .dropdown_wrap{background:#35b102;border-color:#1a5a01;}#site= _nav_platform .xbox_nav_item a.subnav_head_action,#site_nav_platform .xb= ox_nav_item a.subnav_action:hover,#site_nav_platform .xbox_nav_item a.se= e_all{color:#2d9900;} .standard #site_nav_platform .dropdown_open .xbox_action_wrap_l{backgrou= nd-position:0 -1070px;}.standard #site_nav_platform .dropdown_open .xbox= _action_wrap_r{background-position:right -1070px;}.standard #site_nav_pl= atform .first .dropdown_open .xbox_action_wrap_l{background-position:0 -= 1130px;}.standard #site_nav_platform .last .dropdown_open .xbox_action_w= rap_r{background-position:right -1130px;}#site_nav_platform .playstation= _nav_item .dropdown{background:#181f64;}#site_nav_platform .playstation_= nav_item .dropdown_wrap{background:#2335e5;border-color:#181f64;} #site_nav_platform .playstation_nav_item a.subnav_head_action,#site_nav_= platform .playstation_nav_item a.subnav_action:hover,#site_nav_platform = .playstation_nav_item a.see_all{color:#2335e5;}.standard #site_nav_platf= orm .dropdown_open .playstation_action_wrap_l{background-position:0 -131= 0px;}.standard #site_nav_platform .dropdown_open .playstation_action_wra= p_r{background-position:right -1310px;}.standard #site_nav_platform .fir= st .dropdown_open .playstation_action_wrap_l{background-position:0 -1370= px;} .standard #site_nav_platform .last .dropdown_open .playstation_action_wr= ap_r{background-position:right -1370px;}#site_nav_platform .nintendo_nav= _item .dropdown{background:#075461;}#site_nav_platform .nintendo_nav_ite= m .dropdown_wrap{background:#009ab3;border-color:#075461;}#site_nav_plat= form .nintendo_nav_item a.subnav_head_action,#site_nav_platform .nintend= o_nav_item a.subnav_action:hover,#site_nav_platform .nintendo_nav_item a= .see_all{color:#008ba1;}.standard #site_nav_platform .dropdown_open .nin= tendo_action_wrap_l{background-position:0 -1550px;}

.standard #site_nav_platform .dropdown_open .nintendo_action_wrap_r{back= ground-position:right -1550px;}.standard #site_nav_platform .first .drop= down_open .nintendo_action_wrap_l{background-position:0 -1610px;}.standa= rd #site_nav_platform .last .dropdown_open .nintendo_action_wrap_r{backg= round-position:right -1610px;}#site_nav_platform .mobile_nav_item .dropd= own{background:#590800;}#site_nav_platform .mobile_nav_item .dropdown_wr= ap{background:#b80000;border-color:#590800;}#site_nav_platform .mobile_n= av_item a.subnav_head_action,#site_nav_platform .mobile_nav_item a.subna= v_action:hover{color:#b80000;} .standard #site_nav_platform .dropdown_open .mobile_action_wrap_l{backgr= ound-position:0 -1790px;}.standard #site_nav_platform .dropdown_open .mo= bile_action_wrap_r{background-position:right -1790px;}.standard #site_na= v_platform .first .dropdown_open .mobile_action_wrap_l{background-positi= on:0 -1850px;}.standard #site_nav_platform .last .dropdown_open .mobile_= action_wrap_r{background-position:right -1850px;}#site_nav_community{bac= kground:url(bg000000.png) no-repeat right -350px;float:left;width:210px;= margin:-2px 0 0;padding:2px 30px 0 0;} #site_nav_community .fuse_nav_item .dropdown{left:auto;right:0;}#site_na= v_community li.fuse_nav_item a.nav_action{padding-top:9px;margin-top:-9p= x;}#site_nav_community li.fuse_nav_item .active a.nav_action{padding-top= :9px;margin-top:-9px;background-position:0 1000px;}div.ac_options{color:= #000;border:1px solid #2b2b2b;background-color:#fff;position:absolute;vi= sibility:hidden;padding:4px 0;z-index:5999;}div.ac_options_wrap{height:1= 00%;overflow-y:auto;overflow-x:hidden;}.ac_options ul{list-style:none;ov= erflow:hidden;width:100%;}.ac_options li{padding:2px 5px;line-height:16p= x;cursor:pointer;float:left;width:100%;overflow:hidden;}.ac_options .ac_= hover{color:#fff;background-color:#424242;}.ac_options .ac_hover strong{= color:#ff5c00;}div.ac_loader{background:url(128x1500.gif) no-repeat cent= er center;height:15px;padding:10px 0;width:100%;} div.masthead_search_results{background-color:#f0f0f0;border-radius:4px;-= moz-border-radius:4px;box-shadow:5px 5px 9px rgba(0,0,0,0.4),inset 1px 1= px 1px #ededed;-moz-box-shadow:5px 5px 9px rgba(0,0,0,0.4),inset 1px 1px= 1px #ededed;-webkit-box-shadow:5px 5px 9px rgba(0,0,0,0.4),inset 1px 1p= x 1px #ededed;}.masthead_search_results li{border-bottom:1px solid #ddd;= }#site_layout{float:left;width:100%;position:static;}body{background-col= or:#262626;}#site_layout{background:url(site_sta.png) repeat-x center 0;= }body.has_skin #site_layout{background:none;}body.alt{background-color:#= fff;}.alt #site_layout{background-image:url(site_sta.png);}.pc #site_lay= out{background-image:url(site_pc0.png);}.xbox #site_layout{background-im= age:url(site_xbo.png);}.playstation #site_layout{background-image:url(si= te_pla.png);} .nintendo #site_layout{background-image:url(site_nin.png);}.portable #si= te_layout{background-image:url(site_por.png);}.site_gutters,#container_l= ayout{float:left;width:100%;position:static;}#gutters{padding:0 0 10px;}= #gutter_top{position:relative;}#gutter_btm{padding:0 0 20px;}#container_= layout{position:relative;}.content_footer,.site_gutters{background:none;= }body.alt .video_bg{background:#fff;}body.has_skin #gutters{background:u= rl(mantle_s.png) repeat-x center 0;} #container{float:none;display:block;margin:0 auto;padding:0;height:1%;wi= dth:980px;position:relative;}#full_layout,#mpu_layout,#sky_layout{float:= left;}#content,#promo,#content_footer{float:left;padding:0 5px;width:970= px;}.video_content,#content_promo{float:left;overflow:hidden;padding:0 5= px;}#content .deck p{line-height:1.4;}#promo{height:304px;}.col{display:= inline;float:left;margin:0 5px;padding:0 0 10px;}#promo .col{padding-bot= tom:0;margin-bottom:0;}#content_banner{padding:0 10px;height:1%;overflow= :hidden;} #main{width:960px;}.mini .layout{padding-left:170px;}.mini #main{width:7= 90px;}.mini #mini{width:170px;margin-left:-975px;}#mpu_layout .layout{pa= dding-right:300px;}#mpu_layout .video_content{width:642px;}#mpu_layout .= hd_video_content{width:960px;}#mpu_layout #content_promo,#mpu_layout #ma=

in,#mpu_layout #promo_main{width:650px;}#mpu_layout #promo_side,#mpu_lay= out #side{float:right;width:300px;margin-right:-295px;}#mpu_layout.mini = #content #content_promo{display:inline;float:left;margin:0 0 0 -175px;pa= dding:0 0 0 10px;overflow:visible;} #mpu_layout.mini #main{width:480px;}#mpu_layout.mini #mini{margin-left:-= 665px;}#mpu_layout.portable #mini{width:160px;margin-left:-655px;}#mpu_l= ayout.mini #content .video_content{display:inline;float:left;margin:0 0 = 0 -175px;padding:0 0 0 15px;overflow:visible;}#mpu_layout.mini #content = #video_toolbar{padding-bottom:10px;}#mpu_layout.mini #content #video_pla= yer{padding-top:10px;}#mpu_layout.mini #content #side #video_player{padd= ing-top:0;}#mpu_layout.mini #content .hd_video_content{padding-left:10px= ;padding-right:10px;} #mpu_layout.mini #content #video_info{width:950px;padding-top:15px;margi= n-bottom:-5px;}.video_bg #mpu_layout.mini #content #mpu{margin-top:10px;= }#sky_layout .layout{padding-right:160px;}#sky_layout #main{width:790px;= }#sky_layout #side{float:right;width:160px;margin-right:-155px;}#sky_lay= out.mini #main{width:620px;}#sky_layout.mini #mini{margin-left:-805px;}#= iframe_layout #content,#iframe_layout #main{margin:0;padding:0;width:100= %;}#skin #eyebrow .wrap,#skin #container{width:900px;}#skin #content,#sk= in #content_footer,#skin #promo{width:890px;} #skin #main{width:880px;}#skin #cnet_footer .wrap{width:900px;}#skin #cn= et_footer .wrap .wrap{width:auto;}#skin #mpu_layout .video_content,#skin= #mpu_layout #content_promo,#skin #mpu_layout #main,#skin #mpu_layout #p= romo_main{width:570px;}#skin #mpu_layout.mini #content .video_content,#s= kin #mpu_layout.mini #content #content_promo{width:570px;}#skin #mpu_lay= out.mini #main{width:400px;overflow:hidden;}#skin #mpu_layout.mini #mini= {margin-left:-585px;}#skin #sky_layout #main{width:710px;}form.search .w= rap{font-size:12px;height:24px;padding:0 72px 0 0;text-align:center;}for= m.search span.submit{background:#ba6401;float:right;height:22px;width:70= px;margin:0 -72px 0 0;padding:1px;overflow:hidden;}form.search span.subm= it span.btn{background:#eb7d26 url(button00.gif) no-repeat 0 0;display:b= lock;height:100%;width:100%;position:relative;}form.search button.submit= ,form.search button.submit span,form.search input.submit{color:#fff;disp= lay:block;font:bold 12px/22px arial,helvetica,sans-serif;height:100%;wid= th:100%;cursor:pointer;text-align:center;} form.search button.submit,form.search input.submit{background:none;borde= r:0;margin:0;padding:0;vertical-align:top;}form.search button.submit spa= n{position:absolute;top:0;left:0;}form.search span.search_text{float:lef= t;text-align:left;width:100%;}form.search span.search_text span.field{di= splay:block;border-width:1px 0 1px 1px;background:#fff;border-color:#fff= ;height:19px;padding:3px 6px 0;}form.search span.search_text input.text{= background:none;border-width:0;float:none;height:99%;width:99%;margin:0;= padding:0;} form.search span.help{display:block;color:#aaa;font-size:12px;font-weigh= t:bold;line-height:17px;padding:3px 6px 0;height:17px;}form.search span.= dynamic_helptext{position:relative;}form.search span.dynamic_helptext sp= an.help{position:absolute;top:0;left:0;visibility:hidden;z-index:1;}form= .search label{display:inline;float:left;line-height:24px;text-align:left= ;margin:0;padding:0;}form.search .user_search_label{padding-left:80px;}f= orm.search .user_search_label label{margin:0 0 0 -80px;width:80px;}form.= mini_search span.search_text{border-width:0;margin:0;height:14px;overflo= w:hidden;} form.mini_search span.search_text span.field{padding:0;border-width:0;he= ight:15px;}form.mini_search{height:18px;width:137px;padding:5px 0;text-a= lign:right;}form.mini_search fieldset{background:#787878;height:17px;pad= ding:1px;width:135px;overflow:hidden;}form.mini_search fieldset .wrap{ba= ckground:#fff;padding:1px 18px 1px 1px;height:15px;width:117px;overflow:= hidden;}form.mini_search input.text{border:0;float:left;font-size:10px;h= eight:14px;width:96%;}form.mini_search span.submit{background:url(footer= -u.gif) no-repeat -126px 1px;border:0;display:inline;float:right;font-si=

ze:11px;height:15px;margin:0 -17px 0 1px;padding:0;width:16px;overflow:h= idden;} form.mini_search span.submit span.btn{background:transparent none;}form.= mini_search span.submit button{border-width:0;background:transparent non= e;height:100%;width:100%;padding:0;margin:0;}form.mini_search button.sub= mit span{display:none;}form.mini_search .clear_qs{display:inline;float:l= eft;font-size:10px;line-height:18px;height:18px;width:65px;margin:0 0 0 = -65px;position:relative;text-align:left;}form.mini_search .clear_qs a{co= lor:#fff;font-weight:normal;position:relative;}form.site_search .wrap{ba= ckground-color:#fff;border-color:#929292;border-width:1px;height:20px;pa= dding:0 22px 0 0;} form.site_search span.submit{background:none;height:20px;width:22px;marg= in:0 -22px 0 0;padding:0;}form.site_search span.submit span.btn{backgrou= nd:url(search00.gif) no-repeat 4px -297px;}form.site_search button.submi= t span{display:none;}form.site_search span.search_text span.field{border= -width:0;height:17px;}form.site_search span.help{color:#777;line-height:= 15px;height:15px;}#mini .search .wrap{font-size:11px;height:18px;padding= -right:55px;}#mini .search span.submit{height:16px;width:53px;margin:0 -= 55px 0 0;} #mini .search button.submit,#mini .search button.submit span,#mini .sear= ch input.submit{font-size:11px;line-height:16px;}#mini .search input.tex= t{font-size:10px;}#mini .search span.search_text span.field{height:15px;= padding:1px 2px 0;}#mini .search span.help{font-size:10px;line-height:15= px;padding:1px 2px 0;}#side .search .wrap{font-size:11px;height:18px;pad= ding-right:55px;}#side .search label{font-size:11px;font-weight:bold;lin= e-height:18px;}#side .search input{font-size:11px;}#side .search span.su= bmit{height:16px;width:53px;margin:0 -55px 0 0;} #side .search button.submit,#side .search button.submit span,#side .sear= ch input.submit{font-size:11px;line-height:16px;}#side .search span.sear= ch_text span.field{height:15px;padding:1px 2px 0;}#side .search span.hel= p{font-size:10px;line-height:15px;padding:1px 2px 0;}#side .search .user= _search_label{padding-left:75px;}#side .search .user_search_label label{= margin:0 0 0 -75px;width:75px;}form.adv_search{color:#fff;}form.adv_sear= ch div.legend{font-size:14px;font-weight:bold;padding:0 0 0 100px;}form.= adv_search ol.fields{font-size:11px;} form.adv_search ol.fields li.field{background:none;padding:0;margin:10px= 0 0;}form.adv_search ol.fields .button{float:left;height:22px;line-heig= ht:22px;text-align:center;}form.adv_search ol.fields .button button{bord= er-width:0;font-size:11px;font-weight:bold;height:99%;}form.adv_search o= l.fields .wrap{height:1%;overflow:hidden;padding:0 410px 0 100px;}form.a= dv_search ol.fields .name{float:left;font-weight:bold;line-height:14px;m= argin:0 10px 0 -100px;padding:4px 0 0 0;width:90px;text-align:right;} form.adv_search ol.fields .data{float:left;width:100%;}form.adv_search o= l.fields .data select{height:22px;width:99%;}form.adv_search ol.fields .= data .textfield{display:block;border-width:1px;height:18px;padding:2px 2= px 0;background:#fff;border-color:#fff;overflow:hidden;}form.adv_search = ol.fields .data .textfield input{border-width:0;height:99%;width:99%;mar= gin:0;padding:0;}form.adv_search ol.fields .help{line-height:14px;float:= right;margin:0 -410px 0 10px;padding:4px 0 0;width:400px;}.alt form.sear= ch span.search_text span.field{border-color:#999;} .alt #side .search span.search_text .field{border-color:#c4c4c4;}.alt fo= rm.adv_search{color:#333;}.alt form.adv_search ol.fields .data .textfiel= d{border-color:#999;}.ad_unit a{font-size:1px;line-height:1;}.ad_unit_sk= y{margin:0 auto;padding:10px 0;width:160px;}.ad_unit_mpu{margin:10px aut= o;}.ad_unit_halfpage-mpu{margin:0 auto 10px;}.ad_unit_curl,.ad_unit_skin= ,.ad_unit_leftskin,.ad_unit_rightskin{position:absolute;top:0;}.ad_unit_= leftskin,.ad_unit_rightskin{top:-24px;vertical-align:top;width:369px;}.a= d_unit_leftskin{left:-369px;}.ad_unit_rightskin{right:-369px;}.ad_unit_g= lead,.ad_unit_glead_takeover{padding:0 0 9px;text-align:center;font-size= :0;width:100%;}.ad_unit_leader,.ad_unit_bottom_leader{text-align:center;=

padding:4px 0 10px;width:100%;} .content_footer{float:left;width:100%;}.forum_actions .ad_unit_leader,.c= ontent_footer .ad_unit_leader,.content_footer .ad_unit_bottom_leader{flo= at:left;border-top-width:1px;padding:12px 0;}.ad_unit_leader_sidedoor{pa= dding-bottom:5px;text-align:center;}#superleader{float:left;margin:0;pad= ding:0;width:100%;}#superleader .ad_unit{margin:0;padding:5px 0 10px;pos= ition:relative;}#superleader .ad_unit_default{padding:0;}#superleader .a= d_unit .ad_wrap{margin:0 auto;}#superleader .ad_unit_leader_sidedoor .ad= _wrap_dart{padding-top:10px;} #superleader .ad_unit_default .ad_wrap_dart{padding:0;height:0;overflow:= hidden;}#container .ad_unit_glead,#container .ad_unit_leader{background:= #3e3e3e;}#container .ad_unit_glead_takeover{background:url(bg_ad_gl.jpg)= repeat-x 0 0;}.nintendo #container .ad_unit_glead_takeover{background-p= osition:0 -238px;}.pc #container .ad_unit_glead_takeover{background-posi= tion:0 -357px;}.playstation #container .ad_unit_glead_takeover{backgroun= d-position:0 -476px;}.xbox #container .ad_unit_glead_takeover{background= -position:0 -595px;} #content .forum_actions .ad_unit_leader,#container .content_footer .ad_u= nit_leader{background:#242424;border-color:#1b1b1b;}.alt #container .ad_= unit_glead{background:#cdcdcd;}.alt #container .ad_unit_leader{backgroun= d:#eee;}.alt #container .ad_unit_glead_takeover{background-position:0 -1= 19px;}.alt .nintendo #container .ad_unit_glead_takeover{background-posit= ion:0 -238px;}.alt .pc #container .ad_unit_glead_takeover{background-pos= ition:0 -357px;}.alt .playstation #container .ad_unit_glead_takeover{bac= kground-position:0 -476px;} .alt .xbox #container .ad_unit_glead_takeover{background-position:0 -595= px;}.alt #content .forum_actions .ad_unit_leader,.alt #container .conten= t_footer .ad_unit_leader{background:#242424;border-color:#1b1b1b;}#mini = div.bwp{margin:0;}.thumb .follower_btn,.thumb .following_btn,#gamestats = .follower_btn,#gamestats .following_btn,#gamestats .follow,.thumb .follo= w,.product .follow,.product .following_btn,.product .follower_btn{width:= 104px;height:34px;margin:0 auto;text-align:center;}.thumb .follower_btn,= #gamestats .follower_btn,#gamestats .follow,.thumb .follow,.product .fol= low,.product .follower_btn{background:url(follow00.png) no-repeat 0 0;}.= thumb .follower_btn:hover,#gamestats .follower_btn:hover,#gamestats .fol= low:hover,.thumb .follow:hover,.product .follow:hover,.product .follower= _btn:hover{background-position:0 -34px;} .thumb .following_btn,#gamestats .following_btn,.product .following_btn{= background:url(followin.png) no-repeat scroll 0 0 transparent;}.thumb .f= ollowing_btn:hover,#gamestats .following_btn:hover,.product .following_b= tn:hover{background-position:0 -34px;}.thumb .follower_btn a,.thumb .fol= lowing_btn a,.thumb .follow a,#gamestats .follower_btn a,#gamestats .fol= lowing_btn a,#gamestats .follow a,.product .follower_btn a,.product .fol= lowing_btn a,.product .follow a{display:inline;font:bold 18px arial,helv= etica,sans-serif;line-height:32px;white-space:nowrap;} .alt #content .thumb .follower_btn a,#related_games .details .follow a,.= thumb .follower_btn a,#gamestats .follower_btn a,#gamestats .follow a,.t= humb .follow a,.product .follower_btn a,.product .follow a{color:#FFF;}.= thumb .following_btn a,#gamestats .following_btn a,.product .following_b= tn a{color:#F65100;}.alt #content .thumb .follower_btn a:hover,.alt #con= tent .thumb .following_btn a:hover,.thumb .follower_btn a:hover,.thumb .= following_btn a:hover,#gamestats .follower_btn a:hover,#gamestats .follo= wing_btn a:hover,#gamestats .follow a:hover,.thumb .follow a:hover,.prod= uct .follower_btn a:hover,.product .following_btn a:hover,.product .foll= ow a:hover{text-decoration:none;} .thumb .follower_btn,#gamestats .follower_btn,#gamestats .follow,.thumb = .follow,.product .follower_btn,.product .follow{background:url(follow00.= png) no-repeat 0 0;}.thumb .follower_btn:hover,#gamestats .follower_btn:= hover,#gamestats .follow:hover,.thumb .follow:hover,.product .follower_b= tn:hover,.product .follow:hover{background-position:0 -34px;}.thumb .fol=

lowing_btn,#gamestats .following_btn,.product .following_btn{background:= url(followin.png) no-repeat scroll 0 0 transparent;} .thumb .following_btn:hover,#gamestats .following_btn:hover,.product .fo= llowing_btn:hover{background-position:0 -34px;}.thumb .follower_btn a,.t= humb .following_btn a,#gamestats .follower_btn a,#gamestats .following_b= tn a,#gamestats .follow a,.thumb .follow a,.product .follower_btn a,.pro= duct .following_btn a,.product .follower_btn a,.product .follow a{displa= y:inline;font:bold 18px arial,helvetica,sans-serif;line-height:32px;whit= e-space:nowrap;}.alt #content #side .thumb .follower_btn a,.thumb .follo= wer_btn a,#gamestats .follower_btn a,#gamestats .follow a,.thumb .follow= a,.module .product .follower_btn a,.product .follow a{color:#FFF;} .alt #content #side .thumb .following_btn a,.thumb .following_btn a,#gam= estats .following_btn a,.product .following_btn a{color:#F65100;}.alt #c= ontent #side .thumb .following_btn a:hover,.alt #content #side .thumb .f= ollower_btn a:hover,.thumb .follower_btn a:hover,.thumb .following_btn a= :hover,#gamestats .follower_btn a:hover,#gamestats .following_btn a:hove= r,#gamestats .follow a:hover,.thumb .follow a:hover,.product .following_= btn a:hover,.product .follower_btn a:hover,.product .follow a:hover{text= -decoration:none;} #side #mostpopular .first .wrap .follower_btn{float:left;background:url(= follow00.png) no-repeat 0 0;width:104px;height:32px;text-align:center;}#= side #mostpopular .first .wrap .follower_btn a{color:#FFF;display:inline= ;font:bold 18px arial,helvetica,sans-serif;line-height:32px;white-space:= nowrap;}#side #mostpopular .first .wrap .follower_btn:hover{background-p= osition:0 -32px;}#side #mostpopular .wrap .follower_btn{background:url(f= ollow_s.png) no-repeat 0 0;width:75px;height:25px;text-align:center;floa= t:right;margin:3px;} #side #mostpopular .wrap .follower_btn:hover{background-position:0 -25px= ;}#side #mostpopular .wrap .follower_btn a{color:#FFF;display:inline;fon= t:bold 12px arial,helvetica,sans-serif;line-height:25px;white-space:nowr= ap;}#side #mostpopular .first .wrap .following_btn{float:left;background= :url(followin.png) no-repeat scroll 0 0 transparent;width:104px;height:3= 2px;text-align:center;}#side #mostpopular .first .wrap .following_btn a{= color:#FFF;display:inline;font:bold 18px arial,helvetica,sans-serif;line= -height:32px;white-space:nowrap;} #side #mostpopular .first .wrap .following_btn:hover{background-position= :0 -32px;}#side #mostpopular .wrap .following_btn{background:url(followi= n.png) no-repeat scroll 0 0 transparent;width:75px;height:25px;float:rig= ht;margin:3px;text-align:center;}#side #mostpopular .wrap .following_btn= :hover{background-position:0 -25px;}#side #mostpopular .wrap .following_= btn a{font:bold 12px arial,helvetica,sans-serif;line-height:25px;white-s= pace:nowrap;}.boxshot .follower_btn,.boxshot .following_btn{width:75px;h= eight:26px;margin:3px auto;text-align:center;} .boxshot .follower_btn{background:url(follow_s.png) no-repeat 0 0;}.boxs= hot .follower_btn:hover{background-position:0 -25px;}.boxshot .following= _btn{background:url(followin.png) no-repeat scroll 0 0 transparent;}.box= shot .following_btn:hover{background-position:0 -25px;}.boxshot .followe= r_btn a,.boxshot .following_btn a{display:inline;font:bold 12px arial,he= lvetica,sans-serif bold;line-height:24px;white-space:nowrap;}.boxshot .f= ollower_btn a{color:#FFF!important;} .boxshot .following_btn a{color:#F65100;}.boxshot .follower_btn a:hover,= .boxshot .following_btn a:hover{text-decoration:none;}.thumb .no-user-te= xt,#gamestats .no-user-text{text-align:center;margin:5px auto;}.product = .no-user-text{display:none;}#gamestats .gamespot-fuse{background:url(gam= espot.png) no-repeat;width:120px;height:21px;margin:0 auto;}.thumb .no-u= ser-text{width:105px;}#gamestats .no-user-text{color:#FFF;width:135px;}.= hovercard_module{overflow:visible;z-index:5000;}.has_hovercard{z-index:5= 000;}.hovercard{display:none;visibility:none;position:absolute;top:0;lef= t:0;width:283px;z-index:5900;border:1px solid #111;-moz-border-radius:4p= x;border-radius:4px;color:#fff;font:11px arial,helvetica,sans-serif;}.ho=

vercard_hover,.has_hovercard:hover .hovercard{display:block;visibility:v= isible;-webkit-box-shadow:2px 2px 4px rgba(0,0,0,0.6);-moz-box-shadow:2p= x 2px 4px rgba(0,0,0,0.6);box-shadow:2px 2px 4px rgba(0,0,0,0.6);}.hover= card_wrap{position:relative;} .hovercard .arrow{display:block;position:absolute;top:46px;right:-10px;h= eight:0;width:10px;padding:19px 0 0;overflow:hidden;}.hovercard_title{fo= nt-size:14px;line-height:16px;padding:14px 14px 8px;}.hovercard_title a{= color:#fff;font-weight:normal;}.hovercard_title a:hover .product_platfor= m{text-decoration:none;}.hovercard_summary{width:100%;overflow:hidden;pa= dding:14px 0;}.hovercard .summary_wrap{padding:0 14px 0 112px;}.hovercar= d .summary_main{display:inline;float:left;width:86px;margin:0 12px 0 -98= px;} .hovercard .summary_side{display:inline;float:right;margin:0 0 -13px;wid= th:100%;}.hovercard .product_image img{display:block;height:auto;width:8= 4px;}.hovercard a.product_image{border:1px solid #111;background:#111;di= splay:block;width:84px;overflow:hidden;}.hovercard .product_follow div.f= ollow_product{font:bold 14px/26px arial,helvetica,sans-serif;margin:8px = 0 0;height:28px;overflow:hidden;}.hovercard .not_following_state,.hoverc= ard div.follow_product:hover .follow_state{display:none;visibility:hidde= n;} .hovercard .following_state,.hovercard a.follow_action{display:block;-mo= z-border-radius:4px;border-radius:4px;text-align:center;text-decoration:= none;height:26px;}.hovercard .follow_product a.follow_action{border:1px = solid #af3f00;color:#fff;}.hovercard .follow_product a.follow_action:hov= er{border-color:#bf5b0b;}.hovercard .follow_product .following_state{bor= der:1px solid #d6d6d6;color:#ff5c00;}.hovercard .follow_product a.unfoll= ow_product,.hovercard .follow_product a.unfollow_product:hover{border-co= lor:#000;} .hovercard .product_detail{margin:0 0 13px;}.hovercard ul.product_stats{= width:100%;overflow:hidden;}.hovercard ul.product_stats li.stat{display:= inline;float:left;width:100%;line-height:13px;margin:2px 0 0;}.hovercard= ul.product_stats .data,.hovercard ul.product_stats .data a{font-weight:= bold;}.hovercard .stat_wrap{display:block;padding:0 0 0 15px;}.hovercard= a.score{color:#ff5c00;}.hovercard a.commerce_brand{background:url(hover= car.png) no-repeat 0 0;display:block;height:0;width:80px;margin:0 0 0 2p= x;padding:20px 0 0;overflow:hidden;} .hovercard .commerce_offer{height:28px;overflow:hidden;margin:6px 0 0;}.= hovercard .commerce_offer a{display:inline;float:left;color:#ff5c00;font= :14px/26px arial,helvetica,sans-serif;height:26px;text-align:center;bord= er:1px solid #1c1c1c;-moz-border-radius:4px;border-radius:4px;padding:0 = 8px;text-decoration:none;}.hovercard .commerce_offer .label{color:#ff5c0= 0;}.hovercard .commerce_offer .data{font-weight:bold;margin:0 0 0 8px;co= lor:#fff;}.hovercard .product_deck{line-height:15px;}.hovercard,.hoverca= rd *{background:no-repeat 0 0;} .hovercard{background-color:#323232;background-position:0 -30px;}.hoverc= ard .arrow{background-position:-50px 0;}.hovercard_summary{background-po= sition:-329px -30px;}.hovercard .following_state{background-position:0 -= 60px;background-repeat:repeat;}.hovercard a.follow_action{background-pos= ition:0 0;background-repeat:repeat;}.hovercard a.follow_action:hover{bac= kground-position:0 -30px;}.hovercard a.unfollow_product,.hovercard a.unf= ollow_product:hover{background-position:0 -90px;}.hovercard ul.product_s= tats li.stat{background-position:0 -126px;} .pc .hovercard ul.product_stats li.stat{background-position:0 -176px;}.x= box .hovercard ul.product_stats li.stat{background-position:0 -226px;}.p= laystation .hovercard ul.product_stats li.stat{background-position:0 -27= 6px;}.nintendo .hovercard ul.product_stats li.stat{background-position:0= -326px;}.portable .hovercard ul.product_stats li.stat{background-positi= on:0 -376px;}.hovercard ul.product_stats li.stat,.hovercard .following_s= tate,.hovercard a.follow_action{background-image:url(hovercar.png);} .hovercard a.commerce_brand,.hovercard .commerce_offer a{background-imag=

e:url(hovercar.png);}.hovercard,.hovercard .arrow,.hovercard_summary{bac= kground-image:url(hovercar.png);}body.alt .hovercard,body.alt .hovercard= .arrow,body.alt .hovercard_summary{background-image:url(hovercar.png);}= .hovercard .commerce_offer a{background-position:0 -30px;}body.alt .hove= rcard{background-color:#ededed;border-color:#a8a8a8;color:#444;}body.alt= .hovercard_hover,body.alt .has_hovercard:hover .hovercard{-webkit-box-s= hadow:2px 2px 4px rgba(0,0,0,0.2);-moz-box-shadow:2px 2px 4px rgba(0,0,0= ,0.2);box-shadow:2px 2px 4px rgba(0,0,0,0.2);} body.alt .hovercard_title a{color:#444;}body.alt .hovercard a.commerce_b= rand{background-position:-90px 0;}body.alt .hovercard .commerce_offer a{= background-position:0 -60px;}body.alt .hovercard .commerce_offer .data{c= olor:#585858;}div.community_useracts ul.useract_toolbar{height:1%;overfl= ow:hidden;}div.community_useracts ul.useract_toolbar a,div.community_use= racts ul.useract_toolbar .label{float:left;}.useract_toolbar .useract_mo= dules .body ul.actions{padding:0;}.useract_toolbar .useract_modules .bod= y ul.actions li{border-width:0;}div.community_useracts ul.useract_toolba= r li.add_game a{padding-left:15px;}div.community_useracts ul.useract_too= lbar li.ask_question a{padding-left:15px;}div.community_useracts ul.user= act_toolbar li.comment a{padding-left:18px;} div.community_useracts ul.useract_toolbar li.digg a{padding-left:21px;}d= iv.community_useracts ul.useract_toolbar li.discuss_game a{padding-left:= 20px;}div.video_useract_toolbar ul.useract_toolbar li.download_video a{p= adding-left:15px;}div.community_useracts ul.useract_toolbar li.email a,d= iv.community_useracts ul.useract_toolbar li.email_blog a,div.community_u= seracts ul.useract_toolbar li.email_story a,div.community_useracts ul.us= eract_toolbar li.email_user_image a,div.video_useract_toolbar ul.useract= _toolbar li.email_video a{padding-left:20px;} div.community_useracts ul.useract_toolbar li.embed_video a,div.video_use= ract_toolbar ul.useract_toolbar li.embed_video a{padding-left:21px;}div.= community_useracts ul.useract_toolbar li.facebook a{padding-left:19px;}d= iv.community_useracts ul.useract_toolbar li.twitter a{padding-left:19px;= }div.video_useract_toolbar ul.useract_toolbar li.hd_video a{padding-left= :26px;}div.community_useracts ul.useract_toolbar li.print_blog a,div.com= munity_useracts ul.useract_toolbar li.print_story a,div.community_userac= ts ul.useract_toolbar li.print_user_image a{padding-left:17px;} div.community_useracts ul.useract_toolbar li.report_user_image a{padding= -left:19px;}div.community_useracts ul.useract_toolbar li.report_user_vid= eo a,div.video_useract_toolbar ul.useract_toolbar li.report_user_video a= {padding-left:19px;}div.community_useracts ul.useract_toolbar li.review = a{padding-left:17px;}div.video_useract_toolbar ul.useract_toolbar li.sd_= video a{padding-left:26px;}div.community_useracts ul.useract_toolbar li.= share_user_image a{padding-left:25px;}div.community_useracts ul.useract_= toolbar li.share_video a,div.video_useract_toolbar ul.useract_toolbar li= .share_video a{padding-left:24px;} div.community_useracts ul.useract_toolbar li.tag_blog a,div.community_us= eracts ul.useract_toolbar li.tag_game a,div.community_useracts ul.userac= t_toolbar li.tag_story a,div.community_useracts ul.useract_toolbar li.ta= g_user_image a,div.community_useracts ul.useract_toolbar li.tag_video a,= div.video_useract_toolbar ul.useract_toolbar li.tag_video a{padding-left= :16px;}div.community_useracts ul.useract_toolbar li.tweet a{padding-left= :19px;}div.video_useract_toolbar ul.useract_toolbar li.subscribe_video a= {padding-left:19px;} div.community_useracts ul.useract_toolbar li.thumb_up a{height:0;padding= :26px 0 0;width:16px;overflow:hidden;}div.community_useracts ul.useract_= toolbar li.thumb_down a{height:0;padding:26px 0 0;width:16px;overflow:hi= dden;}div.community_useracts ul.useract_toolbar li.thumbs_video_last{flo= at:right;}div.community_useracts ul.useract_toolbar li.reddit a{padding-= left:22px;}div.community_useracts ul.useract_toolbar li.yahoo a{padding-= left:22px;}div.community_useracts ul.useract_toolbar li.delicious a{padd= ing-left:20px;}

div.community_useracts ul.useract_toolbar ul.sub_actions{float:left;marg= in:0;}div.community_useracts ul.useract_toolbar ul.sub_actions li{paddin= g:0 0 0 5px;float:left;}#site_layout div.community_useracts{margin:10px = 0 0;padding:0;}#site_layout div.community_useracts ul.useract_toolbar li= .action{font:9px tahoma,geneva,sans-serif;float:left;line-height:26px;he= ight:26px;margin:0 0 0 4px;padding:0 0 0 5px;white-space:nowrap;}#site_l= ayout div.community_useracts ul.useract_toolbar li.action ul.sub_actions= li{padding:0 0 0 5px;} #site_layout div.community_useracts ul.useract_toolbar li.action ul.sub_= actions li{border:0;}#site_layout div.community_useracts ul.useract_tool= bar li.action ul.sub_actions li.twitter{padding-left:5px;margin-left:-5p= x;}#site_layout div.community_useracts ul.useract_toolbar li.thumbs_vide= o_last{float:right;margin:0;padding:0 5px 0 0;}#site_layout div.communit= y_useracts ul.useract_toolbar li.right{float:right;}#site_layout .commun= ity_useracts .useract_actions{margin:0;padding:0 0 0 5px;height:26px;} #site_layout div.community_useracts div.useract_actions li.first{margin-= left:0;padding-left:2px;}#site_layout div.community_useracts ul.useract_= toolbar{height:26px;overflow:visible;margin:0;padding:0;width:100%;}#sit= e_layout div.community_useracts .useract_modules ul.useract_toolbar{heig= ht:auto;}#side div.community_useracts .useract_actions,#side div.communi= ty_useracts .useract_actions ul.useract_toolbar,#site_layout div.communi= ty_useract_opened .useract_actions,#site_layout div.community_useract_op= ened .useract_actions ul.useract_toolbar{height:29px;} #side div.community_useracts .useract_actions ul.useract_toolbar li.acti= on{margin-top:1px;}.community_useracts div.useract_modules,.community_us= eracts div.useract_modules .body,.community_useracts div.useract_modules= .module,.community_useracts div.useract_modules .module .wrap,.communit= y_useracts div.useract_modules .ua_wrap{margin:0;padding:0;}#site_layout= #content div.community_useract_opened .useract_modules{padding:0;overfl= ow:hidden;}#site_layout #content div.community_useract_opened .ua_wrap{m= argin:0;padding:0 0 0 15px;} #site_layout #content div.community_useract_opened div.ua_wrap .ua_wrap{= padding:0 5px 0 0;}#site_layout #content div.community_useract_opened di= v.ua_wrap .ua_wrap .ua_wrap{padding:10px 10px 15px 0;}#site_layout #cont= ent .community_useracts .useract_toolbar.js_on .useract_modules .module{= display:none;}.posted_comments div.community_useracts ul.useract_toolbar= {margin-bottom:5px;}div.community_useracts ul.useract_toolbar li.thumbs_= video_last ul.sub_actions li{float:left;}#site_layout div.video_useract_= toolbar div.useract_actions ul.useract_toolbar li.action{line-height:26p= x;height:26px;} #site_layout div.video_useract_toolbar .useract_actions,#site_layout div= .video_useract_toolbar .useract_actions ul.useract_toolbar{height:51px;}= #site_layout div.video_useract_toolbar{padding:0;margin-top:10px;}#site_= layout div.video_useract_toolbar div.useract_actions{padding-right:13px;= border-width:1px;border-style:solid;}#site_layout div.video_useract_tool= bar div.useract_actions ul.useract_toolbar li{padding:13px 19px;height:2= 5px;border-right:1px solid #000;margin:0;}#site_layout div.video_useract= _toolbar div.useract_actions ul.useract_toolbar li a{font-weight:normal;= font-size:11px;display:block;} #site_layout div.video_useract_toolbar div.useract_actions ul.useract_to= olbar li.right{float:right;border:0;margin:0 0 0 7px;padding:13px 0 0 0;= }#site_layout div.video_useract_toolbar div.useract_actions ul.useract_t= oolbar li ul.sub_actions li{border:0;float:left;padding:0 0 0 5px;}#site= _layout div.video_useract_toolbar div.useract_actions ul.useract_toolbar= .label{display:none;}#site_layout ul.sub_actions li.right{float:right;}= #site_layout div.video_useract_toolbar ul.useract_toolbar li.digg a,#sit= e_layout div.video_useract_toolbar ul.useract_toolbar li.facebook a,#sit= e_layout div.video_useract_toolbar ul.useract_toolbar li.twitter a{width= :23px;display:block;height:0;overflow:hidden;padding:24px 0 0 0;} #site_layout div.video_useract_toolbar .useract_modules .module{padding:=

0;margin:0;}ul.useract_toolbar{height:1%;overflow:hidden;}.useract_toolb= ar .useract_modules .body ul.actions{padding:0;}.useract_toolbar .userac= t_modules .body ul.actions li{border-width:0;}.useract_toolbar div.usera= ct_actions ul.useract_toolbar li a{padding-left:0;padding-right:6px;text= -align:center;border:0;display:inline;}.useract_toolbar div.useract_acti= ons ul.useract_toolbar li.action ul.sub_actions li a{width:28px;display:= block;height:0;overflow:hidden;padding:28px 0 0 0;} .useract_toolbar div.useract_actions ul.useract_toolbar li ul.sub_action= s li{border:0;padding-left:5px;}ul.useract_toolbar ul.sub_actions{float:= left;margin-top:1px;}ul.useract_toolbar ul.sub_actions li{padding-left:5= px;float:right;}#site_layout div.useract_toolbar{margin-top:10px;padding= :0;}#site_layout div.useract_toolbar ul.useract_toolbar{height:30px;over= flow:visible;}#site_layout .useract_toolbar div.useract_actions{height:3= 0px;}.useract_toolbar .has_follow{margin-left:107px;}#site_layout ul.use= ract_toolbar li.action{font:9px tahoma,geneva,sans-serif;line-height:30p= x;height:30px;margin:0 0 0 4px;padding:0 0 0 5px;white-space:nowrap;disp= lay:inline;float:left;} #site_layout ul.useract_toolbar li.social_media{float:right;}#site_layou= t ul.useract_toolbar li.thumbs_video_last{float:right;margin:0;padding:0= 5px 0 0;}#site_layout ul.useract_toolbar li.right{float:right;}#site_la= yout div.useract_toolbar .useract_actions{height:30px;padding-bottom:10p= x;}#site_layout div.useract_toolbar .useract_actions li.first{margin-lef= t:0;padding-left:5px;}#site_layout div.useract_toolbar .useract_actions = li.add_game{margin:0 0 0 -108px;position:relative;width:100px;border:0;t= ext-align:center;} #site_layout div.useract_toolbar .useract_actions li.add_game a{height:3= 0px;padding:2px 10px 8px 23px;font:12px arial,helvetica,sans-serif bold;= font-weight:bold;line-height:28px;}#site_layout div.useract_toolbar .use= ract_actions li.last{float:right;width:100px;margin:0;position:relative;= border:0;}#site_layout div.useract_toolbar ul.useract_toolbar{height:30p= x;overflow:visible;margin:0;padding:0;width:100%;}#site_layout div.usera= ct_modules ul.useract_toolbar{height:auto;}#site_layout div.useract_modu= les,#site_layout #content div.community_useracts .useract_modules .body,= #site_layout #content div.community_useracts .useract_modules .module,#s= ite_layout #content div.community_useracts .useract_modules .module .wra= p{margin:0;padding:0;} #site_layout #content div.useract_toolbar .useract_modules .body,#site_l= ayout #content div.useract_toolbar .useract_modules .module,#site_layout= #content div.useract_toolbar .useract_modules .module .wrap{padding:0;}= #site_layout #content div.useract_opened .useract_modules{overflow:hidde= n;}#site_layout #content div.useract_opened .ua_wrap{margin:0;padding:0 = 0 0 15px;}#site_layout #content div.useract_opened div.ua_wrap .ua_wrap{= padding:0;}#site_layout #content div.useract_opened div.ua_wrap .ua_wrap= .ua_wrap{padding:10px 10px 15px 0;} #site_layout #content div.useract_toolbar.js_on .useract_modules .module= {display:none;}div.useract_toolbar .embed_video p,div.community_useracts= .embed_video p{margin:0;}div.useract_toolbar .embed_video p.msg,div.com= munity_useracts .embed_video p.msg{font-size:10px;}div.useract_toolbar .= embed_video .actions,div.community_useracts .embed_video .actions{font-s= ize:11px;margin:8px 0 0;text-align:right;}div.useract_toolbar ul.embed_c= ode,div.community_useracts ul.embed_code{font-size:10px;width:100%;overf= low:hidden;} div.useract_toolbar ul.embed_code li,div.community_useracts ul.embed_cod= e li{float:left;width:100%;}div.useract_toolbar ul.embed_code li p,div.c= ommunity_useracts ul.embed_code li p{padding:8px 3px 0 63px;}div.useract= _toolbar ul.embed_code li .label,div.community_useracts ul.embed_code li= .label{float:left;font-weight:bold;margin:3px 8px 0 -63px;width:52px;te= xt-align:right;}div.useract_toolbar ul.embed_code li .code,div.community= _useracts ul.embed_code li .code{border-width:1px;float:left;margin:0 -3= px;padding:2px;width:100%;}

div.useract_toolbar ul.embed_code li .code input,div.community_useracts = ul.embed_code li .code input{float:left;font-size:11px;border-width:0;wi= dth:99%;}div.community_useracts .download_panel{margin:0;}div.community_= useracts .download_panel .age_gate input,div.community_useracts .downloa= d_panel .age_gate select{border-width:1px;margin:0 2px 0 3px;}#video_sum= mary div.community_useract_opened ul.watch{margin-bottom:10px;}#video_su= mmary div.community_useracts .download_panel{padding:0;}#video_summary d= iv.community_useracts .download_panel .head ul.more{font-size:11px;heigh= t:30px;line-height:30px;padding:0;} #video_summary div.community_useracts .download_panel .body{padding:7px = 13px 13px;}#content #video_summary div.community_useracts .download_pane= l .head{height:33px;padding:0 10px;}#content #video_summary div.communit= y_useracts .download_panel .head h2{font-size:12px;height:30px;line-heig= ht:30px;}#site_layout div.community_useracts .useract_share ul.share_act= ions{height:18px;}#site_layout div.community_useracts .useract_share ul.= share_actions li.action{line-height:18px;height:18px;border-width:0;} #site_layout div.community_useracts .useract_share ul.share_actions li.f= irst{margin-left:0;}#site_layout div.community_useracts .useract_share u= l.share_actions li.action a{line-height:18px;}.useract_share .share_acti= ons li.last{padding-right:0;}.useract_share .share_actions li.last a{pad= ding:0;}#site_layout div.community_useracts .tag_form .wrap,#site_layout= .useract_toolbar .tag_form .wrap{height:auto;}#site_layout div.video_us= eract_toolbar .actions,#site_layout div.video_useract_toolbar .cancel{fo= nt-size:11px;margin:12px 0 0;text-align:right;} div.video_useract_toolbar .embed_video p{margin:0;}div.video_useract_too= lbar .embed_video .actions{font-size:11px;margin:8px 0 0;text-align:righ= t;}div.video_useract_toolbar ul.embed_code{width:100%;overflow:hidden;}d= iv.video_useract_toolbar ul.embed_code li{float:left;width:100%;}div.vid= eo_useract_toolbar ul.embed_code li p{padding:8px 3px 0 78px;}div.video_= useract_toolbar ul.embed_code li .label{float:left;font-weight:bold;marg= in:3px 8px 0 -78px;width:70px;text-align:right;font-size:11px;}div.video= _useract_toolbar ul.embed_code li .code{border-width:0;float:left;margin= :0 -3px;padding:2px;width:100%;} div.video_useract_toolbar ul.embed_code li .code input{float:left;font-s= ize:11px;border-width:0;width:99%;}div.video_useract_toolbar .download_v= ideo{padding:0 5px 5px;}div.video_useract_toolbar .download_video .head{= border-width:0;}div.video_useract_toolbar .download_video .head .wrap{he= ight:auto;padding:0;width:100%;overflow:hidden;}div.video_useract_toolba= r .download_video .head ul.more li{font-size:11px;}div.video_useract_too= lbar .download_video .body form select{border-width:1px;border-style:sol= id;margin-right:5px;} div.video_useract_toolbar .download_video .body dl{overflow:hidden;width= :70%;font-size:13px;font-weight:bold;}div.video_useract_toolbar .downloa= d_video .body dt{border-width:0 0 1px 0;clear:both;display:inline;float:= left;padding:5px 0;width:44%;}div.video_useract_toolbar .download_video = .body dd{border-width:0 0 1px 0;float:left;padding:5px 0;width:25%;}div.= video_useract_toolbar .download_video .body dd.size{font-weight:normal;}= div.video_useract_toolbar .download_video .body dd.download{text-align:r= ight;} div.video_useract_toolbar .download_video .body ul{margin:7px 0 0 0;padd= ing:0;}div.video_useract_toolbar .download_video .body ul li{background:= none;padding:7px 0;border:0;}.video_useract_toolbar .tag_form fieldset p= {margin-bottom:10px;}.video_useract_toolbar .tag_form fieldset label{fon= t-size:12px;}.video_useract_toolbar .tag_form fieldset .field_wrap{overf= low:hidden;height:1%;padding-right:73px;overflow:hidden;}.video_useract_= toolbar .tag_form fieldset .tag_field{background:#fff;float:left;width:1= 00%;margin:0;display:inline;border:0;padding:0;height:18px;overflow:hidd= en;} .video_useract_toolbar .tag_form fieldset .tag_field input{float:left;fo= nt-size:11px;width:99%;margin:0;padding:0;border:0;}.video_useract_toolb=

ar .tag_form fieldset .form_btns{float:right;margin-right:-73px;display:= inline;width:73px;}.video_useract_toolbar .tag_form fieldset textarea{ba= ckground:#fff;font-size:11px;overflow:auto;padding:0;}.video_useract_too= lbar .tag_form form.tag_form span.submit{border-color:#fff;background:#2= f2f2f;border-style:solid;border-width:1px 1px 1px 0;float:left;width:70p= x;height:16px;margin:0;margin-left:-1px;padding:0;overflow:hidden;} .video_useract_toolbar .tag_form form.tag_form input.submit{color:#FE860= 0;font-size:11px;background:none;border:0;font-weight:bold;padding:0;mar= gin:0;width:70px;margin-top:-1px;cursor:pointer;}div.video_useract_toolb= ar .download_video .head{background:none;}div.video_useract_toolbar .dow= nload_video .head .more a{color:#FF7800;}div.video_useract_toolbar .down= load_video dd{color:#C2C2C2;}div.video_useract_toolbar .download_video .= body dt,div.video_useract_toolbar .download_video .body dd{border-color:= #333;} div.community_useracts .useract_actions,div.community_useracts .useract_= actions ul.useract_toolbar,div.community_useracts .useract_modules,div.c= ommunity_useracts .useract_modules .ua_wrap{background:url(useract_.gif)= no-repeat 0 0;}div.community_useracts .useract_actions ul.useract_toolb= ar{background-position:right 0;}#side div.community_useracts .useract_ac= tions{background-position:0 -26px;}#side div.community_useracts .useract= _actions ul.useract_toolbar{background-position:right -26px;} #site_layout div.community_useract_opened .useract_actions{background-po= sition:0 -55px;}#site_layout div.community_useract_opened ul.useract_too= lbar{background-position:right -55px;}#site_layout div.community_useract= s a.cancel{color:#ff7400;}div.community_useracts .useract_modules{backgr= ound-position:0 bottom;}div.community_useracts .useract_modules .ua_wrap= {background-position:5px -100px;}div.community_useracts .useract_modules= .ua_wrap .ua_wrap{background-position:right bottom;}div.community_usera= cts .useract_modules .ua_wrap .ua_wrap .ua_wrap{background-position:righ= t -100px;} div.community_useracts ul.useract_toolbar{color:#adadad;}div.video_usera= ct_toolbar ul.useract_toolbar li.action a,div.community_useracts ul.user= act_toolbar li.action,div.community_useracts ul.useract_toolbar li.actio= n a{background:url(useract_.gif) no-repeat 0 0;border:0;}#site_layout .c= ommunity_useracts ul.useract_toolbar li.thumbs_video_last,#site_layout .= community_useracts ul.useract_toolbar li.first,#site_layout .community_u= seracts ul.useract_toolbar li.cancel a{background:none;} div.community_useracts ul.useract_toolbar li.add_game a{background-posit= ion:0 -26px;}div.community_useracts ul.useract_toolbar li.ask_question a= {background-position:0 -52px;}div.community_useracts ul.useract_toolbar = li.comment a{background-position:0 -52px;}div.community_useracts ul.user= act_toolbar li.digg a{background-position:0 -78px;}div.community_useract= s ul.useract_toolbar li.discuss_game a{background-position:0 -104px;}div= .community_useracts ul.useract_toolbar li.email_blog a,div.community_use= racts ul.useract_toolbar li.email_story a,div.community_useracts ul.user= act_toolbar li.email_user_image a{background-position:0 -130px;} div.community_useracts ul.useract_toolbar li.facebook a{background-posit= ion:0 -182px;}div.community_useracts ul.useract_toolbar li.print_blog a,= div.community_useracts ul.useract_toolbar li.print_story a,div.community= _useracts ul.useract_toolbar li.print_user_image a{background-position:0= -208px;}div.community_useracts ul.useract_toolbar li.report_user_image = a,div.community_useracts ul.useract_toolbar li.review a{background-posit= ion:0 -392px;}div.community_useracts ul.useract_toolbar li.share_user_im= age a{background-position:0 -260px;} div.community_useracts ul.useract_toolbar li.tag_blog a,div.community_us= eracts ul.useract_toolbar li.tag_game a,div.community_useracts ul.userac= t_toolbar li.tag_story a,div.community_useracts ul.useract_toolbar li.ta= g_user_image a{background-position:0 -312px;}div.community_useracts ul.u= seract_toolbar li.thumb_up a{background-position:0 -338px;}div.community= _useracts ul.useract_toolbar li.thumb_down a{background-position:0 -364p=

x;}div.community_useracts ul.useract_toolbar li.tweet a{background-posit= ion:0 -636px;} div.community_useracts ul.useract_toolbar li.reddit a{background-positio= n:0 -475px;}div.community_useracts ul.useract_toolbar li.yahoo a{backgro= und-position:0 -448px;}div.community_useracts ul.useract_toolbar li.deli= cious a{background-position:0 -421px;}div.community_useracts ul.useract_= toolbar li.disabled a{color:#777;text-decoration:none;}div.community_use= racts ul.useract_toolbar .sub_actions li{background:none;}div.video_user= act_toolbar{background:#000;}div.video_useract_toolbar .useract_actions,= div.video_useract_toolbar ul.useract_toolbar,div.video_useract_toolbar d= iv.useract_modules,div.video_useract_toolbar div.useract_modules .ua_wra= p,div.video_useract_toolbar div.useract_modules .ua_wrap .ua_wrap,div.vi= deo_useract_toolbar div.useract_modules .ua_wrap .ua_wrap .ua_wrap{backg= round:none;} #site_layout div.video_useract_toolbar.useract_opened div.useract_action= s,div.video_useract_toolbar div.useract_actions{background:#1d1d1d url(b= g000000.gif) repeat-x 0 0;border-color:#000;}div.video_useract_toolbar d= iv.useract_modules{border-color:#000;}div.video_useract_toolbar .useract= _actions li.action.social_media li a{background:url(social_m.gif) no-rep= eat 0 0;}div.video_useract_toolbar .useract_actions li.action li.digg a,= div.video_useract_toolbar .useract_actions li.action li.digg_last a{back= ground-position:0 3px;} div.video_useract_toolbar .useract_actions li.action li.facebook a{backg= round-position:0 -57px;}div.video_useract_toolbar .useract_actions li.ac= tion li.twitter a{background-position:0 -117px;}div.video_useract_toolba= r ul.useract_toolbar li.download_video a{background-position:0 -554px;}d= iv.video_useract_toolbar ul.useract_toolbar li.email_video a{background-= position:0 -130px;}div.community_useracts ul.useract_toolbar li.embed_vi= deo a,div.video_useract_toolbar ul.useract_toolbar li.embed_video a{back= ground-position:0 -156px;} div.video_useract_toolbar ul.useract_toolbar li.hd_video a{background-po= sition:0 -527px;}div.community_useracts ul.useract_toolbar li.report_use= r_video a,div.video_useract_toolbar ul.useract_toolbar li.report_user_vi= deo a{background-position:0 -234px;}div.video_useract_toolbar ul.useract= _toolbar li.sd_video a{background-position:0 -582px;}div.community_usera= cts ul.useract_toolbar li.share_video a,div.video_useract_toolbar ul.use= ract_toolbar li.share_video a{background-position:0 -286px;}div.video_us= eract_toolbar ul.useract_toolbar li.subscribe_video a{background-positio= n:-300px -611px;} div.community_useracts ul.useract_toolbar li.tag_video a,div.video_usera= ct_toolbar ul.useract_toolbar li.tag_video a{background-position:0 -312p= x;}#site_layout div.video_useract_toolbar ul.useract_toolbar li.on_tab{b= ackground:#000;}div.useract_toolbar .useract_actions ul.useract_toolbar,= div.has_follow ul.useract_toolbar{background:url(useract_.gif) no-repeat= right 0;}div.useract_toolbar ul.useract_toolbar li{border-right:1px sol= id #1e1e1e;}div.useract_toolbar ul.useract_toolbar{border-left:1px solid= #1e1e1e;} #side div.useract_actions{background-position:0 -26px;}#site_layout div.= useract_toolbar a.cancel{color:#ff7400;}.useract_toolbar div.useract_mod= ules{background:url(useract_.gif) 0 bottom;}.useract_toolbar div.useract= _modules .ua_wrap{background:url(useract_.gif) 0 -95px;}.useract_toolbar= div.useract_modules .ua_wrap .ua_wrap{background:url(useract_.gif) righ= t bottom;}.useract_toolbar div.useract_modules .ua_wrap .ua_wrap .ua_wra= p{background:url(useract_.gif) right -95px;} ul.useract_toolbar{color:#adadad;}#site_layout ul.useract_toolbar li.thu= mbs_video_last,#site_layout ul.useract_toolbar li.first,#site_layout ul.= useract_toolbar li.cancel a{background:none;}#site_layout ul.useract_too= lbar li.add_game{background:url(follow_b.gif) no-repeat 0 0;}div.useract= _toolbar .useract_actions li.social_media a{background:url(socialic.gif)= no-repeat 0 0;}div.useract_toolbar .useract_actions li.social_media li.=

digg a{background-position:0 0;} div.useract_toolbar .useract_actions li.social_media li.facebook a{backg= round-position:-33px 0;}div.useract_toolbar .useract_actions li.social_m= edia li.twitter a{background-position:-66px 0;}#site_layout ul.useract_t= oolbar li.add_game a{color:#fff;background:url(follow_b.gif);background-= position:100px -107px;}ul.useract_toolbar li.disabled a{color:#777;text-= decoration:none;}ul.useract_toolbar .sub_actions li{background:none;}div= .community_useracts .useract_share .share_actions li.digg a{background-p= osition:left -82px;} div.community_useracts .useract_share .share_actions li.email a{backgrou= nd-position:left -134px;}div.community_useracts .useract_share .share_ac= tions li.facebook a{background-position:left -186px;}#site_layout .usera= ct_share ul.share_actions li.action{background-position:left -3px;}#vide= o_summary .community_useracts .useract_toolbar .download_panel .body,#co= ntent #video_summary .community_useracts .useract_toolbar .download_pane= l .head{background:url(useract_.gif) no-repeat 0 0;} #video_summary .community_useracts .useract_toolbar .download_panel .bod= y{background-position:0 bottom;}div.community_useracts ul.embed_code li = .code,div.useract_toolbar ul.embed_code li .code{background:#fff;border-= color:#fff;}div.community_useracts ul.embed_code li input,div.useract_to= olbar ul.embed_code li input{background:none;}#video_summary .useract_to= olbar .download_panel .body,#content #video_summary .useract_toolbar .do= wnload_panel .head{background:url(useract_.gif) no-repeat 0 0;} #video_summary .useract_toolbar .download_panel .body{background-positio= n:0 bottom;}.useract_modules .tag_form .tag_field{background:#fff;border= -color:#fff;}.useract_modules .tag_form p{color:#CCC;}body.alt div.commu= nity_useracts .useract_actions,body.alt div.community_useracts .useract_= actions ul.useract_toolbar,body.alt div.community_useracts .useract_modu= les,body.alt div.community_useracts .useract_modules .ua_wrap{background= -image:url(useract_.gif);border:0;}body.alt div.community_useracts ul.us= eract_toolbar{color:#404040;} body.alt #site_layout div.community_useracts a.cancel{color:#bb4b00;}bod= y.alt div.community_useracts ul.useract_toolbar li.action{background:url= (useract_.gif) no-repeat 0 0;}body.alt div.community_useracts ul.useract= _toolbar li.first{background:none;}body.alt div.community_useracts ul.us= eract_toolbar li.social_media{background:none;margin:0;padding:0;}body.a= lt div.community_useracts ul.useract_toolbar li.add_game a{background-po= sition:-300px -26px;}body.alt div.community_useracts ul.useract_toolbar = li.ask_question a{background-position:-300px -52px;} body.alt div.community_useracts ul.useract_toolbar li.comment a{backgrou= nd-position:-300px -52px;}body.alt div.community_useracts ul.useract_too= lbar li.digg{background:url(useract_.gif) no-repeat 0 0;}body.alt div.co= mmunity_useracts ul.useract_toolbar li.digg a{background-position:-300px= -78px;}body.alt div.community_useracts ul.useract_toolbar li.discuss_ga= me a{background-position:-300px -104px;}body.alt div.community_useracts = ul.useract_toolbar li.email a,body.alt div.community_useracts ul.useract= _toolbar li.email_blog a,body.alt div.community_useracts ul.useract_tool= bar li.email_story a,body.alt div.community_useracts ul.useract_toolbar = li.email_user_image a{background-position:-300px -130px;} body.alt div.community_useracts ul.useract_toolbar li.facebook{backgroun= d:url(useract_.gif) no-repeat 0 0;}body.alt div.community_useracts ul.us= eract_toolbar li.facebook a{background-position:-300px -182px;}body.alt = div.community_useracts ul.useract_toolbar li.action ul.sub_actions li.tw= itter{background:url(useract_.gif) no-repeat 0 0;}body.alt div.community= _useracts ul.useract_toolbar li.action ul.sub_actions li.twitter a{backg= round-position:0 -636px;} body.alt div.community_useracts ul.useract_toolbar li.print_blog a,body.= alt div.community_useracts ul.useract_toolbar li.print_story a,body.alt = div.community_useracts ul.useract_toolbar li.print_user_image a{backgrou= nd-position:-300px -208px;}body.alt div.community_useracts ul.useract_to=

olbar li.report_user_image a{background-position:-300px -234px;}body.alt= div.community_useracts ul.useract_toolbar li.review a{background-positi= on:-300px -392px;}body.alt div.community_useracts ul.useract_toolbar li.= share_user_image a{background-position:-300px -260px;} body.alt div.community_useracts ul.useract_toolbar li.tag_blog a,body.al= t div.community_useracts ul.useract_toolbar li.tag_game a,body.alt div.c= ommunity_useracts ul.useract_toolbar li.tag_story a,body.alt div.communi= ty_useracts ul.useract_toolbar li.tag_user_image a{background-position:-= 300px -312px;}body.alt div.community_useracts ul.useract_toolbar li.twee= t a{background-position:0 -636px;}body.alt div.community_useracts ul.use= ract_toolbar li.thumb_up a{background-position:-300px -338px;}body.alt d= iv.community_useracts ul.useract_toolbar li.thumb_down a{background-posi= tion:-300px -364px;} body.alt div.community_useracts ul.useract_toolbar li.reddit a{backgroun= d-position:0 -475px;}body.alt div.community_useracts ul.useract_toolbar = li.yahoo a{background-position:0 -448px;}body.alt div.community_useracts= ul.useract_toolbar li.delicious a{background-position:0 -421px;}body.al= t div.community_useracts ul.useract_toolbar li.disabled a{color:#777;tex= t-decoration:none;}body.alt div.video_useract_toolbar{background:#E2E2E2= ;}body.alt div.video_useract_toolbar .useract_actions,body.alt div.video= _useract_toolbar ul.useract_toolbar,body.alt div.video_useract_toolbar d= iv.useract_modules,body.alt div.video_useract_toolbar div.useract_module= s .ua_wrap,body.alt div.video_useract_toolbar div.useract_modules .ua_wr= ap .ua_wrap,body.alt div.video_useract_toolbar div.useract_modules .ua_w= rap .ua_wrap .ua_wrap{background:none;} body.alt #site_layout div.video_useract_toolbar.useract_opened div.usera= ct_actions,body.alt div.video_useract_toolbar div.useract_actions{backgr= ound:#fff url(bg_alt00.gif) repeat-x 0 0;}body.alt div.video_useract_too= lbar div.useract_modules,body.alt #site_layout div.video_useract_toolbar= div.useract_actions,body.alt #site_layout div.video_useract_toolbar div= .useract_actions ul.useract_toolbar li{border-color:#838383;}body.alt #s= ite_layout div.video_useract_toolbar div.useract_actions ul.useract_tool= bar li.on_tab{background:#e2e2e2;} body.alt #site_layout div.video_useract_toolbar .useract_actions li.acti= on.social_media li a{background:url(social_m.gif) no-repeat 0 0;}body.al= t #site_layout div.video_useract_toolbar .useract_actions li.action li.d= igg a{background-position:-298px 3px;}body.alt #site_layout div.video_us= eract_toolbar .useract_actions li.action li.facebook a{background-positi= on:-298px -58px;}body.alt #site_layout div.video_useract_toolbar .userac= t_actions li.action li.twitter a{background-position:0 -117px;} body.alt ul.useract_toolbar li.download_video a{background-position:-300= px -554px;}body.alt ul.useract_toolbar li.email_video a{background-posit= ion:-300px -130px;}body.alt ul.useract_toolbar li.embed_video a{backgrou= nd-position:-300px -156px;}body.alt ul.useract_toolbar li.hd_video a{bac= kground-position:-300px -527px;}body.alt ul.useract_toolbar li.report_us= er_video a{background-position:-300px -234px;}body.alt ul.useract_toolba= r li.sd_video a{background-position:-300px -582px;}body.alt ul.useract_t= oolbar li.share_video a{background-position:-300px -286px;} body.alt ul.useract_toolbar li.subscribe_video a{background-position:-30= 0px -611px;}body.alt ul.useract_toolbar li.tag_video a{background-positi= on:-300px -312px;}body.alt div.video_useract_toolbar .download_video .he= ad{background:none;}body.alt div.video_useract_toolbar .download_video .= head .more a{color:#FF7800;}body.alt div.video_useract_toolbar .download= _video dd{color:#333;}body.alt div.video_useract_toolbar .download_video= .body dt,body.alt div.video_useract_toolbar .download_video .body dd{bo= rder-color:#838383;} body.alt div.useract_toolbar .useract_actions ul.useract_toolbar{backgro= und:url(useract_.gif) right 0;}body.alt div.useract_toolbar div.has_foll= ow ul.useract_toolbar{background:url(useract_.gif) right 0;}body.alt div= .useract_toolbar ul.useract_toolbar{color:#404040;}body.alt #site_layout=

div.useract_toolbar a.cancel{color:#bb4b00;}body.alt ul.useract_toolbar= li.disabled a{color:#777;text-decoration:none;}body.alt ul.useract_tool= bar li.action ul.sub_actions li.digg a{background:url(socialic.gif) no-r= epeat 0 0;} body.alt ul.useract_toolbar li.action ul.sub_actions li.facebook a{backg= round:url(socialic.gif) no-repeat -33px 0;}body.alt ul.useract_toolbar l= i.action ul.sub_actions li.twitter a{background:url(socialic.gif) no-rep= eat -66px 0;}body.alt ul.useract_toolbar li{border-right:1px solid #ccc;= }body.alt ul.useract_toolbar{border-left:1px solid #ccc;}body.alt .usera= ct_toolbar div.useract_modules{background:url(useract_.gif) 0 bottom;}bo= dy.alt .useract_toolbar div.useract_modules .ua_wrap{background:url(user= act_.gif) 0 -95px;} body.alt .useract_toolbar div.useract_modules .ua_wrap .ua_wrap{backgrou= nd:url(useract_.gif) right bottom;}body.alt .useract_toolbar div.useract= _modules .ua_wrap .ua_wrap .ua_wrap{background:url(useract_.gif) right -= 95px;}body.alt #video_summary div.community_useracts .download_panel .bo= dy,body.alt #video_summary .useract_toolbar .download_panel .body{backgr= ound:-300px bottom;}body.alt #content #video_summary div.community_usera= cts .download_panel .head,body.alt #content #video_summary .useract_tool= bar .download_panel .head{background:-300px 0;} div.community_useracts ul.embed_code li .code,div.useract_toolbar ul.emb= ed_code li .code{border-color:#999;}body.alt div.community_useracts .use= ract_share .share_actions li.digg a{background-position:-300px -82px;}bo= dy.alt div.community_useracts .useract_share .share_actions li.email a{b= ackground-position:-300px -134px;}body.alt div.community_useracts .usera= ct_share .share_actions li.facebook a{background-position:-300px -186px;= }body.alt div.community_useracts .useract_modules .tag_form .tag_field,b= ody.alt .useract_modules .tag_form .tag_field{border-color:#c4c4c4;} body.alt div.community_useracts .useract_modules .tag_form p,body.alt .u= seract_modules .tag_form p{color:#333;}div.social_share_actions{height:2= 0px;width:100%;margin:10px 0;position:static;}#showcase_layout .social_s= hare_actions{margin-left:5px;}.side_col li.social_share_actions,#side .s= ocial_share_actions{margin-bottom:10px;}ul.social_share_actions .fuse_sh= are_action .fuseShare{display:none;}ul.social_share_actions{display:inli= ne;float:left;margin:0 -7px 0 0;height:20px;position:relative;}li.social= _share_action{display:inline;float:left;margin:0 7px 0 0;line-height:20p= x;height:20px;position:relative;} a.social_share_action{background:url(socialSh.png) no-repeat 0 0;display= :block;height:0;width:55px;padding:20px 0 0;overflow:hidden;}.side_col .= social_share_actions span.fb_edge_comment_widget,#side .social_share_act= ions span.fb_edge_comment_widget,.no_facebook_comments span.fb_edge_comm= ent_widget{display:none;}.social_share_actions .plusone_share_action{mar= gin-right:-6px;}a.facebook_share_action{background-position:0 -40px;widt= h:61px;}a.tweet_share_action:hover{background-position:0 -20px;} a.facebook_share_action:hover{background-position:0 -60px;}body.alt a.fa= cebook_share_action{background-position:0 -80px;}body.alt a.facebook_sha= re_action:hover{background-position:0 -100px;}.js_enabled a.social_share= _action{display:none;}.js_enabled li.facebook_share_action{width:90px;}.= js_enabled li.tweet_share_action{width:110px;}div.twitter_follow_module{= height:20px;overflow:hidden;}div.twitter_follow_module_wrap{float:left;w= idth:100%;position:relative;}a.twitter-follow-button{float:left;visibili= ty:hidden;height:20px;} .social_share{height:25px;}.social_share .social{float:left;height:20px;= }.social_share .twitter_share{padding:0;margin:0;width:115px;height:20px= ;}.social_share .facebook_share{padding-top:0;}.share_hints .social_shar= e,.share_stories .social_share{margin-top:10px;}div.twitter_share{backgr= ound:url(tweet000.png) no-repeat;}.twitter_share .twitter-share-button{d= isplay:block;width:55px;height:20px;padding:0;margin:0;border:none;}.twi= tter-share-button .tweet_link{display:none;}div.video_useract_toolbar ul= .useract_toolbar li.action a.twitter-share-button{background:none;}

div.video_useract_toolbar ul.useract_toolbar li.social_share .social_sha= re{padding-top:4px;}.social_share .fb_share_iframe{float:left;border:non= e;}#gm_deals_mod{margin:10px 0;display:block;}#gm_deals_mod .btm{backgro= und:url(module_b.png) no-repeat 0 bottom;padding-bottom:5px;}#gm_deals_m= od .top{background:url(module_t.png) no-repeat 0 top;padding-top:5px;}#g= m_deals_mod .wrap{width:296px;background-color:#2f2f2f;padding:1px 0 3px= ;border-right:1px solid #010101;border-left:1px solid #010101;}#gm_deals= _mod .head{overflow:hidden;height:1%;padding:0 12px 9px;}#gm_deals_mod .= gm_logo a{float:left;background:url(header_d.png) no-repeat 0 0;width:13= 6px;height:36px;} #gm_deals_mod .glyde_logo{float:right;background:url(logo_dk0.png) no-re= peat 0 0;width:96px;height:20px;margin-top:14px;}#gm_deals_mod .body{wid= th:276px;overflow:hidden;background:url(gm_gradi.png) repeat-x;padding:1= 3px 6px 0 14px;}#gm_deals_mod .product{float:left;padding:20px 0;width:2= 75px;overflow:hidden;}#gm_deals_mod .boxshot{text-align:center;}#gm_deal= s_mod .psp_shrink img{height:142px;}#gm_deals_mod .header{background:url= (featured.png) no-repeat;padding-top:19px;overflow:hidden;display:block;= height:0;font-size:8px;} #gm_deals_mod .art_wrap{float:left;width:100px;height:142px;margin-right= :15px;position:relative;}#gm_deals_mod .percent{background:url(percen00.= png) no-repeat 0 0;width:39px;height:39px;position:absolute;top:-8px;rig= ht:-8px;text-align:center;color:#fff;font-weight:bold;font-size:14px;lin= e-height:37px;}#gm_deals_mod .title{color:#fff;font-size:13px;font-weigh= t:bold;}#gm_deals_mod .og_price{font-size:12px;color:#999;text-decoratio= n:line-through;}#gm_deals_mod .current_price{color:#fff;font-weight:bold= ;margin:2px 0 5px;height:1%;overflow:hidden;font-size:35px;} #gm_deals_mod .current_price .sign{font-size:28px;float:left;letter-spac= ing:1px;}#gm_deals_mod .glyde_buttons{float:left;}#gm_deals_mod .glyde_b= uttons a{background:url(btn00000.png) no-repeat 0 0;color:#fff;height:29= px;padding:6px 0 0;text-align:center;display:block;font-size:13px;width:= 104px;}#gm_deals_mod .lower_games .product{padding:0 5px;width:79px;text= -align:center;}.all #gm_deals_mod .lower_games .boxshot{height:100px;}#g= m_deals_mod .lower_games .boxshot img{width:70px;} #gm_deals_mod .lower_games .psp_shrink img{height:110px;}#gm_deals_mod .= lower_games .boxshot a{text-decoration:none;}#gm_deals_mod .lower_games = .current_price{display:block;font-size:13px;margin-top:0;}#gm_deals_mod = .lower_games .current_price a{color:#fff;}#gm_deals_mod .footer{padding:= 6px 12px 0 0;text-align:right;}#gm_deals_mod .footer_link{font-size:13px= ;text-decoration:none;color:#f05800;}.alt #gm_deals_mod .btm{background:= url(module_b.png) no-repeat 0 bottom;} .alt #gm_deals_mod .top{background:url(module_t.png) no-repeat 0 top;}.a= lt #gm_deals_mod .wrap{background-color:#fff;border-right:1px solid #cdd= 0d5;border-left:1px solid #cdd0d5;}.alt #gm_deals_mod .head{border-botto= m:1px solid #cdd0d5;}.alt #gm_deals_mod .gm_logo a{background:url(header= _l.png) no-repeat 0 0;}.alt #gm_deals_mod .glyde_logo{background:url(log= o0000.png) no-repeat 0 0;}.alt #gm_deals_mod .body{background:url(gm_gra= di.png) repeat-x;} .alt #gm_deals_mod .lower_games .product{background:none;}.alt #gm_deals= _mod .title{color:#333;}.alt #gm_deals_mod .og_price{color:#666;}.alt .a= ll #gm_deals_mod .current_price,.alt .all #gm_deals_mod .lower_games .cu= rrent_price a{color:#333;}.alt .xbox #gm_deals_mod .current_price,.alt .= xbox #gm_deals_mod .lower_games .current_price a{color:#366300;}.alt .pc= #gm_deals_mod .current_price,.alt .pc #gm_deals_mod .lower_games .curre= nt_price a{color:#0A5790;}.alt .nintendo #gm_deals_mod .current_price,.a= lt .nintendo #gm_deals_mod .lower_games .current_price a{color:#006A6D;}= .alt .playstation #gm_deals_mod .current_price,.alt .playstation #gm_dea= ls_mod .lower_games .current_price a{color:#280E77;}.alt #gm_deals_mod #= glyde_loading{color:#999;}.alt #gm_deals_mod #glyde_no_js #retail_msg .p= roduct_title{color:#f60;}#gm_deals_mod .lower_games .boxshot a{position:=

relative;}#gm_deals_mod a .overlay{display:none;}#gm_deals_mod a .overla= y .title{display:block;color:#000;font-size:11px;font-weight:bold;}#gm_d= eals_mod a .overlay .platform{display:block;color:#000;}#gm_deals_mod a:= hover .overlay{display:block;position:absolute;bottom:0;left:0;width:64p= x;background:#fff;filter:alpha(opacity=3D80);opacity:.8;padding:3px 3px = 5px;}.youtube_subscribe_module .body_wrap{float:left;height:97px;width:1= 00%;margin:-1px 0 0;overflow:hidden;}.youtube_subscribe_module .no_modul= e_title .body_wrap{margin:0;}.youtube_subscribe_module .default_module_t= itle .module_title{font-size:13px;}.module .youtube_subscribe_body{width= :100%;overflow:hidden;}.facebook_light{background-color:#FFF;width:300px= ;height:257px;overflow:hidden;}.facebook_light iframe{margin:-2px -4px 0= -4px;}.facebook_dark{background-color:#000;width:300px;height:257px;ove= rflow:hidden;}.facebook_dark iframe{margin:-2px -4px 0 -4px;}#whatsBeing= Said{border:1px solid #000;margin-top:20px;}.alt #whatsBeingSaid{border-= color:#DEDEDE;}#whatsBeingSaid .head{height:1%;overflow:hidden;padding:1= 5px;background-color:#1E1E1E;}#whatsBeingSaid .module_title_wrap{backgro= und-color:transparent;width:100%;}#whatsBeingSaid .head h2{float:left;}#= whatsBeingSaid .head .fuseLogo{display:block;height:0;overflow:hidden;pa= dding-top:45px;width:88px;background:url(fuseLogo.png) 0 0 no-repeat;}#w= hatsBeingSaid .head p{font-size:11px;float:left;width:115px;line-height:= normal;margin:2px 0 0 12px;color:#FFF;} #whatsBeingSaid .head i{float:left;height:0;overflow:hidden;padding-top:= 30px;width:51px;background:url(fuseLogo.png) 0 -45px no-repeat;margin-to= p:8px;}#whatsBeingSaid .head a{color:#FFF;font-weight:normal;}#whatsBein= gSaid .head a:hover{text-decoration:none;}#whatsBeingSaid .body{backgrou= nd-color:#FFF;color:#333;overflow-y:scroll;}#whatsBeingSaid li.entry{bor= der-top:1px solid #D8D8D8;padding:8px;width:265px;float:left;}#whatsBein= gSaid .postContent{overflow:hidden;}#whatsBeingSaid li.first{border-top-= width:0;} #whatsBeingSaid .columnLeft{float:left;}#whatsBeingSaid .entryAvatar{dis= play:block;width:40px;}#whatsBeingSaid blockquote a{color:#FF5C01;}#what= sBeingSaid .gridColumnRight{margin-left:46px;}#whatsBeingSaid .streamBlo= ck{padding:0 25px 0 120px;}#whatsBeingSaid .postInteractions{font-size:1= 0px;margin-top:2px;color:#8D8D8D;}#whatsBeingSaid .postInteractions a{co= lor:#8D8D8D;}#whatsBeingSaid .foot{height:1%;overflow:hidden;padding:5px= ;color:#FFF;background-color:#E2E2E2;}.alt #whatsBeingSaid .foot{backgro= und-color:#F3F3F3;border-top:1px solid #DEDEDE;} #whatsBeingSaid .buttonWrap{-moz-border-radius:5px;-webkit-border-radius= :5px;border-radius:5px;border:1px solid #b95227;background-image:url(btn= Grad0.png);}#whatsBeingSaid .button{padding:7px 0;display:block;text-ali= gn:center;color:#FFF;background-image:-moz-linear-gradient(top,#F47D1F,#= B85126);// FF3.6 background-image:-ms-linear-gradient(top,#F47D1F,#B8512= 6);// IE10 background-image:-o-linear-gradient(top,#F47D1F,#B85126);// O= pera 11.10+background-image:-webkit-gradient(linear,left top,left bottom= ,from(#F47D1F),to(#B85126));// Saf4+,Chrome background-image:-webkit-lin= ear-gradient(#F47D1F,#B85126);// Chrome 10+,Saf5.1+background-image:line= ar-gradient(top,#F47D1F,#B85126);filter:progid:DXImageTransform.Microsof= t.gradient(startColorStr=3D'#F47D1F',EndColorStr=3D'#B85126');// IE6???I= E9;}.js_options_container{z-index:5999;position:relative;}div.js_options= {cursor:default;border:1px solid;border-radius:4px;-moz-border-radius:4p= x;font-size:12px;position:absolute;z-index:5999;top:20px;left:0;width:10= 0%;}.js_options div.selected{height:26px;line-height:26px;margin:0 10px;= padding:0 20px 0 5px;}.js_options div.selected .value{border-right:1px s= olid;margin-right:-1px;float:left;width:100%;}.js_options .toggle{displa= y:inline;float:right;text-align:center;border-left:1px solid;height:100%= ;width:28px;margin:0 -30px 0 1px;} .js_options .toggle .arr{display:block;height:0;width:9px;margin:10px au= to 0;padding:5px 0 0;overflow:hidden;}.js_options .options{display:none;= margin:4px 6px 10px;padding:0 4px 0;}.js_options li{line-height:14px;pad= ding:2px 5px;}.js_options_on select.js_options{visibility:hidden;}.js_op=

tions_open div.selected{border-bottom:1px solid;}.js_options_open div.se= lected .value{border-right-width:0;margin-right:0;}.js_options_open div.= selected .toggle{border-left-width:0;margin-left:2px;}.js_options_open .= options{display:block;} .js_options div.selected{color:#ff5c00;}.js_options .toggle .arr{backgro= und:url(hpSprite.png) no-repeat 1000px;}div.js_options{background:#35353= 5;border-color:#181818;-moz-box-shadow:inset 0 1px 1px rgba(150,150,150,= 0.2);-webkit-box-shadow:inset 0 1px 1px rgba(150,150,150,0.2);box-shadow= :inset 0 1px 1px rgba(150,150,150,0.2);color:#fff;}.js_options div.selec= ted .value{border-color:#181818;}.js_options .toggle{border-color:#48484= 8;}.js_options .toggle .arr{background-position:-40px -460px;} .js_options li.hover{background:#454545;}.js_options_open .js_options{-m= oz-box-shadow:inset 0 1px 1px rgba(150,150,150,0.2),1px 1px 5px rgba(0,0= ,0,0.56);-webkit-box-shadow:inset 0 1px 1px rgba(150,150,150,0.2),1px 1p= x 5px rgba(0,0,0,0.56);box-shadow:inset 0 1px 1px rgba(150,150,150,0.2),= 1px 1px 5px rgba(0,0,0,0.56);}.js_options_open div.selected{border-color= :#454545;}body.alt div.js_options{background:#f2f2f2;border-color:#c6c6c= 6;-moz-box-shadow:inset 0 1px 1px rgba(255,255,255,0.9);-webkit-box-shad= ow:inset 0 1px 1px rgba(255,255,255,0.9);box-shadow:inset 0 1px 1px rgba= (255,255,255,0.9);color:#464646;} body.alt .js_options div.selected .value{border-color:#c0c0c0;}body.alt = .js_options .toggle{border-color:#fff;}body.alt .js_options .toggle .arr= {background-position:-50px -460px;}body.alt .js_options li.hover{backgro= und:#424242;color:#fff;}body.alt .js_options_open .js_options{-moz-box-s= hadow:inset 0 1px 1px rgba(255,255,255,0.9),1px 1px 5px rgba(0,0,0,0.15)= ;-webkit-box-shadow:inset 0 1px 1px rgba(255,255,255,0.9),1px 1px 5px rg= ba(0,0,0,0.15);box-shadow:inset 0 1px 1px rgba(255,255,255,0.9),1px 1px = 5px rgba(0,0,0,0.15);} body.alt .js_options_open div.selected{border-color:#c6c6c6;}.pc .js_opt= ions div.selected{color:#33beff;}.xbox .js_options div.selected{color:#0= 5c512;}.playstation .js_options div.selected{color:#6388ff;}.nintendo .j= s_options div.selected{color:#00cad1;}.portable .js_options div.selected= {color:#ff1200;}body.alt .pc .js_options div.selected{color:#0e63a1;}bod= y.alt .xbox .js_options div.selected{color:#288801;}body.alt .playstatio= n .js_options div.selected{color:#2638a7;}body.alt .nintendo .js_options= div.selected{color:#0a8093;} body.alt .portable .js_options div.selected{color:#b21000;}ul.friends{he= ight:1%;overflow:hidden;margin-top:5px;}#side ul.friends{margin:0;paddin= g:0 10px 5px;}#side ul.friends li.friend{border-width:0 0 1px;float:left= ;width:100%;padding:7px 0;}#side ul.friends li.last{border-width:0;}#sid= e ul.friends .wrap{position:relative;padding:0 5px 0 0;}#side ul.friends= span.status{background:url(member_s.gif) no-repeat 0 0;height:0;width:1= 2px;padding:12px 0 0;overflow:hidden;position:absolute;top:1px;left:0;ma= rgin:0 5px;}#side ul.friends span.offline{background-position:0 -50px;} #side ul.friends a.username{float:left;margin-left:-300px;position:relat= ive;left:327px;}#side ul.friends a.pm{float:right;text-transform:lowerca= se;}#mini ul.friends li.friend{float:left;width:100%;border-width:0 0 1p= x;padding:5px 0;font-size:11px;}#mini ul.friends li.friend .wrap{padding= :0 5px;}#mini ul.friends li span.status{float:right;}#mini ul.friends li= a.username{float:left;}.friends_module p.msg{padding:10px;}#side ul.fri= ends a.username{color:#fff;}#side ul.friends li.friend{background-image:= none;} .alt #side ul.friends a.username{color:#333;}ul.profile_stats{text-align= :left;}ul.profile_stats{height:1%;}ul.profile_stats .label{font-weight:b= old;}ul.profile_stats li.membership_status{font-size:12px;font-weight:bo= ld;line-height:28px;margin-bottom:10px;padding-left:10px;}ul.profile_sta= ts li.avatar{height:82px;text-align:center;width:82px;margin:0 auto 10px= ;}ul.profile_stats li.avatar a{background:no-repeat center center;border= -width:1px;display:block;height:80px;width:80px;margin:0 auto;text-decor= ation:none;}ul.profile_stats li.username{font-size:16px;line-height:18px=

;text-align:center;} ul.profile_stats li.user_emblems{border-width:1px 0 0;margin:10px 0 0;pa= dding:10px 0 0;width:100%;}ul.profile_stats li.user_emblems .label{displ= ay:inline;float:left;position:relative;margin-left:-200px;left:200px;}ul= .profile_stats li.user_emblems .more_emblems{text-align:right;}#mini ul.= profile_stats{font-size:11px;}#side ul.profile_stats .label{font-weight:= normal;}#side .module ul.profile_stats{padding:0 0 0 92px;height:1%;over= flow:hidden;}#side .module ul.profile_stats li.stat{float:right;width:10= 0%;text-align:left;margin:5px 0 0;} #side .module ul.profile_stats li.avatar{display:inline;float:left;margi= n:0 10px 0 -92px;width:82px;}#side .module ul.profile_stats li.last_onli= ne{font-size:10px;line-height:12px;font-weight:normal;margin:3px 0 0;}#s= ide .module ul.profile_stats li.level{font-weight:normal;}#side .module = ul.profile_stats li.level .percent_bar{display:block;position:static;rig= ht:0;top:0;margin:5px 0 0;}#side .module ul.profile_stats li.rank span.d= ata{font-weight:bold;}#side .module ul.profile_stats li.username{font-si= ze:14px;margin:0;} #side .my_summary_module ol.my_profile_summaries{padding:0 10px;}#conten= t ul.profile_stats li.level{position:relative;width:100%;}#content ul.pr= ofile_stats li.level .percent_bar{position:absolute;right:10px;top:4px;w= idth:87px;}#content ul.profile_stats li.level .percent_bar span{display:= block;overflow:hidden;padding:8px 0 0 0;height:0;width:0;}#content ul.pr= ofile_stats li.stat{border-width:0;}#content ul.profile_stats li.level .= percent_bar,#content ul.profile_stats li.level .percent_bar span{backgro= und:url(user_lev.gif) no-repeat 0 0;} #content ul.profile_stats li.level .percent_bar{background-position:0 -2= 0px;}.alt #content ul.profile_stats li.level .percent_bar{background-pos= ition:0 -40px;}.alt #side ul.profile_stats .avatar *{border-color:#444;}= div.bb_quote{border-width:1px;margin:6px auto;width:90%;overflow:hidden;= }div.bb_quote .msg_head{border-width:0 0 1px;padding:8px;}div.bb_quote .= msg_body{padding:8px;}div.bb_quote .msg_body .quote_wrap{width:100%;over= flow:auto;}div.spoiler{margin:6px auto;}#forum_header{width:100%;overflo= w:hidden;position:relative;}#forum_header .wrap{padding:10px 10px 0;}#fo= rum_header .crumbs{margin:0;width:100%;overflow:hidden;}#forum_header .h= eader_image{height:140px;width:100%;overflow:hidden;}#forum_header .head= er_image span{visibility:hidden;} #forum_header .has_crumbs .header_image{margin-top:10px;}.forum_crumbs{f= ont-size:11px;}.forums_down_msg{font-size:16px;font-weight:bold;text-ali= gn:center;padding:20px;}.layout .forum_crumbs{font-size:11px;margin:10px= 0 20px;}.gamespace_forum #forum_head .forum_crumbs{float:none;width:100= %;margin:10px 0;}#forum_head{float:left;width:100%;margin:10px 0 0;posit= ion:relative;background-color:#131313;}.alt #forum_head{background-color= :#EBEBEB;}#forum_head .forum_head_wrap{padding:10px 10px 30px;float:left= ;position:relative;margin-bottom:10px;} #forum_head.ta .forum_head_wrap{padding-bottom:45px;}#forum_head.ta.sans= _page_nav .forum_head_wrap{padding-bottom:30px;}#forum_head.forum_module= .forum_head_wrap{padding-bottom:55px;}.gamespace_forum #forum_head{back= ground:transparent url(forum_he.gif) 0 225px no-repeat;margin:0 -10px;wi= dth:810px;overflow:visible;background-color:transparent;}.alt .gamespace= _forum #forum_head{background-image:url(forum_he.gif);}.gamespace_forum = #forum_head .forum_head_wrap{padding:0 10px 46px;width:790px;min-height:= 309px;margin-bottom:0;} .gamespace_forum #forum_head.sans_page_nav .forum_head_wrap{padding-bott= om:20px;height:335px;}.gamespace_forum #forum_head.ta .forum_head_wrap{h= eight:auto;padding-bottom:46px;min-height:1px;background-image:none;}.ga= mespace_forum #forum_head.ta.sans_page_nav .forum_head_wrap{padding-bott= om:30px;}#forum_head .ad_unit_mpu,#forum_head .ad_unit_halfpage-mpu{floa= t:right;display:inline;width:300px;margin-left:10px;margin-top:0;}.games= pace_forum #forum_head .ad_unit_mpu,.gamespace_forum #forum_head .ad_uni= t_halfpage-mpu{margin:-10px -10px 0 0;padding:0 10px 10px;background-col=

or:#2F2F2F;} .alt .gamespace_forum #forum_head .ad_unit_mpu,.alt .gamespace_forum #fo= rum_head .ad_unit_halfpage-mpu{background-color:#FFF;}#forum_head .banne= r{border-top-width:0;border-color:#000;background:url(default0.jpg) 0 0 = no-repeat;}.alt #forum_head .banner{border-color:#333;}#forum_head .bann= er img{width:478px;height:140px;display:block;}#forum_head .board_descri= ption{font-size:11px;}#forum_head .inner_wrap{float:left;width:630px;}#f= orum_head.ta .inner_wrap{width:100%;} #forum_head .summary_module{float:left;width:480px;}#forum_head.ta .summ= ary_module{float:none;width:100%;}#forum_head .forum_label{font-size:24p= x;line-height:28px;color:#FFF;float:left;margin:10px 0 20px;}.alt #forum= _head .forum_label{color:#000;}.gamespace_forum #forum_head .forum_label= {margin:10px 0;width:470px;}.alt .gamespace_forum #forum_head .forum_lab= el{color:#4C4C4C;}.gamespace_forum #forum_head.ta .forum_label{margin:15= px 0;float:none;width:100%;}#forum_head .forum_actions{position:absolute= ;bottom:0;left:10px;width:940px;} #forum_head.forum_module .forum_actions{width:630px;}.gamespace_forum #f= orum_head .forum_actions{width:790px;}#forum_head.forum_module .forum_ac= tions .actions{width:490px;}.gamespace_forum #forum_head .forum_actions = .actions{width:653px;}.forum_module ul.unions li.union,.forum_module ul.= videos li.video{background-image:none;border-width:0 0 1px;}.forum_modul= e ul.unions li.last,.forum_module ul.videos li.last{border-width:0;}.for= um_module .favorites option,.forum_module .favorites select{font-size:11= px;} .forum_module p.msg{padding:10px;}.forum_module .board_description{paddi= ng:10px 10px 0;height:1%;overflow:hidden;}#content a.forum_button,#conte= nt span.forum_button{border-width:1px;float:left;font-size:11px;font-wei= ght:bold;height:18px;line-height:18px;text-align:center;}#content .actio= n span.msg{padding:0 10px;background:#626262 none;border-color:#626262;}= .alt #content .action span.msg{background-color:#999;border-color:#999;}= #content button.forum_button{border:1px solid;font-size:11px;height:20px= ;text-transform:capitalize;font-weight:bold;} #content input.forum_button{border:1px solid;font-size:11px;height:20px;= text-transform:capitalize;font-weight:bold;}a.forum_button{padding:0 10p= x;}.forum_button input,.forum_button button{font-size:11px;border-width:= 0;padding:0;width:100%;height:100%;text-align:center;}.forum_button butt= on span{float:none;font-size:11px;font-weight:bold;}.forum_button span{f= loat:left;height:100%;padding:0;}.forum_button .forum_new,.forum_button = .update_tags{padding-left:16px;}.forum_button .forum_tag{padding-left:16= px;} select.forum_cmd_menu{visibility:hidden;}select.has_cmd_events{visibilit= y:visible;}.forum_page_nav{background:none;display:inline;float:left;hei= ght:auto;padding:8px;margin:0;font-size:13px;color:#999;}.forum_page_nav= .page_nav_wrap{height:1%;overflow:hidden;padding:0 0 0 103px;}.forum_pa= ge_nav .page_flipper{display:inline;float:left;width:93px;margin:0 10px = 0 -103px;}.forum_page_nav .page_flipper .prev,.forum_page_nav .page_flip= per .next{float:left;margin:1px 0;line-height:14px;text-transform:lowerc= ase;} .forum_page_nav .page_flipper .prev{border-right:1px solid #999;padding:= 0 5px 0 0;}.forum_page_nav .page_flipper .end{padding-right:0;border-wid= th:0;}.forum_page_nav .page_flipper .next{padding:0;padding:0 0 0 5px;}.= forum_page_nav .page_flipper span.off{visibility:visible;}.forum_page_na= v .label,.forum_page_nav ul.pages{display:inline;line-height:16px;margin= :0;padding:0;}.forum_page_nav .label{float:left;font-weight:bold;padding= -right:7px;}.forum_page_nav ul.pages li{float:left;border-width:0;paddin= g:0;margin-right:7px;} .forum_actions{font-size:11px;padding:0;}.forum_actions_btm{margin:0;}.f= orum_actions .action{display:inline;float:left;margin:0;}.forum_actions = .action option,.forum_actions .action select{font-size:11px;max-width:20= 0px;}.forum_actions .favorites{float:right;}.forum_actions .forum_page_n=

av{background:none;line-height:16px;padding:2px 0;}.forum_module .forum_= actions .forum_actions_wrap .forum_page_nav{background:none;}.forum_acti= ons_btm .forum_actions_wrap{height:1%;overflow:hidden;margin:10px 0;} .forum_actions_btm .forum_actions_wrap .actions{margin-right:10px;float:= left;}.forum_actions .full_page_nav .actions{display:block;float:none;pa= dding-right:137px;height:1%;overflow:hidden;width:803px;}.forum_actions = .full_page_nav .action{margin:0 6px 0 0;}.forum_actions .full_page_nav .= forum_page_nav{display:block;float:none;padding:0;width:auto;margin-bott= om:10px;}.forum_action_search .search{display:inline;float:right;margin:= 0 -137px 0 0;padding:0;position:relative;right:137px;top:0;}.forum_tags{= float:left;padding:0;margin:0 10px;width:940px;} .forum_tags .toggler{display:inline;float:right;margin:0 -70px 0 0;paddi= ng:4px;}.forum_tags .curr_tags{font-size:11px;line-height:14px;padding:4= px 10px;margin-bottom:10px;}.forum_tags form{margin:0 0 10px;padding:10p= x;height:auto;width:auto;}.forum_tags form fieldset{padding:0 100px 0 32= 0px;}.forum_tags form div.name{display:inline;float:left;font-weight:bol= d;line-height:13px;margin:0 10px 0 -320px;width:310px;overflow:hidden;}.= forum_tags form div.name .examples{display:block;font-weight:normal;} .forum_tags form div.data{float:left;width:100%;}.forum_tags form div.da= ta .field{border-width:1px;padding:1px 0 0 1px;height:17px;text-align:ce= nter;}.forum_tags form div.data textarea{border-width:0;font-size:11px;p= adding:0;height:14px;width:99%;text-align:left;}.forum_tags form div.tag= _actions{display:inline;float:right;height:20px;margin:0 -100px 0 0;over= flow:hidden;}.forum_tags form div.tag_actions span.forum_button{float:le= ft;width:98px;overflow:hidden;padding:0;}.forum_tags form p.status_msg{m= argin:0;padding:10px 0 0;} .forum_actions .actions .toggle{display:none;visibility:hidden;}.forum_a= ctions .javascript_on .actions .toggle{display:inline;}.forum_actions .j= avascript_on .toggle_body,.forum_tags .toggle_body{display:none;}.forum_= poll{border-width:0 0 1px;font-size:11px;line-height:14px;margin:10px 0 = 0;padding:15px 10px;text-align:center;}.forum_poll .choices{margin:0 0 1= 0px;}.forum_poll .choices input.radio{vertical-align:baseline;}.forum_po= ll .choices label{margin:0 0 0 10px;}.forum_poll .choices table{text-ali= gn:center;width:auto;margin:0 auto;} .forum_poll .choices td{vertical-align:middle;padding:2px 0;}.forum_poll= .poll_question{font-size:18px;font-weight:bold;margin:0 0 10px;}.forum_= poll div.results{margin:0;}.forum_poll .results div.votes{white-space:no= wrap;}.forum_poll .results table{width:100%;font-size:11px;line-height:1= 4px;}.forum_poll .results td{width:50%;}.forum_poll .results td.total{pa= dding:10px 0 0;}.forum_poll .results td span.perc,.forum_poll .results t= d.total .label{font-weight:bold;}.forum_poll .results td div.total{displ= ay:inline;float:left;height:10px;width:200px;margin:0 10px 0 -210px;posi= tion:relative;} .forum_poll .results td div.total div.perc{height:10px;}.forum_poll .res= ults td div.total div.votes{display:inline;float:left;margin:-2px 0;posi= tion:relative;left:210px;}.forum_poll .results td.votes{padding-left:110= px;}.forum_poll .results td.choice{padding-right:110px;text-align:right;= }.forum_poll .results div.total_votes{text-align:center;padding:10px 0 0= ;}.forum_poll .results div.total_votes .label{font-weight:bold;}.hub_boa= rds_module{padding-bottom:10px;}.hub_boards_module .body .body{border-wi= dth:0 1px;} .hub_boards_module .body .module{padding:0;}.hub_boards_module .body .he= ad{border-width:1px 1px 0;height:26px;}.hub_boards_module .body .head h3= {font-size:12px;line-height:26px;}.hub_boards_module .body .head ul.more= {line-height:26px;}.hub_boards_module .body .head h3 a{font-weight:norma= l;}.hub_boards_module .body form.forums_search{padding:10px;}.hub_boards= _module p.msg{padding:10px;margin:0;}.post_history_module p.msg{padding-= bottom:400px;}.board_topics_module{float:left;width:100%;}table.boards_h= ub{font-size:11px;width:100%;} table.boards_hub a.title{font-size:12px;}table.boards_hub td,table.board=

s_hub th{vertical-align:middle;}table.boards_hub col.icon{width:48px;}ta= ble.boards_hub col.msg_count{width:80px;}table.boards_hub .msg_count{tex= t-align:center;white-space:nowrap;}table.boards_hub tbody td.board_name{= padding:8px;}table.boards_hub tbody td.icon{padding:8px 0;text-align:cen= ter;}table.boards_hub tbody td.msg_count{font-size:12px;}table.boards_hu= b thead{display:none;visibility:collapse;}table.board_topics{border-widt= h:0 1px;margin:0 0 10px 1px;} table.board_topics col.checkbox,table.board_topics col.icon,table.board_= topics col.lastpost,table.board_topics col.posts{width:1%;}table.board_t= opics col.topic{width:100%;}table.board_topics input.checkbox{font-size:= 10px;height:10px;width:10px;}table.board_topics td{border-width:1px;padd= ing:8px;vertical-align:middle;}table.board_topics td.first{border-left-w= idth:0;}table.board_topics td.last{border-right-width:0;}table.board_top= ics td.checkbox{padding:4px;}table.board_topics th.checkbox{padding:0 4p= x;} table.board_topics th.icon,table.board_topics td.icon{padding:0 4px;text= -align:center;}table.board_topics td.type{padding:0 6px;}table.board_top= ics tbody.boards td.board,table.board_topics tbody.topics td.topic{line-= height:16px;}table.board_topics td.topic a.read{font-weight:normal;}tabl= e.board_topics td.topic a.topic_title{margin:0 10px 0 0;}table.board_top= ics td.topic span.author{font-size:11px;display:block;}table.board_topic= s td.topic span.topic_pages{font-size:10px;white-space:nowrap;}table.boa= rd_topics td.topic span.author a,table.board_topics td.topic span.topic_= pages a{font-weight:normal;} table.board_topics td.lastpost{font-size:11px;white-space:nowrap;padding= :6px;}table.board_topics td.lastpost .date{font-size:10px;}table.board_t= opics td.posts{width:1%;padding:6px;text-align:center;}table.board_topic= s td.posts a.unread{font-size:11px;}table.board_topics thead{font-size:1= 1px;}table.board_topics thead th{height:22px;text-align:center;vertical-= align:middle;white-space:nowrap;padding:0 4px;}table.board_topics thead = th.icon span{display:none;visibility:hidden;}table.board_topics thead th= .topic{text-align:left;padding:0 8px;} table.fav_boards{font-size:12px;}table.fav_boards colgroup.fav_boards co= l{width:1%;}table.fav_boards colgroup.fav_boards col.board{width:30%;}ta= ble.fav_boards colgroup.fav_boards col.lastpost{width:70%;}table.fav_boa= rds td{padding:8px;border-width:1px;vertical-align:middle;}table.fav_boa= rds tbody td.board{line-height:16px;}table.fav_boards tbody td.icon{padd= ing:8px;}table.fav_boards tbody td.posts{text-align:center;}table.fav_bo= ards thead{display:table-header-group;font-size:11px;visibility:visible;= } table.fav_boards thead th{height:22px;text-align:center;vertical-align:m= iddle;white-space:nowrap;padding:0 4px;}table.fav_boards thead th.icon s= pan{display:none;visibility:hidden;}table.fav_boards thead th.board{text= -align:left;padding:0 8px;}table.post_history{font-size:11px;}table.post= _history col{width:1%;}table.post_history col.board{width:20%;}table.pos= t_history col.topic{width:30%;}table.post_history col.msg{width:50%;}tab= le.post_history thead.post_history th{text-align:center;padding:0 4px;} table.post_history thead th.focus{text-align:left;padding:0 8px;}table.w= atched_topics{font-size:11px;}table.watched_topics .watched_topics col{w= idth:1%;}table.watched_topics col.topic{width:25%;}table.watched_topics = col.board{width:25%;}table.watched_topics col.lastpost{width:50%;}table.= watched_topics tbody td.notify{white-space:nowrap;}table.watched_topics = input.checkbox{font-size:12px;height:12px;width:12px;}table.watched_topi= cs td.lastpost{white-space:normal;}table.watched_topics td.lastpost .pos= t_info{white-space:nowrap;} .layout .topic_msg{height:1%;overflow:hidden;margin:0 0 10px;}.layout .t= opic_msg em{font-style:italic;}.layout .topic_msg .wrap{padding:0 0 0 14= 0px;height:100%;overflow:hidden;}.layout .topic_msg .author{display:inli= ne;float:left;margin:0 0 0 -140px;padding:10px 10px 0;width:120px;font-s= ize:11px;}.layout .topic_msg .author .user{padding:93px 0 10px 10px;posi=

tion:relative;}.layout .topic_msg .author .username{width:100%;overflow:= hidden;}.layout .topic_msg .author .avatar{position:absolute;top:0;left:= 0;height:80px;padding:8px 10px 0;} .layout .topic_msg .author .status img{vertical-align:middle;margin:2px = 2px 2px 0;}.layout .topic_msg .author .avatar a,.layout .topic_msg .auth= or .avatar span{background:no-repeat center center;display:block;height:= 80px;width:80px;margin:0;padding:0;}.layout .topic_msg .author .avatar a= span,.layout .topic_msg .author .avatar span span{display:none;}.layout= .topic_msg .details{display:inline;float:right;width:100%;margin:0;padd= ing:0 0 36px;}.layout .topic_msg .details .posted{margin:0 0 0 1px;font-= size:10px;line-height:12px;padding:6px 10px;} .layout .topic_msg .details .usersig{margin:0 10px;padding:10px 0;max-he= ight:290px;width:550px;overflow:hidden;}.layout .topic_msg .details .use= rsig img{border-width:0;margin:0;padding:0;vertical-align:middle;}.layou= t .topic_msg .details .usersig p{margin:0;}.layout .topic_msg .message{p= adding:10px;}.layout .topic_msg .message .msg_wrap{width:100%;overflow:a= uto;}.layout .topic_msg .message .msg_revision{margin-top:10px;font-size= :10px;}.layout .topic_msg div.msg_actions{margin:0 1px 1px;height:auto;o= verflow:visible;position:relative;} .layout .topic_msg div.msg_actions .action_wrap{float:left;width:100%;ma= rgin:-36px 0 0 0;padding:8px 0;height:20px;}.topic_msgs_module{float:lef= t;width:100%;}ul.topic_msgs{height:1%;overflow:hidden;}ul.topic_msgs .ms= g_content{display:none;visibility:hidden;background:#fcc;}.edit_history = .log .topic_msg .details,.edit_msg_module .topic_msg .details{margin-bot= tom:0;padding-bottom:0;}.edit_history .revision_header{font-size:11px;fo= nt-weight:bold;margin:0 0 1px;padding:6px 8px 0;height:20px;}.edit_histo= ry .revision_header img{vertical-align:middle;} #content .topic_msg .message em,#content .topic_msg .message i{font-styl= e:italic;}#content .topic_msg .message b,#content .topic_msg .message st= rong{font-weight:bold;}#content .topic_msg .message strong{font-weight:b= old;}#content .topic_msg .message ul{list-style-type:disc;margin:6px 6px= 6px 20px;padding-left:20px;}#content .topic_msg .message ol{list-style-= type:decimal;margin:6px 6px 6px 20px;padding-left:20px;}#content .topic_= msg .message blockquote{margin:6px 40px;}#content .topic_msg .message bl= ockquote{margin:6px 40px;} #content .topic_msg .message table{border-collapse:collapse;margin-left:= 1px;border-width:1px;}#content .topic_msg .message table td,#content .to= pic_msg .message table th{border-width:1px;padding:6px 8px;}div.msg_acti= ons option,div.msg_actions select{font-size:11px;}div.msg_actions .msg_c= ommands{display:inline;font-size:11px;float:right;margin:0 8px 0 0;}div.= msg_actions .msg_commands a{line-height:20px;}ul.msg_actions{float:left;= padding:0 0 0 8px;font-size:11px;}ul.msg_actions li.msg_action{display:i= nline;float:left;margin:0 6px 0 0;line-height:20px;} ul.msg_actions li.msg_action a{display:inline;float:left;border-width:1p= x 0 0 1px;line-height:18px;height:18px;padding:0 10px 1px;}body.alt ul.m= sg_actions li.msg_action a{border-width:0 1px 1px 0;padding:1px 10px 0;}= ul.msg_actions .msg_action span{display:inline;float:left;height:100%;pa= dding:0;}ul.msg_actions .msg_action .quote{padding-left:24px;}ul.msg_act= ions .msg_action .reply{padding-left:21px;}ul.msg_actions li.loading{pad= ding-left:5px;}ul.msg_actions li.loading,ul.msg_actions li.quick{display= :none;visibility:hidden;} #content .javascript_loading div.msg_actions li.loading,#content .javasc= ript_on div.msg_actions li.quick{display:inline;visibility:visible;}.edi= t_history_module .edit_history_author{font-size:14px;font-weight:bold;ma= rgin:0 0 1px;padding:12px 15px;}.edit_history_module .edit_history li.ed= it{height:1%;overflow:hidden;}.edit_history_module .edit_history .topic_= msg{margin-bottom:15px;}ul.forum_icon_keys li.icon_key{height:24px;line-= height:24px;margin:0;padding:3px 0;overflow:hidden;}ul.forum_icon_keys l= i.icon_key span{display:block;height:24px;line-height:24px;padding:0 0 0= 23px;}

#content ul.forum_icon_keys .icon_key span{background:url(forum_ic.gif) = no-repeat 0 0;}#content ul.forum_icon_keys .icon_key .unread{background-= position:0 0;}#content ul.forum_icon_keys .icon_key .no_new_msgs{backgro= und-position:0 -50px;}#content ul.forum_icon_keys .icon_key .new_msgs{ba= ckground-position:0 -100px;}#content ul.forum_icon_keys .icon_key .locke= d{background-position:0 -150px;}#content ul.forum_icon_keys .icon_key .h= ot{background-position:0 -200px;}#content ul.forum_icon_keys .icon_key .= sticky{background-position:0 -250px;} #content ul.forum_icon_keys .icon_key .staff{background-position:0 -300p= x;}#content ul.forum_icon_keys .icon_key .replied{background-position:0 = -350px;}#content ul.forum_icon_keys .icon_key .poll{background-position:= 0 -400px;}#side ul.forum_icon_keys{padding:6px 30px;}#side ul.forum_icon= _keys li.icon_key{padding:0;}#side .forum_icon_key .head{border-width:0;= height:auto;line-height:18px;padding:0 0 2px;text-align:center;}#side .f= orum_icon_key .head .wrap{padding:0;}#side .forum_icon_key .head h2{font= :bold 10px tahoma,geneva,sans-serif;float:none;} .edit_msg_module .body{padding:10px 0 0;}.edit_msg_module div.topic_titl= e{font-weight:bold;padding:0 5px 10px;}form.edit_msg{border-width:1px;pa= dding:5px 15px 15px;}form.edit_msg fieldset{height:1%;overflow:hidden;}f= orm.edit_msg input.text,form.edit_msg option,form.edit_msg select{font-s= ize:11px;}form.edit_msg input.text,form.edit_msg textarea{border:0;font-= size:12px;text-align:left;width:99%;}form.edit_msg .field div.data div.f= ield{border-width:1px;padding:3px;}form.edit_msg .field div.label,form.e= dit_msg .field div.name{font-size:11px;line-height:14px;margin:0;padding= :10px 0;} form.edit_msg .field div.label,form.edit_msg .field div.name label,form.= edit_msg .field div.name span.label{font-weight:bold;margin-right:10px;}= form.edit_msg .text_field div.name{padding-bottom:5px;}form.edit_msg .te= xt_field div.data{height:24px;line-height:24px;}form.edit_msg .text_fiel= d div.data div.field{line-height:14px;height:16px;}form.edit_msg .topic_= msg_field div.text_clips{display:none;float:right;height:20px;margin:-29= px 0 0;padding:2px 0 0;}form.edit_msg .topic_msg_field div.data{text-ali= gn:center;} form.edit_msg .topic_msg_field div.name{height:14px;}form.edit_msg .topi= c_msg_field textarea{height:200px;}form.edit_msg .topic_tag_field,form.e= dit_msg ol.feature_set li.feature{border-width:0 1px;padding:10px 15px 1= 5px;}form.edit_msg ol.feature_set div.name{padding:5px 0;}form.edit_msg = li.poll_field{padding:5px 0;}form.edit_msg li.poll_field div.name{displa= y:inline;float:left;font-weight:bold;margin:0 8px 0 -68px;padding:5px 0;= width:60px;height:14px;text-align:right;}form.edit_msg li.poll_field .wr= ap{height:1%;padding:0 0 0 68px;overflow:hidden;} form.edit_msg li.remove_poll{padding-bottom:0;}form.edit_msg ol.feature_= togglers{display:none;float:left;position:relative;left:300px;margin:0 0= 0 -300px;padding:0 7px;}form.edit_msg ol.feature_togglers li{float:left= ;line-height:40px;height:38px;padding:0;overflow:hidden;}form.edit_msg o= l.feature_togglers li a{float:left;height:100%;padding:0 10px;}form.edit= _msg ol.feature_togglers li span{float:left;height:100%;padding:0 0 0 16= px;}form.edit_msg .validation,form.edit_msg .validation li.field{height:= 1%;overflow:hidden;} form.edit_msg .validation li.field{padding-bottom:7px;}form.edit_msg .er= rors ol{font-weight:bold;}form.edit_msg .spell_check li{padding:5px 0 0;= }form.edit_msg .spell_check .suggestions{border-width:1px;padding:10px 1= 5px 15px;}form.edit_msg .spell_check div.suggestions{padding-top:15px;}f= orm.edit_msg .spell_check .word{font-weight:bold;}form.edit_msg .blog_pr= eview{padding:15px;height:1%;overflow:hidden;}form.edit_msg .blog_previe= w .module .body{padding:0;}form.edit_msg .blog_preview .blog_entry{width= :100%;overflow:hidden;} #content #main form.edit_msg .blog_preview .blog_entry,#content form.edi= t_msg .blog_preview ul.details{margin-bottom:0;}#content form.edit_msg .= blog_preview h3{line-height:28px;margin:10px 0;padding:0 0 10px;}form.ed=

it_msg .post_actions{float:left;width:100%;overflow:hidden;}form.edit_ms= g ul.post_msg_actions{border-width:0 1px 1px;height:32px;padding:8px 0 0= 0;}form.edit_msg ul.post_msg_actions li.action{display:inline;float:rig= ht;height:24px;width:97px;margin:0 0 0 6px;text-align:center;}form.edit_= msg ul.post_msg_actions li.submit{margin-right:10px;} #profile_layout #main form.edit_msg ul.post_msg_actions li.preview{margi= n:0 0 0 6px;padding:0;}form.edit_msg ul.post_msg_actions button,form.edi= t_msg ul.post_msg_actions input{border-width:0;font-size:11px;font-famil= y:arial,helvetica,sans-serif;font-weight:bold;height:100%;line-height:24= px;width:97px;padding:0;vertical-align:middle;}form.edit_msg .quick_msg = textarea{height:100px;}.quick_msg_module form.edit_msg{padding-top:15px;= }form.edit_msg .javascript_on div.text_clips,form.edit_msg .javascript_o= n .feature_togglers{display:inline;} form.edit_msg .javascript_on ol.feature_set li.tags{display:none;}form.e= dit_msg .javascript_on ol.feature_set li.poll{display:none;}form.edit_ms= g .javascript_on ol.feature_set li.open{display:block;}form.forums_searc= h{font-size:11px;}form.forums_search input.radio{vertical-align:middle;}= form.forums_search .wrap{font-size:11px;padding-left:270px;}form.forums_= search div.search_types{display:inline;float:left;width:260px;position:r= elative;margin:-20px 0 0 -260px;left:260px;}form.forums_search div.searc= h_types label{float:none;line-height:18px;margin:0;width:auto;} form.forums_search .full_text .wrap{padding-left:0;}form.forums_search .= full_text .search_types{padding-left:0;}form.search_results .wrap{paddin= g-left:0;margin-right:310px;}form.search_results div.search_types{float:= right;width:300px;margin-left:0;left:0;}#side .contain_all form.forums_s= earch{padding:5px;}#side form.forums_search .wrap{padding-left:0;}#side = form.forums_search .search_types{display:block;float:none;margin:0 0 5px= ;width:auto;}.forums_search_box .body{padding-right:10px;}.forums_search= _box form.forums_search input.submit{font-size:12px;font-weight:bold;} .forums_search_box form.forums_search span.search_text{height:24px;}.for= ums_search_box form.forums_search span.search_text span.field{height:18p= x;padding:2px;}.forums_search_box form.forums_search .wrap{height:24px;}= .forum_search_results .search_nav{margin-bottom:10px;}.fav_board_search{= border-width:1px;padding:20px 20px 20px 395px;height:1%;overflow:hidden;= }.fav_board_search p.msg{display:inline;float:left;margin:0 0 0 -375px;p= adding:0;line-height:20px;height:20px;}.search_box .body .forum_search_p= ages{display:inline;float:right;white-space:nowrap;margin:-14px 0 0;padd= ing:0;position:relative;} .search_box .body .forum_search_pages li{border-width:0 0 0 1px;float:le= ft;margin:0 0 0 8px;padding:0 0 0 8px;font-size:11px;line-height:13px;he= ight:13px;overflow:hidden;}.search_box .body .forum_search_pages li.firs= t{border-width:0;margin:0;padding:0;}table.forum_results td.action{text-= align:center;width:60px;}table.forum_results td.posts{width:1%;padding:6= px;text-align:center;}table.forum_results thead th.focus{text-align:left= ;padding:0 8px;}table.forum_results .boards td.lastpost,table.forum_resu= lts .msgs td.lastpost{font-size:11px;white-space:normal;} table.forum_results .boards td.lastpost .details,table.forum_results .ms= gs td.lastpost .details{font-size:10px;white-space:nowrap;}table.forum_r= esults col.board{width:35%;}table.forum_board_results col.board{width:10= 0%;}table.forum_topic_results col.topic{width:65%;}table.forum_msg_resul= ts col.msg{width:65%;}form.watched_topics div.watched_topics_actions{bor= der-width:1px;padding:6px;}form.watched_topics ul.watched_topics_actions= {height:1%;overflow:hidden;width:333px;margin:0 auto;}form.watched_topic= s ul.watched_topics_actions li.action{display:inline;float:left;margin:0= 0 0 6px;padding:0;height:24px;line-height:24px;width:107px;overflow:hid= den;} form.watched_topics ul.watched_topics_actions li.first{margin:0;}form.wa= tched_topics ul.watched_topics_actions li.action span{display:block;heig= ht:24px;width:107px;overflow:hidden;}form.watched_topics ul.watched_topi= cs_actions li.action input{display:block;border-width:0;font-size:11px;f=

ont-weight:bold;height:24px;width:107px;padding:0;margin:0;}form.watched= _topics .confirm{font-size:14px;font-weight:bold;padding:0 0 10px;}form.= watched_topics .confirm .body{padding:10px 10px 0;text-align:center;} form.watched_topics .confirm .watched_topics_actions{margin:5px auto 0;w= idth:220px;}.bwp{clear:both;}#content div.bb_quote{background:#333;borde= r-color:#666;color:#ccc;}#content div.bb_quote .msg_head{background:#444= ;border-color:#666;}#forum_header{background:#2f2f2f;}#forum_header .hea= der_image{background:no-repeat center center;}#forum_header .crumbs{colo= r:#ccc;}#forum_header .crumbs a{color:#ffe538;}.forum_module .body .modu= le .head{background:#131313;}#side .forum_module .body .module .head{col= or:#a9a9a9;} .forum_module a,.hub_boards_module a,.hub_boards_module a.title,table.bo= ard_topics td.topic a,table.fav_boards tbody a,table.post_history a,ul.t= opic_msgs .topic_msg li.msg_action a{color:#ffe538;}table.post_history t= d.posts a,table.watched_topics td.posts a{color:#fff;}.forum_module div.= user_about,.forum_module div.user_activity,.forum_module li.union,.forum= _module li.video{border-color:#000;}.forum_module .board_description{bac= kground:#131313;}#content a.forum_button,#content button.forum_button,#c= ontent input.forum_button,#content span.forum_button{background:#eb7d26 = url(orange_b.gif) no-repeat 0 -48px;border-color:#630;color:#fff;} .forum_button button,.forum_button input{background:none;color:#fff;}.fo= rum_button span{background:url(forum_ac.gif) no-repeat 0 0;}.forum_butto= n .forum_new{background:url(add00000.gif) no-repeat 0 -46px;}.forum_butt= on .update_tags{background:url(add00000.gif) no-repeat 0 -48px;}.forum_b= utton .forum_tag{background-position:0 -96px;}.forum_button .reply{backg= round-position:0 2px;}.forum_button .quote{background-position:0 -47px;}= .forum_page_nav .page_flipper .prev,.forum_page_nav .page_flipper .next{= background-image:none;} .forum_tags{color:#aaa;}.forum_tags .curr_tags a{color:#fff;}.forum_tags= .curr_tags,.forum_tags .edit_tags_form{background-color:#626262;}.forum= _tags form div.data .field{background:#fff;}.forum_tags form div.data te= xtarea{background:none;}.forum_poll{background:#1f1f1f;color:#fff;}.foru= m_poll .results div.total{background:#737373;}.forum_poll .results div.p= erc{background:#fc0;}.forum_poll .results td.total div.total{background:= none;}.hub_boards_module{background-color:#000;}.hub_boards_module .body= .body{background:#1d1d1d;border-color:#151515;} .hub_boards_module .body .module .head{background:#000 url(list_boa.gif)= repeat-x 0 0;border-color:#151515;}.forum_module li.union h3 a{color:#f= ff;}.list_users_module a{color:#fff;}table.boards_hub{background:#151515= ;}table.boards_hub a{color:#fff;}table.boards_hub td.board_name{backgrou= nd:#222;}table.boards_hub tr.alt td{background:#222;}table.boards_hub tr= .alt td.board_name{background:#3b3b3b;}table.board_topics{background:#25= 2525;}#content table.board_topics,#content table.board_topics td{border-= color:#3b3b3b;} table.board_topics thead th{background:#444;}table.board_topics td.topic= span.author a{color:#d8d8d8;}table.board_topics td.topic span.topic_pag= es a{color:#fff;}table.board_topics tr.alt td{background:#2f2f2f;}table.= board_topics .sticky_topics td a{color:#ffa42c;}.topic_msgs_module .body= .forum_poll,.topic_msgs_module .body .forum_poll *,.topic_msgs_module .= forum_actions .curr_tags{border-color:#333;}.layout .topic_msg{backgroun= d:#1f1f1f url(bg_forum.gif) repeat-y -60px 0;}.layout .topic_msg .author= {background:#131313;} .layout .topic_msg .avatar a,.layout .topic_msg .avatar span{background-= color:#1d1d1d;}.layout .topic_msg .details .posted{background:#0a0a0a;co= lor:#808080;}.layout .topic_msg div.msg_actions .action_wrap{background:= #171717;}.layout .topic_msg ul.msg_actions li.msg_action a{background:#3= 53535;border-color:#515151;}.layout .topic_msg ul.msg_actions li.loading= {color:#999;}.edit_history .revision_header{background:#212121;}#content= .topic_msg .message table,#content .topic_msg .message table td,#conten= t .topic_msg .message table th{border-color:#000;}

.edit_history_module .edit_history_author{background:#131313;}#content u= l.forum_icon_keys .icon_key{background-image:none;color:#fff;}#side .for= um_icon_key .head{background:#141414 url(corners_.gif) no-repeat -440px = 0;}#side .forum_icon_key .head h2{color:#999;}.edit_msg_module div.topic= _title .title{color:#fff;}.module .body form.edit_msg,form.edit_msg{back= ground:#282828;border-color:#191919;}form.edit_msg input.text,form.edit_= msg option,form.edit_msg select{font-size:11px;}form.edit_msg input.text= ,form.edit_msg textarea{background:none;} form.edit_msg .field div.data div.field{background:#fff;border-color:#00= 0;}#content form.edit_msg li.feature{background:#333;border-color:#333;}= #content form.edit_msg .post_actions{background:#171717;}#content form.e= dit_msg ul.post_msg_actions{border-color:#171717;}#content form.edit_msg= .validation li.errors{color:#c00;}form.edit_msg .blog_preview{backgroun= d:#2f2f2f;}form.edit_msg .spell_check .suggestions{background:#1f1f1f;bo= rder-color:#191919;}form.edit_msg .spell_check .word{color:#fff;}form.ed= it_msg .feature_togglers li.poll,form.edit_msg .feature_togglers li span= ,form.edit_msg .feature_togglers li,form.edit_msg .feature_togglers li.o= n a,form.edit_msg .feature_togglers li.on a{background:url(post_msg.gif)= no-repeat 0 0;} form.edit_msg .feature_togglers li.poll{background-position:0 -106px;}fo= rm.edit_msg .feature_togglers li.poll span{background-position:0 -38px;}= form.edit_msg .feature_togglers li.tags span{background-position:0 12px;= }form.edit_msg .feature_togglers li,form.edit_msg .show_tags .feature_to= gglers li.poll{background-position:0 38px;}form.edit_msg .feature_toggle= rs li.on{background-color:#333;background-position:right -162px;}form.ed= it_msg .feature_togglers li.on a{background-position:0 -162px;}form.edit= _msg .topic_features ol.feature_togglers a{color:#ff8a00;} form.edit_msg ul.post_msg_actions button,form.edit_msg ul.post_msg_actio= ns input{background:none;color:#ff8a00;}form.edit_msg ul.post_msg_action= s li.action{background:url(post_msg.gif) no-repeat 0 0;}form.edit_msg ul= .post_msg_actions li.submit{background-position:0 -50px;}form.edit_msg u= l.post_msg_actions li.submit button,form.edit_msg ul.post_msg_actions li= .submit input{color:#fff;}.search_box .body .forum_search_pages li{backg= round:none;}.fav_board_search{background:#252525;border-color:#3b3b3b;} form.watched_topics .module .body div.watched_topics_actions{border-colo= r:#171717;background:#171717;}form.watched_topics ul.watched_topics_acti= ons li.action{background:url(round_bu.gif);}form.watched_topics ul.watch= ed_topics_actions li.action input{background:none;color:#fff;}.alt #cont= ent div.bb_quote{background:#eee;border-color:#999;color:#333;}.alt #con= tent div.bb_quote .msg_head{background:#ccc;border-color:#999;}.alt #sid= e .forum_module .body .module .head{color:#333;}.alt #forum_header{backg= round:#cdcdcd;} .alt #forum_header .header_image{background:no-repeat center center;}.al= t #forum_header .crumbs{color:#333;}.alt #forum_header .crumbs a{color:#= 9a4600;}.alt .hub_boards_module{background-color:#7c7c7c;}.alt .hub_boar= ds_module .body .body{background:#fff;border-color:#7c7c7c;}.alt .hub_bo= ards_module .body .module .head{background:#737373 url(list_boa.gif) rep= eat-x 0 -30px;border-color:#7c7c7c;color:#fff;}.alt .forum_module a,.alt= .hub_boards_module a,.alt .hub_boards_module a.title,.alt table.board_t= opics td.topic a,.alt table.fav_boards tbody a,.alt table.post_history a= ,.alt ul.topic_msgs .topic_msg li.msg_action a{color:#9a4600;} .alt .forum_module li.union h3 a,.alt table.post_history td.posts a,.alt= table.watched_topics td.posts a{color:#333;}.alt .forum_module .board_d= escription{background:#ebebeb;}.alt .forum_tags{color:#fff;}.alt .forum_= tags .curr_tags,.alt .forum_tags .edit_tags_form{background-color:#999;}= .alt .forum_tags .curr_tags a{color:#fff;}.alt .forum_poll{background:#f= ff;color:#000;}.alt .forum_poll .results div.total{background:#ebebeb;}.= alt .forum_poll .results div.perc{background:#ce600e;}.alt .forum_poll .= results td.total div.total{background:none;} .alt table.boards_hub{background:#e2e2e2;}.alt table.boards_hub a{color:=

#333;}.alt table.boards_hub td.board_name{background:#fff;}.alt table.bo= ards_hub tr.alt td{background:#cbcbcb;}.alt table.boards_hub tr.alt td.b= oard_name{background:#e5e5e5;}.alt table.board_topics{background:#fff;}.= alt table.board_topics tbody.topics td.type,.alt table.board_topics tbod= y.topics td.lastpost{background:#efefef;}.alt table.board_topics tbody.t= opics td.status{background:#d2d2d2;}.alt #content table.board_topics,.al= t #content table.board_topics td{border-color:#bababa;} .alt table.board_topics thead th{background:#a4a4a4;color:#fff;}.alt tab= le.board_topics td.topic span.author a{color:#333;}.alt table.board_topi= cs td.topic span.topic_pages a{color:#c45800;}.alt table.board_topics tb= ody tr.alt td{background:#f2f2f2;}.alt table.board_topics tbody.topics t= r.alt td.type,.alt table.board_topics tbody.topics tr.alt td.lastpost{ba= ckground:#e2e2e2;}.alt table.board_topics tbody.topics tr.alt td.status{= background:#c5c5c5;}.alt table.board_topics .sticky_topics td a{color:#a= 53500;} body.alt .topic_msgs_module .body .forum_poll{border-color:#cdcdcd;}body= .alt .topic_msgs_module .body .forum_poll *,body.alt .topic_msgs_module = .forum_actions .curr_tags{border-color:#7f7f7f;}body.alt .layout .topic_= msg{background-color:#fff;background-position:-1560px 0;}body.alt .layou= t .topic_msg .author{background:#ebebeb;}body.alt .layout .topic_msg .av= atar a,body.alt .layout .topic_msg .avatar span{background-color:#a2a2a2= ;}body.alt .layout .topic_msg .details .posted{background:#999;color:#ff= f;} body.alt .layout .topic_msg div.msg_actions .action_wrap{background:#e1e= 1e1;}body.alt .layout .topic_msg ul.msg_actions li.msg_action a{backgrou= nd:#fff;border-color:#9b9b9b;}body.alt .layout .topic_msg ul.msg_actions= li.loading{color:#999;}body.alt .edit_history .revision_header{backgrou= nd:#ebebeb;}body.alt .edit_history_module .edit_history_author{backgroun= d:#fff;}.alt #content ul.forum_icon_keys .icon_key{color:#333;}.alt #sid= e .forum_icon_key .head{background:#a4a4a4 url(corners_.gif) no-repeat -= 440px 0;} .alt #side .forum_icon_key .head h2{color:#fff;}.alt .edit_msg_module di= v.topic_title .title{color:#666;}.alt .module .body form.edit_msg,.alt f= orm.edit_msg{background:#b0b0b0;border-color:#868686;}.alt form.edit_msg= input.text,.alt form.edit_msg option,.alt form.edit_msg select{font-siz= e:11px;}.alt form.edit_msg input.text,.alt form.edit_msg textarea{backgr= ound:none;}.alt form.edit_msg .field div.data div.field{background:#fff;= border-color:#797979;}.alt #content form.edit_msg li.feature{background:= #ccc;border-color:#797979;} .alt #content form.edit_msg .post_actions{background:#fff;}.alt #content= form.edit_msg ul.post_msg_actions{border-color:#797979;}.alt form.edit_= msg .feature_togglers li.on{background-color:#ccc;background-position:ri= ght -212px;}.alt form.edit_msg .feature_togglers li.on a{background-posi= tion:0 -212px;}.alt form.edit_msg .topic_features ol.feature_togglers a{= color:#bb4b00;}.alt form.edit_msg .blog_preview{background:#fff;}.alt fo= rm.edit_msg .spell_check .suggestions{background:#fff;border-color:#7979= 79;} .alt form.edit_msg .spell_check .word{color:#333;}.alt form.edit_msg ul.= post_msg_actions button{background:none;color:#ff8a00;font-size:11px;fon= t-weight:bold;}.alt form.edit_msg ul.post_msg_actions li.action{backgrou= nd:url(post_msg.gif) no-repeat 0 0;}.alt form.edit_msg ul.post_msg_actio= ns li.submit{background-position:0 -50px;}.alt form.edit_msg ul.post_msg= _actions li.submit button{color:#fff;}.alt .search_box .body .forum_sear= ch_pages li{background:none;}.alt .forum_search_module form.forums_searc= h span.field{border-color:#c4c4c4;} .alt .fav_board_search{background:#fff;border-color:#bababa;}.alt .searc= h_results table.forum_results tbody td{background:none;}.alt form.watche= d_topics .module .body div.watched_topics_actions{border-color:#bababa;b= ackground:#fff;}.site_mf_top_wrap{padding:0 0 0 115px;height:37px;}.site= _mf_brand_logo{background:url(footer-u.png) no-repeat 0 -34px;display:in=

line;float:left;height:0;padding:35px 0 0;margin:0 0 0 -115px;width:115p= x;overflow:hidden;}#site_footer{background:#525552 url(footer-u.png) rep= eat-x 0 -200px;float:left;font-size:11px;width:100%;margin-top:0;}#site_= footer a{color:#fff;}#site_footer .footer_wrap{width:980px;margin:0 auto= ;position:relative;}#site_footer ul{height:10px;padding:12px 0;line-heig= ht:10px;width:100%;} #site_footer ul li{display:inline;margin:0 4px 0 0;padding:0 4px 0 0;}#s= ite_footer ul li.last{border-width:0;margin:0;padding:0;}#site_footer ul= .site{float:left;height:11px;line-height:11px;padding:9px 0;}#site_foote= r ul.primary a,#site_footer .promos a{color:#ffea3b;}#site_footer .feed{= position:absolute;height:14px;width:36px;padding:5px 0 5px 5px;top:44px;= right:0;}#site_footer .feed a{background:url(rss_foot.png) no-repeat 0 0= ;display:block;height:0;padding:14px 0 0;width:36px;overflow:hidden;} #site_footer .brow_promos{display:inline;float:left;height:37px;font-siz= e:11px;line-height:13px;}#site_footer .brow_promos .label{display:none;}= #site_footer .brow_promos ol{padding:12px 0 0;}#site_footer .brow_promos= li{display:inline;margin:0 4px 0 0;padding:0 4px 0 0;}#site_footer .pro= mos{height:1%;overflow:hidden;clear:both;}#site_footer ul.promo_types{he= ight:1%;overflow:hidden;padding:0 10px 0 0;width:970px;}#site_footer li.= promo_type{height:212px;float:left;padding:0 0 0 10px;margin:0;}#site_fo= oter ul.promo_types li.stories{width:295px;} #site_footer ul.promo_types li.games{width:235px;}#site_footer ul.promo_= types li.cheats{width:250px;}#site_footer ul.promo_types li.gs_on{width:= 150px;}#site_footer ul.promo_types em{font-weight:bold;font-size:12px;li= ne-height:36px;color:#fff;}#site_footer .promos ol,#site_footer .promos = ol li{margin:0;padding:0;line-height:17px;height:auto;width:100%;}#site_= footer .promos ol li{float:left;}#site_footer ul.promo_types li.stories = li{margin-bottom:8px;}#site_footer ul.promo_types li.stories li.last{mar= gin-bottom:0;} #site_footer ul.promo_types li.stories .wrap{padding-left:80px;}#site_fo= oter ul.promo_types li.stories a.title{float:right;width:100%;}#site_foo= ter ul.promo_types li.stories .thumb{float:left;margin:0 8px 0 -80px;dis= play:inline;}#site_footer ul.promo_types li.stories .thumb a{display:blo= ck;}#site_footer ul.promo_types li.stories .thumb img{display:block;bord= er:1px solid #222;width:70px;height:44px;}#cbs_footer{position:relative;= color:#bebebe;}#cbs_footer span{float:left;width:110px;padding:8px 0;} #cbs_footer ul{float:left;width:870px;padding:10px 0;}#cbs_footer ul li{= border-right:1px solid;display:inline;margin:0 4px 0 0;padding:0 3px 0 0= ;}#cbs_footer li.last{border-width:0;margin:0;padding:0;}#cbs_footer .po= pular{height:1%;overflow:hidden;margin-bottom:5px;}#cbs_footer .corporat= e p{margin:0;line-height:16px;}#cbs_footer .elements{width:810px;height:= auto;float:left;padding:5px 0;line-height:normal;}#cbs_footer form{text-= align:right;float:right;font-family:Arial,sans-serif;margin-bottom:5px;}= #cbs_footer select,#cbs_footer input{font-family:Arial,sans-serif;height= :100%;border:1px solid #b4b4b4;padding:0;}#cbs_footer select{margin-righ= t:3px;font-size:90%;height:auto;}#cbs_footer input{width:25px;font-size:= 100%;}#cbs_footer label{display:block;font-size:95%;margin-bottom:2px;}#= site_footer .search{position:absolute;top:5px;right:0;}#site_footer form= .search span.dynamic_helptext span.help{font-size:10px;padding:0 0 0 5px= ;height:15px;line-height:15px;}#cne_lightbox .overlay,#cne_lightbox .loa= ding,#cne_lightbox .content{position:absolute;top:0;left:0;z-index:99999= 997;}#cne_lightbox_base{position:absolute;top:0;left:0;z-index:99999996;= }#cne_lightbox input.text:focus{background:#ffeed0;}#cne_lightbox .overl= ay{background:#000;height:100%;margin:0;padding:0;width:100%;}#cne_light= box .loading{background:url(128x1280.gif) no-repeat 0 0;margin:0;padding= :0;height:128px;width:128px;}#cne_lightbox .content{margin:0;z-index:999= 99998;}#cne_lightbox .content div.close{background:#ccc;padding:2px 5px;= text-align:right;} #cne_lightbox .content .bg{background:#fff;}#cne_lightbox .content .bg .=

bg{background:none;}#cne_lightbox .content .bg .bg .bg{z-index:99999999;= }#cne_lightbox.default .content .bg{padding:10px;}#cne_lightbox.default = .content .bg .bg{padding:0;}#cne_lightbox.default .content .bg .bg .bg{h= eight:400px;width:600px;position:relative;}#cne_lightbox #fb_connect_dia= log{margin:0;}#cne_lightbox.fb_connect_dialog div.close{display:block;pa= dding:0;}.popup,body.popup{background-color:#2F2F2F;}#popup #header{back= ground:transparent url(popup_he.gif) repeat-x;height:36px;}#popup #heade= r h1{background:transparent url(popup_gs.gif) no-repeat;padding-left:99p= x;height:36px;width:0;overflow:hidden;}#popup #container{margin:0;paddin= g:0;width:auto;color:#FFF;}#popup .module .body{padding:0 5px;}#popup .a= bout_gumballs{padding:5px;} #popup .readme h2{margin-bottom:5px;}#popup .add_to_collection{width:254= px;text-align:center;color:#FFF;}#popup .add_to_collection h2{font-size:= 14px;margin:10px;padding-bottom:10px;}#popup .add_to_collection ul{paddi= ng:0 0 10px 20px;margin:0 10px 10px;}#popup .add_to_collection div.sign_= in{font-size:14px;text-align:center;margin:10px;padding:10px 20px 25px;f= ont-weight:bold;}#popup .add_to_collection h2,#popup .add_to_collection = ul,#popup .add_to_collection div.sign_in{background:url(dots_bbb.gif) re= peat-x left bottom;} #popup .add_to_collection .dyk{font-size:10px;}#popup .add_to_collection= a{color:#FFF;}#popup .add_to_collection li{font-size:11px;padding:3px;t= ext-align:left;}#popup .add_to_collection #tracking_on,#popup .add_to_co= llection #tracking_off,#popup .add_to_collection #own_on,#popup .add_to_= collection #own_off,#popup .add_to_collection #want_on,#popup .add_to_co= llection #want_off,#popup .add_to_collection #playing_on,#popup .add_to_= collection #playing_off{padding-left:20px;background-image:url(plus_ico.= gif);background-repeat:no-repeat;} #popup .add_to_collection #tracking_off,#popup .add_to_collection #own_o= ff,#popup .add_to_collection #want_off,#popup .add_to_collection #playin= g_off{background-position:left -93px;}#popup .add_to_collection #trackin= g_on{background-position:left -2px;}#popup .add_to_collection #own_on{ba= ckground-position:left -25px;}#popup .add_to_collection #want_on{backgro= und-position:left -48px;}#popup .add_to_collection #playing_on{backgroun= d-position:left -70px;}#popup .add_to_collection .button,#popup .add_to_= collection .button2{background:#EB7D26 url(button00.gif) no-repeat;heigh= t:20px;line-height:20px;width:140px;display:block;margin:0 auto 10px;bor= der:1px solid #BA6401;} #popup .add_to_collection .button2{margin-bottom:175px;}#popup .about_gu= mballs{color:#fff;font-size:11px;} ------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline; filename=base0000.css Content-Type: text/css; charset=iso-8859-1; name=base0000.css Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/base0000.css Content-Transfer-Encoding: 8bit .module .module_title_wrap .plat_name{font-size:18px;line-height:28px;}#images_m odule .foot .more,#gameguide_module .foot .more,#videos .foot .more,#articles .f oot .more,#downloads .foot .more{margin-right:10px;text-align:right;}dl.player_s tats{font-size:11px;line-height:14px;width:100%;overflow:hidden;}dl.player_stats dd,dl.player_stats dt{display:inline;float:left;font-weight:bold;margin:0 0 0 3 px;}dl.player_stats dt{margin:0 0 0 8px;padding:0 0 0 9px;}dl.player_stats dt.fi rst{margin:0;padding:0;} dl.player_stats dt{background:url(solid_66.gif) no-repeat 0 -98px;}dl.player_sta ts dt.first{background-image:none;}.alt dl.player_stats dt{background-image:url( solid_99.gif);}.alt dl.player_stats dt.first{background-image:none;}.rating_slid er div.slider{float:left;height:27px;width:100%;position:relative;}.rating_slide r div.slider p{font-size:9px;font-weight:normal;line-height:12px;margin:0;paddin g:0 0 3px;text-align:left;}.rating_slider div.slider .scale,.rating_slider div.s

lider .current_rating{position:absolute;top:17px;left:0;height:13px;width:100%;} .rating_slider div.slider div.current_rating{height:0;padding:13px 0 0;overflow: hidden;}.rating_slider div.slider li{position:absolute;top:0;left:0;height:13px; }.rating_slider div.slider ul a{display:block;height:13px;text-decoration:none;} .rating_slider div.slider ul a .handle{display:none;}.rating_slider div.slider u l a:hover .handle{display:block;}.rating_slider div.slider .handle{height:0;padd ing:13px 0 0;position:relative;right:-4px;overflow:hidden;}#side .rating_slider div.slider p{padding-bottom:0;} #side .rating_slider div.slider .scale,#side .rating_slider div.slider .current_ rating{top:14px;}.rating_slider div.slider .scale{margin:0 0 0 5px;width:101px;} .rating_slider div.slider .scale .scale_status{position:absolute;top:0;left:-5px ;height:13px;width:10px;padding-left:1px;}.rating_slider div.slider .scale .hand le{left:0;width:11px;}.rating_slider_10,.rating_slider_10 a{width:11px;z-index:6 018;}.rating_slider_15,.rating_slider_15 a{width:16px;z-index:6017;}.rating_slid er_20,.rating_slider_20 a{width:21px;z-index:6016;} .rating_slider_25,.rating_slider_25 a{width:26px;z-index:6015;}.rating_slider_30 ,.rating_slider_30 a{width:31px;z-index:6014;}.rating_slider_35,.rating_slider_3 5 a{width:36px;z-index:6013;}.rating_slider_40,.rating_slider_40 a{width:41px;zindex:6012;}.rating_slider_45,.rating_slider_45 a{width:46px;z-index:6011;}.rati ng_slider_50,.rating_slider_50 a{width:51px;z-index:6010;}.rating_slider_55,.rat ing_slider_55 a{width:56px;z-index:6009;}.rating_slider_60,.rating_slider_60 a{w idth:61px;z-index:6008;} .rating_slider_65,.rating_slider_65 a{width:66px;z-index:6007;}.rating_slider_70 ,.rating_slider_70 a{width:71px;z-index:6006;}.rating_slider_75,.rating_slider_7 5 a{width:76px;z-index:6005;}.rating_slider_80,.rating_slider_80 a{width:81px;zindex:6004;}.rating_slider_85,.rating_slider_85 a{width:86px;z-index:6003;}.rati ng_slider_90,.rating_slider_90 a{width:91px;z-index:6002;}.rating_slider_95,.rat ing_slider_95 a{width:96px;z-index:6001;}.rating_slider_100,.rating_slider_100 a {width:101px;z-index:6000;} .rating_slider .handle,.rating_slider ul a:hover,div.current_rating,.rating_slid er .slider,.rating_slider .slider .scale_status{background-image:url(rating_s.gi f);background-repeat:no-repeat;}.rating_slider .slider .scale_status,.rating_sli der ul a:hover{background-position:0 -26px;}.rating_slider .handle{background-po sition:right -39px;}.rating_slider .slider{background-position:0 17px;}#side .ra ting_slider .slider{background-position:0 14px;}.current_rating_10{background-po sition:-90px -13px;} .current_rating_15{background-position:-85px -13px;}.current_rating_20{backgroun d-position:-80px -13px;}.current_rating_25{background-position:-75px -13px;}.cur rent_rating_30{background-position:-70px -13px;}.current_rating_35{background-po sition:-65px -13px;}.current_rating_40{background-position:-60px -13px;}.current _rating_45{background-position:-55px -13px;}.current_rating_50{background-positi on:-50px -13px;}.current_rating_55{background-position:-45px -13px;}.current_rat ing_60{background-position:-40px -13px;} .current_rating_65{background-position:-35px -13px;}.current_rating_70{backgroun d-position:-30px -13px;}.current_rating_75{background-position:-25px -13px;}.cur rent_rating_80{background-position:-20px -13px;}.current_rating_85{background-po sition:-15px -13px;}.current_rating_90{background-position:-10px -13px;}.current _rating_95{background-position:-5px -13px;}.current_rating_100{background-positi on:0 -13px;}.maturity_rating .maturity_rating_icon{background:url(maturity.gif) no-repeat;overflow:hidden;} .esrb .maturity_rating_icon{height:44px;width:32px;}.esrb .adultsonly{background -position:0 0;}.esrb .everyone10{background-position:-32px 0;}.esrb .everyone{ba ckground-position:-64px 0;}.esrb .earlychild{background-position:-96px 0;}.esrb .early{background-position:-96px 0;}.esrb .mature{background-position:-128px 0;} .esrb .ratingpend{background-position:-160px 0;}.esrb .pending{background-positi on:-160px 0;}.esrb .teen{background-position:-192px 0;}.pegi .maturity_rating_ic on{height:42px;width:32px;} .pegi .pegi_3{background-position:0 -44px;}.pegi .pegi_7{background-position:-32 px -44px;}.pegi .pegi_12{background-position:-64px -44px;}.pegi .pegi_16{backgro und-position:-96px -44px;}.pegi .pegi_18{background-position:-128px -44px;}.oflc

_au .maturity_rating_icon{height:42px;width:48px;}.oflc_au .general{background-p osition:0 -86px;}.oflc_au .parental{background-position:-48px -86px;}.oflc_au .m ature{background-position:-96px -86px;}.oflc_au .restricted{background-position: -144px -86px;}.oflc_au .restricted18{background-position:-192px -86px;} .oflc_au .restricted_x{background-position:-240px -86px;}div.stats_module{paddin g:15px 10px 10px;}div.stats_module .panel{display:none;width:0;height:auto;paddi ng:0;position:absolute;}div.stats_module .open .panel{display:block;padding:13px 0 0;text-align:left;position:absolute;top:10px;left:149px;z-index:2;}div.stats_ module .panel .wrap{border-width:0 2px;}div.stats_module .panel .wrap .wrap{bord er-width:0;padding:10px 20px;}#mini #gamestats{margin:0;padding:3px 0 2px 0;}#ga mestats{padding:0 0 2px;position:relative;height:1%;width:170px;overflow:visible ;} #gamestats .boxshot{margin:0 0 10px;text-align:center;width:100%;overflow:hidden ;}#gamestats .product_title{text-align:center;margin-bottom:5px;}#gamestats .box shot img{border-width:1px;}#gamestats .boxshot img.enlarge{border-width:0;displa y:inline;margin:0 0 2px -19px;}#gamestats .title{margin:0;}#gamestats .dlc_callo ut{margin:10px 0;font-size:10px;height:1%;overflow:hidden;padding:4px 0;width:16 8px;}#gamestats .dlc_callout li{margin:0 9px;padding:0;text-align:center;}#games tats .dlc_callout a{font-weight:normal;} #gamestats .dlc_callout .dl_able{text-align:left;height:18px;line-height:18px;pa dding-left:22px;}#gamestats ul.stats{font-size:10px;line-height:12px;margin:10px ;padding:5px 0;text-align:left;}#gamestats ul.stats a,#gamestats ul.stats span.d ata{font-weight:bold;}#gamestats ul.stats li{padding:0 0 0 9px;width:93%;}#games tats ul.stats .developer .label,#gamestats ul.stats .genre .label,#gamestats ul. stats .publisher .label{display:none;}#gamestats .stats_summary{width:100%;paddi ng:15px 0 0;}#gamestats .more_info{width:72px;margin:0 0 1px 50px;text-align:lef t;} #gamestats .more_info a{display:block;height:0;padding:16px 0 0;width:72px;overf low:hidden;}#gamestats .no_beston{padding-bottom:12px;}#gamestats .no_beston .mo re_info a{margin:0 auto;}#gamestats div.beston{font-size:9px;margin:0 3px 5px;po sition:relative;z-index:1;}#gamestats .beston .label{height:18px;width:45px;posi tion:absolute;top:-18px;left:0;}#gamestats .beston .label span{visibility:hidden ;}#gamestats .beston ul.beston{width:164px;line-height:9px;padding:0 0 7px;overf low:hidden;}#legacy_layout #gamestats .beston ul.beston{width:185px;} #gamestats .beston li{float:left;margin:5px 0 0;padding:0 3px;}#gamestats .besto n li a{font:bold 10px tahoma,geneva,sans-serif;}#gamestats .beston .toggle_panel {border-width:0 0 0 1px;font-size:10px;line-height:11px;width:15px;margin:4px 0; padding:0 0 0 4px;position:absolute;bottom:0;right:0;}#gamestats .head{height:22 px;margin:0 3px;}#gamestats .head h2{line-height:22px;}#gamestats ul.move_connec t{margin:11px 0 13px;}#gamestats ul.move_connect li{padding:8px 10px 5px;margin: 4px 2px 0 0;font-size:11px;} #gamestats ul.move_connect li span{width:150px;display:block;padding:3px 0 5px 6 px;}#gamestats ul.move_connect li a{font-weight:normal;}#gamestats ul.move_conne ct li a:hover span{text-decoration:underline;}.stats_module,.stats_module .more_ info a,.stats_module .beston,.stats_module .beston .label{background:url(statsbo x.gif) no-repeat;}.stats_module{background-color:#181818;}.stats_module .beston{ background-position:-260px -18px;}#legacy_layout .stats_module .beston{backgroun d-position:-260px -118px;} .stats_module .beston .label{background-position:-260px 0;}.beston a{color:#FF74 00;}.stats_module{background-position:-964px 0;border-color:#2D2D2D;}#gamestats .boxshot img{border-color:#777;}#gamestats .dlc_callout{background-color:#333;}# gamestats .dlc_callout a{color:#FF7400;}#gamestats .dlc_callout li{color:#bbb;}# gamestats .dlc_callout .dl_able{color:#bbb;background:url(dlc_down.gif) no-repea t 0 0;}#gamestats ul.stats{color:#777;background:transparent url(dots_666.gif) r epeat-x;} #gamestats ul.stats a,#gamestats ul.stats span.data{color:#bbb;}#gamestats ul.st ats li{background:url(disc_4x4.gif) no-repeat 0 4px;}#gamestats .more_info a{bac kground-position:0 0;}#gamestats .clicked_open .more_info a{background-position: 0 -20px;}.pc #gamestats ul.stats li{background-position:0 -95px;}.xbox #gamestat s ul.stats li{background-position:0 -195px;}.nintendo #gamestats ul.stats li{bac

kground-position:0 -295px;}.playstation #gamestats ul.stats li{background-positi on:0 -395px;} .alt .stats_module{background-color:#4F4F4F;}.alt #mini .stats_module{border-col or:#797979;}.alt .stats_module{background-position:-1170px 0;}.alt .stats_module .beston{background-position:-620px -18px;}.alt #legacy_layout .stats_module .be ston{background-position:-620px -119px;}.alt .stats_module .beston .label{backgr ound-position:-620px 0;}body.alt .beston a{color:#FF7400;}.alt #container #games tats .product_title a{color:#FFF;}.alt #gamestats .dlc_callout .dl_able{color:#f ff;}.alt #gamestats ul.stats{background:url(dots_bbb.gif) repeat-x;} .alt #gamestats ul.stats,.alt #gamestats ul.stats a,.alt #gamestats ul.stats spa n.data{color:#FFF;}#gamestats ul.move_connect li{background-color:#303030;color: #fff;}#gamestats ul.move_connect li span{background:url(move_kin.gif) no-repeat; }#gamestats ul.move_connect li span.move_required{background-position:0 -62px;}# gamestats ul.move_connect li span.kinect_compatible{background-position:0 -31px; }#gamestats ul.move_connect li span.move_compatible{background-position:0 -93px; } #gamestats ul.move_connect li a{color:#fff;}#gamestats .following_btn a:hover,#g amestats .follow_btn a:hover{text-decoration:none;}#gamestats .follow_btn a,#gam estats .following_btn a{display:inline;font:bold 18px arial,helvetica,sans-serif bold;line-height:34px;color:#fff;white-space:nowrap;}#gamestats .follow_btn:hov er{background:url(follow_h.png) no-repeat scroll 0 0 transparent;}#gamestats .fo llow_btn{width:104px;height:34px;margin:0 auto;background:url(follow00.png) no-r epeat scroll 0 0 transparent;text-align:center;} #gamestats .following_btn{width:104px;height:34px;margin:0 auto;background:url(f ollowin.png) no-repeat scroll 0 0 transparent;text-align:center;}#gamestats ul.m ove_connect li.stereoscopic{padding:5px 10px;}#gamestats ul.move_connect li.ster eoscopic span{background:url(supports.gif) no-repeat;padding:2px 0 2px 17px;font -size:10px;}.toggle_panel .body{padding:0 0 13px;width:480px;}.toggle_panel .bod y .wrap{border-width:0 2px;}.toggle_panel .wrap .wrap{border-width:0;padding:10p x 20px;} .toggle_panel .actions a.close{display:none;float:right;text-transform:lowercase ;padding-right:20px;}.toggle_panel_holder .clicked_open a.close{display:inline;} .toggle_panel,.toggle_panel .body,.toggle_panel .actions .close{background:url(s tatsbox.gif) no-repeat;}.toggle_panel{background-position:-2px -550px;color:#ccc ;}.toggle_panel .body{background-position:-2px bottom;}.toggle_panel .body .wrap {background-color:#0f0f0f;border-color:#434343;}.toggle_panel .actions .close{ba ckground-position:right -50px;color:#ff7e00;} .alt .toggle_panel{background-position:-484px -550px;color:#333;}.alt .toggle_pa nel .body{background-position:-484px bottom;}.alt .toggle_panel .body .wrap{bord er-color:#aeaeae;background-color:#e0e0e0;}.alt .toggle_panel .actions .close{ba ckground-position:right -100px;color:#cb5400;}.more_gamestats h2{font:bold 11px arial,helvetica,sans-serif;line-height:20px;padding:0 5px;}.more_gamestats p{mar gin:5px 0 0;}.more_gamestats ul.more_stats{font:10px tahoma,geneva,sans-serif;wi dth:100%;overflow:hidden;} .more_gamestats .stat{float:left;padding:0 0 5px;width:100%;}.more_gamestats .ac tions{font-size:12px;line-height:13px;height:1%;overflow:hidden;margin-top:15px; }.more_gamestats .actions a{float:left;}.more_gamestats .head{border-width:0;}.m ore_gamestats .label{font-size:10px;font-weight:bold;line-height:18px;padding:0 5px;}.more_gamestats .numbers{font:10px arial,helvetica,sans-serif;line-height:1 2px;text-align:center;padding:10px 0;}.more_gamestats .numbers dt,.more_gamestat s .numbers dd{display:inline;float:left;margin:0 3px 0 0;width:83px;} .more_gamestats .numbers dt{height:12px;line-height:12px;margin-right:-86px;padd ing:7px 0 0;}.more_gamestats .numbers dd{height:55px;margin-top:19px;}.more_game stats .numbers em{font-size:14px;font-weight:bold;line-height:29px;display:block ;}.more_gamestats .rank em{font-size:18px;}.more_gamestats .rank_change .dir{dis play:none;}.more_gamestats .rank_change .change{padding-left:7px;}.more_gamestat s .players{padding:0 0 10px;}.more_gamestats .players dl{margin:0 5px;font-size: 10px;line-height:12px;} .more_gamestats .aka{font-weight:bold;}.more_gamestats .user_tags ol{margin:4px 0 0;}.more_gamestats .user_tags li{display:inline;height:auto;margin:0 5px 0 0;p

adding:0;}.more_gamestats .universe ul{margin:10px 5px;}.more_gamestats .univers e .platforms a{font-weight:normal;}.more_gamestats .maturity_rating{padding:8px 0 0;}.more_gamestats .maturity_rating p{float:left;margin:0;width:100%;}.more_ga mestats .maturity_rating .maturity_rating_icon{display:inline;float:left;height: 0;overflow:hidden;}.more_gamestats .esrb .desc,.more_gamestats .pegi .desc{paddi ng-left:42px;} .more_gamestats .esrb .maturity_rating_icon{width:32px;margin-left:-42px;padding :44px 0 0;}.more_gamestats .pegi .maturity_rating_icon{width:32px;margin-left:-4 2px;padding:42px 0 0;}.more_gamestats .oflc_au .desc{padding-left:58px;}.more_ga mestats .oflc_au .maturity_rating_icon{width:48px;margin-left:-58px;padding:42px 0 0;}.more_gamestats .head{background:#373737;border-color:#373737;}.more_games tats h2,.more_gamestats .label{background:#595959;color:#ccc;}.more_gamestats .u ser_tags a,.more_gamestats .maturity_rating a{color:#fff;} .more_gamestats .rank .up,.more_gamestats .rank .down{background:url(statsbox.gi f) no-repeat;}.more_gamestats .rank .up{background-position:2px -247px;color:#18 d500;}.more_gamestats .rank .down{background-position:2px -266px;color:#c00;}.mo re_gamestats .universe .platforms a{color:#ccc;}.more_gamestats .numbers dt,.mor e_gamestats .numbers dd{background:#1f1f1f;}.more_gamestats .numbers dt.overall_ rank,.more_gamestats .numbers .overall_rank em{color:#ffba00;}.more_gamestats .p layers dt{background-position:0 2px;} .more_gamestats ul.more_stats li.numbers a,.more_gamestats ul.more_stats .number s dt.highest_rank,.more_gamestats ul.more_stats .numbers dd.highest_rank em{colo r:#ff7e00;}.alt .more_gamestats .head{background:#929292;border-color:#929292;}. alt .more_gamestats h2,.alt .more_gamestats .label{background:#7a7a7a;color:#fff ;}.alt .more_gamestats ul.more_stats a{color:#333;}.alt .more_gamestats li .plat forms a{color:#555;}.alt .more_gamestats .universe .platforms a{color:#333;}.alt .more_gamestats .numbers dt,.alt .more_gamestats .numbers dd{background:#fff;co lor:#333;} .alt .more_gamestats .numbers dt.overall_rank,.alt .more_gamestats .numbers .ove rall_rank em{color:#a97300;}.alt .more_gamestats li.esrb .desc,.alt .more_gamest ats li.pegi .desc{color:#333;}.summary_module .body{margin:10px 0 0;height:1%;}. summary_module div.useract_toolbar{margin:0 0 10px;}.summary_module .body div.ba nner{background-repeat:no-repeat;background-position:right 0;border:1px solid #0 00;height:140px;overflow:hidden;margin-bottom:10px;}.summary_module .deck{font-s ize:12px;font-weight:bold;padding:0 5px;} .summary_module .body ul.actions{padding:0 5px;}.summary_module .body ul.actions li{border-width:0 0 0 1px;display:inline;margin-left:7px;padding-left:8px;fontsize:12px;}.summary_module .body ul.actions li.first{border-width:0;margin:0;pad ding:0;}.xbox .dlc_demo_promo .head{height:31px;padding:0;}.xbox .dlc_demo_promo .head .wrap{overflow:hidden;padding-left:31px;}.xbox .dlc_demo_promo .head h2{l ine-height:32px;}.xbox .dlc_demo_promo .body{border-width:0 1px 1px;height:25px; line-height:26px;overflow:hidden;padding:3px 3px 3px 13px;} .xbox .dlc_demo_promo .body strong{font-size:12px;}.xbox .dlc_demo_promo a{float :right;height:25px;overflow:hidden;padding-left:4px;}.xbox .dlc_demo_promo a spa n{display:block;padding-right:24px;}.xbox .dlc_demo_promo a span span{padding:0 10px;}.xbox .dlc_demo_promo .head .wrap,.xbox .dlc_demo_promo .body,.xbox .dlc_d emo_promo a,.xbox .dlc_demo_promo a span{background:url(bg_dlc_d.gif) no-repeat 0 0;}.xbox .dlc_demo_promo .body{background-position:0 -31px;background-repeat:r epeat-x;color:#000;} .xbox .dlc_demo_promo a{background-position:0 -62px;color:#305800;}.xbox .dlc_de mo_promo a span{background-position:right -112px;}.xbox .dlc_demo_promo a span s pan{background-position:0 -87px;background-repeat:repeat-x;}#mini #similar_modul e{text-align:center;margin:10px 2px;}#mini #similar_module .body li{padding:10px 0;margin:0 5px;}#mini #similar_module .body li.promoted .wrap{width:118px;margi n:0 auto;padding-bottom:8px;}#mini #similar_module .body li.promoted span.promo_ head{display:block;font-size:10px;line-height:18px;margin-bottom:8px;} #similar_module li .thumb{display:block;}#similar_module li .thumb img{display:b lock;margin:0 auto;width:100px;border-width:1px;}#similar_module .title_bar{marg in-top:8px;line-height:12px;}#similar_module .title_bar h3{font-size:12px;displa y:inline;}#similar_module .more{margin-top:10px;font-size:11px;}#similar_module

.more p{text-align:left;padding:0 5px;}#mini #similar_module .body li.promoted . wrap{background-color:#5D5D5D;}#mini #similar_module .body li.promoted span.prom o_head{color:#FFF;background-color:#3C3C3C;} #similar_module img{border-color:#181818;}#mini #similar_module .body li{backgro und:url(dots_666.gif) repeat-x 0 bottom;}.alt #mini #similar_module .body li.pro moted .wrap{background-color:#393939;}.alt #mini #similar_module .body li.promot ed span.promo_head{color:#FFF;background-color:#252525;}.alt #similar_module .bo dy{background:transparent;}.alt #similar_module .title,.alt #similar_module .bod y a{color:#fff;}.alt #similar_module .platform,.alt #similar_module .more p{colo r:#ccc;} table.updates{font-size:11px;width:100%;}table.updates thead{display:none;visibi lity:collapse;}table.updates col.type,table.updates col.date{width:1%;}table.upd ates tbody td{border-width:0 0 1px;padding:4px 10px;}table.updates td.date{white -space:nowrap;}table.updates tbody .last td{border-width:0;}#esrb_module .body{f ont-size:12px;padding:5px 9px 9px;overflow:hidden;height:1%;}#esrb_module p{widt h:220px;float:left;margin-left:14px;}#esrb_module .logo{background:url(ratingsy. gif) no-repeat;overflow:hidden;float:left;height:0;width:48px;padding-top:71px;} #esrb_module .adultsonly .logo{background-position:0 0;}#esrb_module .everyone10 .logo{background-position:-48px 0;}#esrb_module .everyone .logo{background-posi tion:-96px 0;}#esrb_module .earlychild .logo{background-position:-144px 0;}#esrb _module .early .logo{background-position:-144px 0;}#esrb_module .mature .logo{ba ckground-position:-192px 0;}#esrb_module .ratingpend .logo{background-position:240px 0;}#esrb_module .pending .logo{background-position:-240px 0;}#esrb_module .teen .logo{background-position:-288px 0;} .story_list .body ul.details{padding-left:0;}.story_list ul.stories .thumb{width :120px;height:90px;}.story_list ul.stories .thumb img{width:120px;height:90px;}. gs_story .head h2{font-size:18px;line-height:25px;}.gs_story .byline{line-height :27px;padding:0 10px;}.gs_story .byline .author{margin-right:5px;font-weight:bol d;}.gs_story .byline .posted{font-size:10px;}.gs_story .deck p{font-size:14px;fo nt-weight:bold;margin:15px 0;}.gs_story .story_body{padding:15px 0 5px;}.gs_stor y .video_player{margin:10px 0;} .gs_story .byline{background:#1d1d1d;}.gs_story .end{background:transparent;}.gs _story .byline a{color:#FFEB00;}.gs_story div.social_share_actions,.gs_story .st ory_body{padding-top:6px;background:url(dots_666.gif) repeat-x 0 0;}.gs_story di v.social_share_actions{margin-bottom:5px;}.gs_story .story_body.updated{backgrou nd:none;}ul.review_emblems li{float:left;height:37px;width:37px;}ul.review_emble ms li img{display:block;height:37px;width:37px;}#side ul.review_emblems{float:le ft;margin:0 -5px 0 0;padding:0;} #side ul.review_emblems li{background-image:none;float:left;margin:5px 5px 0 0;p adding:0;}#gs_review .body .module{padding:0;}#gs_review .head{border-width:1px; }#gs_review #video_review{margin-bottom:10px;}#gs_review #video_review h3,#gs_re view #video_review div.download{float:left;width:100%;}#gs_review #video_review .body div.details{display:inline;}#gs_review #video_review .wrap{padding:10px 16 2px 10px 10px;height:1%;overflow:hidden;}#gs_review #video_review .no_thumb{padd ing-right:10px;}#gs_review #video_review div.deck{float:left;font-size:11px;marg in:5px 0;width:100%;} #gs_review #video_review div.deck p{margin:0;font-size:11px;font-weight:normal;} #gs_review #video_review .video_thumb{float:right;display:inline;width:140px;hei ght:80px;margin:0 -152px 0 10px;border-width:1px;}#gs_review #video_review .vide o_thumb a{display:block;width:140px;height:80px;position:relative;}#gs_review #v ideo_review .download a.watch,#gs_review #video_review .download a.watch_hd{padd ing-top:20px;overflow:hidden;}#gs_review #video_review .download a.watch{display :block;width:91px;height:0;float:left;margin-right:5px;} #gs_review #video_review .download a.watch_hd{display:block;width:112px;height:0 ;float:left;}#gs_review .review_proscons .body{padding:10px 0;height:1%;overflow :hidden;}#gs_review .review_proscons ul li{display:inline;font-weight:bold;}#gs_ review .review_proscons ul li span{overflow:hidden;padding:0 0 0 8px;}#gs_review .review_proscons .head{background-color:#4E4E4E;border-color:#222;}#gs_review # video_review .video_thumb{border-color:#656565;}#gs_review #video_review .downlo ad a.watch{background:transparent url(watch_vi.gif) no-repeat 0 -20px;}

#gs_review #video_review .download a.watch_hd{background:transparent url(watch_v i.gif) no-repeat;}#gs_review .review_proscons ul li span{background:transparent url(disc_6x6.gif) no-repeat 2px 5px;}.pc #gs_review .review_proscons ul li span{ background-position:2px -95px;}.xbox #gs_review .review_proscons ul li span{back ground-position:2px -195px;}.nintendo #gs_review .review_proscons ul li span{bac kground-position:2px -295px;} .playstation #gs_review .review_proscons ul li span{background-position:2px -395 px;}.alt .gs_story .byline{background:#E0E0E0;}.alt #gs_review .review_proscons .head{background-color:#979797;border-color:#7F7F7F;}.alt #gs_review #video_revi ew .video_thumb{border-color:#A4A4A4;}.alt #gs_review #video_review .download a. watch{background-position:0 -60px;}.alt #gs_review #video_review .download a.wat ch_hd{background-position:0 -40px;}.alt #gs_review .review_proscons ul li span{b ackground:transparent url(disc_6x6.gif) no-repeat 2px 5px;} .alt .pc #gs_review .review_proscons ul li span{background-position:2px -495px;} .alt .xbox #gs_review .review_proscons ul li span{background-position:2px -595px ;}.alt .nintendo #gs_review .review_proscons ul li span{background-position:2px -695px;}.alt .playstation #gs_review .review_proscons ul li span{background-posi tion:2px -795px;}#annotation_container{padding-top:15px;margin-bottom:-3px;}#ann otation_container #annotation .body{padding:5px 10px 10px;}#annotation_container #annotation .head{background:none;border:0;margin:1px 0 4px;padding:0;} #annotation_container #annotation .head .wrap{padding:0;height:100%;overflow:hid den;}#annotation_container #annotation h3{padding-left:18px;}#annotation_contain er #annotation h3 span{font-weight:normal;}#annotation_container #annotation .he ad ul.more a{font-weight:normal;}#annotation_container #annotation .pager{font-s ize:10px;margin-top:8px;}#annotation_container .submodule{font-weight:normal;wid th:460px;padding-top:7px;}#annotation_container .submodule a{font-weight:normal; }#annotation_container .submodule .wrap{padding:1px 10px 12px;} #annotation_container .submodule .details{font-weight:bold;margin:0;overflow:hid den;padding-bottom:7px;height:1%;}#annotation_container .submodule .details .typ e{float:left;width:180px;}#annotation_container .submodule .details .posted{font -size:11px;float:right;}#annotation_container .submodule .deck{font-size:11px;li ne-height:16px;margin-top:7px;}#annotation_container .annotation_updates .head s pan{font-weight:normal;}#annotation_container .annotation_updates .body{padding: 8px 10px;}#annotation_container{background:url(dots_666.gif) repeat-x 0 0;} #annotation_container #annotation{background-color:#000;}#annotation_container # annotation h3{background:transparent url(clock_ic.gif) no-repeat 0 4px;}#annotat ion_container .submodule{background:#1d1d1d url(corners_.gif) no-repeat 0 0;}#an notation_container .submodule .wrap{background:#1d1d1d url(corners_.gif) no-repe at 0 bottom;}#annotation_container .submodule{color:#ddd;}#annotation_container .submodule .details{border-bottom:1px solid #4e4e4e;color:#fff;} #annotation_container #annotation .pager{color:#6d6d6d;}#annotation_container .a nnotation_updates .head span{color:#fff;}#annotation_container .annotation_updat es .body{color:#fff;}#annotation_container #not_featured.annotation_updates .hea d{background-color:#000;border-color:#000;color:#8c8c8c;}.alt #annotation_contai ner #annotation{background-color:#6b6b6b;}.alt #annotation_container #annotation h3{background:transparent url(clock_ic.gif) no-repeat 0 -22px;}.alt #annotation _container .submodule{background:#eee url(corners_.gif) no-repeat 0 top;} .alt #annotation_container .submodule .wrap{background:#eee url(corners_.gif) no -repeat 0 bottom;}.alt #annotation_container .submodule{color:#fff;}.alt #annota tion_container .submodule .details{border-bottom:1px solid #c6c6c6;color:#3c3c3c ;}.alt #annotation_container .submodule .posted span{color:#fff;}.alt #annotatio n_container #annotation .pager{color:#ccc;}.alt #annotation_container .submodule .deck{color:#000;}.alt #annotation_container .annotation_updates .head span{col or:#fff;} .alt #annotation_container .annotation_updates .body{color:#333;}.alt #annotatio n_container #not_featured.annotation_updates .head{background-color:#979797;bord er-color:#979797;color:#fff;}.review_emblems_module .body{height:1%;overflow:hid den;}.review_emblems_module div.toggler{display:inline;float:right;font-size:11p x;}.module .review_emblems_module div.toggler{line-height:23px;height:23px;margi n:-23px 0 0;padding:0 10px;}.review_emblem_tip{width:380px;overflow:hidden;paddi

ng:20px 0 0;z-index:5999;} .review_emblem_tip .wrap{height:1%;overflow:hidden;padding:0 20px 20px;padding-l eft:119px;}.review_emblem_tip .tip_details{float:right;width:100%;}.review_emble m_tip .tip_img{float:left;margin:0 20px 0 -99px;height:77px;width:77px;padding:1 px;overflow:hidden;}.review_emblem_tip .tip_img img{display:block;height:77px;wi dth:77px;}.review_emblem_tip .tip_title{font-weight:bold;}.review_emblem_tip .ti p_text{font-size:11px;}.review_emblems_module div.toggler a.toggler{color:#fff;} .review_emblem_tip,.review_emblem_tip .wrap{background:url(review_e.gif) no-repe at 0 0;} .review_emblem_tip .wrap{background-position:0 bottom;}.review_emblem_tip .tip_d etails{color:#ccc;}.review_emblem_tip .tip_title{color:#ff7400;}.alt .review_emb lem_tip{background-position:-380px 0;}.alt .review_emblem_tip .wrap{background-p osition:-380px bottom;}.alt .review_emblem_tip .tip_details{color:#000;}.alt .re view_emblem_tip .tip_title{color:#bb4b00;}#player_review .user_reviews{margin-to p:10px;}#player_review .user_reviews .wrap{padding-left:168px;height:1%;overflow :hidden;}#player_review .avatar{border-width:1px;display:inline;float:left;heigh t:80px;margin:0 10px 0 -168px;width:80px;} #player_review .avatar a{background:transparent none;display:block;height:80px;w idth:80px;}#player_review .score{display:inline;float:left;height:82px;line-heig ht:1.2;margin:0 0 0 -93px;width:83px;}#player_review .username,#player_review .d eck{display:inline;float:right;text-align:left;margin:0;width:100%;font-size:14p x;font-weight:bold;}#player_review .score .score_wrap{padding:20px 6px 0 12px;te xt-align:center;}#player_review .score .numeric{font-size:36px;line-height:.8;}# player_review .details{float:left;margin-top:3px;width:100%;} #player_review .details li{border:0;float:left;margin:0;padding:0;width:100%;}#p layer_score_details{border-width:1px;line-height:16px;}#player_score_details .gs score_wrap{padding:0 10px;}#player_score_details dl.review_details{font-size:11p x;padding:10px;}#player_score_details dl.review_details dt{float:left;margin-rig ht:5px;}#player_score_details dl.review_details dd{font-weight:bold;color:#fff;} #player_score_details.has_scores{border:1px solid;padding:10px 0;}#player_score_ details.has_scores dl.review_details{float:left;padding-left:25px;padding:0 0 0 25px;line-height:20px;} #player_score_details.has_scores dl.review_details{border-bottom-width:0;bordertop-width:0;}#player_score_details.has_scores dl.scores{float:left;width:40%;bor der-right:1px solid;padding-right:25px;font-weight:bold;font-size:11px;}#player_ score_details.has_scores dl.scores dt{text-align:right;width:70px;padding:2px 0; }#player_score_details.has_scores dl.scores dd{float:right;padding-left:82px;tex t-align:right;width:20px;margin-top:-14px;height:13px;}#player_score_details.has _scores dl.scores dd.score_1{background-position:0 -12px;} #player_score_details.has_scores dl.scores dd.score_2{background-position:0 -24p x;}#player_score_details.has_scores dl.scores dd.score_3{background-position:0 36px;}#player_score_details.has_scores dl.scores dd.score_4{background-position: 0 -48px;}#player_score_details.has_scores dl.scores dd.score_5{background-positi on:0 -60px;}#player_score_details.has_scores dl.scores dd.score_6{background-pos ition:0 -72px;}#player_score_details.has_scores dl.scores dd.score_7{backgroundposition:0 -84px;}#player_score_details.has_scores dl.scores dd.score_8{backgrou nd-position:0 -96px;} #player_score_details.has_scores dl.scores dd.score_9{background-position:0 -108 px;}#player_score_details.has_scores dl.scores dd.score_10{background-position:l eft bottom;}#player_review_body{margin:10px 5px;}#player_review .body{color:#FFF ;}#player_review .body .score_summary dd.word{color:#FFF000;}#player_review .bod y .score_summary{background:#000;}#player_score_details{background-color:#1b1b1b ;border-color:#000;}#player_score_details.has_scores{background:#1b1b1b;border-c olor:#000;}#player_score_details.has_scores dl.scores dd{background:transparent url(gsscoreb.gif) no-repeat 0 0;} #player_score_details dl.review_details{border-color:#383838;}#player_score_deta ils dl.review_details dd,#player_review_body{color:#fff;}#player_review .avatar{ border-color:#383838;}#player_review .score a{color:#FFF;}#player_review .score{ background:url(bg_user_.gif) no-repeat 0 0;}.alt #player_review .score{backgroun d-position:0 -82px;}.alt #player_review .score a,.alt #player_review .body{color

:#333;}.alt #player_review .body .score_summary{background:#FFF;border-width:1px ;border-color:#BEBEBE;color:#515151;} .alt #player_review .body .score_summary dd.word,.alt #player_review .body .scor e_summary dd.choice a{color:#515151;}.alt #player_score_details{background-color :#EEE;border-color:#C0C0C0;}.alt #player_score_details.has_scores{background:#e4 e4e4;border-color:#9b9b9b;}.alt #player_score_details dl.review_details{border-c olor:#A5A5A5;}.alt #player_score_details dl.review_details dd,.alt #player_revie w_body{color:#424242;}.user_feedback_action{font-size:11px;padding:5px 10px;}.us er_feedback_action .wrap{height:1%;overflow:hidden;} .user_feedback_action .user_feedback{float:left;}.user_feedback_action .user_fee dback li{float:left;margin-right:7px;}.user_feedback_action .user_feedback ul{fl oat:left;}.user_feedback_action .user_feedback span{font-weight:bold;float:left; margin-right:10px;}.user_feedback_action .user_feedback li.pos a,.user_feedback_ action .user_feedback li.neg a{height:0;padding-top:14px;width:12px;overflow:hid den;display:block;float:left;}.user_feedback_action .user_feedback li.pos a{back ground-position:left top;} .user_feedback_action .user_feedback li.neg a{background-position:-28px top;}.us er_feedback_action .user_action{float:right;}.user_feedback_action .user_action li.track{padding-left:5px;float:right;}.user_feedback_action .user_action li.reg ulate{border-right-width:1px;padding-right:5px;float:right;}.user_feedback_actio n{background:#282828;}.user_feedback_action .user_action li.track a{color:#fff00 0;}.user_feedback_action .user_action li.regulate{border-right-color:#000;}.user _feedback_action li.pos a,.user_feedback_action li.neg a{background-image:url(th umbs00.gif);background-repeat:no-repeat;} .alt .user_feedback_action{background:#e4e4e4;border-color:#e4e4e4;color:#424242 ;}.alt .user_feedback_action .user_feedback li.pos a{background-position:0 -26px ;}.alt .user_feedback_action .user_feedback li.neg a{background-position:-28px 26px;}.alt .user_feedback_action li a{color:#333;}.alt .user_feedback_action .us er_action li.track a{color:#BB4B00;}.player_stats_module .body{padding:8px 10px; }.player_stats_module .body{background-color:#1f1f1f;}.alt .player_stats_module .body{background-color:#585858;color:#fff;} #communitychart_module .body{text-align:center;}#piechart_score{height:218px;wid th:430px;overflow:hidden;margin:0 auto;}#piechart_score img{float:left;margin:-1 px 0 0 -1px;}#community_chart_score{margin:0;}#community_chart_score img{height: 220px;margin:0;padding-bottom:10px;}#player_reviews_nav .page_nav{padding:10px 5 px;}#player_reviews_nav .more a,#player_reviews_nav .more a span{background:url( orange_b.gif) no-repeat;}#player_reviews_nav .more a{color:#fff;display:block;pa dding-left:10px;width:120px;margin:0 auto;} #player_reviews_nav .more span{display:block;padding-right:10px;text-align:cente r;height:24px;line-height:24px;}#player_reviews_nav .more a span{background-posi tion:right -24px;}#write_player_review.first .dlc_head{margin:10px 0 0;}#write_p layer_review p.help{font-size:11px;}#write_player_review .intro{margin:10px 0;fo nt-size:11px;}#write_player_review .intro ol{list-style-type:decimal;}#write_pla yer_review .intro ol li{padding-left:10px;margin-bottom:5px;list-style-position: inside;}#write_player_review p.intro_error{margin-top:10px;font-size:14px;} #write_player_review fieldset{margin-top:10px;}#write_player_review fieldset.sco ring{border-width:1px;padding:0 10px;margin-bottom:35px;}#write_player_review fi eldset.scoring ol li{height:1%;overflow:hidden;border-bottom-width:1px;padding:1 0px 0;}#write_player_review fieldset.scoring ol li.last{border-bottom-width:0;}# write_player_review fieldset.scoring label{float:left;line-height:23px;font-size :13px;}#write_player_review fieldset.scoring select{border:1px solid;float:right ;width:170px;font-size:11px;padding:3px 2px 3px 0;} #write_player_review fieldset.review label{font-weight:bold;}#write_player_revie w fieldset.review textarea{width:98%;border-width:1px;border-style:solid;padding :3px;}#write_player_review fieldset.review div.char_count{font-size:11px;margin: 5px 0 35px;}#write_player_review fieldset.review span.remaining_chars{border-lef t-width:1px;font-weight:bold;margin-left:5px;padding-left:5px;}#write_player_rev iew fieldset.review input.remaining_chars{border-width:0;width:25px;font-size:11 px;font-weight:bold;} #write_player_review fieldset.review textarea.review_body{margin:10px 0;}#write_

player_review input.button1{border-width:0;font-size:12px;font-weight:bold;heigh t:24px;width:120px;margin-right:8px;}#write_player_review input.submit{border-wi dth:0;font-size:12px;font-weight:bold;height:24px;width:95px;margin-right:8px;}# write_player_review .raing_slider{height:40px;}#write_player_review .rating_slid er div.wrap{padding:0 55px 0 278px;height:1%;overflow:hidden;}#write_player_revi ew .rating_slider div.slider{float:none;width:101px;margin:15px 0 0 12px;height: 13px;background-position:left top;} #write_player_review .rating_slider div.slider .scale{top:0;}#write_player_revie w .rating_slider div.slider p.msg{float:left;margin-left:-287px;margin-top:0;pos ition:relative;line-height:13px;}#write_player_review .rating_slider div.score s pan.data{float:right;padding:0 12px;line-height:39px;font-size:22px;margin-right :-55px;font-weight:bold;}#write_player_review .rating_slider div.score span.labe l{margin-left:-278px;float:left;font-size:13px;line-height:22px;}#write_player_r eview p.intro_error{color:red;} #write_player_review fieldset.scoring,#write_player_review fieldset.review texta rea{background-color:#1F1F1F;border-color:#000;}#write_player_review fieldset.sc oring ol li{border-color:#343434;}#write_player_review fieldset.scoring select{b order-color:#5E5E5E;background-color:#1F1F1F;color:#CCC;}#write_player_review fi eldset label,#write_player_review fieldset.scoring select,#write_player_review f ieldset.review span.remaining_chars,#write_player_review p.intro,#write_player_r eview strong.heading,#write_player_review .rating_slider .score span.label,#writ e_player_review fieldset.review textarea{color:#FFF;} #write_player_review fieldset.scoring p.help{color:#999;}#write_player_review fi eldset.review input.remaining_chars{background-color:transparent;color:#FFF;}#wr ite_player_review fieldset.review span.remaining_chars{border-color:#CCC;}#write _player_review .rating_slider{background:transparent url(user_rat.gif) no-repeat 275px 1px;}#write_player_review input.button1,#write_player_review input.submit {background:url(button00.gif) no-repeat 0 0;color:#FFF;}.alt #write_player_revie w fieldset.scoring,.alt #write_player_review fieldset.review textarea{background -color:#EEE;border-color:#C1C1C1;} .alt #write_player_review fieldset.scoring ol li{border-color:#B4B4B4;}.alt #wri te_player_review fieldset.scoring select{border-color:#B4B4B4;background-color:# FFF;color:#FFF;}.alt #write_player_review fieldset label,.alt #write_player_revi ew fieldset.scoring select,.alt #write_player_review fieldset.review span.remain ing_chars,.alt #write_player_review p.intro,.alt #write_player_review strong.hea ding,.alt #write_player_review .rating_slider .score span.label,.alt #write_play er_review fieldset.review textarea{color:#333;} .alt #write_player_review fieldset.scoring p.help,.alt #write_player_review fiel dset.review p.help,.alt #write_player_review fieldset.review span.char_rule{colo r:#999;}.alt #write_player_review fieldset.review input.remaining_chars{backgrou nd-color:transparent;color:#333;}.alt #write_player_review fieldset.review span. remaining_chars{border-color:#CCC;}.alt #write_player_review .rating_slider{back ground:transparent url(user_rat.gif) no-repeat 275px -39px;}.alt #write_player_r eview input.submit{color:#FFF;} #critic_score_module .body{padding-bottom:5px;text-align:right;}#critic_score_mo dule p{font-size:10px;padding:0 10px;margin-top:10px;text-align:left;}#critic_sc ore_module .critic{float:left;}#critic_reviews table{width:100%;font-size:11px;} #critic_reviews table caption{display:none;}#critic_reviews td{padding:3px 5px;} #critic_reviews td.site{width:250px;}#critic_reviews td.score{width:77px;font-we ight:bold;}#critic_reviews td.date{width:123px;text-align:right;}#critic_reviews .body table tbody{background-color:#141414;} #critic_reviews .alt td{background-color:#202020;}.alt #critic_reviews .alt td{b ackground:#9B9B9B;}.alt #critic_reviews .body table tbody{background-color:#FFF; }.alt #critic_reviews .alt td{background-color:#E5E5E5;}#tech_info .body{font-si ze:11px;line-height:16px;padding:5px;}#tech_info .body .module{padding:0;clear:l eft;}#tech_info .module .body{padding:10px 0 20px;height:1%;overflow:hidden;}#te ch_info dl.game_info dd{font-weight:bold;}#tech_info dt{float:left;margin-right: 5px;}#tech_info dl.credits dt,#tech_info dl.credits dd{width:50%;line-height:20p x;} #tech_info dl.credits dt.alt,#tech_info dl.credits dt{margin:0;}#tech_info dl.cr

edits dd{float:left;font-weight:bold;}#tech_info table{width:100%;}#tech_info ta ble th,#tech_info table td{width:50%;line-height:20px;}#tech_info table td{fontweight:bold;}#tech_info .body a{color:#FFEB00;}#tech_info table tr.alt th,#tech_ info table tr.alt td{background-color:#343434;}.alt #tech_info .body a{color:#33 3;}.alt #tech_info dl.credits dt.alt,.alt #tech_info dl.credits dd.alt{backgroun d:#E0E0E0;}.alt #tech_info table tr.alt th,.alt #tech_info table tr.alt td{backg round-color:#E0E0E0;} .gamespace_images .nav_top{margin-bottom:15px;}.gamespace_images .ad_unit_mpu{fl oat:right;margin:0 0 31px;height:260px;width:300px;}.gamespace_images .ad_unit_h alfpage-mpu{float:right;margin:0 0 31px;height:auto;width:300px;}.gamespace_imag es .body .batch{padding:0 10px;margin-top:10px;}.gamespace_images .batch .body{d isplay:inline;float:left;margin-left:-15px;width:785px;}.gamespace_images .body .batch h3{margin-bottom:15px;font-size:12px;padding-bottom:5px;}.gamespace_image s .image_grid{display:inline;} .gamespace_images .image_grid li{float:left;margin:0 0 15px 15px;border:1px soli d #3B3B3B;display:inline;}.gamespace_images .image_grid a,.gamespace_images .ima ge_grid img{display:block;width:140px;height:80px;}#user_image_index .ad_unit_mp u{margin-top:0;}#user_image_index .batch{margin:15px 0;height:1%;overflow:hidden ;}#user_image_index .image_grid a,#user_image_index .image_grid img{width:120px; }.gamespace_images .batch h3{border-bottom:1px solid #b3b3b3;}.gamespace_images p.deck{color:#FFF;}.gamespace_images .module img{border-color:#151515;} .alt .gamespace_images p.deck,.alt .gamespace_images .batch h3{color:#6B6B6B;}.a lt .gamespace_images .batch img{border-color:#989898;}.alt .gamespace_images .pa ge_nav{background:#e4e4e4;border:1px solid #bebebe;}.alt .gamespace_images .page _nav li{background:#fff;color:#818181;}.alt .gamespace_images .page_nav li.on,.a lt .gamespace_images .page_nav li.ellipsis{background:transparent;}#content #upl oad_video .body{border-width:0 1px;}#content #upload_video .body .wrap{padding:1 00px 18px 0;}#content #upload_video .body p{line-height:16px;margin:0;padding:5p x 0 8px;} #content #upload_video .body ul.actions{overflow:hidden;padding:0 0 5px;width:10 0%;}#content #upload_video .body ul.actions li{border-width:0;float:left;marginleft:10px;padding:0;}#content #upload_video .body ul.actions li a{border-width:1 px;display:block;height:20px;line-height:20px;text-align:center;width:115px;}#co ntent #side #upload_video{background-position:left bottom;padding-bottom:7px;}#c ontent #upload_video .head{background:#505050;border-color:#050505;}#content #up load_video .body{background:#fff;border-color:#b9b9b9;color:#000;} #content #upload_video .body .wrap{background:url(upload_v.gif) 0 0;}#content #u pload_video .body ul.actions li a{background:#eb7d26 url(button00.gif);border-co lor:#ba6401;color:#fff;}#content #side #upload_video{background-color:#2f2f2f;ba ckground-image:url(upload_v.gif);}.alt #content #side #upload_video{background-c olor:#fff;}.alt #content #side #upload_video.video_hub{background-color:#cdcdcd; }.dlc_summary_module .body{padding:0 5px;}div.dlc_item_stats_module .product{pad ding:10px 0 0;height:1%;overflow:hidden;} div.dlc_item_stats_module .has_boxshot .product{padding-left:102px;}div.dlc_item _stats_module .has_score .product{padding-right:170px;}div.dlc_item_stats_module div.specs{float:left;width:100%;}div.dlc_item_stats_module .body div.review_sco res{display:inline;float:right;margin:0 -170px 0 10px;padding:0;width:160px;}div .dlc_item_stats_module .body div.boxshot{border-width:1px;float:left;margin:0 0 0 -102px;width:100px;}div.dlc_item_stats_module .body div.boxshot img{display:bl ock;width:100px;}div.dlc_item_stats_module ul.specs{padding:5px 0 0 15px;font-si ze:12px;line-height:1.5;} div.dlc_item_stats_module ul.specs .data{font-weight:bold;}div.dlc_item_stats_mo dule .buy_dlc{height:1%;overflow:hidden;margin:10px 0 0;padding:0 15px;}div.dlc_ item_stats_module .buy_dlc a:hover{text-decoration:underline;}div.dlc_item_stats _module .buy_dlc a.buy,div.dlc_item_stats_module .buy_dlc a.buy span{font-size:1 2px;line-height:24px;height:24px;float:left;}div.dlc_item_stats_module .buy_dlc a.buy{padding:0 0 0 15px;}div.dlc_item_stats_module .buy_dlc a.buy span{padding: 0 15px 0 0;}div.dlc_item_stats_module .buy_dlc a.buy,div.dlc_item_stats_module . buy_dlc a.buy span{background:url(orange_b.gif) no-repeat 0 0;} div.dlc_item_stats_module .buy_dlc a.buy{color:#fff;}div.dlc_item_stats_module .

buy_dlc a.buy span{background-position:right -24px;}#gfaqs_answers_questions .mo re{display:block;text-align:center;padding:13px 0;}#gfaqs_answers_questions li . title{color:#FFEF00;}.alt #gfaqs_answers_questions li .title{color:#BB4B00;}#sit e_layout #content .contain_all_mobile .body{border-width:0 1px 1px;}.mobile_red_ btn a,.mobile_red_btn span{background:url(red_grad.gif) no-repeat 0 0;color:#fff ;float:left;height:26px;line-height:26px;overflow:hidden;padding-left:1px;} .mobile_red_btn span{background-position:right -52px;padding:0 1px 0 0;}.mobile_ red_btn span span{background-position:0 -26px;background-repeat:repeat-x;padding :0 13px;}.mobile_gamestats_module{margin-bottom:0;}.mobile_gamestats_module .bod y{margin-bottom:5px;padding:10px 0;border-bottom:1px solid #c4c4c4;}.mobile_game stats_module .product{height:1%;overflow:hidden;padding:0 276px 0 108px;}.mobile _gamestats_module .basics{display:inline;float:left;margin:0 8px 0 -108px;width: 100px;}.mobile_gamestats_module .basics .boxshot{margin-bottom:10px;overflow:hid den;width:104px;} .mobile_gamestats_module .basics .boxshot img{display:block;margin:0 auto;}.mobi le_gamestats_module div.specs,.mobile_gamestats_module .stats{float:left;font-si ze:11px;line-height:16px;overflow:hidden;width:100px;}.mobile_gamestats_module d iv.specs{padding-right:8px;width:158px;}.mobile_gamestats_module ul.specs{paddin g:2px 0 5px;}.mobile_gamestats_module .label{font-weight:bold;}.mobile_gamestats _module .buy{overflow:hidden;padding-top:7px;width:100%;}.mobile_gamestats_modul e .user_engagement{display:inline;float:right;margin:0 -276px 0 8px;width:268px; } .mobile_gamestats_module .unreleased{width:auto;}.mobile_gamestats_module .user_ engagement div.review_scores{margin:0 0 10px;}.mobile_gamestats_module .user_eng agement div.review_scores,.mobile_gamestats_module .user_engagement .review_scor es .body{border:0;padding:0;}.mobile_gamestats_module ul.specs a{font-weight:nor mal;}.mobile_gamestats_module .follow_btn{width:100px;height:30px;margin:0 auto; background:url("follow_b.gif") no-repeat scroll 0 0 transparent;text-align:cente r;} .mobile_gamestats_module .follow_btn a{display:inline;height:30px;font:bold 12px /28px arial,helvetica,sans-serif bold;line-height:28px;color:#fff;white-space:no wrap;}body.alt .portable .follow_btn a{color:#fff;}.mobile_gamestats_module .spe cs .publisher .data,.mobile_gamestats_module .specs .genre .data{color:#c00;}.mo bile_gamestats_module .head_gamestats{font-size:11px;line-height:14px;padding:0; position:relative;}.mobile_gamestats_module .head_gamestats .module_title{line-h eight:22px;margin-right:40px;padding:0;} .mobile_gamestats_module .head_gamestats .head_gamestats{float:left;margin:7px 0 0;}.mobile_gamestats_module .head_gamestats .wrap{padding:8px 10px 8px 0;overfl ow:hidden;}.mobile_gamestats_module .head_gamestats_beston .wrap{padding-right:2 76px;}.mobile_gamestats_module .head_gamestats_beston div.beston{position:absolu te;bottom:0;right:0;margin:0;padding:0 10px 8px 0;width:266px;text-align:right;} .mobile_gamestats_module .head_gamestats_beston .label{font-weight:normal;}.mobi le_gamestats_module .head_gamestats_beston .label,.mobile_gamestats_module .head _gamestats_beston ul.beston,.mobile_gamestats_module .head_gamestats_beston ul.b eston li{display:inline;} .mobile_gamestats_module .head_gamestats_beston ul.beston li{margin:0 0 0 10px;} #site_layout .mobile_gamestats_module .unreleased div.useract_toolbar{float:righ t;}#site_layout .mobile_gamestats_module .unreleased div.useract_actions,#site_l ayout .mobile_gamestats_module .unreleased ul.useract_toolbar{float:left;width:a uto;}.mobile_summary_module .deck{font-size:12px;font-weight:normal;}.portable . user_reviews_module .foot{font-size:12px;}.mobile_gaming_articles{background:#c0 0;border:1px solid #300;;margin:10px 5px;padding:0 28px 20px;} .mobile_gaming_articles .head{border:0;height:39px;overflow:hidden;padding:0;}.m obile_gaming_articles .head .wrap{padding:0;}.mobile_gaming_articles .head h2,.m obile_gaming_articles .head ul.more{font-size:18px;line-height:44px;}.mobile_gam ing_articles .head ul.more{font-size:14px;}.mobile_gaming_articles .body{backgro und:url(mobile_g.gif) no-repeat 9px bottom;display:inline;float:left;margin-left :-8px;padding-bottom:4px;}.mobile_gaming_articles ul.stories{float:left;height:1 %;overflow:hidden;padding:0;} .mobile_gaming_articles ul.stories li.story{background:#fff url(corners_.gif) no

-repeat 0 0;display:inline;float:left;margin:0 0 -200px 8px;padding:12px 0 200px ;width:295px;}.mobile_gaming_articles ul.stories li.story .wrap{background-posit ion:-295px bottom;padding:0 170px 8px 18px;}.mobile_gaming_articles ul.stories l i.no_thumb .wrap{padding-right:18px;}.mobile_gaming_articles ul.stories p{color: #333;}#container .mobile_gaming_articles ul.stories .title a{color:#bb4b00;}#mpu _layout.portable #similar_module{margin:10px 0;} #mpu_layout.portable #similar_module .head{padding-left:5px;}#mpu_layout.portabl e #similar_module .head .wrap{padding-right:5px;}#mpu_layout.portable #similar_m odule .body{padding:0 0 10px;}#mpu_layout.portable #similar_module .body li{marg in:0 10px;}#mpu_layout.portable #similar_module .more p{padding:0 10px;}.alt #mp u_layout.has_nav #mini #similar_module .body li{background-image:url(dots_bbb.gi f);}.alt #mpu_layout.portable #similar_module{background:#e8e8e8;}.alt #mpu_layo ut.portable #similar_module .title,.alt #mpu_layout.portable #similar_module .bo dy a{color:#333;} .alt #mpu_layout.portable #similar_module .platform,.alt #mpu_layout.portable #s imilar_module .more p{color:#333;}.gameplay_trend .body{padding:1px;}.alt .gamep lay_trend .body{border-width:0 1px;}.gameplay_trend .body .wrap{height:107px;ove rflow:hidden;padding-bottom:8px;}.gameplay_trend .details{float:left;padding:0 7 px 0 6px;position:relative;width:238px;}.gameplay_trend .details dl{clear:both;f loat:left;overflow:hidden;padding:12px 0 0;position:absolute;}.gameplay_trend .d etails dd{float:left;font-size:14px;padding-right:5px;} .gameplay_trend .chart{padding:46px 0 0;}.gameplay_trend .chart img{display:bloc k;margin:0 auto;}.gameplay_trend .top_games_index{float:right;width:225px;}.game play_trend .top_games_index dt{border-width:0 0 1px;display:block;padding:11px 0 2px;}.gameplay_trend .top_games_index dd{float:left;height:79px;overflow:auto;w idth:100%;}.gameplay_trend td{font-size:9px;font-weight:bold;padding:2px;}.gamep lay_trend .on td{font-size:11px;}.gameplay_trend .rank{text-align:center;width:1 %;}.gameplay_trend .title{width:100%;} .gameplay_trend .foot{border-width:1px;height:1%;overflow:hidden;padding:0;}.gam eplay_trend .foot ul{float:left;height:35px;overflow:hidden;width:100%;}.gamepla y_trend .foot li{float:left;line-height:35px;padding:0 9px;}.gameplay_trend .foo t .top_games{border-right-width:1px;}.gameplay_trend .foot .learn_raptr{float:no ne;text-align:right;}.gameplay_trend .foot .learn_raptr a.logo{display:inline;fl oat:right;height:0;margin-left:8px;overflow:hidden;padding:33px 0 0;width:77px;} .gameplay_trend .body{background-color:#141414;color:#fff;} .xbox .gameplay_trend .details dl strong{color:#366300;}.pc .gameplay_trend .det ails dl strong{color:#32bfff;}.playstation .gameplay_trend .details dl strong{co lor:#8FA1FF;}.gameplay_trend .alt td{background:#1d1d1d;}.gameplay_trend td,#con tainer .gameplay_trend .title a{color:#4e4e4e;}.gameplay_trend .foot,.gameplay_t rend .foot .learn_raptr a.logo{background:url(bg_gamep.gif) repeat-x 0 -180px;}. gameplay_trend .foot{border-color:#1d1d1d;}.gameplay_trend .foot .top_games{back ground-color:#3d3d3d;border-right-color:#1d1d1d;} .gameplay_trend .foot .learn_raptr a.logo{background-position:0 -36px;background -repeat:no-repeat;}.alt .gameplay_trend .body,.alt .gameplay_trend .foot{bordercolor:#b3b3b5;}.alt .gameplay_trend .body{background-color:transparent;color:#33 3;}.alt .gameplay_trend td{color:#4e4e4e;font-weight:bold;padding:2px;}.alt .gam eplay_trend .alt td{background:#f2f2f2;}.alt .gameplay_trend td a,body.alt #cont ainer .gameplay_trend .title a{color:#4e4e4e;}.alt .playstation .gameplay_trend .details dl strong,body.alt .playstation #container .gameplay_trend .on td,body. alt .playstation #container .gameplay_trend .on .title a{color:#280E77;} .alt .xbox .gameplay_trend .details dl strong,body.alt .xbox #container .gamepla y_trend .on td,body.alt .xbox #container .gameplay_trend .on .title a{color:#366 300;}.alt .gameplay_trend .foot ul,.alt .gameplay_trend .foot .learn_raptr a.log o,.alt .xbox .gameplay_trend .foot .top_games,.alt .playstation .gameplay_trend .foot .top_games,.alt .pc .gameplay_trend .foot .top_games{background:url(bg_gam ep.gif) repeat-x 0 -72px;}.alt .gameplay_trend .foot .learn_raptr a.logo{backgro und-position:0 0;} .alt .gameplay_trend .foot .top_games{border-right-color:#b3b3b5;}.alt .xbox .ga meplay_trend .foot .top_games{background-position:0 -108px;}.alt .pc .gameplay_t rend .foot .top_games{background-position:0 -144px;}.achievement_header .head,.a

chievement_profile .head{height:1%;overflow:hidden;}.achievement_header .head h2 ,.achievement_profile .head h2{display:block;float:none;}.achievement_header .he ad ul.more,.achievement_profile .head ul.more{float:left;line-height:1;padding-b ottom:8px;}.achievement_subhead{height:31px;line-height:30px;overflow:hidden;pad ding:8px;} .alt .achievement_subhead .raptr_logo,.achievement_subhead .raptr_logo{float:lef t;font-size:10px;font-weight:normal;line-height:12px;margin-top:-2px;text-align: right;}.achievement_subhead .raptr_logo span{position:relative;}.achievement_sub head .raptr_logo strong{display:block;height:0;margin-top:-6px;overflow:hidden;p adding-top:30px;width:83px;}.achievement_subhead .print_sheet,.achievement_subhe ad form{float:right;}.achievement_subhead .print_sheet,.achievement_subhead .pri nt_sheet strong,.achievement_subhead .print_sheet span{height:21px;line-height:2 0px;overflow:hidden;padding-left:3px;} .achievement_subhead .print_sheet,.alt .achievement_subhead .print_sheet{font-si ze:10px;margin:5px 0;}.achievement_subhead .print_sheet strong,.achievement_subh ead .print_sheet span{float:left;}.achievement_subhead .print_sheet strong{fontweight:normal;padding:0 3px 0 0;}.achievement_subhead .print_sheet strong span{p adding:0 5px;}.achievement_subhead .print_sheet span span{padding:0 0 0 20px;}.a chievement_subhead form{height:30px;}.achievement_subhead fieldset{float:left;}. achievement_subhead label{float:left;} .achievement_subhead select{border-width:1px;display:inline;float:left;font-size :10px;margin:6px 10px;width:151px;}.achievement_subhead form .hidden{display:non e;}.achievement_subhead{background:#636363;}.achievement_subhead .raptr_logo{col or:#fff;}.achievement_subhead .raptr_logo strong{background:url(raptr_lo.png) no -repeat 0 -46px;}.achievement_subhead .print_sheet,.achievement_subhead .print_s heet strong,.achievement_subhead .print_sheet span{background:url(bgs_achi.png) no-repeat 0 -191px;} .achievement_subhead .print_sheet{color:#fff;}.achievement_subhead .print_sheet strong{background-position:right -253px;}.achievement_subhead .print_sheet stron g span{background-position:0 -222px;background-repeat:repeat-x;}.achievement_sub head .print_sheet span span{background-position:0 -280px;background-repeat:no-re peat;}.achievement_subhead label{color:#fff;}.achievement_subhead select{bordercolor:#737373;}.alt .achievement_subhead .raptr_logo{color:#fff;}.alt .achieveme nt_subhead .print_sheet{color:#fff;} .achievement_profile .body .achieve_wrap{padding-top:10px;}.achievement_profile .description .title{font-size:16px;line-height:18px;}.acheivement_profile .descr iption p{margin-bottom:15px;}.achievement_profile .details{float:right;overflow: hidden;width:100%;}.achievement_profile .stats{height:100%;overflow:hidden;}.ach ievement_profile .stats li{float:left;font-weight:bold;padding:0 20px 10px 0;whi te-space:nowrap;}.achievement_profile .body .profile strong,.alt .achievement_pr ofile .body .profile strong{position:relative;border-width:1px;display:block;fon t-size:10px;font-weight:normal;height:20px;line-height:20px;overflow:hidden;padd ing:0 5px 0 47px;} .achievement_profile .profile dl{height:100%;margin-top:-15px;overflow:hidden;pa dding:0 11px 11px 47px;}.achievement_profile .profile dt,.achievement_profile .p rofile dd{float:right;font-size:10px;height:32px;line-height:48px;overflow:hidde n;width:100%;}.achievement_profile .profile dt a{font-weight:normal;}.achievemen t_profile .profile em{font-style:italic;}.achievement_profile .profile .thumb,.a chievement_profile .profile .thumb img{height:32px;width:32px;}.achievement_prof ile .profile .thumb{margin:0 6px 0 -40px;} .achievement_profile .profile .thumb img,.alt .layout .achievement_profile .prof ile .thumb img{border:0;}.achievement_profile .description .title{color:#fff;}.a chievement_profile .profile{background:#1d1d1d;}.achievement_profile .body .prof ile strong{background:#4e4e4e;border-color:#303030;color:#fff;}.achievement_prof ile .profile dt a{color:#ffef00;}.achievement_profile .profile .thumb,.achieveme nt_profile .profile .thumb img{background:black;}.alt .achievement_profile .desc ription .title{color:#333;} .alt .achievement_profile .profile{background:#eee;}.alt .achievement_profile .b ody .profile strong{background:#4e4e4e;border-color:#303030;color:#ffde00;}.alt .achievement_profile .profile dt a{color:#fa7300;}.achievement_unlockers .body{h

eight:1%;overflow:hidden;padding:0 10px;}.achievement_unlockers .page_nav{backgr ound:none;}.unlockers_list{float:left;padding:10px 0 0;width:100%;}.unlockers_li st li{float:left;padding:8px 0 9px;width:100%;}.unlockers_list .wrap{height:26px ;line-height:26px;overflow:hidden;padding:0 0 0 46px;} .unlockers_list .user_info{float:right;width:100%;}.unlockers_list .user_info st rong{float:left;}.unlockers_list .user_info .max_achievement{display:inline;floa t:left;height:0;margin:5px;overflow:hidden;padding-top:17px;width:43px;}.unlocke rs_list .user_info .date{float:right;}.unlockers_list .thumb,.unlockers_list .th umb img{display:block;height:24px;width:24px;}.unlockers_list .thumb{border-widt h:1px;display:inline;float:left;margin:0 20px 0 -46px;overflow:hidden;}.unlocker s_list li{background:url(dots_999.gif) repeat-x 0 bottom;} .unlockers_list .user_info .max_achievement{background:url(bgs_achi.png) no-repe at 0 -164px;}.unlockers_list .thumb{border-color:#4f4f4f;}.user_achievement_stat s .body,#mpu_layout .user_achievement_stats .body{padding:17px 17px 7px;}.user_a chievement_stats .profile{height:100%;margin-bottom:10px;overflow:hidden;}.user_ achievement_stats .profile_wrap{padding:0 0 0 55px;}.user_achievement_stats .pro file .info,.user_achievement_stats .profile .avatar{float:right;width:100%;}.use r_achievement_stats .profile .avatar{display:inline;float:left;margin:0 9px 0 -5 5px;overflow:hidden;height:46px;width:46px;} .user_achievement_stats strong,.user_achievement_stats .profile .info a,.user_ac hievement_stats .profile .avatar a{display:block;}.user_achievement_stats .profi le .info strong{font-weight:normal;}.user_achievement_stats .profile .avatar img {border-width:1px;display:block;height:44px;width:44px;}.user_achievement_stats .avg_usr_headline{margin-bottom:5px;}.user_achievement_stats .achievement_bar{ma rgin-bottom:10px;}.user_achievement_stats .text{width:100%;}.user_achievement_st ats .perc{float:left;} .user_achievement_stats .total{float:right;}.user_achievement_stats .foot{border -top-width:1px;height:100%;line-height:20px;padding:0;}.user_achievement_stats . foot .foot_wrap{border-top-width:1px;height:1%;overflow:hidden;padding:6px 10px; position:relative;}.user_achievement_stats .foot strong{display:inline;float:lef t;margin-right:9px;}.user_achievement_stats,#mpu_layout .user_achievement_stats{ background-color:#1d1d1d;}.user_achievement_stats .avg_usr_headline{color:#ccc;} .user_achievement_stats .foot{background:#616161 url(bg_achie.gif) repeat-x 0 0; border-top-color:#2b2b2b;color:#fff;} .user_achievement_stats .foot .foot_wrap{background:url(corners_.gif) no-repeat scroll -440px bottom;border-top-color:#616161;}.alt .user_achievement_stats .pro file .info strong{color:#ccc;}.alt .user_achievement_stats .foot .foot_wrap{back ground-image:url(corners_.gif);background-position:-160px bottom;}.achievement_c lub .body{height:1%;overflow:hidden;padding:10px;}.achievement_club .body p{marg in:0;padding-bottom:9px;}.achievement_club .body .unlockers_list{padding:0;} .achievement_club .body .unlockers_list li{padding:8px 0 9px;}.achievement_club .body .unlockers_list .max_achievement{float:right;}.achievement_club .body p{ba ckground:url(dots_999.gif) repeat-x 0 bottom;}.user_achievement_profile{height:1 %;overflow:hidden;}.user_achievement_profile .profile_wrap{padding:0 0 0 88px;}. user_achievement_profile .info,.user_achievement_profile .avatar{float:right;ove rflow:hidden;width:100%;}.user_achievement_profile .avatar{display:inline;float: left;margin:0 10px 0 -88px;height:78px;overflow:hidden;width:78px;} .user_achievement_profile .play_stats{line-height:24px;margin-bottom:8px;overflo w:hidden;width:100%;}.user_achievement_profile .play_stats li{float:left;font-si ze:10px;font-style:italic;padding-right:7px;}.user_achievement_profile .achievem ent_bar{margin:10px 0;}.user_achievement_profile .text{width:100%;}.user_achieve ment_profile .perc{float:left;}.user_achievement_profile .total{float:right;}#co mmerce_module .body{padding:8px 5px 8px 0;}#commerce_module .wrap{overflow:hidde n;height:1%;}#commerce_module .commerce_btn{font-size:11px;width:140px;overflow: hidden;display:inline;float:left;width:140px;margin-left:6px;} #commerce_module .commerce_btn a{display:block;height:25px;line-height:25px;padd ing-right:4px;text-decoration:none;}#commerce_module .commerce_btn .price{float: right;font-size:12px;}#commerce_module .compare_link{display:block;padding:2px 0 5px;text-align:center;}#content #commerce_module .commerce_btn a{color:#fff;}#c ommerce_module .wrap.one_btn_layout{background:transparent url(one_btn_.gif) no-

repeat top right;}#commerce_module .compare_wrap{background:#151515 url(corners_ .gif) no-repeat scroll -440px bottom;} #commerce_module .commerce_text{background:transparent url(dots_fff.gif) repeatx scroll 0 18px;}#commerce_module .commerce_text .copy{background:#2F2F2F;color: #fff;}#commerce_module .wrap.one_btn_layout{padding-right:7px;}#commerce_module .commerce_text{display:inline;float:right;width:138px;}#commerce_module .commerc e_text .copy{float:right;font-size:12px;font-weight:bold;padding:7px 0 0 5px;wid th:auto;}#commerce_module .itunes a,#commerce_module .itunes .vendor{background: url(itunes_b.gif) no-repeat 0 0;} #commerce_module .itunes a{background-position:0 -38px;text-align:right;position :relative;padding:0 3px;}#commerce_module .itunes .vendor{background-position:3p x -19px;float:left;height:0;padding:19px 0 0;width:131px;overflow:hidden;margintop:3px;}#commerce_module .itunes_noprice .vendor{background-position:3px 0;}#co mmerce_module .amazon_uk a,#commerce_module .amazon_uk .vendor{background:url(am azon_u.gif) no-repeat 0 2px;}#commerce_module .amazon_uk a{background-position:0 -15px;height:26px;line-height:24px;padding:0 5px 0 0;} #commerce_module .amazon_uk .vendor{float:left;height:0;padding:17px 0 0;width:7 7px;overflow:hidden;margin:5px 0 0;}#commerce_module .amazon_uk .text{font-famil y:tahoma,geneva,sans-serif;font-size:10px;font-weight:bold;text-align:center;wid th:100px;margin-left:4px;}.alt #commerce_module.contain_all{background-color:#91 9191;}.alt #commerce_module .compare_wrap{background:#D2D2D2 url(corners_.gif) n o-repeat scroll -160px bottom;}.alt #commerce_module .wrap.one_btn_layout{backgr ound:transparent url(one_btn_.gif) no-repeat top right;} .alt #commerce_module .commerce_text .copy{background:#5A5A5A;}#gm_shop_mod{marg in:10px 0;display:block;}#gm_shop_mod .btm{background:url(module_b.png) no-repea t 0 bottom;padding-bottom:5px;}#gm_shop_mod .top{background:url(module_t.png) no -repeat 0 top;padding-top:5px;}#gm_shop_mod .wrap{background-color:#2f2f2f;width :272px;padding:1px 12px 3px;border-right:1px solid #010101;border-left:1px solid #010101;}#gm_shop_mod .head{overflow:hidden;height:1%;padding-bottom:9px;border -bottom:1px solid #666;} #gm_shop_mod .gm_logo a{float:left;background:url(header_d.png) no-repeat 0 0;wi dth:136px;height:36px;}#gm_shop_mod .glyde_logo{float:right;background:url(logo_ dk0.png) no-repeat 0 0;width:96px;height:20px;margin-top:14px;}#gm_shop_mod #gly de_interface{display:none;}#gm_shop_mod .body{overflow:hidden;height:1%;padding: 8px 0 8px 0;}#gm_shop_mod .boxshot{float:left;margin:0 20px 0 0;border:1px solid #aaa;width:100px;}#gm_shop_mod .ds_margin{margin-bottom:27px;} #gm_shop_mod .glyde_data{float:left;width:115px;height:51px;}#gm_shop_mod .glyde _data div,#gm_shop_mod .glyde_data span{float:left;letter-spacing:1px;}#gm_shop_ mod .glyde_buttons{float:left;}#gm_shop_mod .glyde_buttons a{background:url(btn0 0000.png) no-repeat 0 0;color:#fff;height:29px;padding:6px 0 0;text-align:center ;display:block;font-size:13px;width:104px;}#gm_shop_mod .product_title{float:lef t;width:145px;color:#fff;font-weight:bold;font-size:14px;}#gm_shop_mod .starting {float:left;width:100px;color:#999;font-size:9px;margin-top:2px;} #gm_shop_mod .glyde_price{margin-top:-5px;color:#fff;font-weight:bold;}#gm_shop_ mod .glyde_price .sign{font-size:30px;padding-top:5px;}#gm_shop_mod .glyde_price .dollars{font-size:45px;}#gm_shop_mod .glyde_price .cents{font-size:24px;paddin g-top:3px;}#gm_shop_mod .footer{padding-top:6px;text-align:right;border-top:1px solid #666;}#gm_shop_mod .footer_link,.alt #gm_shop_mod .footer_link{font-size:1 1px;text-decoration:none;font-weight:normal;color:#f05800;}#gm_shop_mod .glyde_s ell_btn_wrap{display:none;} #gm_shop_mod #glyde_loading{display:none;font-size:18px;width:100%;text-align:ce nter;margin:38px 0;color:#fff;}#gm_shop_mod #glyde_no_js{padding:10px 0 15px;}#g m_shop_mod #glyde_no_js #retail_msg{font-size:13px;padding-bottom:55px;}#gm_shop _mod #glyde_no_js #js_msg{font-size:11px;text-align:right;margin-right:12px;}#gm _shop_mod #glyde_no_js #retail_msg .product_title{color:#fff;font-weight:normal; font-size:13px;float:none;}.alt #gm_shop_mod .btm{background:url(module_b.png) n o-repeat 0 bottom;} .alt #gm_shop_mod .top{background:url(module_t.png) no-repeat 0 top;}.alt #gm_sh op_mod .wrap{background-color:#fff;border-right:1px solid #cdd0d5;border-left:1p x solid #cdd0d5;}.alt #gm_shop_mod .head{border-bottom:1px solid #cdd0d5;}.alt #

gm_shop_mod .gm_logo a{background:url(header_l.png) no-repeat 0 0;}.alt #gm_shop _mod .glyde_logo{background:url(logo0000.png) no-repeat 0 0;}.alt #gm_shop_mod . boxshot{border:1px solid #b0b0b0;-moz-box-shadow:4px 4px 4px #ececec;-webkit-box -shadow:4px 4px 4px #ececec;box-shadow:4px 4px 4px #ececec;} .alt #gm_shop_mod .product_title{color:#333;}.alt #gm_shop_mod .starting{color:# 555;}.alt #gm_shop_mod .glyde_price{color:#262626;}.alt #gm_shop_mod .footer{bor der-top:1px solid #cdd0d5;}.alt #gm_shop_mod #glyde_loading{color:#999;}.alt #gm _shop_mod #glyde_no_js #retail_msg .product_title{color:#f60;}#buy_sell #glyde_i nterface{background:#fff url(buy_sell.png) no-repeat 0 bottom;width:480px;height :200px;overflow:hidden;padding:10px 0 20px;}#buy_sell .head_wrap{height:1%;overf low:hidden;} #buy_sell .head_wrap h2{font-size:18px;line-height:28px;}#buy_sell .module .head {padding:5px 0 5px 10px;}#buy_sell .glyde_logo{float:right;background:url(powere db.png) no-repeat 0 0;width:120px;height:25px;margin-right:10px;}#buy_sell .best on_wrap{float:left;}#buy_sell .beston{padding:0 0 0 5px;}#buy_sell .beston li{wi dth:23px;height:20px;display:inline;display:block;float:left;font-weight:bold;te xt-align:center;padding:2px 9px 0;}#buy_sell .beston li.on{background:url(buy_se ll.png) no-repeat 0 0;} #buy_sell .beston li a{text-decoration:none;font-size:11px;}#buy_sell h3{font-si ze:28px;color:#323232;margin-top:8px;}#buy_sell .price_text{font-size:14px;color :#323232;font-weight:bold;}#buy_sell #pricing{display:none;width:100%;overflow:h idden;}#buy_sell #out_of_stock{display:none;}#buy_sell #glyde_loading,#buy_sell #no_price_data,#buy_sell .buy_block #out_of_stock{display:none;font-size:18px;te xt-align:center;color:#b5b5b5;font-weight:bold;margin-top:70px;}#buy_sell .buy_b lock #out_of_stock{margin-top:20px;} #buy_sell #glyde_loading{display:block;}#buy_sell #glyde_loading .note{font-size :12px;font-weight:normal;}#buy_sell .buy_block,#buy_sell .sell_block{float:right ;text-align:center;padding:5px 0;}#buy_sell .buy_block{width:51%;}#buy_sell .buy _block .glyde_buy_low{margin:0 auto;width:100%;}#buy_sell .buy_block .glyde_buy_ new{display:none;}#buy_sell .sell_block{width:48%;border-width:0 0 0 1px;bordercolor:#919191;}#buy_sell .glyde_data{height:1%;overflow:hidden;margin:0 0 16px;} #buy_sell .glyde_price{float:left;width:100%;margin:0 auto;} #buy_sell .glyde_sell_price{width:100%;margin:0 auto;}#buy_sell .sign,#buy_sell .dollars,#buy_sell .cents{display:inline-block;font-weight:bold;vertical-align:t op;}#buy_sell .sign{font-size:26px;padding-top:7px;}#buy_sell .dollars{font-size :52px;}#buy_sell .cents{font-size:16px;padding-top:8px;}#buy_sell .buy_button,#b uy_sell .sell_button{background:url(buy_sell.png) no-repeat 50% -28px;color:#fff ;display:block;font-size:13px;height:28px;padding:5px 0 0;text-decoration:none;} #buy_sell .messaging_block{width:48%;float:right;padding:20px 0;}#buy_sell .mess aging_block li{list-style:square;margin:0 15px 15px 0;font-size:11px;padding-rig ht:20px;}#buy_sell .glyde_intro{background:url(buy_sell.png) no-repeat -1473px b ottom;padding:0 0 7px;}#buy_sell .glyde_intro_top{background:url(buy_sell.png) n o-repeat -5px 0;padding:7px 0 0;}#buy_sell .glyde_intro_wrap{border-color:#bdbdb d;border-width:0 1px;padding-bottom:1px;} #buy_sell .glyde_intro h5{font-weight:bold;font-size:12px;color:#383838;padding: 10px 0 8px;}#buy_sell .glyde_intro p{margin:6px 0 0;}#buy_sell .glyde_intro_body {background-color:#f6f2e6;padding:0 25px 25px;}#buy_sell .glyde_intro_body h4{fo nt-size:20px;font-weight:normal;}#buy_sell .glyde_intro_foot{height:1%;overflow: hidden;background-color:#fff;border-color:#bdbdbd;padding:10px 5px 0 15px;}#buy_ sell .glyde_intro_foot p{float:left;font-size:14px;}#buy_sell input.submit{float :left;background:url(buy_sell.png) no-repeat 0 -66px;color:#fff;display:block;fo nt-size:13px;font-weight:bold;width:105px;padding:5px 0 8px;margin-left:5px;text -decoration:none;border:0;cursor:pointer;} #buy_sell p.confirm_subscription,#buy_sell p.log_in_to_subscribe{margin:0;}#buy_ sell p.log_in_to_subscribe{text-align:center;}#buy_sell .glyde_user_reviews .hea d{padding-right:10px;}#buy_sell .glyde_user_reviews .average_rating{text-align:r ight;color:#6c6c6c;font-size:10px;font-weight:bold;padding:10px 30px 5px;}#buy_s ell .glyde_user_reviews .average_rating span{color:#cb5400;font-size:20px;font-w eight:bold;}#buy_sell .glyde_user_reviews .user_reviews{background:url(buy_sell. png) no-repeat -983px 0;margin-bottom:7px;}

#buy_sell .glyde_user_reviews .user_review{background:url(buy_sell.png) no-repea t -1473px bottom;padding:9px 0;}#buy_sell .glyde_user_reviews .review_wrap{paddi ng:0 7px 0 10px;height:1%;overflow:hidden;border-width:0 1px;border-color:#bdbdb d;}#buy_sell li.user_review .user_icon{display:inline;float:left;height:50px;wid th:50px;border-width:1px;border-color:#bdbdbd;margin-right:10px;}#buy_sell li.us er_review .avatar{margin:0 10px 0 0;}#buy_sell .user_review .scores{background:u rl(buy_sell.png) no-repeat 0 -105px;width:84px;height:84px;float:right;margin-le ft:25px;} #buy_sell .user_review .score_wrap{text-align:center;margin-top:15px;}#buy_sell .user_review .score_wrap a{color:#333;}#buy_sell .user_review .numeric{font-size :36px;line-height:36px;}#buy_sell .user_review .scoreword{font-size:10px;}#buy_s ell_details .body{font-size:12px;height:1%;overflow:hidden;padding:15px;}#buy_se ll_details .logo_wrap{width:100%;overflow:hidden;}#buy_sell_details .logo{backgr ound:url(ratingsy.gif) no-repeat scroll 0 0 transparent;float:left;height:0;over flow:hidden;padding-top:71px;width:48px;} #buy_sell_details .esrb{margin:0 0 13px;overflow:hidden;height:1%;}#buy_sell_det ails .esrb_desc{float:left;font-weight:bold;color:#1b1b1b;margin-left:13px;width :200px;}#buy_sell_details .adultsonly .logo{background-position:0 0;}#buy_sell_d etails .everyone10 .logo{background-position:-48px 0;}#buy_sell_details .everyon e .logo{background-position:-96px 0;}#buy_sell_details .earlychild .logo{backgro und-position:-144px 0;}#buy_sell_details .early .logo{background-position:-144px 0;}#buy_sell_details .mature .logo{background-position:-192px 0;} #buy_sell_details .pending .logo{background-position:-240px 0;}#buy_sell_details .teen .logo{background-position:-288px 0;}#buy_sell_details .rank_wrap{backgrou nd:url(buy_sell.png) no-repeat scroll -1959px 0 transparent;width:100%;overflow: hidden;}#buy_sell_details .rank_box{background:url(buy_sell.png) no-repeat scrol l -2238px bottom transparent;padding:3px 0 9px;float:left;width:100%;}#buy_sell_ details .rank_body{height:1%;overflow:hidden;padding:0 10px 10px;background-colo r:#fff;width:250px;} #buy_sell_details .gamespot{color:#bb4c14;float:left;width:50%;text-align:center ;}#buy_sell_details .platform{text-align:center;}#buy_sell_details .gamespot h5, #buy_sell_details .platform h5{font-size:12px;font-weight:bold;}#buy_sell_detail s .rank{font-size:36px;font-weight:bold;}#buy_sell_details .total{color:#1b1b1b; font-size:11px;}#buy_sell_details h4{border-width:0 0 1px;padding:5px 0 3px;marg in:0 10px 8px;text-align:center;color:#1b1b1b;font-weight:normal;}#buy_sell_deta ils .media{height:1%;overflow:hidden;margin:10px 0 10px 10px;} #buy_sell_details .media_wrap{height:110px;margin-bottom:5px;}#buy_sell_details .images{float:left;width:50%;}#buy_sell_details .images h3,#buy_sell_details .vi deo h3{color:#000;margin-bottom:5px;}#buy_sell_details .images img,#buy_sell_det ails .video img{width:117px;border:1px solid black;}#buy_sell_details .horiz_rul e{border-width:1px 0 0;border-color:#bdbdbd;padding:15px 0 0;}#buy_sell_details .synopsis h3{font-size:14px;}#buy_sell_details .synopsis p{color:#1b1b1b;margintop:10px;line-height:16px;} div.deck span.hideDeck,div.deck a.hideDeck{display:none;}div.deck .showDeck{padd ing-top:15px;}div.deck #longDeck{font-size:12px;font-weight:normal;}div.deck .bt n_wrap{text-align:right;}div.deck .btn_wrap a{font-size:11px;} ------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline; filename=global00.js Content-Type: application/x-javascript; charset=iso-8859-1; name=global00.js Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/global00.js Content-Transfer-Encoding: Base64 KGZ1bmN0aW9uKCl7dGhpcy5Nb29Ub29scz17dmVyc2lvbjoiMS4zLjIiLGJ1aWxk OiJjOWYxZmYxMGU5ZTdmYWNiNjVlOTQ4MTA0OWVkMWI0NTA5NTlkNTg3In07dmFy IEU9dGhpcy50eXBlT2Y9ZnVuY3Rpb24oVSl7aWYoVT09bnVsbCl7cmV0dXJuIm51 bGwiO31pZihVLiRmYW1pbHkpe3JldHVybiBVLiRmYW1pbHkoKTt9aWYoVS5ub2Rl TmFtZSl7aWYoVS5ub2RlVHlwZT09MSl7cmV0dXJuImVsZW1lbnQiO31pZihVLm5v ZGVUeXBlPT0zKXtyZXR1cm4oL1xTLykudGVzdChVLm5vZGVWYWx1ZSk/InRleHRu

b2RlIjoid2hpdGVzcGFjZSI7fX1lbHNle2lmKHR5cGVvZiBVLmxlbmd0aD09Im51 bWJlciIpe2lmKFUuY2FsbGVlKXtyZXR1cm4iYXJndW1lbnRzIjt9aWYoIml0ZW0i IGluIFUpe3JldHVybiJjb2xsZWN0aW9uIjt9fX1yZXR1cm4gdHlwZW9mIFU7fTt2 YXIgVD10aGlzLmluc3RhbmNlT2Y9ZnVuY3Rpb24oVyxVKXtpZihXPT1udWxsKXty ZXR1cm4gZmFsc2U7fXZhciBWPVcuJGNvbnN0cnVjdG9yfHxXLmNvbnN0cnVjdG9y Owp3aGlsZShWKXtpZihWPT09VSl7cmV0dXJuIHRydWU7fVY9Vi5wYXJlbnQ7fXJl dHVybiBXIGluc3RhbmNlb2YgVTt9O3ZhciBGPXRoaXMuRnVuY3Rpb247dmFyIFE9 dHJ1ZTtmb3IodmFyIFAgaW4ge3RvU3RyaW5nOjF9KXtRPW51bGw7fWlmKFEpe1E9 WyJoYXNPd25Qcm9wZXJ0eSIsInZhbHVlT2YiLCJpc1Byb3RvdHlwZU9mIiwicHJv cGVydHlJc0VudW1lcmFibGUiLCJ0b0xvY2FsZVN0cmluZyIsInRvU3RyaW5nIiwi Y29uc3RydWN0b3IiXTt9Ri5wcm90b3R5cGUub3ZlcmxvYWRTZXR0ZXI9ZnVuY3Rp b24oVil7dmFyIFU9dGhpcztyZXR1cm4gZnVuY3Rpb24oWCxXKXtpZihYPT1udWxs KXtyZXR1cm4gdGhpczt9aWYoVnx8dHlwZW9mIFghPSJzdHJpbmciKXtmb3IodmFy IFkgaW4gWCl7VS5jYWxsKHRoaXMsWSxYW1ldKTt9aWYoUSl7Zm9yKHZhciBaPVEu bGVuZ3RoO1otLTspe1k9UVtaXTtpZihYLmhhc093blByb3BlcnR5KFkpKXtVLmNh bGwodGhpcyxZLFhbWV0pO319fX1lbHNle1UuY2FsbCh0aGlzLFgsVyk7Cn1yZXR1 cm4gdGhpczt9O307Ri5wcm90b3R5cGUub3ZlcmxvYWRHZXR0ZXI9ZnVuY3Rpb24o Vil7dmFyIFU9dGhpcztyZXR1cm4gZnVuY3Rpb24oWCl7dmFyIFksVztpZihWfHx0 eXBlb2YgWCE9InN0cmluZyIpe1k9WDt9ZWxzZXtpZihhcmd1bWVudHMubGVuZ3Ro PjEpe1k9YXJndW1lbnRzO319aWYoWSl7Vz17fTtmb3IodmFyIFo9MDtaPFkubGVu Z3RoO1orKyl7V1tZW1pdXT1VLmNhbGwodGhpcyxZW1pdKTt9fWVsc2V7Vz1VLmNh bGwodGhpcyxYKTt9cmV0dXJuIFc7fTt9O0YucHJvdG90eXBlLmV4dGVuZD1mdW5j dGlvbihVLFYpe3RoaXNbVV09Vjt9Lm92ZXJsb2FkU2V0dGVyKCk7Ri5wcm90b3R5 cGUuaW1wbGVtZW50PWZ1bmN0aW9uKFUsVil7dGhpcy5wcm90b3R5cGVbVV09Vjt9 Lm92ZXJsb2FkU2V0dGVyKCk7dmFyIE49QXJyYXkucHJvdG90eXBlLnNsaWNlO0Yu ZnJvbT1mdW5jdGlvbihVKXtyZXR1cm4oRShVKT09ImZ1bmN0aW9uIik/VTpmdW5j dGlvbigpe3JldHVybiBVOwp9O307QXJyYXkuZnJvbT1mdW5jdGlvbihVKXtpZihV PT1udWxsKXtyZXR1cm5bXTt9cmV0dXJuKEouaXNFbnVtZXJhYmxlKFUpJiZ0eXBl b2YgVSE9InN0cmluZyIpPyhFKFUpPT0iYXJyYXkiKT9VOk4uY2FsbChVKTpbVV07 fTtOdW1iZXIuZnJvbT1mdW5jdGlvbihWKXt2YXIgVT1wYXJzZUZsb2F0KFYpO3Jl dHVybiBpc0Zpbml0ZShVKT9VOm51bGw7fTtTdHJpbmcuZnJvbT1mdW5jdGlvbihV KXtyZXR1cm4gVSsiIjt9O0YuaW1wbGVtZW50KHtoaWRlOmZ1bmN0aW9uKCl7dGhp cy4kaGlkZGVuPXRydWU7cmV0dXJuIHRoaXM7fSxwcm90ZWN0OmZ1bmN0aW9uKCl7 dGhpcy4kcHJvdGVjdGVkPXRydWU7cmV0dXJuIHRoaXM7fX0pO3ZhciBKPXRoaXMu VHlwZT1mdW5jdGlvbihYLFcpe2lmKFgpe3ZhciBWPVgudG9Mb3dlckNhc2UoKTt2 YXIgVT1mdW5jdGlvbihZKXtyZXR1cm4oRShZKT09Vik7fTtKWyJpcyIrWF09VTtp ZihXIT1udWxsKXtXLnByb3RvdHlwZS4kZmFtaWx5PShmdW5jdGlvbigpe3JldHVy biBWOwp9KS5oaWRlKCk7Vy50eXBlPVU7fX1pZihXPT1udWxsKXtyZXR1cm4gbnVs bDt9Vy5leHRlbmQodGhpcyk7Vy4kY29uc3RydWN0b3I9SjtXLnByb3RvdHlwZS4k Y29uc3RydWN0b3I9VztyZXR1cm4gVzt9O3ZhciBPPU9iamVjdC5wcm90b3R5cGUu dG9TdHJpbmc7Si5pc0VudW1lcmFibGU9ZnVuY3Rpb24oVSl7cmV0dXJuKFUhPW51 bGwmJnR5cGVvZiBVLmxlbmd0aD09Im51bWJlciImJk8uY2FsbChVKSE9IltvYmpl Y3QgRnVuY3Rpb25dIik7fTt2YXIgQj17fTt2YXIgRD1mdW5jdGlvbihVKXt2YXIg Vj1FKFUucHJvdG90eXBlKTtyZXR1cm4gQltWXXx8KEJbVl09W10pO307dmFyIEg9 ZnVuY3Rpb24oVixaKXtpZihaJiZaLiRoaWRkZW4pe3JldHVybiA7fXZhciBVPUQo dGhpcyk7Zm9yKHZhciBXPTA7VzxVLmxlbmd0aDtXKyspe3ZhciBZPVVbV107aWYo RShZKT09InR5cGUiKXtILmNhbGwoWSxWLFopO31lbHNle1kuY2FsbCh0aGlzLFYs Wik7fX12YXIgWD10aGlzLnByb3RvdHlwZVtWXTsKaWYoWD09bnVsbHx8IVguJHBy b3RlY3RlZCl7dGhpcy5wcm90b3R5cGVbVl09Wjt9aWYodGhpc1tWXT09bnVsbCYm RShaKT09ImZ1bmN0aW9uIil7Uy5jYWxsKHRoaXMsVixmdW5jdGlvbihhKXtyZXR1 cm4gWi5hcHBseShhLE4uY2FsbChhcmd1bWVudHMsMSkpO30pO319O3ZhciBTPWZ1 bmN0aW9uKFUsVyl7aWYoVyYmVy4kaGlkZGVuKXtyZXR1cm4gO312YXIgVj10aGlz W1VdO2lmKFY9PW51bGx8fCFWLiRwcm90ZWN0ZWQpe3RoaXNbVV09Vzt9fTtKLmlt cGxlbWVudCh7aW1wbGVtZW50Okgub3ZlcmxvYWRTZXR0ZXIoKSxleHRlbmQ6Uy5v dmVybG9hZFNldHRlcigpLGFsaWFzOmZ1bmN0aW9uKFUsVil7SC5jYWxsKHRoaXMs VSx0aGlzLnByb3RvdHlwZVtWXSk7fS5vdmVybG9hZFNldHRlcigpLG1pcnJvcjpm dW5jdGlvbihVKXtEKHRoaXMpLnB1c2goVSk7cmV0dXJuIHRoaXM7fX0pO25ldyBK KCJUeXBlIixKKTt2YXIgQz1mdW5jdGlvbihVLFksVyl7dmFyIFY9KFkhPU9iamVj dCksYz1ZLnByb3RvdHlwZTsKaWYoVil7WT1uZXcgSihVLFkpO31mb3IodmFyIFo9 MCxYPVcubGVuZ3RoO1o8WDtaKyspe3ZhciBkPVdbWl0sYj1ZW2RdLGE9Y1tkXTtp

ZihiKXtiLnByb3RlY3QoKTt9aWYoViYmYSl7ZGVsZXRlIGNbZF07Y1tkXT1hLnBy b3RlY3QoKTt9fWlmKFYpe1kuaW1wbGVtZW50KGMpO31yZXR1cm4gQzt9O0MoIlN0 cmluZyIsU3RyaW5nLFsiY2hhckF0IiwiY2hhckNvZGVBdCIsImNvbmNhdCIsImlu ZGV4T2YiLCJsYXN0SW5kZXhPZiIsIm1hdGNoIiwicXVvdGUiLCJyZXBsYWNlIiwi c2VhcmNoIiwic2xpY2UiLCJzcGxpdCIsInN1YnN0ciIsInN1YnN0cmluZyIsInRv TG93ZXJDYXNlIiwidG9VcHBlckNhc2UiXSkoIkFycmF5IixBcnJheSxbInBvcCIs InB1c2giLCJyZXZlcnNlIiwic2hpZnQiLCJzb3J0Iiwic3BsaWNlIiwidW5zaGlm dCIsImNvbmNhdCIsImpvaW4iLCJzbGljZSIsImluZGV4T2YiLCJsYXN0SW5kZXhP ZiIsImZpbHRlciIsImZvckVhY2giLCJldmVyeSIsIm1hcCIsInNvbWUiLCJyZWR1 Y2UiLCJyZWR1Y2VSaWdodCJdKSgiTnVtYmVyIixOdW1iZXIsWyJ0b0V4cG9uZW50 aWFsIiwidG9GaXhlZCIsInRvTG9jYWxlU3RyaW5nIiwidG9QcmVjaXNpb24iXSko IkZ1bmN0aW9uIixGLFsiYXBwbHkiLCJjYWxsIiwiYmluZCJdKSgiUmVnRXhwIixS ZWdFeHAsWyJleGVjIiwidGVzdCJdKSgiT2JqZWN0IixPYmplY3QsWyJjcmVhdGUi LCJkZWZpbmVQcm9wZXJ0eSIsImRlZmluZVByb3BlcnRpZXMiLCJrZXlzIiwiZ2V0 UHJvdG90eXBlT2YiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXRPd25Q cm9wZXJ0eU5hbWVzIiwicHJldmVudEV4dGVuc2lvbnMiLCJpc0V4dGVuc2libGUi LCJzZWFsIiwiaXNTZWFsZWQiLCJmcmVlemUiLCJpc0Zyb3plbiJdKSgiRGF0ZSIs RGF0ZSxbIm5vdyJdKTsKT2JqZWN0LmV4dGVuZD1TLm92ZXJsb2FkU2V0dGVyKCk7 RGF0ZS5leHRlbmQoIm5vdyIsZnVuY3Rpb24oKXtyZXR1cm4gKyhuZXcgRGF0ZSk7 fSk7bmV3IEooIkJvb2xlYW4iLEJvb2xlYW4pO051bWJlci5wcm90b3R5cGUuJGZh bWlseT1mdW5jdGlvbigpe3JldHVybiBpc0Zpbml0ZSh0aGlzKT8ibnVtYmVyIjoi bnVsbCI7fS5oaWRlKCk7TnVtYmVyLmV4dGVuZCgicmFuZG9tIixmdW5jdGlvbihW LFUpe3JldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKFUtVisxKStWKTt9 KTt2YXIgSz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O09iamVjdC5l eHRlbmQoImZvckVhY2giLGZ1bmN0aW9uKFUsVyxYKXtmb3IodmFyIFYgaW4gVSl7 aWYoSy5jYWxsKFUsVikpe1cuY2FsbChYLFVbVl0sVixVKTt9fX0pO09iamVjdC5l YWNoPU9iamVjdC5mb3JFYWNoO0FycmF5LmltcGxlbWVudCh7Zm9yRWFjaDpmdW5j dGlvbihXLFgpe2Zvcih2YXIgVj0wLFU9dGhpcy5sZW5ndGg7ClY8VTtWKyspe2lm KFYgaW4gdGhpcyl7Vy5jYWxsKFgsdGhpc1tWXSxWLHRoaXMpO319fSxlYWNoOmZ1 bmN0aW9uKFUsVil7QXJyYXkuZm9yRWFjaCh0aGlzLFUsVik7cmV0dXJuIHRoaXM7 fX0pO3ZhciBSPWZ1bmN0aW9uKFUpe3N3aXRjaChFKFUpKXtjYXNlImFycmF5Ijpy ZXR1cm4gVS5jbG9uZSgpO2Nhc2Uib2JqZWN0IjpyZXR1cm4gT2JqZWN0LmNsb25l KFUpO2RlZmF1bHQ6cmV0dXJuIFU7fX07QXJyYXkuaW1wbGVtZW50KCJjbG9uZSIs ZnVuY3Rpb24oKXt2YXIgVT10aGlzLmxlbmd0aCxWPW5ldyBBcnJheShVKTt3aGls ZShVLS0pe1ZbVV09Uih0aGlzW1VdKTt9cmV0dXJuIFY7fSk7dmFyIEE9ZnVuY3Rp b24oVixVLFcpe3N3aXRjaChFKFcpKXtjYXNlIm9iamVjdCI6aWYoRShWW1VdKT09 Im9iamVjdCIpe09iamVjdC5tZXJnZShWW1VdLFcpO31lbHNle1ZbVV09T2JqZWN0 LmNsb25lKFcpO31icmVhaztjYXNlImFycmF5IjpWW1VdPVcuY2xvbmUoKTticmVh aztkZWZhdWx0OlZbVV09VzsKfXJldHVybiBWO307T2JqZWN0LmV4dGVuZCh7bWVy Z2U6ZnVuY3Rpb24oYSxXLFYpe2lmKEUoVyk9PSJzdHJpbmciKXtyZXR1cm4gQShh LFcsVik7fWZvcih2YXIgWj0xLFU9YXJndW1lbnRzLmxlbmd0aDtaPFU7WisrKXt2 YXIgWD1hcmd1bWVudHNbWl07Zm9yKHZhciBZIGluIFgpe0EoYSxZLFhbWV0pO319 cmV0dXJuIGE7fSxjbG9uZTpmdW5jdGlvbihVKXt2YXIgVz17fTtmb3IodmFyIFYg aW4gVSl7V1tWXT1SKFVbVl0pO31yZXR1cm4gVzt9LGFwcGVuZDpmdW5jdGlvbihZ KXtmb3IodmFyIFg9MSxWPWFyZ3VtZW50cy5sZW5ndGg7WDxWO1grKyl7dmFyIFU9 YXJndW1lbnRzW1hdfHx7fTtmb3IodmFyIFcgaW4gVSl7WVtXXT1VW1ddO319cmV0 dXJuIFk7fX0pO1siT2JqZWN0IiwiV2hpdGVTcGFjZSIsIlRleHROb2RlIiwiQ29s bGVjdGlvbiIsIkFyZ3VtZW50cyJdLmVhY2goZnVuY3Rpb24oVSl7bmV3IEooVSk7 fSk7dmFyIEk9RGF0ZS5ub3coKTtTdHJpbmcuZXh0ZW5kKCJ1bmlxdWVJRCIsZnVu Y3Rpb24oKXtyZXR1cm4oSSsrKS50b1N0cmluZygzNik7Cn0pO3ZhciBHPXRoaXMu SGFzaD1uZXcgSigiSGFzaCIsZnVuY3Rpb24oVSl7aWYoRShVKT09Imhhc2giKXtV PU9iamVjdC5jbG9uZShVLmdldENsZWFuKCkpO31mb3IodmFyIFYgaW4gVSl7dGhp c1tWXT1VW1ZdO31yZXR1cm4gdGhpczt9KTtHLmltcGxlbWVudCh7Zm9yRWFjaDpm dW5jdGlvbihVLFYpe09iamVjdC5mb3JFYWNoKHRoaXMsVSxWKTt9LGdldENsZWFu OmZ1bmN0aW9uKCl7dmFyIFY9e307Zm9yKHZhciBVIGluIHRoaXMpe2lmKHRoaXMu aGFzT3duUHJvcGVydHkoVSkpe1ZbVV09dGhpc1tVXTt9fXJldHVybiBWO30sZ2V0 TGVuZ3RoOmZ1bmN0aW9uKCl7dmFyIFY9MDtmb3IodmFyIFUgaW4gdGhpcyl7aWYo dGhpcy5oYXNPd25Qcm9wZXJ0eShVKSl7VisrO319cmV0dXJuIFY7fX0pO0cuYWxp YXMoImVhY2giLCJmb3JFYWNoIik7T2JqZWN0LnR5cGU9Si5pc09iamVjdDt2YXIg TT10aGlzLk5hdGl2ZT1mdW5jdGlvbihVKXtyZXR1cm4gbmV3IEooVS5uYW1lLFUu

aW5pdGlhbGl6ZSk7Cn07TS50eXBlPUoudHlwZTtNLmltcGxlbWVudD1mdW5jdGlv bihXLFUpe2Zvcih2YXIgVj0wO1Y8Vy5sZW5ndGg7VisrKXtXW1ZdLmltcGxlbWVu dChVKTt9cmV0dXJuIE07fTt2YXIgTD1BcnJheS50eXBlO0FycmF5LnR5cGU9ZnVu Y3Rpb24oVSl7cmV0dXJuIFQoVSxBcnJheSl8fEwoVSk7fTt0aGlzLiRBPWZ1bmN0 aW9uKFUpe3JldHVybiBBcnJheS5mcm9tKFUpLnNsaWNlKCk7fTt0aGlzLiRhcmd1 bWVudHM9ZnVuY3Rpb24oVSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3Vt ZW50c1tVXTt9O307dGhpcy4kY2hrPWZ1bmN0aW9uKFUpe3JldHVybiAhIShVfHxV PT09MCk7fTt0aGlzLiRjbGVhcj1mdW5jdGlvbihVKXtjbGVhclRpbWVvdXQoVSk7 Y2xlYXJJbnRlcnZhbChVKTtyZXR1cm4gbnVsbDt9O3RoaXMuJGRlZmluZWQ9ZnVu Y3Rpb24oVSl7cmV0dXJuKFUhPW51bGwpO307dGhpcy4kZWFjaD1mdW5jdGlvbihX LFYsWCl7dmFyIFU9RShXKTsoKFU9PSJhcmd1bWVudHMifHxVPT0iY29sbGVjdGlv biJ8fFU9PSJhcnJheSJ8fFU9PSJlbGVtZW50cyIpP0FycmF5Ok9iamVjdCkuZWFj aChXLFYsWCk7Cn07dGhpcy4kZW1wdHk9ZnVuY3Rpb24oKXt9O3RoaXMuJGV4dGVu ZD1mdW5jdGlvbihWLFUpe3JldHVybiBPYmplY3QuYXBwZW5kKFYsVSk7fTt0aGlz LiRIPWZ1bmN0aW9uKFUpe3JldHVybiBuZXcgRyhVKTt9O3RoaXMuJG1lcmdlPWZ1 bmN0aW9uKCl7dmFyIFU9QXJyYXkuc2xpY2UoYXJndW1lbnRzKTtVLnVuc2hpZnQo e30pO3JldHVybiBPYmplY3QubWVyZ2UuYXBwbHkobnVsbCxVKTt9O3RoaXMuJGxh bWJkYT1GLmZyb207dGhpcy4kbWl4aW49T2JqZWN0Lm1lcmdlO3RoaXMuJHJhbmRv bT1OdW1iZXIucmFuZG9tO3RoaXMuJHNwbGF0PUFycmF5LmZyb207dGhpcy4kdGlt ZT1EYXRlLm5vdzt0aGlzLiR0eXBlPWZ1bmN0aW9uKFUpe3ZhciBWPUUoVSk7aWYo Vj09ImVsZW1lbnRzIil7cmV0dXJuImFycmF5Ijt9cmV0dXJuKFY9PSJudWxsIik/ ZmFsc2U6Vjt9O3RoaXMuJHVubGluaz1mdW5jdGlvbihVKXtzd2l0Y2goRShVKSl7 Y2FzZSJvYmplY3QiOnJldHVybiBPYmplY3QuY2xvbmUoVSk7CmNhc2UiYXJyYXki OnJldHVybiBBcnJheS5jbG9uZShVKTtjYXNlImhhc2giOnJldHVybiBuZXcgRyhV KTtkZWZhdWx0OnJldHVybiBVO319O30pKCk7QXJyYXkuaW1wbGVtZW50KHtldmVy eTpmdW5jdGlvbihDLEQpe2Zvcih2YXIgQj0wLEE9dGhpcy5sZW5ndGg7QjxBO0Ir Kyl7aWYoKEIgaW4gdGhpcykmJiFDLmNhbGwoRCx0aGlzW0JdLEIsdGhpcykpe3Jl dHVybiBmYWxzZTt9fXJldHVybiB0cnVlO30sZmlsdGVyOmZ1bmN0aW9uKEQsRSl7 dmFyIEM9W107Zm9yKHZhciBCPTAsQT10aGlzLmxlbmd0aDtCPEE7QisrKXtpZigo QiBpbiB0aGlzKSYmRC5jYWxsKEUsdGhpc1tCXSxCLHRoaXMpKXtDLnB1c2godGhp c1tCXSk7fX1yZXR1cm4gQzt9LGluZGV4T2Y6ZnVuY3Rpb24oQyxEKXt2YXIgQT10 aGlzLmxlbmd0aDtmb3IodmFyIEI9KEQ8MCk/TWF0aC5tYXgoMCxBK0QpOkR8fDA7 QjxBO0IrKyl7aWYodGhpc1tCXT09PUMpe3JldHVybiBCO319cmV0dXJuIC0xO30s bWFwOmZ1bmN0aW9uKEQsRSl7dmFyIEM9W107CmZvcih2YXIgQj0wLEE9dGhpcy5s ZW5ndGg7QjxBO0IrKyl7aWYoQiBpbiB0aGlzKXtDW0JdPUQuY2FsbChFLHRoaXNb Ql0sQix0aGlzKTt9fXJldHVybiBDO30sc29tZTpmdW5jdGlvbihDLEQpe2Zvcih2 YXIgQj0wLEE9dGhpcy5sZW5ndGg7QjxBO0IrKyl7aWYoKEIgaW4gdGhpcykmJkMu Y2FsbChELHRoaXNbQl0sQix0aGlzKSl7cmV0dXJuIHRydWU7fX1yZXR1cm4gZmFs c2U7fSxjbGVhbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlv bihBKXtyZXR1cm4gQSE9bnVsbDt9KTt9LGludm9rZTpmdW5jdGlvbihBKXt2YXIg Qj1BcnJheS5zbGljZShhcmd1bWVudHMsMSk7cmV0dXJuIHRoaXMubWFwKGZ1bmN0 aW9uKEMpe3JldHVybiBDW0FdLmFwcGx5KEMsQik7fSk7fSxhc3NvY2lhdGU6ZnVu Y3Rpb24oQyl7dmFyIEQ9e30sQj1NYXRoLm1pbih0aGlzLmxlbmd0aCxDLmxlbmd0 aCk7Zm9yKHZhciBBPTA7QTxCO0ErKyl7RFtDW0FdXT10aGlzW0FdO31yZXR1cm4g RDsKfSxsaW5rOmZ1bmN0aW9uKEMpe3ZhciBBPXt9O2Zvcih2YXIgRT0wLEI9dGhp cy5sZW5ndGg7RTxCO0UrKyl7Zm9yKHZhciBEIGluIEMpe2lmKENbRF0odGhpc1tF XSkpe0FbRF09dGhpc1tFXTtkZWxldGUgQ1tEXTticmVhazt9fX1yZXR1cm4gQTt9 LGNvbnRhaW5zOmZ1bmN0aW9uKEEsQil7cmV0dXJuIHRoaXMuaW5kZXhPZihBLEIp IT0tMTt9LGFwcGVuZDpmdW5jdGlvbihBKXt0aGlzLnB1c2guYXBwbHkodGhpcyxB KTtyZXR1cm4gdGhpczt9LGdldExhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5s ZW5ndGgpP3RoaXNbdGhpcy5sZW5ndGgtMV06bnVsbDt9LGdldFJhbmRvbTpmdW5j dGlvbigpe3JldHVybih0aGlzLmxlbmd0aCk/dGhpc1tOdW1iZXIucmFuZG9tKDAs dGhpcy5sZW5ndGgtMSldOm51bGw7fSxpbmNsdWRlOmZ1bmN0aW9uKEEpe2lmKCF0 aGlzLmNvbnRhaW5zKEEpKXt0aGlzLnB1c2goQSk7fXJldHVybiB0aGlzO30sY29t YmluZTpmdW5jdGlvbihDKXtmb3IodmFyIEI9MCxBPUMubGVuZ3RoOwpCPEE7Qisr KXt0aGlzLmluY2x1ZGUoQ1tCXSk7fXJldHVybiB0aGlzO30sZXJhc2U6ZnVuY3Rp b24oQil7Zm9yKHZhciBBPXRoaXMubGVuZ3RoO0EtLTspe2lmKHRoaXNbQV09PT1C KXt0aGlzLnNwbGljZShBLDEpO319cmV0dXJuIHRoaXM7fSxlbXB0eTpmdW5jdGlv bigpe3RoaXMubGVuZ3RoPTA7cmV0dXJuIHRoaXM7fSxmbGF0dGVuOmZ1bmN0aW9u KCl7dmFyIEQ9W107Zm9yKHZhciBCPTAsQT10aGlzLmxlbmd0aDtCPEE7QisrKXt2

YXIgQz10eXBlT2YodGhpc1tCXSk7aWYoQz09Im51bGwiKXtjb250aW51ZTt9RD1E LmNvbmNhdCgoQz09ImFycmF5Inx8Qz09ImNvbGxlY3Rpb24ifHxDPT0iYXJndW1l bnRzInx8aW5zdGFuY2VPZih0aGlzW0JdLEFycmF5KSk/QXJyYXkuZmxhdHRlbih0 aGlzW0JdKTp0aGlzW0JdKTt9cmV0dXJuIEQ7fSxwaWNrOmZ1bmN0aW9uKCl7Zm9y KHZhciBCPTAsQT10aGlzLmxlbmd0aDtCPEE7QisrKXtpZih0aGlzW0JdIT1udWxs KXtyZXR1cm4gdGhpc1tCXTsKfX1yZXR1cm4gbnVsbDt9LGhleFRvUmdiOmZ1bmN0 aW9uKEIpe2lmKHRoaXMubGVuZ3RoIT0zKXtyZXR1cm4gbnVsbDt9dmFyIEE9dGhp cy5tYXAoZnVuY3Rpb24oQyl7aWYoQy5sZW5ndGg9PTEpe0MrPUM7fXJldHVybiBD LnRvSW50KDE2KTt9KTtyZXR1cm4oQik/QToicmdiKCIrQSsiKSI7fSxyZ2JUb0hl eDpmdW5jdGlvbihEKXtpZih0aGlzLmxlbmd0aDwzKXtyZXR1cm4gbnVsbDt9aWYo dGhpcy5sZW5ndGg9PTQmJnRoaXNbM109PTAmJiFEKXtyZXR1cm4idHJhbnNwYXJl bnQiO312YXIgQj1bXTtmb3IodmFyIEE9MDtBPDM7QSsrKXt2YXIgQz0odGhpc1tB XS0wKS50b1N0cmluZygxNik7Qi5wdXNoKChDLmxlbmd0aD09MSk/IjAiK0M6Qyk7 fXJldHVybihEKT9COiIjIitCLmpvaW4oIiIpO319KTtBcnJheS5hbGlhcygiZXh0 ZW5kIiwiYXBwZW5kIik7dmFyICRwaWNrPWZ1bmN0aW9uKCl7cmV0dXJuIEFycmF5 LmZyb20oYXJndW1lbnRzKS5waWNrKCk7fTtTdHJpbmcuaW1wbGVtZW50KHt0ZXN0 OmZ1bmN0aW9uKEEsQil7cmV0dXJuKCh0eXBlT2YoQSk9PSJyZWdleHAiKT9BOm5l dyBSZWdFeHAoIiIrQSxCKSkudGVzdCh0aGlzKTsKfSxjb250YWluczpmdW5jdGlv bihBLEIpe3JldHVybihCKT8oQit0aGlzK0IpLmluZGV4T2YoQitBK0IpPi0xOnRo aXMuaW5kZXhPZihBKT4tMTt9LHRyaW06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5y ZXBsYWNlKC9eXHMrfFxzKyQvZywiIik7fSxjbGVhbjpmdW5jdGlvbigpe3JldHVy biB0aGlzLnJlcGxhY2UoL1xzKy9nLCIgIikudHJpbSgpO30sY2FtZWxDYXNlOmZ1 bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVwbGFjZSgvLVxEL2csZnVuY3Rpb24oQSl7 cmV0dXJuIEEuY2hhckF0KDEpLnRvVXBwZXJDYXNlKCk7fSk7fSxoeXBoZW5hdGU6 ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZXBsYWNlKC9bQS1aXS9nLGZ1bmN0aW9u KEEpe3JldHVybigiLSIrQS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSk7fSk7fSxj YXBpdGFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVwbGFjZSgvXGJbYS16 XS9nLGZ1bmN0aW9uKEEpe3JldHVybiBBLnRvVXBwZXJDYXNlKCk7fSk7fSxlc2Nh cGVSZWdFeHA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZXBsYWNlKC8oWy0uKis/ XiR7fSgpfFtcXVwvXFxdKS9nLCJcXCQxIik7Cn0sdG9JbnQ6ZnVuY3Rpb24oQSl7 cmV0dXJuIHBhcnNlSW50KHRoaXMsQXx8MTApO30sdG9GbG9hdDpmdW5jdGlvbigp e3JldHVybiBwYXJzZUZsb2F0KHRoaXMpO30saGV4VG9SZ2I6ZnVuY3Rpb24oQil7 dmFyIEE9dGhpcy5tYXRjaCgvXiM/KFx3ezEsMn0pKFx3ezEsMn0pKFx3ezEsMn0p JC8pO3JldHVybihBKT9BLnNsaWNlKDEpLmhleFRvUmdiKEIpOm51bGw7fSxyZ2JU b0hleDpmdW5jdGlvbihCKXt2YXIgQT10aGlzLm1hdGNoKC9cZHsxLDN9L2cpO3Jl dHVybihBKT9BLnJnYlRvSGV4KEIpOm51bGw7fSxzdWJzdGl0dXRlOmZ1bmN0aW9u KEEsQil7cmV0dXJuIHRoaXMucmVwbGFjZShCfHwoL1xcP1x7KFtee31dKylcfS9n KSxmdW5jdGlvbihELEMpe2lmKEQuY2hhckF0KDApPT0iXFwiKXtyZXR1cm4gRC5z bGljZSgxKTt9cmV0dXJuKEFbQ10hPW51bGwpP0FbQ106IiI7fSk7fX0pO051bWJl ci5pbXBsZW1lbnQoe2xpbWl0OmZ1bmN0aW9uKEIsQSl7cmV0dXJuIE1hdGgubWlu KEEsTWF0aC5tYXgoQix0aGlzKSk7Cn0scm91bmQ6ZnVuY3Rpb24oQSl7QT1NYXRo LnBvdygxMCxBfHwwKS50b0ZpeGVkKEE8MD8tQTowKTtyZXR1cm4gTWF0aC5yb3Vu ZCh0aGlzKkEpL0E7fSx0aW1lczpmdW5jdGlvbihCLEMpe2Zvcih2YXIgQT0wO0E8 dGhpcztBKyspe0IuY2FsbChDLEEsdGhpcyk7fX0sdG9GbG9hdDpmdW5jdGlvbigp e3JldHVybiBwYXJzZUZsb2F0KHRoaXMpO30sdG9JbnQ6ZnVuY3Rpb24oQSl7cmV0 dXJuIHBhcnNlSW50KHRoaXMsQXx8MTApO319KTtOdW1iZXIuYWxpYXMoImVhY2gi LCJ0aW1lcyIpOyhmdW5jdGlvbihCKXt2YXIgQT17fTtCLmVhY2goZnVuY3Rpb24o Qyl7aWYoIU51bWJlcltDXSl7QVtDXT1mdW5jdGlvbigpe3JldHVybiBNYXRoW0Nd LmFwcGx5KG51bGwsW3RoaXNdLmNvbmNhdChBcnJheS5mcm9tKGFyZ3VtZW50cykp KTt9O319KTtOdW1iZXIuaW1wbGVtZW50KEEpO30pKFsiYWJzIiwiYWNvcyIsImFz aW4iLCJhdGFuIiwiYXRhbjIiLCJjZWlsIiwiY29zIiwiZXhwIiwiZmxvb3IiLCJs b2ciLCJtYXgiLCJtaW4iLCJwb3ciLCJzaW4iLCJzcXJ0IiwidGFuIl0pOwpGdW5j dGlvbi5leHRlbmQoe2F0dGVtcHQ6ZnVuY3Rpb24oKXtmb3IodmFyIEI9MCxBPWFy Z3VtZW50cy5sZW5ndGg7QjxBO0IrKyl7dHJ5e3JldHVybiBhcmd1bWVudHNbQl0o KTt9Y2F0Y2goQyl7fX1yZXR1cm4gbnVsbDt9fSk7RnVuY3Rpb24uaW1wbGVtZW50 KHthdHRlbXB0OmZ1bmN0aW9uKEEsQyl7dHJ5e3JldHVybiB0aGlzLmFwcGx5KEMs QXJyYXkuZnJvbShBKSk7fWNhdGNoKEIpe31yZXR1cm4gbnVsbDt9LGJpbmQ6ZnVu Y3Rpb24oQyl7dmFyIEE9dGhpcyxCPShhcmd1bWVudHMubGVuZ3RoPjEpP0FycmF5 LnNsaWNlKGFyZ3VtZW50cywxKTpudWxsO3JldHVybiBmdW5jdGlvbigpe2lmKCFC JiYhYXJndW1lbnRzLmxlbmd0aCl7cmV0dXJuIEEuY2FsbChDKTt9aWYoQiYmYXJn

dW1lbnRzLmxlbmd0aCl7cmV0dXJuIEEuYXBwbHkoQyxCLmNvbmNhdChBcnJheS5m cm9tKGFyZ3VtZW50cykpKTt9cmV0dXJuIEEuYXBwbHkoQyxCfHxhcmd1bWVudHMp O307fSxwYXNzOmZ1bmN0aW9uKEIsQyl7dmFyIEE9dGhpczsKaWYoQiE9bnVsbCl7 Qj1BcnJheS5mcm9tKEIpO31yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gQS5hcHBs eShDLEJ8fGFyZ3VtZW50cyk7fTt9LGRlbGF5OmZ1bmN0aW9uKEIsQyxBKXtyZXR1 cm4gc2V0VGltZW91dCh0aGlzLnBhc3MoKEE9PW51bGw/W106QSksQyksQik7fSxw ZXJpb2RpY2FsOmZ1bmN0aW9uKEMsQixBKXtyZXR1cm4gc2V0SW50ZXJ2YWwodGhp cy5wYXNzKChBPT1udWxsP1tdOkEpLEIpLEMpO319KTtkZWxldGUgRnVuY3Rpb24u cHJvdG90eXBlLmJpbmQ7RnVuY3Rpb24uaW1wbGVtZW50KHtiaW5kOmZ1bmN0aW9u KEMsQil7dmFyIEE9dGhpcztpZihCIT1udWxsKXtCPUFycmF5LmZyb20oQik7fXJl dHVybiBmdW5jdGlvbigpe3JldHVybiBBLmFwcGx5KEMsQnx8YXJndW1lbnRzKTt9 O30sYmluZFdpdGhFdmVudDpmdW5jdGlvbihDLEIpe3ZhciBBPXRoaXM7aWYoQiE9 bnVsbCl7Qj1BcnJheS5mcm9tKEIpO31yZXR1cm4gZnVuY3Rpb24oRCl7cmV0dXJu IEEuYXBwbHkoQywoQj09bnVsbCk/YXJndW1lbnRzOltEXS5jb25jYXQoQikpOwp9 O30scnVuOmZ1bmN0aW9uKEEsQil7cmV0dXJuIHRoaXMuYXBwbHkoQixBcnJheS5m cm9tKEEpKTt9fSk7dmFyICR0cnk9RnVuY3Rpb24uYXR0ZW1wdDsoZnVuY3Rpb24o KXt2YXIgQT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O09iamVjdC5l eHRlbmQoe3N1YnNldDpmdW5jdGlvbihELEcpe3ZhciBGPXt9O2Zvcih2YXIgRT0w LEI9Ry5sZW5ndGg7RTxCO0UrKyl7dmFyIEM9R1tFXTtpZihDIGluIEQpe0ZbQ109 RFtDXTt9fXJldHVybiBGO30sbWFwOmZ1bmN0aW9uKEIsRSxGKXt2YXIgRD17fTtm b3IodmFyIEMgaW4gQil7aWYoQS5jYWxsKEIsQykpe0RbQ109RS5jYWxsKEYsQltD XSxDLEIpO319cmV0dXJuIEQ7fSxmaWx0ZXI6ZnVuY3Rpb24oQixFLEcpe3ZhciBE PXt9O2Zvcih2YXIgQyBpbiBCKXt2YXIgRj1CW0NdO2lmKEEuY2FsbChCLEMpJiZF LmNhbGwoRyxGLEMsQikpe0RbQ109Rjt9fXJldHVybiBEO30sZXZlcnk6ZnVuY3Rp b24oQixELEUpe2Zvcih2YXIgQyBpbiBCKXtpZihBLmNhbGwoQixDKSYmIUQuY2Fs bChFLEJbQ10sQykpe3JldHVybiBmYWxzZTsKfX1yZXR1cm4gdHJ1ZTt9LHNvbWU6 ZnVuY3Rpb24oQixELEUpe2Zvcih2YXIgQyBpbiBCKXtpZihBLmNhbGwoQixDKSYm RC5jYWxsKEUsQltDXSxDKSl7cmV0dXJuIHRydWU7fX1yZXR1cm4gZmFsc2U7fSxr ZXlzOmZ1bmN0aW9uKEIpe3ZhciBEPVtdO2Zvcih2YXIgQyBpbiBCKXtpZihBLmNh bGwoQixDKSl7RC5wdXNoKEMpO319cmV0dXJuIEQ7fSx2YWx1ZXM6ZnVuY3Rpb24o Qyl7dmFyIEI9W107Zm9yKHZhciBEIGluIEMpe2lmKEEuY2FsbChDLEQpKXtCLnB1 c2goQ1tEXSk7fX1yZXR1cm4gQjt9LGdldExlbmd0aDpmdW5jdGlvbihCKXtyZXR1 cm4gT2JqZWN0LmtleXMoQikubGVuZ3RoO30sa2V5T2Y6ZnVuY3Rpb24oQixEKXtm b3IodmFyIEMgaW4gQil7aWYoQS5jYWxsKEIsQykmJkJbQ109PT1EKXtyZXR1cm4g Qzt9fXJldHVybiBudWxsO30sY29udGFpbnM6ZnVuY3Rpb24oQixDKXtyZXR1cm4g T2JqZWN0LmtleU9mKEIsQykhPW51bGw7fSx0b1F1ZXJ5U3RyaW5nOmZ1bmN0aW9u KEIsQyl7dmFyIEQ9W107Ck9iamVjdC5lYWNoKEIsZnVuY3Rpb24oSCxHKXtpZihD KXtHPUMrIlsiK0crIl0iO312YXIgRjtzd2l0Y2godHlwZU9mKEgpKXtjYXNlIm9i amVjdCI6Rj1PYmplY3QudG9RdWVyeVN0cmluZyhILEcpO2JyZWFrO2Nhc2UiYXJy YXkiOnZhciBFPXt9O0guZWFjaChmdW5jdGlvbihKLEkpe0VbSV09Sjt9KTtGPU9i amVjdC50b1F1ZXJ5U3RyaW5nKEUsRyk7YnJlYWs7ZGVmYXVsdDpGPUcrIj0iK2Vu Y29kZVVSSUNvbXBvbmVudChIKTt9aWYoSCE9bnVsbCl7RC5wdXNoKEYpO319KTty ZXR1cm4gRC5qb2luKCImIik7fX0pO30pKCk7SGFzaC5pbXBsZW1lbnQoe2hhczpP YmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGtleU9mOmZ1bmN0aW9uKEEp e3JldHVybiBPYmplY3Qua2V5T2YodGhpcyxBKTt9LGhhc1ZhbHVlOmZ1bmN0aW9u KEEpe3JldHVybiBPYmplY3QuY29udGFpbnModGhpcyxBKTt9LGV4dGVuZDpmdW5j dGlvbihBKXtIYXNoLmVhY2goQXx8e30sZnVuY3Rpb24oQyxCKXtIYXNoLnNldCh0 aGlzLEIsQyk7Cn0sdGhpcyk7cmV0dXJuIHRoaXM7fSxjb21iaW5lOmZ1bmN0aW9u KEEpe0hhc2guZWFjaChBfHx7fSxmdW5jdGlvbihDLEIpe0hhc2guaW5jbHVkZSh0 aGlzLEIsQyk7fSx0aGlzKTtyZXR1cm4gdGhpczt9LGVyYXNlOmZ1bmN0aW9uKEEp e2lmKHRoaXMuaGFzT3duUHJvcGVydHkoQSkpe2RlbGV0ZSB0aGlzW0FdO31yZXR1 cm4gdGhpczt9LGdldDpmdW5jdGlvbihBKXtyZXR1cm4odGhpcy5oYXNPd25Qcm9w ZXJ0eShBKSk/dGhpc1tBXTpudWxsO30sc2V0OmZ1bmN0aW9uKEEsQil7aWYoIXRo aXNbQV18fHRoaXMuaGFzT3duUHJvcGVydHkoQSkpe3RoaXNbQV09Qjt9cmV0dXJu IHRoaXM7fSxlbXB0eTpmdW5jdGlvbigpe0hhc2guZWFjaCh0aGlzLGZ1bmN0aW9u KEIsQSl7ZGVsZXRlIHRoaXNbQV07fSx0aGlzKTtyZXR1cm4gdGhpczt9LGluY2x1 ZGU6ZnVuY3Rpb24oQSxCKXtpZih0aGlzW0FdPT1udWxsKXt0aGlzW0FdPUI7fXJl dHVybiB0aGlzO30sbWFwOmZ1bmN0aW9uKEEsQil7cmV0dXJuIG5ldyBIYXNoKE9i amVjdC5tYXAodGhpcyxBLEIpKTsKfSxmaWx0ZXI6ZnVuY3Rpb24oQSxCKXtyZXR1 cm4gbmV3IEhhc2goT2JqZWN0LmZpbHRlcih0aGlzLEEsQikpO30sZXZlcnk6ZnVu

Y3Rpb24oQSxCKXtyZXR1cm4gT2JqZWN0LmV2ZXJ5KHRoaXMsQSxCKTt9LHNvbWU6 ZnVuY3Rpb24oQSxCKXtyZXR1cm4gT2JqZWN0LnNvbWUodGhpcyxBLEIpO30sZ2V0 S2V5czpmdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzKTt9LGdldFZh bHVlczpmdW5jdGlvbigpe3JldHVybiBPYmplY3QudmFsdWVzKHRoaXMpO30sdG9R dWVyeVN0cmluZzpmdW5jdGlvbihBKXtyZXR1cm4gT2JqZWN0LnRvUXVlcnlTdHJp bmcodGhpcyxBKTt9fSk7SGFzaC5leHRlbmQ9T2JqZWN0LmFwcGVuZDtIYXNoLmFs aWFzKHtpbmRleE9mOiJrZXlPZiIsY29udGFpbnM6Imhhc1ZhbHVlIn0pOyhmdW5j dGlvbigpe3ZhciBLPXRoaXMuZG9jdW1lbnQ7dmFyIEk9Sy53aW5kb3c9dGhpczt2 YXIgQj0xO3RoaXMuJHVpZD0oSS5BY3RpdmVYT2JqZWN0KT9mdW5jdGlvbihQKXty ZXR1cm4oUC51aWR8fChQLnVpZD1bQisrXSkpWzBdOwp9OmZ1bmN0aW9uKFApe3Jl dHVybiBQLnVpZHx8KFAudWlkPUIrKyk7fTskdWlkKEkpOyR1aWQoSyk7dmFyIEE9 bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLEM9bmF2aWdhdG9yLnBs YXRmb3JtLnRvTG93ZXJDYXNlKCksSj1BLm1hdGNoKC8ob3BlcmF8aWV8ZmlyZWZv eHxjaHJvbWV8dmVyc2lvbilbXHNcLzpdKFtcd1xkXC5dKyk/Lio/KHNhZmFyaXx2 ZXJzaW9uW1xzXC86XShbXHdcZFwuXSspfCQpLyl8fFtudWxsLCJ1bmtub3duIiww XSxGPUpbMV09PSJpZSImJksuZG9jdW1lbnRNb2RlO3ZhciBPPXRoaXMuQnJvd3Nl cj17ZXh0ZW5kOkZ1bmN0aW9uLnByb3RvdHlwZS5leHRlbmQsbmFtZTooSlsxXT09 InZlcnNpb24iKT9KWzNdOkpbMV0sdmVyc2lvbjpGfHxwYXJzZUZsb2F0KChKWzFd PT0ib3BlcmEiJiZKWzRdKT9KWzRdOkpbMl0pLFBsYXRmb3JtOntuYW1lOkEubWF0 Y2goL2lwKD86YWR8b2R8aG9uZSkvKT8iaW9zIjooQS5tYXRjaCgvKD86d2Vib3N8 YW5kcm9pZCkvKXx8Qy5tYXRjaCgvbWFjfHdpbnxsaW51eC8pfHxbIm90aGVyIl0p WzBdfSxGZWF0dXJlczp7eHBhdGg6ISEoSy5ldmFsdWF0ZSksYWlyOiEhKEkucnVu dGltZSkscXVlcnk6ISEoSy5xdWVyeVNlbGVjdG9yKSxqc29uOiEhKEkuSlNPTil9 LFBsdWdpbnM6e319OwpPW08ubmFtZV09dHJ1ZTtPW08ubmFtZStwYXJzZUludChP LnZlcnNpb24sMTApXT10cnVlO08uUGxhdGZvcm1bTy5QbGF0Zm9ybS5uYW1lXT10 cnVlO08uUmVxdWVzdD0oZnVuY3Rpb24oKXt2YXIgUj1mdW5jdGlvbigpe3JldHVy biBuZXcgWE1MSHR0cFJlcXVlc3QoKTt9O3ZhciBRPWZ1bmN0aW9uKCl7cmV0dXJu IG5ldyBBY3RpdmVYT2JqZWN0KCJNU1hNTDIuWE1MSFRUUCIpO307dmFyIFA9ZnVu Y3Rpb24oKXtyZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxI VFRQIik7fTtyZXR1cm4gRnVuY3Rpb24uYXR0ZW1wdChmdW5jdGlvbigpe1IoKTty ZXR1cm4gUjt9LGZ1bmN0aW9uKCl7USgpO3JldHVybiBRO30sZnVuY3Rpb24oKXtQ KCk7cmV0dXJuIFA7fSk7fSkoKTtPLkZlYXR1cmVzLnhocj0hIShPLlJlcXVlc3Qp O3ZhciBIPShGdW5jdGlvbi5hdHRlbXB0KGZ1bmN0aW9uKCl7cmV0dXJuIG5hdmln YXRvci5wbHVnaW5zWyJTaG9ja3dhdmUgRmxhc2giXS5kZXNjcmlwdGlvbjsKfSxm dW5jdGlvbigpe3JldHVybiBuZXcgQWN0aXZlWE9iamVjdCgiU2hvY2t3YXZlRmxh c2guU2hvY2t3YXZlRmxhc2giKS5HZXRWYXJpYWJsZSgiJHZlcnNpb24iKTt9KXx8 IjAgcjAiKS5tYXRjaCgvXGQrL2cpO08uUGx1Z2lucy5GbGFzaD17dmVyc2lvbjpO dW1iZXIoSFswXXx8IjAuIitIWzFdKXx8MCxidWlsZDpOdW1iZXIoSFsyXSl8fDB9 O08uZXhlYz1mdW5jdGlvbihRKXtpZighUSl7cmV0dXJuIFE7fWlmKEkuZXhlY1Nj cmlwdCl7SS5leGVjU2NyaXB0KFEpO31lbHNle3ZhciBQPUsuY3JlYXRlRWxlbWVu dCgic2NyaXB0Iik7UC5zZXRBdHRyaWJ1dGUoInR5cGUiLCJ0ZXh0L2phdmFzY3Jp cHQiKTtQLnRleHQ9UTtLLmhlYWQuYXBwZW5kQ2hpbGQoUCk7Sy5oZWFkLnJlbW92 ZUNoaWxkKFApO31yZXR1cm4gUTt9O1N0cmluZy5pbXBsZW1lbnQoInN0cmlwU2Ny aXB0cyIsZnVuY3Rpb24oUSl7dmFyIFA9IiI7dmFyIFI9dGhpcy5yZXBsYWNlKC88 c2NyaXB0W14+XSo+KFtcc1xTXSo/KTxcL3NjcmlwdD4vZ2ksZnVuY3Rpb24oUyxU KXtQKz1UKyJcbiI7CnJldHVybiIiO30pO2lmKFE9PT10cnVlKXtPLmV4ZWMoUCk7 fWVsc2V7aWYodHlwZU9mKFEpPT0iZnVuY3Rpb24iKXtRKFAsUik7fX1yZXR1cm4g Ujt9KTtPLmV4dGVuZCh7RG9jdW1lbnQ6dGhpcy5Eb2N1bWVudCxXaW5kb3c6dGhp cy5XaW5kb3csRWxlbWVudDp0aGlzLkVsZW1lbnQsRXZlbnQ6dGhpcy5FdmVudH0p O3RoaXMuV2luZG93PXRoaXMuJGNvbnN0cnVjdG9yPW5ldyBUeXBlKCJXaW5kb3ci LGZ1bmN0aW9uKCl7fSk7dGhpcy4kZmFtaWx5PUZ1bmN0aW9uLmZyb20oIndpbmRv dyIpLmhpZGUoKTtXaW5kb3cubWlycm9yKGZ1bmN0aW9uKFAsUSl7SVtQXT1RO30p O3RoaXMuRG9jdW1lbnQ9Sy4kY29uc3RydWN0b3I9bmV3IFR5cGUoIkRvY3VtZW50 IixmdW5jdGlvbigpe30pO0suJGZhbWlseT1GdW5jdGlvbi5mcm9tKCJkb2N1bWVu dCIpLmhpZGUoKTtEb2N1bWVudC5taXJyb3IoZnVuY3Rpb24oUCxRKXtLW1BdPVE7 fSk7Sy5odG1sPUsuZG9jdW1lbnRFbGVtZW50O2lmKCFLLmhlYWQpe0suaGVhZD1L LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07Cn1pZihLLmV4ZWNDb21t YW5kKXt0cnl7Sy5leGVjQ29tbWFuZCgiQmFja2dyb3VuZEltYWdlQ2FjaGUiLGZh bHNlLHRydWUpO31jYXRjaChHKXt9fWlmKHRoaXMuYXR0YWNoRXZlbnQmJiF0aGlz LmFkZEV2ZW50TGlzdGVuZXIpe3ZhciBEPWZ1bmN0aW9uKCl7dGhpcy5kZXRhY2hF

dmVudCgib251bmxvYWQiLEQpO0suaGVhZD1LLmh0bWw9Sy53aW5kb3c9bnVsbDt9 O3RoaXMuYXR0YWNoRXZlbnQoIm9udW5sb2FkIixEKTt9dmFyIE09QXJyYXkuZnJv bTt0cnl7TShLLmh0bWwuY2hpbGROb2Rlcyk7fWNhdGNoKEcpe0FycmF5LmZyb209 ZnVuY3Rpb24oUSl7aWYodHlwZW9mIFEhPSJzdHJpbmciJiZUeXBlLmlzRW51bWVy YWJsZShRKSYmdHlwZU9mKFEpIT0iYXJyYXkiKXt2YXIgUD1RLmxlbmd0aCxSPW5l dyBBcnJheShQKTt3aGlsZShQLS0pe1JbUF09UVtQXTt9cmV0dXJuIFI7fXJldHVy biBNKFEpO307dmFyIEw9QXJyYXkucHJvdG90eXBlLE49TC5zbGljZTtbInBvcCIs InB1c2giLCJyZXZlcnNlIiwic2hpZnQiLCJzb3J0Iiwic3BsaWNlIiwidW5zaGlm dCIsImNvbmNhdCIsImpvaW4iLCJzbGljZSJdLmVhY2goZnVuY3Rpb24oUCl7dmFy IFE9TFtQXTsKQXJyYXlbUF09ZnVuY3Rpb24oUil7cmV0dXJuIFEuYXBwbHkoQXJy YXkuZnJvbShSKSxOLmNhbGwoYXJndW1lbnRzLDEpKTt9O30pO31pZihPLlBsYXRm b3JtLmlvcyl7Ty5QbGF0Zm9ybS5pcG9kPXRydWU7fU8uRW5naW5lPXt9O3ZhciBF PWZ1bmN0aW9uKFEsUCl7Ty5FbmdpbmUubmFtZT1RO08uRW5naW5lW1ErUF09dHJ1 ZTtPLkVuZ2luZS52ZXJzaW9uPVA7fTtpZihPLmllKXtPLkVuZ2luZS50cmlkZW50 PXRydWU7c3dpdGNoKE8udmVyc2lvbil7Y2FzZSA2OkUoInRyaWRlbnQiLDQpO2Jy ZWFrO2Nhc2UgNzpFKCJ0cmlkZW50Iiw1KTticmVhaztjYXNlIDg6RSgidHJpZGVu dCIsNik7fX1pZihPLmZpcmVmb3gpe08uRW5naW5lLmdlY2tvPXRydWU7aWYoTy52 ZXJzaW9uPj0zKXtFKCJnZWNrbyIsMTkpO31lbHNle0UoImdlY2tvIiwxOCk7fX1p ZihPLnNhZmFyaXx8Ty5jaHJvbWUpe08uRW5naW5lLndlYmtpdD10cnVlO3N3aXRj aChPLnZlcnNpb24pe2Nhc2UgMjpFKCJ3ZWJraXQiLDQxOSk7CmJyZWFrO2Nhc2Ug MzpFKCJ3ZWJraXQiLDQyMCk7YnJlYWs7Y2FzZSA0OkUoIndlYmtpdCIsNTI1KTt9 fWlmKE8ub3BlcmEpe08uRW5naW5lLnByZXN0bz10cnVlO2lmKE8udmVyc2lvbj49 OS42KXtFKCJwcmVzdG8iLDk2MCk7fWVsc2V7aWYoTy52ZXJzaW9uPj05LjUpe0Uo InByZXN0byIsOTUwKTt9ZWxzZXtFKCJwcmVzdG8iLDkyNSk7fX19aWYoTy5uYW1l PT0idW5rbm93biIpe3N3aXRjaCgoQS5tYXRjaCgvKD86d2Via2l0fGtodG1sfGdl Y2tvKS8pfHxbXSlbMF0pe2Nhc2Uid2Via2l0IjpjYXNlImtodG1sIjpPLkVuZ2lu ZS53ZWJraXQ9dHJ1ZTticmVhaztjYXNlImdlY2tvIjpPLkVuZ2luZS5nZWNrbz10 cnVlO319dGhpcy4kZXhlYz1PLmV4ZWM7fSkoKTt2YXIgRXZlbnQ9bmV3IFR5cGUo IkV2ZW50IixmdW5jdGlvbihBLEkpe2lmKCFJKXtJPXdpbmRvdzt9dmFyIE89SS5k b2N1bWVudDtBPUF8fEkuZXZlbnQ7aWYoQS4kZXh0ZW5kZWQpe3JldHVybiBBO310 aGlzLiRleHRlbmRlZD10cnVlOwp2YXIgTj1BLnR5cGUsSz1BLnRhcmdldHx8QS5z cmNFbGVtZW50LE09e30sQz17fSxRPW51bGwsSCxMLEIsUDt3aGlsZShLJiZLLm5v ZGVUeXBlPT0zKXtLPUsucGFyZW50Tm9kZTt9aWYoTi5pbmRleE9mKCJrZXkiKSE9 LTEpe0I9QS53aGljaHx8QS5rZXlDb2RlO1A9T2JqZWN0LmtleU9mKEV2ZW50Lktl eXMsQik7aWYoTj09ImtleWRvd24iKXt2YXIgRD1CLTExMTtpZihEPjAmJkQ8MTMp e1A9ImYiK0Q7fX1pZighUCl7UD1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpLnRvTG93 ZXJDYXNlKCk7fX1lbHNle2lmKCgvY2xpY2t8bW91c2V8bWVudS9pKS50ZXN0KE4p KXtPPSghTy5jb21wYXRNb2RlfHxPLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Iik/ Ty5odG1sOk8uYm9keTtNPXt4OihBLnBhZ2VYIT1udWxsKT9BLnBhZ2VYOkEuY2xp ZW50WCtPLnNjcm9sbExlZnQseTooQS5wYWdlWSE9bnVsbCk/QS5wYWdlWTpBLmNs aWVudFkrTy5zY3JvbGxUb3B9O0M9e3g6KEEucGFnZVghPW51bGwpP0EucGFnZVgt SS5wYWdlWE9mZnNldDpBLmNsaWVudFgseTooQS5wYWdlWSE9bnVsbCk/QS5wYWdl WS1JLnBhZ2VZT2Zmc2V0OkEuY2xpZW50WX07CmlmKCgvRE9NTW91c2VTY3JvbGx8 bW91c2V3aGVlbC8pLnRlc3QoTikpe0w9KEEud2hlZWxEZWx0YSk/QS53aGVlbERl bHRhLzEyMDotKEEuZGV0YWlsfHwwKS8zO31IPShBLndoaWNoPT0zKXx8KEEuYnV0 dG9uPT0yKTtpZigoL292ZXJ8b3V0LykudGVzdChOKSl7UT1BLnJlbGF0ZWRUYXJn ZXR8fEFbKE49PSJtb3VzZW92ZXIiPyJmcm9tIjoidG8iKSsiRWxlbWVudCJdO3Zh ciBKPWZ1bmN0aW9uKCl7d2hpbGUoUSYmUS5ub2RlVHlwZT09Myl7UT1RLnBhcmVu dE5vZGU7fXJldHVybiB0cnVlO307dmFyIEc9KEJyb3dzZXIuZmlyZWZveDIpP0ou YXR0ZW1wdCgpOkooKTtRPShHKT9ROm51bGw7fX1lbHNle2lmKCgvZ2VzdHVyZXx0 b3VjaC9pKS50ZXN0KE4pKXt0aGlzLnJvdGF0aW9uPUEucm90YXRpb247dGhpcy5z Y2FsZT1BLnNjYWxlO3RoaXMudGFyZ2V0VG91Y2hlcz1BLnRhcmdldFRvdWNoZXM7 dGhpcy5jaGFuZ2VkVG91Y2hlcz1BLmNoYW5nZWRUb3VjaGVzO3ZhciBGPXRoaXMu dG91Y2hlcz1BLnRvdWNoZXM7CmlmKEYmJkZbMF0pe3ZhciBFPUZbMF07TT17eDpF LnBhZ2VYLHk6RS5wYWdlWX07Qz17eDpFLmNsaWVudFgseTpFLmNsaWVudFl9O319 fX1yZXR1cm4gT2JqZWN0LmFwcGVuZCh0aGlzLHtldmVudDpBLHR5cGU6TixwYWdl Ok0sY2xpZW50OkMscmlnaHRDbGljazpILHdoZWVsOkwscmVsYXRlZFRhcmdldDpk b2N1bWVudC5pZChRKSx0YXJnZXQ6ZG9jdW1lbnQuaWQoSyksY29kZTpCLGtleTpQ LHNoaWZ0OkEuc2hpZnRLZXksY29udHJvbDpBLmN0cmxLZXksYWx0OkEuYWx0S2V5 LG1ldGE6QS5tZXRhS2V5fSk7fSk7RXZlbnQuS2V5cz17ZW50ZXI6MTMsdXA6Mzgs

ZG93bjo0MCxsZWZ0OjM3LHJpZ2h0OjM5LGVzYzoyNyxzcGFjZTozMixiYWNrc3Bh Y2U6OCx0YWI6OSwiZGVsZXRlIjo0Nn07RXZlbnQuS2V5cz1uZXcgSGFzaChFdmVu dC5LZXlzKTtFdmVudC5pbXBsZW1lbnQoe3N0b3A6ZnVuY3Rpb24oKXtyZXR1cm4g dGhpcy5zdG9wUHJvcGFnYXRpb24oKS5wcmV2ZW50RGVmYXVsdCgpOwp9LHN0b3BQ cm9wYWdhdGlvbjpmdW5jdGlvbigpe2lmKHRoaXMuZXZlbnQuc3RvcFByb3BhZ2F0 aW9uKXt0aGlzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO31lbHNle3RoaXMuZXZl bnQuY2FuY2VsQnViYmxlPXRydWU7fXJldHVybiB0aGlzO30scHJldmVudERlZmF1 bHQ6ZnVuY3Rpb24oKXtpZih0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0KXt0aGlz LmV2ZW50LnByZXZlbnREZWZhdWx0KCk7fWVsc2V7dGhpcy5ldmVudC5yZXR1cm5W YWx1ZT1mYWxzZTt9cmV0dXJuIHRoaXM7fX0pOyhmdW5jdGlvbigpe3ZhciBBPXRo aXMuQ2xhc3M9bmV3IFR5cGUoIkNsYXNzIixmdW5jdGlvbihIKXtpZihpbnN0YW5j ZU9mKEgsRnVuY3Rpb24pKXtIPXtpbml0aWFsaXplOkh9O312YXIgRz1mdW5jdGlv bigpe0UodGhpcyk7aWYoRy4kcHJvdG90eXBpbmcpe3JldHVybiB0aGlzO310aGlz LiRjYWxsZXI9bnVsbDt2YXIgST0odGhpcy5pbml0aWFsaXplKT90aGlzLmluaXRp YWxpemUuYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXM7CnRoaXMuJGNhbGxlcj10 aGlzLmNhbGxlcj1udWxsO3JldHVybiBJO30uZXh0ZW5kKHRoaXMpLmltcGxlbWVu dChIKTtHLiRjb25zdHJ1Y3Rvcj1BO0cucHJvdG90eXBlLiRjb25zdHJ1Y3Rvcj1H O0cucHJvdG90eXBlLnBhcmVudD1DO3JldHVybiBHO30pO3ZhciBDPWZ1bmN0aW9u KCl7aWYoIXRoaXMuJGNhbGxlcil7dGhyb3cgbmV3IEVycm9yKCdUaGUgbWV0aG9k ICJwYXJlbnQiIGNhbm5vdCBiZSBjYWxsZWQuJyk7fXZhciBHPXRoaXMuJGNhbGxl ci4kbmFtZSxIPXRoaXMuJGNhbGxlci4kb3duZXIucGFyZW50LEk9KEgpP0gucHJv dG90eXBlW0ddOm51bGw7aWYoIUkpe3Rocm93IG5ldyBFcnJvcignVGhlIG1ldGhv ZCAiJytHKyciIGhhcyBubyBwYXJlbnQuJyk7fXJldHVybiBJLmFwcGx5KHRoaXMs YXJndW1lbnRzKTt9O3ZhciBFPWZ1bmN0aW9uKEcpe2Zvcih2YXIgSCBpbiBHKXt2 YXIgSj1HW0hdO3N3aXRjaCh0eXBlT2YoSikpe2Nhc2Uib2JqZWN0Ijp2YXIgST1m dW5jdGlvbigpe307CkkucHJvdG90eXBlPUo7R1tIXT1FKG5ldyBJKTticmVhaztj YXNlImFycmF5IjpHW0hdPUouY2xvbmUoKTticmVhazt9fXJldHVybiBHO307dmFy IEI9ZnVuY3Rpb24oRyxILEope2lmKEouJG9yaWdpbil7Sj1KLiRvcmlnaW47fXZh ciBJPWZ1bmN0aW9uKCl7aWYoSi4kcHJvdGVjdGVkJiZ0aGlzLiRjYWxsZXI9PW51 bGwpe3Rocm93IG5ldyBFcnJvcignVGhlIG1ldGhvZCAiJytIKyciIGNhbm5vdCBi ZSBjYWxsZWQuJyk7fXZhciBMPXRoaXMuY2FsbGVyLE09dGhpcy4kY2FsbGVyO3Ro aXMuY2FsbGVyPU07dGhpcy4kY2FsbGVyPUk7dmFyIEs9Si5hcHBseSh0aGlzLGFy Z3VtZW50cyk7dGhpcy4kY2FsbGVyPU07dGhpcy5jYWxsZXI9TDtyZXR1cm4gSzt9 LmV4dGVuZCh7JG93bmVyOkcsJG9yaWdpbjpKLCRuYW1lOkh9KTtyZXR1cm4gSTt9 O3ZhciBGPWZ1bmN0aW9uKEgsSSxHKXtpZihBLk11dGF0b3JzLmhhc093blByb3Bl cnR5KEgpKXtJPUEuTXV0YXRvcnNbSF0uY2FsbCh0aGlzLEkpOwppZihJPT1udWxs KXtyZXR1cm4gdGhpczt9fWlmKHR5cGVPZihJKT09ImZ1bmN0aW9uIil7aWYoSS4k aGlkZGVuKXtyZXR1cm4gdGhpczt9dGhpcy5wcm90b3R5cGVbSF09KEcpP0k6Qih0 aGlzLEgsSSk7fWVsc2V7T2JqZWN0Lm1lcmdlKHRoaXMucHJvdG90eXBlLEgsSSk7 fXJldHVybiB0aGlzO307dmFyIEQ9ZnVuY3Rpb24oRyl7Ry4kcHJvdG90eXBpbmc9 dHJ1ZTt2YXIgSD1uZXcgRztkZWxldGUgRy4kcHJvdG90eXBpbmc7cmV0dXJuIEg7 fTtBLmltcGxlbWVudCgiaW1wbGVtZW50IixGLm92ZXJsb2FkU2V0dGVyKCkpO0Eu TXV0YXRvcnM9e0V4dGVuZHM6ZnVuY3Rpb24oRyl7dGhpcy5wYXJlbnQ9Rzt0aGlz LnByb3RvdHlwZT1EKEcpO30sSW1wbGVtZW50czpmdW5jdGlvbihHKXtBcnJheS5m cm9tKEcpLmVhY2goZnVuY3Rpb24oSil7dmFyIEg9bmV3IEo7Zm9yKHZhciBJIGlu IEgpe0YuY2FsbCh0aGlzLEksSFtJXSx0cnVlKTt9fSx0aGlzKTt9fTt9KSgpOyhm dW5jdGlvbigpe3RoaXMuQ2hhaW49bmV3IENsYXNzKHskY2hhaW46W10sY2hhaW46 ZnVuY3Rpb24oKXt0aGlzLiRjaGFpbi5hcHBlbmQoQXJyYXkuZmxhdHRlbihhcmd1 bWVudHMpKTsKcmV0dXJuIHRoaXM7fSxjYWxsQ2hhaW46ZnVuY3Rpb24oKXtyZXR1 cm4odGhpcy4kY2hhaW4ubGVuZ3RoKT90aGlzLiRjaGFpbi5zaGlmdCgpLmFwcGx5 KHRoaXMsYXJndW1lbnRzKTpmYWxzZTt9LGNsZWFyQ2hhaW46ZnVuY3Rpb24oKXt0 aGlzLiRjaGFpbi5lbXB0eSgpO3JldHVybiB0aGlzO319KTt2YXIgQT1mdW5jdGlv bihCKXtyZXR1cm4gQi5yZXBsYWNlKC9eb24oW0EtWl0pLyxmdW5jdGlvbihDLEQp e3JldHVybiBELnRvTG93ZXJDYXNlKCk7fSk7fTt0aGlzLkV2ZW50cz1uZXcgQ2xh c3MoeyRldmVudHM6e30sYWRkRXZlbnQ6ZnVuY3Rpb24oRCxDLEIpe0Q9QShEKTtp ZihDPT0kZW1wdHkpe3JldHVybiB0aGlzO310aGlzLiRldmVudHNbRF09KHRoaXMu JGV2ZW50c1tEXXx8W10pLmluY2x1ZGUoQyk7aWYoQil7Qy5pbnRlcm5hbD10cnVl O31yZXR1cm4gdGhpczt9LGFkZEV2ZW50czpmdW5jdGlvbihCKXtmb3IodmFyIEMg aW4gQil7dGhpcy5hZGRFdmVudChDLEJbQ10pO31yZXR1cm4gdGhpczsKfSxmaXJl RXZlbnQ6ZnVuY3Rpb24oRSxDLEIpe0U9QShFKTt2YXIgRD10aGlzLiRldmVudHNb

RV07aWYoIUQpe3JldHVybiB0aGlzO31DPUFycmF5LmZyb20oQyk7RC5lYWNoKGZ1 bmN0aW9uKEYpe2lmKEIpe0YuZGVsYXkoQix0aGlzLEMpO31lbHNle0YuYXBwbHko dGhpcyxDKTt9fSx0aGlzKTtyZXR1cm4gdGhpczt9LHJlbW92ZUV2ZW50OmZ1bmN0 aW9uKEUsRCl7RT1BKEUpO3ZhciBDPXRoaXMuJGV2ZW50c1tFXTtpZihDJiYhRC5p bnRlcm5hbCl7dmFyIEI9Qy5pbmRleE9mKEQpO2lmKEIhPS0xKXtkZWxldGUgQ1tC XTt9fXJldHVybiB0aGlzO30scmVtb3ZlRXZlbnRzOmZ1bmN0aW9uKEQpe3ZhciBF O2lmKHR5cGVPZihEKT09Im9iamVjdCIpe2ZvcihFIGluIEQpe3RoaXMucmVtb3Zl RXZlbnQoRSxEW0VdKTt9cmV0dXJuIHRoaXM7fWlmKEQpe0Q9QShEKTt9Zm9yKEUg aW4gdGhpcy4kZXZlbnRzKXtpZihEJiZEIT1FKXtjb250aW51ZTt9dmFyIEM9dGhp cy4kZXZlbnRzW0VdO2Zvcih2YXIgQj1DLmxlbmd0aDsKQi0tOyl7aWYoQiBpbiBD KXt0aGlzLnJlbW92ZUV2ZW50KEUsQ1tCXSk7fX19cmV0dXJuIHRoaXM7fX0pO3Ro aXMuT3B0aW9ucz1uZXcgQ2xhc3Moe3NldE9wdGlvbnM6ZnVuY3Rpb24oKXt2YXIg Qj10aGlzLm9wdGlvbnM9T2JqZWN0Lm1lcmdlLmFwcGx5KG51bGwsW3t9LHRoaXMu b3B0aW9uc10uYXBwZW5kKGFyZ3VtZW50cykpO2lmKHRoaXMuYWRkRXZlbnQpe2Zv cih2YXIgQyBpbiBCKXtpZih0eXBlT2YoQltDXSkhPSJmdW5jdGlvbiJ8fCEoL15v bltBLVpdLykudGVzdChDKSl7Y29udGludWU7fXRoaXMuYWRkRXZlbnQoQyxCW0Nd KTtkZWxldGUgQltDXTt9fXJldHVybiB0aGlzO319KTt9KSgpOyhmdW5jdGlvbigp e3ZhciBLLE4sTCxHLEE9e30sQz17fSxNPS9cXC9nO3ZhciBFPWZ1bmN0aW9uKFEs UCl7aWYoUT09bnVsbCl7cmV0dXJuIG51bGw7fWlmKFEuU2xpY2s9PT10cnVlKXty ZXR1cm4gUTt9UT0oIiIrUSkucmVwbGFjZSgvXlxzK3xccyskL2csIiIpO0c9ISFQ O3ZhciBPPShHKT9DOkE7CmlmKE9bUV0pe3JldHVybiBPW1FdO31LPXtTbGljazp0 cnVlLGV4cHJlc3Npb25zOltdLHJhdzpRLHJldmVyc2U6ZnVuY3Rpb24oKXtyZXR1 cm4gRSh0aGlzLnJhdyx0cnVlKTt9fTtOPS0xO3doaWxlKFEhPShRPVEucmVwbGFj ZShKLEIpKSl7fUsubGVuZ3RoPUsuZXhwcmVzc2lvbnMubGVuZ3RoO3JldHVybiBP W0sucmF3XT0oRyk/SChLKTpLO307dmFyIEk9ZnVuY3Rpb24oTyl7aWYoTz09PSIh Iil7cmV0dXJuIiAiO31lbHNle2lmKE89PT0iICIpe3JldHVybiIhIjt9ZWxzZXtp ZigoL14hLykudGVzdChPKSl7cmV0dXJuIE8ucmVwbGFjZSgvXiEvLCIiKTt9ZWxz ZXtyZXR1cm4iISIrTzt9fX19O3ZhciBIPWZ1bmN0aW9uKFUpe3ZhciBSPVUuZXhw cmVzc2lvbnM7Zm9yKHZhciBQPTA7UDxSLmxlbmd0aDtQKyspe3ZhciBUPVJbUF07 dmFyIFE9e3BhcnRzOltdLHRhZzoiKiIsY29tYmluYXRvcjpJKFRbMF0uY29tYmlu YXRvcil9O2Zvcih2YXIgTz0wO088VC5sZW5ndGg7TysrKXt2YXIgUz1UW09dOwpp ZighUy5yZXZlcnNlQ29tYmluYXRvcil7Uy5yZXZlcnNlQ29tYmluYXRvcj0iICI7 fVMuY29tYmluYXRvcj1TLnJldmVyc2VDb21iaW5hdG9yO2RlbGV0ZSBTLnJldmVy c2VDb21iaW5hdG9yO31ULnJldmVyc2UoKS5wdXNoKFEpO31yZXR1cm4gVTt9O3Zh ciBGPWZ1bmN0aW9uKE8pe3JldHVybiBPLnJlcGxhY2UoL1stW1xde30oKSorPy5c XF4kfCwjXHNdL2csZnVuY3Rpb24oUCl7cmV0dXJuIlxcIitQO30pO307dmFyIEo9 bmV3IFJlZ0V4cCgiXig/OlxccyooLClcXHMqfFxccyooPGNvbWJpbmF0b3I+Kylc XHMqfChcXHMrKXwoPHVuaWNvZGU+K3xcXCopfFxcIyg8dW5pY29kZT4rKXxcXC4o PHVuaWNvZGU+Kyl8XFxbXFxzKig8dW5pY29kZTE+KykoPzpcXHMqKFsqXiQhfnxd Pz0pKD86XFxzKig/OihbXCInXT8pKC4qPylcXDkpKSk/XFxzKlxcXSg/IVxcXSl8 KDorKSg8dW5pY29kZT4rKSg/OlxcKCg/Oig/OihbXCInXSkoW15cXDEzXSopXFwx Myl8KCg/OlxcKFteKV0rXFwpfFteKCldKikrKSlcXCkpPykiLnJlcGxhY2UoLzxj b21iaW5hdG9yPi8sIlsiK0YoIj4rfmAhQCQlXiY9e31cXDs8LyIpKyJdIikucmVw bGFjZSgvPHVuaWNvZGU+L2csIig/OltcXHdcXHUwMGExLVxcdUZGRkYtXXxcXFxc W15cXHMwLTlhLWZdKSIpLnJlcGxhY2UoLzx1bmljb2RlMT4vZywiKD86WzpcXHdc XHUwMGExLVxcdUZGRkYtXXxcXFxcW15cXHMwLTlhLWZdKSIpKTsKZnVuY3Rpb24g QihYLFMsZCxaLFIsYyxRLGIsYSxZLFUsZixnLFYsUCxXKXtpZihTfHxOPT09LTEp e0suZXhwcmVzc2lvbnNbKytOXT1bXTtMPS0xO2lmKFMpe3JldHVybiIiO319aWYo ZHx8Wnx8TD09PS0xKXtkPWR8fCIgIjt2YXIgVD1LLmV4cHJlc3Npb25zW05dO2lm KEcmJlRbTF0pe1RbTF0ucmV2ZXJzZUNvbWJpbmF0b3I9SShkKTt9VFsrK0xdPXtj b21iaW5hdG9yOmQsdGFnOiIqIn07fXZhciBPPUsuZXhwcmVzc2lvbnNbTl1bTF07 aWYoUil7Ty50YWc9Ui5yZXBsYWNlKE0sIiIpO31lbHNle2lmKGMpe08uaWQ9Yy5y ZXBsYWNlKE0sIiIpO31lbHNle2lmKFEpe1E9US5yZXBsYWNlKE0sIiIpO2lmKCFP LmNsYXNzTGlzdCl7Ty5jbGFzc0xpc3Q9W107fWlmKCFPLmNsYXNzZXMpe08uY2xh c3Nlcz1bXTt9Ty5jbGFzc0xpc3QucHVzaChRKTtPLmNsYXNzZXMucHVzaCh7dmFs dWU6USxyZWdleHA6bmV3IFJlZ0V4cCgiKF58XFxzKSIrRihRKSsiKFxcc3wkKSIp fSk7fWVsc2V7aWYoZyl7Vz1XfHxQOwpXPVc/Vy5yZXBsYWNlKE0sIiIpOm51bGw7 aWYoIU8ucHNldWRvcyl7Ty5wc2V1ZG9zPVtdO31PLnBzZXVkb3MucHVzaCh7a2V5 OmcucmVwbGFjZShNLCIiKSx2YWx1ZTpXLHR5cGU6Zi5sZW5ndGg9PTE/ImNsYXNz IjoiZWxlbWVudCJ9KTt9ZWxzZXtpZihiKXtiPWIucmVwbGFjZShNLCIiKTtVPShV

fHwiIikucmVwbGFjZShNLCIiKTt2YXIgZSxoO3N3aXRjaChhKXtjYXNlIl49Ijpo PW5ldyBSZWdFeHAoIl4iK0YoVSkpO2JyZWFrO2Nhc2UiJD0iOmg9bmV3IFJlZ0V4 cChGKFUpKyIkIik7YnJlYWs7Y2FzZSJ+PSI6aD1uZXcgUmVnRXhwKCIoXnxcXHMp IitGKFUpKyIoXFxzfCQpIik7YnJlYWs7Y2FzZSJ8PSI6aD1uZXcgUmVnRXhwKCJe IitGKFUpKyIoLXwkKSIpO2JyZWFrO2Nhc2UiPSI6ZT1mdW5jdGlvbihpKXtyZXR1 cm4gVT09aTt9O2JyZWFrO2Nhc2UiKj0iOmU9ZnVuY3Rpb24oaSl7cmV0dXJuIGkm JmkuaW5kZXhPZihVKT4tMTt9O2JyZWFrO2Nhc2UiIT0iOmU9ZnVuY3Rpb24oaSl7 cmV0dXJuIFUhPWk7Cn07YnJlYWs7ZGVmYXVsdDplPWZ1bmN0aW9uKGkpe3JldHVy biAhIWk7fTt9aWYoVT09IiImJigvXlsqJF5dPSQvKS50ZXN0KGEpKXtlPWZ1bmN0 aW9uKCl7cmV0dXJuIGZhbHNlO307fWlmKCFlKXtlPWZ1bmN0aW9uKGkpe3JldHVy biBpJiZoLnRlc3QoaSk7fTt9aWYoIU8uYXR0cmlidXRlcyl7Ty5hdHRyaWJ1dGVz PVtdO31PLmF0dHJpYnV0ZXMucHVzaCh7a2V5OmIsb3BlcmF0b3I6YSx2YWx1ZTpV LHRlc3Q6ZX0pO319fX19cmV0dXJuIiI7fXZhciBEPSh0aGlzLlNsaWNrfHx7fSk7 RC5wYXJzZT1mdW5jdGlvbihPKXtyZXR1cm4gRShPKTt9O0QuZXNjYXBlUmVnRXhw PUY7aWYoIXRoaXMuU2xpY2spe3RoaXMuU2xpY2s9RDt9fSkuYXBwbHkoKHR5cGVv ZiBleHBvcnRzIT0idW5kZWZpbmVkIik/ZXhwb3J0czp0aGlzKTsoZnVuY3Rpb24o KXt2YXIgST17fSxLPXt9LEI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztJLmlz TmF0aXZlQ29kZT1mdW5jdGlvbihMKXtyZXR1cm4oL1x7XHMqXFtuYXRpdmUgY29k ZVxdXHMqXH0vKS50ZXN0KCIiK0wpOwp9O0kuaXNYTUw9ZnVuY3Rpb24oTCl7cmV0 dXJuKCEhTC54bWxWZXJzaW9uKXx8KCEhTC54bWwpfHwoQi5jYWxsKEwpPT0iW29i amVjdCBYTUxEb2N1bWVudF0iKXx8KEwubm9kZVR5cGU9PTkmJkwuZG9jdW1lbnRF bGVtZW50Lm5vZGVOYW1lIT0iSFRNTCIpO307SS5zZXREb2N1bWVudD1mdW5jdGlv bihXKXt2YXIgVD1XLm5vZGVUeXBlO2lmKFQ9PTkpe31lbHNle2lmKFQpe1c9Vy5v d25lckRvY3VtZW50O31lbHNle2lmKFcubmF2aWdhdG9yKXtXPVcuZG9jdW1lbnQ7 fWVsc2V7cmV0dXJuIDt9fX1pZih0aGlzLmRvY3VtZW50PT09Vyl7cmV0dXJuIDt9 dGhpcy5kb2N1bWVudD1XO3ZhciBZPVcuZG9jdW1lbnRFbGVtZW50LFU9dGhpcy5n ZXRVSURYTUwoWSksTz1LW1VdLGE7aWYoTyl7Zm9yKGEgaW4gTyl7dGhpc1thXT1P W2FdO31yZXR1cm4gO31PPUtbVV09e307Ty5yb290PVk7Ty5pc1hNTERvY3VtZW50 PXRoaXMuaXNYTUwoVyk7Ty5icm9rZW5TdGFyR0VCVE49Ty5zdGFyU2VsZWN0c0Ns b3NlZFFTQT1PLmlkR2V0c05hbWU9Ty5icm9rZW5NaXhlZENhc2VRU0E9Ty5icm9r ZW5HRUJDTj1PLmJyb2tlbkNoZWNrZWRRU0E9Ty5icm9rZW5FbXB0eUF0dHJpYnV0 ZVFTQT1PLmlzSFRNTERvY3VtZW50PU8ubmF0aXZlTWF0Y2hlc1NlbGVjdG9yPWZh bHNlOwp2YXIgTSxOLFgsUSxSO3ZhciBTLEw9InNsaWNrX3VuaXF1ZWlkIjt2YXIg Wj1XLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3ZhciBQPVcuYm9keXx8Vy5nZXRFbGVt ZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdfHxZO1AuYXBwZW5kQ2hpbGQoWik7dHJ5 e1ouaW5uZXJIVE1MPSc8YSBpZD0iJytMKyciPjwvYT4nO08uaXNIVE1MRG9jdW1l bnQ9ISFXLmdldEVsZW1lbnRCeUlkKEwpO31jYXRjaChWKXt9aWYoTy5pc0hUTUxE b2N1bWVudCl7Wi5zdHlsZS5kaXNwbGF5PSJub25lIjtaLmFwcGVuZENoaWxkKFcu Y3JlYXRlQ29tbWVudCgiIikpO049KFouZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioi KS5sZW5ndGg+MSk7dHJ5e1ouaW5uZXJIVE1MPSJmb288L2Zvbz4iO1M9Wi5nZXRF bGVtZW50c0J5VGFnTmFtZSgiKiIpO009KFMmJiEhUy5sZW5ndGgmJlNbMF0ubm9k ZU5hbWUuY2hhckF0KDApPT0iLyIpO31jYXRjaChWKXt9Ty5icm9rZW5TdGFyR0VC VE49Tnx8TTt0cnl7Wi5pbm5lckhUTUw9JzxhIG5hbWU9IicrTCsnIj48L2E+PGIg aWQ9IicrTCsnIj48L2I+JzsKTy5pZEdldHNOYW1lPVcuZ2V0RWxlbWVudEJ5SWQo TCk9PT1aLmZpcnN0Q2hpbGQ7fWNhdGNoKFYpe31pZihaLmdldEVsZW1lbnRzQnlD bGFzc05hbWUpe3RyeXtaLmlubmVySFRNTD0nPGEgY2xhc3M9ImYiPjwvYT48YSBj bGFzcz0iYiI+PC9hPic7Wi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJiIikubGVu Z3RoO1ouZmlyc3RDaGlsZC5jbGFzc05hbWU9ImIiO1E9KFouZ2V0RWxlbWVudHNC eUNsYXNzTmFtZSgiYiIpLmxlbmd0aCE9Mik7fWNhdGNoKFYpe310cnl7Wi5pbm5l ckhUTUw9JzxhIGNsYXNzPSJhIj48L2E+PGEgY2xhc3M9ImYgYiBhIj48L2E+JztY PShaLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImEiKS5sZW5ndGghPTIpO31jYXRj aChWKXt9Ty5icm9rZW5HRUJDTj1RfHxYO31pZihaLnF1ZXJ5U2VsZWN0b3JBbGwp e3RyeXtaLmlubmVySFRNTD0iZm9vPC9mb28+IjtTPVoucXVlcnlTZWxlY3RvckFs bCgiKiIpO08uc3RhclNlbGVjdHNDbG9zZWRRU0E9KFMmJiEhUy5sZW5ndGgmJlNb MF0ubm9kZU5hbWUuY2hhckF0KDApPT0iLyIpOwp9Y2F0Y2goVil7fXRyeXtaLmlu bmVySFRNTD0nPGEgY2xhc3M9Ik1pWCI+PC9hPic7Ty5icm9rZW5NaXhlZENhc2VR U0E9IVoucXVlcnlTZWxlY3RvckFsbCgiLk1pWCIpLmxlbmd0aDt9Y2F0Y2goVil7 fXRyeXtaLmlubmVySFRNTD0nPHNlbGVjdD48b3B0aW9uIHNlbGVjdGVkPSJzZWxl Y3RlZCI+YTwvb3B0aW9uPjwvc2VsZWN0Pic7Ty5icm9rZW5DaGVja2VkUVNBPSha LnF1ZXJ5U2VsZWN0b3JBbGwoIjpjaGVja2VkIikubGVuZ3RoPT0wKTt9Y2F0Y2go

Vil7fXRyeXtaLmlubmVySFRNTD0nPGEgY2xhc3M9IiI+PC9hPic7Ty5icm9rZW5F bXB0eUF0dHJpYnV0ZVFTQT0oWi5xdWVyeVNlbGVjdG9yQWxsKCdbY2xhc3MqPSIi XScpLmxlbmd0aCE9MCk7fWNhdGNoKFYpe319dHJ5e1ouaW5uZXJIVE1MPSc8Zm9y bSBhY3Rpb249InMiPjxpbnB1dCBpZD0iYWN0aW9uIi8+PC9mb3JtPic7Uj0oWi5m aXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiYWN0aW9uIikhPSJzIik7fWNhdGNoKFYp e31PLm5hdGl2ZU1hdGNoZXNTZWxlY3Rvcj1ZLm1hdGNoZXNTZWxlY3Rvcnx8WS5t b3pNYXRjaGVzU2VsZWN0b3J8fFkud2Via2l0TWF0Y2hlc1NlbGVjdG9yOwppZihP Lm5hdGl2ZU1hdGNoZXNTZWxlY3Rvcil7dHJ5e08ubmF0aXZlTWF0Y2hlc1NlbGVj dG9yLmNhbGwoWSwiOnNsaWNrIik7Ty5uYXRpdmVNYXRjaGVzU2VsZWN0b3I9bnVs bDt9Y2F0Y2goVil7fX19dHJ5e1kuc2xpY2tfZXhwYW5kbz0xO2RlbGV0ZSBZLnNs aWNrX2V4cGFuZG87Ty5nZXRVSUQ9dGhpcy5nZXRVSURIVE1MO31jYXRjaChWKXtP LmdldFVJRD10aGlzLmdldFVJRFhNTDt9UC5yZW1vdmVDaGlsZChaKTtaPVM9UD1u dWxsO08uZ2V0QXR0cmlidXRlPShPLmlzSFRNTERvY3VtZW50JiZSKT9mdW5jdGlv bihkLGIpe3ZhciBlPXRoaXMuYXR0cmlidXRlR2V0dGVyc1tiXTtpZihlKXtyZXR1 cm4gZS5jYWxsKGQpO312YXIgYz1kLmdldEF0dHJpYnV0ZU5vZGUoYik7cmV0dXJu KGMpP2Mubm9kZVZhbHVlOm51bGw7fTpmdW5jdGlvbihjLGIpe3ZhciBkPXRoaXMu YXR0cmlidXRlR2V0dGVyc1tiXTtyZXR1cm4oZCk/ZC5jYWxsKGMpOmMuZ2V0QXR0 cmlidXRlKGIpO307Ty5oYXNBdHRyaWJ1dGU9KFkmJnRoaXMuaXNOYXRpdmVDb2Rl KFkuaGFzQXR0cmlidXRlKSk/ZnVuY3Rpb24oYyxiKXtyZXR1cm4gYy5oYXNBdHRy aWJ1dGUoYik7Cn06ZnVuY3Rpb24oYyxiKXtjPWMuZ2V0QXR0cmlidXRlTm9kZShi KTtyZXR1cm4gISEoYyYmKGMuc3BlY2lmaWVkfHxjLm5vZGVWYWx1ZSkpO307Ty5j b250YWlucz0oWSYmdGhpcy5pc05hdGl2ZUNvZGUoWS5jb250YWlucykpP2Z1bmN0 aW9uKGIsYyl7cmV0dXJuIGIuY29udGFpbnMoYyk7fTooWSYmWS5jb21wYXJlRG9j dW1lbnRQb3NpdGlvbik/ZnVuY3Rpb24oYixjKXtyZXR1cm4gYj09PWN8fCEhKGIu Y29tcGFyZURvY3VtZW50UG9zaXRpb24oYykmMTYpO306ZnVuY3Rpb24oYixjKXtp ZihjKXtkb3tpZihjPT09Yil7cmV0dXJuIHRydWU7fX13aGlsZSgoYz1jLnBhcmVu dE5vZGUpKTt9cmV0dXJuIGZhbHNlO307Ty5kb2N1bWVudFNvcnRlcj0oWS5jb21w YXJlRG9jdW1lbnRQb3NpdGlvbik/ZnVuY3Rpb24oZCxjKXtpZighZC5jb21wYXJl RG9jdW1lbnRQb3NpdGlvbnx8IWMuY29tcGFyZURvY3VtZW50UG9zaXRpb24pe3Jl dHVybiAwO31yZXR1cm4gZC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihjKSY0Py0x OmQ9PT1jPzA6MTsKfTooInNvdXJjZUluZGV4IiBpbiBZKT9mdW5jdGlvbihkLGMp e2lmKCFkLnNvdXJjZUluZGV4fHwhYy5zb3VyY2VJbmRleCl7cmV0dXJuIDA7fXJl dHVybiBkLnNvdXJjZUluZGV4LWMuc291cmNlSW5kZXg7fTooVy5jcmVhdGVSYW5n ZSk/ZnVuY3Rpb24oZixkKXtpZighZi5vd25lckRvY3VtZW50fHwhZC5vd25lckRv Y3VtZW50KXtyZXR1cm4gMDt9dmFyIGU9Zi5vd25lckRvY3VtZW50LmNyZWF0ZVJh bmdlKCksYz1kLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtlLnNldFN0YXJ0 KGYsMCk7ZS5zZXRFbmQoZiwwKTtjLnNldFN0YXJ0KGQsMCk7Yy5zZXRFbmQoZCww KTtyZXR1cm4gZS5jb21wYXJlQm91bmRhcnlQb2ludHMoUmFuZ2UuU1RBUlRfVE9f RU5ELGMpO306bnVsbDtZPW51bGw7Zm9yKGEgaW4gTyl7dGhpc1thXT1PW2FdO319 O3ZhciBEPS9eKFsjLl0/KSgoPzpbXHctXSt8XCopKSQvLEY9L1xbLitbKiReXT0o PzoiInwnJyk/XF0vLEU9e307SS5zZWFyY2g9ZnVuY3Rpb24oeCxYLGcsUSl7dmFy IE49dGhpcy5mb3VuZD0oUSk/bnVsbDooZ3x8W10pOwppZigheCl7cmV0dXJuIE47 fWVsc2V7aWYoeC5uYXZpZ2F0b3Ipe3g9eC5kb2N1bWVudDt9ZWxzZXtpZigheC5u b2RlVHlwZSl7cmV0dXJuIE47fX19dmFyIGQscix5PXRoaXMudW5pcXVlcz17fSxo PSEhKGcmJmcubGVuZ3RoKSxXPSh4Lm5vZGVUeXBlPT05KTtpZih0aGlzLmRvY3Vt ZW50IT09KFc/eDp4Lm93bmVyRG9jdW1lbnQpKXt0aGlzLnNldERvY3VtZW50KHgp O31pZihoKXtmb3Iocj1OLmxlbmd0aDtyLS07KXt5W3RoaXMuZ2V0VUlEKE5bcl0p XT10cnVlO319aWYodHlwZW9mIFg9PSJzdHJpbmciKXt2YXIgUD1YLm1hdGNoKEQp O3NpbXBsZVNlbGVjdG9yczppZihQKXt2YXIgUz1QWzFdLFQ9UFsyXSxZLGM7aWYo IVMpe2lmKFQ9PSIqIiYmdGhpcy5icm9rZW5TdGFyR0VCVE4pe2JyZWFrIHNpbXBs ZVNlbGVjdG9yczt9Yz14LmdldEVsZW1lbnRzQnlUYWdOYW1lKFQpO2lmKFEpe3Jl dHVybiBjWzBdfHxudWxsO31mb3Iocj0wO1k9Y1tyKytdOyl7aWYoIShoJiZ5W3Ro aXMuZ2V0VUlEKFkpXSkpe04ucHVzaChZKTsKfX19ZWxzZXtpZihTPT0iIyIpe2lm KCF0aGlzLmlzSFRNTERvY3VtZW50fHwhVyl7YnJlYWsgc2ltcGxlU2VsZWN0b3Jz O31ZPXguZ2V0RWxlbWVudEJ5SWQoVCk7aWYoIVkpe3JldHVybiBOO31pZih0aGlz LmlkR2V0c05hbWUmJlkuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKS5ub2RlVmFsdWUh PVQpe2JyZWFrIHNpbXBsZVNlbGVjdG9yczt9aWYoUSl7cmV0dXJuIFl8fG51bGw7 fWlmKCEoaCYmeVt0aGlzLmdldFVJRChZKV0pKXtOLnB1c2goWSk7fX1lbHNle2lm KFM9PSIuIil7aWYoIXRoaXMuaXNIVE1MRG9jdW1lbnR8fCgoIXguZ2V0RWxlbWVu dHNCeUNsYXNzTmFtZXx8dGhpcy5icm9rZW5HRUJDTikmJngucXVlcnlTZWxlY3Rv

ckFsbCkpe2JyZWFrIHNpbXBsZVNlbGVjdG9yczt9aWYoeC5nZXRFbGVtZW50c0J5 Q2xhc3NOYW1lJiYhdGhpcy5icm9rZW5HRUJDTil7Yz14LmdldEVsZW1lbnRzQnlD bGFzc05hbWUoVCk7aWYoUSl7cmV0dXJuIGNbMF18fG51bGw7fWZvcihyPTA7WT1j W3IrK107Cil7aWYoIShoJiZ5W3RoaXMuZ2V0VUlEKFkpXSkpe04ucHVzaChZKTt9 fX1lbHNle3ZhciB3PW5ldyBSZWdFeHAoIihefFxccykiK0MuZXNjYXBlUmVnRXhw KFQpKyIoXFxzfCQpIik7Yz14LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik7Zm9y KHI9MDtZPWNbcisrXTspe2NsYXNzTmFtZT1ZLmNsYXNzTmFtZTtpZighKGNsYXNz TmFtZSYmdy50ZXN0KGNsYXNzTmFtZSkpKXtjb250aW51ZTt9aWYoUSl7cmV0dXJu IFk7fWlmKCEoaCYmeVt0aGlzLmdldFVJRChZKV0pKXtOLnB1c2goWSk7fX19fX19 aWYoaCl7dGhpcy5zb3J0KE4pO31yZXR1cm4oUSk/bnVsbDpOO31xdWVyeVNlbGVj dG9yOmlmKHgucXVlcnlTZWxlY3RvckFsbCl7aWYoIXRoaXMuaXNIVE1MRG9jdW1l bnR8fEVbWF18fHRoaXMuYnJva2VuTWl4ZWRDYXNlUVNBfHwodGhpcy5icm9rZW5D aGVja2VkUVNBJiZYLmluZGV4T2YoIjpjaGVja2VkIik+LTEpfHwodGhpcy5icm9r ZW5FbXB0eUF0dHJpYnV0ZVFTQSYmRi50ZXN0KFgpKXx8KCFXJiZYLmluZGV4T2Yo IiwiKT4tMSl8fEMuZGlzYWJsZVFTQSl7YnJlYWsgcXVlcnlTZWxlY3RvcjsKfXZh ciB2PVgsVj14O2lmKCFXKXt2YXIgYT1WLmdldEF0dHJpYnV0ZSgiaWQiKSxSPSJz bGlja2lkX18iO1Yuc2V0QXR0cmlidXRlKCJpZCIsUik7dj0iIyIrUisiICIrdjt4 PVYucGFyZW50Tm9kZTt9dHJ5e2lmKFEpe3JldHVybiB4LnF1ZXJ5U2VsZWN0b3Io dil8fG51bGw7fWVsc2V7Yz14LnF1ZXJ5U2VsZWN0b3JBbGwodik7fX1jYXRjaCh0 KXtFW1hdPTE7YnJlYWsgcXVlcnlTZWxlY3Rvcjt9ZmluYWxseXtpZighVyl7aWYo YSl7Vi5zZXRBdHRyaWJ1dGUoImlkIixhKTt9ZWxzZXtWLnJlbW92ZUF0dHJpYnV0 ZSgiaWQiKTt9eD1WO319aWYodGhpcy5zdGFyU2VsZWN0c0Nsb3NlZFFTQSl7Zm9y KHI9MDtZPWNbcisrXTspe2lmKFkubm9kZU5hbWU+IkAiJiYhKGgmJnlbdGhpcy5n ZXRVSUQoWSldKSl7Ti5wdXNoKFkpO319fWVsc2V7Zm9yKHI9MDtZPWNbcisrXTsp e2lmKCEoaCYmeVt0aGlzLmdldFVJRChZKV0pKXtOLnB1c2goWSk7fX19aWYoaCl7 dGhpcy5zb3J0KE4pO31yZXR1cm4gTjsKfWQ9dGhpcy5TbGljay5wYXJzZShYKTtp ZighZC5sZW5ndGgpe3JldHVybiBOO319ZWxzZXtpZihYPT1udWxsKXtyZXR1cm4g Tjt9ZWxzZXtpZihYLlNsaWNrKXtkPVg7fWVsc2V7aWYodGhpcy5jb250YWlucyh4 LmRvY3VtZW50RWxlbWVudHx8eCxYKSl7KE4pP04ucHVzaChYKTpOPVg7cmV0dXJu IE47fWVsc2V7cmV0dXJuIE47fX19fXRoaXMucG9zTlRIPXt9O3RoaXMucG9zTlRI TGFzdD17fTt0aGlzLnBvc05USFR5cGU9e307dGhpcy5wb3NOVEhUeXBlTGFzdD17 fTt0aGlzLnB1c2g9KCFoJiYoUXx8KGQubGVuZ3RoPT0xJiZkLmV4cHJlc3Npb25z WzBdLmxlbmd0aD09MSkpKT90aGlzLnB1c2hBcnJheTp0aGlzLnB1c2hVSUQ7aWYo Tj09bnVsbCl7Tj1bXTt9dmFyIHAsbyxsO3ZhciBaLGssYixMLE8sZix6O3ZhciBx LHMsTSxVLHU9ZC5leHByZXNzaW9ucztzZWFyY2g6Zm9yKHI9MDsocz11W3JdKTty Kyspe2ZvcihwPTA7KE09c1twXSk7cCsrKXtaPSJjb21iaW5hdG9yOiIrTS5jb21i aW5hdG9yOwppZighdGhpc1taXSl7Y29udGludWUgc2VhcmNoO31rPSh0aGlzLmlz WE1MRG9jdW1lbnQpP00udGFnOk0udGFnLnRvVXBwZXJDYXNlKCk7Yj1NLmlkO0w9 TS5jbGFzc0xpc3Q7Tz1NLmNsYXNzZXM7Zj1NLmF0dHJpYnV0ZXM7ej1NLnBzZXVk b3M7VT0ocD09PShzLmxlbmd0aC0xKSk7dGhpcy5iaXRVbmlxdWVzPXt9O2lmKFUp e3RoaXMudW5pcXVlcz15O3RoaXMuZm91bmQ9Tjt9ZWxzZXt0aGlzLnVuaXF1ZXM9 e307dGhpcy5mb3VuZD1bXTt9aWYocD09PTApe3RoaXNbWl0oeCxrLGIsTyxmLHos TCk7aWYoUSYmVSYmTi5sZW5ndGgpe2JyZWFrIHNlYXJjaDt9fWVsc2V7aWYoUSYm VSl7Zm9yKG89MCxsPXEubGVuZ3RoO288bDtvKyspe3RoaXNbWl0ocVtvXSxrLGIs TyxmLHosTCk7aWYoTi5sZW5ndGgpe2JyZWFrIHNlYXJjaDt9fX1lbHNle2Zvcihv PTAsbD1xLmxlbmd0aDtvPGw7bysrKXt0aGlzW1pdKHFbb10sayxiLE8sZix6LEwp O319fXE9dGhpcy5mb3VuZDt9fWlmKGh8fChkLmV4cHJlc3Npb25zLmxlbmd0aD4x KSl7dGhpcy5zb3J0KE4pOwp9cmV0dXJuKFEpPyhOWzBdfHxudWxsKTpOO307SS51 aWR4PTE7SS51aWRrPSJzbGljay11bmlxdWVpZCI7SS5nZXRVSURYTUw9ZnVuY3Rp b24oTSl7dmFyIEw9TS5nZXRBdHRyaWJ1dGUodGhpcy51aWRrKTtpZighTCl7TD10 aGlzLnVpZHgrKztNLnNldEF0dHJpYnV0ZSh0aGlzLnVpZGssTCk7fXJldHVybiBM O307SS5nZXRVSURIVE1MPWZ1bmN0aW9uKEwpe3JldHVybiBMLnVuaXF1ZU51bWJl cnx8KEwudW5pcXVlTnVtYmVyPXRoaXMudWlkeCsrKTt9O0kuc29ydD1mdW5jdGlv bihMKXtpZighdGhpcy5kb2N1bWVudFNvcnRlcil7cmV0dXJuIEw7fUwuc29ydCh0 aGlzLmRvY3VtZW50U29ydGVyKTtyZXR1cm4gTDt9O0kuY2FjaGVOVEg9e307SS5t YXRjaE5USD0vXihbKy1dP1xkKik/KFthLXpdKyk/KFsrLV1cZCspPyQvO0kucGFy c2VOVEhBcmd1bWVudD1mdW5jdGlvbihQKXt2YXIgTj1QLm1hdGNoKHRoaXMubWF0 Y2hOVEgpO2lmKCFOKXtyZXR1cm4gZmFsc2U7fXZhciBPPU5bMl18fGZhbHNlOwp2 YXIgTT1OWzFdfHwxO2lmKE09PSItIil7TT0tMTt9dmFyIEw9K05bM118fDA7Tj0o Tz09Im4iKT97YTpNLGI6TH06KE89PSJvZGQiKT97YToyLGI6MX06KE89PSJldmVu

Iik/e2E6MixiOjB9OnthOjAsYjpNfTtyZXR1cm4odGhpcy5jYWNoZU5USFtQXT1O KTt9O0kuY3JlYXRlTlRIUHNldWRvPWZ1bmN0aW9uKE8sTSxMLE4pe3JldHVybiBm dW5jdGlvbihSLFApe3ZhciBUPXRoaXMuZ2V0VUlEKFIpO2lmKCF0aGlzW0xdW1Rd KXt2YXIgWj1SLnBhcmVudE5vZGU7aWYoIVope3JldHVybiBmYWxzZTt9dmFyIFE9 WltPXSxTPTE7aWYoTil7dmFyIFk9Ui5ub2RlTmFtZTtkb3tpZihRLm5vZGVOYW1l IT1ZKXtjb250aW51ZTt9dGhpc1tMXVt0aGlzLmdldFVJRChRKV09UysrO313aGls ZSgoUT1RW01dKSk7fWVsc2V7ZG97aWYoUS5ub2RlVHlwZSE9MSl7Y29udGludWU7 fXRoaXNbTF1bdGhpcy5nZXRVSUQoUSldPVMrKzt9d2hpbGUoKFE9UVtNXSkpO319 UD1QfHwibiI7dmFyIFU9dGhpcy5jYWNoZU5USFtQXXx8dGhpcy5wYXJzZU5USEFy Z3VtZW50KFApOwppZighVSl7cmV0dXJuIGZhbHNlO312YXIgWD1VLmEsVz1VLmIs Vj10aGlzW0xdW1RdO2lmKFg9PTApe3JldHVybiBXPT1WO31pZihYPjApe2lmKFY8 Vyl7cmV0dXJuIGZhbHNlO319ZWxzZXtpZihXPFYpe3JldHVybiBmYWxzZTt9fXJl dHVybigoVi1XKSVYKT09MDt9O307SS5wdXNoQXJyYXk9ZnVuY3Rpb24oTyxMLFEs TixNLFApe2lmKHRoaXMubWF0Y2hTZWxlY3RvcihPLEwsUSxOLE0sUCkpe3RoaXMu Zm91bmQucHVzaChPKTt9fTtJLnB1c2hVSUQ9ZnVuY3Rpb24oUCxMLFIsTyxNLFEp e3ZhciBOPXRoaXMuZ2V0VUlEKFApO2lmKCF0aGlzLnVuaXF1ZXNbTl0mJnRoaXMu bWF0Y2hTZWxlY3RvcihQLEwsUixPLE0sUSkpe3RoaXMudW5pcXVlc1tOXT10cnVl O3RoaXMuZm91bmQucHVzaChQKTt9fTtJLm1hdGNoTm9kZT1mdW5jdGlvbihNLE4p e2lmKHRoaXMuaXNIVE1MRG9jdW1lbnQmJnRoaXMubmF0aXZlTWF0Y2hlc1NlbGVj dG9yKXt0cnl7cmV0dXJuIHRoaXMubmF0aXZlTWF0Y2hlc1NlbGVjdG9yLmNhbGwo TSxOLnJlcGxhY2UoL1xbKFtePV0rKT1ccyooW14nIlxdXSs/KVxzKlxdL2csJ1sk MT0iJDIiXScpKTsKfWNhdGNoKFUpe319dmFyIFQ9dGhpcy5TbGljay5wYXJzZShO KTtpZighVCl7cmV0dXJuIHRydWU7fXZhciBSPVQuZXhwcmVzc2lvbnMsUCxTPTAs UTtmb3IoUT0wOyhjdXJyZW50RXhwcmVzc2lvbj1SW1FdKTtRKyspe2lmKGN1cnJl bnRFeHByZXNzaW9uLmxlbmd0aD09MSl7dmFyIE89Y3VycmVudEV4cHJlc3Npb25b MF07aWYodGhpcy5tYXRjaFNlbGVjdG9yKE0sKHRoaXMuaXNYTUxEb2N1bWVudCk/ Ty50YWc6Ty50YWcudG9VcHBlckNhc2UoKSxPLmlkLE8uY2xhc3NlcyxPLmF0dHJp YnV0ZXMsTy5wc2V1ZG9zKSl7cmV0dXJuIHRydWU7fVMrKzt9fWlmKFM9PVQubGVu Z3RoKXtyZXR1cm4gZmFsc2U7fXZhciBMPXRoaXMuc2VhcmNoKHRoaXMuZG9jdW1l bnQsVCksVjtmb3IoUT0wO1Y9TFtRKytdOyl7aWYoVj09PU0pe3JldHVybiB0cnVl O319cmV0dXJuIGZhbHNlO307SS5tYXRjaFBzZXVkbz1mdW5jdGlvbihQLEwsTyl7 dmFyIE09InBzZXVkbzoiK0w7aWYodGhpc1tNXSl7cmV0dXJuIHRoaXNbTV0oUCxP KTsKfXZhciBOPXRoaXMuZ2V0QXR0cmlidXRlKFAsTCk7cmV0dXJuKE8pP089PU46 ISFOO307SS5tYXRjaFNlbGVjdG9yPWZ1bmN0aW9uKE4sVSxMLE8sUCxSKXtpZihV KXt2YXIgUz0odGhpcy5pc1hNTERvY3VtZW50KT9OLm5vZGVOYW1lOk4ubm9kZU5h bWUudG9VcHBlckNhc2UoKTtpZihVPT0iKiIpe2lmKFM8IkAiKXtyZXR1cm4gZmFs c2U7fX1lbHNle2lmKFMhPVUpe3JldHVybiBmYWxzZTt9fX1pZihMJiZOLmdldEF0 dHJpYnV0ZSgiaWQiKSE9TCl7cmV0dXJuIGZhbHNlO312YXIgUSxNLFQ7aWYoTyl7 Zm9yKFE9Ty5sZW5ndGg7US0tOyl7VD1OLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8 Ti5jbGFzc05hbWU7aWYoIShUJiZPW1FdLnJlZ2V4cC50ZXN0KFQpKSl7cmV0dXJu IGZhbHNlO319fWlmKFApe2ZvcihRPVAubGVuZ3RoO1EtLTspe009UFtRXTtpZihN Lm9wZXJhdG9yPyFNLnRlc3QodGhpcy5nZXRBdHRyaWJ1dGUoTixNLmtleSkpOiF0 aGlzLmhhc0F0dHJpYnV0ZShOLE0ua2V5KSl7cmV0dXJuIGZhbHNlOwp9fX1pZihS KXtmb3IoUT1SLmxlbmd0aDtRLS07KXtNPVJbUV07aWYoIXRoaXMubWF0Y2hQc2V1 ZG8oTixNLmtleSxNLnZhbHVlKSl7cmV0dXJuIGZhbHNlO319fXJldHVybiB0cnVl O307dmFyIEg9eyIgIjpmdW5jdGlvbihQLFYsTSxRLFIsVCxPKXt2YXIgUyxVLE47 aWYodGhpcy5pc0hUTUxEb2N1bWVudCl7Z2V0QnlJZDppZihNKXtVPXRoaXMuZG9j dW1lbnQuZ2V0RWxlbWVudEJ5SWQoTSk7aWYoKCFVJiZQLmFsbCl8fCh0aGlzLmlk R2V0c05hbWUmJlUmJlUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKS5ub2RlVmFsdWUh PU0pKXtOPVAuYWxsW01dO2lmKCFOKXtyZXR1cm4gO31pZighTlswXSl7Tj1bTl07 fWZvcihTPTA7VT1OW1MrK107KXt2YXIgTD1VLmdldEF0dHJpYnV0ZU5vZGUoImlk Iik7aWYoTCYmTC5ub2RlVmFsdWU9PU0pe3RoaXMucHVzaChVLFYsbnVsbCxRLFIs VCk7YnJlYWs7fX1yZXR1cm4gO31pZighVSl7aWYodGhpcy5jb250YWlucyh0aGlz LnJvb3QsUCkpe3JldHVybiA7Cn1lbHNle2JyZWFrIGdldEJ5SWQ7fX1lbHNle2lm KHRoaXMuZG9jdW1lbnQhPT1QJiYhdGhpcy5jb250YWlucyhQLFUpKXtyZXR1cm4g O319dGhpcy5wdXNoKFUsVixudWxsLFEsUixUKTtyZXR1cm4gO31nZXRCeUNsYXNz OmlmKFEmJlAuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmIXRoaXMuYnJva2VuR0VC Q04pe049UC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKE8uam9pbigiICIpKTtpZigh KE4mJk4ubGVuZ3RoKSl7YnJlYWsgZ2V0QnlDbGFzczt9Zm9yKFM9MDtVPU5bUysr XTspe3RoaXMucHVzaChVLFYsTSxudWxsLFIsVCk7fXJldHVybiA7fX1nZXRCeVRh

Zzp7Tj1QLmdldEVsZW1lbnRzQnlUYWdOYW1lKFYpO2lmKCEoTiYmTi5sZW5ndGgp KXticmVhayBnZXRCeVRhZzt9aWYoIXRoaXMuYnJva2VuU3RhckdFQlROKXtWPW51 bGw7fWZvcihTPTA7VT1OW1MrK107KXt0aGlzLnB1c2goVSxWLE0sUSxSLFQpO319 fSwiPiI6ZnVuY3Rpb24oTyxMLFEsTixNLFApe2lmKChPPU8uZmlyc3RDaGlsZCkp e2Rve2lmKE8ubm9kZVR5cGU9PTEpe3RoaXMucHVzaChPLEwsUSxOLE0sUCk7Cn19 d2hpbGUoKE89Ty5uZXh0U2libGluZykpO319LCIrIjpmdW5jdGlvbihPLEwsUSxO LE0sUCl7d2hpbGUoKE89Ty5uZXh0U2libGluZykpe2lmKE8ubm9kZVR5cGU9PTEp e3RoaXMucHVzaChPLEwsUSxOLE0sUCk7YnJlYWs7fX19LCJeIjpmdW5jdGlvbihP LEwsUSxOLE0sUCl7Tz1PLmZpcnN0Q2hpbGQ7aWYoTyl7aWYoTy5ub2RlVHlwZT09 MSl7dGhpcy5wdXNoKE8sTCxRLE4sTSxQKTt9ZWxzZXt0aGlzWyJjb21iaW5hdG9y OisiXShPLEwsUSxOLE0sUCk7fX19LCJ+IjpmdW5jdGlvbihQLEwsUixPLE0sUSl7 d2hpbGUoKFA9UC5uZXh0U2libGluZykpe2lmKFAubm9kZVR5cGUhPTEpe2NvbnRp bnVlO312YXIgTj10aGlzLmdldFVJRChQKTtpZih0aGlzLmJpdFVuaXF1ZXNbTl0p e2JyZWFrO310aGlzLmJpdFVuaXF1ZXNbTl09dHJ1ZTt0aGlzLnB1c2goUCxMLFIs TyxNLFEpO319LCIrKyI6ZnVuY3Rpb24oTyxMLFEsTixNLFApe3RoaXNbImNvbWJp bmF0b3I6KyJdKE8sTCxRLE4sTSxQKTsKdGhpc1siY29tYmluYXRvcjohKyJdKE8s TCxRLE4sTSxQKTt9LCJ+fiI6ZnVuY3Rpb24oTyxMLFEsTixNLFApe3RoaXNbImNv bWJpbmF0b3I6fiJdKE8sTCxRLE4sTSxQKTt0aGlzWyJjb21iaW5hdG9yOiF+Il0o TyxMLFEsTixNLFApO30sIiEiOmZ1bmN0aW9uKE8sTCxRLE4sTSxQKXt3aGlsZSgo Tz1PLnBhcmVudE5vZGUpKXtpZihPIT09dGhpcy5kb2N1bWVudCl7dGhpcy5wdXNo KE8sTCxRLE4sTSxQKTt9fX0sIiE+IjpmdW5jdGlvbihPLEwsUSxOLE0sUCl7Tz1P LnBhcmVudE5vZGU7aWYoTyE9PXRoaXMuZG9jdW1lbnQpe3RoaXMucHVzaChPLEws USxOLE0sUCk7fX0sIiErIjpmdW5jdGlvbihPLEwsUSxOLE0sUCl7d2hpbGUoKE89 Ty5wcmV2aW91c1NpYmxpbmcpKXtpZihPLm5vZGVUeXBlPT0xKXt0aGlzLnB1c2go TyxMLFEsTixNLFApO2JyZWFrO319fSwiIV4iOmZ1bmN0aW9uKE8sTCxRLE4sTSxQ KXtPPU8ubGFzdENoaWxkO2lmKE8pe2lmKE8ubm9kZVR5cGU9PTEpe3RoaXMucHVz aChPLEwsUSxOLE0sUCk7Cn1lbHNle3RoaXNbImNvbWJpbmF0b3I6ISsiXShPLEws USxOLE0sUCk7fX19LCIhfiI6ZnVuY3Rpb24oUCxMLFIsTyxNLFEpe3doaWxlKChQ PVAucHJldmlvdXNTaWJsaW5nKSl7aWYoUC5ub2RlVHlwZSE9MSl7Y29udGludWU7 fXZhciBOPXRoaXMuZ2V0VUlEKFApO2lmKHRoaXMuYml0VW5pcXVlc1tOXSl7YnJl YWs7fXRoaXMuYml0VW5pcXVlc1tOXT10cnVlO3RoaXMucHVzaChQLEwsUixPLE0s USk7fX19O2Zvcih2YXIgRyBpbiBIKXtJWyJjb21iaW5hdG9yOiIrR109SFtHXTt9 dmFyIEo9e2VtcHR5OmZ1bmN0aW9uKEwpe3ZhciBNPUwuZmlyc3RDaGlsZDtyZXR1 cm4gIShNJiZNLm5vZGVUeXBlPT0xKSYmIShMLmlubmVyVGV4dHx8TC50ZXh0Q29u dGVudHx8IiIpLmxlbmd0aDt9LG5vdDpmdW5jdGlvbihMLE0pe3JldHVybiAhdGhp cy5tYXRjaE5vZGUoTCxNKTt9LGNvbnRhaW5zOmZ1bmN0aW9uKEwsTSl7cmV0dXJu KEwuaW5uZXJUZXh0fHxMLnRleHRDb250ZW50fHwiIikuaW5kZXhPZihNKT4tMTsK fSwiZmlyc3QtY2hpbGQiOmZ1bmN0aW9uKEwpe3doaWxlKChMPUwucHJldmlvdXNT aWJsaW5nKSl7aWYoTC5ub2RlVHlwZT09MSl7cmV0dXJuIGZhbHNlO319cmV0dXJu IHRydWU7fSwibGFzdC1jaGlsZCI6ZnVuY3Rpb24oTCl7d2hpbGUoKEw9TC5uZXh0 U2libGluZykpe2lmKEwubm9kZVR5cGU9PTEpe3JldHVybiBmYWxzZTt9fXJldHVy biB0cnVlO30sIm9ubHktY2hpbGQiOmZ1bmN0aW9uKE4pe3ZhciBNPU47d2hpbGUo KE09TS5wcmV2aW91c1NpYmxpbmcpKXtpZihNLm5vZGVUeXBlPT0xKXtyZXR1cm4g ZmFsc2U7fX12YXIgTD1OO3doaWxlKChMPUwubmV4dFNpYmxpbmcpKXtpZihMLm5v ZGVUeXBlPT0xKXtyZXR1cm4gZmFsc2U7fX1yZXR1cm4gdHJ1ZTt9LCJudGgtY2hp bGQiOkkuY3JlYXRlTlRIUHNldWRvKCJmaXJzdENoaWxkIiwibmV4dFNpYmxpbmci LCJwb3NOVEgiKSwibnRoLWxhc3QtY2hpbGQiOkkuY3JlYXRlTlRIUHNldWRvKCJs YXN0Q2hpbGQiLCJwcmV2aW91c1NpYmxpbmciLCJwb3NOVEhMYXN0IiksIm50aC1v Zi10eXBlIjpJLmNyZWF0ZU5USFBzZXVkbygiZmlyc3RDaGlsZCIsIm5leHRTaWJs aW5nIiwicG9zTlRIVHlwZSIsdHJ1ZSksIm50aC1sYXN0LW9mLXR5cGUiOkkuY3Jl YXRlTlRIUHNldWRvKCJsYXN0Q2hpbGQiLCJwcmV2aW91c1NpYmxpbmciLCJwb3NO VEhUeXBlTGFzdCIsdHJ1ZSksaW5kZXg6ZnVuY3Rpb24oTSxMKXtyZXR1cm4gdGhp c1sicHNldWRvOm50aC1jaGlsZCJdKE0sIiIrTCsxKTsKfSxldmVuOmZ1bmN0aW9u KEwpe3JldHVybiB0aGlzWyJwc2V1ZG86bnRoLWNoaWxkIl0oTCwiMm4iKTt9LG9k ZDpmdW5jdGlvbihMKXtyZXR1cm4gdGhpc1sicHNldWRvOm50aC1jaGlsZCJdKEws IjJuKzEiKTt9LCJmaXJzdC1vZi10eXBlIjpmdW5jdGlvbihMKXt2YXIgTT1MLm5v ZGVOYW1lO3doaWxlKChMPUwucHJldmlvdXNTaWJsaW5nKSl7aWYoTC5ub2RlTmFt ZT09TSl7cmV0dXJuIGZhbHNlO319cmV0dXJuIHRydWU7fSwibGFzdC1vZi10eXBl IjpmdW5jdGlvbihMKXt2YXIgTT1MLm5vZGVOYW1lO3doaWxlKChMPUwubmV4dFNp YmxpbmcpKXtpZihMLm5vZGVOYW1lPT1NKXtyZXR1cm4gZmFsc2U7fX1yZXR1cm4g

dHJ1ZTt9LCJvbmx5LW9mLXR5cGUiOmZ1bmN0aW9uKE4pe3ZhciBNPU4sTz1OLm5v ZGVOYW1lO3doaWxlKChNPU0ucHJldmlvdXNTaWJsaW5nKSl7aWYoTS5ub2RlTmFt ZT09Tyl7cmV0dXJuIGZhbHNlO319dmFyIEw9Tjt3aGlsZSgoTD1MLm5leHRTaWJs aW5nKSl7aWYoTC5ub2RlTmFtZT09Tyl7cmV0dXJuIGZhbHNlOwp9fXJldHVybiB0 cnVlO30sZW5hYmxlZDpmdW5jdGlvbihMKXtyZXR1cm4gIUwuZGlzYWJsZWQ7fSxk aXNhYmxlZDpmdW5jdGlvbihMKXtyZXR1cm4gTC5kaXNhYmxlZDt9LGNoZWNrZWQ6 ZnVuY3Rpb24oTCl7cmV0dXJuIEwuY2hlY2tlZHx8TC5zZWxlY3RlZDt9LGZvY3Vz OmZ1bmN0aW9uKEwpe3JldHVybiB0aGlzLmlzSFRNTERvY3VtZW50JiZ0aGlzLmRv Y3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1MJiYoTC5ocmVmfHxMLnR5cGV8fHRoaXMu aGFzQXR0cmlidXRlKEwsInRhYmluZGV4IikpO30scm9vdDpmdW5jdGlvbihMKXty ZXR1cm4oTD09PXRoaXMucm9vdCk7fSxzZWxlY3RlZDpmdW5jdGlvbihMKXtyZXR1 cm4gTC5zZWxlY3RlZDt9fTtmb3IodmFyIEEgaW4gSil7SVsicHNldWRvOiIrQV09 SltBXTt9SS5hdHRyaWJ1dGVHZXR0ZXJzPXsiY2xhc3MiOmZ1bmN0aW9uKCl7cmV0 dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHx0aGlzLmNsYXNzTmFtZTt9 LCJmb3IiOmZ1bmN0aW9uKCl7cmV0dXJuKCJodG1sRm9yIiBpbiB0aGlzKT90aGlz Lmh0bWxGb3I6dGhpcy5nZXRBdHRyaWJ1dGUoImZvciIpOwp9LGhyZWY6ZnVuY3Rp b24oKXtyZXR1cm4oImhyZWYiIGluIHRoaXMpP3RoaXMuZ2V0QXR0cmlidXRlKCJo cmVmIiwyKTp0aGlzLmdldEF0dHJpYnV0ZSgiaHJlZiIpO30sc3R5bGU6ZnVuY3Rp b24oKXtyZXR1cm4odGhpcy5zdHlsZSk/dGhpcy5zdHlsZS5jc3NUZXh0OnRoaXMu Z2V0QXR0cmlidXRlKCJzdHlsZSIpO30sdGFiaW5kZXg6ZnVuY3Rpb24oKXt2YXIg TD10aGlzLmdldEF0dHJpYnV0ZU5vZGUoInRhYmluZGV4Iik7cmV0dXJuKEwmJkwu c3BlY2lmaWVkKT9MLm5vZGVWYWx1ZTpudWxsO30sdHlwZTpmdW5jdGlvbigpe3Jl dHVybiB0aGlzLmdldEF0dHJpYnV0ZSgidHlwZSIpO319O3ZhciBDPUkuU2xpY2s9 KHRoaXMuU2xpY2t8fHt9KTtDLnZlcnNpb249IjEuMS41IjtDLnNlYXJjaD1mdW5j dGlvbihNLE4sTCl7cmV0dXJuIEkuc2VhcmNoKE0sTixMKTt9O0MuZmluZD1mdW5j dGlvbihMLE0pe3JldHVybiBJLnNlYXJjaChMLE0sbnVsbCx0cnVlKTt9O0MuY29u dGFpbnM9ZnVuY3Rpb24oTCxNKXtJLnNldERvY3VtZW50KEwpOwpyZXR1cm4gSS5j b250YWlucyhMLE0pO307Qy5nZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oTSxMKXtyZXR1 cm4gSS5nZXRBdHRyaWJ1dGUoTSxMKTt9O0MubWF0Y2g9ZnVuY3Rpb24oTSxMKXtp ZighKE0mJkwpKXtyZXR1cm4gZmFsc2U7fWlmKCFMfHxMPT09TSl7cmV0dXJuIHRy dWU7fUkuc2V0RG9jdW1lbnQoTSk7cmV0dXJuIEkubWF0Y2hOb2RlKE0sTCk7fTtD LmRlZmluZUF0dHJpYnV0ZUdldHRlcj1mdW5jdGlvbihMLE0pe0kuYXR0cmlidXRl R2V0dGVyc1tMXT1NO3JldHVybiB0aGlzO307Qy5sb29rdXBBdHRyaWJ1dGVHZXR0 ZXI9ZnVuY3Rpb24oTCl7cmV0dXJuIEkuYXR0cmlidXRlR2V0dGVyc1tMXTt9O0Mu ZGVmaW5lUHNldWRvPWZ1bmN0aW9uKEwsTSl7SVsicHNldWRvOiIrTF09ZnVuY3Rp b24oTyxOKXtyZXR1cm4gTS5jYWxsKE8sTik7fTtyZXR1cm4gdGhpczt9O0MubG9v a3VwUHNldWRvPWZ1bmN0aW9uKEwpe3ZhciBNPUlbInBzZXVkbzoiK0xdO2lmKE0p e3JldHVybiBmdW5jdGlvbihOKXtyZXR1cm4gTS5jYWxsKHRoaXMsTik7Cn07fXJl dHVybiBudWxsO307Qy5vdmVycmlkZT1mdW5jdGlvbihNLEwpe0kub3ZlcnJpZGUo TSxMKTtyZXR1cm4gdGhpczt9O0MuaXNYTUw9SS5pc1hNTDtDLnVpZE9mPWZ1bmN0 aW9uKEwpe3JldHVybiBJLmdldFVJREhUTUwoTCk7fTtpZighdGhpcy5TbGljayl7 dGhpcy5TbGljaz1DO319KS5hcHBseSgodHlwZW9mIGV4cG9ydHMhPSJ1bmRlZmlu ZWQiKT9leHBvcnRzOnRoaXMpO3ZhciBFbGVtZW50PWZ1bmN0aW9uKEIsRyl7dmFy IEg9RWxlbWVudC5Db25zdHJ1Y3RvcnNbQl07aWYoSCl7cmV0dXJuIEgoRyk7fWlm KHR5cGVvZiBCIT0ic3RyaW5nIil7cmV0dXJuIGRvY3VtZW50LmlkKEIpLnNldChH KTt9aWYoIUcpe0c9e307fWlmKCEoL15bXHctXSskLykudGVzdChCKSl7dmFyIEU9 U2xpY2sucGFyc2UoQikuZXhwcmVzc2lvbnNbMF1bMF07Qj0oRS50YWc9PSIqIik/ ImRpdiI6RS50YWc7aWYoRS5pZCYmRy5pZD09bnVsbCl7Ry5pZD1FLmlkO312YXIg RD1FLmF0dHJpYnV0ZXM7aWYoRCl7Zm9yKHZhciBGPTAsQz1ELmxlbmd0aDsKRjxD O0YrKyl7dmFyIEE9RFtGXTtpZihHW0Eua2V5XSE9bnVsbCl7Y29udGludWU7fWlm KEEudmFsdWUhPW51bGwmJkEub3BlcmF0b3I9PSI9Iil7R1tBLmtleV09QS52YWx1 ZTt9ZWxzZXtpZighQS52YWx1ZSYmIUEub3BlcmF0b3Ipe0dbQS5rZXldPXRydWU7 fX19fWlmKEUuY2xhc3NMaXN0JiZHWyJjbGFzcyJdPT1udWxsKXtHWyJjbGFzcyJd PUUuY2xhc3NMaXN0LmpvaW4oIiAiKTt9fXJldHVybiBkb2N1bWVudC5uZXdFbGVt ZW50KEIsRyk7fTtpZihCcm93c2VyLkVsZW1lbnQpe0VsZW1lbnQucHJvdG90eXBl PUJyb3dzZXIuRWxlbWVudC5wcm90b3R5cGU7fW5ldyBUeXBlKCJFbGVtZW50IixF bGVtZW50KS5taXJyb3IoZnVuY3Rpb24oQSl7aWYoQXJyYXkucHJvdG90eXBlW0Fd KXtyZXR1cm4gO312YXIgQj17fTtCW0FdPWZ1bmN0aW9uKCl7dmFyIEg9W10sRT1h cmd1bWVudHMsST10cnVlO2Zvcih2YXIgRz0wLEQ9dGhpcy5sZW5ndGg7RzxEO0cr Kyl7dmFyIEY9dGhpc1tHXSxDPUhbR109RltBXS5hcHBseShGLEUpOwpJPShJJiZ0

eXBlT2YoQyk9PSJlbGVtZW50Iik7fXJldHVybihJKT9uZXcgRWxlbWVudHMoSCk6 SDt9O0VsZW1lbnRzLmltcGxlbWVudChCKTt9KTtpZighQnJvd3Nlci5FbGVtZW50 KXtFbGVtZW50LnBhcmVudD1PYmplY3Q7RWxlbWVudC5Qcm90b3R5cGU9eyIkZmFt aWx5IjpGdW5jdGlvbi5mcm9tKCJlbGVtZW50IikuaGlkZSgpfTtFbGVtZW50Lm1p cnJvcihmdW5jdGlvbihBLEIpe0VsZW1lbnQuUHJvdG90eXBlW0FdPUI7fSk7fUVs ZW1lbnQuQ29uc3RydWN0b3JzPXt9O0VsZW1lbnQuQ29uc3RydWN0b3JzPW5ldyBI YXNoO3ZhciBJRnJhbWU9bmV3IFR5cGUoIklGcmFtZSIsZnVuY3Rpb24oKXt2YXIg RT1BcnJheS5saW5rKGFyZ3VtZW50cyx7cHJvcGVydGllczpUeXBlLmlzT2JqZWN0 LGlmcmFtZTpmdW5jdGlvbihGKXtyZXR1cm4oRiE9bnVsbCk7fX0pO3ZhciBDPUUu cHJvcGVydGllc3x8e30sQjtpZihFLmlmcmFtZSl7Qj1kb2N1bWVudC5pZChFLmlm cmFtZSk7fXZhciBEPUMub25sb2FkfHxmdW5jdGlvbigpe307CmRlbGV0ZSBDLm9u bG9hZDtDLmlkPUMubmFtZT1bQy5pZCxDLm5hbWUsQj8oQi5pZHx8Qi5uYW1lKToi SUZyYW1lXyIrU3RyaW5nLnVuaXF1ZUlEKCldLnBpY2soKTtCPW5ldyBFbGVtZW50 KEJ8fCJpZnJhbWUiLEMpO3ZhciBBPWZ1bmN0aW9uKCl7RC5jYWxsKEIuY29udGVu dFdpbmRvdyk7fTtpZih3aW5kb3cuZnJhbWVzW0MuaWRdKXtBKCk7fWVsc2V7Qi5h ZGRMaXN0ZW5lcigibG9hZCIsQSk7fXJldHVybiBCO30pO3ZhciBFbGVtZW50cz10 aGlzLkVsZW1lbnRzPWZ1bmN0aW9uKEEpe2lmKEEmJkEubGVuZ3RoKXt2YXIgRT17 fSxEO2Zvcih2YXIgQz0wO0Q9QVtDKytdOyl7dmFyIEI9U2xpY2sudWlkT2YoRCk7 aWYoIUVbQl0pe0VbQl09dHJ1ZTt0aGlzLnB1c2goRCk7fX19fTtFbGVtZW50cy5w cm90b3R5cGU9e2xlbmd0aDowfTtFbGVtZW50cy5wYXJlbnQ9QXJyYXk7bmV3IFR5 cGUoIkVsZW1lbnRzIixFbGVtZW50cykuaW1wbGVtZW50KHtmaWx0ZXI6ZnVuY3Rp b24oQSxCKXtpZighQSl7cmV0dXJuIHRoaXM7Cn1yZXR1cm4gbmV3IEVsZW1lbnRz KEFycmF5LmZpbHRlcih0aGlzLCh0eXBlT2YoQSk9PSJzdHJpbmciKT9mdW5jdGlv bihDKXtyZXR1cm4gQy5tYXRjaChBKTt9OkEsQikpO30ucHJvdGVjdCgpLHB1c2g6 ZnVuY3Rpb24oKXt2YXIgRD10aGlzLmxlbmd0aDtmb3IodmFyIEI9MCxBPWFyZ3Vt ZW50cy5sZW5ndGg7QjxBO0IrKyl7dmFyIEM9ZG9jdW1lbnQuaWQoYXJndW1lbnRz W0JdKTtpZihDKXt0aGlzW0QrK109Qzt9fXJldHVybih0aGlzLmxlbmd0aD1EKTt9 LnByb3RlY3QoKSx1bnNoaWZ0OmZ1bmN0aW9uKCl7dmFyIEI9W107Zm9yKHZhciBD PTAsQT1hcmd1bWVudHMubGVuZ3RoO0M8QTtDKyspe3ZhciBEPWRvY3VtZW50Lmlk KGFyZ3VtZW50c1tDXSk7aWYoRCl7Qi5wdXNoKEQpO319cmV0dXJuIEFycmF5LnBy b3RvdHlwZS51bnNoaWZ0LmFwcGx5KHRoaXMsQik7fS5wcm90ZWN0KCksY29uY2F0 OmZ1bmN0aW9uKCl7dmFyIEI9bmV3IEVsZW1lbnRzKHRoaXMpO2Zvcih2YXIgQz0w LEE9YXJndW1lbnRzLmxlbmd0aDsKQzxBO0MrKyl7dmFyIEQ9YXJndW1lbnRzW0Nd O2lmKFR5cGUuaXNFbnVtZXJhYmxlKEQpKXtCLmFwcGVuZChEKTt9ZWxzZXtCLnB1 c2goRCk7fX1yZXR1cm4gQjt9LnByb3RlY3QoKSxhcHBlbmQ6ZnVuY3Rpb24oQyl7 Zm9yKHZhciBCPTAsQT1DLmxlbmd0aDtCPEE7QisrKXt0aGlzLnB1c2goQ1tCXSk7 fXJldHVybiB0aGlzO30ucHJvdGVjdCgpLGVtcHR5OmZ1bmN0aW9uKCl7d2hpbGUo dGhpcy5sZW5ndGgpe2RlbGV0ZSB0aGlzWy0tdGhpcy5sZW5ndGhdO31yZXR1cm4g dGhpczt9LnByb3RlY3QoKX0pO0VsZW1lbnRzLmFsaWFzKCJleHRlbmQiLCJhcHBl bmQiKTsoZnVuY3Rpb24oKXt2YXIgRj1BcnJheS5wcm90b3R5cGUuc3BsaWNlLEI9 eyIwIjowLCIxIjoxLGxlbmd0aDoyfTtGLmNhbGwoQiwxLDEpO2lmKEJbMV09PTEp e0VsZW1lbnRzLmltcGxlbWVudCgic3BsaWNlIixmdW5jdGlvbigpe3ZhciBHPXRo aXMubGVuZ3RoO0YuYXBwbHkodGhpcyxhcmd1bWVudHMpO3doaWxlKEc+PXRoaXMu bGVuZ3RoKXtkZWxldGUgdGhpc1tHLS1dOwp9cmV0dXJuIHRoaXM7fS5wcm90ZWN0 KCkpO31FbGVtZW50cy5pbXBsZW1lbnQoQXJyYXkucHJvdG90eXBlKTtBcnJheS5t aXJyb3IoRWxlbWVudHMpO3ZhciBFO3RyeXt2YXIgQT1kb2N1bWVudC5jcmVhdGVF bGVtZW50KCI8aW5wdXQgbmFtZT14PiIpO0U9KEEubmFtZT09IngiKTt9Y2F0Y2go Qyl7fXZhciBEPWZ1bmN0aW9uKEcpe3JldHVybigiIitHKS5yZXBsYWNlKC8mL2cs IiZhbXA7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKTt9O0RvY3VtZW50LmltcGxl bWVudCh7bmV3RWxlbWVudDpmdW5jdGlvbihHLEgpe2lmKEgmJkguY2hlY2tlZCE9 bnVsbCl7SC5kZWZhdWx0Q2hlY2tlZD1ILmNoZWNrZWQ7fWlmKEUmJkgpe0c9Ijwi K0c7aWYoSC5uYW1lKXtHKz0nIG5hbWU9IicrRChILm5hbWUpKyciJzt9aWYoSC50 eXBlKXtHKz0nIHR5cGU9IicrRChILnR5cGUpKyciJzt9Rys9Ij4iO2RlbGV0ZSBI Lm5hbWU7ZGVsZXRlIEgudHlwZTt9cmV0dXJuIHRoaXMuaWQodGhpcy5jcmVhdGVF bGVtZW50KEcpKS5zZXQoSCk7Cn19KTt9KSgpO0RvY3VtZW50LmltcGxlbWVudCh7 bmV3VGV4dE5vZGU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuY3JlYXRlVGV4dE5v ZGUoQSk7fSxnZXREb2N1bWVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzO30sZ2V0 V2luZG93OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2luZG93O30saWQ6KGZ1bmN0 aW9uKCl7dmFyIEE9e3N0cmluZzpmdW5jdGlvbihELEMsQil7RD1TbGljay5maW5k KEIsIiMiK0QucmVwbGFjZSgvKFxXKS9nLCJcXCQxIikpO3JldHVybihEKT9BLmVs

ZW1lbnQoRCxDKTpudWxsO30sZWxlbWVudDpmdW5jdGlvbihCLEMpeyR1aWQoQik7 aWYoIUMmJiFCLiRmYW1pbHkmJiEoL14oPzpvYmplY3R8ZW1iZWQpJC9pKS50ZXN0 KEIudGFnTmFtZSkpe09iamVjdC5hcHBlbmQoQixFbGVtZW50LlByb3RvdHlwZSk7 fXJldHVybiBCO30sb2JqZWN0OmZ1bmN0aW9uKEMsRCxCKXtpZihDLnRvRWxlbWVu dCl7cmV0dXJuIEEuZWxlbWVudChDLnRvRWxlbWVudChCKSxEKTt9cmV0dXJuIG51 bGw7Cn19O0EudGV4dG5vZGU9QS53aGl0ZXNwYWNlPUEud2luZG93PUEuZG9jdW1l bnQ9ZnVuY3Rpb24oQil7cmV0dXJuIEI7fTtyZXR1cm4gZnVuY3Rpb24oQyxFLEQp e2lmKEMmJkMuJGZhbWlseSYmQy51aWQpe3JldHVybiBDO312YXIgQj10eXBlT2Yo Qyk7cmV0dXJuKEFbQl0pP0FbQl0oQyxFLER8fGRvY3VtZW50KTpudWxsO307fSko KX0pO2lmKHdpbmRvdy4kPT1udWxsKXtXaW5kb3cuaW1wbGVtZW50KCIkIixmdW5j dGlvbihBLEIpe3JldHVybiBkb2N1bWVudC5pZChBLEIsdGhpcy5kb2N1bWVudCk7 fSk7fVdpbmRvdy5pbXBsZW1lbnQoe2dldERvY3VtZW50OmZ1bmN0aW9uKCl7cmV0 dXJuIHRoaXMuZG9jdW1lbnQ7fSxnZXRXaW5kb3c6ZnVuY3Rpb24oKXtyZXR1cm4g dGhpczt9fSk7W0RvY3VtZW50LEVsZW1lbnRdLmludm9rZSgiaW1wbGVtZW50Iix7 Z2V0RWxlbWVudHM6ZnVuY3Rpb24oQSl7cmV0dXJuIFNsaWNrLnNlYXJjaCh0aGlz LEEsbmV3IEVsZW1lbnRzKTt9LGdldEVsZW1lbnQ6ZnVuY3Rpb24oQSl7cmV0dXJu IGRvY3VtZW50LmlkKFNsaWNrLmZpbmQodGhpcyxBKSk7Cn19KTsoZnVuY3Rpb24o QixELEEpe3RoaXMuU2VsZWN0b3JzPXt9O3ZhciBFPXRoaXMuU2VsZWN0b3JzLlBz ZXVkbz1uZXcgSGFzaCgpO3ZhciBDPWZ1bmN0aW9uKCl7Zm9yKHZhciBGIGluIEUp e2lmKEUuaGFzT3duUHJvcGVydHkoRikpe1NsaWNrLmRlZmluZVBzZXVkbyhGLEVb Rl0pO2RlbGV0ZSBFW0ZdO319fTtTbGljay5zZWFyY2g9ZnVuY3Rpb24oRyxILEYp e0MoKTtyZXR1cm4gQi5jYWxsKHRoaXMsRyxILEYpO307U2xpY2suZmluZD1mdW5j dGlvbihGLEcpe0MoKTtyZXR1cm4gRC5jYWxsKHRoaXMsRixHKTt9O1NsaWNrLm1h dGNoPWZ1bmN0aW9uKEcsRil7QygpO3JldHVybiBBLmNhbGwodGhpcyxHLEYpO307 fSkoU2xpY2suc2VhcmNoLFNsaWNrLmZpbmQsU2xpY2subWF0Y2gpO2lmKHdpbmRv dy4kJD09bnVsbCl7V2luZG93LmltcGxlbWVudCgiJCQiLGZ1bmN0aW9uKEEpe3Zh ciBGPW5ldyBFbGVtZW50cztpZihhcmd1bWVudHMubGVuZ3RoPT0xJiZ0eXBlb2Yg QT09InN0cmluZyIpe3JldHVybiBTbGljay5zZWFyY2godGhpcy5kb2N1bWVudCxB LEYpOwp9dmFyIEM9QXJyYXkuZmxhdHRlbihhcmd1bWVudHMpO2Zvcih2YXIgRD0w LEI9Qy5sZW5ndGg7RDxCO0QrKyl7dmFyIEU9Q1tEXTtzd2l0Y2godHlwZU9mKEUp KXtjYXNlImVsZW1lbnQiOkYucHVzaChFKTticmVhaztjYXNlInN0cmluZyI6U2xp Y2suc2VhcmNoKHRoaXMuZG9jdW1lbnQsRSxGKTt9fXJldHVybiBGO30pO31pZih3 aW5kb3cuJCQ9PW51bGwpe1dpbmRvdy5pbXBsZW1lbnQoIiQkIixmdW5jdGlvbihB KXtpZihhcmd1bWVudHMubGVuZ3RoPT0xKXtpZih0eXBlb2YgQT09InN0cmluZyIp e3JldHVybiBTbGljay5zZWFyY2godGhpcy5kb2N1bWVudCxBLG5ldyBFbGVtZW50 cyk7fWVsc2V7aWYoVHlwZS5pc0VudW1lcmFibGUoQSkpe3JldHVybiBuZXcgRWxl bWVudHMoQSk7fX19cmV0dXJuIG5ldyBFbGVtZW50cyhhcmd1bWVudHMpO30pO30o ZnVuY3Rpb24oKXt2YXIgSz17fSxJPXt9O3ZhciBOPXtpbnB1dDoiY2hlY2tlZCIs b3B0aW9uOiJzZWxlY3RlZCIsdGV4dGFyZWE6InZhbHVlIn07CnZhciBFPWZ1bmN0 aW9uKFApe3JldHVybihJW1BdfHwoSVtQXT17fSkpO307dmFyIEo9ZnVuY3Rpb24o USl7dmFyIFA9US51aWQ7aWYoUS5yZW1vdmVFdmVudHMpe1EucmVtb3ZlRXZlbnRz KCk7fWlmKFEuY2xlYXJBdHRyaWJ1dGVzKXtRLmNsZWFyQXR0cmlidXRlcygpO31p ZihQIT1udWxsKXtkZWxldGUgS1tQXTtkZWxldGUgSVtQXTt9cmV0dXJuIFE7fTt2 YXIgTz1bImRlZmF1bHRWYWx1ZSIsImFjY2Vzc0tleSIsImNlbGxQYWRkaW5nIiwi Y2VsbFNwYWNpbmciLCJjb2xTcGFuIiwiZnJhbWVCb3JkZXIiLCJtYXhMZW5ndGgi LCJyZWFkT25seSIsInJvd1NwYW4iLCJ0YWJJbmRleCIsInVzZU1hcCJdO3ZhciBE PVsiY29tcGFjdCIsIm5vd3JhcCIsImlzbWFwIiwiZGVjbGFyZSIsIm5vc2hhZGUi LCJjaGVja2VkIiwiZGlzYWJsZWQiLCJyZWFkT25seSIsIm11bHRpcGxlIiwic2Vs ZWN0ZWQiLCJub3Jlc2l6ZSIsImRlZmVyIiwiZGVmYXVsdENoZWNrZWQiXTt2YXIg Rz17aHRtbDoiaW5uZXJIVE1MIiwiY2xhc3MiOiJjbGFzc05hbWUiLCJmb3IiOiJo dG1sRm9yIix0ZXh0OihmdW5jdGlvbigpe3ZhciBQPWRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQoImRpdiIpOwpyZXR1cm4oUC50ZXh0Q29udGVudD09bnVsbCk/ImlubmVy VGV4dCI6InRleHRDb250ZW50Ijt9KSgpfTt2YXIgTT1bInR5cGUiXTt2YXIgSD1b InZhbHVlIiwiZGVmYXVsdFZhbHVlIl07dmFyIEw9L14oPzpocmVmfHNyY3x1c2Vt YXApJC9pO0Q9RC5hc3NvY2lhdGUoRCk7Tz1PLmFzc29jaWF0ZShPLm1hcChTdHJp bmcudG9Mb3dlckNhc2UpKTtNPU0uYXNzb2NpYXRlKE0pO09iamVjdC5hcHBlbmQo RyxILmFzc29jaWF0ZShIKSk7dmFyIEM9e2JlZm9yZTpmdW5jdGlvbihRLFApe3Zh ciBSPVAucGFyZW50Tm9kZTtpZihSKXtSLmluc2VydEJlZm9yZShRLFApO319LGFm dGVyOmZ1bmN0aW9uKFEsUCl7dmFyIFI9UC5wYXJlbnROb2RlO2lmKFIpe1IuaW5z ZXJ0QmVmb3JlKFEsUC5uZXh0U2libGluZyk7fX0sYm90dG9tOmZ1bmN0aW9uKFEs

UCl7UC5hcHBlbmRDaGlsZChRKTt9LHRvcDpmdW5jdGlvbihRLFApe1AuaW5zZXJ0 QmVmb3JlKFEsUC5maXJzdENoaWxkKTt9fTtDLmluc2lkZT1DLmJvdHRvbTsKT2Jq ZWN0LmVhY2goQyxmdW5jdGlvbihRLFIpe1I9Ui5jYXBpdGFsaXplKCk7dmFyIFA9 e307UFsiaW5qZWN0IitSXT1mdW5jdGlvbihTKXtRKHRoaXMsZG9jdW1lbnQuaWQo Uyx0cnVlKSk7cmV0dXJuIHRoaXM7fTtQWyJncmFiIitSXT1mdW5jdGlvbihTKXtR KGRvY3VtZW50LmlkKFMsdHJ1ZSksdGhpcyk7cmV0dXJuIHRoaXM7fTtFbGVtZW50 LmltcGxlbWVudChQKTt9KTt2YXIgQj1mdW5jdGlvbihTLFIpe2lmKCFTKXtyZXR1 cm4gUjt9Uz1PYmplY3QuY2xvbmUoU2xpY2sucGFyc2UoUykpO3ZhciBRPVMuZXhw cmVzc2lvbnM7Zm9yKHZhciBQPVEubGVuZ3RoO1AtLTspe1FbUF1bMF0uY29tYmlu YXRvcj1SO31yZXR1cm4gUzt9O0VsZW1lbnQuaW1wbGVtZW50KHtzZXQ6ZnVuY3Rp b24oUixRKXt2YXIgUD1FbGVtZW50LlByb3BlcnRpZXNbUl07KFAmJlAuc2V0KT9Q LnNldC5jYWxsKHRoaXMsUSk6dGhpcy5zZXRQcm9wZXJ0eShSLFEpO30ub3Zlcmxv YWRTZXR0ZXIoKSxnZXQ6ZnVuY3Rpb24oUSl7dmFyIFA9RWxlbWVudC5Qcm9wZXJ0 aWVzW1FdOwpyZXR1cm4oUCYmUC5nZXQpP1AuZ2V0LmFwcGx5KHRoaXMpOnRoaXMu Z2V0UHJvcGVydHkoUSk7fS5vdmVybG9hZEdldHRlcigpLGVyYXNlOmZ1bmN0aW9u KFEpe3ZhciBQPUVsZW1lbnQuUHJvcGVydGllc1tRXTsoUCYmUC5lcmFzZSk/UC5l cmFzZS5hcHBseSh0aGlzKTp0aGlzLnJlbW92ZVByb3BlcnR5KFEpO3JldHVybiB0 aGlzO30sc2V0UHJvcGVydHk6ZnVuY3Rpb24oUSxSKXtRPU9bUV18fFE7aWYoUj09 bnVsbCl7cmV0dXJuIHRoaXMucmVtb3ZlUHJvcGVydHkoUSk7fXZhciBQPUdbUV07 KFApP3RoaXNbUF09UjooRFtRXSk/dGhpc1tRXT0hIVI6dGhpcy5zZXRBdHRyaWJ1 dGUoUSwiIitSKTtyZXR1cm4gdGhpczt9LHNldFByb3BlcnRpZXM6ZnVuY3Rpb24o UCl7Zm9yKHZhciBRIGluIFApe3RoaXMuc2V0UHJvcGVydHkoUSxQW1FdKTt9cmV0 dXJuIHRoaXM7fSxnZXRQcm9wZXJ0eTpmdW5jdGlvbihRKXtRPU9bUV18fFE7dmFy IFA9R1tRXXx8TVtRXTtyZXR1cm4oUCk/dGhpc1tQXTooRFtRXSk/ISF0aGlzW1Fd OihMLnRlc3QoUSk/dGhpcy5nZXRBdHRyaWJ1dGUoUSwyKTooUD10aGlzLmdldEF0 dHJpYnV0ZU5vZGUoUSkpP1Aubm9kZVZhbHVlOm51bGwpfHxudWxsOwp9LGdldFBy b3BlcnRpZXM6ZnVuY3Rpb24oKXt2YXIgUD1BcnJheS5mcm9tKGFyZ3VtZW50cyk7 cmV0dXJuIFAubWFwKHRoaXMuZ2V0UHJvcGVydHksdGhpcykuYXNzb2NpYXRlKFAp O30scmVtb3ZlUHJvcGVydHk6ZnVuY3Rpb24oUSl7UT1PW1FdfHxRO3ZhciBQPUdb UV07KFApP3RoaXNbUF09IiI6KERbUV0pP3RoaXNbUV09ZmFsc2U6dGhpcy5yZW1v dmVBdHRyaWJ1dGUoUSk7cmV0dXJuIHRoaXM7fSxyZW1vdmVQcm9wZXJ0aWVzOmZ1 bmN0aW9uKCl7QXJyYXkuZWFjaChhcmd1bWVudHMsdGhpcy5yZW1vdmVQcm9wZXJ0 eSx0aGlzKTtyZXR1cm4gdGhpczt9LGhhc0NsYXNzOmZ1bmN0aW9uKFApe3JldHVy biB0aGlzLmNsYXNzTmFtZS5jbGVhbigpLmNvbnRhaW5zKFAsIiAiKTt9LGFkZENs YXNzOmZ1bmN0aW9uKFApe2lmKCF0aGlzLmhhc0NsYXNzKFApKXt0aGlzLmNsYXNz TmFtZT0odGhpcy5jbGFzc05hbWUrIiAiK1ApLmNsZWFuKCk7fXJldHVybiB0aGlz O30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oUCl7dGhpcy5jbGFzc05hbWU9dGhpcy5j bGFzc05hbWUucmVwbGFjZShuZXcgUmVnRXhwKCIoXnxcXHMpIitQKyIoPzpcXHN8 JCkiKSwiJDEiKTsKcmV0dXJuIHRoaXM7fSx0b2dnbGVDbGFzczpmdW5jdGlvbihQ LFEpe2lmKFE9PW51bGwpe1E9IXRoaXMuaGFzQ2xhc3MoUCk7fXJldHVybihRKT90 aGlzLmFkZENsYXNzKFApOnRoaXMucmVtb3ZlQ2xhc3MoUCk7fSxhZG9wdDpmdW5j dGlvbigpe3ZhciBTPXRoaXMsUCxVPUFycmF5LmZsYXR0ZW4oYXJndW1lbnRzKSxU PVUubGVuZ3RoO2lmKFQ+MSl7Uz1QPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJh Z21lbnQoKTt9Zm9yKHZhciBSPTA7UjxUO1IrKyl7dmFyIFE9ZG9jdW1lbnQuaWQo VVtSXSx0cnVlKTtpZihRKXtTLmFwcGVuZENoaWxkKFEpO319aWYoUCl7dGhpcy5h cHBlbmRDaGlsZChQKTt9cmV0dXJuIHRoaXM7fSxhcHBlbmRUZXh0OmZ1bmN0aW9u KFEsUCl7cmV0dXJuIHRoaXMuZ3JhYih0aGlzLmdldERvY3VtZW50KCkubmV3VGV4 dE5vZGUoUSksUCk7fSxncmFiOmZ1bmN0aW9uKFEsUCl7Q1tQfHwiYm90dG9tIl0o ZG9jdW1lbnQuaWQoUSx0cnVlKSx0aGlzKTtyZXR1cm4gdGhpczsKfSxpbmplY3Q6 ZnVuY3Rpb24oUSxQKXtDW1B8fCJib3R0b20iXSh0aGlzLGRvY3VtZW50LmlkKFEs dHJ1ZSkpO3JldHVybiB0aGlzO30scmVwbGFjZXM6ZnVuY3Rpb24oUCl7UD1kb2N1 bWVudC5pZChQLHRydWUpO1AucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQodGhpcyxQ KTtyZXR1cm4gdGhpczt9LHdyYXBzOmZ1bmN0aW9uKFEsUCl7UT1kb2N1bWVudC5p ZChRLHRydWUpO3JldHVybiB0aGlzLnJlcGxhY2VzKFEpLmdyYWIoUSxQKTt9LGdl dFByZXZpb3VzOmZ1bmN0aW9uKFApe3JldHVybiBkb2N1bWVudC5pZChTbGljay5m aW5kKHRoaXMsQihQLCIhfiIpKSk7fSxnZXRBbGxQcmV2aW91czpmdW5jdGlvbihQ KXtyZXR1cm4gU2xpY2suc2VhcmNoKHRoaXMsQihQLCIhfiIpLG5ldyBFbGVtZW50 cyk7fSxnZXROZXh0OmZ1bmN0aW9uKFApe3JldHVybiBkb2N1bWVudC5pZChTbGlj ay5maW5kKHRoaXMsQihQLCJ+IikpKTt9LGdldEFsbE5leHQ6ZnVuY3Rpb24oUCl7 cmV0dXJuIFNsaWNrLnNlYXJjaCh0aGlzLEIoUCwifiIpLG5ldyBFbGVtZW50cyk7

Cn0sZ2V0Rmlyc3Q6ZnVuY3Rpb24oUCl7cmV0dXJuIGRvY3VtZW50LmlkKFNsaWNr LnNlYXJjaCh0aGlzLEIoUCwiPiIpKVswXSk7fSxnZXRMYXN0OmZ1bmN0aW9uKFAp e3JldHVybiBkb2N1bWVudC5pZChTbGljay5zZWFyY2godGhpcyxCKFAsIj4iKSku Z2V0TGFzdCgpKTt9LGdldFBhcmVudDpmdW5jdGlvbihQKXtyZXR1cm4gZG9jdW1l bnQuaWQoU2xpY2suZmluZCh0aGlzLEIoUCwiISIpKSk7fSxnZXRQYXJlbnRzOmZ1 bmN0aW9uKFApe3JldHVybiBTbGljay5zZWFyY2godGhpcyxCKFAsIiEiKSxuZXcg RWxlbWVudHMpO30sZ2V0U2libGluZ3M6ZnVuY3Rpb24oUCl7cmV0dXJuIFNsaWNr LnNlYXJjaCh0aGlzLEIoUCwifn4iKSxuZXcgRWxlbWVudHMpO30sZ2V0Q2hpbGRy ZW46ZnVuY3Rpb24oUCl7cmV0dXJuIFNsaWNrLnNlYXJjaCh0aGlzLEIoUCwiPiIp LG5ldyBFbGVtZW50cyk7fSxnZXRXaW5kb3c6ZnVuY3Rpb24oKXtyZXR1cm4gdGhp cy5vd25lckRvY3VtZW50LndpbmRvdzsKfSxnZXREb2N1bWVudDpmdW5jdGlvbigp e3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQ7fSxnZXRFbGVtZW50QnlJZDpmdW5j dGlvbihQKXtyZXR1cm4gZG9jdW1lbnQuaWQoU2xpY2suZmluZCh0aGlzLCIjIiso IiIrUCkucmVwbGFjZSgvKFxXKS9nLCJcXCQxIikpKTt9LGdldFNlbGVjdGVkOmZ1 bmN0aW9uKCl7dGhpcy5zZWxlY3RlZEluZGV4O3JldHVybiBuZXcgRWxlbWVudHMo QXJyYXkuZnJvbSh0aGlzLm9wdGlvbnMpLmZpbHRlcihmdW5jdGlvbihQKXtyZXR1 cm4gUC5zZWxlY3RlZDt9KSk7fSx0b1F1ZXJ5U3RyaW5nOmZ1bmN0aW9uKCl7dmFy IFA9W107dGhpcy5nZXRFbGVtZW50cygiaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEi KS5lYWNoKGZ1bmN0aW9uKFIpe3ZhciBRPVIudHlwZTtpZighUi5uYW1lfHxSLmRp c2FibGVkfHxRPT0ic3VibWl0Inx8UT09InJlc2V0Inx8UT09ImZpbGUifHxRPT0i aW1hZ2UiKXtyZXR1cm4gO312YXIgUz0oUi5nZXQoInRhZyIpPT0ic2VsZWN0Iik/ Ui5nZXRTZWxlY3RlZCgpLm1hcChmdW5jdGlvbihUKXtyZXR1cm4gZG9jdW1lbnQu aWQoVCkuZ2V0KCJ2YWx1ZSIpOwp9KTooKFE9PSJyYWRpbyJ8fFE9PSJjaGVja2Jv eCIpJiYhUi5jaGVja2VkKT9udWxsOlIuZ2V0KCJ2YWx1ZSIpO0FycmF5LmZyb20o UykuZWFjaChmdW5jdGlvbihUKXtpZih0eXBlb2YgVCE9InVuZGVmaW5lZCIpe1Au cHVzaChlbmNvZGVVUklDb21wb25lbnQoUi5uYW1lKSsiPSIrZW5jb2RlVVJJQ29t cG9uZW50KFQpKTt9fSk7fSk7cmV0dXJuIFAuam9pbigiJiIpO30sZGVzdHJveTpm dW5jdGlvbigpe3ZhciBQPUoodGhpcykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioi KTtBcnJheS5lYWNoKFAsSik7RWxlbWVudC5kaXNwb3NlKHRoaXMpO3JldHVybiBu dWxsO30sZW1wdHk6ZnVuY3Rpb24oKXtBcnJheS5mcm9tKHRoaXMuY2hpbGROb2Rl cykuZWFjaChFbGVtZW50LmRpc3Bvc2UpO3JldHVybiB0aGlzO30sZGlzcG9zZTpm dW5jdGlvbigpe3JldHVybih0aGlzLnBhcmVudE5vZGUpP3RoaXMucGFyZW50Tm9k ZS5yZW1vdmVDaGlsZCh0aGlzKTp0aGlzO30sbWF0Y2g6ZnVuY3Rpb24oUCl7cmV0 dXJuICFQfHxTbGljay5tYXRjaCh0aGlzLFApOwp9fSk7dmFyIEE9ZnVuY3Rpb24o VCxTLFEpe2lmKCFRKXtULnNldEF0dHJpYnV0ZU5vZGUoZG9jdW1lbnQuY3JlYXRl QXR0cmlidXRlKCJpZCIpKTt9aWYoVC5jbGVhckF0dHJpYnV0ZXMpe1QuY2xlYXJB dHRyaWJ1dGVzKCk7VC5tZXJnZUF0dHJpYnV0ZXMoUyk7VC5yZW1vdmVBdHRyaWJ1 dGUoInVpZCIpO2lmKFQub3B0aW9ucyl7dmFyIFU9VC5vcHRpb25zLFA9Uy5vcHRp b25zO2Zvcih2YXIgUj1VLmxlbmd0aDtSLS07KXtVW1JdLnNlbGVjdGVkPVBbUl0u c2VsZWN0ZWQ7fX19dmFyIFY9TltTLnRhZ05hbWUudG9Mb3dlckNhc2UoKV07aWYo ViYmU1tWXSl7VFtWXT1TW1ZdO319O0VsZW1lbnQuaW1wbGVtZW50KCJjbG9uZSIs ZnVuY3Rpb24oUixQKXtSPVIhPT1mYWxzZTt2YXIgVz10aGlzLmNsb25lTm9kZShS KSxRO2lmKFIpe3ZhciBTPVcuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxVPXRo aXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTtmb3IoUT1TLmxlbmd0aDtRLS07 KXtBKFNbUV0sVVtRXSxQKTsKfX1BKFcsdGhpcyxQKTtpZihCcm93c2VyLmllKXt2 YXIgVD1XLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvYmplY3QiKSxWPXRoaXMuZ2V0 RWxlbWVudHNCeVRhZ05hbWUoIm9iamVjdCIpO2ZvcihRPVQubGVuZ3RoO1EtLTsp e1RbUV0ub3V0ZXJIVE1MPVZbUV0ub3V0ZXJIVE1MO319cmV0dXJuIGRvY3VtZW50 LmlkKFcpO30pO3ZhciBGPXtjb250YWluczpmdW5jdGlvbihQKXtyZXR1cm4gU2xp Y2suY29udGFpbnModGhpcyxQKTt9fTtpZighZG9jdW1lbnQuY29udGFpbnMpe0Rv Y3VtZW50LmltcGxlbWVudChGKTt9aWYoIWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo ImRpdiIpLmNvbnRhaW5zKXtFbGVtZW50LmltcGxlbWVudChGKTt9RWxlbWVudC5p bXBsZW1lbnQoImhhc0NoaWxkIixmdW5jdGlvbihQKXtyZXR1cm4gdGhpcyE9PVAm JnRoaXMuY29udGFpbnMoUCk7fSk7W0VsZW1lbnQsV2luZG93LERvY3VtZW50XS5p bnZva2UoImltcGxlbWVudCIse2FkZExpc3RlbmVyOmZ1bmN0aW9uKFMsUil7aWYo Uz09InVubG9hZCIpe3ZhciBQPVIsUT10aGlzOwpSPWZ1bmN0aW9uKCl7US5yZW1v dmVMaXN0ZW5lcigidW5sb2FkIixSKTtQKCk7fTt9ZWxzZXtLWyR1aWQodGhpcyld PXRoaXM7fWlmKHRoaXMuYWRkRXZlbnRMaXN0ZW5lcil7dGhpcy5hZGRFdmVudExp c3RlbmVyKFMsUiwhIWFyZ3VtZW50c1syXSk7fWVsc2V7dGhpcy5hdHRhY2hFdmVu dCgib24iK1MsUik7fXJldHVybiB0aGlzO30scmVtb3ZlTGlzdGVuZXI6ZnVuY3Rp

b24oUSxQKXtpZih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIpe3RoaXMucmVtb3Zl RXZlbnRMaXN0ZW5lcihRLFAsISFhcmd1bWVudHNbMl0pO31lbHNle3RoaXMuZGV0 YWNoRXZlbnQoIm9uIitRLFApO31yZXR1cm4gdGhpczt9LHJldHJpZXZlOmZ1bmN0 aW9uKFEsUCl7dmFyIFM9RSgkdWlkKHRoaXMpKSxSPVNbUV07aWYoUCE9bnVsbCYm Uj09bnVsbCl7Uj1TW1FdPVA7fXJldHVybiBSIT1udWxsP1I6bnVsbDt9LHN0b3Jl OmZ1bmN0aW9uKFEsUCl7dmFyIFI9RSgkdWlkKHRoaXMpKTtSW1FdPVA7cmV0dXJu IHRoaXM7Cn0sZWxpbWluYXRlOmZ1bmN0aW9uKFApe3ZhciBRPUUoJHVpZCh0aGlz KSk7ZGVsZXRlIFFbUF07cmV0dXJuIHRoaXM7fX0pO2lmKHdpbmRvdy5hdHRhY2hF dmVudCYmIXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKXt3aW5kb3cuYWRkTGlzdGVu ZXIoInVubG9hZCIsZnVuY3Rpb24oKXtPYmplY3QuZWFjaChLLEopO2lmKHdpbmRv dy5Db2xsZWN0R2FyYmFnZSl7Q29sbGVjdEdhcmJhZ2UoKTt9fSk7fX0pKCk7RWxl bWVudC5Qcm9wZXJ0aWVzPXt9O0VsZW1lbnQuUHJvcGVydGllcz1uZXcgSGFzaDtF bGVtZW50LlByb3BlcnRpZXMuc3R5bGU9e3NldDpmdW5jdGlvbihBKXt0aGlzLnN0 eWxlLmNzc1RleHQ9QTt9LGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN0eWxl LmNzc1RleHQ7fSxlcmFzZTpmdW5jdGlvbigpe3RoaXMuc3R5bGUuY3NzVGV4dD0i Ijt9fTtFbGVtZW50LlByb3BlcnRpZXMudGFnPXtnZXQ6ZnVuY3Rpb24oKXtyZXR1 cm4gdGhpcy50YWdOYW1lLnRvTG93ZXJDYXNlKCk7Cn19OyhmdW5jdGlvbihBKXtp ZihBIT1udWxsKXtFbGVtZW50LlByb3BlcnRpZXMubWF4bGVuZ3RoPUVsZW1lbnQu UHJvcGVydGllcy5tYXhMZW5ndGg9e2dldDpmdW5jdGlvbigpe3ZhciBCPXRoaXMu Z2V0QXR0cmlidXRlKCJtYXhMZW5ndGgiKTtyZXR1cm4gQj09QT9udWxsOkI7fX07 fX0pKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IikuZ2V0QXR0cmlidXRl KCJtYXhMZW5ndGgiKSk7RWxlbWVudC5Qcm9wZXJ0aWVzLmh0bWw9KGZ1bmN0aW9u KCl7dmFyIEM9RnVuY3Rpb24uYXR0ZW1wdChmdW5jdGlvbigpe3ZhciBFPWRvY3Vt ZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIik7RS5pbm5lckhUTUw9Ijx0cj48dGQ+ PC90ZD48L3RyPiI7fSk7dmFyIEQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2 Iik7dmFyIEE9e3RhYmxlOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSxzZWxlY3Q6 WzEsIjxzZWxlY3Q+IiwiPC9zZWxlY3Q+Il0sdGJvZHk6WzIsIjx0YWJsZT48dGJv ZHk+IiwiPC90Ym9keT48L3RhYmxlPiJdLHRyOlszLCI8dGFibGU+PHRib2R5Pjx0 cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXX07CkEudGhlYWQ9QS50Zm9vdD1B LnRib2R5O3ZhciBCPXtzZXQ6ZnVuY3Rpb24oKXt2YXIgRj1BcnJheS5mbGF0dGVu KGFyZ3VtZW50cykuam9pbigiIik7dmFyIEc9KCFDJiZBW3RoaXMuZ2V0KCJ0YWci KV0pO2lmKEcpe3ZhciBIPUQ7SC5pbm5lckhUTUw9R1sxXStGK0dbMl07Zm9yKHZh ciBFPUdbMF07RS0tOyl7SD1ILmZpcnN0Q2hpbGQ7fXRoaXMuZW1wdHkoKS5hZG9w dChILmNoaWxkTm9kZXMpO31lbHNle3RoaXMuaW5uZXJIVE1MPUY7fX19O0IuZXJh c2U9Qi5zZXQ7cmV0dXJuIEI7fSkoKTsoZnVuY3Rpb24oKXt2YXIgQz1kb2N1bWVu dC5odG1sO0VsZW1lbnQuUHJvcGVydGllcy5zdHlsZXM9e3NldDpmdW5jdGlvbihG KXt0aGlzLnNldFN0eWxlcyhGKTt9fTt2YXIgRT0oQy5zdHlsZS5vcGFjaXR5IT1u dWxsKTt2YXIgRD0vYWxwaGFcKG9wYWNpdHk9KFtcZC5dKylcKS9pO3ZhciBCPWZ1 bmN0aW9uKEcsRil7aWYoIUcuY3VycmVudFN0eWxlfHwhRy5jdXJyZW50U3R5bGUu aGFzTGF5b3V0KXtHLnN0eWxlLnpvb209MTsKfWlmKEUpe0cuc3R5bGUub3BhY2l0 eT1GO31lbHNle0Y9KEYqMTAwKS5saW1pdCgwLDEwMCkucm91bmQoKTtGPShGPT0x MDApPyIiOiJhbHBoYShvcGFjaXR5PSIrRisiKSI7dmFyIEg9Ry5zdHlsZS5maWx0 ZXJ8fEcuZ2V0Q29tcHV0ZWRTdHlsZSgiZmlsdGVyIil8fCIiO0cuc3R5bGUuZmls dGVyPUQudGVzdChIKT9ILnJlcGxhY2UoRCxGKTpIK0Y7fX07RWxlbWVudC5Qcm9w ZXJ0aWVzLm9wYWNpdHk9e3NldDpmdW5jdGlvbihHKXt2YXIgRj10aGlzLnN0eWxl LnZpc2liaWxpdHk7aWYoRz09MCYmRiE9ImhpZGRlbiIpe3RoaXMuc3R5bGUudmlz aWJpbGl0eT0iaGlkZGVuIjt9ZWxzZXtpZihHIT0wJiZGIT0idmlzaWJsZSIpe3Ro aXMuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSI7fX1CKHRoaXMsRyk7fSxnZXQ6 KEUpP2Z1bmN0aW9uKCl7dmFyIEY9dGhpcy5zdHlsZS5vcGFjaXR5fHx0aGlzLmdl dENvbXB1dGVkU3R5bGUoIm9wYWNpdHkiKTtyZXR1cm4oRj09IiIpPzE6Rjt9OmZ1 bmN0aW9uKCl7dmFyIEYsRz0odGhpcy5zdHlsZS5maWx0ZXJ8fHRoaXMuZ2V0Q29t cHV0ZWRTdHlsZSgiZmlsdGVyIikpOwppZihHKXtGPUcubWF0Y2goRCk7fXJldHVy bihGPT1udWxsfHxHPT1udWxsKT8xOihGWzFdLzEwMCk7fX07dmFyIEE9KEMuc3R5 bGUuY3NzRmxvYXQ9PW51bGwpPyJzdHlsZUZsb2F0IjoiY3NzRmxvYXQiO0VsZW1l bnQuaW1wbGVtZW50KHtnZXRDb21wdXRlZFN0eWxlOmZ1bmN0aW9uKEgpe2lmKHRo aXMuY3VycmVudFN0eWxlKXtyZXR1cm4gdGhpcy5jdXJyZW50U3R5bGVbSC5jYW1l bENhc2UoKV07fXZhciBHPUVsZW1lbnQuZ2V0RG9jdW1lbnQodGhpcykuZGVmYXVs dFZpZXcsRj1HP0cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLG51bGwpOm51bGw7cmV0 dXJuKEYpP0YuZ2V0UHJvcGVydHlWYWx1ZSgoSD09QSk/ImZsb2F0IjpILmh5cGhl bmF0ZSgpKTpudWxsO30sc2V0T3BhY2l0eTpmdW5jdGlvbihGKXtCKHRoaXMsRik7

cmV0dXJuIHRoaXM7fSxnZXRPcGFjaXR5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu Z2V0KCJvcGFjaXR5Iik7fSxzZXRTdHlsZTpmdW5jdGlvbihHLEYpe3N3aXRjaChH KXtjYXNlIm9wYWNpdHkiOnJldHVybiB0aGlzLnNldCgib3BhY2l0eSIscGFyc2VG bG9hdChGKSk7CmNhc2UiZmxvYXQiOkc9QTt9Rz1HLmNhbWVsQ2FzZSgpO2lmKHR5 cGVPZihGKSE9InN0cmluZyIpe3ZhciBIPShFbGVtZW50LlN0eWxlc1tHXXx8IkAi KS5zcGxpdCgiICIpO0Y9QXJyYXkuZnJvbShGKS5tYXAoZnVuY3Rpb24oSixJKXtp ZighSFtJXSl7cmV0dXJuIiI7fXJldHVybih0eXBlT2YoSik9PSJudW1iZXIiKT9I W0ldLnJlcGxhY2UoIkAiLE1hdGgucm91bmQoSikpOko7fSkuam9pbigiICIpO31l bHNle2lmKEY9PVN0cmluZyhOdW1iZXIoRikpKXtGPU1hdGgucm91bmQoRik7fX10 aGlzLnN0eWxlW0ddPUY7cmV0dXJuIHRoaXM7fSxnZXRTdHlsZTpmdW5jdGlvbihM KXtzd2l0Y2goTCl7Y2FzZSJvcGFjaXR5IjpyZXR1cm4gdGhpcy5nZXQoIm9wYWNp dHkiKTtjYXNlImZsb2F0IjpMPUE7fUw9TC5jYW1lbENhc2UoKTt2YXIgRj10aGlz LnN0eWxlW0xdO2lmKCFGfHxMPT0iekluZGV4Iil7Rj1bXTtmb3IodmFyIEsgaW4g RWxlbWVudC5TaG9ydFN0eWxlcyl7aWYoTCE9Syl7Y29udGludWU7Cn1mb3IodmFy IEogaW4gRWxlbWVudC5TaG9ydFN0eWxlc1tLXSl7Ri5wdXNoKHRoaXMuZ2V0U3R5 bGUoSikpO31yZXR1cm4gRi5qb2luKCIgIik7fUY9dGhpcy5nZXRDb21wdXRlZFN0 eWxlKEwpO31pZihGKXtGPVN0cmluZyhGKTt2YXIgSD1GLm1hdGNoKC9yZ2JhP1wo W1xkXHMsXStcKS8pO2lmKEgpe0Y9Ri5yZXBsYWNlKEhbMF0sSFswXS5yZ2JUb0hl eCgpKTt9fWlmKEJyb3dzZXIub3BlcmF8fChCcm93c2VyLmllJiZpc05hTihwYXJz ZUZsb2F0KEYpKSkpe2lmKCgvXihoZWlnaHR8d2lkdGgpJC8pLnRlc3QoTCkpe3Zh ciBHPShMPT0id2lkdGgiKT9bImxlZnQiLCJyaWdodCJdOlsidG9wIiwiYm90dG9t Il0sST0wO0cuZWFjaChmdW5jdGlvbihNKXtJKz10aGlzLmdldFN0eWxlKCJib3Jk ZXItIitNKyItd2lkdGgiKS50b0ludCgpK3RoaXMuZ2V0U3R5bGUoInBhZGRpbmct IitNKS50b0ludCgpO30sdGhpcyk7cmV0dXJuIHRoaXNbIm9mZnNldCIrTC5jYXBp dGFsaXplKCldLUkrInB4IjsKfWlmKEJyb3dzZXIub3BlcmEmJlN0cmluZyhGKS5p bmRleE9mKCJweCIpIT0tMSl7cmV0dXJuIEY7fWlmKCgvXmJvcmRlciguKylXaWR0 aHxtYXJnaW58cGFkZGluZy8pLnRlc3QoTCkpe3JldHVybiIwcHgiO319cmV0dXJu IEY7fSxzZXRTdHlsZXM6ZnVuY3Rpb24oRyl7Zm9yKHZhciBGIGluIEcpe3RoaXMu c2V0U3R5bGUoRixHW0ZdKTt9cmV0dXJuIHRoaXM7fSxnZXRTdHlsZXM6ZnVuY3Rp b24oKXt2YXIgRj17fTtBcnJheS5mbGF0dGVuKGFyZ3VtZW50cykuZWFjaChmdW5j dGlvbihHKXtGW0ddPXRoaXMuZ2V0U3R5bGUoRyk7fSx0aGlzKTtyZXR1cm4gRjt9 fSk7RWxlbWVudC5TdHlsZXM9e2xlZnQ6IkBweCIsdG9wOiJAcHgiLGJvdHRvbToi QHB4IixyaWdodDoiQHB4Iix3aWR0aDoiQHB4IixoZWlnaHQ6IkBweCIsbWF4V2lk dGg6IkBweCIsbWF4SGVpZ2h0OiJAcHgiLG1pbldpZHRoOiJAcHgiLG1pbkhlaWdo dDoiQHB4IixiYWNrZ3JvdW5kQ29sb3I6InJnYihALCBALCBAKSIsYmFja2dyb3Vu ZFBvc2l0aW9uOiJAcHggQHB4Iixjb2xvcjoicmdiKEAsIEAsIEApIixmb250U2l6 ZToiQHB4IixsZXR0ZXJTcGFjaW5nOiJAcHgiLGxpbmVIZWlnaHQ6IkBweCIsY2xp cDoicmVjdChAcHggQHB4IEBweCBAcHgpIixtYXJnaW46IkBweCBAcHggQHB4IEBw eCIscGFkZGluZzoiQHB4IEBweCBAcHggQHB4Iixib3JkZXI6IkBweCBAIHJnYihA LCBALCBAKSBAcHggQCByZ2IoQCwgQCwgQCkgQHB4IEAgcmdiKEAsIEAsIEApIixi b3JkZXJXaWR0aDoiQHB4IEBweCBAcHggQHB4Iixib3JkZXJTdHlsZToiQCBAIEAg QCIsYm9yZGVyQ29sb3I6InJnYihALCBALCBAKSByZ2IoQCwgQCwgQCkgcmdiKEAs IEAsIEApIHJnYihALCBALCBAKSIsekluZGV4OiJAIix6b29tOiJAIixmb250V2Vp Z2h0OiJAIix0ZXh0SW5kZW50OiJAcHgiLG9wYWNpdHk6IkAifTsKRWxlbWVudC5T dHlsZXM9bmV3IEhhc2goRWxlbWVudC5TdHlsZXMpO0VsZW1lbnQuU2hvcnRTdHls ZXM9e21hcmdpbjp7fSxwYWRkaW5nOnt9LGJvcmRlcjp7fSxib3JkZXJXaWR0aDp7 fSxib3JkZXJTdHlsZTp7fSxib3JkZXJDb2xvcjp7fX07WyJUb3AiLCJSaWdodCIs IkJvdHRvbSIsIkxlZnQiXS5lYWNoKGZ1bmN0aW9uKEwpe3ZhciBLPUVsZW1lbnQu U2hvcnRTdHlsZXM7dmFyIEc9RWxlbWVudC5TdHlsZXM7WyJtYXJnaW4iLCJwYWRk aW5nIl0uZWFjaChmdW5jdGlvbihNKXt2YXIgTj1NK0w7S1tNXVtOXT1HW05dPSJA cHgiO30pO3ZhciBKPSJib3JkZXIiK0w7Sy5ib3JkZXJbSl09R1tKXT0iQHB4IEAg cmdiKEAsIEAsIEApIjt2YXIgST1KKyJXaWR0aCIsRj1KKyJTdHlsZSIsSD1KKyJD b2xvciI7S1tKXT17fTtLLmJvcmRlcldpZHRoW0ldPUtbSl1bSV09R1tJXT0iQHB4 IjtLLmJvcmRlclN0eWxlW0ZdPUtbSl1bRl09R1tGXT0iQCI7Sy5ib3JkZXJDb2xv cltIXT1LW0pdW0hdPUdbSF09InJnYihALCBALCBAKSI7Cn0pO30pKCk7KGZ1bmN0 aW9uKCl7RWxlbWVudC5Qcm9wZXJ0aWVzLmV2ZW50cz17c2V0OmZ1bmN0aW9uKEIp e3RoaXMuYWRkRXZlbnRzKEIpO319O1tFbGVtZW50LFdpbmRvdyxEb2N1bWVudF0u aW52b2tlKCJpbXBsZW1lbnQiLHthZGRFdmVudDpmdW5jdGlvbihGLEgpe3ZhciBJ PXRoaXMucmV0cmlldmUoImV2ZW50cyIse30pO2lmKCFJW0ZdKXtJW0ZdPXtrZXlz OltdLHZhbHVlczpbXX07fWlmKElbRl0ua2V5cy5jb250YWlucyhIKSl7cmV0dXJu

IHRoaXM7fUlbRl0ua2V5cy5wdXNoKEgpO3ZhciBHPUYsQj1FbGVtZW50LkV2ZW50 c1tGXSxEPUgsSj10aGlzO2lmKEIpe2lmKEIub25BZGQpe0Iub25BZGQuY2FsbCh0 aGlzLEgpO31pZihCLmNvbmRpdGlvbil7RD1mdW5jdGlvbihLKXtpZihCLmNvbmRp dGlvbi5jYWxsKHRoaXMsSykpe3JldHVybiBILmNhbGwodGhpcyxLKTt9cmV0dXJu IHRydWU7fTt9Rz1CLmJhc2V8fEc7fXZhciBFPWZ1bmN0aW9uKCl7cmV0dXJuIEgu Y2FsbChKKTsKfTt2YXIgQz1FbGVtZW50Lk5hdGl2ZUV2ZW50c1tHXTtpZihDKXtp ZihDPT0yKXtFPWZ1bmN0aW9uKEspe0s9bmV3IEV2ZW50KEssSi5nZXRXaW5kb3co KSk7aWYoRC5jYWxsKEosSyk9PT1mYWxzZSl7Sy5zdG9wKCk7fX07fXRoaXMuYWRk TGlzdGVuZXIoRyxFLGFyZ3VtZW50c1syXSk7fUlbRl0udmFsdWVzLnB1c2goRSk7 cmV0dXJuIHRoaXM7fSxyZW1vdmVFdmVudDpmdW5jdGlvbihFLEQpe3ZhciBDPXRo aXMucmV0cmlldmUoImV2ZW50cyIpO2lmKCFDfHwhQ1tFXSl7cmV0dXJuIHRoaXM7 fXZhciBIPUNbRV07dmFyIEI9SC5rZXlzLmluZGV4T2YoRCk7aWYoQj09LTEpe3Jl dHVybiB0aGlzO312YXIgRz1ILnZhbHVlc1tCXTtkZWxldGUgSC5rZXlzW0JdO2Rl bGV0ZSBILnZhbHVlc1tCXTt2YXIgRj1FbGVtZW50LkV2ZW50c1tFXTtpZihGKXtp ZihGLm9uUmVtb3ZlKXtGLm9uUmVtb3ZlLmNhbGwodGhpcyxEKTt9RT1GLmJhc2V8 fEU7fXJldHVybihFbGVtZW50Lk5hdGl2ZUV2ZW50c1tFXSk/dGhpcy5yZW1vdmVM aXN0ZW5lcihFLEcsYXJndW1lbnRzWzJdKTp0aGlzOwp9LGFkZEV2ZW50czpmdW5j dGlvbihCKXtmb3IodmFyIEMgaW4gQil7dGhpcy5hZGRFdmVudChDLEJbQ10pO31y ZXR1cm4gdGhpczt9LHJlbW92ZUV2ZW50czpmdW5jdGlvbihCKXt2YXIgRDtpZih0 eXBlT2YoQik9PSJvYmplY3QiKXtmb3IoRCBpbiBCKXt0aGlzLnJlbW92ZUV2ZW50 KEQsQltEXSk7fXJldHVybiB0aGlzO312YXIgQz10aGlzLnJldHJpZXZlKCJldmVu dHMiKTtpZighQyl7cmV0dXJuIHRoaXM7fWlmKCFCKXtmb3IoRCBpbiBDKXt0aGlz LnJlbW92ZUV2ZW50cyhEKTt9dGhpcy5lbGltaW5hdGUoImV2ZW50cyIpO31lbHNl e2lmKENbQl0pe0NbQl0ua2V5cy5lYWNoKGZ1bmN0aW9uKEUpe3RoaXMucmVtb3Zl RXZlbnQoQixFKTt9LHRoaXMpO2RlbGV0ZSBDW0JdO319cmV0dXJuIHRoaXM7fSxm aXJlRXZlbnQ6ZnVuY3Rpb24oRSxDLEIpe3ZhciBEPXRoaXMucmV0cmlldmUoImV2 ZW50cyIpO2lmKCFEfHwhRFtFXSl7cmV0dXJuIHRoaXM7fUM9QXJyYXkuZnJvbShD KTtEW0VdLmtleXMuZWFjaChmdW5jdGlvbihGKXtpZihCKXtGLmRlbGF5KEIsdGhp cyxDKTsKfWVsc2V7Ri5hcHBseSh0aGlzLEMpO319LHRoaXMpO3JldHVybiB0aGlz O30sY2xvbmVFdmVudHM6ZnVuY3Rpb24oRSxEKXtFPWRvY3VtZW50LmlkKEUpO3Zh ciBDPUUucmV0cmlldmUoImV2ZW50cyIpO2lmKCFDKXtyZXR1cm4gdGhpczt9aWYo IUQpe2Zvcih2YXIgQiBpbiBDKXt0aGlzLmNsb25lRXZlbnRzKEUsQik7fX1lbHNl e2lmKENbRF0pe0NbRF0ua2V5cy5lYWNoKGZ1bmN0aW9uKEYpe3RoaXMuYWRkRXZl bnQoRCxGKTt9LHRoaXMpO319cmV0dXJuIHRoaXM7fX0pO0VsZW1lbnQuTmF0aXZl RXZlbnRzPXtjbGljazoyLGRibGNsaWNrOjIsbW91c2V1cDoyLG1vdXNlZG93bjoy LGNvbnRleHRtZW51OjIsbW91c2V3aGVlbDoyLERPTU1vdXNlU2Nyb2xsOjIsbW91 c2VvdmVyOjIsbW91c2VvdXQ6Mixtb3VzZW1vdmU6MixzZWxlY3RzdGFydDoyLHNl bGVjdGVuZDoyLGtleWRvd246MixrZXlwcmVzczoyLGtleXVwOjIsb3JpZW50YXRp b25jaGFuZ2U6Mix0b3VjaHN0YXJ0OjIsdG91Y2htb3ZlOjIsdG91Y2hlbmQ6Mix0 b3VjaGNhbmNlbDoyLGdlc3R1cmVzdGFydDoyLGdlc3R1cmVjaGFuZ2U6MixnZXN0 dXJlZW5kOjIsZm9jdXM6MixibHVyOjIsY2hhbmdlOjIscmVzZXQ6MixzZWxlY3Q6 MixzdWJtaXQ6Mixsb2FkOjIsdW5sb2FkOjEsYmVmb3JldW5sb2FkOjIscmVzaXpl OjEsbW92ZToxLERPTUNvbnRlbnRMb2FkZWQ6MSxyZWFkeXN0YXRlY2hhbmdlOjEs ZXJyb3I6MSxhYm9ydDoxLHNjcm9sbDoxfTsKdmFyIEE9ZnVuY3Rpb24oQil7dmFy IEM9Qi5yZWxhdGVkVGFyZ2V0O2lmKEM9PW51bGwpe3JldHVybiB0cnVlO31pZigh Qyl7cmV0dXJuIGZhbHNlO31yZXR1cm4oQyE9dGhpcyYmQy5wcmVmaXghPSJ4dWwi JiZ0eXBlT2YodGhpcykhPSJkb2N1bWVudCImJiF0aGlzLmNvbnRhaW5zKEMpKTt9 O0VsZW1lbnQuRXZlbnRzPXttb3VzZWVudGVyOntiYXNlOiJtb3VzZW92ZXIiLGNv bmRpdGlvbjpBfSxtb3VzZWxlYXZlOntiYXNlOiJtb3VzZW91dCIsY29uZGl0aW9u OkF9LG1vdXNld2hlZWw6e2Jhc2U6KEJyb3dzZXIuZmlyZWZveCk/IkRPTU1vdXNl U2Nyb2xsIjoibW91c2V3aGVlbCJ9fTtFbGVtZW50LkV2ZW50cz1uZXcgSGFzaChF bGVtZW50LkV2ZW50cyk7fSkoKTsoZnVuY3Rpb24oKXt2YXIgSD1kb2N1bWVudC5j cmVhdGVFbGVtZW50KCJkaXYiKSxFPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp diIpO0guc3R5bGUuaGVpZ2h0PSIwIjtILmFwcGVuZENoaWxkKEUpO3ZhciBEPShF Lm9mZnNldFBhcmVudD09PUgpOwpIPUU9bnVsbDt2YXIgTD1mdW5jdGlvbihNKXty ZXR1cm4gSyhNLCJwb3NpdGlvbiIpIT0ic3RhdGljInx8QShNKTt9O3ZhciBJPWZ1 bmN0aW9uKE0pe3JldHVybiBMKE0pfHwoL14oPzp0YWJsZXx0ZHx0aCkkL2kpLnRl c3QoTS50YWdOYW1lKTt9O0VsZW1lbnQuaW1wbGVtZW50KHtzY3JvbGxUbzpmdW5j dGlvbihNLE4pe2lmKEEodGhpcykpe3RoaXMuZ2V0V2luZG93KCkuc2Nyb2xsVG8o TSxOKTt9ZWxzZXt0aGlzLnNjcm9sbExlZnQ9TTt0aGlzLnNjcm9sbFRvcD1OO31y

ZXR1cm4gdGhpczt9LGdldFNpemU6ZnVuY3Rpb24oKXtpZihBKHRoaXMpKXtyZXR1 cm4gdGhpcy5nZXRXaW5kb3coKS5nZXRTaXplKCk7fXJldHVybnt4OnRoaXMub2Zm c2V0V2lkdGgseTp0aGlzLm9mZnNldEhlaWdodH07fSxnZXRTY3JvbGxTaXplOmZ1 bmN0aW9uKCl7aWYoQSh0aGlzKSl7cmV0dXJuIHRoaXMuZ2V0V2luZG93KCkuZ2V0 U2Nyb2xsU2l6ZSgpO31yZXR1cm57eDp0aGlzLnNjcm9sbFdpZHRoLHk6dGhpcy5z Y3JvbGxIZWlnaHR9Owp9LGdldFNjcm9sbDpmdW5jdGlvbigpe2lmKEEodGhpcykp e3JldHVybiB0aGlzLmdldFdpbmRvdygpLmdldFNjcm9sbCgpO31yZXR1cm57eDp0 aGlzLnNjcm9sbExlZnQseTp0aGlzLnNjcm9sbFRvcH07fSxnZXRTY3JvbGxzOmZ1 bmN0aW9uKCl7dmFyIE49dGhpcy5wYXJlbnROb2RlLE09e3g6MCx5OjB9O3doaWxl KE4mJiFBKE4pKXtNLngrPU4uc2Nyb2xsTGVmdDtNLnkrPU4uc2Nyb2xsVG9wO049 Ti5wYXJlbnROb2RlO31yZXR1cm4gTTt9LGdldE9mZnNldFBhcmVudDpEP2Z1bmN0 aW9uKCl7dmFyIE09dGhpcztpZihBKE0pfHxLKE0sInBvc2l0aW9uIik9PSJmaXhl ZCIpe3JldHVybiBudWxsO312YXIgTj0oSyhNLCJwb3NpdGlvbiIpPT0ic3RhdGlj Iik/STpMO3doaWxlKChNPU0ucGFyZW50Tm9kZSkpe2lmKE4oTSkpe3JldHVybiBN O319cmV0dXJuIG51bGw7fTpmdW5jdGlvbigpe3ZhciBNPXRoaXM7aWYoQShNKXx8 SyhNLCJwb3NpdGlvbiIpPT0iZml4ZWQiKXtyZXR1cm4gbnVsbDsKfXRyeXtyZXR1 cm4gTS5vZmZzZXRQYXJlbnQ7fWNhdGNoKE4pe31yZXR1cm4gbnVsbDt9LGdldE9m ZnNldHM6ZnVuY3Rpb24oKXtpZih0aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCYm IUJyb3dzZXIuUGxhdGZvcm0uaW9zKXt2YXIgUj10aGlzLmdldEJvdW5kaW5nQ2xp ZW50UmVjdCgpLE89ZG9jdW1lbnQuaWQodGhpcy5nZXREb2N1bWVudCgpLmRvY3Vt ZW50RWxlbWVudCksUT1PLmdldFNjcm9sbCgpLFQ9dGhpcy5nZXRTY3JvbGxzKCks Uz0oSyh0aGlzLCJwb3NpdGlvbiIpPT0iZml4ZWQiKTtyZXR1cm57eDpSLmxlZnQu dG9JbnQoKStULngrKChTKT8wOlEueCktTy5jbGllbnRMZWZ0LHk6Ui50b3AudG9J bnQoKStULnkrKChTKT8wOlEueSktTy5jbGllbnRUb3B9O312YXIgTj10aGlzLE09 e3g6MCx5OjB9O2lmKEEodGhpcykpe3JldHVybiBNO313aGlsZShOJiYhQShOKSl7 TS54Kz1OLm9mZnNldExlZnQ7TS55Kz1OLm9mZnNldFRvcDtpZihCcm93c2VyLmZp cmVmb3gpe2lmKCFDKE4pKXtNLngrPUIoTik7Ck0ueSs9RyhOKTt9dmFyIFA9Ti5w YXJlbnROb2RlO2lmKFAmJksoUCwib3ZlcmZsb3ciKSE9InZpc2libGUiKXtNLngr PUIoUCk7TS55Kz1HKFApO319ZWxzZXtpZihOIT10aGlzJiZCcm93c2VyLnNhZmFy aSl7TS54Kz1CKE4pO00ueSs9RyhOKTt9fU49Ti5vZmZzZXRQYXJlbnQ7fWlmKEJy b3dzZXIuZmlyZWZveCYmIUModGhpcykpe00ueC09Qih0aGlzKTtNLnktPUcodGhp cyk7fXJldHVybiBNO30sZ2V0UG9zaXRpb246ZnVuY3Rpb24oUCl7aWYoQSh0aGlz KSl7cmV0dXJue3g6MCx5OjB9O312YXIgUT10aGlzLmdldE9mZnNldHMoKSxOPXRo aXMuZ2V0U2Nyb2xscygpO3ZhciBNPXt4OlEueC1OLngseTpRLnktTi55fTtpZihQ JiYoUD1kb2N1bWVudC5pZChQKSkpe3ZhciBPPVAuZ2V0UG9zaXRpb24oKTtyZXR1 cm57eDpNLngtTy54LUIoUCkseTpNLnktTy55LUcoUCl9O31yZXR1cm4gTTt9LGdl dENvb3JkaW5hdGVzOmZ1bmN0aW9uKE8pe2lmKEEodGhpcykpe3JldHVybiB0aGlz LmdldFdpbmRvdygpLmdldENvb3JkaW5hdGVzKCk7Cn12YXIgTT10aGlzLmdldFBv c2l0aW9uKE8pLE49dGhpcy5nZXRTaXplKCk7dmFyIFA9e2xlZnQ6TS54LHRvcDpN Lnksd2lkdGg6Ti54LGhlaWdodDpOLnl9O1AucmlnaHQ9UC5sZWZ0K1Aud2lkdGg7 UC5ib3R0b209UC50b3ArUC5oZWlnaHQ7cmV0dXJuIFA7fSxjb21wdXRlUG9zaXRp b246ZnVuY3Rpb24oTSl7cmV0dXJue2xlZnQ6TS54LUoodGhpcywibWFyZ2luLWxl ZnQiKSx0b3A6TS55LUoodGhpcywibWFyZ2luLXRvcCIpfTt9LHNldFBvc2l0aW9u OmZ1bmN0aW9uKE0pe3JldHVybiB0aGlzLnNldFN0eWxlcyh0aGlzLmNvbXB1dGVQ b3NpdGlvbihNKSk7fX0pO1tEb2N1bWVudCxXaW5kb3ddLmludm9rZSgiaW1wbGVt ZW50Iix7Z2V0U2l6ZTpmdW5jdGlvbigpe3ZhciBNPUYodGhpcyk7cmV0dXJue3g6 TS5jbGllbnRXaWR0aCx5Ok0uY2xpZW50SGVpZ2h0fTt9LGdldFNjcm9sbDpmdW5j dGlvbigpe3ZhciBOPXRoaXMuZ2V0V2luZG93KCksTT1GKHRoaXMpO3JldHVybnt4 Ok4ucGFnZVhPZmZzZXR8fE0uc2Nyb2xsTGVmdCx5Ok4ucGFnZVlPZmZzZXR8fE0u c2Nyb2xsVG9wfTsKfSxnZXRTY3JvbGxTaXplOmZ1bmN0aW9uKCl7dmFyIE89Rih0 aGlzKSxOPXRoaXMuZ2V0U2l6ZSgpLE09dGhpcy5nZXREb2N1bWVudCgpLmJvZHk7 cmV0dXJue3g6TWF0aC5tYXgoTy5zY3JvbGxXaWR0aCxNLnNjcm9sbFdpZHRoLE4u eCkseTpNYXRoLm1heChPLnNjcm9sbEhlaWdodCxNLnNjcm9sbEhlaWdodCxOLnkp fTt9LGdldFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJue3g6MCx5OjB9O30sZ2V0 Q29vcmRpbmF0ZXM6ZnVuY3Rpb24oKXt2YXIgTT10aGlzLmdldFNpemUoKTtyZXR1 cm57dG9wOjAsbGVmdDowLGJvdHRvbTpNLnkscmlnaHQ6TS54LGhlaWdodDpNLnks d2lkdGg6TS54fTt9fSk7dmFyIEs9RWxlbWVudC5nZXRDb21wdXRlZFN0eWxlO2Z1 bmN0aW9uIEooTSxOKXtyZXR1cm4gSyhNLE4pLnRvSW50KCl8fDA7fWZ1bmN0aW9u IEMoTSl7cmV0dXJuIEsoTSwiLW1vei1ib3gtc2l6aW5nIik9PSJib3JkZXItYm94 Ijt9ZnVuY3Rpb24gRyhNKXtyZXR1cm4gSihNLCJib3JkZXItdG9wLXdpZHRoIik7

Cn1mdW5jdGlvbiBCKE0pe3JldHVybiBKKE0sImJvcmRlci1sZWZ0LXdpZHRoIik7 fWZ1bmN0aW9uIEEoTSl7cmV0dXJuKC9eKD86Ym9keXxodG1sKSQvaSkudGVzdChN LnRhZ05hbWUpO31mdW5jdGlvbiBGKE0pe3ZhciBOPU0uZ2V0RG9jdW1lbnQoKTty ZXR1cm4oIU4uY29tcGF0TW9kZXx8Ti5jb21wYXRNb2RlPT0iQ1NTMUNvbXBhdCIp P04uaHRtbDpOLmJvZHk7fX0pKCk7RWxlbWVudC5hbGlhcyh7cG9zaXRpb246InNl dFBvc2l0aW9uIn0pO1tXaW5kb3csRG9jdW1lbnQsRWxlbWVudF0uaW52b2tlKCJp bXBsZW1lbnQiLHtnZXRIZWlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRT aXplKCkueTt9LGdldFdpZHRoOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0U2l6 ZSgpLng7fSxnZXRTY3JvbGxUb3A6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRT Y3JvbGwoKS55O30sZ2V0U2Nyb2xsTGVmdDpmdW5jdGlvbigpe3JldHVybiB0aGlz LmdldFNjcm9sbCgpLng7fSxnZXRTY3JvbGxIZWlnaHQ6ZnVuY3Rpb24oKXtyZXR1 cm4gdGhpcy5nZXRTY3JvbGxTaXplKCkueTsKfSxnZXRTY3JvbGxXaWR0aDpmdW5j dGlvbigpe3JldHVybiB0aGlzLmdldFNjcm9sbFNpemUoKS54O30sZ2V0VG9wOmZ1 bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0UG9zaXRpb24oKS55O30sZ2V0TGVmdDpm dW5jdGlvbigpe3JldHVybiB0aGlzLmdldFBvc2l0aW9uKCkueDt9fSk7KGZ1bmN0 aW9uKCl7dmFyIEY9dGhpcy5GeD1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6W0NoYWlu LEV2ZW50cyxPcHRpb25zXSxvcHRpb25zOntmcHM6NjAsdW5pdDpmYWxzZSxkdXJh dGlvbjo1MDAsZnJhbWVzOm51bGwsZnJhbWVTa2lwOnRydWUsbGluazoiaWdub3Jl In0saW5pdGlhbGl6ZTpmdW5jdGlvbihHKXt0aGlzLnN1YmplY3Q9dGhpcy5zdWJq ZWN0fHx0aGlzO3RoaXMuc2V0T3B0aW9ucyhHKTt9LGdldFRyYW5zaXRpb246ZnVu Y3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oRyl7cmV0dXJuIC0oTWF0aC5jb3MoTWF0 aC5QSSpHKS0xKS8yO307fSxzdGVwOmZ1bmN0aW9uKEcpe2lmKHRoaXMub3B0aW9u cy5mcmFtZVNraXApe3ZhciBIPSh0aGlzLnRpbWUhPW51bGwpPyhHLXRoaXMudGlt ZSk6MCxJPUgvdGhpcy5mcmFtZUludGVydmFsOwp0aGlzLnRpbWU9Rzt0aGlzLmZy YW1lKz1JO31lbHNle3RoaXMuZnJhbWUrKzt9aWYodGhpcy5mcmFtZTx0aGlzLmZy YW1lcyl7dmFyIEo9dGhpcy50cmFuc2l0aW9uKHRoaXMuZnJhbWUvdGhpcy5mcmFt ZXMpO3RoaXMuc2V0KHRoaXMuY29tcHV0ZSh0aGlzLmZyb20sdGhpcy50byxKKSk7 fWVsc2V7dGhpcy5mcmFtZT10aGlzLmZyYW1lczt0aGlzLnNldCh0aGlzLmNvbXB1 dGUodGhpcy5mcm9tLHRoaXMudG8sMSkpO3RoaXMuc3RvcCgpO319LHNldDpmdW5j dGlvbihHKXtyZXR1cm4gRzt9LGNvbXB1dGU6ZnVuY3Rpb24oSSxILEcpe3JldHVy biBGLmNvbXB1dGUoSSxILEcpO30sY2hlY2s6ZnVuY3Rpb24oKXtpZighdGhpcy5p c1J1bm5pbmcoKSl7cmV0dXJuIHRydWU7fXN3aXRjaCh0aGlzLm9wdGlvbnMubGlu ayl7Y2FzZSJjYW5jZWwiOnRoaXMuY2FuY2VsKCk7cmV0dXJuIHRydWU7Y2FzZSJj aGFpbiI6dGhpcy5jaGFpbih0aGlzLmNhbGxlci5wYXNzKGFyZ3VtZW50cyx0aGlz KSk7CnJldHVybiBmYWxzZTt9cmV0dXJuIGZhbHNlO30sc3RhcnQ6ZnVuY3Rpb24o SyxKKXtpZighdGhpcy5jaGVjayhLLEopKXtyZXR1cm4gdGhpczt9dGhpcy5mcm9t PUs7dGhpcy50bz1KO3RoaXMuZnJhbWU9KHRoaXMub3B0aW9ucy5mcmFtZVNraXAp PzA6LTE7dGhpcy50aW1lPW51bGw7dGhpcy50cmFuc2l0aW9uPXRoaXMuZ2V0VHJh bnNpdGlvbigpO3ZhciBJPXRoaXMub3B0aW9ucy5mcmFtZXMsSD10aGlzLm9wdGlv bnMuZnBzLEc9dGhpcy5vcHRpb25zLmR1cmF0aW9uO3RoaXMuZHVyYXRpb249Ri5E dXJhdGlvbnNbR118fEcudG9JbnQoKTt0aGlzLmZyYW1lSW50ZXJ2YWw9MTAwMC9I O3RoaXMuZnJhbWVzPUl8fE1hdGgucm91bmQodGhpcy5kdXJhdGlvbi90aGlzLmZy YW1lSW50ZXJ2YWwpO3RoaXMuZmlyZUV2ZW50KCJzdGFydCIsdGhpcy5zdWJqZWN0 KTtCLmNhbGwodGhpcyxIKTtyZXR1cm4gdGhpczt9LHN0b3A6ZnVuY3Rpb24oKXtp Zih0aGlzLmlzUnVubmluZygpKXt0aGlzLnRpbWU9bnVsbDsKRC5jYWxsKHRoaXMs dGhpcy5vcHRpb25zLmZwcyk7aWYodGhpcy5mcmFtZXM9PXRoaXMuZnJhbWUpe3Ro aXMuZmlyZUV2ZW50KCJjb21wbGV0ZSIsdGhpcy5zdWJqZWN0KTtpZighdGhpcy5j YWxsQ2hhaW4oKSl7dGhpcy5maXJlRXZlbnQoImNoYWluQ29tcGxldGUiLHRoaXMu c3ViamVjdCk7fX1lbHNle3RoaXMuZmlyZUV2ZW50KCJzdG9wIix0aGlzLnN1Ympl Y3QpO319cmV0dXJuIHRoaXM7fSxjYW5jZWw6ZnVuY3Rpb24oKXtpZih0aGlzLmlz UnVubmluZygpKXt0aGlzLnRpbWU9bnVsbDtELmNhbGwodGhpcyx0aGlzLm9wdGlv bnMuZnBzKTt0aGlzLmZyYW1lPXRoaXMuZnJhbWVzO3RoaXMuZmlyZUV2ZW50KCJj YW5jZWwiLHRoaXMuc3ViamVjdCkuY2xlYXJDaGFpbigpO31yZXR1cm4gdGhpczt9 LHBhdXNlOmZ1bmN0aW9uKCl7aWYodGhpcy5pc1J1bm5pbmcoKSl7dGhpcy50aW1l PW51bGw7RC5jYWxsKHRoaXMsdGhpcy5vcHRpb25zLmZwcyk7fXJldHVybiB0aGlz O30scmVzdW1lOmZ1bmN0aW9uKCl7aWYoKHRoaXMuZnJhbWU8dGhpcy5mcmFtZXMp JiYhdGhpcy5pc1J1bm5pbmcoKSl7Qi5jYWxsKHRoaXMsdGhpcy5vcHRpb25zLmZw cyk7Cn1yZXR1cm4gdGhpczt9LGlzUnVubmluZzpmdW5jdGlvbigpe3ZhciBHPUVb dGhpcy5vcHRpb25zLmZwc107cmV0dXJuIEcmJkcuY29udGFpbnModGhpcyk7fX0p O0YuY29tcHV0ZT1mdW5jdGlvbihJLEgsRyl7cmV0dXJuKEgtSSkqRytJO307Ri5E

dXJhdGlvbnM9eyJzaG9ydCI6MjUwLG5vcm1hbDo1MDAsImxvbmciOjEwMDB9O3Zh ciBFPXt9LEM9e307dmFyIEE9ZnVuY3Rpb24oKXt2YXIgSD1EYXRlLm5vdygpO2Zv cih2YXIgST10aGlzLmxlbmd0aDtJLS07KXt2YXIgRz10aGlzW0ldO2lmKEcpe0cu c3RlcChIKTt9fX07dmFyIEI9ZnVuY3Rpb24oSCl7dmFyIEc9RVtIXXx8KEVbSF09 W10pO0cucHVzaCh0aGlzKTtpZighQ1tIXSl7Q1tIXT1BLnBlcmlvZGljYWwoTWF0 aC5yb3VuZCgxMDAwL0gpLEcpO319O3ZhciBEPWZ1bmN0aW9uKEgpe3ZhciBHPUVb SF07aWYoRyl7Ry5lcmFzZSh0aGlzKTtpZighRy5sZW5ndGgmJkNbSF0pe2RlbGV0 ZSBFW0hdO0NbSF09Y2xlYXJJbnRlcnZhbChDW0hdKTsKfX19O30pKCk7RnguQ1NT PW5ldyBDbGFzcyh7RXh0ZW5kczpGeCxwcmVwYXJlOmZ1bmN0aW9uKEMsRCxCKXtC PUFycmF5LmZyb20oQik7aWYoQlsxXT09bnVsbCl7QlsxXT1CWzBdO0JbMF09Qy5n ZXRTdHlsZShEKTt9dmFyIEE9Qi5tYXAodGhpcy5wYXJzZSk7cmV0dXJue2Zyb206 QVswXSx0bzpBWzFdfTt9LHBhcnNlOmZ1bmN0aW9uKEEpe0E9RnVuY3Rpb24uZnJv bShBKSgpO0E9KHR5cGVvZiBBPT0ic3RyaW5nIik/QS5zcGxpdCgiICIpOkFycmF5 LmZyb20oQSk7cmV0dXJuIEEubWFwKGZ1bmN0aW9uKEMpe0M9U3RyaW5nKEMpO3Zh ciBCPWZhbHNlO09iamVjdC5lYWNoKEZ4LkNTUy5QYXJzZXJzLGZ1bmN0aW9uKEYs RSl7aWYoQil7cmV0dXJuIDt9dmFyIEQ9Ri5wYXJzZShDKTtpZihEfHxEPT09MCl7 Qj17dmFsdWU6RCxwYXJzZXI6Rn07fX0pO0I9Qnx8e3ZhbHVlOkMscGFyc2VyOkZ4 LkNTUy5QYXJzZXJzLlN0cmluZ307cmV0dXJuIEI7fSk7fSxjb21wdXRlOmZ1bmN0 aW9uKEQsQyxCKXt2YXIgQT1bXTsKKE1hdGgubWluKEQubGVuZ3RoLEMubGVuZ3Ro KSkudGltZXMoZnVuY3Rpb24oRSl7QS5wdXNoKHt2YWx1ZTpEW0VdLnBhcnNlci5j b21wdXRlKERbRV0udmFsdWUsQ1tFXS52YWx1ZSxCKSxwYXJzZXI6RFtFXS5wYXJz ZXJ9KTt9KTtBLiRmYW1pbHk9RnVuY3Rpb24uZnJvbSgiZng6Y3NzOnZhbHVlIik7 cmV0dXJuIEE7fSxzZXJ2ZTpmdW5jdGlvbihDLEIpe2lmKHR5cGVPZihDKSE9ImZ4 OmNzczp2YWx1ZSIpe0M9dGhpcy5wYXJzZShDKTt9dmFyIEE9W107Qy5lYWNoKGZ1 bmN0aW9uKEQpe0E9QS5jb25jYXQoRC5wYXJzZXIuc2VydmUoRC52YWx1ZSxCKSk7 fSk7cmV0dXJuIEE7fSxyZW5kZXI6ZnVuY3Rpb24oQSxELEMsQil7QS5zZXRTdHls ZShELHRoaXMuc2VydmUoQyxCKSk7fSxzZWFyY2g6ZnVuY3Rpb24oQSl7aWYoRngu Q1NTLkNhY2hlW0FdKXtyZXR1cm4gRnguQ1NTLkNhY2hlW0FdO312YXIgQz17fSxC PW5ldyBSZWdFeHAoIl4iK0EuZXNjYXBlUmVnRXhwKCkrIiQiKTtBcnJheS5lYWNo KGRvY3VtZW50LnN0eWxlU2hlZXRzLGZ1bmN0aW9uKEYsRSl7dmFyIEQ9Ri5ocmVm OwppZihEJiZELmNvbnRhaW5zKCI6Ly8iKSYmIUQuY29udGFpbnMoZG9jdW1lbnQu ZG9tYWluKSl7cmV0dXJuIDt9dmFyIEc9Ri5ydWxlc3x8Ri5jc3NSdWxlcztBcnJh eS5lYWNoKEcsZnVuY3Rpb24oSixIKXtpZighSi5zdHlsZSl7cmV0dXJuIDt9dmFy IEk9KEouc2VsZWN0b3JUZXh0KT9KLnNlbGVjdG9yVGV4dC5yZXBsYWNlKC9eXHcr LyxmdW5jdGlvbihLKXtyZXR1cm4gSy50b0xvd2VyQ2FzZSgpO30pOm51bGw7aWYo IUl8fCFCLnRlc3QoSSkpe3JldHVybiA7fU9iamVjdC5lYWNoKEVsZW1lbnQuU3R5 bGVzLGZ1bmN0aW9uKEwsSyl7aWYoIUouc3R5bGVbS118fEVsZW1lbnQuU2hvcnRT dHlsZXNbS10pe3JldHVybiA7fUw9U3RyaW5nKEouc3R5bGVbS10pO0NbS109KCgv XnJnYi8pLnRlc3QoTCkpP0wucmdiVG9IZXgoKTpMO30pO30pO30pO3JldHVybiBG eC5DU1MuQ2FjaGVbQV09Qzt9fSk7RnguQ1NTLkNhY2hlPXt9O0Z4LkNTUy5QYXJz ZXJzPXtDb2xvcjp7cGFyc2U6ZnVuY3Rpb24oQSl7aWYoQS5tYXRjaCgvXiNbMC05 YS1mXXszLDZ9JC9pKSl7cmV0dXJuIEEuaGV4VG9SZ2IodHJ1ZSk7Cn1yZXR1cm4o KEE9QS5tYXRjaCgvKFxkKyksXHMqKFxkKyksXHMqKFxkKykvKSkpP1tBWzFdLEFb Ml0sQVszXV06ZmFsc2U7fSxjb21wdXRlOmZ1bmN0aW9uKEMsQixBKXtyZXR1cm4g Qy5tYXAoZnVuY3Rpb24oRSxEKXtyZXR1cm4gTWF0aC5yb3VuZChGeC5jb21wdXRl KENbRF0sQltEXSxBKSk7fSk7fSxzZXJ2ZTpmdW5jdGlvbihBKXtyZXR1cm4gQS5t YXAoTnVtYmVyKTt9fSxOdW1iZXI6e3BhcnNlOnBhcnNlRmxvYXQsY29tcHV0ZTpG eC5jb21wdXRlLHNlcnZlOmZ1bmN0aW9uKEIsQSl7cmV0dXJuKEEpP0IrQTpCO319 LFN0cmluZzp7cGFyc2U6RnVuY3Rpb24uZnJvbShmYWxzZSksY29tcHV0ZTpmdW5j dGlvbihCLEEpe3JldHVybiBBO30sc2VydmU6ZnVuY3Rpb24oQSl7cmV0dXJuIEE7 fX19O0Z4LkNTUy5QYXJzZXJzPW5ldyBIYXNoKEZ4LkNTUy5QYXJzZXJzKTtGeC5U d2Vlbj1uZXcgQ2xhc3Moe0V4dGVuZHM6RnguQ1NTLGluaXRpYWxpemU6ZnVuY3Rp b24oQixBKXt0aGlzLmVsZW1lbnQ9dGhpcy5zdWJqZWN0PWRvY3VtZW50LmlkKEIp Owp0aGlzLnBhcmVudChBKTt9LHNldDpmdW5jdGlvbihCLEEpe2lmKGFyZ3VtZW50 cy5sZW5ndGg9PTEpe0E9QjtCPXRoaXMucHJvcGVydHl8fHRoaXMub3B0aW9ucy5w cm9wZXJ0eTt9dGhpcy5yZW5kZXIodGhpcy5lbGVtZW50LEIsQSx0aGlzLm9wdGlv bnMudW5pdCk7cmV0dXJuIHRoaXM7fSxzdGFydDpmdW5jdGlvbihDLEUsRCl7aWYo IXRoaXMuY2hlY2soQyxFLEQpKXtyZXR1cm4gdGhpczt9dmFyIEI9QXJyYXkuZmxh dHRlbihhcmd1bWVudHMpO3RoaXMucHJvcGVydHk9dGhpcy5vcHRpb25zLnByb3Bl cnR5fHxCLnNoaWZ0KCk7dmFyIEE9dGhpcy5wcmVwYXJlKHRoaXMuZWxlbWVudCx0

aGlzLnByb3BlcnR5LEIpO3JldHVybiB0aGlzLnBhcmVudChBLmZyb20sQS50byk7 fX0pO0VsZW1lbnQuUHJvcGVydGllcy50d2Vlbj17c2V0OmZ1bmN0aW9uKEEpe3Ro aXMuZ2V0KCJ0d2VlbiIpLmNhbmNlbCgpLnNldE9wdGlvbnMoQSk7cmV0dXJuIHRo aXM7fSxnZXQ6ZnVuY3Rpb24oKXt2YXIgQT10aGlzLnJldHJpZXZlKCJ0d2VlbiIp OwppZighQSl7QT1uZXcgRnguVHdlZW4odGhpcyx7bGluazoiY2FuY2VsIn0pO3Ro aXMuc3RvcmUoInR3ZWVuIixBKTt9cmV0dXJuIEE7fX07RWxlbWVudC5pbXBsZW1l bnQoe3R3ZWVuOmZ1bmN0aW9uKEEsQyxCKXt0aGlzLmdldCgidHdlZW4iKS5zdGFy dChhcmd1bWVudHMpO3JldHVybiB0aGlzO30sZmFkZTpmdW5jdGlvbihDKXt2YXIg RT10aGlzLmdldCgidHdlZW4iKSxEPSJvcGFjaXR5IixBO0M9W0MsInRvZ2dsZSJd LnBpY2soKTtzd2l0Y2goQyl7Y2FzZSJpbiI6RS5zdGFydChELDEpO2JyZWFrO2Nh c2Uib3V0IjpFLnN0YXJ0KEQsMCk7YnJlYWs7Y2FzZSJzaG93IjpFLnNldChELDEp O2JyZWFrO2Nhc2UiaGlkZSI6RS5zZXQoRCwwKTticmVhaztjYXNlInRvZ2dsZSI6 dmFyIEI9dGhpcy5yZXRyaWV2ZSgiZmFkZTpmbGFnIix0aGlzLmdldCgib3BhY2l0 eSIpPT0xKTtFLnN0YXJ0KEQsKEIpPzA6MSk7dGhpcy5zdG9yZSgiZmFkZTpmbGFn IiwhQik7QT10cnVlO2JyZWFrO2RlZmF1bHQ6RS5zdGFydChELGFyZ3VtZW50cyk7 Cn1pZighQSl7dGhpcy5lbGltaW5hdGUoImZhZGU6ZmxhZyIpO31yZXR1cm4gdGhp czt9LGhpZ2hsaWdodDpmdW5jdGlvbihDLEEpe2lmKCFBKXtBPXRoaXMucmV0cmll dmUoImhpZ2hsaWdodDpvcmlnaW5hbCIsdGhpcy5nZXRTdHlsZSgiYmFja2dyb3Vu ZC1jb2xvciIpKTtBPShBPT0idHJhbnNwYXJlbnQiKT8iI2ZmZiI6QTt9dmFyIEI9 dGhpcy5nZXQoInR3ZWVuIik7Qi5zdGFydCgiYmFja2dyb3VuZC1jb2xvciIsQ3x8 IiNmZmZmODgiLEEpLmNoYWluKGZ1bmN0aW9uKCl7dGhpcy5zZXRTdHlsZSgiYmFj a2dyb3VuZC1jb2xvciIsdGhpcy5yZXRyaWV2ZSgiaGlnaGxpZ2h0Om9yaWdpbmFs IikpO0IuY2FsbENoYWluKCk7fS5iaW5kKHRoaXMpKTtyZXR1cm4gdGhpczt9fSk7 RnguTW9ycGg9bmV3IENsYXNzKHtFeHRlbmRzOkZ4LkNTUyxpbml0aWFsaXplOmZ1 bmN0aW9uKEIsQSl7dGhpcy5lbGVtZW50PXRoaXMuc3ViamVjdD1kb2N1bWVudC5p ZChCKTt0aGlzLnBhcmVudChBKTt9LHNldDpmdW5jdGlvbihBKXtpZih0eXBlb2Yg QT09InN0cmluZyIpe0E9dGhpcy5zZWFyY2goQSk7Cn1mb3IodmFyIEIgaW4gQSl7 dGhpcy5yZW5kZXIodGhpcy5lbGVtZW50LEIsQVtCXSx0aGlzLm9wdGlvbnMudW5p dCk7fXJldHVybiB0aGlzO30sY29tcHV0ZTpmdW5jdGlvbihFLEQsQyl7dmFyIEE9 e307Zm9yKHZhciBCIGluIEUpe0FbQl09dGhpcy5wYXJlbnQoRVtCXSxEW0JdLEMp O31yZXR1cm4gQTt9LHN0YXJ0OmZ1bmN0aW9uKEIpe2lmKCF0aGlzLmNoZWNrKEIp KXtyZXR1cm4gdGhpczt9aWYodHlwZW9mIEI9PSJzdHJpbmciKXtCPXRoaXMuc2Vh cmNoKEIpO312YXIgRT17fSxEPXt9O2Zvcih2YXIgQyBpbiBCKXt2YXIgQT10aGlz LnByZXBhcmUodGhpcy5lbGVtZW50LEMsQltDXSk7RVtDXT1BLmZyb207RFtDXT1B LnRvO31yZXR1cm4gdGhpcy5wYXJlbnQoRSxEKTt9fSk7RWxlbWVudC5Qcm9wZXJ0 aWVzLm1vcnBoPXtzZXQ6ZnVuY3Rpb24oQSl7dGhpcy5nZXQoIm1vcnBoIikuY2Fu Y2VsKCkuc2V0T3B0aW9ucyhBKTtyZXR1cm4gdGhpczt9LGdldDpmdW5jdGlvbigp e3ZhciBBPXRoaXMucmV0cmlldmUoIm1vcnBoIik7CmlmKCFBKXtBPW5ldyBGeC5N b3JwaCh0aGlzLHtsaW5rOiJjYW5jZWwifSk7dGhpcy5zdG9yZSgibW9ycGgiLEEp O31yZXR1cm4gQTt9fTtFbGVtZW50LmltcGxlbWVudCh7bW9ycGg6ZnVuY3Rpb24o QSl7dGhpcy5nZXQoIm1vcnBoIikuc3RhcnQoQSk7cmV0dXJuIHRoaXM7fX0pO0Z4 LmltcGxlbWVudCh7Z2V0VHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBBPXRoaXMu b3B0aW9ucy50cmFuc2l0aW9ufHxGeC5UcmFuc2l0aW9ucy5TaW5lLmVhc2VJbk91 dDtpZih0eXBlb2YgQT09InN0cmluZyIpe3ZhciBCPUEuc3BsaXQoIjoiKTtBPUZ4 LlRyYW5zaXRpb25zO0E9QVtCWzBdXXx8QVtCWzBdLmNhcGl0YWxpemUoKV07aWYo QlsxXSl7QT1BWyJlYXNlIitCWzFdLmNhcGl0YWxpemUoKSsoQlsyXT9CWzJdLmNh cGl0YWxpemUoKToiIildO319cmV0dXJuIEE7fX0pO0Z4LlRyYW5zaXRpb249ZnVu Y3Rpb24oQyxCKXtCPUFycmF5LmZyb20oQik7dmFyIEE9ZnVuY3Rpb24oRCl7cmV0 dXJuIEMoRCxCKTsKfTtyZXR1cm4gT2JqZWN0LmFwcGVuZChBLHtlYXNlSW46QSxl YXNlT3V0OmZ1bmN0aW9uKEQpe3JldHVybiAxLUMoMS1ELEIpO30sZWFzZUluT3V0 OmZ1bmN0aW9uKEQpe3JldHVybihEPD0wLjU/QygyKkQsQik6KDItQygyKigxLUQp LEIpKSkvMjt9fSk7fTtGeC5UcmFuc2l0aW9ucz17bGluZWFyOmZ1bmN0aW9uKEEp e3JldHVybiBBO319O0Z4LlRyYW5zaXRpb25zPW5ldyBIYXNoKEZ4LlRyYW5zaXRp b25zKTtGeC5UcmFuc2l0aW9ucy5leHRlbmQ9ZnVuY3Rpb24oQSl7Zm9yKHZhciBC IGluIEEpe0Z4LlRyYW5zaXRpb25zW0JdPW5ldyBGeC5UcmFuc2l0aW9uKEFbQl0p O319O0Z4LlRyYW5zaXRpb25zLmV4dGVuZCh7UG93OmZ1bmN0aW9uKEIsQSl7cmV0 dXJuIE1hdGgucG93KEIsQSYmQVswXXx8Nik7fSxFeHBvOmZ1bmN0aW9uKEEpe3Jl dHVybiBNYXRoLnBvdygyLDgqKEEtMSkpO30sQ2lyYzpmdW5jdGlvbihBKXtyZXR1 cm4gMS1NYXRoLnNpbihNYXRoLmFjb3MoQSkpO30sU2luZTpmdW5jdGlvbihBKXty ZXR1cm4gMS1NYXRoLmNvcyhBKk1hdGguUEkvMik7Cn0sQmFjazpmdW5jdGlvbihC

LEEpe0E9QSYmQVswXXx8MS42MTg7cmV0dXJuIE1hdGgucG93KEIsMikqKChBKzEp KkItQSk7fSxCb3VuY2U6ZnVuY3Rpb24oRCl7dmFyIEM7Zm9yKHZhciBCPTAsQT0x OzE7Qis9QSxBLz0yKXtpZihEPj0oNy00KkIpLzExKXtDPUEqQS1NYXRoLnBvdygo MTEtNipCLTExKkQpLzQsMik7YnJlYWs7fX1yZXR1cm4gQzt9LEVsYXN0aWM6ZnVu Y3Rpb24oQixBKXtyZXR1cm4gTWF0aC5wb3coMiwxMCotLUIpKk1hdGguY29zKDIw KkIqTWF0aC5QSSooQSYmQVswXXx8MSkvMyk7fX0pO1siUXVhZCIsIkN1YmljIiwi UXVhcnQiLCJRdWludCJdLmVhY2goZnVuY3Rpb24oQixBKXtGeC5UcmFuc2l0aW9u c1tCXT1uZXcgRnguVHJhbnNpdGlvbihmdW5jdGlvbihDKXtyZXR1cm4gTWF0aC5w b3coQyxBKzIpO30pO30pOyhmdW5jdGlvbigpe3ZhciBEPWZ1bmN0aW9uKCl7fSxB PSgib25wcm9ncmVzcyIgaW4gbmV3IEJyb3dzZXIuUmVxdWVzdCk7dmFyIEM9dGhp cy5SZXF1ZXN0PW5ldyBDbGFzcyh7SW1wbGVtZW50czpbQ2hhaW4sRXZlbnRzLE9w dGlvbnNdLG9wdGlvbnM6e3VybDoiIixkYXRhOiIiLGhlYWRlcnM6eyJYLVJlcXVl c3RlZC1XaXRoIjoiWE1MSHR0cFJlcXVlc3QiLEFjY2VwdDoidGV4dC9qYXZhc2Ny aXB0LCB0ZXh0L2h0bWwsIGFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwsICovKiJ9 LGFzeW5jOnRydWUsZm9ybWF0OmZhbHNlLG1ldGhvZDoicG9zdCIsbGluazoiaWdu b3JlIixpc1N1Y2Nlc3M6bnVsbCxlbXVsYXRpb246dHJ1ZSx1cmxFbmNvZGVkOnRy dWUsZW5jb2Rpbmc6InV0Zi04IixldmFsU2NyaXB0czpmYWxzZSxldmFsUmVzcG9u c2U6ZmFsc2UsdGltZW91dDowLG5vQ2FjaGU6ZmFsc2V9LGluaXRpYWxpemU6ZnVu Y3Rpb24oRSl7dGhpcy54aHI9bmV3IEJyb3dzZXIuUmVxdWVzdCgpOwp0aGlzLnNl dE9wdGlvbnMoRSk7dGhpcy5oZWFkZXJzPXRoaXMub3B0aW9ucy5oZWFkZXJzO30s b25TdGF0ZUNoYW5nZTpmdW5jdGlvbigpe3ZhciBFPXRoaXMueGhyO2lmKEUucmVh ZHlTdGF0ZSE9NHx8IXRoaXMucnVubmluZyl7cmV0dXJuIDt9dGhpcy5ydW5uaW5n PWZhbHNlO3RoaXMuc3RhdHVzPTA7RnVuY3Rpb24uYXR0ZW1wdChmdW5jdGlvbigp e3ZhciBGPUUuc3RhdHVzO3RoaXMuc3RhdHVzPShGPT0xMjIzKT8yMDQ6Rjt9LmJp bmQodGhpcykpO0Uub25yZWFkeXN0YXRlY2hhbmdlPUQ7aWYoQSl7RS5vbnByb2dy ZXNzPUUub25sb2Fkc3RhcnQ9RDt9Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO3Ro aXMucmVzcG9uc2U9e3RleHQ6dGhpcy54aHIucmVzcG9uc2VUZXh0fHwiIix4bWw6 dGhpcy54aHIucmVzcG9uc2VYTUx9O2lmKHRoaXMub3B0aW9ucy5pc1N1Y2Nlc3Mu Y2FsbCh0aGlzLHRoaXMuc3RhdHVzKSl7dGhpcy5zdWNjZXNzKHRoaXMucmVzcG9u c2UudGV4dCx0aGlzLnJlc3BvbnNlLnhtbCk7Cn1lbHNle3RoaXMuZmFpbHVyZSgp O319LGlzU3VjY2VzczpmdW5jdGlvbigpe3ZhciBFPXRoaXMuc3RhdHVzO3JldHVy bihFPj0yMDAmJkU8MzAwKTt9LGlzUnVubmluZzpmdW5jdGlvbigpe3JldHVybiAh IXRoaXMucnVubmluZzt9LHByb2Nlc3NTY3JpcHRzOmZ1bmN0aW9uKEUpe2lmKHRo aXMub3B0aW9ucy5ldmFsUmVzcG9uc2V8fCgvKGVjbWF8amF2YSlzY3JpcHQvKS50 ZXN0KHRoaXMuZ2V0SGVhZGVyKCJDb250ZW50LXR5cGUiKSkpe3JldHVybiBCcm93 c2VyLmV4ZWMoRSk7fXJldHVybiBFLnN0cmlwU2NyaXB0cyh0aGlzLm9wdGlvbnMu ZXZhbFNjcmlwdHMpO30sc3VjY2VzczpmdW5jdGlvbihGLEUpe3RoaXMub25TdWNj ZXNzKHRoaXMucHJvY2Vzc1NjcmlwdHMoRiksRSk7fSxvblN1Y2Nlc3M6ZnVuY3Rp b24oKXt0aGlzLmZpcmVFdmVudCgiY29tcGxldGUiLGFyZ3VtZW50cykuZmlyZUV2 ZW50KCJzdWNjZXNzIixhcmd1bWVudHMpLmNhbGxDaGFpbigpO30sZmFpbHVyZTpm dW5jdGlvbigpe3RoaXMub25GYWlsdXJlKCk7Cn0sb25GYWlsdXJlOmZ1bmN0aW9u KCl7dGhpcy5maXJlRXZlbnQoImNvbXBsZXRlIikuZmlyZUV2ZW50KCJmYWlsdXJl Iix0aGlzLnhocik7fSxsb2Fkc3RhcnQ6ZnVuY3Rpb24oRSl7dGhpcy5maXJlRXZl bnQoImxvYWRzdGFydCIsW0UsdGhpcy54aHJdKTt9LHByb2dyZXNzOmZ1bmN0aW9u KEUpe3RoaXMuZmlyZUV2ZW50KCJwcm9ncmVzcyIsW0UsdGhpcy54aHJdKTt9LHRp bWVvdXQ6ZnVuY3Rpb24oKXt0aGlzLmZpcmVFdmVudCgidGltZW91dCIsdGhpcy54 aHIpO30sc2V0SGVhZGVyOmZ1bmN0aW9uKEUsRil7dGhpcy5oZWFkZXJzW0VdPUY7 cmV0dXJuIHRoaXM7fSxnZXRIZWFkZXI6ZnVuY3Rpb24oRSl7cmV0dXJuIEZ1bmN0 aW9uLmF0dGVtcHQoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54aHIuZ2V0UmVzcG9u c2VIZWFkZXIoRSk7fS5iaW5kKHRoaXMpKTt9LGNoZWNrOmZ1bmN0aW9uKCl7aWYo IXRoaXMucnVubmluZyl7cmV0dXJuIHRydWU7fXN3aXRjaCh0aGlzLm9wdGlvbnMu bGluayl7Y2FzZSJjYW5jZWwiOnRoaXMuY2FuY2VsKCk7CnJldHVybiB0cnVlO2Nh c2UiY2hhaW4iOnRoaXMuY2hhaW4odGhpcy5jYWxsZXIucGFzcyhhcmd1bWVudHMs dGhpcykpO3JldHVybiBmYWxzZTt9cmV0dXJuIGZhbHNlO30sc2VuZDpmdW5jdGlv bihPKXtpZighdGhpcy5jaGVjayhPKSl7cmV0dXJuIHRoaXM7fXRoaXMub3B0aW9u cy5pc1N1Y2Nlc3M9dGhpcy5vcHRpb25zLmlzU3VjY2Vzc3x8dGhpcy5pc1N1Y2Nl c3M7dGhpcy5ydW5uaW5nPXRydWU7dmFyIEw9dHlwZU9mKE8pO2lmKEw9PSJzdHJp bmcifHxMPT0iZWxlbWVudCIpe089e2RhdGE6T307fXZhciBIPXRoaXMub3B0aW9u cztPPU9iamVjdC5hcHBlbmQoe2RhdGE6SC5kYXRhLHVybDpILnVybCxtZXRob2Q6 SC5tZXRob2R9LE8pO3ZhciBKPU8uZGF0YSxGPVN0cmluZyhPLnVybCksRT1PLm1l

dGhvZC50b0xvd2VyQ2FzZSgpO3N3aXRjaCh0eXBlT2YoSikpe2Nhc2UiZWxlbWVu dCI6Sj1kb2N1bWVudC5pZChKKS50b1F1ZXJ5U3RyaW5nKCk7YnJlYWs7Y2FzZSJv YmplY3QiOmNhc2UiaGFzaCI6Sj1PYmplY3QudG9RdWVyeVN0cmluZyhKKTsKfWlm KHRoaXMub3B0aW9ucy5mb3JtYXQpe3ZhciBNPSJmb3JtYXQ9Iit0aGlzLm9wdGlv bnMuZm9ybWF0O0o9KEopP00rIiYiK0o6TTt9aWYodGhpcy5vcHRpb25zLmVtdWxh dGlvbiYmIVsiZ2V0IiwicG9zdCJdLmNvbnRhaW5zKEUpKXt2YXIgSz0iX21ldGhv ZD0iK0U7Sj0oSik/SysiJiIrSjpLO0U9InBvc3QiO31pZih0aGlzLm9wdGlvbnMu dXJsRW5jb2RlZCYmWyJwb3N0IiwicHV0Il0uY29udGFpbnMoRSkpe3ZhciBHPSh0 aGlzLm9wdGlvbnMuZW5jb2RpbmcpPyI7IGNoYXJzZXQ9Iit0aGlzLm9wdGlvbnMu ZW5jb2Rpbmc6IiI7dGhpcy5oZWFkZXJzWyJDb250ZW50LXR5cGUiXT0iYXBwbGlj YXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIitHO31pZighRil7Rj1kb2N1bWVu dC5sb2NhdGlvbi5wYXRobmFtZTt9dmFyIEk9Ri5sYXN0SW5kZXhPZigiLyIpO2lm KEk+LTEmJihJPUYuaW5kZXhPZigiIyIpKT4tMSl7Rj1GLnN1YnN0cigwLEkpO31p Zih0aGlzLm9wdGlvbnMubm9DYWNoZSl7Ris9KEYuY29udGFpbnMoIj8iKT8iJiI6 Ij8iKStTdHJpbmcudW5pcXVlSUQoKTsKfWlmKEomJkU9PSJnZXQiKXtGKz0oRi5j b250YWlucygiPyIpPyImIjoiPyIpK0o7Sj1udWxsO312YXIgTj10aGlzLnhocjtp ZihBKXtOLm9ubG9hZHN0YXJ0PXRoaXMubG9hZHN0YXJ0LmJpbmQodGhpcyk7Ti5v bnByb2dyZXNzPXRoaXMucHJvZ3Jlc3MuYmluZCh0aGlzKTt9Ti5vcGVuKEUudG9V cHBlckNhc2UoKSxGLHRoaXMub3B0aW9ucy5hc3luYyx0aGlzLm9wdGlvbnMudXNl cix0aGlzLm9wdGlvbnMucGFzc3dvcmQpO2lmKHRoaXMub3B0aW9ucy51c2VyJiYi d2l0aENyZWRlbnRpYWxzIiBpbiBOKXtOLndpdGhDcmVkZW50aWFscz10cnVlO31O Lm9ucmVhZHlzdGF0ZWNoYW5nZT10aGlzLm9uU3RhdGVDaGFuZ2UuYmluZCh0aGlz KTtPYmplY3QuZWFjaCh0aGlzLmhlYWRlcnMsZnVuY3Rpb24oUSxQKXt0cnl7Ti5z ZXRSZXF1ZXN0SGVhZGVyKFAsUSk7fWNhdGNoKFIpe3RoaXMuZmlyZUV2ZW50KCJl eGNlcHRpb24iLFtQLFFdKTt9fSx0aGlzKTt0aGlzLmZpcmVFdmVudCgicmVxdWVz dCIpOwpOLnNlbmQoSik7aWYoIXRoaXMub3B0aW9ucy5hc3luYyl7dGhpcy5vblN0 YXRlQ2hhbmdlKCk7fWlmKHRoaXMub3B0aW9ucy50aW1lb3V0KXt0aGlzLnRpbWVy PXRoaXMudGltZW91dC5kZWxheSh0aGlzLm9wdGlvbnMudGltZW91dCx0aGlzKTt9 cmV0dXJuIHRoaXM7fSxjYW5jZWw6ZnVuY3Rpb24oKXtpZighdGhpcy5ydW5uaW5n KXtyZXR1cm4gdGhpczt9dGhpcy5ydW5uaW5nPWZhbHNlO3ZhciBFPXRoaXMueGhy O0UuYWJvcnQoKTtjbGVhclRpbWVvdXQodGhpcy50aW1lcik7RS5vbnJlYWR5c3Rh dGVjaGFuZ2U9RDtpZihBKXtFLm9ucHJvZ3Jlc3M9RS5vbmxvYWRzdGFydD1EO310 aGlzLnhocj1uZXcgQnJvd3Nlci5SZXF1ZXN0KCk7dGhpcy5maXJlRXZlbnQoImNh bmNlbCIpO3JldHVybiB0aGlzO319KTt2YXIgQj17fTtbImdldCIsInBvc3QiLCJw dXQiLCJkZWxldGUiLCJHRVQiLCJQT1NUIiwiUFVUIiwiREVMRVRFIl0uZWFjaChm dW5jdGlvbihFKXtCW0VdPWZ1bmN0aW9uKEcpe3ZhciBGPXttZXRob2Q6RX07Cmlm KEchPW51bGwpe0YuZGF0YT1HO31yZXR1cm4gdGhpcy5zZW5kKEYpO307fSk7Qy5p bXBsZW1lbnQoQik7RWxlbWVudC5Qcm9wZXJ0aWVzLnNlbmQ9e3NldDpmdW5jdGlv bihFKXt2YXIgRj10aGlzLmdldCgic2VuZCIpLmNhbmNlbCgpO0Yuc2V0T3B0aW9u cyhFKTtyZXR1cm4gdGhpczt9LGdldDpmdW5jdGlvbigpe3ZhciBFPXRoaXMucmV0 cmlldmUoInNlbmQiKTtpZighRSl7RT1uZXcgQyh7ZGF0YTp0aGlzLGxpbms6ImNh bmNlbCIsbWV0aG9kOnRoaXMuZ2V0KCJtZXRob2QiKXx8InBvc3QiLHVybDp0aGlz LmdldCgiYWN0aW9uIil9KTt0aGlzLnN0b3JlKCJzZW5kIixFKTt9cmV0dXJuIEU7 fX07RWxlbWVudC5pbXBsZW1lbnQoe3NlbmQ6ZnVuY3Rpb24oRSl7dmFyIEY9dGhp cy5nZXQoInNlbmQiKTtGLnNlbmQoe2RhdGE6dGhpcyx1cmw6RXx8Ri5vcHRpb25z LnVybH0pO3JldHVybiB0aGlzO319KTt9KSgpO1JlcXVlc3QuSFRNTD1uZXcgQ2xh c3Moe0V4dGVuZHM6UmVxdWVzdCxvcHRpb25zOnt1cGRhdGU6ZmFsc2UsYXBwZW5k OmZhbHNlLGV2YWxTY3JpcHRzOnRydWUsZmlsdGVyOmZhbHNlLGhlYWRlcnM6e0Fj Y2VwdDoidGV4dC9odG1sLCBhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sLCAqLyoi fX0sc3VjY2VzczpmdW5jdGlvbihFKXt2YXIgRD10aGlzLm9wdGlvbnMsQj10aGlz LnJlc3BvbnNlOwpCLmh0bWw9RS5zdHJpcFNjcmlwdHMoZnVuY3Rpb24oRil7Qi5q YXZhc2NyaXB0PUY7fSk7dmFyIEM9Qi5odG1sLm1hdGNoKC88Ym9keVtePl0qPihb XHNcU10qPyk8XC9ib2R5Pi9pKTtpZihDKXtCLmh0bWw9Q1sxXTt9dmFyIEE9bmV3 IEVsZW1lbnQoImRpdiIpLnNldCgiaHRtbCIsQi5odG1sKTtCLnRyZWU9QS5jaGls ZE5vZGVzO0IuZWxlbWVudHM9QS5nZXRFbGVtZW50cygiKiIpO2lmKEQuZmlsdGVy KXtCLnRyZWU9Qi5lbGVtZW50cy5maWx0ZXIoRC5maWx0ZXIpO31pZihELnVwZGF0 ZSl7ZG9jdW1lbnQuaWQoRC51cGRhdGUpLmVtcHR5KCkuc2V0KCJodG1sIixCLmh0 bWwpO31lbHNle2lmKEQuYXBwZW5kKXtkb2N1bWVudC5pZChELmFwcGVuZCkuYWRv cHQoQS5nZXRDaGlsZHJlbigpKTt9fWlmKEQuZXZhbFNjcmlwdHMpe0Jyb3dzZXIu ZXhlYyhCLmphdmFzY3JpcHQpO310aGlzLm9uU3VjY2VzcyhCLnRyZWUsQi5lbGVt

ZW50cyxCLmh0bWwsQi5qYXZhc2NyaXB0KTt9fSk7RWxlbWVudC5Qcm9wZXJ0aWVz LmxvYWQ9e3NldDpmdW5jdGlvbihBKXt2YXIgQj10aGlzLmdldCgibG9hZCIpLmNh bmNlbCgpOwpCLnNldE9wdGlvbnMoQSk7cmV0dXJuIHRoaXM7fSxnZXQ6ZnVuY3Rp b24oKXt2YXIgQT10aGlzLnJldHJpZXZlKCJsb2FkIik7aWYoIUEpe0E9bmV3IFJl cXVlc3QuSFRNTCh7ZGF0YTp0aGlzLGxpbms6ImNhbmNlbCIsdXBkYXRlOnRoaXMs bWV0aG9kOiJnZXQifSk7dGhpcy5zdG9yZSgibG9hZCIsQSk7fXJldHVybiBBO319 O0VsZW1lbnQuaW1wbGVtZW50KHtsb2FkOmZ1bmN0aW9uKCl7dGhpcy5nZXQoImxv YWQiKS5zZW5kKEFycmF5LmxpbmsoYXJndW1lbnRzLHtkYXRhOlR5cGUuaXNPYmpl Y3QsdXJsOlR5cGUuaXNTdHJpbmd9KSk7cmV0dXJuIHRoaXM7fX0pO2lmKHR5cGVv ZiBKU09OPT0idW5kZWZpbmVkIil7dGhpcy5KU09OPXt9O31KU09OPW5ldyBIYXNo KHtzdHJpbmdpZnk6SlNPTi5zdHJpbmdpZnkscGFyc2U6SlNPTi5wYXJzZX0pOyhm dW5jdGlvbigpe3ZhciBzcGVjaWFsPXsiXGIiOiJcXGIiLCJcdCI6IlxcdCIsIlxu IjoiXFxuIiwiXGYiOiJcXGYiLCJcciI6IlxcciIsJyInOidcXCInLCJcXCI6Ilxc XFwifTsKdmFyIGVzY2FwZT1mdW5jdGlvbihjaHIpe3JldHVybiBzcGVjaWFsW2No cl18fCJcXHUiKygiMDAwMCIrY2hyLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYp KS5zbGljZSgtNCk7fTtKU09OLnZhbGlkYXRlPWZ1bmN0aW9uKHN0cmluZyl7c3Ry aW5nPXN0cmluZy5yZXBsYWNlKC9cXCg/OlsiXFxcL2JmbnJ0XXx1WzAtOWEtZkEt Rl17NH0pL2csIkAiKS5yZXBsYWNlKC8iW14iXFxcblxyXSoifHRydWV8ZmFsc2V8 bnVsbHwtP1xkKyg/OlwuXGQqKT8oPzpbZUVdWytcLV0/XGQrKT8vZywiXSIpLnJl cGxhY2UoLyg/Ol58OnwsKSg/OlxzKlxbKSsvZywiIik7cmV0dXJuKC9eW1xdLDp7 fVxzXSokLykudGVzdChzdHJpbmcpO307SlNPTi5lbmNvZGU9SlNPTi5zdHJpbmdp Znk/ZnVuY3Rpb24ob2JqKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKTt9OmZ1 bmN0aW9uKG9iail7aWYob2JqJiZvYmoudG9KU09OKXtvYmo9b2JqLnRvSlNPTigp O31zd2l0Y2godHlwZU9mKG9iaikpe2Nhc2Uic3RyaW5nIjpyZXR1cm4nIicrb2Jq LnJlcGxhY2UoL1tceDAwLVx4MWZcXCJdL2csZXNjYXBlKSsnIic7CmNhc2UiYXJy YXkiOnJldHVybiJbIitvYmoubWFwKEpTT04uZW5jb2RlKS5jbGVhbigpKyJdIjtj YXNlIm9iamVjdCI6Y2FzZSJoYXNoIjp2YXIgc3RyaW5nPVtdO09iamVjdC5lYWNo KG9iaixmdW5jdGlvbih2YWx1ZSxrZXkpe3ZhciBqc29uPUpTT04uZW5jb2RlKHZh bHVlKTtpZihqc29uKXtzdHJpbmcucHVzaChKU09OLmVuY29kZShrZXkpKyI6Iitq c29uKTt9fSk7cmV0dXJuInsiK3N0cmluZysifSI7Y2FzZSJudW1iZXIiOmNhc2Ui Ym9vbGVhbiI6cmV0dXJuIiIrb2JqO2Nhc2UibnVsbCI6cmV0dXJuIm51bGwiO31y ZXR1cm4gbnVsbDt9O0pTT04uZGVjb2RlPWZ1bmN0aW9uKHN0cmluZyxzZWN1cmUp e2lmKCFzdHJpbmd8fHR5cGVPZihzdHJpbmcpIT0ic3RyaW5nIil7cmV0dXJuIG51 bGw7fWlmKHNlY3VyZXx8SlNPTi5zZWN1cmUpe2lmKEpTT04ucGFyc2Upe3JldHVy biBKU09OLnBhcnNlKHN0cmluZyk7fWlmKCFKU09OLnZhbGlkYXRlKHN0cmluZykp e3Rocm93IG5ldyBFcnJvcigiSlNPTiBjb3VsZCBub3QgZGVjb2RlIHRoZSBpbnB1 dDsgc2VjdXJpdHkgaXMgZW5hYmxlZCBhbmQgdGhlIHZhbHVlIGlzIG5vdCBzZWN1 cmUuIik7Cn19cmV0dXJuIGV2YWwoIigiK3N0cmluZysiKSIpO307fSkoKTtSZXF1 ZXN0LkpTT049bmV3IENsYXNzKHtFeHRlbmRzOlJlcXVlc3Qsb3B0aW9uczp7c2Vj dXJlOnRydWV9LGluaXRpYWxpemU6ZnVuY3Rpb24oQSl7dGhpcy5wYXJlbnQoQSk7 T2JqZWN0LmFwcGVuZCh0aGlzLmhlYWRlcnMse0FjY2VwdDoiYXBwbGljYXRpb24v anNvbiIsIlgtUmVxdWVzdCI6IkpTT04ifSk7fSxzdWNjZXNzOmZ1bmN0aW9uKEMp e3ZhciBCO3RyeXtCPXRoaXMucmVzcG9uc2UuanNvbj1KU09OLmRlY29kZShDLHRo aXMub3B0aW9ucy5zZWN1cmUpO31jYXRjaChBKXt0aGlzLmZpcmVFdmVudCgiZXJy b3IiLFtDLEFdKTtyZXR1cm4gO31pZihCPT1udWxsKXt0aGlzLm9uRmFpbHVyZSgp O31lbHNle3RoaXMub25TdWNjZXNzKEIsQyk7fX19KTt2YXIgQ29va2llPW5ldyBD bGFzcyh7SW1wbGVtZW50czpPcHRpb25zLG9wdGlvbnM6e3BhdGg6Ii8iLGRvbWFp bjpmYWxzZSxkdXJhdGlvbjpmYWxzZSxzZWN1cmU6ZmFsc2UsZG9jdW1lbnQ6ZG9j dW1lbnQsZW5jb2RlOnRydWV9LGluaXRpYWxpemU6ZnVuY3Rpb24oQixBKXt0aGlz LmtleT1COwp0aGlzLnNldE9wdGlvbnMoQSk7fSx3cml0ZTpmdW5jdGlvbihCKXtp Zih0aGlzLm9wdGlvbnMuZW5jb2RlKXtCPWVuY29kZVVSSUNvbXBvbmVudChCKTt9 aWYodGhpcy5vcHRpb25zLmRvbWFpbil7Qis9IjsgZG9tYWluPSIrdGhpcy5vcHRp b25zLmRvbWFpbjt9aWYodGhpcy5vcHRpb25zLnBhdGgpe0IrPSI7IHBhdGg9Iit0 aGlzLm9wdGlvbnMucGF0aDt9aWYodGhpcy5vcHRpb25zLmR1cmF0aW9uKXt2YXIg QT1uZXcgRGF0ZSgpO0Euc2V0VGltZShBLmdldFRpbWUoKSt0aGlzLm9wdGlvbnMu ZHVyYXRpb24qMjQqNjAqNjAqMTAwMCk7Qis9IjsgZXhwaXJlcz0iK0EudG9HTVRT dHJpbmcoKTt9aWYodGhpcy5vcHRpb25zLnNlY3VyZSl7Qis9Ijsgc2VjdXJlIjt9 dGhpcy5vcHRpb25zLmRvY3VtZW50LmNvb2tpZT10aGlzLmtleSsiPSIrQjtyZXR1 cm4gdGhpczt9LHJlYWQ6ZnVuY3Rpb24oKXt2YXIgQT10aGlzLm9wdGlvbnMuZG9j dW1lbnQuY29va2llLm1hdGNoKCIoPzpefDspXFxzKiIrdGhpcy5rZXkuZXNjYXBl

UmVnRXhwKCkrIj0oW147XSopIik7CnJldHVybihBKT9kZWNvZGVVUklDb21wb25l bnQoQVsxXSk6bnVsbDt9LGRpc3Bvc2U6ZnVuY3Rpb24oKXtuZXcgQ29va2llKHRo aXMua2V5LE9iamVjdC5tZXJnZSh7fSx0aGlzLm9wdGlvbnMse2R1cmF0aW9uOi0x fSkpLndyaXRlKCIiKTtyZXR1cm4gdGhpczt9fSk7Q29va2llLndyaXRlPWZ1bmN0 aW9uKEIsQyxBKXtyZXR1cm4gbmV3IENvb2tpZShCLEEpLndyaXRlKEMpO307Q29v a2llLnJlYWQ9ZnVuY3Rpb24oQSl7cmV0dXJuIG5ldyBDb29raWUoQSkucmVhZCgp O307Q29va2llLmRpc3Bvc2U9ZnVuY3Rpb24oQixBKXtyZXR1cm4gbmV3IENvb2tp ZShCLEEpLmRpc3Bvc2UoKTt9OyhmdW5jdGlvbihJLEspe3ZhciBMLEYsRT1bXSxD LEIsRD1LLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3ZhciBHPWZ1bmN0aW9uKCl7Y2xl YXJUaW1lb3V0KEIpO2lmKEwpe3JldHVybiA7fUJyb3dzZXIubG9hZGVkPUw9dHJ1 ZTtLLnJlbW92ZUxpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixHKS5yZW1vdmVM aXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsQSk7CksuZmlyZUV2ZW50KCJkb21y ZWFkeSIpO0kuZmlyZUV2ZW50KCJkb21yZWFkeSIpO307dmFyIEE9ZnVuY3Rpb24o KXtmb3IodmFyIE09RS5sZW5ndGg7TS0tOyl7aWYoRVtNXSgpKXtHKCk7cmV0dXJu IHRydWU7fX1yZXR1cm4gZmFsc2U7fTt2YXIgSj1mdW5jdGlvbigpe2NsZWFyVGlt ZW91dChCKTtpZighQSgpKXtCPXNldFRpbWVvdXQoSiwxMCk7fX07Sy5hZGRMaXN0 ZW5lcigiRE9NQ29udGVudExvYWRlZCIsRyk7dmFyIEg9ZnVuY3Rpb24oKXt0cnl7 RC5kb1Njcm9sbCgpO3JldHVybiB0cnVlO31jYXRjaChNKXt9cmV0dXJuIGZhbHNl O307aWYoRC5kb1Njcm9sbCYmIUgoKSl7RS5wdXNoKEgpO0M9dHJ1ZTt9aWYoSy5y ZWFkeVN0YXRlKXtFLnB1c2goZnVuY3Rpb24oKXt2YXIgTT1LLnJlYWR5U3RhdGU7 cmV0dXJuKE09PSJsb2FkZWQifHxNPT0iY29tcGxldGUiKTt9KTt9aWYoIm9ucmVh ZHlzdGF0ZWNoYW5nZSIgaW4gSyl7Sy5hZGRMaXN0ZW5lcigicmVhZHlzdGF0ZWNo YW5nZSIsQSk7Cn1lbHNle0M9dHJ1ZTt9aWYoQyl7SigpO31FbGVtZW50LkV2ZW50 cy5kb21yZWFkeT17b25BZGQ6ZnVuY3Rpb24oTSl7aWYoTCl7TS5jYWxsKHRoaXMp O319fTtFbGVtZW50LkV2ZW50cy5sb2FkPXtiYXNlOiJsb2FkIixvbkFkZDpmdW5j dGlvbihNKXtpZihGJiZ0aGlzPT1JKXtNLmNhbGwodGhpcyk7fX0sY29uZGl0aW9u OmZ1bmN0aW9uKCl7aWYodGhpcz09SSl7RygpO2RlbGV0ZSBFbGVtZW50LkV2ZW50 cy5sb2FkO31yZXR1cm4gdHJ1ZTt9fTtJLmFkZEV2ZW50KCJsb2FkIixmdW5jdGlv bigpe0Y9dHJ1ZTt9KTt9KSh3aW5kb3csZG9jdW1lbnQpOyhmdW5jdGlvbigpe3Zh ciBTd2lmZj10aGlzLlN3aWZmPW5ldyBDbGFzcyh7SW1wbGVtZW50czpPcHRpb25z LG9wdGlvbnM6e2lkOm51bGwsaGVpZ2h0OjEsd2lkdGg6MSxjb250YWluZXI6bnVs bCxwcm9wZXJ0aWVzOnt9LHBhcmFtczp7cXVhbGl0eToiaGlnaCIsYWxsb3dTY3Jp cHRBY2Nlc3M6ImFsd2F5cyIsd01vZGU6IndpbmRvdyIsc3dMaXZlQ29ubmVjdDp0 cnVlfSxjYWxsQmFja3M6e30sdmFyczp7fX0sdG9FbGVtZW50OmZ1bmN0aW9uKCl7 cmV0dXJuIHRoaXMub2JqZWN0Owp9LGluaXRpYWxpemU6ZnVuY3Rpb24ocGF0aCxv cHRpb25zKXt0aGlzLmluc3RhbmNlPSJTd2lmZl8iK1N0cmluZy51bmlxdWVJRCgp O3RoaXMuc2V0T3B0aW9ucyhvcHRpb25zKTtvcHRpb25zPXRoaXMub3B0aW9uczt2 YXIgaWQ9dGhpcy5pZD1vcHRpb25zLmlkfHx0aGlzLmluc3RhbmNlO3ZhciBjb250 YWluZXI9ZG9jdW1lbnQuaWQob3B0aW9ucy5jb250YWluZXIpO1N3aWZmLkNhbGxC YWNrc1t0aGlzLmluc3RhbmNlXT17fTt2YXIgcGFyYW1zPW9wdGlvbnMucGFyYW1z LHZhcnM9b3B0aW9ucy52YXJzLGNhbGxCYWNrcz1vcHRpb25zLmNhbGxCYWNrczt2 YXIgcHJvcGVydGllcz1PYmplY3QuYXBwZW5kKHtoZWlnaHQ6b3B0aW9ucy5oZWln aHQsd2lkdGg6b3B0aW9ucy53aWR0aH0sb3B0aW9ucy5wcm9wZXJ0aWVzKTt2YXIg c2VsZj10aGlzO2Zvcih2YXIgY2FsbEJhY2sgaW4gY2FsbEJhY2tzKXtTd2lmZi5D YWxsQmFja3NbdGhpcy5pbnN0YW5jZV1bY2FsbEJhY2tdPShmdW5jdGlvbihvcHRp b24pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBvcHRpb24uYXBwbHkoc2VsZi5v YmplY3QsYXJndW1lbnRzKTsKfTt9KShjYWxsQmFja3NbY2FsbEJhY2tdKTt2YXJz W2NhbGxCYWNrXT0iU3dpZmYuQ2FsbEJhY2tzLiIrdGhpcy5pbnN0YW5jZSsiLiIr Y2FsbEJhY2s7fXBhcmFtcy5mbGFzaFZhcnM9T2JqZWN0LnRvUXVlcnlTdHJpbmco dmFycyk7aWYoQnJvd3Nlci5pZSl7cHJvcGVydGllcy5jbGFzc2lkPSJjbHNpZDpE MjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiO3BhcmFtcy5tb3Zp ZT1wYXRoO31lbHNle3Byb3BlcnRpZXMudHlwZT0iYXBwbGljYXRpb24veC1zaG9j a3dhdmUtZmxhc2giO31wcm9wZXJ0aWVzLmRhdGE9cGF0aDt2YXIgYnVpbGQ9Jzxv YmplY3QgaWQ9IicraWQrJyInO2Zvcih2YXIgcHJvcGVydHkgaW4gcHJvcGVydGll cyl7YnVpbGQrPSIgIitwcm9wZXJ0eSsnPSInK3Byb3BlcnRpZXNbcHJvcGVydHld KyciJzt9YnVpbGQrPSI+Ijtmb3IodmFyIHBhcmFtIGluIHBhcmFtcyl7aWYocGFy YW1zW3BhcmFtXSl7YnVpbGQrPSc8cGFyYW0gbmFtZT0iJytwYXJhbSsnIiB2YWx1 ZT0iJytwYXJhbXNbcGFyYW1dKyciIC8+JzsKfX1idWlsZCs9Ijwvb2JqZWN0PiI7 dGhpcy5vYmplY3Q9KChjb250YWluZXIpP2NvbnRhaW5lci5lbXB0eSgpOm5ldyBF bGVtZW50KCJkaXYiKSkuc2V0KCJodG1sIixidWlsZCkuZmlyc3RDaGlsZDt9LHJl

cGxhY2VzOmZ1bmN0aW9uKGVsZW1lbnQpe2VsZW1lbnQ9ZG9jdW1lbnQuaWQoZWxl bWVudCx0cnVlKTtlbGVtZW50LnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHRoaXMu dG9FbGVtZW50KCksZWxlbWVudCk7cmV0dXJuIHRoaXM7fSxpbmplY3Q6ZnVuY3Rp b24oZWxlbWVudCl7ZG9jdW1lbnQuaWQoZWxlbWVudCx0cnVlKS5hcHBlbmRDaGls ZCh0aGlzLnRvRWxlbWVudCgpKTtyZXR1cm4gdGhpczt9LHJlbW90ZTpmdW5jdGlv bigpe3JldHVybiBTd2lmZi5yZW1vdGUuYXBwbHkoU3dpZmYsW3RoaXMudG9FbGVt ZW50KCldLmFwcGVuZChhcmd1bWVudHMpKTt9fSk7U3dpZmYuQ2FsbEJhY2tzPXt9 O1N3aWZmLnJlbW90ZT1mdW5jdGlvbihvYmosZm4pe3ZhciBycz1vYmouQ2FsbEZ1 bmN0aW9uKCc8aW52b2tlIG5hbWU9IicrZm4rJyIgcmV0dXJudHlwZT0iamF2YXNj cmlwdCI+JytfX2ZsYXNoX19hcmd1bWVudHNUb1hNTChhcmd1bWVudHMsMikrIjwv aW52b2tlPiIpOwpyZXR1cm4gZXZhbChycyk7fTt9KSgpO01vb1Rvb2xzLk1vcmU9 e3ZlcnNpb246IjEuMy4yLjEiLGJ1aWxkOiJlNTg2YmNkMjQ5NmU5YjIyYWNmZGUz MmUxMmY4NGQ0OWNlMDllNTlkIn07RXZlbnRzLlBzZXVkb3M9ZnVuY3Rpb24oRyxD LEUpe3ZhciBCPSJtb25pdG9yRXZlbnRzOiI7dmFyIEE9ZnVuY3Rpb24oSCl7cmV0 dXJue3N0b3JlOkguc3RvcmU/ZnVuY3Rpb24oSSxKKXtILnN0b3JlKEIrSSxKKTt9 OmZ1bmN0aW9uKEksSil7KEguJG1vbml0b3JFdmVudHN8fChILiRtb25pdG9yRXZl bnRzPXt9KSlbSV09Sjt9LHJldHJpZXZlOkgucmV0cmlldmU/ZnVuY3Rpb24oSSxK KXtyZXR1cm4gSC5yZXRyaWV2ZShCK0ksSik7fTpmdW5jdGlvbihJLEope2lmKCFI LiRtb25pdG9yRXZlbnRzKXtyZXR1cm4gSjt9cmV0dXJuIEguJG1vbml0b3JFdmVu dHNbSV18fEo7fX07fTt2YXIgRj1mdW5jdGlvbihKKXtpZihKLmluZGV4T2YoIjoi KT09LTF8fCFHKXtyZXR1cm4gbnVsbDt9dmFyIEk9U2xpY2sucGFyc2UoSikuZXhw cmVzc2lvbnNbMF1bMF0sTD1JLnBzZXVkb3MsSD1MLmxlbmd0aCxLPVtdOwp3aGls ZShILS0pe2lmKEdbTFtIXS5rZXldKXtLLnB1c2goe2V2ZW50OkkudGFnLHZhbHVl OkxbSF0udmFsdWUscHNldWRvOkxbSF0ua2V5LG9yaWdpbmFsOkp9KTt9fXJldHVy biBLLmxlbmd0aD9LOm51bGw7fTt2YXIgRD1mdW5jdGlvbihIKXtyZXR1cm4gT2Jq ZWN0Lm1lcmdlLmFwcGx5KHRoaXMsSC5tYXAoZnVuY3Rpb24oSSl7cmV0dXJuIEdb SS5wc2V1ZG9dLm9wdGlvbnN8fHt9O30pKTt9O3JldHVybnthZGRFdmVudDpmdW5j dGlvbihNLFAsSil7dmFyIE49RihNKTtpZighTil7cmV0dXJuIEMuY2FsbCh0aGlz LE0sUCxKKTt9dmFyIEs9QSh0aGlzKSxTPUsucmV0cmlldmUoTSxbXSksSD1OWzBd LmV2ZW50LFQ9RChOKSxPPVAsST1UW0hdfHx7fSxMPUFycmF5LnNsaWNlKGFyZ3Vt ZW50cywyKSxSPXRoaXMsUTtpZihJLmFyZ3Mpe0wuYXBwZW5kKEFycmF5LmZyb20o SS5hcmdzKSk7fWlmKEkuYmFzZSl7SD1JLmJhc2U7fWlmKEkub25BZGQpe0kub25B ZGQodGhpcyk7fU4uZWFjaChmdW5jdGlvbihVKXt2YXIgVj1POwpPPWZ1bmN0aW9u KCl7KEkubGlzdGVuZXJ8fEdbVS5wc2V1ZG9dLmxpc3RlbmVyKS5jYWxsKFIsVSxW LGFyZ3VtZW50cyxRLFQpO307fSk7UT1PLmJpbmQodGhpcyk7Uy5pbmNsdWRlKHtl dmVudDpQLG1vbml0b3I6UX0pO0suc3RvcmUoTSxTKTtDLmFwcGx5KHRoaXMsW00s UF0uY29uY2F0KEwpKTtyZXR1cm4gQy5hcHBseSh0aGlzLFtILFFdLmNvbmNhdChM KSk7fSxyZW1vdmVFdmVudDpmdW5jdGlvbihMLE4pe3ZhciBNPUYoTCk7aWYoIU0p e3JldHVybiBFLmNhbGwodGhpcyxMLE4pO312YXIgSj1BKHRoaXMpLE89Si5yZXRy aWV2ZShMKTtpZighTyl7cmV0dXJuIHRoaXM7fXZhciBIPU1bMF0uZXZlbnQsUD1E KE0pLEk9UFtIXXx8e30sSz1BcnJheS5zbGljZShhcmd1bWVudHMsMik7aWYoSS5h cmdzKXtLLmFwcGVuZChBcnJheS5mcm9tKEkuYXJncykpO31pZihJLmJhc2Upe0g9 SS5iYXNlO31pZihJLm9uUmVtb3ZlKXtJLm9uUmVtb3ZlKHRoaXMpO31FLmFwcGx5 KHRoaXMsW0wsTl0uY29uY2F0KEspKTsKTy5lYWNoKGZ1bmN0aW9uKFEsUil7aWYo IU58fFEuZXZlbnQ9PU4pe0UuYXBwbHkodGhpcyxbSCxRLm1vbml0b3JdLmNvbmNh dChLKSk7fWRlbGV0ZSBPW1JdO30sdGhpcyk7Si5zdG9yZShMLE8pO3JldHVybiB0 aGlzO319O307KGZ1bmN0aW9uKCl7dmFyIEI9e29uY2U6e2xpc3RlbmVyOmZ1bmN0 aW9uKEUsRixELEMpe0YuYXBwbHkodGhpcyxEKTt0aGlzLnJlbW92ZUV2ZW50KEUu ZXZlbnQsQykucmVtb3ZlRXZlbnQoRS5vcmlnaW5hbCxGKTt9fSx0aHJvdHRsZTp7 bGlzdGVuZXI6ZnVuY3Rpb24oRCxFLEMpe2lmKCFFLl90aHJvdHRsZWQpe0UuYXBw bHkodGhpcyxDKTtFLl90aHJvdHRsZWQ9c2V0VGltZW91dChmdW5jdGlvbigpe0Uu X3Rocm90dGxlZD1mYWxzZTt9LEQudmFsdWV8fDI1MCk7fX19LHBhdXNlOntsaXN0 ZW5lcjpmdW5jdGlvbihELEUsQyl7Y2xlYXJUaW1lb3V0KEUuX3BhdXNlKTtFLl9w YXVzZT1FLmRlbGF5KEQudmFsdWV8fDI1MCx0aGlzLEMpO319fTtFdmVudHMuZGVm aW5lUHNldWRvPWZ1bmN0aW9uKEMsRCl7QltDXT1UeXBlLmlzRnVuY3Rpb24oRCk/ e2xpc3RlbmVyOkR9OkQ7CnJldHVybiB0aGlzO307RXZlbnRzLmxvb2t1cFBzZXVk bz1mdW5jdGlvbihDKXtyZXR1cm4gQltDXTt9O3ZhciBBPUV2ZW50cy5wcm90b3R5 cGU7RXZlbnRzLmltcGxlbWVudChFdmVudHMuUHNldWRvcyhCLEEuYWRkRXZlbnQs QS5yZW1vdmVFdmVudCkpO1siUmVxdWVzdCIsIkZ4Il0uZWFjaChmdW5jdGlvbihD KXtpZih0aGlzW0NdKXt0aGlzW0NdLmltcGxlbWVudChFdmVudHMucHJvdG90eXBl

KTt9fSk7fSkoKTsoZnVuY3Rpb24oKXt2YXIgQT17d2FpdDpmdW5jdGlvbihCKXty ZXR1cm4gdGhpcy5jaGFpbihmdW5jdGlvbigpe3RoaXMuY2FsbENoYWluLmRlbGF5 KEI9PW51bGw/NTAwOkIsdGhpcyk7cmV0dXJuIHRoaXM7fS5iaW5kKHRoaXMpKTt9 fTtDaGFpbi5pbXBsZW1lbnQoQSk7aWYodGhpcy5GeCl7RnguaW1wbGVtZW50KEEp O31pZih0aGlzLkVsZW1lbnQmJkVsZW1lbnQuaW1wbGVtZW50JiZ0aGlzLkZ4KXtF bGVtZW50LmltcGxlbWVudCh7Y2hhaW5zOmZ1bmN0aW9uKEIpe0FycmF5LmZyb20o Qnx8WyJ0d2VlbiIsIm1vcnBoIiwicmV2ZWFsIl0pLmVhY2goZnVuY3Rpb24oQyl7 Qz10aGlzLmdldChDKTsKaWYoIUMpe3JldHVybiA7fUMuc2V0T3B0aW9ucyh7bGlu azoiY2hhaW4ifSk7fSx0aGlzKTtyZXR1cm4gdGhpczt9LHBhdXNlRng6ZnVuY3Rp b24oQyxCKXt0aGlzLmNoYWlucyhCKS5nZXQoQnx8InR3ZWVuIikud2FpdChDKTty ZXR1cm4gdGhpczt9fSk7fX0pKCk7KGZ1bmN0aW9uKEEpe0FycmF5LmltcGxlbWVu dCh7bWluOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgubWluLmFwcGx5KG51bGwsdGhp cyk7fSxtYXg6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5tYXguYXBwbHkobnVsbCx0 aGlzKTt9LGF2ZXJhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGg/dGhp cy5zdW0oKS90aGlzLmxlbmd0aDowO30sc3VtOmZ1bmN0aW9uKCl7dmFyIEI9MCxD PXRoaXMubGVuZ3RoO2lmKEMpe3doaWxlKEMtLSl7Qis9dGhpc1tDXTt9fXJldHVy biBCO30sdW5pcXVlOmZ1bmN0aW9uKCl7cmV0dXJuW10uY29tYmluZSh0aGlzKTt9 LHNodWZmbGU6ZnVuY3Rpb24oKXtmb3IodmFyIEM9dGhpcy5sZW5ndGg7CkMmJi0t Qzspe3ZhciBCPXRoaXNbQ10sRD1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKEMr MSkpO3RoaXNbQ109dGhpc1tEXTt0aGlzW0RdPUI7fXJldHVybiB0aGlzO30scmVk dWNlOmZ1bmN0aW9uKEQsRSl7Zm9yKHZhciBDPTAsQj10aGlzLmxlbmd0aDtDPEI7 QysrKXtpZihDIGluIHRoaXMpe0U9RT09PUE/dGhpc1tDXTpELmNhbGwobnVsbCxF LHRoaXNbQ10sQyx0aGlzKTt9fXJldHVybiBFO30scmVkdWNlUmlnaHQ6ZnVuY3Rp b24oQyxEKXt2YXIgQj10aGlzLmxlbmd0aDt3aGlsZShCLS0pe2lmKEIgaW4gdGhp cyl7RD1EPT09QT90aGlzW0JdOkMuY2FsbChudWxsLEQsdGhpc1tCXSxCLHRoaXMp O319cmV0dXJuIEQ7fX0pO30pKCk7KGZ1bmN0aW9uKCl7dmFyIEI9ZnVuY3Rpb24o Qyl7cmV0dXJuIEMhPW51bGw7fTt2YXIgQT1PYmplY3QucHJvdG90eXBlLmhhc093 blByb3BlcnR5O09iamVjdC5leHRlbmQoe2dldEZyb21QYXRoOmZ1bmN0aW9uKEUs Ril7aWYodHlwZW9mIEY9PSJzdHJpbmciKXtGPUYuc3BsaXQoIi4iKTsKfWZvcih2 YXIgRD0wLEM9Ri5sZW5ndGg7RDxDO0QrKyl7aWYoQS5jYWxsKEUsRltEXSkpe0U9 RVtGW0RdXTt9ZWxzZXtyZXR1cm4gbnVsbDt9fXJldHVybiBFO30sY2xlYW5WYWx1 ZXM6ZnVuY3Rpb24oQyxFKXtFPUV8fEI7Zm9yKHZhciBEIGluIEMpe2lmKCFFKENb RF0pKXtkZWxldGUgQ1tEXTt9fXJldHVybiBDO30sZXJhc2U6ZnVuY3Rpb24oQyxE KXtpZihBLmNhbGwoQyxEKSl7ZGVsZXRlIENbRF07fXJldHVybiBDO30scnVuOmZ1 bmN0aW9uKEQpe3ZhciBDPUFycmF5LnNsaWNlKGFyZ3VtZW50cywxKTtmb3IodmFy IEUgaW4gRCl7aWYoRFtFXS5hcHBseSl7RFtFXS5hcHBseShELEMpO319cmV0dXJu IEQ7fX0pO30pKCk7KGZ1bmN0aW9uKCl7dmFyIEI9bnVsbCxBPXt9LEQ9e307dmFy IEM9ZnVuY3Rpb24oRil7aWYoaW5zdGFuY2VPZihGLEUuU2V0KSl7cmV0dXJuIEY7 fWVsc2V7cmV0dXJuIEFbRl07fX07dmFyIEU9dGhpcy5Mb2NhbGU9e2RlZmluZTpm dW5jdGlvbihGLEosSCxJKXt2YXIgRzsKaWYoaW5zdGFuY2VPZihGLEUuU2V0KSl7 Rz1GLm5hbWU7aWYoRyl7QVtHXT1GO319ZWxzZXtHPUY7aWYoIUFbR10pe0FbR109 bmV3IEUuU2V0KEcpO31GPUFbR107fWlmKEope0YuZGVmaW5lKEosSCxJKTt9aWYo IUIpe0I9Rjt9cmV0dXJuIEY7fSx1c2U6ZnVuY3Rpb24oRil7Rj1DKEYpO2lmKEYp e0I9Rjt0aGlzLmZpcmVFdmVudCgiY2hhbmdlIixGKTt9cmV0dXJuIHRoaXM7fSxn ZXRDdXJyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIEI7fSxnZXQ6ZnVuY3Rpb24oRyxG KXtyZXR1cm4oQik/Qi5nZXQoRyxGKToiIjt9LGluaGVyaXQ6ZnVuY3Rpb24oRixH LEgpe0Y9QyhGKTtpZihGKXtGLmluaGVyaXQoRyxIKTt9cmV0dXJuIHRoaXM7fSxs aXN0OmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKEEpO319O09iamVjdC5h cHBlbmQoRSxuZXcgRXZlbnRzKTtFLlNldD1uZXcgQ2xhc3Moe3NldHM6e30saW5o ZXJpdHM6e2xvY2FsZXM6W10sc2V0czp7fX0saW5pdGlhbGl6ZTpmdW5jdGlvbihG KXt0aGlzLm5hbWU9Rnx8IiI7Cn0sZGVmaW5lOmZ1bmN0aW9uKEksRyxIKXt2YXIg Rj10aGlzLnNldHNbSV07aWYoIUYpe0Y9e307fWlmKEcpe2lmKHR5cGVPZihHKT09 Im9iamVjdCIpe0Y9T2JqZWN0Lm1lcmdlKEYsRyk7fWVsc2V7RltHXT1IO319dGhp cy5zZXRzW0ldPUY7cmV0dXJuIHRoaXM7fSxnZXQ6ZnVuY3Rpb24oUCxJLE8pe3Zh ciBOPU9iamVjdC5nZXRGcm9tUGF0aCh0aGlzLnNldHMsUCk7aWYoTiE9bnVsbCl7 dmFyIEs9dHlwZU9mKE4pO2lmKEs9PSJmdW5jdGlvbiIpe049Ti5hcHBseShudWxs LEFycmF5LmZyb20oSSkpO31lbHNle2lmKEs9PSJvYmplY3QiKXtOPU9iamVjdC5j bG9uZShOKTt9fXJldHVybiBOO312YXIgSD1QLmluZGV4T2YoIi4iKSxNPUg8MD9Q OlAuc3Vic3RyKDAsSCksSj0odGhpcy5pbmhlcml0cy5zZXRzW01dfHxbXSkuY29t YmluZSh0aGlzLmluaGVyaXRzLmxvY2FsZXMpLmluY2x1ZGUoImVuLVVTIik7aWYo

IU8pe089W107fWZvcih2YXIgRz0wLEY9Si5sZW5ndGg7RzxGO0crKyl7aWYoTy5j b250YWlucyhKW0ddKSl7Y29udGludWU7Cn1PLmluY2x1ZGUoSltHXSk7dmFyIEw9 QVtKW0ddXTtpZighTCl7Y29udGludWU7fU49TC5nZXQoUCxJLE8pO2lmKE4hPW51 bGwpe3JldHVybiBOO319cmV0dXJuIiI7fSxpbmhlcml0OmZ1bmN0aW9uKEcsSCl7 Rz1BcnJheS5mcm9tKEcpO2lmKEgmJiF0aGlzLmluaGVyaXRzLnNldHNbSF0pe3Ro aXMuaW5oZXJpdHMuc2V0c1tIXT1bXTt9dmFyIEY9Ry5sZW5ndGg7d2hpbGUoRi0t KXsoSD90aGlzLmluaGVyaXRzLnNldHNbSF06dGhpcy5pbmhlcml0cy5sb2NhbGVz KS51bnNoaWZ0KEdbRl0pO31yZXR1cm4gdGhpczt9fSk7fSkoKTtMb2NhbGUuZGVm aW5lKCJlbi1VUyIsIkRhdGUiLHttb250aHM6WyJKYW51YXJ5IiwiRmVicnVhcnki LCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJT ZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLG1vbnRo c19hYmJyOlsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVs IiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sZGF5czpbIlN1bmRheSIs Ik1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRh eSIsIlNhdHVyZGF5Il0sZGF5c19hYmJyOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2Vk IiwiVGh1IiwiRnJpIiwiU2F0Il0sZGF0ZU9yZGVyOlsibW9udGgiLCJkYXRlIiwi eWVhciJdLHNob3J0RGF0ZToiJW0vJWQvJVkiLHNob3J0VGltZToiJUk6JU0lcCIs QU06IkFNIixQTToiUE0iLGZpcnN0RGF5T2ZXZWVrOjAsb3JkaW5hbDpmdW5jdGlv bihBKXtyZXR1cm4oQT4zJiZBPDIxKT8idGgiOlsidGgiLCJzdCIsIm5kIiwicmQi LCJ0aCJdW01hdGgubWluKEElMTAsNCldOwp9LGxlc3NUaGFuTWludXRlQWdvOiJs ZXNzIHRoYW4gYSBtaW51dGUgYWdvIixtaW51dGVBZ286ImFib3V0IGEgbWludXRl IGFnbyIsbWludXRlc0Fnbzoie2RlbHRhfSBtaW51dGVzIGFnbyIsaG91ckFnbzoi YWJvdXQgYW4gaG91ciBhZ28iLGhvdXJzQWdvOiJhYm91dCB7ZGVsdGF9IGhvdXJz IGFnbyIsZGF5QWdvOiIxIGRheSBhZ28iLGRheXNBZ286IntkZWx0YX0gZGF5cyBh Z28iLHdlZWtBZ286IjEgd2VlayBhZ28iLHdlZWtzQWdvOiJ7ZGVsdGF9IHdlZWtz IGFnbyIsbW9udGhBZ286IjEgbW9udGggYWdvIixtb250aHNBZ286IntkZWx0YX0g bW9udGhzIGFnbyIseWVhckFnbzoiMSB5ZWFyIGFnbyIseWVhcnNBZ286IntkZWx0 YX0geWVhcnMgYWdvIixsZXNzVGhhbk1pbnV0ZVVudGlsOiJsZXNzIHRoYW4gYSBt aW51dGUgZnJvbSBub3ciLG1pbnV0ZVVudGlsOiJhYm91dCBhIG1pbnV0ZSBmcm9t IG5vdyIsbWludXRlc1VudGlsOiJ7ZGVsdGF9IG1pbnV0ZXMgZnJvbSBub3ciLGhv dXJVbnRpbDoiYWJvdXQgYW4gaG91ciBmcm9tIG5vdyIsaG91cnNVbnRpbDoiYWJv dXQge2RlbHRhfSBob3VycyBmcm9tIG5vdyIsZGF5VW50aWw6IjEgZGF5IGZyb20g bm93IixkYXlzVW50aWw6IntkZWx0YX0gZGF5cyBmcm9tIG5vdyIsd2Vla1VudGls OiIxIHdlZWsgZnJvbSBub3ciLHdlZWtzVW50aWw6IntkZWx0YX0gd2Vla3MgZnJv bSBub3ciLG1vbnRoVW50aWw6IjEgbW9udGggZnJvbSBub3ciLG1vbnRoc1VudGls OiJ7ZGVsdGF9IG1vbnRocyBmcm9tIG5vdyIseWVhclVudGlsOiIxIHllYXIgZnJv bSBub3ciLHllYXJzVW50aWw6IntkZWx0YX0geWVhcnMgZnJvbSBub3cifSk7Cihm dW5jdGlvbigpe3ZhciBBPXRoaXMuRGF0ZTt2YXIgRj1BLk1ldGhvZHM9e21zOiJN aWxsaXNlY29uZHMiLHllYXI6IkZ1bGxZZWFyIixtaW46Ik1pbnV0ZXMiLG1vOiJN b250aCIsc2VjOiJTZWNvbmRzIixocjoiSG91cnMifTtbIkRhdGUiLCJEYXkiLCJG dWxsWWVhciIsIkhvdXJzIiwiTWlsbGlzZWNvbmRzIiwiTWludXRlcyIsIk1vbnRo IiwiU2Vjb25kcyIsIlRpbWUiLCJUaW1lem9uZU9mZnNldCIsIldlZWsiLCJUaW1l em9uZSIsIkdNVE9mZnNldCIsIkRheU9mWWVhciIsIkxhc3RNb250aCIsIkxhc3RE YXlPZk1vbnRoIiwiVVRDRGF0ZSIsIlVUQ0RheSIsIlVUQ0Z1bGxZZWFyIiwiQU1Q TSIsIk9yZGluYWwiLCJVVENIb3VycyIsIlVUQ01pbGxpc2Vjb25kcyIsIlVUQ01p bnV0ZXMiLCJVVENNb250aCIsIlVUQ1NlY29uZHMiLCJVVENNaWxsaXNlY29uZHMi XS5lYWNoKGZ1bmN0aW9uKFQpe0EuTWV0aG9kc1tULnRvTG93ZXJDYXNlKCldPVQ7 fSk7dmFyIFA9ZnVuY3Rpb24oVixVLFQpe2lmKFU9PTEpe3JldHVybiBWOwp9cmV0 dXJuIFY8TWF0aC5wb3coMTAsVS0xKT8oVHx8IjAiKStQKFYsVS0xLFQpOlY7fTtB LmltcGxlbWVudCh7c2V0OmZ1bmN0aW9uKFYsVCl7Vj1WLnRvTG93ZXJDYXNlKCk7 dmFyIFU9RltWXSYmInNldCIrRltWXTtpZihVJiZ0aGlzW1VdKXt0aGlzW1VdKFQp O31yZXR1cm4gdGhpczt9Lm92ZXJsb2FkU2V0dGVyKCksZ2V0OmZ1bmN0aW9uKFUp e1U9VS50b0xvd2VyQ2FzZSgpO3ZhciBUPUZbVV0mJiJnZXQiK0ZbVV07aWYoVCYm dGhpc1tUXSl7cmV0dXJuIHRoaXNbVF0oKTt9cmV0dXJuIG51bGw7fS5vdmVybG9h ZEdldHRlcigpLGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBKHRoaXMuZ2V0 KCJ0aW1lIikpO30saW5jcmVtZW50OmZ1bmN0aW9uKFQsVil7VD1UfHwiZGF5IjtW PVYhPW51bGw/VjoxO3N3aXRjaChUKXtjYXNlInllYXIiOnJldHVybiB0aGlzLmlu Y3JlbWVudCgibW9udGgiLFYqMTIpO2Nhc2UibW9udGgiOnZhciBVPXRoaXMuZ2V0 KCJkYXRlIik7dGhpcy5zZXQoImRhdGUiLDEpLnNldCgibW8iLHRoaXMuZ2V0KCJt byIpK1YpOwpyZXR1cm4gdGhpcy5zZXQoImRhdGUiLFUubWluKHRoaXMuZ2V0KCJs

YXN0ZGF5b2Ztb250aCIpKSk7Y2FzZSJ3ZWVrIjpyZXR1cm4gdGhpcy5pbmNyZW1l bnQoImRheSIsVio3KTtjYXNlImRheSI6cmV0dXJuIHRoaXMuc2V0KCJkYXRlIix0 aGlzLmdldCgiZGF0ZSIpK1YpO31pZighQS51bml0c1tUXSl7dGhyb3cgbmV3IEVy cm9yKFQrIiBpcyBub3QgYSBzdXBwb3J0ZWQgaW50ZXJ2YWwiKTt9cmV0dXJuIHRo aXMuc2V0KCJ0aW1lIix0aGlzLmdldCgidGltZSIpK1YqQS51bml0c1tUXSgpKTt9 LGRlY3JlbWVudDpmdW5jdGlvbihULFUpe3JldHVybiB0aGlzLmluY3JlbWVudChU LC0xKihVIT1udWxsP1U6MSkpO30saXNMZWFwWWVhcjpmdW5jdGlvbigpe3JldHVy biBBLmlzTGVhcFllYXIodGhpcy5nZXQoInllYXIiKSk7fSxjbGVhclRpbWU6ZnVu Y3Rpb24oKXtyZXR1cm4gdGhpcy5zZXQoe2hyOjAsbWluOjAsc2VjOjAsbXM6MH0p O30sZGlmZjpmdW5jdGlvbihVLFQpe2lmKHR5cGVPZihVKT09InN0cmluZyIpe1U9 QS5wYXJzZShVKTsKfXJldHVybigoVS10aGlzKS9BLnVuaXRzW1R8fCJkYXkiXSgz LDMpKS5yb3VuZCgpO30sZ2V0TGFzdERheU9mTW9udGg6ZnVuY3Rpb24oKXtyZXR1 cm4gQS5kYXlzSW5Nb250aCh0aGlzLmdldCgibW8iKSx0aGlzLmdldCgieWVhciIp KTt9LGdldERheU9mWWVhcjpmdW5jdGlvbigpe3JldHVybihBLlVUQyh0aGlzLmdl dCgieWVhciIpLHRoaXMuZ2V0KCJtbyIpLHRoaXMuZ2V0KCJkYXRlIikrMSktQS5V VEModGhpcy5nZXQoInllYXIiKSwwLDEpKS9BLnVuaXRzLmRheSgpO30sc2V0RGF5 OmZ1bmN0aW9uKFUsVCl7aWYoVD09bnVsbCl7VD1BLmdldE1zZygiZmlyc3REYXlP ZldlZWsiKTtpZihUPT09IiIpe1Q9MTt9fVU9KDcrQS5wYXJzZURheShVLHRydWUp LVQpJTc7dmFyIFY9KDcrdGhpcy5nZXQoImRheSIpLVQpJTc7cmV0dXJuIHRoaXMu aW5jcmVtZW50KCJkYXkiLFUtVik7fSxnZXRXZWVrOmZ1bmN0aW9uKFcpe2lmKFc9 PW51bGwpe1c9QS5nZXRNc2coImZpcnN0RGF5T2ZXZWVrIik7CmlmKFc9PT0iIil7 Vz0xO319dmFyIFk9dGhpcyxWPSg3K1kuZ2V0KCJkYXkiKS1XKSU3LFU9MCxYO2lm KFc9PTEpe3ZhciBaPVkuZ2V0KCJtb250aCIpLFQ9WS5nZXQoImRhdGUiKS1WO2lm KFo9PTExJiZUPjI4KXtyZXR1cm4gMTt9aWYoWj09MCYmVDwtMil7WT1uZXcgQShZ KS5kZWNyZW1lbnQoImRheSIsVik7Vj0wO31YPW5ldyBBKFkuZ2V0KCJ5ZWFyIiks MCwxKS5nZXQoImRheSIpfHw3O2lmKFg+NCl7VT0tNzt9fWVsc2V7WD1uZXcgQShZ LmdldCgieWVhciIpLDAsMSkuZ2V0KCJkYXkiKTt9VSs9WS5nZXQoImRheW9meWVh ciIpO1UrPTYtVjtVKz0oNytYLVcpJTc7cmV0dXJuKFUvNyk7fSxnZXRPcmRpbmFs OmZ1bmN0aW9uKFQpe3JldHVybiBBLmdldE1zZygib3JkaW5hbCIsVHx8dGhpcy5n ZXQoImRhdGUiKSk7fSxnZXRUaW1lem9uZTpmdW5jdGlvbigpe3JldHVybiB0aGlz LnRvU3RyaW5nKCkucmVwbGFjZSgvXi4qPyAoW0EtWl17M30pLlswLTldezR9Liok LywiJDEiKS5yZXBsYWNlKC9eLio/XCgoW0EtWl0pW2Etel0rIChbQS1aXSlbYS16 XSsgKFtBLVpdKVthLXpdK1wpJC8sIiQxJDIkMyIpOwp9LGdldEdNVE9mZnNldDpm dW5jdGlvbigpe3ZhciBUPXRoaXMuZ2V0KCJ0aW1lem9uZU9mZnNldCIpO3JldHVy bigoVD4wKT8iLSI6IisiKStQKChULmFicygpLzYwKS5mbG9vcigpLDIpK1AoVCU2 MCwyKTt9LHNldEFNUE06ZnVuY3Rpb24oVCl7VD1ULnRvVXBwZXJDYXNlKCk7dmFy IFU9dGhpcy5nZXQoImhyIik7aWYoVT4xMSYmVD09IkFNIil7cmV0dXJuIHRoaXMu ZGVjcmVtZW50KCJob3VyIiwxMik7fWVsc2V7aWYoVTwxMiYmVD09IlBNIil7cmV0 dXJuIHRoaXMuaW5jcmVtZW50KCJob3VyIiwxMik7fX1yZXR1cm4gdGhpczt9LGdl dEFNUE06ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5nZXQoImhyIik8MTIpPyJBTSI6 IlBNIjt9LHBhcnNlOmZ1bmN0aW9uKFQpe3RoaXMuc2V0KCJ0aW1lIixBLnBhcnNl KFQpKTtyZXR1cm4gdGhpczt9LGlzVmFsaWQ6ZnVuY3Rpb24oVCl7cmV0dXJuICFp c05hTigoVHx8dGhpcykudmFsdWVPZigpKTt9LGZvcm1hdDpmdW5jdGlvbihVKXtp ZighdGhpcy5pc1ZhbGlkKCkpe3JldHVybiJpbnZhbGlkIGRhdGUiOwp9aWYoIVUp e1U9IiV4ICVYIjt9dmFyIFQ9VS50b0xvd2VyQ2FzZSgpO2lmKFNbVF0pe3JldHVy biBTW1RdKHRoaXMpO31VPUdbVF18fFU7dmFyIFY9dGhpcztyZXR1cm4gVS5yZXBs YWNlKC8lKFthLXolXSkvZ2ksZnVuY3Rpb24oWCxXKXtzd2l0Y2goVyl7Y2FzZSJh IjpyZXR1cm4gQS5nZXRNc2coImRheXNfYWJiciIpW1YuZ2V0KCJkYXkiKV07Y2Fz ZSJBIjpyZXR1cm4gQS5nZXRNc2coImRheXMiKVtWLmdldCgiZGF5IildO2Nhc2Ui YiI6cmV0dXJuIEEuZ2V0TXNnKCJtb250aHNfYWJiciIpW1YuZ2V0KCJtb250aCIp XTtjYXNlIkIiOnJldHVybiBBLmdldE1zZygibW9udGhzIilbVi5nZXQoIm1vbnRo IildO2Nhc2UiYyI6cmV0dXJuIFYuZm9ybWF0KCIlYSAlYiAlZCAlSDolTTolUyAl WSIpO2Nhc2UiZCI6cmV0dXJuIFAoVi5nZXQoImRhdGUiKSwyKTtjYXNlImUiOnJl dHVybiBQKFYuZ2V0KCJkYXRlIiksMiwiICIpO2Nhc2UiSCI6cmV0dXJuIFAoVi5n ZXQoImhyIiksMik7Y2FzZSJJIjpyZXR1cm4gUCgoVi5nZXQoImhyIiklMTIpfHwx MiwyKTsKY2FzZSJqIjpyZXR1cm4gUChWLmdldCgiZGF5b2Z5ZWFyIiksMyk7Y2Fz ZSJrIjpyZXR1cm4gUChWLmdldCgiaHIiKSwyLCIgIik7Y2FzZSJsIjpyZXR1cm4g UCgoVi5nZXQoImhyIiklMTIpfHwxMiwyLCIgIik7Y2FzZSJMIjpyZXR1cm4gUChW LmdldCgibXMiKSwzKTtjYXNlIm0iOnJldHVybiBQKChWLmdldCgibW8iKSsxKSwy KTtjYXNlIk0iOnJldHVybiBQKFYuZ2V0KCJtaW4iKSwyKTtjYXNlIm8iOnJldHVy

biBWLmdldCgib3JkaW5hbCIpO2Nhc2UicCI6cmV0dXJuIEEuZ2V0TXNnKFYuZ2V0 KCJhbXBtIikpO2Nhc2UicyI6cmV0dXJuIE1hdGgucm91bmQoVi8xMDAwKTtjYXNl IlMiOnJldHVybiBQKFYuZ2V0KCJzZWNvbmRzIiksMik7Y2FzZSJUIjpyZXR1cm4g Vi5mb3JtYXQoIiVIOiVNOiVTIik7Y2FzZSJVIjpyZXR1cm4gUChWLmdldCgid2Vl ayIpLDIpO2Nhc2UidyI6cmV0dXJuIFYuZ2V0KCJkYXkiKTtjYXNlIngiOnJldHVy biBWLmZvcm1hdChBLmdldE1zZygic2hvcnREYXRlIikpOwpjYXNlIlgiOnJldHVy biBWLmZvcm1hdChBLmdldE1zZygic2hvcnRUaW1lIikpO2Nhc2UieSI6cmV0dXJu IFYuZ2V0KCJ5ZWFyIikudG9TdHJpbmcoKS5zdWJzdHIoMik7Y2FzZSJZIjpyZXR1 cm4gVi5nZXQoInllYXIiKTtjYXNlInoiOnJldHVybiBWLmdldCgiR01UT2Zmc2V0 Iik7Y2FzZSJaIjpyZXR1cm4gVi5nZXQoIlRpbWV6b25lIik7fXJldHVybiBXO30p O30sdG9JU09TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5mb3JtYXQoImlz bzg2MDEiKTt9fSkuYWxpYXMoe3RvSlNPTjoidG9JU09TdHJpbmciLGNvbXBhcmU6 ImRpZmYiLHN0cmZ0aW1lOiJmb3JtYXQifSk7dmFyIEc9e2RiOiIlWS0lbS0lZCAl SDolTTolUyIsY29tcGFjdDoiJVklbSVkVCVIJU0lUyIsInNob3J0IjoiJWQgJWIg JUg6JU0iLCJsb25nIjoiJUIgJWQsICVZICVIOiVNIn07dmFyIEs9WyJTdW4iLCJN b24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxIPVsiSmFuIiwiRmVi IiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0 IiwiTm92IiwiRGVjIl07CnZhciBTPXtyZmM4MjI6ZnVuY3Rpb24oVCl7cmV0dXJu IEtbVC5nZXQoImRheSIpXStULmZvcm1hdCgiLCAlZCAiKStIW1QuZ2V0KCJtb250 aCIpXStULmZvcm1hdCgiICVZICVIOiVNOiVTICVaIik7fSxyZmMyODIyOmZ1bmN0 aW9uKFQpe3JldHVybiBLW1QuZ2V0KCJkYXkiKV0rVC5mb3JtYXQoIiwgJWQgIikr SFtULmdldCgibW9udGgiKV0rVC5mb3JtYXQoIiAlWSAlSDolTTolUyAleiIpO30s aXNvODYwMTpmdW5jdGlvbihUKXtyZXR1cm4oVC5nZXRVVENGdWxsWWVhcigpKyIt IitQKFQuZ2V0VVRDTW9udGgoKSsxLDIpKyItIitQKFQuZ2V0VVRDRGF0ZSgpLDIp KyJUIitQKFQuZ2V0VVRDSG91cnMoKSwyKSsiOiIrUChULmdldFVUQ01pbnV0ZXMo KSwyKSsiOiIrUChULmdldFVUQ1NlY29uZHMoKSwyKSsiLiIrUChULmdldFVUQ01p bGxpc2Vjb25kcygpLDMpKyJaIik7fX07dmFyIEM9W10sTj1BLnBhcnNlO3ZhciBS PWZ1bmN0aW9uKFcsWSxWKXt2YXIgVT0tMSxYPUEuZ2V0TXNnKFcrInMiKTsKc3dp dGNoKHR5cGVPZihZKSl7Y2FzZSJvYmplY3QiOlU9WFtZLmdldChXKV07YnJlYWs7 Y2FzZSJudW1iZXIiOlU9WFtZXTtpZighVSl7dGhyb3cgbmV3IEVycm9yKCJJbnZh bGlkICIrVysiIGluZGV4OiAiK1kpO31icmVhaztjYXNlInN0cmluZyI6dmFyIFQ9 WC5maWx0ZXIoZnVuY3Rpb24oWil7cmV0dXJuIHRoaXMudGVzdChaKTt9LG5ldyBS ZWdFeHAoIl4iK1ksImkiKSk7aWYoIVQubGVuZ3RoKXt0aHJvdyBuZXcgRXJyb3Io IkludmFsaWQgIitXKyIgc3RyaW5nIik7fWlmKFQubGVuZ3RoPjEpe3Rocm93IG5l dyBFcnJvcigiQW1iaWd1b3VzICIrVyk7fVU9VFswXTt9cmV0dXJuKFYpP1guaW5k ZXhPZihVKTpVO307dmFyIEk9MTkwMCxPPTcwO0EuZXh0ZW5kKHtnZXRNc2c6ZnVu Y3Rpb24oVSxUKXtyZXR1cm4gTG9jYWxlLmdldCgiRGF0ZS4iK1UsVCk7fSx1bml0 czp7bXM6RnVuY3Rpb24uZnJvbSgxKSxzZWNvbmQ6RnVuY3Rpb24uZnJvbSgxMDAw KSxtaW51dGU6RnVuY3Rpb24uZnJvbSg2MDAwMCksaG91cjpGdW5jdGlvbi5mcm9t KDM2MDAwMDApLGRheTpGdW5jdGlvbi5mcm9tKDg2NDAwMDAwKSx3ZWVrOkZ1bmN0 aW9uLmZyb20oNjA4NDAwMDAwKSxtb250aDpmdW5jdGlvbihVLFQpe3ZhciBWPW5l dyBBOwpyZXR1cm4gQS5kYXlzSW5Nb250aChVIT1udWxsP1U6Vi5nZXQoIm1vIiks VCE9bnVsbD9UOlYuZ2V0KCJ5ZWFyIikpKjg2NDAwMDAwO30seWVhcjpmdW5jdGlv bihUKXtUPVR8fG5ldyBBKCkuZ2V0KCJ5ZWFyIik7cmV0dXJuIEEuaXNMZWFwWWVh cihUKT8zMTYyMjQwMDAwMDozMTUzNjAwMDAwMDt9fSxkYXlzSW5Nb250aDpmdW5j dGlvbihVLFQpe3JldHVyblszMSxBLmlzTGVhcFllYXIoVCk/Mjk6MjgsMzEsMzAs MzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdW1VdO30saXNMZWFwWWVhcjpmdW5jdGlv bihUKXtyZXR1cm4oKFQlND09PTApJiYoVCUxMDAhPT0wKSl8fChUJTQwMD09PTAp O30scGFyc2U6ZnVuY3Rpb24oVil7dmFyIFU9dHlwZU9mKFYpO2lmKFU9PSJudW1i ZXIiKXtyZXR1cm4gbmV3IEEoVik7fWlmKFUhPSJzdHJpbmciKXtyZXR1cm4gVjt9 Vj1WLmNsZWFuKCk7aWYoIVYubGVuZ3RoKXtyZXR1cm4gbnVsbDt9dmFyIFQ7Qy5z b21lKGZ1bmN0aW9uKFgpe3ZhciBXPVgucmUuZXhlYyhWKTsKcmV0dXJuKFcpPyhU PVguaGFuZGxlcihXKSk6ZmFsc2U7fSk7aWYoIShUJiZULmlzVmFsaWQoKSkpe1Q9 bmV3IEEoTihWKSk7aWYoIShUJiZULmlzVmFsaWQoKSkpe1Q9bmV3IEEoVi50b0lu dCgpKTt9fXJldHVybiBUO30scGFyc2VEYXk6ZnVuY3Rpb24oVCxVKXtyZXR1cm4g UigiZGF5IixULFUpO30scGFyc2VNb250aDpmdW5jdGlvbihVLFQpe3JldHVybiBS KCJtb250aCIsVSxUKTt9LHBhcnNlVVRDOmZ1bmN0aW9uKFUpe3ZhciBUPW5ldyBB KFUpO3ZhciBWPUEuVVRDKFQuZ2V0KCJ5ZWFyIiksVC5nZXQoIm1vIiksVC5nZXQo ImRhdGUiKSxULmdldCgiaHIiKSxULmdldCgibWluIiksVC5nZXQoInNlYyIpLFQu Z2V0KCJtcyIpKTtyZXR1cm4gbmV3IEEoVik7fSxvcmRlckluZGV4OmZ1bmN0aW9u

KFQpe3JldHVybiBBLmdldE1zZygiZGF0ZU9yZGVyIikuaW5kZXhPZihUKSsxO30s ZGVmaW5lRm9ybWF0OmZ1bmN0aW9uKFQsVSl7R1tUXT1VO3JldHVybiB0aGlzO30s ZGVmaW5lRm9ybWF0czpmdW5jdGlvbihUKXtmb3IodmFyIFUgaW4gVCl7QS5kZWZp bmVGb3JtYXQoVSxUW1VdKTsKfXJldHVybiB0aGlzO30sZGVmaW5lUGFyc2VyOmZ1 bmN0aW9uKFQpe0MucHVzaCgoVC5yZSYmVC5oYW5kbGVyKT9UOkwoVCkpO3JldHVy biB0aGlzO30sZGVmaW5lUGFyc2VyczpmdW5jdGlvbigpe0FycmF5LmZsYXR0ZW4o YXJndW1lbnRzKS5lYWNoKEEuZGVmaW5lUGFyc2VyKTtyZXR1cm4gdGhpczt9LGRl ZmluZTJEaWdpdFllYXJTdGFydDpmdW5jdGlvbihUKXtPPVQlMTAwO0k9VC1PO3Jl dHVybiB0aGlzO319KTt2YXIgRD1mdW5jdGlvbihUKXtyZXR1cm4gbmV3IFJlZ0V4 cCgiKD86IitBLmdldE1zZyhUKS5tYXAoZnVuY3Rpb24oVSl7cmV0dXJuIFUuc3Vi c3RyKDAsMyk7fSkuam9pbigifCIpKyIpW2Etel0qIik7fTt2YXIgTT1mdW5jdGlv bihUKXtzd2l0Y2goVCl7Y2FzZSJUIjpyZXR1cm4iJUg6JU06JVMiO2Nhc2UieCI6 cmV0dXJuKChBLm9yZGVySW5kZXgoIm1vbnRoIik9PTEpPyIlbVstLi9dJWQiOiIl ZFstLi9dJW0iKSsiKFstLi9dJXkpPyI7Y2FzZSJYIjpyZXR1cm4iJUgoWy46XSVN KT8oWy46XSVTKFsuOl0lcyk/KT8gPyVwPyA/JXo/IjsKfXJldHVybiBudWxsO307 dmFyIEo9e2Q6L1swLTJdP1swLTldfDNbMDFdLyxIOi9bMDFdP1swLTldfDJbMC0z XS8sSTovMD9bMS05XXwxWzAtMl0vLE06L1swLTVdP1xkLyxzOi9cZCsvLG86L1th LXpdKi8scDovW2FwXVwuP21cLj8vLHk6L1xkezJ9fFxkezR9LyxZOi9cZHs0fS8s ejovWnxbKy1dXGR7Mn0oPzo6P1xkezJ9KT8vfTtKLm09Si5JO0ouUz1KLk07dmFy IEU7dmFyIEI9ZnVuY3Rpb24oVCl7RT1UO0ouYT1KLkE9RCgiZGF5cyIpO0ouYj1K LkI9RCgibW9udGhzIik7Qy5lYWNoKGZ1bmN0aW9uKFYsVSl7aWYoVi5mb3JtYXQp e0NbVV09TChWLmZvcm1hdCk7fX0pO307dmFyIEw9ZnVuY3Rpb24oVil7aWYoIUUp e3JldHVybntmb3JtYXQ6Vn07fXZhciBUPVtdO3ZhciBVPShWLnNvdXJjZXx8Viku cmVwbGFjZSgvJShbYS16XSkvZ2ksZnVuY3Rpb24oWCxXKXtyZXR1cm4gTShXKXx8 WDt9KS5yZXBsYWNlKC9cKCg/IVw/KS9nLCIoPzoiKS5yZXBsYWNlKC8gKD8hXD98 XCopL2csIiw/ICIpLnJlcGxhY2UoLyUoW2EteiVdKS9naSxmdW5jdGlvbihYLFcp e3ZhciBZPUpbV107CmlmKCFZKXtyZXR1cm4gVzt9VC5wdXNoKFcpO3JldHVybiIo IitZLnNvdXJjZSsiKSI7fSkucmVwbGFjZSgvXFthLXpcXS9naSwiW2EtelxcdTAw YzAtXFx1ZmZmZjsmXSIpO3JldHVybntmb3JtYXQ6VixyZTpuZXcgUmVnRXhwKCJe IitVKyIkIiwiaSIpLGhhbmRsZXI6ZnVuY3Rpb24oWil7Wj1aLnNsaWNlKDEpLmFz c29jaWF0ZShUKTt2YXIgVz1uZXcgQSgpLmNsZWFyVGltZSgpLFk9Wi55fHxaLlk7 aWYoWSE9bnVsbCl7US5jYWxsKFcsInkiLFkpO31pZigiZCIgaW4gWil7US5jYWxs KFcsImQiLDEpO31pZigibSIgaW4gWnx8Wi5ifHxaLkIpe1EuY2FsbChXLCJtIiwx KTt9Zm9yKHZhciBYIGluIFope1EuY2FsbChXLFgsWltYXSk7fXJldHVybiBXO319 O307dmFyIFE9ZnVuY3Rpb24oVCxVKXtpZighVSl7cmV0dXJuIHRoaXM7fXN3aXRj aChUKXtjYXNlImEiOmNhc2UiQSI6cmV0dXJuIHRoaXMuc2V0KCJkYXkiLEEucGFy c2VEYXkoVSx0cnVlKSk7Y2FzZSJiIjpjYXNlIkIiOnJldHVybiB0aGlzLnNldCgi bW8iLEEucGFyc2VNb250aChVLHRydWUpKTsKY2FzZSJkIjpyZXR1cm4gdGhpcy5z ZXQoImRhdGUiLFUpO2Nhc2UiSCI6Y2FzZSJJIjpyZXR1cm4gdGhpcy5zZXQoImhy IixVKTtjYXNlIm0iOnJldHVybiB0aGlzLnNldCgibW8iLFUtMSk7Y2FzZSJNIjpy ZXR1cm4gdGhpcy5zZXQoIm1pbiIsVSk7Y2FzZSJwIjpyZXR1cm4gdGhpcy5zZXQo ImFtcG0iLFUucmVwbGFjZSgvXC4vZywiIikpO2Nhc2UiUyI6cmV0dXJuIHRoaXMu c2V0KCJzZWMiLFUpO2Nhc2UicyI6cmV0dXJuIHRoaXMuc2V0KCJtcyIsKCIwLiIr VSkqMTAwMCk7Y2FzZSJ3IjpyZXR1cm4gdGhpcy5zZXQoImRheSIsVSk7Y2FzZSJZ IjpyZXR1cm4gdGhpcy5zZXQoInllYXIiLFUpO2Nhc2UieSI6VT0rVTtpZihVPDEw MCl7VSs9SSsoVTxPPzEwMDowKTt9cmV0dXJuIHRoaXMuc2V0KCJ5ZWFyIixVKTtj YXNlInoiOmlmKFU9PSJaIil7VT0iKzAwIjt9dmFyIFY9VS5tYXRjaCgvKFsrLV0p KFxkezJ9KTo/KFxkezJ9KT8vKTtWPShWWzFdKyIxIikqKFZbMl0qNjArKCtWWzNd fHwwKSkrdGhpcy5nZXRUaW1lem9uZU9mZnNldCgpOwpyZXR1cm4gdGhpcy5zZXQo InRpbWUiLHRoaXMtVio2MDAwMCk7fXJldHVybiB0aGlzO307QS5kZWZpbmVQYXJz ZXJzKCIlWShbLS4vXSVtKFstLi9dJWQoKFR8ICklWCk/KT8pPyIsIiVZJW0lZChU JUgoJU0lUz8pPyk/IiwiJXgoICVYKT8iLCIlZCVvKCAlYiggJVkpPyk/KCAlWCk/ IiwiJWIoICVkJW8pPyggJVkpPyggJVgpPyIsIiVZICViKCAlZCVvKCAlWCk/KT8i LCIlbyAlYiAlZCAlWCAleiAlWSIsIiVUIiwiJUg6JU0oID8lcCk/Iik7TG9jYWxl LmFkZEV2ZW50KCJjaGFuZ2UiLGZ1bmN0aW9uKFQpe2lmKExvY2FsZS5nZXQoIkRh dGUiKSl7QihUKTt9fSkuZmlyZUV2ZW50KCJjaGFuZ2UiLExvY2FsZS5nZXRDdXJy ZW50KCkpO30pKCk7RGF0ZS5pbXBsZW1lbnQoe3RpbWVEaWZmSW5Xb3JkczpmdW5j dGlvbihBKXtyZXR1cm4gRGF0ZS5kaXN0YW5jZU9mVGltZUluV29yZHModGhpcyxB fHxuZXcgRGF0ZSk7fSx0aW1lRGlmZjpmdW5jdGlvbihGLEMpe2lmKEY9PW51bGwp e0Y9bmV3IERhdGU7Cn12YXIgSD0oKEYtdGhpcykvMTAwMCkuZmxvb3IoKS5hYnMo

KTt2YXIgRT1bXSxBPVs2MCw2MCwyNCwzNjUsMF0sRD1bInMiLCJtIiwiaCIsImQi LCJ5Il0sRyxCO2Zvcih2YXIgST0wO0k8QS5sZW5ndGg7SSsrKXtpZihJJiYhSCl7 YnJlYWs7fUc9SDtpZigoQj1BW0ldKSl7Rz0oSCVCKTtIPShIL0IpLmZsb29yKCk7 fUUudW5zaGlmdChHKyhEW0ldfHwiIikpO31yZXR1cm4gRS5qb2luKEN8fCI6Iik7 fX0pLmV4dGVuZCh7ZGlzdGFuY2VPZlRpbWVJbldvcmRzOmZ1bmN0aW9uKEIsQSl7 cmV0dXJuIERhdGUuZ2V0VGltZVBocmFzZSgoKEEtQikvMTAwMCkudG9JbnQoKSk7 fSxnZXRUaW1lUGhyYXNlOmZ1bmN0aW9uKEYpe3ZhciBEPShGPDApPyJVbnRpbCI6 IkFnbyI7aWYoRjwwKXtGKj0tMTt9dmFyIEI9e21pbnV0ZTo2MCxob3VyOjYwLGRh eToyNCx3ZWVrOjcsbW9udGg6NTIvMTIseWVhcjoxMixlb246SW5maW5pdHl9O3Zh ciBFPSJsZXNzVGhhbk1pbnV0ZSI7Zm9yKHZhciBDIGluIEIpe3ZhciBBPUJbQ107 CmlmKEY8MS41KkEpe2lmKEY+MC43NSpBKXtFPUM7fWJyZWFrO31GLz1BO0U9Qysi cyI7fUY9Ri5yb3VuZCgpO3JldHVybiBEYXRlLmdldE1zZyhFK0QsRikuc3Vic3Rp dHV0ZSh7ZGVsdGE6Rn0pO319KS5kZWZpbmVQYXJzZXJzKHtyZTovXig/OnRvZHx0 b218eWVzKS9pLGhhbmRsZXI6ZnVuY3Rpb24oQSl7dmFyIEI9bmV3IERhdGUoKS5j bGVhclRpbWUoKTtzd2l0Y2goQVswXSl7Y2FzZSJ0b20iOnJldHVybiBCLmluY3Jl bWVudCgpO2Nhc2UieWVzIjpyZXR1cm4gQi5kZWNyZW1lbnQoKTtkZWZhdWx0OnJl dHVybiBCO319fSx7cmU6L14obmV4dHxsYXN0KSAoW2Etel0rKSQvaSxoYW5kbGVy OmZ1bmN0aW9uKEQpe3ZhciBFPW5ldyBEYXRlKCkuY2xlYXJUaW1lKCk7dmFyIEI9 RS5nZXREYXkoKTt2YXIgQz1EYXRlLnBhcnNlRGF5KERbMl0sdHJ1ZSk7dmFyIEE9 Qy1CO2lmKEM8PUIpe0ErPTc7fWlmKERbMV09PSJsYXN0Iil7QS09Nzt9cmV0dXJu IEUuc2V0KCJkYXRlIixFLmdldERhdGUoKStBKTsKfX0pLmFsaWFzKCJ0aW1lQWdv SW5Xb3JkcyIsInRpbWVEaWZmSW5Xb3JkcyIpOyhmdW5jdGlvbigpe3ZhciBDPXth Oi9bPz8/Pz8/Pz8/Pz8/Pz8/P10vZyxBOi9bPz8/Pz8/Pz8/Pz8/Pz8/P10vZyxj Oi9bPz8/Pz8/XS9nLEM6L1s/Pz8/Pz9dL2csZDovWz8/Pz9dL2csRDovWz8/Pz9d L2csZTovWz8/Pz8/Pz8/Pz8/P10vZyxFOi9bPz8/Pz8/Pz8/Pz8/XS9nLGc6L1s/ P10vZyxHOi9bPz9dL2csaTovWz8/Pz8/Pz8/XS9nLEk6L1s/Pz8/Pz8/P10vZyxs Oi9bPz8/Pz8/XS9nLEw6L1s/Pz8/Pz9dL2csbjovWz8/Pz8/P10vZyxOOi9bPz8/ Pz8/XS9nLG86L1s/Pz8/Pz8/Pz8/Pz8/P10vZyxPOi9bPz8/Pz8/Pz8/Pz8/XS9n LHI6L1s/Pz8/XS9nLFI6L1s/Pz8/XS9nLHM6L1s/Pz8/Pz9dL2csUzovWz8/Pz8/ P10vZyx0Oi9bPz8/P10vZyxUOi9bPz8/P10vZyx1ZTovWz8/XS9nLFVFOi9bPz9d L2csdTovWz8/Pz8/Pz8/Pz9dL2csVTovWz8/Pz8/Pz8/XS9nLHk6L1s/Pz8/XS9n LFk6L1s/Pz8/XS9nLHo6L1s/Pz8/Pz9dL2csWjovWz8/Pz8/P10vZyx0aDovWz8/ XS9nLFRIOi9bPz9dL2csZGg6L1s/P10vZyxESDovWz8/XS9nLHNzOi9bPz9dL2cs b2U6L1s/P10vZyxPRTovWz8/XS9nLGFlOi9bPz9dL2csQUU6L1s/P10vZ30sQj17 IiAiOi9bXHhhMFx1MjAwMlx1MjAwM1x1MjAwOV0vZywiKiI6L1tceGI3XS9nLCIn IjovW1x1MjAxOFx1MjAxOV0vZywnIic6L1tcdTIwMWNcdTIwMWRdL2csIi4uLiI6 L1tcdTIwMjZdL2csIi0iOi9bXHUyMDEzXS9nLCImcmFxdW87IjovW1x1RkZGRF0v Z307CnZhciBBPWZ1bmN0aW9uKEYsSCl7dmFyIEU9RixHO2ZvcihHIGluIEgpe0U9 RS5yZXBsYWNlKEhbR10sRyk7fXJldHVybiBFO307dmFyIEQ9ZnVuY3Rpb24oRSxH KXtFPUV8fCIiO3ZhciBIPUc/IjwiK0UrIig/IVxcdylbXj5dKj4oW1xcc1xcU10q Pyk8LyIrRSsiKD8hXFx3KT4iOiI8Lz8iK0UrIihbXj5dKyk/PiIsRj1uZXcgUmVn RXhwKEgsImdpIik7cmV0dXJuIEY7fTtTdHJpbmcuaW1wbGVtZW50KHtzdGFuZGFy ZGl6ZTpmdW5jdGlvbigpe3JldHVybiBBKHRoaXMsQyk7fSxyZXBlYXQ6ZnVuY3Rp b24oRSl7cmV0dXJuIG5ldyBBcnJheShFKzEpLmpvaW4odGhpcyk7fSxwYWQ6ZnVu Y3Rpb24oRSxILEcpe2lmKHRoaXMubGVuZ3RoPj1FKXtyZXR1cm4gdGhpczt9dmFy IEY9KEg9PW51bGw/IiAiOiIiK0gpLnJlcGVhdChFLXRoaXMubGVuZ3RoKS5zdWJz dHIoMCxFLXRoaXMubGVuZ3RoKTtpZighR3x8Rz09InJpZ2h0Iil7cmV0dXJuIHRo aXMrRjt9aWYoRz09ImxlZnQiKXtyZXR1cm4gRit0aGlzOwp9cmV0dXJuIEYuc3Vi c3RyKDAsKEYubGVuZ3RoLzIpLmZsb29yKCkpK3RoaXMrRi5zdWJzdHIoMCwoRi5s ZW5ndGgvMikuY2VpbCgpKTt9LGdldFRhZ3M6ZnVuY3Rpb24oRSxGKXtyZXR1cm4g dGhpcy5tYXRjaChEKEUsRikpfHxbXTt9LHN0cmlwVGFnczpmdW5jdGlvbihFLEYp e3JldHVybiB0aGlzLnJlcGxhY2UoRChFLEYpLCIiKTt9LHRpZHk6ZnVuY3Rpb24o KXtyZXR1cm4gQSh0aGlzLEIpO30sdHJ1bmNhdGU6ZnVuY3Rpb24oRSxGLEkpe3Zh ciBIPXRoaXM7aWYoRj09bnVsbCYmYXJndW1lbnRzLmxlbmd0aD09MSl7Rj0iPz8/ Ijt9aWYoSC5sZW5ndGg+RSl7SD1ILnN1YnN0cmluZygwLEUpO2lmKEkpe3ZhciBH PUgubGFzdEluZGV4T2YoSSk7aWYoRyE9LTEpe0g9SC5zdWJzdHIoMCxHKTt9fWlm KEYpe0grPUY7fX1yZXR1cm4gSDt9fSk7fSkoKTtTdHJpbmcuaW1wbGVtZW50KHtw YXJzZVF1ZXJ5U3RyaW5nOmZ1bmN0aW9uKEQsQSl7aWYoRD09bnVsbCl7RD10cnVl O31pZihBPT1udWxsKXtBPXRydWU7Cn12YXIgQz10aGlzLnNwbGl0KC9bJjtdLyks Qj17fTtpZighQy5sZW5ndGgpe3JldHVybiBCO31DLmVhY2goZnVuY3Rpb24oSSl7

dmFyIEU9SS5pbmRleE9mKCI9IikrMSxHPUU/SS5zdWJzdHIoRSk6IiIsRj1FP0ku c3Vic3RyKDAsRS0xKS5tYXRjaCgvKFteXF1cW10rfChcQikoPz1cXSkpL2cpOltJ XSxIPUI7aWYoIUYpe3JldHVybiA7fWlmKEEpe0c9ZGVjb2RlVVJJQ29tcG9uZW50 KEcpO31GLmVhY2goZnVuY3Rpb24oSyxKKXtpZihEKXtLPWRlY29kZVVSSUNvbXBv bmVudChLKTt9dmFyIEw9SFtLXTtpZihKPEYubGVuZ3RoLTEpe0g9SFtLXT1MfHx7 fTt9ZWxzZXtpZih0eXBlT2YoTCk9PSJhcnJheSIpe0wucHVzaChHKTt9ZWxzZXtI W0tdPUwhPW51bGw/W0wsR106Rzt9fX0pO30pO3JldHVybiBCO30sY2xlYW5RdWVy eVN0cmluZzpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5zcGxpdCgiJiIpLmZpbHRl cihmdW5jdGlvbihFKXt2YXIgQj1FLmluZGV4T2YoIj0iKSxDPUI8MD8iIjpFLnN1 YnN0cigwLEIpLEQ9RS5zdWJzdHIoQisxKTsKcmV0dXJuIEE/QS5jYWxsKG51bGws QyxEKTooRHx8RD09PTApO30pLmpvaW4oIiYiKTt9fSk7KGZ1bmN0aW9uKCl7dmFy IEI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXQoInZhbHVlIik7fTt2YXIgQT10 aGlzLlVSST1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6T3B0aW9ucyxvcHRpb25zOnt9 LHJlZ2V4Oi9eKD86KFx3Kyk6KT8oPzpcL1wvKD86KD86KFteOkBcL10qKTo/KFte OkBcL10qKSk/QCk/KFteOlwvPyNdKikoPzo6KFxkKikpPyk/KFwuXC4/JHwoPzpb Xj8jXC9dKlwvKSopKFtePyNdKikoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8vLHBh cnRzOlsic2NoZW1lIiwidXNlciIsInBhc3N3b3JkIiwiaG9zdCIsInBvcnQiLCJk aXJlY3RvcnkiLCJmaWxlIiwicXVlcnkiLCJmcmFnbWVudCJdLHNjaGVtZXM6e2h0 dHA6ODAsaHR0cHM6NDQzLGZ0cDoyMSxydHNwOjU1NCxtbXM6MTc1NSxmaWxlOjB9 LGluaXRpYWxpemU6ZnVuY3Rpb24oRCxDKXt0aGlzLnNldE9wdGlvbnMoQyk7dmFy IEU9dGhpcy5vcHRpb25zLmJhc2V8fEEuYmFzZTsKaWYoIUQpe0Q9RTt9aWYoRCYm RC5wYXJzZWQpe3RoaXMucGFyc2VkPU9iamVjdC5jbG9uZShELnBhcnNlZCk7fWVs c2V7dGhpcy5zZXQoInZhbHVlIixELmhyZWZ8fEQudG9TdHJpbmcoKSxFP25ldyBB KEUpOmZhbHNlKTt9fSxwYXJzZTpmdW5jdGlvbihFLEQpe3ZhciBDPUUubWF0Y2go dGhpcy5yZWdleCk7aWYoIUMpe3JldHVybiBmYWxzZTt9Qy5zaGlmdCgpO3JldHVy biB0aGlzLm1lcmdlKEMuYXNzb2NpYXRlKHRoaXMucGFydHMpLEQpO30sbWVyZ2U6 ZnVuY3Rpb24oRCxDKXtpZigoIUR8fCFELnNjaGVtZSkmJighQ3x8IUMuc2NoZW1l KSl7cmV0dXJuIGZhbHNlO31pZihDKXt0aGlzLnBhcnRzLmV2ZXJ5KGZ1bmN0aW9u KEUpe2lmKERbRV0pe3JldHVybiBmYWxzZTt9RFtFXT1DW0VdfHwiIjtyZXR1cm4g dHJ1ZTt9KTt9RC5wb3J0PUQucG9ydHx8dGhpcy5zY2hlbWVzW0Quc2NoZW1lLnRv TG93ZXJDYXNlKCldO0QuZGlyZWN0b3J5PUQuZGlyZWN0b3J5P3RoaXMucGFyc2VE aXJlY3RvcnkoRC5kaXJlY3RvcnksQz9DLmRpcmVjdG9yeToiIik6Ii8iOwpyZXR1 cm4gRDt9LHBhcnNlRGlyZWN0b3J5OmZ1bmN0aW9uKEQsRSl7RD0oRC5zdWJzdHIo MCwxKT09Ii8iPyIiOihFfHwiLyIpKStEO2lmKCFELnRlc3QoQS5yZWdzLmRpcmVj dG9yeURvdCkpe3JldHVybiBEO312YXIgQz1bXTtELnJlcGxhY2UoQS5yZWdzLmVu ZFNsYXNoLCIiKS5zcGxpdCgiLyIpLmVhY2goZnVuY3Rpb24oRil7aWYoRj09Ii4u IiYmQy5sZW5ndGg+MCl7Qy5wb3AoKTt9ZWxzZXtpZihGIT0iLiIpe0MucHVzaChG KTt9fX0pO3JldHVybiBDLmpvaW4oIi8iKSsiLyI7fSxjb21iaW5lOmZ1bmN0aW9u KEMpe3JldHVybiBDLnZhbHVlfHxDLnNjaGVtZSsiOi8vIisoQy51c2VyP0MudXNl cisoQy5wYXNzd29yZD8iOiIrQy5wYXNzd29yZDoiIikrIkAiOiIiKSsoQy5ob3N0 fHwiIikrKEMucG9ydCYmQy5wb3J0IT10aGlzLnNjaGVtZXNbQy5zY2hlbWVdPyI6 IitDLnBvcnQ6IiIpKyhDLmRpcmVjdG9yeXx8Ii8iKSsoQy5maWxlfHwiIikrKEMu cXVlcnk/Ij8iK0MucXVlcnk6IiIpKyhDLmZyYWdtZW50PyIjIitDLmZyYWdtZW50 OiIiKTsKfSxzZXQ6ZnVuY3Rpb24oRCxGLEUpe2lmKEQ9PSJ2YWx1ZSIpe3ZhciBD PUYubWF0Y2goQS5yZWdzLnNjaGVtZSk7aWYoQyl7Qz1DWzFdO31pZihDJiZ0aGlz LnNjaGVtZXNbQy50b0xvd2VyQ2FzZSgpXT09bnVsbCl7dGhpcy5wYXJzZWQ9e3Nj aGVtZTpDLHZhbHVlOkZ9O31lbHNle3RoaXMucGFyc2VkPXRoaXMucGFyc2UoRiwo RXx8dGhpcykucGFyc2VkKXx8KEM/e3NjaGVtZTpDLHZhbHVlOkZ9Ont2YWx1ZTpG fSk7fX1lbHNle2lmKEQ9PSJkYXRhIil7dGhpcy5zZXREYXRhKEYpO31lbHNle3Ro aXMucGFyc2VkW0RdPUY7fX1yZXR1cm4gdGhpczt9LGdldDpmdW5jdGlvbihDLEQp e3N3aXRjaChDKXtjYXNlInZhbHVlIjpyZXR1cm4gdGhpcy5jb21iaW5lKHRoaXMu cGFyc2VkLEQ/RC5wYXJzZWQ6ZmFsc2UpO2Nhc2UiZGF0YSI6cmV0dXJuIHRoaXMu Z2V0RGF0YSgpO31yZXR1cm4gdGhpcy5wYXJzZWRbQ118fCIiO30sZ286ZnVuY3Rp b24oKXtkb2N1bWVudC5sb2NhdGlvbi5ocmVmPXRoaXMudG9TdHJpbmcoKTsKfSx0 b1VSSTpmdW5jdGlvbigpe3JldHVybiB0aGlzO30sZ2V0RGF0YTpmdW5jdGlvbihF LEQpe3ZhciBDPXRoaXMuZ2V0KER8fCJxdWVyeSIpO2lmKCEoQ3x8Qz09PTApKXty ZXR1cm4gRT9udWxsOnt9O312YXIgRj1DLnBhcnNlUXVlcnlTdHJpbmcoKTtyZXR1 cm4gRT9GW0VdOkY7fSxzZXREYXRhOmZ1bmN0aW9uKEMsRixEKXtpZih0eXBlb2Yg Qz09InN0cmluZyIpe3ZhciBFPXRoaXMuZ2V0RGF0YSgpO0VbYXJndW1lbnRzWzBd XT1hcmd1bWVudHNbMV07Qz1FO31lbHNle2lmKEYpe0M9T2JqZWN0Lm1lcmdlKHRo

aXMuZ2V0RGF0YSgpLEMpO319cmV0dXJuIHRoaXMuc2V0KER8fCJxdWVyeSIsT2Jq ZWN0LnRvUXVlcnlTdHJpbmcoQykpO30sY2xlYXJEYXRhOmZ1bmN0aW9uKEMpe3Jl dHVybiB0aGlzLnNldChDfHwicXVlcnkiLCIiKTt9LHRvU3RyaW5nOkIsdmFsdWVP ZjpCfSk7QS5yZWdzPXtlbmRTbGFzaDovXC8kLyxzY2hlbWU6L14oXHcrKTovLGRp cmVjdG9yeURvdDovXC5cL3xcLiQvfTsKQS5iYXNlPW5ldyBBKEFycmF5LmZyb20o ZG9jdW1lbnQuZ2V0RWxlbWVudHMoImJhc2VbaHJlZl0iLHRydWUpKS5nZXRMYXN0 KCkse2Jhc2U6ZG9jdW1lbnQubG9jYXRpb259KTtTdHJpbmcuaW1wbGVtZW50KHt0 b1VSSTpmdW5jdGlvbihDKXtyZXR1cm4gbmV3IEEodGhpcyxDKTt9fSk7fSkoKTso ZnVuY3Rpb24oKXtpZih0aGlzLkhhc2gpe3JldHVybiA7fXZhciBBPXRoaXMuSGFz aD1uZXcgVHlwZSgiSGFzaCIsZnVuY3Rpb24oQil7aWYodHlwZU9mKEIpPT0iaGFz aCIpe0I9T2JqZWN0LmNsb25lKEIuZ2V0Q2xlYW4oKSk7fWZvcih2YXIgQyBpbiBC KXt0aGlzW0NdPUJbQ107fXJldHVybiB0aGlzO30pO3RoaXMuJEg9ZnVuY3Rpb24o Qil7cmV0dXJuIG5ldyBBKEIpO307QS5pbXBsZW1lbnQoe2ZvckVhY2g6ZnVuY3Rp b24oQixDKXtPYmplY3QuZm9yRWFjaCh0aGlzLEIsQyk7fSxnZXRDbGVhbjpmdW5j dGlvbigpe3ZhciBDPXt9O2Zvcih2YXIgQiBpbiB0aGlzKXtpZih0aGlzLmhhc093 blByb3BlcnR5KEIpKXtDW0JdPXRoaXNbQl07Cn19cmV0dXJuIEM7fSxnZXRMZW5n dGg6ZnVuY3Rpb24oKXt2YXIgQz0wO2Zvcih2YXIgQiBpbiB0aGlzKXtpZih0aGlz Lmhhc093blByb3BlcnR5KEIpKXtDKys7fX1yZXR1cm4gQzt9fSk7QS5hbGlhcygi ZWFjaCIsImZvckVhY2giKTtBLmltcGxlbWVudCh7aGFzOk9iamVjdC5wcm90b3R5 cGUuaGFzT3duUHJvcGVydHksa2V5T2Y6ZnVuY3Rpb24oQil7cmV0dXJuIE9iamVj dC5rZXlPZih0aGlzLEIpO30saGFzVmFsdWU6ZnVuY3Rpb24oQil7cmV0dXJuIE9i amVjdC5jb250YWlucyh0aGlzLEIpO30sZXh0ZW5kOmZ1bmN0aW9uKEIpe0EuZWFj aChCfHx7fSxmdW5jdGlvbihELEMpe0Euc2V0KHRoaXMsQyxEKTt9LHRoaXMpO3Jl dHVybiB0aGlzO30sY29tYmluZTpmdW5jdGlvbihCKXtBLmVhY2goQnx8e30sZnVu Y3Rpb24oRCxDKXtBLmluY2x1ZGUodGhpcyxDLEQpO30sdGhpcyk7cmV0dXJuIHRo aXM7fSxlcmFzZTpmdW5jdGlvbihCKXtpZih0aGlzLmhhc093blByb3BlcnR5KEIp KXtkZWxldGUgdGhpc1tCXTsKfXJldHVybiB0aGlzO30sZ2V0OmZ1bmN0aW9uKEIp e3JldHVybih0aGlzLmhhc093blByb3BlcnR5KEIpKT90aGlzW0JdOm51bGw7fSxz ZXQ6ZnVuY3Rpb24oQixDKXtpZighdGhpc1tCXXx8dGhpcy5oYXNPd25Qcm9wZXJ0 eShCKSl7dGhpc1tCXT1DO31yZXR1cm4gdGhpczt9LGVtcHR5OmZ1bmN0aW9uKCl7 QS5lYWNoKHRoaXMsZnVuY3Rpb24oQyxCKXtkZWxldGUgdGhpc1tCXTt9LHRoaXMp O3JldHVybiB0aGlzO30saW5jbHVkZTpmdW5jdGlvbihCLEMpe2lmKHRoaXNbQl09 PXVuZGVmaW5lZCl7dGhpc1tCXT1DO31yZXR1cm4gdGhpczt9LG1hcDpmdW5jdGlv bihCLEMpe3JldHVybiBuZXcgQShPYmplY3QubWFwKHRoaXMsQixDKSk7fSxmaWx0 ZXI6ZnVuY3Rpb24oQixDKXtyZXR1cm4gbmV3IEEoT2JqZWN0LmZpbHRlcih0aGlz LEIsQykpO30sZXZlcnk6ZnVuY3Rpb24oQixDKXtyZXR1cm4gT2JqZWN0LmV2ZXJ5 KHRoaXMsQixDKTt9LHNvbWU6ZnVuY3Rpb24oQixDKXtyZXR1cm4gT2JqZWN0LnNv bWUodGhpcyxCLEMpOwp9LGdldEtleXM6ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0 LmtleXModGhpcyk7fSxnZXRWYWx1ZXM6ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0 LnZhbHVlcyh0aGlzKTt9LHRvUXVlcnlTdHJpbmc6ZnVuY3Rpb24oQil7cmV0dXJu IE9iamVjdC50b1F1ZXJ5U3RyaW5nKHRoaXMsQik7fX0pO0EuYWxpYXMoe2luZGV4 T2Y6ImtleU9mIixjb250YWluczoiaGFzVmFsdWUifSk7fSkoKTtIYXNoLmltcGxl bWVudCh7Z2V0RnJvbVBhdGg6ZnVuY3Rpb24oQSl7cmV0dXJuIE9iamVjdC5nZXRG cm9tUGF0aCh0aGlzLEEpO30sY2xlYW5WYWx1ZXM6ZnVuY3Rpb24oQSl7cmV0dXJu IG5ldyBIYXNoKE9iamVjdC5jbGVhblZhbHVlcyh0aGlzLEEpKTt9LHJ1bjpmdW5j dGlvbigpe09iamVjdC5ydW4oYXJndW1lbnRzKTt9fSk7RWxlbWVudC5pbXBsZW1l bnQoe3RpZHk6ZnVuY3Rpb24oKXt0aGlzLnNldCgidmFsdWUiLHRoaXMuZ2V0KCJ2 YWx1ZSIpLnRpZHkoKSk7fSxnZXRUZXh0SW5SYW5nZTpmdW5jdGlvbihCLEEpe3Jl dHVybiB0aGlzLmdldCgidmFsdWUiKS5zdWJzdHJpbmcoQixBKTsKfSxnZXRTZWxl Y3RlZFRleHQ6ZnVuY3Rpb24oKXtpZih0aGlzLnNldFNlbGVjdGlvblJhbmdlKXty ZXR1cm4gdGhpcy5nZXRUZXh0SW5SYW5nZSh0aGlzLmdldFNlbGVjdGlvblN0YXJ0 KCksdGhpcy5nZXRTZWxlY3Rpb25FbmQoKSk7fXJldHVybiBkb2N1bWVudC5zZWxl Y3Rpb24uY3JlYXRlUmFuZ2UoKS50ZXh0O30sZ2V0U2VsZWN0ZWRSYW5nZTpmdW5j dGlvbigpe2lmKHRoaXMuc2VsZWN0aW9uU3RhcnQhPW51bGwpe3JldHVybntzdGFy dDp0aGlzLnNlbGVjdGlvblN0YXJ0LGVuZDp0aGlzLnNlbGVjdGlvbkVuZH07fXZh ciBFPXtzdGFydDowLGVuZDowfTt2YXIgQT10aGlzLmdldERvY3VtZW50KCkuc2Vs ZWN0aW9uLmNyZWF0ZVJhbmdlKCk7aWYoIUF8fEEucGFyZW50RWxlbWVudCgpIT10 aGlzKXtyZXR1cm4gRTt9dmFyIEM9QS5kdXBsaWNhdGUoKTtpZih0aGlzLnR5cGU9 PSJ0ZXh0Iil7RS5zdGFydD0wLUMubW92ZVN0YXJ0KCJjaGFyYWN0ZXIiLC0xMDAw MDApO0UuZW5kPUUuc3RhcnQrQS50ZXh0Lmxlbmd0aDsKfWVsc2V7dmFyIEI9dGhp

cy5nZXQoInZhbHVlIik7dmFyIEQ9Qi5sZW5ndGg7Qy5tb3ZlVG9FbGVtZW50VGV4 dCh0aGlzKTtDLnNldEVuZFBvaW50KCJTdGFydFRvRW5kIixBKTtpZihDLnRleHQu bGVuZ3RoKXtELT1CLm1hdGNoKC9bXG5ccl0qJC8pWzBdLmxlbmd0aDt9RS5lbmQ9 RC1DLnRleHQubGVuZ3RoO0Muc2V0RW5kUG9pbnQoIlN0YXJ0VG9TdGFydCIsQSk7 RS5zdGFydD1ELUMudGV4dC5sZW5ndGg7fXJldHVybiBFO30sZ2V0U2VsZWN0aW9u U3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRTZWxlY3RlZFJhbmdlKCku c3RhcnQ7fSxnZXRTZWxlY3Rpb25FbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5n ZXRTZWxlY3RlZFJhbmdlKCkuZW5kO30sc2V0Q2FyZXRQb3NpdGlvbjpmdW5jdGlv bihBKXtpZihBPT0iZW5kIil7QT10aGlzLmdldCgidmFsdWUiKS5sZW5ndGg7fXRo aXMuc2VsZWN0UmFuZ2UoQSxBKTtyZXR1cm4gdGhpczt9LGdldENhcmV0UG9zaXRp b246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRTZWxlY3RlZFJhbmdlKCkuc3Rh cnQ7Cn0sc2VsZWN0UmFuZ2U6ZnVuY3Rpb24oRSxBKXtpZih0aGlzLnNldFNlbGVj dGlvblJhbmdlKXt0aGlzLmZvY3VzKCk7dGhpcy5zZXRTZWxlY3Rpb25SYW5nZShF LEEpO31lbHNle3ZhciBDPXRoaXMuZ2V0KCJ2YWx1ZSIpO3ZhciBEPUMuc3Vic3Ry KEUsQS1FKS5yZXBsYWNlKC9cci9nLCIiKS5sZW5ndGg7RT1DLnN1YnN0cigwLEUp LnJlcGxhY2UoL1xyL2csIiIpLmxlbmd0aDt2YXIgQj10aGlzLmNyZWF0ZVRleHRS YW5nZSgpO0IuY29sbGFwc2UodHJ1ZSk7Qi5tb3ZlRW5kKCJjaGFyYWN0ZXIiLEUr RCk7Qi5tb3ZlU3RhcnQoImNoYXJhY3RlciIsRSk7Qi5zZWxlY3QoKTt9cmV0dXJu IHRoaXM7fSxpbnNlcnRBdEN1cnNvcjpmdW5jdGlvbihCLEEpe3ZhciBEPXRoaXMu Z2V0U2VsZWN0ZWRSYW5nZSgpO3ZhciBDPXRoaXMuZ2V0KCJ2YWx1ZSIpO3RoaXMu c2V0KCJ2YWx1ZSIsQy5zdWJzdHJpbmcoMCxELnN0YXJ0KStCK0Muc3Vic3RyaW5n KEQuZW5kLEMubGVuZ3RoKSk7aWYoQSE9PWZhbHNlKXt0aGlzLnNlbGVjdFJhbmdl KEQuc3RhcnQsRC5zdGFydCtCLmxlbmd0aCk7Cn1lbHNle3RoaXMuc2V0Q2FyZXRQ b3NpdGlvbihELnN0YXJ0K0IubGVuZ3RoKTt9cmV0dXJuIHRoaXM7fSxpbnNlcnRB cm91bmRDdXJzb3I6ZnVuY3Rpb24oQixBKXtCPU9iamVjdC5hcHBlbmQoe2JlZm9y ZToiIixkZWZhdWx0TWlkZGxlOiIiLGFmdGVyOiIifSxCKTt2YXIgQz10aGlzLmdl dFNlbGVjdGVkVGV4dCgpfHxCLmRlZmF1bHRNaWRkbGU7dmFyIEc9dGhpcy5nZXRT ZWxlY3RlZFJhbmdlKCk7dmFyIEY9dGhpcy5nZXQoInZhbHVlIik7aWYoRy5zdGFy dD09Ry5lbmQpe3RoaXMuc2V0KCJ2YWx1ZSIsRi5zdWJzdHJpbmcoMCxHLnN0YXJ0 KStCLmJlZm9yZStDK0IuYWZ0ZXIrRi5zdWJzdHJpbmcoRy5lbmQsRi5sZW5ndGgp KTt0aGlzLnNlbGVjdFJhbmdlKEcuc3RhcnQrQi5iZWZvcmUubGVuZ3RoLEcuZW5k K0IuYmVmb3JlLmxlbmd0aCtDLmxlbmd0aCk7fWVsc2V7dmFyIEQ9Ri5zdWJzdHJp bmcoRy5zdGFydCxHLmVuZCk7dGhpcy5zZXQoInZhbHVlIixGLnN1YnN0cmluZygw LEcuc3RhcnQpK0IuYmVmb3JlK0QrQi5hZnRlcitGLnN1YnN0cmluZyhHLmVuZCxG Lmxlbmd0aCkpOwp2YXIgRT1HLnN0YXJ0K0IuYmVmb3JlLmxlbmd0aDtpZihBIT09 ZmFsc2Upe3RoaXMuc2VsZWN0UmFuZ2UoRSxFK0QubGVuZ3RoKTt9ZWxzZXt0aGlz LnNldENhcmV0UG9zaXRpb24oRStGLmxlbmd0aCk7fX1yZXR1cm4gdGhpczt9fSk7 KGZ1bmN0aW9uKCl7dmFyIEQ9e30sQz1bIm9uY2UiLCJ0aHJvdHRsZSIsInBhdXNl Il0sQj1DLmxlbmd0aDt3aGlsZShCLS0pe0RbQ1tCXV09RXZlbnRzLmxvb2t1cFBz ZXVkbyhDW0JdKTt9RXZlbnQuZGVmaW5lUHNldWRvPWZ1bmN0aW9uKEUsRil7RFtF XT1UeXBlLmlzRnVuY3Rpb24oRik/e2xpc3RlbmVyOkZ9OkY7cmV0dXJuIHRoaXM7 fTt2YXIgQT1FbGVtZW50LnByb3RvdHlwZTtbRWxlbWVudCxXaW5kb3csRG9jdW1l bnRdLmludm9rZSgiaW1wbGVtZW50IixFdmVudHMuUHNldWRvcyhELEEuYWRkRXZl bnQsQS5yZW1vdmVFdmVudCkpO30pKCk7KGZ1bmN0aW9uKCl7dmFyIEI9ISh3aW5k b3cuYXR0YWNoRXZlbnQmJiF3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciksRj1FbGVt ZW50Lk5hdGl2ZUV2ZW50czsKRi5mb2N1c2luPTI7Ri5mb2N1c291dD0yO3ZhciBD PWZ1bmN0aW9uKEgsSyxJKXt2YXIgSj1FbGVtZW50LkV2ZW50c1tILmV2ZW50XSxM O2lmKEope0w9Si5jb25kaXRpb247fXJldHVybiBTbGljay5tYXRjaChLLEgudmFs dWUpJiYoIUx8fEwuY2FsbChLLEkpKTt9O3ZhciBFPWZ1bmN0aW9uKEgsSixJKXtm b3IodmFyIEs9Si50YXJnZXQ7SyYmSyE9dGhpcztLPWRvY3VtZW50LmlkKEsucGFy ZW50Tm9kZSkpe2lmKEsmJkMoSCxLLEopKXtyZXR1cm4gSS5jYWxsKEssSixLKTt9 fX07dmFyIEc9ZnVuY3Rpb24oSCl7dmFyIEk9IiRkZWxlZ2F0aW9uOiI7cmV0dXJu e2Jhc2U6ImZvY3VzaW4iLG9uUmVtb3ZlOmZ1bmN0aW9uKEope0oucmV0cmlldmUo SSsiZm9ybXMiLFtdKS5lYWNoKGZ1bmN0aW9uKEspe0sucmV0cmlldmUoSSsibGlz dGVuZXJzIixbXSkuZWFjaChmdW5jdGlvbihMKXtLLnJlbW92ZUV2ZW50KEgsTCk7 fSk7Sy5lbGltaW5hdGUoSStIKyJsaXN0ZW5lcnMiKS5lbGltaW5hdGUoSStIKyJv cmlnaW5hbEZuIik7Cn0pO30sbGlzdGVuZXI6ZnVuY3Rpb24oUixTLFEsVCxWKXt2 YXIgSz1RWzBdLEo9dGhpcy5yZXRyaWV2ZShJKyJmb3JtcyIsW10pLFA9Sy50YXJn ZXQsTT0oUC5nZXQoInRhZyIpPT0iZm9ybSIpP1A6Sy50YXJnZXQuZ2V0UGFyZW50 KCJmb3JtIik7aWYoIU0pe3JldHVybiA7fXZhciBPPU0ucmV0cmlldmUoSSsib3Jp

Z2luYWxGbiIsW10pLEw9TS5yZXRyaWV2ZShJKyJsaXN0ZW5lcnMiLFtdKSxVPXRo aXM7Si5pbmNsdWRlKE0pO3RoaXMuc3RvcmUoSSsiZm9ybXMiLEopO2lmKCFPLmNv bnRhaW5zKFMpKXt2YXIgTj1mdW5jdGlvbihXKXtFLmNhbGwoVSxSLFcsUyk7fTtN LmFkZEV2ZW50KEgsTik7Ty5wdXNoKFMpO0wucHVzaChOKTtNLnN0b3JlKEkrSCsi b3JpZ2luYWxGbiIsTykuc3RvcmUoSStIKyJsaXN0ZW5lcnMiLEwpO319fTt9O3Zh ciBBPWZ1bmN0aW9uKEgpe3JldHVybntiYXNlOiJmb2N1c2luIixsaXN0ZW5lcjpm dW5jdGlvbihMLE0sSil7dmFyIEs9e2JsdXI6ZnVuY3Rpb24oKXt0aGlzLnJlbW92 ZUV2ZW50cyhLKTsKfX0sST10aGlzO0tbSF09ZnVuY3Rpb24oTil7RS5jYWxsKEks TCxOLE0pO307SlswXS50YXJnZXQuYWRkRXZlbnRzKEspO319O307dmFyIEQ9e21v dXNlZW50ZXI6e2Jhc2U6Im1vdXNlb3ZlciJ9LG1vdXNlbGVhdmU6e2Jhc2U6Im1v dXNlb3V0In0sZm9jdXM6e2Jhc2U6ImZvY3VzIisoQj8iIjoiaW4iKSxhcmdzOlt0 cnVlXX0sYmx1cjp7YmFzZTpCPyJibHVyIjoiZm9jdXNvdXQiLGFyZ3M6W3RydWVd fX07aWYoIUIpe09iamVjdC5hcHBlbmQoRCx7c3VibWl0OkcoInN1Ym1pdCIpLHJl c2V0OkcoInJlc2V0IiksY2hhbmdlOkEoImNoYW5nZSIpLHNlbGVjdDpBKCJzZWxl Y3QiKX0pO31FdmVudC5kZWZpbmVQc2V1ZG8oInJlbGF5Iix7bGlzdGVuZXI6ZnVu Y3Rpb24oSSxKLEgpe0UuY2FsbCh0aGlzLEksSFswXSxKKTt9LG9wdGlvbnM6RH0p O30pKCk7KGZ1bmN0aW9uKCl7dmFyIEI9ZnVuY3Rpb24oRSxEKXt2YXIgRj1bXTtP YmplY3QuZWFjaChELGZ1bmN0aW9uKEcpe09iamVjdC5lYWNoKEcsZnVuY3Rpb24o SCl7RS5lYWNoKGZ1bmN0aW9uKEkpe0YucHVzaChJKyItIitIKyhJPT0iYm9yZGVy Ij8iLXdpZHRoIjoiIikpOwp9KTt9KTt9KTtyZXR1cm4gRjt9O3ZhciBDPWZ1bmN0 aW9uKEYsRSl7dmFyIEQ9MDtPYmplY3QuZWFjaChFLGZ1bmN0aW9uKEgsRyl7aWYo Ry50ZXN0KEYpKXtEPUQrSC50b0ludCgpO319KTtyZXR1cm4gRDt9O3ZhciBBPWZ1 bmN0aW9uKEQpe3JldHVybiAhISghRHx8RC5vZmZzZXRIZWlnaHR8fEQub2Zmc2V0 V2lkdGgpO307RWxlbWVudC5pbXBsZW1lbnQoe21lYXN1cmU6ZnVuY3Rpb24oSCl7 aWYoQSh0aGlzKSl7cmV0dXJuIEguY2FsbCh0aGlzKTt9dmFyIEc9dGhpcy5nZXRQ YXJlbnQoKSxFPVtdO3doaWxlKCFBKEcpJiZHIT1kb2N1bWVudC5ib2R5KXtFLnB1 c2goRy5leHBvc2UoKSk7Rz1HLmdldFBhcmVudCgpO312YXIgRj10aGlzLmV4cG9z ZSgpLEQ9SC5jYWxsKHRoaXMpO0YoKTtFLmVhY2goZnVuY3Rpb24oSSl7SSgpO30p O3JldHVybiBEO30sZXhwb3NlOmZ1bmN0aW9uKCl7aWYodGhpcy5nZXRTdHlsZSgi ZGlzcGxheSIpIT0ibm9uZSIpe3JldHVybiBmdW5jdGlvbigpe307Cn12YXIgRD10 aGlzLnN0eWxlLmNzc1RleHQ7dGhpcy5zZXRTdHlsZXMoe2Rpc3BsYXk6ImJsb2Nr Iixwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiJ9KTtyZXR1 cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLmNzc1RleHQ9RDt9LmJpbmQodGhpcyk7 fSxnZXREaW1lbnNpb25zOmZ1bmN0aW9uKEQpe0Q9T2JqZWN0Lm1lcmdlKHtjb21w dXRlU2l6ZTpmYWxzZX0sRCk7dmFyIEg9e3g6MCx5OjB9O3ZhciBHPWZ1bmN0aW9u KEosSSl7cmV0dXJuKEkuY29tcHV0ZVNpemUpP0ouZ2V0Q29tcHV0ZWRTaXplKEkp OkouZ2V0U2l6ZSgpO307dmFyIEU9dGhpcy5nZXRQYXJlbnQoImJvZHkiKTtpZihF JiZ0aGlzLmdldFN0eWxlKCJkaXNwbGF5Iik9PSJub25lIil7SD10aGlzLm1lYXN1 cmUoZnVuY3Rpb24oKXtyZXR1cm4gRyh0aGlzLEQpO30pO31lbHNle2lmKEUpe3Ry eXtIPUcodGhpcyxEKTt9Y2F0Y2goRil7fX19cmV0dXJuIE9iamVjdC5hcHBlbmQo SCwoSC54fHxILng9PT0wKT97d2lkdGg6SC54LGhlaWdodDpILnl9Ont4Okgud2lk dGgseTpILmhlaWdodH0pOwp9LGdldENvbXB1dGVkU2l6ZTpmdW5jdGlvbihEKXtE PU9iamVjdC5tZXJnZSh7c3R5bGVzOlsicGFkZGluZyIsImJvcmRlciJdLHBsYW5l czp7aGVpZ2h0OlsidG9wIiwiYm90dG9tIl0sd2lkdGg6WyJsZWZ0IiwicmlnaHQi XX0sbW9kZToiYm90aCJ9LEQpO3ZhciBHPXt9LEU9e3dpZHRoOjAsaGVpZ2h0OjB9 LEY7aWYoRC5tb2RlPT0idmVydGljYWwiKXtkZWxldGUgRS53aWR0aDtkZWxldGUg RC5wbGFuZXMud2lkdGg7fWVsc2V7aWYoRC5tb2RlPT0iaG9yaXpvbnRhbCIpe2Rl bGV0ZSBFLmhlaWdodDtkZWxldGUgRC5wbGFuZXMuaGVpZ2h0O319QihELnN0eWxl cyxELnBsYW5lcykuZWFjaChmdW5jdGlvbihIKXtHW0hdPXRoaXMuZ2V0U3R5bGUo SCkudG9JbnQoKTt9LHRoaXMpO09iamVjdC5lYWNoKEQucGxhbmVzLGZ1bmN0aW9u KEksSCl7dmFyIEs9SC5jYXBpdGFsaXplKCksSj10aGlzLmdldFN0eWxlKEgpO2lm KEo9PSJhdXRvIiYmIUYpe0Y9dGhpcy5nZXREaW1lbnNpb25zKCk7Cn1KPUdbSF09 KEo9PSJhdXRvIik/RltIXTpKLnRvSW50KCk7RVsidG90YWwiK0tdPUo7SS5lYWNo KGZ1bmN0aW9uKE0pe3ZhciBMPUMoTSxHKTtFWyJjb21wdXRlZCIrTS5jYXBpdGFs aXplKCldPUw7RVsidG90YWwiK0tdKz1MO30pO30sdGhpcyk7cmV0dXJuIE9iamVj dC5hcHBlbmQoRSxHKTt9fSk7fSkoKTtGeC5FbGVtZW50cz1uZXcgQ2xhc3Moe0V4 dGVuZHM6RnguQ1NTLGluaXRpYWxpemU6ZnVuY3Rpb24oQixBKXt0aGlzLmVsZW1l bnRzPXRoaXMuc3ViamVjdD0kJChCKTt0aGlzLnBhcmVudChBKTt9LGNvbXB1dGU6 ZnVuY3Rpb24oRyxILEkpe3ZhciBDPXt9O2Zvcih2YXIgRCBpbiBHKXt2YXIgQT1H W0RdLEU9SFtEXSxGPUNbRF09e307Zm9yKHZhciBCIGluIEEpe0ZbQl09dGhpcy5w

YXJlbnQoQVtCXSxFW0JdLEkpO319cmV0dXJuIEM7fSxzZXQ6ZnVuY3Rpb24oQil7 Zm9yKHZhciBDIGluIEIpe2lmKCF0aGlzLmVsZW1lbnRzW0NdKXtjb250aW51ZTt9 dmFyIEE9QltDXTtmb3IodmFyIEQgaW4gQSl7dGhpcy5yZW5kZXIodGhpcy5lbGVt ZW50c1tDXSxELEFbRF0sdGhpcy5vcHRpb25zLnVuaXQpOwp9fXJldHVybiB0aGlz O30sc3RhcnQ6ZnVuY3Rpb24oQyl7aWYoIXRoaXMuY2hlY2soQykpe3JldHVybiB0 aGlzO312YXIgSD17fSxJPXt9O2Zvcih2YXIgRCBpbiBDKXtpZighdGhpcy5lbGVt ZW50c1tEXSl7Y29udGludWU7fXZhciBGPUNbRF0sQT1IW0RdPXt9LEc9SVtEXT17 fTtmb3IodmFyIEIgaW4gRil7dmFyIEU9dGhpcy5wcmVwYXJlKHRoaXMuZWxlbWVu dHNbRF0sQixGW0JdKTtBW0JdPUUuZnJvbTtHW0JdPUUudG87fX1yZXR1cm4gdGhp cy5wYXJlbnQoSCxJKTt9fSk7RnguQWNjb3JkaW9uPW5ldyBDbGFzcyh7RXh0ZW5k czpGeC5FbGVtZW50cyxvcHRpb25zOntmaXhlZEhlaWdodDpmYWxzZSxmaXhlZFdp ZHRoOmZhbHNlLGRpc3BsYXk6MCxzaG93OmZhbHNlLGhlaWdodDp0cnVlLHdpZHRo OmZhbHNlLG9wYWNpdHk6dHJ1ZSxhbHdheXNIaWRlOmZhbHNlLHRyaWdnZXI6ImNs aWNrIixpbml0aWFsRGlzcGxheUZ4OnRydWUscmVzZXRIZWlnaHQ6dHJ1ZX0saW5p dGlhbGl6ZTpmdW5jdGlvbigpe3ZhciBHPWZ1bmN0aW9uKEgpe3JldHVybiBIIT1u dWxsOwp9O3ZhciBGPUFycmF5LmxpbmsoYXJndW1lbnRzLHtjb250YWluZXI6VHlw ZS5pc0VsZW1lbnQsb3B0aW9uczpUeXBlLmlzT2JqZWN0LHRvZ2dsZXJzOkcsZWxl bWVudHM6R30pO3RoaXMucGFyZW50KEYuZWxlbWVudHMsRi5vcHRpb25zKTt2YXIg Qj10aGlzLm9wdGlvbnMsRT10aGlzLnRvZ2dsZXJzPSQkKEYudG9nZ2xlcnMpO3Ro aXMucHJldmlvdXM9LTE7dGhpcy5pbnRlcm5hbENoYWluPW5ldyBDaGFpbigpO2lm KEIuYWx3YXlzSGlkZSl7dGhpcy5vcHRpb25zLmxpbms9ImNoYWluIjt9aWYoQi5z aG93fHx0aGlzLm9wdGlvbnMuc2hvdz09PTApe0IuZGlzcGxheT1mYWxzZTt0aGlz LnByZXZpb3VzPUIuc2hvdzt9aWYoQi5zdGFydCl7Qi5kaXNwbGF5PWZhbHNlO0Iu c2hvdz1mYWxzZTt9dmFyIEQ9dGhpcy5lZmZlY3RzPXt9O2lmKEIub3BhY2l0eSl7 RC5vcGFjaXR5PSJmdWxsT3BhY2l0eSI7fWlmKEIud2lkdGgpe0Qud2lkdGg9Qi5m aXhlZFdpZHRoPyJmdWxsV2lkdGgiOiJvZmZzZXRXaWR0aCI7Cn1pZihCLmhlaWdo dCl7RC5oZWlnaHQ9Qi5maXhlZEhlaWdodD8iZnVsbEhlaWdodCI6InNjcm9sbEhl aWdodCI7fWZvcih2YXIgQz0wLEE9RS5sZW5ndGg7QzxBO0MrKyl7dGhpcy5hZGRT ZWN0aW9uKEVbQ10sdGhpcy5lbGVtZW50c1tDXSk7fXRoaXMuZWxlbWVudHMuZWFj aChmdW5jdGlvbihJLEgpe2lmKEIuc2hvdz09PUgpe3RoaXMuZmlyZUV2ZW50KCJh Y3RpdmUiLFtFW0hdLEldKTt9ZWxzZXtmb3IodmFyIEogaW4gRCl7SS5zZXRTdHls ZShKLDApO319fSx0aGlzKTtpZihCLmRpc3BsYXl8fEIuZGlzcGxheT09PTB8fEIu aW5pdGlhbERpc3BsYXlGeD09PWZhbHNlKXt0aGlzLmRpc3BsYXkoQi5kaXNwbGF5 LEIuaW5pdGlhbERpc3BsYXlGeCk7fWlmKEIuZml4ZWRIZWlnaHQhPT1mYWxzZSl7 Qi5yZXNldEhlaWdodD1mYWxzZTt9dGhpcy5hZGRFdmVudCgiY29tcGxldGUiLHRo aXMuaW50ZXJuYWxDaGFpbi5jYWxsQ2hhaW4uYmluZCh0aGlzLmludGVybmFsQ2hh aW4pKTt9LGFkZFNlY3Rpb246ZnVuY3Rpb24oRyxEKXtHPWRvY3VtZW50LmlkKEcp OwpEPWRvY3VtZW50LmlkKEQpO3RoaXMudG9nZ2xlcnMuaW5jbHVkZShHKTt0aGlz LmVsZW1lbnRzLmluY2x1ZGUoRCk7dmFyIEY9dGhpcy50b2dnbGVycyxDPXRoaXMu b3B0aW9ucyxIPUYuY29udGFpbnMoRyksQT1GLmluZGV4T2YoRyksQj10aGlzLmRp c3BsYXkucGFzcyhBLHRoaXMpO0cuc3RvcmUoImFjY29yZGlvbjpkaXNwbGF5IixC KS5hZGRFdmVudChDLnRyaWdnZXIsQik7aWYoQy5oZWlnaHQpe0Quc2V0U3R5bGVz KHsicGFkZGluZy10b3AiOjAsImJvcmRlci10b3AiOiJub25lIiwicGFkZGluZy1i b3R0b20iOjAsImJvcmRlci1ib3R0b20iOiJub25lIn0pO31pZihDLndpZHRoKXtE LnNldFN0eWxlcyh7InBhZGRpbmctbGVmdCI6MCwiYm9yZGVyLWxlZnQiOiJub25l IiwicGFkZGluZy1yaWdodCI6MCwiYm9yZGVyLXJpZ2h0Ijoibm9uZSJ9KTt9RC5m dWxsT3BhY2l0eT0xO2lmKEMuZml4ZWRXaWR0aCl7RC5mdWxsV2lkdGg9Qy5maXhl ZFdpZHRoO31pZihDLmZpeGVkSGVpZ2h0KXtELmZ1bGxIZWlnaHQ9Qy5maXhlZEhl aWdodDsKfUQuc2V0U3R5bGUoIm92ZXJmbG93IiwiaGlkZGVuIik7aWYoIUgpe2Zv cih2YXIgRSBpbiB0aGlzLmVmZmVjdHMpe0Quc2V0U3R5bGUoRSwwKTt9fXJldHVy biB0aGlzO30scmVtb3ZlU2VjdGlvbjpmdW5jdGlvbihGLEIpe3ZhciBFPXRoaXMu dG9nZ2xlcnMsQT1FLmluZGV4T2YoRiksQz10aGlzLmVsZW1lbnRzW0FdO3ZhciBE PWZ1bmN0aW9uKCl7RS5lcmFzZShGKTt0aGlzLmVsZW1lbnRzLmVyYXNlKEMpO3Ro aXMuZGV0YWNoKEYpO30uYmluZCh0aGlzKTtpZih0aGlzLm5vdz09QXx8QiE9bnVs bCl7dGhpcy5kaXNwbGF5KEIhPW51bGw/QjooQS0xPj0wP0EtMTowKSkuY2hhaW4o RCk7fWVsc2V7RCgpO31yZXR1cm4gdGhpczt9LGRldGFjaDpmdW5jdGlvbihCKXt2 YXIgQT1mdW5jdGlvbihDKXtDLnJlbW92ZUV2ZW50KHRoaXMub3B0aW9ucy50cmln Z2VyLEMucmV0cmlldmUoImFjY29yZGlvbjpkaXNwbGF5IikpO30uYmluZCh0aGlz KTtpZighQil7dGhpcy50b2dnbGVycy5lYWNoKEEpOwp9ZWxzZXtBKEIpO31yZXR1 cm4gdGhpczt9LGRpc3BsYXk6ZnVuY3Rpb24oQixDKXtpZighdGhpcy5jaGVjayhC

LEMpKXtyZXR1cm4gdGhpczt9dmFyIEg9e30sRz10aGlzLmVsZW1lbnRzLEE9dGhp cy5vcHRpb25zLEY9dGhpcy5lZmZlY3RzO2lmKEM9PW51bGwpe0M9dHJ1ZTt9aWYo dHlwZU9mKEIpPT0iZWxlbWVudCIpe0I9Ry5pbmRleE9mKEIpO31pZihCPT10aGlz LnByZXZpb3VzJiYhQS5hbHdheXNIaWRlKXtyZXR1cm4gdGhpczt9aWYoQS5yZXNl dEhlaWdodCl7dmFyIEU9R1t0aGlzLnByZXZpb3VzXTtpZihFJiYhdGhpcy5zZWxm SGlkZGVuKXtmb3IodmFyIEQgaW4gRil7RS5zZXRTdHlsZShELEVbRltEXV0pO319 fWlmKCh0aGlzLnRpbWVyJiZBLmxpbms9PSJjaGFpbiIpfHwoQj09PXRoaXMucHJl dmlvdXMmJiFBLmFsd2F5c0hpZGUpKXtyZXR1cm4gdGhpczt9dGhpcy5wcmV2aW91 cz1CO3RoaXMuc2VsZkhpZGRlbj1mYWxzZTtHLmVhY2goZnVuY3Rpb24oSyxKKXtI W0pdPXt9Owp2YXIgSTtpZihKIT1CKXtJPXRydWU7fWVsc2V7aWYoQS5hbHdheXNI aWRlJiYoKEsub2Zmc2V0SGVpZ2h0PjAmJkEuaGVpZ2h0KXx8Sy5vZmZzZXRXaWR0 aD4wJiZBLndpZHRoKSl7ST10cnVlO3RoaXMuc2VsZkhpZGRlbj10cnVlO319dGhp cy5maXJlRXZlbnQoST8iYmFja2dyb3VuZCI6ImFjdGl2ZSIsW3RoaXMudG9nZ2xl cnNbSl0sS10pO2Zvcih2YXIgTCBpbiBGKXtIW0pdW0xdPUk/MDpLW0ZbTF1dO31p ZighQyYmIUkmJkEucmVzZXRIZWlnaHQpe0hbSl0uaGVpZ2h0PSJhdXRvIjt9fSx0 aGlzKTt0aGlzLmludGVybmFsQ2hhaW4uY2xlYXJDaGFpbigpO3RoaXMuaW50ZXJu YWxDaGFpbi5jaGFpbihmdW5jdGlvbigpe2lmKEEucmVzZXRIZWlnaHQmJiF0aGlz LnNlbGZIaWRkZW4pe3ZhciBJPUdbQl07aWYoSSl7SS5zZXRTdHlsZSgiaGVpZ2h0 IiwiYXV0byIpO319fS5iaW5kKHRoaXMpKTtyZXR1cm4gQz90aGlzLnN0YXJ0KEgp OnRoaXMuc2V0KEgpLmludGVybmFsQ2hhaW4uY2FsbENoYWluKCk7Cn19KTsoZnVu Y3Rpb24oKXtGeC5TY3JvbGw9bmV3IENsYXNzKHtFeHRlbmRzOkZ4LG9wdGlvbnM6 e29mZnNldDp7eDowLHk6MH0sd2hlZWxTdG9wczp0cnVlfSxpbml0aWFsaXplOmZ1 bmN0aW9uKEMsQil7dGhpcy5lbGVtZW50PXRoaXMuc3ViamVjdD1kb2N1bWVudC5p ZChDKTt0aGlzLnBhcmVudChCKTtpZih0eXBlT2YodGhpcy5lbGVtZW50KSE9ImVs ZW1lbnQiKXt0aGlzLmVsZW1lbnQ9ZG9jdW1lbnQuaWQodGhpcy5lbGVtZW50Lmdl dERvY3VtZW50KCkuYm9keSk7fWlmKHRoaXMub3B0aW9ucy53aGVlbFN0b3BzKXt2 YXIgRD10aGlzLmVsZW1lbnQsRT10aGlzLmNhbmNlbC5wYXNzKGZhbHNlLHRoaXMp O3RoaXMuYWRkRXZlbnQoInN0YXJ0IixmdW5jdGlvbigpe0QuYWRkRXZlbnQoIm1v dXNld2hlZWwiLEUpO30sdHJ1ZSk7dGhpcy5hZGRFdmVudCgiY29tcGxldGUiLGZ1 bmN0aW9uKCl7RC5yZW1vdmVFdmVudCgibW91c2V3aGVlbCIsRSk7fSx0cnVlKTt9 fSxzZXQ6ZnVuY3Rpb24oKXt2YXIgQj1BcnJheS5mbGF0dGVuKGFyZ3VtZW50cyk7 CmlmKEJyb3dzZXIuZmlyZWZveCl7Qj1bTWF0aC5yb3VuZChCWzBdKSxNYXRoLnJv dW5kKEJbMV0pXTt9dGhpcy5lbGVtZW50LnNjcm9sbFRvKEJbMF0sQlsxXSk7cmV0 dXJuIHRoaXM7fSxjb21wdXRlOmZ1bmN0aW9uKEQsQyxCKXtyZXR1cm5bMCwxXS5t YXAoZnVuY3Rpb24oRSl7cmV0dXJuIEZ4LmNvbXB1dGUoRFtFXSxDW0VdLEIpO30p O30sc3RhcnQ6ZnVuY3Rpb24oQyxEKXtpZighdGhpcy5jaGVjayhDLEQpKXtyZXR1 cm4gdGhpczt9dmFyIEI9dGhpcy5lbGVtZW50LmdldFNjcm9sbCgpO3JldHVybiB0 aGlzLnBhcmVudChbQi54LEIueV0sW0MsRF0pO30sY2FsY3VsYXRlU2Nyb2xsOmZ1 bmN0aW9uKEcsRil7dmFyIEQ9dGhpcy5lbGVtZW50LEI9RC5nZXRTY3JvbGxTaXpl KCksSD1ELmdldFNjcm9sbCgpLEo9RC5nZXRTaXplKCksQz10aGlzLm9wdGlvbnMu b2Zmc2V0LEk9e3g6Ryx5OkZ9O2Zvcih2YXIgRSBpbiBJKXtpZighSVtFXSYmSVtF XSE9PTApe0lbRV09SFtFXTt9aWYodHlwZU9mKElbRV0pIT0ibnVtYmVyIil7SVtF XT1CW0VdLUpbRV07Cn1JW0VdKz1DW0VdO31yZXR1cm5bSS54LEkueV07fSx0b1Rv cDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXJ0LmFwcGx5KHRoaXMsdGhpcy5j YWxjdWxhdGVTY3JvbGwoZmFsc2UsMCkpO30sdG9MZWZ0OmZ1bmN0aW9uKCl7cmV0 dXJuIHRoaXMuc3RhcnQuYXBwbHkodGhpcyx0aGlzLmNhbGN1bGF0ZVNjcm9sbCgw LGZhbHNlKSk7fSx0b1JpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnQu YXBwbHkodGhpcyx0aGlzLmNhbGN1bGF0ZVNjcm9sbCgicmlnaHQiLGZhbHNlKSk7 fSx0b0JvdHRvbTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXJ0LmFwcGx5KHRo aXMsdGhpcy5jYWxjdWxhdGVTY3JvbGwoZmFsc2UsImJvdHRvbSIpKTt9LHRvRWxl bWVudDpmdW5jdGlvbihELEUpe0U9RT9BcnJheS5mcm9tKEUpOlsieCIsInkiXTt2 YXIgQz1BKHRoaXMuZWxlbWVudCk/e3g6MCx5OjB9OnRoaXMuZWxlbWVudC5nZXRT Y3JvbGwoKTt2YXIgQj1PYmplY3QubWFwKGRvY3VtZW50LmlkKEQpLmdldFBvc2l0 aW9uKHRoaXMuZWxlbWVudCksZnVuY3Rpb24oRyxGKXtyZXR1cm4gRS5jb250YWlu cyhGKT9HK0NbRl06ZmFsc2U7Cn0pO3JldHVybiB0aGlzLnN0YXJ0LmFwcGx5KHRo aXMsdGhpcy5jYWxjdWxhdGVTY3JvbGwoQi54LEIueSkpO30sdG9FbGVtZW50RWRn ZTpmdW5jdGlvbihELEcsRSl7Rz1HP0FycmF5LmZyb20oRyk6WyJ4IiwieSJdO0Q9 ZG9jdW1lbnQuaWQoRCk7dmFyIEk9e30sRj1ELmdldFBvc2l0aW9uKHRoaXMuZWxl bWVudCksSj1ELmdldFNpemUoKSxIPXRoaXMuZWxlbWVudC5nZXRTY3JvbGwoKSxC PXRoaXMuZWxlbWVudC5nZXRTaXplKCksQz17eDpGLngrSi54LHk6Ri55K0oueX07

WyJ4IiwieSJdLmVhY2goZnVuY3Rpb24oSyl7aWYoRy5jb250YWlucyhLKSl7aWYo Q1tLXT5IW0tdK0JbS10pe0lbS109Q1tLXS1CW0tdO31pZihGW0tdPEhbS10pe0lb S109RltLXTt9fWlmKElbS109PW51bGwpe0lbS109SFtLXTt9aWYoRSYmRVtLXSl7 SVtLXT1JW0tdK0VbS107fX0sdGhpcyk7aWYoSS54IT1ILnh8fEkueSE9SC55KXt0 aGlzLnN0YXJ0KEkueCxJLnkpO31yZXR1cm4gdGhpczt9LHRvRWxlbWVudENlbnRl cjpmdW5jdGlvbihFLEYsSCl7Rj1GP0FycmF5LmZyb20oRik6WyJ4IiwieSJdOwpF PWRvY3VtZW50LmlkKEUpO3ZhciBJPXt9LEM9RS5nZXRQb3NpdGlvbih0aGlzLmVs ZW1lbnQpLEQ9RS5nZXRTaXplKCksQj10aGlzLmVsZW1lbnQuZ2V0U2Nyb2xsKCks Rz10aGlzLmVsZW1lbnQuZ2V0U2l6ZSgpO1sieCIsInkiXS5lYWNoKGZ1bmN0aW9u KEope2lmKEYuY29udGFpbnMoSikpe0lbSl09Q1tKXS0oR1tKXS1EW0pdKS8yO31p ZihJW0pdPT1udWxsKXtJW0pdPUJbSl07fWlmKEgmJkhbSl0pe0lbSl09SVtKXStI W0pdO319LHRoaXMpO2lmKEkueCE9Qi54fHxJLnkhPUIueSl7dGhpcy5zdGFydChJ LngsSS55KTt9cmV0dXJuIHRoaXM7fX0pO2Z1bmN0aW9uIEEoQil7cmV0dXJuKC9e KD86Ym9keXxodG1sKSQvaSkudGVzdChCLnRhZ05hbWUpO319KSgpO0Z4LlNsaWRl PW5ldyBDbGFzcyh7RXh0ZW5kczpGeCxvcHRpb25zOnttb2RlOiJ2ZXJ0aWNhbCIs d3JhcHBlcjpmYWxzZSxoaWRlT3ZlcmZsb3c6dHJ1ZSxyZXNldEhlaWdodDpmYWxz ZX0saW5pdGlhbGl6ZTpmdW5jdGlvbihCLEEpe0I9dGhpcy5lbGVtZW50PXRoaXMu c3ViamVjdD1kb2N1bWVudC5pZChCKTsKdGhpcy5wYXJlbnQoQSk7QT10aGlzLm9w dGlvbnM7dmFyIEQ9Qi5yZXRyaWV2ZSgid3JhcHBlciIpLEM9Qi5nZXRTdHlsZXMo Im1hcmdpbiIsInBvc2l0aW9uIiwib3ZlcmZsb3ciKTtpZihBLmhpZGVPdmVyZmxv dyl7Qz1PYmplY3QuYXBwZW5kKEMse292ZXJmbG93OiJoaWRkZW4ifSk7fWlmKEEu d3JhcHBlcil7RD1kb2N1bWVudC5pZChBLndyYXBwZXIpLnNldFN0eWxlcyhDKTt9 aWYoIUQpe0Q9bmV3IEVsZW1lbnQoImRpdiIse3N0eWxlczpDfSkud3JhcHMoQik7 fUIuc3RvcmUoIndyYXBwZXIiLEQpLnNldFN0eWxlKCJtYXJnaW4iLDApO2lmKEIu Z2V0U3R5bGUoIm92ZXJmbG93Iik9PSJ2aXNpYmxlIil7Qi5zZXRTdHlsZSgib3Zl cmZsb3ciLCJoaWRkZW4iKTt9dGhpcy5ub3c9W107dGhpcy5vcGVuPXRydWU7dGhp cy53cmFwcGVyPUQ7dGhpcy5hZGRFdmVudCgiY29tcGxldGUiLGZ1bmN0aW9uKCl7 dGhpcy5vcGVuPShEWyJvZmZzZXQiK3RoaXMubGF5b3V0LmNhcGl0YWxpemUoKV0h PTApOwppZih0aGlzLm9wZW4mJnRoaXMub3B0aW9ucy5yZXNldEhlaWdodCl7RC5z ZXRTdHlsZSgiaGVpZ2h0IiwiIik7fX0sdHJ1ZSk7fSx2ZXJ0aWNhbDpmdW5jdGlv bigpe3RoaXMubWFyZ2luPSJtYXJnaW4tdG9wIjt0aGlzLmxheW91dD0iaGVpZ2h0 Ijt0aGlzLm9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0SGVpZ2h0O30saG9yaXpv bnRhbDpmdW5jdGlvbigpe3RoaXMubWFyZ2luPSJtYXJnaW4tbGVmdCI7dGhpcy5s YXlvdXQ9IndpZHRoIjt0aGlzLm9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0V2lk dGg7fSxzZXQ6ZnVuY3Rpb24oQSl7dGhpcy5lbGVtZW50LnNldFN0eWxlKHRoaXMu bWFyZ2luLEFbMF0pO3RoaXMud3JhcHBlci5zZXRTdHlsZSh0aGlzLmxheW91dCxB WzFdKTtyZXR1cm4gdGhpczt9LGNvbXB1dGU6ZnVuY3Rpb24oQyxCLEEpe3JldHVy blswLDFdLm1hcChmdW5jdGlvbihEKXtyZXR1cm4gRnguY29tcHV0ZShDW0RdLEJb RF0sQSk7fSk7fSxzdGFydDpmdW5jdGlvbihCLEUpe2lmKCF0aGlzLmNoZWNrKEIs RSkpe3JldHVybiB0aGlzOwp9dGhpc1tFfHx0aGlzLm9wdGlvbnMubW9kZV0oKTt2 YXIgRD10aGlzLmVsZW1lbnQuZ2V0U3R5bGUodGhpcy5tYXJnaW4pLnRvSW50KCks Qz10aGlzLndyYXBwZXIuZ2V0U3R5bGUodGhpcy5sYXlvdXQpLnRvSW50KCksQT1b W0QsQ10sWzAsdGhpcy5vZmZzZXRdXSxHPVtbRCxDXSxbLXRoaXMub2Zmc2V0LDBd XSxGO3N3aXRjaChCKXtjYXNlImluIjpGPUE7YnJlYWs7Y2FzZSJvdXQiOkY9Rzti cmVhaztjYXNlInRvZ2dsZSI6Rj0oQz09MCk/QTpHO31yZXR1cm4gdGhpcy5wYXJl bnQoRlswXSxGWzFdKTt9LHNsaWRlSW46ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMu c3RhcnQoImluIixBKTt9LHNsaWRlT3V0OmZ1bmN0aW9uKEEpe3JldHVybiB0aGlz LnN0YXJ0KCJvdXQiLEEpO30saGlkZTpmdW5jdGlvbihBKXt0aGlzW0F8fHRoaXMu b3B0aW9ucy5tb2RlXSgpO3RoaXMub3Blbj1mYWxzZTtyZXR1cm4gdGhpcy5zZXQo Wy10aGlzLm9mZnNldCwwXSk7fSxzaG93OmZ1bmN0aW9uKEEpe3RoaXNbQXx8dGhp cy5vcHRpb25zLm1vZGVdKCk7CnRoaXMub3Blbj10cnVlO3JldHVybiB0aGlzLnNl dChbMCx0aGlzLm9mZnNldF0pO30sdG9nZ2xlOmZ1bmN0aW9uKEEpe3JldHVybiB0 aGlzLnN0YXJ0KCJ0b2dnbGUiLEEpO319KTtFbGVtZW50LlByb3BlcnRpZXMuc2xp ZGU9e3NldDpmdW5jdGlvbihBKXt0aGlzLmdldCgic2xpZGUiKS5jYW5jZWwoKS5z ZXRPcHRpb25zKEEpO3JldHVybiB0aGlzO30sZ2V0OmZ1bmN0aW9uKCl7dmFyIEE9 dGhpcy5yZXRyaWV2ZSgic2xpZGUiKTtpZighQSl7QT1uZXcgRnguU2xpZGUodGhp cyx7bGluazoiY2FuY2VsIn0pO3RoaXMuc3RvcmUoInNsaWRlIixBKTt9cmV0dXJu IEE7fX07RWxlbWVudC5pbXBsZW1lbnQoe3NsaWRlOmZ1bmN0aW9uKEQsRSl7RD1E fHwidG9nZ2xlIjt2YXIgQj10aGlzLmdldCgic2xpZGUiKSxBO3N3aXRjaChEKXtj YXNlImhpZGUiOkIuaGlkZShFKTticmVhaztjYXNlInNob3ciOkIuc2hvdyhFKTti

cmVhaztjYXNlInRvZ2dsZSI6dmFyIEM9dGhpcy5yZXRyaWV2ZSgic2xpZGU6Zmxh ZyIsQi5vcGVuKTsKQltDPyJzbGlkZU91dCI6InNsaWRlSW4iXShFKTt0aGlzLnN0 b3JlKCJzbGlkZTpmbGFnIiwhQyk7QT10cnVlO2JyZWFrO2RlZmF1bHQ6Qi5zdGFy dChELEUpO31pZighQSl7dGhpcy5lbGltaW5hdGUoInNsaWRlOmZsYWciKTt9cmV0 dXJuIHRoaXM7fX0pO0Z4LlNtb290aFNjcm9sbD1uZXcgQ2xhc3Moe0V4dGVuZHM6 RnguU2Nyb2xsLG9wdGlvbnM6e2F4ZXM6WyJ4IiwieSJdfSxpbml0aWFsaXplOmZ1 bmN0aW9uKEMsRCl7RD1EfHxkb2N1bWVudDt0aGlzLmRvYz1ELmdldERvY3VtZW50 KCk7dGhpcy5wYXJlbnQodGhpcy5kb2MsQyk7dmFyIEU9RC5nZXRXaW5kb3coKSxB PUUubG9jYXRpb24uaHJlZi5tYXRjaCgvXlteI10qLylbMF0rIiMiLEI9JCQodGhp cy5vcHRpb25zLmxpbmtzfHx0aGlzLmRvYy5saW5rcyk7Qi5lYWNoKGZ1bmN0aW9u KEcpe2lmKEcuaHJlZi5pbmRleE9mKEEpIT0wKXtyZXR1cm4gO312YXIgRj1HLmhy ZWYuc3Vic3RyKEEubGVuZ3RoKTtpZihGKXt0aGlzLnVzZUxpbmsoRyxGKTsKfX0s dGhpcyk7dGhpcy5hZGRFdmVudCgiY29tcGxldGUiLGZ1bmN0aW9uKCl7RS5sb2Nh dGlvbi5oYXNoPXRoaXMuYW5jaG9yO3RoaXMuZWxlbWVudC5zY3JvbGxUbyh0aGlz LnRvWzBdLHRoaXMudG9bMV0pO30sdHJ1ZSk7fSx1c2VMaW5rOmZ1bmN0aW9uKEIs QSl7Qi5hZGRFdmVudCgiY2xpY2siLGZ1bmN0aW9uKEQpe3ZhciBDPWRvY3VtZW50 LmlkKEEpfHx0aGlzLmRvYy5nZXRFbGVtZW50KCJhW25hbWU9IitBKyJdIik7aWYo IUMpe3JldHVybiA7fUQucHJldmVudERlZmF1bHQoKTt0aGlzLnRvRWxlbWVudChD LHRoaXMub3B0aW9ucy5heGVzKS5jaGFpbihmdW5jdGlvbigpe3RoaXMuZmlyZUV2 ZW50KCJzY3JvbGxlZFRvIixbQixDXSk7fS5iaW5kKHRoaXMpKTt0aGlzLmFuY2hv cj1BO30uYmluZCh0aGlzKSk7cmV0dXJuIHRoaXM7fX0pO3ZhciBEcmFnPW5ldyBD bGFzcyh7SW1wbGVtZW50czpbRXZlbnRzLE9wdGlvbnNdLG9wdGlvbnM6e3NuYXA6 Nix1bml0OiJweCIsZ3JpZDpmYWxzZSxzdHlsZTp0cnVlLGxpbWl0OmZhbHNlLGhh bmRsZTpmYWxzZSxpbnZlcnQ6ZmFsc2UscHJldmVudERlZmF1bHQ6ZmFsc2Usc3Rv cFByb3BhZ2F0aW9uOmZhbHNlLG1vZGlmaWVyczp7eDoibGVmdCIseToidG9wIn19 LGluaXRpYWxpemU6ZnVuY3Rpb24oKXt2YXIgQj1BcnJheS5saW5rKGFyZ3VtZW50 cyx7b3B0aW9uczpUeXBlLmlzT2JqZWN0LGVsZW1lbnQ6ZnVuY3Rpb24oQyl7cmV0 dXJuIEMhPW51bGw7Cn19KTt0aGlzLmVsZW1lbnQ9ZG9jdW1lbnQuaWQoQi5lbGVt ZW50KTt0aGlzLmRvY3VtZW50PXRoaXMuZWxlbWVudC5nZXREb2N1bWVudCgpO3Ro aXMuc2V0T3B0aW9ucyhCLm9wdGlvbnN8fHt9KTt2YXIgQT10eXBlT2YodGhpcy5v cHRpb25zLmhhbmRsZSk7dGhpcy5oYW5kbGVzPSgoQT09ImFycmF5Inx8QT09ImNv bGxlY3Rpb24iKT8kJCh0aGlzLm9wdGlvbnMuaGFuZGxlKTpkb2N1bWVudC5pZCh0 aGlzLm9wdGlvbnMuaGFuZGxlKSl8fHRoaXMuZWxlbWVudDt0aGlzLm1vdXNlPXtu b3c6e30scG9zOnt9fTt0aGlzLnZhbHVlPXtzdGFydDp7fSxub3c6e319O3RoaXMu c2VsZWN0aW9uPShCcm93c2VyLmllKT8ic2VsZWN0c3RhcnQiOiJtb3VzZWRvd24i O2lmKEJyb3dzZXIuaWUmJiFEcmFnLm9uZHJhZ3N0YXJ0Rml4ZWQpe2RvY3VtZW50 Lm9uZHJhZ3N0YXJ0PUZ1bmN0aW9uLmZyb20oZmFsc2UpO0RyYWcub25kcmFnc3Rh cnRGaXhlZD10cnVlO310aGlzLmJvdW5kPXtzdGFydDp0aGlzLnN0YXJ0LmJpbmQo dGhpcyksY2hlY2s6dGhpcy5jaGVjay5iaW5kKHRoaXMpLGRyYWc6dGhpcy5kcmFn LmJpbmQodGhpcyksc3RvcDp0aGlzLnN0b3AuYmluZCh0aGlzKSxjYW5jZWw6dGhp cy5jYW5jZWwuYmluZCh0aGlzKSxldmVudFN0b3A6RnVuY3Rpb24uZnJvbShmYWxz ZSl9Owp0aGlzLmF0dGFjaCgpO30sYXR0YWNoOmZ1bmN0aW9uKCl7dGhpcy5oYW5k bGVzLmFkZEV2ZW50KCJtb3VzZWRvd24iLHRoaXMuYm91bmQuc3RhcnQpO3JldHVy biB0aGlzO30sZGV0YWNoOmZ1bmN0aW9uKCl7dGhpcy5oYW5kbGVzLnJlbW92ZUV2 ZW50KCJtb3VzZWRvd24iLHRoaXMuYm91bmQuc3RhcnQpO3JldHVybiB0aGlzO30s c3RhcnQ6ZnVuY3Rpb24oQSl7dmFyIEk9dGhpcy5vcHRpb25zO2lmKEEucmlnaHRD bGljayl7cmV0dXJuIDt9aWYoSS5wcmV2ZW50RGVmYXVsdCl7QS5wcmV2ZW50RGVm YXVsdCgpO31pZihJLnN0b3BQcm9wYWdhdGlvbil7QS5zdG9wUHJvcGFnYXRpb24o KTt9dGhpcy5tb3VzZS5zdGFydD1BLnBhZ2U7dGhpcy5maXJlRXZlbnQoImJlZm9y ZVN0YXJ0Iix0aGlzLmVsZW1lbnQpO3ZhciBDPUkubGltaXQ7dGhpcy5saW1pdD17 eDpbXSx5OltdfTt2YXIgRSxHO2ZvcihFIGluIEkubW9kaWZpZXJzKXtpZighSS5t b2RpZmllcnNbRV0pe2NvbnRpbnVlO312YXIgQj10aGlzLmVsZW1lbnQuZ2V0U3R5 bGUoSS5tb2RpZmllcnNbRV0pOwppZihCJiYhQi5tYXRjaCgvcHgkLykpe2lmKCFH KXtHPXRoaXMuZWxlbWVudC5nZXRDb29yZGluYXRlcyh0aGlzLmVsZW1lbnQuZ2V0 T2Zmc2V0UGFyZW50KCkpO31CPUdbSS5tb2RpZmllcnNbRV1dO31pZihJLnN0eWxl KXt0aGlzLnZhbHVlLm5vd1tFXT0oQnx8MCkudG9JbnQoKTt9ZWxzZXt0aGlzLnZh bHVlLm5vd1tFXT10aGlzLmVsZW1lbnRbSS5tb2RpZmllcnNbRV1dO31pZihJLmlu dmVydCl7dGhpcy52YWx1ZS5ub3dbRV0qPS0xO310aGlzLm1vdXNlLnBvc1tFXT1B LnBhZ2VbRV0tdGhpcy52YWx1ZS5ub3dbRV07aWYoQyYmQ1tFXSl7dmFyIEQ9Mjt3 aGlsZShELS0pe3ZhciBGPUNbRV1bRF07aWYoRnx8Rj09PTApe3RoaXMubGltaXRb

RV1bRF09KHR5cGVvZiBGPT0iZnVuY3Rpb24iKT9GKCk6Rjt9fX19aWYodHlwZU9m KHRoaXMub3B0aW9ucy5ncmlkKT09Im51bWJlciIpe3RoaXMub3B0aW9ucy5ncmlk PXt4OnRoaXMub3B0aW9ucy5ncmlkLHk6dGhpcy5vcHRpb25zLmdyaWR9Owp9dmFy IEg9e21vdXNlbW92ZTp0aGlzLmJvdW5kLmNoZWNrLG1vdXNldXA6dGhpcy5ib3Vu ZC5jYW5jZWx9O0hbdGhpcy5zZWxlY3Rpb25dPXRoaXMuYm91bmQuZXZlbnRTdG9w O3RoaXMuZG9jdW1lbnQuYWRkRXZlbnRzKEgpO30sY2hlY2s6ZnVuY3Rpb24oQSl7 aWYodGhpcy5vcHRpb25zLnByZXZlbnREZWZhdWx0KXtBLnByZXZlbnREZWZhdWx0 KCk7fXZhciBCPU1hdGgucm91bmQoTWF0aC5zcXJ0KE1hdGgucG93KEEucGFnZS54 LXRoaXMubW91c2Uuc3RhcnQueCwyKStNYXRoLnBvdyhBLnBhZ2UueS10aGlzLm1v dXNlLnN0YXJ0LnksMikpKTtpZihCPnRoaXMub3B0aW9ucy5zbmFwKXt0aGlzLmNh bmNlbCgpO3RoaXMuZG9jdW1lbnQuYWRkRXZlbnRzKHttb3VzZW1vdmU6dGhpcy5i b3VuZC5kcmFnLG1vdXNldXA6dGhpcy5ib3VuZC5zdG9wfSk7dGhpcy5maXJlRXZl bnQoInN0YXJ0IixbdGhpcy5lbGVtZW50LEFdKS5maXJlRXZlbnQoInNuYXAiLHRo aXMuZWxlbWVudCk7fX0sZHJhZzpmdW5jdGlvbihCKXt2YXIgQT10aGlzLm9wdGlv bnM7CmlmKEEucHJldmVudERlZmF1bHQpe0IucHJldmVudERlZmF1bHQoKTt9dGhp cy5tb3VzZS5ub3c9Qi5wYWdlO2Zvcih2YXIgQyBpbiBBLm1vZGlmaWVycyl7aWYo IUEubW9kaWZpZXJzW0NdKXtjb250aW51ZTt9dGhpcy52YWx1ZS5ub3dbQ109dGhp cy5tb3VzZS5ub3dbQ10tdGhpcy5tb3VzZS5wb3NbQ107aWYoQS5pbnZlcnQpe3Ro aXMudmFsdWUubm93W0NdKj0tMTt9aWYoQS5saW1pdCYmdGhpcy5saW1pdFtDXSl7 aWYoKHRoaXMubGltaXRbQ11bMV18fHRoaXMubGltaXRbQ11bMV09PT0wKSYmKHRo aXMudmFsdWUubm93W0NdPnRoaXMubGltaXRbQ11bMV0pKXt0aGlzLnZhbHVlLm5v d1tDXT10aGlzLmxpbWl0W0NdWzFdO31lbHNle2lmKCh0aGlzLmxpbWl0W0NdWzBd fHx0aGlzLmxpbWl0W0NdWzBdPT09MCkmJih0aGlzLnZhbHVlLm5vd1tDXTx0aGlz LmxpbWl0W0NdWzBdKSl7dGhpcy52YWx1ZS5ub3dbQ109dGhpcy5saW1pdFtDXVsw XTt9fX1pZihBLmdyaWRbQ10pe3RoaXMudmFsdWUubm93W0NdLT0oKHRoaXMudmFs dWUubm93W0NdLSh0aGlzLmxpbWl0W0NdWzBdfHwwKSklQS5ncmlkW0NdKTsKfWlm KEEuc3R5bGUpe3RoaXMuZWxlbWVudC5zZXRTdHlsZShBLm1vZGlmaWVyc1tDXSx0 aGlzLnZhbHVlLm5vd1tDXStBLnVuaXQpO31lbHNle3RoaXMuZWxlbWVudFtBLm1v ZGlmaWVyc1tDXV09dGhpcy52YWx1ZS5ub3dbQ107fX10aGlzLmZpcmVFdmVudCgi ZHJhZyIsW3RoaXMuZWxlbWVudCxCXSk7fSxjYW5jZWw6ZnVuY3Rpb24oQSl7dGhp cy5kb2N1bWVudC5yZW1vdmVFdmVudHMoe21vdXNlbW92ZTp0aGlzLmJvdW5kLmNo ZWNrLG1vdXNldXA6dGhpcy5ib3VuZC5jYW5jZWx9KTtpZihBKXt0aGlzLmRvY3Vt ZW50LnJlbW92ZUV2ZW50KHRoaXMuc2VsZWN0aW9uLHRoaXMuYm91bmQuZXZlbnRT dG9wKTt0aGlzLmZpcmVFdmVudCgiY2FuY2VsIix0aGlzLmVsZW1lbnQpO319LHN0 b3A6ZnVuY3Rpb24oQil7dmFyIEE9e21vdXNlbW92ZTp0aGlzLmJvdW5kLmRyYWcs bW91c2V1cDp0aGlzLmJvdW5kLnN0b3B9O0FbdGhpcy5zZWxlY3Rpb25dPXRoaXMu Ym91bmQuZXZlbnRTdG9wO3RoaXMuZG9jdW1lbnQucmVtb3ZlRXZlbnRzKEEpOwpp ZihCKXt0aGlzLmZpcmVFdmVudCgiY29tcGxldGUiLFt0aGlzLmVsZW1lbnQsQl0p O319fSk7RWxlbWVudC5pbXBsZW1lbnQoe21ha2VSZXNpemFibGU6ZnVuY3Rpb24o QSl7dmFyIEI9bmV3IERyYWcodGhpcyxPYmplY3QubWVyZ2Uoe21vZGlmaWVyczp7 eDoid2lkdGgiLHk6ImhlaWdodCJ9fSxBKSk7dGhpcy5zdG9yZSgicmVzaXplciIs Qik7cmV0dXJuIEIuYWRkRXZlbnQoImRyYWciLGZ1bmN0aW9uKCl7dGhpcy5maXJl RXZlbnQoInJlc2l6ZSIsQik7fS5iaW5kKHRoaXMpKTt9fSk7RHJhZy5Nb3ZlPW5l dyBDbGFzcyh7RXh0ZW5kczpEcmFnLG9wdGlvbnM6e2Ryb3BwYWJsZXM6W10sY29u dGFpbmVyOmZhbHNlLHByZWNhbGN1bGF0ZTpmYWxzZSxpbmNsdWRlTWFyZ2luczp0 cnVlLGNoZWNrRHJvcHBhYmxlczp0cnVlfSxpbml0aWFsaXplOmZ1bmN0aW9uKEIs QSl7dGhpcy5wYXJlbnQoQixBKTtCPXRoaXMuZWxlbWVudDt0aGlzLmRyb3BwYWJs ZXM9JCQodGhpcy5vcHRpb25zLmRyb3BwYWJsZXMpOwp0aGlzLmNvbnRhaW5lcj1k b2N1bWVudC5pZCh0aGlzLm9wdGlvbnMuY29udGFpbmVyKTtpZih0aGlzLmNvbnRh aW5lciYmdHlwZU9mKHRoaXMuY29udGFpbmVyKSE9ImVsZW1lbnQiKXt0aGlzLmNv bnRhaW5lcj1kb2N1bWVudC5pZCh0aGlzLmNvbnRhaW5lci5nZXREb2N1bWVudCgp LmJvZHkpO31pZih0aGlzLm9wdGlvbnMuc3R5bGUpe2lmKHRoaXMub3B0aW9ucy5t b2RpZmllcnMueD09ImxlZnQiJiZ0aGlzLm9wdGlvbnMubW9kaWZpZXJzLnk9PSJ0 b3AiKXt2YXIgQz1CLmdldE9mZnNldFBhcmVudCgpLEQ9Qi5nZXRTdHlsZXMoImxl ZnQiLCJ0b3AiKTtpZihDJiYoRC5sZWZ0PT0iYXV0byJ8fEQudG9wPT0iYXV0byIp KXtCLnNldFBvc2l0aW9uKEIuZ2V0UG9zaXRpb24oQykpO319aWYoQi5nZXRTdHls ZSgicG9zaXRpb24iKT09InN0YXRpYyIpe0Iuc2V0U3R5bGUoInBvc2l0aW9uIiwi YWJzb2x1dGUiKTt9fXRoaXMuYWRkRXZlbnQoInN0YXJ0Iix0aGlzLmNoZWNrRHJv cHBhYmxlcyx0cnVlKTsKdGhpcy5vdmVyZWQ9bnVsbDt9LHN0YXJ0OmZ1bmN0aW9u KEEpe2lmKHRoaXMuY29udGFpbmVyKXt0aGlzLm9wdGlvbnMubGltaXQ9dGhpcy5j

YWxjdWxhdGVMaW1pdCgpO31pZih0aGlzLm9wdGlvbnMucHJlY2FsY3VsYXRlKXt0 aGlzLnBvc2l0aW9ucz10aGlzLmRyb3BwYWJsZXMubWFwKGZ1bmN0aW9uKEIpe3Jl dHVybiBCLmdldENvb3JkaW5hdGVzKCk7fSk7fXRoaXMucGFyZW50KEEpO30sY2Fs Y3VsYXRlTGltaXQ6ZnVuY3Rpb24oKXt2YXIgSj10aGlzLmVsZW1lbnQsRT10aGlz LmNvbnRhaW5lcixEPWRvY3VtZW50LmlkKEouZ2V0T2Zmc2V0UGFyZW50KCkpfHxk b2N1bWVudC5ib2R5LEg9RS5nZXRDb29yZGluYXRlcyhEKSxDPXt9LEI9e30sSz17 fSxHPXt9LE09e307WyJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXS5lYWNo KGZ1bmN0aW9uKFEpe0NbUV09Si5nZXRTdHlsZSgibWFyZ2luLSIrUSkudG9JbnQo KTtCW1FdPUouZ2V0U3R5bGUoImJvcmRlci0iK1EpLnRvSW50KCk7CktbUV09RS5n ZXRTdHlsZSgibWFyZ2luLSIrUSkudG9JbnQoKTtHW1FdPUUuZ2V0U3R5bGUoImJv cmRlci0iK1EpLnRvSW50KCk7TVtRXT1ELmdldFN0eWxlKCJwYWRkaW5nLSIrUSku dG9JbnQoKTt9LHRoaXMpO3ZhciBGPUoub2Zmc2V0V2lkdGgrQy5sZWZ0K0Mucmln aHQsUD1KLm9mZnNldEhlaWdodCtDLnRvcCtDLmJvdHRvbSxJPTAsTD0wLE89SC5y aWdodC1HLnJpZ2h0LUYsQT1ILmJvdHRvbS1HLmJvdHRvbS1QO2lmKHRoaXMub3B0 aW9ucy5pbmNsdWRlTWFyZ2lucyl7SSs9Qy5sZWZ0O0wrPUMudG9wO31lbHNle08r PUMucmlnaHQ7QSs9Qy5ib3R0b207fWlmKEouZ2V0U3R5bGUoInBvc2l0aW9uIik9 PSJyZWxhdGl2ZSIpe3ZhciBOPUouZ2V0Q29vcmRpbmF0ZXMoRCk7Ti5sZWZ0LT1K LmdldFN0eWxlKCJsZWZ0IikudG9JbnQoKTtOLnRvcC09Si5nZXRTdHlsZSgidG9w IikudG9JbnQoKTtJLT1OLmxlZnQ7TC09Ti50b3A7aWYoRS5nZXRTdHlsZSgicG9z aXRpb24iKSE9InJlbGF0aXZlIil7SSs9Ry5sZWZ0OwpMKz1HLnRvcDt9Tys9Qy5s ZWZ0LU4ubGVmdDtBKz1DLnRvcC1OLnRvcDtpZihFIT1EKXtJKz1LLmxlZnQrTS5s ZWZ0O0wrPSgoQnJvd3Nlci5pZTZ8fEJyb3dzZXIuaWU3KT8wOksudG9wKStNLnRv cDt9fWVsc2V7SS09Qy5sZWZ0O0wtPUMudG9wO2lmKEUhPUQpe0krPUgubGVmdCtH LmxlZnQ7TCs9SC50b3ArRy50b3A7fX1yZXR1cm57eDpbSSxPXSx5OltMLEFdfTt9 LGdldERyb3BwYWJsZUNvb3JkaW5hdGVzOmZ1bmN0aW9uKEMpe3ZhciBCPUMuZ2V0 Q29vcmRpbmF0ZXMoKTtpZihDLmdldFN0eWxlKCJwb3NpdGlvbiIpPT0iZml4ZWQi KXt2YXIgQT13aW5kb3cuZ2V0U2Nyb2xsKCk7Qi5sZWZ0Kz1BLng7Qi5yaWdodCs9 QS54O0IudG9wKz1BLnk7Qi5ib3R0b20rPUEueTt9cmV0dXJuIEI7fSxjaGVja0Ry b3BwYWJsZXM6ZnVuY3Rpb24oKXt2YXIgQT10aGlzLmRyb3BwYWJsZXMuZmlsdGVy KGZ1bmN0aW9uKEQsQyl7RD10aGlzLnBvc2l0aW9ucz90aGlzLnBvc2l0aW9uc1tD XTp0aGlzLmdldERyb3BwYWJsZUNvb3JkaW5hdGVzKEQpOwp2YXIgQj10aGlzLm1v dXNlLm5vdztyZXR1cm4oQi54PkQubGVmdCYmQi54PEQucmlnaHQmJkIueTxELmJv dHRvbSYmQi55PkQudG9wKTt9LHRoaXMpLmdldExhc3QoKTtpZih0aGlzLm92ZXJl ZCE9QSl7aWYodGhpcy5vdmVyZWQpe3RoaXMuZmlyZUV2ZW50KCJsZWF2ZSIsW3Ro aXMuZWxlbWVudCx0aGlzLm92ZXJlZF0pO31pZihBKXt0aGlzLmZpcmVFdmVudCgi ZW50ZXIiLFt0aGlzLmVsZW1lbnQsQV0pO310aGlzLm92ZXJlZD1BO319LGRyYWc6 ZnVuY3Rpb24oQSl7dGhpcy5wYXJlbnQoQSk7aWYodGhpcy5vcHRpb25zLmNoZWNr RHJvcHBhYmxlcyYmdGhpcy5kcm9wcGFibGVzLmxlbmd0aCl7dGhpcy5jaGVja0Ry b3BwYWJsZXMoKTt9fSxzdG9wOmZ1bmN0aW9uKEEpe3RoaXMuY2hlY2tEcm9wcGFi bGVzKCk7dGhpcy5maXJlRXZlbnQoImRyb3AiLFt0aGlzLmVsZW1lbnQsdGhpcy5v dmVyZWQsQV0pO3RoaXMub3ZlcmVkPW51bGw7cmV0dXJuIHRoaXMucGFyZW50KEEp O319KTtFbGVtZW50LmltcGxlbWVudCh7bWFrZURyYWdnYWJsZTpmdW5jdGlvbihB KXt2YXIgQj1uZXcgRHJhZy5Nb3ZlKHRoaXMsQSk7CnRoaXMuc3RvcmUoImRyYWdn ZXIiLEIpO3JldHVybiBCO319KTtDbGFzcy5NdXRhdG9ycy5CaW5kcz1mdW5jdGlv bihBKXtpZighdGhpcy5wcm90b3R5cGUuaW5pdGlhbGl6ZSl7dGhpcy5pbXBsZW1l bnQoImluaXRpYWxpemUiLGZ1bmN0aW9uKCl7fSk7fXJldHVybiBBcnJheS5mcm9t KEEpLmNvbmNhdCh0aGlzLnByb3RvdHlwZS5CaW5kc3x8W10pO307Q2xhc3MuTXV0 YXRvcnMuaW5pdGlhbGl6ZT1mdW5jdGlvbihBKXtyZXR1cm4gZnVuY3Rpb24oKXtB cnJheS5mcm9tKHRoaXMuQmluZHMpLmVhY2goZnVuY3Rpb24oQil7dmFyIEM9dGhp c1tCXTtpZihDKXt0aGlzW0JdPUMuYmluZCh0aGlzKTt9fSx0aGlzKTtyZXR1cm4g QS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7fTt9O3ZhciBTbGlkZXI9bmV3IENsYXNz KHtJbXBsZW1lbnRzOltFdmVudHMsT3B0aW9uc10sQmluZHM6WyJjbGlja2VkRWxl bWVudCIsImRyYWdnZWRLbm9iIiwic2Nyb2xsZWRFbGVtZW50Il0sb3B0aW9uczp7 b25UaWNrOmZ1bmN0aW9uKEEpe3RoaXMuc2V0S25vYlBvc2l0aW9uKEEpOwp9LGlu aXRpYWxTdGVwOjAsc25hcDpmYWxzZSxvZmZzZXQ6MCxyYW5nZTpmYWxzZSx3aGVl bDpmYWxzZSxzdGVwczoxMDAsbW9kZToiaG9yaXpvbnRhbCJ9LGluaXRpYWxpemU6 ZnVuY3Rpb24oRixBLEUpe3RoaXMuc2V0T3B0aW9ucyhFKTtFPXRoaXMub3B0aW9u czt0aGlzLmVsZW1lbnQ9ZG9jdW1lbnQuaWQoRik7QT10aGlzLmtub2I9ZG9jdW1l bnQuaWQoQSk7dGhpcy5wcmV2aW91c0NoYW5nZT10aGlzLnByZXZpb3VzRW5kPXRo aXMuc3RlcD0tMTt2YXIgQj17fSxEPXt4OmZhbHNlLHk6ZmFsc2V9O3N3aXRjaChF

Lm1vZGUpe2Nhc2UidmVydGljYWwiOnRoaXMuYXhpcz0ieSI7dGhpcy5wcm9wZXJ0 eT0idG9wIjt0aGlzLm9mZnNldD0ib2Zmc2V0SGVpZ2h0IjticmVhaztjYXNlImhv cml6b250YWwiOnRoaXMuYXhpcz0ieCI7dGhpcy5wcm9wZXJ0eT0ibGVmdCI7dGhp cy5vZmZzZXQ9Im9mZnNldFdpZHRoIjt9dGhpcy5zZXRTbGlkZXJEaW1lbnNpb25z KCk7dGhpcy5zZXRSYW5nZShFLnJhbmdlKTsKaWYoQS5nZXRTdHlsZSgicG9zaXRp b24iKT09InN0YXRpYyIpe0Euc2V0U3R5bGUoInBvc2l0aW9uIiwicmVsYXRpdmUi KTt9QS5zZXRTdHlsZSh0aGlzLnByb3BlcnR5LC1FLm9mZnNldCk7RFt0aGlzLmF4 aXNdPXRoaXMucHJvcGVydHk7Qlt0aGlzLmF4aXNdPVstRS5vZmZzZXQsdGhpcy5m dWxsLUUub2Zmc2V0XTt2YXIgQz17c25hcDowLGxpbWl0OkIsbW9kaWZpZXJzOkQs b25EcmFnOnRoaXMuZHJhZ2dlZEtub2Isb25TdGFydDp0aGlzLmRyYWdnZWRLbm9i LG9uQmVmb3JlU3RhcnQ6KGZ1bmN0aW9uKCl7dGhpcy5pc0RyYWdnaW5nPXRydWU7 fSkuYmluZCh0aGlzKSxvbkNhbmNlbDpmdW5jdGlvbigpe3RoaXMuaXNEcmFnZ2lu Zz1mYWxzZTt9LmJpbmQodGhpcyksb25Db21wbGV0ZTpmdW5jdGlvbigpe3RoaXMu aXNEcmFnZ2luZz1mYWxzZTt0aGlzLmRyYWdnZWRLbm9iKCk7dGhpcy5lbmQoKTt9 LmJpbmQodGhpcyl9O2lmKEUuc25hcCl7dGhpcy5zZXRTbmFwKEMpO310aGlzLmRy YWc9bmV3IERyYWcoQSxDKTsKdGhpcy5hdHRhY2goKTtpZihFLmluaXRpYWxTdGVw IT1udWxsKXt0aGlzLnNldChFLmluaXRpYWxTdGVwKTt9fSxhdHRhY2g6ZnVuY3Rp b24oKXt0aGlzLmVsZW1lbnQuYWRkRXZlbnQoIm1vdXNlZG93biIsdGhpcy5jbGlj a2VkRWxlbWVudCk7aWYodGhpcy5vcHRpb25zLndoZWVsKXt0aGlzLmVsZW1lbnQu YWRkRXZlbnQoIm1vdXNld2hlZWwiLHRoaXMuc2Nyb2xsZWRFbGVtZW50KTt9dGhp cy5kcmFnLmF0dGFjaCgpO3JldHVybiB0aGlzO30sZGV0YWNoOmZ1bmN0aW9uKCl7 dGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50KCJtb3VzZWRvd24iLHRoaXMuY2xpY2tl ZEVsZW1lbnQpLnJlbW92ZUV2ZW50KCJtb3VzZXdoZWVsIix0aGlzLnNjcm9sbGVk RWxlbWVudCk7dGhpcy5kcmFnLmRldGFjaCgpO3JldHVybiB0aGlzO30sYXV0b3Np emU6ZnVuY3Rpb24oKXt0aGlzLnNldFNsaWRlckRpbWVuc2lvbnMoKS5zZXRLbm9i UG9zaXRpb24odGhpcy50b1Bvc2l0aW9uKHRoaXMuc3RlcCkpO3RoaXMuZHJhZy5v cHRpb25zLmxpbWl0W3RoaXMuYXhpc109Wy10aGlzLm9wdGlvbnMub2Zmc2V0LHRo aXMuZnVsbC10aGlzLm9wdGlvbnMub2Zmc2V0XTsKaWYodGhpcy5vcHRpb25zLnNu YXApe3RoaXMuc2V0U25hcCgpO31yZXR1cm4gdGhpczt9LHNldFNuYXA6ZnVuY3Rp b24oQSl7aWYoIUEpe0E9dGhpcy5kcmFnLm9wdGlvbnM7fUEuZ3JpZD1NYXRoLmNl aWwodGhpcy5zdGVwV2lkdGgpO0EubGltaXRbdGhpcy5heGlzXVsxXT10aGlzLmZ1 bGw7cmV0dXJuIHRoaXM7fSxzZXRLbm9iUG9zaXRpb246ZnVuY3Rpb24oQSl7aWYo dGhpcy5vcHRpb25zLnNuYXApe0E9dGhpcy50b1Bvc2l0aW9uKHRoaXMuc3RlcCk7 fXRoaXMua25vYi5zZXRTdHlsZSh0aGlzLnByb3BlcnR5LEEpO3JldHVybiB0aGlz O30sc2V0U2xpZGVyRGltZW5zaW9uczpmdW5jdGlvbigpe3RoaXMuZnVsbD10aGlz LmVsZW1lbnQubWVhc3VyZShmdW5jdGlvbigpe3RoaXMuaGFsZj10aGlzLmtub2Jb dGhpcy5vZmZzZXRdLzI7cmV0dXJuIHRoaXMuZWxlbWVudFt0aGlzLm9mZnNldF0t dGhpcy5rbm9iW3RoaXMub2Zmc2V0XSsodGhpcy5vcHRpb25zLm9mZnNldCoyKTt9 LmJpbmQodGhpcykpOwpyZXR1cm4gdGhpczt9LHNldDpmdW5jdGlvbihBKXtpZigh KCh0aGlzLnJhbmdlPjApXihBPHRoaXMubWluKSkpe0E9dGhpcy5taW47fWlmKCEo KHRoaXMucmFuZ2U+MCleKEE+dGhpcy5tYXgpKSl7QT10aGlzLm1heDt9dGhpcy5z dGVwPU1hdGgucm91bmQoQSk7cmV0dXJuIHRoaXMuY2hlY2tTdGVwKCkuZmlyZUV2 ZW50KCJ0aWNrIix0aGlzLnRvUG9zaXRpb24odGhpcy5zdGVwKSkuZW5kKCk7fSxz ZXRSYW5nZTpmdW5jdGlvbihBLEIpe3RoaXMubWluPUFycmF5LnBpY2soW0FbMF0s MF0pO3RoaXMubWF4PUFycmF5LnBpY2soW0FbMV0sdGhpcy5vcHRpb25zLnN0ZXBz XSk7dGhpcy5yYW5nZT10aGlzLm1heC10aGlzLm1pbjt0aGlzLnN0ZXBzPXRoaXMu b3B0aW9ucy5zdGVwc3x8dGhpcy5mdWxsO3RoaXMuc3RlcFNpemU9TWF0aC5hYnMo dGhpcy5yYW5nZSkvdGhpcy5zdGVwczt0aGlzLnN0ZXBXaWR0aD10aGlzLnN0ZXBT aXplKnRoaXMuZnVsbC9NYXRoLmFicyh0aGlzLnJhbmdlKTsKaWYoQSl7dGhpcy5z ZXQoQXJyYXkucGljayhbQix0aGlzLnN0ZXBdKS5mbG9vcih0aGlzLm1pbikubWF4 KHRoaXMubWF4KSk7fXJldHVybiB0aGlzO30sY2xpY2tlZEVsZW1lbnQ6ZnVuY3Rp b24oQyl7aWYodGhpcy5pc0RyYWdnaW5nfHxDLnRhcmdldD09dGhpcy5rbm9iKXty ZXR1cm4gO312YXIgQj10aGlzLnJhbmdlPDA/LTE6MSxBPUMucGFnZVt0aGlzLmF4 aXNdLXRoaXMuZWxlbWVudC5nZXRQb3NpdGlvbigpW3RoaXMuYXhpc10tdGhpcy5o YWxmO0E9QS5saW1pdCgtdGhpcy5vcHRpb25zLm9mZnNldCx0aGlzLmZ1bGwtdGhp cy5vcHRpb25zLm9mZnNldCk7dGhpcy5zdGVwPU1hdGgucm91bmQodGhpcy5taW4r Qip0aGlzLnRvU3RlcChBKSk7dGhpcy5jaGVja1N0ZXAoKS5maXJlRXZlbnQoInRp Y2siLEEpLmVuZCgpO30sc2Nyb2xsZWRFbGVtZW50OmZ1bmN0aW9uKEEpe3ZhciBC PSh0aGlzLm9wdGlvbnMubW9kZT09Imhvcml6b250YWwiKT8oQS53aGVlbDwwKToo QS53aGVlbD4wKTsKdGhpcy5zZXQodGhpcy5zdGVwKyhCPy0xOjEpKnRoaXMuc3Rl

cFNpemUpO0Euc3RvcCgpO30sZHJhZ2dlZEtub2I6ZnVuY3Rpb24oKXt2YXIgQj10 aGlzLnJhbmdlPDA/LTE6MSxBPXRoaXMuZHJhZy52YWx1ZS5ub3dbdGhpcy5heGlz XTtBPUEubGltaXQoLXRoaXMub3B0aW9ucy5vZmZzZXQsdGhpcy5mdWxsLXRoaXMu b3B0aW9ucy5vZmZzZXQpO3RoaXMuc3RlcD1NYXRoLnJvdW5kKHRoaXMubWluK0Iq dGhpcy50b1N0ZXAoQSkpO3RoaXMuY2hlY2tTdGVwKCk7fSxjaGVja1N0ZXA6ZnVu Y3Rpb24oKXt2YXIgQT10aGlzLnN0ZXA7aWYodGhpcy5wcmV2aW91c0NoYW5nZSE9 QSl7dGhpcy5wcmV2aW91c0NoYW5nZT1BO3RoaXMuZmlyZUV2ZW50KCJjaGFuZ2Ui LEEpO31yZXR1cm4gdGhpczt9LGVuZDpmdW5jdGlvbigpe3ZhciBBPXRoaXMuc3Rl cDtpZih0aGlzLnByZXZpb3VzRW5kIT09QSl7dGhpcy5wcmV2aW91c0VuZD1BO3Ro aXMuZmlyZUV2ZW50KCJjb21wbGV0ZSIsQSsiIik7fXJldHVybiB0aGlzOwp9LHRv U3RlcDpmdW5jdGlvbihBKXt2YXIgQj0oQSt0aGlzLm9wdGlvbnMub2Zmc2V0KSp0 aGlzLnN0ZXBTaXplL3RoaXMuZnVsbCp0aGlzLnN0ZXBzO3JldHVybiB0aGlzLm9w dGlvbnMuc3RlcHM/TWF0aC5yb3VuZChCLT1CJXRoaXMuc3RlcFNpemUpOkI7fSx0 b1Bvc2l0aW9uOmZ1bmN0aW9uKEEpe3JldHVybih0aGlzLmZ1bGwqTWF0aC5hYnMo dGhpcy5taW4tQSkpLyh0aGlzLnN0ZXBzKnRoaXMuc3RlcFNpemUpLXRoaXMub3B0 aW9ucy5vZmZzZXQ7fX0pO3ZhciBTb3J0YWJsZXM9bmV3IENsYXNzKHtJbXBsZW1l bnRzOltFdmVudHMsT3B0aW9uc10sb3B0aW9uczp7b3BhY2l0eToxLGNsb25lOmZh bHNlLHJldmVydDpmYWxzZSxoYW5kbGU6ZmFsc2UsZHJhZ09wdGlvbnM6e319LGlu aXRpYWxpemU6ZnVuY3Rpb24oQSxCKXt0aGlzLnNldE9wdGlvbnMoQik7dGhpcy5l bGVtZW50cz1bXTt0aGlzLmxpc3RzPVtdO3RoaXMuaWRsZT10cnVlO3RoaXMuYWRk TGlzdHMoJCQoZG9jdW1lbnQuaWQoQSl8fEEpKTsKaWYoIXRoaXMub3B0aW9ucy5j bG9uZSl7dGhpcy5vcHRpb25zLnJldmVydD1mYWxzZTt9aWYodGhpcy5vcHRpb25z LnJldmVydCl7dGhpcy5lZmZlY3Q9bmV3IEZ4Lk1vcnBoKG51bGwsT2JqZWN0Lm1l cmdlKHtkdXJhdGlvbjoyNTAsbGluazoiY2FuY2VsIn0sdGhpcy5vcHRpb25zLnJl dmVydCkpO319LGF0dGFjaDpmdW5jdGlvbigpe3RoaXMuYWRkTGlzdHModGhpcy5s aXN0cyk7cmV0dXJuIHRoaXM7fSxkZXRhY2g6ZnVuY3Rpb24oKXt0aGlzLmxpc3Rz PXRoaXMucmVtb3ZlTGlzdHModGhpcy5saXN0cyk7cmV0dXJuIHRoaXM7fSxhZGRJ dGVtczpmdW5jdGlvbigpe0FycmF5LmZsYXR0ZW4oYXJndW1lbnRzKS5lYWNoKGZ1 bmN0aW9uKEEpe3RoaXMuZWxlbWVudHMucHVzaChBKTt2YXIgQj1BLnJldHJpZXZl KCJzb3J0YWJsZXM6c3RhcnQiLGZ1bmN0aW9uKEMpe3RoaXMuc3RhcnQuY2FsbCh0 aGlzLEMsQSk7fS5iaW5kKHRoaXMpKTsodGhpcy5vcHRpb25zLmhhbmRsZT9BLmdl dEVsZW1lbnQodGhpcy5vcHRpb25zLmhhbmRsZSl8fEE6QSkuYWRkRXZlbnQoIm1v dXNlZG93biIsQik7Cn0sdGhpcyk7cmV0dXJuIHRoaXM7fSxhZGRMaXN0czpmdW5j dGlvbigpe0FycmF5LmZsYXR0ZW4oYXJndW1lbnRzKS5lYWNoKGZ1bmN0aW9uKEEp e3RoaXMubGlzdHMuaW5jbHVkZShBKTt0aGlzLmFkZEl0ZW1zKEEuZ2V0Q2hpbGRy ZW4oKSk7fSx0aGlzKTtyZXR1cm4gdGhpczt9LHJlbW92ZUl0ZW1zOmZ1bmN0aW9u KCl7cmV0dXJuICQkKEFycmF5LmZsYXR0ZW4oYXJndW1lbnRzKS5tYXAoZnVuY3Rp b24oQSl7dGhpcy5lbGVtZW50cy5lcmFzZShBKTt2YXIgQj1BLnJldHJpZXZlKCJz b3J0YWJsZXM6c3RhcnQiKTsodGhpcy5vcHRpb25zLmhhbmRsZT9BLmdldEVsZW1l bnQodGhpcy5vcHRpb25zLmhhbmRsZSl8fEE6QSkucmVtb3ZlRXZlbnQoIm1vdXNl ZG93biIsQik7cmV0dXJuIEE7fSx0aGlzKSk7fSxyZW1vdmVMaXN0czpmdW5jdGlv bigpe3JldHVybiAkJChBcnJheS5mbGF0dGVuKGFyZ3VtZW50cykubWFwKGZ1bmN0 aW9uKEEpe3RoaXMubGlzdHMuZXJhc2UoQSk7dGhpcy5yZW1vdmVJdGVtcyhBLmdl dENoaWxkcmVuKCkpOwpyZXR1cm4gQTt9LHRoaXMpKTt9LGdldENsb25lOmZ1bmN0 aW9uKEIsQSl7aWYoIXRoaXMub3B0aW9ucy5jbG9uZSl7cmV0dXJuIG5ldyBFbGVt ZW50KEEudGFnTmFtZSkuaW5qZWN0KGRvY3VtZW50LmJvZHkpO31pZih0eXBlT2Yo dGhpcy5vcHRpb25zLmNsb25lKT09ImZ1bmN0aW9uIil7cmV0dXJuIHRoaXMub3B0 aW9ucy5jbG9uZS5jYWxsKHRoaXMsQixBLHRoaXMubGlzdCk7fXZhciBDPUEuY2xv bmUodHJ1ZSkuc2V0U3R5bGVzKHttYXJnaW46MCxwb3NpdGlvbjoiYWJzb2x1dGUi LHZpc2liaWxpdHk6ImhpZGRlbiIsd2lkdGg6QS5nZXRTdHlsZSgid2lkdGgiKX0p LmFkZEV2ZW50KCJtb3VzZWRvd24iLGZ1bmN0aW9uKEQpe0EuZmlyZUV2ZW50KCJt b3VzZWRvd24iLEQpO30pO2lmKEMuZ2V0KCJodG1sIikudGVzdCgicmFkaW8iKSl7 Qy5nZXRFbGVtZW50cygiaW5wdXRbdHlwZT1yYWRpb10iKS5lYWNoKGZ1bmN0aW9u KEQsRSl7RC5zZXQoIm5hbWUiLCJjbG9uZV8iK0UpO2lmKEQuZ2V0KCJjaGVja2Vk Iikpe0EuZ2V0RWxlbWVudHMoImlucHV0W3R5cGU9cmFkaW9dIilbRV0uc2V0KCJj aGVja2VkIix0cnVlKTsKfX0pO31yZXR1cm4gQy5pbmplY3QodGhpcy5saXN0KS5z ZXRQb3NpdGlvbihBLmdldFBvc2l0aW9uKEEuZ2V0T2Zmc2V0UGFyZW50KCkpKTt9 LGdldERyb3BwYWJsZXM6ZnVuY3Rpb24oKXt2YXIgQT10aGlzLmxpc3QuZ2V0Q2hp bGRyZW4oKS5lcmFzZSh0aGlzLmNsb25lKS5lcmFzZSh0aGlzLmVsZW1lbnQpO2lm KCF0aGlzLm9wdGlvbnMuY29uc3RyYWluKXtBLmFwcGVuZCh0aGlzLmxpc3RzKS5l

cmFzZSh0aGlzLmxpc3QpO31yZXR1cm4gQTt9LGluc2VydDpmdW5jdGlvbihDLEIp e3ZhciBBPSJpbnNpZGUiO2lmKHRoaXMubGlzdHMuY29udGFpbnMoQikpe3RoaXMu bGlzdD1CO3RoaXMuZHJhZy5kcm9wcGFibGVzPXRoaXMuZ2V0RHJvcHBhYmxlcygp O31lbHNle0E9dGhpcy5lbGVtZW50LmdldEFsbFByZXZpb3VzKCkuY29udGFpbnMo Qik/ImJlZm9yZSI6ImFmdGVyIjt9dGhpcy5lbGVtZW50LmluamVjdChCLEEpO3Ro aXMuZmlyZUV2ZW50KCJzb3J0IixbdGhpcy5lbGVtZW50LHRoaXMuY2xvbmVdKTsK fSxzdGFydDpmdW5jdGlvbihCLEEpe2lmKCF0aGlzLmlkbGV8fEIucmlnaHRDbGlj a3x8WyJidXR0b24iLCJpbnB1dCIsImEiXS5jb250YWlucyhCLnRhcmdldC5nZXQo InRhZyIpKSl7cmV0dXJuIDt9dGhpcy5pZGxlPWZhbHNlO3RoaXMuZWxlbWVudD1B O3RoaXMub3BhY2l0eT1BLmdldCgib3BhY2l0eSIpO3RoaXMubGlzdD1BLmdldFBh cmVudCgpO3RoaXMuY2xvbmU9dGhpcy5nZXRDbG9uZShCLEEpO3RoaXMuZHJhZz1u ZXcgRHJhZy5Nb3ZlKHRoaXMuY2xvbmUsT2JqZWN0Lm1lcmdlKHtkcm9wcGFibGVz OnRoaXMuZ2V0RHJvcHBhYmxlcygpfSx0aGlzLm9wdGlvbnMuZHJhZ09wdGlvbnMp KS5hZGRFdmVudHMoe29uU25hcDpmdW5jdGlvbigpe0Iuc3RvcCgpO3RoaXMuY2xv bmUuc2V0U3R5bGUoInZpc2liaWxpdHkiLCJ2aXNpYmxlIik7dGhpcy5lbGVtZW50 LnNldCgib3BhY2l0eSIsdGhpcy5vcHRpb25zLm9wYWNpdHl8fDApO3RoaXMuZmly ZUV2ZW50KCJzdGFydCIsW3RoaXMuZWxlbWVudCx0aGlzLmNsb25lXSk7Cn0uYmlu ZCh0aGlzKSxvbkVudGVyOnRoaXMuaW5zZXJ0LmJpbmQodGhpcyksb25DYW5jZWw6 dGhpcy5lbmQuYmluZCh0aGlzKSxvbkNvbXBsZXRlOnRoaXMuZW5kLmJpbmQodGhp cyl9KTt0aGlzLmNsb25lLmluamVjdCh0aGlzLmVsZW1lbnQsImJlZm9yZSIpO3Ro aXMuZHJhZy5zdGFydChCKTt9LGVuZDpmdW5jdGlvbigpe3RoaXMuZHJhZy5kZXRh Y2goKTt0aGlzLmVsZW1lbnQuc2V0KCJvcGFjaXR5Iix0aGlzLm9wYWNpdHkpO2lm KHRoaXMuZWZmZWN0KXt2YXIgQj10aGlzLmVsZW1lbnQuZ2V0U3R5bGVzKCJ3aWR0 aCIsImhlaWdodCIpLEQ9dGhpcy5jbG9uZSxDPUQuY29tcHV0ZVBvc2l0aW9uKHRo aXMuZWxlbWVudC5nZXRQb3NpdGlvbih0aGlzLmNsb25lLmdldE9mZnNldFBhcmVu dCgpKSk7dmFyIEE9ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUV2ZW50KCJjYW5jZWwi LEEpO0QuZGVzdHJveSgpO307dGhpcy5lZmZlY3QuZWxlbWVudD1EO3RoaXMuZWZm ZWN0LnN0YXJ0KHt0b3A6Qy50b3AsbGVmdDpDLmxlZnQsd2lkdGg6Qi53aWR0aCxo ZWlnaHQ6Qi5oZWlnaHQsb3BhY2l0eTowLjI1fSkuYWRkRXZlbnQoImNhbmNlbCIs QSkuY2hhaW4oQSk7Cn1lbHNle3RoaXMuY2xvbmUuZGVzdHJveSgpO310aGlzLnJl c2V0KCk7fSxyZXNldDpmdW5jdGlvbigpe3RoaXMuaWRsZT10cnVlO3RoaXMuZmly ZUV2ZW50KCJjb21wbGV0ZSIsdGhpcy5lbGVtZW50KTt9LHNlcmlhbGl6ZTpmdW5j dGlvbigpe3ZhciBDPUFycmF5LmxpbmsoYXJndW1lbnRzLHttb2RpZmllcjpUeXBl LmlzRnVuY3Rpb24saW5kZXg6ZnVuY3Rpb24oRCl7cmV0dXJuIEQhPW51bGw7fX0p O3ZhciBCPXRoaXMubGlzdHMubWFwKGZ1bmN0aW9uKEQpe3JldHVybiBELmdldENo aWxkcmVuKCkubWFwKEMubW9kaWZpZXJ8fGZ1bmN0aW9uKEUpe3JldHVybiBFLmdl dCgiaWQiKTt9LHRoaXMpO30sdGhpcyk7dmFyIEE9Qy5pbmRleDtpZih0aGlzLmxp c3RzLmxlbmd0aD09MSl7QT0wO31yZXR1cm4oQXx8QT09PTApJiZBPj0wJiZBPHRo aXMubGlzdHMubGVuZ3RoP0JbQV06Qjt9fSk7UmVxdWVzdC5KU09OUD1uZXcgQ2xh c3Moe0ltcGxlbWVudHM6W0NoYWluLEV2ZW50cyxPcHRpb25zXSxvcHRpb25zOntv blJlcXVlc3Q6ZnVuY3Rpb24oQSl7aWYodGhpcy5vcHRpb25zLmxvZyYmd2luZG93 LmNvbnNvbGUmJmNvbnNvbGUubG9nKXtjb25zb2xlLmxvZygiSlNPTlAgcmV0cmll dmluZyBzY3JpcHQgd2l0aCB1cmw6IitBKTsKfX0sb25FcnJvcjpmdW5jdGlvbihB KXtpZih0aGlzLm9wdGlvbnMubG9nJiZ3aW5kb3cuY29uc29sZSYmY29uc29sZS53 YXJuKXtjb25zb2xlLndhcm4oIkpTT05QICIrQSsiIHdpbGwgZmFpbCBpbiBJbnRl cm5ldCBFeHBsb3Jlciwgd2hpY2ggZW5mb3JjZXMgYSAyMDgzIGJ5dGVzIGxlbmd0 aCBsaW1pdCBvbiBVUklzIik7fX0sdXJsOiIiLGNhbGxiYWNrS2V5OiJjYWxsYmFj ayIsaW5qZWN0U2NyaXB0OmRvY3VtZW50LmhlYWQsZGF0YToiIixsaW5rOiJpZ25v cmUiLHRpbWVvdXQ6MCxsb2c6ZmFsc2V9LGluaXRpYWxpemU6ZnVuY3Rpb24oQSl7 dGhpcy5zZXRPcHRpb25zKEEpO30sc2VuZDpmdW5jdGlvbihDKXtpZighUmVxdWVz dC5wcm90b3R5cGUuY2hlY2suY2FsbCh0aGlzLEMpKXtyZXR1cm4gdGhpczt9dGhp cy5ydW5uaW5nPXRydWU7dmFyIEQ9dHlwZU9mKEMpO2lmKEQ9PSJzdHJpbmcifHxE PT0iZWxlbWVudCIpe0M9e2RhdGE6Q307fUM9T2JqZWN0Lm1lcmdlKHRoaXMub3B0 aW9ucyxDfHx7fSk7CnZhciBFPUMuZGF0YTtzd2l0Y2godHlwZU9mKEUpKXtjYXNl ImVsZW1lbnQiOkU9ZG9jdW1lbnQuaWQoRSkudG9RdWVyeVN0cmluZygpO2JyZWFr O2Nhc2Uib2JqZWN0IjpjYXNlImhhc2giOkU9T2JqZWN0LnRvUXVlcnlTdHJpbmco RSk7fXZhciBCPXRoaXMuaW5kZXg9UmVxdWVzdC5KU09OUC5jb3VudGVyKys7dmFy IEY9Qy51cmwrKEMudXJsLnRlc3QoIlxcPyIpPyImIjoiPyIpKyhDLmNhbGxiYWNr S2V5KSsiPVJlcXVlc3QuSlNPTlAucmVxdWVzdF9tYXAucmVxdWVzdF8iK0IrKEU/ IiYiK0U6IiIpO2lmKEYubGVuZ3RoPjIwODMpe3RoaXMuZmlyZUV2ZW50KCJlcnJv

ciIsRik7fVJlcXVlc3QuSlNPTlAucmVxdWVzdF9tYXBbInJlcXVlc3RfIitCXT1m dW5jdGlvbigpe3RoaXMuc3VjY2Vzcyhhcmd1bWVudHMsQik7fS5iaW5kKHRoaXMp O3ZhciBBPXRoaXMuZ2V0U2NyaXB0KEYpLmluamVjdChDLmluamVjdFNjcmlwdCk7 dGhpcy5maXJlRXZlbnQoInJlcXVlc3QiLFtGLEFdKTtpZihDLnRpbWVvdXQpe3Ro aXMudGltZW91dC5kZWxheShDLnRpbWVvdXQsdGhpcyk7Cn1yZXR1cm4gdGhpczt9 LGdldFNjcmlwdDpmdW5jdGlvbihBKXtpZighdGhpcy5zY3JpcHQpe3RoaXMuc2Ny aXB0PW5ldyBFbGVtZW50KCJzY3JpcHQiLHt0eXBlOiJ0ZXh0L2phdmFzY3JpcHQi LGFzeW5jOnRydWUsc3JjOkF9KTt9cmV0dXJuIHRoaXMuc2NyaXB0O30sc3VjY2Vz czpmdW5jdGlvbihCLEEpe2lmKCF0aGlzLnJ1bm5pbmcpe3JldHVybiA7fXRoaXMu Y2xlYXIoKS5maXJlRXZlbnQoImNvbXBsZXRlIixCKS5maXJlRXZlbnQoInN1Y2Nl c3MiLEIpLmNhbGxDaGFpbigpO30sY2FuY2VsOmZ1bmN0aW9uKCl7aWYodGhpcy5y dW5uaW5nKXt0aGlzLmNsZWFyKCkuZmlyZUV2ZW50KCJjYW5jZWwiKTt9cmV0dXJu IHRoaXM7fSxpc1J1bm5pbmc6ZnVuY3Rpb24oKXtyZXR1cm4gISF0aGlzLnJ1bm5p bmc7fSxjbGVhcjpmdW5jdGlvbigpe3RoaXMucnVubmluZz1mYWxzZTtpZih0aGlz LnNjcmlwdCl7dGhpcy5zY3JpcHQuZGVzdHJveSgpO3RoaXMuc2NyaXB0PW51bGw7 fXJldHVybiB0aGlzOwp9LHRpbWVvdXQ6ZnVuY3Rpb24oKXtpZih0aGlzLnJ1bm5p bmcpe3RoaXMucnVubmluZz1mYWxzZTt0aGlzLmZpcmVFdmVudCgidGltZW91dCIs W3RoaXMuc2NyaXB0LmdldCgic3JjIiksdGhpcy5zY3JpcHRdKS5maXJlRXZlbnQo ImZhaWx1cmUiKS5jYW5jZWwoKTt9cmV0dXJuIHRoaXM7fX0pO1JlcXVlc3QuSlNP TlAuY291bnRlcj0wO1JlcXVlc3QuSlNPTlAucmVxdWVzdF9tYXA9e307UmVxdWVz dC5RdWV1ZT1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6W09wdGlvbnMsRXZlbnRzXSxC aW5kczpbImF0dGFjaCIsInJlcXVlc3QiLCJjb21wbGV0ZSIsImNhbmNlbCIsInN1 Y2Nlc3MiLCJmYWlsdXJlIiwiZXhjZXB0aW9uIl0sb3B0aW9uczp7c3RvcE9uRmFp bHVyZTp0cnVlLGF1dG9BZHZhbmNlOnRydWUsY29uY3VycmVudDoxLHJlcXVlc3Rz Ont9fSxpbml0aWFsaXplOmZ1bmN0aW9uKEEpe3ZhciBCO2lmKEEpe0I9QS5yZXF1 ZXN0cztkZWxldGUgQS5yZXF1ZXN0czt9dGhpcy5zZXRPcHRpb25zKEEpOwp0aGlz LnJlcXVlc3RzPXt9O3RoaXMucXVldWU9W107dGhpcy5yZXFCaW5kZXJzPXt9O2lm KEIpe3RoaXMuYWRkUmVxdWVzdHMoQik7fX0sYWRkUmVxdWVzdDpmdW5jdGlvbihB LEIpe3RoaXMucmVxdWVzdHNbQV09Qjt0aGlzLmF0dGFjaChBLEIpO3JldHVybiB0 aGlzO30sYWRkUmVxdWVzdHM6ZnVuY3Rpb24oQSl7T2JqZWN0LmVhY2goQSxmdW5j dGlvbihDLEIpe3RoaXMuYWRkUmVxdWVzdChCLEMpO30sdGhpcyk7cmV0dXJuIHRo aXM7fSxnZXROYW1lOmZ1bmN0aW9uKEEpe3JldHVybiBPYmplY3Qua2V5T2YodGhp cy5yZXF1ZXN0cyxBKTt9LGF0dGFjaDpmdW5jdGlvbihBLEIpe2lmKEIuX2dyb3Vw U2VuZCl7cmV0dXJuIHRoaXM7fVsicmVxdWVzdCIsImNvbXBsZXRlIiwiY2FuY2Vs Iiwic3VjY2VzcyIsImZhaWx1cmUiLCJleGNlcHRpb24iXS5lYWNoKGZ1bmN0aW9u KEMpe2lmKCF0aGlzLnJlcUJpbmRlcnNbQV0pe3RoaXMucmVxQmluZGVyc1tBXT17 fTt9dGhpcy5yZXFCaW5kZXJzW0FdW0NdPWZ1bmN0aW9uKCl7dGhpc1sib24iK0Mu Y2FwaXRhbGl6ZSgpXS5hcHBseSh0aGlzLFtBLEJdLmFwcGVuZChhcmd1bWVudHMp KTsKfS5iaW5kKHRoaXMpO0IuYWRkRXZlbnQoQyx0aGlzLnJlcUJpbmRlcnNbQV1b Q10pO30sdGhpcyk7Qi5fZ3JvdXBTZW5kPUIuc2VuZDtCLnNlbmQ9ZnVuY3Rpb24o Qyl7dGhpcy5zZW5kKEEsQyk7cmV0dXJuIEI7fS5iaW5kKHRoaXMpO3JldHVybiB0 aGlzO30scmVtb3ZlUmVxdWVzdDpmdW5jdGlvbihCKXt2YXIgQT10eXBlT2YoQik9 PSJvYmplY3QiP3RoaXMuZ2V0TmFtZShCKTpCO2lmKCFBJiZ0eXBlT2YoQSkhPSJz dHJpbmciKXtyZXR1cm4gdGhpczt9Qj10aGlzLnJlcXVlc3RzW0FdO2lmKCFCKXty ZXR1cm4gdGhpczt9WyJyZXF1ZXN0IiwiY29tcGxldGUiLCJjYW5jZWwiLCJzdWNj ZXNzIiwiZmFpbHVyZSIsImV4Y2VwdGlvbiJdLmVhY2goZnVuY3Rpb24oQyl7Qi5y ZW1vdmVFdmVudChDLHRoaXMucmVxQmluZGVyc1tBXVtDXSk7fSx0aGlzKTtCLnNl bmQ9Qi5fZ3JvdXBTZW5kO2RlbGV0ZSBCLl9ncm91cFNlbmQ7cmV0dXJuIHRoaXM7 fSxnZXRSdW5uaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5maWx0ZXIodGhp cy5yZXF1ZXN0cyxmdW5jdGlvbihBKXtyZXR1cm4gQS5ydW5uaW5nOwp9KTt9LGlz UnVubmluZzpmdW5jdGlvbigpe3JldHVybiAhIShPYmplY3Qua2V5cyh0aGlzLmdl dFJ1bm5pbmcoKSkubGVuZ3RoKTt9LHNlbmQ6ZnVuY3Rpb24oQixBKXt2YXIgQz1m dW5jdGlvbigpe3RoaXMucmVxdWVzdHNbQl0uX2dyb3VwU2VuZChBKTt0aGlzLnF1 ZXVlLmVyYXNlKEMpO30uYmluZCh0aGlzKTtDLm5hbWU9QjtpZihPYmplY3Qua2V5 cyh0aGlzLmdldFJ1bm5pbmcoKSkubGVuZ3RoPj10aGlzLm9wdGlvbnMuY29uY3Vy cmVudHx8KHRoaXMuZXJyb3ImJnRoaXMub3B0aW9ucy5zdG9wT25GYWlsdXJlKSl7 dGhpcy5xdWV1ZS5wdXNoKEMpO31lbHNle0MoKTt9cmV0dXJuIHRoaXM7fSxoYXNO ZXh0OmZ1bmN0aW9uKEEpe3JldHVybighQSk/ISF0aGlzLnF1ZXVlLmxlbmd0aDoh IXRoaXMucXVldWUuZmlsdGVyKGZ1bmN0aW9uKEIpe3JldHVybiBCLm5hbWU9PUE7 fSkubGVuZ3RoO30scmVzdW1lOmZ1bmN0aW9uKCl7dGhpcy5lcnJvcj1mYWxzZTso

dGhpcy5vcHRpb25zLmNvbmN1cnJlbnQtT2JqZWN0LmtleXModGhpcy5nZXRSdW5u aW5nKCkpLmxlbmd0aCkudGltZXModGhpcy5ydW5OZXh0LHRoaXMpOwpyZXR1cm4g dGhpczt9LHJ1bk5leHQ6ZnVuY3Rpb24oQSl7aWYoIXRoaXMucXVldWUubGVuZ3Ro KXtyZXR1cm4gdGhpczt9aWYoIUEpe3RoaXMucXVldWVbMF0oKTt9ZWxzZXt2YXIg Qjt0aGlzLnF1ZXVlLmVhY2goZnVuY3Rpb24oQyl7aWYoIUImJkMubmFtZT09QSl7 Qj10cnVlO0MoKTt9fSk7fXJldHVybiB0aGlzO30scnVuQWxsOmZ1bmN0aW9uKCl7 dGhpcy5xdWV1ZS5lYWNoKGZ1bmN0aW9uKEEpe0EoKTt9KTtyZXR1cm4gdGhpczt9 LGNsZWFyOmZ1bmN0aW9uKEEpe2lmKCFBKXt0aGlzLnF1ZXVlLmVtcHR5KCk7fWVs c2V7dGhpcy5xdWV1ZT10aGlzLnF1ZXVlLm1hcChmdW5jdGlvbihCKXtpZihCLm5h bWUhPUEpe3JldHVybiBCO31lbHNle3JldHVybiBmYWxzZTt9fSkuZmlsdGVyKGZ1 bmN0aW9uKEIpe3JldHVybiBCO30pO31yZXR1cm4gdGhpczt9LGNhbmNlbDpmdW5j dGlvbihBKXt0aGlzLnJlcXVlc3RzW0FdLmNhbmNlbCgpO3JldHVybiB0aGlzO30s b25SZXF1ZXN0OmZ1bmN0aW9uKCl7dGhpcy5maXJlRXZlbnQoInJlcXVlc3QiLGFy Z3VtZW50cyk7Cn0sb25Db21wbGV0ZTpmdW5jdGlvbigpe3RoaXMuZmlyZUV2ZW50 KCJjb21wbGV0ZSIsYXJndW1lbnRzKTtpZighdGhpcy5xdWV1ZS5sZW5ndGgpe3Ro aXMuZmlyZUV2ZW50KCJlbmQiKTt9fSxvbkNhbmNlbDpmdW5jdGlvbigpe2lmKHRo aXMub3B0aW9ucy5hdXRvQWR2YW5jZSYmIXRoaXMuZXJyb3Ipe3RoaXMucnVuTmV4 dCgpO310aGlzLmZpcmVFdmVudCgiY2FuY2VsIixhcmd1bWVudHMpO30sb25TdWNj ZXNzOmZ1bmN0aW9uKCl7aWYodGhpcy5vcHRpb25zLmF1dG9BZHZhbmNlJiYhdGhp cy5lcnJvcil7dGhpcy5ydW5OZXh0KCk7fXRoaXMuZmlyZUV2ZW50KCJzdWNjZXNz Iixhcmd1bWVudHMpO30sb25GYWlsdXJlOmZ1bmN0aW9uKCl7dGhpcy5lcnJvcj10 cnVlO2lmKCF0aGlzLm9wdGlvbnMuc3RvcE9uRmFpbHVyZSYmdGhpcy5vcHRpb25z LmF1dG9BZHZhbmNlKXt0aGlzLnJ1bk5leHQoKTt9dGhpcy5maXJlRXZlbnQoImZh aWx1cmUiLGFyZ3VtZW50cyk7fSxvbkV4Y2VwdGlvbjpmdW5jdGlvbigpe3RoaXMu ZXJyb3I9dHJ1ZTsKaWYoIXRoaXMub3B0aW9ucy5zdG9wT25GYWlsdXJlJiZ0aGlz Lm9wdGlvbnMuYXV0b0FkdmFuY2Upe3RoaXMucnVuTmV4dCgpO310aGlzLmZpcmVF dmVudCgiZXhjZXB0aW9uIixhcmd1bWVudHMpO319KTtSZXF1ZXN0LmltcGxlbWVu dCh7b3B0aW9uczp7aW5pdGlhbERlbGF5OjUwMDAsZGVsYXk6NTAwMCxsaW1pdDo2 MDAwMH0sc3RhcnRUaW1lcjpmdW5jdGlvbihCKXt2YXIgQT1mdW5jdGlvbigpe2lm KCF0aGlzLnJ1bm5pbmcpe3RoaXMuc2VuZCh7ZGF0YTpCfSk7fX07dGhpcy5sYXN0 RGVsYXk9dGhpcy5vcHRpb25zLmluaXRpYWxEZWxheTt0aGlzLnRpbWVyPUEuZGVs YXkodGhpcy5sYXN0RGVsYXksdGhpcyk7dGhpcy5jb21wbGV0ZUNoZWNrPWZ1bmN0 aW9uKEMpe2NsZWFyVGltZW91dCh0aGlzLnRpbWVyKTt0aGlzLmxhc3REZWxheT0o Qyk/dGhpcy5vcHRpb25zLmRlbGF5Oih0aGlzLmxhc3REZWxheSt0aGlzLm9wdGlv bnMuZGVsYXkpLm1pbih0aGlzLm9wdGlvbnMubGltaXQpOwp0aGlzLnRpbWVyPUEu ZGVsYXkodGhpcy5sYXN0RGVsYXksdGhpcyk7fTtyZXR1cm4gdGhpcy5hZGRFdmVu dCgiY29tcGxldGUiLHRoaXMuY29tcGxldGVDaGVjayk7fSxzdG9wVGltZXI6ZnVu Y3Rpb24oKXtjbGVhclRpbWVvdXQodGhpcy50aW1lcik7cmV0dXJuIHRoaXMucmVt b3ZlRXZlbnQoImNvbXBsZXRlIix0aGlzLmNvbXBsZXRlQ2hlY2spO319KTt2YXIg QXNzZXQ9e2phdmFzY3JpcHQ6ZnVuY3Rpb24oRixDKXtpZighQyl7Qz17fTt9dmFy IEE9bmV3IEVsZW1lbnQoInNjcmlwdCIse3NyYzpGLHR5cGU6InRleHQvamF2YXNj cmlwdCJ9KSxHPUMuZG9jdW1lbnR8fGRvY3VtZW50LEI9MCxEPUMub25sb2FkfHxD Lm9uTG9hZDt2YXIgRT1EP2Z1bmN0aW9uKCl7aWYoKytCPT0xKXtELmNhbGwodGhp cyk7fX06ZnVuY3Rpb24oKXt9O2RlbGV0ZSBDLm9ubG9hZDtkZWxldGUgQy5vbkxv YWQ7ZGVsZXRlIEMuZG9jdW1lbnQ7cmV0dXJuIEEuYWRkRXZlbnRzKHtsb2FkOkUs cmVhZHlzdGF0ZWNoYW5nZTpmdW5jdGlvbigpe2lmKFsibG9hZGVkIiwiY29tcGxl dGUiXS5jb250YWlucyh0aGlzLnJlYWR5U3RhdGUpKXtFLmNhbGwodGhpcyk7Cn19 fSkuc2V0KEMpLmluamVjdChHLmhlYWQpO30sY3NzOmZ1bmN0aW9uKEQsQSl7aWYo IUEpe0E9e307fXZhciBCPW5ldyBFbGVtZW50KCJsaW5rIix7cmVsOiJzdHlsZXNo ZWV0IixtZWRpYToic2NyZWVuIix0eXBlOiJ0ZXh0L2NzcyIsaHJlZjpEfSk7dmFy IEM9QS5vbmxvYWR8fEEub25Mb2FkLEU9QS5kb2N1bWVudHx8ZG9jdW1lbnQ7ZGVs ZXRlIEEub25sb2FkO2RlbGV0ZSBBLm9uTG9hZDtkZWxldGUgQS5kb2N1bWVudDtp ZihDKXtCLmFkZEV2ZW50KCJsb2FkIixDKTt9cmV0dXJuIEIuc2V0KEEpLmluamVj dChFLmhlYWQpO30saW1hZ2U6ZnVuY3Rpb24oQyxCKXtpZighQil7Qj17fTt9dmFy IEQ9bmV3IEltYWdlKCksQT1kb2N1bWVudC5pZChEKXx8bmV3IEVsZW1lbnQoImlt ZyIpO1sibG9hZCIsImFib3J0IiwiZXJyb3IiXS5lYWNoKGZ1bmN0aW9uKEUpe3Zh ciBHPSJvbiIrRSxGPSJvbiIrRS5jYXBpdGFsaXplKCksSD1CW0ddfHxCW0ZdfHxm dW5jdGlvbigpe307ZGVsZXRlIEJbRl07CmRlbGV0ZSBCW0ddO0RbR109ZnVuY3Rp b24oKXtpZighRCl7cmV0dXJuIDt9aWYoIUEucGFyZW50Tm9kZSl7QS53aWR0aD1E LndpZHRoO0EuaGVpZ2h0PUQuaGVpZ2h0O31EPUQub25sb2FkPUQub25hYm9ydD1E

Lm9uZXJyb3I9bnVsbDtILmRlbGF5KDEsQSxBKTtBLmZpcmVFdmVudChFLEEsMSk7 fTt9KTtELnNyYz1BLnNyYz1DO2lmKEQmJkQuY29tcGxldGUpe0Qub25sb2FkLmRl bGF5KDEpO31yZXR1cm4gQS5zZXQoQik7fSxpbWFnZXM6ZnVuY3Rpb24oQyxCKXtD PUFycmF5LmZyb20oQyk7dmFyIEQ9ZnVuY3Rpb24oKXt9LEE9MDtCPU9iamVjdC5t ZXJnZSh7b25Db21wbGV0ZTpELG9uUHJvZ3Jlc3M6RCxvbkVycm9yOkQscHJvcGVy dGllczp7fX0sQik7cmV0dXJuIG5ldyBFbGVtZW50cyhDLm1hcChmdW5jdGlvbihG LEUpe3JldHVybiBBc3NldC5pbWFnZShGLE9iamVjdC5hcHBlbmQoQi5wcm9wZXJ0 aWVzLHtvbmxvYWQ6ZnVuY3Rpb24oKXtBKys7Qi5vblByb2dyZXNzLmNhbGwodGhp cyxBLEUsRik7CmlmKEE9PUMubGVuZ3RoKXtCLm9uQ29tcGxldGUoKTt9fSxvbmVy cm9yOmZ1bmN0aW9uKCl7QSsrO0Iub25FcnJvci5jYWxsKHRoaXMsQSxFLEYpO2lm KEE9PUMubGVuZ3RoKXtCLm9uQ29tcGxldGUoKTt9fX0pKTt9KSk7fX07KGZ1bmN0 aW9uKCl7dmFyIEE9dGhpcy5Db2xvcj1uZXcgVHlwZSgiQ29sb3IiLGZ1bmN0aW9u KEMsRCl7aWYoYXJndW1lbnRzLmxlbmd0aD49Myl7RD0icmdiIjtDPUFycmF5LnNs aWNlKGFyZ3VtZW50cywwLDMpO31lbHNle2lmKHR5cGVvZiBDPT0ic3RyaW5nIil7 aWYoQy5tYXRjaCgvcmdiLykpe0M9Qy5yZ2JUb0hleCgpLmhleFRvUmdiKHRydWUp O31lbHNle2lmKEMubWF0Y2goL2hzYi8pKXtDPUMuaHNiVG9SZ2IoKTt9ZWxzZXtD PUMuaGV4VG9SZ2IodHJ1ZSk7fX19fUQ9RHx8InJnYiI7c3dpdGNoKEQpe2Nhc2Ui aHNiIjp2YXIgQj1DO0M9Qy5oc2JUb1JnYigpO0MuaHNiPUI7YnJlYWs7Y2FzZSJo ZXgiOkM9Qy5oZXhUb1JnYih0cnVlKTticmVhazt9Qy5yZ2I9Qy5zbGljZSgwLDMp OwpDLmhzYj1DLmhzYnx8Qy5yZ2JUb0hzYigpO0MuaGV4PUMucmdiVG9IZXgoKTty ZXR1cm4gT2JqZWN0LmFwcGVuZChDLHRoaXMpO30pO0EuaW1wbGVtZW50KHttaXg6 ZnVuY3Rpb24oKXt2YXIgQj1BcnJheS5zbGljZShhcmd1bWVudHMpO3ZhciBEPSh0 eXBlT2YoQi5nZXRMYXN0KCkpPT0ibnVtYmVyIik/Qi5wb3AoKTo1MDt2YXIgQz10 aGlzLnNsaWNlKCk7Qi5lYWNoKGZ1bmN0aW9uKEUpe0U9bmV3IEEoRSk7Zm9yKHZh ciBGPTA7RjwzO0YrKyl7Q1tGXT1NYXRoLnJvdW5kKChDW0ZdLzEwMCooMTAwLUQp KSsoRVtGXS8xMDAqRCkpO319KTtyZXR1cm4gbmV3IEEoQywicmdiIik7fSxpbnZl cnQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEEodGhpcy5tYXAoZnVuY3Rpb24oQil7 cmV0dXJuIDI1NS1CO30pKTt9LHNldEh1ZTpmdW5jdGlvbihCKXtyZXR1cm4gbmV3 IEEoW0IsdGhpcy5oc2JbMV0sdGhpcy5oc2JbMl1dLCJoc2IiKTt9LHNldFNhdHVy YXRpb246ZnVuY3Rpb24oQil7cmV0dXJuIG5ldyBBKFt0aGlzLmhzYlswXSxCLHRo aXMuaHNiWzJdXSwiaHNiIik7Cn0sc2V0QnJpZ2h0bmVzczpmdW5jdGlvbihCKXty ZXR1cm4gbmV3IEEoW3RoaXMuaHNiWzBdLHRoaXMuaHNiWzFdLEJdLCJoc2IiKTt9 fSk7dGhpcy4kUkdCPWZ1bmN0aW9uKEQsQyxCKXtyZXR1cm4gbmV3IEEoW0QsQyxC XSwicmdiIik7fTt0aGlzLiRIU0I9ZnVuY3Rpb24oRCxDLEIpe3JldHVybiBuZXcg QShbRCxDLEJdLCJoc2IiKTt9O3RoaXMuJEhFWD1mdW5jdGlvbihCKXtyZXR1cm4g bmV3IEEoQiwiaGV4Iik7fTtBcnJheS5pbXBsZW1lbnQoe3JnYlRvSHNiOmZ1bmN0 aW9uKCl7dmFyIEM9dGhpc1swXSxEPXRoaXNbMV0sSz10aGlzWzJdLEg9MDt2YXIg Sj1NYXRoLm1heChDLEQsSyksRj1NYXRoLm1pbihDLEQsSyk7dmFyIEw9Si1GO3Zh ciBJPUovMjU1LEc9KEohPTApP0wvSjowO2lmKEchPTApe3ZhciBFPShKLUMpL0w7 dmFyIEI9KEotRCkvTDt2YXIgTT0oSi1LKS9MO2lmKEM9PUope0g9TS1CO31lbHNl e2lmKEQ9PUope0g9MitFLU07fWVsc2V7SD00K0ItRTt9fUgvPTY7aWYoSDwwKXtI Kys7Cn19cmV0dXJuW01hdGgucm91bmQoSCozNjApLE1hdGgucm91bmQoRyoxMDAp LE1hdGgucm91bmQoSSoxMDApXTt9LGhzYlRvUmdiOmZ1bmN0aW9uKCl7dmFyIEQ9 TWF0aC5yb3VuZCh0aGlzWzJdLzEwMCoyNTUpO2lmKHRoaXNbMV09PTApe3JldHVy bltELEQsRF07fWVsc2V7dmFyIEI9dGhpc1swXSUzNjA7dmFyIEY9QiU2MDt2YXIg Rz1NYXRoLnJvdW5kKCh0aGlzWzJdKigxMDAtdGhpc1sxXSkpLzEwMDAwKjI1NSk7 dmFyIEU9TWF0aC5yb3VuZCgodGhpc1syXSooNjAwMC10aGlzWzFdKkYpKS82MDAw MDAqMjU1KTt2YXIgQz1NYXRoLnJvdW5kKCh0aGlzWzJdKig2MDAwLXRoaXNbMV0q KDYwLUYpKSkvNjAwMDAwKjI1NSk7c3dpdGNoKE1hdGguZmxvb3IoQi82MCkpe2Nh c2UgMDpyZXR1cm5bRCxDLEddO2Nhc2UgMTpyZXR1cm5bRSxELEddO2Nhc2UgMjpy ZXR1cm5bRyxELENdO2Nhc2UgMzpyZXR1cm5bRyxFLERdO2Nhc2UgNDpyZXR1cm5b QyxHLERdO2Nhc2UgNTpyZXR1cm5bRCxHLEVdOwp9fXJldHVybiBmYWxzZTt9fSk7 U3RyaW5nLmltcGxlbWVudCh7cmdiVG9Ic2I6ZnVuY3Rpb24oKXt2YXIgQj10aGlz Lm1hdGNoKC9cZHsxLDN9L2cpO3JldHVybihCKT9CLnJnYlRvSHNiKCk6bnVsbDt9 LGhzYlRvUmdiOmZ1bmN0aW9uKCl7dmFyIEI9dGhpcy5tYXRjaCgvXGR7MSwzfS9n KTtyZXR1cm4oQik/Qi5oc2JUb1JnYigpOm51bGw7fX0pO30pKCk7KGZ1bmN0aW9u KCl7dGhpcy5Hcm91cD1uZXcgQ2xhc3Moe2luaXRpYWxpemU6ZnVuY3Rpb24oKXt0 aGlzLmluc3RhbmNlcz1BcnJheS5mbGF0dGVuKGFyZ3VtZW50cyk7dGhpcy5ldmVu dHM9e307dGhpcy5jaGVja2VyPXt9O30sYWRkRXZlbnQ6ZnVuY3Rpb24oQixBKXt0 aGlzLmNoZWNrZXJbQl09dGhpcy5jaGVja2VyW0JdfHx7fTt0aGlzLmV2ZW50c1tC

XT10aGlzLmV2ZW50c1tCXXx8W107aWYodGhpcy5ldmVudHNbQl0uY29udGFpbnMo QSkpe3JldHVybiBmYWxzZTt9ZWxzZXt0aGlzLmV2ZW50c1tCXS5wdXNoKEEpO310 aGlzLmluc3RhbmNlcy5lYWNoKGZ1bmN0aW9uKEMsRCl7Qy5hZGRFdmVudChCLHRo aXMuY2hlY2sucGFzcyhbQixDLERdLHRoaXMpKTsKfSx0aGlzKTtyZXR1cm4gdGhp czt9LGNoZWNrOmZ1bmN0aW9uKEMsQSxCKXt0aGlzLmNoZWNrZXJbQ11bQl09dHJ1 ZTt2YXIgRD10aGlzLmluc3RhbmNlcy5ldmVyeShmdW5jdGlvbihGLEUpe3JldHVy biB0aGlzLmNoZWNrZXJbQ11bRV18fGZhbHNlO30sdGhpcyk7aWYoIUQpe3JldHVy biA7fXRoaXMuY2hlY2tlcltDXT17fTt0aGlzLmV2ZW50c1tDXS5lYWNoKGZ1bmN0 aW9uKEUpe0UuY2FsbCh0aGlzLHRoaXMuaW5zdGFuY2VzLEEpO30sdGhpcyk7fX0p O30pKCk7SGFzaC5Db29raWU9bmV3IENsYXNzKHtFeHRlbmRzOkNvb2tpZSxvcHRp b25zOnthdXRvU2F2ZTp0cnVlfSxpbml0aWFsaXplOmZ1bmN0aW9uKEIsQSl7dGhp cy5wYXJlbnQoQixBKTt0aGlzLmxvYWQoKTt9LHNhdmU6ZnVuY3Rpb24oKXt2YXIg QT1KU09OLmVuY29kZSh0aGlzLmhhc2gpO2lmKCFBfHxBLmxlbmd0aD40MDk2KXty ZXR1cm4gZmFsc2U7fWlmKEE9PSJ7fSIpe3RoaXMuZGlzcG9zZSgpO31lbHNle3Ro aXMud3JpdGUoQSk7Cn1yZXR1cm4gdHJ1ZTt9LGxvYWQ6ZnVuY3Rpb24oKXt0aGlz Lmhhc2g9bmV3IEhhc2goSlNPTi5kZWNvZGUodGhpcy5yZWFkKCksdHJ1ZSkpO3Jl dHVybiB0aGlzO319KTtIYXNoLmVhY2goSGFzaC5wcm90b3R5cGUsZnVuY3Rpb24o QixBKXtpZih0eXBlb2YgQj09ImZ1bmN0aW9uIil7SGFzaC5Db29raWUuaW1wbGVt ZW50KEEsZnVuY3Rpb24oKXt2YXIgQz1CLmFwcGx5KHRoaXMuaGFzaCxhcmd1bWVu dHMpO2lmKHRoaXMub3B0aW9ucy5hdXRvU2F2ZSl7dGhpcy5zYXZlKCk7fXJldHVy biBDO30pO319KTt2YXIgU2Nyb2xsZXI9bmV3IENsYXNzKHtJbXBsZW1lbnRzOltF dmVudHMsT3B0aW9uc10sb3B0aW9uczp7YXJlYToyMCx2ZWxvY2l0eToxLG9uQ2hh bmdlOmZ1bmN0aW9uKEEsQil7dGhpcy5lbGVtZW50LnNjcm9sbFRvKEEsQik7fSxm cHM6NTB9LGluaXRpYWxpemU6ZnVuY3Rpb24oQixBKXt0aGlzLnNldE9wdGlvbnMo QSk7dGhpcy5lbGVtZW50PWRvY3VtZW50LmlkKEIpO3RoaXMuZG9jQm9keT1kb2N1 bWVudC5pZCh0aGlzLmVsZW1lbnQuZ2V0RG9jdW1lbnQoKS5ib2R5KTsKdGhpcy5s aXN0ZW5lcj0odHlwZU9mKHRoaXMuZWxlbWVudCkhPSJlbGVtZW50Iik/dGhpcy5k b2NCb2R5OnRoaXMuZWxlbWVudDt0aGlzLnRpbWVyPW51bGw7dGhpcy5ib3VuZD17 YXR0YWNoOnRoaXMuYXR0YWNoLmJpbmQodGhpcyksZGV0YWNoOnRoaXMuZGV0YWNo LmJpbmQodGhpcyksZ2V0Q29vcmRzOnRoaXMuZ2V0Q29vcmRzLmJpbmQodGhpcyl9 O30sc3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLmxpc3RlbmVyLmFkZEV2ZW50cyh7bW91 c2VvdmVyOnRoaXMuYm91bmQuYXR0YWNoLG1vdXNlbGVhdmU6dGhpcy5ib3VuZC5k ZXRhY2h9KTtyZXR1cm4gdGhpczt9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLmxpc3Rl bmVyLnJlbW92ZUV2ZW50cyh7bW91c2VvdmVyOnRoaXMuYm91bmQuYXR0YWNoLG1v dXNlbGVhdmU6dGhpcy5ib3VuZC5kZXRhY2h9KTt0aGlzLmRldGFjaCgpO3RoaXMu dGltZXI9Y2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtyZXR1cm4gdGhpczt9LGF0 dGFjaDpmdW5jdGlvbigpe3RoaXMubGlzdGVuZXIuYWRkRXZlbnQoIm1vdXNlbW92 ZSIsdGhpcy5ib3VuZC5nZXRDb29yZHMpOwp9LGRldGFjaDpmdW5jdGlvbigpe3Ro aXMubGlzdGVuZXIucmVtb3ZlRXZlbnQoIm1vdXNlbW92ZSIsdGhpcy5ib3VuZC5n ZXRDb29yZHMpO3RoaXMudGltZXI9Y2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTt9 LGdldENvb3JkczpmdW5jdGlvbihBKXt0aGlzLnBhZ2U9KHRoaXMubGlzdGVuZXIu Z2V0KCJ0YWciKT09ImJvZHkiKT9BLmNsaWVudDpBLnBhZ2U7aWYoIXRoaXMudGlt ZXIpe3RoaXMudGltZXI9dGhpcy5zY3JvbGwucGVyaW9kaWNhbChNYXRoLnJvdW5k KDEwMDAvdGhpcy5vcHRpb25zLmZwcyksdGhpcyk7fX0sc2Nyb2xsOmZ1bmN0aW9u KCl7dmFyIEM9dGhpcy5lbGVtZW50LmdldFNpemUoKSxBPXRoaXMuZWxlbWVudC5n ZXRTY3JvbGwoKSxIPXRoaXMuZWxlbWVudCE9dGhpcy5kb2NCb2R5P3RoaXMuZWxl bWVudC5nZXRPZmZzZXRzKCk6e3g6MCx5OjB9LEQ9dGhpcy5lbGVtZW50LmdldFNj cm9sbFNpemUoKSxHPXt4OjAseTowfSxFPXRoaXMub3B0aW9ucy5hcmVhLnRvcHx8 dGhpcy5vcHRpb25zLmFyZWEsQj10aGlzLm9wdGlvbnMuYXJlYS5ib3R0b218fHRo aXMub3B0aW9ucy5hcmVhOwpmb3IodmFyIEYgaW4gdGhpcy5wYWdlKXtpZih0aGlz LnBhZ2VbRl08KEUrSFtGXSkmJkFbRl0hPTApe0dbRl09KHRoaXMucGFnZVtGXS1F LUhbRl0pKnRoaXMub3B0aW9ucy52ZWxvY2l0eTt9ZWxzZXtpZih0aGlzLnBhZ2Vb Rl0rQj4oQ1tGXStIW0ZdKSYmQVtGXStDW0ZdIT1EW0ZdKXtHW0ZdPSh0aGlzLnBh Z2VbRl0tQ1tGXStCLUhbRl0pKnRoaXMub3B0aW9ucy52ZWxvY2l0eTt9fUdbRl09 R1tGXS5yb3VuZCgpO31pZihHLnl8fEcueCl7dGhpcy5maXJlRXZlbnQoImNoYW5n ZSIsW0EueCtHLngsQS55K0cueV0pO319fSk7KGZ1bmN0aW9uKCl7dmFyIEE9ZnVu Y3Rpb24oQyxCKXtyZXR1cm4oQyk/KHR5cGVPZihDKT09ImZ1bmN0aW9uIj9DKEIp OkIuZ2V0KEMpKToiIjt9O3RoaXMuVGlwcz1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6 W0V2ZW50cyxPcHRpb25zXSxvcHRpb25zOntvblNob3c6ZnVuY3Rpb24oKXt0aGlz LnRpcC5zZXRTdHlsZSgiZGlzcGxheSIsImJsb2NrIik7fSxvbkhpZGU6ZnVuY3Rp

b24oKXt0aGlzLnRpcC5zZXRTdHlsZSgiZGlzcGxheSIsIm5vbmUiKTsKfSx0aXRs ZToidGl0bGUiLHRleHQ6ZnVuY3Rpb24oQil7cmV0dXJuIEIuZ2V0KCJyZWwiKXx8 Qi5nZXQoImhyZWYiKTt9LHNob3dEZWxheToxMDAsaGlkZURlbGF5OjEwMCxjbGFz c05hbWU6InRpcC13cmFwIixvZmZzZXQ6e3g6MTYseToxNn0sd2luZG93UGFkZGlu Zzp7eDowLHk6MH0sZml4ZWQ6ZmFsc2V9LGluaXRpYWxpemU6ZnVuY3Rpb24oKXt2 YXIgQj1BcnJheS5saW5rKGFyZ3VtZW50cyx7b3B0aW9uczpUeXBlLmlzT2JqZWN0 LGVsZW1lbnRzOmZ1bmN0aW9uKEMpe3JldHVybiBDIT1udWxsO319KTt0aGlzLnNl dE9wdGlvbnMoQi5vcHRpb25zKTtpZihCLmVsZW1lbnRzKXt0aGlzLmF0dGFjaChC LmVsZW1lbnRzKTt9dGhpcy5jb250YWluZXI9bmV3IEVsZW1lbnQoImRpdiIseyJj bGFzcyI6InRpcCJ9KTt9LHRvRWxlbWVudDpmdW5jdGlvbigpe2lmKHRoaXMudGlw KXtyZXR1cm4gdGhpcy50aXA7fXRoaXMudGlwPW5ldyBFbGVtZW50KCJkaXYiLHsi Y2xhc3MiOnRoaXMub3B0aW9ucy5jbGFzc05hbWUsc3R5bGVzOntwb3NpdGlvbjoi YWJzb2x1dGUiLHRvcDowLGxlZnQ6MH19KS5hZG9wdChuZXcgRWxlbWVudCgiZGl2 Iix7ImNsYXNzIjoidGlwLXRvcCJ9KSx0aGlzLmNvbnRhaW5lcixuZXcgRWxlbWVu dCgiZGl2Iix7ImNsYXNzIjoidGlwLWJvdHRvbSJ9KSk7CnJldHVybiB0aGlzLnRp cDt9LGF0dGFjaDpmdW5jdGlvbihCKXskJChCKS5lYWNoKGZ1bmN0aW9uKEQpe3Zh ciBGPUEodGhpcy5vcHRpb25zLnRpdGxlLEQpLEU9QSh0aGlzLm9wdGlvbnMudGV4 dCxEKTtELnNldCgidGl0bGUiLCIiKS5zdG9yZSgidGlwOm5hdGl2ZSIsRikucmV0 cmlldmUoInRpcDp0aXRsZSIsRik7RC5yZXRyaWV2ZSgidGlwOnRleHQiLEUpO3Ro aXMuZmlyZUV2ZW50KCJhdHRhY2giLFtEXSk7dmFyIEM9WyJlbnRlciIsImxlYXZl Il07aWYoIXRoaXMub3B0aW9ucy5maXhlZCl7Qy5wdXNoKCJtb3ZlIik7fUMuZWFj aChmdW5jdGlvbihIKXt2YXIgRz1ELnJldHJpZXZlKCJ0aXA6IitIKTtpZighRyl7 Rz1mdW5jdGlvbihJKXt0aGlzWyJlbGVtZW50IitILmNhcGl0YWxpemUoKV0uYXBw bHkodGhpcyxbSSxEXSk7fS5iaW5kKHRoaXMpO31ELnN0b3JlKCJ0aXA6IitILEcp LmFkZEV2ZW50KCJtb3VzZSIrSCxHKTt9LHRoaXMpO30sdGhpcyk7cmV0dXJuIHRo aXM7fSxkZXRhY2g6ZnVuY3Rpb24oQil7JCQoQikuZWFjaChmdW5jdGlvbihEKXtb ImVudGVyIiwibGVhdmUiLCJtb3ZlIl0uZWFjaChmdW5jdGlvbihFKXtELnJlbW92 ZUV2ZW50KCJtb3VzZSIrRSxELnJldHJpZXZlKCJ0aXA6IitFKSkuZWxpbWluYXRl KCJ0aXA6IitFKTsKfSk7dGhpcy5maXJlRXZlbnQoImRldGFjaCIsW0RdKTtpZih0 aGlzLm9wdGlvbnMudGl0bGU9PSJ0aXRsZSIpe3ZhciBDPUQucmV0cmlldmUoInRp cDpuYXRpdmUiKTtpZihDKXtELnNldCgidGl0bGUiLEMpO319fSx0aGlzKTtyZXR1 cm4gdGhpczt9LGVsZW1lbnRFbnRlcjpmdW5jdGlvbihDLEIpe2NsZWFyVGltZW91 dCh0aGlzLnRpbWVyKTt0aGlzLnRpbWVyPShmdW5jdGlvbigpe3RoaXMuY29udGFp bmVyLmVtcHR5KCk7WyJ0aXRsZSIsInRleHQiXS5lYWNoKGZ1bmN0aW9uKEUpe3Zh ciBEPUIucmV0cmlldmUoInRpcDoiK0UpO3ZhciBGPXRoaXNbIl8iK0UrIkVsZW1l bnQiXT1uZXcgRWxlbWVudCgiZGl2Iix7ImNsYXNzIjoidGlwLSIrRX0pLmluamVj dCh0aGlzLmNvbnRhaW5lcik7aWYoRCl7dGhpcy5maWxsKEYsRCk7fX0sdGhpcyk7 dGhpcy5zaG93KEIpO3RoaXMucG9zaXRpb24oKHRoaXMub3B0aW9ucy5maXhlZCk/ e3BhZ2U6Qi5nZXRQb3NpdGlvbigpfTpDKTt9KS5kZWxheSh0aGlzLm9wdGlvbnMu c2hvd0RlbGF5LHRoaXMpOwp9LGVsZW1lbnRMZWF2ZTpmdW5jdGlvbihDLEIpe2Ns ZWFyVGltZW91dCh0aGlzLnRpbWVyKTt0aGlzLnRpbWVyPXRoaXMuaGlkZS5kZWxh eSh0aGlzLm9wdGlvbnMuaGlkZURlbGF5LHRoaXMsQik7dGhpcy5maXJlRm9yUGFy ZW50KEMsQik7fSxzZXRUaXRsZTpmdW5jdGlvbihCKXtpZih0aGlzLl90aXRsZUVs ZW1lbnQpe3RoaXMuX3RpdGxlRWxlbWVudC5lbXB0eSgpO3RoaXMuZmlsbCh0aGlz Ll90aXRsZUVsZW1lbnQsQik7fXJldHVybiB0aGlzO30sc2V0VGV4dDpmdW5jdGlv bihCKXtpZih0aGlzLl90ZXh0RWxlbWVudCl7dGhpcy5fdGV4dEVsZW1lbnQuZW1w dHkoKTt0aGlzLmZpbGwodGhpcy5fdGV4dEVsZW1lbnQsQik7fXJldHVybiB0aGlz O30sZmlyZUZvclBhcmVudDpmdW5jdGlvbihDLEIpe0I9Qi5nZXRQYXJlbnQoKTtp ZighQnx8Qj09ZG9jdW1lbnQuYm9keSl7cmV0dXJuIDt9aWYoQi5yZXRyaWV2ZSgi dGlwOmVudGVyIikpe0IuZmlyZUV2ZW50KCJtb3VzZWVudGVyIixDKTsKfWVsc2V7 dGhpcy5maXJlRm9yUGFyZW50KEMsQik7fX0sZWxlbWVudE1vdmU6ZnVuY3Rpb24o QyxCKXt0aGlzLnBvc2l0aW9uKEMpO30scG9zaXRpb246ZnVuY3Rpb24oRil7aWYo IXRoaXMudGlwKXtkb2N1bWVudC5pZCh0aGlzKTt9dmFyIEM9d2luZG93LmdldFNp emUoKSxCPXdpbmRvdy5nZXRTY3JvbGwoKSxHPXt4OnRoaXMudGlwLm9mZnNldFdp ZHRoLHk6dGhpcy50aXAub2Zmc2V0SGVpZ2h0fSxEPXt4OiJsZWZ0Iix5OiJ0b3Ai fSxFPXt5OmZhbHNlLHgyOmZhbHNlLHkyOmZhbHNlLHg6ZmFsc2V9LEg9e307Zm9y KHZhciBJIGluIEQpe0hbRFtJXV09Ri5wYWdlW0ldK3RoaXMub3B0aW9ucy5vZmZz ZXRbSV07aWYoSFtEW0ldXTwwKXtFW0ldPXRydWU7fWlmKChIW0RbSV1dK0dbSV0t QltJXSk+Q1tJXS10aGlzLm9wdGlvbnMud2luZG93UGFkZGluZ1tJXSl7SFtEW0ld XT1GLnBhZ2VbSV0tdGhpcy5vcHRpb25zLm9mZnNldFtJXS1HW0ldO0VbSSsiMiJd

PXRydWU7fX10aGlzLmZpcmVFdmVudCgiYm91bmQiLEUpOwp0aGlzLnRpcC5zZXRT dHlsZXMoSCk7fSxmaWxsOmZ1bmN0aW9uKEIsQyl7aWYodHlwZW9mIEM9PSJzdHJp bmciKXtCLnNldCgiaHRtbCIsQyk7fWVsc2V7Qi5hZG9wdChDKTt9fSxzaG93OmZ1 bmN0aW9uKEIpe2lmKCF0aGlzLnRpcCl7ZG9jdW1lbnQuaWQodGhpcyk7fWlmKCF0 aGlzLnRpcC5nZXRQYXJlbnQoKSl7dGhpcy50aXAuaW5qZWN0KGRvY3VtZW50LmJv ZHkpO310aGlzLmZpcmVFdmVudCgic2hvdyIsW3RoaXMudGlwLEJdKTt9LGhpZGU6 ZnVuY3Rpb24oQil7aWYoIXRoaXMudGlwKXtkb2N1bWVudC5pZCh0aGlzKTt9dGhp cy5maXJlRXZlbnQoImhpZGUiLFt0aGlzLnRpcCxCXSk7fX0pO30pKCk7RWxlbWVu dC5pbXBsZW1lbnQoe2dldEpTT05EYXRhOmZ1bmN0aW9uKEEsQil7dmFyIEE9QXx8 ImNsYXNzIixEPXRoaXMucmV0cmlldmUoImpzb25fc3RvcmVfa2V5IixCfHwianNv bmRhdGEiKSxDPS8oey4qfSkvLEY9dGhpcy5yZXRyaWV2ZShEKSxFPXt9O2lmKEYp e3JldHVybiBGO31GPUMuZXhlYyh0aGlzLmdldFByb3BlcnR5KEEpKTtpZihGJiZG WzFdKXtFPUpTT04uZGVjb2RlKEZbMV0pO3RoaXMuc3RvcmUoRCxFKTt9ZWxzZXtF PW51bGw7fXJldHVybiBFO319KTsoZnVuY3Rpb24oKXt2YXIgQT1mdW5jdGlvbigp e3ZhciBDPSQkKCJzY3JpcHRbc3JjXSIpLEU9e307Zm9yKHZhciBEPTAsQj1DLmxl bmd0aDtEPEI7RD1EKzEpe0VbQ1tEXS5nZXQoInNyYyIpXT1DW0RdO31yZXR1cm4g RTt9O0Fzc2V0LmphdmFzY3JpcHRzPWZ1bmN0aW9uKEUsRCl7RD0kbWVyZ2Uoe29u Q29tcGxldGU6ZnVuY3Rpb24oKXt9fSxEKTt2YXIgQj0kc3BsYXQoRSksQz0wLEY9 QSgpO0IubWFwKGZ1bmN0aW9uKEgpe3N3aXRjaCgkdHlwZShIKSl7Y2FzZSJzdHJp bmciOkg9e3NyYzpILHByb3BlcnRpZXM6e319OwpicmVhaztjYXNlIm9iamVjdCI6 aWYoIUguc3JjKXtyZXR1cm4gZmFsc2U7fUgucHJvcGVydGllcz1ILnByb3BlcnRp ZXN8fHt9O2JyZWFrO312YXIgRz0oSC5wcm9wZXJ0aWVzLm9uTG9hZHx8SC5wcm9w ZXJ0aWVzLm9ubG9hZCl8fGZ1bmN0aW9uKCl7fSxJPWZ1bmN0aW9uKCl7Ry5iaW5k KHRoaXMpKCk7Qz1DKzE7aWYoQz09PUIubGVuZ3RoKXtELm9uQ29tcGxldGUoKTt9 fTtpZihGW0guc3JjXSl7SS5iaW5kKEZbSC5zcmNdKSgpO3JldHVybiBGW0guc3Jj XTt9cmV0dXJuIEFzc2V0LmphdmFzY3JpcHQoSC5zcmMsJGV4dGVuZChILnByb3Bl cnRpZXMse29ubG9hZDpmdW5jdGlvbigpe0kuYmluZCh0aGlzKSgpO319KSk7fSk7 cmV0dXJuIEI7fTt9KCkpO3ZhciBHU0RXPShmdW5jdGlvbigpe3ZhciBHPWZhbHNl LEU9ZmFsc2UsSSxGPXt9LEg9WyJjbGVhciIsInJlZGlyIiwibGV2dCJdO3ZhciBC PWZ1bmN0aW9uKEope0U9KCEhSik7cmV0dXJuIEk7fSxDPWZ1bmN0aW9uKCl7dmFy IEo9e307SC5lYWNoKGZ1bmN0aW9uKEspe0pbS109ZnVuY3Rpb24oKXt0aGlzLnRy YWNrKEssQXJyYXkuZnJvbShhcmd1bWVudHMpKTt9O30pO3JldHVybiBKO307dmFy IEQ9bnVsbDt2YXIgQT1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6W09wdGlvbnMsRXZl bnRzXSxvcHRpb25zOntvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7d2luZG93LmFkZEV2 ZW50KCJkb21yZWFkeSIsZnVuY3Rpb24oKXt3aW5kb3cuR1NEVy5jbGVhcigpO30p O30sc2NyaXB0Ont1cmw6Ii8vZHcuY29tLmNvbS9qcy9kdy5qcyIscHJvcGVydGll czp7fX0scmVnU2lsbzpudWxsLHBhZ2VQYXJhbXM6bnVsbCxzZWxlY3RvcnM6e2R3 UGFnZVBhcmFtczonbWV0YVtuYW1lPSJkdy1wYWdlLXBhcmFtcyJdJyxkd1JlZ1Np bG86J21ldGFbbmFtZT0iZHctcmVnLXNpbG8iXSd9fSxxdWV1ZTpbXSxpbml0aWFs aXplOmZ1bmN0aW9uKEspe2lmKEkpe3JldHVybiBJOwp9dGhpcy5zZXRPcHRpb25z KEspO3ZhciBKPXRoaXMub3B0aW9ucy5yZWdTaWxvLE09dGhpcy5vcHRpb25zLnBh Z2VQYXJhbXMsTD10aGlzLm9wdGlvbnMuc2VsZWN0b3JzO2lmKCFNKXtpZighRCl7 RD0kKGRvY3VtZW50LmhlYWQpfHxkb2N1bWVudC5oZWFkO31NPUQuZ2V0RWxlbWVu dChMLmR3UGFnZVBhcmFtcyk7aWYoTSl7TT1NLmdldEpTT05EYXRhKCJjb250ZW50 Iik7fXRoaXMub3B0aW9ucy5wYWdlUGFyYW1zPU07fWlmKCFKKXtpZighRCl7RD0k KGRvY3VtZW50LmhlYWQpfHxkb2N1bWVudC5oZWFkO31KPUQuZ2V0RWxlbWVudChM LmR3UmVnU2lsbyk7aWYoSil7Sj1KLmdldCgiY29udGVudCIpO310aGlzLm9wdGlv bnMucmVnU2lsbz1KO310aGlzLnNldHVwKHRoaXMub3B0aW9ucy5wYWdlUGFyYW1z KTtyZXR1cm4gST10aGlzO30sc2V0dXA6ZnVuY3Rpb24oTSl7aWYoRyl7cmV0dXJu IHRoaXM7fUc9dHJ1ZTt2YXIgSz10aGlzLm9wdGlvbnMuc2NyaXB0LEo9Sy5wcm9w ZXJ0aWVzLEw9Si5vbmxvYWR8fEoub25Mb2FkOwp0aGlzLnNldFBhZ2VQYXJhbXMo TSk7aWYoTCl7ZGVsZXRlIEoub25sb2FkO2RlbGV0ZSBKLm9uTG9hZDt9Si5vbkxv YWQ9ZnVuY3Rpb24oKXt3aW5kb3cuRFcucmVnU2lsbz10aGlzLm9wdGlvbnMucmVn U2lsbzt0aGlzLmZpcmVFdmVudCgic2NyaXB0TG9hZGVkIik7Qih0cnVlKTt0aGlz LnNldFBhZ2VQYXJhbXModGhpcy5nZXRQYWdlUGFyYW1zKCkpO3ZhciBPPXRoaXMu cXVldWUsTj1PLmxlbmd0aDtpZihOKXt3aGlsZShOLS0peyhPLnBvcCgpKSgpO319 TCYmTCgpO30uYmluZCh0aGlzKTt0aGlzLmxvYWQoKTt0aGlzLmZpcmVFdmVudCgi Y29tcGxldGUiKTtyZXR1cm4gdGhpczt9LnByb3RlY3QoKSxsb2FkOmZ1bmN0aW9u KCl7dmFyIE09dGhpcy5vcHRpb25zLnNjcmlwdCxLPU0udXJsLEw9TS5wcm9wZXJ0 aWVzLEo9JCQoInNjcmlwdFtzcmM9JyIrSysiJ10iKTtpZihKLmxlbmd0aCl7TC5v

bkxvYWQoKTt9ZWxzZXtBc3NldC5qYXZhc2NyaXB0KEssTCk7fXJldHVybiB0aGlz O30ucHJvdGVjdCgpLHNldFBhZ2VQYXJhbXM6ZnVuY3Rpb24oTCl7dmFyIEs9d2lu ZG93LkRXLEo9dGhpcy5nZXRQYWdlUGFyYW1zKCk7CihKIT09TCkmJihKPU9iamVj dC5tZXJnZShKLEwpKTtLJiYoSy5wYWdlUGFyYW1zIT09SikmJihLLnBhZ2VQYXJh bXM9T2JqZWN0Lm1lcmdlKHt9LEsucGFnZVBhcmFtcyxMKSk7cmV0dXJuIHRoaXM7 fSxnZXRQYWdlUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIEY7fSx0cmFjazpmdW5j dGlvbihMLEspe3ZhciBKPXRoaXMucXVldWUsTT0oZnVuY3Rpb24oTyxOKXtyZXR1 cm4gZnVuY3Rpb24oUixQKXt2YXIgUT13aW5kb3cuRFcsUz1RJiZRW1JdfHxmYWxz ZTtTJiZTLmFwcGx5KFEsUCk7fS5iaW5kKHRoaXMsW08sTl0pO30uYXBwbHkodGhp cyxbTCxLXSkpO2lmKCF0aGlzLmdldFJlYWR5U3RhdGUoKSl7Si5wdXNoKE0pO31l bHNle00oKTt9cmV0dXJuIHRoaXM7fS5wcm90ZWN0KCksZ2V0UmVhZHlTdGF0ZTpm dW5jdGlvbigpe3JldHVybiBFO319KS5pbXBsZW1lbnQoQygpKTtyZXR1cm4gbmV3 IEEoKTt9LmNhbGwodGhpcykpO3ZhciB3aW5kb3dPcGVuZXI9bmV3IENsYXNzKHtJ bXBsZW1lbnRzOltPcHRpb25zXSxuYW1lOiJ3aW5kb3dPcGVuZXIiLG9wdGlvbnM6 e3NlbGVjdG9yOiJhW3JlbF49cG9wdXBdIixkZWZhdWx0VHlwZToiZGVmYXVsdCIs dHlwZUtleToicG9wdXAiLHVybEtleToiaHJlZiIsdHlwZUF0dHI6InJlbCJ9LHBh cmFtczp7ImRlZmF1bHQiOnt0YXJnZXQ6Il9ibGFuayIscHJvcGVydGllczoicmVz aXphYmxlPTEifX0saW5pdGlhbGl6ZTpmdW5jdGlvbihDLEEsRCl7Qz1DfHwkKGRv Y3VtZW50LmJvZHkpO2lmKEMucmV0cmlldmUodGhpcy5uYW1lKSl7cmV0dXJuIDt9 dGhpcy5zZXRPcHRpb25zKEEpO3ZhciBCPSJjbGljazpyZWxheSgiK3RoaXMub3B0 aW9ucy5zZWxlY3RvcisiKSI7Qy5hZGRFdmVudChCLHRoaXMub3Blbi5iaW5kKHRo aXMpKTtpZihEKXt0aGlzLmV4dGVuZFBhcmFtcyhEKTt9Qy5zdG9yZSh0aGlzLm5h bWUsdGhpcyk7fSxvcGVuOmZ1bmN0aW9uKEQsQixDKXt2YXIgRT10aGlzLmdldFBh cmFtcyhCLEMpOwp2YXIgQT13aW5kb3cub3BlbihFLnVybCxFLnRhcmdldCxFLnBy b3BlcnRpZXMpLmZvY3VzKCk7RC5wcmV2ZW50RGVmYXVsdCgpO30sZ2V0VHlwZTpm dW5jdGlvbihEKXt2YXIgQj1uZXcgUmVnRXhwKCJbIF0/Iit0aGlzLm9wdGlvbnMu dHlwZUtleSsiOihbXiBdKykiKSxDPUIuZXhlYyhEKSxBPXRoaXMub3B0aW9ucy5k ZWZhdWx0VHlwZTtpZihDJiZDWzFdKXtBPUNbMV07fXJldHVybiBBO30sZ2V0UGFy YW1zOmZ1bmN0aW9uKEEsQil7dmFyIEM9QS5yZXRyaWV2ZSh0aGlzLm9wdGlvbnMu dHlwZUtleSk7aWYoIUMpe0M9dGhpcy5wYXJhbXNbdGhpcy5vcHRpb25zLmRlZmF1 bHRUeXBlXTtCPUJ8fHRoaXMuZ2V0VHlwZShBLmdldCh0aGlzLm9wdGlvbnMudHlw ZUF0dHIpKTtpZihCJiZ0aGlzLnBhcmFtc1tCXSl7Qz0kbWVyZ2UoQyx0aGlzLnBh cmFtc1tCXSk7fWlmKEMuZ2V0VXJsKXtDLnVybD1DLmdldFVybChBKTt9ZWxzZXtD LnVybD1BLmdldCh0aGlzLm9wdGlvbnMudXJsS2V5KTsKfUEuc3RvcmUodGhpcy5v cHRpb25zLnR5cGVLZXksQyk7fXJldHVybiBDO30sZXh0ZW5kUGFyYW1zOmZ1bmN0 aW9uKEIpe2Zvcih2YXIgQSBpbiAoQnx8e30pKXtpZighdGhpcy5wYXJhbXNbQV0p e3RoaXMucGFyYW1zW0FdPUJbQV07fX19fSk7dmFyIERyb3Bkb3duPXt9O0Ryb3Bk b3duLmJhc2U9bmV3IENsYXNzKHtJbXBsZW1lbnRzOk9wdGlvbnMsbmFtZToiRHJv cGRvd24iLGNsYXNzTmFtZXM6e2FjdGlvbk9wZW46ImRyb3Bkb3duX29wZW4iLGRy b3Bkb3duT3BlbjoiZHJvcGRvd25fb3BlbiJ9LHNlbGVjdG9yczp7dG9nZ2xlcjoi YS50b2dnbGVyLCBkaXYudG9nZ2xlciIsYWN0aW9uU3RhdGU6ImRpdi5hY3Rpb25f c3RhdGUifSxpbml0aWFsaXplOmZ1bmN0aW9uKEEsRCxCLEMpe3RoaXMucGFuZWw9 QTt0aGlzLmRvYz1EfHxkb2N1bWVudC5ib2R5O2lmKHRoaXMucGFuZWwucmV0cmll dmUodGhpcy5uYW1lKSl7cmV0dXJuIHRoaXMucGFuZWwucmV0cmlldmUodGhpcy5u YW1lKTt9aWYoQil7dGhpcy5zZXRPcHRpb25zKEIpO31pZihDKXtPYmplY3QubWVy Z2UodGhpcy5zZWxlY3RvcnMsQyk7fXRoaXMudG9nZ2xlcj1BLmdldEVsZW1lbnQo dGhpcy5zZWxlY3RvcnMudG9nZ2xlcik7dGhpcy5hY3Rpb25TdGF0ZT1BLmdldEVs ZW1lbnQodGhpcy5zZWxlY3RvcnMuYWN0aW9uU3RhdGUpOwp0aGlzLmluaXRUb2dn bGVyKCk7dGhpcy5wYW5lbC5zdG9yZSh0aGlzLm5hbWUsdGhpcyk7fSxpbml0VG9n Z2xlcjpmdW5jdGlvbigpe30sb3BlbjpmdW5jdGlvbigpe3RoaXMucGFuZWwuYWRk Q2xhc3ModGhpcy5jbGFzc05hbWVzLmRyb3Bkb3duT3Blbik7dGhpcy5hY3Rpb25T dGF0ZS5hZGRDbGFzcyh0aGlzLmNsYXNzTmFtZXMuYWN0aW9uT3Blbik7fSxjbG9z ZTpmdW5jdGlvbigpe3RoaXMucGFuZWwucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc05h bWVzLmRyb3Bkb3duT3Blbik7dGhpcy5hY3Rpb25TdGF0ZS5yZW1vdmVDbGFzcyh0 aGlzLmNsYXNzTmFtZXMuYWN0aW9uT3Blbik7fSxyZXNldDpmdW5jdGlvbigpe319 KTtEcm9wZG93bi50b3VjaHBhZFVJPW5ldyBDbGFzcyh7RXh0ZW5kczpEcm9wZG93 bi5iYXNlLEltcGxlbWVudHM6W09wdGlvbnMsRXZlbnRzXSxoYXNfdGFwcGVkOmZh bHNlLGV2ZW50czp7dGFwOiJ0b3VjaHN0YXJ0IixjbGljazoiY2xpY2sifSxldmVu dEZ4bnM6e3RhcDpudWxsLGNlYXNlOm51bGx9LGluaXRUb2dnbGVyOmZ1bmN0aW9u KCl7dGhpcy50b2dnbGVyLnJlbW92ZUV2ZW50cyh0aGlzLmV2ZW50cy50YXApO3Ro

aXMudG9nZ2xlci5hZGRFdmVudCh0aGlzLmV2ZW50cy50YXAsdGhpcy5ldmVudEZ4 bnMudGFwPWZ1bmN0aW9uKEEpe2lmKCF0aGlzLmhhc190YXBwZWQpe3RoaXMudGFw KEEpO319LmJpbmQodGhpcykpO3RoaXMudG9nZ2xlci5hZGRFdmVudCh0aGlzLmV2 ZW50cy5jbGljayxmdW5jdGlvbihBKXtpZighdGhpcy5oYXNfdGFwcGVkKXtBLnBy ZXZlbnREZWZhdWx0KCk7fX0uYmluZCh0aGlzKSk7fSx0YXA6ZnVuY3Rpb24oQSl7 QS5zdG9wKCk7dGhpcy5oYXNfdGFwcGVkPXRydWU7CnRoaXMuZG9jLmFkZEV2ZW50 KHRoaXMuZXZlbnRzLnRhcCx0aGlzLmV2ZW50Rnhucy5jZWFzZT1mdW5jdGlvbihC KXtpZighdGhpcy5wYW5lbC5jb250YWlucyhCLnRhcmdldCkpe3RoaXMuY2xvc2Uo KTt9fS5iaW5kKHRoaXMpKTt0aGlzLm9wZW4oKTt9LGNsb3NlOmZ1bmN0aW9uKCl7 dGhpcy5wYXJlbnQoKTt0aGlzLnJlc2V0KCk7fSxyZXNldDpmdW5jdGlvbigpe3Ro aXMuaGFzX3RhcHBlZD1mYWxzZTtpZih0aGlzLmV2ZW50Rnhucy5jZWFzZSl7dGhp cy5kb2MucmVtb3ZlRXZlbnQodGhpcy5ldmVudHMudGFwLHRoaXMuZXZlbnRGeG5z LmNlYXNlKTt9dGhpcy5maXJlRXZlbnQoInJlc2V0Iik7fX0pO0Ryb3Bkb3duLmJy b3dzZXJVST1uZXcgQ2xhc3Moe0V4dGVuZHM6RHJvcGRvd24uYmFzZSxJbXBsZW1l bnRzOltPcHRpb25zLEV2ZW50c10sb3B0aW9uczp7ZGVsYXk6MjUwfSx0aW1lb3V0 SUQ6bnVsbCxldmVudHM6e2NsaWNrOiJjbGljayIsZW50ZXI6Im1vdXNlZW50ZXIi LGxlYXZlOiJtb3VzZWxlYXZlIn0sZXZlbnRGeG5zOntlbnRlcjpudWxsLGxlYXZl Om51bGwscmVlbnRlcjpudWxsLGNlYXNlUGVyc2lzdDpudWxsfSxpbml0VG9nZ2xl cjpmdW5jdGlvbigpe3RoaXMudG9nZ2xlci5hZGRFdmVudCh0aGlzLmV2ZW50cy5l bnRlcix0aGlzLmV2ZW50Rnhucy5lbnRlcj10aGlzLmVudGVyLmJpbmQodGhpcykp Owp9LG9wZW46ZnVuY3Rpb24oKXtpZih0aGlzLnRpbWVvdXRJRCl7dGhpcy5jbGVh clRpbWVyKCk7fXRoaXMucGFyZW50KCk7fSxjbG9zZTpmdW5jdGlvbihBKXtpZih0 aGlzLnRpbWVvdXRJRCl7dGhpcy5jbGVhclRpbWVyKCk7fWlmKEEpe3RoaXMudGlt ZW91dElEPXRoaXMuY2xvc2UuZGVsYXkoQSx0aGlzLDApO3JldHVybiA7fXRoaXMu cGFyZW50KCk7aWYoIUEpe3RoaXMucmVzZXQoKTt9fSxjbGVhclRpbWVyOmZ1bmN0 aW9uKCl7aWYodGhpcy50aW1lb3V0SUQpe3dpbmRvdy5jbGVhclRpbWVvdXQodGhp cy50aW1lb3V0SUQpO3RoaXMudGltZW91dElEPW51bGw7fX0sZW50ZXI6ZnVuY3Rp b24oQSl7QS5zdG9wUHJvcGFnYXRpb24oKTtpZighdGhpcy5ldmVudEZ4bnMubGVh dmUpe3RoaXMucGFuZWwuYWRkRXZlbnQodGhpcy5ldmVudHMubGVhdmUsdGhpcy5l dmVudEZ4bnMubGVhdmU9dGhpcy5sZWF2ZS5iaW5kKHRoaXMpKTt9aWYodGhpcy5l dmVudEZ4bnMuZW50ZXIpe3RoaXMudG9nZ2xlci5yZW1vdmVFdmVudCh0aGlzLmV2 ZW50cy5lbnRlcix0aGlzLmV2ZW50Rnhucy5lbnRlcik7Cn10aGlzLm9wZW4oKTt9 LGxlYXZlOmZ1bmN0aW9uKEEpe2lmKHRoaXMuaXNWYWxpZE1vdXNlTGVhdmUoQSkp e2lmKCF0aGlzLmV2ZW50Rnhucy5yZWVudGVyKXt0aGlzLnBhbmVsLmFkZEV2ZW50 KHRoaXMuZXZlbnRzLmVudGVyLHRoaXMuZXZlbnRGeG5zLnJlZW50ZXI9dGhpcy5y ZWVudGVyLmJpbmQodGhpcykpO310aGlzLmNsb3NlKHRoaXMub3B0aW9ucy5kZWxh eSk7fX0scmVlbnRlcjpmdW5jdGlvbihBKXtBLnN0b3BQcm9wYWdhdGlvbigpO3Ro aXMuY2xlYXJUaW1lcigpO30scGVyc2lzdDpmdW5jdGlvbigpe3RoaXMuY2xlYXJU aW1lcigpO3RoaXMucGFuZWwucmVtb3ZlRXZlbnRzKHttb3VzZWVudGVyOnRoaXMu ZXZlbnRGeG5zLnJlZW50ZXIsbW91c2VsZWF2ZTp0aGlzLmV2ZW50Rnhucy5sZWF2 ZX0pO3RoaXMuZG9jLmFkZEV2ZW50KCJjbGljayIsdGhpcy5ldmVudEZ4bnMuY2Vh c2U9ZnVuY3Rpb24oQSl7aWYoIXRoaXMucGFuZWwuY29udGFpbnMoQS50YXJnZXQp KXt0aGlzLmNsb3NlKCk7Cn19LmJpbmQodGhpcykpO30scmVzZXQ6ZnVuY3Rpb24o KXtpZih0aGlzLmV2ZW50Rnhucy5yZWVudGVyJiZ0aGlzLmV2ZW50Rnhucy5sZWF2 ZSl7dGhpcy5wYW5lbC5yZW1vdmVFdmVudHMoe21vdXNlZW50ZXI6dGhpcy5ldmVu dEZ4bnMucmVlbnRlcixtb3VzZWxlYXZlOnRoaXMuZXZlbnRGeG5zLmxlYXZlfSk7 fWlmKHRoaXMuZXZlbnRGeG5zLmNlYXNlKXt0aGlzLmRvYy5yZW1vdmVFdmVudCgi Y2xpY2siLHRoaXMuZXZlbnRGeG5zLmNlYXNlKTt9Zm9yKHZhciBBIGluIHRoaXMu ZXZlbnRGeG5zKXt0aGlzLmV2ZW50Rnhuc1tBXT1udWxsO310aGlzLnRvZ2dsZXIu YWRkRXZlbnQodGhpcy5ldmVudHMuZW50ZXIsdGhpcy5ldmVudEZ4bnMuZW50ZXI9 dGhpcy5lbnRlci5iaW5kKHRoaXMpKTt0aGlzLmZpcmVFdmVudCgicmVzZXQiKTt9 LGlzVmFsaWRNb3VzZUxlYXZlOmZ1bmN0aW9uKEIpe3ZhciBBPUIucmVsYXRlZFRh cmdldHx8JChCLnJlbGF0ZWRUYXJnZXQpO2lmKEEmJkEuZ2V0UGFyZW50KCkpe3Jl dHVybiB0cnVlOwp9ZWxzZXtyZXR1cm4gZmFsc2U7fX19KTt2YXIgRHJvcGRvd25z PW5ldyBDbGFzcyh7SW1wbGVtZW50czpbT3B0aW9uc10sbmFtZToiRHJvcGRvd25z IixvcHRpb25zOntkcm9wZG93bjp7b3B0aW9uczpmYWxzZSxzZWxlY3RvcnM6ZmFs c2V9fSxzZWxlY3RvcnM6e3RvZ2dsZXI6ImxpLmhhc19kcm9wZG93biBhLnRvZ2ds ZXIsIGRpdi5oYXNfZHJvcGRvd24gYS50b2dnbGVyIixkcm9wZG93bjoibGkuaGFz X2Ryb3Bkb3duLCBkaXYuaGFzX2Ryb3Bkb3duIn0sYWN0aXZlOntpbmRleDpudWxs LGRyb3Bkb3duOm51bGx9LGV2ZW50czp7dGFwOiJ0b3VjaHN0YXJ0IixjbGljazoi

Y2xpY2siLGVudGVyOiJtb3VzZWVudGVyIixsZWF2ZToibW91c2VsZWF2ZSIscmVz ZXQ6InJlc2V0In0sZXZlbnRGeG5zOnt0YXA6e30sY2xpY2s6e30sZW50ZXI6e30s cmVzZXQ6e319LHJlc2V0Q29kZXM6e3RhcENsb3NlOjEsdGFwTmV3UGFuZWw6Mixu YXR1cmFsOjMsZm9yY2VBY3RpdmU6NH0saW5pdGlhbGl6ZTpmdW5jdGlvbihDLEEs Qil7Qz1DfHwkKGRvY3VtZW50LmJvZHkpOwp0aGlzLmRvYz1DLmdldERvY3VtZW50 KCk7aWYoQSl7dGhpcy5zZXRPcHRpb25zKEEpO31pZihCKXtPYmplY3QubWVyZ2Uo dGhpcy5zZWxlY3RvcnMsQik7fWlmKEJyb3dzZXIuUGxhdGZvcm0uaW9zfHxCcm93 c2VyLlBsYXRmb3JtLmFuZHJvaWR8fEJyb3dzZXIuUGxhdGZvcm0ud2Vib3Mpe3Ro aXMuZHJvcGRvd25zPUMuZ2V0RWxlbWVudHModGhpcy5zZWxlY3RvcnMuZHJvcGRv d24pO0MuZ2V0RWxlbWVudHModGhpcy5zZWxlY3RvcnMuZHJvcGRvd24pLmVhY2go ZnVuY3Rpb24oRCxFKXtEPW5ldyBEcm9wZG93bi50b3VjaHBhZFVJKEQsdGhpcy5k b2MsdGhpcy5vcHRpb25zLmRyb3Bkb3duLm9wdGlvbnMsdGhpcy5vcHRpb25zLmRy b3Bkb3duLnNlbGVjdG9ycyk7RC50b2dnbGVyLmFkZEV2ZW50KHRoaXMuZXZlbnRz LnRhcCx0aGlzLmV2ZW50Rnhucy50YXBbRV09ZnVuY3Rpb24oRil7dGhpcy50YXAo RixELEUpO30uYmluZCh0aGlzKSk7fSx0aGlzKTt9ZWxzZXtDLmdldEVsZW1lbnRz KHRoaXMuc2VsZWN0b3JzLmRyb3Bkb3duKS5lYWNoKGZ1bmN0aW9uKEQsRSl7RD1u ZXcgRHJvcGRvd24uYnJvd3NlclVJKEQsdGhpcy5kb2MsdGhpcy5vcHRpb25zLmRy b3Bkb3duLm9wdGlvbnMsdGhpcy5vcHRpb25zLmRyb3Bkb3duLnNlbGVjdG9ycyk7 CmlmKCF0aGlzLmV2ZW50Rnhucy5lbnRlcltFXSl7RC50b2dnbGVyLmFkZEV2ZW50 KCJtb3VzZWVudGVyIix0aGlzLmV2ZW50Rnhucy5lbnRlcltFXT1mdW5jdGlvbihG KXt0aGlzLmVudGVyKEYsRCxFKTt9LmJpbmQodGhpcykpO319LHRoaXMpO319LGVu dGVyOmZ1bmN0aW9uKEMsQSxCKXtDLnN0b3BQcm9wYWdhdGlvbigpO0EudG9nZ2xl ci5yZW1vdmVFdmVudCh0aGlzLmV2ZW50cy5lbnRlcix0aGlzLmV2ZW50Rnhucy5l bnRlcltCXSk7ZGVsZXRlIHRoaXMuZXZlbnRGeG5zLmVudGVyW0JdO2lmKHRoaXMu YWN0aXZlLmRyb3Bkb3duJiZ0aGlzLmFjdGl2ZS5kcm9wZG93biE9PUEpe3RoaXMu cmVzZXQodGhpcy5hY3RpdmUuZHJvcGRvd24sdGhpcy5hY3RpdmUuaW5kZXgsdGhp cy5yZXNldENvZGVzLmZvcmNlQWN0aXZlKTt0aGlzLmFjdGl2ZS5kcm9wZG93bi5j bG9zZSgpO31pZighdGhpcy5ldmVudEZ4bnMucmVzZXRbQl0pe0EuYWRkRXZlbnQo dGhpcy5ldmVudHMucmVzZXQsdGhpcy5ldmVudEZ4bnMucmVzZXRbQl09ZnVuY3Rp b24oRCl7dGhpcy5yZXNldChBLEIsdGhpcy5yZXNldENvZGVzLm5hdHVyYWwpOwp9 LmJpbmQodGhpcykpO310aGlzLmFjdGl2ZS5pbmRleD1CO3RoaXMuYWN0aXZlLmRy b3Bkb3duPUE7aWYoIXRoaXMuZXZlbnRGeG5zLmNsaWNrW0JdJiZ0aGlzLmFjdGl2 ZS5kcm9wZG93bj09QSl7QS5wYW5lbC5hZGRFdmVudCh0aGlzLmV2ZW50cy5jbGlj ayx0aGlzLmV2ZW50Rnhucy5jbGlja1tCXT1mdW5jdGlvbihEKXt0aGlzLmNsaWNr KEQsQSxCKTt9LmJpbmQodGhpcykpO319LHRhcDpmdW5jdGlvbihDLEEsQil7Qy5z dG9wKCk7aWYodGhpcy5ldmVudEZ4bnMudGFwW0JdKXtBLnRvZ2dsZXIucmVtb3Zl RXZlbnQodGhpcy5ldmVudHMudGFwLHRoaXMuZXZlbnRGeG5zLnRhcFtCXSk7ZGVs ZXRlIHRoaXMuZXZlbnRGeG5zLnRhcFtCXTt9aWYodGhpcy5hY3RpdmUuZHJvcGRv d24mJnRoaXMuYWN0aXZlLmRyb3Bkb3duIT09QSl7dGhpcy5yZXNldCh0aGlzLmFj dGl2ZS5kcm9wZG93bix0aGlzLmFjdGl2ZS5pbmRleCx0aGlzLnJlc2V0Q29kZXMu dGFwTmV3UGFuZWwpO3RoaXMuYWN0aXZlLmRyb3Bkb3duLmNsb3NlKCk7Cn1pZigh dGhpcy5ldmVudEZ4bnMucmVzZXRbQl0pe0EuYWRkRXZlbnQodGhpcy5ldmVudHMu cmVzZXQsdGhpcy5ldmVudEZ4bnMucmVzZXRbQl09ZnVuY3Rpb24oRCl7dGhpcy5y ZXNldChBLEIsdGhpcy5yZXNldENvZGVzLnRhcENsb3NlKTt9LmJpbmQodGhpcykp O310aGlzLmFjdGl2ZS5pbmRleD1CO3RoaXMuYWN0aXZlLmRyb3Bkb3duPUE7fSxj bGljazpmdW5jdGlvbihDLEEsQil7QS5wYW5lbC5yZW1vdmVFdmVudCh0aGlzLmV2 ZW50cy5jbGljayx0aGlzLmV2ZW50Rnhucy5jbGlja1tCXSk7ZGVsZXRlIHRoaXMu ZXZlbnRGeG5zLmNsaWNrW0JdO0EucGVyc2lzdCgpO2lmKHRoaXMuZXZlbnRGeG5z LnJlc2V0W0JdKXtBLnJlbW92ZUV2ZW50KHRoaXMuZXZlbnRzLnJlc2V0LHRoaXMu ZXZlbnRGeG5zLnJlc2V0W0JdKTt9QS5hZGRFdmVudCh0aGlzLmV2ZW50cy5yZXNl dCx0aGlzLmV2ZW50Rnhucy5yZXNldFtCXT1mdW5jdGlvbihEKXt0aGlzLnJlc2V0 KEEsQix0aGlzLnJlc2V0Q29kZXMuZm9yY2VBY3RpdmUpOwp9LmJpbmQodGhpcykp O30scmVzZXQ6ZnVuY3Rpb24oQSxCLEMpe3N3aXRjaChDKXtjYXNlIHRoaXMucmVz ZXRDb2Rlcy50YXBDbG9zZTpjYXNlIHRoaXMucmVzZXRDb2Rlcy5uYXR1cmFsOnRo aXMuYWN0aXZlLmRyb3Bkb3duPW51bGw7dGhpcy5hY3RpdmUuaW5kZXg9bnVsbDtj YXNlIHRoaXMucmVzZXRDb2Rlcy50YXBOZXdQYW5lbDpjYXNlIHRoaXMucmVzZXRD b2Rlcy5mb3JjZUFjdGl2ZTpkZWZhdWx0OmlmKHRoaXMuZXZlbnRGeG5zLnJlc2V0 W0JdKXtBLnJlbW92ZUV2ZW50KHRoaXMuZXZlbnRzLnJlc2V0LHRoaXMuZXZlbnRG eG5zLnJlc2V0W0JdKTtkZWxldGUgdGhpcy5ldmVudEZ4bnMucmVzZXRbQl07fWlm KHRoaXMuZXZlbnRGeG5zLmNsaWNrW0JdKXtBLnBhbmVsLnJlbW92ZUV2ZW50KHRo

aXMuZXZlbnRzLmNsaWNrLHRoaXMuZXZlbnRGeG5zLmNsaWNrW0JdKTtkZWxldGUg dGhpcy5ldmVudEZ4bnMuY2xpY2tbQl07fWlmKCF0aGlzLmV2ZW50Rnhucy5lbnRl cltCXSl7QS50b2dnbGVyLmFkZEV2ZW50KHRoaXMuZXZlbnRzLmVudGVyLHRoaXMu ZXZlbnRGeG5zLmVudGVyW0JdPWZ1bmN0aW9uKEQpe3RoaXMuZW50ZXIoRCxBLEIp Owp9LmJpbmQodGhpcykpO31pZighdGhpcy5ldmVudEZ4bnMudGFwW0JdKXtBLnRv Z2dsZXIuYWRkRXZlbnQodGhpcy5ldmVudHMudGFwLHRoaXMuZXZlbnRGeG5zLnRh cFtCXT1mdW5jdGlvbihEKXt0aGlzLnRhcChELEEsQik7fS5iaW5kKHRoaXMpKTt9 YnJlYWs7fX19KTt2YXIgY2hlY2tBbGw9bmV3IENsYXNzKHtkYXRhOm51bGwsZm9y bTpudWxsLGNoZWNrYm94ZXM6bnVsbCxpbml0aWFsaXplOmZ1bmN0aW9uKEEsQil7 dGhpcy5lbD0kKEEpO2lmKCF0aGlzLmVsKXtyZXR1cm4gO31pZih0aGlzLmVsLmdl dCgiY2xhc3MiKS5jb250YWlucygieyIpKXt0aGlzLmRhdGE9dGhpcy5lbC5nZXRK U09ORGF0YSgpO310aGlzLmZvcm09dGhpcy5lbC5nZXRQYXJlbnQoImZvcm0iKTtp ZighKHRoaXMuZm9ybXx8dGhpcy5kYXRhKSl7cmV0dXJuIDt9aWYodGhpcy5kYXRh LnNlbGVjdCl7dGhpcy5jaGVja2JveGVzPSh0aGlzLmZvcm0pP3RoaXMuZm9ybS5n ZXRFbGVtZW50cyh0aGlzLmRhdGEuc2VsZWN0KTokJCh0aGlzLmRhdGEuc2VsZWN0 KTt9aWYoIXRoaXMuY2hlY2tib3hlcyl7cmV0dXJuIDt9dGhpcy5lbC5hZGRFdmVu dCgiY2xpY2siLHRoaXMudG9nZ2xlLmJpbmQodGhpcykpO3RoaXMuY2hlY2tib3hl cy5hZGRFdmVudCgiY2xpY2siLGZ1bmN0aW9uKEMpe3RoaXMuZWwuc2V0KCJjaGVj a2VkIix0aGlzLmNoZWNrYm94ZXMuZXZlcnkoZnVuY3Rpb24oRCl7cmV0dXJuICRj aGsoRC5jaGVja2VkKTsKfSkpO30uYmluZCh0aGlzKSk7aWYodGhpcy5lbC5jaGVj a2VkKXt0aGlzLnRvZ2dsZSgpO319LHRvZ2dsZTpmdW5jdGlvbigpe3RoaXMuY2hl Y2tib3hlcy5lYWNoKGZ1bmN0aW9uKEEpe0Euc2V0KCJjaGVja2VkIix0aGlzLmVs LmNoZWNrZWQpO30sdGhpcyk7fX0pO3ZhciBGaWx0ZXJNb2R1bGU9e307RmlsdGVy TW9kdWxlLkJhc2U9bmV3IENsYXNzKHtuYW1lOiJGaWx0ZXJNb2R1bGUiLEltcGxl bWVudHM6W09wdGlvbnMsRXZlbnRzXSxvcHRpb25zOnt1cmw6ZmFsc2UsbW9ycGg6 ZmFsc2UsY29udGVudF9sb2FkZXI6e2VsOiJkaXYiLGNsYXNzTmFtZToibG9hZGlu ZyIscG9zOiJiZWZvcmUifSxtb3JlSG9sZGVyOntlbDoiZGl2IixjbGFzc05hbWU6 Im1vcmVfaG9sZGVyIixwb3M6ImFmdGVyIn19LHNlbGVjdG9yczp7Ym9keToiZGl2 LmJvZHkiLGNvbnRlbnQ6ImRpdi5jb250ZW50In0scXVlcnk6e2NhY2hlS2V5OiIi LHBhcmFtczp7fSxwYWdlS2V5OmZhbHNlLGhhc1BhZ2U6ZmFsc2V9LHJlc3VsdHM6 e30scmVzdWx0S2V5czp7Y2FjaGU6ImNhY2hlS2V5Iixjb250ZW50OiJjb250ZW50 Iixjb29raWVzOiJjb29raWVzIixmaWx0ZXJGb3JtOiJoYXNfZmlsdGVyX2Zvcm0i LHBhZ2U6InBhZ2UiLGhhc01vcmU6Imhhc19tb3JlIixzaG93TW9yZToic2hvd19t b3JlIixtb3JlQ29udGVudDoibW9yZV9jb250ZW50Iix0YWJJbmRleDoidGFiX2lu ZGV4Iix0YWJzOiJ0YWJfaW5kZXgifSxldmVudHM6e3VwZGF0ZToidXBkYXRlIn0s aW5pdGlhbGl6ZTpmdW5jdGlvbihDLEEsQil7aWYoIUMpe3JldHVybiBmYWxzZTsK fXZhciBEPUMucmV0cmlldmUodGhpcy5uYW1lKTtpZihEKXtyZXR1cm4gRDt9dGhp cy5lbD0kKEMpO3RoaXMuc2V0T3B0aW9ucyhBKTtpZighdGhpcy5vcHRpb25zLnVy bCl7cmV0dXJuIDt9aWYoQil7dGhpcy5zZWxlY3RvcnM9T2JqZWN0Lm1lcmdlKHRo aXMuc2VsZWN0b3JzLEIpO310aGlzLmRhdGE9dGhpcy5lbC5nZXRKU09ORGF0YSgi Y2xhc3MiKTt0aGlzLmNhY2hlPW5ldyBGaWx0ZXJNb2R1bGUuQ2FjaGUodGhpcy5l bCk7dGhpcy5jb250ZW50PW5ldyBGaWx0ZXJNb2R1bGUuQ29udGVudC5CYXNlKHRo aXMpO3RoaXMuZ2V0VGFicygpO3RoaXMuZ2V0RmlsdGVyRm9ybSgpO3RoaXMuZ2V0 Q29va2llcygpO3RoaXMuYnVpbGRRdWVyeSgpO3RoaXMucmVzdWx0c1t0aGlzLnJl c3VsdEtleXMuY2FjaGVdPXRoaXMucXVlcnkuY2FjaGVLZXk7dGhpcy5lbC5zdG9y ZSh0aGlzLm5hbWUsdGhpcyk7cmV0dXJuIHRoaXM7fSxnZXRSZXF1ZXN0UGFyYW1z OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YXx8e307Cn0sZ2V0VGFiczpmdW5j dGlvbigpe2lmKCF0aGlzLnRhYnMmJih0aGlzLnRhYnMhPT1mYWxzZSkpe3RoaXMu dGFicz1uZXcgRmlsdGVyTW9kdWxlLlRhYnModGhpcyk7aWYodGhpcy50YWJzLm1v ZHVsZUhhc1RhYnMoKSl7dGhpcy50YWJzLnNldFJlcXVlc3RFdmVudCh0aGlzLnJl cXVlc3RDb250ZW50LmJpbmQodGhpcykpO3RoaXMuYWRkRXZlbnQodGhpcy5ldmVu dHMudXBkYXRlLHRoaXMudGFicy51cGRhdGUuYmluZCh0aGlzLnRhYnMpKTt9ZWxz ZXt0aGlzLnRhYnM9ZmFsc2U7fX1yZXR1cm4gdGhpcy50YWJzO30sZ2V0VGFiSW5k ZXg6ZnVuY3Rpb24oQSl7aWYodGhpcy5nZXRUYWJzKCkpe2lmKEEpe3JldHVybiB0 aGlzLnRhYnMuZ2V0TmV4dEluZGV4KCk7fWVsc2V7cmV0dXJuIHRoaXMudGFicy5n ZXRBY3RpdmVJbmRleCgpO319ZWxzZXtyZXR1cm4gMDt9fSxnZXRGaWx0ZXJGb3Jt OmZ1bmN0aW9uKCl7aWYoIXRoaXMuZmlsdGVyRm9ybSYmKHRoaXMuZmlsdGVyRm9y bSE9PWZhbHNlKSl7dGhpcy5maWx0ZXJGb3JtPW5ldyBGaWx0ZXJNb2R1bGUuRmls dGVyRm9ybSh0aGlzKTsKaWYodGhpcy5maWx0ZXJGb3JtLm1vZHVsZUhhc0Zvcm0o KSl7dGhpcy5maWx0ZXJGb3JtLnNldFJlcXVlc3RFdmVudCh0aGlzLnJlcXVlc3RD

b250ZW50LmJpbmQodGhpcyx0aGlzLmdldFRhYkluZGV4KCkpKTt0aGlzLmFkZEV2 ZW50KHRoaXMuZXZlbnRzLnVwZGF0ZSx0aGlzLmZpbHRlckZvcm0udXBkYXRlLmJp bmQodGhpcy5maWx0ZXJGb3JtKSk7fWVsc2V7dGhpcy5maWx0ZXJGb3JtPWZhbHNl O319cmV0dXJuIHRoaXMuZmlsdGVyRm9ybTt9LGdldENvb2tpZXM6ZnVuY3Rpb24o KXtpZighdGhpcy5jb29raWVzJiYodGhpcy5jb29raWVzIT09ZmFsc2UpKXt0aGlz LmNvb2tpZXM9bmV3IEZpbHRlck1vZHVsZS5Db29raWVzKHRoaXMpO2lmKHRoaXMu Y29va2llcy5tb2R1bGVIYXNDb29raWVzKCkpe3RoaXMuYWRkRXZlbnQodGhpcy5l dmVudHMudXBkYXRlLHRoaXMuY29va2llcy51cGRhdGUuYmluZCh0aGlzLmNvb2tp ZXMpKTt9ZWxzZXt0aGlzLmNvb2tpZXM9ZmFsc2U7fX1yZXR1cm4gdGhpcy5jb29r aWVzOwp9LGdldFJlcXVlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZXF1ZXN0 fHx0aGlzLnNldFJlcXVlc3QoKTt9LHNldFJlcXVlc3Q6ZnVuY3Rpb24oKXt0aGlz LnJlcXVlc3Q9bmV3IFJlcXVlc3QuSlNPTih7dXJsOnRoaXMub3B0aW9ucy51cmws bWV0aG9kOiJwb3N0IixsaW5rOiJjYW5jZWwiLG5vQ2FjaGU6dHJ1ZSxvbkNhbmNl bDp0aGlzLnJlcXVlc3RDYW5jZWwuYmluZCh0aGlzKSxvblJlcXVlc3Q6dGhpcy5y ZXF1ZXN0U3RhcnQuYmluZCh0aGlzKSxvbkZhaWx1cmU6dGhpcy5yZXF1ZXN0RmFp bHVyZS5iaW5kKHRoaXMpLG9uU3VjY2Vzczp0aGlzLnJlcXVlc3RTdWNjZXNzLmJp bmQodGhpcyl9KTtyZXR1cm4gdGhpcy5yZXF1ZXN0O30scmVxdWVzdENhbmNlbDpm dW5jdGlvbigpe30scmVxdWVzdFN0YXJ0OmZ1bmN0aW9uKCl7aWYodGhpcy5xdWVy eS5oYXNQYWdlKXtpZih0aGlzLmNvbnRlbnQuaGFzU2hvd01vcmUoKSl7dGhpcy5j b250ZW50LmdldFNob3dNb3JlKCkuc2V0TG9hZFN0YXR1cygxKTsKfX1lbHNle3Ro aXMuY29udGVudC5oaWRlKDEpO319LHJlcXVlc3RGYWlsdXJlOmZ1bmN0aW9uKEEp e2lmKHRoaXMucXVlcnkuaGFzUGFnZSl7dGhpcy5jb250ZW50LmdldFNob3dNb3Jl KCkuc2V0TG9hZFN0YXR1cygwKTt9ZWxzZXt0aGlzLmNvbnRlbnQuc2hvdygpO319 LHJlcXVlc3RTdWNjZXNzOmZ1bmN0aW9uKEEpe3RoaXMudXBkYXRlTW9kdWxlKEEp O30sYnVpbGRRdWVyeTpmdW5jdGlvbihCLEEpe3RoaXMucXVlcnkucGFyYW1zPU9i amVjdC5tZXJnZSh7fSx0aGlzLmdldFJlcXVlc3RQYXJhbXMoKSk7aWYodGhpcy5n ZXRUYWJzKCkpe3RoaXMucXVlcnkucGFyYW1zPU9iamVjdC5tZXJnZSh0aGlzLnF1 ZXJ5LnBhcmFtcyx0aGlzLnRhYnMuZ2V0UmVxdWVzdFBhcmFtcygpKTt9aWYodGhp cy5nZXRGaWx0ZXJGb3JtKCkpe2lmKHRoaXMuZmlsdGVyRm9ybS5pc1JlcXVpcmVk KHRoaXMuZ2V0VGFiSW5kZXgoQikpKXt0aGlzLnF1ZXJ5LnBhcmFtcz1PYmplY3Qu bWVyZ2UodGhpcy5xdWVyeS5wYXJhbXMsdGhpcy5maWx0ZXJGb3JtLmdldFJlcXVl c3RQYXJhbXMoKSk7Cn19aWYoQSl7dGhpcy5xdWVyeS5oYXNQYWdlPXRydWU7dGhp cy5xdWVyeS5wYXJhbXM9T2JqZWN0Lm1lcmdlKHRoaXMucXVlcnkucGFyYW1zLEEp O31lbHNle2lmKHRoaXMucXVlcnkuaGFzUGFnZSl7dGhpcy5xdWVyeS5oYXNQYWdl PWZhbHNlO319dGhpcy5xdWVyeS5jYWNoZUtleT1PYmplY3QudG9RdWVyeVN0cmlu Zyh0aGlzLnF1ZXJ5LnBhcmFtcykucmVwbGFjZSgvJi9nLCJ8Iik7fSxyZXF1ZXN0 Q29udGVudDpmdW5jdGlvbigpe3RoaXMuYnVpbGRRdWVyeSgxKTt2YXIgQT10aGlz LmNhY2hlLmdldCh0aGlzLnF1ZXJ5LmNhY2hlS2V5KTtpZighQSYmKHRoaXMucXVl cnkuY2FjaGVLZXk9PT10aGlzLnJlc3VsdHMuY2FjaGVLZXkpKXt0aGlzLmdldFJl cXVlc3QoKS5jYW5jZWwoKTt0aGlzLmNvbnRlbnQuc2hvdygpO31lbHNle2lmKChB PT09ZmFsc2UpfHwoQVt0aGlzLnJlc3VsdEtleXMuY29udGVudF09PT0iIikpe3Ro aXMuYnVpbGRRdWVyeSgpO3RoaXMuZ2V0UmVxdWVzdCgpLnNlbmQoe2RhdGE6T2Jq ZWN0LnRvUXVlcnlTdHJpbmcodGhpcy5xdWVyeS5wYXJhbXMpfSk7Cn1lbHNle3Ro aXMuZ2V0UmVxdWVzdCgpLmNhbmNlbCgpO3RoaXMuY29udGVudC5oaWRlKCk7dGhp cy51cGRhdGVNb2R1bGUoQSk7fX19LHJlcXVlc3RNb3JlQ29udGVudDpmdW5jdGlv bihBKXt0aGlzLmJ1aWxkUXVlcnkoMSxBKTt0aGlzLmdldFJlcXVlc3QoKS5zZW5k KHtkYXRhOk9iamVjdC50b1F1ZXJ5U3RyaW5nKHRoaXMucXVlcnkucGFyYW1zKX0p O30sdXBkYXRlTW9kdWxlOmZ1bmN0aW9uKEEpe2lmKEFbdGhpcy5yZXN1bHRLZXlz LmNvbnRlbnRdKXtpZih0aGlzLnJlc3VsdHNbdGhpcy5yZXN1bHRLZXlzLmNvbnRl bnRdIT10aGlzLmNvbnRlbnQuZ2V0KCJodG1sIikpe3RoaXMucmVzdWx0c1t0aGlz LnJlc3VsdEtleXMuY29udGVudF09dGhpcy5jb250ZW50LmdldCgiaHRtbCIpO3Ro aXMuY2FjaGUuc2V0KHRoaXMucmVzdWx0c1t0aGlzLnJlc3VsdEtleXMuY2FjaGVd LHRoaXMucmVzdWx0cyk7fXRoaXMuZmlyZUV2ZW50KHRoaXMuZXZlbnRzLnVwZGF0 ZSxBKTt0aGlzLmJ1aWxkUXVlcnkoKTsKaWYodGhpcy5jYWNoZS5nZXQodGhpcy5x dWVyeS5jYWNoZUtleSk9PT1mYWxzZSl7QVt0aGlzLnJlc3VsdEtleXMuY2FjaGVd PXRoaXMucXVlcnkuY2FjaGVLZXk7dGhpcy5jb250ZW50LnVwZGF0ZShBLHRydWUp O31lbHNle3RoaXMuY29udGVudC51cGRhdGUoQSk7fXRoaXMucmVzdWx0cz1BO3Ro aXMuY29udGVudC5zaG93KCk7fWlmKEFbdGhpcy5yZXN1bHRLZXlzLm1vcmVDb250 ZW50XSl7dGhpcy5jb250ZW50Lmluc2VydChBKTt0aGlzLnJlc3VsdHM9T2JqZWN0 Lm1lcmdlKHRoaXMucmVzdWx0cyxBKTt9fX0pO0ZpbHRlck1vZHVsZS5DYWNoZT1u

ZXcgQ2xhc3Moe25hbWU6IkZpbHRlck1vZHVsZUNhY2hlIixzdG9yYWdlOnt9LGlu aXRpYWxpemU6ZnVuY3Rpb24oQSl7aWYoIUEpe3JldHVybiBmYWxzZTt9dGhpcy5t b2R1bGU9QTt2YXIgQj10aGlzLm1vZHVsZS5yZXRyaWV2ZSh0aGlzLm5hbWUpO2lm KEIpe3JldHVybiBCO310aGlzLm1vZHVsZS5zdG9yZSh0aGlzLm5hbWUsdGhpcyk7 CnJldHVybiB0aGlzO30sc2V0OmZ1bmN0aW9uKEIsQSl7dGhpcy5zdG9yYWdlW0Jd PUE7fSxnZXQ6ZnVuY3Rpb24oQSl7aWYodGhpcy5zdG9yYWdlW0FdKXtyZXR1cm4g dGhpcy5zdG9yYWdlW0FdO31yZXR1cm4gZmFsc2U7fX0pO0ZpbHRlck1vZHVsZS5D b250ZW50PXt9O0ZpbHRlck1vZHVsZS5Db250ZW50LkJhc2U9bmV3IENsYXNzKHtu YW1lOiJGaWx0ZXJNb2R1bGVDb250ZW50IixJbXBsZW1lbnRzOltPcHRpb25zLEV2 ZW50c10sb3B0aW9uczp7bW9ycGg6ZmFsc2UsY29udGVudF9sb2FkZXI6e2VsOiJk aXYiLGNsYXNzTmFtZToibG9hZGluZyIscG9zOiJiZWZvcmUifSxtb3JlSG9sZGVy OntlbDoiZGl2IixjbGFzc05hbWU6Im1vcmVfaG9sZGVyIixwb3M6ImFmdGVyIixz ZWxlY3RvcjoiZGl2Lm1vcmVfaG9sZGVyIn0saGlkZToiaGlkZSIsc2hvdzoic2hv dyJ9LHNlbGVjdG9yczp7aG9sZGVyOiJkaXYuYm9keSIsY29udGVudDoiZGl2LmNv bnRlbnQiLG1vcmVDb250ZW50OiJkaXYubW9yZV9jb250ZW50In0sZXZlbnRzOntw YXJzZToicGFyc2UifSxtb3JwaE9wdGlvbnM6e2hpZGU6bnVsbCxzaG93Om51bGx9 LGtleXM6e2luc2VydDp7dGFyZ2V0OiJpbnNlcnRfdGFyZ2V0IixzdWJqZWN0czoi aW5zZXJ0X3N1YmplY3RzIn19LGluaXRpYWxpemU6ZnVuY3Rpb24oQSl7aWYoIUEp e3JldHVybiBmYWxzZTsKfXZhciBCPUEuZWwucmV0cmlldmUodGhpcy5uYW1lKTtp ZihCKXtyZXR1cm4gQjt9dGhpcy5tb2R1bGU9QTt0aGlzLnNldE9wdGlvbnMoQS5v cHRpb25zKTt0aGlzLmhvbGRlcj1BLmVsLmdldEVsZW1lbnQodGhpcy5zZWxlY3Rv cnMuaG9sZGVyKTt0aGlzLmNvbnRlbnQ9QS5lbC5nZXRFbGVtZW50KHRoaXMuc2Vs ZWN0b3JzLmNvbnRlbnQpO0EucmVzdWx0c1tBLnJlc3VsdEtleXMuY29udGVudF09 dGhpcy5nZXQoImh0bWwiKTtpZih0aGlzLmhhc1Nob3dNb3JlKCkpe0EucmVzdWx0 c1tBLnJlc3VsdEtleXMuaGFzTW9yZV09dHJ1ZTtBLnJlc3VsdHNbQS5yZXN1bHRL ZXlzLnNob3dNb3JlXT10aGlzLnNob3dNb3JlLmdldCgiaHRtbCIpO3RoaXMuc2hv d01vcmUuc2V0UmVxdWVzdEV2ZW50KCJjbGljayIsQS5yZXF1ZXN0TW9yZUNvbnRl bnQuYmluZChBKSk7fUEuZWwuc3RvcmUodGhpcy5uYW1lLHRoaXMpO3JldHVybiB0 aGlzO30sZ2V0OmZ1bmN0aW9uKEEpe2lmKEE9PT0iaHRtbCIpe3JldHVybiB0aGlz LmhvbGRlci5nZXQoQSk7Cn1yZXR1cm4gdGhpcy5jb250ZW50O30saGlkZTpmdW5j dGlvbihBKXtpZih0aGlzLmNvbnRlbnQpe2lmKHRoaXMub3B0aW9ucy5tb3JwaCl7 dGhpcy5jb250ZW50Lm1vcnBoKHRoaXMuZ2V0TW9ycGhPcHRpb25zKHRoaXMub3B0 aW9ucy5oaWRlKSk7fWVsc2V7dGhpcy5jb250ZW50LmZhZGUodGhpcy5vcHRpb25z LmhpZGUpO319aWYodGhpcy5tb3JlSG9sZGVyKXt0aGlzLm1vcmVIb2xkZXIuc2V0 U3R5bGUoImRpc3BsYXkiLCJub25lIik7fXRoaXMuc2V0TG9hZFN0YXR1cyhBKTt9 LHNob3c6ZnVuY3Rpb24oQSl7dGhpcy5zZXRMb2FkU3RhdHVzKEEpO2lmKHRoaXMu b3B0aW9ucy5tb3JwaCl7dGhpcy5jb250ZW50Lm1vcnBoKHRoaXMuZ2V0TW9ycGhP cHRpb25zKHRoaXMub3B0aW9ucy5zaG93KSk7fWVsc2V7dGhpcy5jb250ZW50LmZh ZGUodGhpcy5vcHRpb25zLnNob3cpO31pZih0aGlzLm1vcmVIb2xkZXIpe3RoaXMu bW9yZUhvbGRlci5zZXRTdHlsZSgiZGlzcGxheSIsImJsb2NrIik7Cn19LHVwZGF0 ZTpmdW5jdGlvbihBLEIpe2lmKEFbdGhpcy5tb2R1bGUucmVzdWx0S2V5cy5jb250 ZW50XSl7dGhpcy5ob2xkZXIuc2V0KCJodG1sIixBW3RoaXMubW9kdWxlLnJlc3Vs dEtleXMuY29udGVudF0pO3RoaXMuY29udGVudD10aGlzLmhvbGRlci5nZXRFbGVt ZW50KHRoaXMuc2VsZWN0b3JzLmNvbnRlbnQpO2lmKHRoaXMuaGFzU2hvd01vcmUo KSYmIUFbdGhpcy5tb2R1bGUucmVzdWx0S2V5cy5zaG93TW9yZV0pe3RoaXMuc2hv d01vcmUudXBkYXRlKCIiKTt9ZWxzZXtpZihBW3RoaXMubW9kdWxlLnJlc3VsdEtl eXMuc2hvd01vcmVdKXt0aGlzLnNob3dNb3JlLnVwZGF0ZShBW3RoaXMubW9kdWxl LnJlc3VsdEtleXMuc2hvd01vcmVdKTt0aGlzLnNob3dNb3JlLnNldFJlcXVlc3RF dmVudCgiY2xpY2siLHRoaXMubW9kdWxlLnJlcXVlc3RNb3JlQ29udGVudC5iaW5k KHRoaXMubW9kdWxlKSk7fX19aWYoQil7dGhpcy5maXJlRXZlbnQodGhpcy5ldmVu dHMucGFyc2UsdGhpcy5jb250ZW50KTsKfX0saW5zZXJ0OmZ1bmN0aW9uKEUpe2lm KEVbdGhpcy5tb2R1bGUucmVzdWx0S2V5cy5tb3JlQ29udGVudF0pe3RoaXMuZ2V0 TW9yZUhvbGRlcigpLnNldCgiaHRtbCIsRVt0aGlzLm1vZHVsZS5yZXN1bHRLZXlz Lm1vcmVDb250ZW50XSxFW3RoaXMubW9kdWxlLnJlc3VsdEtleXMuc2hvd01vcmVd KTtkZWxldGUgRVt0aGlzLm1vZHVsZS5yZXN1bHRLZXlzLm1vcmVDb250ZW50XTt0 aGlzLmZpcmVFdmVudCh0aGlzLmV2ZW50cy5wYXJzZSx0aGlzLmdldE1vcmVIb2xk ZXIoKSk7dmFyIEQ9dGhpcy5nZXRNb3JlSG9sZGVyKCkuZ2V0RWxlbWVudCh0aGlz LnNlbGVjdG9ycy5tb3JlQ29udGVudCksQT1ELmdldEpTT05EYXRhKCksQz1udWxs LEY9bnVsbCxCPW51bGw7aWYoQSl7Qz10aGlzLmNvbnRlbnQuZ2V0RWxlbWVudChB W3RoaXMua2V5cy5pbnNlcnQudGFyZ2V0XSk7Rj1ELmdldEVsZW1lbnRzKEFbdGhp

cy5rZXlzLmluc2VydC5zdWJqZWN0c10pO0MuYWRvcHQoRik7RC5kaXNwb3NlKCk7 CmRlbGV0ZSBEO310aGlzLnNob3dNb3JlLnVwZGF0ZSgpO319LHNldExvYWRTdGF0 dXM6ZnVuY3Rpb24oQSl7aWYoQSl7aWYoIXRoaXMub3B0aW9ucy5tb3JwaCl7aWYo IXRoaXMubG9hZGluZyl7dGhpcy5sb2FkaW5nPW5ldyBFbGVtZW50KHRoaXMub3B0 aW9ucy5jb250ZW50X2xvYWRlci5lbCx7ImNsYXNzIjp0aGlzLm9wdGlvbnMuY29u dGVudF9sb2FkZXIuY2xhc3NOYW1lfSk7fXRoaXMubG9hZGluZy5pbmplY3QodGhp cy5ob2xkZXIsdGhpcy5vcHRpb25zLmNvbnRlbnRfbG9hZGVyLnBvcyk7fX1lbHNl e2lmKHRoaXMubG9hZGluZyl7dGhpcy5sb2FkaW5nPXRoaXMubG9hZGluZy5kZXN0 cm95KCk7fX19LGdldE1vcnBoT3B0aW9uczpmdW5jdGlvbihBKXtyZXR1cm4gdGhp cy5tb3JwaE9wdGlvbnNbQV18fHRoaXMuc2V0TW9ycGhPcHRpb25zKEEpO30sc2V0 TW9ycGhPcHRpb25zOmZ1bmN0aW9uKEEpe3N3aXRjaChBKXtjYXNlIHRoaXMub3B0 aW9ucy5oaWRlOnRoaXMubW9ycGhPcHRpb25zW3RoaXMub3B0aW9ucy5oaWRlXT17 b3BhY2l0eTpbMSwwXSxkdXJhdGlvbjoic2hvcnQiLHN0YXJ0OmZ1bmN0aW9uKCl7 dGhpcy5ob2xkZXIuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmNvbnRlbnRfbG9hZGVy LmNsYXNzTmFtZSk7Cn0uYmluZCh0aGlzKX07YnJlYWs7Y2FzZSB0aGlzLm9wdGlv bnMuc2hvdzp0aGlzLm1vcnBoT3B0aW9uc1t0aGlzLm9wdGlvbnMuc2hvd109e29w YWNpdHk6WzAsMV0sZHVyYXRpb246InNob3J0IixzdGFydDpmdW5jdGlvbigpe3Ro aXMuaG9sZGVyLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5jb250ZW50X2xvYWRl ci5jbGFzc05hbWUpO30uYmluZCh0aGlzKX07YnJlYWs7ZGVmYXVsdDp0aGlzLm1v cnBoT3B0aW9uc1tBXT17fTt9cmV0dXJuIHRoaXMubW9ycGhPcHRpb25zW0FdO30s aGFzU2hvd01vcmU6ZnVuY3Rpb24oKXtpZighdGhpcy5zaG93TW9yZSl7dGhpcy5z ZXRTaG93TW9yZSgpO31pZih0aGlzLnNob3dNb3JlLmdldCgpKXt0aGlzLmdldE1v cmVIb2xkZXIoKTtyZXR1cm4gdHJ1ZTt9ZWxzZXtyZXR1cm4gZmFsc2U7fX0sZ2V0 U2hvd01vcmU6ZnVuY3Rpb24oKXtpZighdGhpcy5zaG93TW9yZSl7dGhpcy5zZXRT aG93TW9yZSgpO31yZXR1cm4gdGhpcy5zaG93TW9yZTt9LHNldFNob3dNb3JlOmZ1 bmN0aW9uKCl7aWYoIXRoaXMuc2hvd01vcmUpe3RoaXMuc2hvd01vcmU9bmV3IEZp bHRlck1vZHVsZS5Db250ZW50LlNob3dNb3JlKHRoaXMubW9kdWxlLmVsLHRoaXMu Z2V0TW9yZUhvbGRlcigpKTsKfX0sZ2V0TW9yZUhvbGRlcjpmdW5jdGlvbigpe2lm KCF0aGlzLm1vcmVIb2xkZXIpe3RoaXMubW9yZUhvbGRlcj10aGlzLm1vZHVsZS5l bC5nZXRFbGVtZW50KHRoaXMub3B0aW9ucy5tb3JlSG9sZGVyLnNlbGVjdG9yKTtp ZighdGhpcy5tb3JlSG9sZGVyKXt0aGlzLm1vcmVIb2xkZXI9bmV3IEVsZW1lbnQo dGhpcy5vcHRpb25zLm1vcmVIb2xkZXIuZWwseyJjbGFzcyI6dGhpcy5vcHRpb25z Lm1vcmVIb2xkZXIuY2xhc3NOYW1lfSkuaW5qZWN0KHRoaXMuaG9sZGVyLHRoaXMu b3B0aW9ucy5tb3JlSG9sZGVyLnBvcyk7fX1yZXR1cm4gdGhpcy5tb3JlSG9sZGVy O319KTtGaWx0ZXJNb2R1bGUuVGFicz1uZXcgQ2xhc3Moe25hbWU6IkZpbHRlck1v ZHVsZVRhYnMiLG9wdGlvbnM6e3RhYl9vbl9jbGFzczoidGFiX29uX2NsYXNzIn0s Y2xhc3NOYW1lczp7YWN0aXZlOiJvbiJ9LHNlbGVjdG9yczp7dGFiczoiZGl2Lmhl YWQgdWwudGFicyBsaSIsZXZlbnRFbDoiYSJ9LG5leHRJbmRleDowLGN1cnJlbnRJ bmRleDowLGluaXRpYWxpemU6ZnVuY3Rpb24oQSl7aWYoIUEpe3JldHVybiBmYWxz ZTsKfXZhciBCPUEuZWwucmV0cmlldmUodGhpcy5uYW1lKTtpZihCKXtyZXR1cm4g Qjt9dGhpcy5tb2R1bGU9QTtpZihBLmRhdGFbdGhpcy5vcHRpb25zLnRhYl9vbl9j bGFzc10pe3RoaXMuY2xhc3NOYW1lcy5hY3RpdmU9QS5kYXRhW3RoaXMub3B0aW9u cy50YWJfb25fY2xhc3NdO2RlbGV0ZSBBLmRhdGFbdGhpcy5vcHRpb25zLnRhYl9v bl9jbGFzc107fXRoaXMudGFicz1BLmVsLmdldEVsZW1lbnRzKHRoaXMuc2VsZWN0 b3JzLnRhYnMpO2lmKHRoaXMudGFicy5sZW5ndGg9PT0wKXtyZXR1cm4gZmFsc2U7 fXRoaXMuc2V0UGFyYW1zKCk7QS5yZXN1bHRzW0EucmVzdWx0S2V5cy50YWJJbmRl eF09dGhpcy5nZXRBY3RpdmVJbmRleCgpO0EuZWwuc3RvcmUodGhpcy5uYW1lLHRo aXMpO3JldHVybiB0aGlzO30sbW9kdWxlSGFzVGFiczpmdW5jdGlvbigpe2lmKHRo aXMudGFicyl7cmV0dXJuIHRydWU7fWVsc2V7cmV0dXJuIGZhbHNlO319LHNldFJl cXVlc3RFdmVudDpmdW5jdGlvbihBKXt0aGlzLnRhYnMuZWFjaChmdW5jdGlvbihE LEMpe3ZhciBCPUQuZ2V0RWxlbWVudCh0aGlzLnNlbGVjdG9ycy5ldmVudEVsKTsK Qi5hZGRFdmVudCgiY2xpY2siLGZ1bmN0aW9uKEUpe0UucHJldmVudERlZmF1bHQo KTtpZihDIT09dGhpcy5jdXJyZW50SW5kZXgpe3RoaXMubmV4dEluZGV4PUM7QS5h cHBseSgpO319LmJpbmQodGhpcykpO30uYmluZCh0aGlzKSk7fSxnZXRSZXF1ZXN0 UGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0UGFyYW1zKHRoaXMubmV4 dEluZGV4KTt9LGdldFBhcmFtczpmdW5jdGlvbihBKXtpZighdGhpcy5wYXJhbXMp e3RoaXMuc2V0UGFyYW1zKCk7fXJldHVybiB0aGlzLnBhcmFtc1tBXTt9LHNldFBh cmFtczpmdW5jdGlvbigpe3ZhciBDPVtdLEE9bnVsbCxCPSIiO3RoaXMudGFicy5l YWNoKGZ1bmN0aW9uKEUsRCl7aWYoRS5oYXNDbGFzcyh0aGlzLmNsYXNzTmFtZXMu YWN0aXZlKSl7dGhpcy5uZXh0SW5kZXg9dGhpcy5jdXJyZW50SW5kZXg9RDt9QT1F

LmdldEVsZW1lbnQodGhpcy5zZWxlY3RvcnMuZXZlbnRFbCk7Qj1BLmdldCgiaHJl ZiIpLnNwbGl0KCI/Iik7Q1tEXT1CWzFdLnBhcnNlUXVlcnlTdHJpbmcoKTsKfS5i aW5kKHRoaXMpKTt0aGlzLnBhcmFtcz1DO30sZ2V0QWN0aXZlSW5kZXg6ZnVuY3Rp b24oKXtyZXR1cm4gdGhpcy5jdXJyZW50SW5kZXg7fSxnZXROZXh0SW5kZXg6ZnVu Y3Rpb24oKXtyZXR1cm4gdGhpcy5uZXh0SW5kZXg7fSx1cGRhdGU6ZnVuY3Rpb24o Qil7dmFyIEE9Qlt0aGlzLm1vZHVsZS5yZXN1bHRLZXlzLnRhYkluZGV4XTtpZigo dHlwZU9mKEEpIT09Im51bGwiKSYmKEEhPT10aGlzLmN1cnJlbnRJbmRleCkpe3Ro aXMudGFic1t0aGlzLmN1cnJlbnRJbmRleF0ucmVtb3ZlQ2xhc3ModGhpcy5jbGFz c05hbWVzLmFjdGl2ZSk7dGhpcy50YWJzW0FdLmFkZENsYXNzKHRoaXMuY2xhc3NO YW1lcy5hY3RpdmUpO3RoaXMuY3VycmVudEluZGV4PUE7fX19KTtGaWx0ZXJNb2R1 bGUuRmlsdGVyRm9ybT1uZXcgQ2xhc3Moe25hbWU6IkZpbHRlck1vZHVsZUZvcm0i LHJlcXVpcmVkOnt9LGluaXRpYWxpemU6ZnVuY3Rpb24oQixBKXtpZighQil7cmV0 dXJuIGZhbHNlO312YXIgQz1CLmVsLnJldHJpZXZlKHRoaXMubmFtZSk7CmlmKEMp e3JldHVybiBDO310aGlzLm1vZHVsZT1CO3RoaXMuZWw9Qi5lbC5nZXRFbGVtZW50 KCJmb3JtIik7aWYodHlwZU9mKHRoaXMuZWwpPT09Im51bGwiKXtyZXR1cm4gZmFs c2U7fWlmKHR5cGVPZihBKT09PSJudWxsIil7QT0wO31CLnJlc3VsdHNbQi5yZXN1 bHRLZXlzLmZpbHRlckZvcm1dPXRoaXMuaXNSZXF1aXJlZChBKTtCLmVsLnN0b3Jl KHRoaXMubmFtZSx0aGlzKTtyZXR1cm4gdGhpczt9LG1vZHVsZUhhc0Zvcm06ZnVu Y3Rpb24oKXtpZih0aGlzLmVsKXtyZXR1cm4gdHJ1ZTt9ZWxzZXtyZXR1cm4gZmFs c2U7fX0sc2V0UmVxdWVzdEV2ZW50OmZ1bmN0aW9uKEEpe3RoaXMuc2VsZWN0cz10 aGlzLmVsLmdldEVsZW1lbnRzKCJzZWxlY3QiKTtpZih0aGlzLnNlbGVjdHMubGVu Z3RoPjApe3RoaXMuc2VsZWN0cy5lYWNoKGZ1bmN0aW9uKEIpe0IuYWRkRXZlbnQo ImNoYW5nZSIsQSk7fSk7fX0sZ2V0UmVxdWVzdFBhcmFtczpmdW5jdGlvbigpe3Jl dHVybiB0aGlzLmVsLnRvUXVlcnlTdHJpbmcoKS5wYXJzZVF1ZXJ5U3RyaW5nKCk7 Cn0saGlkZTpmdW5jdGlvbigpe3RoaXMuZWwuc2V0U3R5bGUoInZpc2liaWxpdHki LCJoaWRkZW4iKTt9LHNob3c6ZnVuY3Rpb24oKXt0aGlzLmVsLnNldFN0eWxlKCJ2 aXNpYmlsaXR5IiwidmlzaWJsZSIpO30saXNSZXF1aXJlZDpmdW5jdGlvbihBKXtp Zih0eXBlT2YodGhpcy5yZXF1aXJlZFtBXSk9PT0ibnVsbCIpe2lmKHRoaXMuZWwp e3N3aXRjaCh0aGlzLmVsLmdldFN0eWxlKCJ2aXNpYmlsaXR5Iikpe2Nhc2UiaGlk ZGVuIjp0aGlzLnJlcXVpcmVkW0FdPWZhbHNlO2JyZWFrO2Nhc2UidmlzaWJsZSI6 ZGVmYXVsdDp0aGlzLnJlcXVpcmVkW0FdPXRydWU7YnJlYWs7fX1lbHNle3RoaXMu cmVxdWlyZWRbQV09ZmFsc2U7fX1yZXR1cm4gdGhpcy5yZXF1aXJlZFtBXTt9LHVw ZGF0ZTpmdW5jdGlvbihBKXt0aGlzLm5ld1JlcXVpcmVkPUFbdGhpcy5tb2R1bGUu cmVzdWx0S2V5cy5maWx0ZXJGb3JtXTt0aGlzLm5ld0luZGV4PUFbdGhpcy5tb2R1 bGUucmVzdWx0S2V5cy50YWJJbmRleF07CmlmKHRoaXMubmV3UmVxdWlyZWQpe3Ro aXMucmVxdWlyZWRbdGhpcy5uZXdJbmRleF09dHJ1ZTt0aGlzLnNob3coKTt9ZWxz ZXt0aGlzLnJlcXVpcmVkW3RoaXMubmV3SW5kZXhdPWZhbHNlO3RoaXMuaGlkZSgp O319fSk7RmlsdGVyTW9kdWxlLkNvbnRlbnQuU2hvd01vcmU9bmV3IENsYXNzKHtu YW1lOiJGaWx0ZXJNb2R1bGVDb250ZW50U2hvd01vcmUiLHNlbGVjdG9yczp7ZWw6 ImRpdi5zaG93X21vcmUiLGV2ZW50X2VsOiJhLnNob3dfbW9yZSJ9LGNsYXNzTmFt ZXM6e2xvYWRpbmc6Im1vcmVfbG9hZGluZyJ9LHJlcXVlc3RFdmVudEZuOm51bGws aW5pdGlhbGl6ZTpmdW5jdGlvbihCLEEpe2lmKCFCKXtyZXR1cm4gZmFsc2U7fXRo aXMubW9kdWxlPUI7dmFyIEM9dGhpcy5tb2R1bGUucmV0cmlldmUodGhpcy5uYW1l KTtpZihDKXtyZXR1cm4gQzt9dGhpcy5ob2xkZXI9QTt0aGlzLnVwZGF0ZSgpO3Ro aXMubW9kdWxlLnN0b3JlKHRoaXMubmFtZSx0aGlzKTtyZXR1cm4gdGhpczt9LHVw ZGF0ZTpmdW5jdGlvbihBKXtpZihBfHxBPT09IiIpe3RoaXMuaG9sZGVyLnNldCgi aHRtbCIsQSk7Cn10aGlzLmVsPXRoaXMuaG9sZGVyLmdldEVsZW1lbnQodGhpcy5z ZWxlY3RvcnMuZWwpO2lmKHRoaXMuZWwpe3RoaXMuZGF0YT10aGlzLmVsLmdldEpT T05EYXRhKCk7dGhpcy5ldmVudF9lbD10aGlzLmVsLmdldEVsZW1lbnQodGhpcy5z ZWxlY3RvcnMuZXZlbnRfZWwpO2lmKHRoaXMuZXZlbnRfZWwuZ2V0KCJocmVmIikh PT0iIyIpe3RoaXMuZXZlbnRfZWwuc2V0KCJocmVmIiwiIyIpO31pZih0aGlzLmVs Lmhhc0NsYXNzKHRoaXMuY2xhc3NOYW1lcy5sb2FkaW5nKSl7dGhpcy5zZXRMb2Fk U3RhdHVzKDApO319ZWxzZXt0aGlzLmV2ZW50X2VsPW51bGw7fX0sZ2V0OmZ1bmN0 aW9uKEEpe2lmKEE9PT0iaHRtbCIpe3JldHVybiB0aGlzLmhvbGRlci5nZXQoImh0 bWwiKTt9cmV0dXJuIHRoaXMuZWw7fSxzZXRSZXF1ZXN0RXZlbnQ6ZnVuY3Rpb24o QyxCKXtpZighdGhpcy5yZXF1ZXN0RXZlbnRGbil7dGhpcy5yZXF1ZXN0RXZlbnRG bj1mdW5jdGlvbihFLEQpe0UucHJldmVudERlZmF1bHQoKTsKdGhpcy5lbD1ELmdl dFBhcmVudCh0aGlzLnNlbGVjdG9ycy5lbCk7Qi5wYXNzKHRoaXMuZ2V0UmVxdWVz dFBhcmFtcygpKS5hcHBseSgpO30uYmluZCh0aGlzKTt2YXIgQT1DKyI6cmVsYXko Iit0aGlzLnNlbGVjdG9ycy5lbCsiICIrdGhpcy5zZWxlY3RvcnMuZXZlbnRfZWwr

IikiO3RoaXMubW9kdWxlLmFkZEV2ZW50KEEsdGhpcy5yZXF1ZXN0RXZlbnRGbik7 fX0sZ2V0UmVxdWVzdFBhcmFtczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGF8 fHt9O30sc2V0TG9hZFN0YXR1czpmdW5jdGlvbihBKXtpZihBKXt0aGlzLmVsLmFk ZENsYXNzKHRoaXMuY2xhc3NOYW1lcy5sb2FkaW5nKTt9ZWxzZXt0aGlzLmVsLnJl bW92ZUNsYXNzKHRoaXMuY2xhc3NOYW1lcy5sb2FkaW5nKTt9fX0pO0ZpbHRlck1v ZHVsZS5Db29raWVzPW5ldyBDbGFzcyh7bmFtZToiRmlsdGVyTW9kdWxlQ29va2ll cyIsY29va2llczpudWxsLGtleXM6e2tleToia2V5Iix2YWx1ZToidmFsdWUiLG9w dHM6Im9wdGlvbnMifSxpbml0aWFsaXplOmZ1bmN0aW9uKEEpe2lmKCFBKXtyZXR1 cm4gZmFsc2U7Cn12YXIgQj1BLmVsLnJldHJpZXZlKHRoaXMubmFtZSk7aWYoQil7 cmV0dXJuIEI7fWlmKEEuZGF0YVtBLnJlc3VsdEtleXMuY29va2llc10pe3RoaXMu Y29va2llcz1BLmRhdGFbQS5yZXN1bHRLZXlzLmNvb2tpZXNdO2RlbGV0ZSBBLmRh dGFbQS5yZXN1bHRLZXlzLmNvb2tpZXNdO31lbHNle3JldHVybiBmYWxzZTt9QS5y ZXN1bHRzW0EucmVzdWx0S2V5cy5jb29raWVzXT10aGlzLmNvb2tpZXM7QS5lbC5z dG9yZSh0aGlzLm5hbWUsdGhpcyk7cmV0dXJuIHRoaXM7fSxtb2R1bGVIYXNDb29r aWVzOmZ1bmN0aW9uKCl7aWYodGhpcy5jb29raWVzKXtyZXR1cm4gdHJ1ZTt9ZWxz ZXtyZXR1cm4gZmFsc2U7fX0sZ2V0Q29va2llOmZ1bmN0aW9uKEEpe2lmKCF0aGlz LmNvb2tpZXNbQVt0aGlzLmtleXMua2V5XV0pe3RoaXMuY29va2llc1tBW3RoaXMu a2V5cy5rZXldXT1uZXcgQ29va2llKEFbdGhpcy5rZXlzLmtleV0sQVt0aGlzLmtl eXMub3B0c10pO31yZXR1cm4gdGhpcy5jb29raWVzW0FbdGhpcy5rZXlzLmtleV1d Owp9LGdldENvb2tpZXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb29raWVzO30s dXBkYXRlOmZ1bmN0aW9uKEEpe3RoaXMubmV3Q29va2llcz1BLmNvb2tpZXM7dGhp cy5uZXdDb29raWVzLmVhY2goZnVuY3Rpb24oQil7aWYoQlt0aGlzLmtleXMua2V5 XSYmQlt0aGlzLmtleXMudmFsdWVdJiZCW3RoaXMua2V5cy5vcHRzXSl7aWYodGhp cy5nZXRDb29raWUoQikucmVhZCgpIT1CW3RoaXMua2V5cy52YWx1ZV0pe3RoaXMu Z2V0Q29va2llKEIpLmRpc3Bvc2UoKTt0aGlzLmdldENvb2tpZShCKS53cml0ZShC W3RoaXMua2V5cy52YWx1ZV0pO319fSx0aGlzKTt9fSk7dmFyIExpZ2h0Ym94PW5l dyBDbGFzcyh7bmFtZToiTGlnaHRib3giLEltcGxlbWVudHM6T3B0aW9ucyxvcHRp b25zOntpZDoiY25lX2xpZ2h0Ym94IixrZXl3b3JkOiJsaWdodGJveCIsZGVmYXVs dF90eXBlOiJkZWZhdWx0IixkZWZhdWx0X2hlaWdodDo0MDAsZGVmYXVsdF93aWR0 aDo2MDAsZGVmYXVsdF9jbG9zZV9jbGFzczoiY2xvc2UiLHNjcm9sbDp0cnVlLHNo b3dfbG9hZGluZzp0cnVlLG92ZXJsYXlfb3BhY2l0eToiMC43IixhZF91bml0X3Nl bGVjdG9yOiJkaXYuYWRfdW5pdCIsaW5qZWN0X3NpdGU6JChkb2N1bWVudC5ib2R5 KSxpbmplY3RfcG9zOiJib3R0b20iLGVuYWJsZV9hdXRvZm9jdXM6dHJ1ZSxhdXRv Zm9jdXNfc2VsZWN0b3I6Ii5hdXRvZm9jdXMiLGF1dG9fb3BlbmVyX3BhcmVudDpu dWxsfSxrZXlzOntvcGVuZXJfdmFsdWVzOiJsaWdodGJveF9vcGVuZXJfdmFsdWVz IixvcGVuZXJfcmVxdWVzdDoibGlnaHRib3hfb3BlbmVyX3JlcXVlc3QifSxzZWxl Y3RvcnM6e29wZW5lcnM6ImEiLGF1dG9fb3BlbmVyOiJsaW5rIixjbG9zZXJzOiJh W3JlbCo9Y2xvc2VdIixzdHlsZXNoZWV0czoibGlua1tyZWw9c3R5bGVzaGVldF0i fSxzdGF0dXM6e3NjcmlwdHNRdWV1ZWQ6MCxzY3JpcHRzTG9hZGVkOjAsc2hvd2lu ZzpmYWxzZX0saW5pdGlhbGl6ZTpmdW5jdGlvbihBLEIpe2lmKCRjaGsoQSkpe3Ro aXMuc2V0T3B0aW9ucyh0aGlzLm9wdGlvbnMsQSk7Cn1pZigkKHRoaXMub3B0aW9u cy5pZCkpe3JldHVybiBmYWxzZTt9dGhpcy5vcGVuZXJzPVtdOyQkKHRoaXMuc2Vs ZWN0b3JzLm9wZW5lcnMrIltyZWwqPSIrdGhpcy5vcHRpb25zLmtleXdvcmQrIl0i KS5lYWNoKGZ1bmN0aW9uKEMpe2lmKEMuZ2V0KCJyZWwiKS5jb250YWlucygieyIp KXtDLmFkZEV2ZW50KCJjbGljayIsZnVuY3Rpb24oRCl7RC5zdG9wKCk7dGhpcy5v cGVuKEMpO30uYmluZCh0aGlzKSk7dGhpcy5vcGVuZXJzLmV4dGVuZChbQ10pO319 LmJpbmQodGhpcykpO2lmKHRoaXMub3B0aW9ucy5hdXRvX29wZW5lcl9wYXJlbnQp e3RoaXMuYXV0b19vcGVuZXI9dGhpcy5vcHRpb25zLmF1dG9fb3BlbmVyX3BhcmVu dC5nZXRFbGVtZW50KHRoaXMuc2VsZWN0b3JzLmF1dG9fb3BlbmVyKyJbcmVsKj0i K3RoaXMub3B0aW9ucy5rZXl3b3JkKyJdIik7fWVsc2V7dGhpcy5hdXRvX29wZW5l cj1udWxsO31pZih0aGlzLm9wZW5lcnMubGVuZ3RoPDEmJiEkY2hrKHRoaXMuYXV0 b19vcGVuZXIpKXtyZXR1cm4gZmFsc2U7Cn10aGlzLmJ1aWxkTGlnaHRib3goKTtp ZigkY2hrKHRoaXMuYXV0b19vcGVuZXIpKXt0aGlzLm9wZW4odGhpcy5hdXRvX29w ZW5lcik7fXJldHVybiB0cnVlO30sYnVpbGRMaWdodGJveDpmdW5jdGlvbigpe2lm KCEkKHRoaXMub3B0aW9ucy5pZCkpe3RoaXMuY29udGFpbmVyPW5ldyBFbGVtZW50 KCJkaXYiLHtpZDp0aGlzLm9wdGlvbnMuaWR9KTt0aGlzLmNvbnRlbnQ9bmV3IEVs ZW1lbnQoImRpdiIseyJjbGFzcyI6ImNvbnRlbnQiLHN0eWxlczp7ZGlzcGxheToi bm9uZSJ9fSk7dGhpcy5vdmVybGF5PW5ldyBFbGVtZW50KCJkaXYiLHsiY2xhc3Mi OiJvdmVybGF5IixzdHlsZXM6e2Rpc3BsYXk6Im5vbmUiLG9wYWNpdHk6dGhpcy5v cHRpb25zLm92ZXJsYXlfb3BhY2l0eX19KTtpZih0aGlzLm9wdGlvbnMuc2hvd19s

b2FkaW5nKXt0aGlzLmxvYWRpbmc9bmV3IEVsZW1lbnQoImRpdiIseyJjbGFzcyI6 ImxvYWRpbmciLHN0eWxlczp7ZGlzcGxheToibm9uZSJ9fSk7dGhpcy5jb250YWlu ZXIuYWRvcHQodGhpcy5vdmVybGF5LHRoaXMubG9hZGluZyx0aGlzLmNvbnRlbnQp Owp9ZWxzZXt0aGlzLmNvbnRhaW5lci5hZG9wdCh0aGlzLm92ZXJsYXksdGhpcy5j b250ZW50KTt9dGhpcy5iYXNlTGF5ZXI9bmV3IEVsZW1lbnQoImlmcmFtZSIse3Ny YzoiamF2YXNjcmlwdDo7IixmcmFtZWJvcmRlcjoiMCIsc2Nyb2xsaW5nOiJubyIs aWQ6dGhpcy5vcHRpb25zLmlkKyJfYmFzZSIsc3R5bGVzOntkaXNwbGF5OiJub25l IixvcGFjaXR5OjB9fSk7dGhpcy5iYXNlTGF5ZXIuaW5qZWN0KHRoaXMub3B0aW9u cy5pbmplY3Rfc2l0ZSx0aGlzLm9wdGlvbnMuaW5qZWN0X3Bvcyk7dGhpcy5jb250 YWluZXIuaW5qZWN0KHRoaXMuYmFzZUxheWVyLCJhZnRlciIpO319LG9wZW46ZnVu Y3Rpb24oRCl7dmFyIEE9d2luZG93LmdldFNjcm9sbFNpemUoKTt0aGlzLnZhbHVl cz1ELnJldHJpZXZlKHRoaXMua2V5cy5vcGVuZXJfdmFsdWVzKTtpZighdGhpcy52 YWx1ZXMpe3RoaXMudmFsdWVzPXt9O2lmKEQuZ2V0KCJyZWwiKSl7dGhpcy52YWx1 ZXM9RC5nZXRKU09ORGF0YSgicmVsIik7Cn1pZighJGRlZmluZWQodGhpcy52YWx1 ZXMudHlwZSkpe3RoaXMudmFsdWVzLnR5cGU9dGhpcy5vcHRpb25zLmRlZmF1bHRf dHlwZTt9dGhpcy52YWx1ZXMudXJsPUQuZ2V0KCJocmVmIik7RC5zdG9yZSh0aGlz LmtleXMub3BlbmVyX3ZhbHVlcyx0aGlzLnZhbHVlcyk7fXZhciBDPUQucmV0cmll dmUodGhpcy5rZXlzLm9wZW5lcl9yZXF1ZXN0KTtpZighQyl7dmFyIEI9e3VybDp0 aGlzLnZhbHVlcy51cmwsbm9DYWNoZTp0cnVlLG1ldGhvZDoicG9zdCIsb25SZXF1 ZXN0OmZ1bmN0aW9uKCl7dGhpcy50b2dnbGVBZE9iamVjdHMoImhpZGUiKTt0aGlz LmxvYWRpbmcuc2V0U3R5bGUoImRpc3BsYXkiLCJibG9jayIpO3RoaXMuY2VudGVy KHRoaXMubG9hZGluZyk7fS5iaW5kKHRoaXMpLG9uRmFpbHVyZTpmdW5jdGlvbigp e3RoaXMuaGlkZSgibGlnaHRib3ggZmFpbGVkIik7dGhpcy50b2dnbGVBZE9iamVj dHMoInNob3ciKTt9LmJpbmQodGhpcyl9O2lmKHRoaXMudmFsdWVzLnJlcXVlc3Q9 PSJodG1sIil7Qi5kYXRhPXtyZXF1ZXN0OnRoaXMudmFsdWVzLnJlcXVlc3R9OwpC LnVwZGF0ZT10aGlzLmNvbnRlbnQ7Qi5vblN1Y2Nlc3M9ZnVuY3Rpb24oRSxHLEYs SCl7dGhpcy5sb2FkaW5nLnNldFN0eWxlKCJkaXNwbGF5Iiwibm9uZSIpO3RoaXMu c2hvdygpO30uYmluZCh0aGlzKTtDPW5ldyBSZXF1ZXN0LkhUTUwoQik7fWVsc2V7 Qi5vblN1Y2Nlc3M9ZnVuY3Rpb24oRSl7dGhpcy5sb2FkaW5nLnNldFN0eWxlKCJk aXNwbGF5Iiwibm9uZSIpO3RoaXMudmFsdWVzLmNvbnRlbnQ9RS5jb250ZW50O3Ro aXMudXBkYXRlQ29udGVudChFKTt9LmJpbmQodGhpcyk7Qz1uZXcgUmVxdWVzdC5K U09OKEIpO31ELnN0b3JlKHRoaXMua2V5cy5vcGVuZXJfcmVxdWVzdCxDKTt9dGhp cy5vdmVybGF5LnNldFN0eWxlcyh7ZGlzcGxheToiYmxvY2siLGhlaWdodDpBLnkr InB4In0pO0Muc2VuZCgpO30sbG9hZFNjcmlwdHM6ZnVuY3Rpb24oKXt2YXIgQT0k QShhcmd1bWVudHMpO0E9QS5mbGF0dGVuKCk7dmFyIEI9MDtBLmVhY2goZnVuY3Rp b24oQyxFKXt2YXIgRD0kJCgibGlua1tocmVmPSIrQysiXSxzY3JpcHRbc3JjPSIr QysiXSIpOwpEPURbMF07aWYoJGNoayhEKSl7Qj1CKzE7fWVsc2V7dmFyIEY7dGhp cy5zdGF0dXMuc2NyaXB0c1F1ZXVlZD10aGlzLnN0YXR1cy5zY3JpcHRzUXVldWVk KzE7aWYoQy5jb250YWlucygiLmNzcyIpKXtuZXcgUmVxdWVzdCh7dXJsOkMsbm9D YWNoZTp0cnVlLG9uUmVxdWVzdDpmdW5jdGlvbigpe0Fzc2V0LmNzcyhDKTt9LG9u RmFpbHVyZTpmdW5jdGlvbigpe3RoaXMuc3RhdHVzLnNjcmlwdHNRdWV1ZWQ9dGhp cy5zdGF0dXMuc2NyaXB0c1F1ZXVlZC0xO2lmKHRoaXMuc3RhdHVzLnNjcmlwdHNM b2FkZWQ9PXRoaXMuc3RhdHVzLnNjcmlwdHNRdWV1ZWQpe3RoaXMuaGlkZSgiTGln aHRib3ggZmFpbGVkIHdoaWxlIGxvYWRpbmcgc2NyaXB0OlxuICIrQysiIik7fX0u YmluZCh0aGlzKSxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7fSxvblN1Y2Nlc3M6ZnVu Y3Rpb24oRyl7dGhpcy5zdGF0dXMuc2NyaXB0c0xvYWRlZD10aGlzLnN0YXR1cy5z Y3JpcHRzTG9hZGVkKzE7aWYodGhpcy5zdGF0dXMuc2NyaXB0c0xvYWRlZD09dGhp cy5zdGF0dXMuc2NyaXB0c1F1ZXVlZCl7dGhpcy5zaG93KCJzaG93aW5nIGZyb20g c2NyaXB0IGxvYWQgc3VjY2VzcyIpOwp9fS5iaW5kKHRoaXMpfSkuc2VuZCgpO31l bHNle2lmKEMuY29udGFpbnMoIi5qcyIpKXtGPUFzc2V0LmphdmFzY3JpcHQoQyx7 b25sb2FkOmZ1bmN0aW9uKCl7dGhpcy5zdGF0dXMuc2NyaXB0c0xvYWRlZD10aGlz LnN0YXR1cy5zY3JpcHRzTG9hZGVkKzE7aWYodGhpcy5zdGF0dXMuc2NyaXB0c0xv YWRlZD09dGhpcy5zdGF0dXMuc2NyaXB0c1F1ZXVlZCl7dGhpcy5zaG93KCJzaG93 aW5nIGZyb20gc2NyaXB0IGxvYWQgc3VjY2VzcyIpO319LmJpbmQodGhpcyl9KTt9 fX19LmJpbmQodGhpcykpO2lmKEI9PUEubGVuZ3RoLnRvSW50KCkpe3JldHVybiBm YWxzZTt9ZWxzZXtyZXR1cm4gdHJ1ZTt9fSx1cGRhdGVDb250ZW50OmZ1bmN0aW9u KEEpe2lmKCEkY2hrKEEpKXt0aGlzLmhpZGUoIm5vIGRhdGEgcmV0dXJuZWQgZnJv bSByZXF1ZXN0Iik7cmV0dXJuIGZhbHNlO31pZighJGNoayhBLmNvbnRlbnQpKXt0 aGlzLmhpZGUoInJlcXVlc3QgZmFpbGVkIHRvIHJldHVybiBsaWdodGJveCBjb250 ZW50Iik7CnJldHVybiBmYWxzZTt9aWYoJGNoayhBLmNzcyl8fCRjaGsoQS5qcykp

e2lmKHRoaXMubG9hZFNjcmlwdHMoQS5jc3MsQS5qcykpe3JldHVybiB0cnVlO319 dGhpcy5zaG93KCJzaG93aW5nIGZyb20gdXBkYXRlQ29udGVudCIpO3JldHVybiB0 cnVlO30sc2hvdzpmdW5jdGlvbihDKXtpZigkY2hrKEMpKXt9aWYodGhpcy5zdGF0 dXMuc2hvd2luZyl7cmV0dXJuIDt9ZWxzZXt0aGlzLnN0YXR1cy5zaG93aW5nPXRy dWU7fWlmKCRjaGsodGhpcy52YWx1ZXMuY29udGVudCkpe3RoaXMuY29udGVudC5z ZXQoImh0bWwiLHRoaXMudmFsdWVzLmNvbnRlbnQpO31pZigkY2hrKHRoaXMudmFs dWVzLnR5cGUpKXt0aGlzLmNvbnRhaW5lci5hZGRDbGFzcyh0aGlzLnZhbHVlcy50 eXBlKTt9dGhpcy5jb250ZW50LnNldFN0eWxlcyh7ZGlzcGxheToiYmxvY2siLHZp c2liaWxpdHk6ImhpZGRlbiIsaGVpZ2h0OiJhdXRvIix3aWR0aDoiYXV0byJ9KTt0 aGlzLnZhbHVlcy5zaXplPXRoaXMuY29udGVudC5nZXRTaXplKCk7CmlmKHRoaXMu dmFsdWVzLnNpemUueD09MHx8dGhpcy52YWx1ZXMuc2l6ZS55PT0wKXt0aGlzLnZh bHVlcy5zaXplPXt4OnRoaXMub3B0aW9ucy5kZWZhdWx0X3dpZHRoLHk6dGhpcy5v cHRpb25zLmRlZmF1bHRfaGVpZ2h0fTt9dGhpcy5jb250ZW50LnNldFN0eWxlcyh7 aGVpZ2h0OnRoaXMudmFsdWVzLnNpemUueSsicHgiLHdpZHRoOnRoaXMudmFsdWVz LnNpemUueCsicHgifSk7dGhpcy5iYXNlTGF5ZXIuc2V0U3R5bGVzKHtkaXNwbGF5 OiJibG9jayIsaGVpZ2h0OnRoaXMudmFsdWVzLnNpemUueSsicHgiLHdpZHRoOnRo aXMudmFsdWVzLnNpemUueCsicHgifSk7dGhpcy5jZW50ZXIodGhpcy5iYXNlTGF5 ZXIpO3RoaXMuY2VudGVyKHRoaXMuY29udGVudCk7dGhpcy5jb250ZW50LnNldFN0 eWxlKCJ2aXNpYmlsaXR5IiwidmlzaWJsZSIpO3ZhciBCPXRoaXMuY29udGVudC5n ZXRFbGVtZW50cyh0aGlzLnNlbGVjdG9ycy5jbG9zZXJzKTtpZihCLmxlbmd0aD4w KXtCLmVhY2goZnVuY3Rpb24oRil7dGhpcy5pbml0Q2xvc2VyKEYpOwp9LmJpbmQo dGhpcykpO31lbHNle3RoaXMuaW5zZXJ0Q2xvc2VyKCk7fXZhciBFPXRoaXMuY29u dGVudC5nZXRFbGVtZW50KCIjIit0aGlzLnZhbHVlcy50eXBlKTtpZigkY2hrKEUp JiZFLmdldCgiY2xhc3MiKS5jb250YWlucygieyIpKXt2YXIgQT1FLmdldEpTT05E YXRhKCJjbGFzcyIpO2lmKCR0eXBlKEEub25TaG93KT09ImZ1bmN0aW9uIil7QS5v blNob3cucnVuKFtFLCJsaWdodGJveCJdKTt9fWlmKHRoaXMub3B0aW9ucy5lbmFi bGVfYXV0b2ZvY3VzKXt2YXIgRD10aGlzLmNvbnRlbnQuZ2V0RWxlbWVudCh0aGlz Lm9wdGlvbnMuYXV0b2ZvY3VzX3NlbGVjdG9yKTtpZigkY2hrKEQpKXtELmZvY3Vz KCk7fX13aW5kb3cuYWRkRXZlbnRzKHtzY3JvbGw6dGhpcy5jZW50ZXIuYmluZCh0 aGlzKSxyZXNpemU6dGhpcy5jZW50ZXIuYmluZCh0aGlzKX0pO30saW5pdENsb3Nl cjpmdW5jdGlvbihBKXtBLmFkZEV2ZW50KCJjbGljayIsZnVuY3Rpb24oQil7Qi5z dG9wKCk7dGhpcy5oaWRlKCk7Cn0uYmluZCh0aGlzKSk7fSxpbnNlcnRDbG9zZXI6 ZnVuY3Rpb24oKXt0aGlzLmNvbnRlbnQuYWRvcHQobmV3IEVsZW1lbnQoImRpdiIs eyJjbGFzcyI6ImNsb3NlIn0pLmdyYWIobmV3IEVsZW1lbnQoImEiLHtocmVmOiIj Y2xvc2UiLGV2ZW50czp7Y2xpY2s6ZnVuY3Rpb24oQSl7QS5zdG9wKCk7dGhpcy5o aWRlKCk7fS5iaW5kKHRoaXMpfX0pLmdyYWIobmV3IEVsZW1lbnQoImIiLHt0ZXh0 OiJDbG9zZSJ9KSkpKTt9LGNlbnRlcjpmdW5jdGlvbihEKXtpZigkY2hrKEQpKXt2 YXIgQj17c2l6ZTpELmdldFNpemUoKSxzY3JvbGw6RC5nZXRTY3JvbGwoKX07dmFy IEU9e3NpemU6d2luZG93LmdldFNpemUoKSxzY3JvbGw6d2luZG93LmdldFNjcm9s bCgpfTt2YXIgQz17eDooKEUuc2l6ZS54LUIuc2l6ZS54KS8yK0Uuc2Nyb2xsLngp LnRvSW50KCkseTooKEUuc2l6ZS55LUIuc2l6ZS55KS8yK0Uuc2Nyb2xsLnkpLnRv SW50KCl9O0Quc2V0U3R5bGVzKHt0b3A6Qy55KyJweCIsbGVmdDpDLngrInB4In0p Owp9ZWxzZXtpZih0aGlzLm92ZXJsYXkuZ2V0U3R5bGUoImRpc3BsYXkiKSE9Im5v bmUiKXt2YXIgQT13aW5kb3cuZ2V0U2Nyb2xsU2l6ZSgpO3RoaXMub3ZlcmxheS5z ZXRTdHlsZSgiaGVpZ2h0IixBLnkrInB4Iik7dGhpcy5jZW50ZXIodGhpcy5jb250 ZW50KTt0aGlzLmJhc2VMYXllci5zZXRTdHlsZSgidmlzaWJpbGl0eSIsImhpZGRl biIpO3RoaXMuY2VudGVyKHRoaXMuYmFzZUxheWVyKTt0aGlzLmJhc2VMYXllci5z ZXRTdHlsZSgidmlzaWJpbGl0eSIsInZpc2libGUiKTt9fX0sdG9nZ2xlQWRPYmpl Y3RzOmZ1bmN0aW9uKEMpe3ZhciBBPShDPT0ic2hvdyIpPyJ2aXNpYmxlIjoiaGlk ZGVuIjt2YXIgQj0kJCgib2JqZWN0IiwiZW1iZWQiLHRoaXMub3B0aW9ucy5hZF91 bml0X3NlbGVjdG9yKTtCLmVhY2goZnVuY3Rpb24oRCl7RC5zdHlsZS52aXNpYmls aXR5PUE7fSk7fSxoaWRlOmZ1bmN0aW9uKEEpe3RoaXMuc3RhdHVzLnNob3dpbmc9 ZmFsc2U7aWYoQSl7YWxlcnQoQSk7fXRoaXMub3ZlcmxheS5zZXRTdHlsZXMoe2Rp c3BsYXk6Im5vbmUifSk7CnRoaXMuY29udGVudC5zZXRTdHlsZXMoe2Rpc3BsYXk6 Im5vbmUifSk7dGhpcy5jb250ZW50LnNldCgiaHRtbCIsIiIpO2lmKCRjaGsodGhp cy52YWx1ZXMudHlwZSkpe3RoaXMuY29udGFpbmVyLnJlbW92ZUNsYXNzKHRoaXMu dmFsdWVzLnR5cGUpO310aGlzLmJhc2VMYXllci5zZXRTdHlsZXMoe2Rpc3BsYXk6 Im5vbmUiLGhlaWdodDoiYXV0byIsd2lkdGg6ImF1dG8ifSk7d2luZG93LnJlbW92 ZUV2ZW50KCJzY3JvbGwiKS5yZW1vdmVFdmVudCgicmVzaXplIik7dGhpcy50b2dn bGVBZE9iamVjdHMoInNob3ciKTt9fSk7dmFyIEd1bWJhbGxzPW5ldyBDbGFzcyh7

SW1wbGVtZW50czpPcHRpb25zLEJpbmRzOlsic2VuZCIsImhpZGVDb250ZW50Iiwi c2hvd0NvbnRlbnQiXSxvcHRpb25zOnt1cmw6ZmFsc2UsYWJvdXRfdXJsOmZhbHNl LGxpbmtzX2NsYXNzOiJtb3JlIixsaW5rc19pbmplY3RfbG9jOiJhZnRlciJ9LHNl bGVjdG9yczp7bGlua3NfaW5qZWN0X2VsOiJkaXYuaGVhZCBoMiIsYm9keToiZGl2 LmJvZHkiLGxpc3Q6ImRpdi5ib2R5IHVsIixndW1iYWxsczoiZGl2LmJvZHkgdWwg bGkiLG1vcmU6ImEubW9yZSJ9LHN0YXR1czp7cnVubmluZzpmYWxzZX0sZng6bnVs bCxpbml0aWFsaXplOmZ1bmN0aW9uKEMsQSxCKXt0aGlzLm1vZHVsZT0kKEMpO2lm KCEoJGNoayhBLnVybCkmJnRoaXMubW9kdWxlKSl7cmV0dXJuIGZhbHNlO310aGlz LnNldE9wdGlvbnMoQSk7aWYoQil7T2JqZWN0Lm1lcmdlKHRoaXMuc2VsZWN0b3Jz LEIpO310aGlzLmNvbnRlbnQ9e2JvZHk6dGhpcy5tb2R1bGUuZ2V0RWxlbWVudCh0 aGlzLnNlbGVjdG9ycy5ib2R5KSxsaXN0OnRoaXMubW9kdWxlLmdldEVsZW1lbnQo dGhpcy5zZWxlY3RvcnMubGlzdCksZ3VtYmFsbHM6dGhpcy5tb2R1bGUuZ2V0RWxl bWVudHModGhpcy5zZWxlY3RvcnMuZ3VtYmFsbHMpfTsKdGhpcy5hdHRhY2goKS5i dWlsZExvYWRlcigpLmJ1aWxkQWJvdXQoKTt9LGF0dGFjaDpmdW5jdGlvbigpe3Ro aXMuY29udGVudC5tb3JlPXRoaXMubW9kdWxlLmdldEVsZW1lbnQodGhpcy5zZWxl Y3RvcnMubW9yZSkuYWRkRXZlbnQoImNsaWNrIix0aGlzLnNlbmQpO3JldHVybiB0 aGlzO30sZGV0YXRjaDpmdW5jdGlvbigpe3RoaXMubW9kdWxlLnJlbW92ZUV2ZW50 KCJjbGljazpyZWxheSgiK3RoaXMuc2VsZWN0b3JzLm1vcmUrIikiLHRoaXMuc2Vu ZCk7cmV0dXJuIHRoaXM7fSxnZXRSZXF1ZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRo aXMucmVxdWVzdHx8KHRoaXMucmVxdWVzdD1uZXcgUmVxdWVzdC5KU09OKHt1cmw6 dGhpcy5vcHRpb25zLnVybCxsaW5rOiJpZ25vcmUiLG1ldGhvZDoiZ2V0Iixub0Nh Y2hlOnRydWUsb25SZXF1ZXN0OnRoaXMuaGlkZUNvbnRlbnQsb25GYWlsdXJlOnRo aXMuc2hvd0NvbnRlbnQsb25TdWNjZXNzOnRoaXMuc2hvd0NvbnRlbnR9KSk7fSxz ZW5kOmZ1bmN0aW9uKEIsQSl7QiYmQi5wcmV2ZW50RGVmYXVsdCYmQi5wcmV2ZW50 RGVmYXVsdCgpOwppZighdGhpcy5zdGF0dXMucnVubmluZyl7dGhpcy5wYXJhbXM9 dGhpcy5jb250ZW50Lmxpc3QuZ2V0SlNPTkRhdGEoImNsYXNzIik7dGhpcy5nZXRS ZXF1ZXN0KCkuc2VuZCh7ZGF0YTp0aGlzLnBhcmFtc30pO31yZXR1cm4gdGhpczt9 LGJ1aWxkTG9hZGVyOmZ1bmN0aW9uKCl7aWYodGhpcy5jb250ZW50LmJvZHkpe3Ro aXMuY29udGVudC5sb2FkaW5nX21zZz1uZXcgRWxlbWVudCgic3Ryb25nIix7ImNs YXNzIjoibG9hZGluZ19tc2ciLHRleHQ6IkxvYWRpbmcuLi4ifSkuaW5qZWN0KHRo aXMuY29udGVudC5ib2R5LCJ0b3AiKTt9cmV0dXJuIHRoaXM7fSxidWlsZEFib3V0 OmZ1bmN0aW9uKCl7aWYodHlwZU9mKHRoaXMub3B0aW9ucy5hYm91dF91cmwpPT09 InN0cmluZyIpe3ZhciBBPXRoaXMubW9kdWxlLmdldEVsZW1lbnQodGhpcy5zZWxl Y3RvcnMubGlua3NfaW5qZWN0X2VsKTtpZihBKXt0aGlzLmxpbmtzX2xpc3Q9bmV3 IEVsZW1lbnQoInVsIix7ImNsYXNzIjp0aGlzLm9wdGlvbnMubGlua3NfY2xhc3N9 KTsKdGhpcy5saW5rc19saXN0LmFkb3B0KG5ldyBFbGVtZW50KCJsaSIseyJjbGFz cyI6ImZpcnN0In0pLmFkb3B0KG5ldyBFbGVtZW50KCJhIix7ImNsYXNzIjoiYWJv dXQiLGh0bWw6IiogQWJvdXQiLGhyZWY6dGhpcy5vcHRpb25zLmFib3V0X3VybCxy ZWw6InBvcHVwOmFib3V0X2d1bWJhbGxzIn0pKSkuaW5qZWN0KEEsdGhpcy5vcHRp b25zLmxpbmtzX2luamVjdF9sb2MpO319cmV0dXJuIHRoaXM7fSxnZXRGeDpmdW5j dGlvbigpe3ZhciBBPXRoaXM7cmV0dXJuIEEuZng9KEEuZnh8fEEuY29udGVudC5s aXN0LnNldCgidHdlZW4iLHtkdXJhdGlvbjoyNTB9KS5nZXQoInR3ZWVuIikpO30s aGlkZUNvbnRlbnQ6ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cy5ydW5uaW5nPXRydWU7 dGhpcy5nZXRGeCgpLnN0YXJ0KCJvcGFjaXR5IixbMSwwXSk7fSxzaG93Q29udGVu dDpmdW5jdGlvbihBKXtpZihBJiZBLmNvbnRlbnQpe3ZhciBDPXRoaXMuZ2V0Rngo KTtpZihDLmlzUnVubmluZygpKXtDLmNoYWluKHRoaXMuc2hvd0NvbnRlbnQuYmlu ZCh0aGlzLEEpKTsKcmV0dXJuIDt9dmFyIEI9bmV3IEVsZW1lbnQoImRpdiIse2h0 bWw6QS5jb250ZW50fSkuZ2V0Rmlyc3QoKTt0aGlzLmNvbnRlbnQubGlzdD1CLnJl cGxhY2VzKHRoaXMuY29udGVudC5saXN0KTt0aGlzLmZ4PW51bGw7fXRoaXMuZ2V0 RngoKS5jaGFpbihmdW5jdGlvbigpe3RoaXMuc3RhdHVzLnJ1bm5pbmc9ZmFsc2U7 fS5iaW5kKHRoaXMpKS5zdGFydCgib3BhY2l0eSIsWzAsMV0pO319KTsoZnVuY3Rp b24oQixDKXt2YXIgRD1Ccm93c2VyLmllNjt2YXIgQT1uZXcgQ2xhc3Moe0ltcGxl bWVudHM6T3B0aW9ucyxvcHRpb25zOnt0b3A6ImF1dG8iLGxlZnQ6ImF1dG8iLHdp ZHRoOiJhdXRvIixoZWlnaHQ6ImF1dG8iLG9wYWNpdHk6dHJ1ZSxzcmM6ImphdmFz Y3JpcHQ6ZmFsc2U7In0saW5pdGlhbGl6ZTpmdW5jdGlvbihGLEUpe2lmKCFEKXty ZXR1cm4gO310aGlzLnNldE9wdGlvbnMoRSk7dGhpcy5lbGVtZW50PUMoRik7dmFy IEc9dGhpcy5lbGVtZW50LmdldEZpcnN0KCk7aWYoIShHJiZHLmhhc0NsYXNzKCJi Z2lmcmFtZSIpKSl7dGhpcy5lbGVtZW50LmdyYWIoZG9jdW1lbnQuY3JlYXRlRWxl bWVudCh0aGlzLnJlbmRlcigpKSwidG9wIik7fX0sdG9QeDpmdW5jdGlvbihFKXty ZXR1cm4gaXNGaW5pdGUoRSk/RSsicHgiOkU7fSxyZW5kZXI6ZnVuY3Rpb24oKXt2

YXIgRT10aGlzLm9wdGlvbnM7cmV0dXJuJzxpZnJhbWUgY2xhc3M9ImJnaWZyYW1l IiBmcmFtZWJvcmRlcj0iMCIgdGFiaW5kZXg9Ii0xIiBzcmM9IicrRS5zcmMrJyIg c3R5bGU9ImRpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDot MTsnKyhFLm9wYWNpdHkhPT1mYWxzZT8iZmlsdGVyOmFscGhhKG9wYWNpdHk9JzAn KTsiOiIiKSsidG9wOiIrKEUudG9wPT0iYXV0byI/ImV4cHJlc3Npb24oKChwYXJz ZUludCh0aGlzLnBhcmVudE5vZGUuY3VycmVudFN0eWxlLmJvcmRlclRvcFdpZHRo KXx8MCkqLTEpKydweCcpIjp0aGlzLnRvUHgoRS50b3ApKSsiO2xlZnQ6IisoRS5s ZWZ0PT0iYXV0byI/ImV4cHJlc3Npb24oKChwYXJzZUludCh0aGlzLnBhcmVudE5v ZGUuY3VycmVudFN0eWxlLmJvcmRlckxlZnRXaWR0aCl8fDApKi0xKSsncHgnKSI6 dGhpcy50b1B4KEUubGVmdCkpKyI7d2lkdGg6IisoRS53aWR0aD09ImF1dG8iPyJl eHByZXNzaW9uKHRoaXMucGFyZW50Tm9kZS5vZmZzZXRXaWR0aCsncHgnKSI6dGhp cy50b1B4KEUud2lkdGgpKSsiO2hlaWdodDoiKyhFLmhlaWdodD09ImF1dG8iPyJl eHByZXNzaW9uKHRoaXMucGFyZW50Tm9kZS5vZmZzZXRIZWlnaHQrJ3B4JykiOnRo aXMudG9QeChFLmhlaWdodCkpKyc7Ii8+JzsKfX0pO0VsZW1lbnQuaW1wbGVtZW50 KCJiZ2lmcmFtZSIsZnVuY3Rpb24oRSl7aWYoRCl7bmV3IEEodGhpcyxFKTt9cmV0 dXJuIHRoaXM7fSk7fSkodGhpcyxkb2N1bWVudC5pZHx8JCk7KGZ1bmN0aW9uKEUs Ril7dmFyIEM9QnJvd3NlcjtPYmplY3QuYXBwZW5kKEVsZW1lbnQuTmF0aXZlRXZl bnRzLHtwYXN0ZToyLGlucHV0OjJ9KTtFbGVtZW50LkV2ZW50cy5wYXN0ZT17YmFz ZTooQy5vcGVyYXx8KEMuZmlyZWZveCYmQy52ZXJzaW9uPDMpKT8iaW5wdXQiOiJw YXN0ZSIsY29uZGl0aW9uOmZ1bmN0aW9uKEgpe3RoaXMuZmlyZUV2ZW50KCJwYXN0 ZSIsSCwxKTtyZXR1cm4gZmFsc2U7fX07RWxlbWVudC5FdmVudHMua2V5cmVwZWF0 PXtiYXNlOihDLmZpcmVmb3h8fEMub3BlcmEpPyJrZXlwcmVzcyI6ImtleWRvd24i LGNvbmRpdGlvbjpGdW5jdGlvbi5mcm9tKHRydWUpfTt2YXIgQT1FLk1laW98fHt9 O3ZhciBHO3ZhciBCPXs5OjEsMTY6MSwxNzoxLDE4OjEsMjI0OjEsOTE6MSwzNzox LDM4OjEsMzk6MSw0MDoxfTt2YXIgRD1mdW5jdGlvbihIKXtyZXR1cm4gSC5yZXBs YWNlKC8iL2csIiZxdW90OyIpLnJlcGxhY2UoLycvZywiJiMzOTsiKTt9O0EuV2lk Z2V0PW5ldyBDbGFzcyh7aW5pdGlhbGl6ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVu dHM9e307Cn0sYWRkRWxlbWVudDpmdW5jdGlvbihILEkpe3RoaXMuZWxlbWVudHNb SF09STt9LGFkZEV2ZW50VG9FbGVtZW50OmZ1bmN0aW9uKEksSCxKKXt0aGlzLmVs ZW1lbnRzW0ldLmFkZEV2ZW50KEgsSi5iaW5kKHRoaXMpKTt9LGFkZEV2ZW50c1Rv RWxlbWVudDpmdW5jdGlvbihJLEope2Zvcih2YXIgSCBpbiBKKXt0aGlzLmFkZEV2 ZW50VG9FbGVtZW50KEksSCxKW0hdKTt9fSxhdHRhY2g6ZnVuY3Rpb24oKXtmb3Io dmFyIEggaW4gdGhpcy5lbGVtZW50cyl7dGhpcy5lbGVtZW50c1tIXS5hdHRhY2go KTt9fSxkZXRhY2g6ZnVuY3Rpb24oKXtmb3IodmFyIEggaW4gdGhpcy5lbGVtZW50 cyl7dGhpcy5lbGVtZW50c1tIXS5kZXRhY2goKTt9fSxkZXN0cm95OmZ1bmN0aW9u KCl7Zm9yKHZhciBIIGluIHRoaXMuZWxlbWVudHMpe3RoaXMuZWxlbWVudHNbSF0m JnRoaXMuZWxlbWVudHNbSF0uZGVzdHJveSgpO319fSk7QS5BdXRvY29tcGxldGU9 bmV3IENsYXNzKHtFeHRlbmRzOkEuV2lkZ2V0LEltcGxlbWVudHM6W09wdGlvbnMs RXZlbnRzXSxvcHRpb25zOntkZWxheToyMDAsbWluQ2hhcnM6MCxjYWNoZUxlbmd0 aDoyMCxzZWxlY3RPblRhYjp0cnVlLG1heFZpc2libGVJdGVtczoxMCxjYWNoZVR5 cGU6InNoYXJlZCIsZmlsdGVyOnt9LGZpZWxkT3B0aW9uczp7fSxsaXN0T3B0aW9u czp7fSxyZXF1ZXN0T3B0aW9uczp7fSx1cmxPcHRpb25zOnt9fSxpbml0aWFsaXpl OmZ1bmN0aW9uKEgsSyxJLEope3RoaXMucGFyZW50KCk7CnRoaXMuc2V0T3B0aW9u cyhJKTt0aGlzLmFjdGl2ZT0wO3RoaXMuZmlsdGVycz1BLkF1dG9jb21wbGV0ZS5G aWx0ZXIuZ2V0KHRoaXMub3B0aW9ucy5maWx0ZXIpO3RoaXMuYWRkRWxlbWVudCgi bGlzdCIsSnx8bmV3IEEuRWxlbWVudC5MaXN0KHRoaXMub3B0aW9ucy5saXN0T3B0 aW9ucykpO3RoaXMuYWRkTGlzdEV2ZW50cygpO3RoaXMuYWRkRWxlbWVudCgiZmll bGQiLG5ldyBBLkVsZW1lbnQuRmllbGQoSCx0aGlzLm9wdGlvbnMuZmllbGRPcHRp b25zKSk7dGhpcy5hZGRGaWVsZEV2ZW50cygpO3RoaXMuYWRkU2VsZWN0RXZlbnRz KCk7dGhpcy5hdHRhY2goKTt0aGlzLmluaXRDYWNoZSgpO3RoaXMuaW5pdERhdGEo Syk7fSxhZGRGaWVsZEV2ZW50czpmdW5jdGlvbigpe3RoaXMuYWRkRXZlbnRzVG9F bGVtZW50KCJmaWVsZCIse2JlZm9yZUtleXJlcGVhdDpmdW5jdGlvbihKKXt0aGlz LmFjdGl2ZT0xO3ZhciBIPUoua2V5LEk9dGhpcy5lbGVtZW50cy5saXN0O2lmKEg9 PSJ1cCJ8fEg9PSJkb3duInx8KEg9PSJlbnRlciImJkkuc2hvd2luZykpe0oucHJl dmVudERlZmF1bHQoKTsKfX0sZGVsYXllZEtleXJlcGVhdDpmdW5jdGlvbihKKXt2 YXIgSD1KLmtleSxJPXRoaXMuZWxlbWVudHMuZmllbGQ7SS5rZXlQcmVzc0NvbnRy b2xbSF09dHJ1ZTtzd2l0Y2goSCl7Y2FzZSJ1cCI6Y2FzZSJkb3duIjp0aGlzLmZv Y3VzSXRlbShIKTticmVhaztjYXNlImVudGVyIjp0aGlzLnNldElucHV0VmFsdWUo KTticmVhaztjYXNlInRhYiI6aWYodGhpcy5vcHRpb25zLnNlbGVjdE9uVGFiKXt0 aGlzLnNldElucHV0VmFsdWUoKTt9SS5rZXlQcmVzc0NvbnRyb2xbSF09ZmFsc2U7

YnJlYWs7Y2FzZSJlc2MiOnRoaXMuZWxlbWVudHMubGlzdC5oaWRlKCk7YnJlYWs7 ZGVmYXVsdDp0aGlzLnNldHVwTGlzdCgpO310aGlzLm9sZElucHV0ZWRUZXh0PUku bm9kZS5nZXQoInZhbHVlIik7fSxrZXl1cDpmdW5jdGlvbihJKXt2YXIgSD10aGlz LmVsZW1lbnRzLmZpZWxkO2lmKCFCW0kuY29kZV0pe2lmKCFILmtleVByZXNzQ29u dHJvbFtJLmtleV0pe3RoaXMuc2V0dXBMaXN0KCk7fUgua2V5UHJlc3NDb250cm9s W0kua2V5XT1mYWxzZTsKfX0sZm9jdXM6ZnVuY3Rpb24oKXt0aGlzLmFjdGl2ZT0x O3ZhciBIPXRoaXMuZWxlbWVudHMubGlzdDtILmZvY3VzZWRJdGVtPW51bGw7SC5w b3NpdGlvbk5leHRUbyh0aGlzLmVsZW1lbnRzLmZpZWxkLm5vZGUpO30sY2xpY2s6 ZnVuY3Rpb24oKXtpZigrK3RoaXMuYWN0aXZlPjImJiF0aGlzLmVsZW1lbnRzLmxp c3Quc2hvd2luZyl7dGhpcy5mb3JjZVNldHVwTGlzdCgpO319LGJsdXI6ZnVuY3Rp b24oSSl7dGhpcy5hY3RpdmU9MDt2YXIgSD10aGlzLmVsZW1lbnRzLmxpc3Q7aWYo SC5zaG91bGROb3RCbHVyKXt0aGlzLmVsZW1lbnRzLmZpZWxkLm5vZGUuc2V0Q2Fy ZXRQb3NpdGlvbigiZW5kIik7SC5zaG91bGROb3RCbHVyPWZhbHNlO2lmKEguZm9j dXNlZEl0ZW0pe0guaGlkZSgpO319ZWxzZXtILmhpZGUoKTt9fSxwYXN0ZTpmdW5j dGlvbigpe3JldHVybiB0aGlzLnNldHVwTGlzdCgpO319KTt9LGFkZExpc3RFdmVu dHM6ZnVuY3Rpb24oKXt0aGlzLmFkZEV2ZW50c1RvRWxlbWVudCgibGlzdCIse21v dXNlZG93bjpmdW5jdGlvbihIKXtpZih0aGlzLmFjdGl2ZSYmIUguZG9udEhpZGUp e3RoaXMuc2V0SW5wdXRWYWx1ZSgpOwp9fX0pO30sdXBkYXRlOmZ1bmN0aW9uKCl7 dmFyIE49dGhpcy5kYXRhLFA9dGhpcy5lbGVtZW50cy5saXN0O3ZhciBSPU4uZ2V0 S2V5KCksSz10aGlzLmNhY2hlLmdldChSKSxPO2lmKEspe089Sy5odG1sO3RoaXMu aXRlbXNEYXRhPUsuZGF0YTt9ZWxzZXtOPU4uZ2V0KCk7dmFyIFQ9W10sUz1bXSxM PVAub3B0aW9ucy5jbGFzc2VzLFU9dGhpcy5pbnB1dGVkVGV4dDt2YXIgST10aGlz LmZpbHRlcnMuZmlsdGVyLEg9dGhpcy5maWx0ZXJzLmZvcm1hdE1hdGNoLFE9dGhp cy5maWx0ZXJzLmZvcm1hdEl0ZW07Zm9yKHZhciBWLE09MCxKPTA7Vj1OW00rK107 KXtpZihJLmNhbGwodGhpcyxVLFYpKXtULnB1c2goJzxsaSB0aXRsZT0iJyxEKEgu Y2FsbCh0aGlzLFUsVikpLCciIGRhdGEtaW5kZXg9IicsSiwnIiBjbGFzcz0iJywo SiUyP0wuZXZlbjpMLm9kZCksJyI+JyxRLmNhbGwodGhpcyxVLFYsSiksIjwvbGk+ Iik7Uy5wdXNoKFYpO0orKzt9fU89VC5qb2luKCIiKTt0aGlzLmNhY2hlLnNldChS LHtodG1sOk8sZGF0YTpTfSk7CnRoaXMuaXRlbXNEYXRhPVM7fVAuZm9jdXNlZEl0 ZW09bnVsbDt0aGlzLmZpcmVFdmVudCgiZGVzZWxlY3QiLFt0aGlzLmVsZW1lbnRz XSk7UC5saXN0LnNldCgiaHRtbCIsTyk7aWYodGhpcy5vcHRpb25zLm1heFZpc2li bGVJdGVtcyl7UC5hcHBseU1heEhlaWdodCh0aGlzLm9wdGlvbnMubWF4VmlzaWJs ZUl0ZW1zKTt9fSxzZXR1cExpc3Q6ZnVuY3Rpb24oKXt0aGlzLmlucHV0ZWRUZXh0 PXRoaXMuZWxlbWVudHMuZmllbGQubm9kZS5nZXQoInZhbHVlIik7aWYodGhpcy5p bnB1dGVkVGV4dCE9PXRoaXMub2xkSW5wdXRlZFRleHQpe3RoaXMuZm9yY2VTZXR1 cExpc3QodGhpcy5pbnB1dGVkVGV4dCk7fWVsc2V7dGhpcy5lbGVtZW50cy5saXN0 LmhpZGUoKTt9cmV0dXJuIHRydWU7fSxmb3JjZVNldHVwTGlzdDpmdW5jdGlvbihI KXtIPUh8fHRoaXMuZWxlbWVudHMuZmllbGQubm9kZS5nZXQoInZhbHVlIik7aWYo SC5sZW5ndGg+PXRoaXMub3B0aW9ucy5taW5DaGFycyl7Y2xlYXJJbnRlcnZhbCh0 aGlzLnByZXBhcmVUaW1lcik7CnRoaXMucHJlcGFyZVRpbWVyPXRoaXMuZGF0YS5w cmVwYXJlLmRlbGF5KHRoaXMub3B0aW9ucy5kZWxheSx0aGlzLmRhdGEsdGhpcy5p bnB1dGVkVGV4dCk7fX0sZGF0YVJlYWR5OmZ1bmN0aW9uKCl7dGhpcy51cGRhdGUo KTtpZih0aGlzLm9uVXBkYXRlKXt0aGlzLm9uVXBkYXRlKCk7dGhpcy5vblVwZGF0 ZT1udWxsO312YXIgSD10aGlzLmVsZW1lbnRzLmxpc3Q7aWYoSC5saXN0LmdldCgi aHRtbCIpKXtpZih0aGlzLmFjdGl2ZSl7SC5zaG93KCk7fX1lbHNle3RoaXMuZmly ZUV2ZW50KCJub0l0ZW1Ub0xpc3QiLFt0aGlzLmVsZW1lbnRzXSk7SC5oaWRlKCk7 fX0sc2V0SW5wdXRWYWx1ZTpmdW5jdGlvbigpe3ZhciBJPXRoaXMuZWxlbWVudHMu bGlzdDtpZihJLmZvY3VzZWRJdGVtKXt2YXIgSj1JLmZvY3VzZWRJdGVtLmdldCgi dGl0bGUiKTt0aGlzLmVsZW1lbnRzLmZpZWxkLm5vZGUuc2V0KCJ2YWx1ZSIsSik7 dmFyIEg9SS5mb2N1c2VkSXRlbS5nZXQoImRhdGEtaW5kZXgiKTt0aGlzLmZpcmVF dmVudCgic2VsZWN0IixbdGhpcy5lbGVtZW50cyx0aGlzLml0ZW1zRGF0YVtIXSxK LEhdKTsKfUkuaGlkZSgpO30sZm9jdXNJdGVtOmZ1bmN0aW9uKEkpe3ZhciBIPXRo aXMuZWxlbWVudHMubGlzdDtpZihILnNob3dpbmcpe0guZm9jdXNJdGVtKEkpO31l bHNle3RoaXMuZm9yY2VTZXR1cExpc3QoKTt0aGlzLm9uVXBkYXRlPWZ1bmN0aW9u KCl7SC5mb2N1c0l0ZW0oSSk7fTt9fSxhZGRTZWxlY3RFdmVudHM6ZnVuY3Rpb24o KXt0aGlzLmFkZEV2ZW50cyh7c2VsZWN0OmZ1bmN0aW9uKEgpe0guZmllbGQuYWRk Q2xhc3MoInNlbGVjdGVkIik7fSxkZXNlbGVjdDpmdW5jdGlvbihIKXtILmZpZWxk LnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpO319KTt9LGluaXREYXRhOmZ1bmN0aW9u KEgpe3RoaXMuZGF0YT0odHlwZU9mKEgpPT0ic3RyaW5nIik/bmV3IEEuQXV0b2Nv bXBsZXRlLkRhdGEuUmVxdWVzdChILHRoaXMuY2FjaGUsdGhpcy5lbGVtZW50cy5m

aWVsZCx0aGlzLm9wdGlvbnMucmVxdWVzdE9wdGlvbnMsdGhpcy5vcHRpb25zLnVy bE9wdGlvbnMpOm5ldyBBLkF1dG9jb21wbGV0ZS5EYXRhKEgsdGhpcy5jYWNoZSk7 CnRoaXMuZGF0YS5hZGRFdmVudCgicmVhZHkiLHRoaXMuZGF0YVJlYWR5LmJpbmQo dGhpcykpO30saW5pdENhY2hlOmZ1bmN0aW9uKCl7dmFyIEg9dGhpcy5vcHRpb25z LmNhY2hlTGVuZ3RoO2lmKHRoaXMub3B0aW9ucy5jYWNoZVR5cGU9PSJzaGFyZWQi KXt0aGlzLmNhY2hlPUc7dGhpcy5jYWNoZS5zZXRNYXhMZW5ndGgoSCk7fWVsc2V7 dGhpcy5jYWNoZT1uZXcgQS5BdXRvY29tcGxldGUuQ2FjaGUoSCk7fX0scmVmcmVz aENhY2hlOmZ1bmN0aW9uKEgpe3RoaXMuY2FjaGUucmVmcmVzaCgpO3RoaXMuY2Fj aGUuc2V0TWF4TGVuZ3RoKEh8fHRoaXMub3B0aW9ucy5jYWNoZUxlbmd0aCk7fSxy ZWZyZXNoQWxsOmZ1bmN0aW9uKEksSCl7dGhpcy5yZWZyZXNoQ2FjaGUoSSk7dGhp cy5kYXRhLnJlZnJlc2hLZXkoSCk7fX0pO0EuQXV0b2NvbXBsZXRlLlNlbGVjdD1u ZXcgQ2xhc3Moe0V4dGVuZHM6QS5BdXRvY29tcGxldGUsb3B0aW9uczp7c3luY05h bWU6ImlkIix2YWx1ZUZpZWxkOm51bGwsdmFsdWVGaWx0ZXI6ZnVuY3Rpb24oSCl7 cmV0dXJuIEguaWQ7Cn19LGluaXRpYWxpemU6ZnVuY3Rpb24oSCxLLEksSil7dGhp cy5wYXJlbnQoSCxLLEksSik7dGhpcy52YWx1ZUZpZWxkPUYodGhpcy5vcHRpb25z LnZhbHVlRmllbGQpO2lmKCF0aGlzLnZhbHVlRmllbGQpe3JldHVybiA7fXRoaXMu c3luY1dpdGhWYWx1ZUZpZWxkKEspO30sc3luY1dpdGhWYWx1ZUZpZWxkOmZ1bmN0 aW9uKEkpe3ZhciBIPXRoaXMuZ2V0VmFsdWVGcm9tVmFsdWVGaWVsZCgpO2lmKEgm JnRoaXMub3B0aW9ucy5zeW5jTmFtZSl7dGhpcy5hZGRQYXJhbWV0ZXIoSSk7dGhp cy5hZGREYXRhUmVhZHlFdmVudChIKTt0aGlzLmRhdGEucHJlcGFyZSh0aGlzLmVs ZW1lbnRzLmZpZWxkLm5vZGUuZ2V0KCJ2YWx1ZSIpKTt9ZWxzZXt0aGlzLmFkZFZh bHVlRmllbGRFdmVudHMoKTt9fSxhZGRWYWx1ZUZpZWxkRXZlbnRzOmZ1bmN0aW9u KCl7dGhpcy5hZGRFdmVudHMoe3NlbGVjdDpmdW5jdGlvbihJLEgpe3RoaXMudmFs dWVGaWVsZC5zZXQoInZhbHVlIix0aGlzLm9wdGlvbnMudmFsdWVGaWx0ZXIuY2Fs bCh0aGlzLEgpKTsKfSxkZXNlbGVjdDpmdW5jdGlvbihIKXt0aGlzLnZhbHVlRmll bGQuc2V0KCJ2YWx1ZSIsIiIpO319KTt9LGFkZFBhcmFtZXRlcjpmdW5jdGlvbihI KXt0aGlzLnBhcmFtZXRlcj17bmFtZTp0aGlzLm9wdGlvbnMuc3luY05hbWUsdmFs dWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZUZpZWxkLnZhbHVlO30uYmlu ZCh0aGlzKX07aWYodGhpcy5kYXRhLnVybCl7dGhpcy5kYXRhLnVybC5hZGRQYXJh bWV0ZXIodGhpcy5wYXJhbWV0ZXIpO319LGFkZERhdGFSZWFkeUV2ZW50OmZ1bmN0 aW9uKEope3ZhciBJPXRoaXM7dmFyIEg9ZnVuY3Rpb24oKXtJLmFkZFZhbHVlRmll bGRFdmVudHMoKTt2YXIgSz10aGlzLmdldCgpO2Zvcih2YXIgTD1LLmxlbmd0aDtM LS07KXtpZihJLm9wdGlvbnMudmFsdWVGaWx0ZXIuY2FsbChJLEtbTF0pPT1KKXt2 YXIgTT1JLmZpbHRlcnMuZm9ybWF0TWF0Y2guY2FsbChJLCIiLEtbTF0sMCk7SS5l bGVtZW50cy5maWVsZC5ub2RlLnNldCgidmFsdWUiLE0pOwpJLmZpcmVFdmVudCgi c2VsZWN0IixbSS5lbGVtZW50cyxLW0xdLE0sTF0pO2JyZWFrO319aWYodGhpcy51 cmwpe3RoaXMudXJsLnJlbW92ZVBhcmFtZXRlcihJLnBhcmFtZXRlcik7fXRoaXMu cmVtb3ZlRXZlbnQoInJlYWR5IixIKTt9O3RoaXMuZGF0YS5hZGRFdmVudCgicmVh ZHkiLEgpO30sZ2V0VmFsdWVGcm9tVmFsdWVGaWVsZDpmdW5jdGlvbigpe3JldHVy biB0aGlzLnZhbHVlRmllbGQuZ2V0KCJ2YWx1ZSIpO319KTtBLkF1dG9jb21wbGV0 ZS5TZWxlY3QuT25lPW5ldyBDbGFzcyh7RXh0ZW5kczpBLkF1dG9jb21wbGV0ZS5T ZWxlY3Qsb3B0aW9uczp7ZmlsdGVyOntwYXRoOiJ0ZXh0In19LGluaXRpYWxpemU6 ZnVuY3Rpb24oSCxJLEope3RoaXMuc2VsZWN0PUYoSCk7dGhpcy5yZXBsYWNlU2Vs ZWN0KCk7dGhpcy5wYXJlbnQodGhpcy5maWVsZCx0aGlzLmNyZWF0ZURhdGFBcnJh eSgpLE9iamVjdC5tZXJnZShJfHx7fSx7dmFsdWVGaWVsZDp0aGlzLnNlbGVjdCx2 YWx1ZUZpbHRlcjpmdW5jdGlvbihLKXtyZXR1cm4gSy52YWx1ZTsKfX0pLEopO30s cmVwbGFjZVNlbGVjdDpmdW5jdGlvbigpe3ZhciBIPXRoaXMuc2VsZWN0LmdldFNl bGVjdGVkKClbMF07dGhpcy5maWVsZD1uZXcgRWxlbWVudCgiaW5wdXQiLHt0eXBl OiJ0ZXh0In0pO3ZhciBJPUguZ2V0KCJ2YWx1ZSIpO2lmKEl8fEk9PT0wKXt0aGlz LmZpZWxkLnNldCgidmFsdWUiLEguZ2V0KCJodG1sIikpO310aGlzLnNlbGVjdC5z ZXRTdHlsZSgiZGlzcGxheSIsIm5vbmUiKTt0aGlzLmZpZWxkLmluamVjdCh0aGlz LnNlbGVjdCwiYWZ0ZXIiKTt9LGNyZWF0ZURhdGFBcnJheTpmdW5jdGlvbigpe3Zh ciBJPXRoaXMuc2VsZWN0Lm9wdGlvbnMsSz1bXTtmb3IodmFyIEo9MCxILEw7SD1J W0orK107KXtMPUgudmFsdWU7aWYoTHx8TD09PTApe0sucHVzaCh7dmFsdWU6TCx0 ZXh0OkguaW5uZXJIVE1MfSk7fX1yZXR1cm4gSzt9LGFkZFZhbHVlRmllbGRFdmVu dHM6ZnVuY3Rpb24oKXt0aGlzLmFkZEV2ZW50cyh7c2VsZWN0OmZ1bmN0aW9uKEss SixMLEgpe3ZhciBJPXRoaXMudmFsdWVGaWVsZC5nZXRFbGVtZW50KCdvcHRpb25b dmFsdWU9IicrdGhpcy5vcHRpb25zLnZhbHVlRmlsdGVyLmNhbGwodGhpcyxKKSsn Il0nKTsKaWYoSSl7SS5zZWxlY3RlZD10cnVlO319LGRlc2VsZWN0OmZ1bmN0aW9u KEkpe3ZhciBIPXRoaXMudmFsdWVGaWVsZC5nZXRTZWxlY3RlZCgpWzBdO2lmKEgp

e0guc2VsZWN0ZWQ9ZmFsc2U7fX19KTt9LGdldFZhbHVlRnJvbVZhbHVlRmllbGQ6 ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZUZpZWxkLmdldFNlbGVjdGVkKClb MF0uZ2V0KCJ2YWx1ZSIpO319KTtBLkVsZW1lbnQ9bmV3IENsYXNzKHtJbXBsZW1l bnRzOltFdmVudHNdLGluaXRpYWxpemU6ZnVuY3Rpb24oSCl7dGhpcy5zZXROb2Rl KEgpO3RoaXMuY3JlYXRlQm91bmRFdmVudHMoKTt0aGlzLmF0dGFjaCgpO30sc2V0 Tm9kZTpmdW5jdGlvbihIKXt0aGlzLm5vZGU9SD9GKEgpfHwkJChIKVswXTp0aGlz LnJlbmRlcigpO30sY3JlYXRlQm91bmRFdmVudHM6ZnVuY3Rpb24oKXt0aGlzLmJv dW5kPXt9O3RoaXMuYm91bmRFdmVudHMuZWFjaChmdW5jdGlvbihIKXt0aGlzLmJv dW5kW0hdPWZ1bmN0aW9uKEkpe3RoaXMuZmlyZUV2ZW50KCJiZWZvcmUiK0guY2Fw aXRhbGl6ZSgpLEkpOwp0aGlzW0hdJiZ0aGlzW0hdKEkpO3RoaXMuZmlyZUV2ZW50 KEgsSSk7cmV0dXJuIHRydWU7fS5iaW5kKHRoaXMpO30sdGhpcyk7fSxhdHRhY2g6 ZnVuY3Rpb24oKXtmb3IodmFyIEggaW4gdGhpcy5ib3VuZCl7dGhpcy5ub2RlLmFk ZEV2ZW50KEgsdGhpcy5ib3VuZFtIXSk7fX0sZGV0YWNoOmZ1bmN0aW9uKCl7Zm9y KHZhciBIIGluIHRoaXMuYm91bmQpe3RoaXMubm9kZS5yZW1vdmVFdmVudChILHRo aXMuYm91bmRbSF0pO319LGFkZENsYXNzOmZ1bmN0aW9uKEgpe3RoaXMubm9kZS5h ZGRDbGFzcyh0aGlzLm9wdGlvbnMuY2xhc3Nlc1tIXSk7fSxyZW1vdmVDbGFzczpm dW5jdGlvbihIKXt0aGlzLm5vZGUucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmNs YXNzZXNbSF0pO30sdG9FbGVtZW50OmZ1bmN0aW9uKCl7dGhpcy5ub2RlO30scmVu ZGVyOmZ1bmN0aW9uKCl7fX0pO0EuRWxlbWVudC5GaWVsZD1uZXcgQ2xhc3Moe0V4 dGVuZHM6QS5FbGVtZW50LEltcGxlbWVudHM6W09wdGlvbnNdLG9wdGlvbnM6e2Ns YXNzZXM6e2xvYWRpbmc6Im1hLWxvYWRpbmciLHNlbGVjdGVkOiJtYS1zZWxlY3Rl ZCJ9fSxpbml0aWFsaXplOmZ1bmN0aW9uKEksSCl7dGhpcy5rZXlQcmVzc0NvbnRy b2w9e307CnRoaXMuYm91bmRFdmVudHM9WyJwYXN0ZSIsImZvY3VzIiwiYmx1ciIs ImNsaWNrIiwia2V5dXAiLCJrZXlyZXBlYXQiXTtpZihDLmllNil7dGhpcy5ib3Vu ZEV2ZW50cy5wdXNoKCJrZXlwcmVzcyIpO310aGlzLnNldE9wdGlvbnMoSCk7dGhp cy5wYXJlbnQoSSk7RihFKS5hZGRFdmVudCgidW5sb2FkIixmdW5jdGlvbigpe2lm KHRoaXMubm9kZSl7dGhpcy5ub2RlLnNldCgiYXV0b2NvbXBsZXRlIiwib24iKTt9 fS5iaW5kKHRoaXMpKTt9LHNldE5vZGU6ZnVuY3Rpb24oSCl7dGhpcy5wYXJlbnQo SCk7dGhpcy5ub2RlLnNldCgiYXV0b2NvbXBsZXRlIiwib2ZmIik7fSxrZXlyZXBl YXQ6ZnVuY3Rpb24oSCl7Y2xlYXJJbnRlcnZhbCh0aGlzLmtleXJlcGVhdFRpbWVy KTt0aGlzLmtleXJlcGVhdFRpbWVyPXRoaXMuX2tleXJlcGVhdC5kZWxheSgxLHRo aXMsSCk7fSxfa2V5cmVwZWF0OmZ1bmN0aW9uKEgpe3RoaXMuZmlyZUV2ZW50KCJk ZWxheWVkS2V5cmVwZWF0IixIKTt9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmRl dGFjaCgpOwp0aGlzLm5vZGUucmVtb3ZlQXR0cmlidXRlKCJhdXRvY29tcGxldGUi KTt9LGtleXByZXNzOmZ1bmN0aW9uKEgpe2lmKEgua2V5PT0iZW50ZXIiKXt0aGlz LmJvdW5kLmtleXJlcGVhdChIKTt9fX0pO0EuRWxlbWVudC5MaXN0PW5ldyBDbGFz cyh7RXh0ZW5kczpBLkVsZW1lbnQsSW1wbGVtZW50czpbT3B0aW9uc10sb3B0aW9u czp7d2lkdGg6ImZpZWxkIixjbGFzc2VzOntjb250YWluZXI6Im1hLWNvbnRhaW5l ciIsaG92ZXI6Im1hLWhvdmVyIixvZGQ6Im1hLW9kZCIsZXZlbjoibWEtZXZlbiJ9 fSxpbml0aWFsaXplOmZ1bmN0aW9uKEgpe3RoaXMuYm91bmRFdmVudHM9WyJtb3Vz ZWRvd24iLCJtb3VzZW92ZXIiXTt0aGlzLnNldE9wdGlvbnMoSCk7dGhpcy5wYXJl bnQoKTt0aGlzLmZvY3VzZWRJdGVtPW51bGw7fSxhcHBseU1heEhlaWdodDpmdW5j dGlvbihLKXt2YXIgSD10aGlzLmxpc3QuY2hpbGROb2Rlczt2YXIgSj1IW0stMV18 fChILmxlbmd0aD9IW0gubGVuZ3RoLTFdOm51bGwpOwppZighSil7cmV0dXJuIDt9 Sj1GKEopO2Zvcih2YXIgST0yO0ktLTspe3RoaXMubm9kZS5zZXRTdHlsZSgiaGVp Z2h0IixKLmdldENvb3JkaW5hdGVzKHRoaXMubGlzdCkuYm90dG9tKTt9fSxtb3Vz ZW92ZXI6ZnVuY3Rpb24oSSl7dmFyIEg9dGhpcy5nZXRJdGVtRnJvbUV2ZW50KEkp LEo9dGhpcy5vcHRpb25zLmNsYXNzZXMuaG92ZXI7aWYoIUgpe3JldHVybiB0cnVl O31pZih0aGlzLmZvY3VzZWRJdGVtKXt0aGlzLmZvY3VzZWRJdGVtLnJlbW92ZUNs YXNzKEopO31ILmFkZENsYXNzKEopO3RoaXMuZm9jdXNlZEl0ZW09SDt0aGlzLmZp cmVFdmVudCgiZm9jdXNJdGVtIixbdGhpcy5mb2N1c2VkSXRlbV0pO30sbW91c2Vk b3duOmZ1bmN0aW9uKEgpe0gucHJldmVudERlZmF1bHQoKTt0aGlzLnNob3VsZE5v dEJsdXI9dHJ1ZTtpZighKHRoaXMuZm9jdXNlZEl0ZW09dGhpcy5nZXRJdGVtRnJv bUV2ZW50KEgpKSl7SC5kb250SGlkZT10cnVlO3JldHVybiB0cnVlO310aGlzLmZv Y3VzZWRJdGVtLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5jbGFzc2VzLmhvdmVy KTsKfSxmb2N1c0l0ZW06ZnVuY3Rpb24oSSl7dmFyIEo9dGhpcy5vcHRpb25zLmNs YXNzZXMuaG92ZXIsSDtpZih0aGlzLmZvY3VzZWRJdGVtKXtpZigoSD10aGlzLmZv Y3VzZWRJdGVtW0k9PSJ1cCI/ImdldFByZXZpb3VzIjoiZ2V0TmV4dCJdKCkpKXt0 aGlzLmZvY3VzZWRJdGVtLnJlbW92ZUNsYXNzKEopO0guYWRkQ2xhc3MoSik7dGhp cy5mb2N1c2VkSXRlbT1IO3RoaXMuc2Nyb2xsRm9jdXNlZEl0ZW0oSSk7fX1lbHNl

e2lmKChIPXRoaXMubGlzdC5nZXRGaXJzdCgpKSl7SC5hZGRDbGFzcyhKKTt0aGlz LmZvY3VzZWRJdGVtPUg7fX19LHNjcm9sbEZvY3VzZWRJdGVtOmZ1bmN0aW9uKEsp e3ZhciBIPXRoaXMuZm9jdXNlZEl0ZW0uZ2V0Q29vcmRpbmF0ZXModGhpcy5saXN0 KSxKPXRoaXMubm9kZS5zY3JvbGxUb3A7aWYoSz09ImRvd24iKXt2YXIgTD1ILmJv dHRvbS10aGlzLm5vZGUuZ2V0U3R5bGUoImhlaWdodCIpLnRvSW50KCk7aWYoKEwt Sik+MCl7dGhpcy5ub2RlLnNjcm9sbFRvcD1MOwp9fWVsc2V7dmFyIEk9SC50b3A7 aWYoSiYmSj5JKXt0aGlzLm5vZGUuc2Nyb2xsVG9wPUk7fX19LGdldEl0ZW1Gcm9t RXZlbnQ6ZnVuY3Rpb24oSSl7dmFyIEg9SS50YXJnZXQ7d2hpbGUoSCYmSC50YWdO YW1lLnRvTG93ZXJDYXNlKCkhPSJsaSIpe2lmKEg9PT10aGlzLm5vZGUpe3JldHVy biBudWxsO31IPUgucGFyZW50Tm9kZTt9cmV0dXJuIEYoSCk7fSxyZW5kZXI6ZnVu Y3Rpb24oKXt2YXIgSD1uZXcgRWxlbWVudCgiZGl2Iix7ImNsYXNzIjp0aGlzLm9w dGlvbnMuY2xhc3Nlcy5jb250YWluZXJ9KTtpZihILmJnaWZyYW1lKXtILmJnaWZy YW1lKHt0b3A6MCxsZWZ0OjB9KTt9dGhpcy5saXN0PW5ldyBFbGVtZW50KCJ1bCIp LmluamVjdChIKTtGKGRvY3VtZW50LmJvZHkpLmdyYWIoSCk7cmV0dXJuIEg7fSxw b3NpdGlvbk5leHRUbzpmdW5jdGlvbihIKXt2YXIgST10aGlzLm9wdGlvbnMud2lk dGgsSj10aGlzLm5vZGU7dmFyIEs9SC5nZXRDb29yZGluYXRlcygpO0ouc2V0U3R5 bGUoIndpZHRoIixJPT0iZmllbGQiP0guZ2V0V2lkdGgoKS50b0ludCgpLUouZ2V0 U3R5bGUoImJvcmRlci1sZWZ0LXdpZHRoIikudG9JbnQoKS1KLmdldFN0eWxlKCJi b3JkZXItcmlnaHQtd2lkdGgiKS50b0ludCgpOkkpOwpKLnNldFBvc2l0aW9uKHt4 OksubGVmdCx5OksuYm90dG9tfSk7fSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5ub2Rl LnNjcm9sbFRvcD0wO3RoaXMubm9kZS5zZXRTdHlsZSgidmlzaWJpbGl0eSIsInZp c2libGUiKTt0aGlzLnNob3dpbmc9dHJ1ZTt9LGhpZGU6ZnVuY3Rpb24oKXt0aGlz LnNob3dpbmc9ZmFsc2U7dGhpcy5ub2RlLnNldFN0eWxlKCJ2aXNpYmlsaXR5Iiwi aGlkZGVuIik7fX0pO0EuQXV0b2NvbXBsZXRlLkZpbHRlcj17ZmlsdGVyczp7fSxn ZXQ6ZnVuY3Rpb24oSCl7dmFyIEk9SC50eXBlLEs9KEgucGF0aHx8IiIpLnNwbGl0 KCIuIik7dmFyIEo9KEkmJnRoaXMuZmlsdGVyc1tJXSk/dGhpcy5maWx0ZXJzW0ld KHRoaXMsSyk6SDtyZXR1cm4gT2JqZWN0Lm1lcmdlKHRoaXMuZGVmYXVsdHMoSyks Sik7fSxkZWZpbmU6ZnVuY3Rpb24oSSxIKXt0aGlzLmZpbHRlcnNbSV09SDt9LGRl ZmF1bHRzOmZ1bmN0aW9uKEkpe3ZhciBIPXRoaXM7cmV0dXJue2ZpbHRlcjpmdW5j dGlvbihLLEope3JldHVybiBLP0guX2dldFZhbHVlRnJvbUtleXMoSixJKS50ZXN0 KG5ldyBSZWdFeHAoSy5lc2NhcGVSZWdFeHAoKSwiaSIpKTp0cnVlOwp9LGZvcm1h dE1hdGNoOmZ1bmN0aW9uKEssSil7cmV0dXJuIEguX2dldFZhbHVlRnJvbUtleXMo SixJKTt9LGZvcm1hdEl0ZW06ZnVuY3Rpb24oTCxLLEope3JldHVybiBMP0guX2dl dFZhbHVlRnJvbUtleXMoSyxJKS5yZXBsYWNlKG5ldyBSZWdFeHAoIigiK0wuZXNj YXBlUmVnRXhwKCkrIikiLCJnaSIpLCI8c3Ryb25nPiQxPC9zdHJvbmc+Iik6SC5f Z2V0VmFsdWVGcm9tS2V5cyhLLEkpO319O30sX2dldFZhbHVlRnJvbUtleXM6ZnVu Y3Rpb24oTCxKKXt2YXIgSSxLPUw7Zm9yKHZhciBIPTA7ST1KW0grK107KXtLPUtb SV07fXJldHVybiBLO319O0EuQXV0b2NvbXBsZXRlLkZpbHRlci5kZWZpbmUoImNv bnRhaW5zIixmdW5jdGlvbihILEkpe3JldHVybnt9O30pO0EuQXV0b2NvbXBsZXRl LkZpbHRlci5kZWZpbmUoInN0YXJ0c3dpdGgiLGZ1bmN0aW9uKEgsSSl7cmV0dXJu e2ZpbHRlcjpmdW5jdGlvbihLLEope3JldHVybiBLP0guX2dldFZhbHVlRnJvbUtl eXMoSixJKS50ZXN0KG5ldyBSZWdFeHAoIl4iK0suZXNjYXBlUmVnRXhwKCksImki KSk6dHJ1ZTsKfX07fSk7QS5BdXRvY29tcGxldGUuRGF0YT1uZXcgQ2xhc3Moe0lt cGxlbWVudHM6W09wdGlvbnMsRXZlbnRzXSxpbml0aWFsaXplOmZ1bmN0aW9uKEks SCl7dGhpcy5fY2FjaGU9SDt0aGlzLmRhdGE9STt0aGlzLmRhdGFTdHJpbmc9SlNP Ti5lbmNvZGUodGhpcy5kYXRhKTt9LGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlz LmRhdGE7fSxnZXRLZXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYWNoZWRLZXk7 fSxwcmVwYXJlOmZ1bmN0aW9uKEgpe3RoaXMuY2FjaGVkS2V5PXRoaXMuZGF0YVN0 cmluZysoSHx8IiIpO3RoaXMuZmlyZUV2ZW50KCJyZWFkeSIpO30sY2FjaGU6ZnVu Y3Rpb24oSCxJKXt0aGlzLl9jYWNoZS5zZXQoSCxJKTt9LHJlZnJlc2hLZXk6ZnVu Y3Rpb24oKXt9fSk7QS5BdXRvY29tcGxldGUuRGF0YS5SZXF1ZXN0PW5ldyBDbGFz cyh7RXh0ZW5kczpBLkF1dG9jb21wbGV0ZS5EYXRhLG9wdGlvbnM6e25vQ2FjaGU6 dHJ1ZSxmb3JtYXRSZXNwb25zZTpmdW5jdGlvbihIKXtyZXR1cm4gSDsKfX0saW5p dGlhbGl6ZTpmdW5jdGlvbihLLEksTCxKLEgpe3RoaXMuc2V0T3B0aW9ucyhKKTt0 aGlzLnJhd1VybD1LO3RoaXMuX2NhY2hlPUk7dGhpcy5lbGVtZW50PUw7dGhpcy51 cmxPcHRpb25zPUg7dGhpcy5yZWZyZXNoS2V5KCk7dGhpcy5jcmVhdGVSZXF1ZXN0 KCk7fSxwcmVwYXJlOmZ1bmN0aW9uKEgpe3RoaXMuY2FjaGVkS2V5PXRoaXMudXJs LmV2YWx1YXRlKEgpO2lmKHRoaXMuX2NhY2hlLmhhcyh0aGlzLmNhY2hlZEtleSkp e3RoaXMuZmlyZUV2ZW50KCJyZWFkeSIpO31lbHNle3RoaXMucmVxdWVzdC5zZW5k KHt1cmw6dGhpcy5jYWNoZWRLZXl9KTt9fSxjcmVhdGVSZXF1ZXN0OmZ1bmN0aW9u

KCl7dmFyIEg9dGhpczt0aGlzLnJlcXVlc3Q9bmV3IFJlcXVlc3QuSlNPTih0aGlz Lm9wdGlvbnMpO3RoaXMucmVxdWVzdC5hZGRFdmVudHMoe3JlcXVlc3Q6ZnVuY3Rp b24oKXtILmVsZW1lbnQuYWRkQ2xhc3MoImxvYWRpbmciKTt9LGNvbXBsZXRlOmZ1 bmN0aW9uKCl7SC5lbGVtZW50LnJlbW92ZUNsYXNzKCJsb2FkaW5nIik7Cn0sc3Vj Y2VzczpmdW5jdGlvbihJKXtILmRhdGE9SC5vcHRpb25zLmZvcm1hdFJlc3BvbnNl KEkpO0guZmlyZUV2ZW50KCJyZWFkeSIpO319KTt9LHJlZnJlc2hLZXk6ZnVuY3Rp b24oSCl7SD1PYmplY3QubWVyZ2UodGhpcy51cmxPcHRpb25zLHt1cmw6dGhpcy5y YXdVcmx9LEh8fHt9KTt0aGlzLnVybD1uZXcgQS5BdXRvY29tcGxldGUuRGF0YS5S ZXF1ZXN0LlVSTChILnVybCxIKTt9fSk7QS5BdXRvY29tcGxldGUuRGF0YS5SZXF1 ZXN0LlVSTD1uZXcgQ2xhc3Moe0ltcGxlbWVudHM6W09wdGlvbnNdLG9wdGlvbnM6 e3F1ZXJ5VmFyTmFtZToicSIsZXh0cmFQYXJhbXM6bnVsbCxtYXg6MjB9LGluaXRp YWxpemU6ZnVuY3Rpb24oSSxIKXt0aGlzLnNldE9wdGlvbnMoSCk7dGhpcy5yYXdV cmw9STt0aGlzLnVybD1JO3RoaXMudXJsKz10aGlzLnVybC5jb250YWlucygiPyIp PyImIjoiPyI7dGhpcy5keW5hbWljRXh0cmFQYXJhbXM9W107dmFyIEs9QXJyYXku ZnJvbSh0aGlzLm9wdGlvbnMuZXh0cmFQYXJhbXMpOwpmb3IodmFyIEo9Sy5sZW5n dGg7Si0tOyl7dGhpcy5hZGRQYXJhbWV0ZXIoS1tKXSk7fWlmKHRoaXMub3B0aW9u cy5tYXgpe3RoaXMuYWRkUGFyYW1ldGVyKCJsaW1pdD0iK3RoaXMub3B0aW9ucy5t YXgpO319LGV2YWx1YXRlOmZ1bmN0aW9uKEspe0s9S3x8IiI7dmFyIEo9dGhpcy5k eW5hbWljRXh0cmFQYXJhbXMsSD1bXTtILnB1c2godGhpcy5vcHRpb25zLnF1ZXJ5 VmFyTmFtZSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KEspKTtmb3IodmFyIEk9Si5s ZW5ndGg7SS0tOyl7SC5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChKW0ldLm5hbWUp KyI9IitlbmNvZGVVUklDb21wb25lbnQoRnVuY3Rpb24uZnJvbShKW0ldLnZhbHVl KSgpKSk7fXJldHVybiB0aGlzLnVybCtILmpvaW4oIiYiKTt9LGFkZFBhcmFtZXRl cjpmdW5jdGlvbihIKXtpZihILm5vZGVUeXBlPT0xfHx0eXBlT2YoSC52YWx1ZSk9 PSJmdW5jdGlvbiIpe3RoaXMuZHluYW1pY0V4dHJhUGFyYW1zLnB1c2goSCk7fWVs c2V7dGhpcy51cmwrPSgodHlwZU9mKEgpPT0ic3RyaW5nIik/SDplbmNvZGVVUklD b21wb25lbnQoSC5uYW1lKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KEgudmFsdWUp KSsiJiI7Cn19LHJlbW92ZVBhcmFtZXRlcjpmdW5jdGlvbihIKXt0aGlzLmR5bmFt aWNFeHRyYVBhcmFtcy5lcmFzZShIKTt9fSk7QS5BdXRvY29tcGxldGUuQ2FjaGU9 bmV3IENsYXNzKHtpbml0aWFsaXplOmZ1bmN0aW9uKEgpe3RoaXMucmVmcmVzaCgp O3RoaXMuc2V0TWF4TGVuZ3RoKEgpO30sc2V0OmZ1bmN0aW9uKEgsSSl7aWYoIXRo aXMuY2FjaGVbSF0pe2lmKHRoaXMuZ2V0TGVuZ3RoKCk+PXRoaXMubWF4TGVuZ3Ro KXt2YXIgSj10aGlzLnBvcy5zaGlmdCgpO3RoaXMuY2FjaGVbSl09bnVsbDtkZWxl dGUgdGhpcy5jYWNoZVtKXTt9dGhpcy5jYWNoZVtIXT1JO3RoaXMucG9zLnB1c2go SCk7fXJldHVybiB0aGlzO30sZ2V0OmZ1bmN0aW9uKEgpe3JldHVybiB0aGlzLmNh Y2hlW0h8fCIiXXx8bnVsbDt9LGhhczpmdW5jdGlvbihIKXtyZXR1cm4gISF0aGlz LmdldChIKTt9LGdldExlbmd0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBvcy5s ZW5ndGg7fSxyZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy5jYWNoZT17fTsKdGhpcy5w b3M9W107fSxzZXRNYXhMZW5ndGg6ZnVuY3Rpb24oSCl7dGhpcy5tYXhMZW5ndGg9 TWF0aC5tYXgoSCwxKTt9fSk7Rz1uZXcgQS5BdXRvY29tcGxldGUuQ2FjaGUoKTtF Lk1laW89QTt9KSh0aGlzLGRvY3VtZW50LmlkfHwkKTt2YXIgc2l0ZUludGVyZmFj ZT17ZG9jOmZhbHNlLGhlYWQ6ZmFsc2UsYm9keTpmYWxzZSxzaXRlOmZhbHNlLGNv bnRlbnQ6ZmFsc2Usd2luZG93T3BlbmVyOmZhbHNlLGluaXRDb3JlOntzaXRlRWxl bWVudHM6ZnVuY3Rpb24oKXtpZighc2l0ZUludGVyZmFjZS5oZWFkKXtzaXRlSW50 ZXJmYWNlLmhlYWQ9JChkb2N1bWVudC5oZWFkKXx8ZG9jdW1lbnQuaGVhZDt9aWYo IXNpdGVJbnRlcmZhY2UuYm9keSl7c2l0ZUludGVyZmFjZS5ib2R5PSQoZG9jdW1l bnQuYm9keSl8fGRvY3VtZW50LmJvZHk7fWlmKCFzaXRlSW50ZXJmYWNlLnNpdGUp e3NpdGVJbnRlcmZhY2Uuc2l0ZT0kKCJzaXRlX2xheW91dCIpO31pZighc2l0ZUlu dGVyZmFjZS5jb250ZW50KXtzaXRlSW50ZXJmYWNlLmNvbnRlbnQ9JCgiY29udGFp bmVyIik7fX0sZXZlbnREZWxlZ2F0aW9uOmZ1bmN0aW9uKCl7c2l0ZUludGVyZmFj ZS53aW5kb3dPcGVuZXI9bmV3IHdpbmRvd09wZW5lcihzaXRlSW50ZXJmYWNlLmJv ZHksbnVsbCx7YWJvdXRfZ3VtYmFsbHM6e3RhcmdldDoiYWJvdXRfZ3VtYmFsbHMi LHByb3BlcnRpZXM6IndpZHRoPTI1MCxoZWlnaHQ9MTY1LHJlc2l6YWJsZT0wLHNj cm9sbD0wIn0sYWRkX2dhbWU6e3RhcmdldDoiYWRkX2dhbWUiLHByb3BlcnRpZXM6 IndpZHRoPTI2MCxoZWlnaHQ9NTAwLHJlc2l6YWJsZT0xLHNjcm9sbGJhcnM9MCIs Z2V0VXJsOmZ1bmN0aW9uKEIpe3ZhciBDPUIuZ2V0SlNPTkRhdGEoImNsYXNzIiks QT17cGlkOkMuaWQsbGlzdDpDLmxpc3R9OwppZihDLnNlZ2lkIT11bmRlZmluZWQp e0Euc2VnaWQ9Qy5zZWdpZDt9cmV0dXJuIi9wYWdlcy9wcm9maWxlL2FkZF9nYW1l LnBocD8iKyRIKEEpLnRvUXVlcnlTdHJpbmcoKTt9fSxib3hzaG90Ont0YXJnZXQ6 ImJveHNob3QiLHByb3BlcnRpZXM6IndpZHRoPTY0MCxoZWlnaHQ9OTEwLHJlc2l6

YWJsZT0xLHNjcm9sbGJhcnM9MSJ9LGNoYXQ6e3RhcmdldDoiY2hhdCIscHJvcGVy dGllczoid2lkdGg9NjAwLGhlaWdodD0yNTAsc2Nyb2xsYmFycz0wLG1lbnViYXI9 MCx0b29sYmFyPTAsbG9jYXRpb249MCxzdGF0dXM9MCxyZXNpemFibGU9MSJ9LGNv bW1lcmNlOnt0YXJnZXQ6ImNvbW1lcmNlIixwcm9wZXJ0aWVzOiJ3aWR0aD0zOTYs aGVpZ2h0PTMyNixsZWZ0PTIwMCx0b3A9MjAwLG1lbnViYXI9MCxzdGF0dXM9MCxs b2NhdGlvbj0wLHRvb2xiYXI9MCxzY3JvbGxiYXJzPTAscmVzaXphYmxlPTAifSxj b21wX2NoYXJ0Ont0YXJnZXQ6ImNvbXBfY2hhcnQiLHByb3BlcnRpZXM6IndpZHRo PTcyNixoZWlnaHQ9ODA1LGxvY2F0aW9uPTAscmVzaXphYmxlPTAsdG9vbGJhcj0w LHNjcm9sbGJhcnM9MSxtZW51YmFyPTAsZGlyZWN0b3JpZXM9MCJ9LGN1c3RoZWxw Ont0YXJnZXQ6ImN1c3RoZWxwIixwcm9wZXJ0aWVzOiJ3aWR0aD02NTAsaGVpZ2h0 PTYwMCxzY3JvbGxiYXJzPTEsbWVudWJhcj0wLHRvb2xiYXI9MCxsb2NhdGlvbj0w LHN0YXR1cz0wLHJlc2l6YWJsZT0wIn0sZmFxOnt0YXJnZXQ6ImZhcSIscHJvcGVy dGllczoid2lkdGg9NjAwLGhlaWdodD04MjAsc2Nyb2xsYmFycz0wLG1lbnViYXI9 MCx0b29sYmFyPTAsbG9jYXRpb249MCxzdGF0dXM9MCxyZXNpemFibGU9MSJ9LHBv bGw6e3RhcmdldDoicG9sbCIscHJvcGVydGllczoid2lkdGg9NzYwLGhlaWdodD02 NTAsc2Nyb2xsYmFycz0xLG1lbnViYXI9MCx0b29sYmFyPTAsbG9jYXRpb249MCxz dGF0dXM9MCxyZXNpemFibGU9MSJ9LHBtOntwcm9wZXJ0aWVzOiJ3aWR0aD03Nzgs aGVpZ2h0PTQ4MCxzY3JvbGxiYXJzPTEsbWVudWJhcj0wLHRvb2xiYXI9MCxsb2Nh dGlvbj0wLHN0YXR1cz0wLHJlc2l6YWJsZT0xIn0scHJlZnM6e3Byb3BlcnRpZXM6 IndpZHRoPTc3OCxoZWlnaHQ9NDgwLHNjcm9sbGJhcnM9MSxtZW51YmFyPTAsdG9v bGJhcj0wLGxvY2F0aW9uPTAsc3RhdHVzPTAscmVzaXphYmxlPTEiLGdldFVybDpm dW5jdGlvbihBKXtyZXR1cm4gQS5nZXQoImhyZWYiKXx8QS5nZXQoInZhbHVlIik7 Cn19LHJlYWRtZTp7dGFyZ2V0OiJyZWFkbWUiLHByb3BlcnRpZXM6IndpZHRoPTYw MCxoZWlnaHQ9NTAwLHNjcm9sbGJhcnM9MSxtZW51YmFyPTAsdG9vbGJhcj0wLGxv Y2F0aW9uPTAsc3RhdHVzPTAscmVzaXphYmxlPTEifSxzaGFyZTp7cHJvcGVydGll czoid2lkdGg9NjAwLGhlaWdodD00MDAscmVzaXphYmxlPTEifSx0YWI6e3Byb3Bl cnRpZXM6IiJ9LHdpbmRvdzp7cHJvcGVydGllczoicmVzaXphYmxlPTEsc2Nyb2xs YmFycz0xLHN0YXR1cz0xLHRvb2xiYXI9MSJ9fSk7fSxoYW5kbGVBZHM6ZnVuY3Rp b24oKXt2YXIgRT1zaXRlSW50ZXJmYWNlLmJvZHksQz1kb2N1bWVudC5pZCgibWFu dGxlX3NraW4iKSxHPSQkKCIuYWRfdW5pdF9sZWZ0c2tpbiwgLmFkX3VuaXRfcmln aHRza2luIiksQT0iYmFja2dyb3VuZC1pbWFnZSIsRD0oKEcubGVuZ3RoPT0wKSYm KEUuZ2V0U3R5bGUoQSk9PSJub25lIikmJighQ3x8KEMuZ2V0U3R5bGUoQSk9PSJu b25lIikpKT90cnVlOmZhbHNlO2lmKEQpe2lmKEUuaGFzQ2xhc3MoImhhc19za2lu Iikpe0UucmVtb3ZlQ2xhc3MoImhhc19za2luIik7Cn19ZWxzZXtpZighRS5oYXND bGFzcygiaGFzX3NraW4iKSl7RS5hZGRDbGFzcygiaGFzX3NraW4iKTt9fXZhciBG PWRvY3VtZW50LmlkKCJzdXBlcmxlYWRlciIpLEI9e2VsOm51bGwsd3JhcDpudWxs LGhlaWdodDpudWxsLHBhZEhlaWdodDpudWxsfTtpZihGKXtCLndyYXA9Ri5nZXRF bGVtZW50KCJkaXYuYWRfd3JhcF9kYXJ0Iik7aWYoQi53cmFwKXtCLmhlaWdodD1C LndyYXAuZ2V0U2l6ZSgpLnk7Qi5wYWRIZWlnaHQ9Qi53cmFwLmdldFN0eWxlKCJw YWRkaW5nLXRvcCIpLnRvSW50KCkrQi53cmFwLmdldFN0eWxlKCJwYWRkaW5nLWJv dHRvbSIpLnRvSW50KCk7fX19fSxpbml0OntndW1iYWxsczpmdW5jdGlvbigpe3Zh ciBBPSQkKCJkaXYuZ3VtYmFsbHMiKTtBLmVhY2goZnVuY3Rpb24oQil7bmV3IEd1 bWJhbGxzKEIse3VybDoiL3BhZ2VzL2FqYXgvaHViL2d1bWJhbGxzLnBocD90YWc9 Z3VtYmFsbHM7bW9yZSIsYWJvdXRfdXJsOiIvcGFnZXMvYWpheC9odWIvZ3VtYmFs bHMucGhwP3RhZz1ndW1iYWxsczthYm91dCJ9LHtsaW5rc19pbmplY3RfZWw6ImRp di5tb2R1bGVfdGl0bGVfd3JhcCJ9KTsKfSk7fSxmaWx0ZXJNb2R1bGVzOmZ1bmN0 aW9uKCl7JCQoImRpdi50b3B0ZW4iKS5lYWNoKGZ1bmN0aW9uKEEpe25ldyBGaWx0 ZXJNb2R1bGUuQmFzZShBLHt1cmw6Ii9wYWdlcy9hamF4L2h1Yi9tb3N0cG9wdWxh ci5waHAiLG1vcnBoOnRydWV9KTt9KTskJCgiZGl2LnJlY2VudF91cGRhdGVzIiku ZWFjaChmdW5jdGlvbihBKXtuZXcgRmlsdGVyTW9kdWxlLkJhc2UoQSx7dXJsOiIv cGFnZXMvYWpheC9odWIvcmVjZW50X3VwZGF0ZXMucGhwIixtb3JwaDpmYWxzZX0p O30pO30sbGlnaHRib3hlczpmdW5jdGlvbigpe3ZhciBBPW5ldyBMaWdodGJveCh7 aW5qZWN0X3NpdGU6c2l0ZUludGVyZmFjZS5zaXRlLGluamVjdF9wb3M6ImFmdGVy IixhdXRvX29wZW5lcl9wYXJlbnQ6c2l0ZUludGVyZmFjZS5oZWFkfSk7fSxzZWFy Y2g6ZnVuY3Rpb24oKXskJCgiZm9ybS5zZWFyY2giKS5lYWNoKGZ1bmN0aW9uKEEp e0EuYWRkRXZlbnQoInN1Ym1pdCIsZnVuY3Rpb24oQyl7dmFyIEI9QS5nZXRFbGVt ZW50KCJpbnB1dFtuYW1lPXFzXSIpOwppZighJGRlZmluZWQoQikpe0I9QS5nZXRF bGVtZW50KCJpbnB1dFtuYW1lPXRhZ3NdIik7fWlmKCRkZWZpbmVkKEIpKXtpZihC LnZhbHVlKXtyZXR1cm4gdHJ1ZTt9ZWxzZXthbGVydCgiWW91IGRpZCBub3QgZW50 ZXIgYSBzZWFyY2ggdGVybS4gUGxlYXNlIHRyeSBhZ2Fpbi4iKTtyZXR1cm4gZmFs

c2U7fX1yZXR1cm4gdHJ1ZTt9KTt9KTt9LGF1dG9jb21wbGV0ZTpmdW5jdGlvbigp e3ZhciBBPSJhdXRvY29tcGxldGUiLEQ9ImlucHV0LmF1dG9jb21wbGV0ZSIsST0k JChEKSxIPSIiLE09bnVsbCxCPW51bGwsRT1udWxsLEY9bnVsbCxHPW51bGwsTD17 fSxLPVt7bmFtZToiYXV0b2NvbXBsZXRlIix2YWx1ZToxfV0sQz0kKHdpbmRvdyl8 fHdpbmRvdyxKPXtkZWxheToxMDAsbWluQ2hhcnM6Myx2YWx1ZUZpbHRlcjpmdW5j dGlvbihOKXtyZXR1cm4gTi52YWx1ZTt9LGZpbHRlcjp7dHlwZToiYWxsIixwYXRo OiJ2YWx1ZSJ9LGZpZWxkT3B0aW9uczp7Y2xhc3Nlczp7bG9hZGluZzoiYWNfbG9h ZGluZyIsc2VsZWN0ZWQ6ImFjX3NlbGVjdGVkIn19LGxpc3RPcHRpb25zOntjbGFz c2VzOntjb250YWluZXI6ImFjX29wdGlvbnMiLGhvdmVyOiJhY19ob3ZlciIsb2Rk OiJhY19vcHRpb24iLGV2ZW46ImFjX29wdGlvbiBhY19vcHRpb25fYWx0In19LHVy bE9wdGlvbnM6e3F1ZXJ5VmFyTmFtZToicXMiLG1heDpudWxsfX07CmlmKEkubGVu Z3RoPDEpe3JldHVybiA7fU1laW8uQXV0b2NvbXBsZXRlLkZpbHRlci5kZWZpbmUo ImFsbCIsZnVuY3Rpb24oTixPKXtyZXR1cm57ZmlsdGVyOmZ1bmN0aW9uKFEsUCl7 cmV0dXJuIHRydWU7fX07fSk7TWVpby5FbGVtZW50Lkxpc3QuaW1wbGVtZW50KHty ZW5kZXI6ZnVuY3Rpb24oKXt2YXIgTj1uZXcgRWxlbWVudCgiZGl2Iix7ImNsYXNz Ijp0aGlzLm9wdGlvbnMuY2xhc3Nlcy5jb250YWluZXJ9KTtpZihOLmJnaWZyYW1l KXtOLmJnaWZyYW1lKHt0b3A6MCxsZWZ0OjB9KTt9dGhpcy5saXN0PW5ldyBFbGVt ZW50KCJ1bCIpO04uZ3JhYihuZXcgRWxlbWVudCgiZGl2Iix7ImNsYXNzIjoiYWNf b3B0aW9uc193cmFwIn0pLmdyYWIodGhpcy5saXN0KSk7JChkb2N1bWVudC5ib2R5 KS5ncmFiKE4pO3JldHVybiBOO30scG9zaXRpb25OZXh0VG86ZnVuY3Rpb24oTil7 dmFyIFA9dGhpcy5vcHRpb25zLndpZHRoLFE9dGhpcy5ub2RlLE89Ti5nZXRKU09O RGF0YSgiY2xhc3MiKSxSPU4sUz1udWxsOwppZihPLnBvc2l0aW9uTmV4dFRvKXtz d2l0Y2goTy5wb3NpdGlvbk5leHRUby5yZWxhdGl2ZSl7Y2FzZSJwYXJlbnQiOlI9 Ti5nZXRQYXJlbnQoTy5wb3NpdGlvbk5leHRUby5zZWxlY3Rvcik7YnJlYWs7Y2Fz ZSJzaWJsaW5nIjpSPU4uZ2V0U2libGluZ3MoTy5wb3NpdGlvbk5leHRUby5zZWxl Y3RvcilbMF07YnJlYWs7ZGVmYXVsdDpSPU47fX1TPVIuZ2V0Q29vcmRpbmF0ZXMo KTtRLnNldFN0eWxlKCJ3aWR0aCIsUD09ImZpZWxkIj9SLmdldFdpZHRoKCkudG9J bnQoKS1RLmdldFN0eWxlKCJib3JkZXItbGVmdC13aWR0aCIpLnRvSW50KCktUS5n ZXRTdHlsZSgiYm9yZGVyLXJpZ2h0LXdpZHRoIikudG9JbnQoKTpQKTtRLnNldFBv c2l0aW9uKHt4OlMubGVmdCx5OlMuYm90dG9tfSk7dGhpcy5wb3NpdGlvbmVkPTE7 fX0pO0kuZWFjaChmdW5jdGlvbihTLFIpe3ZhciBRPVMuZ2V0SlNPTkRhdGEoImNs YXNzIiksTj1udWxsLE89bnVsbCxQPW51bGw7aWYoIVMucmV0cmlldmUoImZpZWxk Rm9jdXNDaGVja2VkIikpe1MuYWRkRXZlbnRzKHtjbGljazpOPWZ1bmN0aW9uKFQp e1QudGFyZ2V0LmZpcmVFdmVudCgiZm9jdXMiLFQpOwp9LGtleXVwOk89ZnVuY3Rp b24oVCl7VC50YXJnZXQuZmlyZUV2ZW50KCJmb2N1cyIsVCk7fSxmb2N1czpQPWZ1 bmN0aW9uKFQpe2lmKE4pe1MucmVtb3ZlRXZlbnQoImNsaWNrIixOKTtOPW51bGw7 fWlmKE8pe1MucmVtb3ZlRXZlbnQoImtleXVwIixPKTtPPW51bGw7fWlmKCEoTnx8 TykmJlApe1MucmVtb3ZlRXZlbnQoImZvY3VzIixQKTtQPW51bGw7ZGVsZXRlIE47 ZGVsZXRlIE87ZGVsZXRlIFA7fX19KTtTLnN0b3JlKCJmaWVsZEZvY3VzQ2hlY2tl ZCIsMSk7fWlmKFMucmV0cmlldmUoQSkpe3JldHVybiA7fUU9Uy5nZXQoIm5hbWUi KTtpZighRSl7RT0iIjtyZXR1cm4gO31pZihRLm9wdGlvbnMpe09iamVjdC5tZXJn ZShKLFEub3B0aW9ucyk7fUY9Uy5nZXRQYXJlbnQoImZvcm0iKTtpZihGKXtCPUYu Z2V0KCJhY3Rpb24iKTtpZihRJiZRLmV4dHJhUGFyYW1zKXtLLmFwcGVuZChRLmV4 dHJhUGFyYW1zKTt9fWVsc2V7Qj0iIjt9Si51cmxPcHRpb25zLmV4dHJhUGFyYW1z PUs7aWYoQil7Uy5zZXQoImF1dG9jb21wbGV0ZSIsIm9mZiIpOwpIPUErUjtTLnNl dCgiaWQiLEgpO0xbSF09bmV3IE1laW8uQXV0b2NvbXBsZXRlLlNlbGVjdChTLEIs Sik7TFtIXS5hZGRFdmVudCgic2VsZWN0IixmdW5jdGlvbihVLFYsVyxUKXtkb2N1 bWVudC5sb2NhdGlvbi5ocmVmPVYudXJsO30pO0xbSF0uZGF0YS5yZXF1ZXN0LmFk ZEV2ZW50cyh7cmVxdWVzdDpmdW5jdGlvbihUKXtULnNob3coKTtpZighVC5sb2Fk ZXIpe1QubG9hZGVyPW5ldyBFbGVtZW50KCJkaXYiLHsiY2xhc3MiOiJhY19sb2Fk ZXIifSk7fVQubG9hZGVyLmluamVjdChULm5vZGUsInRvcCIpO1Qubm9kZS5zZXRT dHlsZXMoe292ZXJmbG93OiJoaWRkZW4iLGhlaWdodDpULmxvYWRlci5nZXRTaXpl KCkueX0pO30ucGFzcyhMW0hdLmVsZW1lbnRzLmxpc3QpLGNvbXBsZXRlOmZ1bmN0 aW9uKFQpe1QubG9hZGVyPVQubG9hZGVyLmRpc3Bvc2UoKTtULm5vZGUuc2V0U3R5 bGVzKHtvdmVyZmxvdzoiIn0pO30ucGFzcyhMW0hdLmVsZW1lbnRzLmxpc3QpfSk7 Qy5hZGRFdmVudCgidW5sb2FkIixmdW5jdGlvbigpe1MudmFsdWU9IiI7Cn0pO1Mu c3RvcmUoQSxIKTt9Qj1FPUY9TT1udWxsO30pO3NpdGVJbnRlcmZhY2UuYXV0b2Nv bXBsZXRlcnM9TDt9LGR5bmFtaWNIZWxwVGV4dDpmdW5jdGlvbigpe3ZhciBBPSQk KCJmb3JtIC5keW5hbWljX2hlbHB0ZXh0Iik7QS5lYWNoKGZ1bmN0aW9uKEIpe3Zh ciBDPXtjb3VudDoxLHRpbWVyOm51bGwsaGVscDpCLmdldEVsZW1lbnQoInNwYW4u

aGVscCIpLGlucHV0OkIuZ2V0RWxlbWVudCgiaW5wdXQiKSxjbGVhclRpbWVyOmZ1 bmN0aW9uKCl7aWYoJGNoayh0aGlzLnRpbWVyKSl7dGhpcy50aW1lcj0kY2xlYXIo dGhpcy50aW1lcik7fX0sdG9nZ2xlSGVscDpmdW5jdGlvbigpe2lmKCEkY2hrKHRo aXMuaW5wdXQuZ2V0KCJ2YWx1ZSIpKSl7aWYoIXRoaXMuaGVscC5nZXRTdHlsZSgi dmlzaWJpbGl0eSIpLnRlc3QoInZpc2libGUiKSl7dGhpcy5oZWxwLnNldFN0eWxl KCJ2aXNpYmlsaXR5IiwidmlzaWJsZSIpO319ZWxzZXt0aGlzLmhlbHAuc2V0U3R5 bGUoInZpc2liaWxpdHkiLCJoaWRkZW4iKTsKaWYoJGNoayh0aGlzLnRpbWVyKSl7 dGhpcy5jbGVhclRpbWVyKCk7fX19fTtpZigkY2hrKEMuaGVscCkpe0MuaGVscC5h ZGRFdmVudHMoe2NsaWNrOmZ1bmN0aW9uKEQpe0MuaW5wdXQuZm9jdXMoKTt9fSk7 Qy5pbnB1dC5hZGRFdmVudHMoe2ZvY3VzOmZ1bmN0aW9uKEQpe0Quc3RvcCgpO0Mu Y2xlYXJUaW1lcigpO0MuaGVscC5zZXRTdHlsZSgidmlzaWJpbGl0eSIsImhpZGRl biIpO30sYmx1cjpmdW5jdGlvbihEKXtELnN0b3AoKTtDLmNsZWFyVGltZXIoKTtD LnRvZ2dsZUhlbHAoKTt9fSk7Qy50aW1lcj1DLnRvZ2dsZUhlbHAucGVyaW9kaWNh bCgxMDAwLEMpO319KTt9LGNoZWNrQWxsOmZ1bmN0aW9uKCl7dmFyIEE9JCQoImlu cHV0W3R5cGU9Y2hlY2tib3hdLmNoZWNrYWxsIik7QS5lYWNoKGZ1bmN0aW9uKEIp e25ldyBjaGVja0FsbChCKTt9KTt9fX07d2luZG93LmFkZEV2ZW50KCJkb21yZWFk eSIsZnVuY3Rpb24oKXtPYmplY3QuZWFjaChzaXRlSW50ZXJmYWNlLmluaXRDb3Jl LGZ1bmN0aW9uKEEpe0EucnVuKCk7Cn0pO30pO3ZhciBzaXRlTWFzdGhlYWQ9e2hl YWQ6ZmFsc2UsdXNlcnBhbmVsOmZhbHNlLHByaW1hcnlOYXY6ZmFsc2UsZHJvcGRv d25zOmZhbHNlLHNlYXJjaDpmYWxzZSxzZWFyY2hPcGFjaXR5OntkaW1tZWQ6IjAu NiIsbGl0OiIxIn0saW5pdDp7bWFzdGhlYWRFbGVtZW50czpmdW5jdGlvbigpe2lm KCFzaXRlTWFzdGhlYWQuaGVhZCl7c2l0ZU1hc3RoZWFkLmhlYWQ9JCgic2l0ZV9t YXN0aGVhZCIpO31pZighc2l0ZU1hc3RoZWFkLnNlYXJjaCl7c2l0ZU1hc3RoZWFk LnNlYXJjaD0kKCJzaXRlX21hc3RoZWFkX3NlYXJjaCIpO319LGRyb3Bkb3duczpm dW5jdGlvbigpe25ldyBEcm9wZG93bnMoc2l0ZU1hc3RoZWFkLmhlYWQpO30sZGlt U2VhcmNoOmZ1bmN0aW9uKCl7aWYoc2l0ZU1hc3RoZWFkLnNlYXJjaCl7aWYoc2l0 ZU1hc3RoZWFkLnNlYXJjaC5nZXRTdHlsZSgib3BhY2l0eSIpPnNpdGVNYXN0aGVh ZC5zZWFyY2hPcGFjaXR5LmRpbW1lZCl7c2l0ZU1hc3RoZWFkLmRpbVNlYXJjaCgx KTsKfXNpdGVNYXN0aGVhZC5zZWFyY2guZ2V0RWxlbWVudCgiaW5wdXRbbmFtZT1x c10iKS5hZGRFdmVudHMoe2ZvY3VzOmZ1bmN0aW9uKEEpe3NpdGVNYXN0aGVhZC5k aW1TZWFyY2goMCk7fS5iaW5kKHRoaXMpLGJsdXI6ZnVuY3Rpb24oQSl7c2l0ZU1h c3RoZWFkLmRpbVNlYXJjaCgxKTt9fSk7fX19LGRpbVNlYXJjaDpmdW5jdGlvbihB KXtpZihBKXtzaXRlTWFzdGhlYWQuc2VhcmNoLnNldCgib3BhY2l0eSIsc2l0ZU1h c3RoZWFkLnNlYXJjaE9wYWNpdHkuZGltbWVkKTt9ZWxzZXtzaXRlTWFzdGhlYWQu c2VhcmNoLnNldCgib3BhY2l0eSIsc2l0ZU1hc3RoZWFkLnNlYXJjaE9wYWNpdHku bGl0KTt9fX07d2luZG93LmFkZEV2ZW50KCJkb21yZWFkeSIsZnVuY3Rpb24oKXtP YmplY3QuZWFjaChzaXRlTWFzdGhlYWQuaW5pdCxmdW5jdGlvbihBKXtBLnJ1bigp O30pO30pOw== ------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline; filename=search00.htm Content-Type: text/html; charset=utf-16; name=search00.htm Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/search00.htm Content-Transfer-Encoding: Base64 //48ACEARABPAEMAVABZAFAARQAgAEgAVABNAEwAIABQAFUAQgBMAEkAQwAgACIA LQAvAC8AVwAzAEMALwAvAEQAVABEACAASABUAE0ATAAgADQALgAwADEALwAvAEUA TgAiAD4ACgA8AGgAdABtAGwAIABkAGkAcgA9ACIAbAB0AHIAIgA+AAoAPABoAGUA YQBkAD4ACgAgADwAdABpAHQAbABlAD4ASwBlAHMAYQBsAGEAaABhAG4APAAvAHQA aQB0AGwAZQA+AAoAIAA8AGwAaQBuAGsAIAByAGUAbAA9ACIAcwB0AHkAbABlAHMA aABlAGUAdAAiACAAaAByAGUAZgA9ACIAZQByAHIAbwByADAAMAAwAC4AYwBzAHMA IgAgAG0AZQBkAGkAYQA9ACIAcwBjAHIAZQBlAG4ALABwAHIAbwBqAGUAYwB0AGkA bwBuACwAdAB2ACwAaABhAG4AZABoAGUAbABkACwAcAByAGkAbgB0ACwAcwBwAGUA ZQBjAGgAIgA+AAoACgA8AG0AZQB0AGEAIABoAHQAdABwAC0AZQBxAHUAaQB2AD0A IgBDAG8AbgB0AGUAbgB0AC0AVAB5AHAAZQAiACAAYwBvAG4AdABlAG4AdAA9ACIA dABlAHgAdAAvAGgAdABtAGwAOwBjAGgAYQByAHMAZQB0AD0AdQB0AGYALQAxADYA IgA+AAoAPAAvAGgAZQBhAGQAPgAKADwAYgBvAGQAeQA+AAoAPABoADEAPgBUAGkA ZABhAGsAIABkAGEAcABhAHQAIABtAGUAbgBlAG4AdAB1AGsAYQBuACAAbABvAGsA

YQBzAGkAIABzAGUAcgB2AGUAcgAgAHQAdQBqAHUAYQBuADwALwBoADEAPgAKADwA cAA+AEEAbgBkAGEAIABtAGUAbgBjAG8AYgBhACAAbQBlAG4AZwBhAGsAcwBlAHMA IABhAGwAYQBtAGEAdAAgADwAYwBpAHQAZQA+ADwAYQAgAGgAcgBlAGYAPQAiAGgA dAB0AHAAOgAvAC8AYgB3AHAALgBnAGEAbQBlAHMAcABvAHQALgBjAG8AbQAvAHMA ZQBhAHIAYwBoAD8AZAB3AC0AcwBpAHQAZQBpAGQAPQA2ADgAJgBhAG0AcAA7AGQA dwAtAG8AbgB0AGkAZAA9ADMANgAmAGEAbQBwADsAZAB3AC0AcAB0AGkAZAA9ADYA MAAyADcAJgBhAG0AcAA7AGQAdwAtAGUAZABpAGQAPQAxADAANwAmAGEAbQBwADsA cwB0AHkAbABlAD0AbABpAGcAaAB0ACIAPgBoAHQAdABwADoALwAvAGIAdwBwAC4A ZwBhAG0AZQBzAHAAbwB0AC4AYwBvAG0ALwBzAGUAYQByAGMAaAA/AGQAdwAtAHMA aQB0AGUAaQBkAD0ANgA4ACYAYQBtAHAAOwBkAHcALQBvAG4AdABpAGQAPQAzADYA JgBhAG0AcAA7AGQAdwAtAHAAdABpAGQAPQA2ADAAMgA3ACYAYQBtAHAAOwBkAHcA LQBlAGQAaQBkAD0AMQAwADcAJgBhAG0AcAA7AHMAdAB5AGwAZQA9AGwAaQBnAGgA dAA8AC8AYQA+ADwALwBjAGkAdABlAD4ALAAgAHkAYQBuAGcAIABzAGEAYQB0ACAA aQBuAGkAIAB0AGkAZABhAGsAIABhAGQAYQAuACAAUABhAHMAdABpAGsAYQBuACAA YgBhAGgAdwBhACAAYQBsAGEAbQBhAHQAIABXAGUAYgAgACgAVQBSAEwAKQAgAGUA agBhAGEAbgAgAGQAYQBuACAAdABhAG4AZABhACAAYgBhAGMAYQBuAHkAYQAgAGIA ZQBuAGEAcgAsACAAawBlAG0AdQBkAGkAYQBuACAAYwBvAGIAYQAgAGEAawBzAGUA cwAgAGwAYQBnAGkAIABoAGEAbABhAG0AYQBuACAAdABlAHIAcwBlAGIAdQB0AC4A PAAvAHAAPgAKADwAdQBsAD4ACgAgADwAbABpAD4AUABhAHMAdABpAGsAYQBuACAA YgBhAGgAdwBhACAAawBvAG4AZQBrAHMAaQAgAGkAbgB0AGUAcgBuAGUAdAAgAEEA bgBkAGEAIABhAGsAdABpAGYAIABkAGEAbgAgAHAAZQByAGkAawBzAGEAIABhAHAA YQBrAGEAaAAgAGEAcABsAGkAawBhAHMAaQAtAGEAcABsAGkAawBhAHMAaQAgAGwA YQBpAG4AIAB5AGEAbgBnACAAbQBlAG4AZwBnAHUAbgBhAGsAYQBuACAAawBvAG4A ZQBrAHMAaQAgAGkAbgBpACAAagB1AGcAYQAgAGIAZQByAG8AcABlAHIAYQBzAGkA IABzAGUAYwBhAHIAYQAgAG4AbwByAG0AYQBsAC4APAAvAGwAaQA+AAoAIAA8AGwA aQA+AFAAZQByAGkAawBzAGEAIABhAHAAYQBrAGEAaAAgAHAAZQBuAGcAYQB0AHUA cgBhAG4AIABzAG8AZgB0AHcAYQByAGUAIABrAGUAYQBtAGEAbgBhAG4AIABpAG4A dABlAHIAbgBlAHQAIABzAHUAZABhAGgAIABiAGUAbgBhAHIAIABhAHQAYQB1ACAA YgBlAGwAdQBtACAAZABhAG4AIAB0AGkAZABhAGsAIABtAGUAbQBwAGUAbgBnAGEA cgB1AGgAaQAgAHMAZQB0AGkAbgBnACAAdQBuAHQAdQBrACAAbQBlAG4AagBlAGwA YQBqAGEAaAAgAGkAbgB0AGUAcgBuAGUAdAAuADwALwBsAGkAPgAKACAAPABsAGkA PgBKAGkAawBhACAAQQBuAGQAYQAgAG0AZQBuAGcAZwB1AG4AYQBrAGEAbgAgAGYA aQByAGUAdwBhAGwAbAAgAHAAYQBkAGEAIAAgAEwAbwBjAGEAbAAgAEEAcgBlAGEA IABOAGUAdAB3AG8AcgBrACAAQQBuAGQAYQAgAGQAYQBuACAAbQBlAHIAYQBzAGEA IABiAGEAaAB3AGEAIABoAGEAbAAgAGkAdAB1ACAAbQBlAG4AaQBtAGIAdQBsAGsA YQBuACAAcABlAHIAbQBhAHMAYQBsAGEAaABhAG4ALAAgAGgAdQBiAHUAbgBnAGkA bABhAGgAIAAgACAAYQBkAG0AaQBuAGkAcwB0AHIAYQB0AG8AcgAgAHMAaQBzAHQA ZQBtACAAQQBuAGQAYQAuADwALwBsAGkAPgAKACAAPABsAGkAPgBDAG8AYgBhACAA cABlAG4AYwBlAHQAIAB0AG8AbQBiAG8AbAAgAEYAMQAyACAAZABpACAAIABrAGUA eQBiAG8AYQByAGQAIABBAG4AZABhACAAZABhAG4AIABtAGEAdABpAGsAYQBuACAA cwBlAHIAdgBlAHIAIABwAHIAbwB4AHkALAAgAGsAZQBjAHUAYQBsAGkAIABrAGEA bABhAHUAIABBAG4AZABhACAAaABhAHIAdQBzACAAIABtAGUAbgBnAGcAdQBuAGEA awBhAG4AIABwAHIAbwB4AHkAIAB1AG4AdAB1AGsAIABtAGUAbABhAGsAdQBrAGEA bgAgAGsAbwBuAGUAawBzAGkAIABpAG4AdABlAHIAbgBlAHQALgAgAEEAawBzAGUA cwAgAGwAYQBnAGkAIABoAGEAbABhAG0AYQBuAG4AeQBhAC4APAAvAGwAaQA+AAoA PAAvAHUAbAA+AAoAPABoADIAPgBQAGUAcgBsAHUAIABiAGEAbgB0AHUAYQBuAD8A PAAvAGgAMgA+AAoAPAB1AGwAPgAKACAAPABsAGkAPgBCAHUAawBhACAAPABhACAA aAByAGUAZgA9ACIAaAB0AHQAcAA6AC8ALwBoAGUAbABwAC4AbwBwAGUAcgBhAC4A YwBvAG0ALwAiAD4AQgBhAG4AdAB1AGEAbgAgAE8AcABlAHIAYQA8AC8AYQA+AC4A PAAvAGwAaQA+AAoAIAA8AGwAaQA+AEsAdQBuAGoAdQBuAGcAaQAgADwAYQAgAGgA cgBlAGYAPQAiAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBvAHAAZQByAGEALgBjAG8A bQAvAHMAdQBwAHAAbwByAHQALwAiAD4ATwBwAGUAcgBhACcAcwAgAG8AbgBsAGkA bgBlACAAcwB1AHAAcABvAHIAdAAgAGQAZQBzAGsAPAAvAGEAPgAuADwALwBsAGkA PgAKADwALwB1AGwAPgAKADwALwBiAG8AZAB5AD4APAAvAGgAdABtAGwAPgAKADwA IQAtAC0AIABUAGgAaQBzACAAZABvAGMAdQBtAGUAbgB0ACAAcwBhAHYAZQBkACAA ZgByAG8AbQAgAGgAdAB0AHAAOgAvAC8AYgB3AHAALgBnAGEAbQBlAHMAcABvAHQA LgBjAG8AbQAvAHMAZQBhAHIAYwBoAD8AZAB3AC0AcwBpAHQAZQBpAGQAPQA2ADgA JgBkAHcALQBvAG4AdABpAGQAPQAzADYAJgBkAHcALQBwAHQAaQBkAD0ANgAwADIA NwAmAGQAdwAtAGUAZABpAGQAPQAxADAANwAmAHMAdAB5AGwAZQA9AGwAaQBnAGgA dAAgAC0ALQA+AAoA

------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline Content-Type: text/css; charset=utf-8 Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/opera000.css Content-Transfer-Encoding: 8bit @charset "utf-8"; /* Shared Stylesheet for internal Opera documents */ /* Copyright 2010 Opera Software */ @media not print { html { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.4; font-size: 85%; background: #f8f8f8 url(corner00.png) scroll no-repeat right bottom; color: #444; min-height: 100%; voice-family: female; } html * { font-size: 100%; line-height: 1.6; } body { margin: 0 auto; background: transparent url(opera-ic.png) no-repeat right top; padding: 80px 25% 30px 6%; -o-text-overflow: ellipsis; height: 100%; } dt { display: block; float: left; width: 25%; color: #999; font-weight: bold; margin: 0 0 0.3em 0 } dd { color: #000; margin: 0 0 0.3em 28%; } dd:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } a { color: #0174A7; font-weight: bold;

text-shadow: 0 1px 0 #fff; } a:hover { color: #111; } h1 { font-size: 250%; margin: 0 0 0.2em 0; line-height: 0.9; text-shadow: 0 1px 0 #fff; color: #cc0f16; letter-spacing: -1px; } h2 { font-size: 120%; margin: 0 0 0.4em 0; font-weight: bold; color: #333; border-bottom: 1px solid #ddd; } input { vertical-align: middle; box-sizing: border-box; } cite { font-style: normal; margin: 0; color: #999; display: block; -o-text-overflow: ellipsis; overflow: hidden; } ins { text-decoration: none; font-weight: bold; } dl,ul,ol { margin: 0 0 1em 0; padding: 0; } li { margin: 0 0 0.3em 0; } ul li { padding: 0 0 0 20px; list-style-type: none; background: url(bullet00.png) no-repeat 0 0.3em; } blockquote { border-left: 5px solid #f1f1f1;

margin: 0; padding: 0 0 0 1.5em; } address { font-style: normal; color: #666; padding: 0; } table { width: 100%; margin: 0 0 15px 0; border-collapse: collapse; } tr:nth-child(even) { background: rgba(0,0,0,0.03); } td { padding: 0.2em 1em 0.2em 0; color: #666; vertical-align: top; } th { text-align: left; width: 230px; font-weight: bold; color: #999; padding: 4px 6px 4px 0; vertical-align: top; border-bottom: 1px solid #ccc; } html[dir="rtl"] * { text-align: right; } input[type="number"] { padding: 0.1em;} } /* Text Sizing */ @media tv, handheld {html {font-size: 150%;}} @media screen and (max-width: 250px), projection and (max-width: 250px), tv and (max-width: 250px), handheld and (max-width: 250px) { h1 {font-size: 83%;} } /* make table cells full width when panel is too narrow */ @media screen and (max-width: 400px), projection and (max-width: 400px), tv and (max-width: 400px) { body { background-image: none; padding: 80px 6% 30px 6%; } th, td, tr, table { display: block; width: 98%;

} td, th { padding: 0 6px 0 0} tr { margin: 8px 0;} dt { float: none; width: 100%; } dd { margin: 0; } } ------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline Content-Type: image/png Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/corner00.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAyAAAAGQCAYAAABWJQQ0AAAABHNCSVQICAgIfAhk iAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmly ZXdvcmtzIENTNAay06AAAAAWdEVYdENyZWF0aW9uIFRpbWUAMTMvMTEvMDkfnwsS AAAgAElEQVR4nO3dUZa0OJJtYbu9ev5T7vsQpQqFfoEDDugcs/1NgG2GcHcyMqsi AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAgE3/b3UAAAAAgK/Z/K63CQUAAAAM8Pv6AxYE AACAyvg9/DIWDgAAAGf8njXDDQMAAIAKfpsWwE0GAADAE/idiSkOBgAAAI7ityO+ xiECAAAAvwnxGg4bAABAXvzWgxwOJQAAgCd+x8ESBxcAAEATv9OQEgcbAABgDX6H oSQOPgAAwDP4nQVM8GAAAABcw+8o4AIeHAAAgG38VgJuxkMFAACq4/cQ3FmdYatY AACAL/C7B2/gnH3AggAAQCb8tsEVnJsXsWwAAOCI3zAYcSZMcKMAAIAyfqvUwz1P jhsMAAAU8JskL+4t/uBAAACAN/HbIwfuIy7j8AAAgKfwO8MP9wyP45ABAIBv8XvC A/cJEjiIAADgDH47aOK+wAaHFQAAbOF3gg7uBdLgMAMAgAh+E6zG/lEGhx0AgHr4 /n8fOwf+g4cBAIDc+K5/D7sGDuBBAQAgD77Xn8eOgS/xEAEA4Inv8GexXziwPKeW 0QAAFMR39v3YKZ7C2drBcgAA0MP3873YJ47gnLyERQMAsB7fx/dgj+AMGOAmAQDw Lr57v8cOa+A+J8WNBQDgWXzXXsfucuF+IiI4CAAA3I3v1vPYmTfuH07hwAAA8B2+ S89hXz64V3gEBwsAgHP47jyOXeni3mAZDh8AAPv4rvyMHWnhfkAaBxQAgL/4btzH ftbjHsAaBxgAUB3fhdvYzTrsHmlxuAEA1fDdt43dvIddoywOPwAgO77r5tjL89gx MMGDAQDIhu+2f7GT57Bb4CQeGgBABnyf/WIXz2CveFvaM5d2MABAanx//WIX92GX uIJzcxILAwA44PvqF7v4HjtEw1lYgKUDAFTxHcUOvsX+6uBeG+FmAQBU8J3EDr7B 7nLhfibGzQUArFT9e6j6/FewM1/cO0QEBwEA8K7q3zvV5z+DXfngXuEUDgwA4GmV v2sqz34Ge9LEfcEjOFgAgCdU/X6pOvcZ7EgH9wJLcPAAAHeo+n1Sde6j2M867B6y OJwAgKsqfodUnPkodvM+dg5LHFwAwBnVvjeqzXsUe3kHe0ZKHGwAwCeVvisqzXoU O3kW+0U5HHoAwKjSd0OlWY9iJ/djp0CHBwIAEFHr+6DSrJ+wi3uxT+AAHhQAqKvK d0CVOY9gF99jh3hL2rOWdjAAwFSVz/0qc+5hB99hfziKs3ISCwOA/Cp81leY8RN2 cA17A2fgZSwcAHKq8PleYcY91ee/gp3lxz02wE0CgDyyf6Znn++T6vOfwa7y4F4m xE0FAG/ZP8ezz7el6txXsCs/3LPiOAAA4CfzZ3fm2fZUnfsMdqSPe4RDOCgA4CHz 53Xm2fZUnfsIdqOHe4LbcJgAQFvWz+msc+2pOPMR7EUD9wGv4bABgJ6sn81Z59pS bd4j2Mk67B4yOIwAoCHr53HWuWYqzXoE+3gX+4YNDisArJPxMzjjTFsqzXoE+3ge O0YKHGQAeFfGz92MM22pNOse9vAcdov0OOQA8I5sn7fZ5tlSZc5P2MO92CdK4wEA gOdk+4zNNs9MhRk/YQf3YZfABA8GANwr2+dqtnlmKsy4p/r8d2CHwAk8MABwj0yf p5lmmck+3yfV5/8Gu4ML6bMqHQcA4jJ9hmaaZSb7fFuqzv0t9oancLaCJQDAFVk+ O7PMsSX7fDMVZ/4WO8MRnJMbsUwAOCbL52WWOWYyz7al4sxXsStEcA4kcBMAYFum z8hMs/SyzrWl2rxXsac6uNeGuGkA8K8sn41Z5hhlnWum0qxXsaN8uKfJcYMB4EeW z8Msc4yyzjVTadaz2I037h8igoMAABk+BzPMMMo405ZKs57BXrxwv3AYhwVAVe6f f+79Mxlnmqky5xnsRB/3CLfhMAGoJMNnXoYZetnmmakw4xnsQxP3Ba/hsAGowP2z zr1/lG2emQozHsUuNHAfIIPDCCAr98839/5RtnlG2ec7ij2sxf5hgYMKIBv3zzX3 /l6mWWayz3cEO3gfO4c9DjGALJw/z5zbR5lmGWWe7Sh28A72jNQ44ACcuX+Gufc3 WeaYyTzbJ5Vnfws7RkkcfACOnD+7nNt7WeaYyTzbnqpzv4Hd4k3y500+EAA6rp9Z rt2jLHOMss71SdW5n8RO8QlnJFgCAH3On1PO7b0sc/QyzvRJxZmfwi7r4t7fgCUC UOX6+eTaPcoyRy/jTHuqzfsU9pgT93Uhlg9Ajevnkmt3L8MMo4wzbak061PYoS/u nRFuFgAVjp9Hjs2jDDP0ss3zSbV578LePHCfkuLGAljJ9TPItbuXYYYm0yyfVJr1 LuxME/elMG4+gBVcP3tcuxv3/l6mWfZUmfMu7EsD9wG7OCAA3uT4mePY3HPv72Wa ZU+VOe/ArtZg7/gKBwjAGxw/axybe+79TZY59lSY8Q7s6T3sGo/igAF4kuNnjGNz 49zeyzLHngozfoP9PI8dYxkOH4AnuH22uPX2nNt7WebYkn2+b7GfZ7BXSOJgAriT

22eKW2/Pub3JMMOe7PN9g93ch13CDocWwLccP0ccmyN8u0dZ5hhlnetb7OUe7BFp cJgBXOX2+eHW23NubzLMMJN1rm+wk++wP6THIQdwltvnhltv49rdyzDDTNa5rmIf 17A3PMHiXFlEApDg9nnh1tu4djfu/VuyznUFuziHfWFU/kyUXwCAj9w+J9x6Izyb e+79MxlnuopdHMeuauA+f4kFAtji9vng1hvh2dxz7x9lm+cq9vAZO8qDe7kASwcw cvpccGrtuXZHeLfPZJvnCnawj/144X4Z4CYBaJw+D5xaG8fmxrl9Jts8Z1Wffw+7 0cW9SYSbCcDpc8CptXFsbpzbR5lmuaL6/DPsRAf3ohhuOFCX0/Pv1No4Nkf4ds9k muWsyrPPsI912D3+waEA6nF67p1aI/x6e87tvSxzXFF59hG7eA+7xmkcGqAWl2fe pbNx621cu0dZ5jir6twj9vA8doxbcaCAGlyedZfOxq03wrN5JsscZ1Wdu8cOnsFe 8RoOG5CbyzPu0tm49UZ4Ns9kmeOoavOOqs9/N/YJCRxEICeXZ9ulM8Krtefa3csw wxnV5u1Vnv0u7BDyOKRALi7PtEtnhFdr49g8yjDDGdXmbarOfQd2B1scXiAHl2fZ pTPCq7VxbO65959RadZe1bm/wc6QDoca8ObyDLt0Rni1Rvj1zmSY4Ygqc/YqzvwN 9oUj7M+J/QBAUS7PrktnhFdrhF/vyL3/qCpzNtXmvYo91cL9HrAQwI/Dc+vQGOHT 2XNsbpzbz6gyZ0StWa9iR3lwL2/CIgEfDs+rQ2OET2fj1jty7z+iwowRdea8iv34 4F4txPIBfQ7PqUNjhE9n49bbc24/qsKMEXXmPIu9aOK+GOAmAbocnk+Hxgifzsat t3HtPoMZa2In63EPEuFmAprUn031vsalM8KrdeTcfgTz1cI+3sfOi+GGA1rUn0n1 vsalM8KrtefafRTz1cAe3sGe8QcHAtCg/iyq9zUunRFerT3X7iOYLT/28Bx2i8M4 LMBa6s+gel/j0hnh1do4Nh/FbHlVn/8J7BS34CAB66g/f+p9ER6NET6dI9fuT7LO FZF7tk8qz34n9ojHcciA96k/d+p9ER6NET6dI9fuPRlnisg71xGVZ/8Wu8NSHEDg PerPm3pfhEdjhE9nz7H5iIxzZZzpiKpzf4OdQRIHE3iH8rOm3NY4NEb4dPYcmz9h phwqznwVu4IVDizwLOVnTLmtcWiM8OnsOTbvyTZPRM6Z9lSb9yr2BHscYuAZ6s8W ffdw6Wzceo/INlO2efZUmvUK9oMt9mfDfgBAkPJzpdwWod/XuHQ2br2fMI+nKnNe wW7y4x53WAZwH+XnSbmtofF+br17Ms0SkW+emQozXsFevHH/bsASge8pP0fKbQ2N 93JqPSLTPJlm2VJhxjPYhwfu08tYOPAd5WdIuS1Cvy/Co7Fxav2EWXxkn+8MdqGF +yGMmwNco/zsKLdF6PdFeDQ2Tq2fZJklyxxbss93BDtYi/2b4wYC56k+N6pdjXpf hEdj49S6hzn0ZZ7tKHbwLvadHDcYOE75eaHtOw6NjVPrngxzZJhhS+bZPqk8+1vY cXEcAOAY1WdFtauh7z5OrVuYQVvm2fZUnftJ7BS7OCDAPtVnRLWroe8eLp2fZJgj wwyjjDMdUXXuJ7BLXMLBAeaUnw3arlPva1w6P3Gfw71/JuNMn1Sc+U7sD7fjUAH/ Un0uVLsitNsi9Psal8497jO4989knGlPtXnvwt7wGg4b8Ev1eVDtapT7lNt6Lp17 nGdwbt+ScaYtlWa9A/vCchxC4Ifqs6DaFUHbHVw69zjP4Nw+k22eLVXm/BZ7giwO J6pTfQZUuyJou4NL5xbnfuf2mWzzzFSY8VvsCFY4sKhM9fzTdY16X4RH4x7nfuf2 UaZZZrLP9w12gxQ4yKhI9dyrdkXQ9i2Hxj2u/a7dM5lmmck+3xXsBHeSOk9SMcAL VM88XecptzUOjXtc+127R1nmmMk82xXsA02Js1BiSOA/FM+7YlOEbleEdlvj0LjF td21e5RljpnMs53FLnLj/n7AglCB4jlXbGpU21S7eg6NW1zbXbt7GWaYyTrXWezB H/fwZiwU2SmeccWmCN2uCO22CP2+PY7tjs2jDDPMZJ3rqOrzO+FeLcTykZXi2VZs itDtitBui9Dv2+PY7tjcc++fyTjTGdXnV8V9EccNQkaK51qxKYKuq9T79ji2Ozb3 3PtH2eY5o/LsKrgHCXATkYnieVZsiqDrGw6NM27dbr0j9/5RtnmOqjr3auw9OW4w slA8y4pNEXRdpd63xa3brbfn3D6TbZ5Pqs27ErsujgOADNTOsVpPQ9c16n1b3Lrd envO7aNMs3xSadZV2DGmOBhwpnh+FZsiNLsUm3rqfVucup1aR87to0yzfFJp1rew U5zGoYErxbNL03GqXRHabXucup1aR87tvSxzfFJlzjewS9yGwwRHaudWrSdCsylC t6tR75txanZq7bl2j7LMsafCjE9jh3gchwxOFM8rTccoNvXU+2acmp1ae67dvQwz 7Mk+39PYH5bg4MGF2llV64nQbIrQ7YrQbtvi1OzU2jg2jzLMsCf7fE9gZ5DCgYQD tXOq1hNB01nKbVucmp1aG8fmnnv/nsyzPYF9YSR3JuSCgI7a+VTridBsiqDrTi7N Lp09x+aee/+ezLPdiT3llP6+ph8QttTOplpPBE1nKbfNuPS6dPYcm3vu/VuyznUX 9uOF+7WD5UCR2rmk5zPFpka5bcal16Wz59jcOLdvyTjTndiPHu7JTVgklKidR7We CJrOUO3a4tLr0tm49fac27dknOkO7GUt9v8yFg4VamdRrSdCr0mtp6fcNuPQ69DY c+ttXLv3ZJzpW+zkPexaEDcFCtTOIT2fKTZF6HZtceh1aOy59Tau3VuyzfMNdvEs 9muIm4bVlM6gUkuj1qTW06h2bXHodWjsufVGeDbvyTbPVezhXuwzIW4qVlE7e/R8 ptgUods149Dq0Ng4tfZcu2cyzXIVO/geOyyGG44V1M4dPfvUehrVrhmHVofGxqm1 cWzekmmWK6rP/w12h4jgIOB9SmdOqSVCrydCsylCt2tGvVW9r+fU2jg2z2SZ44rK s1/FzrCLA4I3KZ03pZYIeo5S7ZpRb1Xv6zm1Rvj1bskyxxWVZz+DPeESDg7eoHbO 6Nmn1hOh2bRFvVW9r+fUGuHXO5Nhhiuqzn0U+8GtOFB4mtIZU2qJoOco1a6RQ6dD Y4RPZ+PWO3Lvv6LizEexGzyOQ4YnKZ0vpZYIeo5QbNqi3qre17h0Rni1zrj3X1Fx 5k/YCZbg4OEpSmdLqSVCq0eppafaNVLvVO9rXDojvFpn3PvPqDTrEeyjLrl7LxeE FJTOFS3b1HoiNJtm1DvV+xqXzgiv1pFz+1mVZt3DHvylvoeph8PrlM6TUksEPUco Ns0odyq39eh8nnP7WZVmnak+vzruzwRLwV2UzpJSS4RWj1JLo9g0o9yp3Naj83nO 7UdVmHFP9fkVcA++xAJxB6VzRMs2tZ4IzaaReqN6X4RHY4RP58i1+4wKM85UnXsl dv4CloxvKZ0hWuaUWhrFphnlTuW2xqExwqdz5Np9VPb5ZirO/Cb2K4IbgW8onR9a 5pRaGsWmkXKjclvj0Bjh09lzbD4j+3yjavM+jX2a4EbhKpWzo9LRKPUotUTo9WxR 7VTt6tH4HNfuIzLPNqo061PYYQLcRFyhcm5UOiJo+USxaaTcqNwWod8X4dE4cmw+ KvNsvSpz3o29JccNxhlK54WWOaWWCL2eLaqdql2Nel+ER+PIsfmIrHP1Ksx4J/ZV

FDceRymdFVrmlFoi9HpmVBtVuxr1vgiPxpFj8ycZZxpVmPFb7Ah/cCBwhNI5oeVf Kh09xaaRaqNqV4R2W+PQ2HPrPSrrXBG5Z7sD+8FHHBJ8onRGVFpUOiK0WiL0emZU G1W7Gvru5dZ7RMaZmsyzXcVOcBmHB3tUzodKRwQte9R6ZhQbFZt69N3LrfeTbPM0 Wee6in3gVhwobFE5GyodEbTsUesZqfapdkVot0Xo9/WcWo/INk+Tda6z2AMexyHD jMq5UOmI0GlR6WjUemYUGxWbGuW2CP2+nlPrEdnmicg50xnV58/G5n7ahOI1KmdC pSNCp0Wlo1HrGan2qXZF0HYXp9ZPMs0SkW+es6rPr67M/SkzKA5ROQ90/IuWcxQb FZsa2u7h1PoJs/irOrcS7sEGFoNG5SzQ8S9ajlPto+sa9b7GpfOTLHNE5JrlqIoz r8Kuv8QCEaFzDuj4S6WjUesZKfYpNkXodjXqfY1L5yfM4anavG9hry9gyVA5A3T8 pdLRqPX0FNsUmxravufSuSfDDBF55jii0qxPYo8CuAm1qdx/Ov5S6YjQaplR7FNs itDtitBu67l07mEGH1XmfAK7E8cNqkvh3is0NCotKh0RWi0zan1qPY1qV4R2W8+l c4t7f0SOGT6pMOOd2Jcxbl5NCvddoaFRaVHpiNBqGSm2KTZF0PUtl84t9OurMOO3 2FFC3NR6FO65QkMEHTNKLTOKfTSdo9zWODTuoV9X5tm+xW4K4WbXonC/FRoi6JhR aplR61Praei6zqFxi3N7hH//lqxzfYu9FMcBqEPhXis0RNAxo9QyUmyj6TjVrp5D 4xba9WSd6wp2gSkORg0K91mhIYKOGaWWkVqbWk+j2KXYNHJo3EK7lowzncUOcBiH JT+Fe6zQEEHHjFLLSK1NrSdCsylCt6tR79vj2u7avSXbPGdVnx9f4gDlpnB/FRoi 6BipdMyotan1RGg2Reh2Nep9e1zbXbtnMs1yVuXZ8QAOVF4K91ahIUKjQ6GhUWoZ qbWp9UTQdIV63xa618s0y1EVZ87E4v5ZROI0hfuq0BCh0aHQ0Ci1jNTa6DlGtStC u20P3WtlmeOoavM6SH9P0g9YkMI9VWiI0OhQaGiUWnpqXWo9ETRdod43Q/M6WeY4 otKsKtj5gIXkonA/FRoiNDoUGhqllp5al1pPBE1nKbdtoXmNDDMcUWXOVdjvBSwt D4V7qdAQodGh0BCh0zGj1kbPZ4pNjXLbFrdmt96ZDDN8UmHGN7HPB7DUHBTuo0JD hEaHQkOETseMUptSS6PWpNbTU27b4tbs1jty7/8k+3xPY38LsHR/CvdQoSFCo0Oh IUKnY6TWRc9nik2NctsMve9y79+Sda4nsTMx3BBvCvdPoSFCo0OhIUKnY6TWRc8+ tZ6ectsMve9xbt+Tda67sScT3ChfCvdOoSFCo0OhIUKnY6TUpdQSodcTodkUodu1 xanXqXXk3L4l40x3Yj/m/nd1AGypPPwKHQoNETodI6UupZYIeo5S7drj0uzSOePc PpNtnjuwk6R4AfHEA/lDYQ8KDRE6HSOlLqWWCHqOUu3a4tLr0jly7d6SbZ5vsItC uNl+FO4ZDT8UGiJ0OkZKXbRsU+tpVLu2uPS6dPYcm7dkmuUb7KE4DoAXhftFww+F hgidjp5Sk1JLBD1HqXbNuLS6dPYcm2eyzHFV9fkxwaHwoXCvaPhBwzalLqWWCK0e pZaeateMS6tLZ8+xeZRhhiuqzo2TOCgeFO4TDT9o2KbURcs2tZ4IzaYtLq0unY1b 70yGGc6qODNuwMHRp3CPaPhBwzalLlq2qfVEaDZtcWh1aOy59Y7c+8+qNi8ewkHS pnB/aPhBwzaVLpWORqlHqaVRbNri0OrQ2Di1zrj3n1Fp1oqW3V/+Z3ixR+GDh4Yf Cg0zKl0qHRFaLRF6PRGaTTMOnQ6NjVPryLn9jCpzZmB9r6zjk1t9b1ZfP4KGRqFh RqVLpSOClk8Um2YcOh0aG6fWkXP7Ednnc1HuPvAXEE3lDuKEwg5o2KbSpdIRQcsn ik0z6p3qfT2n1p5r9xGZZ1PFzidYih6Fe7K6YfX1I2jYotREy5xSS4Rezxb1TvW+ xqVz5Np9RObZVmO3F/EXEC0KB1mhYTWFHSg0jJSaVFpUOiK0WhrFphnlTuW2nkvn yLV7T8aZVmKfD+AFBD2Fh2x1w+rrR2g0jFSaVDoiaNmj1rNFuVO5refS2XNs/iTj TG9ify9j4TpW34vV149Y37D6+hEaDSOVJpWOCFr2qPXMKDcqt/VcOnuOzVsyzfIm 9iaCG6Fh9X1Yff2I9Q2rrx+h0TBSaVLpiNBpUenoKTaNlBuV2xqHxp5b755MszyN XYnjX8Faj4dk/Q5WXz9Co2Gk0qTSEaHTotLRqPXMKDcqtzUOjT233i1Z5ngSOzLE TVtLYf+rG6pfP0KjYaTSRMe/lFoi9HpmVBtVu3oOjY1T654sczyB3STBX0BqW/0g V79+hEbDSKWJjn/Rco5yo3JbhH5fz6l1S4YZ7sZOEuMFZJ3VD1b162NO5b7Q8ZdK R6PWM6PaqNrVqPf1nFpn3PvvxC6K4QVkjdUP2urrK1DYgUJDT6WHjr9UOhq1npFq n2pXo97XuHRuce+/C3sojheQ9/HQrd/B6utHaDT0VHro+EulI0KrZYtqo2pXhHZb z6Vzi3v/NyrPjg28gNSz+oOg+vUjNBp6Kj10/KXSEaHVMqPap9oVod3Wc+mccW7/ RtW5HS27VxySd63eN9dfT6Ghp9JDx18qHRFaLTOKfYpNPfW+CI/GGdfub1WdezXb vduGG1q9a66/nkJDT6WHjl8KDT21np5qm2pXhHZb49A449p9VbV531Rit/wrWO9Y fZhWX381hfkVGnoqPXT8UmholFpmFPsUmxrltsahceTYfFWlWZ/EHv+DFxC8ofoD pza/So9Ch0JDhE5HhFbLjGKfYlOEblfPoXHk2HxFlTnvxM4O4gXkeasPI9evfX1V CntRaIjQ6YjQahkptik2NcptEfp9I7feKyrMeAf2dAOW+KzV++X6ta8/o9BEwy+V jgitlpFim2JThG5Xo943cus9K/t8V7GXh/EXkLyqPzzV559R2AkNv+j4TLFNsSlC t6tR7+s5tV6Rfb6z2McCvIA8p/qBXjm/wu4VGnoKPTT8ouMzxTbFpgjdrgjttpFT 61mZZzuKHQjhBeQZqw959euvpja/Qg8Nv+j4TK1NradR7YrQbhs5tZ6Rda4jKs9u gReQfFY/dFxfi0IPDT8UGhqllpFam1pPhGZTo9w2cmo9KuNMn1Sc2R4vIPfjQVhn 9e5XX3+k0EPDD4WGRqmlp9al1tPQ9R2XzjMyzrSn2rwpcRPvtXqfla9fefYZhR4a fig0NEotPbUutZ4IzaYI3a6RS+dR2ebZUmXOcvgLSB6rH9LKLx9qFPZBww+Fhgid jhm1NrWeCM2mCN2unkPjUZlm2VJhRgQvIHeq/NBUnj2C+UcK+6Dhl0rHjFKbUkuj 2BSh29VzaDwq0yyjzLNhBy8g91j9AK2+/kqrZ199/dHqntXXj6Chp9IxUutS64mg 6SqHxiOyzDGTeTZHS+4HLyD+Vj/Ilf/Vq9XXH6n1rKCwA4WGCJ2OkVKXUkuj2BSh 29Wo9x2RYYaZrHMpsdsxLyDfs7vpN6o8uxqFe6HQsJrKDlQ6RkpdSi0NTeep9x2R YYZetnlWSb1HXkC+s/pwrL7+SqtnX339nkILDeuv36h0jJS6lFoi9HoiNJt66n2f uPePss3zhtI74wXE1+qDy796pUGhhYb1129UOkZKXUotEXo9EZpNjXLbEe79vUyz

PIUdbeAF5LrKh4qXDzQK+1jdsPr6jUpHT6lJqSVCrydCs6lRbjvCvb/JMsed2MkF vIB44rAjYv05WH39iPUNq6/fqHT0lJqUWiLoOUu9b4tr9yjLHN9iDzdimdfwF4B6 11a4fm91y+rrR6xvWH39RqWjp9Sk1BJBzxnKbXtcu3sZZvhG9fkfx19Azqt8KHn5 0KDUssrqHay+fqPS0VNqomWbWk9PuW2Pa3fj3n9V1bmX4gXECw/JGuz9r9X7WH19 FYp7UGlS6WjoOUa16xPX7gjv9iuqzSuLF5BzKh/cyn/9ULJ6F9WvH0HDFpUmlY5G qUepZaTctsWxOcK3+4pKs1rhBcRH1ReA1R8eq6/fW92y+voKFHag0DBSaVLpiNBq idDraVS79tCsqcKMafACclzlH+FVKe19dcvq60esb1h9/QiNhpFKk0pHBC1HqHbt oVlL5tnS4wXkmMqHnBcvKFh9FlZfP0KjYaTSpNIRQcsRql1b6NWQda6SeAHRV/UF YPUHzerr91a3cP31FBpGKk10zKn1RGg27aF3vYwzIXgBOYLDX4/SPV/dwvXXU2gY qTTR8S+llkaxaY9Tr1PrEdnmUSSxY15AtFX9C4TEwyFg9R5WX381hQvcufoAAA1q SURBVPkVGkYqTXT8S6mlUWzaQusamWZZwXJ/vIDs40f4+1bPvfr6+FX9XijOr9Ck 0NDQsk2tZw+t78syx9PS7okXEMykPfAfKM29uoXr177+jEKTQkOj0qLS0VNsmnHp jPBq3ZJhhieU3AsvINuq/vWj6rWVrN4D1699/RmFJoWGRqVFpaNR69nj0OrQ+EmG Ge7AHga8gAA/+HD4sXoP1a+vSGEnCg0ROh0RWi0Rej1bHDodGve493+j8uyn8AIy V/WvAFx7PaWWahR2r9DQU+hRaIigY4tazxaHTofGLc7tV1Wc+Ta8gEABD/GP1Xuo fP3Vs0doNPQUehQaIujYotazRb1TvW+La/cVlWZ9BS8g/6r6I6jqw1V17tHqPay+ /mpq8yv0KDRE0LFFrWdGvVG9b8ax+awKMy7HCwhW40H/UXkPq2evfv2RQo9CQwQd M0otW9Qb1ftmHJuPyjybLF5A/qr6F4iqD1/VuUeV97B69tXXHyn0KDRE0DGj1LJF uVG5bcat96isc1nhBQQr8dL1o/IeKs+uRmEfCg0RGh0KDT21npFyn3LbjFvvJ9nm SYEXkF9VfwjxYK5Vef+VZ49g/pHKPhQ6FBoapZYtyo3KbT2XzqOyzZMOLyBYhZeu 9SrvYfXsq68/Wt2z+vqNQodCQ6PUMqPcp9zWc+n8JMscZfAC8qPqj2Ee2LUq33tm 16HWs4rCHhQaGqWWGdU+1a6RS+eeDDOUxQsIVqj847NR6ViB2XUo9NDwQ6GhUWoZ qbapdo1cOre49ytZukteQOr+GF51bT481qt8DyrPPlLYBQ0/FBoidDq2qPapdvUc Grc4t7/NZle8gKASlQdTpWOFii/dKtfvKbTQ8EOhIUKnY0a1TbWr59A449r9tDR7 qf4CUvXHUMW/fqR5aL9U9R6svv+rr69GYR80/FLpmFFsU2zqqfdtce2+W4k9VH8B Ad5W+Uc4NKw+B6uvH0FDT6VjRrFNsalRbtvi2HyXyrPzArJIxR+hFWfGr8r3f/X1 e6tbVl8/goaeSsdIsUuxqafe13NqvUO1eQ+p/ALCgcDbKv8IX2X13Kuv31NqWUVh BwoNETodI8UuxaZGuW3k1PqNKnN+pfILyCoVf4RWnBm/qt6DqnNvWb2P1dePoOET tTa1np5yW8+l86rs8z2m6gsIBwZvq/oSVvXaalbvovr1I2j4RK1NradR7Rq5dJ6V da7XVX0BqajiQ6Mys0oH3qN0z1e3rL6+AoUdKDTMqHWp9TSqXSOXzqOyzSOj4gsI /0T2XRVnVlL1vFe99mh1y+rrR6xvWH39CI2GGbUutZ5GtatR7zsj0yzSKr6AVFTx gVKZmR/C76s6N/61+iysvn6ERsOMUpdSS0+1q1HvOyrLHFZ4AXlPxQNecWb8qHrv leZe3cL111NomFHqUmppFJt66n1HZJjBWrUXEA5cDSr3uepfP7j2eqtbuP56Cg0z Sl1KLY1iU6PcdoR7fyrVXkBWqfijiAcdqGn1s1/9+hEaDTMqXSodPcWmRrntE+f2 1HgBAZ5R8aWTa2tQaqlGYfcKDSOlJqWWRrEpQrfrE9fuUiq9gFQ8kBX/+lHxPoP7 3qzeQ/Xrr6Y4v1KTUkuEXk+j2rXHsdnBY3ut9AKyCg8F3sTL3/uqzj1avYfq11ek tBOllgi9ngjNpj1uvQpkdlblBURm4S9i5nVUOqrgpeuHUsvbVs+++voRGg09lR6V jkatp1HtmnFqfZPVXqq8gOA9Vg9AMvwQr2v1/ldffyWF2RUaeio9Kh2NWk+EZtOM S+cbUuyCF5BnpTgkJlR2rdJRBS9d663eQ/UzoNDQU+lR6YjQamkUm2ZcOp+QevYK LyCpb+CGiv/xeXXVf4RVVnn/lWeP0JtfpUelI0KrpVFsGjk03qnavCVeQFYpd5jA PX8ZL13rVd7D6tlXX3+k0qPSEaHVEqHXM+PQeIcqc27iBQQZlH+QF2L3a1V+CWN2 HSo9Kh0RtJzl0PiN7POdlv0FpOIN51+/WqPyj6EV2LdOxwqV7//q649UeuiYU+sZ qfddlXWu22R/AVmFg/cedr0Ou6+Lew8lKudRpSNCq2VGve+sbPM8jhcQ3IEHb52K u6/8T7+byjtgdh0KPQoNETodEVotI+W2szLN8rrMLyAVD0bFmRWwd+AdvHzoUOhR aIjQ6YjQaumpdp2VZY7lMr+ArMLhfE/1XVf8MVZx5hE7qEdt7wo9Cg0RdHyi2nVG hhnk8AKCb/FgAngDL14aFHZBw19KLY1i0xnu/fJ4AcmDh2WNinvnrx/rVN1B1Wsr XL+n0ELDX0otjWLTUc7tVrK+gHCA8qt+j6vPD1Sg9JwrtNDwS6Wjp9h0hGv3Wx7Z T9YXkFWqHeJq844qzs/M61T9K0DVa+MvhXuh0BCh09Go9Rzl2n2XpfPzApJD9YcI +XHG8bbVZ2719XurW1ZfP0KjIUKno1HrOcKx+QrpOTO+gEgvHLeofo+rz/8mlV1X /SuAyv7fpjT36pbV14/QaIjQ6YjQajnCrfcsu/kyvoCsYnfz8ZWK97vif3yOmjhz P9iDzg5UOiK0Wj5xaj0qxUy8gPjjR2Et7L2eqn+BqHrWq849s3oXq68fodHQU+vZ 4tJ5RKZZ/osXELhJ+SBCEmetJl66fqxuWX19BUo7UGrZ49K5J8MMH2V7ASlx07Bc xXPGX9rWqPpjuPp9X231/ldfP2J9w+rr95Ratjg0bnFuvyzbC8gq1Q5PtXlVsPf3 sOuaeOlaT2EPqxtWX7+n1LLFoXHk2HwrXkC8VTvA1eatjvu9TsUf4py3H9X3sHr+ 1ddvVDr2ODT23HofxQsIgE/40FyDvdehcq9Xd3B9DSodW9T7ek6tr8r0AsJNxhs4 Z/lVv8f89aPOtZWs3kP16zcqHVvU+xqXzmUyvYCsUu2QVZtXRbW9V5t3VH1+vI8z t47K7lU6ZpTbGodGGbyA+Kp20KvNq4K94y0Vz1rFmWdW72H19RUo70C5LUK/TxIv IMBxfMjkV/0eV5y/4syjyv8KWvXrR2g0zKh2Nep90ngBAfTxIVdLxfvNzFhh9T1Y ff0IjYYZ1a4I7ban3D5zlheQiodhBfZcS8X/IBi1cNZq//VjJYXZFRpm6Hrf67Nl eQFZhR9o76g2L9aofs6qz/8mlV2rdKxQ/cVLoWGk2BSh23WFzCy8gADHyDy0SK3i

OeMf5NRU/QVgJcX5aXqG7Ay8gADaZD88HlJtXhXsvR5eANZYPfvq68+oNan1nGHT zgsIgBmbD7GbVJsX63DW1qr84rX6+jNqTWo9n7j1/leGFxDb5ZvhX5MAnlXxrPO5 Uk/VF4DVZ2719WeUmpRaPnFq3ZThBWSVFAcAAPAale8NlQ7UpXQGlVq2ODSewguI n3SH0AD/lPYd1eZVUW3v1eZVUvUvEKvP3Orrj1R6VDr2ODRewgsIgFHaD7wN1eZV wd7XYO/vWr3v1dcfqfSodMwot92GFxAAWK/EF05x1e9x5b9ArKI2t0qPSsdItesR vIDgiFIPBVBItWe72ryj6vO/jX3/UtmFSkdPselxvIBAWcmHsijudS3cb7yl6llT mluhRaFhpNj0GvcXEP7jYDyNe50b9xdvqH7OKs7Pv3L2Q6FFoaGn1rPE/6wOwCkc 2jp4ua6DneMNFc9ZxZnxl9oZUOtZxv0vIACAa6p9EVabV0XFvfPXjx+rW1Zfv6fU ctWtM/ACAgB4U4Yv4jOqzQtErD/3q6/fU2o56vFmXkAAAMjN8QfQtyr+a6wV77My l/uxpJMXEHzi8gDBV8UfCkAFPGM1rb7vq68fodGwZ3kfLyBQtfzhAF7AOX8He0Z2 Kmd8dcfq60doNMxIdfECAmzjn8wjK87YO9jzGnx216Swf4WGkWITLyAA/kvyQwqp cMbex87zU7nH1f/7F4WGnlrPH84vIPwTDgAANFX7rqw2L/5Suv9KLZucX0CqsThQ AAAsxHflGpX/+rH6+o1KxyG8gAAAMrP6UgZO4nyvpbB/hYbT/md1AIDSLD84gQM4 26ii6l8/FJ5xhYZLeAEBUJHthzZwAuf8HewZK1ifO15AAGAN/oc0kBVn+x3V5h1V /uvH6ut/jRcQAMAb7L8wAfyD5/p9KXbOCwgAAACcVP3rR4qXjwj+V7Cwjz+jAwAA rKf42+hyEy8gwJzigw4A0MI/qKuFvd+0A15AAC18mQEAHPC98R6FXd/awAsIAAAA XCj8GK/kkX3zH6EDALLiL4oA7lLx8+Sxa/MCAgBAPtV+LPHSB9zr0WeKFxAAAAAA r+EFBAAAAMBreAEBAAAA9KT9Vxp5AQEAAAD0/F/W6/ICAgAAAOA1vIAAAIC7pP0n tkAxjz5TvIAAALKq/GNYoQEApngBAQAAAPZV/Aca//fU9XkBAbRU/IADAPjh+6qO 23fOCwgwxwccAEAV31G1KNzvW/8awgsI9vBPNwAA2Mb3VS3c798Xka928b/3tAAA AACv+L9Y93/St4rizJdfQvgLCAAAAHDM6v8oPAVeQACgFv7VSmTFGXsfO39fip3z AgKgIoUPcIUG4Amc7XdU33Plv0Ssvv7X/j/faj8oeGyP/AAAAABJRU5ErkJggg== ------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline Content-Type: image/png Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/opera-ic.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAANYAAACWCAYAAACiu3ZCAAAABHNCSVQICAgIfAhk iAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmly ZXdvcmtzIENTNAay06AAAAAWdEVYdENyZWF0aW9uIFRpbWUAMTIvMTEvMDm56ACm AAAgAElEQVR4nO2de5AkR33nP7+sfsxr57EPabWSViBpWSQhrbAkHgIOC2wMhjOY MMZnG85n+wgIHGeHA2xsbCPhsB0X9/DZF+fDjzOcfHd2+Hxg7DOSwMgYBAIdRuIl 9Fgh7UraXa20857p6e6q/N0fWTVTU53Vj5npnd7Z+kZUdHdmVmZ1VX3r+8tf/jJL VJVOEBEAHtmz527gFgSCpmIDQV0WebW0pKfa63qfDaavy8v8z760kU1LtVlRS1Ut p+oNTtQbBP6q5ip79970Q88996iq5hQpsN0Qkehv9uw51Dhz5v8BE9n8EDA91nkU 3P2i4m6eZEugmc0VdpuqevfJ7pdbV4f0dXlxe6vt96ONVJ633UyeIFSNaUdSRcTm ZxcYFIgxIdByrRQoxVvXUHgQHKnQ5IbRdXfe+aRCXZWPP7tkS1nr9fHuihbYTkRL S5cAI3n5vRLrMac8MaEsaBvNa3ezdZu+Ls9zU295G31od7UKVQKEABB/sWFtNC4C 7m9TVYFBgLWTAhVfVkCvxFI9mnyPjGCsoplbpNebd13eVtzAG0nvU7vrFEsErGJw J97iJZfP8iwwiBCp4y7jur6wAkakZ8WaBZ4GLrYCRjdJJOjqpt50G120uxVmZHvF 0tX8HLVKstpkFxgUaBRN0eZa9USskuqppsi3gIuh/eN1S82ojaT3WYVa0tu05xTL 9U3LRghECDWr9QAYG0UH2xxSgQGBWnsxOc6/kkhvXsEXzMyowlPrCKVrH3neuHX5 nt/deN26Ss945Hzle223bfnE09mmvWzdQgdXrOpQu+wCA4NGXobQo2IBKHw9uXEj ARMpYQnvo3yrVKif6tfJfNtM3UmaI5RgVQgEjBE0yq2p6GOdC1Dd7U1mA32suMKj gFUwFvf0TZ7E5wKROpbvsu/Va92K6+mWFKT9AVzUJrfA4OCCvAyRDSiWhW8BCwoT Cak6ubI2S55Oj/DtUKGuyqYcFjbeAhECY8DmjmyNtjmcAtuP5JJ6LXoBymJ6jrzg yMzMkwqPgTMFfaxq21fpEBHh69v4/llP5TfQF9pIv2xdhEmKVOBIlcSdlFhz/3m2 SqrqAgMGiSNjRHV/3jU0bECxYnxF4XusgXKoiIrzeoFXgaBHVekybTWvBxXadHqG MN3Uk5iBNv5VFsn306ruB3cBi3jBgYaXO4KzSnpWLACFr8afXm/cujx6V6F2aaTa 24gKtTs+b3obFermf6bTrLjqStJ2qKoYxxpw3PPa146o6l5fnvMIbpRYqg+oqqpV QgNBtPZETrbszZWX5itvVbEZ8micZjOBvHl1a7fHkq07u3U49m7/pwKRutkAgeSz R1UPfOaFLyziBQcYKydPVmnTFy6ZDZqCFo4JHBU4FApUcaFN7TyDvZhUW57ehadv o6Zp+j/7PIrp/Cg+lLIx7WSpIkFQmIADjPrMzCiqk9n05Hr3PECc4MbZ2TMKX7cQ Tx+R1YpzN48S5O3Tsa5O5T1tbab+dpvtop3kMyFW0P4hNNmYnh7LPfkFth22Xh8F pnx5BtfH2qjzInG7/4jFeQdLEdQDbRmj6UUJelKNDToROpWX1G+N2+mmjnS6z1mq uAlwictdRFrqdgV1MqrXc6cjFNh+aBiOkBPZXjIGdONeQYDPq2qoUFJdf0PmHlCX

ad68DkTy1bWRY9nMAHFWpbLpoQjJfICyCJHfgzqqzWZBrMGEe9aG4ShQ9RVIpgRt XLGs/SIipxQuCQ1UopwHcKejXP2hvZXvtf50WhfLA/TSXts64raExIkhGJSKwApe J4bB2uE2VRbYJmh8MSUML/L1kRXioRTdWB8L4GXz8w3gPoCmuDAdo2sNZE2hdONp MyvbP8krm9c36qp8mz5X2+Nr017uMeQMBSSewVDcU60s+adem81LU80UGBBIvPiL Wrvfl69AYGRjIU1pWLgTeGsyJSJOS7W0tSrUNn0bVKjXOpJ+VuI5ym1DdTxuR5OL WWBwoKoX5+U5j+AmnBcxvqIQopRWYnOwGbR/yJ5tIvnyzxaRsukJsRChbPKJpdY+ 3xUrSDWQUPUG4ApQZnMhTQBYax/FTXy8PgICK9iSP3q7F/Kspm2hCnUk31mYURwB DfdUWF37QvH0s1T3tDvWAtsLVT3QkoYjlIktkQ33sQBeubBQU/ii4lzuoSgl29ov yeubtKSnQqO6XSqtXV+obV+qQ1hUV8fbzTFk2glxz4sS5K0tiKpekpNVYDDwfF9i IMns8E0SC0DhjoRYkUDZshqQm95WQ4A8IUo2Q6RuQ5TahVAprTf1uva6qKPbUKZ2 IVhZokUS284ilPLXGCym5w8gRMTedfDgLlRbBvAVR6wyQkN1030sFP4ROIWyvylQ ie+6fphzHevY5Nyuro8hJ4K/mzpChBChLJqrWMDUp/btG1bVlaKfNVgIFxf3A97h kCDeamyBYr16fn5RVe9BlbpRjILYVtf2VqhQu8DcblWom2PoRYV6/R9NnAOjTBvP oOowqgeMMd7sAtuHqFY7QM5Cnc4UhIZuYhwrDYW/cjejMwNLuvG+ybp6u5wektdW L+V9bfnq6OV/tJRRJYr7WShU4mBNz2S5kWh5+UIKDBw0DC8WqPomOFZiT2+DTXoF VxuDLwHPCeytiTIaCcuBrhswzt13k67sbstvxnzrOq0Lz6LFqZaFdhMeK7bZzB0r KbCNiCKv48K52gVVqG+VYr1mYeFJhc8pLgpDWVvMc1BUKItu2+tGhZKtm+MSIFlC tZpPLEM8llVgMKCqSexDi6sdWBf/ucwWKRaAwh3Aj0TGud2HI1jooFp5GtK1WgyI CvmIn3dMCtRFsOo8g7nTR9ZG9xM+FthGrPZ3PatoKUmYmmDZIufFauWqn1DVOVWl IUpgk5cn9K5CeWnt+kHe8htJSylQtyrUzfGny6UX/a7kOzAugbXFSwpsP+4+fHi3 wpW+vMSsD4GlrTIFAb5/cXFG4TMoLBkoW1nnxOh2an7L2FZO8GzbOjztrUvLevk8 bXTr5eumrex/ilRp4p5q5ZyxLIWLv/CKVxQTHgcI9enpcTxxgoojllFlJb7OW0as uIE/A1CBhoGqdQOiG1WhDSmOL62NCnXbVtfHlI4cUf8csghnLgQiDGXqX2tIL136 7ndbpn8X2D5EtdpeoGUF3FViAYux13fL+lgAFu4Fjqly2VKgTDaFuVJ8Q+cg52nd sUxLeoeB6M2k+drK/0ed641wc7FM3M/KwYXh4uJe4Kk2TRU4i7D1+iFfeuK4MCLU VInYwj4WwBsWF59VuANV6rgGhiJdN5Uk74lv26R5900rUBsV8tWRTsuaqr5y3ahQ 3n/Ka2sFUJSKCOU4PzMuEtBoFC73QYLq87NjVxC/GjXuKy/iru+WEsu1rbcraCjQ MMpw5Bbz7NRnwZfWoS/Urn/Ttl7Pvnj6QmTayj4UOvXvyLaVqrcB1NU5L8o5Dgwb htf1cu4L9BcaRTe0pOFIVRGoqaWmFra6jwXwxqWle4F7RWHBQFVlncu9nQrRQYW6 UZe8ci1pHqKm0U5Zu2krSyRVTa2G6zyDdVxoU26Uu7UvyMkqcHaRXNqrfJkBbnC4 DqzEJbecWAAWbgeoi7oxLStu6S/YlAqlb/JeVch3k2fJ0037ZNtK1ZtVO98xwtog cT120VZM7mW4Nv5s16Ur0GeIiL3zggsuIWeeXBKatmzd4HDHd6BtFBb+VuE0qiwY ZVckqzdc+maD1pu3XVqL6ZUiqDdglvVkzNbpq7clLU1GT1vdBPxm20rSa/HnUF4E huqFnztyZKwYy9p+hHNzLwJalpUWHLEiVRZYu7Z9Idabl5ZOqOonAGqiiCpVdaqV IHuTdZO2zkxMmYrpOjvd0OnfXpMupTiJ989XLttGXt66tlLKhipLOA9hLrFg3+LD D7fY9QXOPqyLEWzhS+IRtMCCunt9y8ex0lD4mOIifZeNssvK6g2a68RoowzdOBF8 aS1tZVUt207Ovu22TgPCWXVLSLcMWJRAyHNgVG0YXrHJS1FgE0hiBNXaFkeS4tbh L8XEmo2HfPqmWABvWV7+MvBZAWaN62eV8TzVPc6K7MH7VKCntHT/qst9u26/jSu+ 0751oBavfTGUF9pk7aHUrgXOMowxeu8b3ziE6tXZPMUFUgcoC6rU6bMpmMDCR1Cl Lm5cayxyb4vP3oi9qlBLWg8q5Gtnq1Qo7zjzFDAE5oGyOmJB6xwfVK/71vvfHxT9 rO3D/Fe/uk9Ur/ONYVVFKAvM4sLU4GwQS/VOhe+IwmxgGY8ktSLs9qhQV+mbUCHf 5ts36Wstx3mJ271FllSvP/Hnf577vtsC/Udzfv5yoCW8LAmiFmBW3Ty75J7pK7He VqstKvwxwKIoKrDLGrdSEd2rkFctcvbtWgHzvHweFWo3EJw3ONxNGwos4byDVWPy puofCGdnvSuvFjg70GbzpS1puFjPCsKKdTGCkrov+0osXCP/XeGUBZ4zlgm7Ngep WxUiW24D6T6PYtf79qkNIUUsWA1tyiKq1wvP4DZCo+iVLWm4UKYq7hrOq66bW9d3 Yr29Vpu28BEB5sQSqDBmXV+rlzGhfqmQr77NqFAvbQjOa1qLz9VQzkCxRtHLN3wB CmwYqmo/e8UVY6i2eAST8StwapUMDCfXtu/Eio/wdlRnLTBjIvZEBhsvl+t7kmfT c5/8PSjEhtP62EbijZiLvw/nDxS//N5bbvF2wQr0D8YYXTl58gbAu7DPkLix2edo vYfPCrF+bGXlcRvP1Zo2lhIwlulreZ/yeV6+DSjEoLahqswCEe7VPt7xLNWLp7/2 tWsKz+BZhQLYev0mYCibEYhQicevTluLyVgyZ0exAAv/Hlhq4Mi115pW886jDluu QgPWhuBMwQWczT4s60OuYozbpaWb2p3fAluL5CGmqjdm8xTXtyqhLKplyWPJnDVi /eTKynGFPwxUOS0RVSvssi7GKm9MKK/PtSkV2oY20vtn0xTnpp3FDaBXxfjWGQRr bwIQkXRkWIE+4u7Dh/eKta/yXY+hePzqtLp+MmyDKZjAqv5nhbkQOGMi9keClTXX c3JwWXu1nyrUrza6TQdHuDlVQnU2RzlT3hWyr/7ckSMT2eQC/cPKk09eS2a5M8WN X1Vjy+JZdPWdZ2mcVWK9s15/QuF2AU4bSxlhwhoiulOIbqMfuh132kwb7VTI206e J1Hd+MccbvbpUM7ER4XDy088cXCLLkWBLmDr9Tdk0xQXG1hFWLAwa/0vQDirxIrx OwKnGzhy7Y/cNL8WEynHG+crm03zlfPu22Mb3aavpqXqbrev4Ei1gLsgSXgT68uI XVpqudAFth6pwNtbsnlC0r9yY1dz+CeqnnVivbNeP2nh90rAaYkIgN1WaHbpjdsq FfK1sZUq5HtJg6++JN0Az8a/R3Lc7jaKXh9/bbEUC2wdjDF6x65d16N62Jc/bJzj 7ZRq7kqq26FYWNU/UdVjTeBpiTgQBRhYm2Uco22fJ6dcngrl7ZuXl9tWFyq0kTSA

GXX2ekWEqt/tfuSOqakrC7d7X6EA0fLy9wG7shnleAuBZ9q41beFWD/TaJxWZxLy nLFEAhfaYJVYWxn90G5rp0K+aPluVaiderYbz6oBZ1Qp4waLs+wRmAoXFm6Ofxaq 1QeIiP3a299eUWt/KJunuOiYCjAdX6+BIhZABP9N4KsWOGZCDtiACmtrY6x7mvdR hbI3d0/7dkrr0pOYEKiOG8UPUEaMs+Mz/0s0it4w++CDUqhW/3D6M595Pqo3p9MS c93Nv4KTuOs1UKYgwLsajdDCBw3YabEsYLk0Cmiq7Rj9sJUqlN2vX+NZ1tNGtm4D nMY5MYZx3kHIjKGovuG+H/zB4t1ZfUQ0N/dWcZOD1537ssAoyjLKabVtybNtxAJ4 V6PxaVX9BAqPByF71TDJ+lCnNPIUIn2DwpqpmFUhm7Nvup1O5dIqZDMq1I5I6ePP jtslZQzO0zSj7jVII3ifiBONp5/+Qd/5LLA5qKo99vu/b9TaN/vyh8T1r2YVprX9 MtJbusT0RqDwAQOvW8TuOiERz4vKPBA0Wm72dfuov3uRtY18tpIvrYXEsdp0Kuf7 DZ7jTafFx553bAqcVOWACMPGMBetD7QQQMPwJ4A/VVUrItv6cNxJMMbonWNjL0f1 el/+MAZVeDozNOOtqw/H1xPe3WweVfidAOGYCakAB2yJOmuqQMbcSpBVhnRanqq5 BG1VtYwKJdiQCmUcHuuOP2ffNNFO4xaaqeIiMVpIqPqSv5uYuKZ4R/HWIQkVC2u1 t+BO/SpsnFDFxXWe1LYvZgcGgFgAVuR3VfXbTVWOSsjzrGFYZZ2XsK3pl1NuXVrm 5s6ab92MmeWajDnE7GrfTLkkKPeEKlXcmEkWAmPR4uKPur+lLbwrsDHcffnlU1j7 E768ERGquOuyROc3AQ4Esd7baKwA7wuAZyRkziiHbNm9BJvOTgRXqNU1niUTtKpO O9XbqAplFahjG6n6UPf+rJOqrACjIt7YQYmif/GFt7xluFCtrcPKU0+9GdWW2MAS jlghjlgR5wixAN4bhncqfNQgPCxNJtWwV83qklLgcV7kqFBWKdK/vfV49mETKpT+ 7T2uFImI604fawlnDs4AFdyYlgeHZj/1qTelqi6wQaiqveeaawLbbL7Hlz8k4sau gFPkL6GQxsAQC8DCLwucXEJ5zIRcZctUFMK8AVv8fZ925lxXbnKPi7+dYraUy3Pt p8az2h0fuJH943F/ctRvDqJh+C4oXqe6WRhjdP67370F1e/x5Y/Ga7MfV7fEWTcv hB4oYv18GD5rVX/BqOpxmqwIHNIyEdpyU+cpTm5al4O1G05LO0E2WV/S1zqpyiLK kCojtDoxxNpX/e3w8KtSuxboEYnTwq6svJuMl9wCwzgH0hLOG9gtYQaKWAC/EEV/ KfDnivItabBfS+zTEg1aTaaeVKjTvp3SelChDbWRqc+oMq/KE9aFOI0as3qxUoOW Va3X/zUUqrUZ3Dk6+lJRfWt2MU6DO+8V4EnV1dkH3WDgiAVg4X0GeXIGy1Fpcp1W qPrCnc4hFWpJyxDVV05w5scSbrB4nQ84zhdr3/Y3k5MvSjVVoHsoQLS8/AE8Fl4Z GMW9ffO46jrSdcJAEusXo+ikhV8oAUdpMI/lGlummXmqb6UK9bIo6EZVyBfMm7ev 4ub5zOBMkDIwZkwLcwwMMT//fgB1DC3I1R1UROydIyMvRbUlkkWBXcZQxpnkz9Fb NMVAEgvgfVH0cVT/FOAbUucCLXGQNZNwq1WIjdaXTuugQu3ayIMAj6ubTjKM8xJm 9xFrf/iTY2MvLlzv3SMxnaNa7Vdwp3UVGieM4JxIR7X30zqwxAKw8IsGvj2P5eum zrW2wiQBDdae9L2qkM8b51ON3HJdqFDevhuRE4OLeH9SlSFgzON6N7BLlpd/DYq+ VpdQgDuHh9+AqjcucEyEIdx5f5beiTLQxPpla+cU3lFCVo4RcUpCbrQVAiBMKVcv KuRLa3fzb0SFthIGR9Cj6l4TMxZHAHhU662fHBn5gdThFMiBiNi/v+CCoWhl5cPZ E5Wo1Zi4dwofjR/GO4pYAL9s7f3ArxpV7qeOAtdpZf1UfjauQr1ObNwKFeoVZeAZ 3NOzQm5fC6nVbvu7172uUqhWPpIQsOb09LtU9UafM2JX7Al8WpVn6G5AOIuBJxbA B6z9XYGP11HukxUOaonLKbtA3VS5blTIp0DZfX11bTcEeFjjMCdcf6tlXEv1pc27 734PrN1ABdbDGKN3TUwcjsLw1iypLM7zmngCH9b8NS06trOZgzybUPjZAHl4Gsv9 UufFWmUvASt4oiTaqJBP0XwqNGgo4TyEj8eqNR5HA8Da2EsAmDD88F+PjyeR74P4 V7YNyWBwND//7wSmfONWE7Gp/cQGPIFpnDPE+qDqDPCTAVJ7lCZP0ORlOsQI0hLy lGDQVahXCPAw7iUKYyKMSuv/CGBc5ud///++8pWl2CQ8F//qliNR8DtKpXer6j/P KpHiQpdGRZgFHmJz5DhniAXwa6pfFdX3Bgr/RJ06ysvVrVefXYjmXFChXhHgZhg/ rG4R/gmkZV0MAQy8pvnlL/8bIBnbOt+hxhj99NDQtTYMf6clE6dME+LWG3kojnrp NOeqHc4pYgH8OnxU4Pci4B5qTGC4nioNWvscOxFl4DF1UdYjwDhe1SIIw9/++Ojo ywqT0HkBP3/gwEhYr98OTPrUalzc+TyBM7c34rBI45wjFkAIvxTA3y6gfIEVrqDM 1VRWX668k2Fwg5bfiB0Z4yLeAN0AqmZp6c8+uXv3peezSZj0qxafeeYPVPV6n8Ni FBhHqCl807rB+M0S45wk1m9CQ+CnyvDgKSL+iTrfQ5VLCahv98GdBZRxivVw/H0i XpIraxIGcKWdnf2jj73xjcH56IJPSPWpUunXbRT9y2x+YgJOxpNJH8ENa2zFQjDn JLEAPuTmnf1IBaaP0uRBGtzMEBcSnBfKFQDficdZRnE3h6+Msfb1u+6444/h/HoF UOKsuLNS+XEbhh/OC6CdFGEYeBp4UP0vONgIzlliAdwK3xF4SwmWHqDOCSK+l2F2 ITueXAHuvUwP4MZcxnEEy8pSGShZ+6/+qlT6MJwf5BKRyBijd1WrPxo2Gh+FVlJZ 3PrR47iFex7AvadsqwhxThML4EPwBYF3BRB9hRXOEPFaRhhFVtfM2Kko4xbm/4a6 CXhTcXybsn6hyQpQDsNf/0SpdCvsbHIlSnVXqfT2sF7/H0AlYP35UJyjYipW+W+o ri7tvVU454kFcCv8LwPvC4EvsUKI8s8YpgQ7nlwlXN/gu7iZrrtzFp8pA4Thh/7P DiZXolSfrlTe1gzD2xXKWZe54s7FVLyOxaPAUbZ+gc0dQSyAW+E/leG2Osrd1Cgj 3MIIZdwY106FwT2F74/7WyM4Z0byZE6QKJcJww99Igg+8r937y7tJHIl/+WuIPhA s9H4nxorVRoWZ0LviZX9KeCBWO03GrqUezzdjB+Kf5WggcSt8AdNeM8Uhu9jhDks n6NGk63rmA4imsAE8BoRxnDhT9PaukaDjcuqMZ82Q0M//ebl5aettXIOr6irImK/ eOGFY/OnT/+XSPWdibdvXSEceXaLMInzfP1DPDt7K03ABOfqyWyHn6vAx2aw/D3L TGB4NUM7XrnKwCzwZVWWcZ3yKc87tgxOucTa10W12mc/WS6/1hij56J6iUgkIvbv h4dfPHf69F3NLkg1jgsJ+1J8nvpBKtiBxLoVrIWfLsPtCbkmCfheRijtcIdGBec2 /mo8N21SlUk8c7fiskb1cNRs3vXXpdJvfPHaa6vxjTrwBEsf512l0s+t1Gr/0FS9

WWhPqgncq3e+rMoZT9ktPcadZgqmcRt8tA4/tQfDaxlhFss/skyI/72xOwGKc9i8 ALgB9+Scw5mGsL4voTizMAJE5MvlUunX3tRsfhZAVfvR9dgMFNZmSH+mUnlVs9m8 LVS9xeJI4nNUCLAbF6FSxynVU2Tm4vcBO5pYt7r76qNNeKfrcw0zh/I5ajTYWvfq IEFxY1yHgZtYW5RmFryzYSMcGS1gjPnLUqn0229qNL6+Wp/qtj6H0ir6mUrl+jAM f7Fp7Tsi3H8p0fqfErLtZm2s6kuwSqp+39E7mlgJEuXaHTs05rHcQ43lHezQSNTo SpxyVYF5HMGSBUF95UOXtxSI/EVlaOiPXl+r3bdaxqkYnt37cfjr1u/47NDQK5v1 +k+Hqm8PnfOTEn5zLpmwOAWM4R4o9wBn6F+fKovzgli3uof2R5vwjsRb2EC5m2UW zgPlugR4Oe4mW8SRq46/gx3hCJaQryTy6UD1rycOHvzEK44fP7Wu/i00F1XVZleZ umf//guXTp36cSvyhkj1+xNVLeEIYvCvOzKKI9UwLqbyS7iHytm8zucFsRLcBv+2 Ab80HnsKKwifp8Yz2JbFMHcSmjiT6OXAHhypZnDmEfiZEcb7Jf2UAGYMfDEolz8u 1j6w79ChYzc89NB0XpvWWskSxZeWxpcOHty9/OSTV9ggeHEYhj+s8DILk4nDKcBv 9sHaGNUELlTJrUkJ9+Nei3S2H57nFbEAboXbmvAbwwjfyzATGL7ICscIz4rtvV1o 4iIzbgCuwCnTAs6xEZt/XvMwcYYkN3c8kbIpIg8ZkW8bax8plcuPmErl8erY2PE9 ExOnr/r5n7f6nvdEkrlxVFWX3//+0qnPf948/fjjB5qLiwejMLxcw/BKFbnKwiGr +qL0RNXE01fyHF/6GIdxpBrFPTi+iZsFDNvjqDrviAVwG/xsEz5SRoKbGeISSnyF FR6hSZmdS66EQIeA63A3Yw1nJi3jd2wkERwJwdI3fZK/SjaoCzQQOSVuDNZI6nQq NOP3T+1WqFoYUgiys7yT9TuSLQ8Wp0S7cGZuFWf63Y97q/12PijPS2IB3AZvCeFP DUwdocJ1VPkmDb4WL7G2050ae4AjuP4XuL7XPKy+j8xnbqVJlhAsu55+umx2v/Qx SOozJiZB6nu2/5TeN7k+ozhSDeEeEA/h5qjVOfumXxbnLbEAboNXhPAXFi65mjI3 MMSThNzHCkto38c6thPJLNnLgauBSRzhlnAkS5Y6yJvHlCZLdm2RTmsBSM6WrTeN pM4yTmnHWFsC7jjwHdzL+jqp3NnCeU0sgNvgUgsfa8BrDlLiVQxRQ/kCNZ7F7uh+ V6JeYziCXYEb84lwpuEybq5XokrdvG0jOwDda346L91mFUekEZxCNXHm3iPx56BZ Gec9sQB+E4ZC+MMQ3rkbw83xZMn7WOExwlUzZaciwj35E4I9H6dgEU65ajiCNVjv xEh/bhaa+Uw8gEM4QlVxalXH9aMexREqcb8P2h1aECuFW+FXQ/jNCmJeQpUrKfMg De6nToPtt9v7DYsjzi7gIuAynJt+GHfD13DkauJu8JC1/hb0vlpNeoc5xvsAAAw3 SURBVKHMxPtXjrcqjlTJTOkFXNTECdxLIhLHxaCiIFYGt8Hrm/AnwMUvpMxNDHGG iHulzjR2R3sNEyQKFuCIdbHCbpQ9rPVrkjJN1uINs0TLQ+KcSPpDZda71BMyzQDT CCeAZ2VtXG0QFSqLglgexP2u/9qEN15IwM0MMYLha1LnqLjXOw+SPd9PJJEYVWBc XR9sD8puYDRe1DIJgE0WD+0UHp+Y1RFrhAxxjpMFEZ5DmBPnRFlmjYDn0l1YECsH fwLyJNzahN8YQbiRKldS4QkT8gANFsVS1vPjvAixSsVLWhtN5nUpY6y9pGFInfp0 8qau4Ii0Iu77Ms7Ua+Dmj0WxazDg3J3XVBCrAz4Mb2rCf1B4weWUuZEqiPBPpsFT RAhKcE49S7cO6fGs5Luhc98neXFg0rcyqe87BQWxusCH4CKF3wvhbZMYbqLKxVLm mIR824QsYFdj2M7L5WYz6HQOzoe7qSBWK3yeZAvwIXhXCL8VwN4rKXMDVawI3wia PCWWiMH2VBU4eyiI1Rp9k462SedHgH4QDgn8RwtvmsRwA1Uuo8IpE/FgEDItdp1p UyjY+YnzmVjZSJoE2cl82XI1QD4I7wZuLcEFl1HmCBV2ScBRE3I0iFgRKOn5YfYU aMX5RCyfMqW/px1QJpOfXVw2BGo/A5dfAL9l4MdGEK6hwlVUaBh4KIh4ytjV8aAd cQYLdI3zhVjZWM8scXyxoO3SkjpWAPteeOs4/EoA1+wj4AhVLqHMjFEeLYU8KxZl Z4dFFViPnUysLCmMJy2PQL59fPslXKldBBf8MPzMJPxsCXZfRokjVJmSEqcDy9Eg YiZewqFQsJ2LZPhhJxIrjwRZlcqSph3hsvnJ2GUptVmgfj1c9Wp49wi8bhQZfh5l XiQVxsRwwijHgoh5cee8ULCdhRClhDBlZccRy0cGH4G6ycsjVjbMLR3uFhBPtH0N vPQ6eMcovGIXwhVUOCxlRiTglLEcNxHzRos+2DmORKECYK81HLQBkzuMWNmbP9nS eVkidfrtI2JCrHTsqI9gdWD4tXDjNfD2Cbh2DOFyyhyWKqNieM5YjhvLvLGri4ie E2e6wGpMZAXYbQ2X2IBdVjijIQ9qY8cQy6cqaZL4CNQNqXxlknjTZIZD2hxMEysJ xgiB6g/AP7sKXj8Gh8YRLqPMIakwiWE2UE4ay3PG0kw1VGCwkI7cr6pwoRr2R4Zh FU5pyKPa4GmaNNg5faw8ZfERxGTyYU0sOilZ0rcq055Y2c0A9QpMvgKOvBBevRuu HkO4lBJXUmGfBNQNnDCWM4FlueiHDQwSdQqAMSvstYb9UYBFOaUhD2mDZwkJgWU4 dRQ+v1OJlSaKj2Tp+E/fZ5ZQaWJlzcAKflJlfyfHpEDpJXDd9fCyPfCiUTAXEnC5 VDhIGRWYM8ozJmLO6OrU+IJkZw+JOgnuQu62hn3WMG6FFVUe0ybHaDJNRATMw/Fv wVfuha8vw8xOIRb4TTYf0dKzEbJKlV4oqJ3SJYRKkyqPWEn/K02wADfNaeQFcOlL 4CX74fAEjO3CcBkVnkeJCROwIsppY5k1TsUiir5YP2EBK1BWGLOGKRX22gCxynMa 8jghT9GkjrIMjRk4fj/c9zU4GropZAaQnUQs8DsZfCqVNQfTioQn37dfllgVWh0a WWL5SAZgL4EDV8MLroYjI7B3EmEvAZdS5hIpURFh0cCsWGZMRD0mWfrgi7jE3pFW JoMwaoXd1jChhqoVljTiCQk5oU3OELEC1GD+CfjON+GRR+AYazNmktUNop1IrOQz S4QsadqRrh0ZEwJmlaqaSSt7yvi2RMEsIGXYdQQOXgMv2gsHJmF4BMMBShykxF5K lAUWjTJtLMvilCyUtQmIBdpjdYk2UcoqDKthlxWmrGFIDctqOU3IEzQ5TUSIsgjh NJx8GB6+Dx5bceqUOHMjMhOidxqxEvj6XD4iBbSSph2hskRNEyxZSCghkc9MzLrl 0x7E5HsyrctcDBcchoOH4dAU7BuGYA8Bewi4mBJ7CCiLW4J23ljmxFKLp69EEv/5 IhAYlZQqKZQRRtUwYQ2jKhgV6qo8Q8iThMwSMYelCboEsw/Do4/Ak4/BMzgTPlGn NJnOC2IlSLvffSQKcj7bkc1XJjEFE3Ow3ZYQKSFe1kxMu+o1/hMjB2HPdfC8i+DA HrhgF5gqhosocREBUwSMi2AFFrEsGuumvoulGRuJa+MRa9fznL2yGWjmV3pGc1WF

Cs4tvssaRtQQosypZZqIE4SryrQCzMCZZ+DUt+D4o/BM5GY0JK/jSpyELWRKbTvO FMyDzxXf7ZZHpuyW9hJmCVahVcWynsM06YLM98TCU2D4Sth7BVx0BVw2DlMVKE1h GEPYTYn9BOzBYERAlAY4kxFL3VgidDViIH1y4NwhWnq1XUURZPUClWLzbgTDsBqC eG2ShirPEnGKkBnc+ZhHCSFagvlj8PSjbjvTdMtwJOc9WZQqa/LlEat5vhArDZ8X ME2cdFrWS5jOyypakPpME6qS+Z01DdPmYtYsTI+DJb+FtSiayn6YuBYu3Q/7pmDP HhgLgGGEvZSYwjBJwLgYxjAEKDUsDVG34RStKUqITS0rvf6ab9cd4FMiN/QglBHK KpQQKmooYxhCqKi4tQjVMo9lBss0IWewhI5IzMPyLEyfgme/DU8fd6utJW8vShPK t4X4CZXsv+NNwW7gG7NKk8RHKF//LLt/mhhpkiXKlSWbT7kSgqXNxCDTBsRE2w0T F8PEpbDvErhoAvYGUBkDGcNQRRjDsCc2HUeRtcoELBqvE2hpiKWBEqKoJDe0tijF +hch9HafpPdOFCetnElaoEKAUMVQVuMIhaAIVt1xu0U910i0hHtoLDrzTkOoL8Ls cTh5DE6fhvnT7i1GTdZWbkssyIRA2X5UWqWaqd/NVH6D81SxOqEd0fI8itkyvry0 MqWVLGs25nkPs0oWZNpNLtLqu66HYPgquPBSuGASdo/B+ARMjbg+PJWYaLvibRRh OH7qDyMMIXEvXQlFsbhtzZR0v4m/Q3cu/zXyrFExQDA4Aknqd0ldKbfuoGUFqKMs rZpyliUsC/ERKLAMdhHm5mF2BqafgmcfgdNLayuvJUsfJk6IpN+UfCakSitTlkyJ OiXpyVYQq0tk+2ftyNbJRZ9HMl9/zNcPyxKrhF850+0m3anyKIxdCGO7YddFsG8f 7B2HPWUYEqhUwYzgCFeKtwpCFWEEpxSjcfpoTIvkD7n+mq4Sox2cDKz1i9wd7Uy0 GjZeL97Gg7BKHaUZq2eI0nCDs4RgFRoNqM3C9DSceQqenYGF52BpwfWTkherJI6H 9Gpt2S2PUC2mXuZ7svL2KrkKYm0MeWTzbd0oWbpfljYd02ZjHsmyJmK23bQpm36J x2rbkzB6GezZDZOTMDEMo8MwNgRjVRiqwvBQ3O/I3gnlmHjJXTQUEy/vrhJYJUqC Fax39VwLrEC0ArUG1OpQq8HiIizMwfwZmDsBM9OOQAkxwlQVyYMlTaiEPFky5Zl+ WRIlqpR8T2+rpmJBrK1HHul8zpG8z6wqZfti2XGxrJu+nZr6VC0hHaTe6zYOwyNQ HYbqKFR3wegIDI854g0LyDhMKYgFOwaTgYsGagsDrMDSCtSMM0ubC+69dyzAQh0a s7BQg9oSNJehvgQrS24qzjKsBp0kxwt+smjmdx6hsltaldJkSqdn+2HptUsLYm0D sqTzqV423Wf++Rwd2TLZfliaaAF+4mU9ocl3UnnZY06QpKWXj8tCU2XSvhDr+UyT Pb1lb2af6vg+0+XzTL2soyL9ma4ja1au+yzl/PkC/UP65vBBMls6zaeAWbK023wm aF5fzbdflnDpY4R8MnU6H9lPH5GypMgSJjuuFNFKvk5b2olh8R9H9jjTx+5+qFIQ a/CQvmC9wEdE8KtgekuPlWWdLen0tFqlCZa0l14izndsef/JR6zsTe0jVpTJS5Mq qyxZVUm3k1bPLUNBrJ2Dzd4cWUIk5FHWEy7t/Ej/1tR+vrrSx5Z2oqTTkk/L+nqz aWnlyO7fK7aUUAm66mMVKFCgN5jORQoUKNArCmIVKNAHFMQqUKAPKIhVoEAfUBCr QIE+oCBWgQJ9QEGsAgX6gIJYBQr0AQWxChToAwpiFSjQBxTEKlCgDyiIVaBAH1AQ q0CBPuD/A5VDwOxI/lGRAAAAAElFTkSuQmCC ------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline Content-Type: image/png Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/bullet00.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABHNCSVQICAgIfAhk iAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmly ZXdvcmtzIENTNAay06AAAAAUdEVYdENyZWF0aW9uIFRpbWUANi83LzA55AzCUwAA ALdJREFUKJG10bFNA0EQheFvkaEMXACB6eCmA0s4JiEidCmmAiow4jrYSxC5EyKk owwIjmTOOtAJyQGb7JvZN6P/acswDE45Zye5sRhFKUWtdY0dltnusY2IdiQpo+i6 bo2nNH6i5MKCm6Zp2t9ID3m/4ArXOGRvN5dhmdtuI+I9It5wj68J4mzo8le9mOge l9jXWu/S+Jiefm5giz1WeJ2EHt9+IkXEMzb4wAXOU28ioj3y/ftPfwNNcS4RkLNz rQAAAABJRU5ErkJggg== ------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline Content-Type: image/png Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/error000.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhk iAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmly ZXdvcmtzIENTNAay06AAAApISURBVGiB7ZlZbFxXGcd/5854bI+NlyxjO2vdpG6b

zalCy0MXLITUFgQpPPBUiRQJ+oJohFTxVom+IqGkj0gIJB4QTzSoEgXx4NACFVHT uE2aZmubxI493rdZPPec7+Ph3jtzZ3PslKpC4khHd865y/n/v/2cMarK/3LzvmgA n7X9n8AX3ZK1E8aYTX+kmEn3AM8BI8BRYDh+XwANrmMCFwRGBV7fOp1f3OxatT5r 6iY2QaCYSY8AJ2XbluPu2EHcwSHo7UYyW1BRUAUVUEWtj5mYRGdmkQsfoVduQWHt jMCp/mxudCPrGWP+OwSKmfRRWlKn5dBDT/lPP4nbMwAGpFREC8tIfgVdy6POBgS8 JF4ihWlrx7Sm8VLtSLGIfHgV/89vI/MrZxVO7snmLnzuBIqZ9CkdGnqp9L1v4Pb2 ocU8bnEWyS+D81EVEAWRivTFhTbkQARVJdHRRXLLACSS+Oc/oPDGW0ihdHpfNnfy cyFQzKR7aEmdtd959og/8hVUfezsHaSwHABWF5pNABpxIfiasROMSkDQGLyOHhJb +pClefJvvkPx8q0xgZED2Vydf9wzgWImfZTu7t+VXnz+kHtgD25hGrswGQIPJK4h QCJwoaRRxYgLnonuaXQ/1JYxGC9BYusAxQ9usPzXc2MCJ47UmNQ9EShm0j10d79V +vELh9zuDHZuElmdDyQrcbABGKMSSl1iBKUCvqwtqZiVc9i5OyS2DJDa/QCFK58y 98a/xgRGjsU00YhAXRita+3pv5defP6Q29OPzd5EVpdikqyYhgnHqkL/K39o+KnJ n30TxAXvu4CcEYcUchinyOwkvvVpH3yAnq8fG57527ujBGG5aVs3kRUz6VP2+DOH 3b7d2OxtZHUJRDAimMhRRcGFUg6vTZuz4ATjom+EplXIhd9xuNks/vgNOg/uJz20 a/iffR2n7olAMZM+yoGHX7JPHEPmp5GVhXIUwUlg885VIouTsjk0J6Dl93EOnCD5 HLq2Fmoz8Bk3O4mbmWD71x6DttRLZ/s6mmqhuQbSHa/5330WtSXsQra8YABawEZk Ig24QLJunerWueC9SGPWIsuLMS0qRhTjBHvzGp4K/SOP4KCpFhoSKGbSIzp8+Em3 Yxt27g74NuawijpXXijSgrHh/fU0EJmcONQ6dGkB41zZJI1oRUvWYT/9iK7BXSS7 O776l76OkQ0TINX6U/+pR5FCHlldwYTSjTRgQnstRyJXAa8iaDHX8LPGCibSQj6H FgsxUlGvjN38DJJfZcdjBxBomODqCBQy6R7JbP+W9m9D5rPBgi5MSDVAiZEKckFA zB+/UbdQ6eqFwGzEQamErCyVzaZhDyObTN2ma9cAprXl+JmgaFyfgMBz7shDqGeQ lcVA3eKqwFek7srgcS4wB9s4CqlIUBv5Fjc/G7ynFcCBCVVMybhgXuZm8DxD964M Lqh41yfgYMTt34sU8mBtEF2cxiJO4HBGonCoNaTC/BABV8Vai7UWrEMWZurs3tSY TtyUtFRCC3m27BnABeV6VatLZA6Omp5uNL9SzqzlbBtlWBcv1KSqfCDKsICI4JwL urXo8iKU/PC+lp8LmYbX+rEuL9Da0Y5rkNQaERhO9nSj49dCNQsIlVonVmlquTSQ ckaOxtbaCnjnsMUims/dFSyAiZNTRVeW+dL9O5GajRI0NqFA2oVCWZ3qbFXGRRzq Itt1ZUfHBeGvlB0vm025+6WGzmpEMBqaUlSS1DyjudUgKtWCbaKB4CXfD6JNub53 mLD2UYkWimuiUhvZ7ASEwMsaeP+dAHCNdKs0UTcXPKuF/MYJCIR27sp1T3UJrLEI Erf7ym9nHer7VSYkInhRndSMQB0hxShB0FCt4rm+BnwfYxKoW4sB1BonjrRRydCG oCZS58rSt9ZWwEu9dONjUzOOfptES+XdjRDQtSIm2YIWorI33LBEZuIE1MWiVDUZ VyrhQg1oXKqi9dKNSz4u/dh7XmdX9TOx1siJx0o3b2La0rHkZStxu5zAYpnYWjTK BWtr2Nwy1trqzYdqLO5H5XhNd9FVYmPB6+xmaWYeYGwjBC64qSm81o5KsRZFGOcC oBHw2sxcKOLmpuH65XpRlTVQC7xxAosnOa+9i8JqAaDu1KKRCY3mr936fvuRI0EW jhy6kdNGpuQU46/h5qaDsPrhOczPfxhDDuaTKxUC5enw3jpObVKtmNZWpsanAEbv SkDg9cLk7G9kaQmvowtZnKtEIIk26PEQqmhuJXwuXHllGXPxHI0cFQVTM64CX0PA 683gnDKVnQN4/a4EDk/nF89nOJP76OrxzsMH0YXZsB4SDNUlg4qgywvI8lIVGD3w 5drPBmAunlsHcAOyGBK77iM7kaXk2zMvTOcXT9yNAICDU3PvXTneuX8Q09GFLsxB XPKiqPOR+Zmgpo+p3gD+q79u9FlSxw81IVBTSoQEEv278JIpLl26Dk12ZQ03NI9O 50cLq/mzK1dvYFrTwVFLuWxWtLCKm5yAfB7jtKaqbBzugIaOW36/fA2EZFpaSey+ n8lbE6zmC2dPNDk/bbonFjg5fu4SUihiOruD+nxtDZmZQrKTGN9vHkXWIXD3Mjro id37cHi89/4VaLIba0pAVXk8m7tQKtnT4/8ew0uk0PwqbuImuhodJWqTsNhcA6Zu BxYbR1FOQ9PJDPD+excp+fb0iXUOfdc9FxrJ5k7O3M6OzX58i+S+AyS29dckHakk n3iCataabR/LmyQlObCX5L6HGf/4NrcmZ8ZOrHPYCxs4mXMwcv385VEvmRzuvW8I 1OCmxkOgDcKgQuvTD9E4qhBz1PqYn9ixm8TgEJPjk7x76eoYDXZgta3h2Wjt3Bt9 HUcFfjt09MHh/sG9uKlx7I0rwUlbbQiMA44npDjYGsImlSIxOITXv5Pbn97m3Q+v jQEnak1nw4e7jf56/WNfR4/AaP+OzPCDjxwkoYK9egmZna4j0Ei6jYmB17+T5H37 cckkYx9c5tbU7BgwcuKzHK83ImDCY+vfZ9KnWlItPzl0cIi+XQNoPoe7/TEyMw3W 31CCMskU3vY+vD2DmLZ2piamOH/5GmvWvfaD6fzJgHM9iE0TCEEbAmf3wt/ml1vb h3sT5hed6bYnDz54P5nMdhIa5AddWUFXV9DcKlrIo9ZiUilMVw9edy+mswuvrR0H TE/PcPH6TZYLxbfmnb788lxhLKSpBHsrCbnopgmE4D0CR496nIj3Sm/b4zuT3o86 U8ln+rf2MNC3nXRbG9290flTte0vzi9QKBS5Mz3L1Pwiq757c8LKr15dKP4jAhsD bmNdVFU3+weHCUG3AimgBUiE873hfAuQGGzxtn473fLEzqQ33Omxr92YfTRoBdUb q8KNCStjf8r7b3/iyxzBHsoH1oCFkEQ0VwrnbSSGuxKIEdkwgfD3Zv9g1hDchgg0 8omNEFjXhMJr1O+lKdU2v64JbZYAMXBVTtygw71poJZELaGIVDP8d83EtR9sBvyz aqB2La2517T9B1oZX4LRH8iGAAAAAElFTkSuQmCC ------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline; filename=error000.css Content-Type: text/css; charset=utf-8; name=error000.css Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc

uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/error000.css Content-Transfer-Encoding: 8bit @charset "utf-8"; /* Stylesheet for the Opera error documents */ /* Copyright 2009 Opera Software */ @import url(opera000.css); html[dir="rtl"] title { left: auto; right: 10px; } html[lang^="el"] title {text-transform: none;} title::after { content: "!"; speak: none; } html[lang^="es"] title::before {content: "\00A1";} body { color: inherit; margin: 0; } h1 { background: url(error000.png) no-repeat ; padding: 0 0 0 58px; line-height: 48px; } h2 { margin: 0 0 0.4em 60px; } html[dir="rtl"] h1 { text-align: left; padding: 20px 5em 15px 10px; } dl { font-size: 83%; margin: 10px 0; } dt { font-weight: bold; margin: 0 5px 0 0; display: run-in; } dd {margin: 0;} cite { display: inline; } pre { font-size: 90%; white-space: pre-wrap; line-height: 160%; background-color: hsl(0,0%,98%); padding: 15px; margin: 20px 0; border: 1px solid #ccc; overflow: auto; font-family: Consolas, Inconsolata, Monaco, monospace; } pre em {

font-style: normal; padding: 2px; speak: spell-out; } pre em.error { color: white; background-color: hsl(0,100%,40%); } input[type="text"] { width: 50%; min-width: 15em; } p, ul, pre, address { padding: 0 0 0 60px; } @media print { * {border: none;} h2, h2+ul, head {display: none;} h1 { font-size: 13pt; font-weight: bold; page-break-before: avoid; page-break-after: avoid; } } ------------5CkDtfGSYcOJmtn6EDynoP Content-Disposition: inline; filename=subscrib.htm Content-Type: text/html; charset=utf-16; name=subscrib.htm Content-Location: file://localhost/C:/Documents%20and%20Settings/Kompie/My%20Doc uments/Gothic%203%20Cheats%2CGothic%203%20Walkthrough%20-%20GameSpot.com.txt_fil es/subscrib.htm Content-Transfer-Encoding: Base64 //48ACEARABPAEMAVABZAFAARQAgAEgAVABNAEwAIABQAFUAQgBMAEkAQwAgACIA LQAvAC8AVwAzAEMALwAvAEQAVABEACAASABUAE0ATAAgADQALgAwADEALwAvAEUA TgAiAD4ACgA8AGgAdABtAGwAIABkAGkAcgA9ACIAbAB0AHIAIgA+AAoAPABoAGUA YQBkAD4ACgAgADwAdABpAHQAbABlAD4ASwBlAHMAYQBsAGEAaABhAG4APAAvAHQA aQB0AGwAZQA+AAoAIAA8AGwAaQBuAGsAIAByAGUAbAA9ACIAcwB0AHkAbABlAHMA aABlAGUAdAAiACAAaAByAGUAZgA9ACIAZQByAHIAbwByADAAMAAwAC4AYwBzAHMA IgAgAG0AZQBkAGkAYQA9ACIAcwBjAHIAZQBlAG4ALABwAHIAbwBqAGUAYwB0AGkA bwBuACwAdAB2ACwAaABhAG4AZABoAGUAbABkACwAcAByAGkAbgB0ACwAcwBwAGUA ZQBjAGgAIgA+AAoACgA8AG0AZQB0AGEAIABoAHQAdABwAC0AZQBxAHUAaQB2AD0A IgBDAG8AbgB0AGUAbgB0AC0AVAB5AHAAZQAiACAAYwBvAG4AdABlAG4AdAA9ACIA dABlAHgAdAAvAGgAdABtAGwAOwBjAGgAYQByAHMAZQB0AD0AdQB0AGYALQAxADYA IgA+AAoAPAAvAGgAZQBhAGQAPgAKADwAYgBvAGQAeQA+AAoAPABoADEAPgBUAGkA ZABhAGsAIABkAGEAcABhAHQAIABtAGUAbgBlAG4AdAB1AGsAYQBuACAAbABvAGsA YQBzAGkAIABzAGUAcgB2AGUAcgAgAHQAdQBqAHUAYQBuADwALwBoADEAPgAKADwA cAA+AEEAbgBkAGEAIABtAGUAbgBjAG8AYgBhACAAbQBlAG4AZwBhAGsAcwBlAHMA IABhAGwAYQBtAGEAdAAgADwAYwBpAHQAZQA+ADwAYQAgAGgAcgBlAGYAPQAiACIA PgBoAHQAdABwADoALwAvAHcAdwB3AC4AeQBvAHUAdAB1AGIAZQAuAGMAbwBtAC8A cwB1AGIAcwBjAHIAaQBiAGUAXwB3AGkAZABnAGUAdAA/AHAAPQBnAGEAbQBlAHMA cABvAHQAPAAvAGEAPgA8AC8AYwBpAHQAZQA+ACwAIAB5AGEAbgBnACAAcwBhAGEA dAAgAGkAbgBpACAAdABpAGQAYQBrACAAYQBkAGEALgAgAFAAYQBzAHQAaQBrAGEA bgAgAGIAYQBoAHcAYQAgAGEAbABhAG0AYQB0ACAAVwBlAGIAIAAoAFUAUgBMACkA IABlAGoAYQBhAG4AIABkAGEAbgAgAHQAYQBuAGQAYQAgAGIAYQBjAGEAbgB5AGEA

IABiAGUAbgBhAHIALAAgAGsAZQBtAHUAZABpAGEAbgAgAGMAbwBiAGEAIABhAGsA cwBlAHMAIABsAGEAZwBpACAAaABhAGwAYQBtAGEAbgAgAHQAZQByAHMAZQBiAHUA dAAuADwALwBwAD4ACgA8AHUAbAA+AAoAIAA8AGwAaQA+AFAAYQBzAHQAaQBrAGEA bgAgAGIAYQBoAHcAYQAgAGsAbwBuAGUAawBzAGkAIABpAG4AdABlAHIAbgBlAHQA IABBAG4AZABhACAAYQBrAHQAaQBmACAAZABhAG4AIABwAGUAcgBpAGsAcwBhACAA YQBwAGEAawBhAGgAIABhAHAAbABpAGsAYQBzAGkALQBhAHAAbABpAGsAYQBzAGkA IABsAGEAaQBuACAAeQBhAG4AZwAgAG0AZQBuAGcAZwB1AG4AYQBrAGEAbgAgAGsA bwBuAGUAawBzAGkAIABpAG4AaQAgAGoAdQBnAGEAIABiAGUAcgBvAHAAZQByAGEA cwBpACAAcwBlAGMAYQByAGEAIABuAG8AcgBtAGEAbAAuADwALwBsAGkAPgAKACAA PABsAGkAPgBQAGUAcgBpAGsAcwBhACAAYQBwAGEAawBhAGgAIABwAGUAbgBnAGEA dAB1AHIAYQBuACAAcwBvAGYAdAB3AGEAcgBlACAAawBlAGEAbQBhAG4AYQBuACAA aQBuAHQAZQByAG4AZQB0ACAAcwB1AGQAYQBoACAAYgBlAG4AYQByACAAYQB0AGEA dQAgAGIAZQBsAHUAbQAgAGQAYQBuACAAdABpAGQAYQBrACAAbQBlAG0AcABlAG4A ZwBhAHIAdQBoAGkAIABzAGUAdABpAG4AZwAgAHUAbgB0AHUAawAgAG0AZQBuAGoA ZQBsAGEAagBhAGgAIABpAG4AdABlAHIAbgBlAHQALgA8AC8AbABpAD4ACgAgADwA bABpAD4ASgBpAGsAYQAgAEEAbgBkAGEAIABtAGUAbgBnAGcAdQBuAGEAawBhAG4A IABmAGkAcgBlAHcAYQBsAGwAIABwAGEAZABhACAAIABMAG8AYwBhAGwAIABBAHIA ZQBhACAATgBlAHQAdwBvAHIAawAgAEEAbgBkAGEAIABkAGEAbgAgAG0AZQByAGEA cwBhACAAYgBhAGgAdwBhACAAaABhAGwAIABpAHQAdQAgAG0AZQBuAGkAbQBiAHUA bABrAGEAbgAgAHAAZQByAG0AYQBzAGEAbABhAGgAYQBuACwAIABoAHUAYgB1AG4A ZwBpAGwAYQBoACAAIAAgAGEAZABtAGkAbgBpAHMAdAByAGEAdABvAHIAIABzAGkA cwB0AGUAbQAgAEEAbgBkAGEALgA8AC8AbABpAD4ACgAgADwAbABpAD4AQwBvAGIA YQAgAHAAZQBuAGMAZQB0ACAAdABvAG0AYgBvAGwAIABGADEAMgAgAGQAaQAgACAA awBlAHkAYgBvAGEAcgBkACAAQQBuAGQAYQAgAGQAYQBuACAAbQBhAHQAaQBrAGEA bgAgAHMAZQByAHYAZQByACAAcAByAG8AeAB5ACwAIABrAGUAYwB1AGEAbABpACAA awBhAGwAYQB1ACAAQQBuAGQAYQAgAGgAYQByAHUAcwAgACAAbQBlAG4AZwBnAHUA bgBhAGsAYQBuACAAcAByAG8AeAB5ACAAdQBuAHQAdQBrACAAbQBlAGwAYQBrAHUA awBhAG4AIABrAG8AbgBlAGsAcwBpACAAaQBuAHQAZQByAG4AZQB0AC4AIABBAGsA cwBlAHMAIABsAGEAZwBpACAAaABhAGwAYQBtAGEAbgBuAHkAYQAuADwALwBsAGkA PgAKADwALwB1AGwAPgAKADwAaAAyAD4AUABlAHIAbAB1ACAAYgBhAG4AdAB1AGEA bgA/ADwALwBoADIAPgAKADwAdQBsAD4ACgAgADwAbABpAD4AQgB1AGsAYQAgADwA YQAgAGgAcgBlAGYAPQAiAGgAdAB0AHAAOgAvAC8AaABlAGwAcAAuAG8AcABlAHIA YQAuAGMAbwBtAC8AIgA+AEIAYQBuAHQAdQBhAG4AIABPAHAAZQByAGEAPAAvAGEA PgAuADwALwBsAGkAPgAKACAAPABsAGkAPgBLAHUAbgBqAHUAbgBnAGkAIAA8AGEA IABoAHIAZQBmAD0AIgBoAHQAdABwADoALwAvAHcAdwB3AC4AbwBwAGUAcgBhAC4A YwBvAG0ALwBzAHUAcABwAG8AcgB0AC8AIgA+AE8AcABlAHIAYQAnAHMAIABvAG4A bABpAG4AZQAgAHMAdQBwAHAAbwByAHQAIABkAGUAcwBrADwALwBhAD4ALgA8AC8A bABpAD4ACgA8AC8AdQBsAD4ACgA8AC8AYgBvAGQAeQA+ADwALwBoAHQAbQBsAD4A CgA8ACEALQAtACAAVABoAGkAcwAgAGQAbwBjAHUAbQBlAG4AdAAgAHMAYQB2AGUA ZAAgAGYAcgBvAG0AIABoAHQAdABwADoALwAvAHcAdwB3AC4AeQBvAHUAdAB1AGIA ZQAuAGMAbwBtAC8AcwB1AGIAcwBjAHIAaQBiAGUAXwB3AGkAZABnAGUAdAA/AHAA PQBnAGEAbQBlAHMAcABvAHQAIAAtAC0APgAKAA== ------------5CkDtfGSYcOJmtn6EDynoP--

Вам также может понравиться