(function () {
  //Inject code v3.0.3

  var highcharts = document.createElement('script');

  var cdn = 'https://code.highcharts.com/';
  var loaded = 0;  
  var encodedUrl = encodeURI('https://https://app.everviz.com//show/iXovEbyYw');
  var chartCreated = false;
  var delayGen = 0;
  var scripts = [
    "highcharts.js",
    "modules/stock.js",
    "highcharts-more.js",
    "highcharts-3d.js",
    "modules/data.js",
    "modules/exporting.js",
    "modules/funnel.js",
    "modules/solid-gauge.js",
    "modules/export-data.js",
    "modules/accessibility.js"
    /* "modules/series-label.js" */
  ];

  var externalCSS = [
    "https://app.everviz.com/static/fonts/gordita/style.css",
    "https://app.everviz.com/resources/css/highcharts-data-table.css"
  ];

  var extraScripts = [
  "https://code.highcharts.com/modules/annotations.js",
  "https://code.highcharts.com/modules/annotations-advanced.js",
  "https://app.everviz.com/resources/js/highcharts-scroll-animation.js",
  "https://app.everviz.com/resources/js/everviz-utils.js"
  ];

  var options = {"title":{"text":"","align":"left","x":10},"subtitle":{"text":"","align":"left","x":10},"colors":["#106373","#00C2C2","#C44CD6","#4241EB","#26C4FF","#64E572","#FF9655","#FFF263","#6AF9C4"],"legend":{"align":"left","verticalAlign":"top","itemMarginBottom":10,"x":0,"symbolRadius":2,"itemHoverStyle":{"color":"#000000","fontFamily":"\"Lucida Grande\", \"Lucida Sans Unicode\", Verdana, Arial, Helvetica, sans-serif","fontSize":"14px"},"itemStyle":{"color":"#333333","cursor":"pointer","fontSize":"14px","fontWeight":"","textOverflow":"ellipsis","fontFamily":"\"Lucida Grande\", \"Lucida Sans Unicode\", Verdana, Arial, Helvetica, sans-serif"}},"plotOptions":{"series":{"marker":{"enabled":false},"lineWidth":3,"allowPointSelect":true,"states":{"select":{"color":"#EFFFEF","borderColor":"black","dashStyle":"dot"}}}},"chart":{},"exporting":{"enabled":false},"credits":{"text":"everviz.com","href":"https://everviz.com","enabled":false},"series":[{"data":[],"turboThreshold":0,"_colorIndex":0,"_symbolIndex":0,"type":"line"},{"data":[],"turboThreshold":0,"_colorIndex":1,"_symbolIndex":0,"type":"line","dashStyle":"ShortDot"},{"data":[],"turboThreshold":0,"_colorIndex":2,"_symbolIndex":0,"type":"line","dashStyle":"ShortDot"},{"data":[],"turboThreshold":0,"_colorIndex":3,"_symbolIndex":0,"type":"line","dashStyle":"ShortDot"},{"data":[],"turboThreshold":0,"_colorIndex":4,"_symbolIndex":0,"type":"line","dashStyle":"ShortDot"}],"tooltip":{"valueSuffix":"%"},"stockTools":{"gui":{"enabled":false}},"navigation":{"bindingsClassName":"tools-container"},"labels":{"items":[]},"pane":{"background":[]},"responsive":{"rules":[]},"annotations":[],"yAxis":{"title":{"text":""},"labels":{"format":"{value}%"}},"data":{"csv":"DateTime;All adults;Gen Z adults;Millennials;Gen X;Boomers\n1/26/20 ;32;35;31;28;36\n1/29/20 ;36;42;35;35;35\n2/2/20;40;41;36;40;40\n2/9/20;39;45;39;38;36\n2/26/20;36;36;32;37;37\n3/1/20 ;36;33;37;33;38\n3/5/20 ;32;25;33;34;30\n3/9/20;33;34;33;29;35\n3/16/20;40;25;40;38;45\n3/20/20 ;54;46;52;51;58\n3/22/20;57;41;55;58;62\n3/26/20 ;60;48;56;62;65\n3/29/20 ;60;43;56;65;64\n4/1/20 ;65;47;59;69;72\n4/5/20 ;65;53;59;67;70\n4/12/20 ;64;59;60;68;66\n4/19/20;57;46;55;57;62\n4/26/20;62;51;59;63;66\n5/3/20;56;49;51;54;63\n5/10/20;56;57;56;51;58\n5/17/20;57;52;54;55;62\n5/25/20;53;52;47;51;58\n6/1/20;54;49;54;53;56\n6/7/20;54;47;53;55;56\n6/14/20;51;44;50;53;54\n6/21/20;52;46;49;54;55\n6/29/20;55;49;54;57;57\n7/4/20;59;58;59;55;63\n7/12/20;58;54;51;61;61\n7/19/20;59;54;58;60;62\n7/26/20;60;59;52;60;64\n8/2/20;60;58;59;58;62\n8/10/20;62;60;64;62;62\n8/17/20;56;58;54;53;61\n8/23/20;55;51;51;55;58\n8/31/20;55;53;54;56;57\n9/6/20;53;49;51;55;55\n9/13/20;55;51;51;52;60\n9/20/20;55;38;55;53;57\n9/27/20;53;46;49;51;59\n10/4/20;56;58;50;57;60\n10/10/20;55;59;52;55;56\n10/18/20;55;48;49;55;61\n10/25/20;56;50;52;58;60\n10/31/20;57;49;54;57;60\n11/9/20;53;46;49;54;55\n11/14/20;57;42;58;55;62\n11/23/20;58;54;50;57;66\n11/29/20;59;55;54;58;65\n12/6/20;60;56;53;61;66\n12/12/20;59;51;54;63;62","seriesMapping":[{"x":0,"y":1},{"x":0,"y":2},{"x":0,"y":3},{"x":0,"y":4},{"x":0,"y":5}]}};
  var optionsStub;
  
  var templateDataSettings = {};

  var pluginCode = {};;

  function isScriptAlreadyIncluded(src){
    var scripts = document.getElementsByTagName("script");
    for (var i = 0; i < scripts.length; i++) {
      if (scripts[i].hasAttribute('src')) {
        const scriptTag = scripts[i].getAttribute('src') || '';
        if ((scriptTag.indexOf(src) >= 0) || 
            (scriptTag.indexOf('highcharts.src.js') > -1 && src === 'highcharts.js') ||
            ((scriptTag.indexOf('stock/highstock.js') > -1) && src === 'modules/highstock.js')) {
          return true;
        }
      }
    }
    return false;
  }

  function loadCSS() {
    var cssLength = externalCSS.length;
    for(var i=0; i < cssLength; i++) {
      var css = document.createElement('link');
      css.rel  = 'stylesheet';
      css.type = "text/css";
      css.href = externalCSS[i];
      document.body.appendChild(css);
    }
  }

  function allScriptsIncluded(){
    var allScripts = scripts.concat(extraScripts);
    var haveAllScriptsBeenIncluded = true;
    var scriptsToUse = document.getElementsByTagName("script");
    for(var n=0;n<allScripts.length;n++) {
      if (!isScriptAlreadyIncluded(allScripts[n], scriptsToUse)) {
        haveAllScriptsBeenIncluded = false;
        break;
      }
    }
    return haveAllScriptsBeenIncluded;
  }

  function modifyOptions(){
    if (options.data) {
      options.data.complete = function(options) {
        const keys = Object.keys(templateDataSettings || {});
        keys.forEach(function(key) {
          const serie = options.series[key];
          (serie.data || []).forEach(function(d, i) {
            if (templateDataSettings[key].data && templateDataSettings[key].data[i]) {
              window["everviz"].merge(d, templateDataSettings[key].data[i]);
            }
          })
        })  
        return options;
      }
    }
    
    optionsStub = window["everviz"].createStub(options);
    window["everviz"].merge(options, pluginCode);
    if ('Chart' === 'Map') window["everviz"].modifyMapType(options);
  }

  function createChart() {
    if(chartCreated) return;

    var hasProj4 = extraScripts.indexOf('https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.6/proj4.js') > -1;
    if (!allScriptsIncluded() || 
      (hasProj4 && !window.proj4)) {
      setTimeout(createChart, 200);
      return;
    }  

    modifyOptions();

    if (hasProj4) delayGen = 100;

    if (typeof window['Highcharts'] !== 'undefined') {
      

      if (options && (options.lang || options.global)) {
        Highcharts.setOptions({
          global: options.global || {},
          lang: options.lang || {}
        });
      }

      if (Highcharts.Annotation) {
        Highcharts.Annotation.ControlPoint.prototype.redraw = function (animation) {
          this.graphic[animation ? 'animate' : 'attr'](
              this.options.positioner ? this.options.positioner.call(this, this.target) : null
          );
        };
      }
      
      chartCreated = true;
      window.HighchartsCloud.hasLoaded = true; 
      setTimeout(function(){
        if (window["everviz"] && window["everviz"].pendingAnim) {

          var chart = new Highcharts.Chart('highcharts-iXovEbyYw', optionsStub); 
          window["everviz"].pendingAnim({
            id: 'highcharts-iXovEbyYw', 
            loaded: false,
            options: options,
            appear:function(){
              chart.destroy();
              chart = new Highcharts.Chart('highcharts-iXovEbyYw', options); 
            },
            element: document.querySelector('#highcharts-iXovEbyYw')
          });
        } else {
          new Highcharts.Chart('highcharts-iXovEbyYw', options);   
        }
      }, delayGen);
    }
  }

  function check(scripts, cb) {
    if (loaded === scripts.length) {
      if (cb) {
        cb();
      } else {
        for (var i = 0; i < window.HighchartsCloud.ondone.length; i++) {
          try {
            window.HighchartsCloud.ondone[i]();
          } catch(e) {
            console.error(e);
          }
        }
      }
    }
  }

  function loadScript(s, scripts, cb) {
    if (!s) next();
    
    function next() {
      ++loaded;
      if (loaded < scripts.length) {
        loadScript(scripts[loaded], scripts, cb);
      }
      check(scripts, cb);
    }

    if (isScriptAlreadyIncluded(s)) {
      return next();
    }

    var n = document.createElement('script');

    n.onload = function () {
      next();
    };

    if (s.indexOf('https') >= 0) {
      n.src = s;
    } else {
      n.src = cdn + s;
    }
    document.body.appendChild(n);
  }

  function loadExtraScripts(){
    if (extraScripts.length > 0) {
      loaded = 0;
      loadScript(extraScripts[0], extraScripts);
    } else {
      check(scripts);
    }
  }

  function loadExtraScriptsAndMakeChart(){
    loaded = 0;
    loadCSS();
    if (extraScripts.length > 0) {
      loadScript(extraScripts[0], extraScripts, createChart);
    } else {
      check(extraScripts);
    }
  }

  if (typeof window['HighchartsCloud'] === 'undefined') {
    window.HighchartsCloud = {
      ondone: [createChart],
      hasWrapped: false,
      hasLoaded: false
    };

    loadScript(scripts[0], scripts, loadExtraScripts);
    loadCSS();

  } else {
    if (!window.HighchartsCloud.hasLoaded) window.HighchartsCloud.ondone.push(loadExtraScriptsAndMakeChart);
    else loadExtraScriptsAndMakeChart();
  }

}());
