Updated production build

This commit is contained in:
n1474335 committed 2017-03-21 23:10:18 +00:00
1 parent 45640f2f2e
commit 87d6459074
4 files changed
+27 -27

No files matched your search

+12 -12
View File
@@ -85,11 +85,11 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.clo,.opn,.pun{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.kwd,.tag,.typ{font-weight:700}.str{color:#060}.kwd{color:#006}.com{color:#600;font-style:italic}.typ{color:#404}.lit{color:#044}.clo,.opn,.pun{color:#440}.tag{color:#006}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}#content-wrapper{top:0;left:0;width:100%;height:100%}#banner{height:30px;width:100%;text-align:center;line-height:30px}#wrapper{top:30px;bottom:0;width:100%}div#operations,div#recipe{width:50%;height:100%}div#input,div#output{width:100%;height:50%}.title{padding:10px;height:43px}.textarea-wrapper{top:43px;bottom:0;width:100%;overflow:hidden}#output-html,textarea{width:100%;height:100%;border:none;padding:3px;-moz-padding-start:3px;-moz-padding-end:3px}#input-text,#output-html,#output-text{position:relative;border-width:0;margin:0;resize:none;background-color:transparent;white-space:pre-wrap;word-wrap:break-word}#output-html{display:none;overflow-y:auto;-moz-padding-start:1px}.split{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:auto;position:relative}.gutter.gutter-horizontal,.split.split-horizontal{height:100%;float:left}#input-highlighter,#output-highlighter{position:absolute;left:0;top:0;width:100%;height:100%;padding:3px;margin:0;overflow:hidden;letter-spacing:normal;white-space:pre-wrap;word-wrap:break-word;color:#fff;background-color:transparent;border:none}#op-list,#rec-list,.op-list{margin:0;padding:0;list-style-type:none}#op-list,#rec-list{position:absolute;top:43px;bottom:0;width:100%}.io-btn-group,.io-info{margin-top:-4px;float:right}#rec-list{bottom:120px;overflow:auto}.operation{cursor:pointer;padding:10px;list-style-type:none;position:relative}#controls{position:absolute;width:100%;height:120px;bottom:0;padding:10px}.io-info{margin-right:20px;height:30px;text-align:right;line-height:10px}.arg-group,.inline-args input[type=checkbox]{margin-top:10px}#input-info{line-height:15px}.arg-group{display:table;width:100%}.arg-group-text{display:block}.inline-args{float:left;width:auto;margin-right:30px;height:34px}.inline-args input[type=number]{width:100px}.arg-input{display:table-cell;width:100%;padding:6px 12px}.short-string{width:150px}select{display:block}.arg[disabled]{cursor:not-allowed;opacity:1}textarea.arg{width:100%;min-height:50px;height:70px;margin-top:5px;border:1px solid #ddd;resize:vertical}.arg-label{display:table-cell;width:1px;padding-right:10px;font-weight:400;white-space:pre}.title,optgroup{font-weight:700}.editable-option{position:relative;display:inline-block}.editable-option-select{min-width:250px}.editable-option-input{position:absolute;top:1px;left:1px;width:calc(100% - 20px);height:calc(100% - 2px)!important;border:none!important}#operational-controls{width:65%;float:left;text-align:center}#bake-group{display:table;width:100%}#bake{display:table-cell;width:100%;border-top-right-radius:0;border-bottom-right-radius:0}#auto-bake-label{display:table-cell;padding:1px;line-height:1.35;width:60px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid #5cb85c}#auto-bake-label:hover{border-left-color:#398439}#auto-bake-label div{font-size:10px;padding:2px}#extra-controls{float:right;width:35%;padding-left:10px}.op-icon{float:right;margin-left:10px;margin-top:3px}.recip-icons{position:absolute;top:13px;right:10px;height:16px}.recip-icon{margin-right:10px;vertical-align:baseline;float:right}.disable-icon{width:16px;height:16px;margin-top:-1px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAACfElEQVQ4y6WTPWgTYRjHf8nlfVvuoDVIP4Yuki4WHKoUqggFRUTsUEGkVG2hmCq6OnTwIxYHB+eijZOKdLNDW1pKKyGigh8dBHUJElxyBgx3vEnukvdyDrUhRXDxGR+e/+/583xEwjDkfyIGwNVTzURm4tYAMA6MAoN/0tvAMrA48uL+l2bx4w0iYRjSuHKC6OnTZLqHk8CcaZq9bW1tSCkBqNVq+L5PpVIpAHdGfr5LN9bXiT7Z2nGgteb1/qFkLBJZ6OjowHEc8vk8pVIJgHg8TldXF52dnb2u6y5s7R/iuF5JSyAKkLl4eyAMwznLsrBtm1wu99Z13amk+BFJih8R13WXANrb27EsizAM5zIXbw+wC9Baj0spe5VSFAqFt4ZhXJ6ufXuK55E5cDKVSCTGenp6yGazKKWQUvZqrcebgCAIRqWUOI6DEOLR1K8POapVMgfPpoC7u2LLspYcx0FKSRAEo60OBg3DwPd9Jr5vPqWvj8zh83vEwL2J75vnfN/HMAy01oPNNQZBQBAEO1OvVsl0D/8lTuZfpYDd7gRBQKuD7XK5jGmarB679PIv8deVFJUKq8cuTZqmSblcRmu93QpYVkohhMCyrLE94n2/UlSrbJy5kRBCXBNCoJRCa73cClh0XbfgeR6WZZHNZunv719KvnmeYnWVVxdmJ2Ox2DMhxFHP83Bdt6C1XgR2LvHzQDvvb84npZQL8Xgc0zSJRqN7br7RaFCpVCiVStRqtZmhh9fTh754TQdMr82nPc+bsW27UCwWUUpRr9ep1+sopSgWi9i2XfA8b2Z6bT6ttabp4GMi0uz0aXbhn890+MFM85mO5MIdwP/Eb1pMUCdctYRzAAAAAElFTkSuQmCC) no-repeat}.disable-icon-selected{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVR4XqWTP0tbURjGn9zY3mjBwLine truncated
*/.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.clo,.opn,.pun{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.kwd,.tag,.typ{font-weight:700}.str{color:#060}.kwd{color:#006}.com{color:#600;font-style:italic}.typ{color:#404}.lit{color:#044}.clo,.opn,.pun{color:#440}.tag{color:#006}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}#content-wrapper{top:0;left:0;width:100%;height:100%}#banner{height:30px;width:100%;text-align:center;line-height:30px}#wrapper{top:30px;bottom:0;width:100%}div#operations,div#recipe{width:50%;height:100%}div#input,div#output{width:100%;height:50%}.title{padding:10px;height:43px}.textarea-wrapper{top:43px;bottom:0;width:100%;overflow:hidden}#output-html,textarea{width:100%;height:100%;border:none;padding:3px;-moz-padding-start:3px;-moz-padding-end:3px}#input-text,#output-html,#output-text{position:relative;border-width:0;margin:0;resize:none;background-color:transparent;white-space:pre-wrap;word-wrap:break-word}#output-html{display:none;overflow-y:auto;-moz-padding-start:1px}.split{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:auto;position:relative}.gutter.gutter-horizontal,.split.split-horizontal{height:100%;float:left}#input-highlighter,#output-highlighter{position:absolute;left:0;top:0;width:100%;height:100%;padding:3px;margin:0;overflow:hidden;letter-spacing:normal;white-space:pre-wrap;word-wrap:break-word;color:#fff;background-color:transparent;border:none}#op-list,#rec-list,.op-list{margin:0;padding:0;list-style-type:none}#op-list,#rec-list{position:absolute;top:43px;bottom:0;width:100%}.io-btn-group,.io-info{margin-top:-4px;float:right}#rec-list{bottom:120px;overflow:auto}.operation{cursor:pointer;padding:10px;list-style-type:none;position:relative}#controls{position:absolute;width:100%;height:120px;bottom:0;padding:10px}.io-info{margin-right:20px;height:30px;text-align:right;line-height:10px}.arg-group,.inline-args input[type=checkbox]{margin-top:10px}#input-info{line-height:15px}.arg-group{display:table;width:100%}.arg-group-text{display:block}.inline-args{float:left;width:auto;margin-right:30px;height:34px}.inline-args input[type=number]{width:100px}.arg-input{display:table-cell;width:100%;padding:6px 12px}.short-string{width:150px}select{display:block}.arg[disabled]{cursor:not-allowed;opacity:1}textarea.arg{width:100%;min-height:50px;height:70px;margin-top:5px;border:1px solid #ddd;resize:vertical}.arg-label{display:table-cell;width:1px;padding-right:10px;font-weight:400;white-space:pre}.title,optgroup{font-weight:700}.editable-option{position:relative;display:inline-block}.editable-option-select{min-width:250px}.editable-option-input{position:absolute;top:1px;left:1px;width:calc(100% - 20px);height:calc(100% - 2px)!important;border:none!important}#operational-controls{width:65%;float:left;text-align:center}#bake-group{display:table;width:100%}#bake{display:table-cell;width:100%;border-top-right-radius:0;border-bottom-right-radius:0}#auto-bake-label{display:table-cell;padding:1px;line-height:1.35;width:60px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid #5cb85c}#auto-bake-label:hover{border-left-color:#398439}#auto-bake-label div{font-size:10px;padding:2px}#extra-controls{float:right;width:35%;padding-left:10px}.op-icon{float:right;margin-left:10px;margin-top:3px}.recip-icons{position:absolute;top:13px;right:10px;height:16px}.recip-icon{margin-right:10px;vertical-align:baseline;float:right}.disable-icon{width:16px;height:16px;margin-top:-1px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAACfElEQVQ4y6WTPWgTYRjHf8nlfVvuoDVIP4Yuki4WHKoUqggFRUTsUEGkVG2hmCq6OnTwIxYHB+eijZOKdLNDW1pKKyGigh8dBHUJElxyBgx3vEnukvdyDrUhRXDxGR+e/+/583xEwjDkfyIGwNVTzURm4tYAMA6MAoN/0tvAMrA48uL+l2bx4w0iYRjSuHKC6OnTZLqHk8CcaZq9bW1tSCkBqNVq+L5PpVIpAHdGfr5LN9bXiT7Z2nGgteb1/qFkLBJZ6OjowHEc8vk8pVIJgHg8TldXF52dnb2u6y5s7R/iuF5JSyAKkLl4eyAMwznLsrBtm1wu99Z13amk+BFJih8R13WXANrb27EsizAM5zIXbw+wC9Baj0spe5VSFAqFt4ZhXJ6ufXuK55E5cDKVSCTGenp6yGazKKWQUvZqrcebgCAIRqWUOI6DEOLR1K8POapVMgfPpoC7u2LLspYcx0FKSRAEo60OBg3DwPd9Jr5vPqWvj8zh83vEwL2J75vnfN/HMAy01oPNNQZBQBAEO1OvVsl0D/8lTuZfpYDd7gRBQKuD7XK5jGmarB679PIv8deVFJUKq8cuTZqmSblcRmu93QpYVkohhMCyrLE94n2/UlSrbJy5kRBCXBNCoJRCa73cClh0XbfgeR6WZZHNZunv719KvnmeYnWVVxdmJ2Ox2DMhxFHP83Bdt6C1XgR2LvHzQDvvb84npZQL8Xgc0zSJRqN7br7RaFCpVCiVStRqtZmhh9fTh754TQdMr82nPc+bsW27UCwWUUpRr9ep1+sopSgWi9i2XfA8b2Z6bT6ttabp4GMi0uz0aXbhn890+MFM85mO5MIdwP/Eb1pMUCdctYRzAAAAAElFTkSuQmCC) no-repeat}.disable-icon-selected{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVR4XqWTP0tbURjGn9zY3mjBwLine truncated
if (navigator.userAgent && navigator.userAgent.match(/MSIE \d\d?\./)) {
document.write("Internet Explorer is not supported, please use Firefox or Chrome instead");
alert("Internet Explorer is not supported, please use Firefox or Chrome instead");
}</script><noscript>JavaScript is not enabled. Good luck.</noscript></span><a href="#" id="support" class="banner-right" data-toggle="modal" data-target="#support-modal">About / Support<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAE1UlEQVR4XoWVC0xT1x/Hv729t7e3LSoqWIRNW6uoARVH5mPGzfcmRvbSacISI5n42Mss25jROd0mOjXO7C9/3XSZdvjIlsxFYCrETWe34nQpD4GIIKgDIaAilpZH+9svJ9BUg/O0n9w2J+fz+55f77nVEREeN2wpWw0AEph7TPW1vMzHLpL/QzYJwGpmKjOM8TMSGJ6rAHCW2cFF6vsSiMR9pMtiMhIcVvMz44eBr0gcaRXzZVcbUXq1AS5PbRd/9gFYxfLDD4ulh6RjAFRqqpzxyco55q83vIwnrAPgKqnD29tP4N0deSgquwl73GAc2LhI2bRqbj9NVfbxulzG1KeYpSqA/LH2IcPz/5du5gVIXevE9kO/o8BdjVstXty67UXhXzXYffRPvP7xjxgcacEve5ZbEh0xswHsflTirZpRic5e96Jup/McPjvwK28/BlvemofjO9Nw7ps3ULBnGQ5uegVL5o1DEMCOHBcO5Rfjq8xUlYMs5XAzQjYiwvD5WZMYrzP3Eh095aHExV9SctoeOna6hB41jhWWUcraHHr+HSeddlfR4ZMesqVkNbLHws5Q4jcnxMeYZj7twC5OoaqKgACccl/F+r1nkLEtF0cKLocCzUq2QdNUaEYDvs31YO7kkUgaHWsGkBLeiqnTkmzcyyp0BwgGRYZqUOA8WYq9P13ClZt3cN8XgKv0Zkgs6yWYNIMQB0iHC+X1mJ48wgRgMnruSSOAJ8dxP8uvNUFR9EJsMMhQZL0oYFQNQpK+YEJIXFLTzFIVRhbzPGob7iLRYdVJkm56b+LxjI/vU1TWNkNmmcJigSgg2oKM1CQkjRoipNcb7yHPXSvSaizledQ1tmHM8CgQ0Zjek3efkXQ6HSTenqzXM5JIK8TMwmkOJI8WB0QInIVXoHBBjgdOCPBbkWWwA/zy94orGLm8pgkJ9iH4g/uoZzEDUYQLjHdEo3ecKa7nggoknuvq6hbFgkHCiLhIXLnezMV0HtEKPo5BAJXl1bcw1h4NTsBIAr2kEwWyj5dgs/MCvvjBg7vt3dA0g+gt70bsTC9LsA/tDw4XDASC58IPyNnzxXWB556ywWiQRQodw1sTpM0ZjRUpCVg2Jx6REUaYNFUIuXXghNB4TaI9CmeKqvwA3OHibe7iOl9R2Q2kp04UYhIQiAjRkSZYB5oQPUADKAifvxPd3QFuQZC/EhZMseO8p47+rvynHMCpkLjn0bdm4/9Pt09OiMPE+BixKBggcQUhNDo6u+HzdcDf0YVO7nF8XH/YrBFYtzuvnduwOPSsJqIQfCQLlmQe7mhobqM8VxUt//wEpW/NpzW7Cum97LP00X4XbfjOTRsPFtGn31+goooGarrjpUUf5Hj5PKwOd0kIG0R4qaj0+pF5q/d7iYLIWjUDrz47CuPsg2BW9TAZJIziH2nmhFisWZiI5tttNHPFPu/Fyzfer8n9MBsPyugBAFisU1a+Zpu/pSVt/VHf/uMXg+7SG9TS2i7g5zEd+PliYGlmjt/+wuby/o4ZswHEMpYwT/g/iLgLIgEMZAYp5qih/WzTZhksUQlqxOB4yOYoHQLBgL+1ydfaUNXZ2lDRWv2bC6AWAHcYvqKefb4+/5pYLgPQGBMT0UM/xsJIjK/ntLb1XL09+ClM9i/zfjVLWKBgfAAAAABJRU5ErkJggg=="></a><a href="#" id="options" class="banner-right">Options<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAD4UlEQVR4XpWTbWxTVRzGn9vhWlnZG1NYlwFLMGCUYfEt2dqwuDBfljGCUZkjgCgZyBeWBQ1ki1TmuvkFkw3JNAw1BhwmOslmtCwZmtDooCs6MCM4m6bQjtEVUtrStds9/s9J7/1wa5f4JE/+Pb25vzzPPedI0OgDEoAjEML75DGbzTaM/ykd0nVk/7v7cPjwITQ0bOsCcL6lpaUWgISFJXHeQmDT8U9PgMkySkwmDofRaBwEwDLBn9nzdfGHJ87JNL/SgiX6Ak+BRLUDHG7v7MJs/AHKysq0qbRQ/p6/bW8dTHlYTuthBSy1trbaALgJflSBWywWSFJaIRnpcl/6rBEulwtvVeZUm1caqkFaRH4oKyurbd/ePdBlZR8E0FpeXo61a9eAMZngEhKz0d95I2pzJT0tMDk5CZ/Ph49+jIJkUqv19vaO12+ue3Lx4oeRTCQIyIQV5eYXoKPDLl7ibVQo4HYefx0V+88iJfPlz7dfUcGUpthgMPz1Uk11/uNPrOMp1b0K37sLAc/LR4e9U8CH/I8t49DR3jfnnms6zVtvIuB/H0leta+v7zJNpnhoaCgxOxtnwekpdud2gMViUXbqVB+jtCwej4spkqeLomUQbwHASu7nZzo0E8TVGzfx8YAX3x+tRVXzgFpdA1DqqsrYhMxODoyKhB6PhzW0fcvOnDnN+DMNULPIcOiDt3x+ZV1UUooLx7ZgV6cDW8wGvLF5E9rb25UNnQYwr7nSmaGv1axB+4GXcWD786C1qP/qs3koLcrBVMDP24Dkp7kOGukWgu6ot0COBLEkPx/V5lwBnxj7FVarFQZ9Nmbu3Fbgbr75GnA69J2t67F760Y4fj6PX1zXAd0izM/NqWeVqmPpI8v4scwI12mhh962oLG2Amd/GMalax5UULqJib+RTMTBFQ6Hg4lE4mkOLyx6FCQVrtfrVbh6NVe9YmdfDv7GQvdjzNbdz3a9d4yd/OlPdvCT71hjcxfjz1fXNK8GkEM2NjU1VRKEybLMbvq8bOfOHeI3/09NTEndzbRB9VXr0X/uAjw+P6wvVIukfu8NXLwuIzk9Zo4FvbkACslLx8fHk+RantxEJ6anp4e3gZD4eCmtXFWKeZlh+pYnDRr5x1EVnBhJpoIU8Ol0OucABCKRyLbu7u5vQqEQKPFoMpm0A5BU8PCIEzNhMza+WIc/rqlQxLwjlQQNavZEVu6Aw+FwkVcAiJLjZLHLAly4vHjD4EX/GEhu8oNYRED1umiVXFByD4ACllLmYqm1TJ4XQGHxm6k3b8PuL8yhqQCHCxmXZK+42t8ypbn3UvpUn8spM+5/AT4U+4f4kq1OAAAAAElFTkSuQmCC"></a></div><div id="wrapper"><div id="operations" class="split split-horizontal no-select"><div class="title no-select">Operations</div><input type="search" class="form-control" id="search" placeholder="Search..." autocomplete="off"><ul class="op-list" id="search-results"></ul><div class="panel-group no-select" id="categories"></div></div><div id="recipe" class="split split-horizontal no-select"><div class="title no-select">Recipe</div><ul id="rec-list" class="no-select"></ul><div id="controls" class="no-select"><div id="operational-controls"><div id="bake-group"><button type="button" class="btn btn-success btn-lg" id="bake"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAGLklEQVR4Xq1XXWxUxxX+7t2769312muE7UCMowSXQDBxHmpo5VQqimQjRaiKlPBQiahKFaG8hCrICc4LT0lDhR8ixXnCElFaAQ9RUWLIgsHgKqCkpBY/TYrruja73nXtrL3e3/v7M5kzMtfRZlcBup/0aWbunXPON+foXp2RGGMgSJKEchw7diza1dV1QpblbgDtq/sq7iU/qxPYjnMLwLRt22f37t37MQC32n4FlSGPjIy8EolEhjs6OsBHBIJBWKYJ07Q4TVi2LdayoiDgDyAQUDgDkCUff64/YxjGM4VC4cXLly+fOHToUOjmzZt6xUCojGAoFBru6elB26ZNCPLgtmWBnwiO48B1XTicNDIiE3NBn0/mghvA7eHz+0FIJpP1qIjqGQiRMzoRnZTmXoq9MqxRU0vImxZ0XYdu6HytolDIT01P/3d8YGBgGID7oAJ8PwwmyzI/mY+EiCzkclkUcjkezBDrcDgsytTa2oKWllZMTf0be/bseRVAmjPDWXpQASKoZVli5LXEwuIictkVmIaJaNM6NESjaICEMA8cqqtDXbAOoWCQKIRyJDkXOI2HyYAzMTHxRwa8KUHyMwAdHZvRsbkDsuKHpmlQOTVVg8QFyjw7PsUvSKBx9dQaPDyYAO3w4cMnAHzO2XDt7zdiyYUMEqkluMwFwCCJ8pR/lhKEIE4PDylA55xfrV/Lmf5d2NbVwmvdhECoCYq/AbISAaR6JGZmcHc2Adex4GcmbDMPx2H/twCXU12lEqiPQjNCsJiMgOVAknUsLi4gHp9HV/dTeGH/87BtF6f/fAFNIQZeDABp3A/uKLine truncated
}</script><noscript>JavaScript is not enabled. Good luck.</noscript></span><a href="#" id="support" class="banner-right" data-toggle="modal" data-target="#support-modal">About / Support<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAE1UlEQVR4XoWVC0xT1x/Hv729t7e3LSoqWIRNW6uoARVH5mPGzfcmRvbSacISI5n42Mss25jROd0mOjXO7C9/3XSZdvjIlsxFYCrETWe34nQpD4GIIKgDIaAilpZH+9svJ9BUg/O0n9w2J+fz+55f77nVEREeN2wpWw0AEph7TPW1vMzHLpL/QzYJwGpmKjOM8TMSGJ6rAHCW2cFF6vsSiMR9pMtiMhIcVvMz44eBr0gcaRXzZVcbUXq1AS5PbRd/9gFYxfLDD4ulh6RjAFRqqpzxyco55q83vIwnrAPgKqnD29tP4N0deSgquwl73GAc2LhI2bRqbj9NVfbxulzG1KeYpSqA/LH2IcPz/5du5gVIXevE9kO/o8BdjVstXty67UXhXzXYffRPvP7xjxgcacEve5ZbEh0xswHsflTirZpRic5e96Jup/McPjvwK28/BlvemofjO9Nw7ps3ULBnGQ5uegVL5o1DEMCOHBcO5Rfjq8xUlYMs5XAzQjYiwvD5WZMYrzP3Eh095aHExV9SctoeOna6hB41jhWWUcraHHr+HSeddlfR4ZMesqVkNbLHws5Q4jcnxMeYZj7twC5OoaqKgACccl/F+r1nkLEtF0cKLocCzUq2QdNUaEYDvs31YO7kkUgaHWsGkBLeiqnTkmzcyyp0BwgGRYZqUOA8WYq9P13ClZt3cN8XgKv0Zkgs6yWYNIMQB0iHC+X1mJ48wgRgMnruSSOAJ8dxP8uvNUFR9EJsMMhQZL0oYFQNQpK+YEJIXFLTzFIVRhbzPGob7iLRYdVJkm56b+LxjI/vU1TWNkNmmcJigSgg2oKM1CQkjRoipNcb7yHPXSvSaizledQ1tmHM8CgQ0Zjek3efkXQ6HSTenqzXM5JIK8TMwmkOJI8WB0QInIVXoHBBjgdOCPBbkWWwA/zy94orGLm8pgkJ9iH4g/uoZzEDUYQLjHdEo3ecKa7nggoknuvq6hbFgkHCiLhIXLnezMV0HtEKPo5BAJXl1bcw1h4NTsBIAr2kEwWyj5dgs/MCvvjBg7vt3dA0g+gt70bsTC9LsA/tDw4XDASC58IPyNnzxXWB556ywWiQRQodw1sTpM0ZjRUpCVg2Jx6REUaYNFUIuXXghNB4TaI9CmeKqvwA3OHibe7iOl9R2Q2kp04UYhIQiAjRkSZYB5oQPUADKAifvxPd3QFuQZC/EhZMseO8p47+rvynHMCpkLjn0bdm4/9Pt09OiMPE+BixKBggcQUhNDo6u+HzdcDf0YVO7nF8XH/YrBFYtzuvnduwOPSsJqIQfCQLlmQe7mhobqM8VxUt//wEpW/NpzW7Cum97LP00X4XbfjOTRsPFtGn31+goooGarrjpUUf5Hj5PKwOd0kIG0R4qaj0+pF5q/d7iYLIWjUDrz47CuPsg2BW9TAZJIziH2nmhFisWZiI5tttNHPFPu/Fyzfer8n9MBsPyugBAFisU1a+Zpu/pSVt/VHf/uMXg+7SG9TS2i7g5zEd+PliYGlmjt/+wuby/o4ZswHEMpYwT/g/iLgLIgEMZAYp5qih/WzTZhksUQlqxOB4yOYoHQLBgL+1ydfaUNXZ2lDRWv2bC6AWAHcYvqKefb4+/5pYLgPQGBMT0UM/xsJIjK/ntLb1XL09+ClM9i/zfjVLWKBgfAAAAABJRU5ErkJggg=="></a><a href="#" id="options" class="banner-right">Options<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAD4UlEQVR4XpWTbWxTVRzGn9vhWlnZG1NYlwFLMGCUYfEt2dqwuDBfljGCUZkjgCgZyBeWBQ1ki1TmuvkFkw3JNAw1BhwmOslmtCwZmtDooCs6MCM4m6bQjtEVUtrStds9/s9J7/1wa5f4JE/+Pb25vzzPPedI0OgDEoAjEML75DGbzTaM/ykd0nVk/7v7cPjwITQ0bOsCcL6lpaUWgISFJXHeQmDT8U9PgMkySkwmDofRaBwEwDLBn9nzdfGHJ87JNL/SgiX6Ak+BRLUDHG7v7MJs/AHKysq0qbRQ/p6/bW8dTHlYTuthBSy1trbaALgJflSBWywWSFJaIRnpcl/6rBEulwtvVeZUm1caqkFaRH4oKyurbd/ePdBlZR8E0FpeXo61a9eAMZngEhKz0d95I2pzJT0tMDk5CZ/Ph49+jIJkUqv19vaO12+ue3Lx4oeRTCQIyIQV5eYXoKPDLl7ibVQo4HYefx0V+88iJfPlz7dfUcGUpthgMPz1Uk11/uNPrOMp1b0K37sLAc/LR4e9U8CH/I8t49DR3jfnnms6zVtvIuB/H0leta+v7zJNpnhoaCgxOxtnwekpdud2gMViUXbqVB+jtCwej4spkqeLomUQbwHASu7nZzo0E8TVGzfx8YAX3x+tRVXzgFpdA1DqqsrYhMxODoyKhB6PhzW0fcvOnDnN+DMNULPIcOiDt3x+ZV1UUooLx7ZgV6cDW8wGvLF5E9rb25UNnQYwr7nSmaGv1axB+4GXcWD786C1qP/qs3koLcrBVMDP24Dkp7kOGukWgu6ot0COBLEkPx/V5lwBnxj7FVarFQZ9Nmbu3Fbgbr75GnA69J2t67F760Y4fj6PX1zXAd0izM/NqWeVqmPpI8v4scwI12mhh962oLG2Amd/GMalax5UULqJib+RTMTBFQ6Hg4lE4mkOLyx6FCQVrtfrVbh6NVe9YmdfDv7GQvdjzNbdz3a9d4yd/OlPdvCT71hjcxfjz1fXNK8GkEM2NjU1VRKEybLMbvq8bOfOHeI3/09NTEndzbRB9VXr0X/uAjw+P6wvVIukfu8NXLwuIzk9Zo4FvbkACslLx8fHk+RantxEJ6anp4e3gZD4eCmtXFWKeZlh+pYnDRr5x1EVnBhJpoIU8Ol0OucABCKRyLbu7u5vQqEQKPFoMpm0A5BU8PCIEzNhMza+WIc/rqlQxLwjlQQNavZEVu6Aw+FwkVcAiJLjZLHLAly4vHjD4EX/GEhu8oNYRED1umiVXFByD4ACllLmYqm1TJ4XQGHxm6k3b8PuL8yhqQCHCxmXZK+42t8ypbn3UvpUn8spM+5/AT4U+4f4kq1OAAAAAElFTkSuQmCC"></a></div><div id="wrapper"><div id="operations" class="split split-horizontal no-select"><div class="title no-select">Operations</div><input type="search" class="form-control" id="search" placeholder="Search..." autocomplete="off"><ul class="op-list" id="search-results"></ul><div class="panel-group no-select" id="categories"></div></div><div id="recipe" class="split split-horizontal no-select"><div class="title no-select">Recipe</div><ul id="rec-list" class="no-select"></ul><div id="controls" class="no-select"><div id="operational-controls"><div id="bake-group"><button type="button" class="btn btn-success btn-lg" id="bake"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAGLklEQVR4Xq1XXWxUxxX+7t2769312muE7UCMowSXQDBxHmpo5VQqimQjRaiKlPBQiahKFaG8hCrICc4LT0lDhR8ixXnCElFaAQ9RUWLIgsHgKqCkpBY/TYrruja73nXtrL3e3/v7M5kzMtfRZlcBup/0aWbunXPON+foXp2RGGMgSJKEchw7diza1dV1QpblbgDtq/sq7iU/qxPYjnMLwLRt22f37t37MQC32n4FlSGPjIy8EolEhjs6OsBHBIJBWKYJ07Q4TVi2LdayoiDgDyAQUDgDkCUff64/YxjGM4VC4cXLly+fOHToUOjmzZt6xUCojGAoFBru6elB26ZNCPLgtmWBnwiO48B1XTicNDIiE3NBn0/mghvA7eHz+0FIJpP1qIjqGQiRMzoRnZTmXoq9MqxRU0vImxZ0XYdu6HytolDIT01P/3d8YGBgGID7oAJ8PwwmyzI/mY+EiCzkclkUcjkezBDrcDgsytTa2oKWllZMTf0be/bseRVAmjPDWXpQASKoZVli5LXEwuIictkVmIaJaNM6NESjaICEMA8cqqtDXbAOoWCQKIRyJDkXOI2HyYAzMTHxRwa8KUHyMwAdHZvRsbkDsuKHpmlQOTVVg8QFyjw7PsUvSKBx9dQaPDyYAO3w4cMnAHzO2XDt7zdiyYUMEqkluMwFwCCJ8pR/lhKEIE4PDylA55xfrV/Lmf5d2NbVwmvdhECoCYq/AbISAaR6JGZmcHc2Adex4GcmbDMPx2H/twCXU12lEqiPQjNCsJiMgOVAknUsLi4gHp9HV/dTeGH/87BtF6f/fAFNIQZeDABp3A/uKLine truncated
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
@@ -371,13 +371,13 @@ var a=new MessageChannel;return a.port1.onmessage=j,function(){return a.port2.po
function(){function a(a){this.code=a,this.message=Vc[a]}function b(b){var c=b.match(/\$?(?:(?![0-9-])(?:\w[\w.-]*|\*):)?(?![0-9-])(?:\w[\w.-]*|\*)|\(:|:\)|\/\/|\.\.|::|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?|\.\d+(?:[eE][+-]?\d+)?|"[^"]*(?:""[^"]*)*"|'[^']*(?:''[^']*)*'|<<|>>|[!<>]=|(?![0-9-])[\w-]+:\*|\s+|./g);if(c){for(var d=0,e=0,f=c.length;e<f;e++)"(:"==c[e]?d++:":)"==c[e]&&d?d--:d||/^\s/.test(c[e])||(this[this.length++]=c[e]);if(d)throw new a("XPST0003")}}function c(){}function d(a,b,d,e){this.staticContext=a,this.item=b,this.scope=d||{},this.stack={},this.DOMAdapter=e||new c;var f=new Ec,g=f.getTimezoneOffset();this.dateTime=new _a(f.getFullYear(),f.getMonth()+1,f.getDate(),f.getHours(),f.getMinutes(),f.getSeconds()+f.getMilliseconds()/1e3,-g),this.timezone=new Ab(0,Gc.abs(~~(g/60)),Gc.abs(g%60),0,g>0)}function e(){this.dataTypes={},this.documents={},this.functions={},this.collations={},this.collections={}}function f(a,b,c){Xc[a]=c,Yc[a]=b}function g(a,b){Zc[a]=b}function h(c,d){var e=new b(c),f=l(e,d);if(!e.eof())throw new a("XPST0003");if(!f)throw new a("XPST0003");this.internalExpression=f}function i(){}function j(){}function k(){this.items=[]}function l(b,c){var d;if(!b.eof()&&(d=m(b,c))){var e=new k;for(e.items.push(d);","==b.peek();){if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");e.items.push(d)}return e}}function m(a,b){if(!a.eof())return s(a,b)||o(a,b)||u(a,b)||K(a,b)}function n(){this.bindings=[],this.returnExpr=null}function o(b,c){if("for"==b.peek()&&"$"==b.peek(1).substr(0,1)){b.next();var d,e=new n;do e.bindings.push(q(b,c));while(","==b.peek()&&b.next());if("return"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");return e.returnExpr=d,e}}function p(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function q(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new p(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function r(a,b,c){this.condExpr=a,this.thenExpr=b,this.elseExpr=c}function s(b,c){var d,e,f;if("if"==b.peek()&&"("==b.peek(1)){if(b.next(2),b.eof()||!(d=l(b,c)))throw new a("XPST0003");if(")"!=b.peek())throw new a("XPST0003");if(b.next(),"then"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");if("else"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(f=m(b,c)))throw new a("XPST0003");return new r(d,e,f)}}function t(a){this.quantifier=a,this.bindings=[],this.satisfiesExpr=null}function u(b,c){var d=b.peek();if(("some"==d||"every"==d)&&"$"==b.peek(1).substr(0,1)){b.next();var e,f=new t(d);do f.bindings.push(w(b,c));while(","==b.peek()&&b.next());if("satisfies"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");return f.satisfiesExpr=e,f}}function v(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function w(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new v(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function x(a,b,c){this.left=a,this.right=b,this.operator=c}function y(b,c){var d,e;if(!b.eof()&&(d=ya(b,c))){if(!(b.peek()in cd))return d;var f=b.peek();if(b.next(),b.eof()||!(e=ya(b,c)))throw new a("XPST0003");return new x(d,e,f)}}function z(a,b){var c=vc(a.left.evaluate(b),b);if(!c.length)return new Xa(!1);var d=vc(a.right.evaluate(b),b);if(!d.length)return new Xa(!1);for(var e,f,g=!1,h=0,i=c.length;h<i&&!g;h++)for(var j,k,l=0,m=d.length;l<m&&!g;l++)f=c[h],k=d[l],e=f instanceof xb,j=k instanceof xb,e&&j?(f=ub.cast(f),k=ub.cast(k)):(e?k instanceof Ab?f=Ab.cast(f):k instanceof yb?f=yb.cast(f):k.primitiveKind&&(f=Zc[k.primitiveKind].cast(f)):j&&(f instanceof Ab?k=Ab.cast(k):f instanceof yb?k=yb.cast(k):f.primitiveKind&&(k=Zc[f.primitiveKind].cast(k))),f instanceof Va&&(f=ub.cast(f)),k instanceof Va&&(k=ub.cast(k))),g=ad[_c[a.operator]](f,k,b).valueOf();return new Xa(g)}function A(a,b){var c=vc(a.left.evaluate(b),b);if(!c.length)return null;ua(b,c,"?");var d=vc(a.right.evaluate(b),b);if(!d.length)return null;ua(b,d,"?");var e=c[0],f=d[0];return e instanceof xb&&(e=ub.cast(e)),f instanceof xb&&(f=ub.cast(f)),e instanceof Va&&(e=ub.cast(e)),f instanceof Va&&(f=ub.cast(f)),ad[a.operator](e,f,b)}function B(a,b){var c=a.left.evaluate(b);if(!c.length)return null;ua(b,c,"?"),ta(b,c,Zb);var d=a.right.evaluate(b);return d.length?(ua(b,d,"?"),ta(b,d,Zb),bd[a.operator](c[0],d[0],b)):null}function C(a){this.left=a,this.items=[]}function D(b,c){var d;if(!b.eof()&&(d=F(b,c))){if(!(b.peek()in dd))return d;for(var e,f=new C(d);(e=b.peek())in dd;){if(b.next(),b.eof()||!(d=F(b,c)))throw new a("XPST0003");f.items.push([e,d])}return f}}funLine truncated
if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.lt=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(0))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.ge=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-greater-than"].call(d,Xc.compare.call(d,b,c),new Cb(-1))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")},ad.le=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-greater-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-greater-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(1))}else b instanceof Ya?c instanceof Ya&&(e="date-greater-than"):b instanceof vb?c instanceof vb&&(e="time-greater-than"):b instanceof _a?c instanceof _a&&(e="dateTime-greater-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-greater-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-greater-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")};var bd={};bd.is=function(a,b,c){return $c["is-same-node"].call(c,a,b)},bd[">>"]=function(a,b,c){return $c["node-after"].call(c,a,b)},bd["<<"]=function(a,b,c){return $c["node-before"].call(c,a,b)};var cd={"=":z,"!=":z,"<":z,"<=":z,">":z,">=":z,eq:A,ne:A,lt:A,le:A,gt:A,ge:A,is:B,">>":B,"<<":B};C.prototype.left=null,C.prototype.items=null;var dd={};dd["+"]=function(b,c,d){var e="",f=!1;if(Ua(b)?Ua(c)&&(e="numeric-add"):b instanceof Ya?c instanceof yb?e="add-yearMonthDuration-to-date":c instanceof Ab&&(e="add-dayTimeDuration-to-date"):b instanceof yb?c instanceof Ya?(e="add-yearMonthDuration-to-date",f=!0):c instanceof _a?(e="add-yearMonthDuration-to-dateTime",f=!0):c instanceof yb&&(e="add-yearMonthDurations"):b instanceof Ab?c instanceof Ya?(e="add-dayTimeDuration-to-date",f=!0):c instanceof vb?(e="add-dayTimeDuration-to-time",f=!0):c instanceof _a?(e="add-dayTimeDuration-to-dateTime",f=!0):c instanceof Ab&&(e="add-dayTimeDurations"):b instanceof vb?c instanceof Ab&&(e="add-dayTimeDuration-to-time"):b instanceof _a&&(c instanceof yb?e="add-yearMonthDuration-to-dateTime":c instanceof Ab&&(e="add-dayTimeDuration-to-dateTime")),e)return $c[e].call(d,f?c:b,f?b:c);throw new a("XPTY0004")},dd["-"]=function(b,c,d){var e="";if(Ua(b)?Ua(c)&&(e="numeric-subtract"):b instanceof Ya?c instanceof Ya?e="subtract-dates":c instanceof yb?e="subtract-yearMonthDuration-from-date":c instanceof Ab&&(e="subtract-dayTimeDuration-from-date"):b instanceof vb?c instanceof vb?e="subtract-times":c instanceof Ab&&(e="subtract-dayTimeDuration-from-time"):b instanceof _a?c instanceof _a?e="subtract-dateTimes":c instanceof yb?e="subtract-yearMonthDuration-from-dateTime":c instanceof Ab&&(e="subtract-dayTimeDuration-from-dateTime"):b instanceof yb?c instanceof yb&&(e="subtract-yearMonthDurations"):b instanceof Ab&&c instanceof Ab&&(e="subtract-dayTimeDurations"),e)return $c[e].call(d,b,c);throw new a("XPTY0004")},C.prototype.evaluate=function(a){var b=vc(this.left.evaluate(a),a);if(!b.length)return[];ua(a,b,"?");var c=b[0];c instanceof xb&&(c=gb.cast(c));for(var d,e,f=0,g=this.items.length;f<g;f++){if(d=vc(this.items[f][1].evaluate(a),a),!d.length)return[];ua(a,d,"?"),e=d[0],e instanceof xb&&(e=gb.cast(e)),c=dd[this.items[f][0]](c,e,a)}return[c]},E.prototype.left=null,E.prototype.items=null;var ed={};ed["*"]=function(b,c,d){var e="",f=!1;if(Ua(b)?Ua(c)?e="numeric-multiply":c instanceof yb?(e="multiply-yearMonthDuration",f=!0):c instanceof Ab&&(e="multiply-dayTimeDuration",f=!0):b instanceof yb?Ua(c)&&(e="multiply-yearMonthDuration"):b instanceof Ab&&Ua(c)&&(e="multiply-dayTimeDuration"),e)return $c[e].call(d,f?c:b,f?b:c);throw new a("XPTY0004")},ed.div=function(b,c,d){var e="";if(Ua(b)?Ua(c)&&(e="numeric-divide"):b instanceof yb?Ua(c)?e="divide-yearMonthDuration":c instanceof yb&&(e="divide-yearMonthDuration-by-yearMonthDuration"):b instanceof Ab&&(Ua(c)?e="divide-dayTimeDuration":c instanceof Ab&&(e="divide-dayTimeDuration-by-dayTimeDuration")),e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ed.idiv=function(b,c,d){if(Ua(b)Line truncated
Ob.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.value<=255)return new Ob(c.value);throw new a("FORG0001")},g("unsignedByte",Ob),Pb.prototype=new ub,Pb.prototype.builtInKind=j.NORMALIZEDSTRING_DT,Pb.cast=function(a){return new Pb(Ac(a))},g("normalizedString",Pb),Qb.prototype=new Pb,Qb.prototype.builtInKind=j.TOKEN_DT,Qb.cast=function(a){return new Qb(Ac(a))},g("token",Qb),Rb.prototype=new Qb,Rb.prototype.builtInKind=j.NAME_DT,Rb.cast=function(a){return new Rb(Ac(a))},g("Name",Rb),Sb.prototype=new Rb,Sb.prototype.builtInKind=j.NCNAME_DT,Sb.cast=function(a){return new Sb(Ac(a))},g("NCName",Sb),Tb.prototype=new Sb,Tb.prototype.builtInKind=j.ENTITY_DT,Tb.cast=function(a){return new Tb(Ac(a))},g("ENTITY",Tb),Ub.prototype=new Sb,Ub.prototype.builtInKind=j.ID_DT,Ub.cast=function(a){return new Ub(Ac(a))},g("ID",Ub),Vb.prototype=new Sb,Vb.prototype.builtInKind=j.IDREF_DT,Vb.cast=function(a){return new Vb(Ac(a))},g("IDREF",Vb),Wb.prototype=new Qb,Wb.prototype.builtInKind=j.LANGUAGE_DT,Wb.cast=function(a){return new Wb(Ac(a))},g("language",Wb),Xb.prototype=new Qb,Xb.prototype.builtInKind=j.NMTOKEN_DT,Xb.cast=function(a){return new Xb(Ac(a))},g("NMTOKEN",Xb),Zb.prototype=new Yb,$b.prototype=new Zb,_b.prototype=new Zb,ac.prototype=new Zb,bc.prototype=new Zb,cc.prototype=new Zb,dc.prototype=new Zb,$c["hexBinary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["base64Binary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-less-than"]=function(a,b){return new Xa(a.valueOf()<b.valueOf())},$c["boolean-greater-than"]=function(a,b){return new Xa(a.valueOf()>b.valueOf())},$c["yearMonthDuration-less-than"]=function(a,b){return new Xa(lc(a)<lc(b))},$c["yearMonthDuration-greater-than"]=function(a,b){return new Xa(lc(a)>lc(b))},$c["dayTimeDuration-less-than"]=function(a,b){return new Xa(jc(a)<jc(b))},$c["dayTimeDuration-greater-than"]=function(a,b){return new Xa(jc(a)>jc(b))},$c["duration-equal"]=function(a,b){return new Xa(a.negative==b.negative&&lc(a)==lc(b)&&jc(a)==jc(b))},$c["dateTime-equal"]=function(a,b){return gc(a,b,"eq")},$c["dateTime-less-than"]=function(a,b){return gc(a,b,"lt")},$c["dateTime-greater-than"]=function(a,b){return gc(a,b,"gt")},$c["date-equal"]=function(a,b){return fc(a,b,"eq")},$c["date-less-than"]=function(a,b){return fc(a,b,"lt")},$c["date-greater-than"]=function(a,b){return fc(a,b,"gt")},$c["time-equal"]=function(a,b){return ec(a,b,"eq")},$c["time-less-than"]=function(a,b){return ec(a,b,"lt")},$c["time-greater-than"]=function(a,b){return ec(a,b,"gt")},$c["gYearMonth-equal"]=function(a,b){return gc(new _a(a.year,a.month,Za(a.year,a.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,b.month,Za(b.year,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gYear-equal"]=function(a,b){return gc(new _a(a.year,1,1,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,1,1,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonthDay-equal"]=function(a,b){return gc(new _a(1972,a.month,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonth-equal"]=function(a,b){return gc(new _a(1972,a.month,Za(1972,b.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,Za(1972,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gDay-equal"]=function(a,b){return gc(new _a(1972,12,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,12,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["add-yearMonthDurations"]=function(a,b){return mc(lc(a)+lc(b))},$c["subtract-yearMonthDurations"]=function(a,b){return mc(lc(a)-lc(b))},$c["multiply-yearMonthDuration"]=function(a,b){return mc(lc(a)*b)},$c["divide-yearMonthDuration"]=function(a,b){return mc(lc(a)/b)},$c["divide-yearMonthDuration-by-yearMonthDuration"]=function(a,b){return new fb(lc(a)/lc(b))},$c["add-dayTimeDurations"]=function(a,b){return kc(jc(a)+jc(b))},$c["subtract-dayTimeDurations"]=function(a,b){return kc(jc(a)-jc(b))},$c["multiply-dayTimeDuration"]=function(a,b){return kc(jc(a)*b)},$c["divide-dayTimeDuration"]=function(a,b){return kc(jc(a)/b)},$c["divide-dayTimeDuration-by-dayTimeDuration"]=function(a,b){return new fb(jc(a)/jc(b))},$c["subtract-dateTimes"]=function(a,b){return kc(oc(a)-oc(b))},$c["subtract-dates"]=function(a,b){return kc(oc(a)-oc(b))},$c["subtract-times"]=function(a,b){return kc(nc(a)-nc(b))},$c["add-yearMonthDuration-to-dateTime"]=function(a,b){return hc(a,b,"+")},$c["add-dayTimeDuration-to-dateTime"]=function(a,b){return ic(a,b,"+")},$c["subtract-yearMonthDuration-from-dateTime"]=function(a,b){return hc(a,b,"-")},$c["subtract-dayTimeDuration-from-dateTime"]=function(a,b){return ic(a,b,"-")},$c["add-yearMonthDuration-to-date"]=function(a,b){return hc(a,b,"+")},$c["add-dayTimeDuration-to-date"]=function(a,b){rLine truncated
return c=c||" ",a.length<b?Utils.padRight(a+c.slice(0,b-a.length),b,c):a},padBytesRight:function(a,b,c){c=c||0;var d=new Array(b);return d.fill(c),Array.prototype.map.call(a,function(a,b){d[b]=a}),d},pad:function(a,b,c){return Utils.padLeft(a,b,c)},truncate:function(a,b,c){return c=c||"...",a.length>b&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treatAsUtf8&&(a=Utils.byteArrayToChars(Utils.strToByteArray(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g,d=/[\x09-\x10\x0D\u2028\u2029]/g;return a=a.replace(c,"."),b||(a=a.replace(d,".")),a},parseEscapedChars:function(a){return a.replace(/(\\)?\\([nrtbf]|x[\da-f]{2})/g,function(a,b,c){if("\\"===b)return"\\"+c;switch(c[0]){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";case"x":return Utils.chr(parseInt(c.substr(1),16))}})},expandAlphRange:function(a){for(var b=[],c=0;c<a.length;c++)if(c<a.length-2&&"-"===a[c+1]&&"\\"!==a[c]){for(var d=Utils.ord(a[c]),e=Utils.ord(a[c+2]),f=Line truncated
},runDesEnc:function(a,b){return Cipher._enc(CryptoJS.DES,a,b)},runDesDec:function(a,b){return Cipher._dec(CryptoJS.DES,a,b)},runTripleDesEnc:function(a,b){return Cipher._enc(CryptoJS.TripleDES,a,b)},runTripleDesDec:function(a,b){return Cipher._dec(CryptoJS.TripleDES,a,b)},runRabbitEnc:function(a,b){return Cipher._enc(CryptoJS.Rabbit,a,b)},runRabbitDec:function(a,b){return Cipher._dec(CryptoJS.Rabbit,a,b)},BLOWFISH_MODES:["ECB","CBC","PCBC","CFB","OFB","CTR"],BLOWFISH_OUTPUT_TYPES:["Base64","Hex","String","Raw"],runBlowfishEnc:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];if(0===c.length)return"Enter a key";var f=blowfish.encrypt(a,c,{outputType:1,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}),g=CryptoJS.enc.Hex.parse(f);return g.toString(Utils.format[e])},runBlowfishDec:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];return 0===c.length?"Enter a key":(a=Utils.format[e].parse(a),blowfish.decrypt(a.toString(CryptoJS.enc.Base64),c,{outputType:0,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}))},KDF_KEY_SIZE:256,KDF_ITERATIONS:1,runPbkdf2:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.PBKDF2(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runEvpkdf:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.EvpKDF(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runRc4:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=CryptoJS.RC4.encrypt(c,d);return e.ciphertext.toString(Utils.format[b[2]])},RC4DROP_BYTES:768,runRc4drop:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=b[3],f=CryptoJS.RC4Drop.encrypt(c,d,{drop:e});return f.ciphertext.toString(Utils.format[b[2]])},runVigenereEnc:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(c+d)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(c+d)%26].toUpperCase()):(h+=a[j],i++);return h},runVigenereDec:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(d-c+f.length)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(d+f.length-c)%26].toUpperCase()):(h+=a[j],i++);return h},AFFINE_A:1,AFFINE_B:0,runAffineEnc:function(a,b){var c="abcdefghijklmnopqrstuvwxyz",d=b[0],e=b[1],f="";if(!/^\+?(0|[1-9]\d*)$/.test(d)||!/^\+?(0|[1-9]\d*)$/.test(e))return"The values of a and b can only be integers.";for(var g=0;g<a.length;g++)f+=c.indexOf(a[g])>=0?c[(d*c.indexOf(a[g])+e)%26]:c.indexOf(a[g].toLowerCase())>=0?c[(d*c.indexOf(a[g].toLowerCase())+e)%26].toUpperCase():a[g];return f},runAffineDec:function(a,b){var c,d="abcdefghijklmnopqrstuvwxyz",e=b[0],f=b[1],g="";if(!/^\+?(0|[1-9]\d*)$/.test(e)||!/^\+?(0|[1-9]\d*)$/.test(f))return"The values of a and b can only be integers.";if(1!==Utils.gcd(e,26))return"The value of a must be coprime to 26.";c=Utils.modInv(e,26);for(var h=0;h<a.length;h++)g+=d.indexOf(a[h])>=0?d[Utils.mod((d.indexOf(a[h])-f)*c,26)]:d.indexOf(a[h].toLowerCase())>=0?d[Utils.mod((d.indexOf(a[h].toLowerCase())-f)*c,26)].toUpperCase():a[h];return g},runAtbash:function(a,b){return Cipher.runAffineEnc(a,[25,25])},SUBS_PLAINTEXT:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",SUBS_CIPHERTEXT:"XYZABCDEFGHIJKLMNOPQRSTUVW",runSubstitute:function(a,b){var c=Utils.strToByteArray(Utils.expandAlphRange(b[0]).join()),d=Utils.strToByteArray(Utils.expandAlphRange(b[1]).join()),e=[],f=-1;c.length!==d.length&&(e=Utils.strToByteArray("Warning: Plaintext and Ciphertext lengths differ\n\n"));for(var g=0;g<a.length;g++)f=c.indexOf(a[g]),e.push(f>-1&&f<d.length?d[f]:a[g]);return e}};CryptoJS.kdf.OpenSSL.execute=function(a,b,c,d){void 0!==d&&null!==d||(d=CryptoJS.lib.WordArray.random(8));var e=CryptoJS.algo.EvpKDF.create({keySize:b+c}).compute(a,d),f=CryptoJS.lib.WordArray.create(e.words.slice(b),4*c);return e.sigBytes=4*b,CryptoJS.lib.CipherParams.create({key:e,iv:f,salt:d})};var Code={LANGUAGES:["default-code","default-markup","bash","bsh","c","cc","coffee","cpp","cs","csh","cv","cxx","cyc","htm","html","in.tag","java","javascript","js","json","m","mxml","perl","pl","pm","py","python","rb","rc","rs","ruby","rust","sh","uq.val","xhtml","xml","xsl"],LINE_NUMS:!1,runSyntaxHighlight:function(a,b){var c=b[0],d=b[1];retLine truncated
},Endian={DATA_FORMAT:["Hex","Raw"],WORD_LENGTH:4,PAD_INCOMPLETE_WORDS:!0,runSwapEndianness:function(a,b){var c=b[0],d=b[1],e=b[2],f=[],g=[],h=[],i=0,j=0;if(d<=0)return"Word length must be greater than 0";switch(c){case"Hex":f=Utils.fromHex(a);break;case"Raw":f=Utils.strToByteArray(a);break;default:f=a}for(i=0;i<f.length;i+=d){var k=f.slice(i,i+d);if(e&&k.length<d)for(j=k.length;j<d;j++)k.push(0);h.push(k)}for(i=0;i<h.length;i++)for(j=h[i].length;j--;)g.push(h[i][j]);switch(c){case"Hex":return Utils.toHex(g);case"Raw":return Utils.byteArrayToUtf8(g);default:return g}}},Entropy={CHUNK_SIZE:1e3,runEntropy:function(a,b){var c=b[0],d="",e=Entropy._calcEntropy(a);d+="Shannon entropy: "+e+"\n<br><canvas id='chart-area'></canvas><br>\n- 0 represents no randomness (i.e. all the bytes in the data have the same value) whereas 8, the maximum, represents a completely random string.\n- Standard English text usually falls somewhere between 3.5 and 5.\n- Properly encrypted or compressed data of a reasonable length should have an entropy of over 7.5.\n\nThe following results show the entropy of chunks of the input data. Chunks with particularly high entropy could suggest encrypted or compressed sections.\n\n<br><script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), entropy = "+e+", height = parentRect.height * 0.25; canvas.width = parentRect.width * 0.95; canvas.height = height > 150 ? 150 : height; CanvasComponents.drawScaleBar(canvas, entropy, 8, [ { label: 'English text', min: 3.5, max: 5 },{ label: 'Encrypted/compressed', min: 7.5, max: 8 } ]); <\/script>";var f=0;if(0!==c)for(var g=0;g<a.length;g+=c)f=Entropy._calcEntropy(a.slice(g,g+c)),d+="Bytes "+g+" to "+(g+c)+": "+f+"\n";else d+="Chunk size cannot be 0.";return d},FREQ_ZEROS:!1,runFreqDistrib:function(a,b){if(!a.length)return"No data";for(var c=new Array(256),d=new Array(256),e=a.length,f=b[0],g=0;g<256;g++)c[g]=0;for(g=0;g<e;g++)c[a[g]]++;var h=0;for(g=0;g<256;g++)c[g]>0&&h++,d[g]=c[g]/e*100;var i="<canvas id='chart-area'></canvas><br>Total data length: "+e+"\nNumber of bytes represented: "+h+"\nNumber of bytes not represented: "+(256-h)+"\n\nByte Percentage\n<script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), scores = "+JSON.stringify(d)+"; canvas.width = parentRect.width * 0.95; canvas.height = parentRect.height * 0.9; CanvasComponents.drawBarChart(canvas, scores, 'Byte', 'Frequency %', 16, 6); <\/script>";for(g=0;g<256;g++)(c[g]||f)&&(i+=" "+Utils.hex(g,2)+" ("+Utils.padRight(d[g].toFixed(2).replace(".00","")+"%)",8)+Array(Math.ceil(d[g])+1).join("|")+"\n");return i},_calcEntropy:function(a){for(var b=[],c=a.unique(),d=Utils.byteArrayToChars(a),e=0;e<c.length;e++)b.push(d.count(Utils.chr(c[e]))/a.length);var f,g=0;for(e=0;e<b.length;e++)f=b[e],g+=f*Math.log(f)/Math.log(2);return-g}},Extract={_search:function(a,b,c,d){for(var e,f="",g=0;e=b.exec(a);)c&&c.test(e[0])||(g++,f+=e[0]+"\n");return d&&(f="Total found: "+g+"\n\n"+f),f},MIN_STRING_LEN:3,DISPLAY_TOTAL:!1,runStrings:function(a,b){var c=b[0]||Extract.MIN_STRING_LEN,d=b[1],e="[A-Z\\d/\\-:.,_$%'\"()<>= !\\[\\]{}@]",f=new RegExp(e+"{"+c+",}","ig");return Extract._search(a,f,null,d)},INCLUDE_IPV4:!0,INCLUDE_IPV6:!1,REMOVE_LOCAL:!1,runIp:function(a,b){var c=b[0],d=b[1],e=b[2],f=b[3],g="(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?",h="((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|(?![\\dA-F])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})",i="";if(c&&d?i=g+"|"+h:c?i=g:d&&(i=h),i){var j=new RegExp(i,"ig");if(e){var k="10\\..+",l="192\\.168\\..+",m="172\\.(?:1[6-9]|2\\d|3[01])\\..+",n="127\\..+",o=new RegExp("^(?:"+k+"|"+l+"|"+m+"|"+n+")");return Extract._search(a,j,o,f)}return Extract._search(a,j,null,f)}return""},runEmail:function(a,b){var c=b[0],d=/\w[-.\w]*@[-\w]+(?:\.[-\w]+)*\.[A-Z]{2,4}/gi;return Extract._search(a,d,null,c)},runMac:function(a,b){var c=b[0],d=/[A-F\d]{2}(?:[:-][A-F\d]{2}){5}/gi;return Extract._search(a,d,null,c)},runUrls:function(a,b){var c=b[0],d="[A-Z]+://",e="[-\\w]+(?:\\.\\w[-\\w]*)+",f=":\\d+",g="/[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]*";g+="(?:[.!,?]+[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]+)*";var h=new RegExp(d+e+"(?:"+f+")?(?:"+g+")?","ig");return Extract._search(a,h,null,c)},runDomains:function(a,b){var c=b[0],d="https?://"Line truncated
},IPV4_REGEX:/^\s*((?:\d{1,3}\.){3}\d{1,3})\s*$/,IPV6_REGEX:/^\s*(((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\4)::|:\b|(?![\dA-F])))|(?!\3\4)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4}))\s*$/i,runParseIPv6:function(a,b){var c,d="";if(!(c=IP.IPV6_REGEX.exec(a)))return"Invalid IPv6 address";var e=IP._strToIpv6(c[1]),f=IP._ipv6ToStr(e),g=IP._ipv6ToStr(e,!0);if(d+="Longhand: "+f+"\nShorthand: "+g+"\n","::"===g)d+="\nUnspecified address corresponding to 0.0.0.0/32 in IPv4.",d+="\nUnspecified address range: ::/128";else if("::1"===g)d+="\nLoopback address to the local host corresponding to 127.0.0.1/8 in IPv4.",d+="\nLoopback addresses range: ::1/128";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&65535===e[5])d+="\nIPv4-mapped IPv6 address detected. IPv6 clients will be handled natively by default, and IPv4 clients appear as IPv6 clients at their IPv4-mapped IPv6 address.",d+="\nMapped IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-mapped IPv6 addresses range: ::ffff:0:0/96";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&65535===e[4]&&0===e[5])d+="\nIPv4-translated address detected. Used by Stateless IP/ICMP Translation (SIIT). See RFCs 6145 and 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-translated addresses range: ::ffff:0:0:0/96";else if(256===e[0])d+="\nDiscard prefix detected. This is used when forwarding traffic to a sinkhole router to mitigate the effects of a denial-of-service attack. See RFC 6666 for more details.",d+="\nDiscard range: 100::/64";else if(100===e[0]&&65435===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&0===e[5])d+="\n'Well-Known' prefix for IPv4/IPv6 translation detected. See RFC 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\n'Well-Known' prefix range: 64:ff9b::/96";else if(8193===e[0]&&0===e[1]){d+="\nTeredo tunneling IPv6 address detected\n";var h=(e[2]<<16)+e[3],i=65535&~e[5],j=~((e[6]<<16)+e[7]),k=e[4]>>>15&1,l=e[4]>>>14&1,m=e[4]>>>10&15,n=e[4]>>>8&3,o=255&e[4];d+="\nServer IPv4 address: "+IP._ipv4ToStr(h)+"\nClient IPv4 address: "+IP._ipv4ToStr(j)+"\nClient UDP port: "+i+"\nFlags:\n\tCone: "+k,d+=k?" (Client is behind a cone NAT)":" (Client is not behind a cone NAT)",d+="\n\tR: "+l,l&&(d+=" Error: This flag should be set to 0. See RFC 5991 and RFC 4380."),d+="\n\tRandom1: "+Utils.bin(m,4)+"\n\tUG: "+Utils.bin(n,2),n&&(d+=" Error: This flag should be set to 00. See RFC 4380."),d+="\n\tRandom2: "+Utils.bin(o,8),d+=!l&&!n&&m&&o?"\n\nThis is a valid Teredo address which complies with RFC 4380 and RFC 5991.":l||n?"\n\nThis is an invalid Teredo address.":"\n\nThis is a valid Teredo address which complies with RFC 4380, however it does not comply with RFC 5991 (Teredo Security Updates) as there are no randomised bits in the flag field.",d+="\n\nTeredo prefix range: 2001::/32"}else if(8193===e[0]&&2===e[1]&&0===e[2])d+="\nAssigned to the Benchmarking Methodology Working Group (BMWG) for benchmarking IPv6. Corresponds to 198.18.0.0/15 for benchmarking IPv4. See RFC 5180 for more details.",d+="\nBMWG range: 2001:2::/48";else if(8193===e[0]&&e[1]>=16&&e[1]<=31)d+="\nDeprecated, previously ORCHIDv1 (Overlay Routable Cryptographic Hash Identifiers).\nORCHIDv1 range: 2001:10::/28\nORCHIDv2 now uses 2001:20::/28.";else if(8193===e[0]&&e[1]>=32&&e[1]<=47)d+="\nORCHIDv2 (Overlay Routable Cryptographic Hash Identifiers).\nThese are non-routed IPv6 addresses used for Cryptographic Hash Identifiers.",d+="\nORCHIDv2 range: 2001:20::/28";else if(8193===e[0]&&3512===e[1])d+="\nThis is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4.",d+="\nDocumentation range: 2001:db8::/32";else if(8194===e[0]){d+="\n6to4 transition IPv6 address detected. See RFC 3056 for more details.\n6to4 prefix range: 2002::/16";var p=IP._ipv4ToStr((e[1]<<16)+e[2]),q=e[3],r=e[4].toString(16)+e[5].toString(16)+e[6].toString(16)+e[7].toString(16),s=new BigInteger(r,16);d+="\n\nEncapsulated IPv4 address: "+p+"\nSLA ID: "+q+"\nInterface ID (base 16): "+r+"\nInterface ID (base 10): "+s.toString()}else e[0]>=64512&&e[0]<=65023?(d+="\nThis is a unique local address comparable to the IPv4 private addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. See RFC 4193 for more details.",d+="\nUnique local addresses range: fc00::/7"):e[0]>=65152&&e[0]<=65215?(d+="\nThis is a link-local address comparable to the auto-configuration addresses 169.254.0.0/16 in IPv4.",d+="\nLink-local addresses range: fe80::/10"):e[0]>=65280&&(d+="\nThis is a reserved multicast address.",d+="\nMulticast addresses range: ff00::/8");return d},IP_FORMAT_LIST:["Dotted Decimal","Decimal","Hex"],runChangeIpFormat:function(a,b){for(var c=b[0],d=b[1],e=a.split("\n"),f="",g=0,h=0;h<e.length;h++)if(""!==e[h]){var i=[];if(c!==d){switch(c){casLine truncated
for(i=0;i<g.length;i++)g[i].length&&(c=g[i].split("=")[0],d=g[i].split("=")[1],e=Utils.padRight(c,h)+" = "+d+"\n",f+=Utils.padLeft(e,b+e.length," "));return f},_formatByteStr:function(a,b,c){a=Utils.toHex(Utils.fromHex(a),":"),b*=3;for(var d="",e=0;e<a.length;e+=b){var f=a.slice(e,e+b)+"\n";d+=0===e?f:Utils.padLeft(f,c+f.length," ")}return d.slice(0,d.length-1)},_formatDate:function(a){return a[4]+a[5]+"/"+a[2]+a[3]+"/"+a[0]+a[1]+" "+a[6]+a[7]+":"+a[8]+a[9]+":"+a[10]+a[11]}};X509.hex2dn=function(a){for(var b="",c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0),d=0;d<c.length;d++){var e=ASN1HEX.getHexOfTLV_AtObj(a,c[d]);b=b+",/|"+X509.hex2rdn(e)}return b},X509.DN_ATTRHEX={"0603550403":"commonName","0603550404":"surname","0603550406":"countryName","0603550407":"localityName","0603550408":"stateOrProvinceName","0603550409":"streetAddress","060355040a":"organizationName","060355040b":"organizationalUnitName","060355040c":"title","0603550414":"telephoneNumber","060355042a":"givenName","06032b06010505070201":"idCertificatePolicies","06036086480186f8420101":"netscape-cert-type","06036086480186f8420102":"netscape-base-url","06036086480186f8420103":"netscape-revocation-url","06036086480186f8420104":"netscape-ca-revocation-url","06036086480186f8420107":"netscape-cert-renewal-url","06036086480186f8420108":"netscape-ca-policy-url","06036086480186f842010c":"netscape-ssl-server-name","06036086480186f842010d":"netscape-comment","0603604c010201":"A1","0603604c010203":"A3","0603604c01020110":"Certification Practice Statement pointer","0603604c010301":"Dados do cert parte 1","0603604c010305":"Dados do cert parte 2","0603604c010306":"Dados do cert parte 3","06030992268993f22c640119":"domainComponent","06032a24a0f2a07d01010a":"Signet pilot","06032a24a0f2a07d01010b":"Signet intraNet","06032a24a0f2a07d010102":"Signet personal","06032a24a0f2a07d010114":"Signet securityPolicy","06032a24a0f2a07d010103":"Signet business","06032a24a0f2a07d010104":"Signet legal","06032a24a497a35301640101":"Certificates Australia policyIdentifier","06032a85702201":"seis-cp","06032a8570220101":"SEIS certificatePolicy-s10","06032a85702202":"SEIS pe","06032a85702203":"SEIS at","06032a8570220301":"SEIS at-personalIdentifier","06032a8648ce380201":"holdinstruction-none","06032a8648ce380202":"holdinstruction-callissuer","06032a8648ce380203":"holdinstruction-reject","06032a8648ce380401":"dsa","06032a8648ce380403":"dsaWithSha1","06032a8648ce3d01":"fieldType","06032a8648ce3d0101":"prime-field","06032a8648ce3d0102":"characteristic-two-field","06032a8648ce3d010201":"ecPublicKey","06032a8648ce3d010203":"characteristic-two-basis","06032a8648ce3d01020301":"onBasis","06032a8648ce3d01020302":"tpBasis","06032a8648ce3d01020303":"ppBasis","06032a8648ce3d02":"publicKeyType","06032a8648ce3d0201":"ecPublicKey","06032a8648ce3e0201":"dhPublicNumber","06032a864886f67d07":"nsn","06032a864886f67d0741":"nsn-ce","06032a864886f67d074100":"entrustVersInfo","06032a864886f67d0742":"nsn-alg","06032a864886f67d07420a":"cast5CBC","06032a864886f67d07420b":"cast5MAC","06032a864886f67d07420c":"pbeWithMD5AndCAST5-CBC","06032a864886f67d07420d":"passwordBasedMac","06032a864886f67d074203":"cast3CBC","06032a864886f67d0743":"nsn-oc","06032a864886f67d074300":"entrustUser","06032a864886f67d0744":"nsn-at","06032a864886f67d074400":"entrustCAInfo","06032a864886f67d07440a":"attributeCertificate","06032a864886f70d0101":"pkcs-1","06032a864886f70d010101":"rsaEncryption","06032a864886f70d010102":"md2withRSAEncryption","06032a864886f70d010103":"md4withRSAEncryption","06032a864886f70d010104":"md5withRSAEncryption","06032a864886f70d010105":"sha1withRSAEncryption","06032a864886f70d010106":"rsaOAEPEncryptionSET","06032a864886f70d010910020b":"SMIMEEncryptionKeyPreference","06032a864886f70d010c":"pkcs-12","06032a864886f70d010c01":"pkcs-12-PbeIds","06032a864886f70d010c0101":"pbeWithSHAAnd128BitRC4","06032a864886f70d010c0102":"pbeWithSHAAnd40BitRC4","06032a864886f70d010c0103":"pbeWithSHAAnd3-KeyTripleDES-CBC","06032a864886f70d010c0104":"pbeWithSHAAnd2-KeyTripleDES-CBC","06032a864886f70d010c0105":"pbeWithSHAAnd128BitRC2-CBC","06032a864886f70d010c0106":"pbeWithSHAAnd40BitRC2-CBC","06032a864886f70d010c0a":"pkcs-12Version1","06032a864886f70d010c0a01":"pkcs-12BadIds","06032a864886f70d010c0a0101":"pkcs-12-keyBag","06032a864886f70d010c0a0102":"pkcs-12-pkcs-8ShroudedKeyBag","06032a864886f70d010c0a0103":"pkcs-12-certBag","06032a864886f70d010c0a0104":"pkcs-12-crlBag","06032a864886f70d010c0a0105":"pkcs-12-secretBag","06032a864886f70d010c0a0106":"pkcs-12-safeContentsBag","06032a864886f70d010c02":"pkcs-12-ESPVKID","06032a864886f70d010c0201":"pkcs-12-PKCS8KeyShrouding","06032a864886f70d010c03":"pkcs-12-BagIds","06032a864886f70d010c0301":"pkcs-12-keyBagId","06032a864886f70d010c0302":"pkcs-12-certAndCRLBagId","06032a864886f70d010c0303":"pkcs-12-secretBagId","06032a864886f70d010c0304":"pkcs-12-safeContentsId","06032a864886f70d010c0305":"pkcs-12-pkcs-8ShroudedKeyBagId","06032a864886f70d010c04":"pkcs-12-CertBagID","06032a864886f70d010c0401":Line truncated
}},StrUtils={REGEX_PRE_POPULATE:[{name:"User defined",value:""},{name:"IPv4 address",value:"(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?"},{name:"IPv6 address",value:"((?=.*::)(?!.*::.+::)(::)?([\\dA-Fa-f]{1,4}:(:|\\b)|){5}|([\\dA-Fa-f]{1,4}:){6})((([\\dA-Fa-f]{1,4}((?!\\3)::|:\\b|(?![\\dA-Fa-f])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})"},{name:"Email address",value:"(\\w[-.\\w]*)@([-\\w]+(?:\\.[-\\w]+)*)\\.([A-Za-z]{2,4})"},{name:"URL",value:'([A-Za-z]+://)([-\\w]+(?:\\.\\w[-\\w]*)+)(:\\d+)?(/[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]*(?:[.!,?]+[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]+)*)?'},{name:"Domain",value:"(?:(https?):\\/\\/)?([-\\w.]+)\\.(com|net|org|biz|info|co|uk|onion|int|mobi|name|edu|gov|mil|eu|ac|ae|af|de|ca|ch|cn|cy|es|gb|hk|il|in|io|tv|me|nl|no|nz|ro|ru|tr|us|az|ir|kz|uz|pk)+"},{name:"Windows file path",value:"([A-Za-z]):\\\\((?:[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61}\\\\?)*[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61})(\\.[A-Za-z\\d]{1,6})?"},{name:"UNIX file path",value:"(?:/[A-Za-z\\d.][A-Za-z\\d\\-.]{0,61})+"},{name:"MAC address",value:"[A-Fa-f\\d]{2}(?:[:-][A-Fa-f\\d]{2}){5}"},{name:"Date (yyyy-mm-dd)",value:"((?:19|20)\\d\\d)[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])"},{name:"Date (dd/mm/yyyy)",value:"(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]((?:19|20)\\d\\d)"},{name:"Date (mm/dd/yyyy)",value:"(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]((?:19|20)\\d\\d)"},{name:"Strings",value:'[A-Za-z\\d/\\-:.,_$%\\x27"()<>= !\\[\\]{}@]{4,}'}],REGEX_CASE_INSENSITIVE:!0,REGEX_MULTILINE_MATCHING:!0,OUTPUT_FORMAT:["Highlight matches","List matches","List capture groups","List matches with capture groups"],DISPLAY_TOTAL:!1,runRegex:function(a,b){var c=b[1],d=b[2],e=b[3],f=b[4],g=b[5],h="g";if(d&&(h+="i"),e&&(h+="m"),!c||"^"===c||"$"===c)return Utils.escapeHtml(a);try{var i=new RegExp(c,h);switch(g){case"Highlight matches":return StrUtils._regexHighlight(a,i,f);case"List matches":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!1));case"List capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!1,!0));case"List matches with capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!0));default:return"Error: Invalid output format"}}catch(a){return"Invalid regex. Details: "+a.message}},CASE_SCOPE:["All","Word","Sentence","Paragraph"],runUpper:function(a,b){var c=b[0];switch(c){case"Word":return a.replace(/(\b\w)/gi,function(a){return a.toUpperCase()});case"Sentence":return a.replace(/(?:\.|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"Paragraph":return a.replace(/(?:\n|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"All":default:return a.toUpperCase()}},runLower:function(a,b){return a.toLowerCase()},SEARCH_TYPE:["Regex","Extended (\\n, \\t, \\x...)","Simple string"],FIND_REPLACE_GLOBAL:!0,FIND_REPLACE_CASE:!1,FIND_REPLACE_MULTILINE:!0,runFindReplace:function(a,b){var c=b[0].string,d=b[0].option,e=b[1],f=b[2],g=b[3],h=b[4],i="";return f&&(i+="g"),g&&(i+="i"),h&&(i+="m"),"Regex"===d?c=new RegExp(c,i):0===d.indexOf("Extended")&&(c=Utils.parseEscapedChars(c)),a.replace(c,e,i)},SPLIT_DELIM:",",DELIMITER_OPTIONS:["Line feed","CRLF","Space","Comma","Semi-colon","Colon","Nothing (separate chars)"],runSplit:function(a,b){var c=b[0]||StrUtils.SPLIT_DELIM,d=Utils.charRep[b[1]],e=a.split(c);return e.join(d)},runFilter:function(a,b){var c=Utils.charRep[b[0]],d=b[2];try{var e=new RegExp(b[1])}catch(a){return"Invalid regex. Details: "+a.message}var f=function(a){return d^e.test(a)};return a.split(c).filter(f).join(c)},DIFF_SAMPLE_DELIMITER:"\\n\\n",DIFF_BY:["Character","Word","Line","Sentence","CSS","JSON"],runDiff:function(a,b){var c,d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=a.split(d),j="";if(!i||2!==i.length)return"Incorrect number of samples, perhaps you need to modify the sample delimiter or add more samples?";switch(e){case"Character":c=JsDiff.diffChars(i[0],i[1]);break;case"Word":c=h?JsDiff.diffWords(i[0],i[1]):JsDiff.diffWordsWithSpace(i[0],i[1]);break;case"Line":c=h?JsDiff.diffTrimmedLines(i[0],i[1]):JsDiff.diffLines(i[0],i[1]);break;case"Sentence":c=JsDiff.diffSentences(i[0],i[1]);break;case"CSS":c=JsDiff.diffCss(i[0],i[1]);break;case"JSON":c=JsDiff.diffJson(i[0],i[1]);break;default:return"Invalid 'Diff by' option."}for(var k=0;k<c.length;k++)c[k].added?f&&(j+="<span class='hlgreen'>"+Utils.escapeHtml(c[k].value)+"</span>"):c[k].removed?g&&(j+="<span class='hlred'>"+Utils.escapeHtml(c[k].value)+"</span>"):j+=Utils.escapeHtml(c[k].value);return j},OFF_CHK_SAMPLE_DELIMITER:"\\n\\n",runOffsetChecker:function(a,b){var c,d=b[0],e=a.split(d),f=[],g=0,h=0,i=!1,j=!1;if(!e||e.length<2)return"Not enough samples, perhaps you need to modify the sample delimiter or add more data?";for(h=0;h<e.length;h++)f[h]="";for(g=0;g<e[0].length;g++){for(c=e[0][g],i=!1,h=1;h<e.length;h++){if(e[h][g]!==c){i=!1;break}i=!0}for(h=0;h<e.length;h++)e[h].length<=g?(j&&(f[h]+="</span>"),h===e.leLine truncated
}]},"To Binary":{description:"Displays the input data as a binary string.<br><br>e.g. <code>Hi</code> becomes <code>01001000 01101001</code>",run:ByteRepr.runToBinary,highlight:ByteRepr.highlightToBinary,highlightReverse:ByteRepr.highlightFromBinary,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.BIN_DELIM_OPTIONS}]},"From Decimal":{description:"Converts the data from an ordinal integer array back into its raw form.<br><br>e.g. <code>72 101 108 108 111</code> becomes <code>Hello</code>",run:ByteRepr.runFromDecimal,inputType:"string",outputType:"byteArray",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"To Decimal":{description:"Converts the input data to an ordinal integer array.<br><br>e.g. <code>Hello</code> becomes <code>72 101 108 108 111</code>",run:ByteRepr.runToDecimal,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"From Hexdump":{description:"Attempts to convert a hexdump back into raw data. This operation supports many different hexdump variations, but probably not all. Make sure you verify that the data it gives you is correct before continuing analysis.",run:Hexdump.runFrom,highlight:Hexdump.highlightFrom,highlightReverse:Hexdump.highlightTo,inputType:"string",outputType:"byteArray",args:[]},"To Hexdump":{description:"Creates a hexdump of the input data, displaying both the hexademinal values of each byte and an ASCII representation alongside.",run:Hexdump.runTo,highlight:Hexdump.highlightTo,highlightReverse:Hexdump.highlightFrom,inputType:"byteArray",outputType:"string",args:[{name:"Width",type:"number",value:Hexdump.WIDTH},{name:"Upper case hex",type:"boolean",value:Hexdump.UPPER_CASE},{name:"Include final length",type:"boolean",value:Hexdump.INCLUDE_FINAL_LENGTH}]},"From Base":{description:"Converts a number to decimal from a given numerical base.",run:Base.runFrom,inputType:"string",outputType:"number",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"To Base":{description:"Converts a decimal number to a given numerical base.",run:Base.runTo,inputType:"number",outputType:"string",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"From HTML Entity":{description:"Converts HTML entities back to characters<br><br>e.g. <code>&amp;<span>amp;</span></code> becomes <code>&amp;</code>",run:HTML.runFromEntity,inputType:"string",outputType:"string",args:[]},"To HTML Entity":{description:"Converts characters to HTML entities<br><br>e.g. <code>&amp;</code> becomes <code>&amp;<span>amp;</span></code>",run:HTML.runToEntity,inputType:"string",outputType:"string",args:[{name:"Convert all characters",type:"boolean",value:HTML.CONVERT_ALL},{name:"Convert to",type:"option",value:HTML.CONVERT_OPTIONS}]},"Strip HTML tags":{description:"Removes all HTML tags from the input.",run:HTML.runStripTags,inputType:"string",outputType:"string",args:[{name:"Remove indentation",type:"boolean",value:HTML.REMOVE_INDENTATION},{name:"Remove excess line breaks",type:"boolean",value:HTML.REMOVE_LINE_BREAKS}]},"URL Decode":{description:"Converts URI/URL percent-encoded characters back to their raw values.<br><br>e.g. <code>%3d</code> becomes <code>=</code>",run:URL_.runFrom,inputType:"string",outputType:"string",args:[]},"URL Encode":{description:"Encodes problematic characters into percent-encoding, a format supported by URIs/URLs.<br><br>e.g. <code>=</code> becomes <code>%3d</code>",run:URL_.runTo,inputType:"string",outputType:"string",args:[{name:"Encode all special chars",type:"boolean",value:URL_.ENCODE_ALL}]},"Parse URI":{description:"Pretty prints complicated Uniform Resource Identifier (URI) strings for ease of reading. Particularly useful for Uniform Resource Locators (URLs) with a lot of arguments.",run:URL_.runParse,inputType:"string",outputType:"string",args:[]},"Unescape Unicode Characters":{description:"Converts unicode-escaped character notation back into raw characters.<br><br>Supports the prefixes:<ul><li><code>\\u</code></li><li><code>%u</code></li><li><code>U+</code></li></ul>e.g. <code>\\u03c3\\u03bf\\u03c5</code> becomes <code>\u03c3\u03bf\u03c5</code>",run:Unicode.runUnescape,inputType:"string",outputType:"string",args:[{name:"Prefix",type:"option",value:Unicode.PREFIXES}]},"From Quoted Printable":{description:"Converts QP-encoded text back to standard text.",run:QuotedPrintable.runFrom,inputType:"string",outputType:"byteArray",args:[]},"To Quoted Printable":{description:"Quoted-Printable, or QP encoding, is an encoding using printable ASCII characters (alphanumeric and the equals sign '=') to transmit 8-bit data over a 7-bit data path or, generally, over a medium which is not 8-bit clean. It is defined as a MIME content transfer encoding for use in e-mail.<br><br>QP works by using the equals sign '=' as an escape character. It also limits line length to 76, as some software has limits on line length.",run:QuotedPrintable.runTo,inputType:"byteArray",outLine truncated
run:Extract.runDomains,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract file paths":{description:"Extracts anything that looks like a Windows or UNIX file path.<br><br>Note that if UNIX is selected, there will likely be a lot of false positives.",run:Extract.runFilePaths,inputType:"string",outputType:"string",args:[{name:"Windows",type:"boolean",value:Extract.INCLUDE_WIN_PATH},{name:"UNIX",type:"boolean",value:Extract.INCLUDE_UNIX_PATH},{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract dates":{description:"Extracts dates in the following formats<ul><li><code>yyyy-mm-dd</code></li><li><code>dd/mm/yyyy</code></li><li><code>mm/dd/yyyy</code></li></ul>Dividers can be any of /, -, . or space",run:Extract.runDates,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Regular expression":{description:"Define your own regular expression (regex) to search the input data with, optionally choosing from a list of pre-defined patterns.",run:StrUtils.runRegex,manualBake:!0,inputType:"string",outputType:"html",args:[{name:"Built in regexes",type:"populateOption",value:StrUtils.REGEX_PRE_POPULATE,target:1},{name:"Regex",type:"text",value:""},{name:"Case insensitive",type:"boolean",value:StrUtils.REGEX_CASE_INSENSITIVE},{name:"Multiline matching",type:"boolean",value:StrUtils.REGEX_MULTILINE_MATCHING},{name:"Display total",type:"boolean",value:StrUtils.DISPLAY_TOTAL},{name:"Output format",type:"option",value:StrUtils.OUTPUT_FORMAT}]},"XPath expression":{description:"Extract information from an XML document with an XPath query",run:Code.runXpath,inputType:"string",outputType:"string",args:[{name:"XPath",type:"string",value:Code.XPATH_INITIAL},{name:"Result delimiter",type:"binaryShortString",value:Code.XPATH_DELIMITER}]},"CSS selector":{description:"Extract information from an HTML document with a CSS selector",run:Code.runCSSQuery,inputType:"string",outputType:"string",args:[{name:"CSS selector",type:"string",value:Code.CSS_SELECTOR_INITIAL},{name:"Delimiter",type:"binaryShortString",value:Code.CSS_QUERY_DELIMITER}]},"From UNIX Timestamp":{description:"Converts a UNIX timestamp to a datetime string.<br><br>e.g. <code>978346800</code> becomes <code>Mon 1 January 2001 11:00:00 UTC</code>",run:DateTime.runFromUnixTimestamp,inputType:"number",outputType:"string",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"To UNIX Timestamp":{description:"Parses a datetime string and returns the corresponding UNIX timestamp.<br><br>e.g. <code>Mon 1 January 2001 11:00:00 UTC</code> becomes <code>978346800</code>",run:DateTime.runToUnixTimestamp,inputType:"string",outputType:"number",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"Translate DateTime Format":{description:"Parses a datetime string in one format and re-writes it in another.<br><br>Run with no input to see the relevant format string examples.",run:DateTime.runTranslateFormat,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES},{name:"Output format string",type:"binaryString",value:DateTime.OUTPUT_FORMAT_STRING},{name:"Output timezone",type:"option",value:DateTime.TIMEZONES}]},"Parse DateTime":{description:"Parses a DateTime string in your specified format and displays it in whichever timezone you choose with the following information:<ul><li>Date</li><li>Time</li><li>Period (AM/PM)</li><li>Timezone</li><li>UTC offset</li><li>Daylight Saving Time</li><li>Leap year</li><li>Days in this month</li><li>Day of year</li><li>Week number</li><li>Quarter</li></ul>Run with no input to see format string examples if required.",run:DateTime.runParse,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES}]},"Convert distance":{description:"Converts a unit of distance to another format.",run:Convert.runDistance,inputType:"number",outputType:"number",args:[{name:"Input units",type:"option",value:Convert.DISTANCE_UNITS},{name:"Output units",type:"option",value:Convert.DISTANCE_UNITS}]},"Convert area":{description:"Converts a unit of area to another format.",run:Convert.runArea,inputType:"number",outputType:"number",args:[{name:"Input units",type:"option",value:Convert.AREA_UNITS},{name:"Output units",type:"option",value:Convert.AREA_UNITS}]},"Convert mass":{description:"Converts a unit of mass to another format.",run:Convert.runMass,inputType:"number",outputType:"number",args:[{name:"Input units",type:"option",value:Convert.MASS_UNITS},{name:"Output units",type:"option",value:CoLine truncated
localStorage.recipeId=d,this.app.alert('Recipe saved as "'+a+'".',"success",2e3)},ControlsWaiter.prototype.populateLoadRecipesList=function(){for(var a=document.getElementById("load-name"),b=a.options.length;b--;)a.remove(b);var c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];for(b=0;b<c.length;b++){var d=document.createElement("option");d.value=c[b].id,d.innerHTML=c[b].name,a.appendChild(d)}document.getElementById("load-text").value=c.length?c[0].recipe:""},ControlsWaiter.prototype.loadDeleteClick=function(){var a=parseInt(document.getElementById("load-name").value,10),b=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];b=b.filter(function(b){return b.id!==a}),localStorage.savedRecipes=JSON.stringify(b),this.populateLoadRecipesList()},ControlsWaiter.prototype.loadNameChange=function(a){var b=a.target,c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[],d=parseInt(b.value,10),e=c.filter(function(a){return a.id===d})[0];document.getElementById("load-text").value=e.recipe},ControlsWaiter.prototype.loadButtonClick=function(){try{var a=JSON.parse(document.getElementById("load-text").value);this.app.setRecipeConfig(a),$("#rec-list [data-toggle=popover]").popover()}catch(a){this.app.alert("Invalid recipe","danger",2e3)}},ControlsWaiter.prototype.supportButtonClick=function(){var a=document.getElementById("report-bug-info"),b=this.generateStateUrl(!0,!0,null,"https://gchq.github.io/CyberChef/");a.innerHTML="* CyberChef compile time: 04/03/2017 10:56:10 UTC\n* User-Agent: \n"+navigator.userAgent+"\n* [Link to reproduce]("+b+")\n\n"};var HighlighterWaiter=function(a){this.app=a,this.mouseButtonDown=!1,this.mouseTarget=null};HighlighterWaiter.INPUT=0,HighlighterWaiter.OUTPUT=1,HighlighterWaiter.prototype._isSelectionBackwards=function(){var a=!1,b=window.getSelection();if(!b.isCollapsed){var c=document.createRange();c.setStart(b.anchorNode,b.anchorOffset),c.setEnd(b.focusNode,b.focusOffset),a=c.collapsed,c.detach()}return a},HighlighterWaiter.prototype._getOutputHtmlOffset=function(a,b){var c=window.getSelection(),d=document.createRange();return d.selectNodeContents(document.getElementById("output-html")),d.setEnd(a,b),c.removeAllRanges(),c.addRange(d),c.toString().length},HighlighterWaiter.prototype._getOutputHtmlSelectionOffsets=function(){var a,b=window.getSelection(),c=0,d=0,e=!1;return b.rangeCount&&(a=b.getRangeAt(b.rangeCount-1),e=this._isSelectionBackwards(),c=this._getOutputHtmlOffset(a.startContainer,a.startOffset),d=this._getOutputHtmlOffset(a.endContainer,a.endOffset),b.removeAllRanges(),b.addRange(a),e&&(b.collapseToEnd(),b.extend(b.anchorNode,a.startOffset))),{start:c,end:d}},HighlighterWaiter.prototype.inputScroll=function(a){var b=a.target;document.getElementById("input-highlighter").scrollTop=b.scrollTop,document.getElementById("input-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.outputScroll=function(a){var b=a.target;document.getElementById("output-highlighter").scrollTop=b.scrollTop,document.getElementById("output-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.inputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.INPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("input-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightOutput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightInput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputHtmlMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT;var b=this._getOutputHtmlSelectionOffsets();0===b.start&&0===b.end||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(b.start,b.end))},HighlighterWaiter.prototype.inputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputHtmlMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.inputMousemove=function(a){if(this.mouseButtonDown&&1===a.which&&this.mouseTarget===HighlighterWaiter.INPUT){var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("input-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightOutput([{start:c,end:d}]))}},HighlighterWaiter.prototype.outputMousemove=function(a){if(this.mouseButtonDown&&1===a.which&&this.mouseTarget===HighlighterWaiter.OUTPUT){var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightInput([{start:c,end:d}]))}},HighlighterWaiter.prototype.outputHtmlMousemove=fLine truncated
this.addDynamicListener("#rec-list li.operation > div","dblclick",this.recipe.operationChildDblclick,this.recipe),this.addDynamicListener("#rec-list .input-group .dropdown-menu a","click",this.recipe.dropdownToggleClick,this.recipe),this.addDynamicListener("#rec-list","operationremove",this.recipe.opRemove.bind(this.recipe)),this.addMultiEventListener("#input-text","keyup paste",this.input.inputChange,this.input),document.getElementById("reset-layout").addEventListener("click",this.app.resetLayout.bind(this.app)),document.getElementById("clr-io").addEventListener("click",this.input.clearIoClick.bind(this.input)),document.getElementById("input-text").addEventListener("dragover",this.input.inputDragover.bind(this.input)),document.getElementById("input-text").addEventListener("dragleave",this.input.inputDragleave.bind(this.input)),document.getElementById("input-text").addEventListener("drop",this.input.inputDrop.bind(this.input)),document.getElementById("input-text").addEventListener("scroll",this.highlighter.inputScroll.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mouseup",this.highlighter.inputMouseup.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mousemove",this.highlighter.inputMousemove.bind(this.highlighter)),this.addMultiEventListener("#input-text","mousedown dblclick select",this.highlighter.inputMousedown,this.highlighter),document.getElementById("save-to-file").addEventListener("click",this.output.saveClick.bind(this.output)),document.getElementById("switch").addEventListener("click",this.output.switchClick.bind(this.output)),document.getElementById("undo-switch").addEventListener("click",this.output.undoSwitchClick.bind(this.output)),document.getElementById("maximise-output").addEventListener("click",this.output.maximiseOutputClick.bind(this.output)),document.getElementById("output-text").addEventListener("scroll",this.highlighter.outputScroll.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mouseup",this.highlighter.outputMouseup.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mousemove",this.highlighter.outputMousemove.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mouseup",this.highlighter.outputHtmlMouseup.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mousemove",this.highlighter.outputHtmlMousemove.bind(this.highlighter)),this.addMultiEventListener("#output-text","mousedown dblclick select",this.highlighter.outputMousedown,this.highlighter),this.addMultiEventListener("#output-html","mousedown dblclick select",this.highlighter.outputHtmlMousedown,this.highlighter),document.getElementById("options").addEventListener("click",this.options.optionsClick.bind(this.options)),document.getElementById("reset-options").addEventListener("click",this.options.resetOptionsClick.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.switchChange.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.setWordWrap.bind(this.options)),this.addDynamicListener(".option-item input[type=number]","keyup",this.options.numberChange,this.options),this.addDynamicListener(".option-item input[type=number]","change",this.options.numberChange,this.options),this.addDynamicListener(".option-item select","change",this.options.selectChange,this.options),document.getElementById("alert-close").addEventListener("click",this.app.alertCloseClick.bind(this.app))},Manager.prototype.addListeners=function(a,b,c,d){d=d||this,[].forEach.call(document.querySelectorAll(a),function(a){a.addEventListener(b,c.bind(d))})},Manager.prototype.addMultiEventListener=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)document.querySelector(a).addEventListener(e[f],c.bind(d))},Manager.prototype.addMultiEventListeners=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)this.addListeners(a,e[f],c,d)},Manager.prototype.addDynamicListener=function(a,b,c,d){var e={selector:a,callback:c.bind(d||this)};this.dynamicHandlers.hasOwnProperty(b)?this.dynamicHandlers[b].push(e):(this.dynamicHandlers[b]=[e],document.addEventListener(b,this.dynamicListenerHandler.bind(this)))},Manager.prototype.dynamicListenerHandler=function(a){for(var b=this.dynamicHandlers[a.type],c=a.target.matches||a.target.webkitMatchesSelector||a.target.mozMatchesSelector||a.target.msMatchesSelector||a.target.oMatchesSelector,d=0;d<b.length;d++)c&&a.target[c.name](b[d].selector)&&b[d].callback(a)};var OperationsWaiter=function(a,b){this.app=a,this.manager=b,this.options={},this.removeIntent=!1};OperationsWaiter.prototype.searchOperations=function(a){var b,c;if("search"===a.type&&(a.preventDefault(),b=document.querySelectorAll("#search-results li"),b.length&&(c=this.getSelectedOp(b),c>-1&&(this.manager.recipe.addOperation(b[c].innerHTML),this.app.autoBake()))),13===a.keyCode)aLine truncated
return c=c||" ",a.length<b?Utils.padRight(a+c.slice(0,b-a.length),b,c):a},padBytesRight:function(a,b,c){c=c||0;var d=new Array(b);return d.fill(c),Array.prototype.map.call(a,function(a,b){d[b]=a}),d},pad:function(a,b,c){return Utils.padLeft(a,b,c)},truncate:function(a,b,c){return c=c||"...",a.length>b&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treatAsUtf8&&(a=Utils.byteArrayToChars(Utils.strToByteArray(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g,d=/[\x09-\x10\x0D\u2028\u2029]/g;return a=a.replace(c,"."),b||(a=a.replace(d,".")),a},parseEscapedChars:function(a){return a.replace(/(\\)?\\([nrtbf]|x[\da-f]{2})/g,function(a,b,c){if("\\"===b)return"\\"+c;switch(c[0]){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";case"x":return Utils.chr(parseInt(c.substr(1),16))}})},expandAlphRange:function(a){for(var b=[],c=0;c<a.length;c++)if(c<a.length-2&&"-"===a[c+1]&&"\\"!==a[c]){for(var d=Utils.ord(a[c]),e=Utils.ord(a[c+2]),f=Line truncated
var l,m=a.decrypt({ciphertext:k,salt:f.sigBytes>0&&f},d,{iv:e.sigBytes>0?e:null,mode:g,padding:h});try{l=m.toString(Utils.format[j])}catch(a){l="Decrypt error: "+a.message}return l},runAesEnc:function(a,b){return Cipher._enc(CryptoJS.AES,a,b)},runAesDec:function(a,b){return Cipher._dec(CryptoJS.AES,a,b)},runDesEnc:function(a,b){return Cipher._enc(CryptoJS.DES,a,b)},runDesDec:function(a,b){return Cipher._dec(CryptoJS.DES,a,b)},runTripleDesEnc:function(a,b){return Cipher._enc(CryptoJS.TripleDES,a,b)},runTripleDesDec:function(a,b){return Cipher._dec(CryptoJS.TripleDES,a,b)},runRabbitEnc:function(a,b){return Cipher._enc(CryptoJS.Rabbit,a,b)},runRabbitDec:function(a,b){return Cipher._dec(CryptoJS.Rabbit,a,b)},BLOWFISH_MODES:["ECB","CBC","PCBC","CFB","OFB","CTR"],BLOWFISH_OUTPUT_TYPES:["Base64","Hex","String","Raw"],runBlowfishEnc:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];if(0===c.length)return"Enter a key";var f=blowfish.encrypt(a,c,{outputType:1,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}),g=CryptoJS.enc.Hex.parse(f);return g.toString(Utils.format[e])},runBlowfishDec:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];return 0===c.length?"Enter a key":(a=Utils.format[e].parse(a),blowfish.decrypt(a.toString(CryptoJS.enc.Base64),c,{outputType:0,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}))},KDF_KEY_SIZE:256,KDF_ITERATIONS:1,runPbkdf2:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.PBKDF2(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runEvpkdf:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.EvpKDF(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runRc4:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=CryptoJS.RC4.encrypt(c,d);return e.ciphertext.toString(Utils.format[b[2]])},RC4DROP_BYTES:768,runRc4drop:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=b[3],f=CryptoJS.RC4Drop.encrypt(c,d,{drop:e});return f.ciphertext.toString(Utils.format[b[2]])},runVigenereEnc:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(c+d)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(c+d)%26].toUpperCase()):(h+=a[j],i++);return h},runVigenereDec:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(d-c+f.length)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(d+f.length-c)%26].toUpperCase()):(h+=a[j],i++);return h},AFFINE_A:1,AFFINE_B:0,runAffineEnc:function(a,b){var c="abcdefghijklmnopqrstuvwxyz",d=b[0],e=b[1],f="";if(!/^\+?(0|[1-9]\d*)$/.test(d)||!/^\+?(0|[1-9]\d*)$/.test(e))return"The values of a and b can only be integers.";for(var g=0;g<a.length;g++)f+=c.indexOf(a[g])>=0?c[(d*c.indexOf(a[g])+e)%26]:c.indexOf(a[g].toLowerCase())>=0?c[(d*c.indexOf(a[g].toLowerCase())+e)%26].toUpperCase():a[g];return f},runAffineDec:function(a,b){var c,d="abcdefghijklmnopqrstuvwxyz",e=b[0],f=b[1],g="";if(!/^\+?(0|[1-9]\d*)$/.test(e)||!/^\+?(0|[1-9]\d*)$/.test(f))return"The values of a and b can only be integers.";if(1!==Utils.gcd(e,26))return"The value of a must be coprime to 26.";c=Utils.modInv(e,26);for(var h=0;h<a.length;h++)g+=d.indexOf(a[h])>=0?d[Utils.mod((d.indexOf(a[h])-f)*c,26)]:d.indexOf(a[h].toLowerCase())>=0?d[Utils.mod((d.indexOf(a[h].toLowerCase())-f)*c,26)].toUpperCase():a[h];return g},runAtbash:function(a,b){return Cipher.runAffineEnc(a,[25,25])},SUBS_PLAINTEXT:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",SUBS_CIPHERTEXT:"XYZABCDEFGHIJKLMNOPQRSTUVW",runSubstitute:function(a,b){var c=Utils.strToByteArray(Utils.expandAlphRange(b[0]).join()),d=Utils.strToByteArray(Utils.expandAlphRange(b[1]).join()),e=[],f=-1;c.length!==d.length&&(e=Utils.strToByteArray("Warning: Plaintext and Ciphertext lengths differ\n\n"));for(var g=0;g<a.length;g++)f=c.indexOf(a[g]),e.push(f>-1&&f<d.length?d[f]:a[g]);return e}};CryptoJS.kdf.OpenSSL.execute=function(a,b,c,d){void 0!==d&&null!==d||(d=CryptoJS.lib.WordArray.random(8));var e=CryptoJS.algo.EvpKDF.create({keySize:b+c}).compute(a,d),f=CryptoJS.lib.WordArray.create(e.words.slice(b),4*c);return e.sigBytes=4*b,CryptoJS.lib.CipherParams.create({key:e,iv:f,salt:d})};var Code={LANGUAGES:["default-code","defaLine truncated
},Endian={DATA_FORMAT:["Hex","Raw"],WORD_LENGTH:4,PAD_INCOMPLETE_WORDS:!0,runSwapEndianness:function(a,b){var c=b[0],d=b[1],e=b[2],f=[],g=[],h=[],i=0,j=0;if(d<=0)return"Word length must be greater than 0";switch(c){case"Hex":f=Utils.fromHex(a);break;case"Raw":f=Utils.strToByteArray(a);break;default:f=a}for(i=0;i<f.length;i+=d){var k=f.slice(i,i+d);if(e&&k.length<d)for(j=k.length;j<d;j++)k.push(0);h.push(k)}for(i=0;i<h.length;i++)for(j=h[i].length;j--;)g.push(h[i][j]);switch(c){case"Hex":return Utils.toHex(g);case"Raw":return Utils.byteArrayToUtf8(g);default:return g}}},Entropy={CHUNK_SIZE:1e3,runEntropy:function(a,b){var c=b[0],d="",e=Entropy._calcEntropy(a);d+="Shannon entropy: "+e+"\n<br><canvas id='chart-area'></canvas><br>\n- 0 represents no randomness (i.e. all the bytes in the data have the same value) whereas 8, the maximum, represents a completely random string.\n- Standard English text usually falls somewhere between 3.5 and 5.\n- Properly encrypted or compressed data of a reasonable length should have an entropy of over 7.5.\n\nThe following results show the entropy of chunks of the input data. Chunks with particularly high entropy could suggest encrypted or compressed sections.\n\n<br><script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), entropy = "+e+", height = parentRect.height * 0.25; canvas.width = parentRect.width * 0.95; canvas.height = height > 150 ? 150 : height; CanvasComponents.drawScaleBar(canvas, entropy, 8, [ { label: 'English text', min: 3.5, max: 5 },{ label: 'Encrypted/compressed', min: 7.5, max: 8 } ]); <\/script>";var f=0;if(0!==c)for(var g=0;g<a.length;g+=c)f=Entropy._calcEntropy(a.slice(g,g+c)),d+="Bytes "+g+" to "+(g+c)+": "+f+"\n";else d+="Chunk size cannot be 0.";return d},FREQ_ZEROS:!1,runFreqDistrib:function(a,b){if(!a.length)return"No data";for(var c=new Array(256),d=new Array(256),e=a.length,f=b[0],g=0;g<256;g++)c[g]=0;for(g=0;g<e;g++)c[a[g]]++;var h=0;for(g=0;g<256;g++)c[g]>0&&h++,d[g]=c[g]/e*100;var i="<canvas id='chart-area'></canvas><br>Total data length: "+e+"\nNumber of bytes represented: "+h+"\nNumber of bytes not represented: "+(256-h)+"\n\nByte Percentage\n<script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), scores = "+JSON.stringify(d)+"; canvas.width = parentRect.width * 0.95; canvas.height = parentRect.height * 0.9; CanvasComponents.drawBarChart(canvas, scores, 'Byte', 'Frequency %', 16, 6); <\/script>";for(g=0;g<256;g++)(c[g]||f)&&(i+=" "+Utils.hex(g,2)+" ("+Utils.padRight(d[g].toFixed(2).replace(".00","")+"%)",8)+Array(Math.ceil(d[g])+1).join("|")+"\n");return i},_calcEntropy:function(a){for(var b=[],c=a.unique(),d=Utils.byteArrayToChars(a),e=0;e<c.length;e++)b.push(d.count(Utils.chr(c[e]))/a.length);var f,g=0;for(e=0;e<b.length;e++)f=b[e],g+=f*Math.log(f)/Math.log(2);return-g}},Extract={_search:function(a,b,c,d){for(var e,f="",g=0;e=b.exec(a);)c&&c.test(e[0])||(g++,f+=e[0]+"\n");return d&&(f="Total found: "+g+"\n\n"+f),f},MIN_STRING_LEN:3,DISPLAY_TOTAL:!1,runStrings:function(a,b){var c=b[0]||Extract.MIN_STRING_LEN,d=b[1],e="[A-Z\\d/\\-:.,_$%'\"()<>= !\\[\\]{}@]",f=new RegExp(e+"{"+c+",}","ig");return Extract._search(a,f,null,d)},INCLUDE_IPV4:!0,INCLUDE_IPV6:!1,REMOVE_LOCAL:!1,runIp:function(a,b){var c=b[0],d=b[1],e=b[2],f=b[3],g="(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?",h="((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|(?![\\dA-F])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})",i="";if(c&&d?i=g+"|"+h:c?i=g:d&&(i=h),i){var j=new RegExp(i,"ig");if(e){var k="10\\..+",l="192\\.168\\..+",m="172\\.(?:1[6-9]|2\\d|3[01])\\..+",n="127\\..+",o=new RegExp("^(?:"+k+"|"+l+"|"+m+"|"+n+")");return Extract._search(a,j,o,f)}return Extract._search(a,j,null,f)}return""},runEmail:function(a,b){var c=b[0],d=/\w[-.\w]*@[-\w]+(?:\.[-\w]+)*\.[A-Z]{2,4}/gi;return Extract._search(a,d,null,c)},runMac:function(a,b){var c=b[0],d=/[A-F\d]{2}(?:[:-][A-F\d]{2}){5}/gi;return Extract._search(a,d,null,c)},runUrls:function(a,b){var c=b[0],d="[A-Z]+://",e="[-\\w]+(?:\\.\\w[-\\w]*)+",f=":\\d+",g="/[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]*";g+="(?:[.!,?]+[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]+)*";var h=new RegExp(d+e+"(?:"+f+")?(?:"+g+")?","ig");return Extract._search(a,h,null,c)},runDomains:function(a,b){var c=b[0],d="https?://"Line truncated
},IPV4_REGEX:/^\s*((?:\d{1,3}\.){3}\d{1,3})\s*$/,IPV6_REGEX:/^\s*(((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\4)::|:\b|(?![\dA-F])))|(?!\3\4)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4}))\s*$/i,runParseIPv6:function(a,b){var c,d="";if(!(c=IP.IPV6_REGEX.exec(a)))return"Invalid IPv6 address";var e=IP._strToIpv6(c[1]),f=IP._ipv6ToStr(e),g=IP._ipv6ToStr(e,!0);if(d+="Longhand: "+f+"\nShorthand: "+g+"\n","::"===g)d+="\nUnspecified address corresponding to 0.0.0.0/32 in IPv4.",d+="\nUnspecified address range: ::/128";else if("::1"===g)d+="\nLoopback address to the local host corresponding to 127.0.0.1/8 in IPv4.",d+="\nLoopback addresses range: ::1/128";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&65535===e[5])d+="\nIPv4-mapped IPv6 address detected. IPv6 clients will be handled natively by default, and IPv4 clients appear as IPv6 clients at their IPv4-mapped IPv6 address.",d+="\nMapped IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-mapped IPv6 addresses range: ::ffff:0:0/96";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&65535===e[4]&&0===e[5])d+="\nIPv4-translated address detected. Used by Stateless IP/ICMP Translation (SIIT). See RFCs 6145 and 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-translated addresses range: ::ffff:0:0:0/96";else if(256===e[0])d+="\nDiscard prefix detected. This is used when forwarding traffic to a sinkhole router to mitigate the effects of a denial-of-service attack. See RFC 6666 for more details.",d+="\nDiscard range: 100::/64";else if(100===e[0]&&65435===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&0===e[5])d+="\n'Well-Known' prefix for IPv4/IPv6 translation detected. See RFC 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\n'Well-Known' prefix range: 64:ff9b::/96";else if(8193===e[0]&&0===e[1]){d+="\nTeredo tunneling IPv6 address detected\n";var h=(e[2]<<16)+e[3],i=65535&~e[5],j=~((e[6]<<16)+e[7]),k=e[4]>>>15&1,l=e[4]>>>14&1,m=e[4]>>>10&15,n=e[4]>>>8&3,o=255&e[4];d+="\nServer IPv4 address: "+IP._ipv4ToStr(h)+"\nClient IPv4 address: "+IP._ipv4ToStr(j)+"\nClient UDP port: "+i+"\nFlags:\n\tCone: "+k,d+=k?" (Client is behind a cone NAT)":" (Client is not behind a cone NAT)",d+="\n\tR: "+l,l&&(d+=" Error: This flag should be set to 0. See RFC 5991 and RFC 4380."),d+="\n\tRandom1: "+Utils.bin(m,4)+"\n\tUG: "+Utils.bin(n,2),n&&(d+=" Error: This flag should be set to 00. See RFC 4380."),d+="\n\tRandom2: "+Utils.bin(o,8),d+=!l&&!n&&m&&o?"\n\nThis is a valid Teredo address which complies with RFC 4380 and RFC 5991.":l||n?"\n\nThis is an invalid Teredo address.":"\n\nThis is a valid Teredo address which complies with RFC 4380, however it does not comply with RFC 5991 (Teredo Security Updates) as there are no randomised bits in the flag field.",d+="\n\nTeredo prefix range: 2001::/32"}else if(8193===e[0]&&2===e[1]&&0===e[2])d+="\nAssigned to the Benchmarking Methodology Working Group (BMWG) for benchmarking IPv6. Corresponds to 198.18.0.0/15 for benchmarking IPv4. See RFC 5180 for more details.",d+="\nBMWG range: 2001:2::/48";else if(8193===e[0]&&e[1]>=16&&e[1]<=31)d+="\nDeprecated, previously ORCHIDv1 (Overlay Routable Cryptographic Hash Identifiers).\nORCHIDv1 range: 2001:10::/28\nORCHIDv2 now uses 2001:20::/28.";else if(8193===e[0]&&e[1]>=32&&e[1]<=47)d+="\nORCHIDv2 (Overlay Routable Cryptographic Hash Identifiers).\nThese are non-routed IPv6 addresses used for Cryptographic Hash Identifiers.",d+="\nORCHIDv2 range: 2001:20::/28";else if(8193===e[0]&&3512===e[1])d+="\nThis is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4.",d+="\nDocumentation range: 2001:db8::/32";else if(8194===e[0]){d+="\n6to4 transition IPv6 address detected. See RFC 3056 for more details.\n6to4 prefix range: 2002::/16";var p=IP._ipv4ToStr((e[1]<<16)+e[2]),q=e[3],r=e[4].toString(16)+e[5].toString(16)+e[6].toString(16)+e[7].toString(16),s=new BigInteger(r,16);d+="\n\nEncapsulated IPv4 address: "+p+"\nSLA ID: "+q+"\nInterface ID (base 16): "+r+"\nInterface ID (base 10): "+s.toString()}else e[0]>=64512&&e[0]<=65023?(d+="\nThis is a unique local address comparable to the IPv4 private addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. See RFC 4193 for more details.",d+="\nUnique local addresses range: fc00::/7"):e[0]>=65152&&e[0]<=65215?(d+="\nThis is a link-local address comparable to the auto-configuration addresses 169.254.0.0/16 in IPv4.",d+="\nLink-local addresses range: fe80::/10"):e[0]>=65280&&(d+="\nThis is a reserved multicast address.",d+="\nMulticast addresses range: ff00::/8");if(e[5]&!0&&e[6]>>>8===254){d+="\n\nThis IPv6 address contains a modified EUI-64 address, identified by the presence of FF:FE in the 12th and 13th octets.";var t=Utils.hex(e[4]>>>8)+":"+Utils.hex(255&e[4]Line truncated
runHexToPem:function(a,b){return KJUR.asn1.ASN1Util.getPEMStringFromHex(a.replace(/\s/g,""),b[0])},runHexToObjectIdentifier:function(a,b){return KJUR.asn1.ASN1Util.oidHexToInt(a.replace(/\s/g,""))},runObjectIdentifierToHex:function(a,b){return KJUR.asn1.ASN1Util.oidIntToHex(a)},ASN1_TRUNCATE_LENGTH:32,runParseAsn1HexString:function(a,b){var c=b[1],d=b[0];return ASN1HEX.dump(a.replace(/\s/g,""),{ommitLongOctet:c},d)},_formatDnStr:function(a,b){for(var c,d,e,f="",g=a.split(",/|"),h=0,i=0;i<g.length;i++)g[i].length&&(c=g[i].split("=")[0],h=c.length>h?c.length:h);for(i=0;i<g.length;i++)g[i].length&&(c=g[i].split("=")[0],d=g[i].split("=")[1],e=Utils.padRight(c,h)+" = "+d+"\n",f+=Utils.padLeft(e,b+e.length," "));return f},_formatByteStr:function(a,b,c){a=Utils.toHex(Utils.fromHex(a),":"),b*=3;for(var d="",e=0;e<a.length;e+=b){var f=a.slice(e,e+b)+"\n";d+=0===e?f:Utils.padLeft(f,c+f.length," ")}return d.slice(0,d.length-1)},_formatDate:function(a){return a[4]+a[5]+"/"+a[2]+a[3]+"/"+a[0]+a[1]+" "+a[6]+a[7]+":"+a[8]+a[9]+":"+a[10]+a[11]}};X509.hex2dn=function(a){for(var b="",c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0),d=0;d<c.length;d++){var e=ASN1HEX.getHexOfTLV_AtObj(a,c[d]);b=b+",/|"+X509.hex2rdn(e)}return b},X509.DN_ATTRHEX={"0603550403":"commonName","0603550404":"surname","0603550406":"countryName","0603550407":"localityName","0603550408":"stateOrProvinceName","0603550409":"streetAddress","060355040a":"organizationName","060355040b":"organizationalUnitName","060355040c":"title","0603550414":"telephoneNumber","060355042a":"givenName","06032b06010505070201":"idCertificatePolicies","06036086480186f8420101":"netscape-cert-type","06036086480186f8420102":"netscape-base-url","06036086480186f8420103":"netscape-revocation-url","06036086480186f8420104":"netscape-ca-revocation-url","06036086480186f8420107":"netscape-cert-renewal-url","06036086480186f8420108":"netscape-ca-policy-url","06036086480186f842010c":"netscape-ssl-server-name","06036086480186f842010d":"netscape-comment","0603604c010201":"A1","0603604c010203":"A3","0603604c01020110":"Certification Practice Statement pointer","0603604c010301":"Dados do cert parte 1","0603604c010305":"Dados do cert parte 2","0603604c010306":"Dados do cert parte 3","06030992268993f22c640119":"domainComponent","06032a24a0f2a07d01010a":"Signet pilot","06032a24a0f2a07d01010b":"Signet intraNet","06032a24a0f2a07d010102":"Signet personal","06032a24a0f2a07d010114":"Signet securityPolicy","06032a24a0f2a07d010103":"Signet business","06032a24a0f2a07d010104":"Signet legal","06032a24a497a35301640101":"Certificates Australia policyIdentifier","06032a85702201":"seis-cp","06032a8570220101":"SEIS certificatePolicy-s10","06032a85702202":"SEIS pe","06032a85702203":"SEIS at","06032a8570220301":"SEIS at-personalIdentifier","06032a8648ce380201":"holdinstruction-none","06032a8648ce380202":"holdinstruction-callissuer","06032a8648ce380203":"holdinstruction-reject","06032a8648ce380401":"dsa","06032a8648ce380403":"dsaWithSha1","06032a8648ce3d01":"fieldType","06032a8648ce3d0101":"prime-field","06032a8648ce3d0102":"characteristic-two-field","06032a8648ce3d010201":"ecPublicKey","06032a8648ce3d010203":"characteristic-two-basis","06032a8648ce3d01020301":"onBasis","06032a8648ce3d01020302":"tpBasis","06032a8648ce3d01020303":"ppBasis","06032a8648ce3d02":"publicKeyType","06032a8648ce3d0201":"ecPublicKey","06032a8648ce3e0201":"dhPublicNumber","06032a864886f67d07":"nsn","06032a864886f67d0741":"nsn-ce","06032a864886f67d074100":"entrustVersInfo","06032a864886f67d0742":"nsn-alg","06032a864886f67d07420a":"cast5CBC","06032a864886f67d07420b":"cast5MAC","06032a864886f67d07420c":"pbeWithMD5AndCAST5-CBC","06032a864886f67d07420d":"passwordBasedMac","06032a864886f67d074203":"cast3CBC","06032a864886f67d0743":"nsn-oc","06032a864886f67d074300":"entrustUser","06032a864886f67d0744":"nsn-at","06032a864886f67d074400":"entrustCAInfo","06032a864886f67d07440a":"attributeCertificate","06032a864886f70d0101":"pkcs-1","06032a864886f70d010101":"rsaEncryption","06032a864886f70d010102":"md2withRSAEncryption","06032a864886f70d010103":"md4withRSAEncryption","06032a864886f70d010104":"md5withRSAEncryption","06032a864886f70d010105":"sha1withRSAEncryption","06032a864886f70d010106":"rsaOAEPEncryptionSET","06032a864886f70d010910020b":"SMIMEEncryptionKeyPreference","06032a864886f70d010c":"pkcs-12","06032a864886f70d010c01":"pkcs-12-PbeIds","06032a864886f70d010c0101":"pbeWithSHAAnd128BitRC4","06032a864886f70d010c0102":"pbeWithSHAAnd40BitRC4","06032a864886f70d010c0103":"pbeWithSHAAnd3-KeyTripleDES-CBC","06032a864886f70d010c0104":"pbeWithSHAAnd2-KeyTripleDES-CBC","06032a864886f70d010c0105":"pbeWithSHAAnd128BitRC2-CBC","06032a864886f70d010c0106":"pbeWithSHAAnd40BitRC2-CBC","06032a864886f70d010c0a":"pkcs-12Version1","06032a864886f70d010c0a01":"pkcs-12BadIds","06032a864886f70d010c0a0101":"pkcs-12-keyBag","06032a864886f70d010c0a0102":"pkcs-12-pkcs-8ShroudedKeyBag","06032a864886f70d010c0a0103":"pkcs-12-certBag","06032a864886f70d010c0a0104":"pkcs-12-crlBag","06032a864Line truncated
return d.slice(0,d.length-1)},runRemoveLineNumbers:function(a,b){return a.replace(/^[ \t]{0,5}\d+[\s:|\-,.)\]]/gm,"")},runExpandAlphRange:function(a,b){return Utils.expandAlphRange(a).join(b[0])},_caseInsensitiveSort:function(a,b){return a.toLowerCase().localeCompare(b.toLowerCase())},_ipSort:function(a,b){var c=a.split("."),d=b.split(".");return c=16777216*c[0]+65536*c[1]+256*c[2]+1*c[3],d=16777216*d[0]+65536*d[1]+256*d[2]+1*d[3],isNaN(c)&&!isNaN(d)?1:!isNaN(c)&&isNaN(d)?-1:isNaN(c)&&isNaN(d)?a.localeCompare(b):c-d}},StrUtils={REGEX_PRE_POPULATE:[{name:"User defined",value:""},{name:"IPv4 address",value:"(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?"},{name:"IPv6 address",value:"((?=.*::)(?!.*::.+::)(::)?([\\dA-Fa-f]{1,4}:(:|\\b)|){5}|([\\dA-Fa-f]{1,4}:){6})((([\\dA-Fa-f]{1,4}((?!\\3)::|:\\b|(?![\\dA-Fa-f])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})"},{name:"Email address",value:"(\\w[-.\\w]*)@([-\\w]+(?:\\.[-\\w]+)*)\\.([A-Za-z]{2,4})"},{name:"URL",value:'([A-Za-z]+://)([-\\w]+(?:\\.\\w[-\\w]*)+)(:\\d+)?(/[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]*(?:[.!,?]+[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]+)*)?'},{name:"Domain",value:"(?:(https?):\\/\\/)?([-\\w.]+)\\.(com|net|org|biz|info|co|uk|onion|int|mobi|name|edu|gov|mil|eu|ac|ae|af|de|ca|ch|cn|cy|es|gb|hk|il|in|io|tv|me|nl|no|nz|ro|ru|tr|us|az|ir|kz|uz|pk)+"},{name:"Windows file path",value:"([A-Za-z]):\\\\((?:[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61}\\\\?)*[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61})(\\.[A-Za-z\\d]{1,6})?"},{name:"UNIX file path",value:"(?:/[A-Za-z\\d.][A-Za-z\\d\\-.]{0,61})+"},{name:"MAC address",value:"[A-Fa-f\\d]{2}(?:[:-][A-Fa-f\\d]{2}){5}"},{name:"Date (yyyy-mm-dd)",value:"((?:19|20)\\d\\d)[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])"},{name:"Date (dd/mm/yyyy)",value:"(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]((?:19|20)\\d\\d)"},{name:"Date (mm/dd/yyyy)",value:"(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]((?:19|20)\\d\\d)"},{name:"Strings",value:'[A-Za-z\\d/\\-:.,_$%\\x27"()<>= !\\[\\]{}@]{4,}'}],REGEX_CASE_INSENSITIVE:!0,REGEX_MULTILINE_MATCHING:!0,OUTPUT_FORMAT:["Highlight matches","List matches","List capture groups","List matches with capture groups"],DISPLAY_TOTAL:!1,runRegex:function(a,b){var c=b[1],d=b[2],e=b[3],f=b[4],g=b[5],h="g";if(d&&(h+="i"),e&&(h+="m"),!c||"^"===c||"$"===c)return Utils.escapeHtml(a);try{var i=new RegExp(c,h);switch(g){case"Highlight matches":return StrUtils._regexHighlight(a,i,f);case"List matches":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!1));case"List capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!1,!0));case"List matches with capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!0));default:return"Error: Invalid output format"}}catch(a){return"Invalid regex. Details: "+a.message}},CASE_SCOPE:["All","Word","Sentence","Paragraph"],runUpper:function(a,b){var c=b[0];switch(c){case"Word":return a.replace(/(\b\w)/gi,function(a){return a.toUpperCase()});case"Sentence":return a.replace(/(?:\.|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"Paragraph":return a.replace(/(?:\n|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"All":default:return a.toUpperCase()}},runLower:function(a,b){return a.toLowerCase()},SEARCH_TYPE:["Regex","Extended (\\n, \\t, \\x...)","Simple string"],FIND_REPLACE_GLOBAL:!0,FIND_REPLACE_CASE:!1,FIND_REPLACE_MULTILINE:!0,runFindReplace:function(a,b){var c=b[0].string,d=b[0].option,e=b[1],f=b[2],g=b[3],h=b[4],i="";return f&&(i+="g"),g&&(i+="i"),h&&(i+="m"),"Regex"===d?c=new RegExp(c,i):0===d.indexOf("Extended")&&(c=Utils.parseEscapedChars(c)),a.replace(c,e,i)},SPLIT_DELIM:",",DELIMITER_OPTIONS:["Line feed","CRLF","Space","Comma","Semi-colon","Colon","Nothing (separate chars)"],runSplit:function(a,b){var c=b[0]||StrUtils.SPLIT_DELIM,d=Utils.charRep[b[1]],e=a.split(c);return e.join(d)},runFilter:function(a,b){var c=Utils.charRep[b[0]],d=b[2];try{var e=new RegExp(b[1])}catch(a){return"Invalid regex. Details: "+a.message}var f=function(a){return d^e.test(a)};return a.split(c).filter(f).join(c)},DIFF_SAMPLE_DELIMITER:"\\n\\n",DIFF_BY:["Character","Word","Line","Sentence","CSS","JSON"],runDiff:function(a,b){var c,d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=a.split(d),j="";if(!i||2!==i.length)return"Incorrect number of samples, perhaps you need to modify the sample delimiter or add more samples?";switch(e){case"Character":c=JsDiff.diffChars(i[0],i[1]);break;case"Word":c=h?JsDiff.diffWords(i[0],i[1]):JsDiff.diffWordsWithSpace(i[0],i[1]);break;case"Line":c=h?JsDiff.diffTrimmedLines(i[0],i[1]):JsDiff.diffLines(i[0],i[1]);break;case"Sentence":c=JsDiff.diffSentences(i[0],i[1]);break;case"CSS":c=JsDiff.diffCss(i[0],i[1]);break;case"JSON":c=JsDiff.diffJson(i[0],i[1]);break;default:return"Invalid 'Diff by' option."}for(var k=0;k<c.length;k++)c[k].added?f&&(j+="<span class='hlgreen'>"+Utils.escapeHtml(c[k].value)+"</span>"):c[k].removed?g&&(j+="<span Line truncated
inputType:"string",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS},{name:"Base",type:"number",value:ByteRepr.CHARCODE_BASE}]},"From Binary":{description:"Converts a binary string back into its raw form.<br><br>e.g. <code>01001000 01101001</code> becomes <code>Hi</code>",run:ByteRepr.runFromBinary,highlight:ByteRepr.highlightFromBinary,highlightReverse:ByteRepr.highlightToBinary,inputType:"string",outputType:"byteArray",args:[{name:"Delimiter",type:"option",value:ByteRepr.BIN_DELIM_OPTIONS}]},"To Binary":{description:"Displays the input data as a binary string.<br><br>e.g. <code>Hi</code> becomes <code>01001000 01101001</code>",run:ByteRepr.runToBinary,highlight:ByteRepr.highlightToBinary,highlightReverse:ByteRepr.highlightFromBinary,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.BIN_DELIM_OPTIONS}]},"From Decimal":{description:"Converts the data from an ordinal integer array back into its raw form.<br><br>e.g. <code>72 101 108 108 111</code> becomes <code>Hello</code>",run:ByteRepr.runFromDecimal,inputType:"string",outputType:"byteArray",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"To Decimal":{description:"Converts the input data to an ordinal integer array.<br><br>e.g. <code>Hello</code> becomes <code>72 101 108 108 111</code>",run:ByteRepr.runToDecimal,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"From Hexdump":{description:"Attempts to convert a hexdump back into raw data. This operation supports many different hexdump variations, but probably not all. Make sure you verify that the data it gives you is correct before continuing analysis.",run:Hexdump.runFrom,highlight:Hexdump.highlightFrom,highlightReverse:Hexdump.highlightTo,inputType:"string",outputType:"byteArray",args:[]},"To Hexdump":{description:"Creates a hexdump of the input data, displaying both the hexademinal values of each byte and an ASCII representation alongside.",run:Hexdump.runTo,highlight:Hexdump.highlightTo,highlightReverse:Hexdump.highlightFrom,inputType:"byteArray",outputType:"string",args:[{name:"Width",type:"number",value:Hexdump.WIDTH},{name:"Upper case hex",type:"boolean",value:Hexdump.UPPER_CASE},{name:"Include final length",type:"boolean",value:Hexdump.INCLUDE_FINAL_LENGTH}]},"From Base":{description:"Converts a number to decimal from a given numerical base.",run:Base.runFrom,inputType:"string",outputType:"number",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"To Base":{description:"Converts a decimal number to a given numerical base.",run:Base.runTo,inputType:"number",outputType:"string",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"From HTML Entity":{description:"Converts HTML entities back to characters<br><br>e.g. <code>&amp;<span>amp;</span></code> becomes <code>&amp;</code>",run:HTML.runFromEntity,inputType:"string",outputType:"string",args:[]},"To HTML Entity":{description:"Converts characters to HTML entities<br><br>e.g. <code>&amp;</code> becomes <code>&amp;<span>amp;</span></code>",run:HTML.runToEntity,inputType:"string",outputType:"string",args:[{name:"Convert all characters",type:"boolean",value:HTML.CONVERT_ALL},{name:"Convert to",type:"option",value:HTML.CONVERT_OPTIONS}]},"Strip HTML tags":{description:"Removes all HTML tags from the input.",run:HTML.runStripTags,inputType:"string",outputType:"string",args:[{name:"Remove indentation",type:"boolean",value:HTML.REMOVE_INDENTATION},{name:"Remove excess line breaks",type:"boolean",value:HTML.REMOVE_LINE_BREAKS}]},"URL Decode":{description:"Converts URI/URL percent-encoded characters back to their raw values.<br><br>e.g. <code>%3d</code> becomes <code>=</code>",run:URL_.runFrom,inputType:"string",outputType:"string",args:[]},"URL Encode":{description:"Encodes problematic characters into percent-encoding, a format supported by URIs/URLs.<br><br>e.g. <code>=</code> becomes <code>%3d</code>",run:URL_.runTo,inputType:"string",outputType:"string",args:[{name:"Encode all special chars",type:"boolean",value:URL_.ENCODE_ALL}]},"Parse URI":{description:"Pretty prints complicated Uniform Resource Identifier (URI) strings for ease of reading. Particularly useful for Uniform Resource Locators (URLs) with a lot of arguments.",run:URL_.runParse,inputType:"string",outputType:"string",args:[]},"Unescape Unicode Characters":{description:"Converts unicode-escaped character notation back into raw characters.<br><br>Supports the prefixes:<ul><li><code>\\u</code></li><li><code>%u</code></li><li><code>U+</code></li></ul>e.g. <code>\\u03c3\\u03bf\\u03c5</code> becomes <code>\u03c3\u03bf\u03c5</code>",run:Unicode.runUnescape,inputType:"string",outputType:"string",args:[{name:"Prefix",type:"option",value:Unicode.PREFIXES}]},"From Quoted Printable":{description:"Converts QP-encoded text back to standard text.",run:QuotedPrintable.runFrom,inputType:"string",outputType:"byteArray",arLine truncated
run:Extract.runMac,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract URLs":{description:"Extracts Uniform Resource Locators (URLs) from the input. The protocol (http, ftp etc.) is required otherwise there will be far too many false positives.",run:Extract.runUrls,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract domains":{description:"Extracts domain names with common Top-Level Domains (TLDs).<br>Note that this will not include paths. Use <strong>Extract URLs</strong> to find entire URLs.",run:Extract.runDomains,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract file paths":{description:"Extracts anything that looks like a Windows or UNIX file path.<br><br>Note that if UNIX is selected, there will likely be a lot of false positives.",run:Extract.runFilePaths,inputType:"string",outputType:"string",args:[{name:"Windows",type:"boolean",value:Extract.INCLUDE_WIN_PATH},{name:"UNIX",type:"boolean",value:Extract.INCLUDE_UNIX_PATH},{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract dates":{description:"Extracts dates in the following formats<ul><li><code>yyyy-mm-dd</code></li><li><code>dd/mm/yyyy</code></li><li><code>mm/dd/yyyy</code></li></ul>Dividers can be any of /, -, . or space",run:Extract.runDates,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Regular expression":{description:"Define your own regular expression (regex) to search the input data with, optionally choosing from a list of pre-defined patterns.",run:StrUtils.runRegex,manualBake:!0,inputType:"string",outputType:"html",args:[{name:"Built in regexes",type:"populateOption",value:StrUtils.REGEX_PRE_POPULATE,target:1},{name:"Regex",type:"text",value:""},{name:"Case insensitive",type:"boolean",value:StrUtils.REGEX_CASE_INSENSITIVE},{name:"Multiline matching",type:"boolean",value:StrUtils.REGEX_MULTILINE_MATCHING},{name:"Display total",type:"boolean",value:StrUtils.DISPLAY_TOTAL},{name:"Output format",type:"option",value:StrUtils.OUTPUT_FORMAT}]},"XPath expression":{description:"Extract information from an XML document with an XPath query",run:Code.runXpath,inputType:"string",outputType:"string",args:[{name:"XPath",type:"string",value:Code.XPATH_INITIAL},{name:"Result delimiter",type:"binaryShortString",value:Code.XPATH_DELIMITER}]},"CSS selector":{description:"Extract information from an HTML document with a CSS selector",run:Code.runCSSQuery,inputType:"string",outputType:"string",args:[{name:"CSS selector",type:"string",value:Code.CSS_SELECTOR_INITIAL},{name:"Delimiter",type:"binaryShortString",value:Code.CSS_QUERY_DELIMITER}]},"From UNIX Timestamp":{description:"Converts a UNIX timestamp to a datetime string.<br><br>e.g. <code>978346800</code> becomes <code>Mon 1 January 2001 11:00:00 UTC</code>",run:DateTime.runFromUnixTimestamp,inputType:"number",outputType:"string",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"To UNIX Timestamp":{description:"Parses a datetime string and returns the corresponding UNIX timestamp.<br><br>e.g. <code>Mon 1 January 2001 11:00:00 UTC</code> becomes <code>978346800</code>",run:DateTime.runToUnixTimestamp,inputType:"string",outputType:"number",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"Translate DateTime Format":{description:"Parses a datetime string in one format and re-writes it in another.<br><br>Run with no input to see the relevant format string examples.",run:DateTime.runTranslateFormat,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES},{name:"Output format string",type:"binaryString",value:DateTime.OUTPUT_FORMAT_STRING},{name:"Output timezone",type:"option",value:DateTime.TIMEZONES}]},"Parse DateTime":{description:"Parses a DateTime string in your specified format and displays it in whichever timezone you choose with the following information:<ul><li>Date</li><li>Time</li><li>Period (AM/PM)</li><li>Timezone</li><li>UTC offset</li><li>Daylight Saving Time</li><li>Leap year</li><li>Days in this month</li><li>Day of year</li><li>Week number</li><li>Quarter</li></ul>Run with no input to see format string examples if required.",run:DateTime.runParse,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES}]},"Convert distance":{description:"Converts a unit of distance to another format.",run:Convert.runDistance,inputType:"number",outputType:"number",Line truncated
},ControlsWaiter.prototype.slrCheckChange=function(){this.initialiseSaveLink()},ControlsWaiter.prototype.sliCheckChange=function(){this.initialiseSaveLink()},ControlsWaiter.prototype.loadClick=function(){this.populateLoadRecipesList(),$("#load-modal").modal()},ControlsWaiter.prototype.saveButtonClick=function(){var a=document.getElementById("save-name").value,b=document.getElementById("save-text").value;if(!a)return void this.app.alert("Please enter a recipe name","danger",2e3);var c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[],d=localStorage.recipeId||0;c.push({id:++d,name:a,recipe:b}),localStorage.savedRecipes=JSON.stringify(c),localStorage.recipeId=d,this.app.alert('Recipe saved as "'+a+'".',"success",2e3)},ControlsWaiter.prototype.populateLoadRecipesList=function(){for(var a=document.getElementById("load-name"),b=a.options.length;b--;)a.remove(b);var c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];for(b=0;b<c.length;b++){var d=document.createElement("option");d.value=c[b].id,d.innerHTML=c[b].name,a.appendChild(d)}document.getElementById("load-text").value=c.length?c[0].recipe:""},ControlsWaiter.prototype.loadDeleteClick=function(){var a=parseInt(document.getElementById("load-name").value,10),b=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];b=b.filter(function(b){return b.id!==a}),localStorage.savedRecipes=JSON.stringify(b),this.populateLoadRecipesList()},ControlsWaiter.prototype.loadNameChange=function(a){var b=a.target,c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[],d=parseInt(b.value,10),e=c.filter(function(a){return a.id===d})[0];document.getElementById("load-text").value=e.recipe},ControlsWaiter.prototype.loadButtonClick=function(){try{var a=JSON.parse(document.getElementById("load-text").value);this.app.setRecipeConfig(a),$("#rec-list [data-toggle=popover]").popover()}catch(a){this.app.alert("Invalid recipe","danger",2e3)}},ControlsWaiter.prototype.supportButtonClick=function(){var a=document.getElementById("report-bug-info"),b=this.generateStateUrl(!0,!0,null,"https://gchq.github.io/CyberChef/");a.innerHTML="* CyberChef compile time: 21/03/2017 23:08:31 UTC\n* User-Agent: \n"+navigator.userAgent+"\n* [Link to reproduce]("+b+")\n\n"};var HighlighterWaiter=function(a){this.app=a,this.mouseButtonDown=!1,this.mouseTarget=null};HighlighterWaiter.INPUT=0,HighlighterWaiter.OUTPUT=1,HighlighterWaiter.prototype._isSelectionBackwards=function(){var a=!1,b=window.getSelection();if(!b.isCollapsed){var c=document.createRange();c.setStart(b.anchorNode,b.anchorOffset),c.setEnd(b.focusNode,b.focusOffset),a=c.collapsed,c.detach()}return a},HighlighterWaiter.prototype._getOutputHtmlOffset=function(a,b){var c=window.getSelection(),d=document.createRange();return d.selectNodeContents(document.getElementById("output-html")),d.setEnd(a,b),c.removeAllRanges(),c.addRange(d),c.toString().length},HighlighterWaiter.prototype._getOutputHtmlSelectionOffsets=function(){var a,b=window.getSelection(),c=0,d=0,e=!1;return b.rangeCount&&(a=b.getRangeAt(b.rangeCount-1),e=this._isSelectionBackwards(),c=this._getOutputHtmlOffset(a.startContainer,a.startOffset),d=this._getOutputHtmlOffset(a.endContainer,a.endOffset),b.removeAllRanges(),b.addRange(a),e&&(b.collapseToEnd(),b.extend(b.anchorNode,a.startOffset))),{start:c,end:d}},HighlighterWaiter.prototype.inputScroll=function(a){var b=a.target;document.getElementById("input-highlighter").scrollTop=b.scrollTop,document.getElementById("input-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.outputScroll=function(a){var b=a.target;document.getElementById("output-highlighter").scrollTop=b.scrollTop,document.getElementById("output-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.inputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.INPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("input-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightOutput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightInput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputHtmlMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT;var b=this._getOutputHtmlSelectionOffsets();0===b.start&&0===b.end||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(b.start,b.end))},HighlighterWaiter.prototype.inputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputHtmlMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.inputMousemove=funcLine truncated
this.addDynamicListener(".op-list","oplistcreate",this.ops.opListCreate,this.ops),this.addDynamicListener("li.operation","operationadd",this.recipe.opAdd.bind(this.recipe)),this.addDynamicListener(".arg","keyup",this.recipe.ingChange,this.recipe),this.addDynamicListener(".arg","change",this.recipe.ingChange,this.recipe),this.addDynamicListener(".disable-icon","click",this.recipe.disableClick,this.recipe),this.addDynamicListener(".breakpoint","click",this.recipe.breakpointClick,this.recipe),this.addDynamicListener("#rec-list li.operation","dblclick",this.recipe.operationDblclick,this.recipe),this.addDynamicListener("#rec-list li.operation > div","dblclick",this.recipe.operationChildDblclick,this.recipe),this.addDynamicListener("#rec-list .input-group .dropdown-menu a","click",this.recipe.dropdownToggleClick,this.recipe),this.addDynamicListener("#rec-list","operationremove",this.recipe.opRemove.bind(this.recipe)),this.addMultiEventListener("#input-text","keyup paste",this.input.inputChange,this.input),document.getElementById("reset-layout").addEventListener("click",this.app.resetLayout.bind(this.app)),document.getElementById("clr-io").addEventListener("click",this.input.clearIoClick.bind(this.input)),document.getElementById("input-text").addEventListener("dragover",this.input.inputDragover.bind(this.input)),document.getElementById("input-text").addEventListener("dragleave",this.input.inputDragleave.bind(this.input)),document.getElementById("input-text").addEventListener("drop",this.input.inputDrop.bind(this.input)),document.getElementById("input-text").addEventListener("scroll",this.highlighter.inputScroll.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mouseup",this.highlighter.inputMouseup.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mousemove",this.highlighter.inputMousemove.bind(this.highlighter)),this.addMultiEventListener("#input-text","mousedown dblclick select",this.highlighter.inputMousedown,this.highlighter),document.getElementById("save-to-file").addEventListener("click",this.output.saveClick.bind(this.output)),document.getElementById("switch").addEventListener("click",this.output.switchClick.bind(this.output)),document.getElementById("undo-switch").addEventListener("click",this.output.undoSwitchClick.bind(this.output)),document.getElementById("maximise-output").addEventListener("click",this.output.maximiseOutputClick.bind(this.output)),document.getElementById("output-text").addEventListener("scroll",this.highlighter.outputScroll.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mouseup",this.highlighter.outputMouseup.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mousemove",this.highlighter.outputMousemove.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mouseup",this.highlighter.outputHtmlMouseup.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mousemove",this.highlighter.outputHtmlMousemove.bind(this.highlighter)),this.addMultiEventListener("#output-text","mousedown dblclick select",this.highlighter.outputMousedown,this.highlighter),this.addMultiEventListener("#output-html","mousedown dblclick select",this.highlighter.outputHtmlMousedown,this.highlighter),document.getElementById("options").addEventListener("click",this.options.optionsClick.bind(this.options)),document.getElementById("reset-options").addEventListener("click",this.options.resetOptionsClick.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.switchChange.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.setWordWrap.bind(this.options)),this.addDynamicListener(".option-item input[type=number]","keyup",this.options.numberChange,this.options),this.addDynamicListener(".option-item input[type=number]","change",this.options.numberChange,this.options),this.addDynamicListener(".option-item select","change",this.options.selectChange,this.options),document.getElementById("alert-close").addEventListener("click",this.app.alertCloseClick.bind(this.app))},Manager.prototype.addListeners=function(a,b,c,d){d=d||this,[].forEach.call(document.querySelectorAll(a),function(a){a.addEventListener(b,c.bind(d))})},Manager.prototype.addMultiEventListener=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)document.querySelector(a).addEventListener(e[f],c.bind(d))},Manager.prototype.addMultiEventListeners=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)this.addListeners(a,e[f],c,d)},Manager.prototype.addDynamicListener=function(a,b,c,d){var e={selector:a,callback:c.bind(d||this)};this.dynamicHandlers.hasOwnProperty(b)?this.dynamicHandlers[b].push(e):(this.dynamicHandlers[b]=[e],document.addEventListener(b,this.dynamicListenerHandler.bind(this)))},Manager.prototype.dynamicListenerHandler=function(a){for(var b=this.dynamicHandlers[a.tLine truncated
+1 -1
View File
@@ -18,4 +18,4 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>CyberChef</title><meta name="copyright" content="Crown Copyright 2016"><meta name="description" content="The Cyber Swiss Army Knife"><meta name="keywords" content="base64, hex, decode, encode, encrypt, decrypt, compress, decompress, regex, regular expressions, hash, crypt, hexadecimal, user agent, url, certificate, x.509, parser, JSON, gzip, md5, sha1, aes, des, blowfish, xor"><link rel="icon" type="image/png" href="data:image/x-icon;base64,AAABAAEAEA8AAAEAIAAkBAAAFgAAACgAAAAQAAAAHgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExMAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwP5CQkE+Ojo5OiIiIS4aGhkt8fHxLe3t7S4GBgU6Hh4dWZWVlMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJaWlrvS0tL/0dHR/9HR0f/Pz8/+qamp/6ysrP+srKz/rKys/3h4eJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKioqix8fH/8bGxv/Gxsb/xcXF/pqamv+cnJz/nJyc/5ycnP9paWl/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwyOjo6P/m5ub/5ubm/+Xl5f7Ly8v/zc3N/83Nzf/Ozs7/lZWVowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxscfn5+f/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/zc3N/5KSkqIAAAAAYWFhDwAAAAAEBAQA////AAAAAACqqqrI5+fn/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/83Nzf+wsLDcnp6eo6urq8pjY2MbAAAAAAAAAACVlZWm4uLi/+bm5v/m5ub/5ubm/+Tk5P7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP+8vLz7bGxsLQAAAACioqJ+6Ojo/+bm5v7l5eX/5ubm/+bm5v/l5eX+ysrK/8zMzP/MzMz/zMzM/8zMzP/MzMz/t7e33Y2NjVxFRUULx8fHwubm5v/m5ub/5ubm/+bm5v/m5ub+5eXl/8rKyv7MzMz/zMzM/8zMzP/MzMz/zMzM/svLy//Hx8f/WlpaDcnJycnm5ub/5ubm/+bm5v/m5ub/5ubm/+Xl5f7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP/Dw8P3oKCgxQAAAAG1tbWZ5+fn/+Xl5f7m5ub/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/y8vL/szMzP/Nzc3/tbW15UNDQxgAAAAAAAAAD76+vuLo6Oj/5ubm/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/8zMzP/BwcH9tra2+L29vflpaWkuR0dHAAAAAAAAAAAAiYmJZKurq4uXl5d909PT7eXl5f/MzMz/x8fH/6qqqty9vb3/g4ODlQAAABFra2tAAAAAAAAAAAAbGxsAAAAAAAAAAAAAAAAAAAAAAG9vbyOTk5N5j4+PnHl5eVZCQkIVkpKSJmNjYxEAAAAAAAAAAAAAAAD//wAA//8AAOAHAADgDwAA4AcAAOAHAADgAQAAwAEAAMABAACAAAAAgAAAAIABAADAAQAA9AcAAP9/AAA="><link href="styles.css" rel="stylesheet"></head><body><span id="edit-favourites" class="btn btn-default btn-sm"><img src="images/favourite-16x16.png"> Edit</span><div id="alert" class="alert alert-danger"><button type="button" class="close" id="alert-close">&times;</button> <span id="alert-content"></span></div><div id="content-wrapper"><div id="banner" class="green"><a href="cyberchef.htm" style="float:left;margin-left:10px;margin-right:80px" download>Download CyberChef<img src="images/download-24x24.png"></a><span id="notice"><script type="text/javascript">navigator.userAgent&&navigator.userAgent.match(/MSIE \d\d?\./)&&(document.write("Internet Explorer is not supported, please use Firefox or Chrome instead"),alert("Internet Explorer is not supported, please use Firefox or Chrome instead"))</script><noscript>JavaScript is not enabled. Good luck.</noscript></span><a href="#" id="support" class="banner-right" data-toggle="modal" data-target="#support-modal">About / Support<img src="images/help-22x22.png"></a><a href="#" id="options" class="banner-right">Options<img src="images/settings-22x22.png"></a></div><div id="wrapper"><div id="operations" class="split split-horizontal no-select"><div class="title no-select">Operations</div><input type="search" class="form-control" id="search" placeholder="Search..." autocomplete="off"><ul class="op-list" id="search-results"></ul><div class="panel-group no-select" id="categories"></div></div><div id="recipe" class="split split-horizontal no-select"><div class="title no-select">Recipe</div><ul id="rec-list" class="no-select"></ul><div id="controls" class="no-select"><div id="operational-controls"><div id="bake-group"><button type="button" class="btn btn-success btn-lg" id="bake"><img src="images/cook_male-32x32.png"> Bake!</button><label class="btn btn-success btn-lg" id="auto-bake-label"><input type="checkbox" checked="checked" id="auto-bake"><div>Auto Bake</div></label></div><div class="btn-group" style="padding-top:10px"><button type="button" class="btn btn-default" id="step"><img src="images/step-16x16.png"> Step through</button> <button type="button" class="btn btn-default" id="clr-breaks"><img src="images/erase-16x16.png"> Clear breakpoints</button></div></div><div class="btn-group-vertical" id="extra-controls"><button type="button" class="btn btn-default" id="save"><img src="images/save-16x16.png"> Save recipe</button> <button type="button" class="btn btn-default" id="load"><img src="images/open_yellow-16x16.png"> Load recipe</button> <button type="button" class="btn btn-default" id="clr-recipe"><img src="images/clean-16x16.png"> Clear recipe</button></div></div></div><div class="split split-horizontal" id="IO"><div id="input" class="split no-select"><div class="title no-select">Input<div class="btn-group io-btn-group"><button type="button" class="btn btn-default btn-sm" id="clr-io"><img src="images/recycle-16x16.png"> Clear I/O</button> <button type="button" class="btn btn-default btn-sm" id="reset-layout"><img src="images/layout-16x16.png"> Reset layLine truncated
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>CyberChef</title><meta name="copyright" content="Crown Copyright 2016"><meta name="description" content="The Cyber Swiss Army Knife"><meta name="keywords" content="base64, hex, decode, encode, encrypt, decrypt, compress, decompress, regex, regular expressions, hash, crypt, hexadecimal, user agent, url, certificate, x.509, parser, JSON, gzip, md5, sha1, aes, des, blowfish, xor"><link rel="icon" type="image/png" href="data:image/x-icon;base64,AAABAAEAEA8AAAEAIAAkBAAAFgAAACgAAAAQAAAAHgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExMAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwP5CQkE+Ojo5OiIiIS4aGhkt8fHxLe3t7S4GBgU6Hh4dWZWVlMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJaWlrvS0tL/0dHR/9HR0f/Pz8/+qamp/6ysrP+srKz/rKys/3h4eJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKioqix8fH/8bGxv/Gxsb/xcXF/pqamv+cnJz/nJyc/5ycnP9paWl/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwyOjo6P/m5ub/5ubm/+Xl5f7Ly8v/zc3N/83Nzf/Ozs7/lZWVowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxscfn5+f/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/zc3N/5KSkqIAAAAAYWFhDwAAAAAEBAQA////AAAAAACqqqrI5+fn/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/83Nzf+wsLDcnp6eo6urq8pjY2MbAAAAAAAAAACVlZWm4uLi/+bm5v/m5ub/5ubm/+Tk5P7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP+8vLz7bGxsLQAAAACioqJ+6Ojo/+bm5v7l5eX/5ubm/+bm5v/l5eX+ysrK/8zMzP/MzMz/zMzM/8zMzP/MzMz/t7e33Y2NjVxFRUULx8fHwubm5v/m5ub/5ubm/+bm5v/m5ub+5eXl/8rKyv7MzMz/zMzM/8zMzP/MzMz/zMzM/svLy//Hx8f/WlpaDcnJycnm5ub/5ubm/+bm5v/m5ub/5ubm/+Xl5f7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP/Dw8P3oKCgxQAAAAG1tbWZ5+fn/+Xl5f7m5ub/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/y8vL/szMzP/Nzc3/tbW15UNDQxgAAAAAAAAAD76+vuLo6Oj/5ubm/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/8zMzP/BwcH9tra2+L29vflpaWkuR0dHAAAAAAAAAAAAiYmJZKurq4uXl5d909PT7eXl5f/MzMz/x8fH/6qqqty9vb3/g4ODlQAAABFra2tAAAAAAAAAAAAbGxsAAAAAAAAAAAAAAAAAAAAAAG9vbyOTk5N5j4+PnHl5eVZCQkIVkpKSJmNjYxEAAAAAAAAAAAAAAAD//wAA//8AAOAHAADgDwAA4AcAAOAHAADgAQAAwAEAAMABAACAAAAAgAAAAIABAADAAQAA9AcAAP9/AAA="><link href="styles.css" rel="stylesheet"></head><body><span id="edit-favourites" class="btn btn-default btn-sm"><img src="images/favourite-16x16.png"> Edit</span><div id="alert" class="alert alert-danger"><button type="button" class="close" id="alert-close">&times;</button> <span id="alert-content"></span></div><div id="content-wrapper"><div id="banner" class="green"><a href="cyberchef.htm" style="float:left;margin-left:10px;margin-right:80px" download>Download CyberChef<img src="images/download-24x24.png"></a><span id="notice"><script type="text/javascript">navigator.userAgent&&navigator.userAgent.match(/MSIE \d\d?\./)&&(document.write("Internet Explorer is not supported, please use Firefox or Chrome instead"),alert("Internet Explorer is not supported, please use Firefox or Chrome instead"))</script><noscript>JavaScript is not enabled. Good luck.</noscript></span><a href="#" id="support" class="banner-right" data-toggle="modal" data-target="#support-modal">About / Support<img src="images/help-22x22.png"></a><a href="#" id="options" class="banner-right">Options<img src="images/settings-22x22.png"></a></div><div id="wrapper"><div id="operations" class="split split-horizontal no-select"><div class="title no-select">Operations</div><input type="search" class="form-control" id="search" placeholder="Search..." autocomplete="off"><ul class="op-list" id="search-results"></ul><div class="panel-group no-select" id="categories"></div></div><div id="recipe" class="split split-horizontal no-select"><div class="title no-select">Recipe</div><ul id="rec-list" class="no-select"></ul><div id="controls" class="no-select"><div id="operational-controls"><div id="bake-group"><button type="button" class="btn btn-success btn-lg" id="bake"><img src="images/cook_male-32x32.png"> Bake!</button><label class="btn btn-success btn-lg" id="auto-bake-label"><input type="checkbox" checked="checked" id="auto-bake"><div>Auto Bake</div></label></div><div class="btn-group" style="padding-top:10px"><button type="button" class="btn btn-default" id="step"><img src="images/step-16x16.png"> Step through</button> <button type="button" class="btn btn-default" id="clr-breaks"><img src="images/erase-16x16.png"> Clear breakpoints</button></div></div><div class="btn-group-vertical" id="extra-controls"><button type="button" class="btn btn-default" id="save"><img src="images/save-16x16.png"> Save recipe</button> <button type="button" class="btn btn-default" id="load"><img src="images/open_yellow-16x16.png"> Load recipe</button> <button type="button" class="btn btn-default" id="clr-recipe"><img src="images/clean-16x16.png"> Clear recipe</button></div></div></div><div class="split split-horizontal" id="IO"><div id="input" class="split no-select"><div class="title no-select">Input<div class="btn-group io-btn-group"><button type="button" class="btn btn-default btn-sm" id="clr-io"><img src="images/recycle-16x16.png"> Clear I/O</button> <button type="button" class="btn btn-default btn-sm" id="reset-layout"><img src="images/layout-16x16.png"> Reset layLine truncated
+10 -10
View File
@@ -280,13 +280,13 @@ var a=new MessageChannel;return a.port1.onmessage=j,function(){return a.port2.po
function(){function a(a){this.code=a,this.message=Vc[a]}function b(b){var c=b.match(/\$?(?:(?![0-9-])(?:\w[\w.-]*|\*):)?(?![0-9-])(?:\w[\w.-]*|\*)|\(:|:\)|\/\/|\.\.|::|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?|\.\d+(?:[eE][+-]?\d+)?|"[^"]*(?:""[^"]*)*"|'[^']*(?:''[^']*)*'|<<|>>|[!<>]=|(?![0-9-])[\w-]+:\*|\s+|./g);if(c){for(var d=0,e=0,f=c.length;e<f;e++)"(:"==c[e]?d++:":)"==c[e]&&d?d--:d||/^\s/.test(c[e])||(this[this.length++]=c[e]);if(d)throw new a("XPST0003")}}function c(){}function d(a,b,d,e){this.staticContext=a,this.item=b,this.scope=d||{},this.stack={},this.DOMAdapter=e||new c;var f=new Ec,g=f.getTimezoneOffset();this.dateTime=new _a(f.getFullYear(),f.getMonth()+1,f.getDate(),f.getHours(),f.getMinutes(),f.getSeconds()+f.getMilliseconds()/1e3,-g),this.timezone=new Ab(0,Gc.abs(~~(g/60)),Gc.abs(g%60),0,g>0)}function e(){this.dataTypes={},this.documents={},this.functions={},this.collations={},this.collections={}}function f(a,b,c){Xc[a]=c,Yc[a]=b}function g(a,b){Zc[a]=b}function h(c,d){var e=new b(c),f=l(e,d);if(!e.eof())throw new a("XPST0003");if(!f)throw new a("XPST0003");this.internalExpression=f}function i(){}function j(){}function k(){this.items=[]}function l(b,c){var d;if(!b.eof()&&(d=m(b,c))){var e=new k;for(e.items.push(d);","==b.peek();){if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");e.items.push(d)}return e}}function m(a,b){if(!a.eof())return s(a,b)||o(a,b)||u(a,b)||K(a,b)}function n(){this.bindings=[],this.returnExpr=null}function o(b,c){if("for"==b.peek()&&"$"==b.peek(1).substr(0,1)){b.next();var d,e=new n;do e.bindings.push(q(b,c));while(","==b.peek()&&b.next());if("return"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");return e.returnExpr=d,e}}function p(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function q(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new p(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function r(a,b,c){this.condExpr=a,this.thenExpr=b,this.elseExpr=c}function s(b,c){var d,e,f;if("if"==b.peek()&&"("==b.peek(1)){if(b.next(2),b.eof()||!(d=l(b,c)))throw new a("XPST0003");if(")"!=b.peek())throw new a("XPST0003");if(b.next(),"then"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");if("else"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(f=m(b,c)))throw new a("XPST0003");return new r(d,e,f)}}function t(a){this.quantifier=a,this.bindings=[],this.satisfiesExpr=null}function u(b,c){var d=b.peek();if(("some"==d||"every"==d)&&"$"==b.peek(1).substr(0,1)){b.next();var e,f=new t(d);do f.bindings.push(w(b,c));while(","==b.peek()&&b.next());if("satisfies"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");return f.satisfiesExpr=e,f}}function v(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function w(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new v(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function x(a,b,c){this.left=a,this.right=b,this.operator=c}function y(b,c){var d,e;if(!b.eof()&&(d=ya(b,c))){if(!(b.peek()in cd))return d;var f=b.peek();if(b.next(),b.eof()||!(e=ya(b,c)))throw new a("XPST0003");return new x(d,e,f)}}function z(a,b){var c=vc(a.left.evaluate(b),b);if(!c.length)return new Xa(!1);var d=vc(a.right.evaluate(b),b);if(!d.length)return new Xa(!1);for(var e,f,g=!1,h=0,i=c.length;h<i&&!g;h++)for(var j,k,l=0,m=d.length;l<m&&!g;l++)f=c[h],k=d[l],e=f instanceof xb,j=k instanceof xb,e&&j?(f=ub.cast(f),k=ub.cast(k)):(e?k instanceof Ab?f=Ab.cast(f):k instanceof yb?f=yb.cast(f):k.primitiveKind&&(f=Zc[k.primitiveKind].cast(f)):j&&(f instanceof Ab?k=Ab.cast(k):f instanceof yb?k=yb.cast(k):f.primitiveKind&&(k=Zc[f.primitiveKind].cast(k))),f instanceof Va&&(f=ub.cast(f)),k instanceof Va&&(k=ub.cast(k))),g=ad[_c[a.operator]](f,k,b).valueOf();return new Xa(g)}function A(a,b){var c=vc(a.left.evaluate(b),b);if(!c.length)return null;ua(b,c,"?");var d=vc(a.right.evaluate(b),b);if(!d.length)return null;ua(b,d,"?");var e=c[0],f=d[0];return e instanceof xb&&(e=ub.cast(e)),f instanceof xb&&(f=ub.cast(f)),e instanceof Va&&(e=ub.cast(e)),f instanceof Va&&(f=ub.cast(f)),ad[a.operator](e,f,b)}function B(a,b){var c=a.left.evaluate(b);if(!c.length)return null;ua(b,c,"?"),ta(b,c,Zb);var d=a.right.evaluate(b);return d.length?(ua(b,d,"?"),ta(b,d,Zb),bd[a.operator](c[0],d[0],b)):null}function C(a){this.left=a,this.items=[]}function D(b,c){var d;if(!b.eof()&&(d=F(b,c))){if(!(b.peek()in dd))return d;for(var e,f=new C(d);(e=b.peek())in dd;){if(b.next(),b.eof()||!(d=F(b,c)))throw new a("XPST0003");f.items.push([e,d])}return f}}funLine truncated
if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.lt=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(0))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.ge=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-greater-than"].call(d,Xc.compare.call(d,b,c),new Cb(-1))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")},ad.le=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-greater-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-greater-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(1))}else b instanceof Ya?c instanceof Ya&&(e="date-greater-than"):b instanceof vb?c instanceof vb&&(e="time-greater-than"):b instanceof _a?c instanceof _a&&(e="dateTime-greater-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-greater-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-greater-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")};var bd={};bd.is=function(a,b,c){return $c["is-same-node"].call(c,a,b)},bd[">>"]=function(a,b,c){return $c["node-after"].call(c,a,b)},bd["<<"]=function(a,b,c){return $c["node-before"].call(c,a,b)};var cd={"=":z,"!=":z,"<":z,"<=":z,">":z,">=":z,eq:A,ne:A,lt:A,le:A,gt:A,ge:A,is:B,">>":B,"<<":B};C.prototype.left=null,C.prototype.items=null;var dd={};dd["+"]=function(b,c,d){var e="",f=!1;if(Ua(b)?Ua(c)&&(e="numeric-add"):b instanceof Ya?c instanceof yb?e="add-yearMonthDuration-to-date":c instanceof Ab&&(e="add-dayTimeDuration-to-date"):b instanceof yb?c instanceof Ya?(e="add-yearMonthDuration-to-date",f=!0):c instanceof _a?(e="add-yearMonthDuration-to-dateTime",f=!0):c instanceof yb&&(e="add-yearMonthDurations"):b instanceof Ab?c instanceof Ya?(e="add-dayTimeDuration-to-date",f=!0):c instanceof vb?(e="add-dayTimeDuration-to-time",f=!0):c instanceof _a?(e="add-dayTimeDuration-to-dateTime",f=!0):c instanceof Ab&&(e="add-dayTimeDurations"):b instanceof vb?c instanceof Ab&&(e="add-dayTimeDuration-to-time"):b instanceof _a&&(c instanceof yb?e="add-yearMonthDuration-to-dateTime":c instanceof Ab&&(e="add-dayTimeDuration-to-dateTime")),e)return $c[e].call(d,f?c:b,f?b:c);throw new a("XPTY0004")},dd["-"]=function(b,c,d){var e="";if(Ua(b)?Ua(c)&&(e="numeric-subtract"):b instanceof Ya?c instanceof Ya?e="subtract-dates":c instanceof yb?e="subtract-yearMonthDuration-from-date":c instanceof Ab&&(e="subtract-dayTimeDuration-from-date"):b instanceof vb?c instanceof vb?e="subtract-times":c instanceof Ab&&(e="subtract-dayTimeDuration-from-time"):b instanceof _a?c instanceof _a?e="subtract-dateTimes":c instanceof yb?e="subtract-yearMonthDuration-from-dateTime":c instanceof Ab&&(e="subtract-dayTimeDuration-from-dateTime"):b instanceof yb?c instanceof yb&&(e="subtract-yearMonthDurations"):b instanceof Ab&&c instanceof Ab&&(e="subtract-dayTimeDurations"),e)return $c[e].call(d,b,c);throw new a("XPTY0004")},C.prototype.evaluate=function(a){var b=vc(this.left.evaluate(a),a);if(!b.length)return[];ua(a,b,"?");var c=b[0];c instanceof xb&&(c=gb.cast(c));for(var d,e,f=0,g=this.items.length;f<g;f++){if(d=vc(this.items[f][1].evaluate(a),a),!d.length)return[];ua(a,d,"?"),e=d[0],e instanceof xb&&(e=gb.cast(e)),c=dd[this.items[f][0]](c,e,a)}return[c]},E.prototype.left=null,E.prototype.items=null;var ed={};ed["*"]=function(b,c,d){var e="",f=!1;if(Ua(b)?Ua(c)?e="numeric-multiply":c instanceof yb?(e="multiply-yearMonthDuration",f=!0):c instanceof Ab&&(e="multiply-dayTimeDuration",f=!0):b instanceof yb?Ua(c)&&(e="multiply-yearMonthDuration"):b instanceof Ab&&Ua(c)&&(e="multiply-dayTimeDuration"),e)return $c[e].call(d,f?c:b,f?b:c);throw new a("XPTY0004")},ed.div=function(b,c,d){var e="";if(Ua(b)?Ua(c)&&(e="numeric-divide"):b instanceof yb?Ua(c)?e="divide-yearMonthDuration":c instanceof yb&&(e="divide-yearMonthDuration-by-yearMonthDuration"):b instanceof Ab&&(Ua(c)?e="divide-dayTimeDuration":c instanceof Ab&&(e="divide-dayTimeDuration-by-dayTimeDuration")),e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ed.idiv=function(b,c,d){if(Ua(b)Line truncated
Ob.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.value<=255)return new Ob(c.value);throw new a("FORG0001")},g("unsignedByte",Ob),Pb.prototype=new ub,Pb.prototype.builtInKind=j.NORMALIZEDSTRING_DT,Pb.cast=function(a){return new Pb(Ac(a))},g("normalizedString",Pb),Qb.prototype=new Pb,Qb.prototype.builtInKind=j.TOKEN_DT,Qb.cast=function(a){return new Qb(Ac(a))},g("token",Qb),Rb.prototype=new Qb,Rb.prototype.builtInKind=j.NAME_DT,Rb.cast=function(a){return new Rb(Ac(a))},g("Name",Rb),Sb.prototype=new Rb,Sb.prototype.builtInKind=j.NCNAME_DT,Sb.cast=function(a){return new Sb(Ac(a))},g("NCName",Sb),Tb.prototype=new Sb,Tb.prototype.builtInKind=j.ENTITY_DT,Tb.cast=function(a){return new Tb(Ac(a))},g("ENTITY",Tb),Ub.prototype=new Sb,Ub.prototype.builtInKind=j.ID_DT,Ub.cast=function(a){return new Ub(Ac(a))},g("ID",Ub),Vb.prototype=new Sb,Vb.prototype.builtInKind=j.IDREF_DT,Vb.cast=function(a){return new Vb(Ac(a))},g("IDREF",Vb),Wb.prototype=new Qb,Wb.prototype.builtInKind=j.LANGUAGE_DT,Wb.cast=function(a){return new Wb(Ac(a))},g("language",Wb),Xb.prototype=new Qb,Xb.prototype.builtInKind=j.NMTOKEN_DT,Xb.cast=function(a){return new Xb(Ac(a))},g("NMTOKEN",Xb),Zb.prototype=new Yb,$b.prototype=new Zb,_b.prototype=new Zb,ac.prototype=new Zb,bc.prototype=new Zb,cc.prototype=new Zb,dc.prototype=new Zb,$c["hexBinary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["base64Binary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-less-than"]=function(a,b){return new Xa(a.valueOf()<b.valueOf())},$c["boolean-greater-than"]=function(a,b){return new Xa(a.valueOf()>b.valueOf())},$c["yearMonthDuration-less-than"]=function(a,b){return new Xa(lc(a)<lc(b))},$c["yearMonthDuration-greater-than"]=function(a,b){return new Xa(lc(a)>lc(b))},$c["dayTimeDuration-less-than"]=function(a,b){return new Xa(jc(a)<jc(b))},$c["dayTimeDuration-greater-than"]=function(a,b){return new Xa(jc(a)>jc(b))},$c["duration-equal"]=function(a,b){return new Xa(a.negative==b.negative&&lc(a)==lc(b)&&jc(a)==jc(b))},$c["dateTime-equal"]=function(a,b){return gc(a,b,"eq")},$c["dateTime-less-than"]=function(a,b){return gc(a,b,"lt")},$c["dateTime-greater-than"]=function(a,b){return gc(a,b,"gt")},$c["date-equal"]=function(a,b){return fc(a,b,"eq")},$c["date-less-than"]=function(a,b){return fc(a,b,"lt")},$c["date-greater-than"]=function(a,b){return fc(a,b,"gt")},$c["time-equal"]=function(a,b){return ec(a,b,"eq")},$c["time-less-than"]=function(a,b){return ec(a,b,"lt")},$c["time-greater-than"]=function(a,b){return ec(a,b,"gt")},$c["gYearMonth-equal"]=function(a,b){return gc(new _a(a.year,a.month,Za(a.year,a.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,b.month,Za(b.year,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gYear-equal"]=function(a,b){return gc(new _a(a.year,1,1,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,1,1,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonthDay-equal"]=function(a,b){return gc(new _a(1972,a.month,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonth-equal"]=function(a,b){return gc(new _a(1972,a.month,Za(1972,b.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,Za(1972,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gDay-equal"]=function(a,b){return gc(new _a(1972,12,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,12,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["add-yearMonthDurations"]=function(a,b){return mc(lc(a)+lc(b))},$c["subtract-yearMonthDurations"]=function(a,b){return mc(lc(a)-lc(b))},$c["multiply-yearMonthDuration"]=function(a,b){return mc(lc(a)*b)},$c["divide-yearMonthDuration"]=function(a,b){return mc(lc(a)/b)},$c["divide-yearMonthDuration-by-yearMonthDuration"]=function(a,b){return new fb(lc(a)/lc(b))},$c["add-dayTimeDurations"]=function(a,b){return kc(jc(a)+jc(b))},$c["subtract-dayTimeDurations"]=function(a,b){return kc(jc(a)-jc(b))},$c["multiply-dayTimeDuration"]=function(a,b){return kc(jc(a)*b)},$c["divide-dayTimeDuration"]=function(a,b){return kc(jc(a)/b)},$c["divide-dayTimeDuration-by-dayTimeDuration"]=function(a,b){return new fb(jc(a)/jc(b))},$c["subtract-dateTimes"]=function(a,b){return kc(oc(a)-oc(b))},$c["subtract-dates"]=function(a,b){return kc(oc(a)-oc(b))},$c["subtract-times"]=function(a,b){return kc(nc(a)-nc(b))},$c["add-yearMonthDuration-to-dateTime"]=function(a,b){return hc(a,b,"+")},$c["add-dayTimeDuration-to-dateTime"]=function(a,b){return ic(a,b,"+")},$c["subtract-yearMonthDuration-from-dateTime"]=function(a,b){return hc(a,b,"-")},$c["subtract-dayTimeDuration-from-dateTime"]=function(a,b){return ic(a,b,"-")},$c["add-yearMonthDuration-to-date"]=function(a,b){return hc(a,b,"+")},$c["add-dayTimeDuration-to-date"]=function(a,b){rLine truncated
return c=c||" ",a.length<b?Utils.padRight(a+c.slice(0,b-a.length),b,c):a},padBytesRight:function(a,b,c){c=c||0;var d=new Array(b);return d.fill(c),Array.prototype.map.call(a,function(a,b){d[b]=a}),d},pad:function(a,b,c){return Utils.padLeft(a,b,c)},truncate:function(a,b,c){return c=c||"...",a.length>b&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treatAsUtf8&&(a=Utils.byteArrayToChars(Utils.strToByteArray(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g,d=/[\x09-\x10\x0D\u2028\u2029]/g;return a=a.replace(c,"."),b||(a=a.replace(d,".")),a},parseEscapedChars:function(a){return a.replace(/(\\)?\\([nrtbf]|x[\da-f]{2})/g,function(a,b,c){if("\\"===b)return"\\"+c;switch(c[0]){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";case"x":return Utils.chr(parseInt(c.substr(1),16))}})},expandAlphRange:function(a){for(var b=[],c=0;c<a.length;c++)if(c<a.length-2&&"-"===a[c+1]&&"\\"!==a[c]){for(var d=Utils.ord(a[c]),e=Utils.ord(a[c+2]),f=Line truncated
},runDesEnc:function(a,b){return Cipher._enc(CryptoJS.DES,a,b)},runDesDec:function(a,b){return Cipher._dec(CryptoJS.DES,a,b)},runTripleDesEnc:function(a,b){return Cipher._enc(CryptoJS.TripleDES,a,b)},runTripleDesDec:function(a,b){return Cipher._dec(CryptoJS.TripleDES,a,b)},runRabbitEnc:function(a,b){return Cipher._enc(CryptoJS.Rabbit,a,b)},runRabbitDec:function(a,b){return Cipher._dec(CryptoJS.Rabbit,a,b)},BLOWFISH_MODES:["ECB","CBC","PCBC","CFB","OFB","CTR"],BLOWFISH_OUTPUT_TYPES:["Base64","Hex","String","Raw"],runBlowfishEnc:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];if(0===c.length)return"Enter a key";var f=blowfish.encrypt(a,c,{outputType:1,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}),g=CryptoJS.enc.Hex.parse(f);return g.toString(Utils.format[e])},runBlowfishDec:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];return 0===c.length?"Enter a key":(a=Utils.format[e].parse(a),blowfish.decrypt(a.toString(CryptoJS.enc.Base64),c,{outputType:0,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}))},KDF_KEY_SIZE:256,KDF_ITERATIONS:1,runPbkdf2:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.PBKDF2(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runEvpkdf:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.EvpKDF(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runRc4:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=CryptoJS.RC4.encrypt(c,d);return e.ciphertext.toString(Utils.format[b[2]])},RC4DROP_BYTES:768,runRc4drop:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=b[3],f=CryptoJS.RC4Drop.encrypt(c,d,{drop:e});return f.ciphertext.toString(Utils.format[b[2]])},runVigenereEnc:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(c+d)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(c+d)%26].toUpperCase()):(h+=a[j],i++);return h},runVigenereDec:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(d-c+f.length)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(d+f.length-c)%26].toUpperCase()):(h+=a[j],i++);return h},AFFINE_A:1,AFFINE_B:0,runAffineEnc:function(a,b){var c="abcdefghijklmnopqrstuvwxyz",d=b[0],e=b[1],f="";if(!/^\+?(0|[1-9]\d*)$/.test(d)||!/^\+?(0|[1-9]\d*)$/.test(e))return"The values of a and b can only be integers.";for(var g=0;g<a.length;g++)f+=c.indexOf(a[g])>=0?c[(d*c.indexOf(a[g])+e)%26]:c.indexOf(a[g].toLowerCase())>=0?c[(d*c.indexOf(a[g].toLowerCase())+e)%26].toUpperCase():a[g];return f},runAffineDec:function(a,b){var c,d="abcdefghijklmnopqrstuvwxyz",e=b[0],f=b[1],g="";if(!/^\+?(0|[1-9]\d*)$/.test(e)||!/^\+?(0|[1-9]\d*)$/.test(f))return"The values of a and b can only be integers.";if(1!==Utils.gcd(e,26))return"The value of a must be coprime to 26.";c=Utils.modInv(e,26);for(var h=0;h<a.length;h++)g+=d.indexOf(a[h])>=0?d[Utils.mod((d.indexOf(a[h])-f)*c,26)]:d.indexOf(a[h].toLowerCase())>=0?d[Utils.mod((d.indexOf(a[h].toLowerCase())-f)*c,26)].toUpperCase():a[h];return g},runAtbash:function(a,b){return Cipher.runAffineEnc(a,[25,25])},SUBS_PLAINTEXT:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",SUBS_CIPHERTEXT:"XYZABCDEFGHIJKLMNOPQRSTUVW",runSubstitute:function(a,b){var c=Utils.strToByteArray(Utils.expandAlphRange(b[0]).join()),d=Utils.strToByteArray(Utils.expandAlphRange(b[1]).join()),e=[],f=-1;c.length!==d.length&&(e=Utils.strToByteArray("Warning: Plaintext and Ciphertext lengths differ\n\n"));for(var g=0;g<a.length;g++)f=c.indexOf(a[g]),e.push(f>-1&&f<d.length?d[f]:a[g]);return e}};CryptoJS.kdf.OpenSSL.execute=function(a,b,c,d){void 0!==d&&null!==d||(d=CryptoJS.lib.WordArray.random(8));var e=CryptoJS.algo.EvpKDF.create({keySize:b+c}).compute(a,d),f=CryptoJS.lib.WordArray.create(e.words.slice(b),4*c);return e.sigBytes=4*b,CryptoJS.lib.CipherParams.create({key:e,iv:f,salt:d})};var Code={LANGUAGES:["default-code","default-markup","bash","bsh","c","cc","coffee","cpp","cs","csh","cv","cxx","cyc","htm","html","in.tag","java","javascript","js","json","m","mxml","perl","pl","pm","py","python","rb","rc","rs","ruby","rust","sh","uq.val","xhtml","xml","xsl"],LINE_NUMS:!1,runSyntaxHighlight:function(a,b){var c=b[0],d=b[1];retLine truncated
},Endian={DATA_FORMAT:["Hex","Raw"],WORD_LENGTH:4,PAD_INCOMPLETE_WORDS:!0,runSwapEndianness:function(a,b){var c=b[0],d=b[1],e=b[2],f=[],g=[],h=[],i=0,j=0;if(d<=0)return"Word length must be greater than 0";switch(c){case"Hex":f=Utils.fromHex(a);break;case"Raw":f=Utils.strToByteArray(a);break;default:f=a}for(i=0;i<f.length;i+=d){var k=f.slice(i,i+d);if(e&&k.length<d)for(j=k.length;j<d;j++)k.push(0);h.push(k)}for(i=0;i<h.length;i++)for(j=h[i].length;j--;)g.push(h[i][j]);switch(c){case"Hex":return Utils.toHex(g);case"Raw":return Utils.byteArrayToUtf8(g);default:return g}}},Entropy={CHUNK_SIZE:1e3,runEntropy:function(a,b){var c=b[0],d="",e=Entropy._calcEntropy(a);d+="Shannon entropy: "+e+"\n<br><canvas id='chart-area'></canvas><br>\n- 0 represents no randomness (i.e. all the bytes in the data have the same value) whereas 8, the maximum, represents a completely random string.\n- Standard English text usually falls somewhere between 3.5 and 5.\n- Properly encrypted or compressed data of a reasonable length should have an entropy of over 7.5.\n\nThe following results show the entropy of chunks of the input data. Chunks with particularly high entropy could suggest encrypted or compressed sections.\n\n<br><script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), entropy = "+e+", height = parentRect.height * 0.25; canvas.width = parentRect.width * 0.95; canvas.height = height > 150 ? 150 : height; CanvasComponents.drawScaleBar(canvas, entropy, 8, [ { label: 'English text', min: 3.5, max: 5 },{ label: 'Encrypted/compressed', min: 7.5, max: 8 } ]); <\/script>";var f=0;if(0!==c)for(var g=0;g<a.length;g+=c)f=Entropy._calcEntropy(a.slice(g,g+c)),d+="Bytes "+g+" to "+(g+c)+": "+f+"\n";else d+="Chunk size cannot be 0.";return d},FREQ_ZEROS:!1,runFreqDistrib:function(a,b){if(!a.length)return"No data";for(var c=new Array(256),d=new Array(256),e=a.length,f=b[0],g=0;g<256;g++)c[g]=0;for(g=0;g<e;g++)c[a[g]]++;var h=0;for(g=0;g<256;g++)c[g]>0&&h++,d[g]=c[g]/e*100;var i="<canvas id='chart-area'></canvas><br>Total data length: "+e+"\nNumber of bytes represented: "+h+"\nNumber of bytes not represented: "+(256-h)+"\n\nByte Percentage\n<script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), scores = "+JSON.stringify(d)+"; canvas.width = parentRect.width * 0.95; canvas.height = parentRect.height * 0.9; CanvasComponents.drawBarChart(canvas, scores, 'Byte', 'Frequency %', 16, 6); <\/script>";for(g=0;g<256;g++)(c[g]||f)&&(i+=" "+Utils.hex(g,2)+" ("+Utils.padRight(d[g].toFixed(2).replace(".00","")+"%)",8)+Array(Math.ceil(d[g])+1).join("|")+"\n");return i},_calcEntropy:function(a){for(var b=[],c=a.unique(),d=Utils.byteArrayToChars(a),e=0;e<c.length;e++)b.push(d.count(Utils.chr(c[e]))/a.length);var f,g=0;for(e=0;e<b.length;e++)f=b[e],g+=f*Math.log(f)/Math.log(2);return-g}},Extract={_search:function(a,b,c,d){for(var e,f="",g=0;e=b.exec(a);)c&&c.test(e[0])||(g++,f+=e[0]+"\n");return d&&(f="Total found: "+g+"\n\n"+f),f},MIN_STRING_LEN:3,DISPLAY_TOTAL:!1,runStrings:function(a,b){var c=b[0]||Extract.MIN_STRING_LEN,d=b[1],e="[A-Z\\d/\\-:.,_$%'\"()<>= !\\[\\]{}@]",f=new RegExp(e+"{"+c+",}","ig");return Extract._search(a,f,null,d)},INCLUDE_IPV4:!0,INCLUDE_IPV6:!1,REMOVE_LOCAL:!1,runIp:function(a,b){var c=b[0],d=b[1],e=b[2],f=b[3],g="(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?",h="((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|(?![\\dA-F])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})",i="";if(c&&d?i=g+"|"+h:c?i=g:d&&(i=h),i){var j=new RegExp(i,"ig");if(e){var k="10\\..+",l="192\\.168\\..+",m="172\\.(?:1[6-9]|2\\d|3[01])\\..+",n="127\\..+",o=new RegExp("^(?:"+k+"|"+l+"|"+m+"|"+n+")");return Extract._search(a,j,o,f)}return Extract._search(a,j,null,f)}return""},runEmail:function(a,b){var c=b[0],d=/\w[-.\w]*@[-\w]+(?:\.[-\w]+)*\.[A-Z]{2,4}/gi;return Extract._search(a,d,null,c)},runMac:function(a,b){var c=b[0],d=/[A-F\d]{2}(?:[:-][A-F\d]{2}){5}/gi;return Extract._search(a,d,null,c)},runUrls:function(a,b){var c=b[0],d="[A-Z]+://",e="[-\\w]+(?:\\.\\w[-\\w]*)+",f=":\\d+",g="/[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]*";g+="(?:[.!,?]+[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]+)*";var h=new RegExp(d+e+"(?:"+f+")?(?:"+g+")?","ig");return Extract._search(a,h,null,c)},runDomains:function(a,b){var c=b[0],d="https?://"Line truncated
},IPV4_REGEX:/^\s*((?:\d{1,3}\.){3}\d{1,3})\s*$/,IPV6_REGEX:/^\s*(((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\4)::|:\b|(?![\dA-F])))|(?!\3\4)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4}))\s*$/i,runParseIPv6:function(a,b){var c,d="";if(!(c=IP.IPV6_REGEX.exec(a)))return"Invalid IPv6 address";var e=IP._strToIpv6(c[1]),f=IP._ipv6ToStr(e),g=IP._ipv6ToStr(e,!0);if(d+="Longhand: "+f+"\nShorthand: "+g+"\n","::"===g)d+="\nUnspecified address corresponding to 0.0.0.0/32 in IPv4.",d+="\nUnspecified address range: ::/128";else if("::1"===g)d+="\nLoopback address to the local host corresponding to 127.0.0.1/8 in IPv4.",d+="\nLoopback addresses range: ::1/128";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&65535===e[5])d+="\nIPv4-mapped IPv6 address detected. IPv6 clients will be handled natively by default, and IPv4 clients appear as IPv6 clients at their IPv4-mapped IPv6 address.",d+="\nMapped IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-mapped IPv6 addresses range: ::ffff:0:0/96";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&65535===e[4]&&0===e[5])d+="\nIPv4-translated address detected. Used by Stateless IP/ICMP Translation (SIIT). See RFCs 6145 and 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-translated addresses range: ::ffff:0:0:0/96";else if(256===e[0])d+="\nDiscard prefix detected. This is used when forwarding traffic to a sinkhole router to mitigate the effects of a denial-of-service attack. See RFC 6666 for more details.",d+="\nDiscard range: 100::/64";else if(100===e[0]&&65435===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&0===e[5])d+="\n'Well-Known' prefix for IPv4/IPv6 translation detected. See RFC 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\n'Well-Known' prefix range: 64:ff9b::/96";else if(8193===e[0]&&0===e[1]){d+="\nTeredo tunneling IPv6 address detected\n";var h=(e[2]<<16)+e[3],i=65535&~e[5],j=~((e[6]<<16)+e[7]),k=e[4]>>>15&1,l=e[4]>>>14&1,m=e[4]>>>10&15,n=e[4]>>>8&3,o=255&e[4];d+="\nServer IPv4 address: "+IP._ipv4ToStr(h)+"\nClient IPv4 address: "+IP._ipv4ToStr(j)+"\nClient UDP port: "+i+"\nFlags:\n\tCone: "+k,d+=k?" (Client is behind a cone NAT)":" (Client is not behind a cone NAT)",d+="\n\tR: "+l,l&&(d+=" Error: This flag should be set to 0. See RFC 5991 and RFC 4380."),d+="\n\tRandom1: "+Utils.bin(m,4)+"\n\tUG: "+Utils.bin(n,2),n&&(d+=" Error: This flag should be set to 00. See RFC 4380."),d+="\n\tRandom2: "+Utils.bin(o,8),d+=!l&&!n&&m&&o?"\n\nThis is a valid Teredo address which complies with RFC 4380 and RFC 5991.":l||n?"\n\nThis is an invalid Teredo address.":"\n\nThis is a valid Teredo address which complies with RFC 4380, however it does not comply with RFC 5991 (Teredo Security Updates) as there are no randomised bits in the flag field.",d+="\n\nTeredo prefix range: 2001::/32"}else if(8193===e[0]&&2===e[1]&&0===e[2])d+="\nAssigned to the Benchmarking Methodology Working Group (BMWG) for benchmarking IPv6. Corresponds to 198.18.0.0/15 for benchmarking IPv4. See RFC 5180 for more details.",d+="\nBMWG range: 2001:2::/48";else if(8193===e[0]&&e[1]>=16&&e[1]<=31)d+="\nDeprecated, previously ORCHIDv1 (Overlay Routable Cryptographic Hash Identifiers).\nORCHIDv1 range: 2001:10::/28\nORCHIDv2 now uses 2001:20::/28.";else if(8193===e[0]&&e[1]>=32&&e[1]<=47)d+="\nORCHIDv2 (Overlay Routable Cryptographic Hash Identifiers).\nThese are non-routed IPv6 addresses used for Cryptographic Hash Identifiers.",d+="\nORCHIDv2 range: 2001:20::/28";else if(8193===e[0]&&3512===e[1])d+="\nThis is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4.",d+="\nDocumentation range: 2001:db8::/32";else if(8194===e[0]){d+="\n6to4 transition IPv6 address detected. See RFC 3056 for more details.\n6to4 prefix range: 2002::/16";var p=IP._ipv4ToStr((e[1]<<16)+e[2]),q=e[3],r=e[4].toString(16)+e[5].toString(16)+e[6].toString(16)+e[7].toString(16),s=new BigInteger(r,16);d+="\n\nEncapsulated IPv4 address: "+p+"\nSLA ID: "+q+"\nInterface ID (base 16): "+r+"\nInterface ID (base 10): "+s.toString()}else e[0]>=64512&&e[0]<=65023?(d+="\nThis is a unique local address comparable to the IPv4 private addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. See RFC 4193 for more details.",d+="\nUnique local addresses range: fc00::/7"):e[0]>=65152&&e[0]<=65215?(d+="\nThis is a link-local address comparable to the auto-configuration addresses 169.254.0.0/16 in IPv4.",d+="\nLink-local addresses range: fe80::/10"):e[0]>=65280&&(d+="\nThis is a reserved multicast address.",d+="\nMulticast addresses range: ff00::/8");return d},IP_FORMAT_LIST:["Dotted Decimal","Decimal","Hex"],runChangeIpFormat:function(a,b){for(var c=b[0],d=b[1],e=a.split("\n"),f="",g=0,h=0;h<e.length;h++)if(""!==e[h]){var i=[];if(c!==d){switch(c){casLine truncated
for(i=0;i<g.length;i++)g[i].length&&(c=g[i].split("=")[0],d=g[i].split("=")[1],e=Utils.padRight(c,h)+" = "+d+"\n",f+=Utils.padLeft(e,b+e.length," "));return f},_formatByteStr:function(a,b,c){a=Utils.toHex(Utils.fromHex(a),":"),b*=3;for(var d="",e=0;e<a.length;e+=b){var f=a.slice(e,e+b)+"\n";d+=0===e?f:Utils.padLeft(f,c+f.length," ")}return d.slice(0,d.length-1)},_formatDate:function(a){return a[4]+a[5]+"/"+a[2]+a[3]+"/"+a[0]+a[1]+" "+a[6]+a[7]+":"+a[8]+a[9]+":"+a[10]+a[11]}};X509.hex2dn=function(a){for(var b="",c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0),d=0;d<c.length;d++){var e=ASN1HEX.getHexOfTLV_AtObj(a,c[d]);b=b+",/|"+X509.hex2rdn(e)}return b},X509.DN_ATTRHEX={"0603550403":"commonName","0603550404":"surname","0603550406":"countryName","0603550407":"localityName","0603550408":"stateOrProvinceName","0603550409":"streetAddress","060355040a":"organizationName","060355040b":"organizationalUnitName","060355040c":"title","0603550414":"telephoneNumber","060355042a":"givenName","06032b06010505070201":"idCertificatePolicies","06036086480186f8420101":"netscape-cert-type","06036086480186f8420102":"netscape-base-url","06036086480186f8420103":"netscape-revocation-url","06036086480186f8420104":"netscape-ca-revocation-url","06036086480186f8420107":"netscape-cert-renewal-url","06036086480186f8420108":"netscape-ca-policy-url","06036086480186f842010c":"netscape-ssl-server-name","06036086480186f842010d":"netscape-comment","0603604c010201":"A1","0603604c010203":"A3","0603604c01020110":"Certification Practice Statement pointer","0603604c010301":"Dados do cert parte 1","0603604c010305":"Dados do cert parte 2","0603604c010306":"Dados do cert parte 3","06030992268993f22c640119":"domainComponent","06032a24a0f2a07d01010a":"Signet pilot","06032a24a0f2a07d01010b":"Signet intraNet","06032a24a0f2a07d010102":"Signet personal","06032a24a0f2a07d010114":"Signet securityPolicy","06032a24a0f2a07d010103":"Signet business","06032a24a0f2a07d010104":"Signet legal","06032a24a497a35301640101":"Certificates Australia policyIdentifier","06032a85702201":"seis-cp","06032a8570220101":"SEIS certificatePolicy-s10","06032a85702202":"SEIS pe","06032a85702203":"SEIS at","06032a8570220301":"SEIS at-personalIdentifier","06032a8648ce380201":"holdinstruction-none","06032a8648ce380202":"holdinstruction-callissuer","06032a8648ce380203":"holdinstruction-reject","06032a8648ce380401":"dsa","06032a8648ce380403":"dsaWithSha1","06032a8648ce3d01":"fieldType","06032a8648ce3d0101":"prime-field","06032a8648ce3d0102":"characteristic-two-field","06032a8648ce3d010201":"ecPublicKey","06032a8648ce3d010203":"characteristic-two-basis","06032a8648ce3d01020301":"onBasis","06032a8648ce3d01020302":"tpBasis","06032a8648ce3d01020303":"ppBasis","06032a8648ce3d02":"publicKeyType","06032a8648ce3d0201":"ecPublicKey","06032a8648ce3e0201":"dhPublicNumber","06032a864886f67d07":"nsn","06032a864886f67d0741":"nsn-ce","06032a864886f67d074100":"entrustVersInfo","06032a864886f67d0742":"nsn-alg","06032a864886f67d07420a":"cast5CBC","06032a864886f67d07420b":"cast5MAC","06032a864886f67d07420c":"pbeWithMD5AndCAST5-CBC","06032a864886f67d07420d":"passwordBasedMac","06032a864886f67d074203":"cast3CBC","06032a864886f67d0743":"nsn-oc","06032a864886f67d074300":"entrustUser","06032a864886f67d0744":"nsn-at","06032a864886f67d074400":"entrustCAInfo","06032a864886f67d07440a":"attributeCertificate","06032a864886f70d0101":"pkcs-1","06032a864886f70d010101":"rsaEncryption","06032a864886f70d010102":"md2withRSAEncryption","06032a864886f70d010103":"md4withRSAEncryption","06032a864886f70d010104":"md5withRSAEncryption","06032a864886f70d010105":"sha1withRSAEncryption","06032a864886f70d010106":"rsaOAEPEncryptionSET","06032a864886f70d010910020b":"SMIMEEncryptionKeyPreference","06032a864886f70d010c":"pkcs-12","06032a864886f70d010c01":"pkcs-12-PbeIds","06032a864886f70d010c0101":"pbeWithSHAAnd128BitRC4","06032a864886f70d010c0102":"pbeWithSHAAnd40BitRC4","06032a864886f70d010c0103":"pbeWithSHAAnd3-KeyTripleDES-CBC","06032a864886f70d010c0104":"pbeWithSHAAnd2-KeyTripleDES-CBC","06032a864886f70d010c0105":"pbeWithSHAAnd128BitRC2-CBC","06032a864886f70d010c0106":"pbeWithSHAAnd40BitRC2-CBC","06032a864886f70d010c0a":"pkcs-12Version1","06032a864886f70d010c0a01":"pkcs-12BadIds","06032a864886f70d010c0a0101":"pkcs-12-keyBag","06032a864886f70d010c0a0102":"pkcs-12-pkcs-8ShroudedKeyBag","06032a864886f70d010c0a0103":"pkcs-12-certBag","06032a864886f70d010c0a0104":"pkcs-12-crlBag","06032a864886f70d010c0a0105":"pkcs-12-secretBag","06032a864886f70d010c0a0106":"pkcs-12-safeContentsBag","06032a864886f70d010c02":"pkcs-12-ESPVKID","06032a864886f70d010c0201":"pkcs-12-PKCS8KeyShrouding","06032a864886f70d010c03":"pkcs-12-BagIds","06032a864886f70d010c0301":"pkcs-12-keyBagId","06032a864886f70d010c0302":"pkcs-12-certAndCRLBagId","06032a864886f70d010c0303":"pkcs-12-secretBagId","06032a864886f70d010c0304":"pkcs-12-safeContentsId","06032a864886f70d010c0305":"pkcs-12-pkcs-8ShroudedKeyBagId","06032a864886f70d010c04":"pkcs-12-CertBagID","06032a864886f70d010c0401":Line truncated
}},StrUtils={REGEX_PRE_POPULATE:[{name:"User defined",value:""},{name:"IPv4 address",value:"(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?"},{name:"IPv6 address",value:"((?=.*::)(?!.*::.+::)(::)?([\\dA-Fa-f]{1,4}:(:|\\b)|){5}|([\\dA-Fa-f]{1,4}:){6})((([\\dA-Fa-f]{1,4}((?!\\3)::|:\\b|(?![\\dA-Fa-f])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})"},{name:"Email address",value:"(\\w[-.\\w]*)@([-\\w]+(?:\\.[-\\w]+)*)\\.([A-Za-z]{2,4})"},{name:"URL",value:'([A-Za-z]+://)([-\\w]+(?:\\.\\w[-\\w]*)+)(:\\d+)?(/[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]*(?:[.!,?]+[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]+)*)?'},{name:"Domain",value:"(?:(https?):\\/\\/)?([-\\w.]+)\\.(com|net|org|biz|info|co|uk|onion|int|mobi|name|edu|gov|mil|eu|ac|ae|af|de|ca|ch|cn|cy|es|gb|hk|il|in|io|tv|me|nl|no|nz|ro|ru|tr|us|az|ir|kz|uz|pk)+"},{name:"Windows file path",value:"([A-Za-z]):\\\\((?:[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61}\\\\?)*[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61})(\\.[A-Za-z\\d]{1,6})?"},{name:"UNIX file path",value:"(?:/[A-Za-z\\d.][A-Za-z\\d\\-.]{0,61})+"},{name:"MAC address",value:"[A-Fa-f\\d]{2}(?:[:-][A-Fa-f\\d]{2}){5}"},{name:"Date (yyyy-mm-dd)",value:"((?:19|20)\\d\\d)[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])"},{name:"Date (dd/mm/yyyy)",value:"(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]((?:19|20)\\d\\d)"},{name:"Date (mm/dd/yyyy)",value:"(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]((?:19|20)\\d\\d)"},{name:"Strings",value:'[A-Za-z\\d/\\-:.,_$%\\x27"()<>= !\\[\\]{}@]{4,}'}],REGEX_CASE_INSENSITIVE:!0,REGEX_MULTILINE_MATCHING:!0,OUTPUT_FORMAT:["Highlight matches","List matches","List capture groups","List matches with capture groups"],DISPLAY_TOTAL:!1,runRegex:function(a,b){var c=b[1],d=b[2],e=b[3],f=b[4],g=b[5],h="g";if(d&&(h+="i"),e&&(h+="m"),!c||"^"===c||"$"===c)return Utils.escapeHtml(a);try{var i=new RegExp(c,h);switch(g){case"Highlight matches":return StrUtils._regexHighlight(a,i,f);case"List matches":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!1));case"List capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!1,!0));case"List matches with capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!0));default:return"Error: Invalid output format"}}catch(a){return"Invalid regex. Details: "+a.message}},CASE_SCOPE:["All","Word","Sentence","Paragraph"],runUpper:function(a,b){var c=b[0];switch(c){case"Word":return a.replace(/(\b\w)/gi,function(a){return a.toUpperCase()});case"Sentence":return a.replace(/(?:\.|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"Paragraph":return a.replace(/(?:\n|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"All":default:return a.toUpperCase()}},runLower:function(a,b){return a.toLowerCase()},SEARCH_TYPE:["Regex","Extended (\\n, \\t, \\x...)","Simple string"],FIND_REPLACE_GLOBAL:!0,FIND_REPLACE_CASE:!1,FIND_REPLACE_MULTILINE:!0,runFindReplace:function(a,b){var c=b[0].string,d=b[0].option,e=b[1],f=b[2],g=b[3],h=b[4],i="";return f&&(i+="g"),g&&(i+="i"),h&&(i+="m"),"Regex"===d?c=new RegExp(c,i):0===d.indexOf("Extended")&&(c=Utils.parseEscapedChars(c)),a.replace(c,e,i)},SPLIT_DELIM:",",DELIMITER_OPTIONS:["Line feed","CRLF","Space","Comma","Semi-colon","Colon","Nothing (separate chars)"],runSplit:function(a,b){var c=b[0]||StrUtils.SPLIT_DELIM,d=Utils.charRep[b[1]],e=a.split(c);return e.join(d)},runFilter:function(a,b){var c=Utils.charRep[b[0]],d=b[2];try{var e=new RegExp(b[1])}catch(a){return"Invalid regex. Details: "+a.message}var f=function(a){return d^e.test(a)};return a.split(c).filter(f).join(c)},DIFF_SAMPLE_DELIMITER:"\\n\\n",DIFF_BY:["Character","Word","Line","Sentence","CSS","JSON"],runDiff:function(a,b){var c,d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=a.split(d),j="";if(!i||2!==i.length)return"Incorrect number of samples, perhaps you need to modify the sample delimiter or add more samples?";switch(e){case"Character":c=JsDiff.diffChars(i[0],i[1]);break;case"Word":c=h?JsDiff.diffWords(i[0],i[1]):JsDiff.diffWordsWithSpace(i[0],i[1]);break;case"Line":c=h?JsDiff.diffTrimmedLines(i[0],i[1]):JsDiff.diffLines(i[0],i[1]);break;case"Sentence":c=JsDiff.diffSentences(i[0],i[1]);break;case"CSS":c=JsDiff.diffCss(i[0],i[1]);break;case"JSON":c=JsDiff.diffJson(i[0],i[1]);break;default:return"Invalid 'Diff by' option."}for(var k=0;k<c.length;k++)c[k].added?f&&(j+="<span class='hlgreen'>"+Utils.escapeHtml(c[k].value)+"</span>"):c[k].removed?g&&(j+="<span class='hlred'>"+Utils.escapeHtml(c[k].value)+"</span>"):j+=Utils.escapeHtml(c[k].value);return j},OFF_CHK_SAMPLE_DELIMITER:"\\n\\n",runOffsetChecker:function(a,b){var c,d=b[0],e=a.split(d),f=[],g=0,h=0,i=!1,j=!1;if(!e||e.length<2)return"Not enough samples, perhaps you need to modify the sample delimiter or add more data?";for(h=0;h<e.length;h++)f[h]="";for(g=0;g<e[0].length;g++){for(c=e[0][g],i=!1,h=1;h<e.length;h++){if(e[h][g]!==c){i=!1;break}i=!0}for(h=0;h<e.length;h++)e[h].length<=g?(j&&(f[h]+="</span>"),h===e.leLine truncated
}]},"To Binary":{description:"Displays the input data as a binary string.<br><br>e.g. <code>Hi</code> becomes <code>01001000 01101001</code>",run:ByteRepr.runToBinary,highlight:ByteRepr.highlightToBinary,highlightReverse:ByteRepr.highlightFromBinary,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.BIN_DELIM_OPTIONS}]},"From Decimal":{description:"Converts the data from an ordinal integer array back into its raw form.<br><br>e.g. <code>72 101 108 108 111</code> becomes <code>Hello</code>",run:ByteRepr.runFromDecimal,inputType:"string",outputType:"byteArray",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"To Decimal":{description:"Converts the input data to an ordinal integer array.<br><br>e.g. <code>Hello</code> becomes <code>72 101 108 108 111</code>",run:ByteRepr.runToDecimal,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"From Hexdump":{description:"Attempts to convert a hexdump back into raw data. This operation supports many different hexdump variations, but probably not all. Make sure you verify that the data it gives you is correct before continuing analysis.",run:Hexdump.runFrom,highlight:Hexdump.highlightFrom,highlightReverse:Hexdump.highlightTo,inputType:"string",outputType:"byteArray",args:[]},"To Hexdump":{description:"Creates a hexdump of the input data, displaying both the hexademinal values of each byte and an ASCII representation alongside.",run:Hexdump.runTo,highlight:Hexdump.highlightTo,highlightReverse:Hexdump.highlightFrom,inputType:"byteArray",outputType:"string",args:[{name:"Width",type:"number",value:Hexdump.WIDTH},{name:"Upper case hex",type:"boolean",value:Hexdump.UPPER_CASE},{name:"Include final length",type:"boolean",value:Hexdump.INCLUDE_FINAL_LENGTH}]},"From Base":{description:"Converts a number to decimal from a given numerical base.",run:Base.runFrom,inputType:"string",outputType:"number",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"To Base":{description:"Converts a decimal number to a given numerical base.",run:Base.runTo,inputType:"number",outputType:"string",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"From HTML Entity":{description:"Converts HTML entities back to characters<br><br>e.g. <code>&amp;<span>amp;</span></code> becomes <code>&amp;</code>",run:HTML.runFromEntity,inputType:"string",outputType:"string",args:[]},"To HTML Entity":{description:"Converts characters to HTML entities<br><br>e.g. <code>&amp;</code> becomes <code>&amp;<span>amp;</span></code>",run:HTML.runToEntity,inputType:"string",outputType:"string",args:[{name:"Convert all characters",type:"boolean",value:HTML.CONVERT_ALL},{name:"Convert to",type:"option",value:HTML.CONVERT_OPTIONS}]},"Strip HTML tags":{description:"Removes all HTML tags from the input.",run:HTML.runStripTags,inputType:"string",outputType:"string",args:[{name:"Remove indentation",type:"boolean",value:HTML.REMOVE_INDENTATION},{name:"Remove excess line breaks",type:"boolean",value:HTML.REMOVE_LINE_BREAKS}]},"URL Decode":{description:"Converts URI/URL percent-encoded characters back to their raw values.<br><br>e.g. <code>%3d</code> becomes <code>=</code>",run:URL_.runFrom,inputType:"string",outputType:"string",args:[]},"URL Encode":{description:"Encodes problematic characters into percent-encoding, a format supported by URIs/URLs.<br><br>e.g. <code>=</code> becomes <code>%3d</code>",run:URL_.runTo,inputType:"string",outputType:"string",args:[{name:"Encode all special chars",type:"boolean",value:URL_.ENCODE_ALL}]},"Parse URI":{description:"Pretty prints complicated Uniform Resource Identifier (URI) strings for ease of reading. Particularly useful for Uniform Resource Locators (URLs) with a lot of arguments.",run:URL_.runParse,inputType:"string",outputType:"string",args:[]},"Unescape Unicode Characters":{description:"Converts unicode-escaped character notation back into raw characters.<br><br>Supports the prefixes:<ul><li><code>\\u</code></li><li><code>%u</code></li><li><code>U+</code></li></ul>e.g. <code>\\u03c3\\u03bf\\u03c5</code> becomes <code>\u03c3\u03bf\u03c5</code>",run:Unicode.runUnescape,inputType:"string",outputType:"string",args:[{name:"Prefix",type:"option",value:Unicode.PREFIXES}]},"From Quoted Printable":{description:"Converts QP-encoded text back to standard text.",run:QuotedPrintable.runFrom,inputType:"string",outputType:"byteArray",args:[]},"To Quoted Printable":{description:"Quoted-Printable, or QP encoding, is an encoding using printable ASCII characters (alphanumeric and the equals sign '=') to transmit 8-bit data over a 7-bit data path or, generally, over a medium which is not 8-bit clean. It is defined as a MIME content transfer encoding for use in e-mail.<br><br>QP works by using the equals sign '=' as an escape character. It also limits line length to 76, as some software has limits on line length.",run:QuotedPrintable.runTo,inputType:"byteArray",outLine truncated
run:Extract.runDomains,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract file paths":{description:"Extracts anything that looks like a Windows or UNIX file path.<br><br>Note that if UNIX is selected, there will likely be a lot of false positives.",run:Extract.runFilePaths,inputType:"string",outputType:"string",args:[{name:"Windows",type:"boolean",value:Extract.INCLUDE_WIN_PATH},{name:"UNIX",type:"boolean",value:Extract.INCLUDE_UNIX_PATH},{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract dates":{description:"Extracts dates in the following formats<ul><li><code>yyyy-mm-dd</code></li><li><code>dd/mm/yyyy</code></li><li><code>mm/dd/yyyy</code></li></ul>Dividers can be any of /, -, . or space",run:Extract.runDates,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Regular expression":{description:"Define your own regular expression (regex) to search the input data with, optionally choosing from a list of pre-defined patterns.",run:StrUtils.runRegex,manualBake:!0,inputType:"string",outputType:"html",args:[{name:"Built in regexes",type:"populateOption",value:StrUtils.REGEX_PRE_POPULATE,target:1},{name:"Regex",type:"text",value:""},{name:"Case insensitive",type:"boolean",value:StrUtils.REGEX_CASE_INSENSITIVE},{name:"Multiline matching",type:"boolean",value:StrUtils.REGEX_MULTILINE_MATCHING},{name:"Display total",type:"boolean",value:StrUtils.DISPLAY_TOTAL},{name:"Output format",type:"option",value:StrUtils.OUTPUT_FORMAT}]},"XPath expression":{description:"Extract information from an XML document with an XPath query",run:Code.runXpath,inputType:"string",outputType:"string",args:[{name:"XPath",type:"string",value:Code.XPATH_INITIAL},{name:"Result delimiter",type:"binaryShortString",value:Code.XPATH_DELIMITER}]},"CSS selector":{description:"Extract information from an HTML document with a CSS selector",run:Code.runCSSQuery,inputType:"string",outputType:"string",args:[{name:"CSS selector",type:"string",value:Code.CSS_SELECTOR_INITIAL},{name:"Delimiter",type:"binaryShortString",value:Code.CSS_QUERY_DELIMITER}]},"From UNIX Timestamp":{description:"Converts a UNIX timestamp to a datetime string.<br><br>e.g. <code>978346800</code> becomes <code>Mon 1 January 2001 11:00:00 UTC</code>",run:DateTime.runFromUnixTimestamp,inputType:"number",outputType:"string",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"To UNIX Timestamp":{description:"Parses a datetime string and returns the corresponding UNIX timestamp.<br><br>e.g. <code>Mon 1 January 2001 11:00:00 UTC</code> becomes <code>978346800</code>",run:DateTime.runToUnixTimestamp,inputType:"string",outputType:"number",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"Translate DateTime Format":{description:"Parses a datetime string in one format and re-writes it in another.<br><br>Run with no input to see the relevant format string examples.",run:DateTime.runTranslateFormat,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES},{name:"Output format string",type:"binaryString",value:DateTime.OUTPUT_FORMAT_STRING},{name:"Output timezone",type:"option",value:DateTime.TIMEZONES}]},"Parse DateTime":{description:"Parses a DateTime string in your specified format and displays it in whichever timezone you choose with the following information:<ul><li>Date</li><li>Time</li><li>Period (AM/PM)</li><li>Timezone</li><li>UTC offset</li><li>Daylight Saving Time</li><li>Leap year</li><li>Days in this month</li><li>Day of year</li><li>Week number</li><li>Quarter</li></ul>Run with no input to see format string examples if required.",run:DateTime.runParse,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES}]},"Convert distance":{description:"Converts a unit of distance to another format.",run:Convert.runDistance,inputType:"number",outputType:"number",args:[{name:"Input units",type:"option",value:Convert.DISTANCE_UNITS},{name:"Output units",type:"option",value:Convert.DISTANCE_UNITS}]},"Convert area":{description:"Converts a unit of area to another format.",run:Convert.runArea,inputType:"number",outputType:"number",args:[{name:"Input units",type:"option",value:Convert.AREA_UNITS},{name:"Output units",type:"option",value:Convert.AREA_UNITS}]},"Convert mass":{description:"Converts a unit of mass to another format.",run:Convert.runMass,inputType:"number",outputType:"number",args:[{name:"Input units",type:"option",value:Convert.MASS_UNITS},{name:"Output units",type:"option",value:CoLine truncated
localStorage.recipeId=d,this.app.alert('Recipe saved as "'+a+'".',"success",2e3)},ControlsWaiter.prototype.populateLoadRecipesList=function(){for(var a=document.getElementById("load-name"),b=a.options.length;b--;)a.remove(b);var c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];for(b=0;b<c.length;b++){var d=document.createElement("option");d.value=c[b].id,d.innerHTML=c[b].name,a.appendChild(d)}document.getElementById("load-text").value=c.length?c[0].recipe:""},ControlsWaiter.prototype.loadDeleteClick=function(){var a=parseInt(document.getElementById("load-name").value,10),b=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];b=b.filter(function(b){return b.id!==a}),localStorage.savedRecipes=JSON.stringify(b),this.populateLoadRecipesList()},ControlsWaiter.prototype.loadNameChange=function(a){var b=a.target,c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[],d=parseInt(b.value,10),e=c.filter(function(a){return a.id===d})[0];document.getElementById("load-text").value=e.recipe},ControlsWaiter.prototype.loadButtonClick=function(){try{var a=JSON.parse(document.getElementById("load-text").value);this.app.setRecipeConfig(a),$("#rec-list [data-toggle=popover]").popover()}catch(a){this.app.alert("Invalid recipe","danger",2e3)}},ControlsWaiter.prototype.supportButtonClick=function(){var a=document.getElementById("report-bug-info"),b=this.generateStateUrl(!0,!0,null,"https://gchq.github.io/CyberChef/");a.innerHTML="* CyberChef compile time: 04/03/2017 10:56:10 UTC\n* User-Agent: \n"+navigator.userAgent+"\n* [Link to reproduce]("+b+")\n\n"};var HighlighterWaiter=function(a){this.app=a,this.mouseButtonDown=!1,this.mouseTarget=null};HighlighterWaiter.INPUT=0,HighlighterWaiter.OUTPUT=1,HighlighterWaiter.prototype._isSelectionBackwards=function(){var a=!1,b=window.getSelection();if(!b.isCollapsed){var c=document.createRange();c.setStart(b.anchorNode,b.anchorOffset),c.setEnd(b.focusNode,b.focusOffset),a=c.collapsed,c.detach()}return a},HighlighterWaiter.prototype._getOutputHtmlOffset=function(a,b){var c=window.getSelection(),d=document.createRange();return d.selectNodeContents(document.getElementById("output-html")),d.setEnd(a,b),c.removeAllRanges(),c.addRange(d),c.toString().length},HighlighterWaiter.prototype._getOutputHtmlSelectionOffsets=function(){var a,b=window.getSelection(),c=0,d=0,e=!1;return b.rangeCount&&(a=b.getRangeAt(b.rangeCount-1),e=this._isSelectionBackwards(),c=this._getOutputHtmlOffset(a.startContainer,a.startOffset),d=this._getOutputHtmlOffset(a.endContainer,a.endOffset),b.removeAllRanges(),b.addRange(a),e&&(b.collapseToEnd(),b.extend(b.anchorNode,a.startOffset))),{start:c,end:d}},HighlighterWaiter.prototype.inputScroll=function(a){var b=a.target;document.getElementById("input-highlighter").scrollTop=b.scrollTop,document.getElementById("input-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.outputScroll=function(a){var b=a.target;document.getElementById("output-highlighter").scrollTop=b.scrollTop,document.getElementById("output-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.inputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.INPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("input-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightOutput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightInput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputHtmlMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT;var b=this._getOutputHtmlSelectionOffsets();0===b.start&&0===b.end||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(b.start,b.end))},HighlighterWaiter.prototype.inputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputHtmlMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.inputMousemove=function(a){if(this.mouseButtonDown&&1===a.which&&this.mouseTarget===HighlighterWaiter.INPUT){var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("input-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightOutput([{start:c,end:d}]))}},HighlighterWaiter.prototype.outputMousemove=function(a){if(this.mouseButtonDown&&1===a.which&&this.mouseTarget===HighlighterWaiter.OUTPUT){var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightInput([{start:c,end:d}]))}},HighlighterWaiter.prototype.outputHtmlMousemove=fLine truncated
this.addDynamicListener("#rec-list li.operation > div","dblclick",this.recipe.operationChildDblclick,this.recipe),this.addDynamicListener("#rec-list .input-group .dropdown-menu a","click",this.recipe.dropdownToggleClick,this.recipe),this.addDynamicListener("#rec-list","operationremove",this.recipe.opRemove.bind(this.recipe)),this.addMultiEventListener("#input-text","keyup paste",this.input.inputChange,this.input),document.getElementById("reset-layout").addEventListener("click",this.app.resetLayout.bind(this.app)),document.getElementById("clr-io").addEventListener("click",this.input.clearIoClick.bind(this.input)),document.getElementById("input-text").addEventListener("dragover",this.input.inputDragover.bind(this.input)),document.getElementById("input-text").addEventListener("dragleave",this.input.inputDragleave.bind(this.input)),document.getElementById("input-text").addEventListener("drop",this.input.inputDrop.bind(this.input)),document.getElementById("input-text").addEventListener("scroll",this.highlighter.inputScroll.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mouseup",this.highlighter.inputMouseup.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mousemove",this.highlighter.inputMousemove.bind(this.highlighter)),this.addMultiEventListener("#input-text","mousedown dblclick select",this.highlighter.inputMousedown,this.highlighter),document.getElementById("save-to-file").addEventListener("click",this.output.saveClick.bind(this.output)),document.getElementById("switch").addEventListener("click",this.output.switchClick.bind(this.output)),document.getElementById("undo-switch").addEventListener("click",this.output.undoSwitchClick.bind(this.output)),document.getElementById("maximise-output").addEventListener("click",this.output.maximiseOutputClick.bind(this.output)),document.getElementById("output-text").addEventListener("scroll",this.highlighter.outputScroll.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mouseup",this.highlighter.outputMouseup.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mousemove",this.highlighter.outputMousemove.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mouseup",this.highlighter.outputHtmlMouseup.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mousemove",this.highlighter.outputHtmlMousemove.bind(this.highlighter)),this.addMultiEventListener("#output-text","mousedown dblclick select",this.highlighter.outputMousedown,this.highlighter),this.addMultiEventListener("#output-html","mousedown dblclick select",this.highlighter.outputHtmlMousedown,this.highlighter),document.getElementById("options").addEventListener("click",this.options.optionsClick.bind(this.options)),document.getElementById("reset-options").addEventListener("click",this.options.resetOptionsClick.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.switchChange.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.setWordWrap.bind(this.options)),this.addDynamicListener(".option-item input[type=number]","keyup",this.options.numberChange,this.options),this.addDynamicListener(".option-item input[type=number]","change",this.options.numberChange,this.options),this.addDynamicListener(".option-item select","change",this.options.selectChange,this.options),document.getElementById("alert-close").addEventListener("click",this.app.alertCloseClick.bind(this.app))},Manager.prototype.addListeners=function(a,b,c,d){d=d||this,[].forEach.call(document.querySelectorAll(a),function(a){a.addEventListener(b,c.bind(d))})},Manager.prototype.addMultiEventListener=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)document.querySelector(a).addEventListener(e[f],c.bind(d))},Manager.prototype.addMultiEventListeners=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)this.addListeners(a,e[f],c,d)},Manager.prototype.addDynamicListener=function(a,b,c,d){var e={selector:a,callback:c.bind(d||this)};this.dynamicHandlers.hasOwnProperty(b)?this.dynamicHandlers[b].push(e):(this.dynamicHandlers[b]=[e],document.addEventListener(b,this.dynamicListenerHandler.bind(this)))},Manager.prototype.dynamicListenerHandler=function(a){for(var b=this.dynamicHandlers[a.type],c=a.target.matches||a.target.webkitMatchesSelector||a.target.mozMatchesSelector||a.target.msMatchesSelector||a.target.oMatchesSelector,d=0;d<b.length;d++)c&&a.target[c.name](b[d].selector)&&b[d].callback(a)};var OperationsWaiter=function(a,b){this.app=a,this.manager=b,this.options={},this.removeIntent=!1};OperationsWaiter.prototype.searchOperations=function(a){var b,c;if("search"===a.type&&(a.preventDefault(),b=document.querySelectorAll("#search-results li"),b.length&&(c=this.getSelectedOp(b),c>-1&&(this.manager.recipe.addOperation(b[c].innerHTML),this.app.autoBake()))),13===a.keyCode)aLine truncated
return c=c||" ",a.length<b?Utils.padRight(a+c.slice(0,b-a.length),b,c):a},padBytesRight:function(a,b,c){c=c||0;var d=new Array(b);return d.fill(c),Array.prototype.map.call(a,function(a,b){d[b]=a}),d},pad:function(a,b,c){return Utils.padLeft(a,b,c)},truncate:function(a,b,c){return c=c||"...",a.length>b&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treatAsUtf8&&(a=Utils.byteArrayToChars(Utils.strToByteArray(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g,d=/[\x09-\x10\x0D\u2028\u2029]/g;return a=a.replace(c,"."),b||(a=a.replace(d,".")),a},parseEscapedChars:function(a){return a.replace(/(\\)?\\([nrtbf]|x[\da-f]{2})/g,function(a,b,c){if("\\"===b)return"\\"+c;switch(c[0]){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";case"x":return Utils.chr(parseInt(c.substr(1),16))}})},expandAlphRange:function(a){for(var b=[],c=0;c<a.length;c++)if(c<a.length-2&&"-"===a[c+1]&&"\\"!==a[c]){for(var d=Utils.ord(a[c]),e=Utils.ord(a[c+2]),f=Line truncated
var l,m=a.decrypt({ciphertext:k,salt:f.sigBytes>0&&f},d,{iv:e.sigBytes>0?e:null,mode:g,padding:h});try{l=m.toString(Utils.format[j])}catch(a){l="Decrypt error: "+a.message}return l},runAesEnc:function(a,b){return Cipher._enc(CryptoJS.AES,a,b)},runAesDec:function(a,b){return Cipher._dec(CryptoJS.AES,a,b)},runDesEnc:function(a,b){return Cipher._enc(CryptoJS.DES,a,b)},runDesDec:function(a,b){return Cipher._dec(CryptoJS.DES,a,b)},runTripleDesEnc:function(a,b){return Cipher._enc(CryptoJS.TripleDES,a,b)},runTripleDesDec:function(a,b){return Cipher._dec(CryptoJS.TripleDES,a,b)},runRabbitEnc:function(a,b){return Cipher._enc(CryptoJS.Rabbit,a,b)},runRabbitDec:function(a,b){return Cipher._dec(CryptoJS.Rabbit,a,b)},BLOWFISH_MODES:["ECB","CBC","PCBC","CFB","OFB","CTR"],BLOWFISH_OUTPUT_TYPES:["Base64","Hex","String","Raw"],runBlowfishEnc:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];if(0===c.length)return"Enter a key";var f=blowfish.encrypt(a,c,{outputType:1,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}),g=CryptoJS.enc.Hex.parse(f);return g.toString(Utils.format[e])},runBlowfishDec:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];return 0===c.length?"Enter a key":(a=Utils.format[e].parse(a),blowfish.decrypt(a.toString(CryptoJS.enc.Base64),c,{outputType:0,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}))},KDF_KEY_SIZE:256,KDF_ITERATIONS:1,runPbkdf2:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.PBKDF2(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runEvpkdf:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.EvpKDF(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runRc4:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=CryptoJS.RC4.encrypt(c,d);return e.ciphertext.toString(Utils.format[b[2]])},RC4DROP_BYTES:768,runRc4drop:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=b[3],f=CryptoJS.RC4Drop.encrypt(c,d,{drop:e});return f.ciphertext.toString(Utils.format[b[2]])},runVigenereEnc:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(c+d)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(c+d)%26].toUpperCase()):(h+=a[j],i++);return h},runVigenereDec:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(d-c+f.length)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(d+f.length-c)%26].toUpperCase()):(h+=a[j],i++);return h},AFFINE_A:1,AFFINE_B:0,runAffineEnc:function(a,b){var c="abcdefghijklmnopqrstuvwxyz",d=b[0],e=b[1],f="";if(!/^\+?(0|[1-9]\d*)$/.test(d)||!/^\+?(0|[1-9]\d*)$/.test(e))return"The values of a and b can only be integers.";for(var g=0;g<a.length;g++)f+=c.indexOf(a[g])>=0?c[(d*c.indexOf(a[g])+e)%26]:c.indexOf(a[g].toLowerCase())>=0?c[(d*c.indexOf(a[g].toLowerCase())+e)%26].toUpperCase():a[g];return f},runAffineDec:function(a,b){var c,d="abcdefghijklmnopqrstuvwxyz",e=b[0],f=b[1],g="";if(!/^\+?(0|[1-9]\d*)$/.test(e)||!/^\+?(0|[1-9]\d*)$/.test(f))return"The values of a and b can only be integers.";if(1!==Utils.gcd(e,26))return"The value of a must be coprime to 26.";c=Utils.modInv(e,26);for(var h=0;h<a.length;h++)g+=d.indexOf(a[h])>=0?d[Utils.mod((d.indexOf(a[h])-f)*c,26)]:d.indexOf(a[h].toLowerCase())>=0?d[Utils.mod((d.indexOf(a[h].toLowerCase())-f)*c,26)].toUpperCase():a[h];return g},runAtbash:function(a,b){return Cipher.runAffineEnc(a,[25,25])},SUBS_PLAINTEXT:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",SUBS_CIPHERTEXT:"XYZABCDEFGHIJKLMNOPQRSTUVW",runSubstitute:function(a,b){var c=Utils.strToByteArray(Utils.expandAlphRange(b[0]).join()),d=Utils.strToByteArray(Utils.expandAlphRange(b[1]).join()),e=[],f=-1;c.length!==d.length&&(e=Utils.strToByteArray("Warning: Plaintext and Ciphertext lengths differ\n\n"));for(var g=0;g<a.length;g++)f=c.indexOf(a[g]),e.push(f>-1&&f<d.length?d[f]:a[g]);return e}};CryptoJS.kdf.OpenSSL.execute=function(a,b,c,d){void 0!==d&&null!==d||(d=CryptoJS.lib.WordArray.random(8));var e=CryptoJS.algo.EvpKDF.create({keySize:b+c}).compute(a,d),f=CryptoJS.lib.WordArray.create(e.words.slice(b),4*c);return e.sigBytes=4*b,CryptoJS.lib.CipherParams.create({key:e,iv:f,salt:d})};var Code={LANGUAGES:["default-code","defaLine truncated
},Endian={DATA_FORMAT:["Hex","Raw"],WORD_LENGTH:4,PAD_INCOMPLETE_WORDS:!0,runSwapEndianness:function(a,b){var c=b[0],d=b[1],e=b[2],f=[],g=[],h=[],i=0,j=0;if(d<=0)return"Word length must be greater than 0";switch(c){case"Hex":f=Utils.fromHex(a);break;case"Raw":f=Utils.strToByteArray(a);break;default:f=a}for(i=0;i<f.length;i+=d){var k=f.slice(i,i+d);if(e&&k.length<d)for(j=k.length;j<d;j++)k.push(0);h.push(k)}for(i=0;i<h.length;i++)for(j=h[i].length;j--;)g.push(h[i][j]);switch(c){case"Hex":return Utils.toHex(g);case"Raw":return Utils.byteArrayToUtf8(g);default:return g}}},Entropy={CHUNK_SIZE:1e3,runEntropy:function(a,b){var c=b[0],d="",e=Entropy._calcEntropy(a);d+="Shannon entropy: "+e+"\n<br><canvas id='chart-area'></canvas><br>\n- 0 represents no randomness (i.e. all the bytes in the data have the same value) whereas 8, the maximum, represents a completely random string.\n- Standard English text usually falls somewhere between 3.5 and 5.\n- Properly encrypted or compressed data of a reasonable length should have an entropy of over 7.5.\n\nThe following results show the entropy of chunks of the input data. Chunks with particularly high entropy could suggest encrypted or compressed sections.\n\n<br><script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), entropy = "+e+", height = parentRect.height * 0.25; canvas.width = parentRect.width * 0.95; canvas.height = height > 150 ? 150 : height; CanvasComponents.drawScaleBar(canvas, entropy, 8, [ { label: 'English text', min: 3.5, max: 5 },{ label: 'Encrypted/compressed', min: 7.5, max: 8 } ]); <\/script>";var f=0;if(0!==c)for(var g=0;g<a.length;g+=c)f=Entropy._calcEntropy(a.slice(g,g+c)),d+="Bytes "+g+" to "+(g+c)+": "+f+"\n";else d+="Chunk size cannot be 0.";return d},FREQ_ZEROS:!1,runFreqDistrib:function(a,b){if(!a.length)return"No data";for(var c=new Array(256),d=new Array(256),e=a.length,f=b[0],g=0;g<256;g++)c[g]=0;for(g=0;g<e;g++)c[a[g]]++;var h=0;for(g=0;g<256;g++)c[g]>0&&h++,d[g]=c[g]/e*100;var i="<canvas id='chart-area'></canvas><br>Total data length: "+e+"\nNumber of bytes represented: "+h+"\nNumber of bytes not represented: "+(256-h)+"\n\nByte Percentage\n<script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), scores = "+JSON.stringify(d)+"; canvas.width = parentRect.width * 0.95; canvas.height = parentRect.height * 0.9; CanvasComponents.drawBarChart(canvas, scores, 'Byte', 'Frequency %', 16, 6); <\/script>";for(g=0;g<256;g++)(c[g]||f)&&(i+=" "+Utils.hex(g,2)+" ("+Utils.padRight(d[g].toFixed(2).replace(".00","")+"%)",8)+Array(Math.ceil(d[g])+1).join("|")+"\n");return i},_calcEntropy:function(a){for(var b=[],c=a.unique(),d=Utils.byteArrayToChars(a),e=0;e<c.length;e++)b.push(d.count(Utils.chr(c[e]))/a.length);var f,g=0;for(e=0;e<b.length;e++)f=b[e],g+=f*Math.log(f)/Math.log(2);return-g}},Extract={_search:function(a,b,c,d){for(var e,f="",g=0;e=b.exec(a);)c&&c.test(e[0])||(g++,f+=e[0]+"\n");return d&&(f="Total found: "+g+"\n\n"+f),f},MIN_STRING_LEN:3,DISPLAY_TOTAL:!1,runStrings:function(a,b){var c=b[0]||Extract.MIN_STRING_LEN,d=b[1],e="[A-Z\\d/\\-:.,_$%'\"()<>= !\\[\\]{}@]",f=new RegExp(e+"{"+c+",}","ig");return Extract._search(a,f,null,d)},INCLUDE_IPV4:!0,INCLUDE_IPV6:!1,REMOVE_LOCAL:!1,runIp:function(a,b){var c=b[0],d=b[1],e=b[2],f=b[3],g="(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?",h="((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|(?![\\dA-F])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})",i="";if(c&&d?i=g+"|"+h:c?i=g:d&&(i=h),i){var j=new RegExp(i,"ig");if(e){var k="10\\..+",l="192\\.168\\..+",m="172\\.(?:1[6-9]|2\\d|3[01])\\..+",n="127\\..+",o=new RegExp("^(?:"+k+"|"+l+"|"+m+"|"+n+")");return Extract._search(a,j,o,f)}return Extract._search(a,j,null,f)}return""},runEmail:function(a,b){var c=b[0],d=/\w[-.\w]*@[-\w]+(?:\.[-\w]+)*\.[A-Z]{2,4}/gi;return Extract._search(a,d,null,c)},runMac:function(a,b){var c=b[0],d=/[A-F\d]{2}(?:[:-][A-F\d]{2}){5}/gi;return Extract._search(a,d,null,c)},runUrls:function(a,b){var c=b[0],d="[A-Z]+://",e="[-\\w]+(?:\\.\\w[-\\w]*)+",f=":\\d+",g="/[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]*";g+="(?:[.!,?]+[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]+)*";var h=new RegExp(d+e+"(?:"+f+")?(?:"+g+")?","ig");return Extract._search(a,h,null,c)},runDomains:function(a,b){var c=b[0],d="https?://"Line truncated
},IPV4_REGEX:/^\s*((?:\d{1,3}\.){3}\d{1,3})\s*$/,IPV6_REGEX:/^\s*(((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\4)::|:\b|(?![\dA-F])))|(?!\3\4)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4}))\s*$/i,runParseIPv6:function(a,b){var c,d="";if(!(c=IP.IPV6_REGEX.exec(a)))return"Invalid IPv6 address";var e=IP._strToIpv6(c[1]),f=IP._ipv6ToStr(e),g=IP._ipv6ToStr(e,!0);if(d+="Longhand: "+f+"\nShorthand: "+g+"\n","::"===g)d+="\nUnspecified address corresponding to 0.0.0.0/32 in IPv4.",d+="\nUnspecified address range: ::/128";else if("::1"===g)d+="\nLoopback address to the local host corresponding to 127.0.0.1/8 in IPv4.",d+="\nLoopback addresses range: ::1/128";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&65535===e[5])d+="\nIPv4-mapped IPv6 address detected. IPv6 clients will be handled natively by default, and IPv4 clients appear as IPv6 clients at their IPv4-mapped IPv6 address.",d+="\nMapped IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-mapped IPv6 addresses range: ::ffff:0:0/96";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&65535===e[4]&&0===e[5])d+="\nIPv4-translated address detected. Used by Stateless IP/ICMP Translation (SIIT). See RFCs 6145 and 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-translated addresses range: ::ffff:0:0:0/96";else if(256===e[0])d+="\nDiscard prefix detected. This is used when forwarding traffic to a sinkhole router to mitigate the effects of a denial-of-service attack. See RFC 6666 for more details.",d+="\nDiscard range: 100::/64";else if(100===e[0]&&65435===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&0===e[5])d+="\n'Well-Known' prefix for IPv4/IPv6 translation detected. See RFC 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\n'Well-Known' prefix range: 64:ff9b::/96";else if(8193===e[0]&&0===e[1]){d+="\nTeredo tunneling IPv6 address detected\n";var h=(e[2]<<16)+e[3],i=65535&~e[5],j=~((e[6]<<16)+e[7]),k=e[4]>>>15&1,l=e[4]>>>14&1,m=e[4]>>>10&15,n=e[4]>>>8&3,o=255&e[4];d+="\nServer IPv4 address: "+IP._ipv4ToStr(h)+"\nClient IPv4 address: "+IP._ipv4ToStr(j)+"\nClient UDP port: "+i+"\nFlags:\n\tCone: "+k,d+=k?" (Client is behind a cone NAT)":" (Client is not behind a cone NAT)",d+="\n\tR: "+l,l&&(d+=" Error: This flag should be set to 0. See RFC 5991 and RFC 4380."),d+="\n\tRandom1: "+Utils.bin(m,4)+"\n\tUG: "+Utils.bin(n,2),n&&(d+=" Error: This flag should be set to 00. See RFC 4380."),d+="\n\tRandom2: "+Utils.bin(o,8),d+=!l&&!n&&m&&o?"\n\nThis is a valid Teredo address which complies with RFC 4380 and RFC 5991.":l||n?"\n\nThis is an invalid Teredo address.":"\n\nThis is a valid Teredo address which complies with RFC 4380, however it does not comply with RFC 5991 (Teredo Security Updates) as there are no randomised bits in the flag field.",d+="\n\nTeredo prefix range: 2001::/32"}else if(8193===e[0]&&2===e[1]&&0===e[2])d+="\nAssigned to the Benchmarking Methodology Working Group (BMWG) for benchmarking IPv6. Corresponds to 198.18.0.0/15 for benchmarking IPv4. See RFC 5180 for more details.",d+="\nBMWG range: 2001:2::/48";else if(8193===e[0]&&e[1]>=16&&e[1]<=31)d+="\nDeprecated, previously ORCHIDv1 (Overlay Routable Cryptographic Hash Identifiers).\nORCHIDv1 range: 2001:10::/28\nORCHIDv2 now uses 2001:20::/28.";else if(8193===e[0]&&e[1]>=32&&e[1]<=47)d+="\nORCHIDv2 (Overlay Routable Cryptographic Hash Identifiers).\nThese are non-routed IPv6 addresses used for Cryptographic Hash Identifiers.",d+="\nORCHIDv2 range: 2001:20::/28";else if(8193===e[0]&&3512===e[1])d+="\nThis is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4.",d+="\nDocumentation range: 2001:db8::/32";else if(8194===e[0]){d+="\n6to4 transition IPv6 address detected. See RFC 3056 for more details.\n6to4 prefix range: 2002::/16";var p=IP._ipv4ToStr((e[1]<<16)+e[2]),q=e[3],r=e[4].toString(16)+e[5].toString(16)+e[6].toString(16)+e[7].toString(16),s=new BigInteger(r,16);d+="\n\nEncapsulated IPv4 address: "+p+"\nSLA ID: "+q+"\nInterface ID (base 16): "+r+"\nInterface ID (base 10): "+s.toString()}else e[0]>=64512&&e[0]<=65023?(d+="\nThis is a unique local address comparable to the IPv4 private addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. See RFC 4193 for more details.",d+="\nUnique local addresses range: fc00::/7"):e[0]>=65152&&e[0]<=65215?(d+="\nThis is a link-local address comparable to the auto-configuration addresses 169.254.0.0/16 in IPv4.",d+="\nLink-local addresses range: fe80::/10"):e[0]>=65280&&(d+="\nThis is a reserved multicast address.",d+="\nMulticast addresses range: ff00::/8");if(e[5]&!0&&e[6]>>>8===254){d+="\n\nThis IPv6 address contains a modified EUI-64 address, identified by the presence of FF:FE in the 12th and 13th octets.";var t=Utils.hex(e[4]>>>8)+":"+Utils.hex(255&e[4]Line truncated
runHexToPem:function(a,b){return KJUR.asn1.ASN1Util.getPEMStringFromHex(a.replace(/\s/g,""),b[0])},runHexToObjectIdentifier:function(a,b){return KJUR.asn1.ASN1Util.oidHexToInt(a.replace(/\s/g,""))},runObjectIdentifierToHex:function(a,b){return KJUR.asn1.ASN1Util.oidIntToHex(a)},ASN1_TRUNCATE_LENGTH:32,runParseAsn1HexString:function(a,b){var c=b[1],d=b[0];return ASN1HEX.dump(a.replace(/\s/g,""),{ommitLongOctet:c},d)},_formatDnStr:function(a,b){for(var c,d,e,f="",g=a.split(",/|"),h=0,i=0;i<g.length;i++)g[i].length&&(c=g[i].split("=")[0],h=c.length>h?c.length:h);for(i=0;i<g.length;i++)g[i].length&&(c=g[i].split("=")[0],d=g[i].split("=")[1],e=Utils.padRight(c,h)+" = "+d+"\n",f+=Utils.padLeft(e,b+e.length," "));return f},_formatByteStr:function(a,b,c){a=Utils.toHex(Utils.fromHex(a),":"),b*=3;for(var d="",e=0;e<a.length;e+=b){var f=a.slice(e,e+b)+"\n";d+=0===e?f:Utils.padLeft(f,c+f.length," ")}return d.slice(0,d.length-1)},_formatDate:function(a){return a[4]+a[5]+"/"+a[2]+a[3]+"/"+a[0]+a[1]+" "+a[6]+a[7]+":"+a[8]+a[9]+":"+a[10]+a[11]}};X509.hex2dn=function(a){for(var b="",c=ASN1HEX.getPosArrayOfChildren_AtObj(a,0),d=0;d<c.length;d++){var e=ASN1HEX.getHexOfTLV_AtObj(a,c[d]);b=b+",/|"+X509.hex2rdn(e)}return b},X509.DN_ATTRHEX={"0603550403":"commonName","0603550404":"surname","0603550406":"countryName","0603550407":"localityName","0603550408":"stateOrProvinceName","0603550409":"streetAddress","060355040a":"organizationName","060355040b":"organizationalUnitName","060355040c":"title","0603550414":"telephoneNumber","060355042a":"givenName","06032b06010505070201":"idCertificatePolicies","06036086480186f8420101":"netscape-cert-type","06036086480186f8420102":"netscape-base-url","06036086480186f8420103":"netscape-revocation-url","06036086480186f8420104":"netscape-ca-revocation-url","06036086480186f8420107":"netscape-cert-renewal-url","06036086480186f8420108":"netscape-ca-policy-url","06036086480186f842010c":"netscape-ssl-server-name","06036086480186f842010d":"netscape-comment","0603604c010201":"A1","0603604c010203":"A3","0603604c01020110":"Certification Practice Statement pointer","0603604c010301":"Dados do cert parte 1","0603604c010305":"Dados do cert parte 2","0603604c010306":"Dados do cert parte 3","06030992268993f22c640119":"domainComponent","06032a24a0f2a07d01010a":"Signet pilot","06032a24a0f2a07d01010b":"Signet intraNet","06032a24a0f2a07d010102":"Signet personal","06032a24a0f2a07d010114":"Signet securityPolicy","06032a24a0f2a07d010103":"Signet business","06032a24a0f2a07d010104":"Signet legal","06032a24a497a35301640101":"Certificates Australia policyIdentifier","06032a85702201":"seis-cp","06032a8570220101":"SEIS certificatePolicy-s10","06032a85702202":"SEIS pe","06032a85702203":"SEIS at","06032a8570220301":"SEIS at-personalIdentifier","06032a8648ce380201":"holdinstruction-none","06032a8648ce380202":"holdinstruction-callissuer","06032a8648ce380203":"holdinstruction-reject","06032a8648ce380401":"dsa","06032a8648ce380403":"dsaWithSha1","06032a8648ce3d01":"fieldType","06032a8648ce3d0101":"prime-field","06032a8648ce3d0102":"characteristic-two-field","06032a8648ce3d010201":"ecPublicKey","06032a8648ce3d010203":"characteristic-two-basis","06032a8648ce3d01020301":"onBasis","06032a8648ce3d01020302":"tpBasis","06032a8648ce3d01020303":"ppBasis","06032a8648ce3d02":"publicKeyType","06032a8648ce3d0201":"ecPublicKey","06032a8648ce3e0201":"dhPublicNumber","06032a864886f67d07":"nsn","06032a864886f67d0741":"nsn-ce","06032a864886f67d074100":"entrustVersInfo","06032a864886f67d0742":"nsn-alg","06032a864886f67d07420a":"cast5CBC","06032a864886f67d07420b":"cast5MAC","06032a864886f67d07420c":"pbeWithMD5AndCAST5-CBC","06032a864886f67d07420d":"passwordBasedMac","06032a864886f67d074203":"cast3CBC","06032a864886f67d0743":"nsn-oc","06032a864886f67d074300":"entrustUser","06032a864886f67d0744":"nsn-at","06032a864886f67d074400":"entrustCAInfo","06032a864886f67d07440a":"attributeCertificate","06032a864886f70d0101":"pkcs-1","06032a864886f70d010101":"rsaEncryption","06032a864886f70d010102":"md2withRSAEncryption","06032a864886f70d010103":"md4withRSAEncryption","06032a864886f70d010104":"md5withRSAEncryption","06032a864886f70d010105":"sha1withRSAEncryption","06032a864886f70d010106":"rsaOAEPEncryptionSET","06032a864886f70d010910020b":"SMIMEEncryptionKeyPreference","06032a864886f70d010c":"pkcs-12","06032a864886f70d010c01":"pkcs-12-PbeIds","06032a864886f70d010c0101":"pbeWithSHAAnd128BitRC4","06032a864886f70d010c0102":"pbeWithSHAAnd40BitRC4","06032a864886f70d010c0103":"pbeWithSHAAnd3-KeyTripleDES-CBC","06032a864886f70d010c0104":"pbeWithSHAAnd2-KeyTripleDES-CBC","06032a864886f70d010c0105":"pbeWithSHAAnd128BitRC2-CBC","06032a864886f70d010c0106":"pbeWithSHAAnd40BitRC2-CBC","06032a864886f70d010c0a":"pkcs-12Version1","06032a864886f70d010c0a01":"pkcs-12BadIds","06032a864886f70d010c0a0101":"pkcs-12-keyBag","06032a864886f70d010c0a0102":"pkcs-12-pkcs-8ShroudedKeyBag","06032a864886f70d010c0a0103":"pkcs-12-certBag","06032a864886f70d010c0a0104":"pkcs-12-crlBag","06032a864Line truncated
return d.slice(0,d.length-1)},runRemoveLineNumbers:function(a,b){return a.replace(/^[ \t]{0,5}\d+[\s:|\-,.)\]]/gm,"")},runExpandAlphRange:function(a,b){return Utils.expandAlphRange(a).join(b[0])},_caseInsensitiveSort:function(a,b){return a.toLowerCase().localeCompare(b.toLowerCase())},_ipSort:function(a,b){var c=a.split("."),d=b.split(".");return c=16777216*c[0]+65536*c[1]+256*c[2]+1*c[3],d=16777216*d[0]+65536*d[1]+256*d[2]+1*d[3],isNaN(c)&&!isNaN(d)?1:!isNaN(c)&&isNaN(d)?-1:isNaN(c)&&isNaN(d)?a.localeCompare(b):c-d}},StrUtils={REGEX_PRE_POPULATE:[{name:"User defined",value:""},{name:"IPv4 address",value:"(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?"},{name:"IPv6 address",value:"((?=.*::)(?!.*::.+::)(::)?([\\dA-Fa-f]{1,4}:(:|\\b)|){5}|([\\dA-Fa-f]{1,4}:){6})((([\\dA-Fa-f]{1,4}((?!\\3)::|:\\b|(?![\\dA-Fa-f])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})"},{name:"Email address",value:"(\\w[-.\\w]*)@([-\\w]+(?:\\.[-\\w]+)*)\\.([A-Za-z]{2,4})"},{name:"URL",value:'([A-Za-z]+://)([-\\w]+(?:\\.\\w[-\\w]*)+)(:\\d+)?(/[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]*(?:[.!,?]+[^.!,?;"\\x27<>()\\[\\]{}\\s\\x7F-\\xFF]+)*)?'},{name:"Domain",value:"(?:(https?):\\/\\/)?([-\\w.]+)\\.(com|net|org|biz|info|co|uk|onion|int|mobi|name|edu|gov|mil|eu|ac|ae|af|de|ca|ch|cn|cy|es|gb|hk|il|in|io|tv|me|nl|no|nz|ro|ru|tr|us|az|ir|kz|uz|pk)+"},{name:"Windows file path",value:"([A-Za-z]):\\\\((?:[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61}\\\\?)*[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61})(\\.[A-Za-z\\d]{1,6})?"},{name:"UNIX file path",value:"(?:/[A-Za-z\\d.][A-Za-z\\d\\-.]{0,61})+"},{name:"MAC address",value:"[A-Fa-f\\d]{2}(?:[:-][A-Fa-f\\d]{2}){5}"},{name:"Date (yyyy-mm-dd)",value:"((?:19|20)\\d\\d)[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])"},{name:"Date (dd/mm/yyyy)",value:"(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]((?:19|20)\\d\\d)"},{name:"Date (mm/dd/yyyy)",value:"(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]((?:19|20)\\d\\d)"},{name:"Strings",value:'[A-Za-z\\d/\\-:.,_$%\\x27"()<>= !\\[\\]{}@]{4,}'}],REGEX_CASE_INSENSITIVE:!0,REGEX_MULTILINE_MATCHING:!0,OUTPUT_FORMAT:["Highlight matches","List matches","List capture groups","List matches with capture groups"],DISPLAY_TOTAL:!1,runRegex:function(a,b){var c=b[1],d=b[2],e=b[3],f=b[4],g=b[5],h="g";if(d&&(h+="i"),e&&(h+="m"),!c||"^"===c||"$"===c)return Utils.escapeHtml(a);try{var i=new RegExp(c,h);switch(g){case"Highlight matches":return StrUtils._regexHighlight(a,i,f);case"List matches":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!1));case"List capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!1,!0));case"List matches with capture groups":return Utils.escapeHtml(StrUtils._regexList(a,i,f,!0,!0));default:return"Error: Invalid output format"}}catch(a){return"Invalid regex. Details: "+a.message}},CASE_SCOPE:["All","Word","Sentence","Paragraph"],runUpper:function(a,b){var c=b[0];switch(c){case"Word":return a.replace(/(\b\w)/gi,function(a){return a.toUpperCase()});case"Sentence":return a.replace(/(?:\.|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"Paragraph":return a.replace(/(?:\n|^)\s*(\b\w)/gi,function(a){return a.toUpperCase()});case"All":default:return a.toUpperCase()}},runLower:function(a,b){return a.toLowerCase()},SEARCH_TYPE:["Regex","Extended (\\n, \\t, \\x...)","Simple string"],FIND_REPLACE_GLOBAL:!0,FIND_REPLACE_CASE:!1,FIND_REPLACE_MULTILINE:!0,runFindReplace:function(a,b){var c=b[0].string,d=b[0].option,e=b[1],f=b[2],g=b[3],h=b[4],i="";return f&&(i+="g"),g&&(i+="i"),h&&(i+="m"),"Regex"===d?c=new RegExp(c,i):0===d.indexOf("Extended")&&(c=Utils.parseEscapedChars(c)),a.replace(c,e,i)},SPLIT_DELIM:",",DELIMITER_OPTIONS:["Line feed","CRLF","Space","Comma","Semi-colon","Colon","Nothing (separate chars)"],runSplit:function(a,b){var c=b[0]||StrUtils.SPLIT_DELIM,d=Utils.charRep[b[1]],e=a.split(c);return e.join(d)},runFilter:function(a,b){var c=Utils.charRep[b[0]],d=b[2];try{var e=new RegExp(b[1])}catch(a){return"Invalid regex. Details: "+a.message}var f=function(a){return d^e.test(a)};return a.split(c).filter(f).join(c)},DIFF_SAMPLE_DELIMITER:"\\n\\n",DIFF_BY:["Character","Word","Line","Sentence","CSS","JSON"],runDiff:function(a,b){var c,d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=a.split(d),j="";if(!i||2!==i.length)return"Incorrect number of samples, perhaps you need to modify the sample delimiter or add more samples?";switch(e){case"Character":c=JsDiff.diffChars(i[0],i[1]);break;case"Word":c=h?JsDiff.diffWords(i[0],i[1]):JsDiff.diffWordsWithSpace(i[0],i[1]);break;case"Line":c=h?JsDiff.diffTrimmedLines(i[0],i[1]):JsDiff.diffLines(i[0],i[1]);break;case"Sentence":c=JsDiff.diffSentences(i[0],i[1]);break;case"CSS":c=JsDiff.diffCss(i[0],i[1]);break;case"JSON":c=JsDiff.diffJson(i[0],i[1]);break;default:return"Invalid 'Diff by' option."}for(var k=0;k<c.length;k++)c[k].added?f&&(j+="<span class='hlgreen'>"+Utils.escapeHtml(c[k].value)+"</span>"):c[k].removed?g&&(j+="<span Line truncated
inputType:"string",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS},{name:"Base",type:"number",value:ByteRepr.CHARCODE_BASE}]},"From Binary":{description:"Converts a binary string back into its raw form.<br><br>e.g. <code>01001000 01101001</code> becomes <code>Hi</code>",run:ByteRepr.runFromBinary,highlight:ByteRepr.highlightFromBinary,highlightReverse:ByteRepr.highlightToBinary,inputType:"string",outputType:"byteArray",args:[{name:"Delimiter",type:"option",value:ByteRepr.BIN_DELIM_OPTIONS}]},"To Binary":{description:"Displays the input data as a binary string.<br><br>e.g. <code>Hi</code> becomes <code>01001000 01101001</code>",run:ByteRepr.runToBinary,highlight:ByteRepr.highlightToBinary,highlightReverse:ByteRepr.highlightFromBinary,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.BIN_DELIM_OPTIONS}]},"From Decimal":{description:"Converts the data from an ordinal integer array back into its raw form.<br><br>e.g. <code>72 101 108 108 111</code> becomes <code>Hello</code>",run:ByteRepr.runFromDecimal,inputType:"string",outputType:"byteArray",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"To Decimal":{description:"Converts the input data to an ordinal integer array.<br><br>e.g. <code>Hello</code> becomes <code>72 101 108 108 111</code>",run:ByteRepr.runToDecimal,inputType:"byteArray",outputType:"string",args:[{name:"Delimiter",type:"option",value:ByteRepr.DELIM_OPTIONS}]},"From Hexdump":{description:"Attempts to convert a hexdump back into raw data. This operation supports many different hexdump variations, but probably not all. Make sure you verify that the data it gives you is correct before continuing analysis.",run:Hexdump.runFrom,highlight:Hexdump.highlightFrom,highlightReverse:Hexdump.highlightTo,inputType:"string",outputType:"byteArray",args:[]},"To Hexdump":{description:"Creates a hexdump of the input data, displaying both the hexademinal values of each byte and an ASCII representation alongside.",run:Hexdump.runTo,highlight:Hexdump.highlightTo,highlightReverse:Hexdump.highlightFrom,inputType:"byteArray",outputType:"string",args:[{name:"Width",type:"number",value:Hexdump.WIDTH},{name:"Upper case hex",type:"boolean",value:Hexdump.UPPER_CASE},{name:"Include final length",type:"boolean",value:Hexdump.INCLUDE_FINAL_LENGTH}]},"From Base":{description:"Converts a number to decimal from a given numerical base.",run:Base.runFrom,inputType:"string",outputType:"number",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"To Base":{description:"Converts a decimal number to a given numerical base.",run:Base.runTo,inputType:"number",outputType:"string",args:[{name:"Radix",type:"number",value:Base.DEFAULT_RADIX}]},"From HTML Entity":{description:"Converts HTML entities back to characters<br><br>e.g. <code>&amp;<span>amp;</span></code> becomes <code>&amp;</code>",run:HTML.runFromEntity,inputType:"string",outputType:"string",args:[]},"To HTML Entity":{description:"Converts characters to HTML entities<br><br>e.g. <code>&amp;</code> becomes <code>&amp;<span>amp;</span></code>",run:HTML.runToEntity,inputType:"string",outputType:"string",args:[{name:"Convert all characters",type:"boolean",value:HTML.CONVERT_ALL},{name:"Convert to",type:"option",value:HTML.CONVERT_OPTIONS}]},"Strip HTML tags":{description:"Removes all HTML tags from the input.",run:HTML.runStripTags,inputType:"string",outputType:"string",args:[{name:"Remove indentation",type:"boolean",value:HTML.REMOVE_INDENTATION},{name:"Remove excess line breaks",type:"boolean",value:HTML.REMOVE_LINE_BREAKS}]},"URL Decode":{description:"Converts URI/URL percent-encoded characters back to their raw values.<br><br>e.g. <code>%3d</code> becomes <code>=</code>",run:URL_.runFrom,inputType:"string",outputType:"string",args:[]},"URL Encode":{description:"Encodes problematic characters into percent-encoding, a format supported by URIs/URLs.<br><br>e.g. <code>=</code> becomes <code>%3d</code>",run:URL_.runTo,inputType:"string",outputType:"string",args:[{name:"Encode all special chars",type:"boolean",value:URL_.ENCODE_ALL}]},"Parse URI":{description:"Pretty prints complicated Uniform Resource Identifier (URI) strings for ease of reading. Particularly useful for Uniform Resource Locators (URLs) with a lot of arguments.",run:URL_.runParse,inputType:"string",outputType:"string",args:[]},"Unescape Unicode Characters":{description:"Converts unicode-escaped character notation back into raw characters.<br><br>Supports the prefixes:<ul><li><code>\\u</code></li><li><code>%u</code></li><li><code>U+</code></li></ul>e.g. <code>\\u03c3\\u03bf\\u03c5</code> becomes <code>\u03c3\u03bf\u03c5</code>",run:Unicode.runUnescape,inputType:"string",outputType:"string",args:[{name:"Prefix",type:"option",value:Unicode.PREFIXES}]},"From Quoted Printable":{description:"Converts QP-encoded text back to standard text.",run:QuotedPrintable.runFrom,inputType:"string",outputType:"byteArray",arLine truncated
run:Extract.runMac,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract URLs":{description:"Extracts Uniform Resource Locators (URLs) from the input. The protocol (http, ftp etc.) is required otherwise there will be far too many false positives.",run:Extract.runUrls,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract domains":{description:"Extracts domain names with common Top-Level Domains (TLDs).<br>Note that this will not include paths. Use <strong>Extract URLs</strong> to find entire URLs.",run:Extract.runDomains,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract file paths":{description:"Extracts anything that looks like a Windows or UNIX file path.<br><br>Note that if UNIX is selected, there will likely be a lot of false positives.",run:Extract.runFilePaths,inputType:"string",outputType:"string",args:[{name:"Windows",type:"boolean",value:Extract.INCLUDE_WIN_PATH},{name:"UNIX",type:"boolean",value:Extract.INCLUDE_UNIX_PATH},{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Extract dates":{description:"Extracts dates in the following formats<ul><li><code>yyyy-mm-dd</code></li><li><code>dd/mm/yyyy</code></li><li><code>mm/dd/yyyy</code></li></ul>Dividers can be any of /, -, . or space",run:Extract.runDates,inputType:"string",outputType:"string",args:[{name:"Display total",type:"boolean",value:Extract.DISPLAY_TOTAL}]},"Regular expression":{description:"Define your own regular expression (regex) to search the input data with, optionally choosing from a list of pre-defined patterns.",run:StrUtils.runRegex,manualBake:!0,inputType:"string",outputType:"html",args:[{name:"Built in regexes",type:"populateOption",value:StrUtils.REGEX_PRE_POPULATE,target:1},{name:"Regex",type:"text",value:""},{name:"Case insensitive",type:"boolean",value:StrUtils.REGEX_CASE_INSENSITIVE},{name:"Multiline matching",type:"boolean",value:StrUtils.REGEX_MULTILINE_MATCHING},{name:"Display total",type:"boolean",value:StrUtils.DISPLAY_TOTAL},{name:"Output format",type:"option",value:StrUtils.OUTPUT_FORMAT}]},"XPath expression":{description:"Extract information from an XML document with an XPath query",run:Code.runXpath,inputType:"string",outputType:"string",args:[{name:"XPath",type:"string",value:Code.XPATH_INITIAL},{name:"Result delimiter",type:"binaryShortString",value:Code.XPATH_DELIMITER}]},"CSS selector":{description:"Extract information from an HTML document with a CSS selector",run:Code.runCSSQuery,inputType:"string",outputType:"string",args:[{name:"CSS selector",type:"string",value:Code.CSS_SELECTOR_INITIAL},{name:"Delimiter",type:"binaryShortString",value:Code.CSS_QUERY_DELIMITER}]},"From UNIX Timestamp":{description:"Converts a UNIX timestamp to a datetime string.<br><br>e.g. <code>978346800</code> becomes <code>Mon 1 January 2001 11:00:00 UTC</code>",run:DateTime.runFromUnixTimestamp,inputType:"number",outputType:"string",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"To UNIX Timestamp":{description:"Parses a datetime string and returns the corresponding UNIX timestamp.<br><br>e.g. <code>Mon 1 January 2001 11:00:00 UTC</code> becomes <code>978346800</code>",run:DateTime.runToUnixTimestamp,inputType:"string",outputType:"number",args:[{name:"Units",type:"option",value:DateTime.UNITS}]},"Translate DateTime Format":{description:"Parses a datetime string in one format and re-writes it in another.<br><br>Run with no input to see the relevant format string examples.",run:DateTime.runTranslateFormat,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES},{name:"Output format string",type:"binaryString",value:DateTime.OUTPUT_FORMAT_STRING},{name:"Output timezone",type:"option",value:DateTime.TIMEZONES}]},"Parse DateTime":{description:"Parses a DateTime string in your specified format and displays it in whichever timezone you choose with the following information:<ul><li>Date</li><li>Time</li><li>Period (AM/PM)</li><li>Timezone</li><li>UTC offset</li><li>Daylight Saving Time</li><li>Leap year</li><li>Days in this month</li><li>Day of year</li><li>Week number</li><li>Quarter</li></ul>Run with no input to see format string examples if required.",run:DateTime.runParse,inputType:"string",outputType:"html",args:[{name:"Built in formats",type:"populateOption",value:DateTime.DATETIME_FORMATS,target:1},{name:"Input format string",type:"binaryString",value:DateTime.INPUT_FORMAT_STRING},{name:"Input timezone",type:"option",value:DateTime.TIMEZONES}]},"Convert distance":{description:"Converts a unit of distance to another format.",run:Convert.runDistance,inputType:"number",outputType:"number",Line truncated
},ControlsWaiter.prototype.slrCheckChange=function(){this.initialiseSaveLink()},ControlsWaiter.prototype.sliCheckChange=function(){this.initialiseSaveLink()},ControlsWaiter.prototype.loadClick=function(){this.populateLoadRecipesList(),$("#load-modal").modal()},ControlsWaiter.prototype.saveButtonClick=function(){var a=document.getElementById("save-name").value,b=document.getElementById("save-text").value;if(!a)return void this.app.alert("Please enter a recipe name","danger",2e3);var c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[],d=localStorage.recipeId||0;c.push({id:++d,name:a,recipe:b}),localStorage.savedRecipes=JSON.stringify(c),localStorage.recipeId=d,this.app.alert('Recipe saved as "'+a+'".',"success",2e3)},ControlsWaiter.prototype.populateLoadRecipesList=function(){for(var a=document.getElementById("load-name"),b=a.options.length;b--;)a.remove(b);var c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];for(b=0;b<c.length;b++){var d=document.createElement("option");d.value=c[b].id,d.innerHTML=c[b].name,a.appendChild(d)}document.getElementById("load-text").value=c.length?c[0].recipe:""},ControlsWaiter.prototype.loadDeleteClick=function(){var a=parseInt(document.getElementById("load-name").value,10),b=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[];b=b.filter(function(b){return b.id!==a}),localStorage.savedRecipes=JSON.stringify(b),this.populateLoadRecipesList()},ControlsWaiter.prototype.loadNameChange=function(a){var b=a.target,c=localStorage.savedRecipes?JSON.parse(localStorage.savedRecipes):[],d=parseInt(b.value,10),e=c.filter(function(a){return a.id===d})[0];document.getElementById("load-text").value=e.recipe},ControlsWaiter.prototype.loadButtonClick=function(){try{var a=JSON.parse(document.getElementById("load-text").value);this.app.setRecipeConfig(a),$("#rec-list [data-toggle=popover]").popover()}catch(a){this.app.alert("Invalid recipe","danger",2e3)}},ControlsWaiter.prototype.supportButtonClick=function(){var a=document.getElementById("report-bug-info"),b=this.generateStateUrl(!0,!0,null,"https://gchq.github.io/CyberChef/");a.innerHTML="* CyberChef compile time: 21/03/2017 23:08:31 UTC\n* User-Agent: \n"+navigator.userAgent+"\n* [Link to reproduce]("+b+")\n\n"};var HighlighterWaiter=function(a){this.app=a,this.mouseButtonDown=!1,this.mouseTarget=null};HighlighterWaiter.INPUT=0,HighlighterWaiter.OUTPUT=1,HighlighterWaiter.prototype._isSelectionBackwards=function(){var a=!1,b=window.getSelection();if(!b.isCollapsed){var c=document.createRange();c.setStart(b.anchorNode,b.anchorOffset),c.setEnd(b.focusNode,b.focusOffset),a=c.collapsed,c.detach()}return a},HighlighterWaiter.prototype._getOutputHtmlOffset=function(a,b){var c=window.getSelection(),d=document.createRange();return d.selectNodeContents(document.getElementById("output-html")),d.setEnd(a,b),c.removeAllRanges(),c.addRange(d),c.toString().length},HighlighterWaiter.prototype._getOutputHtmlSelectionOffsets=function(){var a,b=window.getSelection(),c=0,d=0,e=!1;return b.rangeCount&&(a=b.getRangeAt(b.rangeCount-1),e=this._isSelectionBackwards(),c=this._getOutputHtmlOffset(a.startContainer,a.startOffset),d=this._getOutputHtmlOffset(a.endContainer,a.endOffset),b.removeAllRanges(),b.addRange(a),e&&(b.collapseToEnd(),b.extend(b.anchorNode,a.startOffset))),{start:c,end:d}},HighlighterWaiter.prototype.inputScroll=function(a){var b=a.target;document.getElementById("input-highlighter").scrollTop=b.scrollTop,document.getElementById("input-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.outputScroll=function(a){var b=a.target;document.getElementById("output-highlighter").scrollTop=b.scrollTop,document.getElementById("output-highlighter").scrollLeft=b.scrollLeft},HighlighterWaiter.prototype.inputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.INPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("input-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightOutput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT,this.removeHighlights();var b=a.target,c=b.selectionStart,d=b.selectionEnd;0===c&&0===d||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(c,d),this.highlightInput([{start:c,end:d}]))},HighlighterWaiter.prototype.outputHtmlMousedown=function(a){this.mouseButtonDown=!0,this.mouseTarget=HighlighterWaiter.OUTPUT;var b=this._getOutputHtmlSelectionOffsets();0===b.start&&0===b.end||(document.getElementById("output-selection-info").innerHTML=this.selectionInfo(b.start,b.end))},HighlighterWaiter.prototype.inputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.outputHtmlMouseup=function(a){this.mouseButtonDown=!1},HighlighterWaiter.prototype.inputMousemove=funcLine truncated
this.addDynamicListener(".op-list","oplistcreate",this.ops.opListCreate,this.ops),this.addDynamicListener("li.operation","operationadd",this.recipe.opAdd.bind(this.recipe)),this.addDynamicListener(".arg","keyup",this.recipe.ingChange,this.recipe),this.addDynamicListener(".arg","change",this.recipe.ingChange,this.recipe),this.addDynamicListener(".disable-icon","click",this.recipe.disableClick,this.recipe),this.addDynamicListener(".breakpoint","click",this.recipe.breakpointClick,this.recipe),this.addDynamicListener("#rec-list li.operation","dblclick",this.recipe.operationDblclick,this.recipe),this.addDynamicListener("#rec-list li.operation > div","dblclick",this.recipe.operationChildDblclick,this.recipe),this.addDynamicListener("#rec-list .input-group .dropdown-menu a","click",this.recipe.dropdownToggleClick,this.recipe),this.addDynamicListener("#rec-list","operationremove",this.recipe.opRemove.bind(this.recipe)),this.addMultiEventListener("#input-text","keyup paste",this.input.inputChange,this.input),document.getElementById("reset-layout").addEventListener("click",this.app.resetLayout.bind(this.app)),document.getElementById("clr-io").addEventListener("click",this.input.clearIoClick.bind(this.input)),document.getElementById("input-text").addEventListener("dragover",this.input.inputDragover.bind(this.input)),document.getElementById("input-text").addEventListener("dragleave",this.input.inputDragleave.bind(this.input)),document.getElementById("input-text").addEventListener("drop",this.input.inputDrop.bind(this.input)),document.getElementById("input-text").addEventListener("scroll",this.highlighter.inputScroll.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mouseup",this.highlighter.inputMouseup.bind(this.highlighter)),document.getElementById("input-text").addEventListener("mousemove",this.highlighter.inputMousemove.bind(this.highlighter)),this.addMultiEventListener("#input-text","mousedown dblclick select",this.highlighter.inputMousedown,this.highlighter),document.getElementById("save-to-file").addEventListener("click",this.output.saveClick.bind(this.output)),document.getElementById("switch").addEventListener("click",this.output.switchClick.bind(this.output)),document.getElementById("undo-switch").addEventListener("click",this.output.undoSwitchClick.bind(this.output)),document.getElementById("maximise-output").addEventListener("click",this.output.maximiseOutputClick.bind(this.output)),document.getElementById("output-text").addEventListener("scroll",this.highlighter.outputScroll.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mouseup",this.highlighter.outputMouseup.bind(this.highlighter)),document.getElementById("output-text").addEventListener("mousemove",this.highlighter.outputMousemove.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mouseup",this.highlighter.outputHtmlMouseup.bind(this.highlighter)),document.getElementById("output-html").addEventListener("mousemove",this.highlighter.outputHtmlMousemove.bind(this.highlighter)),this.addMultiEventListener("#output-text","mousedown dblclick select",this.highlighter.outputMousedown,this.highlighter),this.addMultiEventListener("#output-html","mousedown dblclick select",this.highlighter.outputHtmlMousedown,this.highlighter),document.getElementById("options").addEventListener("click",this.options.optionsClick.bind(this.options)),document.getElementById("reset-options").addEventListener("click",this.options.resetOptionsClick.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.switchChange.bind(this.options)),$(document).on("switchChange.bootstrapSwitch",".option-item input:checkbox",this.options.setWordWrap.bind(this.options)),this.addDynamicListener(".option-item input[type=number]","keyup",this.options.numberChange,this.options),this.addDynamicListener(".option-item input[type=number]","change",this.options.numberChange,this.options),this.addDynamicListener(".option-item select","change",this.options.selectChange,this.options),document.getElementById("alert-close").addEventListener("click",this.app.alertCloseClick.bind(this.app))},Manager.prototype.addListeners=function(a,b,c,d){d=d||this,[].forEach.call(document.querySelectorAll(a),function(a){a.addEventListener(b,c.bind(d))})},Manager.prototype.addMultiEventListener=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)document.querySelector(a).addEventListener(e[f],c.bind(d))},Manager.prototype.addMultiEventListeners=function(a,b,c,d){for(var e=b.split(" "),f=0;f<e.length;f++)this.addListeners(a,e[f],c,d)},Manager.prototype.addDynamicListener=function(a,b,c,d){var e={selector:a,callback:c.bind(d||this)};this.dynamicHandlers.hasOwnProperty(b)?this.dynamicHandlers[b].push(e):(this.dynamicHandlers[b]=[e],document.addEventListener(b,this.dynamicListenerHandler.bind(this)))},Manager.prototype.dynamicListenerHandler=function(a){for(var b=this.dynamicHandlers[a.tLine truncated
+4 -4
View File
@@ -1,9 +1,9 @@
215 source files
117391 lines
117429 lines
4.4M size
145 JavaScript source files
108190 lines
108228 lines
3.8M size
84 third party JavaScript source files
@@ -11,11 +11,11 @@
3.1M size
61 first party JavaScript source files
20773 lines
20811 lines
776K size
3.5M uncompressed JavaScript size
compressed JavaScript size
1.9M compressed JavaScript size
15 categories
177 operations