{"version":3,"sources":["jsdelivr-header.js","/npm/cryptopro-browser-plugin@1.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,OAAO,CAAC,UAAW,YAAY,SAAU,EAAS,GAC9C,aACA,OAAO,eAAe,EAAS,aAAc,CAAE,OAAO,IACtD,IAAI,EAAU,EAAQ,eAAe,QACjC,EAAmB,WACnB,SAAS,EAAgB,QACJ,IAAb,IAAuB,EAAW,MACtC,KAAK,SAAW,EAChB,KAAK,cAAgB,qBACrB,KAAK,kBAAoB,sBACzB,KAAK,gBAAkB,iBACvB,KAAK,WAAa,KAAK,kBACvB,IAAI,EAAiB,KAAK,WAAa,KAAK,kBAAoB,KAAK,gBACrE,KAAK,OAAS,KAAK,aAAa,CAC5B,EAAW,IAAM,KAAK,cACtB,EAAW,IAAM,GAEzB,CAyHA,OApHA,EAAgB,UAAU,aAAe,SAAU,GAC/C,GAAI,MAAM,QAAQ,GAAM,CACpB,IAAI,EAAS,KAAM,EAAS,GAI5B,OAHA,EAAI,SAAQ,SAAU,GAClB,EAAO,KAAK,EAAO,aAAa,GACpC,IACO,EAAQ,IAAI,EACvB,CACA,OAAO,IAAI,GAAQ,SAAU,EAAS,GAClC,IAAI,GAAI,EAAO,EAAU,SAAS,qBAAqB,UAAW,EAAI,EAAQ,EAAQ,OAAS,GAAI,EAAI,SAAS,cAAc,UAC9H,EAAE,KAAO,kBACT,EAAE,IAAM,EACR,EAAE,OAAQ,EACV,EAAU,OAAI,EAAsB,mBAAI,WAC/B,GAAO,KAAK,YAAkC,aAApB,KAAK,aAChC,GAAI,EACJ,EAAQ,MAEhB,EACA,EAAE,QAAU,EAAE,QAAU,EACxB,EAAE,WAAW,aAAa,EAAG,EAAE,YACnC,GACJ,EACA,EAAgB,UAAU,gBAAkB,WACxC,IAAI,EAAgB,UAAU,UAAU,MAAM,WAE1C,GADqB,UAAU,UAAU,MAAM,gBACrC,UAAU,UAAU,MAAM,SACtB,UAAU,UAAU,MAAM,cAC5C,OAAqB,MAAjB,IAII,EAAc,OAAS,GAAgB,MAAX,EAKxC,EAMA,EAAgB,UAAU,KAAO,SAAU,EAAS,GAChD,IAAI,EAAQ,KAEZ,KAAK,OAAO,MAAK,WAAc,IAE/B,KAAK,OAAO,MAAK,WACb,IAAI,EAAM,OAAoB,YAC1B,EAAM,WACN,EAAI,MAAK,WAAc,OAAO,EAAQ,EAAM,IAAG,SAAU,GAAS,OAAO,EAAO,EAAQ,KAGxF,OAAO,YAAY,2BAA4B,KAC/C,OAAO,iBAAiB,WAAW,SAAU,GACtB,uBAAf,EAAM,KACN,EAAQ,aAEY,2BAAf,EAAM,MACX,EAAO,0BAEX,EAAQ,YACZ,IAAG,GAEX,GAAG,EACP,EAMA,EAAgB,UAAU,UAAY,SAAU,EAAiB,GAC7D,IAAI,EAAQ,KACZ,MAAO,CACH,KAAM,SAAU,EAAS,GACrB,GAAI,EAAM,WACS,OAAmB,WAAE,EAAiB,GAC5C,MAAK,SAAU,GAAU,OAAO,EAAQ,EAAS,IAAG,SAAU,GAAS,OAAO,EAAO,EAAQ,SAGtG,IACI,IAAI,EAAS,OAAmB,WAAE,EAAiB,GACpC,OAAX,EACA,EAAO,GAEP,EAAQ,EAChB,CACA,MAAO,GACH,EAAO,EACX,CAER,EAER,EAIA,EAAgB,UAAU,YAAc,WACpC,OAAI,KAAK,kBACE,IAAI,GAAQ,SAAU,EAAS,GAClC,OAA2B,qBAAI,MAAK,SAAU,GAAY,OAAO,EAAQ,EAAW,IAAG,SAAU,GAAS,OAAO,EAAO,EAAQ,GACpI,IAGO,IAAI,GAAQ,SAAU,EAAS,GAClC,YAAW,WACP,IAAI,EAAW,OAA2B,qBAClB,iBAAb,EACP,EAAO,GAEP,EAAQ,EAChB,GAAG,IACP,GAER,EACO,CACX,CAvIsB,GAwItB,EAAQ,gBAAkB,CAC9B","file":"/npm/cryptopro-browser-plugin@1.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/cryptopro-browser-plugin@1.0.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","define([\"require\", \"exports\"], function (require, exports) {\n    \"use strict\";\n    Object.defineProperty(exports, \"__esModule\", { value: true });\n    var Promise = require(\"es6-promise\").Promise;\n    var CryptoProPlugin = (function () {\n        function CryptoProPlugin(_require) {\n            if (_require === void 0) { _require = \"js\"; }\n            this._require = _require;\n            this.pathToFileAPI = \"cadesplugin-api.js\";\n            this.pathToChromiumAPI = \"async-crypto.es6.js\";\n            this.pathToFileAPIie = \"sync-crypto.js\";\n            this.isChromium = this.isChromiumBased();\n            var pathToFileLib = (this.isChromium ? this.pathToChromiumAPI : this.pathToFileAPIie);\n            this.cspAPI = this.scriptLoader([\n                _require + \"/\" + this.pathToFileAPI,\n                _require + \"/\" + pathToFileLib\n            ]);\n        }\n        /**\n        * Подгрузка скриптов\n        * @param url\n        */\n        CryptoProPlugin.prototype.scriptLoader = function (url) {\n            if (Array.isArray(url)) {\n                var self_1 = this, prom_1 = [];\n                url.forEach(function (item) {\n                    prom_1.push(self_1.scriptLoader(item));\n                });\n                return Promise.all(prom_1);\n            }\n            return new Promise(function (resolve, reject) {\n                var r = false, scripts = document.getElementsByTagName(\"script\"), t = scripts[scripts.length - 1], s = document.createElement(\"script\");\n                s.type = \"text/javascript\";\n                s.src = url;\n                s.defer = true;\n                s[\"onload\"] = s[\"onreadystatechange\"] = function () {\n                    if (!r && (!this.readyState || this.readyState === \"complete\")) {\n                        r = true;\n                        resolve(this);\n                    }\n                };\n                s.onerror = s.onabort = reject;\n                t.parentNode.insertBefore(s, t.nextSibling);\n            });\n        };\n        CryptoProPlugin.prototype.isChromiumBased = function () {\n            var retVal_chrome = navigator.userAgent.match(/chrome/i);\n            var retVal_chromeframe = navigator.userAgent.match(/chromeframe/i);\n            var isOpera = navigator.userAgent.match(/opr/i);\n            var isYaBrowser = navigator.userAgent.match(/YaBrowser/i);\n            if (retVal_chrome == null)\n                return false;\n            else {\n                // В Chrome и Opera работаем через асинхронную версию\n                if (retVal_chrome.length > 0 || isOpera != null) {\n                    return true;\n                }\n            }\n            return false;\n        };\n        /**\n         * Инициализация КриптоПро\n         * @param resolve\n         * @param reject\n         */\n        CryptoProPlugin.prototype.then = function (resolve, reject) {\n            var _this = this;\n            // cadeplugin_api\n            this.cspAPI.then(function () { });\n            // webkitcrypto || ie\n            this.cspAPI.then(function () {\n                var csp = window[\"cadesplugin\"];\n                if (_this.isChromium) {\n                    csp.then(function () { return resolve(csp); }, function (error) { return reject(error); });\n                }\n                else {\n                    window.postMessage(\"cadesplugin_echo_request\", \"*\");\n                    window.addEventListener(\"message\", function (event) {\n                        if (event.data === \"cadesplugin_loaded\") {\n                            resolve(cadesplugin);\n                        }\n                        else if (event.data === \"cadesplugin_load_error\") {\n                            reject(\"cadesplugin_load_error\");\n                        }\n                        resolve(cadesplugin);\n                    }, false);\n                }\n            }, reject);\n        };\n        /**\n        * Подписание ЭЦП\n         * @param certificateName\n         * @param encodeString\n        */\n        CryptoProPlugin.prototype.signature = function (certificateName, encodeString) {\n            var _this = this;\n            return {\n                then: function (resolve, reject) {\n                    if (_this.isChromium) {\n                        var thenable = window[\"SignCreate\"](certificateName, encodeString);\n                        thenable.then(function (result) { return resolve(result); }, function (error) { return reject(error); });\n                    }\n                    else {\n                        try {\n                            var result = window[\"SignCreate\"](certificateName, encodeString);\n                            if (result === null)\n                                reject(result);\n                            else\n                                resolve(result);\n                        }\n                        catch (error) {\n                            reject(error);\n                        }\n                    }\n                }\n            };\n        };\n        /**\n         * Получение списка сертифкатов\n         */\n        CryptoProPlugin.prototype.getCertList = function () {\n            if (this.isChromiumBased()) {\n                return new Promise(function (resolve, reject) {\n                    window[\"FillCertList_NPAPI\"]().then(function (certList) { return resolve(certList); }, function (error) { return reject(error); });\n                });\n            }\n            else {\n                return new Promise(function (resolve, reject) {\n                    setTimeout(function () {\n                        var certList = window[\"FillCertList_NPAPI\"]();\n                        if (typeof certList === \"string\")\n                            reject(certList);\n                        else\n                            resolve(certList);\n                    }, 1000);\n                });\n            }\n        };\n        return CryptoProPlugin;\n    }());\n    exports.CryptoProPlugin = CryptoProPlugin;\n});\n"]}