(function (w) {
    /*tagconfig*/
    var adConfig = {};
    var config =

{"startmidroll":28,"posDfp1x1":false,"maxWidth":400,"playOnView":true,"customLogo":{},"timelineMode":"bottom","minHeight":300,"checkTargeting":false,"scrollPixels":5,"width":400,"height":300,"isSessionIdEnabled":false,"channelId":"61b3af13f413455f8d024805","publisherId":"616704c962b31624e671e171","trackDomain":"track4.aniview.com","templateId":"62cd682a22f05376446af2a4","position":"aniplayer_AV61b3af45b210be3b486786d6","hideInitPreloader":true,"customcss":"","scriptId":"AV61b3af45b210be3b486786d6","tagId":"61b3af45b210be3b486786d6","autoPlay":true,"soundButton":true,"pauseButton":true,"playerVersion":8,"adsControlPositioning":"distributed","adServerDomain":"go1.aniview.com","logo":false,"autoContinue":true,"loop":true,"templateType":"1","closeButtonStyle":{"position":"Top-Left","outside":true,"overlayMargin":0},"playerType":1,"playerDelay":0,"playOnViewPerc":50,"errorLimit":12,"maxImp":9999,"maxRun":9999,"midrolltime":0,"vastRetry":2,"targetingDomain":""}
var b =
{}
var ab =
{}


var ad =
[{"a":{"adConfig":{"nabTest":"GlobalConfig_Active","uidproviders":{"avintentiq":{"timeout":5000,"partner":755298539},"liveIntentId":{"requestedAttributesOverrides":{"uid2":true,"bidswitch":true,"magnite":true,"openx":true,"index":true,"pubmatic":true,"medianet":true},"distributorId":"did-005q"}},"imarpm":4,"blocknesting":true,"maxima":1,"tmtmonitor":{"url":"https:\/\/scripts.webcontentassessor.com\/scripts\/c0c6ec0ec6108ed1f33026007263825c1888982fb676baf732a8e162c649b895"},"maxBidQueue":2,"imamode":1},"maxBidQueue":2,"imamode":1,"nabTest":"GlobalConfig_Active","blocknesting":true,"badvlist":{"list":["imasdk.googleapis.com","fortunefindersnet.click","bidmaster360.com","trackpulsepro.cc","luxurytechinc.com","manukora.com","tracemasters.cc","wind-dSy14nuvlg.errolandtessa.com","safesysdefender.xyz","trackmaster.cc","serendipityseeker.xyz","redirectlinkway.top","ccriknights.com","lrscroyals.com","puzztake.com","windowsdefendersecuritycenter.com","yourfileisreadytodownload.com","mcafeetrojanvirusdetected.com","youvemadethe5billionthsearch.com","vpnupdatescam.com","subscribepage.com","platinumai.net","trackmenow.life","tracemasters.cc","networkfortifyguard.life","batch.cootlogix.com","vo-av.azureedge.net","v-fa.azureedge.net","bn-vdo.azureedge.net","d3i45xa0npwdkr.cloudfront.net","zr-vd.azureedge.net","livd.azureedge.net","doazcw5q3y88m.cloudfront.net","v3-ky.azureedge.net","ftder.azureedge.net","waytopmobi.com","waytopmobirtb.com","deceowinnul.xyz","winbanotice.top","22witwoqes.top","us1winno.top","2021winstat.xyz","apsbvl.space","bhgusz.space","axufcs.space","luckypapa.top","luckypuppy.top","bbd383ttka21.top","21bustqisw2.top","2022325luckyday.top","2020workaffnew.top","bbd383ttka23.top","cnmdzem1201.top","bxlysluckdu.top","2284sbluck.top","mtfl20232good.top","trkcenter.top","takutaku2834.top","takutaku2833.top","netw611k22de.top","takutaku2832.top","takutaku2831.top","new611k22.top","tmdqswllck.top","cnmb29382732.top","bindgnndnia2323.top","redirectlinkway.top","resilienceguardnet.top","protectguardline.world","barricadesecureway.info","ricadesecureway.info","chanceencounterline.top","test2.com","d9b0a67x9wsqc.cloudfront.net","d26ysxib20d4fq.cloudfront.net","d2xq9lyqyjnbrs.cloudfront.net","fortunefindersnet.click","resilience.guardnet.top","lionenergy.com","heyhorti.com","hologearco.com","ginamber.com","projectrepat.com","fortunefindersnet.click","lrscroyals.com","ccriknights.com","ccsubluedevils.com","d1l7snsb4aerjt.cloudfront.net","livebearded.com","odr.mookie1.com","mookie1.com","d12nmqc6q4mfgg.cloudfront.net","d2hv6bo9nf9myw.cloudfront.net","d2knse0u650wbq.cloudfront.net","d1p403z98dbkw8.cloudfront.net","d3keaxpcmusyl6.cloudfront.net","d3osdrn4aekbnx.cloudfront.net","d3kqccsvtdsria.cloudfront.net","d1ygqz6kxv5if1.cloudfront.net","djtxbo9vvfov0.cloudfront.net","d123c42anorg6n.cloudfront.net","forwardzonehub.life","bidder360.online","serenitystar.info","caseforconsumers.org","tk0x1.com"]},"imarpm":10,"maxima":2,"tmtmonitor":{"url":"https:\/\/scripts.webcontentassessor.com\/scripts\/c0c6ec0ec6108ed1f33026007263825c1888982fb676baf732a8e162c649b895"},"iosconfig":{"maxerrorlimit":10,"minmidrolltime":10,"blockima":true,"maxvastretry":1},"uidproviders":{"avintentiq":{"timeout":5000,"partner":755298539},"liveIntentId":{"requestedAttributesOverrides":{"uid2":true,"bidswitch":true,"magnite":true,"openx":true,"index":true,"pubmatic":true,"medianet":true},"distributorId":"did-005q"}}},"t":{"p":"1"},"sp":5},{"a":{"adConfig":{"imamode":1,"uidproviders":{"avintentiq":{"timeout":5000,"partner":755298539},"liveIntentId":{"requestedAttributesOverrides":{"uid2":true,"bidswitch":true,"magnite":true,"openx":true,"index":true,"pubmatic":true,"medianet":true},"distributorId":"did-005q"}},"maxima":1,"blocknesting":true,"nabTest":"GlobalConfig_Control","imarpm":4},"nabTest":"GlobalConfig_Control","imarpm":4,"imamode":1,"uidproviders":{"avintentiq":{"timeout":5000,"partner":755298539},"liveIntentId":{"requestedAttributesOverrides":{"uid2":true,"bidswitch":true,"magnite":true,"openx":true,"index":true,"pubmatic":true,"medianet":true},"distributorId":"did-005q"}},"maxima":2,"badvlist":{"list":["imasdk.googleapis.com","fortunefindersnet.click","bidmaster360.com","trackpulsepro.cc","luxurytechinc.com","manukora.com","tracemasters.cc","wind-dSy14nuvlg.errolandtessa.com","safesysdefender.xyz","trackmaster.cc","serendipityseeker.xyz","redirectlinkway.top","ccriknights.com","lrscroyals.com","puzztake.com","windowsdefendersecuritycenter.com","yourfileisreadytodownload.com","mcafeetrojanvirusdetected.com","youvemadethe5billionthsearch.com","vpnupdatescam.com","subscribepage.com","platinumai.net","trackmenow.life","tracemasters.cc","networkfortifyguard.life","batch.cootlogix.com","vo-av.azureedge.net","v-fa.azureedge.net","bn-vdo.azureedge.net","d3i45xa0npwdkr.cloudfront.net","zr-vd.azureedge.net","livd.azureedge.net","doazcw5q3y88m.cloudfront.net","v3-ky.azureedge.net","ftder.azureedge.net","waytopmobi.com","waytopmobirtb.com","deceowinnul.xyz","winbanotice.top","22witwoqes.top","us1winno.top","2021winstat.xyz","apsbvl.space","bhgusz.space","axufcs.space","luckypapa.top","luckypuppy.top","bbd383ttka21.top","21bustqisw2.top","2022325luckyday.top","2020workaffnew.top","bbd383ttka23.top","cnmdzem1201.top","bxlysluckdu.top","2284sbluck.top","mtfl20232good.top","trkcenter.top","takutaku2834.top","takutaku2833.top","netw611k22de.top","takutaku2832.top","takutaku2831.top","new611k22.top","tmdqswllck.top","cnmb29382732.top","bindgnndnia2323.top","redirectlinkway.top","resilienceguardnet.top","protectguardline.world","barricadesecureway.info","ricadesecureway.info","chanceencounterline.top","test2.com","d9b0a67x9wsqc.cloudfront.net","d26ysxib20d4fq.cloudfront.net","d2xq9lyqyjnbrs.cloudfront.net","fortunefindersnet.click","resilience.guardnet.top","lionenergy.com","heyhorti.com","hologearco.com","ginamber.com","projectrepat.com","fortunefindersnet.click","lrscroyals.com","ccriknights.com","ccsubluedevils.com","d1l7snsb4aerjt.cloudfront.net","livebearded.com","odr.mookie1.com","mookie1.com","d12nmqc6q4mfgg.cloudfront.net","d2hv6bo9nf9myw.cloudfront.net","d2knse0u650wbq.cloudfront.net","d1p403z98dbkw8.cloudfront.net","d3keaxpcmusyl6.cloudfront.net","d3osdrn4aekbnx.cloudfront.net","d3kqccsvtdsria.cloudfront.net","d1ygqz6kxv5if1.cloudfront.net","djtxbo9vvfov0.cloudfront.net","d123c42anorg6n.cloudfront.net","forwardzonehub.life","bidder360.online","serenitystar.info","caseforconsumers.org","tk0x1.com"]},"iosconfig":{"maxerrorlimit":10,"minmidrolltime":10,"blockima":true,"maxvastretry":1},"blocknesting":true},"t":{"p":"1"},"sp":95},{"a":{"blocknesting":true,"imarpm":4,"badvlist":{"list":["imasdk.googleapis.com","fortunefindersnet.click","bidmaster360.com","trackpulsepro.cc","luxurytechinc.com","manukora.com","tracemasters.cc","wind-dSy14nuvlg.errolandtessa.com","safesysdefender.xyz","trackmaster.cc","serendipityseeker.xyz","redirectlinkway.top","ccriknights.com","lrscroyals.com","puzztake.com","windowsdefendersecuritycenter.com","yourfileisreadytodownload.com","mcafeetrojanvirusdetected.com","youvemadethe5billionthsearch.com","vpnupdatescam.com","subscribepage.com","platinumai.net","trackmenow.life","tracemasters.cc","networkfortifyguard.life","batch.cootlogix.com","vo-av.azureedge.net","v-fa.azureedge.net","bn-vdo.azureedge.net","d3i45xa0npwdkr.cloudfront.net","zr-vd.azureedge.net","livd.azureedge.net","doazcw5q3y88m.cloudfront.net","v3-ky.azureedge.net","ftder.azureedge.net","waytopmobi.com","waytopmobirtb.com","deceowinnul.xyz","winbanotice.top","22witwoqes.top","us1winno.top","2021winstat.xyz","apsbvl.space","bhgusz.space","axufcs.space","luckypapa.top","luckypuppy.top","bbd383ttka21.top","21bustqisw2.top","2022325luckyday.top","2020workaffnew.top","bbd383ttka23.top","cnmdzem1201.top","bxlysluckdu.top","2284sbluck.top","mtfl20232good.top","trkcenter.top","takutaku2834.top","takutaku2833.top","netw611k22de.top","takutaku2832.top","takutaku2831.top","new611k22.top","tmdqswllck.top","cnmb29382732.top","bindgnndnia2323.top","redirectlinkway.top","resilienceguardnet.top","protectguardline.world","barricadesecureway.info","ricadesecureway.info","chanceencounterline.top","test2.com","d9b0a67x9wsqc.cloudfront.net","d26ysxib20d4fq.cloudfront.net","d2xq9lyqyjnbrs.cloudfront.net","fortunefindersnet.click","resilience.guardnet.top","lionenergy.com","heyhorti.com","hologearco.com","ginamber.com","projectrepat.com","fortunefindersnet.click","lrscroyals.com","ccriknights.com","ccsubluedevils.com","d1l7snsb4aerjt.cloudfront.net","livebearded.com","odr.mookie1.com","mookie1.com","d12nmqc6q4mfgg.cloudfront.net","d2hv6bo9nf9myw.cloudfront.net","d2knse0u650wbq.cloudfront.net","d1p403z98dbkw8.cloudfront.net","d3keaxpcmusyl6.cloudfront.net","d3osdrn4aekbnx.cloudfront.net","d3kqccsvtdsria.cloudfront.net","d1ygqz6kxv5if1.cloudfront.net","djtxbo9vvfov0.cloudfront.net","d123c42anorg6n.cloudfront.net","forwardzonehub.life","bidder360.online","serenitystar.info","caseforconsumers.org","tk0x1.com"]},"adConfig":{"imamode":1,"uidproviders":{"avintentiq":{"timeout":5000,"partner":755298539},"liveIntentId":{"requestedAttributesOverrides":{"uid2":true,"bidswitch":true,"magnite":true,"openx":true,"index":true,"pubmatic":true,"medianet":true},"distributorId":"did-005q"}},"maxima":1,"blocknesting":true,"nabTest":"GlobalConfig_Block","imarpm":4},"maxima":2,"uidproviders":{"avintentiq":{"timeout":5000,"partner":755298539},"liveIntentId":{"requestedAttributesOverrides":{"uid2":true,"bidswitch":true,"magnite":true,"openx":true,"index":true,"pubmatic":true,"medianet":true},"distributorId":"did-005q"}},"nabTest":"GlobalConfig_Block","imamode":1},"t":{"p":"1"},"sp":0}]


var CONST = {
  CREATIVE_TYPE: {
    VIDEO: 1,
    DISPLAY: 2
  },
  PLAYER_TYPE: {
    OUTSTREAM: 1,
    INSTREAM: 2,
  },
  DEVICE: {
    MOBILE: 1,
    DESKTOP: 2,
    TABLET: 3,
    TV: 4,
  }
};

function isDisplayPlacement(playerTagConfigs) {
  return (
    playerTagConfigs.creativeType == CONST.CREATIVE_TYPE.DISPLAY
    && playerTagConfigs.playerType == CONST.PLAYER_TYPE.OUTSTREAM
  );
}

function isVideoOutstream(playerTagConfigs) {
  return (
    playerTagConfigs.creativeType != CONST.CREATIVE_TYPE.DISPLAY
    && playerTagConfigs.playerType == CONST.PLAYER_TYPE.OUTSTREAM
  );
}

function isVideoInstream(playerTagConfigs) {
  return playerTagConfigs.playerType == CONST.PLAYER_TYPE.INSTREAM;
}

function merge(target, source) {
  if (typeof source !== 'object' || Array.isArray(source)) {
    return target;
  }
  for (var key in source) {
    var a = {};
    a[key] = {};
    if (typeof source[key] === 'object' && !Array.isArray(source[key])) {
      if (!target[key]) {
        Object.assign(target, a);
      }
      merge(target[key], source[key]);
    } else {
      a[key] = source[key];
      Object.assign(target, a);
    }
  }
}

function getApiInfo(apiName, win) {
  try {
    if (win[apiName]) {
      return { api: win[apiName], window: win };
    } else if(window[apiName]) {
      return { api: window[apiName], window: window };
    } else {
      return { api: top[apiName], window: top };
    }
  } catch (exp) {
    return { api: window[apiName], window: window };
  }
}

function nodeIsConnected(node) {
  if (!node) {
    return false;
  }
  if (node.isConnected != null) {
    return node.isConnected;
  }
  return !node.ownerDocument || !(node.ownerDocument.compareDocumentPosition(node) & node.DOCUMENT_POSITION_DISCONNECTED);
}

function addNodeStateListener(st) {
  var config = st.a;

  if (!config.spa && !config.destroyOnHostRemoval) {
    return;
  }

  if (!st.win.MutationObserver) {
    console.error('MutationObserver not support');
    return;
  }

  st.win.aniview = st.win.aniview || {};
  st.win.aniview.layout = st.win.aniview.layout || {};
  st.win.aniview.placements = st.win.aniview.placements || [];

  st.id = config.tagInstanceName || config.tagId;
  var aniview = st.win.aniview;
  var placements = aniview.placements;
  var layout = aniview.layout;

  if (placements.length <= 0) {
    layout.mutationObserver = new MutationObserver(function() {
      for (var i = 0; i < placements.slice().length; i++) {
        var placement = placements[i];
        var placementConfig = placement.a;
        var hasSelector = placementConfig.position || placementConfig.posSelector || placementConfig.posSelectors && placementConfig.posSelectors.length > 0;
        if (placement.isDestroyed && placementConfig.spa && hasSelector) {
          placementConfig.posFallbacks = undefined;
          placementConfig.waitForScroll = false;
          placementConfig.waitBeforeInit = false;
          placement.retry = function() {};
          placement.loaded = false;
          placement.run();
        } else if (!nodeIsConnected(placementConfig.refDiv)) {
          placement.destroy(placement);
          if (placementConfig.destroyOnHostRemoval) {
            placements.splice(i, 1);
          }
          if (placements.length <= 0) {
            layout.mutationObserver.disconnect();
            layout.mutationObserver = null;
          }
        }
      }
    });
    layout.mutationObserver.observe(document.body, {
      childList: true,
      subtree: true
    });
  }

  for (var i = 0; i < placements.length; i++) {
    if (placements[i].id === st.id) {
      return;
    }
  }

  placements.push(st);
}

function safeJsonParse(jsonString, fallback) {
  if (!jsonString) {
    return fallback;
  }

  try {
    return JSON.parse(jsonString);
  } catch (e) {
    return fallback !== undefined ? fallback : jsonString;
  }
}

    /*tagconfig*/
    var a = config;
    var st = {
        scriptErrorCounter: 0,
        fetchScriptDelayMs: 200,
        target: function () {
            try {
if (this.sp) {
  return;
}

var ua = navigator.userAgent || navigator.vendor || window.opera;
var uav = navigator.appVersion ? navigator.appVersion.toLowerCase() : "";
var op = CONST.DEVICE.DESKTOP;
var isTablet = /(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/i.test(ua);
var isMobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(ua) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(ua.substr(0, 4));

if (a.device === "mobile") {
  op = CONST.DEVICE.MOBILE;
} else if (a.device === "tablet") {
  op = a.tabletAsDesktop ? CONST.DEVICE.DESKTOP : CONST.DEVICE.MOBILE;
} else if (a.device === "desktop") {
  op = CONST.DEVICE.DESKTOP;
} else if (isTablet && a.tabletAsDesktop) {
  //
} else if (isMobile) {
  op = CONST.DEVICE.MOBILE;
} else if (/web0s|webos|tizen/i.test(uav)) {
  op = CONST.DEVICE.TV;
}

this.op = op;
} catch (reason) {(console.error || console.log)(reason);}
        },
        getConfig: function () {
            try {
function addDefaults (r, defaults) {
  r.creativeDimensions = defaults.creativeDimensions;
  r.refresh = defaults.refresh;
  r.width = defaults.width;
  r.height = defaults.height;
}

function getRC(ab) {
  if (ab && ab.length) {
    var inc = 0;
    var rand = Math.floor(Math.random() * 100) + 1;

    for (i = 0; i < ab.length; i++) {
      b1 = ab[i];
      inc += b1.sp;

      if (b1.a && inc >= rand) {
        return b1.a;
      }
    }
  }
}

var cfg = a;

try {
  var i, b1, b1a;

  if (b && b.length > 0) {
    st.target();

    for (i = 0; i < b.length; i++) {
      b1 = b[i];

      if (b1.t && b1.t.p && b1.t.p == this.op && b1.a) {
        b1a = b1.a;
        break;
      }
    }
  }
  st.target();

  if (typeof abDesktop !== "undefined") {
    ab = this.op == CONST.DEVICE.DESKTOP ? abDesktop : abMobile;
  }
  if (typeof adDesktop !== "undefined") {
    ad = this.op == CONST.DEVICE.DESKTOP ? adDesktop : adMobile;
  }

  var r1 = getRC(ab) || b1a || cfg;

  if (cfg.waitForScroll) {
    r1.waitForScroll = true;
  }

  if (cfg.waitBeforeInit) {
    r1.waitBeforeInit = cfg.waitBeforeInit;
  }

  if (cfg.setUtm) {
    r1.setUtm = true;
  }

  if (cfg.adConfig && cfg.adConfig.setUtm) {
    r1.adConfig.setUtm = true;
  }

  if (typeof ad !== "undefined" && ad.length > 0) {
    var r2 = getRC(ad);
    merge(r1, r2);
  }

  var defaults = config;
  if (st.op == CONST.DEVICE.MOBILE && b && b[0]) {
    defaults = b[0].a;
  }

  if (isDisplayPlacement(config)) {
    addDefaults(r1, defaults);
  }

  try {
    var urlParams = new URLSearchParams(window.top.location.search);
    var overrideConfig = JSON.parse(decodeURIComponent(urlParams.get("av_config")));

    if (overrideConfig) {
      merge(r1, overrideConfig);
    }
  } catch (err) {}

  return r1;
} catch (e) {}

return cfg;
} catch (reason) {(console.error || console.log)(reason);}
        },
        track: function(e, m) {
            try {
if (!this.trackUrl) {
  var kvStr = "";
  var utmKeys = !adConfig.setUtm ? {} : {
    utm_source: "d86",
    utm_medium: "d87",
    utm_term: "d88",
    utm_content: "d89",
    utm_campaign: "d90",
  };

  for (var i = 1; i <= 20; i++) {
    utmKeys["AV_CDIM" + i] = "cd" + i;
  }

  var searchParams = (location.href.split("?")[1] || "") + "&" + (adConfig.ref1 || "");
  var urlParams = {};
  searchParams = searchParams.split("&");

  searchParams.forEach(function (param) {
    var kv = param.split("=");
    var index = kv[0];
    urlParams[index] = kv[1] || "";
  });

  Object.keys(utmKeys).forEach(function(key) {
    if (urlParams[key]) {
      kvStr += "&" + utmKeys[key] + "=" + urlParams[key];
    }
  });

  this.trackUrl =
    "https://"
    + (a.trackDomain || "track1.aniview.com")
    + "/track?pid="
    + a.publisherId
    + "&cid="
    + a.channelId
    + "&cb="
    + Date.now()
    + "&r="
    + location.host
    + "&stagid="
    + (a.tagId || "")
    + "&stplid="
    + (a.templateId || "")
    + "&d35="
    + (a.sabTest || "")
    + "&d65="
    + (a.nabTest || "")
    + "&d74="
    + (a.sessionID || "")
    + kvStr
    + "&e=";
}

m = m ? m : "";
(new Image()).src = this.trackUrl + e + m;
} catch (reason) {(console.error || console.log)(reason);}
        },
        unique: function() {
            try {
if (!this.win.aniplayerPos) {
  this.win.aniplayerPos = {};
}

this.win.aniplayerPos[a.position] = true;

return true;
} catch (reason) {(console.error || console.log)(reason);}
        },
        findWin: function() {
           try {
try {
  try {
    var hasSelector = a.posSelector || a.posSelectors && a.posSelectors.length > 0;

    if ((!a.posDfp1x1 && !a.posClass && !hasSelector && !a.posId && !a.posTag) || (w === top) || !w.frameElement) {
      this.doc = document;
      this.win = w;
    } else if (a.posDfp1x1 && w.frameElement) {
      this.win = parent;
      this.doc = parent.document;
    } else {
      this.win = top;
      this.doc = top.document;
    }
  } catch (f) {
    this.doc = document;
    this.win = w;
  }
} catch (reason) {
  (console.error || console.log)(reason);
}
} catch (reason) {(console.error || console.log)(reason);}
        },
        postCreate: function(el) {
            
        },
        retry: function() {
           try {
var that = this;
var isFallback = false;

if (this.retryCnt++ > this.timeout) {
  this.track("AV_M3", "&prbdres=nopos&sn=" + encodeURIComponent(location.href).slice(0, 400));

  return;
}

if (this.retryCnt == this.timeout && a.posFallbacks) {
  a.posSelectors = a.posFallbacks;
  isFallback = true;
  this.track("AV_M3", "&prbdres=fallbackpos&sn=" + encodeURIComponent(location.href).slice(0, 400));
}

setTimeout(function() {
  that.prePosition(isFallback);
}, 250);
} catch (reason) {(console.error || console.log)(reason);}
        },
        create: function(p, n) {
            try {
var d1 = document.createElement("div");

if (a.scriptId) {
  d1.className = a.scriptId;
}

d1.style.width = "100%";
d1.style.margin = "0 auto";
d1.style.maxWidth = "" + a.maxWidth + "px";
var d2 = document.createElement("div");
d2.id = "aniBox";
d2.style.width = "100%";
d2.style.height = "1px";
var d3 = document.createElement("div");
d3.id = a.position;
d3.style.width = "100%";

if (p === this.doc || p === this.doc.head) {
  p = this.doc.body;
}

if (n) {
  p.insertBefore(d1, n);
} else {
  if (a.posElementIndexType === 0 && a.posElementCustomIndex <= p.children.length) {
    p.insertBefore(d1, p.children[a.posElementCustomIndex - 1]);
  } else if (a.posElementIndexType === 1) {
    p.insertBefore(d1, p.firstChild);
  } else {
    p.appendChild(d1);
  }
}

a.positionDiv = d3;
a.refDiv = p;
d1.appendChild(d2);
d2.appendChild(d3);

addNodeStateListener(st);

this.postCreate(d1);
} catch (reason) {(console.error || console.log)(reason);}
        },
        prePosition: function(isFallback) {
            try {
this.position(isFallback);
} catch (reason) {(console.error || console.log)(reason);}
        },
        position: function(isFallback) {
            try {
function validateElements(els) {
  var ret = [];

  if (els) {
    els.forEach(function(el) {
      if (el && el.clientWidth > (a.minElWidth || 170)) {
        ret.push(el);
      }
    });
  }

  return ret;
}

function findSelectors(selectors) {
  if (selectors && selectors.length > 0 && selectors.forEach) {
    for (var i = 0; i < selectors.length; i++) {
      var s = selectors[i];

      try {
        var q = st.doc.querySelectorAll(s.selector);

        if (q.length > 0) {
          return {
            q: isFallback ? validateElements(q): q,
            counter: s.counter,
          };
        }
      } catch (ex) {}
    }
  }

  return { q: [] };
}

var p = this.doc;
var isScp = false;
var positionApiKey = "av_positionApi_" + a.scriptId;

try {
  if (
    (!a.positionApi || typeof this.win[a.positionApi] !== "function")
    && typeof top[positionApiKey] === "function"
  ) {
    a.positionApi = positionApiKey;
  }
} catch (ex) {}

if (a.positionApi && typeof this.win[a.positionApi] === "function") {
  try {
    p = this.win[a.positionApi](a, st);
  } catch (ex) {}

  if (!p) {
    this.retry();

    return;
  }
}
try {
  if (a.posSelector && typeof CSS.escape == "function") {
    a.posSelector = a.posSelector.trim();
    if (a.posSelector[0] === "#" && (a.posSelector.indexOf(":") > -1 || a.posSelector.indexOf(" ") > -1 || !isNaN(a.posSelector[1]) ) ) {
      a.posSelectors = a.posSelectors || [];
      a.posSelectors.push({
        count: 0,
        selector: "#" + CSS.escape(a.posSelector.substring(1))
      });
    }
  }
} catch(ex) {}

if (a.posSelector || a.posSelectors) {
  try {
    var sel1 = a.posSelector
      ? [{ selector: a.posSelector, counter: a.posCounter }]
      : [];
    var sel = findSelectors(sel1.concat(a.posSelectors || []));
    var q = sel.q;
    var l = 0;

  if (sel.counter > 0) {
    l = sel.counter - 1;
  }

  p = q[l] || q[q.length - 1];
  } catch (e) {
    this.track("AV_M3", "&prbdres=badpos&sn=" + encodeURIComponent(location.href).slice(0, 400));

    return;
  }

  if (!p) {
    this.retry();

    return;
  }
}

if (a.posId) {
  p = this.doc.getElementById(a.posId);

  if (!p) {
    this.retry();

    return;
  }
}

if (a.posTag) {
  var c = a.posTag.split("#");

  if (c && c.length == 2) {
    var e = p.getElementsByTagName(c[0]);

    if (e.length == 0) {
      this.retry();

      return;
    }

    p = e[Math.min(c[1] - 1, e.length - 1)];
  }
}

if (a.posClass) {
  var c = a.posClass.split("#");
  var e = 1;

  if (c.length == 2) {
    e = c[1];
  }

  var f = p.getElementsByClassName(c[0]);

  if (f.length > 0) {
    p = f[Math.min(e - 1, f.length - 1)];
  }

  if (!p) {
    this.retry();

    return;
  }
}

if (a.posDfp1x1 && a.useRelativePositionForDfp1x1 && window.frameElement) {
  if (typeof a.posDfp1x1ParentLevel === "number" ) {
    p = window.frameElement;

    if (a.posDfp1x1ParentLevel > 0) {
      var i = 0;

      while (i++ < a.posDfp1x1ParentLevel && p.parentNode !== null) {
        p = p.parentNode;
      }
    } else if (a.posType === "in") {
      p = p.parentNode;
    }
  } else {
    p = window.frameElement.parentNode.parentNode;
  }

  if ((frameElement.clientHeight > 5 || document.body.clientHeight > 5) && !a.nohideIframe) {
    frameElement.style.height = "0px";
  }
}

var n;

if (p === this.doc) {
  n = this.findScript();

  if (n) {
    p = n.parentNode;
  }
}

if (p === this.doc.head) {
  n = null;
  p = this.doc;
}

if (a.posType && a.posType !== "in" && !n) {
  if (a.posType === "after" && p.nextElementSibling) {
    n = p.nextElementSibling;
  } else if (a.posType === "before") {
    n = p;
  } else {
    n = null;
  }

  p = p.parentNode;
}

if (p) {
  if (!p.av_setpos) {
    p.av_setpos = {};
  }

  if (!p.av_setpos[a.position]) {
    p.av_setpos[a.position] = true;
    a.position += "-" + Date.now();

    if (this.isDestroyed) {
      if (isVideoInstream(a)) {
        this.track("playerLoaded", this.playerLoadedTrackParams());
      } else {
        this.track("playerLoaded");
      }
    }

    st.isDestroyed = false;
    this.create(p, n);
    this.load(a.playerVersion);
  } else {
    this.track("AV_M3", "&prbdres=duppos&sn=" + encodeURIComponent(location.href).slice(0, 400));
  }
}
} catch (reason) {(console.error || console.log)(reason);}
        },
        targetingFail: function() {
           try {
this.track("AV_M3", "&prbdres=targeting");
} catch (reason) {(console.error || console.log)(reason);}
        },
        checkTargeting: function(callbackSuccess, callbackFail) {
           try {
var that = this;
that.callbackSuccess = callbackSuccess;
that.callbackFail = callbackFail;
var adserverdomain = "tg1.aniview.com";

try {
  adserverdomain = a.adServerDomain ? a.adServerDomain : this.config.adConfig.adServerDomain;
} catch (e) {}

var targetingdomain = a.targetingDomain ? a.targetingDomain : adserverdomain;
var publisherId = a.publisherId ? a.publisherId : this.config.adConfig.publisherId;
var channelId = a.channelId ? a.channelId : this.config.adConfig.channelId;
var targetingEndpoint =
  "https://"
  + targetingdomain
  + "/api/adserver/spt/targeting?AV_TAGID="
  + a.tagId
  + "&AV_PUBLISHERID="
  + publisherId
  + "&AV_CHANNELID="
  + channelId
  + "&AV_URL="
  + window.location.href;
var xhr = new XMLHttpRequest();

xhr.onload = function () {
  try {
    var resp = JSON.parse(xhr.responseText);

    if (typeof resp.result !== "undefined" && resp.result === 0) {
      that.callbackFail();
    } else {
      that.callbackSuccess();
    }
  } catch (e) {
    that.callbackSuccess();
  }
};

xhr.open("GET", targetingEndpoint, true);
xhr.send();
} catch (reason) {(console.error || console.log)(reason);}
        },
        load: function() {
            try {
var that = this;
var apiInfo = getApiInfo("avPlayer", that.win);
var api = apiInfo.api;
var apiWindow = apiInfo.window;
var scheduler = apiWindow.avAdPlayerScheduler || { loading: false, queue: [] };
var abPercentage = typeof a.abtest === "undefined" ? 5 : a.abtest;
var rand = Math.floor(Math.random() * 100) + 1;
var isAbEnabled = scheduler.enableAb != null ? scheduler.enableAb : rand <= abPercentage;
var scriptPath = "/script/6.1/";
var scriptName = "player.js";
var scriptDomain = "player.aniview.com";
var scriptBaseJsUrl = "https://" + scriptDomain + scriptPath;
var scriptVersionPath = isAbEnabled ? "ab5/" : "";
var scriptUrl = scriptBaseJsUrl + scriptVersionPath + scriptName;
var customScriptUrl = (a.baseJsUrl || ("https://" + (a.scriptDomain || scriptDomain) + scriptPath))
    + scriptVersionPath
    + scriptName;
var isDefaultUrl = false;
var retryFetchScriptTimerId;

a.abtest = isAbEnabled ? 5 : 0;
scheduler.enableAb = isAbEnabled;

apiWindow.avAdPlayerScheduler = scheduler;
apiWindow.addEventListener("online", retryFetchScript);

function checkIfLoad() {
  apiWindow.removeEventListener("online", retryFetchScript);

  if (isDefaultUrl) {
    if (a.baseJsUrl) {
      a.baseJsUrl = scriptBaseJsUrl;
    } else if (a.scriptDomain) {
      a.scriptDomain = scriptDomain;
    }
  }

  that.postLoadAsync(function() {
    that.start();
  });
}

function checkIfError() {
  if (++st.scriptErrorCounter < 2) {
    fetchScript(customScriptUrl);
  } else {
    retryFetchScriptTimerId = setTimeout(retryFetchScript, st.fetchScriptDelayMs);
  }
}

function fetchScript(url) {
  if (api) {
    checkIfLoad();

    return;
  }

  if (scheduler.loading) {
    scheduler.queue.push([checkIfLoad, checkIfError]);

    return;
  }

  scheduler.loading = true;
  var scp = that.doc.createElement("script");
  scp.src = url;

  scp.onload = function() {
    scp.onload = null;
    scheduler.loading = false;
    checkIfLoad();
    var queue = scheduler.queue.slice();
    scheduler.queue.length = 0;

    while (callbacks = queue.shift()) {
      callbacks[0]();
    }
  };

  scp.onerror = function() {
    scp.onerror = null;
    that.doc.body.removeChild(scp);
    scheduler.loading = false;
    checkIfError();
    var queue = scheduler.queue.slice();
    scheduler.queue.length = 0;

    while (callbacks = queue.shift()) {
      callbacks[1]();
    }
  };

  scp.async = true;
  that.doc.body.appendChild(scp);
}

function retryFetchScript(event) {
  if (event) {
    clearTimeout(retryFetchScriptTimerId);
    st.fetchScriptDelayMs = 200;
  }

  if (st.scriptErrorCounter % 2 === 0 && customScriptUrl !== scriptUrl) {
    isDefaultUrl = false;
    fetchScript(customScriptUrl);
  } else {
    isDefaultUrl = true;
    fetchScript(scriptUrl);
    st.fetchScriptDelayMs = st.fetchScriptDelayMs * 2;
  }
};

fetchScript(customScriptUrl);
} catch (reason) {(console.error || console.log)(reason);}
        },
        postStart: function(p) {
            try {
		p.on("AdImpression", function (args) {
			window.dsqAniviewAdImpression(args);
		});
		p.on("AdError", function (args) {
			window.dsqAniviewAdError(args);
		});
} catch (reason) {(console.error || console.log)(reason);}
        },
        getAttr: function() {
            try {
if (a.scriptId) {
  var s = this.findScript();

  if (s) {
    for (var i = 0, t = s.attributes; i < s.attributes.length; i++) {
      if (t[i].nodeName && t[i].nodeName.indexOf("data-") == 0) {
        var n = t[i]
          .nodeName
          .replace(/^data-/, "")
          .replace(/[-_]+?(\w)/g, function (_, letter) {
            return letter.toUpperCase();
          })
          .split(".");

        var lastProp = n.pop();

        try {
          var innerConfig = n.reduce(function (obj, prop) {
            if (typeof obj[prop] !== "object") {
              obj[prop] = {};
            }

            return obj[prop];
          }, a);
          innerConfig[lastProp] = safeJsonParse(t[i].nodeValue);
        } catch(e) {}
      }
    }

    if (s.src) {
      var p = s.src.indexOf("?");

      if (p > 10) {
        var r = (s.src.substring(p + 1, s.src.length));
        var existingRef1 = a.ref1 || "";
        if (r && existingRef1.indexOf(r) === -1) {
            a.ref1 = existingRef1 + "&" + r;
        }
      }
    }
  }
}
} catch (reason) {(console.error || console.log)(reason);}
        },
        start: function() {
            try {
var api = getApiInfo("avPlayer", this.win).api;
var b = new api(a);
this.p = b;

if (this.pbjs && this.pbjs.preparePlayer) {
  this.pbjs.preparePlayer(b, st);
}

if (a.playerApi && typeof this.win[a.playerApi] === "function" ) {
  try {
    this.win[a.playerApi](a, b, st);
  } catch(ex) {}
}

if (a.templateType != 0) {
  b.startTemplate(a.positionDiv.parentNode);
}

b.play(a);
this.postStart(b);
} catch (reason) {(console.error || console.log)(reason);}
        },
        preRun: function() {
            
        },
        run: function() {
            try {
this.getAttr();
this.config = a = config = this.getConfig();
this.a = a;
this.adConfig = adConfig = (isVideoInstream(config) ? config.adConfig : config) || {};
this.getAttr();

function generateUuid() {
  return "xxxxxxxxxxxxxxxxxxxxxxxx".replace(/[x]/g, function(c) {
    var r = Math.random() * 16|0;
    var v = c == "x" ? r : (r&0x3|0x8);

    return v.toString(16);
  });
}

if (a.isSessionIdEnabled) {
  a.sessionID = generateUuid();
}

this.a = a;

if (window.av_s2sbid) {
  adConfig.s2sbid = window.av_s2sbid;
  window.av_s2sbid = undefined;
}

this.preRun();
this.findWin();

if (!this.doc.body) {
  this.doc.addEventListener("DOMContentLoaded", function() {
    st.run();
  });

  if (this.bodyRetry > 0) {
    setTimeout(function() {
      st.run();
    }, 250);

    this.domRetry--;
  }

  return;
}

if (a.configApi && typeof this.win[a.configApi] === "function") {
  try {
    this.win[a.configApi](a);
  } catch (ex) {}
}

if (this.unique() && !this.loaded) {
  this.loaded = true;
  if (!this.isDestroyed) {
    this.track("playerLoaded");
  }
  this.retryCnt = 0;
  this.timeout = a.posTimeout || 40;
  this.pbjs = window.aniviewRenderer && window.aniviewRenderer.units && window.aniviewRenderer.units[a.scriptId];

  if (!this.pbjs) {
    this.pbjs = window.aniviewRenderer;
  }

  if (this.pbjs && this.pbjs.prepareConfig) {
    this.pbjs.prepareConfig(a, st);
  }

  if (a.checkTargeting) {
    this.checkTargeting(this.prePosition, this.targetingFail);
  } else {
    this.prePosition();
  }
}
} catch (reason) {(console.error || console.log)(reason);}
        },
        postLoadAsync: function(callback) {
            try {
var hasTopAccess = false;

try {
  if (top.location.href) {
    hasTopAccess = true;
  }
} catch (err) {}

if (!hasTopAccess || !config.waitForScroll && !config.waitBeforeInit) {
  callback();

  return;
}

var delayed;

var cleanup = function() {
  top.removeEventListener("scroll", scrollListener);

  if (delayed) {
    clearTimeout(delayed);
  }
};

var finish = function() {
  cleanup();
  callback();
};

var startTimer = function() {
  if (typeof config.waitBeforeInit === "number" && config.waitBeforeInit > 0) {
    delayed = setTimeout(finish, config.waitBeforeInit);
  }
};

var scrollPixels = typeof config.scrollPixels === "number" ? config.scrollPixels : 5;
var checkPosition = function() {
  return top.scrollY > scrollPixels;
};

var scrollListener = function() {
  if (checkPosition()) {
    finish();
  }
};

if (!config.waitForScroll) {
  startTimer();
} else {
  if (checkPosition()) {
    finish();
  } else {
    top.addEventListener("scroll", scrollListener);

    startTimer();
  }
}
} catch (reason) {(console.error || console.log)(reason);}
        },
        findScript: function() {
            try {
if (!this.scriptEl && a.scriptref) {
    var el = document.querySelector('[data-scriptref="' + a.scriptref + '"]');
    if (el) {
        this.scriptEl = el;
    }
}

if (!this.scriptEl) {
  a.scriptApi = a.scriptApi || window["av_scriptApi_" + a.scriptId];

  if (a.scriptApi && typeof a.scriptApi === "function") {
    var scriptEl = a.scriptApi();

    if (scriptEl != null) {
      this.scriptEl = scriptEl;
    }
  }
}

if (!this.scriptEl) {
  this.scriptEl = document.getElementById(a.scriptId) || document.currentScript;
}

return this.scriptEl;
} catch (reason) {(console.error || console.log)(reason);}
        },
        destroy: function() {
            try {
if (st.isDestroyed) {
  return;
}
st.loaded = false;
st.isDestroyed = true;
this.p.close();
} catch (reason) {(console.error || console.log)(reason);}
        },
        domRetry: 20
    };
    if (a.playerDelay > 0) {
        setTimeout(function() {
            st.run();
        }, a.playerDelay * 1000);
    } else {
       st.run();
    }
})(window);

