philbot9 / youtube-info

Fetch meta information about YouTube videos
ISC License
43 stars 20 forks source link

Doesn't work within dockerized app #9

Closed ahmedfarooki closed 5 years ago

ahmedfarooki commented 5 years ago

Works fine on host, but when tries to fetch video page, request fails to load it properly.

This causes it to throw a 'Video does not exist' error.

philbot9 commented 5 years ago

Hi there, I'm a bit surprised by that. I have been using this module from within a Docker container without any issues here.

Can you please provide a bit more information?

ahmedfarooki commented 5 years ago

Here's a dump from the nock recording (intercepted request):


urlogger-api_1  | {
urlogger-api_1  |   "scope": "https://www.youtube.com:443",
urlogger-api_1  |   "method": "GET",
urlogger-api_1  |   "path": "/watch?v=bs504u1wjjg",
urlogger-api_1  |   "body": "",
urlogger-api_1  |   "status": 200,
urlogger-api_1  |   "response": "<!DOCTYPE html><html lang=\"en\" data-cast-api-enabled=\"true\"><head><style name=\"www-roboto\" >@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(//fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1Mu51xIIzI.woff2)format('woff2');}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(//fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51S7ACc6CsQ.woff2)format('woff2');}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(//fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9fBBc4.woff2)format('woff2');}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxK.woff2)format('woff2');}</style><script name=\"www-roboto\" >if (document.fonts && document.fonts.load) {document.fonts.load(\"400 10pt Roboto\", \"E\");document.fonts.load(\"500 10pt Roboto\", \"E\");}</script><script >var ytcsi = {gt: function(n) {n = (n || '') + 'data_';return ytcsi[n] || (ytcsi[n] = {tick: {},info: {}});},now: window.performance && window.performance.timing &&window.performance.now ? function() {return window.performance.timing.navigationStart + window.performance.now();} : function() {return (new Date()).getTime();},tick: function(l, t, n) {ticks = ytcsi.gt(n).tick;var v = t || ytcsi.now();if (ticks[l]) {ticks['_' + l] = (ticks['_' + l] || [ticks[l]]);ticks['_' + l].push(v);}ticks[l] = v;},info: function(k, v, n) {ytcsi.gt(n).info[k] = v;},setStart: function(s, t, n) {ytcsi.info('yt_sts', s, n);ytcsi.tick('_start', t, n);}};(function(w, d) {ytcsi.setStart('dhs', w.performance ? w.performance.timing.responseStart : null);var isPrerender = (d.visibilityState || d.webkitVisibilityState) == 'prerender';var vName = (!d.visibilityState && d.webkitVisibilityState)? 'webkitvisibilitychange' : 'visibilitychange';if (isPrerender) {ytcsi.info('prerender', 1);var startTick = function() {ytcsi.setStart('dhs');d.removeEventListener(vName, startTick);};d.addEventListener(vName, startTick, false);}if (d.addEventListener) {d.addEventListener(vName, function() {ytcsi.tick('vc');}, false);}var slt = function(el, t) {setTimeout(function() {var n = ytcsi.now();el.loadTime = n;if (el.slt) {el.slt();}}, t);};w.__ytRIL = function(el) {if (!el.getAttribute('data-thumb')) {if (w.requestAnimationFrame) {w.requestAnimationFrame(function() {slt(el, 0);});} else {slt(el, 16);}}};})(window, document);</script><script >var ytcfg = {d: function() {return (window.yt && yt.config_) || ytcfg.data_ || (ytcfg.data_ = {});},get: function(k, o) {return (k in ytcfg.d()) ? ytcfg.d()[k] : o;},set: function() {var a = arguments;if (a.length > 1) {ytcfg.d()[a[0]] = a[1];} else {for (var k in a[0]) {ytcfg.d()[k] = a[0][k];}}}};</script>  <script>ytcfg.set(\"ROOT_VE_TYPE\", 3832);ytcfg.set(\"EVENT_ID\", \"sf7sW6OQFZOskwbm3LSYCw\");</script>\n  <script >ytcfg.set(\"LACT\", null);</script>\n  \n\n\n\n\n  <script>\n        (function(){var b={a:\"content-snap-width-1\",b:\"content-snap-width-2\",c:\"content-snap-width-3\"};function f(){var a=[],c;for(c in b)a.push(b[c]);return a}\nfunction h(a){var c=f().concat([\"guide-pinned\",\"show-guide\"]),e=c.length,g=[];a.replace(/\\S+/g,function(a){for(var d=0;d<e;d++)if(a==c[d])return;g.push(a)});\nreturn g}\n;function k(a,c,e){var g=document.getElementsByTagName(\"html\")[0],d=h(g.className);a&&1251<=(window.innerWidth||document.documentElement.clientWidth)&&(d.push(\"guide-pinned\"),c&&d.push(\"show-guide\"));e&&(e=(window.innerWidth||document.documentElement.clientWidth)-21-50,1251<=(window.innerWidth||document.documentElement.clientWidth)&&a&&c&&(e-=230),d.push(1262<=e?\"content-snap-width-3\":1056<=e?\"content-snap-width-2\":\"content-snap-width-1\"));g.className=d.join(\" \")}\nvar l=[\"yt\",\"www\",\"masthead\",\"sizing\",\"runBeforeBodyIsReady\"],m=this;l[0]in m||\"undefined\"==typeof m.execScript||m.execScript(\"var \"+l[0]);for(var n;l.length&&(n=l.shift());)l.length||void 0===k?m[n]&&m[n]!==Object.prototype[n]?m=m[n]:m=m[n]={}:m[n]=k;}).call(this);\n\n      try {window.ytbuffer = {};ytbuffer.handleClick = function(e) {var element = e.target || e.srcElement;while (element.parentElement) {if (/(^| )yt-can-buffer( |$)/.test(element.className)) {window.ytbuffer = {bufferedClick: e};element.className += ' yt-is-buffered';break;}element = element.parentElement;}};if (document.addEventListener) {document.addEventListener('click', ytbuffer.handleClick);} else {document.attachEvent('onclick', ytbuffer.handleClick);}} catch(e) {}\n\n    yt.www.masthead.sizing.runBeforeBodyIsReady(false,false,true);\n  </script>\n\n      <script src=\"/yts/jsbin/scheduler-vfl2iJIO4/scheduler.js\" type=\"text/javascript\" name=\"scheduler/scheduler\" ></script>\n\n\n    <script >var ytimg = {};ytimg.count = 1;ytimg.preload = function(src) {var img = new Image();var count = ++ytimg.count;ytimg[count] = img;img.onload = img.onerror = function() {delete ytimg[count];};img.src = src;};</script>\n\n\n      <script src=\"/yts/jsbin/www-pagead-id-vfla9K0Md/www-pagead-id.js\" type=\"text/javascript\" name=\"www-pagead-id/www-pagead-id\"  async></script>\n\n      <script src=\"/yts/jsbin/player-vflYuqTT6/en_US/base.js\"  name=\"player/base\" ></script>\n\n\n\n  <link rel=\"stylesheet\" href=\"/yts/cssbin/www-core-vflKmIJhL.css\" name=\"www-core\">\n      <link rel=\"stylesheet\" href=\"/yts/cssbin/player-vflwtE1B0/www-player.css\" name=\"player/www-player\">\n\n  <link rel=\"stylesheet\" href=\"/yts/cssbin/www-pageframe-vfl2QekqP.css\" name=\"www-pageframe\">\n  \n<title>YouTube</title><meta name=\"robots\" content=\"noindex\">      <meta name=\"title\" content=\"\">\n\n        <meta name=\"nosnippet\">\n\n      <meta name=\"keywords\" content=\"\">\n\n<link rel=\"manifest\" href=\"/manifest.json\">    <meta name=\"referrer\" content=\"origin\">\n<link rel=\"search\" type=\"application/opensearchdescription+xml\" href=\"https://www.youtube.com/opensearch?locale=en_US\" title=\"YouTube Video Search\"><link rel=\"shortcut icon\" href=\"https://s.ytimg.com/yts/img/favicon-vfl8qSV2F.ico\" type=\"image/x-icon\">     <link rel=\"icon\" href=\"/yts/img/favicon_32-vflOogEID.png\" sizes=\"32x32\"><link rel=\"icon\" href=\"/yts/img/favicon_48-vflVjB_Qk.png\" sizes=\"48x48\"><link rel=\"icon\" href=\"/yts/img/favicon_96-vflW9Ec0w.png\" sizes=\"96x96\"><link rel=\"icon\" href=\"/yts/img/favicon_144-vfliLAfaB.png\" sizes=\"144x144\"><meta name=\"theme-color\" content=\"#ff0000\"><style>.exp-invert-logo .hats-logo {background: no-repeat url(/yts/img/ringo/hitchhiker/logo_mini_gray-vflfanGkh.png);width: 65px;height: 15px;}.exp-invert-logo #header:before,.exp-invert-logo .ypc-join-family-header .logo,.exp-invert-logo #footer-logo .footer-logo-icon,.exp-invert-logo #yt-masthead #logo-container .logo,.exp-invert-logo #masthead #logo-container,.exp-invert-logo .admin-masthead-logo a,.exp-invert-logo #yt-sidebar-styleguide-logo #logo {background: no-repeat url(/yts/img/ringo/hitchhiker/logo_small-vflHpzGZm.png);width: 100px;height: 30px;}.exp-invert-logo.inverted-hdpi #header:before,.exp-invert-logo.inverted-hdpi .ypc-join-family-header .logo,.exp-invert-logo.inverted-hdpi #footer-logo .footer-logo-icon,.exp-invert-logo.inverted-hdpi #yt-masthead #logo-container .logo,.exp-invert-logo.inverted-hdpi #masthead #logo-container,.exp-invert-logo.inverted-hdpi .admin-masthead-logo a,.exp-invert-logo.inverted-hdpi #yt-sidebar-styleguide-logo #logo {background: no-repeat url(/yts/img/ringo/hitchhiker/logo_small_2x-vfl4_cFqn.png);background-size: 100px 30px;width: 100px;height: 30px;}.exp-invert-logo.exp-fusion-nav-redesign .masthead-logo-renderer-logo {background: no-repeat url(/yts/img/ringo/hitchhiker/yt_play_logo-vflLfk4yD.png);width: 40px;height: 28px;}.exp-invert-logo.inverted-hdpi.exp-fusion-nav-redesign .masthead-logo-renderer-logo {background: no-repeat url(/yts/img/ringo/hitchhiker/yt_play_logo_2x-vflXx5Pg3.png);width: 40px;height: 28px;}@media screen and (max-width: 656px) {.exp-invert-logo #yt-masthead #logo-container .logo {background: no-repeat url(/yts/img/ringo/hitchhiker/yt_play_logo-vflLfk4yD.png);width: 40px;height: 28px;}.exp-invert-logo.inverted-hdpi #yt-masthead #logo-container .logo {background: no-repeat url(/yts/img/ringo/hitchhiker/yt_play_logo_2x-vflXx5Pg3.png);background-size: 40px 28px;width: 40px;height: 28px;}}@media only screen and (min-width: 0px) and (max-width: 498px),only screen and (min-width: 499px) and (max-width: 704px) {.exp-invert-logo.exp-responsive #yt-masthead #logo-container {background: no-repeat url(/yts/img/ringo/hitchhiker/yt_play_logo-vflLfk4yD.png);width: 40px;height: 28px;}.exp-invert-logo.inverted-hdpi.exp-responsive #yt-masthead #logo-container {background: no-repeat url(/yts/img/ringo/hitchhiker/yt_play_logo_2x-vflXx5Pg3.png);background-size: 40px 28px;width: 40px;height: 28px;}}.exp-invert-logo #yt-masthead #logo-container .logo-red {background: no-repeat url(/yts/img/ringo/hitchhiker/logo_youtube_red-vflZxcSR1.png);width: 132px;height: 30px;}.exp-invert-logo.inverted-hdpi #yt-masthead #logo-container .logo-red {background: no-repeat url(/yts/img/ringo/hitchhiker/logo_youtube_red_2x-vflOSHA_n.png);background-size: 132px 30px;width: 132px;height: 30px;}.exp-invert-logo #yt-masthead #logo-container .logo-premium {background: no-repeat url(/yts/img/ringo/hitchhiker/logo_youtube_premium-vfltrvziB.png);width: 108px;height: 30px;}.exp-invert-logo.inverted-hdpi #yt-masthead #logo-container .logo-premium {background: no-repeat url(/yts/img/ringo/hitchhiker/logo_youtube_premium_2x-vflxcbz_g.png);background-size: 108px 30px;width: 108px;height: 30px;}.exp-invert-logo .guide-item .guide-video-youtube-red-icon {background: no-repeat url(/yts/img/ringo/hitchhiker/video_youtube_red-vflovGTdz.png);width: 20px;height: 20px;}.exp-invert-logo.inverted-hdpi .guide-item .guide-video-youtube-red-icon {background: no-repeat url(/yts/img/ringo/hitchhiker/video_youtube_red_2x-vflqMdgEM.png);background-size: 20px 20px;width: 20px;height: 20px;}.exp-invert-logo .guide-item:hover .guide-video-youtube-red-icon,.exp-invert-logo .guide-item.guide-item-selected .guide-video-youtube-red-icon {background: no-repeat url(/yts/img/ringo/hitchhiker/video_youtube_red_hover-vflgV4Gv0.png);width: 20px;height: 20px;}.exp-invert-logo.inverted-hdpi .guide-item:hover .guide-video-youtube-red-icon,.exp-invert-logo.inverted-hdpi .guide-item.guide-item-selected .guide-video-youtube-red-icon {background: no-repeat url(/yts/img/ringo/hitchhiker/video_youtube_red_hover_2x-vflYjZHvf.png);background-size: 20px 20px;width: 20px;height: 20px;}.exp-invert-logo li.guide-section h3,.exp-invert-logo li.guide-section h3 a {color: #f00;}.exp-invert-logo a.yt-uix-button-epic-nav-item:hover,.exp-invert-logo a.yt-uix-button-epic-nav-item.selected,.exp-invert-logo a.yt-uix-button-epic-nav-item.yt-uix-button-toggled,.exp-invert-logo a.yt-uix-button-epic-nav-item.partially-selected,.exp-invert-logo a.yt-uix-button-epic-nav-item.partially-selected:hover,.exp-invert-logo button.yt-uix-button-epic-nav-item:hover,.exp-invert-logo button.yt-uix-button-epic-nav-item.selected,.exp-invert-logo button.yt-uix-button-epic-nav-item.yt-uix-button-toggled,.exp-invert-logo .epic-nav-item:hover,.exp-invert-logo .epic-nav-item.selected,.exp-invert-logo .epic-nav-item.yt-uix-button-toggled,.exp-invert-logo .epic-nav-item-heading,.exp-invert-logo .yt-gb-shelf-item-thumbtab.yt-gb-selected-shelf-tab::before {border-color: #f00;}.exp-invert-logo .resume-playback-progress-bar,.exp-invert-logo .yt-uix-button-subscribe-branded,.exp-invert-logo .yt-uix-button-subscribe-branded[disabled],.exp-invert-logo .yt-uix-button-subscribe-branded[disabled]:hover,.exp-invert-logo .yt-uix-button-subscribe-branded[disabled]:active,.exp-invert-logo .yt-uix-button-subscribe-branded[disabled]:focus,.exp-invert-logo .sb-notif-on .yt-uix-button-content,.exp-invert-logo .guide-item.guide-item-selected,.exp-invert-logo .guide-item.guide-item-selected:hover,.exp-invert-logo .guide-item.guide-item-selected .yt-deemphasized-text,.exp-invert-logo .guide-item.guide-item-selected:hover .yt-deemphasized-text {background-color: #f00;}.exp-invert-logo .yt-uix-button-subscribe-branded:hover {background-color: #d90a17;}.exp-invert-logo .yt-uix-button-subscribe-branded.yt-is-buffered,.exp-invert-logo .yt-uix-button-subscribe-branded:active,.exp-invert-logo .yt-uix-button-subscribe-branded.yt-uix-button-toggled,.exp-invert-logo .yt-uix-button-subscribe-branded.yt-uix-button-active,.exp-invert-logo .yt-uix-button-subscribed-branded.external,.exp-invert-logo .yt-uix-button-subscribed-branded.external[disabled],.exp-invert-logo .yt-uix-button-subscribed-branded.external:active,.exp-invert-logo .yt-uix-button-subscribed-branded.external.yt-uix-button-toggled,.exp-invert-logo .yt-uix-button-subscribed-branded.external.yt-uix-button-active {background-color: #a60812;}</style><style>.exp-invert-logo #header:before, .exp-invert-logo .ypc-join-family-header .logo, .exp-invert-logo #footer-logo .footer-logo-icon, .exp-invert-logo #yt-masthead #logo-container .logo, .exp-invert-logo #masthead #logo-container, .exp-invert-logo .admin-masthead-logo a, .exp-invert-logo #yt-sidebar-styleguide-logo #logo { background: no-repeat url(/yts/img/ringo/hitchhiker/logo_small_2x-vfl4_cFqn.png); background-size: 100px 30px; } .exp-invert-logo #yt-masthead #logo-container .logo-red { background: no-repeat url(/yts/img/ringo/hitchhiker/logo_youtube_red_2x-vflOSHA_n.png); background-size: 132px 30px; } @media only screen and (min-width: 0px) and (max-width: 498px), only screen and (min-width: 499px) and (max-width: 704px) { .exp-invert-logo.exp-responsive #yt-masthead #logo-container { background: no-repeat url(/yts/img/ringo/hitchhiker/yt_play_logo_2x-vflXx5Pg3.png); background-size: 40px 28px; } } .guide-sort-container {display: none}</style></head>  <body dir=\"ltr\" id=\"body\" class=\"  visibility-logging-enabled  ltr  gecko gecko-42  exp-invert-logo exp-kevlar-settings exp-mouseover-img exp-responsive exp-search-big-thumbs   site-center-aligned site-as-giant-card appbar-hidden   not-nirvana-dogfood    flex-width-enabled      flex-width-enabled-snap    delayed-frame-styles-not-in  \" data-spf-name=\"watch\">\n<div id=\"early-body\"></div><div id=\"body-container\"><div id=\"a11y-announcements-container\" role=\"alert\"><div id=\"a11y-announcements-message\"></div></div><form name=\"logoutForm\" method=\"POST\" action=\"/logout\"><input type=\"hidden\" name=\"action_logout\" value=\"1\"></form><div id=\"masthead-positioner\">  <div id=\"ticker-content\">\n        \n\n  </div>\n  <div id=\"yt-masthead-container\" class=\"clearfix yt-base-gutter\">  <button id=\"a11y-skip-nav\" class=\"skip-nav\" data-target-id=\"main\" tabindex=\"3\">\nSkip navigation\n  </button>\n<div id=\"yt-masthead\"><div class=\"yt-masthead-logo-container \">  <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-text yt-uix-button-empty yt-uix-button-has-icon appbar-guide-toggle appbar-guide-clickable-ancestor\" type=\"button\" onclick=\";return false;\" aria-label=\"Guide\" aria-controls=\"appbar-guide-menu\" id=\"appbar-guide-button\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon yt-uix-button-icon-appbar-guide yt-sprite\"></span></span></button>\n  <div id=\"appbar-main-guide-notification-container\"></div>\n    <a id=\"logo-container\" href=\"/\" title=\"YouTube home\" class=\" spf-link  masthead-logo-renderer yt-uix-sessionlink\" data-sessionlink=\"\"><span class=\"logo masthead-logo-renderer-logo yt-sprite\" title=\"YouTube home\"></span></a>\n</div><div id=\"yt-masthead-signin\">    <a  href=\"//www.youtube.com/upload\" class=\"yt-uix-button   yt-uix-sessionlink yt-uix-button-opacity yt-uix-button-size-default yt-uix-button-has-icon yt-uix-tooltip yt-uix-button-empty\" data-sessionlink=\"ei=sf7sW6OQFZOskwbm3LSYCw&amp;feature=mhsb\" id=\"upload-btn\" title=\"Upload\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon yt-uix-button-icon-material-upload yt-sprite\"></span></span></a>\n<div class=\"signin-container \"><button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-primary\" type=\"button\" onclick=\";window.location.href=this.getAttribute(&#39;href&#39;);return false;\" role=\"link\" href=\"https://accounts.google.com/ServiceLogin?passive=true&amp;hl=en&amp;continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Ffeature%3Dsign_in_button%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dbs504u1wjjg%26action_handle_signin%3Dtrue%26app%3Ddesktop&amp;uilel=3&amp;service=youtube\"><span class=\"yt-uix-button-content\">Sign in</span></button>  <iframe id=\"signin-passive\" src=\"https://accounts.google.com/ServiceLogin?passive=true&amp;hl=en&amp;continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Ffeature%3Dpassive%26hl%3Den%26next%3D%252Fsignin_passive%26action_handle_signin%3Dtrue%26app%3Ddesktop&amp;uilel=3&amp;service=youtube\"></iframe>\n</div></div><div id=\"yt-masthead-content\"><form id=\"masthead-search\" class=\"  search-form consolidated-form  vve-check\" action=\"/results\" onsubmit=\"if (document.getElementById(&#39;masthead-search-term&#39;).value == &#39;&#39;) return false;\" data-clicktracking=\"CAIQ7VAiEwjjrLaK0NXeAhUT1sQKHWYuDbMo-B0\" data-visibility-tracking=\"CAIQ7VAiEwjjrLaK0NXeAhUT1sQKHWYuDbMo-B0\"><button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-default search-btn-component search-button\" type=\"submit\" onclick=\"if (document.getElementById(&#39;masthead-search-term&#39;).value == &#39;&#39;) return false; document.getElementById(&#39;masthead-search&#39;).submit(); return false;;return true;\" dir=\"ltr\" id=\"search-btn\" tabindex=\"2\"><span class=\"yt-uix-button-content\">Search</span></button><div id=\"masthead-search-terms\" class=\"masthead-search-terms-border\" dir=\"ltr\"><input id=\"masthead-search-term\" autocomplete=\"off\"  onkeydown=\"if (!this.value &amp;&amp; (event.keyCode == 40 || event.keyCode == 32 || event.keyCode == 34)) {this.onkeydown = null; this.blur();}\" class=\"search-term masthead-search-renderer-input yt-uix-form-input-bidi\" name=\"search_query\" value=\"\" type=\"text\" tabindex=\"1\" placeholder=\"Search\" title=\"Search\" aria-label=\"Search\"></div></form></div></div></div>\n    <div id=\"masthead-appbar-container\" class=\"clearfix\"><div id=\"masthead-appbar\"><div id=\"appbar-content\" class=\"\"></div></div></div>\n\n</div><div id=\"masthead-positioner-height-offset\"></div><div id=\"page-container\"><div id=\"page\" class=\"  watch        video- clearfix\"><div id=\"guide\" class=\"yt-scrollbar\">    <div id=\"appbar-guide-menu\" class=\"appbar-menu appbar-guide-menu-layout appbar-guide-clickable-ancestor\">\n    <div id=\"guide-container\">\n      <div class=\"guide-module-content guide-module-loading\">\n          <p class=\"yt-spinner \">\n        <span class=\"yt-spinner-img  yt-sprite\" title=\"Loading icon\"></span>\n\n    <span class=\"yt-spinner-message\">\nLoading...\n    </span>\n  </p>\n\n      </div>\n    </div>\n  </div>\n\n</div><div class=\"alerts-wrapper\"><div id=\"alerts\" class=\"content-alignment\">    \n  <div id=\"editor-progress-alert-container\"></div>\n  <div class=\"yt-alert yt-alert-default yt-alert-warn hid \" id=\"editor-progress-alert-template\">  <div class=\"yt-alert-icon\">\n    <span class=\"icon master-sprite yt-sprite\"></span>\n  </div>\n<div class=\"yt-alert-content\" role=\"alert\"></div><div class=\"yt-alert-buttons\"><button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-close close yt-uix-close\" type=\"button\" onclick=\";return false;\" aria-label=\"Close\" data-close-parent-class=\"yt-alert\"><span class=\"yt-uix-button-content\">Close</span></button></div></div>\n\n\n</div></div><div id=\"header\"></div><div id=\"player\" class=\"  content-alignment       watch-small      off-screen-trigger  \" role=\"complementary\"><div id=\"theater-background\" class=\"player-height\"></div>  <div id=\"player-mole-container\">\n    <div id=\"player-unavailable\" class=\"  player-width player-height    player-unavailable \">\n                <div class=\"icon meh\"></div>\n  <div class=\"content\">\n    <h1 id=\"unavailable-message\" class=\"message\">\n              This video is unavailable.\n\n    </h1>\n    <div id=\"unavailable-submessage\" class=\"submessage\">\nSorry about that.\n    </div>\n  </div>\n\n\n    </div>\n\n    <div id=\"player-api\" class=\"player-width player-height off-screen-target player-api\" tabIndex=\"-1\"></div>\n    \n\n    <div id=\"watch-queue-mole\" class=\"video-mole mole-collapsed hid\"><div id=\"watch-queue\" class=\"watch-playlist player-height\"><div class=\"main-content\"><div class=\"watch-queue-header\"><div class=\"watch-queue-info\"><div class=\"watch-queue-info-icon\"><span class=\"tv-queue-list-icon yt-sprite\"></span></div><h3 class=\"watch-queue-title\">Watch Queue</h3><h3 class=\"tv-queue-title\">Queue</h3><span class=\"tv-queue-details\"></span></div><div class=\"watch-queue-control-bar control-bar-button\"><div class=\"watch-queue-mole-info\"><div class=\"watch-queue-control-bar-icon\"><span class=\"watch-queue-icon yt-sprite\"></span></div><div class=\"watch-queue-title-container\"><span class=\"watch-queue-count\"></span><span class=\"watch-queue-title\">Watch Queue</span><span class=\"tv-queue-title\">Queue</span></div></div>  <span class=\"dark-overflow-action-menu\">\n    \n    \n    <button onclick=\";return false;\" type=\"button\" aria-expanded=\"false\" aria-label=\"Actions for the queue\" aria-haspopup=\"true\" class=\"flip control-bar-button yt-uix-button yt-uix-button-dark-overflow-action-menu yt-uix-button-size-default yt-uix-button-has-icon no-icon-markup yt-uix-button-empty\" ><span class=\"yt-uix-button-arrow yt-sprite\"></span><ul class=\"watch-queue-menu yt-uix-button-menu yt-uix-button-menu-dark-overflow-action-menu hid\" role=\"menu\" aria-haspopup=\"true\"><li role=\"menuitem\"><span class=\"watch-queue-menu-choice overflow-menu-choice yt-uix-button-menu-item\" onclick=\";return false;\" data-action=\"remove-all\" >Remove all</span></li><li role=\"menuitem\"><span class=\"watch-queue-menu-choice overflow-menu-choice yt-uix-button-menu-item\" onclick=\";return false;\" data-action=\"disconnect\" >Disconnect</span></li></ul></button>\n  </span>\n  <div class=\"watch-queue-controls\">\n    <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-empty yt-uix-button-has-icon control-bar-button prev-watch-queue-button yt-uix-button-opacity yt-uix-tooltip yt-uix-tooltip\" type=\"button\" onclick=\";return false;\" title=\"Previous video\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon yt-uix-button-icon-watch-queue-prev yt-sprite\"></span></span></button>\n\n    <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-empty yt-uix-button-has-icon control-bar-button play-watch-queue-button yt-uix-button-opacity yt-uix-tooltip yt-uix-tooltip\" type=\"button\" onclick=\";return false;\" title=\"Play\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon yt-uix-button-icon-watch-queue-play yt-sprite\"></span></span></button>\n\n    <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-empty yt-uix-button-has-icon control-bar-button pause-watch-queue-button yt-uix-button-opacity yt-uix-tooltip hid yt-uix-tooltip\" type=\"button\" onclick=\";return false;\" title=\"Pause\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon yt-uix-button-icon-watch-queue-pause yt-sprite\"></span></span></button>\n\n    <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-empty yt-uix-button-has-icon control-bar-button next-watch-queue-button yt-uix-button-opacity yt-uix-tooltip yt-uix-tooltip\" type=\"button\" onclick=\";return false;\" title=\"Next video\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon yt-uix-button-icon-watch-queue-next yt-sprite\"></span></span></button>\n  </div>\n</div><div class=\"autoplay-dismiss-bar fade-out\"><span class=\"autoplay-dismiss-title-label\">The next video is starting</span><span><button class=\"yt-uix-button yt-uix-button-size-default autoplay-dismiss-button yt-uix-tooltip\" type=\"button\" onclick=\";return false;\" title=\"stop\"><span class=\"yt-uix-button-content\">stop</span></button></span></div></div><div class=\"watch-queue-items-container yt-scrollbar-dark yt-scrollbar\"><div class=\"yt-uix-scroller playlist-videos-list\"><ol class=\"watch-queue-items-list\" data-scroll-action=\"yt.www.watchqueue.loadThumbnails\">  <p class=\"yt-spinner \">\n        <span class=\"yt-spinner-img  yt-sprite\" title=\"Loading icon\"></span>\n\n    <span class=\"yt-spinner-message\">\nLoading...\n    </span>\n  </p>\n</ol><div class=\"autoplay-control-container yt-uix-scroller-scroll-unit hid\">  <div class=\"autoplay-control-bar\">\n    <label class=\"autoplay-label\" for=autoplay-toggle-id></label>\n    <label class=\"yt-uix-form-input-checkbox-container yt-uix-form-input-container yt-uix-form-input-paper-toggle-container  \"><input class=\"yt-uix-form-input-checkbox\" type=\"checkbox\" id=\"autoplay-toggle-id\"/><div class=\"yt-uix-form-input-paper-toggle-bg yt-uix-form-input-paper-toggle-bar\"></div><div class=\"yt-uix-form-input-paper-toggle-bg yt-uix-form-input-paper-toggle-button\"></div></label>\n  </div>\n</div><div class=\"up-next-item-container hid\"></div></div></div></div>  <div class=\"hid\">\n    <div id=\"watch-queue-title-msg\">\nWatch Queue\n    </div>\n\n    <div id=\"tv-queue-title-msg\">Queue</div>\n\n    <div id=\"watch-queue-count-msg\">\n__count__/__total__\n    </div>\n\n    <div id=\"watch-queue-loading-template\">\n      <!--\n          <p class=\"yt-spinner \">\n        <span class=\"yt-spinner-img  yt-sprite\" title=\"Loading icon\"></span>\n\n    <span class=\"yt-spinner-message\">\nLoading...\n    </span>\n  </p>\n\n      -->\n    </div>\n  </div>\n</div></div>\n    <div id=\"player-playlist\" class=\"  content-alignment    watch-player-playlist  \">\n      \n    </div>\n\n  </div>\n\n  <div class=\"clear\"></div>\n</div><div id=\"content\" class=\"  content-alignment\" role=\"main\">      <div id=\"placeholder-player\">\n    <div class=\"player-api player-width player-height\"></div>\n  </div>\n\n  <div id=\"watch7-container\" class=\"\">\n      <div id=\"player-messages\">\n          <div class=\"yt-dialog hid mealbar-promo-renderer\">\n    <div class=\"yt-dialog-base\">\n      <span class=\"yt-dialog-align\"></span>\n      <div class=\"yt-dialog-fg\" role=\"dialog\">\n        <div class=\"yt-dialog-fg-content\">\n            <div class=\"yt-dialog-header\">\n                  <h2 class=\"yt-dialog-title\" role=\"alert\">\n      YouTube Premium\n  </h2>\n\n            </div>\n          <div class=\"yt-dialog-loading\">\n              <div class=\"yt-dialog-waiting-content\">\n      <p class=\"yt-spinner \">\n        <span class=\"yt-spinner-img  yt-sprite\" title=\"Loading icon\"></span>\n\n    <span class=\"yt-spinner-message\">\nLoading...\n    </span>\n  </p>\n\n  </div>\n\n          </div>\n          <div class=\"yt-dialog-content\">\n                <div class=\"mealbar-promo-message\" tabindex=\"0\">Get YouTube without the ads.</div>\n\n          </div>\n          <div class=\"yt-dialog-working\">\n              <div class=\"yt-dialog-working-overlay\"></div>\n  <div class=\"yt-dialog-working-bubble\">\n    <div class=\"yt-dialog-waiting-content\">\n        <p class=\"yt-spinner \">\n        <span class=\"yt-spinner-img  yt-sprite\" title=\"Loading icon\"></span>\n\n    <span class=\"yt-spinner-message\">\n        Working...\n    </span>\n  </p>\n\n      </div>\n  </div>\n\n          </div>\n<div class=\"yt-dialog-footer\">      <span class=\"generic-promo-impression-logging\">\n        <span data-feedback-token=\"AB9zfpLca-Ll2BcVcTw01BpoC4t3tKz_DfK9Gdx5ACuC3gBSejg6vbjvcKSjyKDC992w4IakpEfC7Y15_CAprN2KOm9Q6iDKBXYaBcTB9CgZnw9JUyVVGyQNCJfATBop-pxAOCDSPTc8u1oHFCG-q5UYKg7ZpO7Xfg\" class=\"generic-promo-impression-feedback\"></span>\n    </span>\n\n\n\n\n\n\n\n\n\n\n\n\n\n            <div class=\"service-endpoint-action-container hid\">\n    </div>\n\n\n      <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-blue-text  vve-check yt-uix-servicelink dismiss-menu-choice\" type=\"button\" onclick=\";return false;\" data-action=\"hide\" data-visibility-tracking=\"CAUQ7W8iEwjjrLaK0NXeAhUT1sQKHWYuDbMo-B0\" data-servicelink=\"CAUQ7W8iEwjjrLaK0NXeAhUT1sQKHWYuDbMo-B0\" data-feedback-token=\"AB9zfpLQqKfPQYr1M_Koi1paUQGTdiu21GA4EnO6KNF-_-aqiFPxOz6G0ZtPiGJCMnCLItArq6JucRRJNstronm7jFPem4cf5tWTUHI4o7HDkWBCQBxDT2I0IzLkUqqu-tj98OHqLVmkvTJfLLe0YdBl2W2HcDukcw\"><span class=\"yt-uix-button-content\">No thanks</span></button>\n\n\n\n\n\n\n\n\n\n\n\n\n      <a  href=\"/premium?ybp=Eg9GRXdoYXRfdG9fd2F0Y2g%253D\" class=\"yt-uix-button   vve-check yt-uix-sessionlink yt-uix-button-primary yt-uix-button-size-default\" data-sessionlink=\"itct=CAYQ7G8iEwjjrLaK0NXeAhUT1sQKHWYuDbMo-B0\" data-visibility-tracking=\"CAYQ7G8iEwjjrLaK0NXeAhUT1sQKHWYuDbMo-B0\"><span class=\"yt-uix-button-content\">1 month free</span></a>\n</div>        </div>\n        <div class=\"yt-dialog-focus-trap\" tabindex=\"0\"></div>\n      </div>\n    </div>\n  </div>\n<div class=\"mealbar-visibility\" data-trigger-condition=\"TRIGGER_CONDITION_POST_AD\" data-lact-th=\"\" data-prompt-del-sec=\"\" data-visibility-tracking=\"CAQQ42kYACITCOOstorQ1d4CFRPWxAodZi4Nsyj4HQ==\"></div>\n  </div>\n  <div id=\"watch7-main-container\">\n    <div id=\"watch7-main\" class=\"clearfix\">\n      <div id=\"watch7-preview\" class=\"player-width player-height hid\">\n      </div>\n      <div id=\"watch7-content\" class=\"watch-main-col \" itemscope itemid=\"\" itemtype=\"http://schema.org/VideoObject\"\n      >\n          \n      </div>\n      <div id=\"watch7-sidebar\" class=\"watch-sidebar\">\n      </div>\n    </div>\n  </div>\n\n\n  </div>\n\n</div></div></div></div>  <div id=\"footer-container\" class=\"yt-base-gutter force-layer\"><div id=\"footer\"><div id=\"footer-main\"><div id=\"footer-logo\"><a href=\"/\" id=\"footer-logo-link\" title=\"YouTube home\" data-sessionlink=\"ei=sf7sW6OQFZOskwbm3LSYCw&amp;ved=CAEQpmEiEwjjrLaK0NXeAhUT1sQKHWYuDbMo-B0\" class=\"yt-uix-sessionlink\"><span class=\"footer-logo-icon yt-sprite\"></span></a></div>  <ul class=\"pickers yt-uix-button-group\" data-button-toggle-group=\"optional\">\n      <li>\n            <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-default yt-uix-button-has-icon\" type=\"button\" onclick=\";return false;\" id=\"yt-picker-language-button\" data-picker-position=\"footer\" data-button-action=\"yt.www.picker.load\" data-button-menu-id=\"arrow-display\" data-picker-key=\"language\" data-button-toggle=\"true\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon yt-uix-button-icon-footer-language yt-sprite\"></span></span><span class=\"yt-uix-button-content\">  <span class=\"yt-picker-button-label\">\nLanguage:\n  </span>\n  English\n</span><span class=\"yt-uix-button-arrow yt-sprite\"></span></button>\n\n\n      </li>\n      <li>\n            <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-default\" type=\"button\" onclick=\";return false;\" id=\"yt-picker-country-button\" data-picker-position=\"footer\" data-button-action=\"yt.www.picker.load\" data-button-menu-id=\"arrow-display\" data-picker-key=\"country\" data-button-toggle=\"true\"><span class=\"yt-uix-button-content\">  <span class=\"yt-picker-button-label\">\nLocation:\n  </span>\n  United States\n</span><span class=\"yt-uix-button-arrow yt-sprite\"></span></button>\n\n\n      </li>\n      <li>\n            <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-default\" type=\"button\" onclick=\";return false;\" id=\"yt-picker-safetymode-button\" data-picker-position=\"footer\" data-button-action=\"yt.www.picker.load\" data-button-menu-id=\"arrow-display\" data-picker-key=\"safetymode\" data-button-toggle=\"true\"><span class=\"yt-uix-button-content\">  <span class=\"yt-picker-button-label\">\nRestricted Mode:\n  </span>\nOff\n</span><span class=\"yt-uix-button-arrow yt-sprite\"></span></button>\n\n\n      </li>\n  </ul>\n<a  href=\"/feed/history\" class=\"yt-uix-button  footer-history yt-uix-sessionlink yt-uix-button-default yt-uix-button-size-default yt-uix-button-has-icon\" data-sessionlink=\"ei=sf7sW6OQFZOskwbm3LSYCw\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon yt-uix-button-icon-footer-history yt-sprite\"></span></span><span class=\"yt-uix-button-content\">History</span></a>    <button class=\"yt-uix-button yt-uix-button-size-default yt-uix-button-default yt-uix-button-has-icon yt-uix-button-reverse yt-google-help-link inq-no-click \" type=\"button\" onclick=\";return false;\" data-ghelp-tracking-param=\"\" data-ghelp-anchor=\"google-help\" id=\"google-help\" data-load-chat-support=\"true\" data-feedback-product-id=\"59\"><span class=\"yt-uix-button-icon-wrapper\"><span class=\"yt-uix-button-icon yt-uix-button-icon-questionmark yt-sprite\"></span></span><span class=\"yt-uix-button-content\">Help\n</span></button>\n      <div id=\"yt-picker-language-footer\" class=\"yt-picker\" style=\"display: none\">\n      <p class=\"yt-spinner \">\n        <span class=\"yt-spinner-img  yt-sprite\" title=\"Loading icon\"></span>\n\n    <span class=\"yt-spinner-message\">\nLoading...\n    </span>\n  </p>\n\n  </div>\n\n      <div id=\"yt-picker-country-footer\" class=\"yt-picker\" style=\"display: none\">\n      <p class=\"yt-spinner \">\n        <span class=\"yt-spinner-img  yt-sprite\" title=\"Loading icon\"></span>\n\n    <span class=\"yt-spinner-message\">\nLoading...\n    </span>\n  </p>\n\n  </div>\n\n      <div id=\"yt-picker-safetymode-footer\" class=\"yt-picker\" style=\"display: none\">\n      <p class=\"yt-spinner \">\n        <span class=\"yt-spinner-img  yt-sprite\" title=\"Loading icon\"></span>\n\n    <span class=\"yt-spinner-message\">\nLoading...\n    </span>\n  </p>\n\n  </div>\n\n</div><div id=\"footer-links\"><ul id=\"footer-links-primary\">  <li><a href=\"//www.youtube.com/yt/about/\">About</a></li>\n  <li><a href=\"//www.youtube.com/yt/press/\">Press</a></li>\n  <li><a href=\"//www.youtube.com/yt/copyright/\">Copyright</a></li>\n  <li><a href=\"//www.youtube.com/yt/creators/\">Creators</a></li>\n  <li><a href=\"//www.youtube.com/yt/advertise/\">Advertise</a></li>\n  <li><a href=\"//www.youtube.com/yt/dev/\">Developers</a></li>\n  <li><a href=\"https://plus.google.com/+youtube\" dir=\"ltr\">+YouTube</a></li>\n</ul><ul id=\"footer-links-secondary\">  <li><a href=\"/t/terms\">Terms</a></li>\n  <li><a href=\"https://www.google.com/intl/en/policies/privacy/\">Privacy</a></li>\n  <li><a href=\"//www.youtube.com/yt/policyandsafety/\">\nPolicy &amp; Safety\n  </a></li>\n  <li><a href=\"//support.google.com/youtube/?hl=en\" onclick=\"return yt.www.feedback.start(59);\" class=\"reportbug\">Send feedback</a></li>\n  <li>\n    <a href=\"/testtube\">Test new features</a>\n  </li>\n  <li></li>\n</ul></div></div></div>\n\n      <div class=\"yt-dialog hid \" id=\"feed-privacy-lb\">\n    <div class=\"yt-dialog-base\">\n      <span class=\"yt-dialog-align\"></span>\n      <div class=\"yt-dialog-fg\" role=\"dialog\">\n        <div class=\"yt-dialog-fg-content\">\n          <div class=\"yt-dialog-loading\">\n              <div class=\"yt-dialog-waiting-content\">\n      <p class=\"yt-spinner \">\n        <span class=\"yt-spinner-img  yt-sprite\" title=\"Loading icon\"></span>\n\n    <span class=\"yt-spinner-message\">\nLoading...\n    </span>\n  </p>\n\n  </div>\n\n          </div>\n          <div class=\"yt-dialog-content\">\n              <div id=\"feed-privacy-dialog\">\n  </div>\n\n          </div>\n          <div class=\"yt-dialog-working\">\n              <div class=\"yt-dialog-working-overlay\"></div>\n  <div class=\"yt-dialog-working-bubble\">\n    <div class=\"yt-dialog-waiting-content\">\n        <p class=\"yt-spinner \">\n        <span class=\"yt-spinner-img  yt-sprite\" title=\"Loading icon\"></span>\n\n    <span class=\"yt-spinner-message\">\n        Working...\n    </span>\n  </p>\n\n      </div>\n  </div>\n\n          </div>\n        </div>\n        <div class=\"yt-dialog-focus-trap\" tabindex=\"0\"></div>\n      </div>\n    </div>\n  </div>\n\n\n<div id=\"hidden-component-template-wrapper\" class=\"hid\">    <div id=\"shared-addto-watch-later-login\" class=\"hid\">\n      <a class=\"sign-in-link\" href=\"https://accounts.google.com/ServiceLogin?passive=true&amp;hl=en&amp;continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Ffeature%3Dplaylist%26hl%3Den%26next%3D%252Fwatch%253Fv%253Dbs504u1wjjg%26action_handle_signin%3Dtrue%26app%3Ddesktop&amp;uilel=3&amp;service=youtube\">Sign in</a> to add this to Watch Later\n\n    </div>\n<div id=\"yt-uix-videoactionmenu-menu\" class=\"yt-ui-menu-content\">  <div class=\"hide-on-create-pl-panel\">\n    <h3>\nAdd to\n    </h3>\n  </div>\n  <div class=\"add-to-widget\">\n      <p class=\"yt-spinner \">\n        <span class=\"yt-spinner-img  yt-sprite\" title=\"Loading icon\"></span>\n\n    <span class=\"yt-spinner-message\">\n        Loading playlists...\n    </span>\n  </p>\n\n  </div>\n</div></div>    <script>var ytspf = ytspf || {};ytspf.enabled = true;ytspf.config = {'reload-identifier': 'spfreload'};ytspf.config['request-headers'] = {'X-YouTube-Identity-Token': null};ytspf.config['experimental-request-headers'] = ytspf.config['request-headers'];ytspf.config['cache-max'] = 50;ytspf.config['navigate-limit'] = 50;ytspf.config['navigate-lifetime'] = 64800000;</script>\n  <script src=\"/yts/jsbin/spf-vflhSOzLf/spf.js\" type=\"text/javascript\" name=\"spf/spf\" ></script>\n  <script src=\"/yts/jsbin/www-en_US-vfl97guqj/base.js\"  name=\"www/base\" ></script>\n<script>spf.script.path({'www/': '/yts/jsbin/www-en_US-vfl97guqj/'});var ytdepmap = {\"www/base\": null, \"www/common\": \"www/base\", \"www/angular_base\": \"www/common\", \"www/channels_accountupload\": \"www/common\", \"www/channels\": \"www/common\", \"www/dashboard\": \"www/common\", \"www/downloadreports\": \"www/common\", \"www/experiments\": \"www/common\", \"www/feed\": \"www/common\", \"www/legomap\": \"www/common\", \"www/promo_join_network\": \"www/common\", \"www/results_harlemshake\": \"www/common\", \"www/results\": \"www/common\", \"www/results_starwars\": \"www/common\", \"www/subscriptionmanager\": \"www/common\", \"www/unlimited\": \"www/common\", \"www/watch\": \"www/common\", \"www/ypc_bootstrap\": \"www/common\", \"www/ypc_core\": \"www/common\", \"www/channels_edit\": \"www/channels\", \"www/live_dashboard\": \"www/angular_base\", \"www/videomanager\": \"www/angular_base\", \"www/watch_autoplayrenderer\": \"www/watch\", \"www/watch_edit\": \"www/watch\", \"www/watch_editor\": \"www/watch\", \"www/watch_promos\": \"www/watch\", \"www/watch_speedyg\": \"www/watch\", \"www/watch_transcript\": \"www/watch\", \"www/watch_videoshelf\": \"www/watch\", \"www/ct_advancedsearch\": \"www/videomanager\", \"www/my_videos\": \"www/videomanager\", \"www/$weak$\": [\"www/angular_base\", \"www/base\", \"www/channels_accountupload\", \"www/channels_edit\", \"www/channels\", \"www/common\", \"www/ct_advancedsearch\", \"www/dashboard\", \"www/downloadreports\", \"www/experiments\", \"www/feed\", \"www/legomap\", \"www/live_dashboard\", \"www/my_videos\", \"www/promo_join_network\", \"www/results_harlemshake\", \"www/results\", \"www/results_starwars\", \"www/subscriptionmanager\", \"www/unlimited\", \"www/videomanager\", \"www/watch_autoplayrenderer\", \"www/watch_edit\", \"www/watch_editor\", \"www/watch\", \"www/watch_promos\", \"www/watch_speedyg\", \"www/watch_transcript\", \"www/watch_videoshelf\", \"www/ypc_bootstrap\", \"www/ypc_core\"]};spf.script.declare(ytdepmap);</script><script >if (window.ytcsi) {window.ytcsi.tick(\"je\", null, '');}</script><script>yt.setConfig({GAPI_HINT_PARAMS: \"m;\\/_\\/scs\\/abc-static\\/_\\/js\\/k=gapi.gapi.en.BstDmEhpa_Q.O\\/rt=j\\/d=1\\/rs=AHpOoo-oqKdOJIcyAi5YyA6pahSkp_ojsw\\/m=__features__\",XHR_APIARY_HOST: \"youtubei.youtube.com\",APIARY_HOST: \"\",INNERTUBE_API_VERSION: \"v1\",INNERTUBE_API_KEY: \"AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8\",INNERTUBE_CONTEXT_CLIENT_VERSION: \"1.20181113\",INNERTUBE_CONTEXT_CLIENT_NAME: 1,APIARY_HOST_FIRSTPARTY: \"\",'VISITOR_DATA': \"CgtXVVNiS2o3YWtBbyix_bPfBQ%3D%3D\",'DELEGATED_SESSION_ID': null,'GAPI_HOST': \"https:\\/\\/apis.google.com\",'GAPI_LOCALE': \"en_US\",'INNERTUBE_CONTEXT_HL': \"en\",'INNERTUBE_CONTEXT_GL': \"US\",'XHR_APIARY_HOST': \"youtubei.youtube.com\"});yt.setConfig({'ROOT_VE_CHILDREN': [\"CAEQpmEiEwjjrLaK0NXeAhUT1sQKHWYuDbMo-B0\",\"CAIQ7VAiEwjjrLaK0NXeAhUT1sQKHWYuDbMo-B0\"],});yt.setConfig({'PAGE_NAME': \"watch\",'LOGGED_IN': false,'SESSION_INDEX': null,'VALID_SESSION_TEMPDATA_DOMAINS': [\"www.youtube.com\",\"gaming.youtube.com\"],'PARENT_TRACKING_PARAMS': \"\",'FORMATS_FILE_SIZE_JS': [\"%s B\",\"%s KB\",\"%s MB\",\"%s GB\",\"%s TB\"],'ONE_PICK_URL': \"\",'GOOGLEPLUS_HOST': \"https:\\/\\/plus.google.com\",'PAGEFRAME_JS': \"\\/yts\\/jsbin\\/www-pageframe-vflco3Eyf\\/www-pageframe.js\",'GAPI_LOADER_URL': \"\\/yts\\/jsbin\\/www-gapi-loader-vflD_wBiT\\/www-gapi-loader.js\",'JS_COMMON_MODULE': \"\\/yts\\/jsbin\\/www-en_US-vfl97guqj\\/common.js\",'PAGE_FRAME_DELAYLOADED_CSS': \"\\/yts\\/cssbin\\/www-pageframedelayloaded-vflkvMhoL.css\",'EXPERIMENT_FLAGS': {\"enable_webcam_dynamic_poll_period\":true,\"attach_child_on_gel_web\":true,\"enable_classic_creation_menu\":true,\"enable_live_chat_paid_event_merged_queries\":true,\"service_worker_push_home_page_prompt\":true,\"autoplay_pause_by_lact_sampling_fraction\":0.0,\"remove_web_visibility_batching\":true,\"same_domain_static_resources_desktop\":true,\"desktop_polymer_video_masthead_session_tempdata_ttl\":30,\"desktop_polymer_video_masthead_mute_ad_support\":true,\"use_watch_fragments2\":true,\"service_worker_push_enabled\":true,\"interaction_logging_on_gel_web\":true,\"desktop_notification_high_priority_ignore_push\":true,\"enable_logging_directives_desktop\":true,\"live_chat_top_chat_window_length_sec\":4,\"enable_more_related_ve_logging\":true,\"enable_playlist_visibility\":true,\"desktop_image_companion_wta_support\":true,\"desktop_notification_set_title_bar\":true,\"web_android9_useragent_fix\":true,\"enable_desktop_polymer_video_masthead\":true,\"live_chat_message_sampling_rate\":4.0,\"player_swfcfg_cleanup\":true,\"desktop_action_companion_wta_support\":true,\"interaction_click_on_gel_web\":true,\"web_system_health_fraction\":0.01,\"web_logging_max_batch\":100,\"web_always_load_chat_support\":true,\"retry_web_logging_batches\":true,\"html5_serverside_pagead_id_sets_cookie\":true,\"service_worker_push_prompt_cap\":-1,\"service_worker_push_home_only\":true,\"clear_web_implicit_clicktracking\":true,\"watch_next_pause_autoplay_lact_sec\":4500,\"service_worker_push_prompt_delay_ms\":3888000000,\"service_worker_push_watch_page_prompt\":true,\"warm_load_nav_start_web\":true,\"desktop_polymer_video_masthead_always_use_responsive_iframe\":true,\"service_worker_push_prompt_delay_microseconds\":3888000000000,\"enable_html5_conversion_ve_reporting\":true,\"cold_load_nav_start_web\":true,\"live_chat_replay\":true,\"live_chat_flagging_reasons\":true,\"optimistically_create_transport_client\":true,\"live_chat_inline_moderation\":true,\"use_push_for_desktop_live_chat\":true,\"enable_webcam_dvr\":true,\"player_unified_fullscreen_transitions\":true,\"lact_local_listeners\":true,\"log_window_onerror_fraction\":0.1,\"enable_server_side_search_pyv\":true,\"autoescape_tempdata_url\":true,\"botguard_periodic_refresh\":true,\"desktop_pyv_on_watch_missing_params\":true,\"web_gel_lact\":true,\"player_external_control_on_classic_desktop\":true,\"gfeedback_for_signed_out_users_enabled\":true,\"autoplay_pause_by_lact_sec\":0,\"desktop_polymer\":true,\"app_settings_snapshot_is_logging_enabled\":true,\"live_chat_flash_money_button_on_super_chat_delivery\":true,\"log_web_screen_end\":true,\"live_chat_replay_viewer_disclosure\":true,\"enable_wta_classic_search_pyv\":true,\"service_worker_enabled\":true,\"enable_webcam_scheduling\":true,\"ad_to_video_use_gel\":true,\"enable_classic_encoder_pointback\":true,\"desktop_polymer_video_masthead_wta_support\":true,\"enable_docked_chat_messages\":true,\"desktop_pyv_on_watch_via_valor\":true,\"live_chat_replay_milliqps_threshold\":5000,\"autoplay_pause_sampling_fraction\":0.0,\"enable_youtubei_innertube\":true,\"enable_watch_next_pause_autoplay_lact\":true,\"live_chat_top_chat_split\":0.5,\"service_worker_push_force_notification_prompt_tag\":\"1\",\"service_worker_push_logged_out_prompt_watches\":-1,\"youtubei_for_web\":true,\"app_settings_snapshot_min_time_between_snapshots_hours\":24,\"enable_webcam_scheduling_hint\":true,\"enable_afv_div_reset_in_kevlar\":true,\"desktop_shopping_companion_wta_support\":true,\"very_optimistically_create_gel_client\":true,\"consent_url_override\":\"\",\"debug_forced_promo_id\":\"\",\"interaction_screen_on_gel_web\":true,\"enable_desktop_polymer_video_masthead_upgrade\":true,\"mentions_linkify_user_mention\":true,\"live_chat_increased_min_height\":true,\"desktop_classic_video_masthead_wta_support\":true,\"enable_gel_web_client_event_id\":true,\"desktop_companion_wta_support\":true,\"enable_creator_highlights\":true,\"service_worker_scope\":\"\\/\",\"log_web_meta_interval_ms\":0,\"desktop_videowall_companion_wta_support\":true,\"desktop_pyv_on_watch_override_lact\":true,\"live_chat_use_new_default_filter_mode\":true,\"log_vis_on_tab_change\":true,\"cancel_pending_navs\":true},'GUIDE_DELAY_LOAD': true,'GUIDE_DELAYLOADED_CSS': \"\\/yts\\/cssbin\\/www-guide-vflNDDMf7.css\",'GUIDED_HELP_PARAMS': {\"logged_in\":\"0\"},'HIGH_CONTRAST_MODE_CSS': \"\\/yts\\/cssbin\\/www-highcontrastmode-vfl-M19Ba.css\",'PREFETCH_LINKS': false,'PREFETCH_LINKS_MAX': 1,'PREFETCH_AUTOPLAY': false,'PREFETCH_AUTOPLAY_TIME': 0,'PREFETCH_AUTONAV': false,'PREBUFFER_MAX': 1,'PREBUFFER_LINKS': false,'PREBUFFER_AUTOPLAY': false,'PREBUFFER_AUTONAV': false,'WATCH_LATER_BUTTON': \"\\n\\n  \\u003cbutton class=\\\"yt-uix-button yt-uix-button-size-small yt-uix-button-default yt-uix-button-empty yt-uix-button-has-icon no-icon-markup addto-button video-actions spf-nolink hide-until-delayloaded addto-watch-later-button-sign-in yt-uix-tooltip\\\" type=\\\"button\\\" onclick=\\\";return false;\\\" role=\\\"button\\\" title=\\\"Watch later\\\" data-video-ids=\\\"__VIDEO_ID__\\\" data-button-menu-id=\\\"shared-addto-watch-later-login\\\"\\u003e\\u003cspan class=\\\"yt-uix-button-arrow yt-sprite\\\"\\u003e\\u003c\\/span\\u003e\\u003c\\/button\\u003e\\n\",'WATCH_QUEUE_BUTTON': \"  \\u003cbutton class=\\\"yt-uix-button yt-uix-button-size-small yt-uix-button-default yt-uix-button-empty yt-uix-button-has-icon no-icon-markup addto-button addto-queue-button video-actions spf-nolink hide-until-delayloaded addto-tv-queue-button yt-uix-tooltip\\\" type=\\\"button\\\" onclick=\\\";return false;\\\" title=\\\"Queue\\\" data-video-ids=\\\"__VIDEO_ID__\\\" data-style=\\\"tv-queue\\\"\\u003e\\u003c\\/button\\u003e\\n\",'WATCH_QUEUE_MENU': \"  \\u003cspan class=\\\"thumb-menu dark-overflow-action-menu video-actions\\\"\\u003e\\n    \\u003cbutton type=\\\"button\\\" class=\\\"yt-uix-button-reverse flip addto-watch-queue-menu spf-nolink hide-until-delayloaded yt-uix-button yt-uix-button-dark-overflow-action-menu yt-uix-button-size-default yt-uix-button-has-icon no-icon-markup yt-uix-button-empty\\\" onclick=\\\";return false;\\\" aria-haspopup=\\\"true\\\" aria-expanded=\\\"false\\\" \\u003e\\u003cspan class=\\\"yt-uix-button-arrow yt-sprite\\\"\\u003e\\u003c\\/span\\u003e\\u003cul class=\\\"watch-queue-thumb-menu yt-uix-button-menu yt-uix-button-menu-dark-overflow-action-menu hid\\\"\\u003e\\u003cli role=\\\"menuitem\\\" class=\\\"overflow-menu-choice addto-watch-queue-menu-choice addto-watch-queue-play-next yt-uix-button-menu-item\\\" data-action=\\\"play-next\\\" onclick=\\\";return false;\\\"  data-video-ids=\\\"__VIDEO_ID__\\\"\\u003e\\u003cspan class=\\\"addto-watch-queue-menu-text\\\"\\u003ePlay next\\u003c\\/span\\u003e\\u003c\\/li\\u003e\\u003cli role=\\\"menuitem\\\" class=\\\"overflow-menu-choice addto-watch-queue-menu-choice addto-watch-queue-play-now yt-uix-button-menu-item\\\" data-action=\\\"play-now\\\" onclick=\\\";return false;\\\"  data-video-ids=\\\"__VIDEO_ID__\\\"\\u003e\\u003cspan class=\\\"addto-watch-queue-menu-text\\\"\\u003ePlay now\\u003c\\/span\\u003e\\u003c\\/li\\u003e\\u003c\\/ul\\u003e\\u003c\\/button\\u003e\\n  \\u003c\\/span\\u003e\\n\",'SAFETY_MODE_PENDING': false,'ZWIEBACK_PING_URLS': [\"https:\\/\\/www.google.com\\/pagead\\/lvz?evtid=AKARJHRom0Ei4lfBIhrTT9sC5m5n3nPYrgI9An2AQGkm-zQ31vAOQTb2lPgryka0_c3bVTHbkRN5Ji2w5xum9R-uqo5h4JAKwQ\\u0026req_ts=1542258353\\u0026pg=watch\\u0026sigh=APxfQJB5eGo2xnHZl-ozYf0UqXpYuioinw\"],'LOCAL_DATE_TIME_CONFIG': {\"formatShortDate\":\"MMM d, y\",\"formatWeekdayShortTime\":\"EE h:mm a\",\"firstDayOfWeek\":0,\"weekendRange\":[6,5],\"dateFormats\":[\"MMMM d, y 'at' h:mm a\",\"MMMM d, y\",\"MMM d, y\",\"MMM d, y\"],\"amPms\":[\"AM\",\"PM\"],\"shortMonths\":[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],\"months\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"formatLongDateOnly\":\"MMMM d, y\",\"weekdays\":[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],\"formatShortTime\":\"h:mm a\",\"shortWeekdays\":[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],\"firstWeekCutoffDay\":3,\"formatLongDate\":\"MMMM d, y 'at' h:mm a\"},'PAGE_CL': 221261230,'PAGE_BUILD_LABEL': \"youtube.ytfe.desktop_20181112_10_RC1\",'VARIANTS_CHECKSUM': \"2f2fae3497b0dc72e0960c57ea58daf9\",'CLIENT_PROTOCOL': \"HTTP\\/1.1\",'CLIENT_TRANSPORT': \"tcp\",'MDX_ENABLE_CASTV2': true,'MDX_ENABLE_QUEUE': true,'FEEDBACK_BUCKET_ID': \"Watch\",'FEEDBACK_LOCALE_LANGUAGE': \"en\",'FEEDBACK_LOCALE_EXTRAS': {\"logged_in\":false,\"accept_language\":\"en-US,en;q=0.5\",\"experiments\":\"23700266,23700732,23701297,23701882,23703975,23706844,23706846,23709359,23709532,23709788,23710313,23710476,23710536,23710729,23710863,23712746,23714427,23714553,23714865,23715854,23717597,23718221,23718617,23720902,23721223,23721698,23721770,23721898,23722284,23722367,23722905,23725261,23725678,23727873,23728468,23728908,23729373,23729484,23730614,23730676,23732178,23732509,23732895,23733014,23733270,23733598,23733978,23734497,23734676,23735518,23736659,23736849,23736982,23737288,23738145,23738306,23740143,23741692,23742904,23742989,23743196,23743628,23744137,23744176,23745001,23745163,23745648,23746345,23746390,23746573,23746939,23747079,23747249,23747750,23748035,23750481,23750666,23751188,23751241,23751324,23751699,23751767,23752637,23752869,23753783,23755082,23755084,23755220,23755417,23755886,23755898,23755964,23755966,23756037,23756151,23756490,23756957,23757119,23757209,23757575,23757585,23758096,23758340,23759078,23759097,23759349,23760111,23760226,23760569,23760691,23760937,23760942,23761460,23761589,23761591,23761910,23762090,23762106,23762272,23762330,23762373,23762649,23762685,23762813,23763106,23763126,23763334,23764233,23764944,23765007,23765159,23766021,23766449,23766463,23766608,23766952,23767043,23767294,23767765,23767766,23768603,23768642,23768659,23768689,23768698,23768776,23768780,23768792,23768912,23769020,23769156,23769438,23769572,23769829,23769957,23769973,23770033,23770037,23770083,23770213,23770269,23770622,23770767,23770921,23771234,23771404,23771485,23771891,23771917,23772007,23772026,23772104,23772161,23772351,23772475,23772704,23773122,23773251,23773539,23773666,23773741,23773782,23774007,23774117,23774749,23774762,23774805,23774974,23775137,23775367,23775644,23775817,23775844,23775898,23776152,23776273,23776344,23776414,23776458,23776462,23776723,23776775,23777468,23777806,23777836,23777876,23777881,23777960,23777985,23778116,23778258,23778473,9445139,9449243,9451814,9453167,9453409,9459800,9460098,9460554,9460829,9463460,9463594,9463936,9466835,9469934,9471103,9471239,9471955,9473374,9473379,9473406,9476077,9476577,9478787,9479456,9483857,9485000,9486390,9487037,9487330,9489266,9489452,9489831,9489833\"}});   yt.setConfig({\n    'GUIDED_HELP_LOCALE': \"en_US\",\n    'GUIDED_HELP_ENVIRONMENT': \"prod\"\n  });\nyt.setConfig('SPF_SEARCH_BOX', true);yt.setMsg({'ADDTO_CREATE_NEW_PLAYLIST': \"Create new playlist\\n\",'ADDTO_CREATE_PLAYLIST_DYNAMIC_TITLE': \"  $dynamic_title_placeholder (create new)\\n\",'ADDTO_WATCH_LATER': \"Watch later\",'ADDTO_WATCH_LATER_ADDED': \"Added\",'ADDTO_WATCH_LATER_ERROR': \"Error\",'ADDTO_WATCH_QUEUE': \"Watch Queue\",'ADDTO_WATCH_QUEUE_ADDED': \"Added\",'ADDTO_WATCH_QUEUE_ERROR': \"Error\",'ADDTO_TV_QUEUE': \"Queue\",'MASTHEAD_NOTIFICATIONS_LABEL': {\"case1\": \"1 unread notification.\", \"case0\": \"0 unread notifications.\", \"other\": \"# unread notifications.\"},'MASTHEAD_NOTIFICATIONS_COUNT_99PLUS': \"99+\",'MDX_AUTOPLAY_OFF': 'Autoplay is off','MDX_AUTOPLAY_ON': 'Autoplay is on'});  yt.setConfig('FEED_PRIVACY_CSS_URL', \"\\/yts\\/cssbin\\/www-feedprivacydialog-vflLtZObB.css\");\n  yt.setConfig('FEED_PRIVACY_LIGHTBOX_ENABLED', true);\nyt.setConfig({'SBOX_JS_URL': \"\\/yts\\/jsbin\\/www-searchbox-vflCSB_FC\\/www-searchbox.js\",'SBOX_SETTINGS': {\"SUGG_EXP_ID\":\"\",\"REQUEST_LANGUAGE\":\"en\",\"IS_FUSION\":false,\"PSUGGEST_TOKEN\":null,\"PQ\":\"\",\"REQUEST_DOMAIN\":\"us\",\"SESSION_INDEX\":null,\"HAS_ON_SCREEN_KEYBOARD\":false},'SBOX_LABELS': {\"SUGGESTION_DISMISS_LABEL\":\"Remove\",\"SUGGESTION_DISMISSED_LABEL\":\"Suggestion removed\"}});  yt.setConfig({\n    'YPC_LOADER_JS': \"\\/yts\\/jsbin\\/www-ypc-vflcD6jWd\\/www-ypc.js\",\n    'YPC_LOADER_CSS': \"\\/yts\\/cssbin\\/www-ypc-vflbH3pUh.css\",\n    'YPC_SIGNIN_URL': \"https:\\/\\/accounts.google.com\\/ServiceLogin?passive=true\\u0026hl=en\\u0026continue=http%3A%2F%2Fwww.youtube.com%2Fsignin%3Fhl%3Den%26next%3D%252F%26action_handle_signin%3Dtrue%26app%3Ddesktop\\u0026uilel=3\\u0026service=youtube\",\n    'DBLCLK_ADVERTISER_ID': \"2542116\",\n    'DBLCLK_YPC_ACTIVITY_GROUP': \"youtu444\",\n    'SUBSCRIPTION_URL': \"\\/subscription_ajax\",\n    'YPC_SWITCH_URL': \"\\/signin?feature=purchases\\u0026next=%2F\\u0026action_handle_signin=true\\u0026skip_identity_prompt=True\",\n    'YPC_GB_LANGUAGE': \"en_US\",\n    'YPC_MB_URL': \"https:\\/\\/payments.youtube.com\\/payments\\/v4\\/js\\/integrator.js?ss=md\",\n    'YPC_TRANSACTION_URL': \"\\/transaction_handler\",\n    'YPC_SUBSCRIPTION_URL': \"\\/ypc_subscription_ajax\",\n    'YPC_POST_PURCHASE_URL': \"\\/ypc_post_purchase_ajax\",\n    'YTR_FAMILY_CREATION_URL': \"https:\\/\\/families.google.com\\/webcreation?usegapi=1\",\n    'YTO_GTM_DATA': {'event': 'purchased', 'purchaseStatus': 'success'},\n    'YTO_GTM_1_BUTTON_CLICK_DATA': {'event': 'landingButtonClick', 'buttonPosition': '1'},\n    'YTO_GTM_2_BUTTON_CLICK_DATA': {'event': 'landingButtonClick', 'buttonPosition': '2'}\n  });\n  yt.setMsg({\n    'YPC_OFFER_OVERLAY': \"  \\n\",\n    'YPC_UNSUBSCRIBE_OVERLAY': \"  \\n\"\n  });\n  yt.setConfig('GOOGLE_HELP_CONTEXT', \"watch\");\nytcsi.info('st', 191);ytcfg.set({\"TIMING_INFO\":{\"yt_pl\":0,\"GetPlayer_rid\":\"0x8d7c23312f45c648\",\"GetWatchNext_rid\":\"0x8d7c23312f45c648\",\"c\":\"WEB\",\"cver\":\"1.20181113\",\"yt_lt\":\"cold\",\"yt_li\":\"0\"},\"CSI_SERVICE_NAME\":\"youtube\"});;ytcfg.set({\"CSI_VIEWPORT\":true,\"TIMING_ACTION\":\"watch\"});;  yt.setConfig({\n      'XSRF_TOKEN': \"QUFFLUhqbVJaakJXaUVMR20tb1hseW5RR3lncUZiOHJid3xBQ3Jtc0trUW8xa1dTbWlxSGhqTjYxOFVzaGtBZVI5TFlOUV84YXI1S3dpcUJGQVhUSmpXbEVrT1NYOEhkYktxUmpodDVxdzFWdm9DbWRER3RDMkRPWHFrYTNPUXRPWmFQT3N5elBpV3NYTXJrR1FxTkhGV083dkhpZW45cWRGcGpLYlZnOVBRTWUxeTNnS1JBVUdkQXBzOFFaM0J6Wjg0dFE=\",\n      'XSRF_FIELD_NAME': \"session_token\",\n\n      'XSRF_REDIRECT_TOKEN': \"IK9-5Db8mZhHdh0BLPEeuiMod4R8MTU0MjM0NDc1M0AxNTQyMjU4MzUz\"  });\nyt.setConfig('ID_TOKEN', null);window.ytcfg.set('SERVICE_WORKER_KILLSWITCH', false);  yt.setConfig('THUMB_DELAY_LOAD_BUFFER', 0);\nif (window.ytcsi) {window.ytcsi.tick(\"jl\", null, '');}</script>\n</body></html>",
urlogger-api_1  |   "rawHeaders": [
urlogger-api_1  |     "Content-Type",
urlogger-api_1  |     "text/html; charset=utf-8",
urlogger-api_1  |     "X-Frame-Options",
urlogger-api_1  |     "SAMEORIGIN",
urlogger-api_1  |     "Strict-Transport-Security",
urlogger-api_1  |     "max-age=31536000",
urlogger-api_1  |     "Expires",
urlogger-api_1  |     "Tue, 27 Apr 1971 19:44:06 EST",
urlogger-api_1  |     "X-Content-Type-Options",
urlogger-api_1  |     "nosniff",
urlogger-api_1  |     "Cache-Control",
urlogger-api_1  |     "no-cache",
urlogger-api_1  |     "P3P",
urlogger-api_1  |     "CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\"",
urlogger-api_1  |     "X-XSS-Protection",
urlogger-api_1  |     "1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube",
urlogger-api_1  |     "Date",
urlogger-api_1  |     "Thu, 15 Nov 2018 05:05:53 GMT",
urlogger-api_1  |     "Server",
urlogger-api_1  |     "YouTube Frontend Proxy",
urlogger-api_1  |     "Set-Cookie",
urlogger-api_1  |     "VISITOR_INFO1_LIVE=WUSbKj7akAo; path=/; domain=.youtube.com; expires=Tue, 14-May-2019 05:05:53 GMT; httponly",
urlogger-api_1  |     "Set-Cookie",
urlogger-api_1  |     "YSC=TsEezDQw2u8; path=/; domain=.youtube.com; httponly",
urlogger-api_1  |     "Set-Cookie",
urlogger-api_1  |     "GPS=1; path=/; domain=.youtube.com; expires=Thu, 15-Nov-2018 05:35:53 GMT",
urlogger-api_1  |     "Alt-Svc",
urlogger-api_1  |     "quic=\":443\"; ma=2592000; v=\"44,43,39,35\"",
urlogger-api_1  |     "Accept-Ranges",
urlogger-api_1  |     "none",
urlogger-api_1  |     "Vary",
urlogger-api_1  |     "Accept-Encoding",
urlogger-api_1  |     "Transfer-Encoding",
urlogger-api_1  |     "chunked"
urlogger-api_1  |   ],
urlogger-api_1  |   "reqheaders": {
urlogger-api_1  |     "host": "www.youtube.com",
urlogger-api_1  |     "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
urlogger-api_1  |     "accept-language": "en-US,en;q=0.5",
urlogger-api_1  |     "connection": "keep-alive",
urlogger-api_1  |     "cache-control": "max-age=0"
urlogger-api_1  |   }
urlogger-api_1  | }
urlogger-api_1  | <<<<<<-- cut here -->>>>>>```
ahmedfarooki commented 5 years ago

This is what the code looks like:

const youtubeId = getYouTubeID(url);
const data = await getYoutubeInfo(youtubeId);
ahmedfarooki commented 5 years ago

Are you able to request data from YouTube in general?

Yes

Is the Docker host located in a different country? (a video can be restricted in some countries) Same area

I'm not sure if it's really a docker problem either now.

ahmedfarooki commented 5 years ago

const getYouTubeID = require('get-youtube-id');

The npm module get-youtube-id is converting the uppercase characters to lower case, which is causing invalid results. Not a problem with your library.