{"version":3,"sources":["jsdelivr-header.js","/npm/favicon.js@1.0.0/favicon.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCJC,SAAU,EAAM,GACS,mBAAX,QAAyB,OAAY,IAE5C,OAAO,GAAI,GACc,iBAAX,QAAuB,OAAgB,QAIrD,OAAgB,QAAI,IAGpB,EAAc,QAAI,GAE1B,CAbA,CAakB,oBAAT,KAAuB,KAAO,MAAM,WACzC,IAAI,EAAM,SAGN,EAAO,EAAI,qBAAqB,QAAQ,GACxC,EAAc,KACd,EAAgB,SAAS,GACzB,IAAI,EAAU,EAAI,cAAc,QAChC,EAAQ,KAAO,eACf,EAAQ,IAAM,OACd,EAAQ,KAAO,EACf,IACA,EAAK,YAAY,EACrB,EACI,EAAyB,WAEzB,IADA,IAAI,EAAQ,EAAK,qBAAqB,QAC7B,EAAI,EAAG,EAAI,EAAM,OAAQ,IAC1B,YAAY,KAAK,EAAM,GAAG,aAAa,SACvC,EAAK,YAAY,EAAM,GAGnC,EAmCA,MA/Bc,CACV,aAAgB,IAChB,OAAU,SAAS,EAAS,GACxB,aAAa,GACT,IACA,EAAI,MAAQ,GAEA,KAAZ,GACA,EAAc,EAEtB,EACA,QAAW,SAAS,EAAO,GACvB,aAAa,GAEb,EAAM,SAAQ,SAAS,IACnB,IAAK,OAAS,IAAM,CACxB,IACA,EAAgB,GAAiB,KAAmB,aACpD,IAAI,EAAY,EAChB,EAAc,EAAM,IACpB,EAAc,YAAW,SAAS,IAC9B,GAAa,EAAY,GAAK,EAAM,OACpC,EAAc,EAAM,IACpB,EAAc,WAAW,EAAa,EAC1C,GAAG,EACP,EACA,YAAe,WACX,aAAa,EACjB,EAIR","file":"/npm/favicon.js@1.0.0/favicon.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/favicon.js@1.0.0/favicon.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/* http://mit-license.org/ */\n\n(function (root, factory) {\n    if (typeof define === \"function\" && define[\"amd\"]) {\n        // AMD. Register as an anonymous module.\n        define([], factory);\n    } else if (typeof module === \"object\" && module[\"exports\"]) {\n        // Node. Does not work with strict CommonJS, but\n        // only CommonJS-like environments that support module.exports,\n        // like Node.\n        module[\"exports\"] = factory();\n    } else {\n        // Browser globals (root is window)\n        root[\"favicon\"] = factory();\n  }\n}(typeof self !== \"undefined\" ? self : this, function () {\n    var doc = document;\n    // private\n\n    var head = doc.getElementsByTagName(\"head\")[0];\n    var loopTimeout = null;\n    var changeFavicon = function(iconURL) {\n        var newLink = doc.createElement(\"link\");\n        newLink.type = \"image/x-icon\";\n        newLink.rel = \"icon\";\n        newLink.href = iconURL;\n        removeExistingFavicons();\n        head.appendChild(newLink);\n    };\n    var removeExistingFavicons = function() {\n        var links = head.getElementsByTagName(\"link\");\n        for (var i = 0; i < links.length; i++) {\n            if (/\\bicon\\b/i.test(links[i].getAttribute(\"rel\"))) {\n                head.removeChild(links[i]);\n            }\n        }\n    };\n\n    // public\n\n    var favicon = {\n        \"defaultPause\": 2000,\n        \"change\": function(iconURL, optionalDocTitle) {\n            clearTimeout(loopTimeout);\n            if (optionalDocTitle) {\n                doc.title = optionalDocTitle;\n            }\n            if (iconURL !== \"\") {\n                changeFavicon(iconURL);\n            }\n        },\n        \"animate\": function(icons, optionalDelay) {\n            clearTimeout(loopTimeout);\n            // preload icons\n            icons.forEach(function(icon) {\n                (new Image()).src = icon;\n            });\n            optionalDelay = optionalDelay || this[\"defaultPause\"];\n            var iconIndex = 0;\n            changeFavicon(icons[iconIndex]);\n            loopTimeout = setTimeout(function animateFunc() {\n                iconIndex = (iconIndex + 1) % icons.length;\n                changeFavicon(icons[iconIndex]);\n                loopTimeout = setTimeout(animateFunc, optionalDelay);\n            }, optionalDelay);\n        },\n        \"stopAnimate\": function() {\n            clearTimeout(loopTimeout);\n        }\n    };\n\n    return favicon;\n}));\n"]}