CINXE.COM
Crosswords and Puzzles - The Independent: Play Sudoku
<!DOCTYPE html> <html> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("http://puzzles.independent.co.uk:80/games/sudoku/","20161128163501","https://web.archive.org/","web","/_static/", "1480350901"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta name="description" content="Play Sudoku instantly online. Sudoku is a fun and engaging Online game from The Independent. Play it and other games from The Independent."/> <meta property="fb:app_id" content="235586169789578"/> <meta property="og:title" content="Sudoku"/> <meta property="og:description" content="Put on your Sudoku hat and get ready for a challenging Sudoku puzzle!"/> <meta property="og:site_name" content="Independent"/> <meta property="og:image" content="https://web.archive.org/web/20161128163501im_/http://amsarkadium-a.akamaihd.net/assets/global/game/webgl-sudoku/246db861-13b9-4af2-aed7-3c65b27a5d75/300x300.jpg"/> <meta property="og:type" content="game"/> <meta property="og:url" content="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/games/sudoku/"/> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:title" content="Sudoku"/> <meta name="twitter:description" content="Put on your Sudoku hat and get ready for a challenging Sudoku puzzle!"/> <meta name="twitter:url" content="https://web.archive.org/web/20161128163501im_/http://puzzles.independent.co.uk/games/sudoku/"/> <meta name="twitter:image:src" content="http://amsarkadium-a.akamaihd.net/assets/global/game/webgl-sudoku/246db861-13b9-4af2-aed7-3c65b27a5d75/300x300.jpg"/> <meta itemprop="name" content="Sudoku"/> <meta itemprop="description" content="Put on your Sudoku hat and get ready for a challenging Sudoku puzzle!"/> <meta itemprop="image" content="https://web.archive.org/web/20161128163501im_/http://amsarkadium-a.akamaihd.net/assets/global/game/webgl-sudoku/246db861-13b9-4af2-aed7-3c65b27a5d75/300x300.jpg"/> <title>Crosswords and Puzzles - The Independent: Play Sudoku</title> <!-- StartcustomHeadStartBlock--> <meta name="google-site-verification" content="SJWSuHcMo_gUmirl40Zbt1mMCBScc1lVcMrtwye67JE"/> <!-- End customHeadStartBlock--> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <link rel="stylesheet" href="https://web.archive.org/web/20161128163501cs_/http://www.independent.co.uk/independent.co.uk/assets/css/indy-headerfooter-responsive.min.css" type="text/css"> <link rel="stylesheet" type="text/css" href="https://web.archive.org/web/20161128163501cs_/http://amsarkadium-a.akamaihd.net/assets/independent_2/arena/heap/style.css"> <script type="text/javascript" src="https://web.archive.org/web/20161128163501js_/https://code.jquery.com/jquery-1.8.0.min.js"></script> <link rel="shortcut icon" type="image/x-icon" href="https://web.archive.org/web/20161128163501im_/http://www.independent.co.uk/favicon.ico"> <style media="all"> @media (max-width: 1024px) { .mainContent { width: 100% !important; } .redesign-footer .column-2 { margin: 0; } } @media (min-width:768px) and (max-width: 1024px) { .arena-wrapper .arena-social-bar { position: static !important; } } @media (max-width: 480px) { .footer .column-2 .menu { width: 100% !important; } .topPromo-link img { display: block; height: auto; max-width: 100% !important; } } #arkadium-wrapper{ margin:0 auto; } </style> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <link href="https://web.archive.org/web/20161128163501cs_/http://fonts.googleapis.com/css?family=Source+Sans+Pro" rel="stylesheet" type="text/css"> <script type="text/javascript">var aiInstrumentationKey = '';</script> <script type="text/javascript">var contentId='html5-sudoku';</script> <script type="text/javascript"> var accounts = [{name: 'googleAnalyticsArena', account_id:'UA-63182137-1', sampleRate:''}]; accounts.push({name: 'googleAnalyticsArkadiumGlobal', account_id:'UA-22083007-1', sampleRate:''}); </script> <link href="https://web.archive.org/web/20161128163501cs_/http://cdn.arenaconnect.arkadiumhosted.com/4.0//bundles/css?v=_4FQyM23Qe6gUzP53HOXOgZ0-CcafWZg4qLUlG19XE81" rel="stylesheet" type="text/css"/> <script src="https://web.archive.org/web/20161128163501js_/http://cdn.arenaconnect.arkadiumhosted.com/4.0//bundles/global/head/js?v=mw1cdLUAL2ZyjtLhc7L2o5jYhN4lMkHUNZgZYTqKYI81"></script> <link href="https://web.archive.org/web/20161128163501cs_/http://cdn.arenaconnect.arkadiumhosted.com/4.0//arksmartbundles/modgamedetailsmodinfotabsmodnavigationmodplaygamemodtiles/css?v=lvqYlRbQD2DxXHaVx4_0Na6MqJ9C5XgC9E49ArvFUoE1" data-bundletype="SmartBundle" rel="stylesheet" type="text/css"/> <link href="https://web.archive.org/web/20161128163501cs_/http://cdn.arenaconnect.arkadiumhosted.com/4.0//arksmartbundles/empty/css?v=" data-bundletype="SmartBundle" rel="stylesheet" type="text/css"/> <!-- StartcustomHeadEndBlock--> <script type="text/javascript" src="//web.archive.org/web/20161128163501js_/http://native.sharethrough.com/assets/sfp.js"></script> <script type="text/javascript"> var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; (function() { var gads = document.createElement('script'); gads.async = true; gads.type = 'text/javascript'; var useSSL = 'https:' == document.location.protocol; gads.src = (useSSL ? 'https:' : 'http:') + '//web.archive.org/web/20161128163501/http://www.googletagservices.com/tag/js/gpt.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(gads, node); })(); </script> <script type="text/javascript"> googletag.cmd.push(function() { googletag.defineSlot('/71347885/_main_independent/in_arkadium', [728, 90], 'in_arkadium_leaderboard').setTargeting('tile', ['leaderboard']).addService(googletag.pubads()); googletag.defineSlot('/71347885/_main_independent/in_arkadium', [300, 250], 'in_arkadium_mpu').setTargeting('tile', ['mpu0']).setTargeting('share','uHSF6vhAjQ4SWFdHHmHHbASL').addService(googletag.pubads()); googletag.defineSlot('/71347885/_main_independent/in_arkadium', [300, 600], 'in_arkadium_dmpu').setTargeting('tile', ['mpu0']).addService(googletag.pubads()); googletag.defineSlot('/71347885/_main_independent/in_arkadium', [320, 50], 'mBanner').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.enableServices(); }); setInterval(function(){if (arkPage.arena.device == 'pc') googletag.pubads().refresh();}, 60000); </script> <script src="//web.archive.org/web/20161128163501js_/http://amsarkadium-a.akamaihd.net/assets/video/preloader.js"></script> <script> ark.addListener('arkGaInitStarted', function(){ if(masterViewGlobals.gameEndAbcTestEnabled === true){ function ark_readCookie(n) { return (n = new RegExp('(?:^|;\\s*)' + ('' + n).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') + '=([^;]*)').exec(document.cookie)) && n[1]; } function ark_saveCookie(n, v, e, d) { document.cookie = n + ' = ' + escape(v) + '; path =/; expires = ' + e.toGMTString() + '; domain = ' + d; } var abTestCookieName = '_arkGameEndABCTest'; var abTestCookieValue = '' function ark_checkAb(v) { return ark_readCookie(abTestCookieName) === v; } var abTestValuePrefix = 'game_end_new'; var abTestCookie = ark_readCookie(abTestCookieName) var gaCookie = ark_readCookie('_ga'); if (gaCookie) { abTestValuePrefix = 'game_end_existing' } var abTestCookieDomain = window.location.host; var expDate = new Date(); expDate.setFullYear(expDate.getFullYear() + 1); if (!abTestCookie) { var rand = Math.random(); if (rand <= 0.33) { abTestCookie = abTestValuePrefix + '_a'; } else if (rand <= 0.66) { abTestCookie = abTestValuePrefix + '_b'; } else { abTestCookie = abTestValuePrefix + '_c'; } } ark_saveCookie(abTestCookieName, abTestCookie, expDate, abTestCookieDomain); } else{ function ark_saveCookie(n, v, e, d) { document.cookie = n + ' = ' + escape(v) + '; path =/; expires = ' + e.toGMTString() + '; domain = ' + d; } var date = new Date(); date.setFullYear(date.getFullYear() - 1); ark_saveCookie('_arkGameEndABCTest', 'removed', date, window.location.host); } }); </script> <!-- End customHeadEndBlock--> </head> <body> <script type="text/javascript"> try{ arkPage.arena.name = 'Independent'; arkPage.arena.device = 'pc'; arkPage.arena.siteBaseUrl = 'https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk'; arkPage.arena.isSupportUsers = true; arkPage.arena.fbAppID = '235586169789578'; arkPage.arena.path = '/games/sudoku/'; arkPage.arena.localizationEnabled = false; arkPage.arena.localization = 'en-US'; arkPage.arena.localizationAlpha3 = 'ENU'; arkPage.arena.localizationAlpha2 = 'en'; arkPage.arena.inIframe = false; arkPage.arena.userIP = '78.243.94.229'; arkPage.arena.loginSystems = 'fb'; arkPage.game.externalGameId = 'html5-sudoku'; arkPage.game.pageName = 'sudoku'; arkPage.game.name = 'Sudoku'; arkPage.game.categoryName = 'Puzzles,Strategy'; arkPage.game.type = 'html5'; arkPage.user.id = '10153877863441965'; arkPage.user.name = 'Andy Braid'; arkPage.user.email = 'andy_braid@yahoo.co.uk'; arkPage.user.session = '60476490.1480437222.kezIL51zDYnIBGYk0IDCyy0WnVU1.1.NzguMjQzLjk0LjIyOQ.puzzles-independent-co-uk.pc.False'; arkPage.user.isActive = true; arkPage.user.withoutName = false; arkPage.user.loginSystem = 'fb'; } catch(e){} </script> <!-- StartcustomBodyStartBlock--> <div id="customBodyStartBlock"> <style> /*@font-face { font-family: 'Publico-Black'; src: url(https://web.archive.org/web/20161128163501im_/http://amsarkadium-a.akamaihd.net/assets/Independent/arena/heap/Publico-Black.otf); } #titleUrl{color:#39a935!important; font-family: 'Publico-Black'; }*/ #prevDiv{margin-top:40px;} #crList{margin-bottom:20px;} .arena-abtest1 .arena-nav-secondvariant-list ark-li{padding-left:19px!important; padding-right:19px!important;} .arena-abtest2 .arena-nav-secondvariant-list ark-li{padding-left:11px!important; padding-right:11px!important;} .arena-abtest1 .arena-nav-secondvariant-list ark-li:first-child{padding-left:0!important;} .arena-abtest1 .arena-nav-secondvariant-list .flexMenu-viewMore{padding:0!important;} .arena-abtest1 .flexMenu-popup ark-li{padding:10px 0 3px 0!important;} .arena-abtest2 .flexMenu-popup ark-li{padding:0!important; width:100%!important;} .arena-slider-btn{display:none!important;} .arena-comment { font-size: 1rem; color: #333; width:100%; clear:both; padding: 0 0 20px!important; } .arena-comment a { color: #2F00EE !important; } .arena-wrapper .arena-category .arena-head .arena-more__title{font-weight:bold!important;} .arena-main-col > .wrapperContentBlock{margin: 15px auto!important; display: block;} </style> <script type="text/javascript"> (function() { function async_load(script_url){ var protocol = ('https:' == document.location.protocol ? 'https://' : 'http://'); var s = document.createElement('script'); s.src = protocol + script_url; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } bm_website_code = '34621B959DDE4270'; })(); </script> </div> <!-- End customBodyStartBlock--> <div id="indy-page-wrapper"> <header id="masthead"> <a href="https://web.archive.org/web/20161128163501/http://www.independent.co.uk/" title="Home"> <span class="logo"></span> <ul id="dynamic-header"> <li class="logotype"> <span class="logo-full"></span> </li> </ul> </a> <nav> <ol> <li><a href="https://web.archive.org/web/20161128163501/http://www.independent.co.uk/news">News</a></li> <li><a href="https://web.archive.org/web/20161128163501/http://www.independent.co.uk/voices">Voices</a></li> <li><a href="https://web.archive.org/web/20161128163501/http://www.independent.co.uk/sport">Sport</a></li> <li><a href="https://web.archive.org/web/20161128163501/http://www.independent.co.uk/arts-entertainment">Culture</a></li> <li><a href="https://web.archive.org/web/20161128163501/http://www.independent.co.uk/life-style">Lifestyle</a></li> <li><a href="https://web.archive.org/web/20161128163501/http://www.independent.co.uk/life-style/gadgets-and-tech">Tech</a></li> </ol> </nav> </header> <div id="arkadium-wrapper"> <iframe id="arkIsolationIframe" src="/web/20161128163501if_/http://puzzles.independent.co.uk/Isolation/Content" style="display:none" height="0" width="0"></iframe> <main class="arena-wrapper arena-platform-wide arena-on-pc"> <script type="text/javascript"> var masterViewGlobals = { contentSource: '', gameEndAbcTestEnabled: true, contentType: '', deviceType: 'pc', language: 'en', pageName: 'GamePlay', loginFunction: function(){ window.fbLogin(); }, }; console.log("Page Id: 4406d6a6-666a-4b89-976e-1f02c6c6fd57"); </script> <ark-main-block class="arena-tr clearfix"> <ark-ad-right class="arena-ad-col"> <ark-ad-right-block class="arena-ad-modules"> <div id="div_blockRight_1" class="wrapperContentBlock" style="margin:0 auto;padding:0px;"><script type="text/javascript" async="async" crossorigin="anonymous" src="//web.archive.org/web/20161128163501js_/http://adyoulike.omnitagjs.com/"></script> <!-- /71347885/_main_independent/in_arkadium --> <div id="in_arkadium_mpu"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('in_arkadium_mpu'); }); </script> </div> </br> <!-- /71347885/_main_independent/in_arkadium --> <div id="in_arkadium_dmpu"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('in_arkadium_dmpu'); }); </script> </div></div> </ark-ad-right-block> </ark-ad-right> <ark-article ark-ga-track="impression" ark-ga-track-category="Arena_Promo_Box" ark-ga-track-dimensions="[{ slot: '8', value: function() { return arkGaPageHelpers.get({ func: 'getArenaPromoBoxDimension' }) } }]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'arenaPromoBoxCondition' })" class="arena-main-col"> <ark-grid class="ark-container colour-scheme-red ark-max-grid-3"><ark-grid arkmodulekey="Navigation" arkmodulesorttype="" class="ark-grid-12-of-12"> <!-- Navigation --> <ark-section class="arena-row arena-main-head clearfix" ark-ga-track="impression" ark-ga-track-category="Top_Nav_Slots" ark-ga-track-dimensions="[{slot: "4", value: function(){ return arkGaPageHelpers.get({ func: "getTopNavDimension" }) }}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'defaultTrackCondition' })"> <ark-header class="arena-header"> <!--<h1><a href="http://puzzles.independent.co.uk" class="arena-logo" style="display: block" data-buttonname="HomeIcon"><img src="http://amsarkadium-a.akamaihd.net/assets/independent_2/arena/heap/independ.jpg" width="54" height="54" alt="Independent" /></a></h1> <ark-span class="arena-pipe"></ark-span>--> <ark-div class="ark-head-arena-name" style="visibility: hidden"> <h2> <a href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/" id="titleUrl" class="slabtext" data-buttonname="HomeName">PUZZLES</a> </h2> </ark-div> <h5 id="poweredBy"> <a href="#" class="popup-contact_whatisthis" onclick="ark_Popup.open('WhatIsThis', event);event.stopPropagation();return false;">powered by Arkadium </a> <ark-span class="ark-logOut" style="display: none;"> <a onclick="window.fbLogOut(event); event.stopPropagation()" data-buttonname="SignIn">logout</a> </ark-span> </h5> <ark-popup id="ARK_popup_WhatIsThis" class="ARK_popup 476a0d4f394de95ff22c8319124c5c62"> <ark-overlay class="ARK_overlay"></ark-overlay> <ark-div class="ARK_popup_content"> <ark-span class="akrpopup-content-close arena-popup-button arena-popup-close">x</ark-span> <ark-div class="ark_outfit_block"> <ark-div class="akrpopup-content"> <a class="akrpopup-content-logo" rel="nofollow" href="https://web.archive.org/web/20161128163501/http://www.arkadium.com/"> <img class="akrpopup-content-logo-img" alt=""> </a> <ark-p class="akrpopup-content-desc">This content was personally selected for you by Arkadium, the leading provider of fun, engaging, and brand safe digital content including quizzes, games, videos, puzzles, and more! This content is 100% free.</ark-p> <h2 class="akrpopup-content-title">Are you a Publisher?</h2> <ark-p class="akrpopup-content-desc">If you’re a publisher looking to drive new revenue from day one and keep your users engaged and on your site, our free widget is for you! Getting started is easy: <a class="akrpopup-content-desc-link" href="https://web.archive.org/web/20161128163501/http://www.arkadium.com/our-platform/" rel="nofollow"> find out how! </a> </ark-p> <ark-div class="clearfix"> <a class="akrpopup-content-more" href="https://web.archive.org/web/20161128163501/http://www.arkadium.com/" rel="nofollow">About Arkadium</a> <a class="akrpopup-content-view" href="https://web.archive.org/web/20161128163501/http://www.arkadium.com/privacy-policy/" rel="nofollow">Our Privacy Policy</a> </ark-div> </ark-div> <script> ark_jQuery(function () { ark_jQuery(".akrpopup-content-logo-img").attr("src", arkPage.arena.siteBaseUrl + '/Content/Images/popup-logo.png'); }); </script> </ark-div> </ark-div> <ark-div class="ARK_popup_content ARK_popup_custom_content"></ark-div> </ark-popup> <script type="text/javascript"> ark_jQuery(document).ready(function () { ark_Popup.Initialize('WhatIsThis', '476a0d4f394de95ff22c8319124c5c62'); }); </script> </ark-header> <ark-search class="arena-mb-li"> <fieldset class="arena-nav-search"> <input name="search" type="search" ark-ga-track="impression" ark-ga-track-category="Search_Box" id="searchfield" placeholder="Search" autocomplete="off"> <input type="submit" name="submit" id="submit" value="Search"> <input type="hidden" id="project-id"> </fieldset> </ark-search> <ark-nav class="arena-navbar"> <!-- new Navigation Slider (variant 1)--> <ark-div class="arena-row arena-nav-secondvariant" id="navSecondvar"> <ark-ul class="arena-nav-secondvariant-list"> <ark-li menu-item="AllGames"> <a ark-ga-track="click" ark-ga-track-category="Top_Nav_Slots" ark-ga-track-dimensions="[{slot: "3", value: "AllGames|1"}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'topNavTrackCondition', params: 'AllGames' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/category/allgames" data-buttonname="Menu-AllGames"> <span> All Content </span> </a> </ark-li> <ark-li menu-item="crosswords"> <a ark-ga-track="click" ark-ga-track-category="Top_Nav_Slots" ark-ga-track-dimensions="[{slot: "3", value: "crosswords|2"}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'topNavTrackCondition', params: 'crosswords' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/category/crosswords" data-buttonname="Menu-crosswords"> <span> Crosswords </span> </a> </ark-li> <ark-li menu-item="puzzles"> <a ark-ga-track="click" ark-ga-track-category="Top_Nav_Slots" ark-ga-track-dimensions="[{slot: "3", value: "puzzles|3"}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'topNavTrackCondition', params: 'puzzles' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/category/puzzles" data-buttonname="Menu-puzzles"> <span> Puzzles </span> </a> </ark-li> <ark-li menu-item="quizzes"> <a ark-ga-track="click" ark-ga-track-category="Top_Nav_Slots" ark-ga-track-dimensions="[{slot: "3", value: "quizzes|4"}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'topNavTrackCondition', params: 'quizzes' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/category/quizzes" data-buttonname="Menu-quizzes"> <span> Quizzes </span> </a> </ark-li> <ark-li menu-item="card"> <a ark-ga-track="click" ark-ga-track-category="Top_Nav_Slots" ark-ga-track-dimensions="[{slot: "3", value: "card|5"}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'topNavTrackCondition', params: 'card' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/category/card" data-buttonname="Menu-card"> <span> Card </span> </a> </ark-li> <ark-div class="arena-nav-more"> <span> More </span> </ark-div> </ark-ul> <ark-ul class="arena-nav-dropdown"></ark-ul> </ark-div> </ark-nav> </ark-section> <ark-popup id="ARK_popup_Logout" class="ARK_popup 476a0d4f394de95ff22c8319124c5c62"> <ark-overlay class="ARK_overlay"></ark-overlay> <ark-div class="ARK_popup_content"> <ark-span class="akrpopup-content-close arena-popup-button arena-popup-close">x</ark-span> <ark-div class="ark_outfit_block"> <ark-div class="arena-logout-popup"> <ark-div class="arena-popup-head"> <h3>You have logged out</h3> </ark-div> <a onclick="fbLogin()" class="arena-button">Login again</a> </ark-div> <script> ark.addListener('ark:login', function (e) { ark_Popup.close('Logout'); ark_jQuery('.ark-logOut').show(); }); </script> </ark-div> </ark-div> <ark-div class="ARK_popup_content ARK_popup_custom_content"></ark-div> </ark-popup> <script type="text/javascript"> ark_jQuery(document).ready(function () { ark_Popup.Initialize('Logout', '476a0d4f394de95ff22c8319124c5c62'); }); </script> <!-- End: Navigation --> </ark-grid><ark-grid arkmodulekey="GameDetails" arkmodulesorttype="" class="ark-grid-12-of-12"> <akr-details-section class="arena-row arena-detail-block"> <figure class="arena-detail-pic"> <img src="https://web.archive.org/web/20161128163501im_/http://amsarkadium-a.akamaihd.net/assets/global/game/webgl-sudoku/246db861-13b9-4af2-aed7-3c65b27a5d75/300x300.jpg" alt="Independent's online Sudoku game" title="Independent's online Sudoku game"/> </figure> <ark-div class="arena-detail-info"> <h1>Sudoku</h1> <ark-rating class="arena-star-rate2"> <ark-div class="ark_rating_empty2"> <ark-div class="ark_rating_full2 html5-sudoku"></ark-div> <ark-div class="arena-count-rate">(12)</ark-div> </ark-div> <ark-div class="ark_user_rate2 html5-sudoku 476a0d4f394de95ff22c8319124c5c62"> <ark-span data-ark_value="1"></ark-span> <ark-span data-ark_value="2"></ark-span> <ark-span data-ark_value="3"></ark-span> <ark-span data-ark_value="4"></ark-span> <ark-span data-ark_value="5"></ark-span> </ark-div> </ark-rating> <script type="text/javascript"> ark_jQuery(document).ready(function(){ ark_Rating.Initialize('html5-sudoku','476a0d4f394de95ff22c8319124c5c62', true, '3.33333333333333', 5, 12); }); </script> <ark-igp-descr>No need for a pen or pencil, Sudoku is officially online! Click a number followed by an empty box to place it. Fill the entire grid 1-9 on each row, column, and 3x3 square with no repeating numbers to win. Are your Sudoku skills strong enough?</ark-igp-descr> <ark-p class="arena-free-game">FREE</ark-p> <ark-social-div class="arena-actions-bar"> <a id="playButton_html5-sudoku" class="arena-btn ark_playButton" onclick="ShowLeaderboardIfNeeded();" style="display: none;" data-buttonname="PlayNow"> Play Now </a> </ark-social-div> <ark-div class="arena-download"> </ark-div> </ark-div> <script type="text/javascript"> arkPage.game.isThirdPartyGame = false; var playButtonId = '#playButton_html5-sudoku'; var playButtonHref = 'https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/games/sudoku/'; var InstallUrlList = []; var showPlayButton = true; var textInstallAndPlayNow = 'Install '; var fbObject ={}; var curUrl = arkPage.arena.inIfram ? document.refferer : document.location.href; curUrl += curUrl.indexOf("?") > 0 ? "&" : "?"; curUrl += "refSource=fb-share"; fbObject.name = 'Sudoku'; fbObject.link = arkPage.getSharingUrl(curUrl); fbObject.picture = 'https://web.archive.org/web/20161128163501/http://amsarkadium-a.akamaihd.net/assets/global/game/webgl-sudoku/246db861-13b9-4af2-aed7-3c65b27a5d75/300x300.jpg'; fbObject.caption = 'Put on your Sudoku hat and get ready for a challenging Sudoku puzzle!'; fbObject.description = 'No need for a pen or pencil, Sudoku is officially online! Click a number followed by an empty box to place it. Fill the entire grid 1-9 on each row, column, and 3x3 square with no repeating numbers to win. Are your Sudoku skills strong enough?'; fbObject.method = 'feed'; fbObject.display = 'popup'; </script> </akr-details-section> </ark-grid><ark-grid arkmodulekey="PlayGame" arkmodulesorttype="" class="ark-grid-12-of-12"><script type="text/javascript"> arkPage.game.silentLoadingModeEnabled = false; </script> <ark-popup id="ARK_popup_LoginMessage" class="ARK_popup f02c5a868265c81d8ac09a130326c555"> <ark-overlay class="ARK_overlay"></ark-overlay> <ark-div class="ARK_popup_content"> <ark-span class="akrpopup-content-close arena-popup-button arena-popup-close">x</ark-span> <ark-div class="ark_outfit_block"> <ark-div class="arena-logout-popup"> <ark-div class="arena-popup-head"> <h3 id="loginMessage">InviteUserLoginMessage</h3> </ark-div> <a onclick="ark_Popup.close('LoginMessage')" class="arena-button">Ok</a> </ark-div> <script> </script> </ark-div> </ark-div> <ark-div class="ARK_popup_content ARK_popup_custom_content"></ark-div> </ark-popup> <script type="text/javascript"> ark_jQuery(document).ready(function () { ark_Popup.Initialize('LoginMessage', 'f02c5a868265c81d8ac09a130326c555'); }); </script> <ark-play-area id="gameContent" class="arena-row arena-game-page"> <div id="disableAdblock" style="display:none;"> <div style="background: url('/web/20161128163501im_/http://puzzles.independent.co.uk/Content/Images/alert.png') no-repeat center; height:130px;width:130px; float:left"></div> <br/> <p style="font-size:26px; text-align:center; font-weight:bold;margin-top:10px">Warning !</p> <br/> <p style="font-size:24px; text-align:center;"> We noticed you're using an ad blocker. Please disable it for the full experience </p> </div> <ark-play-gname id="gameNameTop" class="ARK_playGame_game"> <h1>Sudoku</h1> <ark-rating class="arena-star-rate2"> <ark-div class="ark_rating_empty2"> <ark-div class="ark_rating_full2 html5-sudoku"></ark-div> <ark-div class="arena-count-rate">(12)</ark-div> </ark-div> <ark-div class="ark_user_rate2 html5-sudoku f02c5a868265c81d8ac09a130326c555"> <ark-span data-ark_value="1"></ark-span> <ark-span data-ark_value="2"></ark-span> <ark-span data-ark_value="3"></ark-span> <ark-span data-ark_value="4"></ark-span> <ark-span data-ark_value="5"></ark-span> </ark-div> </ark-rating> <script type="text/javascript"> ark_jQuery(document).ready(function(){ ark_Rating.Initialize('html5-sudoku','f02c5a868265c81d8ac09a130326c555', true, '3.33333333333333', 5, 12); }); </script> </ark-play-gname> <ark-ad-block id="preroll" style="display: none; " data-timervalue="60" data-periodvalue="300" data-iframeurl="" data-width="0" data-height="0" class="ark-ad-block"> <ark-span class="ARK_AdTopMesage">Please view this short message from our sponsor</ark-span> <div id="div_prerollAd_1" style="margin:0 auto;padding:0px;"><script type="text/javascript" id="ark_pre-roll"> function PrerollOverNew(){ PrerollOver(); if (window.location.href.toLowerCase().indexOf("/quiz") >=0) ark_Ga.Event("quiz", arkPage.arena.name, "/"+window.location.search, 1); } ark_renderAd("pre-roll",null,PrerollOverNew); </script></div> <ark-div class="ARK_AdBottomMesage">while your game is loading</ark-div> <script type="text/javascript"> var adSound = 1; function arkPrerollProgressBarUpdate(adDuration, adRemainingTime) { ark_jQuery("#statusDiv-bar").show(); ark_jQuery(".statusDiv-newbar, .statusDiv-newbar-progress").hide(); ark_jQuery("#statusDiv-barProgress").width(Math.ceil(100 * (adDuration - adRemainingTime) / adDuration) + "%"); } function arkPrerollSoundInit() { ark_jQuery(".contentDiv-mute").show(); } ark_jQuery(document).ready(function () { ark.addListener('arkIntermediateAdStartEvent', function () { ark_jQuery("#intermediateAdOverDiv").hide(); }); }); function arkPrerollSetSound(obj) { adSound = Math.abs(adSound - 1); if (adSound == 1) { obj.src = "https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk//Content/Images/unmute.png"; } else { obj.src = "https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk//Content/Images/mute.png"; } try { AdSound(adSound); } catch (ex) { ark.logging(ex); } } </script> </ark-ad-block> <script> ads['preroll'] = new AdsBlock('preroll'); ads['preroll'].AdDimensionsForAdapt = '0x0'; ark.triggerEvent("arkVideoAdInitialized", 'preroll'); </script> <ark-ad-block id="intermediate" style="display: none; " data-timervalue="60" data-periodvalue="300" data-iframeurl="" data-width="0" data-height="0" class="ark-ad-block"> <ark-span class="ARK_AdTopMesage">Please view this short message from our sponsor</ark-span> <div id="div_intermediateAd_1" style="margin:0 auto;padding:0px;"><script id="ark_mid-roll"> if (ads.arkGameStartEvent){ ads.addListener(ads.arkIntermediateAdStartEvent, function() {ark_renderAd("mid-roll");}); //Arena 2.x }else{ ark.addListener("arkIntermediateAdStartEvent", function() {ark_renderAd("mid-roll");}); //Arena 4.x } </script></div> <ark-div class="ARK_AdBottomMesage">while your game is loading</ark-div> <script type="text/javascript"> var adSound = 1; function arkPrerollProgressBarUpdate(adDuration, adRemainingTime) { ark_jQuery("#statusDiv-bar").show(); ark_jQuery(".statusDiv-newbar, .statusDiv-newbar-progress").hide(); ark_jQuery("#statusDiv-barProgress").width(Math.ceil(100 * (adDuration - adRemainingTime) / adDuration) + "%"); } function arkPrerollSoundInit() { ark_jQuery(".contentDiv-mute").show(); } ark_jQuery(document).ready(function () { ark.addListener('arkIntermediateAdStartEvent', function () { ark_jQuery("#intermediateAdOverDiv").hide(); }); }); function arkPrerollSetSound(obj) { adSound = Math.abs(adSound - 1); if (adSound == 1) { obj.src = "https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk//Content/Images/unmute.png"; } else { obj.src = "https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk//Content/Images/mute.png"; } try { AdSound(adSound); } catch (ex) { ark.logging(ex); } } </script> </ark-ad-block> <script> ads['intermediate'] = new AdsBlock('intermediate'); ads['intermediate'].AdDimensionsForAdapt = '0x0'; ark.triggerEvent("arkVideoAdInitialized", 'intermediate'); </script> <ark-game-block id="gameBlock" class="ARK_playGame_game" style="display: none; width: 100%; clear: left"> <script type="text/javascript"> ark.setViewportMeta = function(){}; ark_jQuery(document).ready(function() {ark.addListener('arkGameStartEvent', CustomGameStart);}); function CustomGameStart(args) { var p={gameProtocolParams : initParams,iframeId : 'customGameIframe'}; if(arkPage.arena.device == 'pc'){ if (arkPage.arena.path.indexOf('/api/games/')>=0){p.height=420;p.width=640;}else{p.height = 480;p.width = 640;} p.hideNavBar=false;} var gUrl='https://web.archive.org/web/20161128163501/http://amsarkadium-a.akamaihd.net/assets/global/game/html5-sudoku/52d28c33-b3fa-4e2e-8679-7a972eecac09/'; ark_renderGame(gUrl,'gameBlock',p);} </script> <script type="text/javascript" src="https://web.archive.org/web/20161128163501js_/http://cdn.arenaconnect.arkadiumhosted.com/games-storage/html5-common-lib/js/ark-render-game-3.1.js"></script> </ark-game-block> <script> ark_jQuery(document).ready(function () { var getCookieByName = function getCookieByName(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; }; var Base64 = { _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode: function (e) { var t = ""; var n, r, i, s, o, u, a; var f = 0; e = Base64._utf8_encode(e); while (f < e.length) { n = e.charCodeAt(f++); r = e.charCodeAt(f++); i = e.charCodeAt(f++); s = n >> 2; o = (n & 3) << 4 | r >> 4; u = (r & 15) << 2 | i >> 6; a = i & 63; if (isNaN(r)) { u = a = 64 } else if (isNaN(i)) { a = 64 } t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a) } return t }, decode: function (e) { var t = ""; var n, r, i; var s, o, u, a; var f = 0; e = e.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (f < e.length) { s = this._keyStr.indexOf(e.charAt(f++)); o = this._keyStr.indexOf(e.charAt(f++)); u = this._keyStr.indexOf(e.charAt(f++)); a = this._keyStr.indexOf(e.charAt(f++)); n = s << 2 | o >> 4; r = (o & 15) << 4 | u >> 2; i = (u & 3) << 6 | a; t = t + String.fromCharCode(n); if (u != 64) { t = t + String.fromCharCode(r) } if (a != 64) { t = t + String.fromCharCode(i) } } t = Base64._utf8_decode(t); return t }, _utf8_encode: function (e) { e = e.replace(/\r\n/g, "\n"); var t = ""; for (var n = 0; n < e.length; n++) { var r = e.charCodeAt(n); if (r < 128) { t += String.fromCharCode(r) } else if (r > 127 && r < 2048) { t += String.fromCharCode(r >> 6 | 192); t += String.fromCharCode(r & 63 | 128) } else { t += String.fromCharCode(r >> 12 | 224); t += String.fromCharCode(r >> 6 & 63 | 128); t += String.fromCharCode(r & 63 | 128) } } return t }, _utf8_decode: function (e) { var t = ""; var n = 0; var r = c1 = c2 = 0; while (n < e.length) { r = e.charCodeAt(n); if (r < 128) { t += String.fromCharCode(r); n++ } else if (r > 191 && r < 224) { c2 = e.charCodeAt(n + 1); t += String.fromCharCode((r & 31) << 6 | c2 & 63); n += 2 } else { c2 = e.charCodeAt(n + 1); c3 = e.charCodeAt(n + 2); t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3 } } return t } } var gameEnds = { 'a': 'DQo8YXJrLWdhbWUtZW5kIGlkPSJnYW1lRW5kIiBjbGFzcz0iYXJlbmEtZW5kLWdhbWUiIHN0eWxlPSJkaXNwbGF5OiBub25lIj4NCiAgICA8YXJrLWdlLWluZm8gY2xhc3M9ImFyZW5hLWVuZGdhbWUtaW5mbyI+DQogICAgICAgIDxhcmstZGl2IGNsYXNzPSJhcmVuYS10aXRsZS1ibG9jayI+DQogICAgICAgICAgICA8YXJrLWRpdiBjbGFzcz0iYXJlbmEtZW5kZ2FtZS10aXRsZSI+DQogICAgICAgICAgICAgICAgPGgxPlN1ZG9rdTwvaDE+DQogICAgICAgICAgICAgICAgICAgIDxhcmstcmF0aW5nIGNsYXNzPSJhcmVuYS1zdGFyLXJhdGUyIj4NCiAgICAgICAgPGFyay1kaXYgY2xhc3M9ImFya19yYXRpbmdfZW1wdHkyIj4NCiAgICAgICAgICAgIDxhcmstZGl2IGNsYXNzPSJhcmtfcmF0aW5nX2Z1bGwyIGh0bWw1LXN1ZG9rdSI+PC9hcmstZGl2Pg0KICAgICAgICAgICAgPGFyay1kaXYgY2xhc3M9ImFyZW5hLWNvdW50LXJhdGUiPigxMik8L2Fyay1kaXY+DQogICAgICAgIDwvYXJrLWRpdj4NCiAgICAgICAgPGFyay1kaXYgY2xhc3M9ImFya191c2VyX3JhdGUyIGh0bWw1LXN1ZG9rdSA4YzgxMTZlYmMwYTdhYmI5MGU2MjEwZmI3OTA0YzdjYyI+DQogICAgICAgICAgICA8YXJrLXNwYW4gZGF0YS1hcmtfdmFsdWU9IjEiPjwvYXJrLXNwYW4+DQogICAgICAgICAgICA8YXJrLXNwYW4gZGF0YS1hcmtfdmFsdWU9IjIiPjwvYXJrLXNwYW4+DQogICAgICAgICAgICA8YXJrLXNwYW4gZGF0YS1hcmtfdmFsdWU9IjMiPjwvYXJrLXNwYW4+DQogICAgICAgICAgICA8YXJrLXNwYW4gZGF0YS1hcmtfdmFsdWU9IjQiPjwvYXJrLXNwYW4+DQogICAgICAgICAgICA8YXJrLXNwYW4gZGF0YS1hcmtfdmFsdWU9IjUiPjwvYXJrLXNwYW4+DQogICAgICAgIDwvYXJrLWRpdj4NCiAgICA8L2Fyay1yYXRpbmc+DQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICBhcmtfalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpew0KICAgICAgICAgICAgYXJrX1JhdGluZy5Jbml0aWFsaXplKCdodG1sNS1zdWRva3UnLCc4YzgxMTZlYmMwYTdhYmI5MGU2MjEwZmI3OTA0YzdjYycsIHRydWUsICczLjMzMzMzMzMzMzMzMzMzJywgNSwgMTIpOw0KICAgICAgICB9KTsNCiAgICA8L3NjcmlwdD4NCg0KDQoNCiAgICAgICAgICAgIDwvYXJrLWRpdj4NCiAgICAgICAgICAgICAgICA8YXJrLWRpdiBjbGFzcz0iYXJlbmEtZ2FtZS1zY29yZSI+DQogICAgICAgICAgICAgICAgICAgIDxoNCBpZD0ic2NvcmVMYWJlbCI+TmV3IEhpZ2ggU2NvcmUhPC9oND4NCiAgICAgICAgICAgICAgICAgICAgPGFyay1zcGFuIGlkPSJzY29yZSI+PC9hcmstc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgaWQ9InNhdmVUb0xpZGVyYm9hcmRMaW5rIiBhcmstZ2EtdHJhY2s9ImNsaWNrLGltcHJlc3Npb24iIGFyay1nYS10cmFjay1jYXRlZ29yeT0iRnVubmVsX0VuZF9CdXR0b25fTGVhZGVyYm9hcmQiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIGNsYXNzPSJhcmVuYS1wb3N0LXNjb3JlIiBvbmNsaWNrPSJ3aW5kb3cubG9naW5NYW5hZ2VyLmxvZ2luKCk7IiBkYXRhLWJ1dHRvbm5hbWU9IlNpZ25JbiI+U2F2ZSBUbyBMZWFkZXJib2FyZDwvYT4NCiAgICAgICAgICAgICAgICA8L2Fyay1kaXY+DQogICAgICAgIDwvYXJrLWRpdj4NCiAgICAgICAgPGFyay1nZS1idXR0b25zIGNsYXNzPSJhcmVuYS1idXR0b25zX2Jsb2NrIj4NCiAgICAgICAgICAgIDxhcmstZGl2IGNsYXNzPSJhcmVuYS1zb2NpYWwtYnV0dG9ucyI+DQogICAgICAgICAgICAgICAgICAgIDxhcmstZGl2IGNsYXNzPSJhcmVuYS1zb2NpYWwtaWNvbnMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5zaGFyZSAgOjwvc3Ryb25nPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFyZW5hLWZiLWljb24gYXJlbmEtaWNvbiIgaHJlZj0iIyIgYXJrLWdhLXRyYWNrPSJjbGljayxpbXByZXNzaW9uIiBhcmstZ2EtdHJhY2stY2F0ZWdvcnk9IkZ1bm5lbF9FbmRfQnV0dG9uX1NvY2lhbFNoYXJlX0ZhY2Vib29rIiBvbmNsaWNrPSJwb3N0RmJTY29yZSgpIiBkYXRhLWJ1dHRvbm5hbWU9IkZhY2Vib29rLVNoYXJlIj5TaGFyZSBvbiBGYWNlYm9vazwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJzaGFyZU9uVHdpdHRlckJ1dHRvbiIgY2xhc3M9ImFyZW5hLXR3LWljb24gYXJlbmEtaWNvbiIgYXJrLWdhLXRyYWNrPSJjbGljayxpbXByZXNzaW9uIiBhcmstZ2EtdHJhY2stY2F0ZWdvcnk9IkZ1bm5lbF9FbmRfQnV0dG9uX1NvY2lhbFNoYXJlX1R3aXR0ZXIiIGRhdGEtYnV0dG9ubmFtZT0iVHdpdHRlci10d2l0dCI+VHdpdHRlcjwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGlkPSJib29rbWFya21lIiBocmVmPSIjIiBjbGFzcz0iYXJlbmEtZmEtaWNvbiBhcmVuYS1pY29uIEFkZFRvQm9va21hcmsiIGFyay1nYS10cmFjaz0iY2xpY2ssaW1wcmVzc2lvbiIgYXJrLWdhLXRyYWNrLWNhdGVnb3J5PSJGdW5uZWxfRW5kX0J1dHRvbl9Tb2NpYWxTaGFyZV9Cb29rbWFyayIgZGF0YS1idXR0b25uYW1lPSJCb29rbWFyayI+RmF2b3JpdGVzPC9hPg0KICAgICAgICAgICAgICAgICAgICA8L2Fyay1kaXY+DQogICAgICAgICAgICA8L2Fyay1kaXY+DQoNCiAgICAgICAgICAgIDxhcmstZGl2IGNsYXNzPSJhcmVuYS1idG4tZ3JvdXAiPg0KICAgICAgICAgICAgICAgIDxhcmstZGl2IGNsYXNzPSJhcmVuYS1vcHRpb25zLWJ0biI+DQoNCiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFyZW5hLXBsYXlfYnV0dG9uIiBhcmstZ2EtdHJhY2s9ImNsaWNrLGltcHJlc3Npb24iIGFyay1nYS10cmFjay1jYXRlZ29yeT0iRnVubmVsX0VuZF9CdXR0b25fUGxheUFnYWluIiBocmVmPSJodHRwOi8vcHV6emxlcy5pbmRlcGVuZGVudC5jby51ay9nYW1lcy9zdWRva3UvP3BsYXlBZ2Fpbj0xIiBkYXRhLWJ1dHRvbm5hbWU9IlBsYXlBZ2FpbiI+PGkgY2xhc3M9ImFyZW5hLWljb24iPjwvaT5QbGF5IEFnYWluPC9hPg0KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYXJlbmEtcGxheV9idXR0b24gc3luZGljYXRpb24iIGFyay1nYS10cmFjaz0iY2xpY2ssaW1wcmVzc2lvbiIgYXJrLWdhLXRyYWNrLWNhdGVnb3J5PSJGdW5uZWxfRW5kX0J1dHRvbl9QbGF5QWdhaW4iIGhyZWY9IiMiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgb25jbGljaz0iKGZ1bmN0aW9uKCl7ZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IGRvY3VtZW50LmxvY2F0aW9uLmhyZWZ9KSgpIiBkYXRhLWJ1dHRvbm5hbWU9IlBsYXlBZ2FpbiI+PGkgY2xhc3M9ImFyZW5hLWljb24iPjwvaT5QbGF5IEFnYWluPC9hPg0KICAgICAgICAgICAgICAgIDwvYXJrLWRpdj4NCiAgICAgICAgICAgIDwvYXJrLWRpdj4NCiAgICAgICAgPC9hcmstZ2UtYnV0dG9ucz4NCiAgICA8L2Fyay1nZS1pbmZvPg0KPC9hcmstZ2FtZS1lbmQ+DQoNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCg0KICAgICAgICBhcmtfalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCg0KICAgICAgICAgICAgYXJrX2pRdWVyeSgnI2dhbWVFbmRSZWNvbWVuZGVkJykucmVtb3ZlKCk7DQogICAgICAgICAgICBhcmtfalF1ZXJ5KCI8YXJrLWRpdi8+IikuYXR0cih7IGlkOiAnZ2FtZUVuZFJlY29tZW5kZWQnIH0pDQogICAgICAgICAgICAgICAgLmFwcGVuZCgnPGFyay1zcGFuPicgKyAnV2h5IG5vdCB0cnkgdGhlc2UnICsgJzwvYXJrLXNwYW4+JykNCiAgICAgICAgICAgICAgICAuYXBwZW5kKGFya19qUXVlcnkoJzxhcmstdWwvPicpKS5hcHBlbmRUbyhhcmtfalF1ZXJ5KCcjZ2FtZUVuZCcpKTsNCg0KICAgICAgICAgICAgdmFyIGdhbWVJbk5leHRMaXN0ID0gYXJrX2pRdWVyeSgiYXJrLWdyaWRbYXJrbW9kdWxla2V5PSdHYW1lTGlzdCddIikuZmluZCgnLmFyay1nY2F0LWl0ZW0nKTsNCiAgICAgICAgICAgIGlmIChnYW1lSW5OZXh0TGlzdCkgew0KICAgICAgICAgICAgICAgIHZhciB0b3BHYW1lcyA9IGFya19qUXVlcnkoImFyay1ncmlkW2Fya21vZHVsZWtleT0nR2FtZUxpc3QnXSIpLmZpbmQoJy5hcmstZ2NhdC1pdGVtJykuc2xpY2UoMCwgMyk7DQogICAgICAgICAgICAgICAgYXJrX2pRdWVyeSgnI2dhbWVFbmRSZWNvbWVuZGVkIGFyay11bCcpLnRleHQoJycpOw0KICAgICAgICAgICAgICAgIGFya19qUXVlcnkoJyNnYW1lRW5kUmVjb21lbmRlZCBhcmstdWwnKS5hcHBlbmQodG9wR2FtZXMuY2xvbmUoKSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGFya19qUXVlcnkoJyNnYW1lRW5kUmVjb21lbmRlZCBhcmstdWwnKS50ZXh0KCcnKTsNCiAgICAgICAgICAgICAgICB3aGlsZSAoIWFya0FyZW5hLmdldEl0ZW1zQnlUeXBlKCdnYW1lJykubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgc2xlZXAgPSAxOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB2YXIgYWxsR2FtZXMgPSBhcmtBcmVuYS5nZXRJdGVtc0J5VHlwZSgnZ2FtZScpOw0KICAgICAgICAgICAgICAgIHZhciBnYW1lVG9TaG93ID0gW107DQogICAgICAgICAgICAgICAgdmFyIHJhbmRvbU51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChhbGxHYW1lcy5sZW5ndGggLSAxKSk7DQogICAgICAgICAgICAgICAgd2hpbGUgKGdhbWVUb1Nob3cubGVuZ3RoIDwgMykgew0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAoYWxsR2FtZXNbcmFuZG9tTnVtYmVyXS5rZXkgPT09IGFya1BhZ2UuZ2FtZS5leHRlcm5hbEdhbWVJZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmFuZG9tTnVtYmVyID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGFsbEdhbWVzLmxlbmd0aCAtIDEpKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAoZ2FtZVRvU2hvdy5sZW5ndGggPiAwICYmIGdhbWVUb1Nob3dbMF0ua2V5ICE9PSBhbGxHYW1lc1tyYW5kb21OdW1iZXJdLmtleSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgZ2FtZVRvU2hvdy5wdXNoKGFsbEdhbWVzW3JhbmRvbU51bWJlcl0pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmIChnYW1lVG9TaG93Lmxlbmd0aCA9PT0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgZ2FtZVRvU2hvdy5wdXNoKGFsbEdhbWVzW3JhbmRvbU51bWJlcl0pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIHJhbmRvbU51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChhbGxHYW1lcy5sZW5ndGggLSAxKSk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBnYW1lVG9TaG93Lmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICAgICAgICAgIGFya19qUXVlcnkoJyNnYW1lRW5kUmVjb21lbmRlZCBhcmstdWwnKS5hcHBlbmQoDQogICAgICAgICAgICAgICAgICAgICAgICBhcmtfalF1ZXJ5KCI8YXJrLWxpLz4iKS5hdHRyKCdjbGFzcycsICdhcmstZ2NhdC1pdGVtJykuYXR0cigiZGF0YS1nYW1lIiwgZ2FtZVRvU2hvd1tpXS5rZXkpLmFwcGVuZCgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmtfalF1ZXJ5KCI8YS8+IikuYXR0cignaHJlZicsIGdhbWVUb1Nob3dbaV0udXJsKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hcHBlbmQoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFya19qUXVlcnkoIjxpbWcvPiIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCd3aWR0aCcsICc3NScpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCdoZWlnaHQnLCAnNzUnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignc3JjJywgZ2FtZVRvU2hvd1tpXS5nZXRJbWFnZSgnNzV4NzUnKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2FsdCcsIGdhbWVUb1Nob3dbaV0ubmFtZSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ3RpdGxlJywgZ2FtZVRvU2hvd1tpXS5uYW1lKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cigndHlwZScsICdHYW1lJykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFwcGVuZCgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJrX2pRdWVyeSgiPGFyay1nbmFtZS8+IikuYXR0cignY2xhc3MnLCAnYXJlbmEtZ2FtZS1uYW1lJykuYXBwZW5kKGdhbWVUb1Nob3dbaV0ubmFtZSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFwcGVuZCgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJrX2pRdWVyeSgiPGFyay1nZGVzY3IvPiIpLmF0dHIoJ2NsYXNzJywgJ2FyZW5hLWdhbWUtdHlwZScpLmFwcGVuZCgnZ2FtZScpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKQ0KICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHNldEdBQXR0cmlidXRlcygpOw0KICAgICAgICAgICAgYXJrR2FFdmVudHNIYW5kbGVyLmluaXQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dhbWVFbmQnKSk7DQogICAgICAgIH0pOw0KICAgICAgICBmdW5jdGlvbiBzZXRHQUF0dHJpYnV0ZXMoKXsNCiAgICAgICAgICAgIHZhciBsaW5rcyA9IGFya19qUXVlcnkoIiNnYW1lRW5kUmVjb21lbmRlZCBhcmstbGkgYSIpOw0KICAgICAgICAgICAgZm9yKHZhciBpID0gIDA7aSA8IGxpbmtzLmxlbmd0aDsgaSsrKXsNCiAgICAgICAgICAgICAgICB2YXIgbGluayA9IGFya19qUXVlcnkobGlua3NbaV0pOw0KICAgICAgICAgICAgICAgIGxpbmsuYXR0cigiYXJrLWdhLXRyYWNrIiwiY2xpY2siKTsNCiAgICAgICAgICAgICAgICBsaW5rLmF0dHIoImFyay1nYS10cmFjay1jYXRlZ29yeSIsIkZ1bm5lbF9FbmRfV2h5Tm90VHJ5VGhlc2UiKTsNCiAgICAgICAgICAgICAgICBsaW5rLnJlbW92ZUF0dHIoImFyay1nYS10cmFjay1kaW1lbnNpb25zIik7DQogICAgICAgICAgICAgICAgbGluay5yZW1vdmVBdHRyKCJhcmstZ2EtdHJhY2stY29uZGl0aW9uIik7DQogICAgICAgICAgICAgICAgbGluay5yZW1vdmVBdHRyKCJhcmstZ2EtcHJvY2Vzc2VkIik7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZihsaW5rcy5sZW5ndGggPiAwKXsNCiAgICAgICAgICAgICAgICBhcmtfalF1ZXJ5KCIjZ2FtZUVuZFJlY29tZW5kZWQiKS5hdHRyKCJhcmstZ2EtdHJhY2siLCJpbXByZXNzaW9uIik7DQogICAgICAgICAgICAgICAgYXJrX2pRdWVyeSgiI2dhbWVFbmRSZWNvbWVuZGVkIikuYXR0cigiYXJrLWdhLXRyYWNrLWNhdGVnb3J5IiwiRnVubmVsX0VuZF9XaHlOb3RUcnlUaGVzZSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQo8L3NjcmlwdD4NCg0KDQoNCg==', 'b': 'DQo8YXJrLWdhbWUtZW5kIGlkPSJnYW1lRW5kIiBjbGFzcz0iYXJlbmEtZW5kLWdhbWUtQiIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPg0KICAgIDxoMT5TdWRva3U8L2gxPg0KICAgIDxhcmstYm94IGNsYXNzPSJhcmVuYS1lbmRnYW1lLWluZm8tQiI+DQogICAgICAgIDxhcmstYm94IGNsYXNzPSJnYW1lT3ZlciI+R2FtZSBPdmVyPC9hcmstYm94Pg0KICAgICAgICAgICAgPGFyay1kaXYgY2xhc3M9ImFyZW5hLWdhbWUtc2NvcmUtQiI+DQogICAgICAgICAgICAgICAgPGg0IGlkPSJzY29yZUxhYmVsIj5OZXcgSGlnaCBTY29yZSE8L2g0Pg0KICAgICAgICAgICAgICAgIDxhcmstc3BhbiBpZD0ic2NvcmUiPjwvYXJrLXNwYW4+DQogICAgICAgICAgICA8L2Fyay1kaXY+DQogICAgICAgIDxhcmstZGl2IGNsYXNzPSJhcmVuYS1idG4tZ3JvdXAtQiI+DQogICAgICAgICAgICA8YXJrLWRpdiBjbGFzcz0iYXJlbmEtb3B0aW9ucy1idG4tQiI+DQoNCiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYXJlbmEtcGxheV9idXR0b24tQiBhcmstcGxheS1hZ2FpbiIgYXJrLWdhLXRyYWNrPSJjbGljayxpbXByZXNzaW9uIiBhcmstZ2EtdHJhY2stY2F0ZWdvcnk9IkZ1bm5lbF9FbmRfQnV0dG9uX1BsYXlBZ2FpbiIgaHJlZj0iaHR0cDovL3B1enpsZXMuaW5kZXBlbmRlbnQuY28udWsvZ2FtZXMvc3Vkb2t1Lz9wbGF5QWdhaW49MSIgZGF0YS1idXR0b25uYW1lPSJQbGF5QWdhaW4iPjxpIGNsYXNzPSJhcmVuYS1pY29uIj48L2k+UGxheSBBZ2FpbjwvYT4NCiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYXJlbmEtcGxheV9idXR0b24tQiBhcmstaG9tZSIgYXJrLWdhLXRyYWNrPSJjbGljayxpbXByZXNzaW9uIiBhcmstZ2EtdHJhY2stY2F0ZWdvcnk9IkZ1bm5lbF9FbmRfQnV0dG9uX0FsbCIgaHJlZj0iaHR0cDovL3B1enpsZXMuaW5kZXBlbmRlbnQuY28udWsvY2F0ZWdvcnkvYWxsZ2FtZXMiIGRhdGEtYnV0dG9ubmFtZT0iQWxsIj5BbGwgR2FtZXM8L2E+DQogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGlkPSJzYXZlVG9MaWRlcmJvYXJkTGluayIgYXJrLWdhLXRyYWNrPSJjbGljayxpbXByZXNzaW9uIiBhcmstZ2EtdHJhY2stY2F0ZWdvcnk9IkZ1bm5lbF9FbmRfQnV0dG9uX0xlYWRlcmJvYXJkIiBzdHlsZT0iZGlzcGxheTpub25lIiBjbGFzcz0iYXJlbmEtcG9zdC1zY29yZSIgb25jbGljaz0id2luZG93LmxvZ2luTWFuYWdlci5sb2dpbigpOyIgZGF0YS1idXR0b25uYW1lPSJTaWduSW4iPlNhdmUgVG8gTGVhZGVyYm9hcmQ8L2E+DQogICAgICAgICAgICA8L2Fyay1kaXY+DQogICAgICAgIDwvYXJrLWRpdj4NCiAgICAgICAgPGFyay1kaXYgY2xhc3M9ImFyZW5hLXNvY2lhbC1idXR0b25zLUIiPg0KICAgICAgICAgICAgICAgIDxhcmstZGl2IGNsYXNzPSJhcmVuYS1zb2NpYWwtaWNvbnMiPg0KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYXJlbmEtZmItaWNvbiBhcmVuYS1pY29uIiBocmVmPSIjIiBhcmstZ2EtdHJhY2s9ImNsaWNrLGltcHJlc3Npb24iIGFyay1nYS10cmFjay1jYXRlZ29yeT0iRnVubmVsX0VuZF9CdXR0b25fU29jaWFsU2hhcmVfRmFjZWJvb2siIG9uY2xpY2s9InBvc3RGYlNjb3JlKCkiIGRhdGEtYnV0dG9ubmFtZT0iRmFjZWJvb2stU2hhcmUiPjxhcmstc3Bhbj48L2Fyay1zcGFuPjwvYT4NCiAgICAgICAgICAgICAgICAgICAgPGEgaWQ9InNoYXJlT25Ud2l0dGVyQnV0dG9uIiBjbGFzcz0iYXJlbmEtdHctaWNvbiBhcmVuYS1pY29uIiBhcmstZ2EtdHJhY2s9ImNsaWNrLGltcHJlc3Npb24iIGFyay1nYS10cmFjay1jYXRlZ29yeT0iRnVubmVsX0VuZF9CdXR0b25fU29jaWFsU2hhcmVfVHdpdHRlciIgZGF0YS1idXR0b25uYW1lPSJUd2l0dGVyLXR3aXR0Ij48YXJrLXNwYW4+PC9hcmstc3Bhbj48L2E+DQogICAgICAgICAgICAgICAgICAgIDxhIGlkPSJib29rbWFya21lIiBocmVmPSIjIiBjbGFzcz0iYXJlbmEtZmEtaWNvbiBhcmVuYS1pY29uIEFkZFRvQm9va21hcmsiIGFyay1nYS10cmFjaz0iY2xpY2ssaW1wcmVzc2lvbiIgYXJrLWdhLXRyYWNrLWNhdGVnb3J5PSJGdW5uZWxfRW5kX0J1dHRvbl9Tb2NpYWxTaGFyZV9Cb29rbWFyayIgZGF0YS1idXR0b25uYW1lPSJCb29rbWFyayI+PGFyay1zcGFuPjwvYXJrLXNwYW4+PC9hPg0KICAgICAgICAgICAgICAgIDwvYXJrLWRpdj4NCiAgICAgICAgPC9hcmstZGl2Pg0KICAgIDwvYXJrLWJveD4NCiAgICANCjwvYXJrLWdhbWUtZW5kPg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoNCg0KICAgICAgICBhcmtfalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCg0KICAgICAgICAgICAgICAgIHZhciB1cmwgPSBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gKyAnL2FyZW5hYXBpL2dhbWVzanNvbj9hPScgKyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0LnJlcGxhY2UoJy4nLCAnJyk7DQogICAgICAgICAgICAgICAgYXJrX2pRdWVyeS5hamF4KHsNCiAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmwNCiAgICAgICAgICAgICAgICB9KS5kb25lKA0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoZGF0YSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlY29tR2FtZXMgPSBhcmtfalF1ZXJ5KCc8YXJrLWJveCBpZD0iZ2FtZUVuZFJlY29tZW5kZWQiIGNsYXNzPSJ0b3VjaGNhcm91c2VsIGdyZXktYmx1ZSI+PGFyay1zcGFuPicgKyAnV2h5IG5vdCB0cnkgdGhlc2UnICsgJzwvYXJrLXNwYW4+PGFyay11bCBjbGFzcz0idG91Y2hjYXJvdXNlbC1jb250YWluZXIiPjwvYXJrLXVsPjwvYXJrLWJveD4nKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxHYW1lcyA9IGFya19qUXVlcnkucGFyc2VKU09OKGRhdGEpLmdhbWVzIHx8IFtdOw0KDQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgcmFuZG9tTnVtYmVyLCBlbGVtOyBpIDwgMTA7IGkrKykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbmRvbU51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChhbGxHYW1lcy5sZW5ndGggLSAxKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbSA9IGFsbEdhbWVzLnNwbGljZShyYW5kb21OdW1iZXIsIDEpWzBdOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbS5pbWdVcmwgPSBmaW5kVXJsQnlLZXkoZWxlbS5pbWFnZXMsICIzMDB4MzAwIik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW0ua2V5ICE9PSBhcmtQYWdlLmdhbWUuZXh0ZXJuYWxHYW1lSWQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlUmVjb21JdGVtKHJlY29tR2FtZXMuZmluZCgiYXJrLXVsIiksIGVsZW0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGFya19qUXVlcnkoJyNnYW1lRW5kJykuYXBwZW5kKHJlY29tR2FtZXMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgYXJrX2pRdWVyeSgiI2dhbWVFbmRSZWNvbWVuZGVkIikudG91Y2hDYXJvdXNlbCh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnaW5nTmF2OiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbmFwVG9JdGVtczogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNQZXJNb3ZlOiA0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvTGFzdDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9vcEl0ZW1zOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXI6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgKTsNCg0KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVJlY29tSXRlbSh0YXJnZXQsIGl0ZW0pIHsNCiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmFwcGVuZCgnPGFyay1saSBjbGFzcz0iYXJrLWdjYXQtaXRlbSB0b3VjaGNhcm91c2VsLWl0ZW0iIGRhdGEtZ2FtZT0iJyArIGl0ZW0ua2V5ICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGEgaHJlZj0iJyArIGl0ZW0udXJsICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpbWcgc3JjPSInICsgaXRlbS5pbWdVcmwgKyAnIiBhbHQ9IicgKyBpdGVtLm5hbWUgKyAnIiB0aXRsZT0iJyArIGl0ZW0ubmFtZSArICciIHR5cGU9IkdhbWUiIC8+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxhcmstZ25hbWUgY2xhc3M9ImFyZW5hLWdhbWUtbmFtZSI+JyArIGl0ZW0ubmFtZSArICc8L2Fyay1nbmFtZT4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2E+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2Fyay1saT4nKTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBmdW5jdGlvbiBmaW5kVXJsQnlLZXkoYXJyYXksIGtleSkgew0KICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJyYXlbaV1bImtleSJdID09PSBrZXkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXJyYXlbaV1bInVybCJdOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICANCiAgICAgICAgICAgIA0KICAgICAgICAgICAgc2V0R0FBdHRyaWJ1dGVzKCk7DQogICAgICAgICAgICBhcmtHYUV2ZW50c0hhbmRsZXIuaW5pdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2FtZUVuZCcpKTsNCiAgICAgICAgfSk7DQogICAgICAgIGZ1bmN0aW9uIHNldEdBQXR0cmlidXRlcygpew0KICAgICAgICAgICAgdmFyIGxpbmtzID0gYXJrX2pRdWVyeSgiI2dhbWVFbmRSZWNvbWVuZGVkIGFyay1saSBhIik7DQogICAgICAgICAgICBmb3IodmFyIGkgPSAgMDtpIDwgbGlua3MubGVuZ3RoOyBpKyspew0KICAgICAgICAgICAgICAgIHZhciBsaW5rID0gYXJrX2pRdWVyeShsaW5rc1tpXSk7DQogICAgICAgICAgICAgICAgbGluay5hdHRyKCJhcmstZ2EtdHJhY2siLCJjbGljayIpOw0KICAgICAgICAgICAgICAgIGxpbmsuYXR0cigiYXJrLWdhLXRyYWNrLWNhdGVnb3J5IiwiRnVubmVsX0VuZF9XaHlOb3RUcnlUaGVzZSIpOw0KICAgICAgICAgICAgICAgIGxpbmsucmVtb3ZlQXR0cigiYXJrLWdhLXRyYWNrLWRpbWVuc2lvbnMiKTsNCiAgICAgICAgICAgICAgICBsaW5rLnJlbW92ZUF0dHIoImFyay1nYS10cmFjay1jb25kaXRpb24iKTsNCiAgICAgICAgICAgICAgICBsaW5rLnJlbW92ZUF0dHIoImFyay1nYS1wcm9jZXNzZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmKGxpbmtzLmxlbmd0aCA+IDApew0KICAgICAgICAgICAgICAgIGFya19qUXVlcnkoIiNnYW1lRW5kUmVjb21lbmRlZCIpLmF0dHIoImFyay1nYS10cmFjayIsImltcHJlc3Npb24iKTsNCiAgICAgICAgICAgICAgICBhcmtfalF1ZXJ5KCIjZ2FtZUVuZFJlY29tZW5kZWQiKS5hdHRyKCJhcmstZ2EtdHJhY2stY2F0ZWdvcnkiLCJGdW5uZWxfRW5kX1doeU5vdFRyeVRoZXNlIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCjwvc2NyaXB0Pg0KDQoNCg0K', 'c': 'DQo8YXJrLWdhbWUtZW5kIGlkPSJnYW1lRW5kIiBjbGFzcz0iYXJlbmEtZW5kLWdhbWUtQyIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPg0KICAgIDxoMT5TdWRva3U8L2gxPg0KICAgIDxhcmstYm94IGNsYXNzPSJhcmVuYS1lbmRnYW1lLWluZm8tQyI+DQogICAgICAgIDxhcmstYm94IGNsYXNzPSJhcmVuYS1lbmRnYW1lLWluZm8tbGVmdCI+DQogICAgICAgICAgICAgICAgPGFyay1kaXYgY2xhc3M9ImFyZW5hLWdhbWUtc2NvcmUtQyI+DQogICAgICAgICAgICAgICAgICAgIDxoNCBpZD0ic2NvcmVMYWJlbCI+TmV3IEhpZ2ggU2NvcmUhPC9oND4NCiAgICAgICAgICAgICAgICAgICAgPGFyay1zcGFuIGlkPSJzY29yZSI+PC9hcmstc3Bhbj4NCg0KICAgICAgICAgICAgICAgIDwvYXJrLWRpdj4NCiAgICAgICAgICAgIDxhcmstZGl2IGNsYXNzPSJhcmVuYS1idG4tZ3JvdXAtQyI+DQoNCg0KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJhcmVuYS1wbGF5X2J1dHRvbi1DIiBhcmstZ2EtdHJhY2s9ImNsaWNrLGltcHJlc3Npb24iIGFyay1nYS10cmFjay1jYXRlZ29yeT0iRnVubmVsX0VuZF9CdXR0b25fUGxheUFnYWluIiBocmVmPSJodHRwOi8vcHV6emxlcy5pbmRlcGVuZGVudC5jby51ay9nYW1lcy9zdWRva3UvP3BsYXlBZ2Fpbj0xIiBkYXRhLWJ1dHRvbm5hbWU9IlBsYXlBZ2FpbiI+DQogICAgICAgICAgICAgICAgICAgIDxhcmstc3Bhbj5QbGF5IEFnYWluPC9hcmstc3Bhbj4NCiAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImFyZW5hLXBsYXlfYnV0dG9uLUMiIHN0eWxlPSJtYXJnaW46MyU7Zm9udC1zaXplOjE2cHg7d2lkdGg6YXV0bzsiIGFyay1nYS10cmFjaz0iY2xpY2ssaW1wcmVzc2lvbiIgYXJrLWdhLXRyYWNrLWNhdGVnb3J5PSJGdW5uZWxfRW5kX0J1dHRvbl9BbGwiIGhyZWY9Imh0dHA6Ly9wdXp6bGVzLmluZGVwZW5kZW50LmNvLnVrL2NhdGVnb3J5L2FsbGdhbWVzIiBkYXRhLWJ1dHRvbm5hbWU9IkFsbCI+DQogICAgICAgICAgICAgICAgICAgIDxhcmstc3Bhbj5BbGwgR2FtZXM8L2Fyay1zcGFuPg0KICAgICAgICAgICAgICAgIDwvYT4NCg0KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBpZD0ic2F2ZVRvTGlkZXJib2FyZExpbmsiIGFyay1nYS10cmFjaz0iY2xpY2ssaW1wcmVzc2lvbiIgYXJrLWdhLXRyYWNrLWNhdGVnb3J5PSJGdW5uZWxfRW5kX0J1dHRvbl9MZWFkZXJib2FyZCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiIGNsYXNzPSJhcmVuYS1wb3N0LXNjb3JlIiBvbmNsaWNrPSJ3aW5kb3cubG9naW5NYW5hZ2VyLmxvZ2luKCk7IiBkYXRhLWJ1dHRvbm5hbWU9IlNpZ25JbiI+U2F2ZSBUbyBMZWFkZXJib2FyZDwvYT4NCiAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgPC9hcmstZGl2Pg0KDQoNCiAgICAgICAgPC9hcmstYm94Pg0KICAgICAgICANCiAgICA8L2Fyay1ib3g+DQoNCjwvYXJrLWdhbWUtZW5kPg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoNCiAgICBhcmtfalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7DQoNCiAgICAgICAgICAgIHZhciB1cmwgPSBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4gKyAnL2FyZW5hYXBpL2dhbWVzanNvbj9hPScgKyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0LnJlcGxhY2UoJy4nLCAnJyk7DQogICAgICAgICAgICBhcmtfalF1ZXJ5LmFqYXgoew0KICAgICAgICAgICAgICAgIHVybDogdXJsDQogICAgICAgICAgICB9KS5kb25lKA0KICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChkYXRhKSB7DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICB2YXIgcmVjb21HYW1lcyA9IGFya19qUXVlcnkoJzxhcmstYm94IGlkPSJnYW1lRW5kUmVjb21lbmRlZCI+PGFyay1zcGFuPicgKyAnV2h5IG5vdCB0cnkgdGhlc2UnICsgJzwvYXJrLXNwYW4+PGFyay11bD48L2Fyay11bD48L2Fyay1ib3g+JyksDQogICAgICAgICAgICAgICAgICAgICAgICBhbGxHYW1lcyA9IGFya19qUXVlcnkucGFyc2VKU09OKGRhdGEpLmdhbWVzIHx8IFtdOw0KDQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCByYW5kb21OdW1iZXIsIGVsZW07IGkgPCA0OyBpKyspIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJhbmRvbU51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChhbGxHYW1lcy5sZW5ndGggLSAxKSk7DQogICAgICAgICAgICAgICAgICAgICAgICBlbGVtID0gYWxsR2FtZXMuc3BsaWNlKHJhbmRvbU51bWJlciwgMSlbMF07DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW0uaW1nVXJsID0gZmluZFVybEJ5S2V5KGVsZW0uaW1hZ2VzLCAiNzV4NzUiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbGVtLmtleSAhPT0gYXJrUGFnZS5nYW1lLmV4dGVybmFsR2FtZUlkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlUmVjb21JdGVtKHJlY29tR2FtZXMuZmluZCgiYXJrLXVsIiksIGVsZW0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGFya19qUXVlcnkoJy5hcmVuYS1lbmRnYW1lLWluZm8tQycpLmFwcGVuZChyZWNvbUdhbWVzKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICApOw0KDQogICAgICAgICAgICBmdW5jdGlvbiBjcmVhdGVSZWNvbUl0ZW0odGFyZ2V0LGl0ZW0pIHsNCiAgICAgICAgICAgICAgICB0YXJnZXQuYXBwZW5kKCc8YXJrLWxpIGNsYXNzPSJhcmstZ2NhdC1pdGVtIiBkYXRhLWdhbWU9IicgKyBpdGVtLmtleSArICciPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGEgaHJlZj0iJyArIGl0ZW0udXJsICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9IicgKyBpdGVtLmltZ1VybCArICciIGFsdD0iJyArIGl0ZW0ubmFtZSArICciIHRpdGxlPSInICsgaXRlbS5uYW1lICsgJyIgdHlwZT0iR2FtZSIgLz4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8YXJrLWduYW1lIGNsYXNzPSJhcmVuYS1nYW1lLW5hbWUiPicgKyBpdGVtLm5hbWUgKyAnPC9hcmstZ25hbWU+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2E+JyArDQogICAgICAgICAgICAgICAgJzwvYXJrLWxpPicpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBmdW5jdGlvbiBmaW5kVXJsQnlLZXkoYXJyYXksIGtleSkgew0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGFycmF5W2ldWyJrZXkiXSA9PT0ga2V5KSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXJyYXlbaV1bInVybCJdOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBzZXRHQUF0dHJpYnV0ZXMoKTsNCiAgICAgICAgICAgIGFya0dhRXZlbnRzSGFuZGxlci5pbml0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnYW1lRW5kJykpOw0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRHQUF0dHJpYnV0ZXMoKXsNCiAgICAgICAgICAgIHZhciBsaW5rcyA9IGFya19qUXVlcnkoIiNnYW1lRW5kUmVjb21lbmRlZCBhcmstbGkgYSIpOw0KICAgICAgICAgICAgZm9yKHZhciBpID0gIDA7aSA8IGxpbmtzLmxlbmd0aDsgaSsrKXsNCiAgICAgICAgICAgICAgICB2YXIgbGluayA9IGFya19qUXVlcnkobGlua3NbaV0pOw0KICAgICAgICAgICAgICAgIGxpbmsuYXR0cigiYXJrLWdhLXRyYWNrIiwiY2xpY2siKTsNCiAgICAgICAgICAgICAgICBsaW5rLmF0dHIoImFyay1nYS10cmFjay1jYXRlZ29yeSIsIkZ1bm5lbF9FbmRfV2h5Tm90VHJ5VGhlc2UiKTsNCiAgICAgICAgICAgICAgICBsaW5rLnJlbW92ZUF0dHIoImFyay1nYS10cmFjay1kaW1lbnNpb25zIik7DQogICAgICAgICAgICAgICAgbGluay5yZW1vdmVBdHRyKCJhcmstZ2EtdHJhY2stY29uZGl0aW9uIik7DQogICAgICAgICAgICAgICAgbGluay5yZW1vdmVBdHRyKCJhcmstZ2EtcHJvY2Vzc2VkIik7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZihsaW5rcy5sZW5ndGggPiAwKXsNCiAgICAgICAgICAgICAgICBhcmtfalF1ZXJ5KCIjZ2FtZUVuZFJlY29tZW5kZWQiKS5hdHRyKCJhcmstZ2EtdHJhY2siLCJpbXByZXNzaW9uIik7DQogICAgICAgICAgICAgICAgYXJrX2pRdWVyeSgiI2dhbWVFbmRSZWNvbWVuZGVkIikuYXR0cigiYXJrLWdhLXRyYWNrLWNhdGVnb3J5IiwiRnVubmVsX0VuZF9XaHlOb3RUcnlUaGVzZSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQo8L3NjcmlwdD4NCg0KDQoNCg==' }; var abcTestCookie = getCookieByName('_arkGameEndABCTest'); var gameEndType = 'a'; if (abcTestCookie) { if (abcTestCookie.indexOf('_b') >= 0) { gameEndType = 'b'; } else if (abcTestCookie.indexOf('_c') >= 0) { gameEndType = 'c'; } } var gameEnd = Base64.decode(gameEnds[gameEndType]); ark_jQuery('#gameContent').append(gameEnd); }); </script> </ark-play-area> <script type="text/javascript"> var ark_testscore = "Score"; var ark_testNewHiscore = "New High Score!"; var refreshAdsPeriod = 60; arkPage.arena.inIframe = false; arkPage.arena.device= 'pc'; var gameHeight = 480; var gameWidth = 640; var arkFbPostObj = { }; arkFbPostObj.caption = 'I scored {Score} on {GameName}! Think you can top that?'; arkFbPostObj.description = 'Play {GameName} on our game arena to beat this score or choose from many other free games and have fun'; var storeName = 'unknown'; var isArchive = false; var playWithAdblockAllowed = true; </script> <script src="https://web.archive.org/web/20161128163501js_/http://amsarkadium-a.akamaihd.net/assets/7E32DC3D-28E0-4A2B-9994-A4A2278228E8/arena/heap/advertisements.js"></script> </ark-grid><ark-grid arkmodulekey="InfoTabs" arkmodulesorttype="" class="ark-grid-12-of-12"> <script> var showLeaderboard = true; </script> <ark-section class="arena-row"> <ark-info-tabs-block class="arena-row arena-detail-tabs"> <ark-info-tab> <ark-span id="arkDetailsTab" onclick=" arkInfoTabLoader.LoadInfoTab('Detail') " data-name="Detail"> Screenshots </ark-span> </ark-info-tab> <ark-info-tab><ark-span id="arkReviewsTab" onclick="arkInfoTabLoader.LoadInfoTab('Reviews')" data-name="Reviews">Reviews</ark-span></ark-info-tab> <ark-info-tab><ark-span id="arkLeaderboardTab" onclick="arkInfoTabLoader.LoadInfoTab('Leaderboard')" data-name="Leaderboard">Leaderboard</ark-span></ark-info-tab> <ark-info-tab><ark-span id="arkCommentsTab" onclick="arkInfoTabLoader.LoadInfoTab('Comments')" data-name="Comments">Comments</ark-span></ark-info-tab> </ark-info-tabs-block> <ark-div id="TabContainer" class="arena-row arena-tab-container"></ark-div> </ark-section> </ark-grid><ark-grid arkmodulekey="GameList" arkmodulesorttype="YouMayAlsoLike" class="ark-grid-12-of-12"><ark-cat-section class="arena-row arena-category" game-category="sudoku"> <ark-gcat-head class="arena-row arena-head"> <!--<h2>You May Also Like…</h2>--> <h2><a ark-ga-track="click" ark-ga-track-category="Promo_Box" ark-ga-track-dimensions="[{slot: "7", value: function(el){ return arkGaPageHelpers.get({ func: "getPromoBoxDimension", params: "sudoku" }) }, deffered: false}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'defaultTrackCondition' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/YouMayAlsoLike/sudoku" class="arena-more__title" data-buttonname="More">You May Also Like…</a></h2> <a ark-ga-track="click" ark-ga-track-category="Promo_Box" ark-ga-track-dimensions="[{slot: "7", value: function(el){ return arkGaPageHelpers.get({ func: "getPromoBoxDimension", params: "sudoku" }) }, deffered: false}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'defaultTrackCondition' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/YouMayAlsoLike/sudoku" class="arena-more" data-buttonname="More">More ></a> </ark-gcat-head> <ark-div class="arena-row arena-hscroll" test="test"> <ark-gcat-list class="arena-row arena-swap-slider"> <ark-li class="ark-gcat-item" data-game="webgl-concise-crossword-independent"> <a game-category="sudoku" ark-ga-track="click" ark-ga-track-category="Promo_Box_Slot" ark-ga-track-dimensions="[{slot: "9", value: function(el){ return arkGaPageHelpers.get({ func: "getPromoBoxSlotDimension", params:{ elem: el, game: "webgl-concise-crossword-independent", position: "0"} })}, deffered: false}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'defaultTrackCondition' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/games/concise-crossword-independent/"> <img width="75" height="75" src="https://web.archive.org/web/20161128163501im_/http://amsarkadium-a.akamaihd.net/assets/Independent/game/webgl-concise-crossword-independent/2eed7c20-d946-4433-be43-3fc24088becd/75x75.jpg" alt="Free The Independent's Concise Crossword game by Independent" title="Free The Independent's Concise Crossword game by Independent" type="html5"/> <ark-gname class="arena-game-name">The Independent's Concise Crossword</ark-gname> <ark-gdescr class="arena-game-type">Game</ark-gdescr> </a> <ark-rating class="arena-star-rate2"> <ark-div class="ark_rating_empty2"> <ark-div class="ark_rating_full2 webgl-concise-crossword-independent"></ark-div> <ark-div class="arena-count-rate">(16)</ark-div> </ark-div> <ark-div class="ark_user_rate2 webgl-concise-crossword-independent 0c67f1f66e1c70302d13f51b5234a06f"> <ark-span data-ark_value="1"></ark-span> <ark-span data-ark_value="2"></ark-span> <ark-span data-ark_value="3"></ark-span> <ark-span data-ark_value="4"></ark-span> <ark-span data-ark_value="5"></ark-span> </ark-div> </ark-rating> <script type="text/javascript"> ark_jQuery(document).ready(function(){ ark_Rating.Initialize('webgl-concise-crossword-independent','0c67f1f66e1c70302d13f51b5234a06f', true, '3.1875', 5, 16); }); </script> </ark-li> <ark-li class="ark-gcat-item" data-game="webgl-cryptic-crossword-independent"> <a game-category="sudoku" ark-ga-track="click" ark-ga-track-category="Promo_Box_Slot" ark-ga-track-dimensions="[{slot: "9", value: function(el){ return arkGaPageHelpers.get({ func: "getPromoBoxSlotDimension", params:{ elem: el, game: "webgl-cryptic-crossword-independent", position: "1"} })}, deffered: false}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'defaultTrackCondition' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/games/cryptic-crossword-independent/"> <img width="75" height="75" src="https://web.archive.org/web/20161128163501im_/http://amsarkadium-a.akamaihd.net/assets/Independent/game/webgl-cryptic-crossword-independent/50d8ef2e-cbcd-4063-8c03-80b93e3e213c/75x75.jpg" alt="Free The Independent's Cryptic Crossword game by Independent" title="Free The Independent's Cryptic Crossword game by Independent" type="html5"/> <ark-gname class="arena-game-name">The Independent's Cryptic Crossword</ark-gname> <ark-gdescr class="arena-game-type">Game</ark-gdescr> </a> <ark-rating class="arena-star-rate2"> <ark-div class="ark_rating_empty2"> <ark-div class="ark_rating_full2 webgl-cryptic-crossword-independent"></ark-div> <ark-div class="arena-count-rate">(7)</ark-div> </ark-div> <ark-div class="ark_user_rate2 webgl-cryptic-crossword-independent 0c67f1f66e1c70302d13f51b5234a06f"> <ark-span data-ark_value="1"></ark-span> <ark-span data-ark_value="2"></ark-span> <ark-span data-ark_value="3"></ark-span> <ark-span data-ark_value="4"></ark-span> <ark-span data-ark_value="5"></ark-span> </ark-div> </ark-rating> <script type="text/javascript"> ark_jQuery(document).ready(function(){ ark_Rating.Initialize('webgl-cryptic-crossword-independent','0c67f1f66e1c70302d13f51b5234a06f', true, '4.00', 5, 7); }); </script> </ark-li> <ark-li class="ark-gcat-item" data-game="mahjongg-dimensions"> <a game-category="sudoku" ark-ga-track="click" ark-ga-track-category="Promo_Box_Slot" ark-ga-track-dimensions="[{slot: "9", value: function(el){ return arkGaPageHelpers.get({ func: "getPromoBoxSlotDimension", params:{ elem: el, game: "mahjongg-dimensions", position: "2"} })}, deffered: false}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'defaultTrackCondition' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/games/mahjongg-dimensions/"> <img width="75" height="75" src="https://web.archive.org/web/20161128163501im_/http://amsarkadium-a.akamaihd.net/assets/global/game/mahjongg-dimensions/518aaea3-0a41-4aa5-a5e5-9d3d037de062/75x75.jpg" alt="Free Mahjongg Dimensions game by Independent" title="Free Mahjongg Dimensions game by Independent" type="online"/> <ark-gname class="arena-game-name">Mahjongg Dimensions</ark-gname> <ark-gdescr class="arena-game-type">Game</ark-gdescr> </a> <ark-rating class="arena-star-rate2"> <ark-div class="ark_rating_empty2"> <ark-div class="ark_rating_full2 mahjongg-dimensions"></ark-div> <ark-div class="arena-count-rate">(39)</ark-div> </ark-div> <ark-div class="ark_user_rate2 mahjongg-dimensions 0c67f1f66e1c70302d13f51b5234a06f"> <ark-span data-ark_value="1"></ark-span> <ark-span data-ark_value="2"></ark-span> <ark-span data-ark_value="3"></ark-span> <ark-span data-ark_value="4"></ark-span> <ark-span data-ark_value="5"></ark-span> </ark-div> </ark-rating> <script type="text/javascript"> ark_jQuery(document).ready(function(){ ark_Rating.Initialize('mahjongg-dimensions','0c67f1f66e1c70302d13f51b5234a06f', true, '4.69230769230769', 5, 39); }); </script> </ark-li> <ark-li class="ark-gcat-item" data-game="webgl-daily-sudoku"> <a game-category="sudoku" ark-ga-track="click" ark-ga-track-category="Promo_Box_Slot" ark-ga-track-dimensions="[{slot: "9", value: function(el){ return arkGaPageHelpers.get({ func: "getPromoBoxSlotDimension", params:{ elem: el, game: "webgl-daily-sudoku", position: "3"} })}, deffered: false}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'defaultTrackCondition' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/games/daily-sudoku/"> <img width="75" height="75" src="https://web.archive.org/web/20161128163501im_/http://amsarkadium-a.akamaihd.net/assets/global/game/webgl-daily-sudoku/61979d1e-bd1d-480d-8585-73d8d8b3711a/75x75.jpg" alt="Free The Daily Sudoku game by Independent" title="Free The Daily Sudoku game by Independent" type="html5"/> <ark-gname class="arena-game-name">The Daily Sudoku</ark-gname> <ark-gdescr class="arena-game-type">Game</ark-gdescr> </a> <ark-rating class="arena-star-rate2"> <ark-div class="ark_rating_empty2"> <ark-div class="ark_rating_full2 webgl-daily-sudoku"></ark-div> <ark-div class="arena-count-rate">(11)</ark-div> </ark-div> <ark-div class="ark_user_rate2 webgl-daily-sudoku 0c67f1f66e1c70302d13f51b5234a06f"> <ark-span data-ark_value="1"></ark-span> <ark-span data-ark_value="2"></ark-span> <ark-span data-ark_value="3"></ark-span> <ark-span data-ark_value="4"></ark-span> <ark-span data-ark_value="5"></ark-span> </ark-div> </ark-rating> <script type="text/javascript"> ark_jQuery(document).ready(function(){ ark_Rating.Initialize('webgl-daily-sudoku','0c67f1f66e1c70302d13f51b5234a06f', true, '4', 5, 11); }); </script> </ark-li> <ark-li class="ark-gcat-item" data-game="word-wipe"> <a game-category="sudoku" ark-ga-track="click" ark-ga-track-category="Promo_Box_Slot" ark-ga-track-dimensions="[{slot: "9", value: function(el){ return arkGaPageHelpers.get({ func: "getPromoBoxSlotDimension", params:{ elem: el, game: "word-wipe", position: "4"} })}, deffered: false}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'defaultTrackCondition' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/games/word-wipe/"> <img width="75" height="75" src="https://web.archive.org/web/20161128163501im_/http://amsarkadium-a.akamaihd.net/assets/global/game/word-wipe/c606744d-0a43-4d88-a7ed-8cd2f2a8e66c/75x75.jpg" alt="Free Word Wipe game by Independent" title="Free Word Wipe game by Independent" type="online"/> <ark-gname class="arena-game-name">Word Wipe</ark-gname> <ark-gdescr class="arena-game-type">Game</ark-gdescr> </a> <ark-rating class="arena-star-rate2"> <ark-div class="ark_rating_empty2"> <ark-div class="ark_rating_full2 word-wipe"></ark-div> <ark-div class="arena-count-rate">(21)</ark-div> </ark-div> <ark-div class="ark_user_rate2 word-wipe f340ec098f3897c89bfc0d5cf3b16b76"> <ark-span data-ark_value="1"></ark-span> <ark-span data-ark_value="2"></ark-span> <ark-span data-ark_value="3"></ark-span> <ark-span data-ark_value="4"></ark-span> <ark-span data-ark_value="5"></ark-span> </ark-div> </ark-rating> <script type="text/javascript"> ark_jQuery(document).ready(function(){ ark_Rating.Initialize('word-wipe','f340ec098f3897c89bfc0d5cf3b16b76', true, '3.85714285714286', 5, 21); }); </script> </ark-li> <ark-li class="ark-gcat-item" data-game="webgl-jigsaw"> <a game-category="sudoku" ark-ga-track="click" ark-ga-track-category="Promo_Box_Slot" ark-ga-track-dimensions="[{slot: "9", value: function(el){ return arkGaPageHelpers.get({ func: "getPromoBoxSlotDimension", params:{ elem: el, game: "webgl-jigsaw", position: "5"} })}, deffered: false}]" ark-ga-track-condition="arkGaPageHelpers.get({ func: 'defaultTrackCondition' })" href="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/games/jigsaw/"> <img width="75" height="75" src="https://web.archive.org/web/20161128163501im_/http://amsarkadium-a.akamaihd.net/assets/global/game/webgl-jigsaw/2d6e37cf-cb9b-4ac3-aa7f-8e61d43b8b21/75x75.jpg" alt="Free Jigsaw game by Independent" title="Free Jigsaw game by Independent" type="html5"/> <ark-gname class="arena-game-name">Jigsaw</ark-gname> <ark-gdescr class="arena-game-type">Game</ark-gdescr> </a> <ark-rating class="arena-star-rate2"> <ark-div class="ark_rating_empty2"> <ark-div class="ark_rating_full2 webgl-jigsaw"></ark-div> <ark-div class="arena-count-rate">(5)</ark-div> </ark-div> <ark-div class="ark_user_rate2 webgl-jigsaw f340ec098f3897c89bfc0d5cf3b16b76"> <ark-span data-ark_value="1"></ark-span> <ark-span data-ark_value="2"></ark-span> <ark-span data-ark_value="3"></ark-span> <ark-span data-ark_value="4"></ark-span> <ark-span data-ark_value="5"></ark-span> </ark-div> </ark-rating> <script type="text/javascript"> ark_jQuery(document).ready(function(){ ark_Rating.Initialize('webgl-jigsaw','f340ec098f3897c89bfc0d5cf3b16b76', true, '3.4', 5, 5); }); </script> </ark-li> </ark-gcat-list> </ark-div> </ark-cat-section> </ark-grid></ark-grid> <ark-popup id="ARK_popup_ContactUs" class="ARK_popup f340ec098f3897c89bfc0d5cf3b16b76"> <ark-overlay class="ARK_overlay"></ark-overlay> <ark-div class="ARK_popup_content"> <ark-span class="akrpopup-content-close arena-popup-button arena-popup-close">x</ark-span> <ark-div class="ark_outfit_block"> <ark-div class="arena-popup-head"> <h3>Contact Us</h3> </ark-div> <ark-div class="arena-ContactUs"> <ark-p>Please fill out the form below to contact us</ark-p> <form method="POST" onsubmit="return false;"> <fieldset> <ark-div> <label for="varName">Your full name</label> <ark-div> <input type="text" class="" value="" id="varName" name="varName" tabindex="1" required autofocus> <b class="arena-field-required">*<ark-span class="arena-field-required-warning"></ark-span></b> </ark-div> </ark-div> <ark-div> <label for="varEmail">Email</label> <ark-div> <input type="email" class="" value="" id="varEmail" name="varEmail" tabindex="2" required> <b class="arena-field-required">*<ark-span class="arena-field-required-warning"></ark-span></b> </ark-div> </ark-div> <ark-div> <label for="varSubject">Subject</label> <ark-div> <select name="varSubject" id="varSubject" tabindex="3"> <option data-extra-field="251bd8143891238ecedc306508e29017">Games</option> <option data-extra-field="16bd464f55c77e122733aea8acc67893">General Inquiries</option> <option data-extra-field="otherSubject" selected="selected">Other</option> </select> <input type="text" tabindex="4" class="otherSubject optionalField" value="" id="otherSubject" name="varOtherSubject"> <b class="arena-field-required">*<ark-span class="arena-field-required-warning"></ark-span></b> </ark-div> </ark-div> <ark-div> <label for="varMessage">Message</label> <ark-div> <textarea class="" id="varMessage" tabindex="6" name="varMessage" required rows="5" cols="59"></textarea> <b class="arena-field-required">*<ark-span class="arena-field-required-warning"></ark-span></b> </ark-div> </ark-div> <ark-div class="message-hint">Please leave a detailed description about the issue you are seeing. Include things like game name, how often you can reproduce it, the flash player you are using, and uploading a screenshot to help us resolve your issue quicker.</ark-div> <ark-div class="arena-file_upload"> <ark-span>You can upload your screen image here</ark-span> <output id="output-list"></output> <input class="arena-fileselector" id="drop_zone" name="file" type="file" accept="image/*" multiple/> </ark-div> <ark-div class="arena-fields_recapcha"> <ark-div id="conactus_recapcha" name="conactus_recapcha" class="conactus_recapcha"></ark-div> </ark-div> <ark-div> <ark-span class="arena-ReportMessage"></ark-span> <button class="arena-button" onclick=" Ark_checkContactForm(); ">submit</button> </ark-div> </fieldset> </form> </ark-div> <ark-p class="ark_subtitle arena-message-result"></ark-p> <script> var filesForSend = []; function Ark_checkContactForm() { ark_jQuery(".arena-form-buttons").children().attr("style", "display: none !important"); ark_jQuery(".arena-form-buttons").addClass("loading"); var mail = {}; if (ark_jQuery("#varName").val().length > 0) { mail.user = encodeURI(ark_jQuery("#varName").val()); } else { ark_jQuery("#varName").focus(); overRequest("Name required", "varName"); return; } if (validateEmail(ark_jQuery("#varEmail").val())) { mail.userEmail = encodeURI(ark_jQuery("#varEmail").val()); } else { ark_jQuery("#varEmail").focus(); overRequest("Invalid email address", "varEmail"); return; } var list = document.getElementById("varSubject"); if (ark_jQuery(list).val().length > 0) { if (list.options[list.selectedIndex].getAttribute("data-extra-field") == "otherSubject") { var othersubj = document.getElementById("otherSubject"); if (othersubj.value.length > 0) { mail.Subject = encodeURI(othersubj.value); } else { othersubj.focus(); overRequest("Subject required", "otherSubject"); return; } } else { mail.Subject = encodeURI(ark_jQuery(list).val()); } } else { ark_jQuery("#varSubject").focus(); overRequest("Subject required", "otherSubject"); return; } if (ark_jQuery("#billing-items").length > 0) { mail.billingItems = encodeURI(ark_jQuery("#billing-items").val()); } if (ark_jQuery("#varMessage").val().length > 0) { mail.Message = encodeURI(ark_jQuery("#varMessage").val()); } else { ark_jQuery("#varMessage").focus(); overRequest("Message required", "varMessage"); return; } mail.files = filesForSend; if (ark_jQuery("#recaptcha_response_field").val().length > 0) { mail.recaptchaResponse = encodeURI(ark_jQuery("#recaptcha_response_field").val()); } else { ark_jQuery("#recaptcha_response_field").focus(); overRequest("Captcha required"); return; } var clientData = getClientData(); mail.recaptchaChallenge = ark_jQuery("#recaptcha_challenge_field").val(); mail.flashversion = encodeURI(clientData.flashVersion); mail.userAgent = encodeURI(clientData.browser + ' ' + clientData.browserMajorVersion + ' (' + clientData.browserVersion + ')' ); mail.clientOs = encodeURI(clientData.os + ' (' + clientData.osVersion + ')'); mail.siteBaseUrl = encodeURI(arkPage.arena.siteBaseUrl); if (arkPage.user.isActive) { mail.userInfo = encodeURI(arkPage.user.id + ";" + arkPage.user.name + ";" + arkPage.user.email + ";" + arkPage.user.session + ";" + arkPage.arena.localization); } else { mail.userInfo = encodeURI("Guest"); } sendMail(mail); } function getClientData() { var unknown = '-'; // screen var screenSize = '', width, height; if (screen.width) { width = (screen.width) ? screen.width : ''; height = (screen.height) ? screen.height : ''; screenSize += '' + width + " x " + height; } // browser var nVer = navigator.appVersion; var nAgt = navigator.userAgent; var browser = navigator.appName; var version = '' + parseFloat(navigator.appVersion); var majorVersion = parseInt(navigator.appVersion, 10); var nameOffset, verOffset, ix; // Opera if ((verOffset = nAgt.indexOf('Opera')) != -1) { browser = 'Opera'; version = nAgt.substring(verOffset + 6); if ((verOffset = nAgt.indexOf('Version')) != -1) { version = nAgt.substring(verOffset + 8); } } // Opera Next if ((verOffset = nAgt.indexOf('OPR')) != -1) { browser = 'Opera'; version = nAgt.substring(verOffset + 4); } // MSIE else if ((verOffset = nAgt.indexOf('MSIE')) != -1) { browser = 'Microsoft Internet Explorer'; version = nAgt.substring(verOffset + 5); } // Chrome else if ((verOffset = nAgt.indexOf('Chrome')) != -1) { browser = 'Chrome'; version = nAgt.substring(verOffset + 7); } // Safari else if ((verOffset = nAgt.indexOf('Safari')) != -1) { browser = 'Safari'; version = nAgt.substring(verOffset + 7); if ((verOffset = nAgt.indexOf('Version')) != -1) { version = nAgt.substring(verOffset + 8); } } // Firefox else if ((verOffset = nAgt.indexOf('Firefox')) != -1) { browser = 'Firefox'; version = nAgt.substring(verOffset + 8); } // MSIE 11+ else if (nAgt.indexOf('Trident/') != -1) { browser = 'Microsoft Internet Explorer'; version = nAgt.substring(nAgt.indexOf('rv:') + 3); } // Other browsers else if ((nameOffset = nAgt.lastIndexOf(' ') + 1) < (verOffset = nAgt.lastIndexOf('/'))) { browser = nAgt.substring(nameOffset, verOffset); version = nAgt.substring(verOffset + 1); if (browser.toLowerCase() == browser.toUpperCase()) { browser = navigator.appName; } } if ((ix = version.indexOf(';')) != -1) version = version.substring(0, ix); if ((ix = version.indexOf(' ')) != -1) version = version.substring(0, ix); if ((ix = version.indexOf(')')) != -1) version = version.substring(0, ix); majorVersion = parseInt('' + version, 10); if (isNaN(majorVersion)) { version = '' + parseFloat(navigator.appVersion); majorVersion = parseInt(navigator.appVersion, 10); } var mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer); var cookieEnabled = !!(navigator.cookieEnabled); if (typeof navigator.cookieEnabled == 'undefined' && !cookieEnabled) { document.cookie = 'testcookie'; cookieEnabled = (document.cookie.indexOf('testcookie') != -1); } var os = unknown; var clientStrings = [ { s: 'Windows 10', r: /(Windows 10.0|Windows NT 10.0)/ }, { s: 'Windows 8.1', r: /(Windows 8.1|Windows NT 6.3)/ }, { s: 'Windows 8', r: /(Windows 8|Windows NT 6.2)/ }, { s: 'Windows 7', r: /(Windows 7|Windows NT 6.1)/ }, { s: 'Windows Vista', r: /Windows NT 6.0/ }, { s: 'Windows Server 2003', r: /Windows NT 5.2/ }, { s: 'Windows XP', r: /(Windows NT 5.1|Windows XP)/ }, { s: 'Windows 2000', r: /(Windows NT 5.0|Windows 2000)/ }, { s: 'Windows ME', r: /(Win 9x 4.90|Windows ME)/ }, { s: 'Windows 98', r: /(Windows 98|Win98)/ }, { s: 'Windows 95', r: /(Windows 95|Win95|Windows_95)/ }, { s: 'Windows NT 4.0', r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/ }, { s: 'Windows CE', r: /Windows CE/ }, { s: 'Windows 3.11', r: /Win16/ }, { s: 'Android', r: /Android/ }, { s: 'Open BSD', r: /OpenBSD/ }, { s: 'Sun OS', r: /SunOS/ }, { s: 'Linux', r: /(Linux|X11)/ }, { s: 'iOS', r: /(iPhone|iPad|iPod)/ }, { s: 'Mac OS X', r: /Mac OS X/ }, { s: 'Mac OS', r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ }, { s: 'QNX', r: /QNX/ }, { s: 'UNIX', r: /UNIX/ }, { s: 'BeOS', r: /BeOS/ }, { s: 'OS/2', r: /OS\/2/ }, { s: 'Search Bot', r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/ } ]; for (var id in clientStrings) { var cs = clientStrings[id]; if (cs.r.test(nAgt)) { os = cs.s; break; } } var osVersion = unknown; if (/Windows/.test(os)) { osVersion = /Windows (.*)/.exec(os)[1]; os = 'Windows'; } switch (os) { case 'Mac OS X': osVersion = /Mac OS X (10[\.\_\d]+)/.exec(nAgt)[1]; break; case 'Android': osVersion = /Android ([\.\_\d]+)/.exec(nAgt)[1]; break; case 'iOS': osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(nVer); osVersion = osVersion[1] + '.' + osVersion[2] + '.' + (osVersion[3] | 0); break; } var flashVersion = 'no check'; if (typeof swfobject != 'undefined') { var fv = swfobject.getFlashPlayerVersion(); if (fv.major > 0) { flashVersion = fv.major + '.' + fv.minor + ' r' + fv.release; } else { flashVersion = unknown; } } return { screen: screenSize, browser: browser, browserVersion: version, browserMajorVersion: majorVersion, mobile: mobile, os: os, osVersion: osVersion, cookies: cookieEnabled, flashVersion: flashVersion }; } function getFlashVersion() { try { try { var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6'); try { axo.AllowScriptAccess = 'always'; } catch (e) { return '6,0,0'; } } catch (e) { } return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1]; } catch (e) { try { if (navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) { return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1]; } } catch (e) { } } return '0,0,0'; } function overRequest(message, field) { ark_jQuery(".arena-form-buttons").children().attr("style", ""); ark_jQuery(".arena-form-buttons").removeClass("loading"); ark_jQuery(".arena-field-parent > .arena-form-buttons >.arena-ReportMessage").text(""); ark_jQuery(".arena-field-required-warning").text(""); if (field != undefined) { ark_jQuery("#" + field + " + .arena-field-required .arena-field-required-warning").text(message); ark_jQuery(".arena-field-parent > .arena-form-buttons >.arena-ReportMessage").text(""); } else { ark_jQuery(".arena-field-parent > .arena-form-buttons >.arena-ReportMessage").text(message); } ReloadRecaptcha("focusoff"); } function validateEmail(email) { var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(email); } function sendMail(data) { var url = "https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk/Services/Support.ashx"; var dataJson = JSON.stringify(data).replace("\"[", "[").replace("]\"", "]").replace(/\\\"/g, '"'); ark_jQuery.ajax({ type: "POST", url: url, data: { json: dataJson }, success: function (result) { overRequest(result); ark_jQuery("#ARK_popup_ContactUs .ark_subtitle.arena-message-result").text(result).show(); ark_jQuery("#ARK_popup_ContactUs .arena-ContactUs").hide(); }, error: function (result) { if (result.status == 403) { overRequest(result.responseText); } else { overRequest("something went wrong please try again later."); } } }); } function FileUpload() { for (var i = 0, f; f = filesForSend[i]; i++) { document.getElementById('output-list').innerHTML = ""; // Only process image files. if (!f.type.match('image.*')) { continue; } var reader = new FileReader(); // Closure to capture the file information. reader.onload = (function (theFile) { return function (e) { theFile["userImgBase64"] = e.target.result; theFile["userfilelastModifiedDate"] = e.target.name; theFile["userfilename"] = e.target.name; theFile["userfiletype"] = e.target.type; theFile["userfilesize"] = e.target.size; // Render thumbnail. var span = document.createElement('span'); span.innerHTML = ['<img src="', e.target.result, '" title="', encodeURI(theFile.name), '" style="width:100px;"/>'].join(''); document.getElementById('output-list').insertBefore(span, null); }; })(f); reader.readAsDataURL(f); } } function handleFileSelect(evt) { ark_jQuery(".arena-ContactUs .arena-file_upload").removeClass("active"); evt.stopPropagation(); evt.preventDefault(); var files = evt.dataTransfer.files; // FileList object. // files is a FileList of File objects. List some properties. var output = []; var totalSize = 0; for (var i = 0, f; f = files[i]; i++) { output.push('<li><strong>', encodeURI(f.name), '</strong> (', f.type || 'n/a', ') - ', f.size, ' bytes, last modified: ', f.lastModifiedDate.toLocaleDateString(), '</li>'); totalSize += f.size; filesForSend.push(f); } if (!handleFileSizeLimit(totalSize)) { filesForSend.pop(); return; } FileUpload(); //document.getElementById('output-list').innerHTML = '<ul>' + output.join('') + '</ul>'; } function handleFileSelectInput(evt) { var files = evt.target.files; // FileList object // files is a FileList of File objects. List some properties. var output = []; var totalSize = 0; for (var i = 0, f; f = files[i]; i++) { output.push('<li><strong>', encodeURI(f.name), '</strong> (', f.type || 'n/a', ') - ', f.size, ' bytes, last modified: ', f.lastModifiedDate.toLocaleDateString(), '</li>'); totalSize += f.size; filesForSend.push(f); } if (!handleFileSizeLimit(totalSize)) { filesForSend.pop(); return; } FileUpload(); //document.getElementById('output-list').innerHTML = '<ul>' + output.join('') + '</ul>'; } function handleDragOver(evt) { evt.stopPropagation(); evt.preventDefault(); // evt.dataTransfer = evt.originalEvent.dataTransfer; evt.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy. } function handleFileSizeLimit(fileSize) { var result = fileSize < 20971520; if (!result) { overRequest("Total size of files are out of 20 MB"); } return result; } function checkMultipleProp() { return !!("multiple" in document.createElement("input")); } // Setup the dnd listeners. var dropZone = document.getElementById('drop_zone'); ark_jQuery(dropZone).on( 'dragover', handleDragOver).on( 'dragenter', function () { ark_jQuery(".arena-ContactUs .arena-file_upload").addClass("active"); }).on( 'dragleave', function () { ark_jQuery(".arena-ContactUs .arena-file_upload").removeClass("active"); }).on( 'drop', handleFileSelect).on( 'change', handleFileSelectInput); if (!checkMultipleProp()) { ark_jQuery(dropZone).parent().addClass("notSupportDragDrop"); } ark.addListener('ARK_PopUp_ContactUs:EventOpen', function () { ark_jQuery("#ARK_popup_ContactUs .arena-ContactUs").show(); ark_jQuery("#ARK_popup_ContactUs .ark_subtitle.arena-message-result").text("").hide(); GenerateRecaptcha("conactus_recapcha", null, function () { ark_jQuery("#varName").focus(); }); ark_jQuery("#varSubject").trigger("change"); overRequest(""); }); ark_jQuery("#varSubject").on("change", function () { ark_jQuery("#otherSubject + .arena-field-required .arena-field-required-warning").text(""); var item = this.options[this.selectedIndex].getAttribute("data-extra-field"); ark_jQuery(".optionalField").hide(); ark_jQuery("#otherSubject").removeAttr("required"); if (item != undefined && item != "") { ark_jQuery("." + item).show(); if (item == "otherSubject") { ark_jQuery("#otherSubject").attr("required", "required"); } } }); ark.addListener('ARK_PopUp_ContactUs:EventClose', function () { ark_jQuery('#ARK_popup_ContactUs form')[0].reset(); ark_jQuery(".optionalField").hide(); ark_jQuery("#output-list").html(""); filesForSend = []; DestroyRecaptcha(); }); </script> </ark-div> </ark-div> <ark-div class="ARK_popup_content ARK_popup_custom_content"></ark-div> </ark-popup> <script type="text/javascript"> ark_jQuery(document).ready(function () { ark_Popup.Initialize('ContactUs', 'f340ec098f3897c89bfc0d5cf3b16b76'); }); </script> <a href="#" class="popup-contact_us" onclick=" ark_Popup.open('ContactUs', event); event.stopPropagation(); return false; ">Contact Us</a> </ark-article> </ark-main-block> <ark-bottom-ad> <div id="div_blockBottom_1" class="wrapperContentBlock" style="width:728px;height:90px;margin:0 auto;padding:0px;"><!-- /71347885/_main_independent/in_arkadium --> <div id="in_arkadium_leaderboard"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('in_arkadium_leaderboard'); }); </script> </div></div> </ark-bottom-ad> <ark-popup id="ARK_popup_RedirectMessage" class="ARK_popup f340ec098f3897c89bfc0d5cf3b16b76"> <ark-overlay class="ARK_overlay"></ark-overlay> <ark-div class="ARK_popup_content"> <ark-span class="akrpopup-content-close arena-popup-button arena-popup-close">x</ark-span> <ark-div class="ark_outfit_block"> <ark-div class="arena-logout-popup"> <ark-div class="arena-popup-head"> <h3 id="redirectMessage"></h3> </ark-div> <a onclick="ark_Popup.close('RedirectMessage')" class="arena-button">Ok</a> </ark-div> <script> </script> </ark-div> </ark-div> <ark-div class="ARK_popup_content ARK_popup_custom_content"></ark-div> </ark-popup> <script type="text/javascript"> ark_jQuery(document).ready(function () { ark_Popup.Initialize('RedirectMessage', 'f340ec098f3897c89bfc0d5cf3b16b76'); }); </script> <script type="text/javascript" src="https://web.archive.org/web/20161128163501js_/http://cdn.arenaconnect.arkadiumhosted.com/4.0//bundles/global/bottom/js?v=4gLywnMMjrzhPxXyvg5l3PWTMdO0ouh_Ld-uKTpUpG81"></script> <script type="text/javascript" src="https://web.archive.org/web/20161128163501js_/http://cdn.arenaconnect.arkadiumhosted.com/4.0//bundles/global/analytics/js?v=qSw9VS6urqUyAQqRYME1DfVanp68-GtxllkvoqWuD_w1"></script> <script data-bundletype="SmartBundle" src="https://web.archive.org/web/20161128163501js_/http://cdn.arenaconnect.arkadiumhosted.com/4.0//arksmartbundles/modgamedetailsmodinfotabsmodnavigationmodplaygamemodtiles/js?v=YSlobR4E5yIFC_vk5jGRc5sQlRFNu0LX-OfVo0kFM_w1"></script> <script data-bundletype="SmartBundle" src="https://web.archive.org/web/20161128163501js_/http://cdn.arenaconnect.arkadiumhosted.com/4.0//arksmartbundles/empty/js?v="></script> </div> </div> <script type="text/javascript"> $(document).ready(function () { // Add today's date var d = new Date(); var n = d.toDateString(); document.getElementById("lblDate").innerHTML = n; // run test on initial page load checkSize(); // run test on resize of the window $(window).resize(checkSize); //Function to the css rule function checkSize() { if ($(".menu-toggle__wrapper").css("display") == "block") { $("#menu-toggle__btn").unbind(); $('#menu-toggle__btn').toggle(function () { $('#navigation').slideToggle('slow'); $('.menu-toggle__arrow').html('▲').text(); }, function () { $('#navigation').slideToggle('slow'); $('.menu-toggle__arrow').html('▼').text(); }); } else { $("#navigation").removeAttr("style"); } } }); </script> <!-- StartcustomBodyEndBlock--> <div id="customBodyEndBlock"> <!-- SiteCatalyst code version: h.27.5. Copyright 1996-2015 Adobe, Inc. --> <script type="text/javascript">var s_account="indepdev";</script> <script type="text/javascript" src="https://web.archive.org/web/20161128163501js_/http://www.independent.co.uk/sites/all/libraries/sitecatalyst/ind_s_code.js?ny0y8z"></script> <script type="text/javascript"><!-- s.pageName="https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk"; s.prop18="New Site"; s.server="puzzles.independent.co.uk"; /* DO NOT ALTER ANYTHING BELOW THIS LINE ! **/ var s_code=s.t();if(s_code)document.write(s_code)//--></script> <script type="text/javascript"><!-- if(navigator.appVersion.indexOf('MSIE')>=0)document.write(unescape('%3C')+'!-'+'-') //--></script> <noscript><img src="https://web.archive.org/web/20161128163501im_/http://independent.122.2o7.net/b/ss/indepdev/1/H.27.5--NS/0?[AQB]&cdp=3&[AQE]/8405996" height="1" width="1" alt=""></noscript> <!--/DO NOT REMOVE/--> <!-- End SiteCatalyst code version: h.27.5. --> </div> <!-- End customBodyEndBlock--> <script type="text/javascript"> try{ arkPage.arena.name = 'Independent'; arkPage.arena.device = 'pc'; arkPage.arena.siteBaseUrl = 'https://web.archive.org/web/20161128163501/http://puzzles.independent.co.uk'; arkPage.arena.isSupportUsers = true; arkPage.arena.fbAppID = '235586169789578'; arkPage.arena.path = '/games/sudoku/'; arkPage.arena.localizationEnabled = false; arkPage.arena.localization = 'en-US'; arkPage.arena.localizationAlpha3 = 'ENU'; arkPage.arena.localizationAlpha2 = 'en'; arkPage.arena.inIframe = false; arkPage.arena.userIP = '78.243.94.229'; arkPage.arena.loginSystems = 'fb'; arkPage.game.externalGameId = 'html5-sudoku'; arkPage.game.pageName = 'sudoku'; arkPage.game.name = 'Sudoku'; arkPage.game.categoryName = 'Puzzles,Strategy'; arkPage.game.type = 'html5'; arkPage.user.id = '10153877863441965'; arkPage.user.name = 'Andy Braid'; arkPage.user.email = 'andy_braid@yahoo.co.uk'; arkPage.user.session = '60476490.1480437222.kezIL51zDYnIBGYk0IDCyy0WnVU1.1.NzguMjQzLjk0LjIyOQ.puzzles-independent-co-uk.pc.False'; arkPage.user.isActive = true; arkPage.user.withoutName = false; arkPage.user.loginSystem = 'fb'; } catch(e){} </script> </body> </html> <!-- FILE ARCHIVED ON 16:35:01 Nov 28, 2016 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 16:51:11 Nov 28, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.562 exclusion.robots: 0.027 exclusion.robots.policy: 0.017 esindex: 0.01 cdx.remote: 49.357 LoadShardBlock: 303.709 (3) PetaboxLoader3.datanode: 174.514 (4) PetaboxLoader3.resolve: 159.32 (2) load_resource: 125.218 -->