{"version":3,"sources":["webpack://jrs-ui/../js-sdk/src/common/util/xssUtil.js"],"names":["htmlTagWhiteList","escapeMap","regexKeys","map","str","arr","k","Object","prototype","hasOwnProperty","call","push","replace","unescapeMap","hardEscapeRegex","RegExp","join","_stringCanonicObfuscator","obfChar","obfuscatedStr","i","length","charAt","canonicExclusionMap","key","obfuscStr","addCanonicObfuscArr","c","addObfuscStr","reverseCanonicExclusionMap","canonicExclusionRegex","reverseCanonicExclusionRegex","_canonicalize","string","test","match","dec","String","fromCharCode","group","parseInt","entityNameDecodingMap","regexpEscapeMap","keys","toLowerCase","_getXssNonce","jrsConfigs","Error","_getNoncePrefix","undefined","noncePrefix","xssNonce","_getHtmlTagWhitelist","configHtmlTagWhitelist","_getConfigHtmlTagWhitelist","whitelistInitialized","startsWith","substr","_getWhitelistLeftRegex","leftTagRegexp","whitelistRegexInsert","_getWhitelistRightRegex","rightTagRegexp","_defaultAttribSoftEscapeMap","_getAttribSoftHtmlEscapeMap","attribSoftEscapeArr","configAttribSoftHtmlEscapeMap","configRegexArr","configReplArr","err","console","warn","softHtmlEscape","options","indexOf","noncePref","substring","jsKeyword","jsKeywordSearchRegExp","split","_removeBreakUpCharacters","whiteList","Array","whitelistRegexStr","rtLeftTagRegexp","rtRightTagRegexp","tmpLeftTagRegexp","tmpRightTagRegexp","lastIndex","escapeTags","tmpTagWhiteList","attribSoftHtmlEscapeMap","regexArr","replArr","regex","replacement","hardEscape","unescape","unescapeRegexp","canonicalize"],"mappings":"iIA6BIA,EAAmB,49BAanBC,EAAY,CACZ,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SAWLC,EAAY,SAASC,GACrB,IAN2BC,EAMvBC,EAAM,GACV,IAAK,IAAIC,KAAKH,EACNI,OAAOC,UAAUC,eAAeC,KAAKP,EAAKG,IAC1CD,EAAIM,KARE,OADaP,EASME,GARZ,GAAKF,EAAIQ,QAAQ,yBAA0B,SAUhE,OAAOP,GAIPQ,EAAe,WACf,IAQOP,EARHH,EAAM,CACF,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,QAAS,IACT,SAAU,IACV,QAAS,KAEjB,IAAKG,KAAKL,EACFM,OAAOC,UAAUC,eAAeC,KAAKT,EAAWK,KAChDH,EAAIF,EAAUK,IAAMA,GAG5B,OAAOH,EAfQ,GAmBfW,EAAkBC,OAAO,MAAQb,EAAUD,GAAWe,KAAK,KAAO,IAAK,KAqBvEC,EAA2B,SAAUb,EAAKc,GAE1C,IADA,IAAIC,EAAgBD,EACXE,EAAI,EAAGA,EAAIhB,EAAIiB,SAAUD,EAC9BD,GAAiBf,EAAIkB,OAAOF,GAC5BD,GAAiBD,EAGrB,OAAOC,GAQPI,EAAuB,WACvB,IAAcC,EAAVrB,EAAM,GAEV,IAAKqB,KAAOvB,EACR,GAAIM,OAAOC,UAAUC,eAAeC,KAAKT,EAAWuB,GAAM,CACtD,IAAIC,EAAYxB,EAAUuB,GAC1BrB,EAAIsB,GAAaR,EAAyBQ,EAAW,KAM7D,IADA,IAAIC,EAAsB,CAAC,YAAa,eAC/BC,EAAI,EAAGA,EAAID,EAAoBL,SAAUM,EAAG,CACjD,IAAIC,EAAeF,EAAoBC,GACvCxB,EAAIyB,GAAgBX,EAAyBW,EAAc,KAG/D,OAAOzB,EAjBgB,GAoBvB0B,EAA8B,WAC9B,IAAcL,EAAVrB,EAAM,GACV,IAAKqB,KAAOD,EACJhB,OAAOC,UAAUC,eAAeC,KAAKa,EAAqBC,KAC1DrB,EAAIoB,EAAoBC,IAAQA,GAIxC,OAAOrB,EARuB,GAW9B2B,EAAwBf,OAAO,MAAQb,EAAUqB,GAAqBP,KAAK,KAAO,IAAK,KACvFe,EAA+BhB,OAAO,MAAQb,EAAU2B,GAA4Bb,KAAK,KAAO,IAAK,KAWzG,SAASgB,EAAcC,GACnBA,EAAmB,MAAVA,EAAiB,GAAKA,EAsB/BA,GAJAA,GAfAA,EAASH,EAAsBI,KAAKD,GAAUA,EAAOrB,QAAQkB,GAAuB,SAASK,GAAS,OAAOZ,EAAoBY,MAAaF,GAe9HrB,QAAQ,cAAe,SAACuB,EAAOC,GAAR,OAAgBC,OAAOC,aAAaF,OAI3DxB,QAAQ,sBAAuB,SAACuB,EAAOI,GAAR,OAAkBF,OAAOC,aAAaE,SAASD,EAAO,QAGrG,IAAME,EAAwB,CAC1B,QAAS,KACT,YAAa,KACb,QAAS,IACT,UAAW,IACX,WAAY,IAEZ,OAAQ,KACR,WAAY,KACZ,OAAQ,IACR,SAAU,IACV,UAAW,KAETC,EAAkB3B,OAAO,MAAQR,OAAOoC,KAAKF,GAAuBzB,KAAK,KAAO,IAAK,MAM3F,OALAiB,EAASA,EAAOrB,QAAQ8B,GAAiB,SAACP,GAAD,OAAWM,EAAsBN,EAAMS,kBAGhFX,EAASF,EAA6BG,KAAKD,GAAUA,EAAOrB,QAAQmB,GAA8B,SAASI,GAAS,OAAON,EAA2BM,MAAaF,EA6BvK,SAASY,IACL,IAAKC,aACD,MAAM,IAAIC,MAAM,+DAGpB,OAAOD,aAUX,SAASE,IACL,QAAoCC,IAAhCD,EAAgBE,YAA2B,CAC3C,IAAIC,EAAWN,IACf,IAAKM,EACD,OAAO,KACXH,EAAgBE,YAAc,WAAUC,EAAW,UAGvD,OAAOH,EAAgBE,YA6B3B,SAASE,IACL,IAAIC,EAnBR,WACI,IAAIA,EAAyBP,wBAI7B,OAFAO,EAA4D,iBAA3BA,EAAsCA,EAAyB,IAChDzC,QAAQ,MAAM,IAejC0C,GAU7B,OANID,EAAuBhC,OAAS,IAAM+B,EAAqBG,uBAC3DvD,EACKqD,EAAuBG,WAAW,KAAOxD,EAAmB,IAAMqD,EAAuBI,OAAO,GAAKJ,EAC1GD,EAAqBG,sBAAuB,GAGzCvD,EASX,SAAS0D,IACL,QAA6CT,IAAzCS,EAAuBC,cACvB,OAAOD,EAAuBC,cAElC,IACIC,EADYR,IACqBxC,QAAQ,KAAK,QAGlD,OAFA8C,EAAuBC,cAAiB5C,OAAO,SAAW6C,EAAuB,WAAY,MAEtFF,EAAuBC,cASlC,SAASE,IACL,QAA+CZ,IAA3CY,EAAwBC,eACxB,OAAOD,EAAwBC,eAEnC,IACIF,EADYR,IACqBxC,QAAQ,KAAK,QAGlD,OAFAiD,EAAwBC,eAAiB/C,OAAO,QAAU6C,EAAuB,OAAQ,MAElFC,EAAwBC,eAQnC,IAAIC,EAA8B,CAC9B,MAAS,CACL,kBACA,mBACA,kBAEJ,YAAe,CACX,GACA,kBACA,0BAQR,SAASC,IACL,QAAwDf,IAApDe,EAA4BC,oBAC5B,OAAOD,EAA4BC,oBAEvC,IAAIC,EAPGpB,+BAQP,IAAKoB,EAED,OADAF,EAA4BC,oBAAsBF,EAC3CC,EAA4BC,oBAGvC,IACI,IAAIE,EAAiB,GACjBC,EAAgB,GACpB,IAAK,IAAI9D,KAAK4D,EACNA,EAA8BzD,eAAeH,KAC7C6D,EAAexD,KAAKI,OAAQT,EAAG,OAC/B8D,EAAczD,KAAKuD,EAA8B5D,KASzD,OALA0D,EAA4BC,oBAAsB,CAC9C,MAASE,EACT,YAAeC,GAGZJ,EAA4BC,oBAEvC,MAAOI,GAEH,OADAC,QAAQC,KAAK,wFACNP,EAA4BC,qBAwJ3C,SACIO,eAxHqB,SAASvC,EAAQwC,GAItC,GAFAA,EAAUA,GAAW,KAzUC,iBADIrE,EAyU1B6B,EAAmB,MAAVA,EAAiB,GAAKA,IAxUG7B,aAAeiC,SAI7CjC,EAAIsE,QAAQ,KAAO,GAAKtE,EAAIsE,QAAQ,KAAO,EAwU3C,OAAOzC,EA7UK,IAAU7B,EAoVtBuE,EAAY3B,IAChB,GAAI2B,GAA2C,IAA9B1C,EAAOyC,QAAQC,GAC5B,OAAO1C,EAAO2C,UAAUD,EAAUtD,QAGtC,IAAI8B,EAAWN,IACf,GAAIM,GAAYlB,EAAOyC,QAAQvB,IAAa,EACxC,OAAOlB,EAOX,GAHAA,EAhOJ,SAAmCA,GAI/B,IAAM4C,EAAY,cACZC,EAAwB/D,OAAO8D,EAAUE,MAAM,IAAI/D,KAAK,aAAc,MAC5E,OAAOiB,EAAOrB,QAAQkE,EAAuBD,GA0NpCG,CAFT/C,EAASD,EAAcC,IAKnBwC,EAAQQ,WAAaR,EAAQQ,qBAAqBC,OAAST,EAAQQ,UAAU5D,OAAS,EAAG,CAEzF,IAAI8D,EAAoBV,EAAQQ,UAAUjE,KAAK,QAC3CoE,EAAkBrE,OAAO,SAAWoE,EAAoB,WAAY,MACxElD,EAASmD,EAAgBlD,KAAKD,GAAUA,EAAOrB,QAAQwE,EAAiB,QAAUnD,EAGlF,IAAIoD,EAAmBtE,OAAO,QAAUoE,EAAoB,OAAQ,MAGpElD,EAAS0C,GAFT1C,EAASoD,EAAiBnD,KAAKD,GAAUA,EAAOrB,QAAQyE,EAAkB,SAAWpD,OAIpF,CACD,IAAIqD,EAAmB5B,IAA0B6B,EAAoB1B,IAIrE,GAHAyB,EAAiBE,UAAY,EAC7BD,EAAkBC,UAAY,EAE1Bf,EAAQgB,YAAchB,EAAQgB,sBAAsBP,MAAO,CAE3D,IADA,IAAIQ,EAAkBtC,IACbhC,EAAI,EAAGA,EAAIqD,EAAQgB,WAAWpE,SAAUD,EAC7CsE,EAAkBA,EAAgB9E,QAAQ6D,EAAQgB,WAAWrE,GAAK,IAAK,IAG3EkE,EAAmBvE,OAAO,SAAW2E,EAAgB9E,QAAQ,KAAM,QAAU,WAAY,MACzF2E,EAAoBxE,OAAO,QAAU2E,EAAgB9E,QAAQ,KAAM,QAAU,OAAQ,MAIzFqB,EAASqD,EAAiBpD,KAAKD,GAAUA,EAAOrB,QAAQ0E,EAAkB,QAAUrD,EAGpFA,EAASsD,EAAkBrD,KAAKD,GAAUA,EAAOrB,QAAQ2E,EAAmB,SAAWtD,EAO3F,IAJA,IAAI0D,EAA0B3B,IAC1B4B,EAAWD,EAAuB,MAClCE,EAAUF,EAAuB,YAE5BrF,EAAE,EAAGA,EAAEsF,EAASvE,SAAUf,EAAG,CAClC,IAAIwF,EAAQF,EAAStF,GACrBwF,EAAMN,UAAY,EAElB,IAAIO,EAAcF,EAAQvF,GAC1B2B,EAAS6D,EAAM5D,KAAKD,GAAUA,EAAOrB,QAAQkF,EAAOC,GAAe9D,EAGvE,OAAOA,GAiDP+D,WA1CiB,SAAS/D,GAG1B,KAAyB,iBAFzBA,EAAmB,MAAVA,EAAiB,GAAKA,IAEMA,aAAkBI,QACnD,OAAOJ,EAIX,IAAI0C,EAAY3B,IAMhB,OALI2B,GAA2C,IAA9B1C,EAAOyC,QAAQC,KAC5B1C,EAASA,EAAO2C,UAAUD,EAAUtD,SAExCP,EAAgB0E,UAAY,EAC5BvD,EAASnB,EAAgBoB,KAAKD,GAAUA,EAAOrB,QAAQE,GAAiB,SAASqB,GAAS,OAAOlC,EAAUkC,MAAaF,GA8BxHgE,SAzBe,SAAShE,GAGxB,KAAyB,iBAFzBA,EAAmB,MAAVA,EAAiB,GAAKA,IAEMA,aAAkBI,QACnD,OAAOJ,EAKX,IAAI0C,EAAY3B,IACZ2B,GAA2C,IAA9B1C,EAAOyC,QAAQC,KAC5B1C,EAASA,EAAO2C,UAAUD,EAAUtD,SAGxC,IAAI8B,EAAWN,IACf,GAAIM,GAAYlB,EAAOyC,QAAQvB,IAAa,EACxC,OAAOlB,EAEX,IAAIiE,EAAiBnF,OAAO,MAAQb,EAAUW,GAAaG,KAAK,KAAO,IAAK,MAC5E,OAAOkF,EAAehE,KAAKD,GAAUA,EAAOrB,QAAQsF,GAAgB,SAAS/D,GAAS,OAAOtB,EAAYsB,MAAaF,GAOtHkE,aAAcnE","file":"_chunks/chunk.4612.js","sourcesContent":["/*\n * Copyright (C) 2005 - 2022 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\n/**\n * This is a standalone module. jQuery,prototype, etc. - depend on this\n * @author: Borys Kolesnykov\n *\n */\n\nimport jrsConfigs from '../../jrs.configs';\n\nvar htmlTagWhiteList = 'a,abbr,acronym,address,animate,animateMotion,animateTransform,area,article,aside,b,bdi,bdo,big,blockquote,body,br,button,' +\n 'canvas,caption,center,circle,cite,clipPath,code,col,colgroup,color-profile,dd,defs,desc,details,dfn,discard,div,dl,dt,ellipse,em,' +\n 'feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,' +\n 'fieldset,filter,font,footer,form,h1,h2,h3,h4,h5,h6,head,' +\n 'header,hr,html,i,g,image,img,input,js-templateNonce,label,legend,li,line,linearGradient,main,map,mark,marker,mask,menu,menuitem,meta,metadata,mpath,nav,ol,option,p,path,pattern,polygon,polyline,' +\n 'pre,radialGradient,rect,section,select,set,small,span,stop,strike,strong,style,sub,summary,sup,svg,switch,symbol,table,tbody,td,text,textPath,textarea,tfoot,th,thead,title,tr,tspan,u,ul,use,view';\n\n// None of the chars in the values of the map should appear as the map key to\n// avoid multiple escaping in a case like xssUtil.hardEscape(xssUtil.hardEscape(str))\n// Also, the escapeMap keys should NOT contain any initial values of unescapeMap.map.\n// The canonicalization would be broken. Eg. if escapeMap has a key 'c',\n// 'javascript' won't be canonicalized to 'javascript', because canonicExclusionMap\n// would have {'c': '*&*#*9*9*;*'}. 'c' would be excluded from canonic.\nvar escapeMap = {\n '(': '(',\n ')': ')',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\n// here, we are escaping all the characters in str that are special in regex's.\n// The str returned here is used to further construct a regex as follows: (?: str ).\n// Eg. str = \"a{}\" results in \"a\\{\\}\" after replace().\nvar makeStringRegex = function(str){\n return str == null ? '' : str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')\n};\n\n// Need to escape chars like ) and ( in order to construct correct regex later /(?: \\)|\\( )/g\nvar regexKeys = function(map) {\n var arr = [];\n for (var k in map) {\n if (Object.prototype.hasOwnProperty.call(map, k))\n arr.push(makeStringRegex(k));\n }\n return arr;\n};\n\n// unescapeMap is made from reverse of escapeMap + extra chars.\nvar unescapeMap = (function() {\n var map = {\n 'o': 'o',\n 'n': 'n',\n 's': 's',\n 'r': 'r',\n 'c': 'c',\n 'd': 'd',\n '&': '&'\n }, k;\n for (k in escapeMap) {\n if (Object.prototype.hasOwnProperty.call(escapeMap, k))\n map[escapeMap[k]] = k;\n }\n\n return map;\n})();\n\n//'hard' escape regex\nvar hardEscapeRegex = RegExp('(?:' + regexKeys(escapeMap).join('|') + ')', 'g');\n\n/*\n 'str' func argument should not be escaped (func returns false) if:\n - str is not a String\n - str is not an HTML; does not contain < and >\n */\nvar _isHTMLString = function (str) {\n if (!(typeof(str) === 'string' || str instanceof String))\n return false;\n\n // not an HTML string\n if (str.indexOf('<') < 0 && str.indexOf('>') < 0)\n return false;\n\n return true;\n};\n\n// This func. takes a string on input and retuns the string obfuscated it with an input char (obfChar).\n// It intersperses the obfuscation char around all the input string chars.\n// E.g. ( is converted to *&*#*4*0*;* value\nvar _stringCanonicObfuscator = function (str, obfChar) {\n var obfuscatedStr = obfChar;\n for (var i = 0; i < str.length; ++i) {\n obfuscatedStr += str.charAt(i);\n obfuscatedStr += obfChar;\n }\n\n return obfuscatedStr;\n};\n\n// The keys of canonicExclusionMap are the html encoded characters that are not canonicalized during soft\n// escape (They are the values from escapeMap used in hardEscape func). The values of the canonicExclusionMap\n// are its modified keys such that canonicalization does not decode the map keys found in the string.\n// It should be unlikely that these mutant values would be found in the application data stream.\n// If the values are found in the string by accident, they would be replaced by the map keys (danger)\nvar canonicExclusionMap = (function() {\n var map = {}, key;\n\n for (key in escapeMap) {\n if (Object.prototype.hasOwnProperty.call(escapeMap, key)) {\n var obfuscStr = escapeMap[key];\n map[obfuscStr] = _stringCanonicObfuscator(obfuscStr, '*');\n }\n }\n\n //textarea needs to be obfuscated because we are inserting into