{"product_id":"retro-gaming-console-with-20000-games-23-emulators-4k-hdmi-game-stick-wireless-retro-game-console-retro-drive-dual-2-4ghz-wireless-controllers-plug-and-play-video-game-console-for-tv","title":"Retro handheld model with 20000+ Games \u0026 23 Emulators, 4K HDMI Game Stick, Wireless Retro handheld model Retro Drive, Dual 2.4GHz Wireless Controllers Plug and Play Video handheld model for TV","description":"【Preloaded 20000+ Classic Games】This retro gaming console has over 20,000 built-in games and 23 emulators, and it includes a 64GB TF card. Simply connect the game stick 4k to your TV, PC, or projector to enjoy a vast selection of games, with no downloads, installations, or internet required.\u003cbr\u003e\n【Upgraded Dual 2.4GHz Wireless Controllers】The retro game console is equipped with 2 upgraded 2.4GHz wireless controllers for a stable, lag-free gaming experience. Get rid of the tangled wires, you can walk around freely. The retro stick supports two-player gaming, so you can enjoy gaming time with friends and family. (Note: Controller requires 2 AAA batteries, not included.)\u003cbr\u003e\n【Immersive 4K HDMI Gaming Experience】This retro game stick is upgraded with a chip, supporting HDMI output to deliver 4K ultra-clear resolution. Just connect it to your TV\/Projector\/PC, enjoy high-definition retro video games on a larger screen with enhanced gaming experience. The wireless retro game console allows you to save your game progress, so you can pick up where you left off next time.\u003cbr\u003e\n【Plug and Play Game Console】Simply connect the wireless receiver to the gamestick, plug it into the TV’s HDMI port, and power it using the USB cable. Once the blue indicator light is on, the game menu will appear automatically. Turn on the controller to start playing.\u003cbr\u003e\n【Amazing Present for Kids\/Adults】This retro game device is suitable for all ages and makes an ideal Christmas or Birthday gift for both children and adults. The retro gaming stick provides joyful playtime for kids and evokes nostalgic childhood memories.\n\u003cdiv class=\"a-section a-spacing-large bucket\" id=\"aplus\"\u003e\n\u003chr class=\"bucketDivider\" noshade size=\"1\"\u003e\n\u003ch2\u003eProduct Description\u003c\/h2\u003e\n\n\u003cdiv lang=\"en_AU\"\u003e\n\u003cstyle type=\"text\/css\"\u003e.aplus-v2 .container-with-background-image {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; width: 100%;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; height: 100%;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; background-repeat: no-repeat;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; background-size: cover;\n\u0026nbsp; \u0026nbsp; }\n\u003c\/style\u003e\n\u003cscript type=\"application\/javascript\"\u003e\n\u0026nbsp; \u0026nbsp; function logShoppableMetrics(moduleName, showsAddToCart) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (window.ue \u0026amp;\u0026amp; window.ue.count) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; window.ue.count(\"aplus:shoppable:\" + moduleName + \":addToCart\", showsAddToCart ? 1 : 0);\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\n\u0026nbsp; \u0026nbsp; }\n\u003c\/script\u003e\n\u003cdiv cel_widget_id=\"aplus\" class=\"aplus-v2 desktop celwidget\"\u003e\n\u003cdiv cel_widget_id=\"aplus-premium-module-2-fullbackground-image\" class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg alt=\",\" referrerpolicy=\"no-referrer\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/6f42d1dd-6cb2-4bad-adeb-7491f249fc7e.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"a-section a-text-center\"\u003e \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv cel_widget_id=\"aplus-premium-module-2-fullbackground-image\" class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg alt=\",\" referrerpolicy=\"no-referrer\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/9544f4ec-dd35-4ee3-90ca-ab4473fcec94.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"a-section a-text-center\"\u003e \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv cel_widget_id=\"aplus-premium-module-2-fullbackground-image\" class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg alt=\".\" referrerpolicy=\"no-referrer\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/71f45851-6c75-45cf-944a-f63a0cdf5e2f.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"a-section a-text-center\"\u003e \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv cel_widget_id=\"aplus-premium-module-13-carousel\" class=\"celwidget aplus-module premium-module-13-carousel aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-13\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n\u003cdiv aria-label=\"Featured content carousel\" aria-roledescription=\"carousel\" class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular\" data-a-carousel-options='{\"name\":\"premium-aplus-13-carousel-3\",\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false}' data-a-display-strategy=\"single\" data-a-transition-strategy=\"slideCircular\" id=\"premium-aplus-13-carousel-3-id\" role=\"group\"\u003e\n\u003cinput autocomplete=\"on\" class=\"a-carousel-firstvisibleitem\" type=\"hidden\"\u003e\n\u003cdiv class=\"a-row a-carousel-controls a-carousel-row a-carousel-has-buttons a-carousel-overlay-buttons a-carousel-rounded-buttons\"\u003e\n\u003cdiv class=\"a-carousel-row-inner\"\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-left\"\u003e \u003c\/div\u003e\n\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\n\u003cdiv aria-roledescription=\"slide\" class=\"a-carousel-viewport\" role=\"group\"\u003e\n\u003col class=\"a-carousel\" role=\"list\"\u003e\n\t\u003cli aria-roledescription=\"slide\" aria-setsize=\"4\" class=\"a-carousel-card aplus-carousel-element\"\u003e\n\t\u003cdiv id=\"premium-aplus-13-carousel-3-slide-0\"\u003e\n\t\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n\t\u003cdiv\u003e\u003cdiv\u003e\u003cimg alt=\".\" referrerpolicy=\"no-referrer\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/2d035dbf-cfd2-4f1d-bad2-cdf477bac0dc.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\t\u003c\/div\u003e\n\t\u003c\/div\u003e\n\t\u003c\/li\u003e\n\t\u003cli aria-roledescription=\"slide\" aria-setsize=\"4\" class=\"a-carousel-card aplus-carousel-element\"\u003e\n\t\u003cdiv id=\"premium-aplus-13-carousel-3-slide-1\"\u003e\n\t\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n\t\u003cdiv\u003e\u003cdiv\u003e\u003cimg alt=\",\" referrerpolicy=\"no-referrer\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/33ced0e8-a761-46a7-b0c3-f137f098eb44.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\t\u003c\/div\u003e\n\t\u003c\/div\u003e\n\t\u003c\/li\u003e\n\t\u003cli aria-roledescription=\"slide\" aria-setsize=\"4\" class=\"a-carousel-card aplus-carousel-element\"\u003e\n\t\u003cdiv id=\"premium-aplus-13-carousel-3-slide-2\"\u003e\n\t\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n\t\u003cdiv\u003e\u003cdiv\u003e\u003cimg alt=\",\" referrerpolicy=\"no-referrer\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/9978d541-1ee3-40d8-8706-0b990eb86f8c.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\t\u003c\/div\u003e\n\t\u003c\/div\u003e\n\t\u003c\/li\u003e\n\t\u003cli aria-roledescription=\"slide\" aria-setsize=\"4\" class=\"a-carousel-card aplus-carousel-element\"\u003e\n\t\u003cdiv id=\"premium-aplus-13-carousel-3-slide-3\"\u003e\n\t\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n\t\u003cdiv\u003e\u003cdiv\u003e\u003cimg alt=\",\" referrerpolicy=\"no-referrer\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/aa710056-4884-4dfa-aaa2-8ced601585a8.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\t\u003c\/div\u003e\n\t\u003c\/div\u003e\n\t\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"a-carousel-col a-carousel-right\"\u003e \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan class=\"a-end aok-hidden\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"a-section a-spacing-none aplus-pagination-wrapper\"\u003e\n\u003cscript\u003e\n\nP.now(\"premium-aplus-13-carousel-3\").execute(function(init) {\n\u0026nbsp; \u0026nbsp; if (init) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; return;\n\u0026nbsp; \u0026nbsp; }\n\u0026nbsp; \u0026nbsp; P.register(\"premium-aplus-13-carousel-3\", function() {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; return function() {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; P.when(\"A\", \"jQuery\", \"a-carousel-framework\", \"ready\").execute(\"paginate-carousel\", function (A, $, framework) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; const ENTER_KEY_CODE = 13;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; const ESCAPE_KEY_CODE = 27;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; const LEFT_ARROW_KEY = 37;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; const RIGHT_ARROW_KEY = 39;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; const HOME_KEY = 36;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; const END_KEY = 35;\n\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var moduleId = \"3\";\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var carouselName = \"premium-aplus-13-carousel-3\";\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var paginationAction = \"aplus-pagination-dot-action-\" + moduleId + \"-\" + carouselName;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var paginationGroup = \"#aplus-pagination-group-\" + moduleId + \"-\" + carouselName;\n\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \/* If the carousel goes to a new page *\/\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; A.on(\"a:carousel:\"+carouselName+\":change:pageNumber\", function (data) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; A.$(paginationGroup+\" .carousel-slider-circle\").removeClass(\"aplus-carousel-active\").attr('aria-selected', 'false').attr('tabindex', -1)\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; .eq(data.newValue - 1).addClass(\"aplus-carousel-active\").attr('aria-selected', 'true').attr('tabindex', 0);\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; });\n\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; function syncPaginationDotsWithCarouselPages(numPages) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; const parentElement = document.querySelector(paginationGroup);\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (parentElement \u0026amp;\u0026amp; parentElement.children) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; const children = parentElement.children;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; for (let i = 0; i \u003c children.length; i++) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (i \u003e= numPages) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \/\/ If number of dots \u003e num of pages, we should hide other dots\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; children[i].classList.add('aplus-pagination-dot--display-none');\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \/\/ Reset display of dots if it was hidden before\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; children[i].classList.remove('aplus-pagination-dot--display-none');\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\n\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; framework.onInit(carouselName, function (carousel) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; try {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var totalPages = carousel.getAttr('totalPages');\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; syncPaginationDotsWithCarouselPages(totalPages);\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \/* Resize event handler to re-calculate the pagination dots count based on orientation *\/\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; window.addEventListener('resize', function() {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; carousel.resize();\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; totalPages = carousel.getAttr('totalPages');\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; syncPaginationDotsWithCarouselPages(totalPages);\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; });\n\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; A.declarative(paginationAction, 'click keydown', function(event){\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var isClick = event.type === 'click';\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var isKeydown = event.type === 'keydown';\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var isEnter = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === ENTER_KEY_CODE;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var isEsc = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === ESCAPE_KEY_CODE;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var isLeftArrow = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === LEFT_ARROW_KEY;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var isRightArrow = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === RIGHT_ARROW_KEY;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var isHome = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === HOME_KEY;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var isEnd = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === END_KEY;\n\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (isClick || isEnter) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; var data = event.data;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; carousel.gotoPage(data.page);\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; } else if (isEsc) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; event.$target.blur();\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; } else if (isLeftArrow || isRightArrow || isHome || isEnd) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; event.$event.preventDefault();\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; const dots = A.$(paginationGroup + \" .carousel-slider-circle\");\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; const currentIndex = dots.index(event.$target);\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; let nextIndex;\n\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; if (isLeftArrow) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; nextIndex = currentIndex \u003e 0 ? currentIndex - 1 : dots.length - 1;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; } else if (isRightArrow) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; nextIndex = currentIndex \u003c dots.length - 1 ? currentIndex + 1 : 0;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; } else if (isHome) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; nextIndex = 0;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; } else if (isEnd) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; nextIndex = dots.length - 1;\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\n\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; dots.eq(nextIndex).focus();\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; carousel.gotoPage(nextIndex + 1);\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; });\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; } catch (e) {\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources');\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; });\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; });\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; }\n\u0026nbsp; \u0026nbsp; });\n});\n\u003c\/script\u003e\n\u003cdiv class=\"aplus-mantle aplus-module\"\u003e\n\u003cdiv class=\"aplus-carousel-nav\"\u003e\n\u003cul aria-label=\"tablist-section\" class=\"aplus-pagination-dots\" id=\"aplus-pagination-group-3-premium-aplus-13-carousel-3\" role=\"tablist\"\u003e\n\t\u003cli class=\"aplus-pagination-dot\"\u003e\u003cspan aria-controls=\"premium-aplus-13-carousel-3-slide-0\" aria-label=\"slide-1\" aria-selected=\"true\" class=\"a-declarative carousel-slider-circle aplus-display-inline-block aplus-carousel-active\" data-action=\"aplus-pagination-dot-action-3-premium-aplus-13-carousel-3\" data-aplus-pagination-dot-action-3-premium-aplus-13-carousel-3='{\"page\": 1}' role=\"tab\" tabindex=\"0\"\u003e \u003c\/span\u003e\u003c\/li\u003e\n\t\u003cli class=\"aplus-pagination-dot\"\u003e\u003cspan aria-controls=\"premium-aplus-13-carousel-3-slide-1\" aria-label=\"slide-2\" aria-selected=\"false\" class=\"a-declarative carousel-slider-circle aplus-display-inline-block \" data-action=\"aplus-pagination-dot-action-3-premium-aplus-13-carousel-3\" data-aplus-pagination-dot-action-3-premium-aplus-13-carousel-3='{\"page\": 2}' role=\"tab\" tabindex=\"-1\"\u003e \u003c\/span\u003e\u003c\/li\u003e\n\t\u003cli class=\"aplus-pagination-dot\"\u003e\u003cspan aria-controls=\"premium-aplus-13-carousel-3-slide-2\" aria-label=\"slide-3\" aria-selected=\"false\" class=\"a-declarative carousel-slider-circle aplus-display-inline-block \" data-action=\"aplus-pagination-dot-action-3-premium-aplus-13-carousel-3\" data-aplus-pagination-dot-action-3-premium-aplus-13-carousel-3='{\"page\": 3}' role=\"tab\" tabindex=\"-1\"\u003e \u003c\/span\u003e\u003c\/li\u003e\n\t\u003cli class=\"aplus-pagination-dot\"\u003e\u003cspan aria-controls=\"premium-aplus-13-carousel-3-slide-3\" aria-label=\"slide-4\" aria-selected=\"false\" class=\"a-declarative carousel-slider-circle aplus-display-inline-block \" data-action=\"aplus-pagination-dot-action-3-premium-aplus-13-carousel-3\" data-aplus-pagination-dot-action-3-premium-aplus-13-carousel-3='{\"page\": 4}' role=\"tab\" tabindex=\"-1\"\u003e \u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"a-section a-text-center\"\u003e \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv cel_widget_id=\"aplus-premium-module-2-fullbackground-image\" class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg alt=\",\" referrerpolicy=\"no-referrer\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/8f9b5830-6c84-4a60-abd0-7b6fadab06aa.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"a-section a-text-center\"\u003e \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv cel_widget_id=\"aplus-premium-module-2-fullbackground-image\" class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg alt=\".\" referrerpolicy=\"no-referrer\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/4eaa0221-8b13-47c6-a0eb-1b077fc8a913.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"a-section a-text-center\"\u003e \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n","brand":"UNBRANDED","offers":[{"title":"Default Title","offer_id":51794146689303,"sku":null,"price":60.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0686\/2064\/8727\/files\/71b7vbxVSJL._AC_SL1500.jpg?v=1768191162","url":"https:\/\/baby360.nz\/products\/retro-gaming-console-with-20000-games-23-emulators-4k-hdmi-game-stick-wireless-retro-game-console-retro-drive-dual-2-4ghz-wireless-controllers-plug-and-play-video-game-console-for-tv","provider":"Baby360","version":"1.0","type":"link"}