overwatch-api-server
Version:
An Unoffical Overwatch HTTP API
8 lines • 87.7 kB
JavaScript
"use strict";function cov_17v8rvbf8z(){var path="C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\profile.js";var hash="b15e3910c5aabe4091e6e0eb4c1f070feb32d9f4";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\profile.js",statementMap:{"0":{start:{line:3,column:0},end:{line:5,column:3}},"1":{start:{line:6,column:0},end:{line:6,column:30}},"2":{start:{line:8,column:12},end:{line:8,column:51}},"3":{start:{line:10,column:13},end:{line:10,column:53}},"4":{start:{line:12,column:15},end:{line:12,column:57}},"5":{start:{line:14,column:13},end:{line:14,column:31}},"6":{start:{line:16,column:11},end:{line:16,column:27}},"7":{start:{line:18,column:39},end:{line:18,column:95}},"8":{start:{line:20,column:18},end:{line:20,column:19}},"9":{start:{line:23,column:12},end:{line:23,column:215}},"10":{start:{line:24,column:16},end:{line:27,column:3}},"11":{start:{line:28,column:2},end:{line:28,column:66}},"12":{start:{line:33,column:10},end:{line:33,column:51}},"13":{start:{line:36,column:16},end:{line:36,column:67}},"14":{start:{line:38,column:2},end:{line:40,column:3}},"15":{start:{line:39,column:4},end:{line:39,column:52}},"16":{start:{line:42,column:15},end:{line:64,column:3}},"17":{start:{line:66,column:2},end:{line:73,column:3}},"18":{start:{line:67,column:4},end:{line:67,column:122}},"19":{start:{line:68,column:4},end:{line:68,column:126}},"20":{start:{line:69,column:4},end:{line:69,column:128}},"21":{start:{line:70,column:4},end:{line:70,column:111}},"22":{start:{line:71,column:4},end:{line:71,column:115}},"23":{start:{line:72,column:4},end:{line:72,column:117}},"24":{start:{line:75,column:2},end:{line:77,column:3}},"25":{start:{line:76,column:4},end:{line:76,column:76}},"26":{start:{line:79,column:2},end:{line:81,column:3}},"27":{start:{line:80,column:4},end:{line:80,column:88}},"28":{start:{line:83,column:2},end:{line:85,column:3}},"29":{start:{line:84,column:4},end:{line:84,column:64}},"30":{start:{line:87,column:2},end:{line:89,column:3}},"31":{start:{line:88,column:4},end:{line:88,column:64}},"32":{start:{line:91,column:2},end:{line:91,column:32}},"33":{start:{line:96,column:15},end:{line:96,column:32}},"34":{start:{line:97,column:20},end:{line:112,column:3}},"35":{start:{line:113,column:2},end:{line:113,column:65}},"36":{start:{line:114,column:12},end:{line:114,column:14}},"37":{start:{line:115,column:13},end:{line:115,column:15}},"38":{start:{line:116,column:13},end:{line:116,column:15}},"39":{start:{line:117,column:15},end:{line:117,column:17}},"40":{start:{line:118,column:13},end:{line:118,column:15}},"41":{start:{line:120,column:2},end:{line:122,column:3}},"42":{start:{line:121,column:4},end:{line:121,column:67}},"43":{start:{line:124,column:2},end:{line:126,column:3}},"44":{start:{line:125,column:4},end:{line:125,column:73}},"45":{start:{line:128,column:2},end:{line:130,column:3}},"46":{start:{line:129,column:4},end:{line:129,column:75}},"47":{start:{line:132,column:2},end:{line:134,column:3}},"48":{start:{line:133,column:4},end:{line:133,column:64}},"49":{start:{line:136,column:2},end:{line:138,column:3}},"50":{start:{line:137,column:4},end:{line:137,column:66}},"51":{start:{line:140,column:2},end:{line:142,column:3}},"52":{start:{line:141,column:4},end:{line:141,column:66}},"53":{start:{line:144,column:2},end:{line:146,column:3}},"54":{start:{line:145,column:4},end:{line:145,column:70}},"55":{start:{line:148,column:2},end:{line:150,column:3}},"56":{start:{line:149,column:4},end:{line:149,column:72}},"57":{start:{line:153,column:14},end:{line:153,column:26}},"58":{start:{line:155,column:2},end:{line:164,column:3}},"59":{start:{line:156,column:21},end:{line:156,column:86}},"60":{start:{line:158,column:20},end:{line:158,column:85}},"61":{start:{line:160,column:16},end:{line:160,column:73}},"62":{start:{line:161,column:15},end:{line:161,column:70}},"63":{start:{line:162,column:19},end:{line:162,column:51}},"64":{start:{line:163,column:4},end:{line:163,column:62}},"65":{start:{line:166,column:13},end:{line:205,column:3}},"66":{start:{line:206,column:2},end:{line:206,column:30}},"67":{start:{line:210,column:2},end:{line:220,column:5}},"68":{start:{line:215,column:4},end:{line:217,column:5}},"69":{start:{line:216,column:6},end:{line:216,column:27}},"70":{start:{line:219,column:4},end:{line:219,column:45}}},fnMap:{"0":{name:"_interopRequireDefault",decl:{start:{line:18,column:9},end:{line:18,column:31}},loc:{start:{line:18,column:37},end:{line:18,column:97}},line:18},"1":{name:"getHTML",decl:{start:{line:22,column:9},end:{line:22,column:16}},loc:{start:{line:22,column:50},end:{line:29,column:1}},line:22},"2":{name:"parseHTML",decl:{start:{line:32,column:9},end:{line:32,column:18}},loc:{start:{line:32,column:38},end:{line:92,column:1}},line:32},"3":{name:"transform",decl:{start:{line:95,column:9},end:{line:95,column:18}},loc:{start:{line:95,column:38},end:{line:207,column:1}},line:95},"4":{name:"_default",decl:{start:{line:209,column:9},end:{line:209,column:17}},loc:{start:{line:209,column:51},end:{line:221,column:1}},line:209},"5":{name:"(anonymous_5)",decl:{start:{line:214,column:5},end:{line:214,column:6}},loc:{start:{line:214,column:29},end:{line:220,column:3}},line:214}},branchMap:{"0":{loc:{start:{line:18,column:46},end:{line:18,column:94}},type:"cond-expr",locations:[{start:{line:18,column:70},end:{line:18,column:73}},{start:{line:18,column:76},end:{line:18,column:94}}],line:18},"1":{loc:{start:{line:18,column:46},end:{line:18,column:67}},type:"binary-expr",locations:[{start:{line:18,column:46},end:{line:18,column:49}},{start:{line:18,column:53},end:{line:18,column:67}}],line:18},"2":{loc:{start:{line:23,column:12},end:{line:23,column:215}},type:"cond-expr",locations:[{start:{line:23,column:32},end:{line:23,column:132}},{start:{line:23,column:135},end:{line:23,column:215}}],line:23},"3":{loc:{start:{line:38,column:2},end:{line:40,column:3}},type:"if",locations:[{start:{line:38,column:2},end:{line:40,column:3}},{start:{line:38,column:2},end:{line:40,column:3}}],line:38},"4":{loc:{start:{line:66,column:2},end:{line:73,column:3}},type:"if",locations:[{start:{line:66,column:2},end:{line:73,column:3}},{start:{line:66,column:2},end:{line:73,column:3}}],line:66},"5":{loc:{start:{line:67,column:29},end:{line:67,column:121}},type:"binary-expr",locations:[{start:{line:67,column:29},end:{line:67,column:113}},{start:{line:67,column:117},end:{line:67,column:121}}],line:67},"6":{loc:{start:{line:68,column:31},end:{line:68,column:125}},type:"binary-expr",locations:[{start:{line:68,column:31},end:{line:68,column:117}},{start:{line:68,column:121},end:{line:68,column:125}}],line:68},"7":{loc:{start:{line:69,column:32},end:{line:69,column:127}},type:"binary-expr",locations:[{start:{line:69,column:32},end:{line:69,column:119}},{start:{line:69,column:123},end:{line:69,column:127}}],line:69},"8":{loc:{start:{line:75,column:2},end:{line:77,column:3}},type:"if",locations:[{start:{line:75,column:2},end:{line:77,column:3}},{start:{line:75,column:2},end:{line:77,column:3}}],line:75},"9":{loc:{start:{line:79,column:2},end:{line:81,column:3}},type:"if",locations:[{start:{line:79,column:2},end:{line:81,column:3}},{start:{line:79,column:2},end:{line:81,column:3}}],line:79},"10":{loc:{start:{line:83,column:2},end:{line:85,column:3}},type:"if",locations:[{start:{line:83,column:2},end:{line:85,column:3}},{start:{line:83,column:2},end:{line:85,column:3}}],line:83},"11":{loc:{start:{line:87,column:2},end:{line:89,column:3}},type:"if",locations:[{start:{line:87,column:2},end:{line:89,column:3}},{start:{line:87,column:2},end:{line:89,column:3}}],line:87},"12":{loc:{start:{line:111,column:11},end:{line:111,column:42}},type:"binary-expr",locations:[{start:{line:111,column:11},end:{line:111,column:34}},{start:{line:111,column:38},end:{line:111,column:42}}],line:111},"13":{loc:{start:{line:120,column:2},end:{line:122,column:3}},type:"if",locations:[{start:{line:120,column:2},end:{line:122,column:3}},{start:{line:120,column:2},end:{line:122,column:3}}],line:120},"14":{loc:{start:{line:124,column:2},end:{line:126,column:3}},type:"if",locations:[{start:{line:124,column:2},end:{line:126,column:3}},{start:{line:124,column:2},end:{line:126,column:3}}],line:124},"15":{loc:{start:{line:128,column:2},end:{line:130,column:3}},type:"if",locations:[{start:{line:128,column:2},end:{line:130,column:3}},{start:{line:128,column:2},end:{line:130,column:3}}],line:128},"16":{loc:{start:{line:132,column:2},end:{line:134,column:3}},type:"if",locations:[{start:{line:132,column:2},end:{line:134,column:3}},{start:{line:132,column:2},end:{line:134,column:3}}],line:132},"17":{loc:{start:{line:136,column:2},end:{line:138,column:3}},type:"if",locations:[{start:{line:136,column:2},end:{line:138,column:3}},{start:{line:136,column:2},end:{line:138,column:3}}],line:136},"18":{loc:{start:{line:140,column:2},end:{line:142,column:3}},type:"if",locations:[{start:{line:140,column:2},end:{line:142,column:3}},{start:{line:140,column:2},end:{line:142,column:3}}],line:140},"19":{loc:{start:{line:144,column:2},end:{line:146,column:3}},type:"if",locations:[{start:{line:144,column:2},end:{line:146,column:3}},{start:{line:144,column:2},end:{line:146,column:3}}],line:144},"20":{loc:{start:{line:148,column:2},end:{line:150,column:3}},type:"if",locations:[{start:{line:148,column:2},end:{line:150,column:3}},{start:{line:148,column:2},end:{line:150,column:3}}],line:148},"21":{loc:{start:{line:155,column:2},end:{line:164,column:3}},type:"if",locations:[{start:{line:155,column:2},end:{line:164,column:3}},{start:{line:155,column:2},end:{line:164,column:3}}],line:155},"22":{loc:{start:{line:155,column:6},end:{line:155,column:32}},type:"binary-expr",locations:[{start:{line:155,column:6},end:{line:155,column:17}},{start:{line:155,column:21},end:{line:155,column:32}}],line:155},"23":{loc:{start:{line:160,column:16},end:{line:160,column:73}},type:"cond-expr",locations:[{start:{line:160,column:29},end:{line:160,column:69}},{start:{line:160,column:72},end:{line:160,column:73}}],line:160},"24":{loc:{start:{line:161,column:15},end:{line:161,column:70}},type:"cond-expr",locations:[{start:{line:161,column:27},end:{line:161,column:66}},{start:{line:161,column:69},end:{line:161,column:70}}],line:161},"25":{loc:{start:{line:175,column:16},end:{line:175,column:55}},type:"binary-expr",locations:[{start:{line:175,column:16},end:{line:175,column:42}},{start:{line:175,column:46},end:{line:175,column:55}}],line:175},"26":{loc:{start:{line:180,column:14},end:{line:180,column:45}},type:"binary-expr",locations:[{start:{line:180,column:14},end:{line:180,column:40}},{start:{line:180,column:44},end:{line:180,column:45}}],line:180},"27":{loc:{start:{line:215,column:4},end:{line:217,column:5}},type:"if",locations:[{start:{line:215,column:4},end:{line:217,column:5}},{start:{line:215,column:4},end:{line:217,column:5}}],line:215}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0]},inputSourceMap:{version:3,sources:["profile.js"],names:["MAX_RETRIES","getHTML","platform","region","tag","callback","url","options","uri","encodeURI","encoding","parseHTML","results","$","cheerio","load","isFound","text","Error","parsed","user","level","first","portrait","attr","permission","endorsementLevel","last","endorsementFrameEl","sportsmanshipValue","data","shotcallerValue","teammateValue","quickplayWonEl","next","html","quickplayPlayedEl","quickplayTimePlayedEl","compWonEl","compPlayedEl","compLostEl","compDrawEl","compTimePlayedEl","compRankEl","levelFrameEl","starEl","rankEl","compRankImgTank","compRankImgDamage","compRankImgSupport","compRankElTank","compRankElDamage","compRankElSupport","levelFrame","slice","replace","endorsementFrame","star","rank","transform","endorsement","sportsmanship","value","rate","parseFloat","toFixed","shotcaller","teammate","parseInt","frame","icon","won","lost","draw","played","time","quickplay","trim","competitive","starsMatch","path","basename","split","rankMatch","stars","prestige","json","username","games","undefined","win_rate","playtime","tank","rank_img","damage","support","async","auto","apply","err"],mappings:"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",sourceRoot:"C:\\Users\\Alf\\Source\\overwatch-api\\api\\src\\parser\\",sourcesContent:["import path from 'path';\nimport async from 'async';\nimport cheerio from 'cheerio';\nimport { getPrestigeLevel, getPrestigeStars, retryRequest } from './utils';\nimport { createEndorsementSVG } from './svg';\n\nconst MAX_RETRIES = 3;\n\n// Get HTML from playoverwatch career page.\nfunction getHTML(platform, region, tag, callback) {\n const url = platform === 'pc'\n ? `https://playoverwatch.com/en-us/career/${platform}/${region}/${tag}/`\n : `https://playoverwatch.com/en-us/career/${platform}/${tag}/`;\n\n const options = {\n uri: encodeURI(url),\n encoding: 'utf8'\n }\n return retryRequest(options, MAX_RETRIES, callback);\n}\n\n// Begin html parsing.\nfunction parseHTML(results, callback) {\n const $ = cheerio.load(results.getHTML);\n\n // Check if profile exists.\n const isFound = $('.content-box h1').text() !== 'Profile Not Found';\n if (!isFound) {\n return callback(new Error('Profile not found'));\n }\n\n const parsed = {\n user: $('.header-masthead').text(),\n level: $('.player-level div').first().text(),\n portrait: $('.player-portrait').attr('src'),\n permission: $('.masthead-permission-level-text').text(),\n endorsementLevel: $('.masthead .EndorsementIcon-tooltip div').last().text(),\n endorsementFrameEl: $('.masthead .EndorsementIcon').attr('style'),\n sportsmanshipValue: $('.masthead .EndorsementIcon-border--sportsmanship').data('value'),\n shotcallerValue: $('.masthead .EndorsementIcon-border--shotcaller').data('value'),\n teammateValue: $('.masthead .EndorsementIcon-border--teammate').data('value'),\n quickplayWonEl: $('#quickplay td:contains(\"Games Won\")').next().html(),\n quickplayPlayedEl: $('#quickplay td:contains(\"Games Played\")').next().html(),\n quickplayTimePlayedEl: $('#quickplay td:contains(\"Time Played\")').next().html(),\n compWonEl: $('#competitive td:contains(\"Games Won\")').next().html(),\n compPlayedEl: $('#competitive td:contains(\"Games Played\")').next().html(),\n compLostEl: $('#competitive td:contains(\"Games Lost\")').next().html(),\n compDrawEl: $('#competitive td:contains(\"Games Tied\")').next().html(),\n compTimePlayedEl: $('#competitive td:contains(\"Time Played\")').next().html(),\n compRankEl: $('.competitive-rank'),\n levelFrameEl: $('.player-level').attr('style'),\n starEl: $('.player-rank').attr('style'),\n rankEl: $('.player-level').attr('style'),\n }\n\n if (parsed.compRankEl !== null) {\n parsed.compRankImgTank = $('.competitive-rank div[data-ow-tooltip-text=\"Tank Skill Rating\"] img').attr('src') || null;\n parsed.compRankImgDamage = $('.competitive-rank div[data-ow-tooltip-text=\"Damage Skill Rating\"] img').attr('src') || null;\n parsed.compRankImgSupport = $('.competitive-rank div[data-ow-tooltip-text=\"Support Skill Rating\"] img').attr('src') || null;\n parsed.compRankElTank = $('.competitive-rank div[data-ow-tooltip-text=\"Tank Skill Rating\"]').next().html();\n parsed.compRankElDamage = $('.competitive-rank div[data-ow-tooltip-text=\"Damage Skill Rating\"]').next().html();\n parsed.compRankElSupport = $('.competitive-rank div[data-ow-tooltip-text=\"Support Skill Rating\"]').next().html();\n }\n\n if (parsed.levelFrameEl) {\n parsed.levelFrame = parsed.levelFrameEl.slice(21, -1).replace(/ /g, '');\n }\n\n if (parsed.endorsementFrameEl) {\n parsed.endorsementFrame = parsed.endorsementFrameEl.slice(21, -1).replace(/ /g, '');\n }\n\n if (parsed.starEl) {\n parsed.star = parsed.starEl.slice(21, -1).replace(/ /g, '');\n }\n\n if (parsed.rankEl) {\n parsed.rank = parsed.rankEl.slice(21, -1).replace(/ /g, '');\n }\n return callback(null, parsed);\n}\n\n// Transform the data into a json object we can serve.\nfunction transform(results, callback) {\n const { parseHTML: parsed } = results;\n\n const endorsement = {\n sportsmanship: { value: parsed.sportsmanshipValue, rate: parseFloat((parsed.sportsmanshipValue * 100).toFixed(2)) },\n shotcaller: { value: parsed.shotcallerValue, rate: parseFloat((parsed.shotcallerValue * 100).toFixed(2)) },\n teammate: { value: parsed.teammateValue, rate: parseFloat((parsed.teammateValue * 100).toFixed(2)) },\n level: parseInt(parsed.endorsementLevel),\n frame: parsed.endorsementFrame || null,\n };\n endorsement.icon = createEndorsementSVG(endorsement);\n\n const won = {};\n const lost = {};\n const draw = {};\n const played = {};\n const time = {};\n\n if (parsed.quickplayWonEl !== null) {\n won.quickplay = parsed.quickplayWonEl.trim().replace(/,/g, '');\n }\n\n if (parsed.quickplayPlayedEl !== null) {\n played.quickplay = parsed.quickplayPlayedEl.trim().replace(/,/g, '');\n }\n\n if (parsed.quickplayTimePlayedEl !== null) {\n time.quickplay = parsed.quickplayTimePlayedEl.trim().replace(/,/g, '');\n }\n\n if (parsed.compWonEl !== null) {\n won.competitive = parsed.compWonEl.trim().replace(/,/g, '');\n }\n\n if (parsed.compLostEl !== null) {\n lost.competitive = parsed.compLostEl.trim().replace(/,/g, '');\n }\n\n if (parsed.compDrawEl !== null) {\n draw.competitive = parsed.compDrawEl.trim().replace(/,/g, '');\n }\n\n if (parsed.compPlayedEl !== null) {\n played.competitive = parsed.compPlayedEl.trim().replace(/,/g, '');\n }\n\n if (parsed.compTimePlayedEl !== null) {\n time.competitive = parsed.compTimePlayedEl.trim().replace(/,/g, '');\n }\n\n // Calculate the prestige level.\n let level = parsed.level;\n if (parsed.star && parsed.rank) {\n const starsMatch = path.basename(parsed.star).split('.').slice(0, -1)[0];\n const rankMatch = path.basename(parsed.rank).split('.').slice(0, -1)[0];\n const stars = starsMatch ? getPrestigeStars(starsMatch) : 0;\n const rank = rankMatch ? getPrestigeLevel(rankMatch) : 0;\n const prestige = parseInt(stars) + parseInt(rank);\n level = parseInt(parsed.level) + (parseInt(prestige) * 100);\n }\n\n const json = {\n username: parsed.user,\n level: parseInt(level),\n portrait: parsed.portrait,\n endorsement: endorsement,\n private: parsed.permission === 'Private Profile',\n games: {\n quickplay: {\n won: parseInt(won.quickplay),\n played: parseInt(played.quickplay) || undefined \n },\n competitive: {\n won: parseInt(won.competitive),\n lost: parseInt(lost.competitive),\n draw: parseInt(draw.competitive) || 0,\n played: parseInt(played.competitive),\n win_rate: parseFloat((parseInt(won.competitive) / (parseInt(played.competitive - parseInt(draw.competitive))) * 100).toFixed(2)),\n },\n },\n playtime: { quickplay: time.quickplay, competitive: time.competitive },\n competitive: { \n tank: {\n rank: parseInt(parsed.compRankElTank), \n rank_img: parsed.compRankImgTank \n },\n damage: {\n rank: parseInt(parsed.compRankElDamage), \n rank_img: parsed.compRankImgDamage\n },\n support: {\n rank: parseInt(parsed.compRankElSupport), \n rank_img: parsed.compRankImgSupport\n }\n },\n levelFrame: parsed.levelFrame,\n star: parsed.star\n }\n\n return callback(null, json);\n}\n\nexport default function(platform, region, tag, callback) {\n async.auto({\n getHTML: async.apply(getHTML, platform, region, tag),\n parseHTML: ['getHTML', async.apply(parseHTML)],\n transform: ['getHTML', 'parseHTML', async.apply(transform)],\n }, function(err, results) {\n if (err) {\n return callback(err);\n }\n return callback(null, results.transform);\n });\n}"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"b15e3910c5aabe4091e6e0eb4c1f070feb32d9f4"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
cov_17v8rvbf8z=function(){return actualCoverage;};}return actualCoverage;}cov_17v8rvbf8z();cov_17v8rvbf8z().s[0]++;Object.defineProperty(exports,"__esModule",{value:true});cov_17v8rvbf8z().s[1]++;exports["default"]=_default;var _path=(cov_17v8rvbf8z().s[2]++,_interopRequireDefault(require("path")));var _async=(cov_17v8rvbf8z().s[3]++,_interopRequireDefault(require("async")));var _cheerio=(cov_17v8rvbf8z().s[4]++,_interopRequireDefault(require("cheerio")));var _utils=(cov_17v8rvbf8z().s[5]++,require("./utils"));var _svg=(cov_17v8rvbf8z().s[6]++,require("./svg"));function _interopRequireDefault(obj){cov_17v8rvbf8z().f[0]++;cov_17v8rvbf8z().s[7]++;return(cov_17v8rvbf8z().b[1][0]++,obj)&&(cov_17v8rvbf8z().b[1][1]++,obj.__esModule)?(cov_17v8rvbf8z().b[0][0]++,obj):(cov_17v8rvbf8z().b[0][1]++,{"default":obj});}var MAX_RETRIES=(cov_17v8rvbf8z().s[8]++,3);// Get HTML from playoverwatch career page.
function getHTML(platform,region,tag,callback){cov_17v8rvbf8z().f[1]++;var url=(cov_17v8rvbf8z().s[9]++,platform==='pc'?(cov_17v8rvbf8z().b[2][0]++,"https://playoverwatch.com/en-us/career/".concat(platform,"/").concat(region,"/").concat(tag,"/")):(cov_17v8rvbf8z().b[2][1]++,"https://playoverwatch.com/en-us/career/".concat(platform,"/").concat(tag,"/")));var options=(cov_17v8rvbf8z().s[10]++,{uri:encodeURI(url),encoding:'utf8'});cov_17v8rvbf8z().s[11]++;return(0,_utils.retryRequest)(options,MAX_RETRIES,callback);}// Begin html parsing.
function parseHTML(results,callback){cov_17v8rvbf8z().f[2]++;var $=(cov_17v8rvbf8z().s[12]++,_cheerio["default"].load(results.getHTML));// Check if profile exists.
var isFound=(cov_17v8rvbf8z().s[13]++,$('.content-box h1').text()!=='Profile Not Found');cov_17v8rvbf8z().s[14]++;if(!isFound){cov_17v8rvbf8z().b[3][0]++;cov_17v8rvbf8z().s[15]++;return callback(new Error('Profile not found'));}else{cov_17v8rvbf8z().b[3][1]++;}var parsed=(cov_17v8rvbf8z().s[16]++,{user:$('.header-masthead').text(),level:$('.player-level div').first().text(),portrait:$('.player-portrait').attr('src'),permission:$('.masthead-permission-level-text').text(),endorsementLevel:$('.masthead .EndorsementIcon-tooltip div').last().text(),endorsementFrameEl:$('.masthead .EndorsementIcon').attr('style'),sportsmanshipValue:$('.masthead .EndorsementIcon-border--sportsmanship').data('value'),shotcallerValue:$('.masthead .EndorsementIcon-border--shotcaller').data('value'),teammateValue:$('.masthead .EndorsementIcon-border--teammate').data('value'),quickplayWonEl:$('#quickplay td:contains("Games Won")').next().html(),quickplayPlayedEl:$('#quickplay td:contains("Games Played")').next().html(),quickplayTimePlayedEl:$('#quickplay td:contains("Time Played")').next().html(),compWonEl:$('#competitive td:contains("Games Won")').next().html(),compPlayedEl:$('#competitive td:contains("Games Played")').next().html(),compLostEl:$('#competitive td:contains("Games Lost")').next().html(),compDrawEl:$('#competitive td:contains("Games Tied")').next().html(),compTimePlayedEl:$('#competitive td:contains("Time Played")').next().html(),compRankEl:$('.competitive-rank'),levelFrameEl:$('.player-level').attr('style'),starEl:$('.player-rank').attr('style'),rankEl:$('.player-level').attr('style')});cov_17v8rvbf8z().s[17]++;if(parsed.compRankEl!==null){cov_17v8rvbf8z().b[4][0]++;cov_17v8rvbf8z().s[18]++;parsed.compRankImgTank=(cov_17v8rvbf8z().b[5][0]++,$('.competitive-rank div[data-ow-tooltip-text="Tank Skill Rating"] img').attr('src'))||(cov_17v8rvbf8z().b[5][1]++,null);cov_17v8rvbf8z().s[19]++;parsed.compRankImgDamage=(cov_17v8rvbf8z().b[6][0]++,$('.competitive-rank div[data-ow-tooltip-text="Damage Skill Rating"] img').attr('src'))||(cov_17v8rvbf8z().b[6][1]++,null);cov_17v8rvbf8z().s[20]++;parsed.compRankImgSupport=(cov_17v8rvbf8z().b[7][0]++,$('.competitive-rank div[data-ow-tooltip-text="Support Skill Rating"] img').attr('src'))||(cov_17v8rvbf8z().b[7][1]++,null);cov_17v8rvbf8z().s[21]++;parsed.compRankElTank=$('.competitive-rank div[data-ow-tooltip-text="Tank Skill Rating"]').next().html();cov_17v8rvbf8z().s[22]++;parsed.compRankElDamage=$('.competitive-rank div[data-ow-tooltip-text="Damage Skill Rating"]').next().html();cov_17v8rvbf8z().s[23]++;parsed.compRankElSupport=$('.competitive-rank div[data-ow-tooltip-text="Support Skill Rating"]').next().html();}else{cov_17v8rvbf8z().b[4][1]++;}cov_17v8rvbf8z().s[24]++;if(parsed.levelFrameEl){cov_17v8rvbf8z().b[8][0]++;cov_17v8rvbf8z().s[25]++;parsed.levelFrame=parsed.levelFrameEl.slice(21,-1).replace(/ /g,'');}else{cov_17v8rvbf8z().b[8][1]++;}cov_17v8rvbf8z().s[26]++;if(parsed.endorsementFrameEl){cov_17v8rvbf8z().b[9][0]++;cov_17v8rvbf8z().s[27]++;parsed.endorsementFrame=parsed.endorsementFrameEl.slice(21,-1).replace(/ /g,'');}else{cov_17v8rvbf8z().b[9][1]++;}cov_17v8rvbf8z().s[28]++;if(parsed.starEl){cov_17v8rvbf8z().b[10][0]++;cov_17v8rvbf8z().s[29]++;parsed.star=parsed.starEl.slice(21,-1).replace(/ /g,'');}else{cov_17v8rvbf8z().b[10][1]++;}cov_17v8rvbf8z().s[30]++;if(parsed.rankEl){cov_17v8rvbf8z().b[11][0]++;cov_17v8rvbf8z().s[31]++;parsed.rank=parsed.rankEl.slice(21,-1).replace(/ /g,'');}else{cov_17v8rvbf8z().b[11][1]++;}cov_17v8rvbf8z().s[32]++;return callback(null,parsed);}// Transform the data into a json object we can serve.
function transform(results,callback){cov_17v8rvbf8z().f[3]++;var parsed=(cov_17v8rvbf8z().s[33]++,results.parseHTML);var endorsement=(cov_17v8rvbf8z().s[34]++,{sportsmanship:{value:parsed.sportsmanshipValue,rate:parseFloat((parsed.sportsmanshipValue*100).toFixed(2))},shotcaller:{value:parsed.shotcallerValue,rate:parseFloat((parsed.shotcallerValue*100).toFixed(2))},teammate:{value:parsed.teammateValue,rate:parseFloat((parsed.teammateValue*100).toFixed(2))},level:parseInt(parsed.endorsementLevel),frame:(cov_17v8rvbf8z().b[12][0]++,parsed.endorsementFrame)||(cov_17v8rvbf8z().b[12][1]++,null)});cov_17v8rvbf8z().s[35]++;endorsement.icon=(0,_svg.createEndorsementSVG)(endorsement);var won=(cov_17v8rvbf8z().s[36]++,{});var lost=(cov_17v8rvbf8z().s[37]++,{});var draw=(cov_17v8rvbf8z().s[38]++,{});var played=(cov_17v8rvbf8z().s[39]++,{});var time=(cov_17v8rvbf8z().s[40]++,{});cov_17v8rvbf8z().s[41]++;if(parsed.quickplayWonEl!==null){cov_17v8rvbf8z().b[13][0]++;cov_17v8rvbf8z().s[42]++;won.quickplay=parsed.quickplayWonEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[13][1]++;}cov_17v8rvbf8z().s[43]++;if(parsed.quickplayPlayedEl!==null){cov_17v8rvbf8z().b[14][0]++;cov_17v8rvbf8z().s[44]++;played.quickplay=parsed.quickplayPlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[14][1]++;}cov_17v8rvbf8z().s[45]++;if(parsed.quickplayTimePlayedEl!==null){cov_17v8rvbf8z().b[15][0]++;cov_17v8rvbf8z().s[46]++;time.quickplay=parsed.quickplayTimePlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[15][1]++;}cov_17v8rvbf8z().s[47]++;if(parsed.compWonEl!==null){cov_17v8rvbf8z().b[16][0]++;cov_17v8rvbf8z().s[48]++;won.competitive=parsed.compWonEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[16][1]++;}cov_17v8rvbf8z().s[49]++;if(parsed.compLostEl!==null){cov_17v8rvbf8z().b[17][0]++;cov_17v8rvbf8z().s[50]++;lost.competitive=parsed.compLostEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[17][1]++;}cov_17v8rvbf8z().s[51]++;if(parsed.compDrawEl!==null){cov_17v8rvbf8z().b[18][0]++;cov_17v8rvbf8z().s[52]++;draw.competitive=parsed.compDrawEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[18][1]++;}cov_17v8rvbf8z().s[53]++;if(parsed.compPlayedEl!==null){cov_17v8rvbf8z().b[19][0]++;cov_17v8rvbf8z().s[54]++;played.competitive=parsed.compPlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[19][1]++;}cov_17v8rvbf8z().s[55]++;if(parsed.compTimePlayedEl!==null){cov_17v8rvbf8z().b[20][0]++;cov_17v8rvbf8z().s[56]++;time.competitive=parsed.compTimePlayedEl.trim().replace(/,/g,'');}else{cov_17v8rvbf8z().b[20][1]++;}// Calculate the prestige level.
var level=(cov_17v8rvbf8z().s[57]++,parsed.level);cov_17v8rvbf8z().s[58]++;if((cov_17v8rvbf8z().b[22][0]++,parsed.star)&&(cov_17v8rvbf8z().b[22][1]++,parsed.rank)){cov_17v8rvbf8z().b[21][0]++;var starsMatch=(cov_17v8rvbf8z().s[59]++,_path["default"].basename(parsed.star).split('.').slice(0,-1)[0]);var rankMatch=(cov_17v8rvbf8z().s[60]++,_path["default"].basename(parsed.rank).split('.').slice(0,-1)[0]);var stars=(cov_17v8rvbf8z().s[61]++,starsMatch?(cov_17v8rvbf8z().b[23][0]++,(0,_utils.getPrestigeStars)(starsMatch)):(cov_17v8rvbf8z().b[23][1]++,0));var rank=(cov_17v8rvbf8z().s[62]++,rankMatch?(cov_17v8rvbf8z().b[24][0]++,(0,_utils.getPrestigeLevel)(rankMatch)):(cov_17v8rvbf8z().b[24][1]++,0));var prestige=(cov_17v8rvbf8z().s[63]++,parseInt(stars)+parseInt(rank));cov_17v8rvbf8z().s[64]++;level=parseInt(parsed.level)+parseInt(prestige)*100;}else{cov_17v8rvbf8z().b[21][1]++;}var json=(cov_17v8rvbf8z().s[65]++,{username:parsed.user,level:parseInt(level),portrait:parsed.portrait,endorsement:endorsement,"private":parsed.permission==='Private Profile',games:{quickplay:{won:parseInt(won.quickplay),played:(cov_17v8rvbf8z().b[25][0]++,parseInt(played.quickplay))||(cov_17v8rvbf8z().b[25][1]++,undefined)},competitive:{won:parseInt(won.competitive),lost:parseInt(lost.competitive),draw:(cov_17v8rvbf8z().b[26][0]++,parseInt(draw.competitive))||(cov_17v8rvbf8z().b[26][1]++,0),played:parseInt(played.competitive),win_rate:parseFloat((parseInt(won.competitive)/parseInt(played.competitive-parseInt(draw.competitive))*100).toFixed(2))}},playtime:{quickplay:time.quickplay,competitive:time.competitive},competitive:{tank:{rank:parseInt(parsed.compRankElTank),rank_img:parsed.compRankImgTank},damage:{rank:parseInt(parsed.compRankElDamage),rank_img:parsed.compRankImgDamage},support:{rank:parseInt(parsed.compRankElSupport),rank_img:parsed.compRankImgSupport}},levelFrame:parsed.levelFrame,star:parsed.star});cov_17v8rvbf8z().s[66]++;return callback(null,json);}function _default(platform,region,tag,callback){cov_17v8rvbf8z().f[4]++;cov_17v8rvbf8z().s[67]++;_async["default"].auto({getHTML:_async["default"].apply(getHTML,platform,region,tag),parseHTML:['getHTML',_async["default"].apply(parseHTML)],transform:['getHTML','parseHTML',_async["default"].apply(transform)]},function(err,results){cov_17v8rvbf8z().f[5]++;cov_17v8rvbf8z().s[68]++;if(err){cov_17v8rvbf8z().b[27][0]++;cov_17v8rvbf8z().s[69]++;return callback(err);}else{cov_17v8rvbf8z().b[27][1]++;}cov_17v8rvbf8z().s[70]++;return callback(null,results.transform);});}//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2ZpbGUuanMiXSwibmFtZXMiOlsiTUFYX1JFVFJJRVMiLCJnZXRIVE1MIiwicGxhdGZvcm0iLCJyZWdpb24iLCJ0YWciLCJjYWxsYmFjayIsInVybCIsIm9wdGlvbnMiLCJ1cmkiLCJlbmNvZGVVUkkiLCJlbmNvZGluZyIsInBhcnNlSFRNTCIsInJlc3VsdHMiLCIkIiwiY2hlZXJpbyIsImxvYWQiLCJpc0ZvdW5kIiwidGV4dCIsIkVycm9yIiwicGFyc2VkIiwidXNlciIsImxldmVsIiwiZmlyc3QiLCJwb3J0cmFpdCIsImF0dHIiLCJwZXJtaXNzaW9uIiwiZW5kb3JzZW1lbnRMZXZlbCIsImxhc3QiLCJlbmRvcnNlbWVudEZyYW1lRWwiLCJzcG9ydHNtYW5zaGlwVmFsdWUiLCJkYXRhIiwic2hvdGNhbGxlclZhbHVlIiwidGVhbW1hdGVWYWx1ZSIsInF1aWNrcGxheVdvbkVsIiwibmV4dCIsImh0bWwiLCJxdWlja3BsYXlQbGF5ZWRFbCIsInF1aWNrcGxheVRpbWVQbGF5ZWRFbCIsImNvbXBXb25FbCIsImNvbXBQbGF5ZWRFbCIsImNvbXBMb3N0RWwiLCJjb21wRHJhd0VsIiwiY29tcFRpbWVQbGF5ZWRFbCIsImNvbXBSYW5rRWwiLCJsZXZlbEZyYW1lRWwiLCJzdGFyRWwiLCJyYW5rRWwiLCJjb21wUmFua0ltZ1RhbmsiLCJjb21wUmFua0ltZ0RhbWFnZSIsImNvbXBSYW5rSW1nU3VwcG9ydCIsImNvbXBSYW5rRWxUYW5rIiwiY29tcFJhbmtFbERhbWFnZSIsImNvbXBSYW5rRWxTdXBwb3J0IiwibGV2ZWxGcmFtZSIsInNsaWNlIiwicmVwbGFjZSIsImVuZG9yc2VtZW50RnJhbWUiLCJzdGFyIiwicmFuayIsInRyYW5zZm9ybSIsImVuZG9yc2VtZW50Iiwic3BvcnRzbWFuc2hpcCIsInZhbHVlIiwicmF0ZSIsInBhcnNlRmxvYXQiLCJ0b0ZpeGVkIiwic2hvdGNhbGxlciIsInRlYW1tYXRlIiwicGFyc2VJbnQiLCJmcmFtZSIsImljb24iLCJ3b24iLCJsb3N0IiwiZHJhdyIsInBsYXllZCIsInRpbWUiLCJxdWlja3BsYXkiLCJ0cmltIiwiY29tcGV0aXRpdmUiLCJzdGFyc01hdGNoIiwicGF0aCIsImJhc2VuYW1lIiwic3BsaXQiLCJyYW5rTWF0Y2giLCJzdGFycyIsInByZXN0aWdlIiwianNvbiIsInVzZXJuYW1lIiwiZ2FtZXMiLCJ1bmRlZmluZWQiLCJ3aW5fcmF0ZSIsInBsYXl0aW1lIiwidGFuayIsInJhbmtfaW1nIiwiZGFtYWdlIiwic3VwcG9ydCIsImFzeW5jIiwiYXV0byIsImFwcGx5IiwiZXJyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxXQUFXLEdBQUcsQ0FBcEIsQyxDQUVBOztBQUNBLFNBQVNDLE9BQVQsQ0FBaUJDLFFBQWpCLEVBQTJCQyxNQUEzQixFQUFtQ0MsR0FBbkMsRUFBd0NDLFFBQXhDLEVBQWtEO0FBQ2hELE1BQU1DLEdBQUcsR0FBR0osUUFBUSxLQUFLLElBQWIsb0RBQ2tDQSxRQURsQyxjQUM4Q0MsTUFEOUMsY0FDd0RDLEdBRHhELDBEQUVrQ0YsUUFGbEMsY0FFOENFLEdBRjlDLE1BQVo7QUFJQSxNQUFNRyxPQUFPLEdBQUc7QUFDZEMsSUFBQUEsR0FBRyxFQUFFQyxTQUFTLENBQUNILEdBQUQsQ0FEQTtBQUVkSSxJQUFBQSxRQUFRLEVBQUU7QUFGSSxHQUFoQjtBQUlBLFNBQU8seUJBQWFILE9BQWIsRUFBc0JQLFdBQXRCLEVBQW1DSyxRQUFuQyxDQUFQO0FBQ0QsQyxDQUVEOzs7QUFDQSxTQUFTTSxTQUFULENBQW1CQyxPQUFuQixFQUE0QlAsUUFBNUIsRUFBc0M7QUFDcEMsTUFBTVEsQ0FBQyxHQUFHQyxvQkFBUUMsSUFBUixDQUFhSCxPQUFPLENBQUNYLE9BQXJCLENBQVYsQ0FEb0MsQ0FHcEM7OztBQUNBLE1BQU1lLE9BQU8sR0FBR0gsQ0FBQyxDQUFDLGlCQUFELENBQUQsQ0FBcUJJLElBQXJCLE9BQWdDLG1CQUFoRDs7QUFDQSxNQUFJ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c291cmNlUm9vdCI6IkM6XFxVc2Vyc1xcQWxmXFxTb3VyY2VcXG92ZXJ3YXRjaC1hcGlcXGFwaVxcc3JjXFxwYXJzZXJcXCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGFzeW5jIGZyb20gJ2FzeW5jJztcbmltcG9ydCBjaGVlcmlvIGZyb20gJ2NoZWVyaW8nO1xuaW1wb3J0IHsgZ2V0UHJlc3RpZ2VMZXZlbCwgZ2V0UHJlc3RpZ2VTdGFycywgcmV0cnlSZXF1ZXN0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBjcmVhdGVFbmRvcnNlbWVudFNWRyB9IGZyb20gJy4vc3ZnJztcblxuY29uc3QgTUFYX1JFVFJJRVMgPSAzO1xuXG4vLyBHZXQgSFRNTCBmcm9tIHBsYXlvdmVyd2F0Y2ggY2FyZWVyIHBhZ2UuXG5mdW5jdGlvbiBnZXRIVE1MKHBsYXRmb3JtLCByZWdpb24sIHRhZywgY2FsbGJhY2spIHtcbiAgY29uc3QgdXJsID0gcGxhdGZvcm0gPT09ICdwYydcbiAgICA/IGBodHRwczovL3BsYXlvdmVyd2F0Y2guY29tL2VuLXVzL2NhcmVlci8ke3BsYXRmb3JtfS8ke3JlZ2lvbn0vJHt0YWd9L2BcbiAgICA6IGBodHRwczovL3BsYXlvdmVyd2F0Y2guY29tL2VuLXVzL2NhcmVlci8ke3BsYXRmb3JtfS8ke3RhZ30vYDtcblxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHVyaTogZW5jb2RlVVJJKHVybCksXG4gICAgZW5jb2Rpbmc6ICd1dGY4J1xuICB9XG4gIHJldHVybiByZXRyeVJlcXVlc3Qob3B0aW9ucywgTUFYX1JFVFJJRVMsIGNhbGxiYWNrKTtcbn1cblxuLy8gQmVnaW4gaHRtbCBwYXJzaW5nLlxuZnVuY3Rpb24gcGFyc2VIVE1MKHJlc3VsdHMsIGNhbGxiYWNrKSB7XG4gIGNvbnN0ICQgPSBjaGVlcmlvLmxvYWQocmVzdWx0cy5nZXRIVE1MKTtcblxuICAvLyBDaGVjayBpZiBwcm9maWxlIGV4aXN0cy5cbiAgY29uc3QgaXNGb3VuZCA9ICQoJy5jb250ZW50LWJveCBoMScpLnRleHQoKSAhPT0gJ1Byb2ZpbGUgTm90IEZvdW5kJztcbiAgaWYgKCFpc0ZvdW5kKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJvcignUHJvZmlsZSBub3QgZm91bmQnKSk7XG4gIH1cblxuICBjb25zdCBwYXJzZWQgPSB7XG4gICAgdXNlcjogJCgnLmhlYWRlci1tYXN0aGVhZCcpLnRleHQoKSxcbiAgICBsZXZlbDogJCgnLnBsYXllci1sZXZlbCBkaXYnKS5maXJzdCgpLnRleHQoKSxcbiAgICBwb3J0cmFpdDogJCgnLnBsYXllci1wb3J0cmFpdCcpLmF0dHIoJ3NyYycpLFxuICAgIHBlcm1pc3Npb246ICQoJy5tYXN0aGVhZC1wZXJtaXNzaW9uLWxldmVsLXRleHQnKS50ZXh0KCksXG4gICAgZW5kb3JzZW1lbnRMZXZlbDogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tdG9vbHRpcCBkaXYnKS5sYXN0KCkudGV4dCgpLFxuICAgIGVuZG9yc2VtZW50RnJhbWVFbDogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24nKS5hdHRyKCdzdHlsZScpLFxuICAgIHNwb3J0c21hbnNoaXBWYWx1ZTogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tYm9yZGVyLS1zcG9ydHNtYW5zaGlwJykuZGF0YSgndmFsdWUnKSxcbiAgICBzaG90Y2FsbGVyVmFsdWU6ICQoJy5tYXN0aGVhZCAuRW5kb3JzZW1lbnRJY29uLWJvcmRlci0tc2hvdGNhbGxlcicpLmRhdGEoJ3ZhbHVlJyksXG4gICAgdGVhbW1hdGVWYWx1ZTogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tYm9yZGVyLS10ZWFtbWF0ZScpLmRhdGEoJ3ZhbHVlJyksXG4gICAgcXVpY2twbGF5V29uRWw6ICQoJyNxdWlja3BsYXkgdGQ6Y29udGFpbnMoXCJHYW1lcyBXb25cIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIHF1aWNrcGxheVBsYXllZEVsOiAkKCcjcXVpY2twbGF5IHRkOmNvbnRhaW5zKFwiR2FtZXMgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBxdWlja3BsYXlUaW1lUGxheWVkRWw6ICQoJyNxdWlja3BsYXkgdGQ6Y29udGFpbnMoXCJUaW1lIFBsYXllZFwiKScpLm5leHQoKS5odG1sKCksXG4gICAgY29tcFdvbkVsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJHYW1lcyBXb25cIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIGNvbXBQbGF5ZWRFbDogJCgnI2NvbXBldGl0aXZlIHRkOmNvbnRhaW5zKFwiR2FtZXMgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wTG9zdEVsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJHYW1lcyBMb3N0XCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wRHJhd0VsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJHYW1lcyBUaWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wVGltZVBsYXllZEVsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJUaW1lIFBsYXllZFwiKScpLm5leHQoKS5odG1sKCksXG4gICAgY29tcFJhbmtFbDogJCgnLmNvbXBldGl0aXZlLXJhbmsnKSxcbiAgICBsZXZlbEZyYW1lRWw6ICQoJy5wbGF5ZXItbGV2ZWwnKS5hdHRyKCdzdHlsZScpLFxuICAgIHN0YXJFbDogJCgnLnBsYXllci1yYW5rJykuYXR0cignc3R5bGUnKSxcbiAgICByYW5rRWw6ICQoJy5wbGF5ZXItbGV2ZWwnKS5hdHRyKCdzdHlsZScpLFxuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wUmFua0VsICE9PSBudWxsKSB7XG4gICAgcGFyc2VkLmNvbXBSYW5rSW1nVGFuayA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIlRhbmsgU2tpbGwgUmF0aW5nXCJdIGltZycpLmF0dHIoJ3NyYycpIHx8IG51bGw7XG4gICAgcGFyc2VkLmNvbXBSYW5rSW1nRGFtYWdlID0gJCgnLmNvbXBldGl0aXZlLXJhbmsgZGl2W2RhdGEtb3ctdG9vbHRpcC10ZXh0PVwiRGFtYWdlIFNraWxsIFJhdGluZ1wiXSBpbWcnKS5hdHRyKCdzcmMnKSB8fCBudWxsO1xuICAgIHBhcnNlZC5jb21wUmFua0ltZ1N1cHBvcnQgPSAkKCcuY29tcGV0aXRpdmUtcmFuayBkaXZbZGF0YS1vdy10b29sdGlwLXRleHQ9XCJTdXBwb3J0IFNraWxsIFJhdGluZ1wiXSBpbWcnKS5hdHRyKCdzcmMnKSB8fCBudWxsO1xuICAgIHBhcnNlZC5jb21wUmFua0VsVGFuayA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIlRhbmsgU2tpbGwgUmF0aW5nXCJdJykubmV4dCgpLmh0bWwoKTtcbiAgICBwYXJzZWQuY29tcFJhbmtFbERhbWFnZSA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIkRhbWFnZSBTa2lsbCBSYXRpbmdcIl0nKS5uZXh0KCkuaHRtbCgpO1xuICAgIHBhcnNlZC5jb21wUmFua0VsU3VwcG9ydCA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIlN1cHBvcnQgU2tpbGwgUmF0aW5nXCJdJykubmV4dCgpLmh0bWwoKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQubGV2ZWxGcmFtZUVsKSB7XG4gICAgcGFyc2VkLmxldmVsRnJhbWUgPSBwYXJzZWQubGV2ZWxGcmFtZUVsLnNsaWNlKDIxLCAtMSkucmVwbGFjZSgvIC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmVuZG9yc2VtZW50RnJhbWVFbCkge1xuICAgIHBhcnNlZC5lbmRvcnNlbWVudEZyYW1lID0gcGFyc2VkLmVuZG9yc2VtZW50RnJhbWVFbC5zbGljZSgyMSwgLTEpLnJlcGxhY2UoLyAvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5zdGFyRWwpIHtcbiAgICBwYXJzZWQuc3RhciA9IHBhcnNlZC5zdGFyRWwuc2xpY2UoMjEsIC0xKS5yZXBsYWNlKC8gL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQucmFua0VsKSB7XG4gICAgcGFyc2VkLnJhbmsgPSBwYXJzZWQucmFua0VsLnNsaWNlKDIxLCAtMSkucmVwbGFjZSgvIC9nLCAnJyk7XG4gIH1cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHBhcnNlZCk7XG59XG5cbi8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIGEganNvbiBvYmplY3Qgd2UgY2FuIHNlcnZlLlxuZnVuY3Rpb24gdHJhbnNmb3JtKHJlc3VsdHMsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGFyc2VIVE1MOiBwYXJzZWQgfSA9IHJlc3VsdHM7XG5cbiAgY29uc3QgZW5kb3JzZW1lbnQgPSB7XG4gICAgc3BvcnRzbWFuc2hpcDogeyB2YWx1ZTogcGFyc2VkLnNwb3J0c21hbnNoaXBWYWx1ZSwgcmF0ZTogcGFyc2VGbG9hdCgocGFyc2VkLnNwb3J0c21hbnNoaXBWYWx1ZSAqIDEwMCkudG9GaXhlZCgyKSkgfSxcbiAgICBzaG90Y2FsbGVyOiB7IHZhbHVlOiBwYXJzZWQuc2hvdGNhbGxlclZhbHVlLCByYXRlOiBwYXJzZUZsb2F0KChwYXJzZWQuc2hvdGNhbGxlclZhbHVlICogMTAwKS50b0ZpeGVkKDIpKSB9LFxuICAgIHRlYW1tYXRlOiB7IHZhbHVlOiBwYXJzZWQudGVhbW1hdGVWYWx1ZSwgcmF0ZTogcGFyc2VGbG9hdCgocGFyc2VkLnRlYW1tYXRlVmFsdWUgKiAxMDApLnRvRml4ZWQoMikpIH0sXG4gICAgbGV2ZWw6IHBhcnNlSW50KHBhcnNlZC5lbmRvcnNlbWVudExldmVsKSxcbiAgICBmcmFtZTogcGFyc2VkLmVuZG9yc2VtZW50RnJhbWUgfHwgbnVsbCxcbiAgfTtcbiAgZW5kb3JzZW1lbnQuaWNvbiA9IGNyZWF0ZUVuZG9yc2VtZW50U1ZHKGVuZG9yc2VtZW50KTtcblxuICBjb25zdCB3b24gPSB7fTtcbiAgY29uc3QgbG9zdCA9IHt9O1xuICBjb25zdCBkcmF3ID0ge307XG4gIGNvbnN0IHBsYXllZCA9IHt9O1xuICBjb25zdCB0aW1lID0ge307XG5cbiAgaWYgKHBhcnNlZC5xdWlja3BsYXlXb25FbCAhPT0gbnVsbCkge1xuICAgIHdvbi5xdWlja3BsYXkgPSBwYXJzZWQucXVpY2twbGF5V29uRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5xdWlja3BsYXlQbGF5ZWRFbCAhPT0gbnVsbCkge1xuICAgIHBsYXllZC5xdWlja3BsYXkgPSBwYXJzZWQucXVpY2twbGF5UGxheWVkRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5xdWlja3BsYXlUaW1lUGxheWVkRWwgIT09IG51bGwpIHtcbiAgICB0aW1lLnF1aWNrcGxheSA9IHBhcnNlZC5xdWlja3BsYXlUaW1lUGxheWVkRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wV29uRWwgIT09IG51bGwpIHtcbiAgICB3b24uY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcFdvbkVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuY29tcExvc3RFbCAhPT0gbnVsbCkge1xuICAgIGxvc3QuY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcExvc3RFbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmNvbXBEcmF3RWwgIT09IG51bGwpIHtcbiAgICBkcmF3LmNvbXBldGl0aXZlID0gcGFyc2VkLmNvbXBEcmF3RWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wUGxheWVkRWwgIT09IG51bGwpIHtcbiAgICBwbGF5ZWQuY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcFBsYXllZEVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuY29tcFRpbWVQbGF5ZWRFbCAhPT0gbnVsbCkge1xuICAgIHRpbWUuY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcFRpbWVQbGF5ZWRFbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIHByZXN0aWdlIGxldmVsLlxuICBsZXQgbGV2ZWwgPSBwYXJzZWQubGV2ZWw7XG4gIGlmIChwYXJzZWQuc3RhciAmJiBwYXJzZWQucmFuaykge1xuICAgIGNvbnN0IHN0YXJzTWF0Y2ggPSBwYXRoLmJhc2VuYW1lKHBhcnNlZC5zdGFyKS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKVswXTtcbiAgICBjb25zdCByYW5rTWF0Y2ggPSBwYXRoLmJhc2VuYW1lKHBhcnNlZC5yYW5rKS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKVswXTtcbiAgICBjb25zdCBzdGFycyA9IHN0YXJzTWF0Y2ggPyBnZXRQcmVzdGlnZVN0YXJzKHN0YXJzTWF0Y2gpIDogMDtcbiAgICBjb25zdCByYW5rID0gcmFua01hdGNoID8gZ2V0UHJlc3RpZ2VMZXZlbChyYW5rTWF0Y2gpIDogMDtcbiAgICBjb25zdCBwcmVzdGlnZSA9IHBhcnNlSW50KHN0YXJzKSArIHBhcnNlSW50KHJhbmspO1xuICAgIGxldmVsID0gcGFyc2VJbnQocGFyc2VkLmxldmVsKSArIChwYXJzZUludChwcmVzdGlnZSkgKiAxMDApO1xuICB9XG5cbiAgY29uc3QganNvbiA9IHtcbiAgICB1c2VybmFtZTogcGFyc2VkLnVzZXIsXG4gICAgbGV2ZWw6IHBhcnNlSW50KGxldmVsKSxcbiAgICBwb3J0cmFpdDogcGFyc2VkLnBvcnRyYWl0LFxuICAgIGVuZG9yc2VtZW50OiBlbmRvcnNlbWVudCxcbiAgICBwcml2YXRlOiBwYXJzZWQucGVybWlzc2lvbiA9PT0gJ1ByaXZhdGUgUHJvZmlsZScsXG4gICAgZ2FtZXM6IHtcbiAgICAgIHF1aWNrcGxheToge1xuICAgICAgICB3b246IHBhcnNlSW50KHdvbi5xdWlja3BsYXkpLFxuICAgICAgICBwbGF5ZWQ6IHBhcnNlSW50KHBsYXllZC5xdWlja3BsYXkpIHx8IHVuZGVmaW5lZCBcbiAgICAgIH0sXG4gICAgICBjb21wZXRpdGl2ZToge1xuICAgICAgICB3b246IHBhcnNlSW50KHdvbi5jb21wZXRpdGl2ZSksXG4gICAgICAgIGxvc3Q6IHBhcnNlSW50KGxvc3QuY29tcGV0aXRpdmUpLFxuICAgICAgICBkcmF3OiBwYXJzZUludChkcmF3LmNvbXBldGl0aXZlKSB8fCAwLFxuICAgICAgICBwbGF5ZWQ6IHBhcnNlSW50KHBsYXllZC5jb21wZXRpdGl2ZSksXG4gICAgICAgIHdpbl9yYXRlOiBwYXJzZUZsb2F0KChwYXJzZUludCh3b24uY29tcGV0aXRpdmUpIC8gKHBhcnNlSW50KHBsYXllZC5jb21wZXRpdGl2ZSAtIHBhcnNlSW50KGRyYXcuY29tcGV0aXRpdmUpKSkgKiAxMDApLnRvRml4ZWQoMikpLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHBsYXl0aW1lOiB7IHF1aWNrcGxheTogdGltZS5xdWlja3BsYXksIGNvbXBldGl0aXZlOiB0aW1lLmNvbXBldGl0aXZlIH0sXG4gICAgY29tcGV0aXRpdmU6IHsgXG4gICAgICB0YW5rOiB7XG4gICAgICAgIHJhbms6IHBhcnNlSW50KHBhcnNlZC5jb21wUmFua0VsVGFuayksIFxuICAgICAgICByYW5rX2ltZzogcGFyc2VkLmNvbXBSYW5rSW1nVGFuayBcbiAgICAgIH0sXG4gICAgICBkYW1hZ2U6IHtcbiAgICAgICAgcmFuazogcGFyc2VJbnQocGFyc2VkLmNvbXBSYW5rRWxEYW1hZ2UpLCBcbiAgICAgICAgcmFua19pbWc6IHBhcnNlZC5jb21wUmFua0ltZ0RhbWFnZVxuICAgICAgfSxcbiAgICAgIHN1cHBvcnQ6IHtcbiAgICAgICAgcmFuazogcGFyc2VJbnQocGFyc2VkLmNvbXBSYW5rRWxTdXBwb3J0KSwgXG4gICAgICAgIHJhbmtfaW1nOiBwYXJzZWQuY29tcFJhbmtJbWdTdXBwb3J0XG4gICAgICB9XG4gICAgfSxcbiAgICBsZXZlbEZyYW1lOiBwYXJzZWQubGV2ZWxGcmFtZSxcbiAgICBzdGFyOiBwYXJzZWQuc3RhclxuICB9XG5cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIGpzb24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihwbGF0Zm9ybSwgcmVnaW9uLCB0YWcsIGNhbGxiYWNrKSB7XG4gIGFzeW5jLmF1dG8oe1xuICAgIGdldEhUTUw6IGFzeW5jLmFwcGx5KGdldEhUTUwsIHBsYXRmb3JtLCByZWdpb24sIHRhZyksXG4gICAgcGFyc2VIVE1MOiBbJ2dldEhUTUwnLCBhc3luYy5hcHBseShwYXJzZUhUTUwpXSxcbiAgICB0cmFuc2Zvcm06IFsnZ2V0SFRNTCcsICdwYXJzZUhUTUwnLCBhc3luYy5hcHBseSh0cmFuc2Zvcm0pXSxcbiAgfSwgZnVuY3Rpb24oZXJyLCByZXN1bHRzKSB7XG4gICAgaWYgKGVycikge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKGVycik7XG4gICAgfVxuICAgIHJldHVybiBjYWxsYmFjayhudWxsLCByZXN1bHRzLnRyYW5zZm9ybSk7XG4gIH0pO1xufSJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2ZpbGUuanMiXSwibmFtZXMiOlsiTUFYX1JFVFJJRVMiLCJ1cmwiLCJwbGF0Zm9ybSIsIm9wdGlvbnMiLCJ1cmkiLCJlbmNvZGVVUkkiLCJlbmNvZGluZyIsIiQiLCJjaGVlcmlvIiwicmVzdWx0cyIsImlzRm91bmQiLCJjYWxsYmFjayIsInBhcnNlZCIsInVzZXIiLCJsZXZlbCIsInBvcnRyYWl0IiwicGVybWlzc2lvbiIsImVuZG9yc2VtZW50TGV2ZWwiLCJlbmRvcnNlbWVudEZyYW1lRWwiLCJzcG9ydHNtYW5zaGlwVmFsdWUiLCJzaG90Y2FsbGVyVmFsdWUiLCJ0ZWFtbWF0ZVZhbHVlIiwicXVpY2twbGF5V29uRWwiLCJxdWlja3BsYXlQbGF5ZWRFbCIsInF1aWNrcGxheVRpbWVQbGF5ZWRFbCIsImNvbXBXb25FbCIsImNvbXBQbGF5ZWRFbCIsImNvbXBMb3N0RWwiLCJjb21wRHJhd0VsIiwiY29tcFRpbWVQbGF5ZWRFbCIsImNvbXBSYW5rRWwiLCJsZXZlbEZyYW1lRWwiLCJzdGFyRWwiLCJyYW5rRWwiLCJlbmRvcnNlbWVudCIsInNwb3J0c21hbnNoaXAiLCJ2YWx1ZSIsInJhdGUiLCJwYXJzZUZsb2F0Iiwic2hvdGNhbGxlciIsInRlYW1tYXRlIiwicGFyc2VJbnQiLCJmcmFtZSIsIndvbiIsImxvc3QiLCJkcmF3IiwicGxheWVkIiwidGltZSIsInN0YXJzTWF0Y2giLCJwYXRoIiwicmFua01hdGNoIiwic3RhcnMiLCJyYW5rIiwicHJlc3RpZ2UiLCJqc29uIiwidXNlcm5hbWUiLCJnYW1lcyIsInF1aWNrcGxheSIsInVuZGVmaW5lZCIsImNvbXBldGl0aXZlIiwid2luX3JhdGUiLCJwbGF5dGltZSIsInRhbmsiLCJyYW5rX2ltZyIsImNvbXBSYW5rSW1nVGFuayIsImRhbWFnZSIsImNvbXBSYW5rSW1nRGFtYWdlIiwic3VwcG9ydCIsImNvbXBSYW5rSW1nU3VwcG9ydCIsImxldmVsRnJhbWUiLCJzdGFyIiwiYXN5bmMiLCJnZXRIVE1MIiwi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QSxDQUFBQSxTQUFBQSxDQUFBQSxDQUFBQSxJQUFBQSxDQUFXLENBQ1RDLE9BQU8sQ0FBRUQsTUFBQUEsQ0FBQUEsU0FBQUEsQ0FBQUEsQ0FBQUEsS0FBQUEsQ0FBQUEsT0FBQUEsQ0FBQUEsUUFBQUEsQ0FBQUEsTUFBQUEsQ0FEQSxHQUNBQSxDQURBLENBRVRFLFNBQVMsQ0FBRSxDQUFBLFNBQUEsQ0FBWUYsTUFBQUEsQ0FBQUEsU0FBQUEsQ0FBQUEsQ0FBQUEsS0FBQUEsQ0FGZCxTQUVjQSxDQUFaLENBRkYsQ0FHVEcsU0FBUyxDQUFFLENBQUEsU0FBQSxDQUFBLFdBQUEsQ0FBeUJILE1BQUFBLENBQUFBLFNBQUFBLENBQUFBLENBQUFBLEtBQUFBLENBQXpCLFNBQXlCQSxDQUF6QixDQUhGLENBQVhBLENBSUcsU0FBQSxHQUFBLENBQUEsT0FBQSxDQUF1QixrREFDeEIsR0FBQSxHQUFBLENBQVMsc0RBQ1AsTUFBTzVELENBQUFBLFFBQVEsQ0FBZixHQUFlLENBQWYsQ0FDRCxDQUZELGtDQUR3Qix5QkFJeEIsTUFBT0EsQ0FBQUEsUUFBUSxDQUFBLElBQUEsQ0FBT0YsT0FBTyxDQUE3QixTQUFlLENBQWYsQ0FSRjhELENBQUFBLEVBVUQsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGFzeW5jIGZyb20gJ2FzeW5jJztcbmltcG9ydCBjaGVlcmlvIGZyb20gJ2NoZWVyaW8nO1xuaW1wb3J0IHsgZ2V0UHJlc3RpZ2VMZXZlbCwgZ2V0UHJlc3RpZ2VTdGFycywgcmV0cnlSZXF1ZXN0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBjcmVhdGVFbmRvcnNlbWVudFNWRyB9IGZyb20gJy4vc3ZnJztcblxuY29uc3QgTUFYX1JFVFJJRVMgPSAzO1xuXG4vLyBHZXQgSFRNTCBmcm9tIHBsYXlvdmVyd2F0Y2ggY2FyZWVyIHBhZ2UuXG5mdW5jdGlvbiBnZXRIVE1MKHBsYXRmb3JtLCByZWdpb24sIHRhZywgY2FsbGJhY2spIHtcbiAgY29uc3QgdXJsID0gcGxhdGZvcm0gPT09ICdwYydcbiAgICA/IGBodHRwczovL3BsYXlvdmVyd2F0Y2guY29tL2VuLXVzL2NhcmVlci8ke3BsYXRmb3JtfS8ke3JlZ2lvbn0vJHt0YWd9L2BcbiAgICA6IGBodHRwczovL3BsYXlvdmVyd2F0Y2guY29tL2VuLXVzL2NhcmVlci8ke3BsYXRmb3JtfS8ke3RhZ30vYDtcblxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHVyaTogZW5jb2RlVVJJKHVybCksXG4gICAgZW5jb2Rpbmc6ICd1dGY4J1xuICB9XG4gIHJldHVybiByZXRyeVJlcXVlc3Qob3B0aW9ucywgTUFYX1JFVFJJRVMsIGNhbGxiYWNrKTtcbn1cblxuLy8gQmVnaW4gaHRtbCBwYXJzaW5nLlxuZnVuY3Rpb24gcGFyc2VIVE1MKHJlc3VsdHMsIGNhbGxiYWNrKSB7XG4gIGNvbnN0ICQgPSBjaGVlcmlvLmxvYWQocmVzdWx0cy5nZXRIVE1MKTtcblxuICAvLyBDaGVjayBpZiBwcm9maWxlIGV4aXN0cy5cbiAgY29uc3QgaXNGb3VuZCA9ICQoJy5jb250ZW50LWJveCBoMScpLnRleHQoKSAhPT0gJ1Byb2ZpbGUgTm90IEZvdW5kJztcbiAgaWYgKCFpc0ZvdW5kKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKG5ldyBFcnJvcignUHJvZmlsZSBub3QgZm91bmQnKSk7XG4gIH1cblxuICBjb25zdCBwYXJzZWQgPSB7XG4gICAgdXNlcjogJCgnLmhlYWRlci1tYXN0aGVhZCcpLnRleHQoKSxcbiAgICBsZXZlbDogJCgnLnBsYXllci1sZXZlbCBkaXYnKS5maXJzdCgpLnRleHQoKSxcbiAgICBwb3J0cmFpdDogJCgnLnBsYXllci1wb3J0cmFpdCcpLmF0dHIoJ3NyYycpLFxuICAgIHBlcm1pc3Npb246ICQoJy5tYXN0aGVhZC1wZXJtaXNzaW9uLWxldmVsLXRleHQnKS50ZXh0KCksXG4gICAgZW5kb3JzZW1lbnRMZXZlbDogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tdG9vbHRpcCBkaXYnKS5sYXN0KCkudGV4dCgpLFxuICAgIGVuZG9yc2VtZW50RnJhbWVFbDogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24nKS5hdHRyKCdzdHlsZScpLFxuICAgIHNwb3J0c21hbnNoaXBWYWx1ZTogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tYm9yZGVyLS1zcG9ydHNtYW5zaGlwJykuZGF0YSgndmFsdWUnKSxcbiAgICBzaG90Y2FsbGVyVmFsdWU6ICQoJy5tYXN0aGVhZCAuRW5kb3JzZW1lbnRJY29uLWJvcmRlci0tc2hvdGNhbGxlcicpLmRhdGEoJ3ZhbHVlJyksXG4gICAgdGVhbW1hdGVWYWx1ZTogJCgnLm1hc3RoZWFkIC5FbmRvcnNlbWVudEljb24tYm9yZGVyLS10ZWFtbWF0ZScpLmRhdGEoJ3ZhbHVlJyksXG4gICAgcXVpY2twbGF5V29uRWw6ICQoJyNxdWlja3BsYXkgdGQ6Y29udGFpbnMoXCJHYW1lcyBXb25cIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIHF1aWNrcGxheVBsYXllZEVsOiAkKCcjcXVpY2twbGF5IHRkOmNvbnRhaW5zKFwiR2FtZXMgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBxdWlja3BsYXlUaW1lUGxheWVkRWw6ICQoJyNxdWlja3BsYXkgdGQ6Y29udGFpbnMoXCJUaW1lIFBsYXllZFwiKScpLm5leHQoKS5odG1sKCksXG4gICAgY29tcFdvbkVsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJHYW1lcyBXb25cIiknKS5uZXh0KCkuaHRtbCgpLFxuICAgIGNvbXBQbGF5ZWRFbDogJCgnI2NvbXBldGl0aXZlIHRkOmNvbnRhaW5zKFwiR2FtZXMgUGxheWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wTG9zdEVsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJHYW1lcyBMb3N0XCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wRHJhd0VsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJHYW1lcyBUaWVkXCIpJykubmV4dCgpLmh0bWwoKSxcbiAgICBjb21wVGltZVBsYXllZEVsOiAkKCcjY29tcGV0aXRpdmUgdGQ6Y29udGFpbnMoXCJUaW1lIFBsYXllZFwiKScpLm5leHQoKS5odG1sKCksXG4gICAgY29tcFJhbmtFbDogJCgnLmNvbXBldGl0aXZlLXJhbmsnKSxcbiAgICBsZXZlbEZyYW1lRWw6ICQoJy5wbGF5ZXItbGV2ZWwnKS5hdHRyKCdzdHlsZScpLFxuICAgIHN0YXJFbDogJCgnLnBsYXllci1yYW5rJykuYXR0cignc3R5bGUnKSxcbiAgICByYW5rRWw6ICQoJy5wbGF5ZXItbGV2ZWwnKS5hdHRyKCdzdHlsZScpLFxuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wUmFua0VsICE9PSBudWxsKSB7XG4gICAgcGFyc2VkLmNvbXBSYW5rSW1nVGFuayA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIlRhbmsgU2tpbGwgUmF0aW5nXCJdIGltZycpLmF0dHIoJ3NyYycpIHx8IG51bGw7XG4gICAgcGFyc2VkLmNvbXBSYW5rSW1nRGFtYWdlID0gJCgnLmNvbXBldGl0aXZlLXJhbmsgZGl2W2RhdGEtb3ctdG9vbHRpcC10ZXh0PVwiRGFtYWdlIFNraWxsIFJhdGluZ1wiXSBpbWcnKS5hdHRyKCdzcmMnKSB8fCBudWxsO1xuICAgIHBhcnNlZC5jb21wUmFua0ltZ1N1cHBvcnQgPSAkKCcuY29tcGV0aXRpdmUtcmFuayBkaXZbZGF0YS1vdy10b29sdGlwLXRleHQ9XCJTdXBwb3J0IFNraWxsIFJhdGluZ1wiXSBpbWcnKS5hdHRyKCdzcmMnKSB8fCBudWxsO1xuICAgIHBhcnNlZC5jb21wUmFua0VsVGFuayA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIlRhbmsgU2tpbGwgUmF0aW5nXCJdJykubmV4dCgpLmh0bWwoKTtcbiAgICBwYXJzZWQuY29tcFJhbmtFbERhbWFnZSA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIkRhbWFnZSBTa2lsbCBSYXRpbmdcIl0nKS5uZXh0KCkuaHRtbCgpO1xuICAgIHBhcnNlZC5jb21wUmFua0VsU3VwcG9ydCA9ICQoJy5jb21wZXRpdGl2ZS1yYW5rIGRpdltkYXRhLW93LXRvb2x0aXAtdGV4dD1cIlN1cHBvcnQgU2tpbGwgUmF0aW5nXCJdJykubmV4dCgpLmh0bWwoKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQubGV2ZWxGcmFtZUVsKSB7XG4gICAgcGFyc2VkLmxldmVsRnJhbWUgPSBwYXJzZWQubGV2ZWxGcmFtZUVsLnNsaWNlKDIxLCAtMSkucmVwbGFjZSgvIC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmVuZG9yc2VtZW50RnJhbWVFbCkge1xuICAgIHBhcnNlZC5lbmRvcnNlbWVudEZyYW1lID0gcGFyc2VkLmVuZG9yc2VtZW50RnJhbWVFbC5zbGljZSgyMSwgLTEpLnJlcGxhY2UoLyAvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5zdGFyRWwpIHtcbiAgICBwYXJzZWQuc3RhciA9IHBhcnNlZC5zdGFyRWwuc2xpY2UoMjEsIC0xKS5yZXBsYWNlKC8gL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQucmFua0VsKSB7XG4gICAgcGFyc2VkLnJhbmsgPSBwYXJzZWQucmFua0VsLnNsaWNlKDIxLCAtMSkucmVwbGFjZSgvIC9nLCAnJyk7XG4gIH1cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIHBhcnNlZCk7XG59XG5cbi8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIGEganNvbiBvYmplY3Qgd2UgY2FuIHNlcnZlLlxuZnVuY3Rpb24gdHJhbnNmb3JtKHJlc3VsdHMsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgcGFyc2VIVE1MOiBwYXJzZWQgfSA9IHJlc3VsdHM7XG5cbiAgY29uc3QgZW5kb3JzZW1lbnQgPSB7XG4gICAgc3BvcnRzbWFuc2hpcDogeyB2YWx1ZTogcGFyc2VkLnNwb3J0c21hbnNoaXBWYWx1ZSwgcmF0ZTogcGFyc2VGbG9hdCgocGFyc2VkLnNwb3J0c21hbnNoaXBWYWx1ZSAqIDEwMCkudG9GaXhlZCgyKSkgfSxcbiAgICBzaG90Y2FsbGVyOiB7IHZhbHVlOiBwYXJzZWQuc2hvdGNhbGxlclZhbHVlLCByYXRlOiBwYXJzZUZsb2F0KChwYXJzZWQuc2hvdGNhbGxlclZhbHVlICogMTAwKS50b0ZpeGVkKDIpKSB9LFxuICAgIHRlYW1tYXRlOiB7IHZhbHVlOiBwYXJzZWQudGVhbW1hdGVWYWx1ZSwgcmF0ZTogcGFyc2VGbG9hdCgocGFyc2VkLnRlYW1tYXRlVmFsdWUgKiAxMDApLnRvRml4ZWQoMikpIH0sXG4gICAgbGV2ZWw6IHBhcnNlSW50KHBhcnNlZC5lbmRvcnNlbWVudExldmVsKSxcbiAgICBmcmFtZTogcGFyc2VkLmVuZG9yc2VtZW50RnJhbWUgfHwgbnVsbCxcbiAgfTtcbiAgZW5kb3JzZW1lbnQuaWNvbiA9IGNyZWF0ZUVuZG9yc2VtZW50U1ZHKGVuZG9yc2VtZW50KTtcblxuICBjb25zdCB3b24gPSB7fTtcbiAgY29uc3QgbG9zdCA9IHt9O1xuICBjb25zdCBkcmF3ID0ge307XG4gIGNvbnN0IHBsYXllZCA9IHt9O1xuICBjb25zdCB0aW1lID0ge307XG5cbiAgaWYgKHBhcnNlZC5xdWlja3BsYXlXb25FbCAhPT0gbnVsbCkge1xuICAgIHdvbi5xdWlja3BsYXkgPSBwYXJzZWQucXVpY2twbGF5V29uRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5xdWlja3BsYXlQbGF5ZWRFbCAhPT0gbnVsbCkge1xuICAgIHBsYXllZC5xdWlja3BsYXkgPSBwYXJzZWQucXVpY2twbGF5UGxheWVkRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5xdWlja3BsYXlUaW1lUGxheWVkRWwgIT09IG51bGwpIHtcbiAgICB0aW1lLnF1aWNrcGxheSA9IHBhcnNlZC5xdWlja3BsYXlUaW1lUGxheWVkRWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wV29uRWwgIT09IG51bGwpIHtcbiAgICB3b24uY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcFdvbkVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuY29tcExvc3RFbCAhPT0gbnVsbCkge1xuICAgIGxvc3QuY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcExvc3RFbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICBpZiAocGFyc2VkLmNvbXBEcmF3RWwgIT09IG51bGwpIHtcbiAgICBkcmF3LmNvbXBldGl0aXZlID0gcGFyc2VkLmNvbXBEcmF3RWwudHJpbSgpLnJlcGxhY2UoLywvZywgJycpO1xuICB9XG5cbiAgaWYgKHBhcnNlZC5jb21wUGxheWVkRWwgIT09IG51bGwpIHtcbiAgICBwbGF5ZWQuY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcFBsYXllZEVsLnRyaW0oKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgfVxuXG4gIGlmIChwYXJzZWQuY29tcFRpbWVQbGF5ZWRFbCAhPT0gbnVsbCkge1xuICAgIHRpbWUuY29tcGV0aXRpdmUgPSBwYXJzZWQuY29tcFRpbWVQbGF5ZWRFbC50cmltKCkucmVwbGFjZSgvLC9nLCAnJyk7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIHByZXN0aWdlIGxldmVsLlxuICBsZXQgbGV2ZWwgPSBwYXJzZWQubGV2ZWw7XG4gIGlmIChwYXJzZWQuc3RhciAmJiBwYXJzZWQucmFuaykge1xuICAgIGNvbnN0IHN0YXJzTWF0Y2ggPSBwYXRoLmJhc2VuYW1lKHBhcnNlZC5zdGFyKS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKVswXTtcbiAgICBjb25zdCByYW5rTWF0Y2ggPSBwYXRoLmJhc2VuYW1lKHBhcnNlZC5yYW5rKS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKVswXTtcbiAgICBjb25zdCBzdGFycyA9IHN0YXJzTWF0Y2ggPyBnZXRQcmVzdGlnZVN0YXJzKHN0YXJzTWF0Y2gpIDogMDtcbiAgICBjb25zdCByYW5rID0gcmFua01hdGNoID8gZ2V0UHJlc3RpZ2VMZXZlbChyYW5rTWF0Y2gpIDogMDtcbiAgICBjb25zdCBwcmVzdGlnZSA9IHBhcnNlSW50KHN0YXJzKSArIHBhcnNlSW50KHJhbmspO1xuICAgIGxldmVsID0gcGFyc2VJbnQocGFyc2VkLmxldmVsKSArIChwYXJzZUludChwcmVzdGlnZSkgKiAxMDApO1xuICB9XG5cbiAgY29uc3QganNvbiA9IHtcbiAgICB1c2VybmFtZTogcGFyc2VkLnVzZXIsXG4gICAgbGV2ZWw6IHBhcnNlSW50KGxldmVsKSxcbiAgICBwb3J0cmFpdDogcGFyc2VkLnBvcnRyYWl0LFxuICAgIGVuZG9yc2VtZW50OiBlbmRvcnNlbWVudCxcbiAgICBwcml2YXRlOiBwYXJzZWQucGVybWlzc2lvbiA9PT0gJ1ByaXZhdGUgUHJvZmlsZScsXG4gICAgZ2FtZXM6IHtcbiAgICAgIHF1aWNrcGxheToge1xuICAgICAgICB3b246IHBhcnNlSW50KHdvbi5xdWlja3BsYXkpLFxuICAgICAgICBwbGF5ZWQ6IHBhcnNlSW50KHBsYXllZC5xdWlja3BsYXkpIHx8IHVuZGVmaW5lZCBcbiAgICAgIH0sXG4gICAgICBjb21wZXRpdGl2ZToge1xuICAgICAgICB3b246IHBhcnNlSW50KHdvbi5jb21wZXRpdGl2ZSksXG4gICAgICAgIGxvc3Q6IHBhcnNlSW50KGxvc3QuY29tcGV0aXRpdmUpLFxuICAgICAgICBkcmF3OiBwYXJzZUludChkcmF3LmNvbXBldGl0aXZlKSB8fCAwLFxuICAgICAgICBwbGF5ZWQ6IHBhcnNlSW50KHBsYXllZC5jb21wZXRpdGl2ZSksXG4gICAgICAgIHdpbl9yYXRlOiBwYXJzZUZsb2F0KChwYXJzZUludCh3b24uY29tcGV0aXRpdmUpIC8gKHBhcnNlSW50KHBsYXllZC5jb21wZXRpdGl2ZSAtIHBhcnNlSW50KGRyYXcuY29tcGV0aXRpdmUpKSkgKiAxMDApLnRvRml4ZWQoMikpLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHBsYXl0aW1lOiB7IHF1aWNrcGxheTogdGltZS5xdWlja3BsYXksIGNvbXBldGl0aXZlOiB0aW1lLmNvbXBldGl0aXZlIH0sXG4gICAgY29tcGV0aXRpdmU6IHsgXG4gICAgICB0YW5rOiB7XG4gICAgICAgIHJhbms6IHBhcnNlSW50KHBhcnNlZC5jb21wUmFua0VsVGFuayksIFxuICAgICAgICByYW5rX2ltZzogcGFyc2VkLmNvbXBSYW5rSW1nVGFuayBcbiAgICAgIH0sXG4gICAgICBkYW1hZ2U6IHtcbiAgICAgICAgcmFuazogcGFyc2VJbnQocGFyc2VkLmNvbXBSYW5rRWxEYW1hZ2UpLCBcbiAgICAgICAgcmFua19pbWc6IHBhcnNlZC5jb21wUmFua0ltZ0RhbWFnZVxuICAgICAgfSxcbiAgICAgIHN1cHBvcnQ6IHtcbiAgICAgICAgcmFuazogcGFyc2VJbnQocGFyc2VkLmNvbXBSYW5rRWxTdXBwb3J0KSwgXG4gICAgICAgIHJhbmtfaW1nOiBwYXJzZWQuY29tcFJhbmtJbWdTdXBwb3J0XG4gICAgICB9XG4gICAgfSxcbiAgICBsZXZlbEZyYW1lOiBwYXJzZWQubGV2ZWxGcmFtZSxcbiAgICBzdGFyOiBwYXJzZWQuc3RhclxuICB9XG5cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIGpzb24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihwbGF0Zm9ybSwgcmVnaW9uLCB0YWcsIGNhbGxiYWNrKSB7XG4gIGFzeW5jLmF1dG8oe1xuICAgIGdldEhUTUw6IGFzeW5jLmFwcGx5KGdldEhUTUwsIHBsYXRmb3JtLCByZWdpb24sIHRhZyksXG4gICAgcGFyc2VIVE1MOiBbJ2dldEhUTUwnLCBhc3luYy5hcHBseShwYXJzZUhUTUwpXSxcbiAgICB0cmFuc2Zvcm06IFsnZ2V0SFRNTCcsICdwYXJzZUhUTUwnLCBhc3luYy5hcHBseSh0cmFuc2Zvcm0pXSxcbiAgfSwgZnVuY3Rpb24oZXJyLCByZXN1bHRzKSB7XG4gICAgaWYgKGVycikge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKGVycik7XG4gICAgfVxuICAgIHJldHVybiBjYWxsYmFjayhudWxsLCByZXN1bHRzLnRyYW5zZm9ybSk7XG4gIH0pO1xufSJdLCJzb3VyY2VSb290IjoiQzpcXFVzZXJzXFxBbGZcXFNvdXJjZVxcb3ZlcndhdGNoLWFwaVxcYXBpXFxzcmNcXHBhcnNlclxcIn0=