igv 2.10.0 → 2.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,7 @@
11
11
  *
12
12
  * Date: 2018-01-20T17:24Z
13
13
  */
14
- var t=[],e=window.document,n=Object.getPrototypeOf,r=t.slice,i=t.concat,o=t.push,s=t.indexOf,a={},c=a.toString,l=a.hasOwnProperty,h=l.toString,u=h.call(Object),f={},d=function(t){return"function"==typeof t&&"number"!=typeof t.nodeType},p=function(t){return null!=t&&t===t.window},g={type:!0,src:!0,noModule:!0};function m(t,n,r){var i,o=(n=n||e).createElement("script");if(o.text=t,r)for(i in g)r[i]&&(o[i]=r[i]);n.head.appendChild(o).parentNode.removeChild(o)}function v(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?a[c.call(t)]||"object":typeof t}var b="3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",w=function(t,e){return new w.fn.init(t,e)},y=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function x(t){var e=!!t&&"length"in t&&t.length,n=v(t);return!d(t)&&!p(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}w.fn=w.prototype={jquery:b,constructor:w,length:0,toArray:function(){return r.call(this)},get:function(t){return null==t?r.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=w.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return w.each(this,t)},map:function(t){return this.pushStack(w.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return this.pushStack(r.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:o,sort:t.sort,splice:t.splice},w.extend=w.fn.extend=function(){var t,e,n,r,i,o,s=arguments[0]||{},a=1,c=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[a]||{},a++),"object"==typeof s||d(s)||(s={}),a===c&&(s=this,a--);a<c;a++)if(null!=(t=arguments[a]))for(e in t)n=s[e],s!==(r=t[e])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},s[e]=w.extend(l,o,r)):void 0!==r&&(s[e]=r));return s},w.extend({expando:"jQuery"+(b+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isPlainObject:function(t){var e,r;return!(!t||"[object Object]"!==c.call(t))&&(!(e=n(t))||"function"==typeof(r=l.call(e,"constructor")&&e.constructor)&&h.call(r)===u)},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},globalEval:function(t){m(t)},each:function(t,e){var n,r=0;if(x(t))for(n=t.length;r<n&&!1!==e.call(t[r],r,t[r]);r++);else for(r in t)if(!1===e.call(t[r],r,t[r]))break;return t},trim:function(t){return null==t?"":(t+"").replace(y,"")},makeArray:function(t,e){var n=e||[];return null!=t&&(x(Object(t))?w.merge(n,"string"==typeof t?[t]:t):o.call(n,t)),n},inArray:function(t,e,n){return null==e?-1:s.call(e,t,n)},merge:function(t,e){for(var n=+e.length,r=0,i=t.length;r<n;r++)t[i++]=e[r];return t.length=i,t},grep:function(t,e,n){for(var r=[],i=0,o=t.length,s=!n;i<o;i++)!e(t[i],i)!==s&&r.push(t[i]);return r},map:function(t,e,n){var r,o,s=0,a=[];if(x(t))for(r=t.length;s<r;s++)null!=(o=e(t[s],s,n))&&a.push(o);else for(s in t)null!=(o=e(t[s],s,n))&&a.push(o);return i.apply([],a)},guid:1,support:f}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=t[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(t,e){a["[object "+e+"]"]=e.toLowerCase()}));var _=
14
+ var t=[],e=window.document,n=Object.getPrototypeOf,r=t.slice,i=t.concat,o=t.push,s=t.indexOf,a={},l=a.toString,c=a.hasOwnProperty,h=c.toString,u=h.call(Object),f={},d=function(t){return"function"==typeof t&&"number"!=typeof t.nodeType},p=function(t){return null!=t&&t===t.window},g={type:!0,src:!0,noModule:!0};function m(t,n,r){var i,o=(n=n||e).createElement("script");if(o.text=t,r)for(i in g)r[i]&&(o[i]=r[i]);n.head.appendChild(o).parentNode.removeChild(o)}function v(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?a[l.call(t)]||"object":typeof t}var b="3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",w=function(t,e){return new w.fn.init(t,e)},y=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function x(t){var e=!!t&&"length"in t&&t.length,n=v(t);return!d(t)&&!p(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}w.fn=w.prototype={jquery:b,constructor:w,length:0,toArray:function(){return r.call(this)},get:function(t){return null==t?r.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=w.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return w.each(this,t)},map:function(t){return this.pushStack(w.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return this.pushStack(r.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n<e?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:o,sort:t.sort,splice:t.splice},w.extend=w.fn.extend=function(){var t,e,n,r,i,o,s=arguments[0]||{},a=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||d(s)||(s={}),a===l&&(s=this,a--);a<l;a++)if(null!=(t=arguments[a]))for(e in t)n=s[e],s!==(r=t[e])&&(c&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},s[e]=w.extend(c,o,r)):void 0!==r&&(s[e]=r));return s},w.extend({expando:"jQuery"+(b+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isPlainObject:function(t){var e,r;return!(!t||"[object Object]"!==l.call(t))&&(!(e=n(t))||"function"==typeof(r=c.call(e,"constructor")&&e.constructor)&&h.call(r)===u)},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},globalEval:function(t){m(t)},each:function(t,e){var n,r=0;if(x(t))for(n=t.length;r<n&&!1!==e.call(t[r],r,t[r]);r++);else for(r in t)if(!1===e.call(t[r],r,t[r]))break;return t},trim:function(t){return null==t?"":(t+"").replace(y,"")},makeArray:function(t,e){var n=e||[];return null!=t&&(x(Object(t))?w.merge(n,"string"==typeof t?[t]:t):o.call(n,t)),n},inArray:function(t,e,n){return null==e?-1:s.call(e,t,n)},merge:function(t,e){for(var n=+e.length,r=0,i=t.length;r<n;r++)t[i++]=e[r];return t.length=i,t},grep:function(t,e,n){for(var r=[],i=0,o=t.length,s=!n;i<o;i++)!e(t[i],i)!==s&&r.push(t[i]);return r},map:function(t,e,n){var r,o,s=0,a=[];if(x(t))for(r=t.length;s<r;s++)null!=(o=e(t[s],s,n))&&a.push(o);else for(s in t)null!=(o=e(t[s],s,n))&&a.push(o);return i.apply([],a)},guid:1,support:f}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=t[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(t,e){a["[object "+e+"]"]=e.toLowerCase()}));var _=
15
15
  /*!
16
16
  * Sizzle CSS Selector Engine v2.3.3
17
17
  * https://sizzlejs.com/
@@ -22,8 +22,8 @@ var t=[],e=window.document,n=Object.getPrototypeOf,r=t.slice,i=t.concat,o=t.push
22
22
  *
23
23
  * Date: 2016-08-08
24
24
  */
25
- function(t){var e,n,r,i,o,s,a,c,l,h,u,f,d,p,g,m,v,b,w,y="sizzle"+1*new Date,x=t.document,_=0,k=0,S=st(),C=st(),E=st(),A=function(t,e){return t===e&&(u=!0),0},T={}.hasOwnProperty,L=[],R=L.pop,M=L.push,I=L.push,N=L.slice,F=function(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",O="[\\x20\\t\\r\\n\\f]",D="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",B="\\[[\\x20\\t\\r\\n\\f]*("+D+")(?:"+O+"*([*^$|!~]?=)"+O+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+D+"))|)"+O+"*\\]",z=":("+D+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+B+")*)|.*)\\)|)",j=new RegExp(O+"+","g"),H=new RegExp("^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$","g"),V=new RegExp("^[\\x20\\t\\r\\n\\f]*,[\\x20\\t\\r\\n\\f]*"),U=new RegExp("^[\\x20\\t\\r\\n\\f]*([>+~]|[\\x20\\t\\r\\n\\f])[\\x20\\t\\r\\n\\f]*"),q=new RegExp("=[\\x20\\t\\r\\n\\f]*([^\\]'\"]*?)[\\x20\\t\\r\\n\\f]*\\]","g"),W=new RegExp(z),$=new RegExp("^"+D+"$"),G={ID:new RegExp("^#("+D+")"),CLASS:new RegExp("^\\.("+D+")"),TAG:new RegExp("^("+D+"|[*])"),ATTR:new RegExp("^"+B),PSEUDO:new RegExp("^"+z),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)","i")},Z=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Q=/[+~]/,J=new RegExp("\\\\([\\da-f]{1,6}[\\x20\\t\\r\\n\\f]?|([\\x20\\t\\r\\n\\f])|.)","ig"),tt=function(t,e,n){var r="0x"+e-65536;return r!=r||n?e:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},et=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,nt=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},rt=function(){f()},it=vt((function(t){return!0===t.disabled&&("form"in t||"label"in t)}),{dir:"parentNode",next:"legend"});try{I.apply(L=N.call(x.childNodes),x.childNodes),L[x.childNodes.length].nodeType}catch(t){I={apply:L.length?function(t,e){M.apply(t,N.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}function ot(t,e,r,i){var o,a,l,h,u,p,v,b=e&&e.ownerDocument,_=e?e.nodeType:9;if(r=r||[],"string"!=typeof t||!t||1!==_&&9!==_&&11!==_)return r;if(!i&&((e?e.ownerDocument||e:x)!==d&&f(e),e=e||d,g)){if(11!==_&&(u=K.exec(t)))if(o=u[1]){if(9===_){if(!(l=e.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(b&&(l=b.getElementById(o))&&w(e,l)&&l.id===o)return r.push(l),r}else{if(u[2])return I.apply(r,e.getElementsByTagName(t)),r;if((o=u[3])&&n.getElementsByClassName&&e.getElementsByClassName)return I.apply(r,e.getElementsByClassName(o)),r}if(n.qsa&&!E[t+" "]&&(!m||!m.test(t))){if(1!==_)b=e,v=t;else if("object"!==e.nodeName.toLowerCase()){for((h=e.getAttribute("id"))?h=h.replace(et,nt):e.setAttribute("id",h=y),a=(p=s(t)).length;a--;)p[a]="#"+h+" "+mt(p[a]);v=p.join(","),b=Q.test(t)&&pt(e.parentNode)||e}if(v)try{return I.apply(r,b.querySelectorAll(v)),r}catch(t){}finally{h===y&&e.removeAttribute("id")}}}return c(t.replace(H,"$1"),e,r,i)}function st(){var t=[];return function e(n,i){return t.push(n+" ")>r.cacheLength&&delete e[t.shift()],e[n+" "]=i}}function at(t){return t[y]=!0,t}function ct(t){var e=d.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function lt(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function ht(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function ut(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function ft(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&it(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function dt(t){return at((function(e){return e=+e,at((function(n,r){for(var i,o=t([],n.length,e),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))}))}))}function pt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in n=ot.support={},o=ot.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},f=ot.setDocument=function(t){var e,i,s=t?t.ownerDocument||t:x;return s!==d&&9===s.nodeType&&s.documentElement?(p=(d=s).documentElement,g=!o(d),x!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",rt,!1):i.attachEvent&&i.attachEvent("onunload",rt)),n.attributes=ct((function(t){return t.className="i",!t.getAttribute("className")})),n.getElementsByTagName=ct((function(t){return t.appendChild(d.createComment("")),!t.getElementsByTagName("*").length})),n.getElementsByClassName=Y.test(d.getElementsByClassName),n.getById=ct((function(t){return p.appendChild(t).id=y,!d.getElementsByName||!d.getElementsByName(y).length})),n.getById?(r.filter.ID=function(t){var e=t.replace(J,tt);return function(t){return t.getAttribute("id")===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n=e.getElementById(t);return n?[n]:[]}}):(r.filter.ID=function(t){var e=t.replace(J,tt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n,r,i,o=e.getElementById(t);if(o){if((n=o.getAttributeNode("id"))&&n.value===t)return[o];for(i=e.getElementsByName(t),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===t)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&g)return e.getElementsByClassName(t)},v=[],m=[],(n.qsa=Y.test(d.querySelectorAll))&&(ct((function(t){p.appendChild(t).innerHTML="<a id='"+y+"'></a><select id='"+y+"-\r\\' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),t.querySelectorAll("[selected]").length||m.push("\\[[\\x20\\t\\r\\n\\f]*(?:value|"+P+")"),t.querySelectorAll("[id~="+y+"-]").length||m.push("~="),t.querySelectorAll(":checked").length||m.push(":checked"),t.querySelectorAll("a#"+y+"+*").length||m.push(".#.+[+~]")})),ct((function(t){t.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var e=d.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&m.push("name[\\x20\\t\\r\\n\\f]*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),p.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),m.push(",.*:")}))),(n.matchesSelector=Y.test(b=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&ct((function(t){n.disconnectedMatch=b.call(t,"*"),b.call(t,"[s!='']:x"),v.push("!=",z)})),m=m.length&&new RegExp(m.join("|")),v=v.length&&new RegExp(v.join("|")),e=Y.test(p.compareDocumentPosition),w=e||Y.test(p.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},A=e?function(t,e){if(t===e)return u=!0,0;var r=!t.compareDocumentPosition-!e.compareDocumentPosition;return r||(1&(r=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!n.sortDetached&&e.compareDocumentPosition(t)===r?t===d||t.ownerDocument===x&&w(x,t)?-1:e===d||e.ownerDocument===x&&w(x,e)?1:h?F(h,t)-F(h,e):0:4&r?-1:1)}:function(t,e){if(t===e)return u=!0,0;var n,r=0,i=t.parentNode,o=e.parentNode,s=[t],a=[e];if(!i||!o)return t===d?-1:e===d?1:i?-1:o?1:h?F(h,t)-F(h,e):0;if(i===o)return lt(t,e);for(n=t;n=n.parentNode;)s.unshift(n);for(n=e;n=n.parentNode;)a.unshift(n);for(;s[r]===a[r];)r++;return r?lt(s[r],a[r]):s[r]===x?-1:a[r]===x?1:0},d):d},ot.matches=function(t,e){return ot(t,null,null,e)},ot.matchesSelector=function(t,e){if((t.ownerDocument||t)!==d&&f(t),e=e.replace(q,"='$1']"),n.matchesSelector&&g&&!E[e+" "]&&(!v||!v.test(e))&&(!m||!m.test(e)))try{var r=b.call(t,e);if(r||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(t){}return ot(e,d,null,[t]).length>0},ot.contains=function(t,e){return(t.ownerDocument||t)!==d&&f(t),w(t,e)},ot.attr=function(t,e){(t.ownerDocument||t)!==d&&f(t);var i=r.attrHandle[e.toLowerCase()],o=i&&T.call(r.attrHandle,e.toLowerCase())?i(t,e,!g):void 0;return void 0!==o?o:n.attributes||!g?t.getAttribute(e):(o=t.getAttributeNode(e))&&o.specified?o.value:null},ot.escape=function(t){return(t+"").replace(et,nt)},ot.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},ot.uniqueSort=function(t){var e,r=[],i=0,o=0;if(u=!n.detectDuplicates,h=!n.sortStable&&t.slice(0),t.sort(A),u){for(;e=t[o++];)e===t[o]&&(i=r.push(o));for(;i--;)t.splice(r[i],1)}return h=null,t},i=ot.getText=function(t){var e,n="",r=0,o=t.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=i(t)}else if(3===o||4===o)return t.nodeValue}else for(;e=t[r++];)n+=i(e);return n},(r=ot.selectors={cacheLength:50,createPseudo:at,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(J,tt),t[3]=(t[3]||t[4]||t[5]||"").replace(J,tt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||ot.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&ot.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return G.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&W.test(n)&&(e=s(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(J,tt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=S[t+" "];return e||(e=new RegExp("(^|[\\x20\\t\\r\\n\\f])"+t+"("+O+"|$)"))&&S(t,(function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")}))},ATTR:function(t,e,n){return function(r){var i=ot.attr(r,t);return null==i?"!="===e:!e||(i+="","="===e?i===n:"!="===e?i!==n:"^="===e?n&&0===i.indexOf(n):"*="===e?n&&i.indexOf(n)>-1:"$="===e?n&&i.slice(-n.length)===n:"~="===e?(" "+i.replace(j," ")+" ").indexOf(n)>-1:"|="===e&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),s="last"!==t.slice(-4),a="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,c){var l,h,u,f,d,p,g=o!==s?"nextSibling":"previousSibling",m=e.parentNode,v=a&&e.nodeName.toLowerCase(),b=!c&&!a,w=!1;if(m){if(o){for(;g;){for(f=e;f=f[g];)if(a?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;p=g="only"===t&&!p&&"nextSibling"}return!0}if(p=[s?m.firstChild:m.lastChild],s&&b){for(w=(d=(l=(h=(u=(f=m)[y]||(f[y]={}))[f.uniqueID]||(u[f.uniqueID]={}))[t]||[])[0]===_&&l[1])&&l[2],f=d&&m.childNodes[d];f=++d&&f&&f[g]||(w=d=0)||p.pop();)if(1===f.nodeType&&++w&&f===e){h[t]=[_,d,w];break}}else if(b&&(w=d=(l=(h=(u=(f=e)[y]||(f[y]={}))[f.uniqueID]||(u[f.uniqueID]={}))[t]||[])[0]===_&&l[1]),!1===w)for(;(f=++d&&f&&f[g]||(w=d=0)||p.pop())&&((a?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++w||(b&&((h=(u=f[y]||(f[y]={}))[f.uniqueID]||(u[f.uniqueID]={}))[t]=[_,w]),f!==e)););return(w-=i)===r||w%r==0&&w/r>=0}}},PSEUDO:function(t,e){var n,i=r.pseudos[t]||r.setFilters[t.toLowerCase()]||ot.error("unsupported pseudo: "+t);return i[y]?i(e):i.length>1?(n=[t,t,"",e],r.setFilters.hasOwnProperty(t.toLowerCase())?at((function(t,n){for(var r,o=i(t,e),s=o.length;s--;)t[r=F(t,o[s])]=!(n[r]=o[s])})):function(t){return i(t,0,n)}):i}},pseudos:{not:at((function(t){var e=[],n=[],r=a(t.replace(H,"$1"));return r[y]?at((function(t,e,n,i){for(var o,s=r(t,null,i,[]),a=t.length;a--;)(o=s[a])&&(t[a]=!(e[a]=o))})):function(t,i,o){return e[0]=t,r(e,null,o,n),e[0]=null,!n.pop()}})),has:at((function(t){return function(e){return ot(t,e).length>0}})),contains:at((function(t){return t=t.replace(J,tt),function(e){return(e.textContent||e.innerText||i(e)).indexOf(t)>-1}})),lang:at((function(t){return $.test(t||"")||ot.error("unsupported lang: "+t),t=t.replace(J,tt).toLowerCase(),function(e){var n;do{if(n=g?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}})),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===p},focus:function(t){return t===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:ft(!1),disabled:ft(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!r.pseudos.empty(t)},header:function(t){return X.test(t.nodeName)},input:function(t){return Z.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:dt((function(){return[0]})),last:dt((function(t,e){return[e-1]})),eq:dt((function(t,e,n){return[n<0?n+e:n]})),even:dt((function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t})),odd:dt((function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t})),lt:dt((function(t,e,n){for(var r=n<0?n+e:n;--r>=0;)t.push(r);return t})),gt:dt((function(t,e,n){for(var r=n<0?n+e:n;++r<e;)t.push(r);return t}))}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[e]=ht(e);for(e in{submit:!0,reset:!0})r.pseudos[e]=ut(e);function gt(){}function mt(t){for(var e=0,n=t.length,r="";e<n;e++)r+=t[e].value;return r}function vt(t,e,n){var r=e.dir,i=e.next,o=i||r,s=n&&"parentNode"===o,a=k++;return e.first?function(e,n,i){for(;e=e[r];)if(1===e.nodeType||s)return t(e,n,i);return!1}:function(e,n,c){var l,h,u,f=[_,a];if(c){for(;e=e[r];)if((1===e.nodeType||s)&&t(e,n,c))return!0}else for(;e=e[r];)if(1===e.nodeType||s)if(h=(u=e[y]||(e[y]={}))[e.uniqueID]||(u[e.uniqueID]={}),i&&i===e.nodeName.toLowerCase())e=e[r]||e;else{if((l=h[o])&&l[0]===_&&l[1]===a)return f[2]=l[2];if(h[o]=f,f[2]=t(e,n,c))return!0}return!1}}function bt(t){return t.length>1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function wt(t,e,n,r,i){for(var o,s=[],a=0,c=t.length,l=null!=e;a<c;a++)(o=t[a])&&(n&&!n(o,r,i)||(s.push(o),l&&e.push(a)));return s}function yt(t,e,n,r,i,o){return r&&!r[y]&&(r=yt(r)),i&&!i[y]&&(i=yt(i,o)),at((function(o,s,a,c){var l,h,u,f=[],d=[],p=s.length,g=o||function(t,e,n){for(var r=0,i=e.length;r<i;r++)ot(t,e[r],n);return n}(e||"*",a.nodeType?[a]:a,[]),m=!t||!o&&e?g:wt(g,f,t,a,c),v=n?i||(o?t:p||r)?[]:s:m;if(n&&n(m,v,a,c),r)for(l=wt(v,d),r(l,[],a,c),h=l.length;h--;)(u=l[h])&&(v[d[h]]=!(m[d[h]]=u));if(o){if(i||t){if(i){for(l=[],h=v.length;h--;)(u=v[h])&&l.push(m[h]=u);i(null,v=[],l,c)}for(h=v.length;h--;)(u=v[h])&&(l=i?F(o,u):f[h])>-1&&(o[l]=!(s[l]=u))}}else v=wt(v===s?v.splice(p,v.length):v),i?i(null,s,v,c):I.apply(s,v)}))}function xt(t){for(var e,n,i,o=t.length,s=r.relative[t[0].type],a=s||r.relative[" "],c=s?1:0,h=vt((function(t){return t===e}),a,!0),u=vt((function(t){return F(e,t)>-1}),a,!0),f=[function(t,n,r){var i=!s&&(r||n!==l)||((e=n).nodeType?h(t,n,r):u(t,n,r));return e=null,i}];c<o;c++)if(n=r.relative[t[c].type])f=[vt(bt(f),n)];else{if((n=r.filter[t[c].type].apply(null,t[c].matches))[y]){for(i=++c;i<o&&!r.relative[t[i].type];i++);return yt(c>1&&bt(f),c>1&&mt(t.slice(0,c-1).concat({value:" "===t[c-2].type?"*":""})).replace(H,"$1"),n,c<i&&xt(t.slice(c,i)),i<o&&xt(t=t.slice(i)),i<o&&mt(t))}f.push(n)}return bt(f)}return gt.prototype=r.filters=r.pseudos,r.setFilters=new gt,s=ot.tokenize=function(t,e){var n,i,o,s,a,c,l,h=C[t+" "];if(h)return e?0:h.slice(0);for(a=t,c=[],l=r.preFilter;a;){for(s in n&&!(i=V.exec(a))||(i&&(a=a.slice(i[0].length)||a),c.push(o=[])),n=!1,(i=U.exec(a))&&(n=i.shift(),o.push({value:n,type:i[0].replace(H," ")}),a=a.slice(n.length)),r.filter)!(i=G[s].exec(a))||l[s]&&!(i=l[s](i))||(n=i.shift(),o.push({value:n,type:s,matches:i}),a=a.slice(n.length));if(!n)break}return e?a.length:a?ot.error(t):C(t,c).slice(0)},a=ot.compile=function(t,e){var n,i=[],o=[],a=E[t+" "];if(!a){for(e||(e=s(t)),n=e.length;n--;)(a=xt(e[n]))[y]?i.push(a):o.push(a);(a=E(t,function(t,e){var n=e.length>0,i=t.length>0,o=function(o,s,a,c,h){var u,p,m,v=0,b="0",w=o&&[],y=[],x=l,k=o||i&&r.find.TAG("*",h),S=_+=null==x?1:Math.random()||.1,C=k.length;for(h&&(l=s===d||s||h);b!==C&&null!=(u=k[b]);b++){if(i&&u){for(p=0,s||u.ownerDocument===d||(f(u),a=!g);m=t[p++];)if(m(u,s||d,a)){c.push(u);break}h&&(_=S)}n&&((u=!m&&u)&&v--,o&&w.push(u))}if(v+=b,n&&b!==v){for(p=0;m=e[p++];)m(w,y,s,a);if(o){if(v>0)for(;b--;)w[b]||y[b]||(y[b]=R.call(c));y=wt(y)}I.apply(c,y),h&&!o&&y.length>0&&v+e.length>1&&ot.uniqueSort(c)}return h&&(_=S,l=x),w};return n?at(o):o}(o,i))).selector=t}return a},c=ot.select=function(t,e,n,i){var o,c,l,h,u,f="function"==typeof t&&t,d=!i&&s(t=f.selector||t);if(n=n||[],1===d.length){if((c=d[0]=d[0].slice(0)).length>2&&"ID"===(l=c[0]).type&&9===e.nodeType&&g&&r.relative[c[1].type]){if(!(e=(r.find.ID(l.matches[0].replace(J,tt),e)||[])[0]))return n;f&&(e=e.parentNode),t=t.slice(c.shift().value.length)}for(o=G.needsContext.test(t)?0:c.length;o--&&(l=c[o],!r.relative[h=l.type]);)if((u=r.find[h])&&(i=u(l.matches[0].replace(J,tt),Q.test(c[0].type)&&pt(e.parentNode)||e))){if(c.splice(o,1),!(t=i.length&&mt(c)))return I.apply(n,i),n;break}}return(f||a(t,d))(i,e,!g,n,!e||Q.test(t)&&pt(e.parentNode)||e),n},n.sortStable=y.split("").sort(A).join("")===y,n.detectDuplicates=!!u,f(),ot}(window);w.find=_,w.expr=_.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=_.uniqueSort,w.text=_.getText,w.isXMLDoc=_.isXML,w.contains=_.contains,w.escapeSelector=_.escape;var k=function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&w(t).is(n))break;r.push(t)}return r},S=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},C=w.expr.match.needsContext;function E(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(t,e,n){return d(e)?w.grep(t,(function(t,r){return!!e.call(t,r,t)!==n})):e.nodeType?w.grep(t,(function(t){return t===e!==n})):"string"!=typeof e?w.grep(t,(function(t){return s.call(e,t)>-1!==n})):w.filter(e,t,n)}w.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?w.find.matchesSelector(r,t)?[r]:[]:w.find.matches(t,w.grep(e,(function(t){return 1===t.nodeType})))},w.fn.extend({find:function(t){var e,n,r=this.length,i=this;if("string"!=typeof t)return this.pushStack(w(t).filter((function(){for(e=0;e<r;e++)if(w.contains(i[e],this))return!0})));for(n=this.pushStack([]),e=0;e<r;e++)w.find(t,i[e],n);return r>1?w.uniqueSort(n):n},filter:function(t){return this.pushStack(T(this,t||[],!1))},not:function(t){return this.pushStack(T(this,t||[],!0))},is:function(t){return!!T(this,"string"==typeof t&&C.test(t)?w(t):t||[],!1).length}});var L,R=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(t,n,r){var i,o;if(!t)return this;if(r=r||L,"string"==typeof t){if(!(i="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:R.exec(t))||!i[1]&&n)return!n||n.jquery?(n||r).find(t):this.constructor(n).find(t);if(i[1]){if(n=n instanceof w?n[0]:n,w.merge(this,w.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:e,!0)),A.test(i[1])&&w.isPlainObject(n))for(i in n)d(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}return(o=e.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):d(t)?void 0!==r.ready?r.ready(t):t(w):w.makeArray(t,this)}).prototype=w.fn,L=w(e);var M=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};function N(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}w.fn.extend({has:function(t){var e=w(t,this),n=e.length;return this.filter((function(){for(var t=0;t<n;t++)if(w.contains(this,e[t]))return!0}))},closest:function(t,e){var n,r=0,i=this.length,o=[],s="string"!=typeof t&&w(t);if(!C.test(t))for(;r<i;r++)for(n=this[r];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?s.call(w(t),this[0]):s.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),w.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return k(t,"parentNode")},parentsUntil:function(t,e,n){return k(t,"parentNode",n)},next:function(t){return N(t,"nextSibling")},prev:function(t){return N(t,"previousSibling")},nextAll:function(t){return k(t,"nextSibling")},prevAll:function(t){return k(t,"previousSibling")},nextUntil:function(t,e,n){return k(t,"nextSibling",n)},prevUntil:function(t,e,n){return k(t,"previousSibling",n)},siblings:function(t){return S((t.parentNode||{}).firstChild,t)},children:function(t){return S(t.firstChild)},contents:function(t){return E(t,"iframe")?t.contentDocument:(E(t,"template")&&(t=t.content||t),w.merge([],t.childNodes))}},(function(t,e){w.fn[t]=function(n,r){var i=w.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(I[t]||w.uniqueSort(i),M.test(t)&&i.reverse()),this.pushStack(i)}}));var F=/[^\x20\t\r\n\f]+/g;function P(t){return t}function O(t){throw t}function D(t,e,n,r){var i;try{t&&d(i=t.promise)?i.call(t).done(e).fail(n):t&&d(i=t.then)?i.call(t,e,n):e.apply(void 0,[t].slice(r))}catch(t){n.apply(void 0,[t])}}w.Callbacks=function(t){t="string"==typeof t?function(t){var e={};return w.each(t.match(F)||[],(function(t,n){e[n]=!0})),e}(t):w.extend({},t);var e,n,r,i,o=[],s=[],a=-1,c=function(){for(i=i||t.once,r=e=!0;s.length;a=-1)for(n=s.shift();++a<o.length;)!1===o[a].apply(n[0],n[1])&&t.stopOnFalse&&(a=o.length,n=!1);t.memory||(n=!1),e=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!e&&(a=o.length-1,s.push(n)),function e(n){w.each(n,(function(n,r){d(r)?t.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==v(r)&&e(r)}))}(arguments),n&&!e&&c()),this},remove:function(){return w.each(arguments,(function(t,e){for(var n;(n=w.inArray(e,o,n))>-1;)o.splice(n,1),n<=a&&a--})),this},has:function(t){return t?w.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=s=[],n||e||(o=n=""),this},locked:function(){return!!i},fireWith:function(t,n){return i||(n=[t,(n=n||[]).slice?n.slice():n],s.push(n),e||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},w.extend({Deferred:function(t){var e=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},catch:function(t){return r.then(null,t)},pipe:function(){var t=arguments;return w.Deferred((function(n){w.each(e,(function(e,r){var o=d(t[r[4]])&&t[r[4]];i[r[1]]((function(){var t=o&&o.apply(this,arguments);t&&d(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,o?[t]:arguments)}))})),t=null})).promise()},then:function(t,n,r){var i=0;function o(t,e,n,r){return function(){var s=this,a=arguments,c=function(){var c,l;if(!(t<i)){if((c=n.apply(s,a))===e.promise())throw new TypeError("Thenable self-resolution");l=c&&("object"==typeof c||"function"==typeof c)&&c.then,d(l)?r?l.call(c,o(i,e,P,r),o(i,e,O,r)):(i++,l.call(c,o(i,e,P,r),o(i,e,O,r),o(i,e,P,e.notifyWith))):(n!==P&&(s=void 0,a=[c]),(r||e.resolveWith)(s,a))}},l=r?c:function(){try{c()}catch(r){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(r,l.stackTrace),t+1>=i&&(n!==O&&(s=void 0,a=[r]),e.rejectWith(s,a))}};t?l():(w.Deferred.getStackHook&&(l.stackTrace=w.Deferred.getStackHook()),window.setTimeout(l))}}return w.Deferred((function(i){e[0][3].add(o(0,i,d(r)?r:P,i.notifyWith)),e[1][3].add(o(0,i,d(t)?t:P)),e[2][3].add(o(0,i,d(n)?n:O))})).promise()},promise:function(t){return null!=t?w.extend(t,r):r}},i={};return w.each(e,(function(t,o){var s=o[2],a=o[5];r[o[1]]=s.add,a&&s.add((function(){n=a}),e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),s.add(o[3].fire),i[o[0]]=function(){return i[o[0]+"With"](this===i?void 0:this,arguments),this},i[o[0]+"With"]=s.fireWith})),r.promise(i),t&&t.call(i,i),i},when:function(t){var e=arguments.length,n=e,i=Array(n),o=r.call(arguments),s=w.Deferred(),a=function(t){return function(n){i[t]=this,o[t]=arguments.length>1?r.call(arguments):n,--e||s.resolveWith(i,o)}};if(e<=1&&(D(t,s.done(a(n)).resolve,s.reject,!e),"pending"===s.state()||d(o[n]&&o[n].then)))return s.then();for(;n--;)D(o[n],a(n),s.reject);return s.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,e){window.console&&window.console.warn&&t&&B.test(t.name)&&window.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},w.readyException=function(t){window.setTimeout((function(){throw t}))};var z=w.Deferred();function j(){e.removeEventListener("DOMContentLoaded",j),window.removeEventListener("load",j),w.ready()}w.fn.ready=function(t){return z.then(t).catch((function(t){w.readyException(t)})),this},w.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==t&&--w.readyWait>0||z.resolveWith(e,[w]))}}),w.ready.then=z.then,"complete"===e.readyState||"loading"!==e.readyState&&!e.documentElement.doScroll?window.setTimeout(w.ready):(e.addEventListener("DOMContentLoaded",j),window.addEventListener("load",j));var H=function(t,e,n,r,i,o,s){var a=0,c=t.length,l=null==n;if("object"===v(n))for(a in i=!0,n)H(t,e,a,n[a],!0,o,s);else if(void 0!==r&&(i=!0,d(r)||(s=!0),l&&(s?(e.call(t,r),e=null):(l=e,e=function(t,e,n){return l.call(w(t),n)})),e))for(;a<c;a++)e(t[a],n,s?r:r.call(t[a],a,e(t[a],n)));return i?t:l?e.call(t):c?e(t[0],n):o},V=/^-ms-/,U=/-([a-z])/g;function q(t,e){return e.toUpperCase()}function W(t){return t.replace(V,"ms-").replace(U,q)}var $=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};function G(){this.expando=w.expando+G.uid++}G.uid=1,G.prototype={cache:function(t){var e=t[this.expando];return e||(e={},$(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,n){var r,i=this.cache(t);if("string"==typeof e)i[W(e)]=n;else for(r in e)i[W(r)]=e[r];return i},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][W(e)]},access:function(t,e,n){return void 0===e||e&&"string"==typeof e&&void 0===n?this.get(t,e):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,r=t[this.expando];if(void 0!==r){if(void 0!==e){n=(e=Array.isArray(e)?e.map(W):(e=W(e))in r?[e]:e.match(F)||[]).length;for(;n--;)delete r[e[n]]}(void 0===e||w.isEmptyObject(r))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!w.isEmptyObject(e)}};var Z=new G,X=new G,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Q(t,e,n){var r;if(void 0===n&&1===t.nodeType)if(r="data-"+e.replace(K,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(r))){try{n=function(t){return"true"===t||"false"!==t&&("null"===t?null:t===+t+""?+t:Y.test(t)?JSON.parse(t):t)}(n)}catch(t){}X.set(t,e,n)}else n=void 0;return n}w.extend({hasData:function(t){return X.hasData(t)||Z.hasData(t)},data:function(t,e,n){return X.access(t,e,n)},removeData:function(t,e){X.remove(t,e)},_data:function(t,e,n){return Z.access(t,e,n)},_removeData:function(t,e){Z.remove(t,e)}}),w.fn.extend({data:function(t,e){var n,r,i,o=this[0],s=o&&o.attributes;if(void 0===t){if(this.length&&(i=X.get(o),1===o.nodeType&&!Z.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&0===(r=s[n].name).indexOf("data-")&&(r=W(r.slice(5)),Q(o,r,i[r]));Z.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof t?this.each((function(){X.set(this,t)})):H(this,(function(e){var n;if(o&&void 0===e)return void 0!==(n=X.get(o,t))||void 0!==(n=Q(o,t))?n:void 0;this.each((function(){X.set(this,t,e)}))}),null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each((function(){X.remove(this,t)}))}}),w.extend({queue:function(t,e,n){var r;if(t)return e=(e||"fx")+"queue",r=Z.get(t,e),n&&(!r||Array.isArray(n)?r=Z.access(t,e,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(t,e){e=e||"fx";var n=w.queue(t,e),r=n.length,i=n.shift(),o=w._queueHooks(t,e);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,(function(){w.dequeue(t,e)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return Z.get(t,n)||Z.access(t,n,{empty:w.Callbacks("once memory").add((function(){Z.remove(t,[e+"queue",n])}))})}}),w.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?w.queue(this[0],t):void 0===e?this:this.each((function(){var n=w.queue(this,t,e);w._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&w.dequeue(this,t)}))},dequeue:function(t){return this.each((function(){w.dequeue(this,t)}))},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,r=1,i=w.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";s--;)(n=Z.get(o[s],t+"queueHooks"))&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(e)}});var J=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,tt=new RegExp("^(?:([+-])=|)("+J+")([a-z%]*)$","i"),et=["Top","Right","Bottom","Left"],nt=function(t,e){return"none"===(t=e||t).style.display||""===t.style.display&&w.contains(t.ownerDocument,t)&&"none"===w.css(t,"display")},rt=function(t,e,n,r){var i,o,s={};for(o in e)s[o]=t.style[o],t.style[o]=e[o];for(o in i=n.apply(t,r||[]),e)t.style[o]=s[o];return i};var it={};function ot(t){var e,n=t.ownerDocument,r=t.nodeName,i=it[r];return i||(e=n.body.appendChild(n.createElement(r)),i=w.css(e,"display"),e.parentNode.removeChild(e),"none"===i&&(i="block"),it[r]=i,i)}function st(t,e){for(var n,r,i=[],o=0,s=t.length;o<s;o++)(r=t[o]).style&&(n=r.style.display,e?("none"===n&&(i[o]=Z.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&nt(r)&&(i[o]=ot(r))):"none"!==n&&(i[o]="none",Z.set(r,"display",n)));for(o=0;o<s;o++)null!=i[o]&&(t[o].style.display=i[o]);return t}w.fn.extend({show:function(){return st(this,!0)},hide:function(){return st(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each((function(){nt(this)?w(this).show():w(this).hide()}))}});var at=/^(?:checkbox|radio)$/i,ct=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,lt=/^$|^module$|\/(?:java|ecma)script/i,ht={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ut(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&E(t,e)?w.merge([t],n):n}function ft(t,e){for(var n=0,r=t.length;n<r;n++)Z.set(t[n],"globalEval",!e||Z.get(e[n],"globalEval"))}ht.optgroup=ht.option,ht.tbody=ht.tfoot=ht.colgroup=ht.caption=ht.thead,ht.th=ht.td;var dt=/<|&#?\w+;/;function pt(t,e,n,r,i){for(var o,s,a,c,l,h,u=e.createDocumentFragment(),f=[],d=0,p=t.length;d<p;d++)if((o=t[d])||0===o)if("object"===v(o))w.merge(f,o.nodeType?[o]:o);else if(dt.test(o)){for(s=s||u.appendChild(e.createElement("div")),a=(ct.exec(o)||["",""])[1].toLowerCase(),c=ht[a]||ht._default,s.innerHTML=c[1]+w.htmlPrefilter(o)+c[2],h=c[0];h--;)s=s.lastChild;w.merge(f,s.childNodes),(s=u.firstChild).textContent=""}else f.push(e.createTextNode(o));for(u.textContent="",d=0;o=f[d++];)if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),s=ut(u.appendChild(o),"script"),l&&ft(s),n)for(h=0;o=s[h++];)lt.test(o.type||"")&&n.push(o);return u}!function(){var t=e.createDocumentFragment().appendChild(e.createElement("div")),n=e.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),f.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",f.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var gt=e.documentElement,mt=/^key/,vt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,bt=/^([^.]*)(?:\.(.+)|)/;function wt(){return!0}function yt(){return!1}function xt(){try{return e.activeElement}catch(t){}}function _t(t,e,n,r,i,o){var s,a;if("object"==typeof e){for(a in"string"!=typeof n&&(r=r||n,n=void 0),e)_t(t,a,n,r,e[a],o);return t}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=yt;else if(!i)return t;return 1===o&&(s=i,(i=function(t){return w().off(t),s.apply(this,arguments)}).guid=s.guid||(s.guid=w.guid++)),t.each((function(){w.event.add(this,e,i,r,n)}))}w.event={global:{},add:function(t,e,n,r,i){var o,s,a,c,l,h,u,f,d,p,g,m=Z.get(t);if(m)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(gt,i),n.guid||(n.guid=w.guid++),(c=m.events)||(c=m.events={}),(s=m.handle)||(s=m.handle=function(e){return void 0!==w&&w.event.triggered!==e.type?w.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(F)||[""]).length;l--;)d=g=(a=bt.exec(e[l])||[])[1],p=(a[2]||"").split(".").sort(),d&&(u=w.event.special[d]||{},d=(i?u.delegateType:u.bindType)||d,u=w.event.special[d]||{},h=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:p.join(".")},o),(f=c[d])||((f=c[d]=[]).delegateCount=0,u.setup&&!1!==u.setup.call(t,r,p,s)||t.addEventListener&&t.addEventListener(d,s)),u.add&&(u.add.call(t,h),h.handler.guid||(h.handler.guid=n.guid)),i?f.splice(f.delegateCount++,0,h):f.push(h),w.event.global[d]=!0)},remove:function(t,e,n,r,i){var o,s,a,c,l,h,u,f,d,p,g,m=Z.hasData(t)&&Z.get(t);if(m&&(c=m.events)){for(l=(e=(e||"").match(F)||[""]).length;l--;)if(d=g=(a=bt.exec(e[l])||[])[1],p=(a[2]||"").split(".").sort(),d){for(u=w.event.special[d]||{},f=c[d=(r?u.delegateType:u.bindType)||d]||[],a=a[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;o--;)h=f[o],!i&&g!==h.origType||n&&n.guid!==h.guid||a&&!a.test(h.namespace)||r&&r!==h.selector&&("**"!==r||!h.selector)||(f.splice(o,1),h.selector&&f.delegateCount--,u.remove&&u.remove.call(t,h));s&&!f.length&&(u.teardown&&!1!==u.teardown.call(t,p,m.handle)||w.removeEvent(t,d,m.handle),delete c[d])}else for(d in c)w.event.remove(t,d+e[l],n,r,!0);w.isEmptyObject(c)&&Z.remove(t,"handle events")}},dispatch:function(t){var e,n,r,i,o,s,a=w.event.fix(t),c=new Array(arguments.length),l=(Z.get(this,"events")||{})[a.type]||[],h=w.event.special[a.type]||{};for(c[0]=a,e=1;e<arguments.length;e++)c[e]=arguments[e];if(a.delegateTarget=this,!h.preDispatch||!1!==h.preDispatch.call(this,a)){for(s=w.event.handlers.call(this,a,l),e=0;(i=s[e++])&&!a.isPropagationStopped();)for(a.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(o.namespace)||(a.handleObj=o,a.data=o.data,void 0!==(r=((w.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,c))&&!1===(a.result=r)&&(a.preventDefault(),a.stopPropagation()));return h.postDispatch&&h.postDispatch.call(this,a),a.result}},handlers:function(t,e){var n,r,i,o,s,a=[],c=e.delegateCount,l=t.target;if(c&&l.nodeType&&!("click"===t.type&&t.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==t.type||!0!==l.disabled)){for(o=[],s={},n=0;n<c;n++)void 0===s[i=(r=e[n]).selector+" "]&&(s[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),s[i]&&o.push(r);o.length&&a.push({elem:l,handlers:o})}return l=this,c<e.length&&a.push({elem:l,handlers:e.slice(c)}),a},addProp:function(t,e){Object.defineProperty(w.Event.prototype,t,{enumerable:!0,configurable:!0,get:d(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(t){return t[w.expando]?t:new w.Event(t)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xt()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xt()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&E(this,"input"))return this.click(),!1},_default:function(t){return E(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},w.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n)},w.Event=function(t,e){if(!(this instanceof w.Event))return new w.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?wt:yt,this.target=t.target&&3===t.target.nodeType?t.target.parentNode:t.target,this.currentTarget=t.currentTarget,this.relatedTarget=t.relatedTarget):this.type=t,e&&w.extend(this,e),this.timeStamp=t&&t.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:yt,isPropagationStopped:yt,isImmediatePropagationStopped:yt,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=wt,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=wt,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=wt,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(t){var e=t.button;return null==t.which&&mt.test(t.type)?null!=t.charCode?t.charCode:t.keyCode:!t.which&&void 0!==e&&vt.test(t.type)?1&e?1:2&e?3:4&e?2:0:t.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},(function(t,e){w.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,r=this,i=t.relatedTarget,o=t.handleObj;return i&&(i===r||w.contains(r,i))||(t.type=o.origType,n=o.handler.apply(this,arguments),t.type=e),n}}})),w.fn.extend({on:function(t,e,n,r){return _t(this,t,e,n,r)},one:function(t,e,n,r){return _t(this,t,e,n,r,1)},off:function(t,e,n){var r,i;if(t&&t.preventDefault&&t.handleObj)return r=t.handleObj,w(t.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof t){for(i in t)this.off(i,e,t[i]);return this}return!1!==e&&"function"!=typeof e||(n=e,e=void 0),!1===n&&(n=yt),this.each((function(){w.event.remove(this,t,n,e)}))}});var kt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,St=/<script|<style|<link/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,Et=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function At(t,e){return E(t,"table")&&E(11!==e.nodeType?e:e.firstChild,"tr")&&w(t).children("tbody")[0]||t}function Tt(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function Lt(t){return"true/"===(t.type||"").slice(0,5)?t.type=t.type.slice(5):t.removeAttribute("type"),t}function Rt(t,e){var n,r,i,o,s,a,c,l;if(1===e.nodeType){if(Z.hasData(t)&&(o=Z.access(t),s=Z.set(e,o),l=o.events))for(i in delete s.handle,s.events={},l)for(n=0,r=l[i].length;n<r;n++)w.event.add(e,i,l[i][n]);X.hasData(t)&&(a=X.access(t),c=w.extend({},a),X.set(e,c))}}function Mt(t,e){var n=e.nodeName.toLowerCase();"input"===n&&at.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function It(t,e,n,r){e=i.apply([],e);var o,s,a,c,l,h,u=0,p=t.length,g=p-1,v=e[0],b=d(v);if(b||p>1&&"string"==typeof v&&!f.checkClone&&Ct.test(v))return t.each((function(i){var o=t.eq(i);b&&(e[0]=v.call(this,i,o.html())),It(o,e,n,r)}));if(p&&(s=(o=pt(e,t[0].ownerDocument,!1,t,r)).firstChild,1===o.childNodes.length&&(o=s),s||r)){for(c=(a=w.map(ut(o,"script"),Tt)).length;u<p;u++)l=o,u!==g&&(l=w.clone(l,!0,!0),c&&w.merge(a,ut(l,"script"))),n.call(t[u],l,u);if(c)for(h=a[a.length-1].ownerDocument,w.map(a,Lt),u=0;u<c;u++)l=a[u],lt.test(l.type||"")&&!Z.access(l,"globalEval")&&w.contains(h,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(Et,""),h,l))}return t}function Nt(t,e,n){for(var r,i=e?w.filter(e,t):t,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ut(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ft(ut(r,"script")),r.parentNode.removeChild(r));return t}w.extend({htmlPrefilter:function(t){return t.replace(kt,"<$1></$2>")},clone:function(t,e,n){var r,i,o,s,a=t.cloneNode(!0),c=w.contains(t.ownerDocument,t);if(!(f.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||w.isXMLDoc(t)))for(s=ut(a),r=0,i=(o=ut(t)).length;r<i;r++)Mt(o[r],s[r]);if(e)if(n)for(o=o||ut(t),s=s||ut(a),r=0,i=o.length;r<i;r++)Rt(o[r],s[r]);else Rt(t,a);return(s=ut(a,"script")).length>0&&ft(s,!c&&ut(t,"script")),a},cleanData:function(t){for(var e,n,r,i=w.event.special,o=0;void 0!==(n=t[o]);o++)if($(n)){if(e=n[Z.expando]){if(e.events)for(r in e.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,e.handle);n[Z.expando]=void 0}n[X.expando]&&(n[X.expando]=void 0)}}}),w.fn.extend({detach:function(t){return Nt(this,t,!0)},remove:function(t){return Nt(this,t)},text:function(t){return H(this,(function(t){return void 0===t?w.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)}))}),null,t,arguments.length)},append:function(){return It(this,arguments,(function(t){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||At(this,t).appendChild(t)}))},prepend:function(){return It(this,arguments,(function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=At(this,t);e.insertBefore(t,e.firstChild)}}))},before:function(){return It(this,arguments,(function(t){this.parentNode&&this.parentNode.insertBefore(t,this)}))},after:function(){return It(this,arguments,(function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)}))},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(w.cleanData(ut(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map((function(){return w.clone(this,t,e)}))},html:function(t){return H(this,(function(t){var e=this[0]||{},n=0,r=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!St.test(t)&&!ht[(ct.exec(t)||["",""])[1].toLowerCase()]){t=w.htmlPrefilter(t);try{for(;n<r;n++)1===(e=this[n]||{}).nodeType&&(w.cleanData(ut(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)}),null,t,arguments.length)},replaceWith:function(){var t=[];return It(this,arguments,(function(e){var n=this.parentNode;w.inArray(this,t)<0&&(w.cleanData(ut(this)),n&&n.replaceChild(e,this))}),t)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},(function(t,e){w.fn[t]=function(t){for(var n,r=[],i=w(t),s=i.length-1,a=0;a<=s;a++)n=a===s?this:this.clone(!0),w(i[a])[e](n),o.apply(r,n.get());return this.pushStack(r)}}));var Ft=new RegExp("^("+J+")(?!px)[a-z%]+$","i"),Pt=function(t){var e=t.ownerDocument.defaultView;return e&&e.opener||(e=window),e.getComputedStyle(t)},Ot=new RegExp(et.join("|"),"i");function Dt(t,e,n){var r,i,o,s,a=t.style;return(n=n||Pt(t))&&(""!==(s=n.getPropertyValue(e)||n[e])||w.contains(t.ownerDocument,t)||(s=w.style(t,e)),!f.pixelBoxStyles()&&Ft.test(s)&&Ot.test(e)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o)),void 0!==s?s+"":s}function Bt(t,e){return{get:function(){if(!t())return(this.get=e).apply(this,arguments);delete this.get}}}!function(){function t(){if(l){c.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",gt.appendChild(c).appendChild(l);var t=window.getComputedStyle(l);r="1%"!==t.top,a=12===n(t.marginLeft),l.style.right="60%",s=36===n(t.right),i=36===n(t.width),l.style.position="absolute",o=36===l.offsetWidth||"absolute",gt.removeChild(c),l=null}}function n(t){return Math.round(parseFloat(t))}var r,i,o,s,a,c=e.createElement("div"),l=e.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",f.clearCloneStyle="content-box"===l.style.backgroundClip,w.extend(f,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),a},scrollboxSize:function(){return t(),o}}))}();var zt,jt,Ht=/^(none|table(?!-c[ea]).+)/,Vt=/^--/,Ut={position:"absolute",visibility:"hidden",display:"block"},qt={letterSpacing:"0",fontWeight:"400"},Wt=["Webkit","Moz","ms"],$t=e.createElement("div").style;function Gt(t){var e=w.cssProps[t];return e||(e=w.cssProps[t]=function(t){if(t in $t)return t;for(var e=t[0].toUpperCase()+t.slice(1),n=Wt.length;n--;)if((t=Wt[n]+e)in $t)return t}(t)||t),e}function Zt(t,e,n){var r=tt.exec(e);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):e}function Xt(t,e,n,r,i,o){var s="width"===e?1:0,a=0,c=0;if(n===(r?"border":"content"))return 0;for(;s<4;s+=2)"margin"===n&&(c+=w.css(t,n+et[s],!0,i)),r?("content"===n&&(c-=w.css(t,"padding"+et[s],!0,i)),"margin"!==n&&(c-=w.css(t,"border"+et[s]+"Width",!0,i))):(c+=w.css(t,"padding"+et[s],!0,i),"padding"!==n?c+=w.css(t,"border"+et[s]+"Width",!0,i):a+=w.css(t,"border"+et[s]+"Width",!0,i));return!r&&o>=0&&(c+=Math.max(0,Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-o-c-a-.5))),c}function Yt(t,e,n){var r=Pt(t),i=Dt(t,e,r),o="border-box"===w.css(t,"boxSizing",!1,r),s=o;if(Ft.test(i)){if(!n)return i;i="auto"}return s=s&&(f.boxSizingReliable()||i===t.style[e]),("auto"===i||!parseFloat(i)&&"inline"===w.css(t,"display",!1,r))&&(i=t["offset"+e[0].toUpperCase()+e.slice(1)],s=!0),(i=parseFloat(i)||0)+Xt(t,e,n||(o?"border":"content"),s,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=Dt(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(t,e,n,r){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var i,o,s,a=W(e),c=Vt.test(e),l=t.style;if(c||(e=Gt(a)),s=w.cssHooks[e]||w.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(i=s.get(t,!1,r))?i:l[e];"string"===(o=typeof n)&&(i=tt.exec(n))&&i[1]&&(n=function(t,e,n,r){var i,o,s=20,a=r?function(){return r.cur()}:function(){return w.css(t,e,"")},c=a(),l=n&&n[3]||(w.cssNumber[e]?"":"px"),h=(w.cssNumber[e]||"px"!==l&&+c)&&tt.exec(w.css(t,e));if(h&&h[3]!==l){for(c/=2,l=l||h[3],h=+c||1;s--;)w.style(t,e,h+l),(1-o)*(1-(o=a()/c||.5))<=0&&(s=0),h/=o;h*=2,w.style(t,e,h+l),n=n||[]}return n&&(h=+h||+c||0,i=n[1]?h+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=h,r.end=i)),i}(t,e,i),o="number"),null!=n&&n==n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[a]?"":"px")),f.clearCloneStyle||""!==n||0!==e.indexOf("background")||(l[e]="inherit"),s&&"set"in s&&void 0===(n=s.set(t,n,r))||(c?l.setProperty(e,n):l[e]=n))}},css:function(t,e,n,r){var i,o,s,a=W(e);return Vt.test(e)||(e=Gt(a)),(s=w.cssHooks[e]||w.cssHooks[a])&&"get"in s&&(i=s.get(t,!0,n)),void 0===i&&(i=Dt(t,e,r)),"normal"===i&&e in qt&&(i=qt[e]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],(function(t,e){w.cssHooks[e]={get:function(t,n,r){if(n)return!Ht.test(w.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?Yt(t,e,r):rt(t,Ut,(function(){return Yt(t,e,r)}))},set:function(t,n,r){var i,o=Pt(t),s="border-box"===w.css(t,"boxSizing",!1,o),a=r&&Xt(t,e,r,s,o);return s&&f.scrollboxSize()===o.position&&(a-=Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-parseFloat(o[e])-Xt(t,e,"border",!1,o)-.5)),a&&(i=tt.exec(n))&&"px"!==(i[3]||"px")&&(t.style[e]=n,n=w.css(t,e)),Zt(0,n,a)}}})),w.cssHooks.marginLeft=Bt(f.reliableMarginLeft,(function(t,e){if(e)return(parseFloat(Dt(t,"marginLeft"))||t.getBoundingClientRect().left-rt(t,{marginLeft:0},(function(){return t.getBoundingClientRect().left})))+"px"})),w.each({margin:"",padding:"",border:"Width"},(function(t,e){w.cssHooks[t+e]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[t+et[r]+e]=o[r]||o[r-2]||o[0];return i}},"margin"!==t&&(w.cssHooks[t+e].set=Zt)})),w.fn.extend({css:function(t,e){return H(this,(function(t,e,n){var r,i,o={},s=0;if(Array.isArray(e)){for(r=Pt(t),i=e.length;s<i;s++)o[e[s]]=w.css(t,e[s],!1,r);return o}return void 0!==n?w.style(t,e,n):w.css(t,e)}),t,e,arguments.length>1)}}),w.fn.delay=function(t,e){return t=w.fx&&w.fx.speeds[t]||t,e=e||"fx",this.queue(e,(function(e,n){var r=window.setTimeout(e,t);n.stop=function(){window.clearTimeout(r)}}))},zt=e.createElement("input"),jt=e.createElement("select").appendChild(e.createElement("option")),zt.type="checkbox",f.checkOn=""!==zt.value,f.optSelected=jt.selected,(zt=e.createElement("input")).value="t",zt.type="radio",f.radioValue="t"===zt.value;var Kt,Qt=w.expr.attrHandle;w.fn.extend({attr:function(t,e){return H(this,w.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each((function(){w.removeAttr(this,t)}))}}),w.extend({attr:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===t.getAttribute?w.prop(t,e,n):(1===o&&w.isXMLDoc(t)||(i=w.attrHooks[e.toLowerCase()]||(w.expr.match.bool.test(e)?Kt:void 0)),void 0!==n?null===n?void w.removeAttr(t,e):i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:(t.setAttribute(e,n+""),n):i&&"get"in i&&null!==(r=i.get(t,e))?r:null==(r=w.find.attr(t,e))?void 0:r)},attrHooks:{type:{set:function(t,e){if(!f.radioValue&&"radio"===e&&E(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,r=0,i=e&&e.match(F);if(i&&1===t.nodeType)for(;n=i[r++];)t.removeAttribute(n)}}),Kt={set:function(t,e,n){return!1===e?w.removeAttr(t,n):t.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),(function(t,e){var n=Qt[e]||w.find.attr;Qt[e]=function(t,e,r){var i,o,s=e.toLowerCase();return r||(o=Qt[s],Qt[s]=i,i=null!=n(t,e,r)?s:null,Qt[s]=o),i}}));var Jt=/^(?:input|select|textarea|button)$/i,te=/^(?:a|area)$/i;function ee(t){return(t.match(F)||[]).join(" ")}function ne(t){return t.getAttribute&&t.getAttribute("class")||""}function re(t){return Array.isArray(t)?t:"string"==typeof t&&t.match(F)||[]}w.fn.extend({prop:function(t,e){return H(this,w.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each((function(){delete this[w.propFix[t]||t]}))}}),w.extend({prop:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(t)||(e=w.propFix[e]||e,i=w.propHooks[e]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:t[e]=n:i&&"get"in i&&null!==(r=i.get(t,e))?r:t[e]},propHooks:{tabIndex:{get:function(t){var e=w.find.attr(t,"tabindex");return e?parseInt(e,10):Jt.test(t.nodeName)||te.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),f.optSelected||(w.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){w.propFix[this.toLowerCase()]=this})),w.fn.extend({addClass:function(t){var e,n,r,i,o,s,a,c=0;if(d(t))return this.each((function(e){w(this).addClass(t.call(this,e,ne(this)))}));if((e=re(t)).length)for(;n=this[c++];)if(i=ne(n),r=1===n.nodeType&&" "+ee(i)+" "){for(s=0;o=e[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(a=ee(r))&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,r,i,o,s,a,c=0;if(d(t))return this.each((function(e){w(this).removeClass(t.call(this,e,ne(this)))}));if(!arguments.length)return this.attr("class","");if((e=re(t)).length)for(;n=this[c++];)if(i=ne(n),r=1===n.nodeType&&" "+ee(i)+" "){for(s=0;o=e[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(a=ee(r))&&n.setAttribute("class",a)}return this},toggleClass:function(t,e){var n=typeof t,r="string"===n||Array.isArray(t);return"boolean"==typeof e&&r?e?this.addClass(t):this.removeClass(t):d(t)?this.each((function(n){w(this).toggleClass(t.call(this,n,ne(this),e),e)})):this.each((function(){var e,i,o,s;if(r)for(i=0,o=w(this),s=re(t);e=s[i++];)o.hasClass(e)?o.removeClass(e):o.addClass(e);else void 0!==t&&"boolean"!==n||((e=ne(this))&&Z.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":Z.get(this,"__className__")||""))}))},hasClass:function(t){var e,n,r=0;for(e=" "+t+" ";n=this[r++];)if(1===n.nodeType&&(" "+ee(ne(n))+" ").indexOf(e)>-1)return!0;return!1}});var ie=/\r/g;w.fn.extend({val:function(t){var e,n,r,i=this[0];return arguments.length?(r=d(t),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?t.call(this,n,w(this).val()):t)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,(function(t){return null==t?"":t+""}))),(e=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,i,"value")||(this.value=i))}))):i?(e=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(ie,""):null==n?"":n:void 0}}),w.extend({valHooks:{option:{get:function(t){var e=w.find.attr(t,"value");return null!=e?e:ee(w.text(t))}},select:{get:function(t){var e,n,r,i=t.options,o=t.selectedIndex,s="select-one"===t.type,a=s?null:[],c=s?o+1:i.length;for(r=o<0?c:s?o:0;r<c;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!E(n.parentNode,"optgroup"))){if(e=w(n).val(),s)return e;a.push(e)}return a},set:function(t,e){for(var n,r,i=t.options,o=w.makeArray(e),s=i.length;s--;)((r=i[s]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],(function(){w.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=w.inArray(w(t).val(),e)>-1}},f.checkOn||(w.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})})),f.focusin="onfocusin"in window;var oe=/^(?:focusinfocus|focusoutblur)$/,se=function(t){t.stopPropagation()};w.extend(w.event,{trigger:function(t,n,r,i){var o,s,a,c,h,u,f,g,m=[r||e],v=l.call(t,"type")?t.type:t,b=l.call(t,"namespace")?t.namespace.split("."):[];if(s=g=a=r=r||e,3!==r.nodeType&&8!==r.nodeType&&!oe.test(v+w.event.triggered)&&(v.indexOf(".")>-1&&(b=v.split("."),v=b.shift(),b.sort()),h=v.indexOf(":")<0&&"on"+v,(t=t[w.expando]?t:new w.Event(v,"object"==typeof t&&t)).isTrigger=i?2:3,t.namespace=b.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:w.makeArray(n,[t]),f=w.event.special[v]||{},i||!f.trigger||!1!==f.trigger.apply(r,n))){if(!i&&!f.noBubble&&!p(r)){for(c=f.delegateType||v,oe.test(c+v)||(s=s.parentNode);s;s=s.parentNode)m.push(s),a=s;a===(r.ownerDocument||e)&&m.push(a.defaultView||a.parentWindow||window)}for(o=0;(s=m[o++])&&!t.isPropagationStopped();)g=s,t.type=o>1?c:f.bindType||v,(u=(Z.get(s,"events")||{})[t.type]&&Z.get(s,"handle"))&&u.apply(s,n),(u=h&&s[h])&&u.apply&&$(s)&&(t.result=u.apply(s,n),!1===t.result&&t.preventDefault());return t.type=v,i||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(m.pop(),n)||!$(r)||h&&d(r[v])&&!p(r)&&((a=r[h])&&(r[h]=null),w.event.triggered=v,t.isPropagationStopped()&&g.addEventListener(v,se),r[v](),t.isPropagationStopped()&&g.removeEventListener(v,se),w.event.triggered=void 0,a&&(r[h]=a)),t.result}},simulate:function(t,e,n){var r=w.extend(new w.Event,n,{type:t,isSimulated:!0});w.event.trigger(r,null,e)}}),w.fn.extend({trigger:function(t,e){return this.each((function(){w.event.trigger(t,e,this)}))},triggerHandler:function(t,e){var n=this[0];if(n)return w.event.trigger(t,e,n,!0)}}),f.focusin||w.each({focus:"focusin",blur:"focusout"},(function(t,e){var n=function(t){w.event.simulate(e,t.target,w.event.fix(t))};w.event.special[e]={setup:function(){var r=this.ownerDocument||this,i=Z.access(r,e);i||r.addEventListener(t,n,!0),Z.access(r,e,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Z.access(r,e)-1;i?Z.access(r,e,i):(r.removeEventListener(t,n,!0),Z.remove(r,e))}}}));var ae,ce=/\[\]$/,le=/\r?\n/g,he=/^(?:submit|button|image|reset|file)$/i,ue=/^(?:input|select|textarea|keygen)/i;function fe(t,e,n,r){var i;if(Array.isArray(e))w.each(e,(function(e,i){n||ce.test(t)?r(t,i):fe(t+"["+("object"==typeof i&&null!=i?e:"")+"]",i,n,r)}));else if(n||"object"!==v(e))r(t,e);else for(i in e)fe(t+"["+i+"]",e[i],n,r)}w.param=function(t,e){var n,r=[],i=function(t,e){var n=d(e)?e():e;r[r.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(t)||t.jquery&&!w.isPlainObject(t))w.each(t,(function(){i(this.name,this.value)}));else for(n in t)fe(n,t[n],e,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var t=w.prop(this,"elements");return t?w.makeArray(t):this})).filter((function(){var t=this.type;return this.name&&!w(this).is(":disabled")&&ue.test(this.nodeName)&&!he.test(t)&&(this.checked||!at.test(t))})).map((function(t,e){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,(function(t){return{name:e.name,value:t.replace(le,"\r\n")}})):{name:e.name,value:n.replace(le,"\r\n")}})).get()}}),w.fn.extend({wrapAll:function(t){var e;return this[0]&&(d(t)&&(t=t.call(this[0])),e=w(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map((function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t})).append(this)),this},wrapInner:function(t){return d(t)?this.each((function(e){w(this).wrapInner(t.call(this,e))})):this.each((function(){var e=w(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)}))},wrap:function(t){var e=d(t);return this.each((function(n){w(this).wrapAll(e?t.call(this,n):t)}))},unwrap:function(t){return this.parent(t).not("body").each((function(){w(this).replaceWith(this.childNodes)})),this}}),w.expr.pseudos.hidden=function(t){return!w.expr.pseudos.visible(t)},w.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},f.createHTMLDocument=((ae=e.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===ae.childNodes.length),w.parseHTML=function(t,n,r){return"string"!=typeof t?[]:("boolean"==typeof n&&(r=n,n=!1),n||(f.createHTMLDocument?((i=(n=e.implementation.createHTMLDocument("")).createElement("base")).href=e.location.href,n.head.appendChild(i)):n=e),s=!r&&[],(o=A.exec(t))?[n.createElement(o[1])]:(o=pt([t],n,s),s&&s.length&&w(s).remove(),w.merge([],o.childNodes)));var i,o,s},w.offset={setOffset:function(t,e,n){var r,i,o,s,a,c,l=w.css(t,"position"),h=w(t),u={};"static"===l&&(t.style.position="relative"),a=h.offset(),o=w.css(t,"top"),c=w.css(t,"left"),("absolute"===l||"fixed"===l)&&(o+c).indexOf("auto")>-1?(s=(r=h.position()).top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(c)||0),d(e)&&(e=e.call(t,n,w.extend({},a))),null!=e.top&&(u.top=e.top-a.top+s),null!=e.left&&(u.left=e.left-a.left+i),"using"in e?e.using.call(t,u):h.css(u)}},w.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each((function(e){w.offset.setOffset(this,t,e)}));var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var t,e,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))e=r.getBoundingClientRect();else{for(e=this.offset(),n=r.ownerDocument,t=r.offsetParent||n.documentElement;t&&(t===n.body||t===n.documentElement)&&"static"===w.css(t,"position");)t=t.parentNode;t&&t!==r&&1===t.nodeType&&((i=w(t).offset()).top+=w.css(t,"borderTopWidth",!0),i.left+=w.css(t,"borderLeftWidth",!0))}return{top:e.top-i.top-w.css(r,"marginTop",!0),left:e.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map((function(){for(var t=this.offsetParent;t&&"static"===w.css(t,"position");)t=t.offsetParent;return t||gt}))}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},(function(t,e){var n="pageYOffset"===e;w.fn[t]=function(r){return H(this,(function(t,r,i){var o;if(p(t)?o=t:9===t.nodeType&&(o=t.defaultView),void 0===i)return o?o[e]:t[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):t[r]=i}),t,r,arguments.length)}})),w.each(["top","left"],(function(t,e){w.cssHooks[e]=Bt(f.pixelPosition,(function(t,n){if(n)return n=Dt(t,e),Ft.test(n)?w(t).position()[e]+"px":n}))})),w.each({Height:"height",Width:"width"},(function(t,e){w.each({padding:"inner"+t,content:e,"":"outer"+t},(function(n,r){w.fn[r]=function(i,o){var s=arguments.length&&(n||"boolean"!=typeof i),a=n||(!0===i||!0===o?"margin":"border");return H(this,(function(e,n,i){var o;return p(e)?0===r.indexOf("outer")?e["inner"+t]:e.document.documentElement["client"+t]:9===e.nodeType?(o=e.documentElement,Math.max(e.body["scroll"+t],o["scroll"+t],e.body["offset"+t],o["offset"+t],o["client"+t])):void 0===i?w.css(e,n,a):w.style(e,n,i,a)}),e,s?i:void 0,s)}}))})),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(t,e){w.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}})),w.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),w.fn.extend({bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,r){return this.on(e,t,n,r)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)}}),w.proxy=function(t,e){var n,i,o;if("string"==typeof e&&(n=t[e],e=t,t=n),d(t))return i=r.call(arguments,2),(o=function(){return t.apply(e||this,i.concat(r.call(arguments)))}).guid=t.guid=t.guid||w.guid++,o},w.holdReady=function(t){t?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=E,w.isFunction=d,w.isWindow=p,w.camelCase=W,w.type=v,w.now=Date.now,w.isNumeric=function(t){var e=w.type(t);return("number"===e||"string"===e)&&!isNaN(t-parseFloat(t))};const de=w;function pe(t){return function(t,e){const n=document.createElement(t);e&&(e.class&&n.classList.add(e.class),e.id&&(n.id=e.id),e.style&&function(t,e){for(let n of Object.keys(e))t.style[n]=e[n]}(n,e.style));return n}("div",t)}function ge(t){const e=getComputedStyle(t);"none"!==e.display&&(t._initialDisplay=e.display),t.style.display="none"}function me(t){if(t.type.startsWith("touch")){const e=t.touches[0];return{x:e.pageX,y:e.pageY}}return{x:t.pageX,y:t.pageY}}function ve(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}function be(t,e){const{clientX:n,clientY:r}=t;return((t,{clientX:e,clientY:n})=>{const{left:r,top:i,width:o,height:s}=t.getBoundingClientRect(),a=e-r,c=n-i;return{x:a,y:c,xNormalized:a/o,yNormalized:c/s,width:o,height:s}})(e,{clientX:n,clientY:r})}function we(t,e){return function(t,e){e=e||"currentColor";let n=ye[t];n||(console.error(`No icon named: ${t}`),n=ye.question);const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttributeNS(null,"viewBox","0 0 "+n[0]+" "+n[1]);const i=document.createElementNS("http://www.w3.org/2000/svg","path");return i.setAttributeNS(null,"fill",e),i.setAttributeNS(null,"d",n[4]),r.appendChild(i),r}(t,e)}const ye={check:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"],cog:[512,512,[],"f013","M444.788 291.1l42.616 24.599c4.867 2.809 7.126 8.618 5.459 13.985-11.07 35.642-29.97 67.842-54.689 94.586a12.016 12.016 0 0 1-14.832 2.254l-42.584-24.595a191.577 191.577 0 0 1-60.759 35.13v49.182a12.01 12.01 0 0 1-9.377 11.718c-34.956 7.85-72.499 8.256-109.219.007-5.49-1.233-9.403-6.096-9.403-11.723v-49.184a191.555 191.555 0 0 1-60.759-35.13l-42.584 24.595a12.016 12.016 0 0 1-14.832-2.254c-24.718-26.744-43.619-58.944-54.689-94.586-1.667-5.366.592-11.175 5.459-13.985L67.212 291.1a193.48 193.48 0 0 1 0-70.199l-42.616-24.599c-4.867-2.809-7.126-8.618-5.459-13.985 11.07-35.642 29.97-67.842 54.689-94.586a12.016 12.016 0 0 1 14.832-2.254l42.584 24.595a191.577 191.577 0 0 1 60.759-35.13V25.759a12.01 12.01 0 0 1 9.377-11.718c34.956-7.85 72.499-8.256 109.219-.007 5.49 1.233 9.403 6.096 9.403 11.723v49.184a191.555 191.555 0 0 1 60.759 35.13l42.584-24.595a12.016 12.016 0 0 1 14.832 2.254c24.718 26.744 43.619 58.944 54.689 94.586 1.667 5.366-.592 11.175-5.459 13.985L444.788 220.9a193.485 193.485 0 0 1 0 70.2zM336 256c0-44.112-35.888-80-80-80s-80 35.888-80 80 35.888 80 80 80 80-35.888 80-80z"],exclamation:[192,512,[],"f12a","M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"],"exclamation-circle":[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],"exclamation-triangle":[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],minus:[448,512,[],"f068","M424 318.2c13.3 0 24-10.7 24-24v-76.4c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h400z"],"minus-circle":[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"],"minus-square":[448,512,[],"f146","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z"],plus:[448,512,[],"f067","M448 294.2v-76.4c0-13.3-10.7-24-24-24H286.2V56c0-13.3-10.7-24-24-24h-76.4c-13.3 0-24 10.7-24 24v137.8H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h137.8V456c0 13.3 10.7 24 24 24h76.4c13.3 0 24-10.7 24-24V318.2H424c13.3 0 24-10.7 24-24z"],"plus-circle":[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],"plus-square":[448,512,[],"f0fe","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],question:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"],save:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"],search:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"],share:[512,512,[],"f064","M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"],spinner:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"],square:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],"square-full":[512,512,[],"f45c","M512 512H0V0h512v512z"],times:[384,512,[],"f00d","M323.1 441l53.9-53.9c9.4-9.4 9.4-24.5 0-33.9L279.8 256l97.2-97.2c9.4-9.4 9.4-24.5 0-33.9L323.1 71c-9.4-9.4-24.5-9.4-33.9 0L192 168.2 94.8 71c-9.4-9.4-24.5-9.4-33.9 0L7 124.9c-9.4 9.4-9.4 24.5 0 33.9l97.2 97.2L7 353.2c-9.4 9.4-9.4 24.5 0 33.9L60.9 441c9.4 9.4 24.5 9.4 33.9 0l97.2-97.2 97.2 97.2c9.3 9.3 24.5 9.3 33.9 0z"],"times-circle":[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"],wrench:[512,512,[],"f0ad","M481.156 200c9.3 0 15.12 10.155 10.325 18.124C466.295 259.992 420.419 288 368 288c-79.222 0-143.501-63.974-143.997-143.079C223.505 65.469 288.548-.001 368.002 0c52.362.001 98.196 27.949 123.4 69.743C496.24 77.766 490.523 88 481.154 88H376l-40 56 40 56h105.156zm-171.649 93.003L109.255 493.255c-24.994 24.993-65.515 24.994-90.51 0-24.993-24.994-24.993-65.516 0-90.51L218.991 202.5c16.16 41.197 49.303 74.335 90.516 90.503zM104 432c0-13.255-10.745-24-24-24s-24 10.745-24 24 10.745 24 24 24 24-10.745 24-24z"]};function xe(t,e){var n=document.createElement("div");t.appendChild(n),n.appendChild(we("times")),n.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),e()}))}function _e(t){return"string"==typeof t||t instanceof String}function ke(t){var e=String(t).split(/[.,]/);return e[0].split("").reverse().reduce((function(t,e,n){return n%3==0?t+","+e:t+e})).split("").reverse().join("")+(e[1]?"."+e[1]:"")}const Se=function(t){return t.split(/\n|\r\n|\r/g)};function Ce(t,e){var n,r,i=[],o=t.length,s=0,a=!1;if(o>0)for(i[s]=t.charAt(0),n=1;n<o;n++)'"'===(r=t.charAt(n))?a=!a:a||r!==e?i[s]+=r:i[++s]="";return i}function Ee(t){return t.length>0?t.charAt(0).toUpperCase()+t.slice(1):t}function Ae(t){return t.includes("googleapis")&&!t.includes("urlshortener")||Te(t)||Le(t)}function Te(t){return t.startsWith("gs://")||t.startsWith("https://www.googleapis.com/storage")||t.startsWith("https://storage.cloud.google.com")||t.startsWith("https://storage.googleapis.com")}function Le(t){return t.indexOf("drive.google.com")>=0||t.indexOf("www.googleapis.com/drive")>0}function Re(t){let{bucket:e,object:n}=function(t){let e,n;if(t.startsWith("gs://")){const r=t.indexOf("/",5);if(r>=0){e=t.substring(5,r);const i=t.indexOf("?");n=i<0?t.substring(r+1):t.substring(r+1,i)}}else if(t.startsWith("https://storage.googleapis.com")||t.startsWith("https://storage.cloud.google.com")){const r=t.indexOf("/v1/b/",8);if(r>0){const i=t.indexOf("/o/",r);if(i>0){const o=t.indexOf("?",i);e=t.substring(r+6,i),n=o>0?t.substring(i+3,o):t.substring(i+3)}}else{const r=t.indexOf("/",8),i=t.indexOf("/",r+1),o=t.indexOf("?",i);i>0&&(e=t.substring(r+1,i),n=o<0?t.substring(i+1):t.substring(i+1,o))}}else if(t.startsWith("https://www.googleapis.com/storage/v1/b")){const r=t.indexOf("/v1/b/",8),i=t.indexOf("/o/",r);if(i>0){const o=t.indexOf("?",i);e=t.substring(r+6,i),n=o>0?t.substring(i+3,o):t.substring(i+3)}}if(e&&n)return{bucket:e,object:n};throw Error(`Unrecognized Google Storage URI: ${t}`)}(t);n=function(t){let e="";return t.split("").forEach((function(t){Ne.has(t)?e+=Ne.get(t):e+=t})),e}(n);const r=t.indexOf("?");return`https://storage.googleapis.com/storage/v1/b/${e}/o/${n}${r>0?t.substring(r)+"&alt=media":"?alt=media"}`}function Me(t){var e=Ie(t);return e?"https://www.googleapis.com/drive/v3/files/"+e+"?alt=media&supportsTeamDrives=true":t}function Ie(t){if(t.includes("/open?id=")){const e=t.indexOf("/open?id=")+9,n=t.indexOf("&");if(e>0&&n>e)return t.substring(e,n);if(e>0)return t.substring(e)}else{if(t.includes("/file/d/")){const e=t.indexOf("/file/d/")+8,n=t.lastIndexOf("/");return t.substring(e,n)}if(t.startsWith("https://www.googleapis.com/drive")){let e=t.indexOf("/files/");const n=t.indexOf("?");if(e>0)return e+=7,n>0?t.substring(e,n):t.substring(e)}}throw Error("Unknown Google Drive url format: "+t)}const Ne=new Map;Ne.set("!","%21"),Ne.set("#","%23"),Ne.set("$","%24"),Ne.set("%","%25"),Ne.set("&","%26"),Ne.set("'","%27"),Ne.set("(","%28"),Ne.set(")","%29"),Ne.set("*","%2A"),Ne.set("+","%2B"),Ne.set(",","%2C"),Ne.set("/","%2F"),Ne.set(":","%3A"),Ne.set(";","%3B"),Ne.set("=","%3D"),Ne.set("?","%3F"),Ne.set("@","%40"),Ne.set("[","%5B"),Ne.set("]","%5D"),Ne.set(" ","%20");async function Fe(t){if(Pe())return void console.warn("oAuth has already been initialized");gapi.apiKey=t.apiKey;const e=Object.assign({},t);return e.scope||(e.scope="profile"),t.client_id||(t.client_id=t.clientId),await async function(t){return new Promise((function(e,n){gapi.load(t,{callback:e,onerror:n})}))}("auth2"),new Promise((function(t,n){gapi.auth2.init(e).then(t,n)}))}function Pe(){return"undefined"!=typeof gapi&&gapi.auth2&&gapi.auth2.getAuthInstance()}let Oe=!1;async function De(t){if("undefined"==typeof gapi)throw Error("Google authentication requires the 'gapi' library");if(!gapi.auth2)throw Error("Google 'auth2' has not been initialized");if(Oe)return new Promise((function(e,n){let r;r=setInterval((()=>{try{!1===Oe&&(e(De(t)),clearInterval(r))}catch(t){clearInterval(r),n(t)}}),100)}));Oe=!0;try{let e,n=gapi.auth2.getAuthInstance().currentUser.get();if(n.isSignedIn()){n.hasGrantedScopes(t)||await n.grant({scope:t});const{access_token:r,expires_at:i}=n.getAuthResponse();if(Date.now()<i-3e5)e={access_token:r,expires_at:i};else{const{access_token:t,expires_at:r}=n.reloadAuthResponse();e={access_token:t,expires_at:r}}}else{n=await async function(t){const e=new gapi.auth2.SigninOptionsBuilder;return e.setPrompt("select_account"),e.setScope(t),gapi.auth2.getAuthInstance().signIn(e)}(t);const{access_token:r,expires_at:i}=n.getAuthResponse();e={access_token:r,expires_at:i}}return e}finally{Oe=!1}}function Be(){return gapi.apiKey}function ze(t){for(var e=je,n=e.parser.loose.exec(t),r={},i=14;i--;)r[e.key[i]]=n[i]||"";return r[e.q.name]={},r[e.key[12]].replace(e.q.parser,(function(t,n,i){n&&(r[e.q.name][n]=i)})),r}"object"==typeof process&&"undefined"==typeof window&&(global.atob=function(t){return Buffer.from(t,"base64").toString("binary")});const je={strictMode:!1,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};function He(t){if(t instanceof File)return t.name;if(_e(t)){let e=t.lastIndexOf("/"),n=e<0?t:t.substr(e+1);return e=n.indexOf("?"),e>0&&(n=n.substr(0,e)),n}throw Error("Expected File or string, got "+typeof t)}function Ve(t){return t instanceof File}function Ue(t,e){const n=document.createElement("a");n.setAttribute("href",e),n.setAttribute("download",t),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}
26
- /*! pako 2.0.4 https://github.com/nodeca/pako @license (MIT AND Zlib) */function qe(t){let e=t.length;for(;--e>=0;)t[e]=0}const We=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),$e=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Ge=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Ze=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Xe=new Array(576);qe(Xe);const Ye=new Array(60);qe(Ye);const Ke=new Array(512);qe(Ke);const Qe=new Array(256);qe(Qe);const Je=new Array(29);qe(Je);const tn=new Array(30);function en(t,e,n,r,i){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=t&&t.length}let nn,rn,on;function sn(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}qe(tn);const an=t=>t<256?Ke[t]:Ke[256+(t>>>7)],cn=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},ln=(t,e,n)=>{t.bi_valid>16-n?(t.bi_buf|=e<<t.bi_valid&65535,cn(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=n-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=n)},hn=(t,e,n)=>{ln(t,n[2*e],n[2*e+1])},un=(t,e)=>{let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1},fn=(t,e,n)=>{const r=new Array(16);let i,o,s=0;for(i=1;i<=15;i++)r[i]=s=s+n[i-1]<<1;for(o=0;o<=e;o++){let e=t[2*o+1];0!==e&&(t[2*o]=un(r[e]++,e))}},dn=t=>{let e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0},pn=t=>{t.bi_valid>8?cn(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},gn=(t,e,n,r)=>{const i=2*e,o=2*n;return t[i]<t[o]||t[i]===t[o]&&r[e]<=r[n]},mn=(t,e,n)=>{const r=t.heap[n];let i=n<<1;for(;i<=t.heap_len&&(i<t.heap_len&&gn(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!gn(e,r,t.heap[i],t.depth));)t.heap[n]=t.heap[i],n=i,i<<=1;t.heap[n]=r},vn=(t,e,n)=>{let r,i,o,s,a=0;if(0!==t.last_lit)do{r=t.pending_buf[t.d_buf+2*a]<<8|t.pending_buf[t.d_buf+2*a+1],i=t.pending_buf[t.l_buf+a],a++,0===r?hn(t,i,e):(o=Qe[i],hn(t,o+256+1,e),s=We[o],0!==s&&(i-=Je[o],ln(t,i,s)),r--,o=an(r),hn(t,o,n),s=$e[o],0!==s&&(r-=tn[o],ln(t,r,s)))}while(a<t.last_lit);hn(t,256,e)},bn=(t,e)=>{const n=e.dyn_tree,r=e.stat_desc.static_tree,i=e.stat_desc.has_stree,o=e.stat_desc.elems;let s,a,c,l=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<o;s++)0!==n[2*s]?(t.heap[++t.heap_len]=l=s,t.depth[s]=0):n[2*s+1]=0;for(;t.heap_len<2;)c=t.heap[++t.heap_len]=l<2?++l:0,n[2*c]=1,t.depth[c]=0,t.opt_len--,i&&(t.static_len-=r[2*c+1]);for(e.max_code=l,s=t.heap_len>>1;s>=1;s--)mn(t,n,s);c=o;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],mn(t,n,1),a=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=a,n[2*c]=n[2*s]+n[2*a],t.depth[c]=(t.depth[s]>=t.depth[a]?t.depth[s]:t.depth[a])+1,n[2*s+1]=n[2*a+1]=c,t.heap[1]=c++,mn(t,n,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const n=e.dyn_tree,r=e.max_code,i=e.stat_desc.static_tree,o=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,c=e.stat_desc.max_length;let l,h,u,f,d,p,g=0;for(f=0;f<=15;f++)t.bl_count[f]=0;for(n[2*t.heap[t.heap_max]+1]=0,l=t.heap_max+1;l<573;l++)h=t.heap[l],f=n[2*n[2*h+1]+1]+1,f>c&&(f=c,g++),n[2*h+1]=f,h>r||(t.bl_count[f]++,d=0,h>=a&&(d=s[h-a]),p=n[2*h],t.opt_len+=p*(f+d),o&&(t.static_len+=p*(i[2*h+1]+d)));if(0!==g){do{for(f=c-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[c]--,g-=2}while(g>0);for(f=c;0!==f;f--)for(h=t.bl_count[f];0!==h;)u=t.heap[--l],u>r||(n[2*u+1]!==f&&(t.opt_len+=(f-n[2*u+1])*n[2*u],n[2*u+1]=f),h--)}})(t,e),fn(n,l,t.bl_count)},wn=(t,e,n)=>{let r,i,o=-1,s=e[1],a=0,c=7,l=4;for(0===s&&(c=138,l=3),e[2*(n+1)+1]=65535,r=0;r<=n;r++)i=s,s=e[2*(r+1)+1],++a<c&&i===s||(a<l?t.bl_tree[2*i]+=a:0!==i?(i!==o&&t.bl_tree[2*i]++,t.bl_tree[32]++):a<=10?t.bl_tree[34]++:t.bl_tree[36]++,a=0,o=i,0===s?(c=138,l=3):i===s?(c=6,l=3):(c=7,l=4))},yn=(t,e,n)=>{let r,i,o=-1,s=e[1],a=0,c=7,l=4;for(0===s&&(c=138,l=3),r=0;r<=n;r++)if(i=s,s=e[2*(r+1)+1],!(++a<c&&i===s)){if(a<l)do{hn(t,i,t.bl_tree)}while(0!=--a);else 0!==i?(i!==o&&(hn(t,i,t.bl_tree),a--),hn(t,16,t.bl_tree),ln(t,a-3,2)):a<=10?(hn(t,17,t.bl_tree),ln(t,a-3,3)):(hn(t,18,t.bl_tree),ln(t,a-11,7));a=0,o=i,0===s?(c=138,l=3):i===s?(c=6,l=3):(c=7,l=4)}};let xn=!1;const _n=(t,e,n,r)=>{ln(t,0+(r?1:0),3),((t,e,n,r)=>{pn(t),r&&(cn(t,n),cn(t,~n)),t.pending_buf.set(t.window.subarray(e,e+n),t.pending),t.pending+=n})(t,e,n,!0)};var kn={_tr_init:t=>{xn||((()=>{let t,e,n,r,i;const o=new Array(16);for(n=0,r=0;r<28;r++)for(Je[r]=n,t=0;t<1<<We[r];t++)Qe[n++]=r;for(Qe[n-1]=r,i=0,r=0;r<16;r++)for(tn[r]=i,t=0;t<1<<$e[r];t++)Ke[i++]=r;for(i>>=7;r<30;r++)for(tn[r]=i<<7,t=0;t<1<<$e[r]-7;t++)Ke[256+i++]=r;for(e=0;e<=15;e++)o[e]=0;for(t=0;t<=143;)Xe[2*t+1]=8,t++,o[8]++;for(;t<=255;)Xe[2*t+1]=9,t++,o[9]++;for(;t<=279;)Xe[2*t+1]=7,t++,o[7]++;for(;t<=287;)Xe[2*t+1]=8,t++,o[8]++;for(fn(Xe,287,o),t=0;t<30;t++)Ye[2*t+1]=5,Ye[2*t]=un(t,5);nn=new en(Xe,We,257,286,15),rn=new en(Ye,$e,0,30,15),on=new en(new Array(0),Ge,0,19,7)})(),xn=!0),t.l_desc=new sn(t.dyn_ltree,nn),t.d_desc=new sn(t.dyn_dtree,rn),t.bl_desc=new sn(t.bl_tree,on),t.bi_buf=0,t.bi_valid=0,dn(t)},_tr_stored_block:_n,_tr_flush_block:(t,e,n,r)=>{let i,o,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,n=4093624447;for(e=0;e<=31;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),bn(t,t.l_desc),bn(t,t.d_desc),s=(t=>{let e;for(wn(t,t.dyn_ltree,t.l_desc.max_code),wn(t,t.dyn_dtree,t.d_desc.max_code),bn(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*Ze[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),i=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=i&&(i=o)):i=o=n+5,n+4<=i&&-1!==e?_n(t,e,n,r):4===t.strategy||o===i?(ln(t,2+(r?1:0),3),vn(t,Xe,Ye)):(ln(t,4+(r?1:0),3),((t,e,n,r)=>{let i;for(ln(t,e-257,5),ln(t,n-1,5),ln(t,r-4,4),i=0;i<r;i++)ln(t,t.bl_tree[2*Ze[i]+1],3);yn(t,t.dyn_ltree,e-1),yn(t,t.dyn_dtree,n-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),vn(t,t.dyn_ltree,t.dyn_dtree)),dn(t),r&&pn(t)},_tr_tally:(t,e,n)=>(t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(Qe[n]+256+1)]++,t.dyn_dtree[2*an(e)]++),t.last_lit===t.lit_bufsize-1),_tr_align:t=>{ln(t,2,3),hn(t,256,Xe),(t=>{16===t.bi_valid?(cn(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var Sn=(t,e,n,r)=>{let i=65535&t|0,o=t>>>16&65535|0,s=0;for(;0!==n;){s=n>2e3?2e3:n,n-=s;do{i=i+e[r++]|0,o=o+i|0}while(--s);i%=65521,o%=65521}return i|o<<16|0};const Cn=new Uint32Array((()=>{let t,e=[];for(var n=0;n<256;n++){t=n;for(var r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e})());var En=(t,e,n,r)=>{const i=Cn,o=r+n;t^=-1;for(let n=r;n<o;n++)t=t>>>8^i[255&(t^e[n])];return-1^t},An={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Tn={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Ln,_tr_stored_block:Rn,_tr_flush_block:Mn,_tr_tally:In,_tr_align:Nn}=kn,{Z_NO_FLUSH:Fn,Z_PARTIAL_FLUSH:Pn,Z_FULL_FLUSH:On,Z_FINISH:Dn,Z_BLOCK:Bn,Z_OK:zn,Z_STREAM_END:jn,Z_STREAM_ERROR:Hn,Z_DATA_ERROR:Vn,Z_BUF_ERROR:Un,Z_DEFAULT_COMPRESSION:qn,Z_FILTERED:Wn,Z_HUFFMAN_ONLY:$n,Z_RLE:Gn,Z_FIXED:Zn,Z_DEFAULT_STRATEGY:Xn,Z_UNKNOWN:Yn,Z_DEFLATED:Kn}=Tn,Qn=(t,e)=>(t.msg=An[e],e),Jn=t=>(t<<1)-(t>4?9:0),tr=t=>{let e=t.length;for(;--e>=0;)t[e]=0};let er=(t,e,n)=>(e<<t.hash_shift^n)&t.hash_mask;const nr=t=>{const e=t.state;let n=e.pending;n>t.avail_out&&(n=t.avail_out),0!==n&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+n),t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,0===e.pending&&(e.pending_out=0))},rr=(t,e)=>{Mn(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,nr(t.strm)},ir=(t,e)=>{t.pending_buf[t.pending++]=e},or=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},sr=(t,e,n,r)=>{let i=t.avail_in;return i>r&&(i=r),0===i?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),n),1===t.state.wrap?t.adler=Sn(t.adler,e,i,n):2===t.state.wrap&&(t.adler=En(t.adler,e,i,n)),t.next_in+=i,t.total_in+=i,i)},ar=(t,e)=>{let n,r,i=t.max_chain_length,o=t.strstart,s=t.prev_length,a=t.nice_match;const c=t.strstart>t.w_size-262?t.strstart-(t.w_size-262):0,l=t.window,h=t.w_mask,u=t.prev,f=t.strstart+258;let d=l[o+s-1],p=l[o+s];t.prev_length>=t.good_match&&(i>>=2),a>t.lookahead&&(a=t.lookahead);do{if(n=e,l[n+s]===p&&l[n+s-1]===d&&l[n]===l[o]&&l[++n]===l[o+1]){o+=2,n++;do{}while(l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&o<f);if(r=258-(f-o),o=f-258,r>s){if(t.match_start=e,s=r,r>=a)break;d=l[o+s-1],p=l[o+s]}}}while((e=u[e&h])>c&&0!=--i);return s<=t.lookahead?s:t.lookahead},cr=t=>{const e=t.w_size;let n,r,i,o,s;do{if(o=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-262)){t.window.set(t.window.subarray(e,e+e),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,r=t.hash_size,n=r;do{i=t.head[--n],t.head[n]=i>=e?i-e:0}while(--r);r=e,n=r;do{i=t.prev[--n],t.prev[n]=i>=e?i-e:0}while(--r);o+=e}if(0===t.strm.avail_in)break;if(r=sr(t.strm,t.window,t.strstart+t.lookahead,o),t.lookahead+=r,t.lookahead+t.insert>=3)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=er(t,t.ins_h,t.window[s+1]);t.insert&&(t.ins_h=er(t,t.ins_h,t.window[s+3-1]),t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<262&&0!==t.strm.avail_in)},lr=(t,e)=>{let n,r;for(;;){if(t.lookahead<262){if(cr(t),t.lookahead<262&&e===Fn)return 1;if(0===t.lookahead)break}if(n=0,t.lookahead>=3&&(t.ins_h=er(t,t.ins_h,t.window[t.strstart+3-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==n&&t.strstart-n<=t.w_size-262&&(t.match_length=ar(t,n)),t.match_length>=3)if(r=In(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=er(t,t.ins_h,t.window[t.strstart+3-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=er(t,t.ins_h,t.window[t.strstart+1]);else r=In(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(r&&(rr(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===Dn?(rr(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(rr(t,!1),0===t.strm.avail_out)?1:2},hr=(t,e)=>{let n,r,i;for(;;){if(t.lookahead<262){if(cr(t),t.lookahead<262&&e===Fn)return 1;if(0===t.lookahead)break}if(n=0,t.lookahead>=3&&(t.ins_h=er(t,t.ins_h,t.window[t.strstart+3-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==n&&t.prev_length<t.max_lazy_match&&t.strstart-n<=t.w_size-262&&(t.match_length=ar(t,n),t.match_length<=5&&(t.strategy===Wn||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,r=In(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=er(t,t.ins_h,t.window[t.strstart+3-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,r&&(rr(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(r=In(t,0,t.window[t.strstart-1]),r&&rr(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(r=In(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===Dn?(rr(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(rr(t,!1),0===t.strm.avail_out)?1:2};function ur(t,e,n,r,i){this.good_length=t,this.max_lazy=e,this.nice_length=n,this.max_chain=r,this.func=i}const fr=[new ur(0,0,0,0,((t,e)=>{let n=65535;for(n>t.pending_buf_size-5&&(n=t.pending_buf_size-5);;){if(t.lookahead<=1){if(cr(t),0===t.lookahead&&e===Fn)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;const r=t.block_start+n;if((0===t.strstart||t.strstart>=r)&&(t.lookahead=t.strstart-r,t.strstart=r,rr(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-262&&(rr(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Dn?(rr(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(rr(t,!1),t.strm.avail_out),1)})),new ur(4,4,8,4,lr),new ur(4,5,16,8,lr),new ur(4,6,32,32,lr),new ur(4,4,16,16,hr),new ur(8,16,32,32,hr),new ur(8,16,128,128,hr),new ur(8,32,128,256,hr),new ur(32,128,258,1024,hr),new ur(32,258,258,4096,hr)];function dr(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Kn,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),tr(this.dyn_ltree),tr(this.dyn_dtree),tr(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),tr(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),tr(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const pr=t=>{if(!t||!t.state)return Qn(t,Hn);t.total_in=t.total_out=0,t.data_type=Yn;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:113,t.adler=2===e.wrap?0:1,e.last_flush=Fn,Ln(e),zn},gr=t=>{const e=pr(t);var n;return e===zn&&((n=t.state).window_size=2*n.w_size,tr(n.head),n.max_lazy_match=fr[n.level].max_lazy,n.good_match=fr[n.level].good_length,n.nice_match=fr[n.level].nice_length,n.max_chain_length=fr[n.level].max_chain,n.strstart=0,n.block_start=0,n.lookahead=0,n.insert=0,n.match_length=n.prev_length=2,n.match_available=0,n.ins_h=0),e},mr=(t,e,n,r,i,o)=>{if(!t)return Hn;let s=1;if(e===qn&&(e=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),i<1||i>9||n!==Kn||r<8||r>15||e<0||e>9||o<0||o>Zn)return Qn(t,Hn);8===r&&(r=9);const a=new dr;return t.state=a,a.strm=t,a.wrap=s,a.gzhead=null,a.w_bits=r,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=i+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<i+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=3*a.lit_bufsize,a.level=e,a.strategy=o,a.method=n,gr(t)};var vr={deflateInit:(t,e)=>mr(t,e,Kn,15,8,Xn),deflateInit2:mr,deflateReset:gr,deflateResetKeep:pr,deflateSetHeader:(t,e)=>t&&t.state?2!==t.state.wrap?Hn:(t.state.gzhead=e,zn):Hn,deflate:(t,e)=>{let n,r;if(!t||!t.state||e>Bn||e<0)return t?Qn(t,Hn):Hn;const i=t.state;if(!t.output||!t.input&&0!==t.avail_in||666===i.status&&e!==Dn)return Qn(t,0===t.avail_out?Un:Hn);i.strm=t;const o=i.last_flush;if(i.last_flush=e,42===i.status)if(2===i.wrap)t.adler=0,ir(i,31),ir(i,139),ir(i,8),i.gzhead?(ir(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),ir(i,255&i.gzhead.time),ir(i,i.gzhead.time>>8&255),ir(i,i.gzhead.time>>16&255),ir(i,i.gzhead.time>>24&255),ir(i,9===i.level?2:i.strategy>=$n||i.level<2?4:0),ir(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(ir(i,255&i.gzhead.extra.length),ir(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=En(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(ir(i,0),ir(i,0),ir(i,0),ir(i,0),ir(i,0),ir(i,9===i.level?2:i.strategy>=$n||i.level<2?4:0),ir(i,3),i.status=113);else{let e=Kn+(i.w_bits-8<<4)<<8,n=-1;n=i.strategy>=$n||i.level<2?0:i.level<6?1:6===i.level?2:3,e|=n<<6,0!==i.strstart&&(e|=32),e+=31-e%31,i.status=113,or(i,e),0!==i.strstart&&(or(i,t.adler>>>16),or(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=En(t.adler,i.pending_buf,i.pending-n,n)),nr(t),n=i.pending,i.pending!==i.pending_buf_size));)ir(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=En(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=En(t.adler,i.pending_buf,i.pending-n,n)),nr(t),n=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,ir(i,r)}while(0!==r);i.gzhead.hcrc&&i.pending>n&&(t.adler=En(t.adler,i.pending_buf,i.pending-n,n)),0===r&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=En(t.adler,i.pending_buf,i.pending-n,n)),nr(t),n=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,ir(i,r)}while(0!==r);i.gzhead.hcrc&&i.pending>n&&(t.adler=En(t.adler,i.pending_buf,i.pending-n,n)),0===r&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&nr(t),i.pending+2<=i.pending_buf_size&&(ir(i,255&t.adler),ir(i,t.adler>>8&255),t.adler=0,i.status=113)):i.status=113),0!==i.pending){if(nr(t),0===t.avail_out)return i.last_flush=-1,zn}else if(0===t.avail_in&&Jn(e)<=Jn(o)&&e!==Dn)return Qn(t,Un);if(666===i.status&&0!==t.avail_in)return Qn(t,Un);if(0!==t.avail_in||0!==i.lookahead||e!==Fn&&666!==i.status){let n=i.strategy===$n?((t,e)=>{let n;for(;;){if(0===t.lookahead&&(cr(t),0===t.lookahead)){if(e===Fn)return 1;break}if(t.match_length=0,n=In(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(rr(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Dn?(rr(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(rr(t,!1),0===t.strm.avail_out)?1:2})(i,e):i.strategy===Gn?((t,e)=>{let n,r,i,o;const s=t.window;for(;;){if(t.lookahead<=258){if(cr(t),t.lookahead<=258&&e===Fn)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=t.strstart-1,r=s[i],r===s[++i]&&r===s[++i]&&r===s[++i])){o=t.strstart+258;do{}while(r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&i<o);t.match_length=258-(o-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(n=In(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=In(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(rr(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Dn?(rr(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(rr(t,!1),0===t.strm.avail_out)?1:2})(i,e):fr[i.level].func(i,e);if(3!==n&&4!==n||(i.status=666),1===n||3===n)return 0===t.avail_out&&(i.last_flush=-1),zn;if(2===n&&(e===Pn?Nn(i):e!==Bn&&(Rn(i,0,0,!1),e===On&&(tr(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),nr(t),0===t.avail_out))return i.last_flush=-1,zn}return e!==Dn?zn:i.wrap<=0?jn:(2===i.wrap?(ir(i,255&t.adler),ir(i,t.adler>>8&255),ir(i,t.adler>>16&255),ir(i,t.adler>>24&255),ir(i,255&t.total_in),ir(i,t.total_in>>8&255),ir(i,t.total_in>>16&255),ir(i,t.total_in>>24&255)):(or(i,t.adler>>>16),or(i,65535&t.adler)),nr(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?zn:jn)},deflateEnd:t=>{if(!t||!t.state)return Hn;const e=t.state.status;return 42!==e&&69!==e&&73!==e&&91!==e&&103!==e&&113!==e&&666!==e?Qn(t,Hn):(t.state=null,113===e?Qn(t,Vn):zn)},deflateSetDictionary:(t,e)=>{let n=e.length;if(!t||!t.state)return Hn;const r=t.state,i=r.wrap;if(2===i||1===i&&42!==r.status||r.lookahead)return Hn;if(1===i&&(t.adler=Sn(t.adler,e,n,0)),r.wrap=0,n>=r.w_size){0===i&&(tr(r.head),r.strstart=0,r.block_start=0,r.insert=0);let t=new Uint8Array(r.w_size);t.set(e.subarray(n-r.w_size,n),0),e=t,n=r.w_size}const o=t.avail_in,s=t.next_in,a=t.input;for(t.avail_in=n,t.next_in=0,t.input=e,cr(r);r.lookahead>=3;){let t=r.strstart,e=r.lookahead-2;do{r.ins_h=er(r,r.ins_h,r.window[t+3-1]),r.prev[t&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=t,t++}while(--e);r.strstart=t,r.lookahead=2,cr(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,t.next_in=s,t.input=a,t.avail_in=o,r.wrap=i,zn},deflateInfo:"pako deflate (from Nodeca project)"};const br=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var wr=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const n=e.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(const e in n)br(n,e)&&(t[e]=n[e])}}return t},yr=t=>{let e=0;for(let n=0,r=t.length;n<r;n++)e+=t[n].length;const n=new Uint8Array(e);for(let e=0,r=0,i=t.length;e<i;e++){let i=t[e];n.set(i,r),r+=i.length}return n};let xr=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){xr=!1}const _r=new Uint8Array(256);for(let t=0;t<256;t++)_r[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;_r[254]=_r[254]=1;var kr=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,n,r,i,o,s=t.length,a=0;for(i=0;i<s;i++)n=t.charCodeAt(i),55296==(64512&n)&&i+1<s&&(r=t.charCodeAt(i+1),56320==(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),i++)),a+=n<128?1:n<2048?2:n<65536?3:4;for(e=new Uint8Array(a),o=0,i=0;o<a;i++)n=t.charCodeAt(i),55296==(64512&n)&&i+1<s&&(r=t.charCodeAt(i+1),56320==(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),i++)),n<128?e[o++]=n:n<2048?(e[o++]=192|n>>>6,e[o++]=128|63&n):n<65536?(e[o++]=224|n>>>12,e[o++]=128|n>>>6&63,e[o++]=128|63&n):(e[o++]=240|n>>>18,e[o++]=128|n>>>12&63,e[o++]=128|n>>>6&63,e[o++]=128|63&n);return e},Sr=(t,e)=>{const n=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let r,i;const o=new Array(2*n);for(i=0,r=0;r<n;){let e=t[r++];if(e<128){o[i++]=e;continue}let s=_r[e];if(s>4)o[i++]=65533,r+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&r<n;)e=e<<6|63&t[r++],s--;s>1?o[i++]=65533:e<65536?o[i++]=e:(e-=65536,o[i++]=55296|e>>10&1023,o[i++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&xr)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let n="";for(let r=0;r<e;r++)n+=String.fromCharCode(t[r]);return n})(o,i)},Cr=(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let n=e-1;for(;n>=0&&128==(192&t[n]);)n--;return n<0||0===n?e:n+_r[t[n]]>e?n:e};var Er=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Ar=Object.prototype.toString,{Z_NO_FLUSH:Tr,Z_SYNC_FLUSH:Lr,Z_FULL_FLUSH:Rr,Z_FINISH:Mr,Z_OK:Ir,Z_STREAM_END:Nr,Z_DEFAULT_COMPRESSION:Fr,Z_DEFAULT_STRATEGY:Pr,Z_DEFLATED:Or}=Tn;function Dr(t){this.options=wr({level:Fr,method:Or,chunkSize:16384,windowBits:15,memLevel:8,strategy:Pr},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Er,this.strm.avail_out=0;let n=vr.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(n!==Ir)throw new Error(An[n]);if(e.header&&vr.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?kr(e.dictionary):"[object ArrayBuffer]"===Ar.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,n=vr.deflateSetDictionary(this.strm,t),n!==Ir)throw new Error(An[n]);this._dict_set=!0}}function Br(t,e){const n=new Dr(e);if(n.push(t,!0),n.err)throw n.msg||An[n.err];return n.result}Dr.prototype.push=function(t,e){const n=this.strm,r=this.options.chunkSize;let i,o;if(this.ended)return!1;for(o=e===~~e?e:!0===e?Mr:Tr,"string"==typeof t?n.input=kr(t):"[object ArrayBuffer]"===Ar.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;;)if(0===n.avail_out&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(o===Lr||o===Rr)&&n.avail_out<=6)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else{if(i=vr.deflate(n,o),i===Nr)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=vr.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Ir;if(0!==n.avail_out){if(o>0&&n.next_out>0)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else if(0===n.avail_in)break}else this.onData(n.output)}return!0},Dr.prototype.onData=function(t){this.chunks.push(t)},Dr.prototype.onEnd=function(t){t===Ir&&(this.result=yr(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var zr={Deflate:Dr,deflate:Br,deflateRaw:function(t,e){return(e=e||{}).raw=!0,Br(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,Br(t,e)},constants:Tn};var jr=function(t,e){let n,r,i,o,s,a,c,l,h,u,f,d,p,g,m,v,b,w,y,x,_,k,S,C;const E=t.state;n=t.next_in,S=t.input,r=n+(t.avail_in-5),i=t.next_out,C=t.output,o=i-(e-t.avail_out),s=i+(t.avail_out-257),a=E.dmax,c=E.wsize,l=E.whave,h=E.wnext,u=E.window,f=E.hold,d=E.bits,p=E.lencode,g=E.distcode,m=(1<<E.lenbits)-1,v=(1<<E.distbits)-1;t:do{d<15&&(f+=S[n++]<<d,d+=8,f+=S[n++]<<d,d+=8),b=p[f&m];e:for(;;){if(w=b>>>24,f>>>=w,d-=w,w=b>>>16&255,0===w)C[i++]=65535&b;else{if(!(16&w)){if(0==(64&w)){b=p[(65535&b)+(f&(1<<w)-1)];continue e}if(32&w){E.mode=12;break t}t.msg="invalid literal/length code",E.mode=30;break t}y=65535&b,w&=15,w&&(d<w&&(f+=S[n++]<<d,d+=8),y+=f&(1<<w)-1,f>>>=w,d-=w),d<15&&(f+=S[n++]<<d,d+=8,f+=S[n++]<<d,d+=8),b=g[f&v];n:for(;;){if(w=b>>>24,f>>>=w,d-=w,w=b>>>16&255,!(16&w)){if(0==(64&w)){b=g[(65535&b)+(f&(1<<w)-1)];continue n}t.msg="invalid distance code",E.mode=30;break t}if(x=65535&b,w&=15,d<w&&(f+=S[n++]<<d,d+=8,d<w&&(f+=S[n++]<<d,d+=8)),x+=f&(1<<w)-1,x>a){t.msg="invalid distance too far back",E.mode=30;break t}if(f>>>=w,d-=w,w=i-o,x>w){if(w=x-w,w>l&&E.sane){t.msg="invalid distance too far back",E.mode=30;break t}if(_=0,k=u,0===h){if(_+=c-w,w<y){y-=w;do{C[i++]=u[_++]}while(--w);_=i-x,k=C}}else if(h<w){if(_+=c+h-w,w-=h,w<y){y-=w;do{C[i++]=u[_++]}while(--w);if(_=0,h<y){w=h,y-=w;do{C[i++]=u[_++]}while(--w);_=i-x,k=C}}}else if(_+=h-w,w<y){y-=w;do{C[i++]=u[_++]}while(--w);_=i-x,k=C}for(;y>2;)C[i++]=k[_++],C[i++]=k[_++],C[i++]=k[_++],y-=3;y&&(C[i++]=k[_++],y>1&&(C[i++]=k[_++]))}else{_=i-x;do{C[i++]=C[_++],C[i++]=C[_++],C[i++]=C[_++],y-=3}while(y>2);y&&(C[i++]=C[_++],y>1&&(C[i++]=C[_++]))}break}}break}}while(n<r&&i<s);y=d>>3,n-=y,d-=y<<3,f&=(1<<d)-1,t.next_in=n,t.next_out=i,t.avail_in=n<r?r-n+5:5-(n-r),t.avail_out=i<s?s-i+257:257-(i-s),E.hold=f,E.bits=d};const Hr=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Vr=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Ur=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),qr=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var Wr=(t,e,n,r,i,o,s,a)=>{const c=a.bits;let l,h,u,f,d,p,g=0,m=0,v=0,b=0,w=0,y=0,x=0,_=0,k=0,S=0,C=null,E=0;const A=new Uint16Array(16),T=new Uint16Array(16);let L,R,M,I=null,N=0;for(g=0;g<=15;g++)A[g]=0;for(m=0;m<r;m++)A[e[n+m]]++;for(w=c,b=15;b>=1&&0===A[b];b--);if(w>b&&(w=b),0===b)return i[o++]=20971520,i[o++]=20971520,a.bits=1,0;for(v=1;v<b&&0===A[v];v++);for(w<v&&(w=v),_=1,g=1;g<=15;g++)if(_<<=1,_-=A[g],_<0)return-1;if(_>0&&(0===t||1!==b))return-1;for(T[1]=0,g=1;g<15;g++)T[g+1]=T[g]+A[g];for(m=0;m<r;m++)0!==e[n+m]&&(s[T[e[n+m]]++]=m);if(0===t?(C=I=s,p=19):1===t?(C=Hr,E-=257,I=Vr,N-=257,p=256):(C=Ur,I=qr,p=-1),S=0,m=0,g=v,d=o,y=w,x=0,u=-1,k=1<<w,f=k-1,1===t&&k>852||2===t&&k>592)return 1;for(;;){L=g-x,s[m]<p?(R=0,M=s[m]):s[m]>p?(R=I[N+s[m]],M=C[E+s[m]]):(R=96,M=0),l=1<<g-x,h=1<<y,v=h;do{h-=l,i[d+(S>>x)+h]=L<<24|R<<16|M|0}while(0!==h);for(l=1<<g-1;S&l;)l>>=1;if(0!==l?(S&=l-1,S+=l):S=0,m++,0==--A[g]){if(g===b)break;g=e[n+s[m]]}if(g>w&&(S&f)!==u){for(0===x&&(x=w),d+=v,y=g-x,_=1<<y;y+x<b&&(_-=A[y+x],!(_<=0));)y++,_<<=1;if(k+=1<<y,1===t&&k>852||2===t&&k>592)return 1;u=S&f,i[u]=w<<24|y<<16|d-o|0}}return 0!==S&&(i[d+S]=g-x<<24|64<<16|0),a.bits=w,0};const{Z_FINISH:$r,Z_BLOCK:Gr,Z_TREES:Zr,Z_OK:Xr,Z_STREAM_END:Yr,Z_NEED_DICT:Kr,Z_STREAM_ERROR:Qr,Z_DATA_ERROR:Jr,Z_MEM_ERROR:ti,Z_BUF_ERROR:ei,Z_DEFLATED:ni}=Tn,ri=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ii(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const oi=t=>{if(!t||!t.state)return Qr;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,Xr},si=t=>{if(!t||!t.state)return Qr;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,oi(t)},ai=(t,e)=>{let n;if(!t||!t.state)return Qr;const r=t.state;return e<0?(n=0,e=-e):(n=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?Qr:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,si(t))},ci=(t,e)=>{if(!t)return Qr;const n=new ii;t.state=n,n.window=null;const r=ai(t,e);return r!==Xr&&(t.state=null),r};let li,hi,ui=!0;const fi=t=>{if(ui){li=new Int32Array(512),hi=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(Wr(1,t.lens,0,288,li,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;Wr(2,t.lens,0,32,hi,0,t.work,{bits:5}),ui=!1}t.lencode=li,t.lenbits=9,t.distcode=hi,t.distbits=5},di=(t,e,n,r)=>{let i;const o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),r>=o.wsize?(o.window.set(e.subarray(n-o.wsize,n),0),o.wnext=0,o.whave=o.wsize):(i=o.wsize-o.wnext,i>r&&(i=r),o.window.set(e.subarray(n-r,n-r+i),o.wnext),(r-=i)?(o.window.set(e.subarray(n-r,n),0),o.wnext=r,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=i))),0};var pi={inflateReset:si,inflateReset2:ai,inflateResetKeep:oi,inflateInit:t=>ci(t,15),inflateInit2:ci,inflate:(t,e)=>{let n,r,i,o,s,a,c,l,h,u,f,d,p,g,m,v,b,w,y,x,_,k,S=0;const C=new Uint8Array(4);let E,A;const T=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return Qr;n=t.state,12===n.mode&&(n.mode=13),s=t.next_out,i=t.output,c=t.avail_out,o=t.next_in,r=t.input,a=t.avail_in,l=n.hold,h=n.bits,u=a,f=c,k=Xr;t:for(;;)switch(n.mode){case 1:if(0===n.wrap){n.mode=13;break}for(;h<16;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}if(2&n.wrap&&35615===l){n.check=0,C[0]=255&l,C[1]=l>>>8&255,n.check=En(n.check,C,2,0),l=0,h=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&l)<<8)+(l>>8))%31){t.msg="incorrect header check",n.mode=30;break}if((15&l)!==ni){t.msg="unknown compression method",n.mode=30;break}if(l>>>=4,h-=4,_=8+(15&l),0===n.wbits)n.wbits=_;else if(_>n.wbits){t.msg="invalid window size",n.mode=30;break}n.dmax=1<<n.wbits,t.adler=n.check=1,n.mode=512&l?10:12,l=0,h=0;break;case 2:for(;h<16;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}if(n.flags=l,(255&n.flags)!==ni){t.msg="unknown compression method",n.mode=30;break}if(57344&n.flags){t.msg="unknown header flags set",n.mode=30;break}n.head&&(n.head.text=l>>8&1),512&n.flags&&(C[0]=255&l,C[1]=l>>>8&255,n.check=En(n.check,C,2,0)),l=0,h=0,n.mode=3;case 3:for(;h<32;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}n.head&&(n.head.time=l),512&n.flags&&(C[0]=255&l,C[1]=l>>>8&255,C[2]=l>>>16&255,C[3]=l>>>24&255,n.check=En(n.check,C,4,0)),l=0,h=0,n.mode=4;case 4:for(;h<16;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}n.head&&(n.head.xflags=255&l,n.head.os=l>>8),512&n.flags&&(C[0]=255&l,C[1]=l>>>8&255,n.check=En(n.check,C,2,0)),l=0,h=0,n.mode=5;case 5:if(1024&n.flags){for(;h<16;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}n.length=l,n.head&&(n.head.extra_len=l),512&n.flags&&(C[0]=255&l,C[1]=l>>>8&255,n.check=En(n.check,C,2,0)),l=0,h=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&(d=n.length,d>a&&(d=a),d&&(n.head&&(_=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(o,o+d),_)),512&n.flags&&(n.check=En(n.check,r,d,o)),a-=d,o+=d,n.length-=d),n.length))break t;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===a)break t;d=0;do{_=r[o+d++],n.head&&_&&n.length<65536&&(n.head.name+=String.fromCharCode(_))}while(_&&d<a);if(512&n.flags&&(n.check=En(n.check,r,d,o)),a-=d,o+=d,_)break t}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===a)break t;d=0;do{_=r[o+d++],n.head&&_&&n.length<65536&&(n.head.comment+=String.fromCharCode(_))}while(_&&d<a);if(512&n.flags&&(n.check=En(n.check,r,d,o)),a-=d,o+=d,_)break t}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;h<16;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}if(l!==(65535&n.check)){t.msg="header crc mismatch",n.mode=30;break}l=0,h=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=12;break;case 10:for(;h<32;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}t.adler=n.check=ri(l),l=0,h=0,n.mode=11;case 11:if(0===n.havedict)return t.next_out=s,t.avail_out=c,t.next_in=o,t.avail_in=a,n.hold=l,n.bits=h,Kr;t.adler=n.check=1,n.mode=12;case 12:if(e===Gr||e===Zr)break t;case 13:if(n.last){l>>>=7&h,h-=7&h,n.mode=27;break}for(;h<3;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}switch(n.last=1&l,l>>>=1,h-=1,3&l){case 0:n.mode=14;break;case 1:if(fi(n),n.mode=20,e===Zr){l>>>=2,h-=2;break t}break;case 2:n.mode=17;break;case 3:t.msg="invalid block type",n.mode=30}l>>>=2,h-=2;break;case 14:for(l>>>=7&h,h-=7&h;h<32;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}if((65535&l)!=(l>>>16^65535)){t.msg="invalid stored block lengths",n.mode=30;break}if(n.length=65535&l,l=0,h=0,n.mode=15,e===Zr)break t;case 15:n.mode=16;case 16:if(d=n.length,d){if(d>a&&(d=a),d>c&&(d=c),0===d)break t;i.set(r.subarray(o,o+d),s),a-=d,o+=d,c-=d,s+=d,n.length-=d;break}n.mode=12;break;case 17:for(;h<14;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}if(n.nlen=257+(31&l),l>>>=5,h-=5,n.ndist=1+(31&l),l>>>=5,h-=5,n.ncode=4+(15&l),l>>>=4,h-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=30;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;h<3;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}n.lens[T[n.have++]]=7&l,l>>>=3,h-=3}for(;n.have<19;)n.lens[T[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,E={bits:n.lenbits},k=Wr(0,n.lens,0,19,n.lencode,0,n.work,E),n.lenbits=E.bits,k){t.msg="invalid code lengths set",n.mode=30;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;S=n.lencode[l&(1<<n.lenbits)-1],m=S>>>24,v=S>>>16&255,b=65535&S,!(m<=h);){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}if(b<16)l>>>=m,h-=m,n.lens[n.have++]=b;else{if(16===b){for(A=m+2;h<A;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}if(l>>>=m,h-=m,0===n.have){t.msg="invalid bit length repeat",n.mode=30;break}_=n.lens[n.have-1],d=3+(3&l),l>>>=2,h-=2}else if(17===b){for(A=m+3;h<A;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}l>>>=m,h-=m,_=0,d=3+(7&l),l>>>=3,h-=3}else{for(A=m+7;h<A;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}l>>>=m,h-=m,_=0,d=11+(127&l),l>>>=7,h-=7}if(n.have+d>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=30;break}for(;d--;)n.lens[n.have++]=_}}if(30===n.mode)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=30;break}if(n.lenbits=9,E={bits:n.lenbits},k=Wr(1,n.lens,0,n.nlen,n.lencode,0,n.work,E),n.lenbits=E.bits,k){t.msg="invalid literal/lengths set",n.mode=30;break}if(n.distbits=6,n.distcode=n.distdyn,E={bits:n.distbits},k=Wr(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,E),n.distbits=E.bits,k){t.msg="invalid distances set",n.mode=30;break}if(n.mode=20,e===Zr)break t;case 20:n.mode=21;case 21:if(a>=6&&c>=258){t.next_out=s,t.avail_out=c,t.next_in=o,t.avail_in=a,n.hold=l,n.bits=h,jr(t,f),s=t.next_out,i=t.output,c=t.avail_out,o=t.next_in,r=t.input,a=t.avail_in,l=n.hold,h=n.bits,12===n.mode&&(n.back=-1);break}for(n.back=0;S=n.lencode[l&(1<<n.lenbits)-1],m=S>>>24,v=S>>>16&255,b=65535&S,!(m<=h);){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}if(v&&0==(240&v)){for(w=m,y=v,x=b;S=n.lencode[x+((l&(1<<w+y)-1)>>w)],m=S>>>24,v=S>>>16&255,b=65535&S,!(w+m<=h);){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}l>>>=w,h-=w,n.back+=w}if(l>>>=m,h-=m,n.back+=m,n.length=b,0===v){n.mode=26;break}if(32&v){n.back=-1,n.mode=12;break}if(64&v){t.msg="invalid literal/length code",n.mode=30;break}n.extra=15&v,n.mode=22;case 22:if(n.extra){for(A=n.extra;h<A;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,h-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;S=n.distcode[l&(1<<n.distbits)-1],m=S>>>24,v=S>>>16&255,b=65535&S,!(m<=h);){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}if(0==(240&v)){for(w=m,y=v,x=b;S=n.distcode[x+((l&(1<<w+y)-1)>>w)],m=S>>>24,v=S>>>16&255,b=65535&S,!(w+m<=h);){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}l>>>=w,h-=w,n.back+=w}if(l>>>=m,h-=m,n.back+=m,64&v){t.msg="invalid distance code",n.mode=30;break}n.offset=b,n.extra=15&v,n.mode=24;case 24:if(n.extra){for(A=n.extra;h<A;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,h-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=30;break}n.mode=25;case 25:if(0===c)break t;if(d=f-c,n.offset>d){if(d=n.offset-d,d>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=30;break}d>n.wnext?(d-=n.wnext,p=n.wsize-d):p=n.wnext-d,d>n.length&&(d=n.length),g=n.window}else g=i,p=s-n.offset,d=n.length;d>c&&(d=c),c-=d,n.length-=d;do{i[s++]=g[p++]}while(--d);0===n.length&&(n.mode=21);break;case 26:if(0===c)break t;i[s++]=n.length,c--,n.mode=21;break;case 27:if(n.wrap){for(;h<32;){if(0===a)break t;a--,l|=r[o++]<<h,h+=8}if(f-=c,t.total_out+=f,n.total+=f,f&&(t.adler=n.check=n.flags?En(n.check,i,f,s-f):Sn(n.check,i,f,s-f)),f=c,(n.flags?l:ri(l))!==n.check){t.msg="incorrect data check",n.mode=30;break}l=0,h=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;h<32;){if(0===a)break t;a--,l+=r[o++]<<h,h+=8}if(l!==(4294967295&n.total)){t.msg="incorrect length check",n.mode=30;break}l=0,h=0}n.mode=29;case 29:k=Yr;break t;case 30:k=Jr;break t;case 31:return ti;case 32:default:return Qr}return t.next_out=s,t.avail_out=c,t.next_in=o,t.avail_in=a,n.hold=l,n.bits=h,(n.wsize||f!==t.avail_out&&n.mode<30&&(n.mode<27||e!==$r))&&di(t,t.output,t.next_out,f-t.avail_out),u-=t.avail_in,f-=t.avail_out,t.total_in+=u,t.total_out+=f,n.total+=f,n.wrap&&f&&(t.adler=n.check=n.flags?En(n.check,i,f,t.next_out-f):Sn(n.check,i,f,t.next_out-f)),t.data_type=n.bits+(n.last?64:0)+(12===n.mode?128:0)+(20===n.mode||15===n.mode?256:0),(0===u&&0===f||e===$r)&&k===Xr&&(k=ei),k},inflateEnd:t=>{if(!t||!t.state)return Qr;let e=t.state;return e.window&&(e.window=null),t.state=null,Xr},inflateGetHeader:(t,e)=>{if(!t||!t.state)return Qr;const n=t.state;return 0==(2&n.wrap)?Qr:(n.head=e,e.done=!1,Xr)},inflateSetDictionary:(t,e)=>{const n=e.length;let r,i,o;return t&&t.state?(r=t.state,0!==r.wrap&&11!==r.mode?Qr:11===r.mode&&(i=1,i=Sn(i,e,n,0),i!==r.check)?Jr:(o=di(t,e,n,n),o?(r.mode=31,ti):(r.havedict=1,Xr))):Qr},inflateInfo:"pako inflate (from Nodeca project)"};var gi=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const mi=Object.prototype.toString,{Z_NO_FLUSH:vi,Z_FINISH:bi,Z_OK:wi,Z_STREAM_END:yi,Z_NEED_DICT:xi,Z_STREAM_ERROR:_i,Z_DATA_ERROR:ki,Z_MEM_ERROR:Si}=Tn;function Ci(t){this.options=wr({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Er,this.strm.avail_out=0;let n=pi.inflateInit2(this.strm,e.windowBits);if(n!==wi)throw new Error(An[n]);if(this.header=new gi,pi.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=kr(e.dictionary):"[object ArrayBuffer]"===mi.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(n=pi.inflateSetDictionary(this.strm,e.dictionary),n!==wi)))throw new Error(An[n])}function Ei(t,e){const n=new Ci(e);if(n.push(t),n.err)throw n.msg||An[n.err];return n.result}Ci.prototype.push=function(t,e){const n=this.strm,r=this.options.chunkSize,i=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(s=e===~~e?e:!0===e?bi:vi,"[object ArrayBuffer]"===mi.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;;){for(0===n.avail_out&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),o=pi.inflate(n,s),o===xi&&i&&(o=pi.inflateSetDictionary(n,i),o===wi?o=pi.inflate(n,s):o===ki&&(o=xi));n.avail_in>0&&o===yi&&n.state.wrap>0&&0!==t[n.next_in];)pi.inflateReset(n),o=pi.inflate(n,s);switch(o){case _i:case ki:case xi:case Si:return this.onEnd(o),this.ended=!0,!1}if(a=n.avail_out,n.next_out&&(0===n.avail_out||o===yi))if("string"===this.options.to){let t=Cr(n.output,n.next_out),e=n.next_out-t,i=Sr(n.output,t);n.next_out=e,n.avail_out=r-e,e&&n.output.set(n.output.subarray(t,t+e),0),this.onData(i)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(o!==wi||0!==a){if(o===yi)return o=pi.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===n.avail_in)break}}return!0},Ci.prototype.onData=function(t){this.chunks.push(t)},Ci.prototype.onEnd=function(t){t===wi&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=yr(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Ai={Inflate:Ci,inflate:Ei,inflateRaw:function(t,e){return(e=e||{}).raw=!0,Ei(t,e)},ungzip:Ei,constants:Tn};const{Deflate:Ti,deflate:Li,deflateRaw:Ri,gzip:Mi}=zr,{Inflate:Ii,inflate:Ni,inflateRaw:Fi,ungzip:Pi}=Ai;var Oi={Deflate:Ti,deflate:Li,deflateRaw:Ri,gzip:Mi,Inflate:Ii,inflate:Ni,inflateRaw:Fi,ungzip:Pi,constants:Tn};Oi.deflateRaw,Oi.deflate,Oi.inflateRaw;const Di=Oi.inflate;Oi.gzip;function Bi(t,e){const n=[];let r=0,i=0;for(e=e||t.byteLength-18;r<e;)try{const e=ArrayBuffer.isView(t)?t:new Uint8Array(t,r,18),o=e[11]<<8|e[10],s=(e[3],e[12],e[13],e[15],e[14],1+(e[17]<<8|e[16])),a=12+o+r,c=t.byteLength-a,l=s-o-19;if(c<l||l<=0)break;const h=new Uint8Array(t,a,l),u=Oi.inflateRaw(h);r+=l-1+26,i+=u.byteLength,n.push(u)}catch(t){console.error(t);break}if(1===n.length)return n[0];{const t=new Uint8Array(i);let e=0;for(let r=0;r<n.length;++r){var o=new Uint8Array(n[r]);Hi(o,0,t,e,o.length),e+=o.length}return t}}function zi(t){const e=ArrayBuffer.isView(t)?t:new Uint8Array(t);return 1+(e[17]<<8|e[16])}const ji="function"==typeof new Uint8Array(1).subarray;function Hi(t,e,n,r,i){if(0!==i){if(!t)throw"Undef src";if(!n)throw"Undef dest";0===e&&i===t.length?Vi(t,n,r):ji?Vi(t.subarray(e,e+i),n,r):1===t.BYTES_PER_ELEMENT&&i>100?Vi(new Uint8Array(t.buffer,t.byteOffset+e,i),n,r):function(t,e,n,r,i){for(let o=0;o<i;++o)n[r+o]=t[e+o]}(t,e,n,r,i)}}function Vi(t,e,n){e.set(t,n)}function Ui(t,e){const n=t.split(","),r=n[0].split(":")[1];let i=n[1];if(r.indexOf("base64")>=0){i=atob(i);const t=new Uint8Array(i.length);for(let e=0;e<i.length;e++)t[e]=i.charCodeAt(e);let n;return n=e||r.indexOf("gzip")>0?Oi.ungzip(t):t,n}return decodeURIComponent(i)}const qi=function(t,e){if(0!==t.length){var n=Math.floor(t.length*((100-e)/100));return 0===n?(t.sort((function(t,e){return e-t})),t[n]):function(t,e){var n,r=new Gi;for(n=0;n<t.length;n++){var i=t[n];(r.content.length<e||i>r.content[0])&&(r.content.length===e&&r.pop(),r.push(i))}return r.content[0]}(t,n)}},Wi=function(t,e,n){return Math.min(Math.max(t,e),n)},$i=function(t){return Math.log(t)/Math.LN2};function Gi(){this.content=[]}function Zi(t,e){return Math.random()*(e-t)+t}Gi.prototype={push:function(t){this.content.push(t),this.bubbleUp(this.content.length-1)},pop:function(){var t=this.content[0],e=this.content.pop();return this.content.length>0&&(this.content[0]=e,this.sinkDown(0)),t},remove:function(t){for(var e=this.content.length,n=0;n<e;n++)if(this.content[n]===t){var r=this.content.pop();if(n===e-1)break;this.content[n]=r,this.bubbleUp(n),this.sinkDown(n);break}},size:function(){return this.content.length},bubbleUp:function(t){for(var e=this.content[t],n=e;t>0;){var r=Math.floor((t+1)/2)-1,i=this.content[r];if(n>=i)break;this.content[r]=e,this.content[t]=i,t=r}},sinkDown:function(t){for(var e=this.content.length,n=this.content[t],r=n;;){var i=2*(t+1),o=i-1,s=null;if(o<e){var a=this.content[o],c=a;a<r&&(s=o)}if(i<e)this.content[i]<(null==s?r:c)&&(s=i);if(null==s)break;this.content[t]=this.content[s],this.content[s]=n,t=s}}};const Xi={rgbListFromHSV:()=>{let t=[];for(let e=1;e>=.5;e-=.1)for(let n=0;n<1;n+=1/28){const r="rgb("+Xi.hsvToRgb(n,1,e).join(",")+")";t.push(r)}return t.pop(),t.push(Xi.rgbColor(16,16,16)),t},rgbToHex:function(t){return(t=t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===t.length?"#"+("0"+parseInt(t[1],10).toString(16)).slice(-2)+("0"+parseInt(t[2],10).toString(16)).slice(-2)+("0"+parseInt(t[3],10).toString(16)).slice(-2):""},hexToRgb:function(t){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(null!==e)return"rgb("+parseInt(e[1],16)+","+parseInt(e[2],16)+","+parseInt(e[3],16)+")"},hsvToRgb:function(t,e,n){var r,i,o,s=Math.floor(6*t),a=6*t-s,c=n*(1-e),l=n*(1-a*e),h=n*(1-(1-a)*e);switch(s%6){case 0:r=n,i=h,o=c;break;case 1:r=l,i=n,o=c;break;case 2:r=c,i=n,o=h;break;case 3:r=c,i=l,o=n;break;case 4:r=h,i=c,o=n;break;case 5:r=n,i=c,o=l}return[Math.floor(255*r),Math.floor(255*i),Math.floor(255*o)]},hslToRgb:function(t,e,n){var r,i,o;if(0===e)r=i=o=n;else{var s=n<.5?n*(1+e):n+e-n*e,a=2*n-s;r=Xi.hue2rgb(a,s,t+1/3),i=Xi.hue2rgb(a,s,t),o=Xi.hue2rgb(a,s,t-1/3)}return[255*r,255*i,255*o]},hue2rgb:(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t),rgbaColor:function(t,e,n,r){return"rgba("+(t=Wi(t,0,255))+","+(e=Wi(e,0,255))+","+(n=Wi(n,0,255))+","+(r=Wi(r,0,1))+")"},rgbColor:function(t,e,n){return"rgb("+(t=Wi(t,0,255))+","+(e=Wi(e,0,255))+","+(n=Wi(n,0,255))+")"},greyScale:function(t){var e=Wi(t,0,255);return"rgb("+e+","+e+","+e+")"},randomGrey:function(t,e){t=Wi(t,0,255),e=Wi(e,0,255);var n=Math.round(Zi(t,e)).toString(10);return"rgb("+n+","+n+","+n+")"},randomRGB:function(t,e){return t=Wi(t,0,255),e=Wi(e,0,255),"rgb("+Math.round(Zi(t,e)).toString(10)+","+Math.round(Zi(t,e)).toString(10)+","+Math.round(Zi(t,e)).toString(10)+")"},randomRGBConstantAlpha:function(t,e,n){return t=Wi(t,0,255),e=Wi(e,0,255),"rgba("+Math.round(Zi(t,e)).toString(10)+","+Math.round(Zi(t,e)).toString(10)+","+Math.round(Zi(t,e)).toString(10)+","+n+")"},addAlpha:function(t,e){if("0"===t||"."===t)t="rgb(0,0,0)";else{const e=this.colorNameToHex(t);e&&(t=e)}var n=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);if(t.startsWith("rgba")){const n=t.lastIndexOf(",");return t.substring(0,n+1)+e.toString()+")"}return n&&(t=Xi.hexToRgb(t)),t.startsWith("rgb")?t.replace("rgb","rgba").replace(")",", "+e+")"):(console.log(t+" is not an rgb style string"),t)},rgbComponents:function(t){if("0"===t||"."===t)return[0,0,0];if(/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t))t=Xi.hexToRgb(t);else if(!t.startsWith("rgb")){const e=this.colorNameToHex(t);t=this.hexToRgb(e)}if(t.startsWith("rgb("))return t.substring(4,t.length-1).split(",").map((t=>Number.parseInt(t.trim())));if(t.startsWith("rgba("))return t.substring(5,t.length-1).split(",").map(((t,e)=>(t=t.trim(),3===e?Number.parseFloat(t):Number.parseInt(t))));throw Error("Unrecognized color string: color")},getCompositeColor:function(t,e,n){return"rgb("+Math.floor(n*e[0]+(1-n)*t[0])+","+Math.floor(n*e[1]+(1-n)*t[1])+","+Math.floor(n*e[2]+(1-n)*t[2])+")"},createColorString:function(t){return(t=function(t){return void 0===t||((t.startsWith("'")||t.startsWith('"'))&&(t=t.substring(1)),(t.endsWith("'")||t.endsWith('"'))&&(t=t.substring(0,t.length-1))),t}(t)).includes(",")?t.startsWith("rgb")?t:"rgb("+t+")":t},darkenLighten:function(t,e){let n,r=this.colorNameToHex(t);n=r?Xi.hexToRgb(r):t.startsWith("rgb(")?t:Xi.hexToRgb(t);const i=n.replace(")","").substring(4).split(","),o=Math.max(0,Math.min(255,Number.parseInt(i[0].trim())+e)),s=Math.max(0,Math.min(255,Number.parseInt(i[1].trim())+e)),a=Math.max(0,Math.min(255,Number.parseInt(i[2].trim())+e));return"rgb("+o.toString()+","+s.toString()+","+a.toString()+")"},colorNameToHex:function(t){return{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c","indigo ":"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",darkgrey:"#a9a9a9",darkslategrey:"#2f4f4f",dimgrey:"#696969",grey:"#808080",lightgray:"#d3d3d3",lightslategrey:"#778899",slategrey:"#708090"}[t]}};let Yi;function Ki(t,e){e.addEventListener("mousedown",Qi.bind(t))}function Qi(t){t.stopPropagation(),t.preventDefault(),function(t){if(!t.getClientRects().length)return{top:0,left:0};const e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView;e.top,n.pageYOffset,e.left,n.pageXOffset}(this);const e=Ji.bind(this),n=to.bind(this),r=getComputedStyle(this),i=parseInt(r.top.replace("px","")),o=parseInt(r.left.replace("px",""));Yi={dragFunction:e,dragEndFunction:n,screenX:t.screenX,screenY:t.screenY,top:i,left:o},document.addEventListener("mousemove",e),document.addEventListener("mouseup",n),document.addEventListener("mouseleave",n),document.addEventListener("mouseexit",n)}function Ji(t){if(!Yi)return void console.log("No drag data!");t.stopPropagation(),t.preventDefault();const e=t.screenX-Yi.screenX,n=t.screenY-Yi.screenY;this.style.left=`${Yi.left+e}px`,this.style.top=`${Yi.top+n}px`}function to(t){if(!Yi)return void console.log("No drag data!");t.stopPropagation(),t.preventDefault();const e=Yi.dragFunction,n=Yi.dragEndFunction;document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",n),document.removeEventListener("mouseleave",n),document.removeEventListener("mouseexit",n),Yi=void 0}const eo={licorice:"#000000",lead:"#1e1e1e",tungsten:"#3a3a3a",iron:"#545453",steel:"#6e6e6e",tin:"#878687",nickel:"#888787",aluminum:"#a09fa0",magnesium:"#b8b8b8",silver:"#d0d0d0",mercury:"#e8e8e8",snow:"#ffffff",cayenne:"#891100",mocha:"#894800",aspargus:"#888501",fern:"#458401",clover:"#028401",moss:"#018448",teal:"#008688",ocean:"#004a88",midnight:"#001888",eggplant:"#491a88",plum:"#891e88",maroon:"#891648",maraschino:"#ff2101",tangerine:"#ff8802",lemon:"#fffa03",lime:"#83f902",spring:"#05f802",seam_foam:"#03f987",turquoise:"#00fdff",aqua:"#008cff",blueberry:"#002eff",grape:"#8931ff",magenta:"#ff39ff",strawberry:"#ff2987",salmon:"#ff726e",cantaloupe:"#ffce6e",banana:"#fffb6d",honeydew:"#cefa6e",flora:"#68f96e",spindrift:"#68fbd0",ice:"#68fdff",sky:"#6acfff",orchid:"#6e76ff",lavender:"#d278ff",bubblegum:"#ff7aff",carnation:"#ff7fd3"},no={oauthTokens:{},setToken:function(t,e){e=e||"googleapis",this.oauthTokens[e]=t,"googleapis"===e&&(this.google.access_token=t)},getToken:function(t){let e;t=t||"googleapis";for(let n of Object.keys(this.oauthTokens)){if(ro(n).test(t)){e=this.oauthTokens[n];break}}return e},removeToken:function(t){t=t||"googleapis";for(let e of Object.keys(this.oauthTokens)){ro(e).test(t)&&(this.oauthTokens[e]=void 0)}"googleapis"===t&&(this.google.access_token=void 0)},google:{setToken:function(t){no.setToken(t)}}};function ro(t){return new RegExp("^"+t.split(/\*+/).map(io).join(".*")+"$")}function io(t){return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")}const oo=new class{constructor(t){this.requestsPerSecond=t.requestsPerSecond||10,this.lastStartTime=0,this.queued=[]}add(t,e){var n=this;return new Promise((function(e,r){n.queued.push({resolve:e,reject:r,asyncFunction:t}),n.dequeue()}))}addAll(t,e){var n=t.map(function(t){return this.add(t,e)}.bind(this));return Promise.all(n)}dequeue(){if(this.queued.length>0){var t=new Date,e=1e3/this.requestsPerSecond+1,n=t-this.lastStartTime;n>=e?this._execute():setTimeout(function(){this.dequeue()}.bind(this),e-n)}}async _execute(){this.lastStartTime=new Date;var t=this.queued.shift();const e=t.asyncFunction;try{const n=await e();t.resolve(n)}catch(e){t.reject(e)}}}({requestsPerSecond:8}),so={apiKey:void 0,setApiKey:function(t){this.apiKey=t},load:ao,loadArrayBuffer:async function(t,e){return(e=e||{}).responseType||(e.responseType="arraybuffer"),t instanceof File?lo(t,e):ao(t,e)},loadJson:async function(t,e){"POST"===((e=e||{}).method||(e.sendData?"POST":"GET"))&&(e.contentType="application/json");const n=await this.loadString(t,e);return n?JSON.parse(n):n},loadString:async function(t,e){return e=e||{},t instanceof File?async function(t,e){const n=e.range?t.slice(e.range.start,e.range.start+e.range.size):t;return fo(await ho(n))}(t,e):async function(t,e){(e=e||{}).responseType="arraybuffer";return fo(await so.load(t,e))}(t,e)}};async function ao(t,e){e=e||{};const n=typeof t;if((t=await("function"==typeof t?t():t))instanceof File)return lo(t,e);if("function"==typeof t.startsWith){if(t.startsWith("data:")){const n=Ui(t).buffer;if(e.range){const t=e.range.size?e.range.start+e.range.size:n.byteLength;return n.slice(e.range.start,t)}return n}return t.startsWith("https://drive.google.com")&&(t=Me(t)),Le(t)||t.startsWith("https://www.dropbox.com")?oo.add((async function(){return co(t,e)})):co(t,e)}throw Error(`url must be either a 'File', 'string', 'function', or 'Promise'. Actual type: ${n}`)}async function co(t,e){t=function(t){return t.includes("//www.dropbox.com")?t.replace("//www.dropbox.com","//dl.dropboxusercontent.com"):t.includes("//drive.google.com")?Me(t):t.includes("//www.broadinstitute.org/igvdata")?t.replace("//www.broadinstitute.org/igvdata","//data.broadinstitute.org/igvdata"):t.includes("//igvdata.broadinstitute.org")?t.replace("//igvdata.broadinstitute.org","https://dn7ywbm9isq8j.cloudfront.net"):t.startsWith("ftp://ftp.ncbi.nlm.nih.gov/geo")?t.replace("ftp://","https://"):t}(t);let n=(e=e||{}).oauthToken||function(t){const e=Ae(t)?void 0:ze(t).host;let n=no.getToken(e);if(n)return n;if(void 0===e){const t=uo();if(t&&t.expires_at>Date.now())return t.access_token}}(t);return n&&(n=await("function"==typeof n?n():n)),new Promise((function(r,i){Ae(t)&&(Te(t)&&(t=Re(t)),Le(t=function(t){let e=so.apiKey;e||"undefined"==typeof gapi||(e=gapi.apiKey);if(void 0!==e&&!t.includes("key=")){const n=t.includes("?")?"&":"?";t=t+n+"key="+e}return t}(t))&&function(t){if(t.includes("supportsTeamDrive"))return t;{const e=t.includes("?")?"&":"?";t=t+e+"supportsTeamDrive=true"}}(t),n||(n=uo()));const o=e.headers||{};n&&function(t,e){e&&(t["Cache-Control"]="no-cache",t.Authorization="Bearer "+e)}(o,n);const s=e.range,a=navigator.userAgent.indexOf("Chrome")>-1;0===navigator.vendor.indexOf("Apple")&&/\sSafari\//.test(navigator.userAgent),s&&a&&!function(t){return t.indexOf("X-Amz-Signature")>-1}(t)&&(t+=t.includes("?")?"&":"?",t+="someRandomSeed="+Math.random().toString(36));const c=new XMLHttpRequest,l=e.sendData||e.body,h=e.method||(l?"POST":"GET"),u=e.responseType,f=e.contentType,d=e.mimeType;if(c.open(h,t),e.timeout&&(c.timeout=e.timeout),s){var p=s.size?s.start+s.size-1:"";c.setRequestHeader("Range","bytes="+s.start+"-"+p)}if(f&&c.setRequestHeader("Content-Type",f),d&&c.overrideMimeType(d),u&&(c.responseType=u),o)for(let t of Object.keys(o)){const e=o[t];c.setRequestHeader(t,e)}!0===e.withCredentials&&(c.withCredentials=!0),c.onload=async function(n){0===c.status||c.status>=200&&c.status<=300?s&&206!==c.status&&0!==s.start?(c.response.length>1e5&&alert(`Warning: Range header ignored for URL: ${t}. This can have performance impacts.`),r(c.response.slice(s.start,s.start+s.size))):r(c.response):"undefined"==typeof gapi||404!==c.status&&401!==c.status&&403!==c.status||!Ae(t)||e.retries?403===c.status?g("Access forbidden: "+t):416===c.status?g("Unsatisfiable range"):g(c.status):m()},c.onerror=function(n){Ae(t)&&!e.retries&&m(),g("Error accessing resource: "+t+" Status: "+c.status)},c.ontimeout=function(t){g("Timed out")},c.onabort=function(t){console.log("Aborted"),i(t)};try{c.send(l)}catch(t){i(t)}function g(t){if(!i)throw t;i(t)}async function m(){try{const n=await async function(t){if(console.log("Fetch token for "+t),Pe()){const e=function(t){return Le(t)?"https://www.googleapis.com/auth/drive.file":Te(t)?"https://www.googleapis.com/auth/devstorage.read_only":"https://www.googleapis.com/auth/userinfo.profile"}(t),n=await De(e);return n?n.access_token:void 0}throw Error("Authorization is required, but Google oAuth has not been initalized. Contact your site administrator for assistance.")}(t);e.retries=1,e.oauthToken=n;const i=await ao(t,e);r(i)}catch(t){if(t.error){const e=t.error.startsWith("popup_blocked")?"Google login popup blocked by browser.":t.error;alert(e)}else g(t)}}}))}async function lo(t,e){let n=e&&e.range?t.slice(e.range.start,e.range.start+e.range.size):t;return"arraybuffer"===e.responseType?ho(n):new Promise((function(e,r){const i=new FileReader;i.onload=function(t){e(i.result)},i.onerror=function(e){console.error("reject uploading local file "+t.name),r(null,i)},i.readAsBinaryString(n),console.warn("Deprecated method used: readAsBinaryString")}))}async function ho(t){return"function"==typeof t.arrayBuffer?t.arrayBuffer():new Promise((function(e,n){const r=new FileReader;r.onload=function(t){e(r.result)},r.onerror=function(t){console.error("reject uploading local file "+localfile.name),n(null,r)},r.readAsArrayBuffer(t)}))}function uo(){if(Pe()){const t=function(){let t=gapi.auth2.getAuthInstance().currentUser.get();if(t&&t.isSignedIn()){const{access_token:e,expires_at:n}=t.getAuthResponse();return{access_token:e,expires_at:n}}}();return t?t.access_token:void 0}}function fo(t){let e;return e=function(t){const e=ArrayBuffer.isView(t)?t:new Uint8Array(t);return 31===e[0]&&139===e[1]}(t)?function(t){const e=ArrayBuffer.isView(t)?t:new Uint8Array(t);return 0!=(4&e[3])&&66===e[12]&&67===e[13]?Bi(e.buffer):Oi.ungzip(e)}(t):new Uint8Array(t),"TextDecoder"in function(){if("undefined"!=typeof self)return self;return"undefined"!=typeof global?global:window}()?(new TextDecoder).decode(e):function(t){var e="",n=0;for(;n<t.length;){var r=t[n],i=0,o=0;if(r<=127?(i=0,o=255&r):r<=223?(i=1,o=31&r):r<=239?(i=2,o=15&r):r<=244&&(i=3,o=7&r),t.length-n-i>0)for(var s=0;s<i;)o=o<<6|63&(r=t[n+s+1]),s+=1;else o=65533,i=t.length-n;e+=String.fromCodePoint(o),n+=i+1}return e}(e)}var po={color:1};po.parent=po,po.left=po,po.right=po;class go{constructor(){this.root=po}insert(t,e,n){var r=new xo(new yo(t,e,n));for(this.treeInsert(r),r.color=2;r!==this.root&&2===r.parent.color;)if(r.parent===r.parent.parent.left){let t=r.parent.parent.right;2===t.color?(r.parent.color=1,t.color=1,r.parent.parent.color=2,r=r.parent.parent):(r===r.parent.right&&(r=r.parent,vo.call(this,r)),r.parent.color=1,r.parent.parent.color=2,bo.call(this,r.parent.parent))}else{let t=r.parent.parent.left;2===t.color?(r.parent.color=1,t.color=1,r.parent.parent.color=2,r=r.parent.parent):(r===r.parent.left&&(r=r.parent,bo.call(this,r)),r.parent.color=1,r.parent.parent.color=2,vo.call(this,r.parent.parent))}this.root.color=1}findOverlapping(t,e){var n=new yo(t,e,0);if(this.root===po)return[];var r=mo.call(this,n,this.root,[]);return r.length>1&&r.sort((function(t,e){return t.low-e.low})),r}logIntervals(){!function t(e,n){for(var r="",i=0;i<n;i++)r+=" ";console.log(r+e.interval.low+" "+e.interval.high),n+=5,e.left!==po&&t(e.left,n);e.right!==po&&t(e.right,n)}(this.root,0)}mapIntervals(t){!function e(n){t(n.interval),n.left!==po&&e(n.left);n.right!==po&&e(n.right)}(this.root)}treeInsert(t){for(var e=this.root,n=po;e!==po;)n=e,e=t.interval.low<=e.interval.low?e.left:e.right;t.parent=n,n===po?(this.root=t,t.left=t.right=po):t.interval.low<=n.interval.low?n.left=t:n.right=t,wo.call(this,t)}}function mo(t,e,n){return e.interval.overlaps(t)&&n.push(e.interval),e.left!==po&&e.left.max>=t.low&&mo.call(this,t,e.left,n),e.right!==po&&e.right.min<=t.high&&mo.call(this,t,e.right,n),n}function vo(t){var e=t.right;t.right=e.left,e.left!==po&&(e.left.parent=t),e.parent=t.parent,t.parent===po?this.root=e:t.parent.left===t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e,wo.call(this,t)}function bo(t){var e=t.left;t.left=e.right,e.right!==po&&(e.right.parent=t),e.parent=t.parent,t.parent===po?this.root=e:t.parent.right===t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e,wo.call(this,t)}function wo(t){for(;t!==po;){var e=t.left.max>t.right.max?t.left.max:t.right.max,n=t.interval.high;t.max=e>n?e:n;var r=t.left.min<t.right.min?t.left.min:t.right.min,i=t.interval.low;t.min=r<i?r:i,t=t.parent}}class yo{constructor(t,e,n){this.low=t,this.high=e,this.value=n}equals(t){return!!t&&(this===t||this.low===t.low&&this.high===t.high)}compareTo(t){return this.low<t.low?-1:this.low>t.low?1:this.high<t.high?-1:this.high>t.high?1:0}overlaps(t){return this.low<=t.high&&t.low<=this.high}}function xo(t){this.parent=po,this.left=po,this.right=po,this.interval=t,this.color=2}class _o{constructor(t,e,n){t=t||[],this.treeMap=this.buildTreeMap(t,e),this.range=n,this.count=t.length}containsRange(t){return void 0===this.range||this.range.contains(t.chr,t.start,t.end)}queryFeatures(t,e,n){const r=this.treeMap[t];if(!r)return[];const i=r.findOverlapping(e,n);if(0===i.length)return[];{const r=[],o=this.allFeatures[t];if(o){for(let t of i){const i=t.value;for(let t=i.start;t<i.end;t++){let i=o[t];if(i.start>n)break;i.end>=e&&r.push(i)}}r.sort((function(t,e){return t.start-e.start}))}return r}}getAllFeatures(){return this.allFeatures}buildTreeMap(t,e){const n={},r=[];if(this.allFeatures={},t){for(let n of t){let t=n.chr;e&&(t=e.getChromosomeName(t));let i=this.allFeatures[t];i||(r.push(t),i=[],this.allFeatures[t]=i),i.push(n)}for(let t of r){const e=this.allFeatures[t];e.sort((function(t,e){return t.start===e.start?0:t.start>e.start?1:-1})),n[t]=ko(e)}}return n}}function ko(t){const e=new go,n=t.length,r=Math.max(10,Math.round(n/10));for(let i=0;i<n;i+=r){const o=Math.min(n,i+r),s=new So(i,o),a=t[i].start;let c=a;for(let e=i;e<o;e++)c=Math.max(c,t[e].end);e.insert(a,c,s)}return e}class So{constructor(t,e){this.start=t,this.end=e}}const Co=function(t,e,n){if(t&&0!==t.length){const r=function(t){const e=new go,n=t.length,r=Math.max(10,Math.round(n/100));t.sort((function(t,e){return t.start===e.start?0:t.start>e.start?1:-1}));for(let i=0;i<n;i+=r){const o=Math.min(n,i+r),s=t.slice(i,o),a=s[0].start;let c=a;s.forEach((function(t){c=Math.max(c,t.end)})),e.insert(a,c,s)}return e}(t).findOverlapping(e,n);return 0===r.length?[]:(t=[],r.forEach((function(r){const i=r.value,o=i.length;for(let r=0;r<o;r++){const o=i[r];if(o.start>n)break;o.end>e&&t.push(o)}})),t.sort((function(t,e){return t.start-e.start})),t)}return[]};function Eo(t,e){const n=pe({class:"igv-menu-popup-check-container"}),r=pe();n.appendChild(r);const i=we("check",!0===e?"#444":"transparent");r.appendChild(i);const o=pe();return o.innerText=t,n.appendChild(o),n}const Ao={trackMenuItemList:function(t){const e=new Set(["alignment","annotation","variant","eqtl","snp"]),n=t.track.config&&void 0!==t.track.config.visibilityWindow;let r=[];return"sequence"!==t.track.config.type&&(r.push(function(t){const e=e=>{const n=function(){let e=t.browser.inputDialog.input.value;e=""===e||void 0===e?"untitled":e.trim(),t.track.name=e},r={label:"Track Name",value:Lo(t.track)||"unnamed",callback:n};t.browser.inputDialog.present(r,e)},n=de("<div>");return n.text("Set track name"),{object:n,click:e}}(t)),r.push(function(t){const e=e=>{const n=()=>{const e=parseFloat(t.browser.inputDialog.input.value,10);void 0!==e&&(void 0!==t.track.minHeight&&t.track.minHeight>e&&(t.track.minHeight=e),void 0!==t.track.maxHeight&&t.track.maxHeight<e&&(t.track.minHeight=e),t.setTrackHeight(e,!0),t.checkContentHeight(),t.repaintViews(),t.track.autoHeight=!1)},r={label:"Track Height",value:t.track.height,callback:n};t.browser.inputDialog.present(r,e)},n=de("<div>");return n.text("Set track height"),{object:n,click:e}}(t))),this.showColorPicker(t.track)&&(r.push("<hr/>"),r.push(To({trackView:t,label:"Set track color",option:"color"})),r.push(function({trackView:t,label:e}){const n=de("<div>");return n.text(e),{object:n,click:()=>{t.track.color=void 0,t.repaintViews()}}}({trackView:t,label:"Unset track color"})),r.push(To({trackView:t,label:"Set alt color",option:"altColor"}))),t.track.menuItemList&&(r=r.concat(t.track.menuItemList())),(n||e.has(t.track.type))&&(r.push("<hr/>"),r.push(function(t){const e=e=>{const n=()=>{let e=t.browser.inputDialog.input.value;e=""===e||void 0===e?-1:e.trim(),t.track.visibilityWindow=Number.parseInt(e),t.track.config.visibilityWindow=Number.parseInt(e),t.updateViews()},r={label:"Visibility Window",value:t.track.visibilityWindow,callback:n};t.browser.inputDialog.present(r,e)},n=de("<div>");return n.text("Set visibility window"),{object:n,click:e}}(t))),!1!==t.track.removable&&(r.push("<hr/>"),r.push(function(t){const e=de("<div>");return e.text("Remove track"),{object:e,click:()=>t.browser.removeTrack(t.track)}}(t))),r},numericDataMenuItems:function(t){const e=[];e.push("<hr/>");const n=de("<div>");n.text("Set data range");return e.push({object:n,click:()=>{t.browser.dataRangeDialog.configure(t),t.browser.dataRangeDialog.present(de(t.browser.columnContainer))}}),void 0!==t.track.logScale&&e.push({object:de(Eo("Log scale",t.track.logScale)),click:()=>{t.track.logScale=!t.track.logScale,t.repaintViews()}}),e.push({object:de(Eo("Autoscale",t.track.autoscale)),click:()=>{t.track.autoscale=!t.track.autoscale,t.updateViews()}}),e},trackMenuItemListHelper:function(t,e){var n=[];return t.length>0&&(n=t.map((function(t,n){var r;if(t.name?(r=de("<div>")).text(t.name):t.object?r=t.object:"string"==typeof t.label?(r=de("<div>")).html(t.label):"string"==typeof t&&(r=t.startsWith("<")?de(t):de("<div>"+t+"</div>")),0===n&&r.addClass("igv-track-menu-border-top"),t.click){function i(n){t.click(n),e.hide(),n.preventDefault(),n.stopPropagation()}r.on("click",i),r.on("touchend",(function(t){i(t)})),r.on("mouseup",(function(t){t.preventDefault(),t.stopPropagation()}))}return{object:r,init:t.init||void 0}}))),n},showColorPicker:t=>void 0===t.type||"bedtype"===t.type||"alignment"===t.type||"annotation"===t.type||"variant"===t.type||"wig"===t.type,createMenuItem(t,e){const n=de("<div>");return n.text(t),{object:n,click:e}}};function To({trackView:t,label:e,option:n}){const r=de("<div>");return r.text(e),{object:r,click:()=>t.presentColorPicker(n)}}function Lo(t){return t.trackView.viewports[0].$trackLabel.text()}function Ro(t){return function(t,e){const n=document.createElement(t);e&&(e.class&&n.classList.add(e.class),e.id&&(n.id=e.id),e.style&&function(t,e){for(let n of Object.keys(e))t.style[n]=e[n]}(n,e.style));return n}("div",t)}function Mo(t){const e=getComputedStyle(t);"none"!==e.display&&(t._initialDisplay=e.display),t.style.display="none"}function Io(t){if("none"===getComputedStyle(t).display){const e=t._initialDisplay||"block";t.style.display=e}}function No(t,e){e=e||"currentColor";let n=Fo[t];n||(console.error(`No icon named: ${t}`),n=Fo.question);const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttributeNS(null,"viewBox","0 0 "+n[0]+" "+n[1]);const i=document.createElementNS("http://www.w3.org/2000/svg","path");return i.setAttributeNS(null,"fill",e),i.setAttributeNS(null,"d",n[4]),r.appendChild(i),r}const Fo={check:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"],cog:[512,512,[],"f013","M444.788 291.1l42.616 24.599c4.867 2.809 7.126 8.618 5.459 13.985-11.07 35.642-29.97 67.842-54.689 94.586a12.016 12.016 0 0 1-14.832 2.254l-42.584-24.595a191.577 191.577 0 0 1-60.759 35.13v49.182a12.01 12.01 0 0 1-9.377 11.718c-34.956 7.85-72.499 8.256-109.219.007-5.49-1.233-9.403-6.096-9.403-11.723v-49.184a191.555 191.555 0 0 1-60.759-35.13l-42.584 24.595a12.016 12.016 0 0 1-14.832-2.254c-24.718-26.744-43.619-58.944-54.689-94.586-1.667-5.366.592-11.175 5.459-13.985L67.212 291.1a193.48 193.48 0 0 1 0-70.199l-42.616-24.599c-4.867-2.809-7.126-8.618-5.459-13.985 11.07-35.642 29.97-67.842 54.689-94.586a12.016 12.016 0 0 1 14.832-2.254l42.584 24.595a191.577 191.577 0 0 1 60.759-35.13V25.759a12.01 12.01 0 0 1 9.377-11.718c34.956-7.85 72.499-8.256 109.219-.007 5.49 1.233 9.403 6.096 9.403 11.723v49.184a191.555 191.555 0 0 1 60.759 35.13l42.584-24.595a12.016 12.016 0 0 1 14.832 2.254c24.718 26.744 43.619 58.944 54.689 94.586 1.667 5.366-.592 11.175-5.459 13.985L444.788 220.9a193.485 193.485 0 0 1 0 70.2zM336 256c0-44.112-35.888-80-80-80s-80 35.888-80 80 35.888 80 80 80 80-35.888 80-80z"],exclamation:[192,512,[],"f12a","M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"],"exclamation-circle":[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],"exclamation-triangle":[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],minus:[448,512,[],"f068","M424 318.2c13.3 0 24-10.7 24-24v-76.4c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h400z"],"minus-circle":[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"],"minus-square":[448,512,[],"f146","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z"],plus:[448,512,[],"f067","M448 294.2v-76.4c0-13.3-10.7-24-24-24H286.2V56c0-13.3-10.7-24-24-24h-76.4c-13.3 0-24 10.7-24 24v137.8H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h137.8V456c0 13.3 10.7 24 24 24h76.4c13.3 0 24-10.7 24-24V318.2H424c13.3 0 24-10.7 24-24z"],"plus-circle":[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],"plus-square":[448,512,[],"f0fe","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],question:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"],save:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"],search:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"],share:[512,512,[],"f064","M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"],spinner:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"],square:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],"square-full":[512,512,[],"f45c","M512 512H0V0h512v512z"],times:[384,512,[],"f00d","M323.1 441l53.9-53.9c9.4-9.4 9.4-24.5 0-33.9L279.8 256l97.2-97.2c9.4-9.4 9.4-24.5 0-33.9L323.1 71c-9.4-9.4-24.5-9.4-33.9 0L192 168.2 94.8 71c-9.4-9.4-24.5-9.4-33.9 0L7 124.9c-9.4 9.4-9.4 24.5 0 33.9l97.2 97.2L7 353.2c-9.4 9.4-9.4 24.5 0 33.9L60.9 441c9.4 9.4 24.5 9.4 33.9 0l97.2-97.2 97.2 97.2c9.3 9.3 24.5 9.3 33.9 0z"],"times-circle":[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"],wrench:[512,512,[],"f0ad","M481.156 200c9.3 0 15.12 10.155 10.325 18.124C466.295 259.992 420.419 288 368 288c-79.222 0-143.501-63.974-143.997-143.079C223.505 65.469 288.548-.001 368.002 0c52.362.001 98.196 27.949 123.4 69.743C496.24 77.766 490.523 88 481.154 88H376l-40 56 40 56h105.156zm-171.649 93.003L109.255 493.255c-24.994 24.993-65.515 24.994-90.51 0-24.993-24.994-24.993-65.516 0-90.51L218.991 202.5c16.16 41.197 49.303 74.335 90.516 90.503zM104 432c0-13.255-10.745-24-24-24s-24 10.745-24 24 10.745 24 24 24 24-10.745 24-24z"]};function Po(t,e){var n,r=document.createElement("div");t.appendChild(r),r.appendChild(No("times",n)),r.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),e()}))}let Oo;function Do(t,e){e.addEventListener("mousedown",Bo.bind(t))}function Bo(t){t.stopPropagation(),t.preventDefault(),function(t){if(!t.getClientRects().length)return{top:0,left:0};const e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView;e.top,n.pageYOffset,e.left,n.pageXOffset}(this);const e=zo.bind(this),n=jo.bind(this),r=getComputedStyle(this),i=parseInt(r.top.replace("px","")),o=parseInt(r.left.replace("px",""));Oo={dragFunction:e,dragEndFunction:n,screenX:t.screenX,screenY:t.screenY,top:i,left:o},document.addEventListener("mousemove",e),document.addEventListener("mouseup",n),document.addEventListener("mouseleave",n),document.addEventListener("mouseexit",n)}function zo(t){if(!Oo)return void console.log("No drag data!");t.stopPropagation(),t.preventDefault();const e=t.screenX-Oo.screenX,n=t.screenY-Oo.screenY;this.style.left=`${Oo.left+e}px`,this.style.top=`${Oo.top+n}px`}function jo(t){if(!Oo)return void console.log("No drag data!");t.stopPropagation(),t.preventDefault();const e=Oo.dragFunction,n=Oo.dragEndFunction;document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",n),document.removeEventListener("mouseleave",n),document.removeEventListener("mouseexit",n),Oo=void 0}const Ho={401:"Access unauthorized",403:"Access forbidden",404:"Not found"};class Vo{constructor(t){this.container=Ro({class:"igv-ui-alert-dialog-container"}),t.appendChild(this.container),this.container.setAttribute("tabIndex","-1");const e=Ro();this.container.appendChild(e),this.errorHeadline=Ro(),e.appendChild(this.errorHeadline),this.errorHeadline.textContent="";let n=Ro({id:"igv-ui-alert-dialog-body"});this.container.appendChild(n),this.body=Ro({id:"igv-ui-alert-dialog-body-copy"}),n.appendChild(this.body);let r=Ro();this.container.appendChild(r),this.ok=Ro(),r.appendChild(this.ok),this.ok.textContent="OK";const i=()=>{"function"==typeof this.callback&&(this.callback("OK"),this.callback=void 0),this.body.innerHTML="",Mo(this.container)};this.ok.addEventListener("click",(t=>{t.stopPropagation(),i()})),this.container.addEventListener("keypress",(t=>{t.stopPropagation(),"Enter"===t.key&&i()})),Do(this.container,e),Mo(this.container)}present(t,e){this.errorHeadline.textContent=t.message?"ERROR":"";let n=t.message||t;Ho.hasOwnProperty(n)&&(n=Ho[n]),this.body.innerHTML=n,this.callback=e,Io(this.container),this.container.focus()}}let Uo;const qo={init(t){Uo||(Uo=new Vo(t))},presentAlert(t,e){Uo||this.init(document.body),Uo.present(t,e)}};class Wo{constructor(t){this.parent=t,this.container=Ro({class:"igv-ui-generic-dialog-container"}),t.appendChild(this.container);const e=Ro({class:"igv-ui-generic-dialog-header"});this.container.appendChild(e),this.label=Ro({class:"igv-ui-generic-dialog-one-liner"}),this.container.appendChild(this.label),this.label.text="Unlabeled",this.input_container=Ro({class:"igv-ui-generic-dialog-input"}),this.container.appendChild(this.input_container),this.input=document.createElement("input"),this.input_container.appendChild(this.input);const n=Ro({class:"igv-ui-generic-dialog-ok-cancel"});this.container.appendChild(n),this.ok=Ro(),n.appendChild(this.ok),this.ok.textContent="OK",this.cancel=Ro(),n.appendChild(this.cancel),this.cancel.textContent="Cancel",Mo(this.container),this.input.addEventListener("keyup",(t=>{13===t.keyCode&&("function"==typeof this.callback&&(this.callback(this.input.value),this.callback=void 0),this.input.value=void 0,Mo(this.container))})),this.ok.addEventListener("click",(()=>{"function"==typeof this.callback&&(this.callback(this.input.value),this.callback=void 0),this.input.value=void 0,Mo(this.container)}));const r=()=>{this.input.value="",Mo(this.container)};this.cancel.addEventListener("click",r),Po(e,r),Do(this.container,e)}present(t,e){this.label.textContent=t.label,this.input.value=t.value,this.callback=t.callback||t.click,Io(this.container);const{x:n,y:r}=function(t){if(t.type.startsWith("touch")){const e=t.touches[0];return{x:e.pageX,y:e.pageY}}return{x:t.pageX,y:t.pageY}}(e);this.clampLocation(n,r)}clampLocation(t,e){const{width:n,height:r}=this.container.getBoundingClientRect();console.log(`InputDialog - clampLocation() - width ${n} height ${r}`);const{x:i,y:o,width:s,height:a}=this.parent.getBoundingClientRect(),c=Math.min(Math.max(e,o),o+a-r),l=Math.min(Math.max(t,i),i+s-n);this.container.style.left=`${l}px`,this.container.style.top=`${c}px`}}const $o={licorice:"#000000",lead:"#1e1e1e",tungsten:"#3a3a3a",iron:"#545453",steel:"#6e6e6e",tin:"#878687",nickel:"#888787",aluminum:"#a09fa0",magnesium:"#b8b8b8",silver:"#d0d0d0",mercury:"#e8e8e8",snow:"#ffffff",cayenne:"#891100",mocha:"#894800",aspargus:"#888501",fern:"#458401",clover:"#028401",moss:"#018448",teal:"#008688",ocean:"#004a88",midnight:"#001888",eggplant:"#491a88",plum:"#891e88",maroon:"#891648",maraschino:"#ff2101",tangerine:"#ff8802",lemon:"#fffa03",lime:"#83f902",spring:"#05f802",seam_foam:"#03f987",turquoise:"#00fdff",aqua:"#008cff",blueberry:"#002eff",grape:"#8931ff",magenta:"#ff39ff",strawberry:"#ff2987",salmon:"#ff726e",cantaloupe:"#ffce6e",banana:"#fffb6d",honeydew:"#cefa6e",flora:"#68f96e",spindrift:"#68fbd0",ice:"#68fdff",sky:"#6acfff",orchid:"#6e76ff",lavender:"#d278ff",bubblegum:"#ff7aff",carnation:"#ff7fd3"};class Go{constructor({parent:t,top:e,left:n,width:r,height:i,border:o,closeHandler:s}){let a=Ro({class:"igv-ui-generic-container"});t.appendChild(a),Mo(a),this.container=a,void 0!==e&&(this.container.style.top=`${e}px`),void 0!==n&&(this.container.style.left=`${n}px`),void 0!==r&&(this.container.style.width=`${r}px`),void 0!==i&&(this.container.style.height=`${i}px`),o&&(this.container.style.border=o);const c=Ro();this.container.appendChild(c),Po(c,(t=>{Mo(this.container),"function"==typeof s&&s(t)})),Do(this.container,c)}show(){Io(this.container)}hide(){Mo(this.container)}dispose(){this.container.parent&&this.container.parent.removeChild(this.container)}}class Zo extends Go{constructor({parent:t,top:e,left:n,width:r,height:i,defaultColors:o,colorHandler:s}){super({parent:t,top:e,left:n,width:r,height:i,border:"1px solid gray"}),Xo(this.container,s,o)}}const Xo=(t,e,n)=>{const r=Object.values($o);for(let n of r){const r=Ro({class:"igv-ui-color-swatch"});t.appendChild(r),Yo(r,n,e)}if(n)for(let r of n){const n=Ro({class:"igv-ui-color-swatch"});t.appendChild(n),Yo(n,r,e)}},Yo=(t,e,n)=>{t.style.backgroundColor=e,t.addEventListener("mouseenter",(n=>t.style.borderColor=e)),t.addEventListener("mouseleave",(e=>t.style.borderColor="white")),t.addEventListener("click",(t=>{t.stopPropagation(),n(e)})),t.addEventListener("touchend",(t=>{t.stopPropagation(),n(e)}))};class Ko{constructor(t,e){this.parent=t,this.popover=Ro({class:"igv-ui-popover"}),t.appendChild(this.popover);const n=Ro();this.popover.appendChild(n);const r=Ro();n.appendChild(r),e&&(r.textContent=e),Po(n,(()=>this.hide())),Do(this.popover,n),this.popoverContent=Ro(),this.popover.appendChild(this.popoverContent),this.popover.style.display="none"}presentContentWithEvent(t,e){this.popover.style.display="block",this.popoverContent.innerHTML=e,Qo(t,this.popover)}presentMenu(t,e){if(0===e.length)return;this.popover.style.display="block";const n=(r=e,i=this.popover,r.map((function(t,e){let n;if("string"==typeof t)n=Ro(),n.innerHTML=t;else if("Node"==typeof t)n=t;else{if("function"==typeof t.init&&t.init(),"checkbox"===t.type)n=function(t,e){const n=Ro({class:"igv-ui-trackgear-popover-check-container"}),r=No("check",!0===e?"#444":"transparent");r.style.borderColor="gray",r.style.borderWidth="1px",r.style.borderStyle="solid",n.appendChild(r);let i=Ro();return i.textContent=t,n.appendChild(i),n}("Show all bases",t.value);else if("color"===t.type){const e=new Zo({parent:i.parentElement,width:364,colorHandler:e=>t.click(e)});n=Ro(),"string"==typeof t.label&&(n.innerHTML=t.label);const r=t=>{e.show(),Mo(i),t.preventDefault(),t.stopPropagation()};n.addEventListener("click",r),n.addEventListener("touchend",r),n.addEventListener("mouseup",(function(t){t.preventDefault(),t.stopPropagation()}))}else n=Ro(),"string"==typeof t.label&&(n.innerHTML=t.label);if(t.click&&"color"!==t.type){function e(e){t.click(),Mo(i),e.preventDefault(),e.stopPropagation()}n.addEventListener("click",e),n.addEventListener("touchend",e),n.addEventListener("mouseup",(function(t){t.preventDefault(),t.stopPropagation()}))}}return{object:n,init:t.init}})));var r,i;for(let t of n)this.popoverContent.appendChild(t.object);Qo(t,this.popover)}hide(){this.popover.style.display="none",this.dispose()}dispose(){this.popover&&this.popover.parentNode.removeChild(this.popover);const t=Object.keys(this);for(let e of t)this[e]=void 0}}function Qo(t,e){const{x:n,y:r}=function(t,e){const{clientX:n,clientY:r}=t;return((t,{clientX:e,clientY:n})=>{const{left:r,top:i,width:o,height:s}=t.getBoundingClientRect(),a=e-r,c=n-i;return{x:a,y:c,xNormalized:a/o,yNormalized:c/s,width:o,height:s}})(e,{clientX:n,clientY:r})}(t,e.parentNode),{width:i}=e.parentNode.getBoundingClientRect(),{width:o}=e.getBoundingClientRect(),s=n+o;console.log(`popover-parent width ${i}. popover x ${n} width ${o} xmax ${s}.`),e.style.left=`${s>i?n-(s-i):n}px`,e.style.top=`${r}px`}if("undefined"!=typeof document){(function(t){for(let e of document.styleSheets)if(e=e.href?e.href.replace(/^.*[\\\/]/,""):"",e===t)return!0;return!1})("igv-ui.css")||((Jo=document.createElement("style")).setAttribute("type","text/css"),Jo.innerHTML='.igv-ui-popover {\n cursor: default;\n position: absolute;\n z-index: 2048;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: 1px;\n font-family: "Open Sans", sans-serif;\n font-size: small;\n background-color: white; }\n .igv-ui-popover > div:first-child {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-popover > div:first-child > div:first-child {\n margin-left: 4px; }\n .igv-ui-popover > div:first-child > div:last-child {\n margin-right: 4px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-ui-popover > div:first-child > div:last-child:hover {\n cursor: pointer;\n color: #444; }\n .igv-ui-popover > div:last-child {\n overflow-y: auto;\n overflow-x: hidden;\n max-height: 400px;\n max-width: 1500px;\n background-color: white; }\n .igv-ui-popover > div:last-child > div {\n -webkit-user-select: all;\n /* Chrome/Safari */\n -moz-user-select: all;\n /* Firefox */\n margin-left: 4px;\n margin-right: 4px;\n min-width: 220px;\n overflow-x: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n .igv-ui-popover > div:last-child > div > span {\n font-weight: bolder; }\n .igv-ui-popover > div:last-child hr {\n width: 100%; }\n\n.igv-ui-alert-dialog-container {\n box-sizing: content-box;\n position: absolute;\n z-index: 2048;\n top: 50%;\n left: 50%;\n width: 400px;\n height: 200px;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n outline: none;\n font-family: "Open Sans", sans-serif;\n font-size: 15px;\n font-weight: 400;\n background-color: white;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center; }\n .igv-ui-alert-dialog-container > div:first-child {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-alert-dialog-container > div:first-child div:first-child {\n padding-left: 8px; }\n .igv-ui-alert-dialog-container #igv-ui-alert-dialog-body {\n color: #373737;\n width: 100%;\n height: calc(100% - 24px - 64px);\n overflow-y: scroll; }\n .igv-ui-alert-dialog-container #igv-ui-alert-dialog-body #igv-ui-alert-dialog-body-copy {\n cursor: pointer;\n margin: 16px;\n width: auto;\n height: auto;\n overflow-wrap: break-word;\n word-break: break-word;\n background-color: white;\n border: unset; }\n .igv-ui-alert-dialog-container > div:last-child {\n width: 100%;\n margin-bottom: 10px;\n background-color: white;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center; }\n .igv-ui-alert-dialog-container > div:last-child div {\n margin: unset;\n width: 40px;\n height: 30px;\n line-height: 30px;\n text-align: center;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: small;\n font-weight: 400;\n border-color: #2B81AF;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-ui-alert-dialog-container > div:last-child div:hover {\n cursor: pointer;\n border-color: #25597f;\n background-color: #25597f; }\n\n.igv-ui-color-swatch {\n position: relative;\n box-sizing: content-box;\n display: flex;\n flex-flow: row;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-style: solid;\n border-width: 2px;\n border-color: white;\n border-radius: 4px; }\n\n.igv-ui-color-swatch:hover {\n border-color: dimgray; }\n\n.igv-ui-colorpicker-menu-close-button {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 32px;\n margin-top: 4px;\n margin-bottom: 4px;\n padding-right: 8px; }\n .igv-ui-colorpicker-menu-close-button i.fa {\n display: block;\n margin-left: 4px;\n margin-right: 4px;\n color: #5f5f5f; }\n .igv-ui-colorpicker-menu-close-button i.fa:hover,\n .igv-ui-colorpicker-menu-close-button i.fa:focus,\n .igv-ui-colorpicker-menu-close-button i.fa:active {\n cursor: pointer;\n color: #0f0f0f; }\n\n.igv-ui-generic-dialog-container {\n box-sizing: content-box;\n position: fixed;\n top: 0;\n left: 0;\n width: 300px;\n height: 200px;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n z-index: 2048;\n background-color: white;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-header {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-header div {\n margin-right: 4px;\n margin-bottom: 2px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-header div:hover {\n cursor: pointer;\n color: #444; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-one-liner {\n color: #373737;\n width: 95%;\n height: 24px;\n line-height: 24px;\n text-align: left;\n margin-top: 8px;\n padding-left: 8px;\n overflow-wrap: break-word;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input {\n margin-top: 8px;\n width: 95%;\n height: 24px;\n color: #373737;\n line-height: 24px;\n padding-left: 8px;\n background-color: white;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input div {\n width: 30%;\n height: 100%;\n font-size: 16px;\n text-align: right;\n padding-right: 8px;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input input {\n width: 50%;\n font-size: 16px; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-input {\n margin-top: 8px;\n width: calc(100% - 16px);\n height: 24px;\n color: #373737;\n line-height: 24px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-input input {\n font-size: 16px; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel {\n width: 100%;\n height: 28px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div {\n margin-top: 32px;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: 14px;\n font-weight: 400;\n width: 75px;\n height: 28px;\n line-height: 28px;\n text-align: center;\n border-color: transparent;\n border-style: solid;\n border-width: thin;\n border-radius: 2px; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:first-child {\n margin-left: 32px;\n margin-right: 0;\n background-color: #5ea4e0; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:last-child {\n margin-left: 0;\n margin-right: 32px;\n background-color: #c4c4c4; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:first-child:hover {\n cursor: pointer;\n background-color: #3b5c7f; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:last-child:hover {\n cursor: pointer;\n background-color: #7f7f7f; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok {\n width: 100%;\n height: 36px;\n margin-top: 32px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok div {\n width: 98px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n border-color: white;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok div:hover {\n cursor: pointer;\n background-color: #25597f; }\n\n.igv-ui-generic-container {\n box-sizing: content-box;\n position: absolute;\n z-index: 2048;\n background-color: white;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-ui-generic-container div:first-child {\n cursor: move;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n height: 24px;\n width: 100%;\n background-color: #dddddd; }\n .igv-ui-generic-container div:first-child div {\n display: block;\n color: #5f5f5f;\n cursor: pointer;\n width: 14px;\n height: 14px;\n margin-right: 8px;\n margin-bottom: 4px; }\n\n.igv-ui-dialog {\n z-index: 2048;\n position: fixed;\n width: fit-content;\n height: fit-content;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n background-color: white;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400; }\n .igv-ui-dialog .igv-ui-dialog-header {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-dialog .igv-ui-dialog-header div {\n margin-right: 4px;\n margin-bottom: 2px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-ui-dialog .igv-ui-dialog-header div:hover {\n cursor: pointer;\n color: #444; }\n .igv-ui-dialog .igv-ui-dialog-one-liner {\n width: 95%;\n height: 24px;\n line-height: 24px;\n text-align: left;\n margin: 8px;\n overflow-wrap: break-word;\n background-color: white;\n font-weight: bold; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel {\n width: 100%;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div {\n margin: 16px;\n margin-top: 32px;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: 14px;\n font-weight: 400;\n width: 75px;\n height: 28px;\n line-height: 28px;\n text-align: center;\n border-color: transparent;\n border-style: solid;\n border-width: thin;\n border-radius: 2px; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:first-child {\n background-color: #5ea4e0; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:last-child {\n background-color: #c4c4c4; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:first-child:hover {\n cursor: pointer;\n background-color: #3b5c7f; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:last-child:hover {\n cursor: pointer;\n background-color: #7f7f7f; }\n .igv-ui-dialog .igv-ui-dialog-ok {\n width: 100%;\n height: 36px;\n margin-top: 32px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-dialog .igv-ui-dialog-ok div {\n width: 98px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n border-color: white;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-ui-dialog .igv-ui-dialog-ok div:hover {\n cursor: pointer;\n background-color: #25597f; }\n\n.igv-ui-panel, .igv-ui-panel-column, .igv-ui-panel-row {\n z-index: 2048;\n background-color: white;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n display: flex;\n justify-content: flex-start;\n align-items: flex-start; }\n\n.igv-ui-panel-column {\n display: flex;\n flex-direction: column; }\n\n.igv-ui-panel-row {\n display: flex;\n flex-direction: row; }\n\n.igv-ui-textbox {\n background-color: white;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n display: flex;\n justify-content: flex-start;\n align-items: flex-start; }\n\n/*# sourceMappingURL=igv-ui.css.map */\n',document.head.insertBefore(Jo,document.head.childNodes[document.head.childNodes.length-1]))}var Jo;class ts{constructor(t,e){this.$container=de("<div>",{class:"igv-generic-dialog-container"}),t.append(this.$container),this.$container.offset({left:0,top:0});const n=de("<div>",{class:"igv-generic-dialog-header"});this.$container.append(n),xe(n[0],(()=>{this.$minimum_input.val(void 0),this.$maximum_input.val(void 0),this.$container.offset({left:0,top:0}),this.$container.hide()})),this.$minimum=de("<div>",{class:"igv-generic-dialog-label-input"}),this.$container.append(this.$minimum);const r=de("<div>");r.text("Minimum"),this.$minimum.append(r),this.$minimum_input=de("<input>"),this.$minimum.append(this.$minimum_input),this.$maximum=de("<div>",{class:"igv-generic-dialog-label-input"}),this.$container.append(this.$maximum);const i=de("<div>");i.text("Maximum"),this.$maximum.append(i),this.$maximum_input=de("<input>"),this.$maximum.append(this.$maximum_input);const o=de("<div>",{class:"igv-generic-dialog-ok-cancel"});this.$container.append(o),this.$ok=de("<div>"),o.append(this.$ok),this.$ok.text("OK"),this.$cancel=de("<div>"),o.append(this.$cancel),this.$cancel.text("Cancel"),this.$cancel.on("click",(()=>{this.$minimum_input.val(void 0),this.$maximum_input.val(void 0),this.$container.offset({left:0,top:0}),this.$container.hide()})),Ki(this.$container.get(0),n.get(0)),this.$container.hide()}configure(t){const e=t.dataRange();let n,r;e?(n=e.min,r=e.max):(n=0,r=100),this.$minimum_input.val(n),this.$maximum_input.val(r),this.$minimum_input.unbind(),this.$minimum_input.on("keyup",(e=>{13===e.keyCode&&this.processResults(t)})),this.$maximum_input.unbind(),this.$maximum_input.on("keyup",(e=>{13===e.keyCode&&this.processResults(t)})),this.$ok.unbind(),this.$ok.on("click",(e=>{this.processResults(t)}))}processResults(t){const e=parseFloat(this.$minimum_input.val()),n=parseFloat(this.$maximum_input.val());isNaN(e)||isNaN(n)?qo.presentAlert(new Error("Must input numeric values"),void 0):t.setDataRange(e,n),this.$minimum_input.val(void 0),this.$maximum_input.val(void 0),this.$container.offset({left:0,top:0}),this.$container.hide()}present(t){const e=t.offset().top,n=de("body").scrollTop();this.$container.offset({left:t.width()-this.$container.width(),top:e+n}),this.$container.show()}}const es={configureHighDPICanvas:function(t,e,n){const r=window.devicePixelRatio;t.canvas.style.width=`${e}px`,t.canvas.width=Math.floor(r*e),t.canvas.style.height=`${n}px`,t.canvas.height=Math.floor(r*n),t.scale(r,r)},setProperties:function(t,e){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];t[n]=r}},strokeLine:function(t,e,n,r,i,o){e=Math.floor(e)+.5,n=Math.floor(n)+.5,r=Math.floor(r)+.5,i=Math.floor(i)+.5,o&&(t.save(),es.setProperties(t,o)),t.beginPath(),t.moveTo(e,n),t.lineTo(r,i),t.stroke(),o&&t.restore()},fillRect:function(t,e,n,r,i,o){e=Math.round(e),n=Math.round(n),o&&(t.save(),es.setProperties(t,o)),t.fillRect(e,n,r,i),o&&t.restore()},fillPolygon:function(t,e,n,r){r&&(t.save(),es.setProperties(t,r)),ns(t,e,n),t.fill(),r&&t.restore()},strokePolygon:function(t,e,n,r){r&&(t.save(),es.setProperties(t,r)),ns(t,e,n),t.stroke(),r&&t.restore()},fillText:function(t,e,n,r,i,o){if((i||o)&&t.save(),i&&es.setProperties(t,i),o){for(var s in t.translate(n,r),o){var a=o[s];"translate"===s&&t.translate(a.x,a.y),"rotate"===s&&t.rotate(a.angle*Math.PI/180)}t.fillText(e,0,0)}else t.fillText(e,n,r);(i||o)&&t.restore()},strokeText:function(t,e,n,r,i,o){if((i||o)&&t.save(),i&&es.setProperties(t,i),o){for(var s in t.translate(n,r),o){var a=o[s];"translate"===s&&t.translate(a.x,a.y),"rotate"===s&&t.rotate(a.angle*Math.PI/180)}t.strokeText(e,0,0)}else t.strokeText(e,n,r);(i||o)&&t.restore()},strokeCircle:function(t,e,n,r,i){i&&(t.save(),es.setProperties(t,i)),t.beginPath(),t.arc(e,n,r,0,2*Math.PI),t.stroke(),i&&t.restore()},fillCircle:function(t,e,n,r,i){i&&(t.save(),es.setProperties(t,i)),t.beginPath(),t.arc(e,n,r,0,2*Math.PI),t.fill(),i&&t.restore()},drawArrowhead:function(t,e,n,r,i){t.save(),r||(r=5),i&&(t.lineWidth=i),t.beginPath(),t.moveTo(e,n-r/2),t.lineTo(e,n+r/2),t.lineTo(e+r,n),t.lineTo(e,n-r/2),t.closePath(),t.fill(),t.restore()},dashedLine:function(t,e,n,r,i,o,s={}){void 0===o&&(o=2),t.setLineDash([o,o]),es.strokeLine(t,e,n,r,i,s),t.setLineDash([])},roundRect:function(t,e,n,r,i,o,s,a){void 0===a&&(a=!0),void 0===o&&(o=5),t.beginPath(),t.moveTo(e+o,n),t.lineTo(e+r-o,n),t.quadraticCurveTo(e+r,n,e+r,n+o),t.lineTo(e+r,n+i-o),t.quadraticCurveTo(e+r,n+i,e+r-o,n+i),t.lineTo(e+o,n+i),t.quadraticCurveTo(e,n+i,e,n+i-o),t.lineTo(e,n+o),t.quadraticCurveTo(e,n,e+o,n),t.closePath(),a&&t.stroke(),s&&t.fill()},polygon:function(t,e,n,r,i){void 0===i&&(i=!0),t.beginPath();var o=e.length;t.moveTo(e[0],n[0]);for(var s=1;s<o;s++)t.lineTo(e[s],n[s]);t.closePath(),i&&t.stroke(),r&&t.fill()}};function ns(t,e,n){var r,i=e.length;for(r=0;r<i;r++)e[r]=Math.round(e[r]),n[r]=Math.round(n[r]);for(t.beginPath(),t.moveTo(e[0],n[0]),r=1;r<i;r++)t.lineTo(e[r],n[r]);t.closePath()}const rs={gwascatalog:{fields:["bin","chr","start","end","name","pubMedID","author","pubDate","journal","title","trait","initSample","replSample","region","genes","riskAllele","riskAlFreq","pValue","pValueDesc","orOrBeta","ci95","platform","cnv"]},wgrna:{fields:["bin","chr","start","end","name","score","strand","thickStart","thickEnd","type"]},cpgislandext:{fields:["bin","chr","start","end","name","length","cpgNum","gcNum","perCpg","perGc","obsExp"]},clinVarMain:{fields:["chr1","start","end","name","score","strand","thickStart","thickEnd","reserved","blockCount","blockSizes","chromStarts","origName","clinSign","reviewStatus","type","geneId","snpId","nsvId","rcvAcc","testedInGtr","phenotypeList","phenotype","origin","assembly","cytogenetic","hgvsCod","hgvsProt","numSubmit","lastEval","guidelines","otherIds"]}},is=new Set(["narrowpeak","broadpeak","regionpeak","peaks","bedgraph","wig","gff3","gff","gtf","fusionjuncspan","refflat","seg","aed","bed","vcf","bb","bigbed","bw","bigwig","bam","tdf","refgene","genepred","genepredext","bedpe","bp","snp","rmsk","cram","gwas","maf","mut"]);function os(t){if(function(t){t.featureType&&(t.type=t.type||t.featureType,t.featureType=void 0);"junctions"===t.type?t.type="junction":"bed"===t.type?(t.type="annotation",t.format=t.format||"bed"):"annotations"===t.type?t.type="annotation":"alignments"===t.type?t.type="alignment":"bam"===t.type?(t.type="alignment",t.format="bam"):"vcf"===t.type?(t.type="variant",t.format="vcf"):"t2d"===t.type?t.type="gwas":"FusionJuncSpan"!==t.type||t.format?"aed"===t.type&&(t.type="annotation",t.format=t.format||"aed"):t.format="fusionjuncspan"}(t),t.type)return t.type;if(t.format){switch(t.format.toLowerCase()){case"bw":case"bigwig":case"wig":case"bedgraph":case"tdf":return"wig";case"vcf":return"variant";case"seg":return"seg";case"mut":case"maf":return"mut";case"bam":case"cram":return"alignment";case"bedpe":case"bedpe-loop":return"interact";case"bp":return"arc";case"gwas":return"gwas";case"bed":case"bigbed":case"bb":return"bedtype";default:return"annotation"}}}const ss=function(t,e,n,r,i){this.name=t,this.order=e,this.bpStart=n,this.bpLength=r,this.rangeLocus=i};function as(t){const e=new Set(["boolean","number","string","symbol"]),n=typeof t;return void 0!==t&&(e.has(n)||t.substring||t.toFixed)}function cs(t,e){var n={oauthToken:t.oauthToken,headers:t.headers,withCredentials:t.withCredentials,filename:t.filename};return Object.assign(n,e)}const ls=function(t){var e,n;return t.length>0?(e=Number.MAX_VALUE,n=-Number.MAX_VALUE,t.forEach((function(t){Number.isNaN(t.value)||(e=Math.min(e,t.value),n=Math.max(n,t.value))})),n>0&&(e=Math.min(0,e)),n<0&&(n=0)):(e=0,n=100),{min:e,max:n}},hs=function(t,e,n){let r=e.start,i=e.end;if(void 0===i)r-=n/2,i=r+n,i>t?(i=t,r=i-n):r<0&&(r=0,i=n);else if(i-r<n){const e=(i+r)/2;e-n/2<0?(r=0,i=r+n):e+n/2>t?(i=t,r=i-n):(r=e-n/2,i=r+n)}e.start=Math.ceil(r),e.end=Math.floor(i)};async function us(t){if(_e(t)&&t.startsWith("https://drive.google.com")){if(void 0===Be())throw Error("Google drive is referenced, but API key is not defined. An API key is required for Google Drive access");const e=await async function(t){let e="https://www.googleapis.com/drive/v3/files/"+Ie(t)+"?supportsTeamDrives=true";const n=Be();n&&(e+="&key="+n);const r=await fetch(e);let i=await r.json();if(i.error&&404===i.error.code){const{access_token:t}=await De("https://www.googleapis.com/auth/drive.readonly");if(!t)throw Error(i.error);{const n=await fetch(e,{headers:{Authorization:`Bearer ${t}`}});if(i=await n.json(),i.error)throw Error(i.error)}}return i}(t);return e.originalFileName||e.name}return He(t)}function fs(t){var e,n;return t>1e7?(e=" mb",n=t/1e6,Math.floor(n).toString()+e):t>1e4?(e=" kb",n=t/1e3,ke(Math.floor(n))+e):ke(t)+" bp"}function ds(t){return _e(t)&&t.startsWith("data:")}const ps=Se,gs=new Set(["fastaURL","indexURL","cytobandURL","indexed"]);class ms{constructor(t){this.fastaURL=t.fastaURL,this.withCredentials=t.withCredentials,this.chromosomeNames=[],this.chromosomes={},this.sequences=new Map,this.offsets={};const e={};for(let n in t)t.hasOwnProperty(n)&&!gs.has(n)&&(e[n]=t[n]);this.config=e}async init(){return this.loadAll()}async getSequence(t,e,n){this.offsets[t]&&(e-=this.offsets[t],n-=this.offsets[t]);let r="";if(e<0)for(let t=e;t<Math.min(n,0);t++)r+="*";if(n<=0)return Promise.resolve(r);const i=this.sequences.get(t),o=Math.min(n,i.length);return r+i.substring(e,o)}async loadAll(){let t;if(ds(this.fastaURL)){let e=Ui(this.fastaURL);t="";for(let n of e)t+=String.fromCharCode(n)}else t=await so.load(this.fastaURL,cs(this.config));const e=ps(t),n=e.length;let r,i,o,s,a=0,c=0,l=0;for(;a<n;)if(o=e[a++].trim(),o.startsWith("#")||0===o.length);else if(o.startsWith(">")){r&&(this.chromosomeNames.push(s),this.sequences.set(s,r),this.chromosomes[s]=new ss(s,l++,c,c+r.length,i));const t=o.substr(1).split(/\s+/)[0].split(":");if(s=t[0],r="",c=0,i=void 0,t.length>1&&t[1].indexOf("-")>0){const e=t[1].split("-");2===e.length&&/^[0-9]+$/.test(e[0])&&/^[0-9]+$/.test(e[1]);const n=Number.parseInt(e[0]);Number.parseInt(e[1])>n&&(c=n-1,this.offsets[s]=c,i=t[1])}}else r+=o;r&&(this.chromosomeNames.push(s),this.sequences.set(s,r),this.chromosomes[s]=new ss(s,l++,c,c+r.length,i))}}const vs=function(t,e,n,r){this.chr=t,this.start=e,this.end=n,this.features=r};vs.prototype.contains=function(t,e,n){return this.chr===t&&this.start<=e&&this.end>=n},vs.prototype.containsRange=function(t){return this.chr===t.chr&&this.start<=t.start&&this.end>=t.end};const bs=Se,ws=new Set(["fastaURL","indexURL","cytobandURL","indexed"]);class ys{constructor(t){this.file=t.fastaURL,this.indexFile=t.indexURL||t.indexFile||this.file+".fai",this.withCredentials=t.withCredentials,this.chromosomeNames=[],this.chromosomes={},this.sequences={},this.offsets={};const e={};for(let n in t)t.hasOwnProperty(n)&&!ws.has(n)&&(e[n]=t[n]);this.config=e}async init(){return this.getIndex()}async getSequence(t,e,n){if(!this.interval||!this.interval.contains(t,e,n)){let r=e,i=n;if(n-e<5e4){const t=n-e,o=Math.round(e+t/2);r=Math.max(0,o-25e3),i=o+25e3}const o=await this.readSequence(t,r,i);this.interval=new vs(t,r,i,o)}const r=e-this.interval.start,i=n-e;return this.interval.features?this.interval.features.substr(r,i):null}async getIndex(){if(this.index)return this.index;{const t=await so.load(this.indexFile,cs(this.config)),e=bs(t),n=e.length;let r=0,i=0;for(this.index={};r<n;){const t=e[r++].split("\t");if(5===t.length){const e=t[0],n=parseInt(t[1]),r={size:n,position:parseInt(t[2]),basesPerLine:parseInt(t[3]),bytesPerLine:parseInt(t[4])};this.chromosomeNames.push(e),this.index[e]=r,this.chromosomes[e]=new ss(e,i++,0,n)}}return this.index}}async readSequence(t,e,n){await this.getIndex();const r=this.index[t];if(r){const i=Math.max(0,e),o=Math.min(r.size,n),s=r.bytesPerLine,a=r.basesPerLine,c=r.position,l=s-a,h=Math.floor(i/a),u=Math.floor(o/a),f=i-h*a,d=c+h*s+f,p=c+u*s+(o-u*a)-1-d+1;let g;if(p<=0?console.error("No sequence for "+t+":"+e+"-"+n):g=await so.load(this.file,cs(this.config,{range:{start:d,size:p}})),g){let t,e="",n=0,r=g.length;for(f>0&&(t=Math.min(o-i,a-f),e+=g.substr(n,t),n+=t+l);n<r;)t=Math.min(a,r-n),e+=g.substr(n,t),n+=t+l;return e}return null}return console.log("No index entry for chr: "+t),this.interval=new vs(t,e,n,null),null}}const xs=function(t,e,n,r){this.start=t,this.end=e,this.name=n,this.stain=0,"acen"===r?this.type="c":(this.type=r.charAt(1),"p"===this.type&&(this.stain=parseInt(r.substring(4))))};function _s(){return"2.10.0"}const ks=Se,Ss={loadGenome:async function(t){const e=t.cytobandURL,n=t.aliasURL,r=await async function(t){let e;return e=ds(t.fastaURL)||!1===t.indexed?new ms(t):new ys(t),await e.init(),e}(t);let i,o;return e&&(i=await async function(t,e){let n;if(ds(t)){const e=Ui(t);n="";const r=e.length;for(let t=0;t<r;t++)n+=String.fromCharCode(e[t])}else n=await so.loadString(t,cs(e));const r={};let i,o=[];const s=ks(n);for(let t of s){var a=t.split("\t"),c=a[0];if(i||(i=c),c!==i&&(r[i]=o,o=[],i=c),5===a.length){var l=parseInt(a[1]),h=parseInt(a[2]),u=a[3],f=a[4];o.push(new xs(l,h,u,f))}}return r}(e,r.config)),n&&(o=await function(t,e){return so.loadString(t,cs(e)).then((function(t){var e=ks(t),n=[];return e.forEach((function(t){!t.startsWith("#")&&t.length>0&&n.push(t.split("\t"))})),n}))}(n,r.config)),new Cs(t,r,i,o)},initializeGenomes:async function(t){if(!Ss.KNOWN_GENOMES){const n={};if(!1!==t.loadDefaultGenomes)try{const t=`https://igv.org/genomes/genomes.json?randomSeed=${Math.random().toString(36)}&version=2.10.0`;e(await so.loadJson(t,{timeout:5e3}))}catch(t){console.error(t);const n=`https://s3.amazonaws.com/igv.org.genomes/genomes.json?randomSeed=${Math.random().toString(36)}&version=2.10.0`;e(await so.loadJson(n,{}))}const r=t.genomeList||t.genomes;if(r)if("string"==typeof r){e(await so.loadJson(r,{}))}else e(r);function e(t){return t.forEach((function(t){n[t.id]=t})),n}Ss.KNOWN_GENOMES=n}},isWholeGenomeView:function(t){return"all"===t.toLowerCase()},expandReference:function(t){if(_e(t)&&t.startsWith("{"))try{t=JSON.parse(t)}catch(t){}let e;if(_e(t)?e=t:t.genome?e=t.genome:void 0!==t.id&&void 0===t.fastaURL&&(e=t.id),e){const t=Ss.KNOWN_GENOMES[e];return t||qo.presentAlert(new Error(`Unknown genome id: ${e}`),void 0),t}return t}};class Cs{constructor(t,e,n,r){this.config=t,this.id=t.id,this.sequence=e,this.chromosomeNames=e.chromosomeNames,this.chromosomes=e.chromosomes,this.ideograms=n,this.featureDB={},this.wholeGenomeView=void 0===t.wholeGenomeView||t.wholeGenomeView,this.wholeGenomeView&&Object.keys(e.chromosomes).length>1?function(t,e){let n;if(e.chromosomeOrder)Array.isArray(e.chromosomeOrder)?t.wgChromosomeNames=e.chromosomeOrder:t.wgChromosomeNames=e.chromosomeOrder.split(",").map((t=>t.trim())),n=t.wgChromosomeNames.map((e=>t.chromosomes[e])).filter((t=>void 0!==t));else{const e=Object.keys(t.chromosomes).map((e=>t.chromosomes[e].bpLength)).reduce(((t,e)=>Math.max(t,e)))/50;n=Object.values(t.chromosomes).filter((t=>t.bpLength>e));const r=n.filter((t=>i(t.name.replace("chr","")))),o=n.filter((t=>!i(t.name.replace("chr",""))));r.sort(((t,e)=>Number.parseInt(t.name.replace("chr",""))-Number.parseInt(e.name.replace("chr",""))));const s=r.map((t=>t.name));for(let t of o)s.push(t.name);t.wgChromosomeNames=s}const r=n.reduce(((t,e)=>t+e.bpLength),0);function i(t){return/^\d+$/.test(t)}t.chromosomes.all={name:"all",bpLength:r}}(this,t):this.wgChromosomeNames=e.chromosomeNames;var i={},o=this;i.all="all",this.chromosomeNames.forEach((function(t){var e=t.startsWith("chr")?t.substring(3):"chr"+t;i[e.toLowerCase()]=t,"chrM"===t&&(i.mt="chrM"),"MT"===t&&(i.chrm="MT"),i[t.toLowerCase()]=t})),r&&r.forEach((function(t){var e,n;for(n=0;n<t.length;n++)if(o.chromosomes[t[n]]){e=t[n];break}e&&t.forEach((function(t){t!==e&&(i[t.toLowerCase()]=e,i[t]=e)}))})),this.chrAliasTable=i}showWholeGenomeView(){return!1!==this.config.wholeGenomeView}toJSON(){return Object.assign({},this.config,{tracks:void 0})}getInitialLocus(){}getHomeChromosomeName(){return this.showWholeGenomeView()&&this.chromosomes.hasOwnProperty("all")?"all":this.chromosomeNames[0]}getChromosomeName(t){var e=this.chrAliasTable[t.toLowerCase()];return e||t}getChromosome(t){return t=this.getChromosomeName(t),this.chromosomes[t]}getCytobands(t){return this.ideograms?this.ideograms[t]:null}getLongestChromosome(){var t,e=this.chromosomes;for(let r in e){if(e.hasOwnProperty(r)){var n=e[r];(void 0===t||n.bpLength>t.bpLength)&&(t=n)}return t}}getChromosomes(){return this.chromosomes}getGenomeCoordinate(t,e){var n=this.getCumulativeOffset(t);if(void 0!==n)return n+e}getChromosomeCoordinate(t){let e;void 0===this.cumulativeOffsets&&(this.cumulativeOffsets=computeCumulativeOffsets.call(this));let n=0;for(let r of this.wgChromosomeNames){const i=this.cumulativeOffsets[r];if(i>t){return{chr:e,position:t-n}}e=r,n=i}return{chr:this.chromosomeNames[this.chromosomeNames.length-1],position:0}}getCumulativeOffset(t){void 0===this.cumulativeOffsets&&(this.cumulativeOffsets=function(){let t=this,e={},n=0;for(let r of t.wgChromosomeNames){e[r]=Math.floor(n);n+=t.getChromosome(r).bpLength}return e}.call(this));const e=this.getChromosomeName(t);return this.cumulativeOffsets[e]}getGenomeLength(){let t=this;if(!this.bpLength){let e=0;t.wgChromosomeNames.forEach((function(n){let r=t.chromosomes[n];e+=r.bpLength})),this.bpLength=e}return this.bpLength}async getSequence(t,e,n){return this.sequence.getSequence(t,e,n)}}const Es={cantaloupe:{r:255,g:206,b:110},honeydew:{r:206,g:250,b:110},spindrift:{r:104,g:251,b:208},sky:{r:106,g:207,b:255},lavender:{r:210,g:120,b:255},carnation:{r:255,g:127,b:211},licorice:{r:0,g:0,b:0},snow:{r:255,g:255,b:255},salmon:{r:255,g:114,b:110},banana:{r:255,g:251,b:109},flora:{r:104,g:249,b:110},ice:{r:104,g:253,b:255},orchid:{r:110,g:118,b:255},bubblegum:{r:255,g:122,b:255},lead:{r:30,g:30,b:30},mercury:{r:232,g:232,b:232},tangerine:{r:255,g:136,b:2},lime:{r:131,g:249,b:2},sea_foam:{r:3,g:249,b:135},aqua:{r:0,g:140,b:255},grape:{r:137,g:49,b:255},strawberry:{r:255,g:41,b:135},tungsten:{r:58,g:58,b:58},silver:{r:208,g:208,b:208},maraschino:{r:255,g:33,b:1},lemon:{r:255,g:250,b:3},spring:{r:5,g:248,b:2},turquoise:{r:0,g:253,b:255},blueberry:{r:0,g:46,b:255},magenta:{r:255,g:57,b:255},iron:{r:84,g:84,b:83},magnesium:{r:184,g:184,b:184},mocha:{r:137,g:72,b:0},fern:{r:69,g:132,b:1},moss:{r:1,g:132,b:72},ocean:{r:0,g:74,b:136},eggplant:{r:73,g:26,b:136},maroon:{r:137,g:22,b:72},steel:{r:110,g:110,b:110},aluminum:{r:160,g:159,b:160},cayenne:{r:137,g:17,b:0},aspargus:{r:136,g:133,b:1},clover:{r:2,g:132,b:1},teal:{r:0,g:134,b:136},midnight:{r:0,g:24,b:136},plum:{r:137,g:30,b:136},tin:{r:135,g:134,b:135},nickel:{r:136,g:135,b:135}};const As={Set1:["rgb(228,26,28)","rgb(55,126,184)","rgb(77,175,74)","rgb(166,86,40)","rgb(152,78,163)","rgb(255,127,0)","rgb(247,129,191)","rgb(153,153,153)","rgb(255,255,51)"],Dark2:["rgb(27,158,119)","rgb(217,95,2)","rgb(117,112,179)","rgb(231,41,138)","rgb(102,166,30)","rgb(230,171,2)","rgb(166,118,29)","rgb(102,102,102)"],Set2:["rgb(102, 194,165)","rgb(252,141,98)","rgb(141,160,203)","rgb(231,138,195)","rgb(166,216,84)","rgb(255,217,47)","rgb(229,196,148)","rgb(179,179,179)"],Set3:["rgb(141,211,199)","rgb(255,255,179)","rgb(190,186,218)","rgb(251,128,114)","rgb(128,177,211)","rgb(253,180,98)","rgb(179,222,105)","rgb(252,205,229)","rgb(217,217,217)","rgb(188,128,189)","rgb(204,235,197)","rgb(255,237,111)"],Pastel1:["rgb(251,180,174)","rgb(179,205,227)","rgb(204,235,197)","rgb(222,203,228)","rgb(254,217,166)","rgb(255,255,204)","rgb(229,216,189)","rgb(253,218,236)"],Pastel2:["rgb(173,226,207)","rgb(253,205,172)","rgb(203,213,232)","rgb(244,202,228)","rgb(230,245,201)","rgb(255,242,174)","rgb(243,225,206)"],Accent:["rgb(127,201,127)","rgb(190,174,212)","rgb(253,192,134)","rgb(255,255,153)","rgb(56,108,176)","rgb(240,2,127)","rgb(191,91,23)"]};class Ts{constructor(t){this.colors=As[t],Array.isArray(this.colors)||(this.colors=[]),this.colorTable={},this.nextIdx=0,this.colorGenerator=new Rs}getColor(t){return this.colorTable.hasOwnProperty(t)||(this.nextIdx<this.colors.length?this.colorTable[t]=this.colors[this.nextIdx]:this.colorTable[t]=this.colorGenerator.get(),this.nextIdx++),this.colorTable[t]}}class Ls{constructor(t){this.colorTable=t||{},this.nextIdx=0,this.colorGenerator=new Rs}getColor(t){if(!this.colorTable.hasOwnProperty(t)){if(this.colorTable.hasOwnProperty("*"))return this.colorTable["*"];this.colorTable[t]=this.colorGenerator.get()}return this.colorTable[t]}}function Rs(){this.hue=Math.random(),this.goldenRatio=.618033988749895,this.hexwidth=2}Rs.prototype.hsvToRgb=function(t,e,n){var r=Math.floor(6*t),i=6*t-r,o=n*(1-e),s=n*(1-i*e),a=n*(1-(1-i)*e),c=255,l=255,h=255;switch(r){case 0:c=n,l=a,h=o;break;case 1:c=s,l=n,h=o;break;case 2:c=o,l=n,h=a;break;case 3:c=o,l=s,h=n;break;case 4:c=a,l=o,h=n;break;case 5:c=n,l=o,h=s}return[Math.floor(256*c),Math.floor(256*l),Math.floor(256*h)]},Rs.prototype.padHex=function(t){return t.length>this.hexwidth?t:new Array(this.hexwidth-t.length+1).join("0")+t},Rs.prototype.get=function(t,e){this.hue+=this.goldenRatio,this.hue%=1,"number"!=typeof t&&(t=.5),"number"!=typeof e&&(e=.95);var n=this.hsvToRgb(this.hue,t,e);return"#"+this.padHex(n[0].toString(16))+this.padHex(n[1].toString(16))+this.padHex(n[2].toString(16))};const Ms=new Rs;const Is=ke;class Ns{constructor(t){this.browser=t,this.height=40,this.name="",this.id="ruler",this.disableButtons=!0,this.ignoreTrackMenu=!0,this.order=.01*Number.MIN_SAFE_INTEGER,this.removable=!1,this.type="ruler"}async getFeatures(t,e,n){return[]}computePixelHeight(t){return this.height}draw({context:t,viewport:e,referenceFrame:n,pixelWidth:r,pixelHeight:i,bpPerPixel:o,bpStart:s}){if(Ss.isWholeGenomeView(n.chr))e.rulerSweeper.disableMouseHandlers(),this.drawWholeGenome({context:t,pixelWidth:r,pixelHeight:i,bpPerPixel:o});else{e.rulerSweeper.addMouseHandlers(),t.clearRect(0,0,r,i);const o=6,a=2,c=function(t,e){if(t<10)return new Fs(1,"bp",1);const n=Math.floor(Math.log10(t));let r="bp",i=1;n>9?(r="gb",i=1e9):n>6?(r="mb",i=1e6):n>3&&(r="kb",i=1e3);const o=Math.pow(10,n-1),s=t/o,a=75,c=Math.pow(10,n-1),l=Math.pow(10,n)/2;return new Fs(s<a&&!0!==e?c:l,r,i)}(Math.floor(n.toBP(r)),t.isSVG);let l=Math.floor(s/c.majorTick)-1;const{tickDelta:h,labelLength:u}=function(t,e,n,r,i){const o=l(e,c(1+r,i),n)-l(e,c(r,i),n),s=`${ke(Math.floor(c(r,i)/i.unitMultiplier))} ${i.majorUnit}`,a=Math.floor(t.measureText(s).width);return{tickDelta:o,labelLength:a};function c(t,e){return Math.floor(t*e.majorTick)}function l(t,e,n){return Math.round(t.toPixels(e-1-n+.5))}}(t,n,s,l,c);let f,d;this.browser.referenceFrameList.indexOf(n);let p=h;const g=.25*u;do{d=Math.floor(l*c.majorTick);const e=`${ke(Math.floor(d/c.unitMultiplier))} ${c.majorUnit}`;f=Math.round(n.toPixels(d-1-s+.5));const r=Math.round(f-t.measureText(e).width/2);r>0&&g+u<=p&&(es.fillText(t,e,r,this.height-o/.75),p=0),f>0&&es.strokeLine(t,f,this.height-o,f,this.height-a),d=Math.floor((1+l)*c.majorTick);let i=f+(Math.round(n.toPixels(d-1-s+.5))-f)/2;i>0&&es.strokeLine(t,i,this.height-o,i,this.height-a),++l,p+=h}while(f<r);es.strokeLine(t,0,this.height-a,r,this.height-a)}}drawWholeGenome({context:t,pixelWidth:e,pixelHeight:n,bpPerPixel:r}){t.save(),es.fillRect(t,0,0,e,n,{fillStyle:"white"});for(let e of this.browser.genome.wgChromosomeNames){let i=this.browser.genome.getCumulativeOffset(e),o=this.browser.genome.getChromosome(e).bpLength,s=Math.round(i/r),a=Math.round(o/r);this.renderChromosomeRect(t,s,0,a,n,e)}t.restore()}renderChromosomeRect(t,e,n,r,i,o){t.textAlign="center",t.textBaseline="middle",t.font="12px sans-serif",es.strokeLine(t,e+r,n,e+r,n+i,{strokeStyle:Xi.greyScale(191)});const s=o.startsWith("chr")?o.substring(3):o;r>t.measureText(s).width&&es.fillText(t,s,e+r/2,n+i/2,{fillStyle:Xi.greyScale(68)})}supportsWholeGenome(){return!0}dispose(){}}class Fs{constructor(t,e,n){this.majorTick=t,this.minorTick=t/10,this.majorUnit=e,this.unitMultiplier=n}description(t){console.log((t||"")+" tick "+Is(this.majorTick)+" label width "+Is(this.labelWidthBP)+" multiplier "+this.unitMultiplier)}}const Ps=Number.MIN_SAFE_INTEGER,Os={TTT:"F",TTC:"F",TTA:"L",TTG:"L",CTT:"L",CTC:"L",CTA:"L",CTG:"L",ATT:"I",ATC:"I",ATA:"I",ATG:"M",GTT:"V",GTC:"V",GTA:"V",GTG:"V",TCT:"S",TCC:"S",TCA:"S",TCG:"S",CCT:"P",CCC:"P",CCA:"P",CCG:"P",ACT:"T",ACC:"T",ACA:"T",ACG:"T",GCT:"A",GCC:"A",GCA:"A",GCG:"A",TAT:"Y",TAC:"Y",TAA:"STOP",TAG:"STOP",CAT:"H",CAC:"H",CAA:"Q",CAG:"Q",AAT:"N",AAC:"N",AAA:"K",AAG:"K",GAT:"D",GAC:"D",GAA:"E",GAG:"E",TGT:"C",TGC:"C",TGA:"STOP",TGG:"W",CGT:"R",CGC:"R",CGA:"R",CGG:"R",AGT:"S",AGC:"S",AGA:"R",AGG:"R",GGT:"G",GGC:"G",GGA:"G",GGG:"G"},Ds={},Bs=["A","G","C","T","Y","R","W","S","K","M","D","V","H","B","N","X"],zs=["T","C","G","A","R","Y","W","S","M","K","H","B","D","V","N","X"];for(let t=0;t<Bs.length;t++)Ds[Bs[t]]=zs[t],Ds[Bs[t].toLowerCase()]=zs[t].toLowerCase();class js{constructor(t,e){this.type="sequence",this.browser=e,this.removable=!1,this.config=t,this.name="Sequence",this.id="sequence",this.sequenceType=t.sequenceType||"dna",this.height=25,this.disableButtons=!1,this.order=t.order||Ps,this.ignoreTrackMenu=!1,this.reversed=!1,this.frameTranslate=!1}menuItemList(){return[{name:this.reversed?"Forward":"Reverse",click:()=>{this.reversed=!this.reversed,this.trackView.repaintViews()}},{name:this.frameTranslate?"Close Translation":"Three-frame Translate",click:()=>{if(this.frameTranslate=!this.frameTranslate,this.frameTranslate){for(let t of this.trackView.viewports)t.setContentHeight(115);this.trackView.setTrackHeight(115)}else{for(let t of this.trackView.viewports)t.setContentHeight(25);this.trackView.setTrackHeight(25)}this.trackView.repaintViews()}}]}contextMenuItemList(t){const e=t.viewport;return e.referenceFrame.bpPerPixel<=1?[{label:"View visible sequence...",click:async()=>{const t=e.getWidth()*e.referenceFrame.bpPerPixel,n=e.referenceFrame.chr,r=e.referenceFrame.start,i=r+t,o=await this.browser.genome.sequence.getSequence(n,r,i);qo.presentAlert(o)}},{label:"Copy visible sequence",click:async()=>{const t=e.getWidth()*e.referenceFrame.bpPerPixel,n=e.referenceFrame.chr,r=e.referenceFrame.start,i=r+t,o=await this.browser.genome.sequence.getSequence(n,r,i);navigator.clipboard.writeText(o)}},"<hr/>"]:void 0}translateSequence(t){const e=[[],[],[]];for(let n of[0,1,2]){let r=n;for(;t.length-r>=3;){let i=t.slice(r,r+3);this.reversed&&(i=i.split("").reverse().join(""));const o=Os[i.toUpperCase()]||"";e[n].push({codons:i,aminoA:o}),r+=3}}return e}async getFeatures(t,e,n,r){if(r&&r>1)return null;return{bpStart:e,sequence:await this.browser.genome.sequence.getSequence(t,e,n)}}draw(t){const e=t.context;if(t.features){const n=t.features.sequence,r=t.features.bpStart,i=1+t.bpStart+t.pixelWidth*t.bpPerPixel;let o=15;for(let s=r;s<=i;s++){let i=Math.floor(s-r);if(i<n.length){let r=n[i];this.reversed&&(r=Ds[r]||"");let a=s-t.bpStart,c=a/t.bpPerPixel,l=(a+1)/t.bpPerPixel,h=this.fillColor(r);if(t.bpPerPixel>.1)es.fillRect(e,c,5,l-c,o-5,{fillStyle:h});else{let t=.5*(c+l-e.measureText(r).width);es.strokeText(e,r,t,o,{strokeStyle:h})}}}if(this.frameTranslate){let r;this.reversed?(r=n.split("").map((function(t){return Ds[t]})),r=r.join("")):r=n;let i=o,s=this.translateSequence(r);for(let n of s){let r=s.indexOf(n),o=r,a=25;i=0===r?i+10:i+30;for(let r of n){let s,c=n.indexOf(r),l=c+o+2*c,h=0==c%2?"rgb(160,160,160)":"rgb(224,224,224)",u=Math.floor(l/t.bpPerPixel),f=Math.floor((l+3)/t.bpPerPixel),d=Math.round((u+f)/2);r.aminoA.indexOf("STOP")>-1?(h="rgb(255, 0, 0)",s="STOP"):s=r.aminoA,"M"===r.aminoA&&(h="rgb(0, 153, 0)",s="START"),es.fillRect(e,u,i,f-u,a,{fillStyle:h}),t.bpPerPixel<=.1&&es.strokeText(e,s,d-e.measureText(s).width/2,i+15)}}}}}supportsWholeGenome(){return!1}computePixelHeight(t){return this.height}fillColor(t){return this.color?this.color:"dna"===this.sequenceType?this.browser.nucleotideColors[t]||"gray":"rgb(0, 0, 150)"}}
25
+ function(t){var e,n,r,i,o,s,a,l,c,h,u,f,d,p,g,m,v,b,w,y="sizzle"+1*new Date,x=t.document,_=0,k=0,S=st(),C=st(),E=st(),A=function(t,e){return t===e&&(u=!0),0},T={}.hasOwnProperty,L=[],M=L.pop,R=L.push,I=L.push,N=L.slice,P=function(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1},F="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",O="[\\x20\\t\\r\\n\\f]",D="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",B="\\[[\\x20\\t\\r\\n\\f]*("+D+")(?:"+O+"*([*^$|!~]?=)"+O+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+D+"))|)"+O+"*\\]",z=":("+D+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+B+")*)|.*)\\)|)",H=new RegExp(O+"+","g"),V=new RegExp("^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$","g"),j=new RegExp("^[\\x20\\t\\r\\n\\f]*,[\\x20\\t\\r\\n\\f]*"),U=new RegExp("^[\\x20\\t\\r\\n\\f]*([>+~]|[\\x20\\t\\r\\n\\f])[\\x20\\t\\r\\n\\f]*"),q=new RegExp("=[\\x20\\t\\r\\n\\f]*([^\\]'\"]*?)[\\x20\\t\\r\\n\\f]*\\]","g"),W=new RegExp(z),$=new RegExp("^"+D+"$"),G={ID:new RegExp("^#("+D+")"),CLASS:new RegExp("^\\.("+D+")"),TAG:new RegExp("^("+D+"|[*])"),ATTR:new RegExp("^"+B),PSEUDO:new RegExp("^"+z),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)","i"),bool:new RegExp("^(?:"+F+")$","i"),needsContext:new RegExp("^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)","i")},Z=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Q=/[+~]/,J=new RegExp("\\\\([\\da-f]{1,6}[\\x20\\t\\r\\n\\f]?|([\\x20\\t\\r\\n\\f])|.)","ig"),tt=function(t,e,n){var r="0x"+e-65536;return r!=r||n?e:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},et=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,nt=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},rt=function(){f()},it=vt((function(t){return!0===t.disabled&&("form"in t||"label"in t)}),{dir:"parentNode",next:"legend"});try{I.apply(L=N.call(x.childNodes),x.childNodes),L[x.childNodes.length].nodeType}catch(t){I={apply:L.length?function(t,e){R.apply(t,N.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}function ot(t,e,r,i){var o,a,c,h,u,p,v,b=e&&e.ownerDocument,_=e?e.nodeType:9;if(r=r||[],"string"!=typeof t||!t||1!==_&&9!==_&&11!==_)return r;if(!i&&((e?e.ownerDocument||e:x)!==d&&f(e),e=e||d,g)){if(11!==_&&(u=K.exec(t)))if(o=u[1]){if(9===_){if(!(c=e.getElementById(o)))return r;if(c.id===o)return r.push(c),r}else if(b&&(c=b.getElementById(o))&&w(e,c)&&c.id===o)return r.push(c),r}else{if(u[2])return I.apply(r,e.getElementsByTagName(t)),r;if((o=u[3])&&n.getElementsByClassName&&e.getElementsByClassName)return I.apply(r,e.getElementsByClassName(o)),r}if(n.qsa&&!E[t+" "]&&(!m||!m.test(t))){if(1!==_)b=e,v=t;else if("object"!==e.nodeName.toLowerCase()){for((h=e.getAttribute("id"))?h=h.replace(et,nt):e.setAttribute("id",h=y),a=(p=s(t)).length;a--;)p[a]="#"+h+" "+mt(p[a]);v=p.join(","),b=Q.test(t)&&pt(e.parentNode)||e}if(v)try{return I.apply(r,b.querySelectorAll(v)),r}catch(t){}finally{h===y&&e.removeAttribute("id")}}}return l(t.replace(V,"$1"),e,r,i)}function st(){var t=[];return function e(n,i){return t.push(n+" ")>r.cacheLength&&delete e[t.shift()],e[n+" "]=i}}function at(t){return t[y]=!0,t}function lt(t){var e=d.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function ct(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function ht(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function ut(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function ft(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&it(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function dt(t){return at((function(e){return e=+e,at((function(n,r){for(var i,o=t([],n.length,e),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))}))}))}function pt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in n=ot.support={},o=ot.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},f=ot.setDocument=function(t){var e,i,s=t?t.ownerDocument||t:x;return s!==d&&9===s.nodeType&&s.documentElement?(p=(d=s).documentElement,g=!o(d),x!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",rt,!1):i.attachEvent&&i.attachEvent("onunload",rt)),n.attributes=lt((function(t){return t.className="i",!t.getAttribute("className")})),n.getElementsByTagName=lt((function(t){return t.appendChild(d.createComment("")),!t.getElementsByTagName("*").length})),n.getElementsByClassName=Y.test(d.getElementsByClassName),n.getById=lt((function(t){return p.appendChild(t).id=y,!d.getElementsByName||!d.getElementsByName(y).length})),n.getById?(r.filter.ID=function(t){var e=t.replace(J,tt);return function(t){return t.getAttribute("id")===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n=e.getElementById(t);return n?[n]:[]}}):(r.filter.ID=function(t){var e=t.replace(J,tt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n,r,i,o=e.getElementById(t);if(o){if((n=o.getAttributeNode("id"))&&n.value===t)return[o];for(i=e.getElementsByName(t),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===t)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&g)return e.getElementsByClassName(t)},v=[],m=[],(n.qsa=Y.test(d.querySelectorAll))&&(lt((function(t){p.appendChild(t).innerHTML="<a id='"+y+"'></a><select id='"+y+"-\r\\' msallowcapture=''><option selected=''></option></select>",t.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),t.querySelectorAll("[selected]").length||m.push("\\[[\\x20\\t\\r\\n\\f]*(?:value|"+F+")"),t.querySelectorAll("[id~="+y+"-]").length||m.push("~="),t.querySelectorAll(":checked").length||m.push(":checked"),t.querySelectorAll("a#"+y+"+*").length||m.push(".#.+[+~]")})),lt((function(t){t.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var e=d.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&m.push("name[\\x20\\t\\r\\n\\f]*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),p.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),m.push(",.*:")}))),(n.matchesSelector=Y.test(b=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&lt((function(t){n.disconnectedMatch=b.call(t,"*"),b.call(t,"[s!='']:x"),v.push("!=",z)})),m=m.length&&new RegExp(m.join("|")),v=v.length&&new RegExp(v.join("|")),e=Y.test(p.compareDocumentPosition),w=e||Y.test(p.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},A=e?function(t,e){if(t===e)return u=!0,0;var r=!t.compareDocumentPosition-!e.compareDocumentPosition;return r||(1&(r=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!n.sortDetached&&e.compareDocumentPosition(t)===r?t===d||t.ownerDocument===x&&w(x,t)?-1:e===d||e.ownerDocument===x&&w(x,e)?1:h?P(h,t)-P(h,e):0:4&r?-1:1)}:function(t,e){if(t===e)return u=!0,0;var n,r=0,i=t.parentNode,o=e.parentNode,s=[t],a=[e];if(!i||!o)return t===d?-1:e===d?1:i?-1:o?1:h?P(h,t)-P(h,e):0;if(i===o)return ct(t,e);for(n=t;n=n.parentNode;)s.unshift(n);for(n=e;n=n.parentNode;)a.unshift(n);for(;s[r]===a[r];)r++;return r?ct(s[r],a[r]):s[r]===x?-1:a[r]===x?1:0},d):d},ot.matches=function(t,e){return ot(t,null,null,e)},ot.matchesSelector=function(t,e){if((t.ownerDocument||t)!==d&&f(t),e=e.replace(q,"='$1']"),n.matchesSelector&&g&&!E[e+" "]&&(!v||!v.test(e))&&(!m||!m.test(e)))try{var r=b.call(t,e);if(r||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(t){}return ot(e,d,null,[t]).length>0},ot.contains=function(t,e){return(t.ownerDocument||t)!==d&&f(t),w(t,e)},ot.attr=function(t,e){(t.ownerDocument||t)!==d&&f(t);var i=r.attrHandle[e.toLowerCase()],o=i&&T.call(r.attrHandle,e.toLowerCase())?i(t,e,!g):void 0;return void 0!==o?o:n.attributes||!g?t.getAttribute(e):(o=t.getAttributeNode(e))&&o.specified?o.value:null},ot.escape=function(t){return(t+"").replace(et,nt)},ot.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},ot.uniqueSort=function(t){var e,r=[],i=0,o=0;if(u=!n.detectDuplicates,h=!n.sortStable&&t.slice(0),t.sort(A),u){for(;e=t[o++];)e===t[o]&&(i=r.push(o));for(;i--;)t.splice(r[i],1)}return h=null,t},i=ot.getText=function(t){var e,n="",r=0,o=t.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=i(t)}else if(3===o||4===o)return t.nodeValue}else for(;e=t[r++];)n+=i(e);return n},r=ot.selectors={cacheLength:50,createPseudo:at,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(J,tt),t[3]=(t[3]||t[4]||t[5]||"").replace(J,tt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||ot.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&ot.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return G.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&W.test(n)&&(e=s(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(J,tt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=S[t+" "];return e||(e=new RegExp("(^|[\\x20\\t\\r\\n\\f])"+t+"("+O+"|$)"))&&S(t,(function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")}))},ATTR:function(t,e,n){return function(r){var i=ot.attr(r,t);return null==i?"!="===e:!e||(i+="","="===e?i===n:"!="===e?i!==n:"^="===e?n&&0===i.indexOf(n):"*="===e?n&&i.indexOf(n)>-1:"$="===e?n&&i.slice(-n.length)===n:"~="===e?(" "+i.replace(H," ")+" ").indexOf(n)>-1:"|="===e&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),s="last"!==t.slice(-4),a="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,l){var c,h,u,f,d,p,g=o!==s?"nextSibling":"previousSibling",m=e.parentNode,v=a&&e.nodeName.toLowerCase(),b=!l&&!a,w=!1;if(m){if(o){for(;g;){for(f=e;f=f[g];)if(a?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;p=g="only"===t&&!p&&"nextSibling"}return!0}if(p=[s?m.firstChild:m.lastChild],s&&b){for(w=(d=(c=(h=(u=(f=m)[y]||(f[y]={}))[f.uniqueID]||(u[f.uniqueID]={}))[t]||[])[0]===_&&c[1])&&c[2],f=d&&m.childNodes[d];f=++d&&f&&f[g]||(w=d=0)||p.pop();)if(1===f.nodeType&&++w&&f===e){h[t]=[_,d,w];break}}else if(b&&(w=d=(c=(h=(u=(f=e)[y]||(f[y]={}))[f.uniqueID]||(u[f.uniqueID]={}))[t]||[])[0]===_&&c[1]),!1===w)for(;(f=++d&&f&&f[g]||(w=d=0)||p.pop())&&((a?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++w||(b&&((h=(u=f[y]||(f[y]={}))[f.uniqueID]||(u[f.uniqueID]={}))[t]=[_,w]),f!==e)););return(w-=i)===r||w%r==0&&w/r>=0}}},PSEUDO:function(t,e){var n,i=r.pseudos[t]||r.setFilters[t.toLowerCase()]||ot.error("unsupported pseudo: "+t);return i[y]?i(e):i.length>1?(n=[t,t,"",e],r.setFilters.hasOwnProperty(t.toLowerCase())?at((function(t,n){for(var r,o=i(t,e),s=o.length;s--;)t[r=P(t,o[s])]=!(n[r]=o[s])})):function(t){return i(t,0,n)}):i}},pseudos:{not:at((function(t){var e=[],n=[],r=a(t.replace(V,"$1"));return r[y]?at((function(t,e,n,i){for(var o,s=r(t,null,i,[]),a=t.length;a--;)(o=s[a])&&(t[a]=!(e[a]=o))})):function(t,i,o){return e[0]=t,r(e,null,o,n),e[0]=null,!n.pop()}})),has:at((function(t){return function(e){return ot(t,e).length>0}})),contains:at((function(t){return t=t.replace(J,tt),function(e){return(e.textContent||e.innerText||i(e)).indexOf(t)>-1}})),lang:at((function(t){return $.test(t||"")||ot.error("unsupported lang: "+t),t=t.replace(J,tt).toLowerCase(),function(e){var n;do{if(n=g?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}})),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===p},focus:function(t){return t===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:ft(!1),disabled:ft(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!r.pseudos.empty(t)},header:function(t){return X.test(t.nodeName)},input:function(t){return Z.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:dt((function(){return[0]})),last:dt((function(t,e){return[e-1]})),eq:dt((function(t,e,n){return[n<0?n+e:n]})),even:dt((function(t,e){for(var n=0;n<e;n+=2)t.push(n);return t})),odd:dt((function(t,e){for(var n=1;n<e;n+=2)t.push(n);return t})),lt:dt((function(t,e,n){for(var r=n<0?n+e:n;--r>=0;)t.push(r);return t})),gt:dt((function(t,e,n){for(var r=n<0?n+e:n;++r<e;)t.push(r);return t}))}},r.pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[e]=ht(e);for(e in{submit:!0,reset:!0})r.pseudos[e]=ut(e);function gt(){}function mt(t){for(var e=0,n=t.length,r="";e<n;e++)r+=t[e].value;return r}function vt(t,e,n){var r=e.dir,i=e.next,o=i||r,s=n&&"parentNode"===o,a=k++;return e.first?function(e,n,i){for(;e=e[r];)if(1===e.nodeType||s)return t(e,n,i);return!1}:function(e,n,l){var c,h,u,f=[_,a];if(l){for(;e=e[r];)if((1===e.nodeType||s)&&t(e,n,l))return!0}else for(;e=e[r];)if(1===e.nodeType||s)if(h=(u=e[y]||(e[y]={}))[e.uniqueID]||(u[e.uniqueID]={}),i&&i===e.nodeName.toLowerCase())e=e[r]||e;else{if((c=h[o])&&c[0]===_&&c[1]===a)return f[2]=c[2];if(h[o]=f,f[2]=t(e,n,l))return!0}return!1}}function bt(t){return t.length>1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function wt(t,e,n,r,i){for(var o,s=[],a=0,l=t.length,c=null!=e;a<l;a++)(o=t[a])&&(n&&!n(o,r,i)||(s.push(o),c&&e.push(a)));return s}function yt(t,e,n,r,i,o){return r&&!r[y]&&(r=yt(r)),i&&!i[y]&&(i=yt(i,o)),at((function(o,s,a,l){var c,h,u,f=[],d=[],p=s.length,g=o||function(t,e,n){for(var r=0,i=e.length;r<i;r++)ot(t,e[r],n);return n}(e||"*",a.nodeType?[a]:a,[]),m=!t||!o&&e?g:wt(g,f,t,a,l),v=n?i||(o?t:p||r)?[]:s:m;if(n&&n(m,v,a,l),r)for(c=wt(v,d),r(c,[],a,l),h=c.length;h--;)(u=c[h])&&(v[d[h]]=!(m[d[h]]=u));if(o){if(i||t){if(i){for(c=[],h=v.length;h--;)(u=v[h])&&c.push(m[h]=u);i(null,v=[],c,l)}for(h=v.length;h--;)(u=v[h])&&(c=i?P(o,u):f[h])>-1&&(o[c]=!(s[c]=u))}}else v=wt(v===s?v.splice(p,v.length):v),i?i(null,s,v,l):I.apply(s,v)}))}function xt(t){for(var e,n,i,o=t.length,s=r.relative[t[0].type],a=s||r.relative[" "],l=s?1:0,h=vt((function(t){return t===e}),a,!0),u=vt((function(t){return P(e,t)>-1}),a,!0),f=[function(t,n,r){var i=!s&&(r||n!==c)||((e=n).nodeType?h(t,n,r):u(t,n,r));return e=null,i}];l<o;l++)if(n=r.relative[t[l].type])f=[vt(bt(f),n)];else{if((n=r.filter[t[l].type].apply(null,t[l].matches))[y]){for(i=++l;i<o&&!r.relative[t[i].type];i++);return yt(l>1&&bt(f),l>1&&mt(t.slice(0,l-1).concat({value:" "===t[l-2].type?"*":""})).replace(V,"$1"),n,l<i&&xt(t.slice(l,i)),i<o&&xt(t=t.slice(i)),i<o&&mt(t))}f.push(n)}return bt(f)}return gt.prototype=r.filters=r.pseudos,r.setFilters=new gt,s=ot.tokenize=function(t,e){var n,i,o,s,a,l,c,h=C[t+" "];if(h)return e?0:h.slice(0);for(a=t,l=[],c=r.preFilter;a;){for(s in n&&!(i=j.exec(a))||(i&&(a=a.slice(i[0].length)||a),l.push(o=[])),n=!1,(i=U.exec(a))&&(n=i.shift(),o.push({value:n,type:i[0].replace(V," ")}),a=a.slice(n.length)),r.filter)!(i=G[s].exec(a))||c[s]&&!(i=c[s](i))||(n=i.shift(),o.push({value:n,type:s,matches:i}),a=a.slice(n.length));if(!n)break}return e?a.length:a?ot.error(t):C(t,l).slice(0)},a=ot.compile=function(t,e){var n,i=[],o=[],a=E[t+" "];if(!a){for(e||(e=s(t)),n=e.length;n--;)(a=xt(e[n]))[y]?i.push(a):o.push(a);a=E(t,function(t,e){var n=e.length>0,i=t.length>0,o=function(o,s,a,l,h){var u,p,m,v=0,b="0",w=o&&[],y=[],x=c,k=o||i&&r.find.TAG("*",h),S=_+=null==x?1:Math.random()||.1,C=k.length;for(h&&(c=s===d||s||h);b!==C&&null!=(u=k[b]);b++){if(i&&u){for(p=0,s||u.ownerDocument===d||(f(u),a=!g);m=t[p++];)if(m(u,s||d,a)){l.push(u);break}h&&(_=S)}n&&((u=!m&&u)&&v--,o&&w.push(u))}if(v+=b,n&&b!==v){for(p=0;m=e[p++];)m(w,y,s,a);if(o){if(v>0)for(;b--;)w[b]||y[b]||(y[b]=M.call(l));y=wt(y)}I.apply(l,y),h&&!o&&y.length>0&&v+e.length>1&&ot.uniqueSort(l)}return h&&(_=S,c=x),w};return n?at(o):o}(o,i)),a.selector=t}return a},l=ot.select=function(t,e,n,i){var o,l,c,h,u,f="function"==typeof t&&t,d=!i&&s(t=f.selector||t);if(n=n||[],1===d.length){if((l=d[0]=d[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===e.nodeType&&g&&r.relative[l[1].type]){if(!(e=(r.find.ID(c.matches[0].replace(J,tt),e)||[])[0]))return n;f&&(e=e.parentNode),t=t.slice(l.shift().value.length)}for(o=G.needsContext.test(t)?0:l.length;o--&&(c=l[o],!r.relative[h=c.type]);)if((u=r.find[h])&&(i=u(c.matches[0].replace(J,tt),Q.test(l[0].type)&&pt(e.parentNode)||e))){if(l.splice(o,1),!(t=i.length&&mt(l)))return I.apply(n,i),n;break}}return(f||a(t,d))(i,e,!g,n,!e||Q.test(t)&&pt(e.parentNode)||e),n},n.sortStable=y.split("").sort(A).join("")===y,n.detectDuplicates=!!u,f(),ot}(window);w.find=_,w.expr=_.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=_.uniqueSort,w.text=_.getText,w.isXMLDoc=_.isXML,w.contains=_.contains,w.escapeSelector=_.escape;var k=function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&w(t).is(n))break;r.push(t)}return r},S=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},C=w.expr.match.needsContext;function E(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(t,e,n){return d(e)?w.grep(t,(function(t,r){return!!e.call(t,r,t)!==n})):e.nodeType?w.grep(t,(function(t){return t===e!==n})):"string"!=typeof e?w.grep(t,(function(t){return s.call(e,t)>-1!==n})):w.filter(e,t,n)}w.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?w.find.matchesSelector(r,t)?[r]:[]:w.find.matches(t,w.grep(e,(function(t){return 1===t.nodeType})))},w.fn.extend({find:function(t){var e,n,r=this.length,i=this;if("string"!=typeof t)return this.pushStack(w(t).filter((function(){for(e=0;e<r;e++)if(w.contains(i[e],this))return!0})));for(n=this.pushStack([]),e=0;e<r;e++)w.find(t,i[e],n);return r>1?w.uniqueSort(n):n},filter:function(t){return this.pushStack(T(this,t||[],!1))},not:function(t){return this.pushStack(T(this,t||[],!0))},is:function(t){return!!T(this,"string"==typeof t&&C.test(t)?w(t):t||[],!1).length}});var L,M=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(t,n,r){var i,o;if(!t)return this;if(r=r||L,"string"==typeof t){if(!(i="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:M.exec(t))||!i[1]&&n)return!n||n.jquery?(n||r).find(t):this.constructor(n).find(t);if(i[1]){if(n=n instanceof w?n[0]:n,w.merge(this,w.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:e,!0)),A.test(i[1])&&w.isPlainObject(n))for(i in n)d(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}return(o=e.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):d(t)?void 0!==r.ready?r.ready(t):t(w):w.makeArray(t,this)}).prototype=w.fn,L=w(e);var R=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};function N(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}w.fn.extend({has:function(t){var e=w(t,this),n=e.length;return this.filter((function(){for(var t=0;t<n;t++)if(w.contains(this,e[t]))return!0}))},closest:function(t,e){var n,r=0,i=this.length,o=[],s="string"!=typeof t&&w(t);if(!C.test(t))for(;r<i;r++)for(n=this[r];n&&n!==e;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?s.call(w(t),this[0]):s.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),w.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return k(t,"parentNode")},parentsUntil:function(t,e,n){return k(t,"parentNode",n)},next:function(t){return N(t,"nextSibling")},prev:function(t){return N(t,"previousSibling")},nextAll:function(t){return k(t,"nextSibling")},prevAll:function(t){return k(t,"previousSibling")},nextUntil:function(t,e,n){return k(t,"nextSibling",n)},prevUntil:function(t,e,n){return k(t,"previousSibling",n)},siblings:function(t){return S((t.parentNode||{}).firstChild,t)},children:function(t){return S(t.firstChild)},contents:function(t){return E(t,"iframe")?t.contentDocument:(E(t,"template")&&(t=t.content||t),w.merge([],t.childNodes))}},(function(t,e){w.fn[t]=function(n,r){var i=w.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(I[t]||w.uniqueSort(i),R.test(t)&&i.reverse()),this.pushStack(i)}}));var P=/[^\x20\t\r\n\f]+/g;function F(t){return t}function O(t){throw t}function D(t,e,n,r){var i;try{t&&d(i=t.promise)?i.call(t).done(e).fail(n):t&&d(i=t.then)?i.call(t,e,n):e.apply(void 0,[t].slice(r))}catch(t){n.apply(void 0,[t])}}w.Callbacks=function(t){t="string"==typeof t?function(t){var e={};return w.each(t.match(P)||[],(function(t,n){e[n]=!0})),e}(t):w.extend({},t);var e,n,r,i,o=[],s=[],a=-1,l=function(){for(i=i||t.once,r=e=!0;s.length;a=-1)for(n=s.shift();++a<o.length;)!1===o[a].apply(n[0],n[1])&&t.stopOnFalse&&(a=o.length,n=!1);t.memory||(n=!1),e=!1,i&&(o=n?[]:"")},c={add:function(){return o&&(n&&!e&&(a=o.length-1,s.push(n)),function e(n){w.each(n,(function(n,r){d(r)?t.unique&&c.has(r)||o.push(r):r&&r.length&&"string"!==v(r)&&e(r)}))}(arguments),n&&!e&&l()),this},remove:function(){return w.each(arguments,(function(t,e){for(var n;(n=w.inArray(e,o,n))>-1;)o.splice(n,1),n<=a&&a--})),this},has:function(t){return t?w.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=s=[],n||e||(o=n=""),this},locked:function(){return!!i},fireWith:function(t,n){return i||(n=[t,(n=n||[]).slice?n.slice():n],s.push(n),e||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},w.extend({Deferred:function(t){var e=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},catch:function(t){return r.then(null,t)},pipe:function(){var t=arguments;return w.Deferred((function(n){w.each(e,(function(e,r){var o=d(t[r[4]])&&t[r[4]];i[r[1]]((function(){var t=o&&o.apply(this,arguments);t&&d(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,o?[t]:arguments)}))})),t=null})).promise()},then:function(t,n,r){var i=0;function o(t,e,n,r){return function(){var s=this,a=arguments,l=function(){var l,c;if(!(t<i)){if((l=n.apply(s,a))===e.promise())throw new TypeError("Thenable self-resolution");c=l&&("object"==typeof l||"function"==typeof l)&&l.then,d(c)?r?c.call(l,o(i,e,F,r),o(i,e,O,r)):(i++,c.call(l,o(i,e,F,r),o(i,e,O,r),o(i,e,F,e.notifyWith))):(n!==F&&(s=void 0,a=[l]),(r||e.resolveWith)(s,a))}},c=r?l:function(){try{l()}catch(r){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(r,c.stackTrace),t+1>=i&&(n!==O&&(s=void 0,a=[r]),e.rejectWith(s,a))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),window.setTimeout(c))}}return w.Deferred((function(i){e[0][3].add(o(0,i,d(r)?r:F,i.notifyWith)),e[1][3].add(o(0,i,d(t)?t:F)),e[2][3].add(o(0,i,d(n)?n:O))})).promise()},promise:function(t){return null!=t?w.extend(t,r):r}},i={};return w.each(e,(function(t,o){var s=o[2],a=o[5];r[o[1]]=s.add,a&&s.add((function(){n=a}),e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),s.add(o[3].fire),i[o[0]]=function(){return i[o[0]+"With"](this===i?void 0:this,arguments),this},i[o[0]+"With"]=s.fireWith})),r.promise(i),t&&t.call(i,i),i},when:function(t){var e=arguments.length,n=e,i=Array(n),o=r.call(arguments),s=w.Deferred(),a=function(t){return function(n){i[t]=this,o[t]=arguments.length>1?r.call(arguments):n,--e||s.resolveWith(i,o)}};if(e<=1&&(D(t,s.done(a(n)).resolve,s.reject,!e),"pending"===s.state()||d(o[n]&&o[n].then)))return s.then();for(;n--;)D(o[n],a(n),s.reject);return s.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,e){window.console&&window.console.warn&&t&&B.test(t.name)&&window.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},w.readyException=function(t){window.setTimeout((function(){throw t}))};var z=w.Deferred();function H(){e.removeEventListener("DOMContentLoaded",H),window.removeEventListener("load",H),w.ready()}w.fn.ready=function(t){return z.then(t).catch((function(t){w.readyException(t)})),this},w.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==t&&--w.readyWait>0||z.resolveWith(e,[w]))}}),w.ready.then=z.then,"complete"===e.readyState||"loading"!==e.readyState&&!e.documentElement.doScroll?window.setTimeout(w.ready):(e.addEventListener("DOMContentLoaded",H),window.addEventListener("load",H));var V=function(t,e,n,r,i,o,s){var a=0,l=t.length,c=null==n;if("object"===v(n))for(a in i=!0,n)V(t,e,a,n[a],!0,o,s);else if(void 0!==r&&(i=!0,d(r)||(s=!0),c&&(s?(e.call(t,r),e=null):(c=e,e=function(t,e,n){return c.call(w(t),n)})),e))for(;a<l;a++)e(t[a],n,s?r:r.call(t[a],a,e(t[a],n)));return i?t:c?e.call(t):l?e(t[0],n):o},j=/^-ms-/,U=/-([a-z])/g;function q(t,e){return e.toUpperCase()}function W(t){return t.replace(j,"ms-").replace(U,q)}var $=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};function G(){this.expando=w.expando+G.uid++}G.uid=1,G.prototype={cache:function(t){var e=t[this.expando];return e||(e={},$(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,n){var r,i=this.cache(t);if("string"==typeof e)i[W(e)]=n;else for(r in e)i[W(r)]=e[r];return i},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][W(e)]},access:function(t,e,n){return void 0===e||e&&"string"==typeof e&&void 0===n?this.get(t,e):(this.set(t,e,n),void 0!==n?n:e)},remove:function(t,e){var n,r=t[this.expando];if(void 0!==r){if(void 0!==e){n=(e=Array.isArray(e)?e.map(W):(e=W(e))in r?[e]:e.match(P)||[]).length;for(;n--;)delete r[e[n]]}(void 0===e||w.isEmptyObject(r))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!w.isEmptyObject(e)}};var Z=new G,X=new G,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Q(t,e,n){var r;if(void 0===n&&1===t.nodeType)if(r="data-"+e.replace(K,"-$&").toLowerCase(),"string"==typeof(n=t.getAttribute(r))){try{n=function(t){return"true"===t||"false"!==t&&("null"===t?null:t===+t+""?+t:Y.test(t)?JSON.parse(t):t)}(n)}catch(t){}X.set(t,e,n)}else n=void 0;return n}w.extend({hasData:function(t){return X.hasData(t)||Z.hasData(t)},data:function(t,e,n){return X.access(t,e,n)},removeData:function(t,e){X.remove(t,e)},_data:function(t,e,n){return Z.access(t,e,n)},_removeData:function(t,e){Z.remove(t,e)}}),w.fn.extend({data:function(t,e){var n,r,i,o=this[0],s=o&&o.attributes;if(void 0===t){if(this.length&&(i=X.get(o),1===o.nodeType&&!Z.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&0===(r=s[n].name).indexOf("data-")&&(r=W(r.slice(5)),Q(o,r,i[r]));Z.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof t?this.each((function(){X.set(this,t)})):V(this,(function(e){var n;if(o&&void 0===e)return void 0!==(n=X.get(o,t))||void 0!==(n=Q(o,t))?n:void 0;this.each((function(){X.set(this,t,e)}))}),null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each((function(){X.remove(this,t)}))}}),w.extend({queue:function(t,e,n){var r;if(t)return e=(e||"fx")+"queue",r=Z.get(t,e),n&&(!r||Array.isArray(n)?r=Z.access(t,e,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(t,e){e=e||"fx";var n=w.queue(t,e),r=n.length,i=n.shift(),o=w._queueHooks(t,e);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,(function(){w.dequeue(t,e)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return Z.get(t,n)||Z.access(t,n,{empty:w.Callbacks("once memory").add((function(){Z.remove(t,[e+"queue",n])}))})}}),w.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length<n?w.queue(this[0],t):void 0===e?this:this.each((function(){var n=w.queue(this,t,e);w._queueHooks(this,t),"fx"===t&&"inprogress"!==n[0]&&w.dequeue(this,t)}))},dequeue:function(t){return this.each((function(){w.dequeue(this,t)}))},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(t,e){var n,r=1,i=w.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof t&&(e=t,t=void 0),t=t||"fx";s--;)(n=Z.get(o[s],t+"queueHooks"))&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(e)}});var J=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,tt=new RegExp("^(?:([+-])=|)("+J+")([a-z%]*)$","i"),et=["Top","Right","Bottom","Left"],nt=function(t,e){return"none"===(t=e||t).style.display||""===t.style.display&&w.contains(t.ownerDocument,t)&&"none"===w.css(t,"display")},rt=function(t,e,n,r){var i,o,s={};for(o in e)s[o]=t.style[o],t.style[o]=e[o];for(o in i=n.apply(t,r||[]),e)t.style[o]=s[o];return i};var it={};function ot(t){var e,n=t.ownerDocument,r=t.nodeName,i=it[r];return i||(e=n.body.appendChild(n.createElement(r)),i=w.css(e,"display"),e.parentNode.removeChild(e),"none"===i&&(i="block"),it[r]=i,i)}function st(t,e){for(var n,r,i=[],o=0,s=t.length;o<s;o++)(r=t[o]).style&&(n=r.style.display,e?("none"===n&&(i[o]=Z.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&nt(r)&&(i[o]=ot(r))):"none"!==n&&(i[o]="none",Z.set(r,"display",n)));for(o=0;o<s;o++)null!=i[o]&&(t[o].style.display=i[o]);return t}w.fn.extend({show:function(){return st(this,!0)},hide:function(){return st(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each((function(){nt(this)?w(this).show():w(this).hide()}))}});var at=/^(?:checkbox|radio)$/i,lt=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ct=/^$|^module$|\/(?:java|ecma)script/i,ht={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ut(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&E(t,e)?w.merge([t],n):n}function ft(t,e){for(var n=0,r=t.length;n<r;n++)Z.set(t[n],"globalEval",!e||Z.get(e[n],"globalEval"))}ht.optgroup=ht.option,ht.tbody=ht.tfoot=ht.colgroup=ht.caption=ht.thead,ht.th=ht.td;var dt=/<|&#?\w+;/;function pt(t,e,n,r,i){for(var o,s,a,l,c,h,u=e.createDocumentFragment(),f=[],d=0,p=t.length;d<p;d++)if((o=t[d])||0===o)if("object"===v(o))w.merge(f,o.nodeType?[o]:o);else if(dt.test(o)){for(s=s||u.appendChild(e.createElement("div")),a=(lt.exec(o)||["",""])[1].toLowerCase(),l=ht[a]||ht._default,s.innerHTML=l[1]+w.htmlPrefilter(o)+l[2],h=l[0];h--;)s=s.lastChild;w.merge(f,s.childNodes),(s=u.firstChild).textContent=""}else f.push(e.createTextNode(o));for(u.textContent="",d=0;o=f[d++];)if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(c=w.contains(o.ownerDocument,o),s=ut(u.appendChild(o),"script"),c&&ft(s),n)for(h=0;o=s[h++];)ct.test(o.type||"")&&n.push(o);return u}!function(){var t=e.createDocumentFragment().appendChild(e.createElement("div")),n=e.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),f.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",f.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var gt=e.documentElement,mt=/^key/,vt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,bt=/^([^.]*)(?:\.(.+)|)/;function wt(){return!0}function yt(){return!1}function xt(){try{return e.activeElement}catch(t){}}function _t(t,e,n,r,i,o){var s,a;if("object"==typeof e){for(a in"string"!=typeof n&&(r=r||n,n=void 0),e)_t(t,a,n,r,e[a],o);return t}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=yt;else if(!i)return t;return 1===o&&(s=i,i=function(t){return w().off(t),s.apply(this,arguments)},i.guid=s.guid||(s.guid=w.guid++)),t.each((function(){w.event.add(this,e,i,r,n)}))}w.event={global:{},add:function(t,e,n,r,i){var o,s,a,l,c,h,u,f,d,p,g,m=Z.get(t);if(m)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(gt,i),n.guid||(n.guid=w.guid++),(l=m.events)||(l=m.events={}),(s=m.handle)||(s=m.handle=function(e){return void 0!==w&&w.event.triggered!==e.type?w.event.dispatch.apply(t,arguments):void 0}),c=(e=(e||"").match(P)||[""]).length;c--;)d=g=(a=bt.exec(e[c])||[])[1],p=(a[2]||"").split(".").sort(),d&&(u=w.event.special[d]||{},d=(i?u.delegateType:u.bindType)||d,u=w.event.special[d]||{},h=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:p.join(".")},o),(f=l[d])||((f=l[d]=[]).delegateCount=0,u.setup&&!1!==u.setup.call(t,r,p,s)||t.addEventListener&&t.addEventListener(d,s)),u.add&&(u.add.call(t,h),h.handler.guid||(h.handler.guid=n.guid)),i?f.splice(f.delegateCount++,0,h):f.push(h),w.event.global[d]=!0)},remove:function(t,e,n,r,i){var o,s,a,l,c,h,u,f,d,p,g,m=Z.hasData(t)&&Z.get(t);if(m&&(l=m.events)){for(c=(e=(e||"").match(P)||[""]).length;c--;)if(d=g=(a=bt.exec(e[c])||[])[1],p=(a[2]||"").split(".").sort(),d){for(u=w.event.special[d]||{},f=l[d=(r?u.delegateType:u.bindType)||d]||[],a=a[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;o--;)h=f[o],!i&&g!==h.origType||n&&n.guid!==h.guid||a&&!a.test(h.namespace)||r&&r!==h.selector&&("**"!==r||!h.selector)||(f.splice(o,1),h.selector&&f.delegateCount--,u.remove&&u.remove.call(t,h));s&&!f.length&&(u.teardown&&!1!==u.teardown.call(t,p,m.handle)||w.removeEvent(t,d,m.handle),delete l[d])}else for(d in l)w.event.remove(t,d+e[c],n,r,!0);w.isEmptyObject(l)&&Z.remove(t,"handle events")}},dispatch:function(t){var e,n,r,i,o,s,a=w.event.fix(t),l=new Array(arguments.length),c=(Z.get(this,"events")||{})[a.type]||[],h=w.event.special[a.type]||{};for(l[0]=a,e=1;e<arguments.length;e++)l[e]=arguments[e];if(a.delegateTarget=this,!h.preDispatch||!1!==h.preDispatch.call(this,a)){for(s=w.event.handlers.call(this,a,c),e=0;(i=s[e++])&&!a.isPropagationStopped();)for(a.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(o.namespace)||(a.handleObj=o,a.data=o.data,void 0!==(r=((w.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,l))&&!1===(a.result=r)&&(a.preventDefault(),a.stopPropagation()));return h.postDispatch&&h.postDispatch.call(this,a),a.result}},handlers:function(t,e){var n,r,i,o,s,a=[],l=e.delegateCount,c=t.target;if(l&&c.nodeType&&!("click"===t.type&&t.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==t.type||!0!==c.disabled)){for(o=[],s={},n=0;n<l;n++)void 0===s[i=(r=e[n]).selector+" "]&&(s[i]=r.needsContext?w(i,this).index(c)>-1:w.find(i,this,null,[c]).length),s[i]&&o.push(r);o.length&&a.push({elem:c,handlers:o})}return c=this,l<e.length&&a.push({elem:c,handlers:e.slice(l)}),a},addProp:function(t,e){Object.defineProperty(w.Event.prototype,t,{enumerable:!0,configurable:!0,get:d(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(t){return t[w.expando]?t:new w.Event(t)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xt()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xt()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&E(this,"input"))return this.click(),!1},_default:function(t){return E(t.target,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},w.removeEvent=function(t,e,n){t.removeEventListener&&t.removeEventListener(e,n)},w.Event=function(t,e){if(!(this instanceof w.Event))return new w.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?wt:yt,this.target=t.target&&3===t.target.nodeType?t.target.parentNode:t.target,this.currentTarget=t.currentTarget,this.relatedTarget=t.relatedTarget):this.type=t,e&&w.extend(this,e),this.timeStamp=t&&t.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:yt,isPropagationStopped:yt,isImmediatePropagationStopped:yt,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=wt,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=wt,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=wt,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(t){var e=t.button;return null==t.which&&mt.test(t.type)?null!=t.charCode?t.charCode:t.keyCode:!t.which&&void 0!==e&&vt.test(t.type)?1&e?1:2&e?3:4&e?2:0:t.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},(function(t,e){w.event.special[t]={delegateType:e,bindType:e,handle:function(t){var n,r=this,i=t.relatedTarget,o=t.handleObj;return i&&(i===r||w.contains(r,i))||(t.type=o.origType,n=o.handler.apply(this,arguments),t.type=e),n}}})),w.fn.extend({on:function(t,e,n,r){return _t(this,t,e,n,r)},one:function(t,e,n,r){return _t(this,t,e,n,r,1)},off:function(t,e,n){var r,i;if(t&&t.preventDefault&&t.handleObj)return r=t.handleObj,w(t.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof t){for(i in t)this.off(i,e,t[i]);return this}return!1!==e&&"function"!=typeof e||(n=e,e=void 0),!1===n&&(n=yt),this.each((function(){w.event.remove(this,t,n,e)}))}});var kt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,St=/<script|<style|<link/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,Et=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function At(t,e){return E(t,"table")&&E(11!==e.nodeType?e:e.firstChild,"tr")&&w(t).children("tbody")[0]||t}function Tt(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function Lt(t){return"true/"===(t.type||"").slice(0,5)?t.type=t.type.slice(5):t.removeAttribute("type"),t}function Mt(t,e){var n,r,i,o,s,a,l,c;if(1===e.nodeType){if(Z.hasData(t)&&(o=Z.access(t),s=Z.set(e,o),c=o.events))for(i in delete s.handle,s.events={},c)for(n=0,r=c[i].length;n<r;n++)w.event.add(e,i,c[i][n]);X.hasData(t)&&(a=X.access(t),l=w.extend({},a),X.set(e,l))}}function Rt(t,e){var n=e.nodeName.toLowerCase();"input"===n&&at.test(t.type)?e.checked=t.checked:"input"!==n&&"textarea"!==n||(e.defaultValue=t.defaultValue)}function It(t,e,n,r){e=i.apply([],e);var o,s,a,l,c,h,u=0,p=t.length,g=p-1,v=e[0],b=d(v);if(b||p>1&&"string"==typeof v&&!f.checkClone&&Ct.test(v))return t.each((function(i){var o=t.eq(i);b&&(e[0]=v.call(this,i,o.html())),It(o,e,n,r)}));if(p&&(s=(o=pt(e,t[0].ownerDocument,!1,t,r)).firstChild,1===o.childNodes.length&&(o=s),s||r)){for(l=(a=w.map(ut(o,"script"),Tt)).length;u<p;u++)c=o,u!==g&&(c=w.clone(c,!0,!0),l&&w.merge(a,ut(c,"script"))),n.call(t[u],c,u);if(l)for(h=a[a.length-1].ownerDocument,w.map(a,Lt),u=0;u<l;u++)c=a[u],ct.test(c.type||"")&&!Z.access(c,"globalEval")&&w.contains(h,c)&&(c.src&&"module"!==(c.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(c.src):m(c.textContent.replace(Et,""),h,c))}return t}function Nt(t,e,n){for(var r,i=e?w.filter(e,t):t,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ut(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ft(ut(r,"script")),r.parentNode.removeChild(r));return t}w.extend({htmlPrefilter:function(t){return t.replace(kt,"<$1></$2>")},clone:function(t,e,n){var r,i,o,s,a=t.cloneNode(!0),l=w.contains(t.ownerDocument,t);if(!(f.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||w.isXMLDoc(t)))for(s=ut(a),r=0,i=(o=ut(t)).length;r<i;r++)Rt(o[r],s[r]);if(e)if(n)for(o=o||ut(t),s=s||ut(a),r=0,i=o.length;r<i;r++)Mt(o[r],s[r]);else Mt(t,a);return(s=ut(a,"script")).length>0&&ft(s,!l&&ut(t,"script")),a},cleanData:function(t){for(var e,n,r,i=w.event.special,o=0;void 0!==(n=t[o]);o++)if($(n)){if(e=n[Z.expando]){if(e.events)for(r in e.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,e.handle);n[Z.expando]=void 0}n[X.expando]&&(n[X.expando]=void 0)}}}),w.fn.extend({detach:function(t){return Nt(this,t,!0)},remove:function(t){return Nt(this,t)},text:function(t){return V(this,(function(t){return void 0===t?w.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)}))}),null,t,arguments.length)},append:function(){return It(this,arguments,(function(t){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||At(this,t).appendChild(t)}))},prepend:function(){return It(this,arguments,(function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=At(this,t);e.insertBefore(t,e.firstChild)}}))},before:function(){return It(this,arguments,(function(t){this.parentNode&&this.parentNode.insertBefore(t,this)}))},after:function(){return It(this,arguments,(function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)}))},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(w.cleanData(ut(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map((function(){return w.clone(this,t,e)}))},html:function(t){return V(this,(function(t){var e=this[0]||{},n=0,r=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!St.test(t)&&!ht[(lt.exec(t)||["",""])[1].toLowerCase()]){t=w.htmlPrefilter(t);try{for(;n<r;n++)1===(e=this[n]||{}).nodeType&&(w.cleanData(ut(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)}),null,t,arguments.length)},replaceWith:function(){var t=[];return It(this,arguments,(function(e){var n=this.parentNode;w.inArray(this,t)<0&&(w.cleanData(ut(this)),n&&n.replaceChild(e,this))}),t)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},(function(t,e){w.fn[t]=function(t){for(var n,r=[],i=w(t),s=i.length-1,a=0;a<=s;a++)n=a===s?this:this.clone(!0),w(i[a])[e](n),o.apply(r,n.get());return this.pushStack(r)}}));var Pt=new RegExp("^("+J+")(?!px)[a-z%]+$","i"),Ft=function(t){var e=t.ownerDocument.defaultView;return e&&e.opener||(e=window),e.getComputedStyle(t)},Ot=new RegExp(et.join("|"),"i");function Dt(t,e,n){var r,i,o,s,a=t.style;return(n=n||Ft(t))&&(""!==(s=n.getPropertyValue(e)||n[e])||w.contains(t.ownerDocument,t)||(s=w.style(t,e)),!f.pixelBoxStyles()&&Pt.test(s)&&Ot.test(e)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o)),void 0!==s?s+"":s}function Bt(t,e){return{get:function(){if(!t())return(this.get=e).apply(this,arguments);delete this.get}}}!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",gt.appendChild(l).appendChild(c);var t=window.getComputedStyle(c);r="1%"!==t.top,a=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),i=36===n(t.width),c.style.position="absolute",o=36===c.offsetWidth||"absolute",gt.removeChild(l),c=null}}function n(t){return Math.round(parseFloat(t))}var r,i,o,s,a,l=e.createElement("div"),c=e.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",f.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(f,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),a},scrollboxSize:function(){return t(),o}}))}();var zt,Ht,Vt=/^(none|table(?!-c[ea]).+)/,jt=/^--/,Ut={position:"absolute",visibility:"hidden",display:"block"},qt={letterSpacing:"0",fontWeight:"400"},Wt=["Webkit","Moz","ms"],$t=e.createElement("div").style;function Gt(t){var e=w.cssProps[t];return e||(e=w.cssProps[t]=function(t){if(t in $t)return t;for(var e=t[0].toUpperCase()+t.slice(1),n=Wt.length;n--;)if((t=Wt[n]+e)in $t)return t}(t)||t),e}function Zt(t,e,n){var r=tt.exec(e);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):e}function Xt(t,e,n,r,i,o){var s="width"===e?1:0,a=0,l=0;if(n===(r?"border":"content"))return 0;for(;s<4;s+=2)"margin"===n&&(l+=w.css(t,n+et[s],!0,i)),r?("content"===n&&(l-=w.css(t,"padding"+et[s],!0,i)),"margin"!==n&&(l-=w.css(t,"border"+et[s]+"Width",!0,i))):(l+=w.css(t,"padding"+et[s],!0,i),"padding"!==n?l+=w.css(t,"border"+et[s]+"Width",!0,i):a+=w.css(t,"border"+et[s]+"Width",!0,i));return!r&&o>=0&&(l+=Math.max(0,Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-o-l-a-.5))),l}function Yt(t,e,n){var r=Ft(t),i=Dt(t,e,r),o="border-box"===w.css(t,"boxSizing",!1,r),s=o;if(Pt.test(i)){if(!n)return i;i="auto"}return s=s&&(f.boxSizingReliable()||i===t.style[e]),("auto"===i||!parseFloat(i)&&"inline"===w.css(t,"display",!1,r))&&(i=t["offset"+e[0].toUpperCase()+e.slice(1)],s=!0),(i=parseFloat(i)||0)+Xt(t,e,n||(o?"border":"content"),s,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=Dt(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(t,e,n,r){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var i,o,s,a=W(e),l=jt.test(e),c=t.style;if(l||(e=Gt(a)),s=w.cssHooks[e]||w.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(i=s.get(t,!1,r))?i:c[e];"string"===(o=typeof n)&&(i=tt.exec(n))&&i[1]&&(n=function(t,e,n,r){var i,o,s=20,a=r?function(){return r.cur()}:function(){return w.css(t,e,"")},l=a(),c=n&&n[3]||(w.cssNumber[e]?"":"px"),h=(w.cssNumber[e]||"px"!==c&&+l)&&tt.exec(w.css(t,e));if(h&&h[3]!==c){for(l/=2,c=c||h[3],h=+l||1;s--;)w.style(t,e,h+c),(1-o)*(1-(o=a()/l||.5))<=0&&(s=0),h/=o;h*=2,w.style(t,e,h+c),n=n||[]}return n&&(h=+h||+l||0,i=n[1]?h+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=h,r.end=i)),i}(t,e,i),o="number"),null!=n&&n==n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[a]?"":"px")),f.clearCloneStyle||""!==n||0!==e.indexOf("background")||(c[e]="inherit"),s&&"set"in s&&void 0===(n=s.set(t,n,r))||(l?c.setProperty(e,n):c[e]=n))}},css:function(t,e,n,r){var i,o,s,a=W(e);return jt.test(e)||(e=Gt(a)),(s=w.cssHooks[e]||w.cssHooks[a])&&"get"in s&&(i=s.get(t,!0,n)),void 0===i&&(i=Dt(t,e,r)),"normal"===i&&e in qt&&(i=qt[e]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],(function(t,e){w.cssHooks[e]={get:function(t,n,r){if(n)return!Vt.test(w.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?Yt(t,e,r):rt(t,Ut,(function(){return Yt(t,e,r)}))},set:function(t,n,r){var i,o=Ft(t),s="border-box"===w.css(t,"boxSizing",!1,o),a=r&&Xt(t,e,r,s,o);return s&&f.scrollboxSize()===o.position&&(a-=Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-parseFloat(o[e])-Xt(t,e,"border",!1,o)-.5)),a&&(i=tt.exec(n))&&"px"!==(i[3]||"px")&&(t.style[e]=n,n=w.css(t,e)),Zt(0,n,a)}}})),w.cssHooks.marginLeft=Bt(f.reliableMarginLeft,(function(t,e){if(e)return(parseFloat(Dt(t,"marginLeft"))||t.getBoundingClientRect().left-rt(t,{marginLeft:0},(function(){return t.getBoundingClientRect().left})))+"px"})),w.each({margin:"",padding:"",border:"Width"},(function(t,e){w.cssHooks[t+e]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[t+et[r]+e]=o[r]||o[r-2]||o[0];return i}},"margin"!==t&&(w.cssHooks[t+e].set=Zt)})),w.fn.extend({css:function(t,e){return V(this,(function(t,e,n){var r,i,o={},s=0;if(Array.isArray(e)){for(r=Ft(t),i=e.length;s<i;s++)o[e[s]]=w.css(t,e[s],!1,r);return o}return void 0!==n?w.style(t,e,n):w.css(t,e)}),t,e,arguments.length>1)}}),w.fn.delay=function(t,e){return t=w.fx&&w.fx.speeds[t]||t,e=e||"fx",this.queue(e,(function(e,n){var r=window.setTimeout(e,t);n.stop=function(){window.clearTimeout(r)}}))},zt=e.createElement("input"),Ht=e.createElement("select").appendChild(e.createElement("option")),zt.type="checkbox",f.checkOn=""!==zt.value,f.optSelected=Ht.selected,(zt=e.createElement("input")).value="t",zt.type="radio",f.radioValue="t"===zt.value;var Kt,Qt=w.expr.attrHandle;w.fn.extend({attr:function(t,e){return V(this,w.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each((function(){w.removeAttr(this,t)}))}}),w.extend({attr:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===t.getAttribute?w.prop(t,e,n):(1===o&&w.isXMLDoc(t)||(i=w.attrHooks[e.toLowerCase()]||(w.expr.match.bool.test(e)?Kt:void 0)),void 0!==n?null===n?void w.removeAttr(t,e):i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:(t.setAttribute(e,n+""),n):i&&"get"in i&&null!==(r=i.get(t,e))?r:null==(r=w.find.attr(t,e))?void 0:r)},attrHooks:{type:{set:function(t,e){if(!f.radioValue&&"radio"===e&&E(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,r=0,i=e&&e.match(P);if(i&&1===t.nodeType)for(;n=i[r++];)t.removeAttribute(n)}}),Kt={set:function(t,e,n){return!1===e?w.removeAttr(t,n):t.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),(function(t,e){var n=Qt[e]||w.find.attr;Qt[e]=function(t,e,r){var i,o,s=e.toLowerCase();return r||(o=Qt[s],Qt[s]=i,i=null!=n(t,e,r)?s:null,Qt[s]=o),i}}));var Jt=/^(?:input|select|textarea|button)$/i,te=/^(?:a|area)$/i;function ee(t){return(t.match(P)||[]).join(" ")}function ne(t){return t.getAttribute&&t.getAttribute("class")||""}function re(t){return Array.isArray(t)?t:"string"==typeof t&&t.match(P)||[]}w.fn.extend({prop:function(t,e){return V(this,w.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each((function(){delete this[w.propFix[t]||t]}))}}),w.extend({prop:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(t)||(e=w.propFix[e]||e,i=w.propHooks[e]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:t[e]=n:i&&"get"in i&&null!==(r=i.get(t,e))?r:t[e]},propHooks:{tabIndex:{get:function(t){var e=w.find.attr(t,"tabindex");return e?parseInt(e,10):Jt.test(t.nodeName)||te.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),f.optSelected||(w.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){w.propFix[this.toLowerCase()]=this})),w.fn.extend({addClass:function(t){var e,n,r,i,o,s,a,l=0;if(d(t))return this.each((function(e){w(this).addClass(t.call(this,e,ne(this)))}));if((e=re(t)).length)for(;n=this[l++];)if(i=ne(n),r=1===n.nodeType&&" "+ee(i)+" "){for(s=0;o=e[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(a=ee(r))&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,r,i,o,s,a,l=0;if(d(t))return this.each((function(e){w(this).removeClass(t.call(this,e,ne(this)))}));if(!arguments.length)return this.attr("class","");if((e=re(t)).length)for(;n=this[l++];)if(i=ne(n),r=1===n.nodeType&&" "+ee(i)+" "){for(s=0;o=e[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(a=ee(r))&&n.setAttribute("class",a)}return this},toggleClass:function(t,e){var n=typeof t,r="string"===n||Array.isArray(t);return"boolean"==typeof e&&r?e?this.addClass(t):this.removeClass(t):d(t)?this.each((function(n){w(this).toggleClass(t.call(this,n,ne(this),e),e)})):this.each((function(){var e,i,o,s;if(r)for(i=0,o=w(this),s=re(t);e=s[i++];)o.hasClass(e)?o.removeClass(e):o.addClass(e);else void 0!==t&&"boolean"!==n||((e=ne(this))&&Z.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":Z.get(this,"__className__")||""))}))},hasClass:function(t){var e,n,r=0;for(e=" "+t+" ";n=this[r++];)if(1===n.nodeType&&(" "+ee(ne(n))+" ").indexOf(e)>-1)return!0;return!1}});var ie=/\r/g;w.fn.extend({val:function(t){var e,n,r,i=this[0];return arguments.length?(r=d(t),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?t.call(this,n,w(this).val()):t)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,(function(t){return null==t?"":t+""}))),(e=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,i,"value")||(this.value=i))}))):i?(e=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(ie,""):null==n?"":n:void 0}}),w.extend({valHooks:{option:{get:function(t){var e=w.find.attr(t,"value");return null!=e?e:ee(w.text(t))}},select:{get:function(t){var e,n,r,i=t.options,o=t.selectedIndex,s="select-one"===t.type,a=s?null:[],l=s?o+1:i.length;for(r=o<0?l:s?o:0;r<l;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!E(n.parentNode,"optgroup"))){if(e=w(n).val(),s)return e;a.push(e)}return a},set:function(t,e){for(var n,r,i=t.options,o=w.makeArray(e),s=i.length;s--;)((r=i[s]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],(function(){w.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=w.inArray(w(t).val(),e)>-1}},f.checkOn||(w.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})})),f.focusin="onfocusin"in window;var oe=/^(?:focusinfocus|focusoutblur)$/,se=function(t){t.stopPropagation()};w.extend(w.event,{trigger:function(t,n,r,i){var o,s,a,l,h,u,f,g,m=[r||e],v=c.call(t,"type")?t.type:t,b=c.call(t,"namespace")?t.namespace.split("."):[];if(s=g=a=r=r||e,3!==r.nodeType&&8!==r.nodeType&&!oe.test(v+w.event.triggered)&&(v.indexOf(".")>-1&&(b=v.split("."),v=b.shift(),b.sort()),h=v.indexOf(":")<0&&"on"+v,(t=t[w.expando]?t:new w.Event(v,"object"==typeof t&&t)).isTrigger=i?2:3,t.namespace=b.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:w.makeArray(n,[t]),f=w.event.special[v]||{},i||!f.trigger||!1!==f.trigger.apply(r,n))){if(!i&&!f.noBubble&&!p(r)){for(l=f.delegateType||v,oe.test(l+v)||(s=s.parentNode);s;s=s.parentNode)m.push(s),a=s;a===(r.ownerDocument||e)&&m.push(a.defaultView||a.parentWindow||window)}for(o=0;(s=m[o++])&&!t.isPropagationStopped();)g=s,t.type=o>1?l:f.bindType||v,(u=(Z.get(s,"events")||{})[t.type]&&Z.get(s,"handle"))&&u.apply(s,n),(u=h&&s[h])&&u.apply&&$(s)&&(t.result=u.apply(s,n),!1===t.result&&t.preventDefault());return t.type=v,i||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(m.pop(),n)||!$(r)||h&&d(r[v])&&!p(r)&&((a=r[h])&&(r[h]=null),w.event.triggered=v,t.isPropagationStopped()&&g.addEventListener(v,se),r[v](),t.isPropagationStopped()&&g.removeEventListener(v,se),w.event.triggered=void 0,a&&(r[h]=a)),t.result}},simulate:function(t,e,n){var r=w.extend(new w.Event,n,{type:t,isSimulated:!0});w.event.trigger(r,null,e)}}),w.fn.extend({trigger:function(t,e){return this.each((function(){w.event.trigger(t,e,this)}))},triggerHandler:function(t,e){var n=this[0];if(n)return w.event.trigger(t,e,n,!0)}}),f.focusin||w.each({focus:"focusin",blur:"focusout"},(function(t,e){var n=function(t){w.event.simulate(e,t.target,w.event.fix(t))};w.event.special[e]={setup:function(){var r=this.ownerDocument||this,i=Z.access(r,e);i||r.addEventListener(t,n,!0),Z.access(r,e,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Z.access(r,e)-1;i?Z.access(r,e,i):(r.removeEventListener(t,n,!0),Z.remove(r,e))}}}));var ae,le=/\[\]$/,ce=/\r?\n/g,he=/^(?:submit|button|image|reset|file)$/i,ue=/^(?:input|select|textarea|keygen)/i;function fe(t,e,n,r){var i;if(Array.isArray(e))w.each(e,(function(e,i){n||le.test(t)?r(t,i):fe(t+"["+("object"==typeof i&&null!=i?e:"")+"]",i,n,r)}));else if(n||"object"!==v(e))r(t,e);else for(i in e)fe(t+"["+i+"]",e[i],n,r)}w.param=function(t,e){var n,r=[],i=function(t,e){var n=d(e)?e():e;r[r.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(t)||t.jquery&&!w.isPlainObject(t))w.each(t,(function(){i(this.name,this.value)}));else for(n in t)fe(n,t[n],e,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var t=w.prop(this,"elements");return t?w.makeArray(t):this})).filter((function(){var t=this.type;return this.name&&!w(this).is(":disabled")&&ue.test(this.nodeName)&&!he.test(t)&&(this.checked||!at.test(t))})).map((function(t,e){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,(function(t){return{name:e.name,value:t.replace(ce,"\r\n")}})):{name:e.name,value:n.replace(ce,"\r\n")}})).get()}}),w.fn.extend({wrapAll:function(t){var e;return this[0]&&(d(t)&&(t=t.call(this[0])),e=w(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map((function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t})).append(this)),this},wrapInner:function(t){return d(t)?this.each((function(e){w(this).wrapInner(t.call(this,e))})):this.each((function(){var e=w(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)}))},wrap:function(t){var e=d(t);return this.each((function(n){w(this).wrapAll(e?t.call(this,n):t)}))},unwrap:function(t){return this.parent(t).not("body").each((function(){w(this).replaceWith(this.childNodes)})),this}}),w.expr.pseudos.hidden=function(t){return!w.expr.pseudos.visible(t)},w.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},f.createHTMLDocument=((ae=e.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===ae.childNodes.length),w.parseHTML=function(t,n,r){return"string"!=typeof t?[]:("boolean"==typeof n&&(r=n,n=!1),n||(f.createHTMLDocument?((i=(n=e.implementation.createHTMLDocument("")).createElement("base")).href=e.location.href,n.head.appendChild(i)):n=e),s=!r&&[],(o=A.exec(t))?[n.createElement(o[1])]:(o=pt([t],n,s),s&&s.length&&w(s).remove(),w.merge([],o.childNodes)));var i,o,s},w.offset={setOffset:function(t,e,n){var r,i,o,s,a,l,c=w.css(t,"position"),h=w(t),u={};"static"===c&&(t.style.position="relative"),a=h.offset(),o=w.css(t,"top"),l=w.css(t,"left"),("absolute"===c||"fixed"===c)&&(o+l).indexOf("auto")>-1?(s=(r=h.position()).top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(l)||0),d(e)&&(e=e.call(t,n,w.extend({},a))),null!=e.top&&(u.top=e.top-a.top+s),null!=e.left&&(u.left=e.left-a.left+i),"using"in e?e.using.call(t,u):h.css(u)}},w.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each((function(e){w.offset.setOffset(this,t,e)}));var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var t,e,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))e=r.getBoundingClientRect();else{for(e=this.offset(),n=r.ownerDocument,t=r.offsetParent||n.documentElement;t&&(t===n.body||t===n.documentElement)&&"static"===w.css(t,"position");)t=t.parentNode;t&&t!==r&&1===t.nodeType&&((i=w(t).offset()).top+=w.css(t,"borderTopWidth",!0),i.left+=w.css(t,"borderLeftWidth",!0))}return{top:e.top-i.top-w.css(r,"marginTop",!0),left:e.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map((function(){for(var t=this.offsetParent;t&&"static"===w.css(t,"position");)t=t.offsetParent;return t||gt}))}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},(function(t,e){var n="pageYOffset"===e;w.fn[t]=function(r){return V(this,(function(t,r,i){var o;if(p(t)?o=t:9===t.nodeType&&(o=t.defaultView),void 0===i)return o?o[e]:t[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):t[r]=i}),t,r,arguments.length)}})),w.each(["top","left"],(function(t,e){w.cssHooks[e]=Bt(f.pixelPosition,(function(t,n){if(n)return n=Dt(t,e),Pt.test(n)?w(t).position()[e]+"px":n}))})),w.each({Height:"height",Width:"width"},(function(t,e){w.each({padding:"inner"+t,content:e,"":"outer"+t},(function(n,r){w.fn[r]=function(i,o){var s=arguments.length&&(n||"boolean"!=typeof i),a=n||(!0===i||!0===o?"margin":"border");return V(this,(function(e,n,i){var o;return p(e)?0===r.indexOf("outer")?e["inner"+t]:e.document.documentElement["client"+t]:9===e.nodeType?(o=e.documentElement,Math.max(e.body["scroll"+t],o["scroll"+t],e.body["offset"+t],o["offset"+t],o["client"+t])):void 0===i?w.css(e,n,a):w.style(e,n,i,a)}),e,s?i:void 0,s)}}))})),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(t,e){w.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}})),w.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),w.fn.extend({bind:function(t,e,n){return this.on(t,null,e,n)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,n,r){return this.on(e,t,n,r)},undelegate:function(t,e,n){return 1===arguments.length?this.off(t,"**"):this.off(e,t||"**",n)}}),w.proxy=function(t,e){var n,i,o;if("string"==typeof e&&(n=t[e],e=t,t=n),d(t))return i=r.call(arguments,2),o=function(){return t.apply(e||this,i.concat(r.call(arguments)))},o.guid=t.guid=t.guid||w.guid++,o},w.holdReady=function(t){t?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=E,w.isFunction=d,w.isWindow=p,w.camelCase=W,w.type=v,w.now=Date.now,w.isNumeric=function(t){var e=w.type(t);return("number"===e||"string"===e)&&!isNaN(t-parseFloat(t))};const de=w;function pe(t){return function(t,e){const n=document.createElement(t);e&&(e.class&&n.classList.add(e.class),e.id&&(n.id=e.id),e.style&&function(t,e){for(let n of Object.keys(e))t.style[n]=e[n]}(n,e.style));return n}("div",t)}function ge(t){const e=getComputedStyle(t);"none"!==e.display&&(t._initialDisplay=e.display),t.style.display="none"}function me(t){if(t.type.startsWith("touch")){const e=t.touches[0];return{x:e.pageX,y:e.pageY}}return{x:t.pageX,y:t.pageY}}function ve(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}function be(t,e){const{clientX:n,clientY:r}=t;return((t,{clientX:e,clientY:n})=>{const{left:r,top:i,width:o,height:s}=t.getBoundingClientRect(),a=e-r,l=n-i;return{x:a,y:l,xNormalized:a/o,yNormalized:l/s,width:o,height:s}})(e,{clientX:n,clientY:r})}function we(t,e){return function(t,e){e=e||"currentColor";let n=ye[t];n||(console.error(`No icon named: ${t}`),n=ye.question);const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttributeNS(null,"viewBox","0 0 "+n[0]+" "+n[1]);const i=document.createElementNS("http://www.w3.org/2000/svg","path");return i.setAttributeNS(null,"fill",e),i.setAttributeNS(null,"d",n[4]),r.appendChild(i),r}(t,e)}const ye={check:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"],cog:[512,512,[],"f013","M444.788 291.1l42.616 24.599c4.867 2.809 7.126 8.618 5.459 13.985-11.07 35.642-29.97 67.842-54.689 94.586a12.016 12.016 0 0 1-14.832 2.254l-42.584-24.595a191.577 191.577 0 0 1-60.759 35.13v49.182a12.01 12.01 0 0 1-9.377 11.718c-34.956 7.85-72.499 8.256-109.219.007-5.49-1.233-9.403-6.096-9.403-11.723v-49.184a191.555 191.555 0 0 1-60.759-35.13l-42.584 24.595a12.016 12.016 0 0 1-14.832-2.254c-24.718-26.744-43.619-58.944-54.689-94.586-1.667-5.366.592-11.175 5.459-13.985L67.212 291.1a193.48 193.48 0 0 1 0-70.199l-42.616-24.599c-4.867-2.809-7.126-8.618-5.459-13.985 11.07-35.642 29.97-67.842 54.689-94.586a12.016 12.016 0 0 1 14.832-2.254l42.584 24.595a191.577 191.577 0 0 1 60.759-35.13V25.759a12.01 12.01 0 0 1 9.377-11.718c34.956-7.85 72.499-8.256 109.219-.007 5.49 1.233 9.403 6.096 9.403 11.723v49.184a191.555 191.555 0 0 1 60.759 35.13l42.584-24.595a12.016 12.016 0 0 1 14.832 2.254c24.718 26.744 43.619 58.944 54.689 94.586 1.667 5.366-.592 11.175-5.459 13.985L444.788 220.9a193.485 193.485 0 0 1 0 70.2zM336 256c0-44.112-35.888-80-80-80s-80 35.888-80 80 35.888 80 80 80 80-35.888 80-80z"],exclamation:[192,512,[],"f12a","M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"],"exclamation-circle":[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],"exclamation-triangle":[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],minus:[448,512,[],"f068","M424 318.2c13.3 0 24-10.7 24-24v-76.4c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h400z"],"minus-circle":[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"],"minus-square":[448,512,[],"f146","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z"],plus:[448,512,[],"f067","M448 294.2v-76.4c0-13.3-10.7-24-24-24H286.2V56c0-13.3-10.7-24-24-24h-76.4c-13.3 0-24 10.7-24 24v137.8H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h137.8V456c0 13.3 10.7 24 24 24h76.4c13.3 0 24-10.7 24-24V318.2H424c13.3 0 24-10.7 24-24z"],"plus-circle":[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],"plus-square":[448,512,[],"f0fe","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],question:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"],save:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"],search:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"],share:[512,512,[],"f064","M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"],spinner:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"],square:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],"square-full":[512,512,[],"f45c","M512 512H0V0h512v512z"],times:[384,512,[],"f00d","M323.1 441l53.9-53.9c9.4-9.4 9.4-24.5 0-33.9L279.8 256l97.2-97.2c9.4-9.4 9.4-24.5 0-33.9L323.1 71c-9.4-9.4-24.5-9.4-33.9 0L192 168.2 94.8 71c-9.4-9.4-24.5-9.4-33.9 0L7 124.9c-9.4 9.4-9.4 24.5 0 33.9l97.2 97.2L7 353.2c-9.4 9.4-9.4 24.5 0 33.9L60.9 441c9.4 9.4 24.5 9.4 33.9 0l97.2-97.2 97.2 97.2c9.3 9.3 24.5 9.3 33.9 0z"],"times-circle":[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"],wrench:[512,512,[],"f0ad","M481.156 200c9.3 0 15.12 10.155 10.325 18.124C466.295 259.992 420.419 288 368 288c-79.222 0-143.501-63.974-143.997-143.079C223.505 65.469 288.548-.001 368.002 0c52.362.001 98.196 27.949 123.4 69.743C496.24 77.766 490.523 88 481.154 88H376l-40 56 40 56h105.156zm-171.649 93.003L109.255 493.255c-24.994 24.993-65.515 24.994-90.51 0-24.993-24.994-24.993-65.516 0-90.51L218.991 202.5c16.16 41.197 49.303 74.335 90.516 90.503zM104 432c0-13.255-10.745-24-24-24s-24 10.745-24 24 10.745 24 24 24 24-10.745 24-24z"]};function xe(t,e){var n=document.createElement("div");t.appendChild(n),n.appendChild(we("times")),n.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),e()}))}function _e(t){return"string"==typeof t||t instanceof String}function ke(t){var e=String(t).split(/[.,]/);return e[0].split("").reverse().reduce((function(t,e,n){return n%3==0?t+","+e:t+e})).split("").reverse().join("")+(e[1]?"."+e[1]:"")}const Se=function(t){return t.split(/\n|\r\n|\r/g)};function Ce(t,e){var n,r,i=[],o=t.length,s=0,a=!1;if(o>0)for(i[s]=t.charAt(0),n=1;n<o;n++)'"'===(r=t.charAt(n))?a=!a:a||r!==e?i[s]+=r:i[++s]="";return i}function Ee(t){return t.length>0?t.charAt(0).toUpperCase()+t.slice(1):t}function Ae(t){return t.includes("googleapis")&&!t.includes("urlshortener")||Te(t)||Le(t)}function Te(t){return t.startsWith("gs://")||t.startsWith("https://www.googleapis.com/storage")||t.startsWith("https://storage.cloud.google.com")||t.startsWith("https://storage.googleapis.com")}function Le(t){return t.indexOf("drive.google.com")>=0||t.indexOf("www.googleapis.com/drive")>0}function Me(t){let{bucket:e,object:n}=function(t){let e,n;if(t.startsWith("gs://")){const r=t.indexOf("/",5);if(r>=0){e=t.substring(5,r);const i=t.indexOf("?");n=i<0?t.substring(r+1):t.substring(r+1,i)}}else if(t.startsWith("https://storage.googleapis.com")||t.startsWith("https://storage.cloud.google.com")){const r=t.indexOf("/v1/b/",8);if(r>0){const i=t.indexOf("/o/",r);if(i>0){const o=t.indexOf("?",i);e=t.substring(r+6,i),n=o>0?t.substring(i+3,o):t.substring(i+3)}}else{const r=t.indexOf("/",8),i=t.indexOf("/",r+1),o=t.indexOf("?",i);i>0&&(e=t.substring(r+1,i),n=o<0?t.substring(i+1):t.substring(i+1,o))}}else if(t.startsWith("https://www.googleapis.com/storage/v1/b")){const r=t.indexOf("/v1/b/",8),i=t.indexOf("/o/",r);if(i>0){const o=t.indexOf("?",i);e=t.substring(r+6,i),n=o>0?t.substring(i+3,o):t.substring(i+3)}}if(e&&n)return{bucket:e,object:n};throw Error(`Unrecognized Google Storage URI: ${t}`)}(t);n=function(t){let e="";return t.split("").forEach((function(t){Ne.has(t)?e+=Ne.get(t):e+=t})),e}(n);const r=t.indexOf("?");return`https://storage.googleapis.com/storage/v1/b/${e}/o/${n}${r>0?t.substring(r)+"&alt=media":"?alt=media"}`}function Re(t){var e=Ie(t);return e?"https://www.googleapis.com/drive/v3/files/"+e+"?alt=media&supportsTeamDrives=true":t}function Ie(t){if(t.includes("/open?id=")){const e=t.indexOf("/open?id=")+9,n=t.indexOf("&");if(e>0&&n>e)return t.substring(e,n);if(e>0)return t.substring(e)}else{if(t.includes("/file/d/")){const e=t.indexOf("/file/d/")+8,n=t.lastIndexOf("/");return t.substring(e,n)}if(t.startsWith("https://www.googleapis.com/drive")){let e=t.indexOf("/files/");const n=t.indexOf("?");if(e>0)return e+=7,n>0?t.substring(e,n):t.substring(e)}}throw Error("Unknown Google Drive url format: "+t)}const Ne=new Map;Ne.set("!","%21"),Ne.set("#","%23"),Ne.set("$","%24"),Ne.set("%","%25"),Ne.set("&","%26"),Ne.set("'","%27"),Ne.set("(","%28"),Ne.set(")","%29"),Ne.set("*","%2A"),Ne.set("+","%2B"),Ne.set(",","%2C"),Ne.set("/","%2F"),Ne.set(":","%3A"),Ne.set(";","%3B"),Ne.set("=","%3D"),Ne.set("?","%3F"),Ne.set("@","%40"),Ne.set("[","%5B"),Ne.set("]","%5D"),Ne.set(" ","%20");async function Pe(t){if(Fe())return void console.warn("oAuth has already been initialized");gapi.apiKey=t.apiKey;const e=Object.assign({},t);return e.scope||(e.scope="profile"),t.client_id||(t.client_id=t.clientId),await async function(t){return new Promise((function(e,n){gapi.load(t,{callback:e,onerror:n})}))}("auth2"),new Promise((function(t,n){gapi.auth2.init(e).then(t,n)}))}function Fe(){return"undefined"!=typeof gapi&&gapi.auth2&&gapi.auth2.getAuthInstance()}let Oe=!1;async function De(t){if("undefined"==typeof gapi)throw Error("Google authentication requires the 'gapi' library");if(!gapi.auth2)throw Error("Google 'auth2' has not been initialized");if(Oe)return new Promise((function(e,n){let r;r=setInterval((()=>{try{!1===Oe&&(e(De(t)),clearInterval(r))}catch(t){clearInterval(r),n(t)}}),100)}));Oe=!0;try{let e,n=gapi.auth2.getAuthInstance().currentUser.get();if(n.isSignedIn()){n.hasGrantedScopes(t)||await n.grant({scope:t});const{access_token:r,expires_at:i}=n.getAuthResponse();if(Date.now()<i-3e5)e={access_token:r,expires_at:i};else{const{access_token:t,expires_at:r}=n.reloadAuthResponse();e={access_token:t,expires_at:r}}}else{n=await async function(t){const e=new gapi.auth2.SigninOptionsBuilder;return e.setPrompt("select_account"),e.setScope(t),gapi.auth2.getAuthInstance().signIn(e)}(t);const{access_token:r,expires_at:i}=n.getAuthResponse();e={access_token:r,expires_at:i}}return e}finally{Oe=!1}}function Be(){return gapi.apiKey}function ze(t){for(var e=He,n=e.parser.loose.exec(t),r={},i=14;i--;)r[e.key[i]]=n[i]||"";return r[e.q.name]={},r[e.key[12]].replace(e.q.parser,(function(t,n,i){n&&(r[e.q.name][n]=i)})),r}"object"==typeof process&&"undefined"==typeof window&&(global.atob=function(t){return Buffer.from(t,"base64").toString("binary")});const He={strictMode:!1,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};function Ve(t){if(je(t))return t.name;if(_e(t)){let e=t.lastIndexOf("/"),n=e<0?t:t.substr(e+1);return e=n.indexOf("?"),e>0&&(n=n.substr(0,e)),n}throw Error("Expected File or string, got "+typeof t)}function je(t){return t instanceof File||"function"!=typeof t&&t.hasOwnProperty("name")&&t.hasOwnProperty("size")&&t.hasOwnProperty("type")}const Ue=je;function qe(t,e){const n=document.createElement("a");n.setAttribute("href",e),n.setAttribute("download",t),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}
26
+ /*! pako 2.0.4 https://github.com/nodeca/pako @license (MIT AND Zlib) */function We(t){let e=t.length;for(;--e>=0;)t[e]=0}const $e=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Ge=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Ze=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Xe=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ye=new Array(576);We(Ye);const Ke=new Array(60);We(Ke);const Qe=new Array(512);We(Qe);const Je=new Array(256);We(Je);const tn=new Array(29);We(tn);const en=new Array(30);function nn(t,e,n,r,i){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=t&&t.length}let rn,on,sn;function an(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}We(en);const ln=t=>t<256?Qe[t]:Qe[256+(t>>>7)],cn=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},hn=(t,e,n)=>{t.bi_valid>16-n?(t.bi_buf|=e<<t.bi_valid&65535,cn(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=n-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=n)},un=(t,e,n)=>{hn(t,n[2*e],n[2*e+1])},fn=(t,e)=>{let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1},dn=(t,e,n)=>{const r=new Array(16);let i,o,s=0;for(i=1;i<=15;i++)r[i]=s=s+n[i-1]<<1;for(o=0;o<=e;o++){let e=t[2*o+1];0!==e&&(t[2*o]=fn(r[e]++,e))}},pn=t=>{let e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0},gn=t=>{t.bi_valid>8?cn(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},mn=(t,e,n,r)=>{const i=2*e,o=2*n;return t[i]<t[o]||t[i]===t[o]&&r[e]<=r[n]},vn=(t,e,n)=>{const r=t.heap[n];let i=n<<1;for(;i<=t.heap_len&&(i<t.heap_len&&mn(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!mn(e,r,t.heap[i],t.depth));)t.heap[n]=t.heap[i],n=i,i<<=1;t.heap[n]=r},bn=(t,e,n)=>{let r,i,o,s,a=0;if(0!==t.last_lit)do{r=t.pending_buf[t.d_buf+2*a]<<8|t.pending_buf[t.d_buf+2*a+1],i=t.pending_buf[t.l_buf+a],a++,0===r?un(t,i,e):(o=Je[i],un(t,o+256+1,e),s=$e[o],0!==s&&(i-=tn[o],hn(t,i,s)),r--,o=ln(r),un(t,o,n),s=Ge[o],0!==s&&(r-=en[o],hn(t,r,s)))}while(a<t.last_lit);un(t,256,e)},wn=(t,e)=>{const n=e.dyn_tree,r=e.stat_desc.static_tree,i=e.stat_desc.has_stree,o=e.stat_desc.elems;let s,a,l,c=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<o;s++)0!==n[2*s]?(t.heap[++t.heap_len]=c=s,t.depth[s]=0):n[2*s+1]=0;for(;t.heap_len<2;)l=t.heap[++t.heap_len]=c<2?++c:0,n[2*l]=1,t.depth[l]=0,t.opt_len--,i&&(t.static_len-=r[2*l+1]);for(e.max_code=c,s=t.heap_len>>1;s>=1;s--)vn(t,n,s);l=o;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],vn(t,n,1),a=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=a,n[2*l]=n[2*s]+n[2*a],t.depth[l]=(t.depth[s]>=t.depth[a]?t.depth[s]:t.depth[a])+1,n[2*s+1]=n[2*a+1]=l,t.heap[1]=l++,vn(t,n,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const n=e.dyn_tree,r=e.max_code,i=e.stat_desc.static_tree,o=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,l=e.stat_desc.max_length;let c,h,u,f,d,p,g=0;for(f=0;f<=15;f++)t.bl_count[f]=0;for(n[2*t.heap[t.heap_max]+1]=0,c=t.heap_max+1;c<573;c++)h=t.heap[c],f=n[2*n[2*h+1]+1]+1,f>l&&(f=l,g++),n[2*h+1]=f,h>r||(t.bl_count[f]++,d=0,h>=a&&(d=s[h-a]),p=n[2*h],t.opt_len+=p*(f+d),o&&(t.static_len+=p*(i[2*h+1]+d)));if(0!==g){do{for(f=l-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[l]--,g-=2}while(g>0);for(f=l;0!==f;f--)for(h=t.bl_count[f];0!==h;)u=t.heap[--c],u>r||(n[2*u+1]!==f&&(t.opt_len+=(f-n[2*u+1])*n[2*u],n[2*u+1]=f),h--)}})(t,e),dn(n,c,t.bl_count)},yn=(t,e,n)=>{let r,i,o=-1,s=e[1],a=0,l=7,c=4;for(0===s&&(l=138,c=3),e[2*(n+1)+1]=65535,r=0;r<=n;r++)i=s,s=e[2*(r+1)+1],++a<l&&i===s||(a<c?t.bl_tree[2*i]+=a:0!==i?(i!==o&&t.bl_tree[2*i]++,t.bl_tree[32]++):a<=10?t.bl_tree[34]++:t.bl_tree[36]++,a=0,o=i,0===s?(l=138,c=3):i===s?(l=6,c=3):(l=7,c=4))},xn=(t,e,n)=>{let r,i,o=-1,s=e[1],a=0,l=7,c=4;for(0===s&&(l=138,c=3),r=0;r<=n;r++)if(i=s,s=e[2*(r+1)+1],!(++a<l&&i===s)){if(a<c)do{un(t,i,t.bl_tree)}while(0!=--a);else 0!==i?(i!==o&&(un(t,i,t.bl_tree),a--),un(t,16,t.bl_tree),hn(t,a-3,2)):a<=10?(un(t,17,t.bl_tree),hn(t,a-3,3)):(un(t,18,t.bl_tree),hn(t,a-11,7));a=0,o=i,0===s?(l=138,c=3):i===s?(l=6,c=3):(l=7,c=4)}};let _n=!1;const kn=(t,e,n,r)=>{hn(t,0+(r?1:0),3),((t,e,n,r)=>{gn(t),r&&(cn(t,n),cn(t,~n)),t.pending_buf.set(t.window.subarray(e,e+n),t.pending),t.pending+=n})(t,e,n,!0)};var Sn=(t,e,n,r)=>{let i,o,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,n=4093624447;for(e=0;e<=31;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),wn(t,t.l_desc),wn(t,t.d_desc),s=(t=>{let e;for(yn(t,t.dyn_ltree,t.l_desc.max_code),yn(t,t.dyn_dtree,t.d_desc.max_code),wn(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*Xe[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),i=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=i&&(i=o)):i=o=n+5,n+4<=i&&-1!==e?kn(t,e,n,r):4===t.strategy||o===i?(hn(t,2+(r?1:0),3),bn(t,Ye,Ke)):(hn(t,4+(r?1:0),3),((t,e,n,r)=>{let i;for(hn(t,e-257,5),hn(t,n-1,5),hn(t,r-4,4),i=0;i<r;i++)hn(t,t.bl_tree[2*Xe[i]+1],3);xn(t,t.dyn_ltree,e-1),xn(t,t.dyn_dtree,n-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),bn(t,t.dyn_ltree,t.dyn_dtree)),pn(t),r&&gn(t)},Cn={_tr_init:t=>{_n||((()=>{let t,e,n,r,i;const o=new Array(16);for(n=0,r=0;r<28;r++)for(tn[r]=n,t=0;t<1<<$e[r];t++)Je[n++]=r;for(Je[n-1]=r,i=0,r=0;r<16;r++)for(en[r]=i,t=0;t<1<<Ge[r];t++)Qe[i++]=r;for(i>>=7;r<30;r++)for(en[r]=i<<7,t=0;t<1<<Ge[r]-7;t++)Qe[256+i++]=r;for(e=0;e<=15;e++)o[e]=0;for(t=0;t<=143;)Ye[2*t+1]=8,t++,o[8]++;for(;t<=255;)Ye[2*t+1]=9,t++,o[9]++;for(;t<=279;)Ye[2*t+1]=7,t++,o[7]++;for(;t<=287;)Ye[2*t+1]=8,t++,o[8]++;for(dn(Ye,287,o),t=0;t<30;t++)Ke[2*t+1]=5,Ke[2*t]=fn(t,5);rn=new nn(Ye,$e,257,286,15),on=new nn(Ke,Ge,0,30,15),sn=new nn(new Array(0),Ze,0,19,7)})(),_n=!0),t.l_desc=new an(t.dyn_ltree,rn),t.d_desc=new an(t.dyn_dtree,on),t.bl_desc=new an(t.bl_tree,sn),t.bi_buf=0,t.bi_valid=0,pn(t)},_tr_stored_block:kn,_tr_flush_block:Sn,_tr_tally:(t,e,n)=>(t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(Je[n]+256+1)]++,t.dyn_dtree[2*ln(e)]++),t.last_lit===t.lit_bufsize-1),_tr_align:t=>{hn(t,2,3),un(t,256,Ye),(t=>{16===t.bi_valid?(cn(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var En=(t,e,n,r)=>{let i=65535&t|0,o=t>>>16&65535|0,s=0;for(;0!==n;){s=n>2e3?2e3:n,n-=s;do{i=i+e[r++]|0,o=o+i|0}while(--s);i%=65521,o%=65521}return i|o<<16|0};const An=new Uint32Array((()=>{let t,e=[];for(var n=0;n<256;n++){t=n;for(var r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e})());var Tn=(t,e,n,r)=>{const i=An,o=r+n;t^=-1;for(let n=r;n<o;n++)t=t>>>8^i[255&(t^e[n])];return-1^t},Ln={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Mn={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Rn,_tr_stored_block:In,_tr_flush_block:Nn,_tr_tally:Pn,_tr_align:Fn}=Cn,{Z_NO_FLUSH:On,Z_PARTIAL_FLUSH:Dn,Z_FULL_FLUSH:Bn,Z_FINISH:zn,Z_BLOCK:Hn,Z_OK:Vn,Z_STREAM_END:jn,Z_STREAM_ERROR:Un,Z_DATA_ERROR:qn,Z_BUF_ERROR:Wn,Z_DEFAULT_COMPRESSION:$n,Z_FILTERED:Gn,Z_HUFFMAN_ONLY:Zn,Z_RLE:Xn,Z_FIXED:Yn,Z_DEFAULT_STRATEGY:Kn,Z_UNKNOWN:Qn,Z_DEFLATED:Jn}=Mn,tr=(t,e)=>(t.msg=Ln[e],e),er=t=>(t<<1)-(t>4?9:0),nr=t=>{let e=t.length;for(;--e>=0;)t[e]=0};let rr=(t,e,n)=>(e<<t.hash_shift^n)&t.hash_mask;const ir=t=>{const e=t.state;let n=e.pending;n>t.avail_out&&(n=t.avail_out),0!==n&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+n),t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,0===e.pending&&(e.pending_out=0))},or=(t,e)=>{Nn(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,ir(t.strm)},sr=(t,e)=>{t.pending_buf[t.pending++]=e},ar=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},lr=(t,e,n,r)=>{let i=t.avail_in;return i>r&&(i=r),0===i?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),n),1===t.state.wrap?t.adler=En(t.adler,e,i,n):2===t.state.wrap&&(t.adler=Tn(t.adler,e,i,n)),t.next_in+=i,t.total_in+=i,i)},cr=(t,e)=>{let n,r,i=t.max_chain_length,o=t.strstart,s=t.prev_length,a=t.nice_match;const l=t.strstart>t.w_size-262?t.strstart-(t.w_size-262):0,c=t.window,h=t.w_mask,u=t.prev,f=t.strstart+258;let d=c[o+s-1],p=c[o+s];t.prev_length>=t.good_match&&(i>>=2),a>t.lookahead&&(a=t.lookahead);do{if(n=e,c[n+s]===p&&c[n+s-1]===d&&c[n]===c[o]&&c[++n]===c[o+1]){o+=2,n++;do{}while(c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&o<f);if(r=258-(f-o),o=f-258,r>s){if(t.match_start=e,s=r,r>=a)break;d=c[o+s-1],p=c[o+s]}}}while((e=u[e&h])>l&&0!=--i);return s<=t.lookahead?s:t.lookahead},hr=t=>{const e=t.w_size;let n,r,i,o,s;do{if(o=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-262)){t.window.set(t.window.subarray(e,e+e),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,r=t.hash_size,n=r;do{i=t.head[--n],t.head[n]=i>=e?i-e:0}while(--r);r=e,n=r;do{i=t.prev[--n],t.prev[n]=i>=e?i-e:0}while(--r);o+=e}if(0===t.strm.avail_in)break;if(r=lr(t.strm,t.window,t.strstart+t.lookahead,o),t.lookahead+=r,t.lookahead+t.insert>=3)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=rr(t,t.ins_h,t.window[s+1]);t.insert&&(t.ins_h=rr(t,t.ins_h,t.window[s+3-1]),t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<262&&0!==t.strm.avail_in)},ur=(t,e)=>{let n,r;for(;;){if(t.lookahead<262){if(hr(t),t.lookahead<262&&e===On)return 1;if(0===t.lookahead)break}if(n=0,t.lookahead>=3&&(t.ins_h=rr(t,t.ins_h,t.window[t.strstart+3-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==n&&t.strstart-n<=t.w_size-262&&(t.match_length=cr(t,n)),t.match_length>=3)if(r=Pn(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=rr(t,t.ins_h,t.window[t.strstart+3-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=rr(t,t.ins_h,t.window[t.strstart+1]);else r=Pn(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(r&&(or(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===zn?(or(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(or(t,!1),0===t.strm.avail_out)?1:2},fr=(t,e)=>{let n,r,i;for(;;){if(t.lookahead<262){if(hr(t),t.lookahead<262&&e===On)return 1;if(0===t.lookahead)break}if(n=0,t.lookahead>=3&&(t.ins_h=rr(t,t.ins_h,t.window[t.strstart+3-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==n&&t.prev_length<t.max_lazy_match&&t.strstart-n<=t.w_size-262&&(t.match_length=cr(t,n),t.match_length<=5&&(t.strategy===Gn||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,r=Pn(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=rr(t,t.ins_h,t.window[t.strstart+3-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,r&&(or(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(r=Pn(t,0,t.window[t.strstart-1]),r&&or(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(r=Pn(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===zn?(or(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(or(t,!1),0===t.strm.avail_out)?1:2};function dr(t,e,n,r,i){this.good_length=t,this.max_lazy=e,this.nice_length=n,this.max_chain=r,this.func=i}const pr=[new dr(0,0,0,0,((t,e)=>{let n=65535;for(n>t.pending_buf_size-5&&(n=t.pending_buf_size-5);;){if(t.lookahead<=1){if(hr(t),0===t.lookahead&&e===On)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;const r=t.block_start+n;if((0===t.strstart||t.strstart>=r)&&(t.lookahead=t.strstart-r,t.strstart=r,or(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-262&&(or(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===zn?(or(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(or(t,!1),t.strm.avail_out),1)})),new dr(4,4,8,4,ur),new dr(4,5,16,8,ur),new dr(4,6,32,32,ur),new dr(4,4,16,16,fr),new dr(8,16,32,32,fr),new dr(8,16,128,128,fr),new dr(8,32,128,256,fr),new dr(32,128,258,1024,fr),new dr(32,258,258,4096,fr)];function gr(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Jn,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),nr(this.dyn_ltree),nr(this.dyn_dtree),nr(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),nr(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),nr(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const mr=t=>{if(!t||!t.state)return tr(t,Un);t.total_in=t.total_out=0,t.data_type=Qn;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:113,t.adler=2===e.wrap?0:1,e.last_flush=On,Rn(e),Vn},vr=t=>{const e=mr(t);var n;return e===Vn&&((n=t.state).window_size=2*n.w_size,nr(n.head),n.max_lazy_match=pr[n.level].max_lazy,n.good_match=pr[n.level].good_length,n.nice_match=pr[n.level].nice_length,n.max_chain_length=pr[n.level].max_chain,n.strstart=0,n.block_start=0,n.lookahead=0,n.insert=0,n.match_length=n.prev_length=2,n.match_available=0,n.ins_h=0),e},br=(t,e,n,r,i,o)=>{if(!t)return Un;let s=1;if(e===$n&&(e=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),i<1||i>9||n!==Jn||r<8||r>15||e<0||e>9||o<0||o>Yn)return tr(t,Un);8===r&&(r=9);const a=new gr;return t.state=a,a.strm=t,a.wrap=s,a.gzhead=null,a.w_bits=r,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=i+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<i+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.d_buf=1*a.lit_bufsize,a.l_buf=3*a.lit_bufsize,a.level=e,a.strategy=o,a.method=n,vr(t)};var wr=(t,e)=>{let n=e.length;if(!t||!t.state)return Un;const r=t.state,i=r.wrap;if(2===i||1===i&&42!==r.status||r.lookahead)return Un;if(1===i&&(t.adler=En(t.adler,e,n,0)),r.wrap=0,n>=r.w_size){0===i&&(nr(r.head),r.strstart=0,r.block_start=0,r.insert=0);let t=new Uint8Array(r.w_size);t.set(e.subarray(n-r.w_size,n),0),e=t,n=r.w_size}const o=t.avail_in,s=t.next_in,a=t.input;for(t.avail_in=n,t.next_in=0,t.input=e,hr(r);r.lookahead>=3;){let t=r.strstart,e=r.lookahead-2;do{r.ins_h=rr(r,r.ins_h,r.window[t+3-1]),r.prev[t&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=t,t++}while(--e);r.strstart=t,r.lookahead=2,hr(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,t.next_in=s,t.input=a,t.avail_in=o,r.wrap=i,Vn},yr={deflateInit:(t,e)=>br(t,e,Jn,15,8,Kn),deflateInit2:br,deflateReset:vr,deflateResetKeep:mr,deflateSetHeader:(t,e)=>t&&t.state?2!==t.state.wrap?Un:(t.state.gzhead=e,Vn):Un,deflate:(t,e)=>{let n,r;if(!t||!t.state||e>Hn||e<0)return t?tr(t,Un):Un;const i=t.state;if(!t.output||!t.input&&0!==t.avail_in||666===i.status&&e!==zn)return tr(t,0===t.avail_out?Wn:Un);i.strm=t;const o=i.last_flush;if(i.last_flush=e,42===i.status)if(2===i.wrap)t.adler=0,sr(i,31),sr(i,139),sr(i,8),i.gzhead?(sr(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),sr(i,255&i.gzhead.time),sr(i,i.gzhead.time>>8&255),sr(i,i.gzhead.time>>16&255),sr(i,i.gzhead.time>>24&255),sr(i,9===i.level?2:i.strategy>=Zn||i.level<2?4:0),sr(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(sr(i,255&i.gzhead.extra.length),sr(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=Tn(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(sr(i,0),sr(i,0),sr(i,0),sr(i,0),sr(i,0),sr(i,9===i.level?2:i.strategy>=Zn||i.level<2?4:0),sr(i,3),i.status=113);else{let e=Jn+(i.w_bits-8<<4)<<8,n=-1;n=i.strategy>=Zn||i.level<2?0:i.level<6?1:6===i.level?2:3,e|=n<<6,0!==i.strstart&&(e|=32),e+=31-e%31,i.status=113,ar(i,e),0!==i.strstart&&(ar(i,t.adler>>>16),ar(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=Tn(t.adler,i.pending_buf,i.pending-n,n)),ir(t),n=i.pending,i.pending!==i.pending_buf_size));)sr(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=Tn(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=Tn(t.adler,i.pending_buf,i.pending-n,n)),ir(t),n=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,sr(i,r)}while(0!==r);i.gzhead.hcrc&&i.pending>n&&(t.adler=Tn(t.adler,i.pending_buf,i.pending-n,n)),0===r&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=Tn(t.adler,i.pending_buf,i.pending-n,n)),ir(t),n=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,sr(i,r)}while(0!==r);i.gzhead.hcrc&&i.pending>n&&(t.adler=Tn(t.adler,i.pending_buf,i.pending-n,n)),0===r&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&ir(t),i.pending+2<=i.pending_buf_size&&(sr(i,255&t.adler),sr(i,t.adler>>8&255),t.adler=0,i.status=113)):i.status=113),0!==i.pending){if(ir(t),0===t.avail_out)return i.last_flush=-1,Vn}else if(0===t.avail_in&&er(e)<=er(o)&&e!==zn)return tr(t,Wn);if(666===i.status&&0!==t.avail_in)return tr(t,Wn);if(0!==t.avail_in||0!==i.lookahead||e!==On&&666!==i.status){let n=i.strategy===Zn?((t,e)=>{let n;for(;;){if(0===t.lookahead&&(hr(t),0===t.lookahead)){if(e===On)return 1;break}if(t.match_length=0,n=Pn(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(or(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===zn?(or(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(or(t,!1),0===t.strm.avail_out)?1:2})(i,e):i.strategy===Xn?((t,e)=>{let n,r,i,o;const s=t.window;for(;;){if(t.lookahead<=258){if(hr(t),t.lookahead<=258&&e===On)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=t.strstart-1,r=s[i],r===s[++i]&&r===s[++i]&&r===s[++i])){o=t.strstart+258;do{}while(r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&i<o);t.match_length=258-(o-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(n=Pn(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=Pn(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(or(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===zn?(or(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(or(t,!1),0===t.strm.avail_out)?1:2})(i,e):pr[i.level].func(i,e);if(3!==n&&4!==n||(i.status=666),1===n||3===n)return 0===t.avail_out&&(i.last_flush=-1),Vn;if(2===n&&(e===Dn?Fn(i):e!==Hn&&(In(i,0,0,!1),e===Bn&&(nr(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),ir(t),0===t.avail_out))return i.last_flush=-1,Vn}return e!==zn?Vn:i.wrap<=0?jn:(2===i.wrap?(sr(i,255&t.adler),sr(i,t.adler>>8&255),sr(i,t.adler>>16&255),sr(i,t.adler>>24&255),sr(i,255&t.total_in),sr(i,t.total_in>>8&255),sr(i,t.total_in>>16&255),sr(i,t.total_in>>24&255)):(ar(i,t.adler>>>16),ar(i,65535&t.adler)),ir(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?Vn:jn)},deflateEnd:t=>{if(!t||!t.state)return Un;const e=t.state.status;return 42!==e&&69!==e&&73!==e&&91!==e&&103!==e&&113!==e&&666!==e?tr(t,Un):(t.state=null,113===e?tr(t,qn):Vn)},deflateSetDictionary:wr,deflateInfo:"pako deflate (from Nodeca project)"};const xr=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var _r=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const n=e.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(const e in n)xr(n,e)&&(t[e]=n[e])}}return t},kr=t=>{let e=0;for(let n=0,r=t.length;n<r;n++)e+=t[n].length;const n=new Uint8Array(e);for(let e=0,r=0,i=t.length;e<i;e++){let i=t[e];n.set(i,r),r+=i.length}return n};let Sr=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Sr=!1}const Cr=new Uint8Array(256);for(let t=0;t<256;t++)Cr[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Cr[254]=Cr[254]=1;var Er=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,n,r,i,o,s=t.length,a=0;for(i=0;i<s;i++)n=t.charCodeAt(i),55296==(64512&n)&&i+1<s&&(r=t.charCodeAt(i+1),56320==(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),i++)),a+=n<128?1:n<2048?2:n<65536?3:4;for(e=new Uint8Array(a),o=0,i=0;o<a;i++)n=t.charCodeAt(i),55296==(64512&n)&&i+1<s&&(r=t.charCodeAt(i+1),56320==(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),i++)),n<128?e[o++]=n:n<2048?(e[o++]=192|n>>>6,e[o++]=128|63&n):n<65536?(e[o++]=224|n>>>12,e[o++]=128|n>>>6&63,e[o++]=128|63&n):(e[o++]=240|n>>>18,e[o++]=128|n>>>12&63,e[o++]=128|n>>>6&63,e[o++]=128|63&n);return e},Ar=(t,e)=>{const n=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let r,i;const o=new Array(2*n);for(i=0,r=0;r<n;){let e=t[r++];if(e<128){o[i++]=e;continue}let s=Cr[e];if(s>4)o[i++]=65533,r+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&r<n;)e=e<<6|63&t[r++],s--;s>1?o[i++]=65533:e<65536?o[i++]=e:(e-=65536,o[i++]=55296|e>>10&1023,o[i++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Sr)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let n="";for(let r=0;r<e;r++)n+=String.fromCharCode(t[r]);return n})(o,i)},Tr=(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let n=e-1;for(;n>=0&&128==(192&t[n]);)n--;return n<0||0===n?e:n+Cr[t[n]]>e?n:e};var Lr=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Mr=Object.prototype.toString,{Z_NO_FLUSH:Rr,Z_SYNC_FLUSH:Ir,Z_FULL_FLUSH:Nr,Z_FINISH:Pr,Z_OK:Fr,Z_STREAM_END:Or,Z_DEFAULT_COMPRESSION:Dr,Z_DEFAULT_STRATEGY:Br,Z_DEFLATED:zr}=Mn;function Hr(t){this.options=_r({level:Dr,method:zr,chunkSize:16384,windowBits:15,memLevel:8,strategy:Br},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Lr,this.strm.avail_out=0;let n=yr.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(n!==Fr)throw new Error(Ln[n]);if(e.header&&yr.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Er(e.dictionary):"[object ArrayBuffer]"===Mr.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,n=yr.deflateSetDictionary(this.strm,t),n!==Fr)throw new Error(Ln[n]);this._dict_set=!0}}function Vr(t,e){const n=new Hr(e);if(n.push(t,!0),n.err)throw n.msg||Ln[n.err];return n.result}Hr.prototype.push=function(t,e){const n=this.strm,r=this.options.chunkSize;let i,o;if(this.ended)return!1;for(o=e===~~e?e:!0===e?Pr:Rr,"string"==typeof t?n.input=Er(t):"[object ArrayBuffer]"===Mr.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;;)if(0===n.avail_out&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(o===Ir||o===Nr)&&n.avail_out<=6)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else{if(i=yr.deflate(n,o),i===Or)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=yr.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Fr;if(0!==n.avail_out){if(o>0&&n.next_out>0)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else if(0===n.avail_in)break}else this.onData(n.output)}return!0},Hr.prototype.onData=function(t){this.chunks.push(t)},Hr.prototype.onEnd=function(t){t===Fr&&(this.result=kr(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var jr=function(t,e){return(e=e||{}).raw=!0,Vr(t,e)},Ur=function(t,e){return(e=e||{}).gzip=!0,Vr(t,e)},qr={Deflate:Hr,deflate:Vr,deflateRaw:jr,gzip:Ur,constants:Mn};var Wr=function(t,e){let n,r,i,o,s,a,l,c,h,u,f,d,p,g,m,v,b,w,y,x,_,k,S,C;const E=t.state;n=t.next_in,S=t.input,r=n+(t.avail_in-5),i=t.next_out,C=t.output,o=i-(e-t.avail_out),s=i+(t.avail_out-257),a=E.dmax,l=E.wsize,c=E.whave,h=E.wnext,u=E.window,f=E.hold,d=E.bits,p=E.lencode,g=E.distcode,m=(1<<E.lenbits)-1,v=(1<<E.distbits)-1;t:do{d<15&&(f+=S[n++]<<d,d+=8,f+=S[n++]<<d,d+=8),b=p[f&m];e:for(;;){if(w=b>>>24,f>>>=w,d-=w,w=b>>>16&255,0===w)C[i++]=65535&b;else{if(!(16&w)){if(0==(64&w)){b=p[(65535&b)+(f&(1<<w)-1)];continue e}if(32&w){E.mode=12;break t}t.msg="invalid literal/length code",E.mode=30;break t}y=65535&b,w&=15,w&&(d<w&&(f+=S[n++]<<d,d+=8),y+=f&(1<<w)-1,f>>>=w,d-=w),d<15&&(f+=S[n++]<<d,d+=8,f+=S[n++]<<d,d+=8),b=g[f&v];n:for(;;){if(w=b>>>24,f>>>=w,d-=w,w=b>>>16&255,!(16&w)){if(0==(64&w)){b=g[(65535&b)+(f&(1<<w)-1)];continue n}t.msg="invalid distance code",E.mode=30;break t}if(x=65535&b,w&=15,d<w&&(f+=S[n++]<<d,d+=8,d<w&&(f+=S[n++]<<d,d+=8)),x+=f&(1<<w)-1,x>a){t.msg="invalid distance too far back",E.mode=30;break t}if(f>>>=w,d-=w,w=i-o,x>w){if(w=x-w,w>c&&E.sane){t.msg="invalid distance too far back",E.mode=30;break t}if(_=0,k=u,0===h){if(_+=l-w,w<y){y-=w;do{C[i++]=u[_++]}while(--w);_=i-x,k=C}}else if(h<w){if(_+=l+h-w,w-=h,w<y){y-=w;do{C[i++]=u[_++]}while(--w);if(_=0,h<y){w=h,y-=w;do{C[i++]=u[_++]}while(--w);_=i-x,k=C}}}else if(_+=h-w,w<y){y-=w;do{C[i++]=u[_++]}while(--w);_=i-x,k=C}for(;y>2;)C[i++]=k[_++],C[i++]=k[_++],C[i++]=k[_++],y-=3;y&&(C[i++]=k[_++],y>1&&(C[i++]=k[_++]))}else{_=i-x;do{C[i++]=C[_++],C[i++]=C[_++],C[i++]=C[_++],y-=3}while(y>2);y&&(C[i++]=C[_++],y>1&&(C[i++]=C[_++]))}break}}break}}while(n<r&&i<s);y=d>>3,n-=y,d-=y<<3,f&=(1<<d)-1,t.next_in=n,t.next_out=i,t.avail_in=n<r?r-n+5:5-(n-r),t.avail_out=i<s?s-i+257:257-(i-s),E.hold=f,E.bits=d};const $r=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Gr=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Zr=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Xr=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var Yr=(t,e,n,r,i,o,s,a)=>{const l=a.bits;let c,h,u,f,d,p,g=0,m=0,v=0,b=0,w=0,y=0,x=0,_=0,k=0,S=0,C=null,E=0;const A=new Uint16Array(16),T=new Uint16Array(16);let L,M,R,I=null,N=0;for(g=0;g<=15;g++)A[g]=0;for(m=0;m<r;m++)A[e[n+m]]++;for(w=l,b=15;b>=1&&0===A[b];b--);if(w>b&&(w=b),0===b)return i[o++]=20971520,i[o++]=20971520,a.bits=1,0;for(v=1;v<b&&0===A[v];v++);for(w<v&&(w=v),_=1,g=1;g<=15;g++)if(_<<=1,_-=A[g],_<0)return-1;if(_>0&&(0===t||1!==b))return-1;for(T[1]=0,g=1;g<15;g++)T[g+1]=T[g]+A[g];for(m=0;m<r;m++)0!==e[n+m]&&(s[T[e[n+m]]++]=m);if(0===t?(C=I=s,p=19):1===t?(C=$r,E-=257,I=Gr,N-=257,p=256):(C=Zr,I=Xr,p=-1),S=0,m=0,g=v,d=o,y=w,x=0,u=-1,k=1<<w,f=k-1,1===t&&k>852||2===t&&k>592)return 1;for(;;){L=g-x,s[m]<p?(M=0,R=s[m]):s[m]>p?(M=I[N+s[m]],R=C[E+s[m]]):(M=96,R=0),c=1<<g-x,h=1<<y,v=h;do{h-=c,i[d+(S>>x)+h]=L<<24|M<<16|R|0}while(0!==h);for(c=1<<g-1;S&c;)c>>=1;if(0!==c?(S&=c-1,S+=c):S=0,m++,0==--A[g]){if(g===b)break;g=e[n+s[m]]}if(g>w&&(S&f)!==u){for(0===x&&(x=w),d+=v,y=g-x,_=1<<y;y+x<b&&(_-=A[y+x],!(_<=0));)y++,_<<=1;if(k+=1<<y,1===t&&k>852||2===t&&k>592)return 1;u=S&f,i[u]=w<<24|y<<16|d-o|0}}return 0!==S&&(i[d+S]=g-x<<24|64<<16|0),a.bits=w,0};const{Z_FINISH:Kr,Z_BLOCK:Qr,Z_TREES:Jr,Z_OK:ti,Z_STREAM_END:ei,Z_NEED_DICT:ni,Z_STREAM_ERROR:ri,Z_DATA_ERROR:ii,Z_MEM_ERROR:oi,Z_BUF_ERROR:si,Z_DEFLATED:ai}=Mn,li=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ci(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const hi=t=>{if(!t||!t.state)return ri;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,ti},ui=t=>{if(!t||!t.state)return ri;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,hi(t)},fi=(t,e)=>{let n;if(!t||!t.state)return ri;const r=t.state;return e<0?(n=0,e=-e):(n=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?ri:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,ui(t))},di=(t,e)=>{if(!t)return ri;const n=new ci;t.state=n,n.window=null;const r=fi(t,e);return r!==ti&&(t.state=null),r};let pi,gi,mi=!0;const vi=t=>{if(mi){pi=new Int32Array(512),gi=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(Yr(1,t.lens,0,288,pi,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;Yr(2,t.lens,0,32,gi,0,t.work,{bits:5}),mi=!1}t.lencode=pi,t.lenbits=9,t.distcode=gi,t.distbits=5},bi=(t,e,n,r)=>{let i;const o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),r>=o.wsize?(o.window.set(e.subarray(n-o.wsize,n),0),o.wnext=0,o.whave=o.wsize):(i=o.wsize-o.wnext,i>r&&(i=r),o.window.set(e.subarray(n-r,n-r+i),o.wnext),(r-=i)?(o.window.set(e.subarray(n-r,n),0),o.wnext=r,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=i))),0};var wi=(t,e)=>{let n,r,i,o,s,a,l,c,h,u,f,d,p,g,m,v,b,w,y,x,_,k,S=0;const C=new Uint8Array(4);let E,A;const T=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return ri;n=t.state,12===n.mode&&(n.mode=13),s=t.next_out,i=t.output,l=t.avail_out,o=t.next_in,r=t.input,a=t.avail_in,c=n.hold,h=n.bits,u=a,f=l,k=ti;t:for(;;)switch(n.mode){case 1:if(0===n.wrap){n.mode=13;break}for(;h<16;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}if(2&n.wrap&&35615===c){n.check=0,C[0]=255&c,C[1]=c>>>8&255,n.check=Tn(n.check,C,2,0),c=0,h=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&c)<<8)+(c>>8))%31){t.msg="incorrect header check",n.mode=30;break}if((15&c)!==ai){t.msg="unknown compression method",n.mode=30;break}if(c>>>=4,h-=4,_=8+(15&c),0===n.wbits)n.wbits=_;else if(_>n.wbits){t.msg="invalid window size",n.mode=30;break}n.dmax=1<<n.wbits,t.adler=n.check=1,n.mode=512&c?10:12,c=0,h=0;break;case 2:for(;h<16;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}if(n.flags=c,(255&n.flags)!==ai){t.msg="unknown compression method",n.mode=30;break}if(57344&n.flags){t.msg="unknown header flags set",n.mode=30;break}n.head&&(n.head.text=c>>8&1),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Tn(n.check,C,2,0)),c=0,h=0,n.mode=3;case 3:for(;h<32;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}n.head&&(n.head.time=c),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,C[2]=c>>>16&255,C[3]=c>>>24&255,n.check=Tn(n.check,C,4,0)),c=0,h=0,n.mode=4;case 4:for(;h<16;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}n.head&&(n.head.xflags=255&c,n.head.os=c>>8),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Tn(n.check,C,2,0)),c=0,h=0,n.mode=5;case 5:if(1024&n.flags){for(;h<16;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}n.length=c,n.head&&(n.head.extra_len=c),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Tn(n.check,C,2,0)),c=0,h=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&(d=n.length,d>a&&(d=a),d&&(n.head&&(_=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(o,o+d),_)),512&n.flags&&(n.check=Tn(n.check,r,d,o)),a-=d,o+=d,n.length-=d),n.length))break t;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===a)break t;d=0;do{_=r[o+d++],n.head&&_&&n.length<65536&&(n.head.name+=String.fromCharCode(_))}while(_&&d<a);if(512&n.flags&&(n.check=Tn(n.check,r,d,o)),a-=d,o+=d,_)break t}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===a)break t;d=0;do{_=r[o+d++],n.head&&_&&n.length<65536&&(n.head.comment+=String.fromCharCode(_))}while(_&&d<a);if(512&n.flags&&(n.check=Tn(n.check,r,d,o)),a-=d,o+=d,_)break t}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;h<16;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}if(c!==(65535&n.check)){t.msg="header crc mismatch",n.mode=30;break}c=0,h=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=12;break;case 10:for(;h<32;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}t.adler=n.check=li(c),c=0,h=0,n.mode=11;case 11:if(0===n.havedict)return t.next_out=s,t.avail_out=l,t.next_in=o,t.avail_in=a,n.hold=c,n.bits=h,ni;t.adler=n.check=1,n.mode=12;case 12:if(e===Qr||e===Jr)break t;case 13:if(n.last){c>>>=7&h,h-=7&h,n.mode=27;break}for(;h<3;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}switch(n.last=1&c,c>>>=1,h-=1,3&c){case 0:n.mode=14;break;case 1:if(vi(n),n.mode=20,e===Jr){c>>>=2,h-=2;break t}break;case 2:n.mode=17;break;case 3:t.msg="invalid block type",n.mode=30}c>>>=2,h-=2;break;case 14:for(c>>>=7&h,h-=7&h;h<32;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}if((65535&c)!=(c>>>16^65535)){t.msg="invalid stored block lengths",n.mode=30;break}if(n.length=65535&c,c=0,h=0,n.mode=15,e===Jr)break t;case 15:n.mode=16;case 16:if(d=n.length,d){if(d>a&&(d=a),d>l&&(d=l),0===d)break t;i.set(r.subarray(o,o+d),s),a-=d,o+=d,l-=d,s+=d,n.length-=d;break}n.mode=12;break;case 17:for(;h<14;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}if(n.nlen=257+(31&c),c>>>=5,h-=5,n.ndist=1+(31&c),c>>>=5,h-=5,n.ncode=4+(15&c),c>>>=4,h-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=30;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;h<3;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}n.lens[T[n.have++]]=7&c,c>>>=3,h-=3}for(;n.have<19;)n.lens[T[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,E={bits:n.lenbits},k=Yr(0,n.lens,0,19,n.lencode,0,n.work,E),n.lenbits=E.bits,k){t.msg="invalid code lengths set",n.mode=30;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;S=n.lencode[c&(1<<n.lenbits)-1],m=S>>>24,v=S>>>16&255,b=65535&S,!(m<=h);){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}if(b<16)c>>>=m,h-=m,n.lens[n.have++]=b;else{if(16===b){for(A=m+2;h<A;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}if(c>>>=m,h-=m,0===n.have){t.msg="invalid bit length repeat",n.mode=30;break}_=n.lens[n.have-1],d=3+(3&c),c>>>=2,h-=2}else if(17===b){for(A=m+3;h<A;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}c>>>=m,h-=m,_=0,d=3+(7&c),c>>>=3,h-=3}else{for(A=m+7;h<A;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}c>>>=m,h-=m,_=0,d=11+(127&c),c>>>=7,h-=7}if(n.have+d>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=30;break}for(;d--;)n.lens[n.have++]=_}}if(30===n.mode)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=30;break}if(n.lenbits=9,E={bits:n.lenbits},k=Yr(1,n.lens,0,n.nlen,n.lencode,0,n.work,E),n.lenbits=E.bits,k){t.msg="invalid literal/lengths set",n.mode=30;break}if(n.distbits=6,n.distcode=n.distdyn,E={bits:n.distbits},k=Yr(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,E),n.distbits=E.bits,k){t.msg="invalid distances set",n.mode=30;break}if(n.mode=20,e===Jr)break t;case 20:n.mode=21;case 21:if(a>=6&&l>=258){t.next_out=s,t.avail_out=l,t.next_in=o,t.avail_in=a,n.hold=c,n.bits=h,Wr(t,f),s=t.next_out,i=t.output,l=t.avail_out,o=t.next_in,r=t.input,a=t.avail_in,c=n.hold,h=n.bits,12===n.mode&&(n.back=-1);break}for(n.back=0;S=n.lencode[c&(1<<n.lenbits)-1],m=S>>>24,v=S>>>16&255,b=65535&S,!(m<=h);){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}if(v&&0==(240&v)){for(w=m,y=v,x=b;S=n.lencode[x+((c&(1<<w+y)-1)>>w)],m=S>>>24,v=S>>>16&255,b=65535&S,!(w+m<=h);){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}c>>>=w,h-=w,n.back+=w}if(c>>>=m,h-=m,n.back+=m,n.length=b,0===v){n.mode=26;break}if(32&v){n.back=-1,n.mode=12;break}if(64&v){t.msg="invalid literal/length code",n.mode=30;break}n.extra=15&v,n.mode=22;case 22:if(n.extra){for(A=n.extra;h<A;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,h-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;S=n.distcode[c&(1<<n.distbits)-1],m=S>>>24,v=S>>>16&255,b=65535&S,!(m<=h);){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}if(0==(240&v)){for(w=m,y=v,x=b;S=n.distcode[x+((c&(1<<w+y)-1)>>w)],m=S>>>24,v=S>>>16&255,b=65535&S,!(w+m<=h);){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}c>>>=w,h-=w,n.back+=w}if(c>>>=m,h-=m,n.back+=m,64&v){t.msg="invalid distance code",n.mode=30;break}n.offset=b,n.extra=15&v,n.mode=24;case 24:if(n.extra){for(A=n.extra;h<A;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,h-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=30;break}n.mode=25;case 25:if(0===l)break t;if(d=f-l,n.offset>d){if(d=n.offset-d,d>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=30;break}d>n.wnext?(d-=n.wnext,p=n.wsize-d):p=n.wnext-d,d>n.length&&(d=n.length),g=n.window}else g=i,p=s-n.offset,d=n.length;d>l&&(d=l),l-=d,n.length-=d;do{i[s++]=g[p++]}while(--d);0===n.length&&(n.mode=21);break;case 26:if(0===l)break t;i[s++]=n.length,l--,n.mode=21;break;case 27:if(n.wrap){for(;h<32;){if(0===a)break t;a--,c|=r[o++]<<h,h+=8}if(f-=l,t.total_out+=f,n.total+=f,f&&(t.adler=n.check=n.flags?Tn(n.check,i,f,s-f):En(n.check,i,f,s-f)),f=l,(n.flags?c:li(c))!==n.check){t.msg="incorrect data check",n.mode=30;break}c=0,h=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;h<32;){if(0===a)break t;a--,c+=r[o++]<<h,h+=8}if(c!==(4294967295&n.total)){t.msg="incorrect length check",n.mode=30;break}c=0,h=0}n.mode=29;case 29:k=ei;break t;case 30:k=ii;break t;case 31:return oi;default:return ri}return t.next_out=s,t.avail_out=l,t.next_in=o,t.avail_in=a,n.hold=c,n.bits=h,(n.wsize||f!==t.avail_out&&n.mode<30&&(n.mode<27||e!==Kr))&&bi(t,t.output,t.next_out,f-t.avail_out),u-=t.avail_in,f-=t.avail_out,t.total_in+=u,t.total_out+=f,n.total+=f,n.wrap&&f&&(t.adler=n.check=n.flags?Tn(n.check,i,f,t.next_out-f):En(n.check,i,f,t.next_out-f)),t.data_type=n.bits+(n.last?64:0)+(12===n.mode?128:0)+(20===n.mode||15===n.mode?256:0),(0===u&&0===f||e===Kr)&&k===ti&&(k=si),k},yi={inflateReset:ui,inflateReset2:fi,inflateResetKeep:hi,inflateInit:t=>di(t,15),inflateInit2:di,inflate:wi,inflateEnd:t=>{if(!t||!t.state)return ri;let e=t.state;return e.window&&(e.window=null),t.state=null,ti},inflateGetHeader:(t,e)=>{if(!t||!t.state)return ri;const n=t.state;return 0==(2&n.wrap)?ri:(n.head=e,e.done=!1,ti)},inflateSetDictionary:(t,e)=>{const n=e.length;let r,i,o;return t&&t.state?(r=t.state,0!==r.wrap&&11!==r.mode?ri:11===r.mode&&(i=1,i=En(i,e,n,0),i!==r.check)?ii:(o=bi(t,e,n,n),o?(r.mode=31,oi):(r.havedict=1,ti))):ri},inflateInfo:"pako inflate (from Nodeca project)"};var xi=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const _i=Object.prototype.toString,{Z_NO_FLUSH:ki,Z_FINISH:Si,Z_OK:Ci,Z_STREAM_END:Ei,Z_NEED_DICT:Ai,Z_STREAM_ERROR:Ti,Z_DATA_ERROR:Li,Z_MEM_ERROR:Mi}=Mn;function Ri(t){this.options=_r({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Lr,this.strm.avail_out=0;let n=yi.inflateInit2(this.strm,e.windowBits);if(n!==Ci)throw new Error(Ln[n]);if(this.header=new xi,yi.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Er(e.dictionary):"[object ArrayBuffer]"===_i.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(n=yi.inflateSetDictionary(this.strm,e.dictionary),n!==Ci)))throw new Error(Ln[n])}function Ii(t,e){const n=new Ri(e);if(n.push(t),n.err)throw n.msg||Ln[n.err];return n.result}Ri.prototype.push=function(t,e){const n=this.strm,r=this.options.chunkSize,i=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(s=e===~~e?e:!0===e?Si:ki,"[object ArrayBuffer]"===_i.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;;){for(0===n.avail_out&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),o=yi.inflate(n,s),o===Ai&&i&&(o=yi.inflateSetDictionary(n,i),o===Ci?o=yi.inflate(n,s):o===Li&&(o=Ai));n.avail_in>0&&o===Ei&&n.state.wrap>0&&0!==t[n.next_in];)yi.inflateReset(n),o=yi.inflate(n,s);switch(o){case Ti:case Li:case Ai:case Mi:return this.onEnd(o),this.ended=!0,!1}if(a=n.avail_out,n.next_out&&(0===n.avail_out||o===Ei))if("string"===this.options.to){let t=Tr(n.output,n.next_out),e=n.next_out-t,i=Ar(n.output,t);n.next_out=e,n.avail_out=r-e,e&&n.output.set(n.output.subarray(t,t+e),0),this.onData(i)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(o!==Ci||0!==a){if(o===Ei)return o=yi.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===n.avail_in)break}}return!0},Ri.prototype.onData=function(t){this.chunks.push(t)},Ri.prototype.onEnd=function(t){t===Ci&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=kr(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Ni=function(t,e){return(e=e||{}).raw=!0,Ii(t,e)},Pi={Inflate:Ri,inflate:Ii,inflateRaw:Ni,ungzip:Ii,constants:Mn};const{Deflate:Fi,deflate:Oi,deflateRaw:Di,gzip:Bi}=qr,{Inflate:zi,inflate:Hi,inflateRaw:Vi,ungzip:ji}=Pi;var Ui={Deflate:Fi,deflate:Oi,deflateRaw:Di,gzip:Bi,Inflate:zi,inflate:Hi,inflateRaw:Vi,ungzip:ji,constants:Mn};Ui.deflateRaw,Ui.deflate,Ui.inflateRaw;const qi=Ui.inflate;Ui.gzip;function Wi(t,e){const n=[];let r=0,i=0;for(e=e||t.byteLength-18;r<e;)try{const e=ArrayBuffer.isView(t)?t:new Uint8Array(t,r,18),o=e[11]<<8|e[10],s=(e[3],e[12],e[13],e[15],e[14],1+(e[17]<<8|e[16])),a=12+o+r,l=t.byteLength-a,c=s-o-19;if(l<c||c<=0)break;const h=new Uint8Array(t,a,c),u=Ui.inflateRaw(h);r+=c-1+26,i+=u.byteLength,n.push(u)}catch(t){console.error(t);break}if(1===n.length)return n[0];{const t=new Uint8Array(i);let e=0;for(let r=0;r<n.length;++r){var o=new Uint8Array(n[r]);Zi(o,0,t,e,o.length),e+=o.length}return t}}function $i(t){const e=ArrayBuffer.isView(t)?t:new Uint8Array(t);return 1+(e[17]<<8|e[16])}const Gi="function"==typeof new Uint8Array(1).subarray;function Zi(t,e,n,r,i){if(0!==i){if(!t)throw"Undef src";if(!n)throw"Undef dest";0===e&&i===t.length?Xi(t,n,r):Gi?Xi(t.subarray(e,e+i),n,r):1===t.BYTES_PER_ELEMENT&&i>100?Xi(new Uint8Array(t.buffer,t.byteOffset+e,i),n,r):function(t,e,n,r,i){for(let o=0;o<i;++o)n[r+o]=t[e+o]}(t,e,n,r,i)}}function Xi(t,e,n){e.set(t,n)}function Yi(t,e){const n=t.split(","),r=n[0].split(":")[1];let i=n[1];if(r.indexOf("base64")>=0){i=atob(i);const t=new Uint8Array(i.length);for(let e=0;e<i.length;e++)t[e]=i.charCodeAt(e);let n;return n=e||r.indexOf("gzip")>0?Ui.ungzip(t):t,n}return decodeURIComponent(i)}const Ki=function(t,e){if(0!==t.length){var n=Math.floor(t.length*((100-e)/100));return 0===n?(t.sort((function(t,e){return e-t})),t[n]):function(t,e){var n,r=new to;for(n=0;n<t.length;n++){var i=t[n];(r.content.length<e||i>r.content[0])&&(r.content.length===e&&r.pop(),r.push(i))}return r.content[0]}(t,n)}},Qi=function(t,e,n){return Math.min(Math.max(t,e),n)},Ji=function(t){return Math.log(t)/Math.LN2};function to(){this.content=[]}function eo(t,e){return Math.random()*(e-t)+t}to.prototype={push:function(t){this.content.push(t),this.bubbleUp(this.content.length-1)},pop:function(){var t=this.content[0],e=this.content.pop();return this.content.length>0&&(this.content[0]=e,this.sinkDown(0)),t},remove:function(t){for(var e=this.content.length,n=0;n<e;n++)if(this.content[n]===t){var r=this.content.pop();if(n===e-1)break;this.content[n]=r,this.bubbleUp(n),this.sinkDown(n);break}},size:function(){return this.content.length},bubbleUp:function(t){for(var e=this.content[t],n=e;t>0;){var r=Math.floor((t+1)/2)-1,i=this.content[r];if(n>=i)break;this.content[r]=e,this.content[t]=i,t=r}},sinkDown:function(t){for(var e=this.content.length,n=this.content[t],r=n;;){var i=2*(t+1),o=i-1,s=null;if(o<e){var a=this.content[o],l=a;a<r&&(s=o)}if(i<e)this.content[i]<(null==s?r:l)&&(s=i);if(null==s)break;this.content[t]=this.content[s],this.content[s]=n,t=s}}};const no={rgbListFromHSV:()=>{let t=[];for(let e=1;e>=.5;e-=.1)for(let n=0;n<1;n+=1/28){const r="rgb("+no.hsvToRgb(n,1,e).join(",")+")";t.push(r)}return t.pop(),t.push(no.rgbColor(16,16,16)),t},rgbToHex:function(t){return(t=t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===t.length?"#"+("0"+parseInt(t[1],10).toString(16)).slice(-2)+("0"+parseInt(t[2],10).toString(16)).slice(-2)+("0"+parseInt(t[3],10).toString(16)).slice(-2):""},hexToRgb:function(t){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(null!==e)return"rgb("+parseInt(e[1],16)+","+parseInt(e[2],16)+","+parseInt(e[3],16)+")"},hsvToRgb:function(t,e,n){var r,i,o,s=Math.floor(6*t),a=6*t-s,l=n*(1-e),c=n*(1-a*e),h=n*(1-(1-a)*e);switch(s%6){case 0:r=n,i=h,o=l;break;case 1:r=c,i=n,o=l;break;case 2:r=l,i=n,o=h;break;case 3:r=l,i=c,o=n;break;case 4:r=h,i=l,o=n;break;case 5:r=n,i=l,o=c}return[Math.floor(255*r),Math.floor(255*i),Math.floor(255*o)]},hslToRgb:function(t,e,n){var r,i,o;if(0===e)r=i=o=n;else{var s=n<.5?n*(1+e):n+e-n*e,a=2*n-s;r=no.hue2rgb(a,s,t+1/3),i=no.hue2rgb(a,s,t),o=no.hue2rgb(a,s,t-1/3)}return[255*r,255*i,255*o]},hue2rgb:(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t),rgbaColor:function(t,e,n,r){return"rgba("+(t=Qi(t,0,255))+","+(e=Qi(e,0,255))+","+(n=Qi(n,0,255))+","+(r=Qi(r,0,1))+")"},rgbColor:function(t,e,n){return"rgb("+(t=Qi(t,0,255))+","+(e=Qi(e,0,255))+","+(n=Qi(n,0,255))+")"},greyScale:function(t){var e=Qi(t,0,255);return"rgb("+e+","+e+","+e+")"},randomGrey:function(t,e){t=Qi(t,0,255),e=Qi(e,0,255);var n=Math.round(eo(t,e)).toString(10);return"rgb("+n+","+n+","+n+")"},randomRGB:function(t,e){return t=Qi(t,0,255),e=Qi(e,0,255),"rgb("+Math.round(eo(t,e)).toString(10)+","+Math.round(eo(t,e)).toString(10)+","+Math.round(eo(t,e)).toString(10)+")"},randomRGBConstantAlpha:function(t,e,n){return t=Qi(t,0,255),e=Qi(e,0,255),"rgba("+Math.round(eo(t,e)).toString(10)+","+Math.round(eo(t,e)).toString(10)+","+Math.round(eo(t,e)).toString(10)+","+n+")"},addAlpha:function(t,e){if("0"===t||"."===t)t="rgb(0,0,0)";else{const e=this.colorNameToHex(t);e&&(t=e)}var n=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t);if(t.startsWith("rgba")){const n=t.lastIndexOf(",");return t.substring(0,n+1)+e.toString()+")"}return n&&(t=no.hexToRgb(t)),t.startsWith("rgb")?t.replace("rgb","rgba").replace(")",", "+e+")"):(console.log(t+" is not an rgb style string"),t)},rgbComponents:function(t){if("0"===t||"."===t)return[0,0,0];if(/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t))t=no.hexToRgb(t);else if(!t.startsWith("rgb")){const e=this.colorNameToHex(t);t=this.hexToRgb(e)}if(t.startsWith("rgb("))return t.substring(4,t.length-1).split(",").map((t=>Number.parseInt(t.trim())));if(t.startsWith("rgba("))return t.substring(5,t.length-1).split(",").map(((t,e)=>(t=t.trim(),3===e?Number.parseFloat(t):Number.parseInt(t))));throw Error("Unrecognized color string: color")},getCompositeColor:function(t,e,n){return"rgb("+Math.floor(n*e[0]+(1-n)*t[0])+","+Math.floor(n*e[1]+(1-n)*t[1])+","+Math.floor(n*e[2]+(1-n)*t[2])+")"},createColorString:function(t){return(t=function(t){return void 0===t||((t.startsWith("'")||t.startsWith('"'))&&(t=t.substring(1)),(t.endsWith("'")||t.endsWith('"'))&&(t=t.substring(0,t.length-1))),t}(t)).includes(",")?t.startsWith("rgb")?t:"rgb("+t+")":t},darkenLighten:function(t,e){let n,r=this.colorNameToHex(t);n=r?no.hexToRgb(r):t.startsWith("rgb(")?t:no.hexToRgb(t);const i=n.replace(")","").substring(4).split(","),o=Math.max(0,Math.min(255,Number.parseInt(i[0].trim())+e)),s=Math.max(0,Math.min(255,Number.parseInt(i[1].trim())+e)),a=Math.max(0,Math.min(255,Number.parseInt(i[2].trim())+e));return"rgb("+o.toString()+","+s.toString()+","+a.toString()+")"},colorNameToHex:function(t){return{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c","indigo ":"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",darkgrey:"#a9a9a9",darkslategrey:"#2f4f4f",dimgrey:"#696969",grey:"#808080",lightgray:"#d3d3d3",lightslategrey:"#778899",slategrey:"#708090"}[t]}};let ro;function io(t,e){e.addEventListener("mousedown",oo.bind(t))}function oo(t){t.stopPropagation(),t.preventDefault(),function(t){if(!t.getClientRects().length)return{top:0,left:0};const e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView;e.top,n.pageYOffset,e.left,n.pageXOffset}(this);const e=so.bind(this),n=ao.bind(this),r=getComputedStyle(this),i=parseInt(r.top.replace("px","")),o=parseInt(r.left.replace("px",""));ro={dragFunction:e,dragEndFunction:n,screenX:t.screenX,screenY:t.screenY,top:i,left:o},document.addEventListener("mousemove",e),document.addEventListener("mouseup",n),document.addEventListener("mouseleave",n),document.addEventListener("mouseexit",n)}function so(t){if(!ro)return void console.log("No drag data!");t.stopPropagation(),t.preventDefault();const e=t.screenX-ro.screenX,n=t.screenY-ro.screenY;this.style.left=`${ro.left+e}px`,this.style.top=`${ro.top+n}px`}function ao(t){if(!ro)return void console.log("No drag data!");t.stopPropagation(),t.preventDefault();const e=ro.dragFunction,n=ro.dragEndFunction;document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",n),document.removeEventListener("mouseleave",n),document.removeEventListener("mouseexit",n),ro=void 0}const lo={licorice:"#000000",lead:"#1e1e1e",tungsten:"#3a3a3a",iron:"#545453",steel:"#6e6e6e",tin:"#878687",nickel:"#888787",aluminum:"#a09fa0",magnesium:"#b8b8b8",silver:"#d0d0d0",mercury:"#e8e8e8",snow:"#ffffff",cayenne:"#891100",mocha:"#894800",aspargus:"#888501",fern:"#458401",clover:"#028401",moss:"#018448",teal:"#008688",ocean:"#004a88",midnight:"#001888",eggplant:"#491a88",plum:"#891e88",maroon:"#891648",maraschino:"#ff2101",tangerine:"#ff8802",lemon:"#fffa03",lime:"#83f902",spring:"#05f802",seam_foam:"#03f987",turquoise:"#00fdff",aqua:"#008cff",blueberry:"#002eff",grape:"#8931ff",magenta:"#ff39ff",strawberry:"#ff2987",salmon:"#ff726e",cantaloupe:"#ffce6e",banana:"#fffb6d",honeydew:"#cefa6e",flora:"#68f96e",spindrift:"#68fbd0",ice:"#68fdff",sky:"#6acfff",orchid:"#6e76ff",lavender:"#d278ff",bubblegum:"#ff7aff",carnation:"#ff7fd3"},co={oauthTokens:{},setToken:function(t,e){e=e||"googleapis",this.oauthTokens[e]=t,"googleapis"===e&&(this.google.access_token=t)},getToken:function(t){let e;t=t||"googleapis";for(let n of Object.keys(this.oauthTokens)){if(ho(n).test(t)){e=this.oauthTokens[n];break}}return e},removeToken:function(t){t=t||"googleapis";for(let e of Object.keys(this.oauthTokens)){ho(e).test(t)&&(this.oauthTokens[e]=void 0)}"googleapis"===t&&(this.google.access_token=void 0)},google:{setToken:function(t){co.setToken(t)}}};function ho(t){return new RegExp("^"+t.split(/\*+/).map(uo).join(".*")+"$")}function uo(t){return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")}const fo=new class{constructor(t){this.requestsPerSecond=t.requestsPerSecond||10,this.lastStartTime=0,this.queued=[]}add(t,e){var n=this;return new Promise((function(e,r){n.queued.push({resolve:e,reject:r,asyncFunction:t}),n.dequeue()}))}addAll(t,e){var n=t.map(function(t){return this.add(t,e)}.bind(this));return Promise.all(n)}dequeue(){if(this.queued.length>0){var t=new Date,e=1e3/this.requestsPerSecond+1,n=t-this.lastStartTime;n>=e?this._execute():setTimeout(function(){this.dequeue()}.bind(this),e-n)}}async _execute(){this.lastStartTime=new Date;var t=this.queued.shift();const e=t.asyncFunction;try{const n=await e();t.resolve(n)}catch(e){t.reject(e)}}}({requestsPerSecond:8}),po={apiKey:void 0,setApiKey:function(t){this.apiKey=t},load:go,loadArrayBuffer:async function(t,e){return(e=e||{}).responseType||(e.responseType="arraybuffer"),je(t)?vo(t,e):go(t,e)},loadJson:async function(t,e){"POST"===((e=e||{}).method||(e.sendData?"POST":"GET"))&&(e.contentType="application/json");const n=await this.loadString(t,e);return n?JSON.parse(n):n},loadString:async function(t,e){return e=e||{},t instanceof File?async function(t,e){const n=e.range?t.slice(e.range.start,e.range.start+e.range.size):t;return yo(await bo(n))}(t,e):async function(t,e){(e=e||{}).responseType="arraybuffer";return yo(await po.load(t,e))}(t,e)}};async function go(t,e){e=e||{};const n=typeof t;if(je(t=await("function"==typeof t?t():t)))return vo(t,e);if("function"==typeof t.startsWith){if(t.startsWith("data:")){const n=Yi(t).buffer;if(e.range){const t=e.range.size?e.range.start+e.range.size:n.byteLength;return n.slice(e.range.start,t)}return n}return t.startsWith("https://drive.google.com")&&(t=Re(t)),Le(t)||t.startsWith("https://www.dropbox.com")?fo.add((async function(){return mo(t,e)})):mo(t,e)}throw Error(`url must be either a 'File', 'string', 'function', or 'Promise'. Actual type: ${n}`)}async function mo(t,e){t=function(t){return t.includes("//www.dropbox.com")?t.replace("//www.dropbox.com","//dl.dropboxusercontent.com"):t.includes("//drive.google.com")?Re(t):t.includes("//www.broadinstitute.org/igvdata")?t.replace("//www.broadinstitute.org/igvdata","//data.broadinstitute.org/igvdata"):t.includes("//igvdata.broadinstitute.org")?t.replace("//igvdata.broadinstitute.org","https://dn7ywbm9isq8j.cloudfront.net"):t.startsWith("ftp://ftp.ncbi.nlm.nih.gov/geo")?t.replace("ftp://","https://"):t}(t);let n=(e=e||{}).oauthToken||function(t){const e=Ae(t)?void 0:ze(t).host;let n=co.getToken(e);if(n)return n;if(void 0===e){const t=wo();if(t&&t.expires_at>Date.now())return t.access_token}}(t);return n&&(n=await("function"==typeof n?n():n)),new Promise((function(r,i){Ae(t)&&(Te(t)&&(t=Me(t)),t=function(t){let e=po.apiKey;e||"undefined"==typeof gapi||(e=gapi.apiKey);if(void 0!==e&&!t.includes("key=")){const n=t.includes("?")?"&":"?";t=t+n+"key="+e}return t}(t),Le(t)&&function(t){if(t.includes("supportsTeamDrive"))return t;{const e=t.includes("?")?"&":"?";t=t+e+"supportsTeamDrive=true"}}(t),n||(n=wo()));const o=e.headers||{};n&&function(t,e){e&&(t["Cache-Control"]="no-cache",t.Authorization="Bearer "+e)}(o,n);const s=e.range,a=navigator.userAgent.indexOf("Chrome")>-1;0===navigator.vendor.indexOf("Apple")&&/\sSafari\//.test(navigator.userAgent),s&&a&&!function(t){return t.indexOf("X-Amz-Signature")>-1}(t)&&(t+=t.includes("?")?"&":"?",t+="someRandomSeed="+Math.random().toString(36));const l=new XMLHttpRequest,c=e.sendData||e.body,h=e.method||(c?"POST":"GET"),u=e.responseType,f=e.contentType,d=e.mimeType;if(l.open(h,t),e.timeout&&(l.timeout=e.timeout),s){var p=s.size?s.start+s.size-1:"";l.setRequestHeader("Range","bytes="+s.start+"-"+p)}if(f&&l.setRequestHeader("Content-Type",f),d&&l.overrideMimeType(d),u&&(l.responseType=u),o)for(let t of Object.keys(o)){const e=o[t];l.setRequestHeader(t,e)}!0===e.withCredentials&&(l.withCredentials=!0),l.onload=async function(n){0===l.status||l.status>=200&&l.status<=300?s&&206!==l.status&&0!==s.start?(l.response.length>1e5&&alert(`Warning: Range header ignored for URL: ${t}. This can have performance impacts.`),r(l.response.slice(s.start,s.start+s.size))):r(l.response):"undefined"==typeof gapi||404!==l.status&&401!==l.status&&403!==l.status||!Ae(t)||e.retries?403===l.status?g("Access forbidden: "+t):416===l.status?g("Unsatisfiable range"):g(l.status):m()},l.onerror=function(n){Ae(t)&&!e.retries&&m(),g("Error accessing resource: "+t+" Status: "+l.status)},l.ontimeout=function(t){g("Timed out")},l.onabort=function(t){console.log("Aborted"),i(t)};try{l.send(c)}catch(t){i(t)}function g(t){if(!i)throw t;i(t)}async function m(){try{const n=await async function(t){if(console.log("Fetch token for "+t),Fe()){const e=function(t){return Le(t)?"https://www.googleapis.com/auth/drive.file":Te(t)?"https://www.googleapis.com/auth/devstorage.read_only":"https://www.googleapis.com/auth/userinfo.profile"}(t),n=await De(e);return n?n.access_token:void 0}throw Error("Authorization is required, but Google oAuth has not been initalized. Contact your site administrator for assistance.")}(t);e.retries=1,e.oauthToken=n;const i=await go(t,e);r(i)}catch(t){if(t.error){const e=t.error.startsWith("popup_blocked")?"Google login popup blocked by browser.":t.error;alert(e)}else g(t)}}}))}async function vo(t,e){let n=e&&e.range?t.slice(e.range.start,e.range.start+e.range.size):t;return"arraybuffer"===e.responseType?bo(n):new Promise((function(e,r){const i=new FileReader;i.onload=function(t){e(i.result)},i.onerror=function(e){console.error("reject uploading local file "+t.name),r(null,i)},i.readAsBinaryString(n),console.warn("Deprecated method used: readAsBinaryString")}))}async function bo(t){return"function"==typeof t.arrayBuffer?t.arrayBuffer():new Promise((function(e,n){const r=new FileReader;r.onload=function(t){e(r.result)},r.onerror=function(t){console.error("reject uploading local file "+localfile.name),n(null,r)},r.readAsArrayBuffer(t)}))}function wo(){if(Fe()){const t=function(){let t=gapi.auth2.getAuthInstance().currentUser.get();if(t&&t.isSignedIn()){const{access_token:e,expires_at:n}=t.getAuthResponse();return{access_token:e,expires_at:n}}}();return t?t.access_token:void 0}}function yo(t){let e;return e=function(t){const e=ArrayBuffer.isView(t)?t:new Uint8Array(t);return 31===e[0]&&139===e[1]}(t)?function(t){const e=ArrayBuffer.isView(t)?t:new Uint8Array(t);return 0!=(4&e[3])&&66===e[12]&&67===e[13]?Wi(e.buffer):Ui.ungzip(e)}(t):new Uint8Array(t),"TextDecoder"in function(){if("undefined"!=typeof self)return self;return"undefined"!=typeof global?global:window}()?(new TextDecoder).decode(e):function(t){var e="",n=0;for(;n<t.length;){var r=t[n],i=0,o=0;if(r<=127?(i=0,o=255&r):r<=223?(i=1,o=31&r):r<=239?(i=2,o=15&r):r<=244&&(i=3,o=7&r),t.length-n-i>0)for(var s=0;s<i;)o=o<<6|63&(r=t[n+s+1]),s+=1;else o=65533,i=t.length-n;e+=String.fromCodePoint(o),n+=i+1}return e}(e)}var xo={color:1};xo.parent=xo,xo.left=xo,xo.right=xo;class _o{constructor(){this.root=xo}insert(t,e,n){var r=new To(new Ao(t,e,n));for(this.treeInsert(r),r.color=2;r!==this.root&&2===r.parent.color;)if(r.parent===r.parent.parent.left){let t=r.parent.parent.right;2===t.color?(r.parent.color=1,t.color=1,r.parent.parent.color=2,r=r.parent.parent):(r===r.parent.right&&(r=r.parent,So.call(this,r)),r.parent.color=1,r.parent.parent.color=2,Co.call(this,r.parent.parent))}else{let t=r.parent.parent.left;2===t.color?(r.parent.color=1,t.color=1,r.parent.parent.color=2,r=r.parent.parent):(r===r.parent.left&&(r=r.parent,Co.call(this,r)),r.parent.color=1,r.parent.parent.color=2,So.call(this,r.parent.parent))}this.root.color=1}findOverlapping(t,e){var n=new Ao(t,e,0);if(this.root===xo)return[];var r=ko.call(this,n,this.root,[]);return r.length>1&&r.sort((function(t,e){return t.low-e.low})),r}logIntervals(){!function t(e,n){for(var r="",i=0;i<n;i++)r+=" ";console.log(r+e.interval.low+" "+e.interval.high),n+=5,e.left!==xo&&t(e.left,n);e.right!==xo&&t(e.right,n)}(this.root,0)}mapIntervals(t){!function e(n){t(n.interval),n.left!==xo&&e(n.left);n.right!==xo&&e(n.right)}(this.root)}treeInsert(t){for(var e=this.root,n=xo;e!==xo;)n=e,e=t.interval.low<=e.interval.low?e.left:e.right;t.parent=n,n===xo?(this.root=t,t.left=t.right=xo):t.interval.low<=n.interval.low?n.left=t:n.right=t,Eo.call(this,t)}}function ko(t,e,n){return e.interval.overlaps(t)&&n.push(e.interval),e.left!==xo&&e.left.max>=t.low&&ko.call(this,t,e.left,n),e.right!==xo&&e.right.min<=t.high&&ko.call(this,t,e.right,n),n}function So(t){var e=t.right;t.right=e.left,e.left!==xo&&(e.left.parent=t),e.parent=t.parent,t.parent===xo?this.root=e:t.parent.left===t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e,Eo.call(this,t)}function Co(t){var e=t.left;t.left=e.right,e.right!==xo&&(e.right.parent=t),e.parent=t.parent,t.parent===xo?this.root=e:t.parent.right===t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e,Eo.call(this,t)}function Eo(t){for(;t!==xo;){var e=t.left.max>t.right.max?t.left.max:t.right.max,n=t.interval.high;t.max=e>n?e:n;var r=t.left.min<t.right.min?t.left.min:t.right.min,i=t.interval.low;t.min=r<i?r:i,t=t.parent}}class Ao{constructor(t,e,n){this.low=t,this.high=e,this.value=n}equals(t){return!!t&&(this===t||this.low===t.low&&this.high===t.high)}compareTo(t){return this.low<t.low?-1:this.low>t.low?1:this.high<t.high?-1:this.high>t.high?1:0}overlaps(t){return this.low<=t.high&&t.low<=this.high}}function To(t){this.parent=xo,this.left=xo,this.right=xo,this.interval=t,this.color=2}class Lo{constructor(t,e,n){t=t||[],this.treeMap=this.buildTreeMap(t,e),this.range=n,this.count=t.length}containsRange(t){return void 0===this.range||this.range.contains(t.chr,t.start,t.end)}queryFeatures(t,e,n){const r=this.treeMap[t];if(!r)return[];const i=r.findOverlapping(e,n);if(0===i.length)return[];{const r=[],o=this.allFeatures[t];if(o){for(let t of i){const i=t.value;for(let t=i.start;t<i.end;t++){let i=o[t];if(i.start>n)break;i.end>=e&&r.push(i)}}r.sort((function(t,e){return t.start-e.start}))}return r}}getAllFeatures(){return this.allFeatures}buildTreeMap(t,e){const n={},r=[];if(this.allFeatures={},t){for(let n of t){let t=n.chr;e&&(t=e.getChromosomeName(t));let i=this.allFeatures[t];i||(r.push(t),i=[],this.allFeatures[t]=i),i.push(n)}for(let t of r){const e=this.allFeatures[t];e.sort((function(t,e){return t.start===e.start?0:t.start>e.start?1:-1})),n[t]=Mo(e)}}return n}}function Mo(t){const e=new _o,n=t.length,r=Math.max(10,Math.round(n/10));for(let i=0;i<n;i+=r){const o=Math.min(n,i+r),s=new Ro(i,o),a=t[i].start;let l=a;for(let e=i;e<o;e++)l=Math.max(l,t[e].end);e.insert(a,l,s)}return e}class Ro{constructor(t,e){this.start=t,this.end=e}}const Io=function(t,e,n){if(t&&0!==t.length){const r=function(t){const e=new _o,n=t.length,r=Math.max(10,Math.round(n/100));t.sort((function(t,e){return t.start===e.start?0:t.start>e.start?1:-1}));for(let i=0;i<n;i+=r){const o=Math.min(n,i+r),s=t.slice(i,o),a=s[0].start;let l=a;s.forEach((function(t){l=Math.max(l,t.end)})),e.insert(a,l,s)}return e}(t),i=r.findOverlapping(e,n);return 0===i.length?[]:(t=[],i.forEach((function(r){const i=r.value,o=i.length;for(let r=0;r<o;r++){const o=i[r];if(o.start>n)break;o.end>e&&t.push(o)}})),t.sort((function(t,e){return t.start-e.start})),t)}return[]};function No(t,e){const n=pe({class:"igv-menu-popup-check-container"}),r=pe();n.appendChild(r);const i=we("check",!0===e?"#444":"transparent");r.appendChild(i);const o=pe();return o.innerText=t,n.appendChild(o),n}const Po={trackMenuItemList:function(t){const e=new Set(["alignment","annotation","variant","eqtl","snp"]),n=t.track.config&&void 0!==t.track.config.visibilityWindow;let r=[];return"sequence"!==t.track.config.type&&(r.push(function(t){const e=e=>{const n=function(){let e=t.browser.inputDialog.input.value;e=""===e||void 0===e?"untitled":e.trim(),t.track.name=e},r={label:"Track Name",value:Oo(t.track)||"unnamed",callback:n};t.browser.inputDialog.present(r,e)},n=de("<div>");return n.text("Set track name"),{object:n,click:e}}(t)),r.push(function(t){const e=e=>{const n=()=>{const e=parseFloat(t.browser.inputDialog.input.value,10);void 0!==e&&(void 0!==t.track.minHeight&&t.track.minHeight>e&&(t.track.minHeight=e),void 0!==t.track.maxHeight&&t.track.maxHeight<e&&(t.track.minHeight=e),t.setTrackHeight(e,!0),t.checkContentHeight(),t.repaintViews(),t.track.autoHeight=!1)},r={label:"Track Height",value:t.track.height,callback:n};t.browser.inputDialog.present(r,e)},n=de("<div>");return n.text("Set track height"),{object:n,click:e}}(t))),this.showColorPicker(t.track)&&(r.push("<hr/>"),r.push(Fo({trackView:t,label:"Set track color",option:"color"})),r.push(function({trackView:t,label:e}){const n=de("<div>");return n.text(e),{object:n,click:()=>{t.track.color=void 0,t.repaintViews()}}}({trackView:t,label:"Unset track color"})),r.push(Fo({trackView:t,label:"Set alt color",option:"altColor"}))),t.track.menuItemList&&(r=r.concat(t.track.menuItemList())),(n||e.has(t.track.type))&&(r.push("<hr/>"),r.push(function(t){const e=e=>{const n=()=>{let e=t.browser.inputDialog.input.value;e=""===e||void 0===e?-1:e.trim(),t.track.visibilityWindow=Number.parseInt(e),t.track.config.visibilityWindow=Number.parseInt(e),t.updateViews()},r={label:"Visibility Window",value:t.track.visibilityWindow,callback:n};t.browser.inputDialog.present(r,e)},n=de("<div>");return n.text("Set visibility window"),{object:n,click:e}}(t))),!1!==t.track.removable&&(r.push("<hr/>"),r.push(function(t){const e=de("<div>");return e.text("Remove track"),{object:e,click:()=>t.browser.removeTrack(t.track)}}(t))),r},numericDataMenuItems:function(t){const e=[];e.push("<hr/>");const n=de("<div>");n.text("Set data range");return e.push({object:n,click:()=>{t.browser.dataRangeDialog.configure(t),t.browser.dataRangeDialog.present(de(t.browser.columnContainer))}}),void 0!==t.track.logScale&&e.push({object:de(No("Log scale",t.track.logScale)),click:()=>{t.track.logScale=!t.track.logScale,t.repaintViews()}}),e.push({object:de(No("Autoscale",t.track.autoscale)),click:()=>{t.track.autoscale=!t.track.autoscale,t.updateViews()}}),e},trackMenuItemListHelper:function(t,e){var n=[];return t.length>0&&(n=t.map((function(t,n){var r;if(t.name?(r=de("<div>")).text(t.name):t.object?r=t.object:"string"==typeof t.label?(r=de("<div>")).html(t.label):"string"==typeof t&&(r=t.startsWith("<")?de(t):de("<div>"+t+"</div>")),0===n&&r.addClass("igv-track-menu-border-top"),t.click){function i(n){t.click(n),e.hide(),n.preventDefault(),n.stopPropagation()}r.on("click",i),r.on("touchend",(function(t){i(t)})),r.on("mouseup",(function(t){t.preventDefault(),t.stopPropagation()}))}return{object:r,init:t.init||void 0}}))),n},showColorPicker:t=>void 0===t.type||"bedtype"===t.type||"alignment"===t.type||"annotation"===t.type||"variant"===t.type||"wig"===t.type||"interact"===t.type,createMenuItem(t,e){const n=de("<div>");return n.text(t),{object:n,click:e}}};function Fo({trackView:t,label:e,option:n}){const r=de("<div>");return r.text(e),{object:r,click:()=>t.presentColorPicker(n)}}function Oo(t){return t.trackView.viewports[0].$trackLabel.text()}function Do(t){return function(t,e){const n=document.createElement(t);e&&(e.class&&n.classList.add(e.class),e.id&&(n.id=e.id),e.style&&function(t,e){for(let n of Object.keys(e))t.style[n]=e[n]}(n,e.style));return n}("div",t)}function Bo(t){const e=getComputedStyle(t);"none"!==e.display&&(t._initialDisplay=e.display),t.style.display="none"}function zo(t){if("none"===getComputedStyle(t).display){const e=t._initialDisplay||"block";t.style.display=e}}function Ho(t,e){e=e||"currentColor";let n=Vo[t];n||(console.error(`No icon named: ${t}`),n=Vo.question);const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttributeNS(null,"viewBox","0 0 "+n[0]+" "+n[1]);const i=document.createElementNS("http://www.w3.org/2000/svg","path");return i.setAttributeNS(null,"fill",e),i.setAttributeNS(null,"d",n[4]),r.appendChild(i),r}const Vo={check:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"],cog:[512,512,[],"f013","M444.788 291.1l42.616 24.599c4.867 2.809 7.126 8.618 5.459 13.985-11.07 35.642-29.97 67.842-54.689 94.586a12.016 12.016 0 0 1-14.832 2.254l-42.584-24.595a191.577 191.577 0 0 1-60.759 35.13v49.182a12.01 12.01 0 0 1-9.377 11.718c-34.956 7.85-72.499 8.256-109.219.007-5.49-1.233-9.403-6.096-9.403-11.723v-49.184a191.555 191.555 0 0 1-60.759-35.13l-42.584 24.595a12.016 12.016 0 0 1-14.832-2.254c-24.718-26.744-43.619-58.944-54.689-94.586-1.667-5.366.592-11.175 5.459-13.985L67.212 291.1a193.48 193.48 0 0 1 0-70.199l-42.616-24.599c-4.867-2.809-7.126-8.618-5.459-13.985 11.07-35.642 29.97-67.842 54.689-94.586a12.016 12.016 0 0 1 14.832-2.254l42.584 24.595a191.577 191.577 0 0 1 60.759-35.13V25.759a12.01 12.01 0 0 1 9.377-11.718c34.956-7.85 72.499-8.256 109.219-.007 5.49 1.233 9.403 6.096 9.403 11.723v49.184a191.555 191.555 0 0 1 60.759 35.13l42.584-24.595a12.016 12.016 0 0 1 14.832 2.254c24.718 26.744 43.619 58.944 54.689 94.586 1.667 5.366-.592 11.175-5.459 13.985L444.788 220.9a193.485 193.485 0 0 1 0 70.2zM336 256c0-44.112-35.888-80-80-80s-80 35.888-80 80 35.888 80 80 80 80-35.888 80-80z"],exclamation:[192,512,[],"f12a","M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"],"exclamation-circle":[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],"exclamation-triangle":[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],minus:[448,512,[],"f068","M424 318.2c13.3 0 24-10.7 24-24v-76.4c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h400z"],"minus-circle":[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"],"minus-square":[448,512,[],"f146","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z"],plus:[448,512,[],"f067","M448 294.2v-76.4c0-13.3-10.7-24-24-24H286.2V56c0-13.3-10.7-24-24-24h-76.4c-13.3 0-24 10.7-24 24v137.8H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h137.8V456c0 13.3 10.7 24 24 24h76.4c13.3 0 24-10.7 24-24V318.2H424c13.3 0 24-10.7 24-24z"],"plus-circle":[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],"plus-square":[448,512,[],"f0fe","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],question:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"],save:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"],search:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"],share:[512,512,[],"f064","M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"],spinner:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"],square:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],"square-full":[512,512,[],"f45c","M512 512H0V0h512v512z"],times:[384,512,[],"f00d","M323.1 441l53.9-53.9c9.4-9.4 9.4-24.5 0-33.9L279.8 256l97.2-97.2c9.4-9.4 9.4-24.5 0-33.9L323.1 71c-9.4-9.4-24.5-9.4-33.9 0L192 168.2 94.8 71c-9.4-9.4-24.5-9.4-33.9 0L7 124.9c-9.4 9.4-9.4 24.5 0 33.9l97.2 97.2L7 353.2c-9.4 9.4-9.4 24.5 0 33.9L60.9 441c9.4 9.4 24.5 9.4 33.9 0l97.2-97.2 97.2 97.2c9.3 9.3 24.5 9.3 33.9 0z"],"times-circle":[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"],wrench:[512,512,[],"f0ad","M481.156 200c9.3 0 15.12 10.155 10.325 18.124C466.295 259.992 420.419 288 368 288c-79.222 0-143.501-63.974-143.997-143.079C223.505 65.469 288.548-.001 368.002 0c52.362.001 98.196 27.949 123.4 69.743C496.24 77.766 490.523 88 481.154 88H376l-40 56 40 56h105.156zm-171.649 93.003L109.255 493.255c-24.994 24.993-65.515 24.994-90.51 0-24.993-24.994-24.993-65.516 0-90.51L218.991 202.5c16.16 41.197 49.303 74.335 90.516 90.503zM104 432c0-13.255-10.745-24-24-24s-24 10.745-24 24 10.745 24 24 24 24-10.745 24-24z"]};function jo(t,e){var n,r=document.createElement("div");t.appendChild(r),r.appendChild(Ho("times",n)),r.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),e()}))}let Uo;function qo(t,e){e.addEventListener("mousedown",Wo.bind(t))}function Wo(t){t.stopPropagation(),t.preventDefault(),function(t){if(!t.getClientRects().length)return{top:0,left:0};const e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView;e.top,n.pageYOffset,e.left,n.pageXOffset}(this);const e=$o.bind(this),n=Go.bind(this),r=getComputedStyle(this),i=parseInt(r.top.replace("px","")),o=parseInt(r.left.replace("px",""));Uo={dragFunction:e,dragEndFunction:n,screenX:t.screenX,screenY:t.screenY,top:i,left:o},document.addEventListener("mousemove",e),document.addEventListener("mouseup",n),document.addEventListener("mouseleave",n),document.addEventListener("mouseexit",n)}function $o(t){if(!Uo)return void console.log("No drag data!");t.stopPropagation(),t.preventDefault();const e=t.screenX-Uo.screenX,n=t.screenY-Uo.screenY;this.style.left=`${Uo.left+e}px`,this.style.top=`${Uo.top+n}px`}function Go(t){if(!Uo)return void console.log("No drag data!");t.stopPropagation(),t.preventDefault();const e=Uo.dragFunction,n=Uo.dragEndFunction;document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",n),document.removeEventListener("mouseleave",n),document.removeEventListener("mouseexit",n),Uo=void 0}const Zo={401:"Access unauthorized",403:"Access forbidden",404:"Not found"};class Xo{constructor(t){this.container=Do({class:"igv-ui-alert-dialog-container"}),t.appendChild(this.container),this.container.setAttribute("tabIndex","-1");const e=Do();this.container.appendChild(e),this.errorHeadline=Do(),e.appendChild(this.errorHeadline),this.errorHeadline.textContent="";let n=Do({id:"igv-ui-alert-dialog-body"});this.container.appendChild(n),this.body=Do({id:"igv-ui-alert-dialog-body-copy"}),n.appendChild(this.body);let r=Do();this.container.appendChild(r),this.ok=Do(),r.appendChild(this.ok),this.ok.textContent="OK";const i=()=>{"function"==typeof this.callback&&(this.callback("OK"),this.callback=void 0),this.body.innerHTML="",Bo(this.container)};this.ok.addEventListener("click",(t=>{t.stopPropagation(),i()})),this.container.addEventListener("keypress",(t=>{t.stopPropagation(),"Enter"===t.key&&i()})),qo(this.container,e),Bo(this.container)}present(t,e){this.errorHeadline.textContent=t.message?"ERROR":"";let n=t.message||t;Zo.hasOwnProperty(n)&&(n=Zo[n]),this.body.innerHTML=n,this.callback=e,zo(this.container),this.container.focus()}}let Yo;const Ko={init(t){Yo||(Yo=new Xo(t))},presentAlert(t,e){Yo||this.init(document.body),Yo.present(t,e)}};class Qo{constructor(t){this.parent=t,this.container=Do({class:"igv-ui-generic-dialog-container"}),t.appendChild(this.container);const e=Do({class:"igv-ui-generic-dialog-header"});this.container.appendChild(e),this.label=Do({class:"igv-ui-generic-dialog-one-liner"}),this.container.appendChild(this.label),this.label.text="Unlabeled",this.input_container=Do({class:"igv-ui-generic-dialog-input"}),this.container.appendChild(this.input_container),this.input=document.createElement("input"),this.input_container.appendChild(this.input);const n=Do({class:"igv-ui-generic-dialog-ok-cancel"});this.container.appendChild(n),this.ok=Do(),n.appendChild(this.ok),this.ok.textContent="OK",this.cancel=Do(),n.appendChild(this.cancel),this.cancel.textContent="Cancel",Bo(this.container),this.input.addEventListener("keyup",(t=>{13===t.keyCode&&("function"==typeof this.callback&&(this.callback(this.input.value),this.callback=void 0),this.input.value=void 0,Bo(this.container))})),this.ok.addEventListener("click",(()=>{"function"==typeof this.callback&&(this.callback(this.input.value),this.callback=void 0),this.input.value=void 0,Bo(this.container)}));const r=()=>{this.input.value="",Bo(this.container)};this.cancel.addEventListener("click",r),jo(e,r),qo(this.container,e)}present(t,e){this.label.textContent=t.label,this.input.value=t.value,this.callback=t.callback||t.click,zo(this.container);const{x:n,y:r}=function(t){if(t.type.startsWith("touch")){const e=t.touches[0];return{x:e.pageX,y:e.pageY}}return{x:t.pageX,y:t.pageY}}(e);this.clampLocation(n,r)}clampLocation(t,e){const{width:n,height:r}=this.container.getBoundingClientRect();console.log(`InputDialog - clampLocation() - width ${n} height ${r}`);const{x:i,y:o,width:s,height:a}=this.parent.getBoundingClientRect(),l=Math.min(Math.max(e,o),o+a-r),c=Math.min(Math.max(t,i),i+s-n);this.container.style.left=`${c}px`,this.container.style.top=`${l}px`}}const Jo={licorice:"#000000",lead:"#1e1e1e",tungsten:"#3a3a3a",iron:"#545453",steel:"#6e6e6e",tin:"#878687",nickel:"#888787",aluminum:"#a09fa0",magnesium:"#b8b8b8",silver:"#d0d0d0",mercury:"#e8e8e8",snow:"#ffffff",cayenne:"#891100",mocha:"#894800",aspargus:"#888501",fern:"#458401",clover:"#028401",moss:"#018448",teal:"#008688",ocean:"#004a88",midnight:"#001888",eggplant:"#491a88",plum:"#891e88",maroon:"#891648",maraschino:"#ff2101",tangerine:"#ff8802",lemon:"#fffa03",lime:"#83f902",spring:"#05f802",seam_foam:"#03f987",turquoise:"#00fdff",aqua:"#008cff",blueberry:"#002eff",grape:"#8931ff",magenta:"#ff39ff",strawberry:"#ff2987",salmon:"#ff726e",cantaloupe:"#ffce6e",banana:"#fffb6d",honeydew:"#cefa6e",flora:"#68f96e",spindrift:"#68fbd0",ice:"#68fdff",sky:"#6acfff",orchid:"#6e76ff",lavender:"#d278ff",bubblegum:"#ff7aff",carnation:"#ff7fd3"};class ts{constructor({parent:t,top:e,left:n,width:r,height:i,border:o,closeHandler:s}){let a=Do({class:"igv-ui-generic-container"});t.appendChild(a),Bo(a),this.container=a,void 0!==e&&(this.container.style.top=`${e}px`),void 0!==n&&(this.container.style.left=`${n}px`),void 0!==r&&(this.container.style.width=`${r}px`),void 0!==i&&(this.container.style.height=`${i}px`),o&&(this.container.style.border=o);const l=Do();this.container.appendChild(l),jo(l,(t=>{Bo(this.container),"function"==typeof s&&s(t)})),qo(this.container,l)}show(){zo(this.container)}hide(){Bo(this.container)}dispose(){this.container.parent&&this.container.parent.removeChild(this.container)}}class es extends ts{constructor({parent:t,top:e,left:n,width:r,height:i,defaultColors:o,colorHandler:s}){super({parent:t,top:e,left:n,width:r,height:i,border:"1px solid gray"}),ns(this.container,s,o)}}const ns=(t,e,n)=>{const r=Object.values(Jo);for(let n of r){const r=Do({class:"igv-ui-color-swatch"});t.appendChild(r),rs(r,n,e)}if(n)for(let r of n){const n=Do({class:"igv-ui-color-swatch"});t.appendChild(n),rs(n,r,e)}},rs=(t,e,n)=>{t.style.backgroundColor=e,t.addEventListener("mouseenter",(n=>t.style.borderColor=e)),t.addEventListener("mouseleave",(e=>t.style.borderColor="white")),t.addEventListener("click",(t=>{t.stopPropagation(),n(e)})),t.addEventListener("touchend",(t=>{t.stopPropagation(),n(e)}))};class is{constructor(t,e){this.parent=t,this.popover=Do({class:"igv-ui-popover"}),t.appendChild(this.popover);const n=Do();this.popover.appendChild(n);const r=Do();n.appendChild(r),e&&(r.textContent=e),jo(n,(()=>this.hide())),qo(this.popover,n),this.popoverContent=Do(),this.popover.appendChild(this.popoverContent),this.popover.style.display="none"}presentContentWithEvent(t,e){this.popover.style.display="block",this.popoverContent.innerHTML=e,os(t,this.popover)}presentMenu(t,e){if(0===e.length)return;this.popover.style.display="block";const n=function(t,e){const n=t.map((function(t,n){let r;if("string"==typeof t)r=Do(),r.innerHTML=t;else if("Node"==typeof t)r=t;else{if("function"==typeof t.init&&t.init(),"checkbox"===t.type)r=function(t,e){const n=Do({class:"igv-ui-trackgear-popover-check-container"}),r=Ho("check",!0===e?"#444":"transparent");r.style.borderColor="gray",r.style.borderWidth="1px",r.style.borderStyle="solid",n.appendChild(r);let i=Do();return i.textContent=t,n.appendChild(i),n}("Show all bases",t.value);else if("color"===t.type){const n=new es({parent:e.parentElement,width:364,colorHandler:e=>t.click(e)});r=Do(),"string"==typeof t.label&&(r.innerHTML=t.label);const i=t=>{n.show(),Bo(e),t.preventDefault(),t.stopPropagation()};r.addEventListener("click",i),r.addEventListener("touchend",i),r.addEventListener("mouseup",(function(t){t.preventDefault(),t.stopPropagation()}))}else r=Do(),"string"==typeof t.label&&(r.innerHTML=t.label);if(t.click&&"color"!==t.type){function n(n){t.click(),Bo(e),n.preventDefault(),n.stopPropagation()}r.addEventListener("click",n),r.addEventListener("touchend",n),r.addEventListener("mouseup",(function(t){t.preventDefault(),t.stopPropagation()}))}}return{object:r,init:t.init}}));return n}(e,this.popover);for(let t of n)this.popoverContent.appendChild(t.object);os(t,this.popover)}hide(){this.popover.style.display="none",this.dispose()}dispose(){this.popover&&this.popover.parentNode.removeChild(this.popover);const t=Object.keys(this);for(let e of t)this[e]=void 0}}function os(t,e){const{x:n,y:r}=function(t,e){const{clientX:n,clientY:r}=t;return((t,{clientX:e,clientY:n})=>{const{left:r,top:i,width:o,height:s}=t.getBoundingClientRect(),a=e-r,l=n-i;return{x:a,y:l,xNormalized:a/o,yNormalized:l/s,width:o,height:s}})(e,{clientX:n,clientY:r})}(t,e.parentNode),{width:i}=e.parentNode.getBoundingClientRect(),{width:o}=e.getBoundingClientRect(),s=n+o;console.log(`popover-parent width ${i}. popover x ${n} width ${o} xmax ${s}.`),e.style.left=`${s>i?n-(s-i):n}px`,e.style.top=`${r}px`}if("undefined"!=typeof document){(function(t){for(let e of document.styleSheets)if(e=e.href?e.href.replace(/^.*[\\\/]/,""):"",e===t)return!0;return!1})("igv-ui.css")||((ss=document.createElement("style")).setAttribute("type","text/css"),ss.innerHTML='.igv-ui-popover {\n cursor: default;\n position: absolute;\n z-index: 2048;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: 1px;\n font-family: "Open Sans", sans-serif;\n font-size: small;\n background-color: white; }\n .igv-ui-popover > div:first-child {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-popover > div:first-child > div:first-child {\n margin-left: 4px; }\n .igv-ui-popover > div:first-child > div:last-child {\n margin-right: 4px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-ui-popover > div:first-child > div:last-child:hover {\n cursor: pointer;\n color: #444; }\n .igv-ui-popover > div:last-child {\n overflow-y: auto;\n overflow-x: hidden;\n max-height: 400px;\n max-width: 1500px;\n background-color: white; }\n .igv-ui-popover > div:last-child > div {\n -webkit-user-select: all;\n /* Chrome/Safari */\n -moz-user-select: all;\n /* Firefox */\n margin-left: 4px;\n margin-right: 4px;\n min-width: 220px;\n overflow-x: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n .igv-ui-popover > div:last-child > div > span {\n font-weight: bolder; }\n .igv-ui-popover > div:last-child hr {\n width: 100%; }\n\n.igv-ui-alert-dialog-container {\n box-sizing: content-box;\n position: absolute;\n z-index: 2048;\n top: 50%;\n left: 50%;\n width: 400px;\n height: 200px;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n outline: none;\n font-family: "Open Sans", sans-serif;\n font-size: 15px;\n font-weight: 400;\n background-color: white;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center; }\n .igv-ui-alert-dialog-container > div:first-child {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-alert-dialog-container > div:first-child div:first-child {\n padding-left: 8px; }\n .igv-ui-alert-dialog-container #igv-ui-alert-dialog-body {\n color: #373737;\n width: 100%;\n height: calc(100% - 24px - 64px);\n overflow-y: scroll; }\n .igv-ui-alert-dialog-container #igv-ui-alert-dialog-body #igv-ui-alert-dialog-body-copy {\n cursor: pointer;\n margin: 16px;\n width: auto;\n height: auto;\n overflow-wrap: break-word;\n word-break: break-word;\n background-color: white;\n border: unset; }\n .igv-ui-alert-dialog-container > div:last-child {\n width: 100%;\n margin-bottom: 10px;\n background-color: white;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center; }\n .igv-ui-alert-dialog-container > div:last-child div {\n margin: unset;\n width: 40px;\n height: 30px;\n line-height: 30px;\n text-align: center;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: small;\n font-weight: 400;\n border-color: #2B81AF;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-ui-alert-dialog-container > div:last-child div:hover {\n cursor: pointer;\n border-color: #25597f;\n background-color: #25597f; }\n\n.igv-ui-color-swatch {\n position: relative;\n box-sizing: content-box;\n display: flex;\n flex-flow: row;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-style: solid;\n border-width: 2px;\n border-color: white;\n border-radius: 4px; }\n\n.igv-ui-color-swatch:hover {\n border-color: dimgray; }\n\n.igv-ui-colorpicker-menu-close-button {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 32px;\n margin-top: 4px;\n margin-bottom: 4px;\n padding-right: 8px; }\n .igv-ui-colorpicker-menu-close-button i.fa {\n display: block;\n margin-left: 4px;\n margin-right: 4px;\n color: #5f5f5f; }\n .igv-ui-colorpicker-menu-close-button i.fa:hover,\n .igv-ui-colorpicker-menu-close-button i.fa:focus,\n .igv-ui-colorpicker-menu-close-button i.fa:active {\n cursor: pointer;\n color: #0f0f0f; }\n\n.igv-ui-generic-dialog-container {\n box-sizing: content-box;\n position: fixed;\n top: 0;\n left: 0;\n width: 300px;\n height: 200px;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n z-index: 2048;\n background-color: white;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-header {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-header div {\n margin-right: 4px;\n margin-bottom: 2px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-header div:hover {\n cursor: pointer;\n color: #444; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-one-liner {\n color: #373737;\n width: 95%;\n height: 24px;\n line-height: 24px;\n text-align: left;\n margin-top: 8px;\n padding-left: 8px;\n overflow-wrap: break-word;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input {\n margin-top: 8px;\n width: 95%;\n height: 24px;\n color: #373737;\n line-height: 24px;\n padding-left: 8px;\n background-color: white;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input div {\n width: 30%;\n height: 100%;\n font-size: 16px;\n text-align: right;\n padding-right: 8px;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input input {\n width: 50%;\n font-size: 16px; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-input {\n margin-top: 8px;\n width: calc(100% - 16px);\n height: 24px;\n color: #373737;\n line-height: 24px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-input input {\n font-size: 16px; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel {\n width: 100%;\n height: 28px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div {\n margin-top: 32px;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: 14px;\n font-weight: 400;\n width: 75px;\n height: 28px;\n line-height: 28px;\n text-align: center;\n border-color: transparent;\n border-style: solid;\n border-width: thin;\n border-radius: 2px; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:first-child {\n margin-left: 32px;\n margin-right: 0;\n background-color: #5ea4e0; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:last-child {\n margin-left: 0;\n margin-right: 32px;\n background-color: #c4c4c4; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:first-child:hover {\n cursor: pointer;\n background-color: #3b5c7f; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:last-child:hover {\n cursor: pointer;\n background-color: #7f7f7f; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok {\n width: 100%;\n height: 36px;\n margin-top: 32px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok div {\n width: 98px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n border-color: white;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok div:hover {\n cursor: pointer;\n background-color: #25597f; }\n\n.igv-ui-generic-container {\n box-sizing: content-box;\n position: absolute;\n z-index: 2048;\n background-color: white;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-ui-generic-container div:first-child {\n cursor: move;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n height: 24px;\n width: 100%;\n background-color: #dddddd; }\n .igv-ui-generic-container div:first-child div {\n display: block;\n color: #5f5f5f;\n cursor: pointer;\n width: 14px;\n height: 14px;\n margin-right: 8px;\n margin-bottom: 4px; }\n\n.igv-ui-dialog {\n z-index: 2048;\n position: fixed;\n width: fit-content;\n height: fit-content;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n background-color: white;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400; }\n .igv-ui-dialog .igv-ui-dialog-header {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-dialog .igv-ui-dialog-header div {\n margin-right: 4px;\n margin-bottom: 2px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-ui-dialog .igv-ui-dialog-header div:hover {\n cursor: pointer;\n color: #444; }\n .igv-ui-dialog .igv-ui-dialog-one-liner {\n width: 95%;\n height: 24px;\n line-height: 24px;\n text-align: left;\n margin: 8px;\n overflow-wrap: break-word;\n background-color: white;\n font-weight: bold; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel {\n width: 100%;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div {\n margin: 16px;\n margin-top: 32px;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: 14px;\n font-weight: 400;\n width: 75px;\n height: 28px;\n line-height: 28px;\n text-align: center;\n border-color: transparent;\n border-style: solid;\n border-width: thin;\n border-radius: 2px; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:first-child {\n background-color: #5ea4e0; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:last-child {\n background-color: #c4c4c4; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:first-child:hover {\n cursor: pointer;\n background-color: #3b5c7f; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:last-child:hover {\n cursor: pointer;\n background-color: #7f7f7f; }\n .igv-ui-dialog .igv-ui-dialog-ok {\n width: 100%;\n height: 36px;\n margin-top: 32px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-dialog .igv-ui-dialog-ok div {\n width: 98px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n border-color: white;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-ui-dialog .igv-ui-dialog-ok div:hover {\n cursor: pointer;\n background-color: #25597f; }\n\n.igv-ui-panel, .igv-ui-panel-column, .igv-ui-panel-row {\n z-index: 2048;\n background-color: white;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n display: flex;\n justify-content: flex-start;\n align-items: flex-start; }\n\n.igv-ui-panel-column {\n display: flex;\n flex-direction: column; }\n\n.igv-ui-panel-row {\n display: flex;\n flex-direction: row; }\n\n.igv-ui-textbox {\n background-color: white;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n display: flex;\n justify-content: flex-start;\n align-items: flex-start; }\n\n/*# sourceMappingURL=igv-ui.css.map */\n',document.head.insertBefore(ss,document.head.childNodes[document.head.childNodes.length-1]))}var ss;class as{constructor(t,e){this.$container=de("<div>",{class:"igv-generic-dialog-container"}),t.append(this.$container),this.$container.offset({left:0,top:0});const n=de("<div>",{class:"igv-generic-dialog-header"});this.$container.append(n),xe(n[0],(()=>{this.$minimum_input.val(void 0),this.$maximum_input.val(void 0),this.$container.offset({left:0,top:0}),this.$container.hide()})),this.$minimum=de("<div>",{class:"igv-generic-dialog-label-input"}),this.$container.append(this.$minimum);const r=de("<div>");r.text("Minimum"),this.$minimum.append(r),this.$minimum_input=de("<input>"),this.$minimum.append(this.$minimum_input),this.$maximum=de("<div>",{class:"igv-generic-dialog-label-input"}),this.$container.append(this.$maximum);const i=de("<div>");i.text("Maximum"),this.$maximum.append(i),this.$maximum_input=de("<input>"),this.$maximum.append(this.$maximum_input);const o=de("<div>",{class:"igv-generic-dialog-ok-cancel"});this.$container.append(o),this.$ok=de("<div>"),o.append(this.$ok),this.$ok.text("OK"),this.$cancel=de("<div>"),o.append(this.$cancel),this.$cancel.text("Cancel"),this.$cancel.on("click",(()=>{this.$minimum_input.val(void 0),this.$maximum_input.val(void 0),this.$container.offset({left:0,top:0}),this.$container.hide()})),io(this.$container.get(0),n.get(0)),this.$container.hide()}configure(t){const e=t.dataRange();let n,r;e?(n=e.min,r=e.max):(n=0,r=100),this.$minimum_input.val(n),this.$maximum_input.val(r),this.$minimum_input.unbind(),this.$minimum_input.on("keyup",(e=>{13===e.keyCode&&this.processResults(t)})),this.$maximum_input.unbind(),this.$maximum_input.on("keyup",(e=>{13===e.keyCode&&this.processResults(t)})),this.$ok.unbind(),this.$ok.on("click",(e=>{this.processResults(t)}))}processResults(t){const e=parseFloat(this.$minimum_input.val()),n=parseFloat(this.$maximum_input.val());isNaN(e)||isNaN(n)?Ko.presentAlert(new Error("Must input numeric values"),void 0):t.setDataRange(e,n),this.$minimum_input.val(void 0),this.$maximum_input.val(void 0),this.$container.offset({left:0,top:0}),this.$container.hide()}present(t){const e=t.offset().top,n=de("body").scrollTop();this.$container.offset({left:t.width()-this.$container.width(),top:e+n}),this.$container.show()}}const ls={configureHighDPICanvas:function(t,e,n){const r=window.devicePixelRatio;t.canvas.style.width=`${e}px`,t.canvas.width=Math.floor(r*e),t.canvas.style.height=`${n}px`,t.canvas.height=Math.floor(r*n),t.scale(r,r)},setProperties:function(t,e){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];t[n]=r}},strokeLine:function(t,e,n,r,i,o){e=Math.floor(e)+.5,n=Math.floor(n)+.5,r=Math.floor(r)+.5,i=Math.floor(i)+.5,o&&(t.save(),ls.setProperties(t,o)),t.beginPath(),t.moveTo(e,n),t.lineTo(r,i),t.stroke(),o&&t.restore()},fillRect:function(t,e,n,r,i,o){e=Math.round(e),n=Math.round(n),o&&(t.save(),ls.setProperties(t,o)),t.fillRect(e,n,r,i),o&&t.restore()},fillPolygon:function(t,e,n,r){r&&(t.save(),ls.setProperties(t,r)),cs(t,e,n),t.fill(),r&&t.restore()},strokePolygon:function(t,e,n,r){r&&(t.save(),ls.setProperties(t,r)),cs(t,e,n),t.stroke(),r&&t.restore()},fillText:function(t,e,n,r,i,o){if((i||o)&&t.save(),i&&ls.setProperties(t,i),o){for(var s in t.translate(n,r),o){var a=o[s];"translate"===s&&t.translate(a.x,a.y),"rotate"===s&&t.rotate(a.angle*Math.PI/180)}t.fillText(e,0,0)}else t.fillText(e,n,r);(i||o)&&t.restore()},strokeText:function(t,e,n,r,i,o){if((i||o)&&t.save(),i&&ls.setProperties(t,i),o){for(var s in t.translate(n,r),o){var a=o[s];"translate"===s&&t.translate(a.x,a.y),"rotate"===s&&t.rotate(a.angle*Math.PI/180)}t.strokeText(e,0,0)}else t.strokeText(e,n,r);(i||o)&&t.restore()},strokeCircle:function(t,e,n,r,i){i&&(t.save(),ls.setProperties(t,i)),t.beginPath(),t.arc(e,n,r,0,2*Math.PI),t.stroke(),i&&t.restore()},fillCircle:function(t,e,n,r,i){i&&(t.save(),ls.setProperties(t,i)),t.beginPath(),t.arc(e,n,r,0,2*Math.PI),t.fill(),i&&t.restore()},drawArrowhead:function(t,e,n,r,i){t.save(),r||(r=5),i&&(t.lineWidth=i),t.beginPath(),t.moveTo(e,n-r/2),t.lineTo(e,n+r/2),t.lineTo(e+r,n),t.lineTo(e,n-r/2),t.closePath(),t.fill(),t.restore()},dashedLine:function(t,e,n,r,i,o,s={}){void 0===o&&(o=2),t.setLineDash([o,o]),ls.strokeLine(t,e,n,r,i,s),t.setLineDash([])},roundRect:function(t,e,n,r,i,o,s,a){void 0===a&&(a=!0),void 0===o&&(o=5),t.beginPath(),t.moveTo(e+o,n),t.lineTo(e+r-o,n),t.quadraticCurveTo(e+r,n,e+r,n+o),t.lineTo(e+r,n+i-o),t.quadraticCurveTo(e+r,n+i,e+r-o,n+i),t.lineTo(e+o,n+i),t.quadraticCurveTo(e,n+i,e,n+i-o),t.lineTo(e,n+o),t.quadraticCurveTo(e,n,e+o,n),t.closePath(),a&&t.stroke(),s&&t.fill()},polygon:function(t,e,n,r,i){void 0===i&&(i=!0),t.beginPath();var o=e.length;t.moveTo(e[0],n[0]);for(var s=1;s<o;s++)t.lineTo(e[s],n[s]);t.closePath(),i&&t.stroke(),r&&t.fill()}};function cs(t,e,n){var r,i=e.length;for(r=0;r<i;r++)e[r]=Math.round(e[r]),n[r]=Math.round(n[r]);for(t.beginPath(),t.moveTo(e[0],n[0]),r=1;r<i;r++)t.lineTo(e[r],n[r]);t.closePath()}const hs={gwascatalog:{fields:["bin","chr","start","end","name","pubMedID","author","pubDate","journal","title","trait","initSample","replSample","region","genes","riskAllele","riskAlFreq","pValue","pValueDesc","orOrBeta","ci95","platform","cnv"]},wgrna:{fields:["bin","chr","start","end","name","score","strand","thickStart","thickEnd","type"]},cpgislandext:{fields:["bin","chr","start","end","name","length","cpgNum","gcNum","perCpg","perGc","obsExp"]},clinVarMain:{fields:["chr1","start","end","name","score","strand","thickStart","thickEnd","reserved","blockCount","blockSizes","chromStarts","origName","clinSign","reviewStatus","type","geneId","snpId","nsvId","rcvAcc","testedInGtr","phenotypeList","phenotype","origin","assembly","cytogenetic","hgvsCod","hgvsProt","numSubmit","lastEval","guidelines","otherIds"]}},us=new Set(["narrowpeak","broadpeak","regionpeak","peaks","bedgraph","wig","gff3","gff","gtf","fusionjuncspan","refflat","seg","aed","bed","vcf","bb","bigbed","bw","bigwig","bam","tdf","refgene","genepred","genepredext","bedpe","bp","snp","rmsk","cram","gwas","maf","mut"]);function fs(t){if(function(t){t.featureType&&(t.type=t.type||t.featureType,t.featureType=void 0);"junctions"===t.type?t.type="junction":"bed"===t.type?(t.type="annotation",t.format=t.format||"bed"):"annotations"===t.type?t.type="annotation":"alignments"===t.type?t.type="alignment":"bam"===t.type?(t.type="alignment",t.format="bam"):"vcf"===t.type?(t.type="variant",t.format="vcf"):"t2d"===t.type?t.type="gwas":"FusionJuncSpan"!==t.type||t.format?"aed"===t.type&&(t.type="annotation",t.format=t.format||"aed"):t.format="fusionjuncspan"}(t),t.type)return t.type;if(t.format){switch(t.format.toLowerCase()){case"bw":case"bigwig":case"wig":case"bedgraph":case"tdf":return"wig";case"vcf":return"variant";case"seg":return"seg";case"mut":case"maf":return"mut";case"bam":case"cram":return"alignment";case"bedpe":case"bedpe-loop":return"interact";case"bp":return"arc";case"gwas":return"gwas";case"bed":case"bigbed":case"bb":return"bedtype";default:return"annotation"}}}const ds={cantaloupe:{r:255,g:206,b:110},honeydew:{r:206,g:250,b:110},spindrift:{r:104,g:251,b:208},sky:{r:106,g:207,b:255},lavender:{r:210,g:120,b:255},carnation:{r:255,g:127,b:211},licorice:{r:0,g:0,b:0},snow:{r:255,g:255,b:255},salmon:{r:255,g:114,b:110},banana:{r:255,g:251,b:109},flora:{r:104,g:249,b:110},ice:{r:104,g:253,b:255},orchid:{r:110,g:118,b:255},bubblegum:{r:255,g:122,b:255},lead:{r:30,g:30,b:30},mercury:{r:232,g:232,b:232},tangerine:{r:255,g:136,b:2},lime:{r:131,g:249,b:2},sea_foam:{r:3,g:249,b:135},aqua:{r:0,g:140,b:255},grape:{r:137,g:49,b:255},strawberry:{r:255,g:41,b:135},tungsten:{r:58,g:58,b:58},silver:{r:208,g:208,b:208},maraschino:{r:255,g:33,b:1},lemon:{r:255,g:250,b:3},spring:{r:5,g:248,b:2},turquoise:{r:0,g:253,b:255},blueberry:{r:0,g:46,b:255},magenta:{r:255,g:57,b:255},iron:{r:84,g:84,b:83},magnesium:{r:184,g:184,b:184},mocha:{r:137,g:72,b:0},fern:{r:69,g:132,b:1},moss:{r:1,g:132,b:72},ocean:{r:0,g:74,b:136},eggplant:{r:73,g:26,b:136},maroon:{r:137,g:22,b:72},steel:{r:110,g:110,b:110},aluminum:{r:160,g:159,b:160},cayenne:{r:137,g:17,b:0},aspargus:{r:136,g:133,b:1},clover:{r:2,g:132,b:1},teal:{r:0,g:134,b:136},midnight:{r:0,g:24,b:136},plum:{r:137,g:30,b:136},tin:{r:135,g:134,b:135},nickel:{r:136,g:135,b:135}};const ps={Set1:["rgb(228,26,28)","rgb(55,126,184)","rgb(77,175,74)","rgb(166,86,40)","rgb(152,78,163)","rgb(255,127,0)","rgb(247,129,191)","rgb(153,153,153)","rgb(255,255,51)"],Dark2:["rgb(27,158,119)","rgb(217,95,2)","rgb(117,112,179)","rgb(231,41,138)","rgb(102,166,30)","rgb(230,171,2)","rgb(166,118,29)","rgb(102,102,102)"],Set2:["rgb(102, 194,165)","rgb(252,141,98)","rgb(141,160,203)","rgb(231,138,195)","rgb(166,216,84)","rgb(255,217,47)","rgb(229,196,148)","rgb(179,179,179)"],Set3:["rgb(141,211,199)","rgb(255,255,179)","rgb(190,186,218)","rgb(251,128,114)","rgb(128,177,211)","rgb(253,180,98)","rgb(179,222,105)","rgb(252,205,229)","rgb(217,217,217)","rgb(188,128,189)","rgb(204,235,197)","rgb(255,237,111)"],Pastel1:["rgb(251,180,174)","rgb(179,205,227)","rgb(204,235,197)","rgb(222,203,228)","rgb(254,217,166)","rgb(255,255,204)","rgb(229,216,189)","rgb(253,218,236)"],Pastel2:["rgb(173,226,207)","rgb(253,205,172)","rgb(203,213,232)","rgb(244,202,228)","rgb(230,245,201)","rgb(255,242,174)","rgb(243,225,206)"],Accent:["rgb(127,201,127)","rgb(190,174,212)","rgb(253,192,134)","rgb(255,255,153)","rgb(56,108,176)","rgb(240,2,127)","rgb(191,91,23)"]};class gs{constructor(t){this.colors=ps[t],Array.isArray(this.colors)||(this.colors=[]),this.colorTable={},this.nextIdx=0,this.colorGenerator=new vs}getColor(t){return this.colorTable.hasOwnProperty(t)||(this.nextIdx<this.colors.length?this.colorTable[t]=this.colors[this.nextIdx]:this.colorTable[t]=this.colorGenerator.get(),this.nextIdx++),this.colorTable[t]}}class ms{constructor(t){this.colorTable=t||{},this.nextIdx=0,this.colorGenerator=new vs}getColor(t){if(!this.colorTable.hasOwnProperty(t)){if(this.colorTable.hasOwnProperty("*"))return this.colorTable["*"];this.colorTable[t]=this.colorGenerator.get()}return this.colorTable[t]}}function vs(){this.hue=Math.random(),this.goldenRatio=.618033988749895,this.hexwidth=2}vs.prototype.hsvToRgb=function(t,e,n){var r=Math.floor(6*t),i=6*t-r,o=n*(1-e),s=n*(1-i*e),a=n*(1-(1-i)*e),l=255,c=255,h=255;switch(r){case 0:l=n,c=a,h=o;break;case 1:l=s,c=n,h=o;break;case 2:l=o,c=n,h=a;break;case 3:l=o,c=s,h=n;break;case 4:l=a,c=o,h=n;break;case 5:l=n,c=o,h=s}return[Math.floor(256*l),Math.floor(256*c),Math.floor(256*h)]},vs.prototype.padHex=function(t){return t.length>this.hexwidth?t:new Array(this.hexwidth-t.length+1).join("0")+t},vs.prototype.get=function(t,e){this.hue+=this.goldenRatio,this.hue%=1,"number"!=typeof t&&(t=.5),"number"!=typeof e&&(e=.95);var n=this.hsvToRgb(this.hue,t,e);return"#"+this.padHex(n[0].toString(16))+this.padHex(n[1].toString(16))+this.padHex(n[2].toString(16))};const bs=new vs;const ws=Number.MIN_SAFE_INTEGER,ys={TTT:"F",TTC:"F",TTA:"L",TTG:"L",CTT:"L",CTC:"L",CTA:"L",CTG:"L",ATT:"I",ATC:"I",ATA:"I",ATG:"M",GTT:"V",GTC:"V",GTA:"V",GTG:"V",TCT:"S",TCC:"S",TCA:"S",TCG:"S",CCT:"P",CCC:"P",CCA:"P",CCG:"P",ACT:"T",ACC:"T",ACA:"T",ACG:"T",GCT:"A",GCC:"A",GCA:"A",GCG:"A",TAT:"Y",TAC:"Y",TAA:"STOP",TAG:"STOP",CAT:"H",CAC:"H",CAA:"Q",CAG:"Q",AAT:"N",AAC:"N",AAA:"K",AAG:"K",GAT:"D",GAC:"D",GAA:"E",GAG:"E",TGT:"C",TGC:"C",TGA:"STOP",TGG:"W",CGT:"R",CGC:"R",CGA:"R",CGG:"R",AGT:"S",AGC:"S",AGA:"R",AGG:"R",GGT:"G",GGC:"G",GGA:"G",GGG:"G"},xs={},_s=["A","G","C","T","Y","R","W","S","K","M","D","V","H","B","N","X"],ks=["T","C","G","A","R","Y","W","S","M","K","H","B","D","V","N","X"];for(let t=0;t<_s.length;t++)xs[_s[t]]=ks[t],xs[_s[t].toLowerCase()]=ks[t].toLowerCase();class Ss{constructor(t,e){this.type="sequence",this.browser=e,this.removable=!1,this.config=t,this.name="Sequence",this.id="sequence",this.sequenceType=t.sequenceType||"dna",this.height=25,this.disableButtons=!1,this.order=t.order||ws,this.ignoreTrackMenu=!1,this.reversed=!1,this.frameTranslate=!1}menuItemList(){return[{name:this.reversed?"Forward":"Reverse",click:()=>{this.reversed=!this.reversed,this.trackView.repaintViews()}},{name:this.frameTranslate?"Close Translation":"Three-frame Translate",click:()=>{if(this.frameTranslate=!this.frameTranslate,this.frameTranslate){for(let t of this.trackView.viewports)t.setContentHeight(115);this.trackView.setTrackHeight(115)}else{for(let t of this.trackView.viewports)t.setContentHeight(25);this.trackView.setTrackHeight(25)}this.trackView.repaintViews()}}]}contextMenuItemList(t){const e=t.viewport;return e.referenceFrame.bpPerPixel<=1?[{label:"View visible sequence...",click:async()=>{const t=e.getWidth()*e.referenceFrame.bpPerPixel,n=e.referenceFrame.chr,r=e.referenceFrame.start,i=r+t,o=await this.browser.genome.sequence.getSequence(n,r,i);Ko.presentAlert(o)}},{label:"Copy visible sequence",click:async()=>{const t=e.getWidth()*e.referenceFrame.bpPerPixel,n=e.referenceFrame.chr,r=e.referenceFrame.start,i=r+t,o=await this.browser.genome.sequence.getSequence(n,r,i);navigator.clipboard.writeText(o)}},"<hr/>"]:void 0}translateSequence(t){const e=[[],[],[]];for(let n of[0,1,2]){let r=n;for(;t.length-r>=3;){let i=t.slice(r,r+3);this.reversed&&(i=i.split("").reverse().join(""));const o=ys[i.toUpperCase()]||"";e[n].push({codons:i,aminoA:o}),r+=3}}return e}async getFeatures(t,e,n,r){if(r&&r>1)return null;return{bpStart:e,sequence:await this.browser.genome.sequence.getSequence(t,e,n)}}draw(t){const e=t.context;if(t.features){const n=t.features.sequence,r=t.features.bpStart,i=1+t.bpStart+t.pixelWidth*t.bpPerPixel;let o=15;for(let s=r;s<=i;s++){let i=Math.floor(s-r);if(i<n.length){let r=n[i];this.reversed&&(r=xs[r]||"");let a=s-t.bpStart,l=a/t.bpPerPixel,c=(a+1)/t.bpPerPixel,h=this.fillColor(r);if(t.bpPerPixel>.1)ls.fillRect(e,l,5,c-l,o-5,{fillStyle:h});else{let t=.5*(l+c-e.measureText(r).width);ls.strokeText(e,r,t,o,{strokeStyle:h})}}}if(this.frameTranslate){let r;this.reversed?(r=n.split("").map((function(t){return xs[t]})),r=r.join("")):r=n;let i=o,s=this.translateSequence(r);for(let n of s){let r=s.indexOf(n),o=r,a=25;i=0===r?i+10:i+30;for(let r of n){let s,l=n.indexOf(r),c=l+o+2*l,h=0==l%2?"rgb(160,160,160)":"rgb(224,224,224)",u=Math.floor(c/t.bpPerPixel),f=Math.floor((c+3)/t.bpPerPixel),d=Math.round((u+f)/2);r.aminoA.indexOf("STOP")>-1?(h="rgb(255, 0, 0)",s="STOP"):s=r.aminoA,"M"===r.aminoA&&(h="rgb(0, 153, 0)",s="START"),ls.fillRect(e,u,i,f-u,a,{fillStyle:h}),t.bpPerPixel<=.1&&ls.strokeText(e,s,d-e.measureText(s).width/2,i+15)}}}}}supportsWholeGenome(){return!1}computePixelHeight(t){return this.height}fillColor(t){return this.color?this.color:"dna"===this.sequenceType?this.browser.nucleotideColors[t]||"gray":"rgb(0, 0, 150)"}}
27
27
  /*!!
28
28
  * Canvas 2 Svg v1.0.19
29
29
  * A low level canvas to SVG converter. Uses a mock canvas context to build an SVG document.
@@ -36,30 +36,30 @@ function(t){var e,n,r,i,o,s,a,c,l,h,u,f,d,p,g,m,v,b,w,y="sizzle"+1*new Date,x=t.
36
36
  *
37
37
  * Copyright (c) 2014 Gliffy Inc.
38
38
  */
39
- var Hs,Vs,Us,qs,Ws;function $s(t,e){var n,r=Object.keys(e);for(n=0;n<r.length;n++)t=t.replace(new RegExp("\\{"+r[n]+"\\}","gi"),e[r[n]]);return t}function Gs(t){var e,n,r;if(!t)throw new Error("cannot create a random attribute name for an undefined object");e="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",n="";do{for(n="",r=0;r<12;r++)n+=e[Math.floor(Math.random()*e.length)]}while(t[n]);return n}function Zs(t){var e={alphabetic:"alphabetic",hanging:"hanging",top:"text-before-edge",bottom:"text-after-edge",middle:"central"};return e[t]||e.alphabetic}Ws=function(t,e){var n,r,i,o={};for(t=t.split(","),e=e||10,n=0;n<t.length;n+=2)r="&"+t[n+1]+";",i=parseInt(t[n],e),o[r]="&#"+i+";";return o["\\xa0"]="&#160;",o}("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),Hs={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"},lineDash:{svgAttr:"stroke-dasharray",canvas:[],svg:null,apply:"stroke"}},(Us=function(t,e){this.__root=t,this.__ctx=e}).prototype.addColorStop=function(t,e){var n,r=this.__ctx.__createElement("stop");r.setAttribute("offset",t),e&&-1!==e.indexOf("rgba")?(n=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(e),r.setAttribute("stop-color",$s("rgb({r},{g},{b})",{r:n[1],g:n[2],b:n[3]})),r.setAttribute("stop-opacity",n[4])):r.setAttribute("stop-color",e),this.__root.appendChild(r)},qs=function(t,e){this.__root=t,this.__ctx=e},(Vs=function(t){if(!(this instanceof Vs))return new Vs(t);if(this.config=t,this.width=t.width,this.height=t.height,this.enableMirroring=t.enableMirroring||!1,this.canvas=this,this.__document=document,t.ctx?this.__ctx=t.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.isSVG=!0,this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__createElement("svg"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__root.setAttribute("overflow","visible"),t.viewbox){const e=t.viewbox.x+" "+t.viewbox.y+" "+t.viewbox.width+" "+t.viewbox.height;this.__root.setAttribute("viewBox",e),this.viewbox=t.viewbox}this.__ids={},this.__defs=this.__createElement("defs"),this.__root.appendChild(this.__defs),this.multiLocusGap=t.multiLocusGap;let e={id:"svg_output_backdrop",width:"100%",height:"100%",fill:t.backdropColor||"white"},n=this.__createElement("rect",e);this.__root.appendChild(n),this.__rootGroup=this.__createElement("g",{id:"root-group"}),this.__root.appendChild(this.__rootGroup),this.__currentElement=this.__rootGroup}).prototype.setWidth=function(t){this.width=t,this.__root.setAttribute("width",this.width);const e=this.config.viewbox.x+" "+this.config.viewbox.y+" "+t+" "+this.config.viewbox.height;this.__root.setAttribute("viewBox",e)},Vs.prototype.setHeight=function(t){this.height=t,this.__root.setAttribute("height",this.height);const e=this.config.viewbox.x+" "+this.config.viewbox.y+" "+this.config.viewbox.width+" "+t;this.__root.setAttribute("viewBox",e)},Vs.prototype.__createElement=function(t,e,n){void 0===e&&(e={});let r=this.__document.createElementNS("http://www.w3.org/2000/svg",t);n&&(r.setAttribute("fill","none"),r.setAttribute("stroke","none"));for(let t of Object.keys(e))r.setAttribute(t,e[t]);return r},Vs.prototype.__setDefaultStyles=function(){var t,e,n=Object.keys(Hs);for(t=0;t<n.length;t++)this[e=n[t]]=Hs[e].canvas},Vs.prototype.__applyStyleState=function(t){var e,n,r=Object.keys(t);for(e=0;e<r.length;e++)this[n=r[e]]=t[n]},Vs.prototype.__getStyleState=function(){var t,e,n={},r=Object.keys(Hs);for(t=0;t<r.length;t++)n[e=r[t]]=this[e];return n},Vs.prototype.__applyStyleToCurrentElement=function(t){var e=this.__currentElement,n=this.__currentElementsToStyle;n&&(e.setAttribute(t,""),e=n.element,n.children.forEach((function(e){e.setAttribute(t,"")})));var r,i,o,s,a,c=Object.keys(Hs);for(r=0;r<c.length;r++)if(i=Hs[c[r]],o=this[c[r]],i.apply)if(o instanceof qs){if(o.__ctx)for(;o.__ctx.__defs.childNodes.length;)s=o.__ctx.__defs.childNodes[0].getAttribute("id"),this.__ids[s]=s,this.__defs.appendChild(o.__ctx.__defs.childNodes[0]);e.setAttribute(i.apply,$s("url(#{id})",{id:o.__root.getAttribute("id")}))}else if(o instanceof Us)e.setAttribute(i.apply,$s("url(#{id})",{id:o.__root.getAttribute("id")}));else if(i&&-1!==i.apply.indexOf(t)&&i.svg!==o)if("stroke"!==i.svgAttr&&"fill"!==i.svgAttr||!o||-1===o.indexOf("rgba")){var l=i.svgAttr;if("globalAlpha"===c[r]&&(l=t+"-"+i.svgAttr,e.getAttribute(l)))continue;e.setAttribute(l,o)}else{a=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(o),e.setAttribute(i.svgAttr,$s("rgb({r},{g},{b})",{r:a[1],g:a[2],b:a[3]}));var h=a[4],u=this.globalAlpha;null!=u&&(h*=u),e.setAttribute(i.svgAttr+"-opacity",h)}},Vs.prototype.__closestGroupOrSvg=function(t){return"g"===(t=t||this.__currentElement).nodeName||"svg"===t.nodeName?t:this.__closestGroupOrSvg(t.parentNode)},Vs.prototype.getSerializedSvg=function(t){var e,n,r,i,o,s=(new XMLSerializer).serializeToString(this.__root);if(t)for(e=Object.keys(Ws),n=0;n<e.length;n++)r=e[n],i=Ws[r],(o=new RegExp(r,"gi")).test(s)&&(s=s.replace(o,i));return s},Vs.prototype.getSvg=function(){return this.__root},Vs.prototype.saveWithTranslationAndClipRect=function(t,e,n,r,i,o){const s=`${t}_clip_rect`;let a=this.__createElement("clipPath",{id:s});this.__defs.appendChild(a);const c={x:"0",y:o.toString(),width:r.toString(),height:i.toString()};a.appendChild(this.__createElement("rect",c));const l=this.__createElement("g");l.setAttribute("transform",$s("translate({x},{y})",{x:e,y:n})),l.setAttribute("clip-path",$s("url(#{id})",{id:s}));const h=this.__closestGroupOrSvg();h.appendChild(l),this.__groupStack.push(h),this.__currentElement=l,this.__stack.push(this.__getStyleState())},Vs.prototype.save=function(){var t=this.__createElement("g"),e=this.__closestGroupOrSvg();this.__groupStack.push(e),e.appendChild(t),this.__currentElement=t,this.__stack.push(this.__getStyleState())},Vs.prototype.restore=function(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=null,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);var t=this.__stack.pop();this.__applyStyleState(t)},Vs.prototype.__addTransform=function(t){var e=this.__closestGroupOrSvg();if(e.childNodes.length>0){"path"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var n=this.__createElement("g");e.appendChild(n),this.__currentElement=n}var r=this.__currentElement.getAttribute("transform");r?r+=" ":r="",r+=t,this.__currentElement.setAttribute("transform",r)},Vs.prototype.addTrackGroupWithTranslationAndClipRect=function(t,e,n,r,i,o){const s=t+"_clip_rect";let a=this.__createElement("clipPath",{id:s});this.__defs.appendChild(a),a.appendChild(this.__createElement("rect",{x:"0",y:o.toString(),width:r.toString(),height:i.toString()}));let c=this.__createElement("g");this.__rootGroup.appendChild(c),c.setAttribute("transform",$s("translate({x},{y})",{x:e,y:n})),c.setAttribute("id",t+"_group"),c.setAttribute("clip-path",$s("url(#{id})",{id:s})),this.__currentElement=c},Vs.prototype.scale=function(t,e){void 0===e&&(e=t),this.__addTransform($s("scale({x},{y})",{x:t,y:e}))},Vs.prototype.rotate=function(t){var e=180*t/Math.PI;this.__addTransform($s("rotate({angle},{cx},{cy})",{angle:e,cx:0,cy:0}))},Vs.prototype.translate=function(t,e){this.__addTransform($s("translate({x},{y})",{x:t,y:e}))},Vs.prototype.transform=function(t,e,n,r,i,o){this.__addTransform($s("matrix({a},{b},{c},{d},{e},{f})",{a:t,b:e,c:n,d:r,e:i,f:o}))},Vs.prototype.beginPath=function(){var t;this.__currentDefaultPath="",this.__currentPosition={},t=this.__createElement("path",{},!0),this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t},Vs.prototype.__applyCurrentDefaultPath=function(){var t=this.__currentElement;"path"===t.nodeName?t.setAttribute("d",this.__currentDefaultPath):console.error("Attempted to apply path command to node",t.nodeName)},Vs.prototype.__addPathCommand=function(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t},Vs.prototype.moveTo=function(t,e){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:t,y:e},this.__addPathCommand($s("M {x} {y}",{x:t,y:e}))},Vs.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand("Z")},Vs.prototype.lineTo=function(t,e){this.__currentPosition={x:t,y:e},this.__currentDefaultPath&&this.__currentDefaultPath.indexOf("M")>-1?this.__addPathCommand($s("L {x} {y}",{x:t,y:e})):this.__addPathCommand($s("M {x} {y}",{x:t,y:e}))},Vs.prototype.bezierCurveTo=function(t,e,n,r,i,o){this.__currentPosition={x:i,y:o},this.__addPathCommand($s("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:t,cp1y:e,cp2x:n,cp2y:r,x:i,y:o}))},Vs.prototype.quadraticCurveTo=function(t,e,n,r){this.__currentPosition={x:n,y:r},this.__addPathCommand($s("Q {cpx} {cpy} {x} {y}",{cpx:t,cpy:e,x:n,y:r}))};var Xs=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]};Vs.prototype.arcTo=function(t,e,n,r,i){var o=this.__currentPosition&&this.__currentPosition.x,s=this.__currentPosition&&this.__currentPosition.y;if(void 0!==o&&void 0!==s){if(i<0)throw new Error("IndexSizeError: The radius provided ("+i+") is negative.");if(o===t&&s===e||t===n&&e===r||0===i)this.lineTo(t,e);else{var a=Xs([o-t,s-e]),c=Xs([n-t,r-e]);if(a[0]*c[1]!=a[1]*c[0]){var l=a[0]*c[0]+a[1]*c[1],h=Math.acos(Math.abs(l)),u=Xs([a[0]+c[0],a[1]+c[1]]),f=i/Math.sin(h/2),d=t+f*u[0],p=e+f*u[1],g=[-a[1],a[0]],m=[c[1],-c[0]],v=function(t){var e=t[0];return t[1]>=0?Math.acos(e):-Math.acos(e)},b=v(g),w=v(m);this.lineTo(d+g[0]*i,p+g[1]*i),this.arc(d,p,i,b,w)}else this.lineTo(t,e)}}},Vs.prototype.stroke=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")},Vs.prototype.fill=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")},Vs.prototype.rect=function(t,e,n,r){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.closePath()},Vs.prototype.fillRect=function(t,e,n,r){r<0&&(e+=r,r=-r),n<0&&(t+=n,n=-n);var i,o,s,a={x:t,y:e,width:n,height:r};(!this.viewbox||(i=this.viewbox,o=a,i.x<o.x+o.width&&i.x+i.width>o.x&&i.y<o.y+o.height&&i.y+i.height>o.y))&&(s=this.__createElement("rect",a,!0),this.__closestGroupOrSvg().appendChild(s),this.__currentElement=s,this.__applyStyleToCurrentElement("fill"))},Vs.prototype.strokeRect=function(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("stroke")},Vs.prototype.__clearCanvas=function(){for(var t=this.__closestGroupOrSvg().getAttribute("transform"),e=this.__root.childNodes[1],n=e.childNodes,r=n.length-1;r>=0;r--)n[r]&&e.removeChild(n[r]);this.__currentElement=e,this.__groupStack=[],t&&this.__addTransform(t)},Vs.prototype.clearRect=function(t,e,n,r){if(0!==t||0!==e||n!==this.width||r!==this.height){var i,o=this.__closestGroupOrSvg();i=this.__createElement("rect",{x:t,y:e,width:n,height:r,fill:"#FFFFFF"},!0),o.appendChild(i)}else this.__clearCanvas()},Vs.prototype.createLinearGradient=function(t,e,n,r){var i=this.__createElement("linearGradient",{id:Gs(this.__ids),x1:t+"px",x2:n+"px",y1:e+"px",y2:r+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(i),new Us(i,this)},Vs.prototype.createRadialGradient=function(t,e,n,r,i,o){var s=this.__createElement("radialGradient",{id:Gs(this.__ids),cx:r+"px",cy:i+"px",r:o+"px",fx:t+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(s),new Us(s,this)},Vs.prototype.__parseFont=function(){var t=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i.exec(this.font),e={style:t[1]||"normal",size:t[4]||"10px",family:t[6]||"sans-serif",weight:t[3]||"normal",decoration:t[2]||"normal",href:null};return"underline"===this.__fontUnderline&&(e.decoration="underline"),this.__fontHref&&(e.href=this.__fontHref),e},Vs.prototype.__wrapTextLink=function(t,e){if(t.href){var n=this.__createElement("a");return n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.href),n.appendChild(e),n}return e},Vs.prototype.__applyText=function(t,e,n,r){var i,o,s=this.__parseFont(),a=this.__closestGroupOrSvg(),c=this.__createElement("text",{"font-family":s.family,"font-size":s.size,"font-style":s.style,"font-weight":s.weight,"text-decoration":s.decoration,x:e,y:n,"text-anchor":(i=this.textAlign,o={left:"start",right:"end",center:"middle",start:"start",end:"end"},o[i]||o.start),"dominant-baseline":Zs(this.textBaseline)},!0);c.appendChild(this.__document.createTextNode(t)),this.__currentElement=c,this.__applyStyleToCurrentElement(r),a.appendChild(this.__wrapTextLink(s,c))},Vs.prototype.fillText=function(t,e,n){this.__applyText(t,e,n,"fill")},Vs.prototype.strokeText=function(t,e,n){this.__applyText(t,e,n,"stroke")},Vs.prototype.measureText=function(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)},Vs.prototype.arc=function(t,e,n,r,i,o){if(r!==i){(r%=2*Math.PI)===(i%=2*Math.PI)&&(i=(i+2*Math.PI-.001*(o?-1:1))%(2*Math.PI));var s=t+n*Math.cos(i),a=e+n*Math.sin(i),c=t+n*Math.cos(r),l=e+n*Math.sin(r),h=o?0:1,u=0,f=i-r;f<0&&(f+=2*Math.PI),u=o?f>Math.PI?0:1:f>Math.PI?1:0,this.lineTo(c,l),this.__addPathCommand($s("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n,ry:n,xAxisRotation:0,largeArcFlag:u,sweepFlag:h,endX:s,endY:a})),this.__currentPosition={x:s,y:a}}},Vs.prototype.clip=function(){var t=this.__closestGroupOrSvg(),e=this.__createElement("clipPath"),n=Gs(this.__ids),r=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),e.setAttribute("id",n),e.appendChild(this.__currentElement),this.__defs.appendChild(e),t.setAttribute("clip-path",$s("url(#{id})",{id:n})),t.appendChild(r),this.__currentElement=r},Vs.prototype.drawImage=function(){var t,e,n,r,i,o,s,a,c,l,h,u,f,d=Array.prototype.slice.call(arguments),p=d[0],g=0,m=0;if(3===d.length)t=d[1],e=d[2],n=i=p.width,r=o=p.height;else if(5===d.length)t=d[1],e=d[2],n=d[3],r=d[4],i=p.width,o=p.height;else{if(9!==d.length)throw new Error("Invalid number of arguments passed to drawImage: "+arguments.length);g=d[1],m=d[2],i=d[3],o=d[4],t=d[5],e=d[6],n=d[7],r=d[8]}s=this.__closestGroupOrSvg();var v="translate("+t+", "+e+")";if(p instanceof Vs){if((a=p.getSvg().cloneNode(!0)).childNodes&&a.childNodes.length>1){for(c=a.childNodes[0];c.childNodes.length;)f=c.childNodes[0].getAttribute("id"),this.__ids[f]=f,this.__defs.appendChild(c.childNodes[0]);if(l=a.childNodes[1]){var b,w=l.getAttribute("transform");b=w?w+" "+v:v,l.setAttribute("transform",b),s.appendChild(l)}}}else"CANVAS"!==p.nodeName&&"IMG"!==p.nodeName||((h=this.__createElement("image")).setAttribute("width",n),h.setAttribute("height",r),h.setAttribute("preserveAspectRatio","none"),(g||m||i!==p.width||o!==p.height)&&((u=this.__document.createElement("canvas")).width=n,u.height=r,u.getContext("2d").drawImage(p,g,m,i,o,0,0,n,r),p=u),h.setAttribute("transform",v),h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===p.nodeName?p.toDataURL():p.getAttribute("src")),s.appendChild(h))},Vs.prototype.createPattern=function(t,e){let n,r=this.__document.__createElement("pattern"),i=Gs(this.__ids);return r.setAttribute("id",i),r.setAttribute("width",t.width),r.setAttribute("height",t.height),"CANVAS"===t.nodeName||"IMG"===t.nodeName?(n=this.__createElement("image"),n.setAttribute("width",t.width),n.setAttribute("height",t.height),n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===t.nodeName?t.toDataURL():t.getAttribute("src")),r.appendChild(n),this.__defs.appendChild(r)):t instanceof Vs&&(r.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(r)),new qs(r,this)},Vs.prototype.setLineDash=function(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null},Vs.prototype.drawFocusRing=function(){},Vs.prototype.createImageData=function(){},Vs.prototype.getImageData=function(){},Vs.prototype.putImageData=function(){},Vs.prototype.globalCompositeOperation=function(){},Vs.prototype.setTransform=function(){};var Ys=Vs;class Ks extends class{constructor(t,e,n,r){this.guid=ve(),this.trackView=t,this.referenceFrame=n,this.browser=t.browser,this.$viewport=de('<div class="igv-viewport">'),e.append(this.$viewport),t.track.height&&(this.$viewport.get(0).style.height=`${t.track.height}px`),t.track instanceof Ns&&(this.$viewport.get(0).dataset.rulerTrack="rulerTrack"),t.track instanceof js&&(this.alert=new Vo(this.$viewport.get(0))),this.$content=de("<div>",{class:"igv-viewport-content"}),this.$viewport.append(this.$content),this.$content.height(this.$viewport.height()),this.contentDiv=this.$content.get(0),this.$canvas=de("<canvas>"),this.$content.append(this.$canvas),this.canvas=this.$canvas.get(0),this.ctx=this.canvas.getContext("2d"),this.setWidth(r),this.initializationHelper()}initializationHelper(){}showMessage(t){this.messageDiv||(this.messageDiv=document.createElement("div"),this.messageDiv.className="igv-viewport-message",this.contentDiv.append(this.messageDiv)),this.messageDiv.textContent=t,this.messageDiv.style.display="inline-block"}hideMessage(t){this.messageDiv&&(this.messageDiv.style.display="none")}setTrackLabel(t){}startSpinner(){}stopSpinner(){}checkZoomIn(){return!0}shift(){}setTop(t){const e=-t,n=e+this.$viewport.height();this.$content.css("top",`${t}px`),(void 0===this.canvasVerticalRange||this.canvasVerticalRange.bottom<n||this.canvasVerticalRange.top>e)&&this.repaint()}async loadFeatures(){}async repaint(){console.log("ViewportBase - repaint()")}draw(t,e,n){console.log("ViewportBase - draw(drawConfiguration, features, roiFeatures)")}checkContentHeight(){let t=this.trackView.track;if("FILL"===t.displayMode)this.setContentHeight(this.$viewport.height());else if("function"==typeof t.computePixelHeight){let e=this.cachedFeatures;if(e&&e.length>0){let n=t.computePixelHeight(e);n!==this.$content.height()&&this.setContentHeight(n)}}}getContentHeight(){return this.$content.height()}setContentHeight(t){t=Math.min(t,32e3),this.$content.height(t),this.tile&&(this.tile.invalidate=!0)}isLoading(){return!1}saveSVG(){}isVisible(){return this.$viewport.width()}setWidth(t){this.$viewport.width(t),this.canvas.style.width=`${t}px`,this.canvas.setAttribute("width",t)}getWidth(){return this.$viewport.width()}getContentTop(){return this.contentDiv.offsetTop}containsPosition(t,e){console.log("ViewportBase - containsPosition(chr, position)")}dispose(){this.popover&&this.popover.dispose(),this.$canvas.off(),this.$canvas.remove(),this.$content.off(),this.$content.remove(),this.$viewport.off(),this.$viewport.remove();for(let t of Object.keys(this))this[t]=void 0}}{constructor(t,e,n,r){super(t,e,n,r)}initializationHelper(){this.addMouseHandlers(),this.$spinner=de("<div>",{class:"igv-loading-spinner-container"}),this.$viewport.append(this.$spinner),this.$spinner.append(de("<div>")),this.stopSpinner();const{track:t}=this.trackView;"sequence"!==t.type&&(this.$zoomInNotice=this.createZoomInNotice(this.$content)),t.name&&"sequence"!==t.config.type&&(this.$trackLabel=de('<div class="igv-track-label">'),this.$viewport.append(this.$trackLabel),this.setTrackLabel(t.name),!1===this.browser.trackLabelsVisible&&this.$trackLabel.hide(),this.$trackLabel.click((e=>{let n;e.stopPropagation(),n="function"==typeof t.description?t.description():t.description?`<div>${t.description}</div>`:t.url?t.url instanceof File?`<div><b>Filename: </b>${t.url.name}`:`<div><b>URL: </b>${t.url}`:t.name,this.popover&&this.popover.dispose(),this.popover=new Ko(this.browser.columnContainer,t.name||"unnamed"),this.popover.presentContentWithEvent(e,n)})),this.$trackLabel.mousedown((function(t){t.stopPropagation()})),this.$trackLabel.mouseup((function(t){t.stopPropagation()})),this.$trackLabel.mousemove((function(t){t.stopPropagation()})))}setTrackLabel(t){this.$trackLabel.empty(),this.$trackLabel.html(t);const e=this.$trackLabel.text();this.$trackLabel.attr("title",e)}startSpinner(){this.$spinner.show()}stopSpinner(){this.$spinner.hide()}checkZoomIn(){const t=()=>{const t=this.referenceFrame;if("all"!==this.referenceFrame.chr.toLowerCase()||this.trackView.track.supportsWholeGenome()){const e="function"==typeof this.trackView.track.getVisibilityWindow?this.trackView.track.getVisibilityWindow():this.trackView.track.visibilityWindow;return void 0!==e&&e>0&&t.bpPerPixel*this.$viewport.width()>e}return!0};if(!this.viewIsReady())return!1;if(this.$zoomInNotice){if(t()){if(this.canvas&&(this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.tile=void 0),this.$zoomInNotice.show(),this.trackView.track.autoHeight){const t=this.trackView.minHeight||0;this.setContentHeight(t)}return!1}return this.$zoomInNotice.hide(),!0}return!0}shift(){const t=this,e=t.referenceFrame;if(t.canvas&&t.tile&&t.tile.chr===t.referenceFrame.chr&&t.tile.bpPerPixel===e.bpPerPixel){const n=Math.round((t.tile.startBP-e.start)/e.bpPerPixel);t.canvas.style.left=n+"px"}}async loadFeatures(){const t=this.referenceFrame,e=t.chr,n=this.browser.genome.getChromosome(e).bpLength,r=3*this.$content.width()*t.bpPerPixel,i=Math.floor(Math.max(0,t.start-r/3)),o=Math.ceil(Math.min(n,i+r));if(!this.loading||this.loading.start!==i||this.loading.end!==o){this.loading={start:i,end:o},this.startSpinner();try{const n=await this.getFeatures(this.trackView.track,e,i,o,t.bpPerPixel);let r=[];const c=(s=this.browser.roi,a=this.trackView.track.roi,s&&a?s.concat(a):s||a);if(c)for(let n of c){const s=await n.getFeatures(e,i,o,t.bpPerPixel);r.push({track:n,features:s})}return this.tile=new Qs(e,i,o,t.bpPerPixel,n,r),this.loading=!1,this.hideMessage(),this.stopSpinner(),this.tile}catch(t){this.trackView&&!0!==this.trackView.disposed&&(this.showMessage("Error loading track data"),qo.presentAlert(t),console.error(t))}finally{this.loading=!1,this.stopSpinner()}var s,a}}async repaint(){if(void 0===this.tile)return;let{features:t,roiFeatures:e,bpPerPixel:n,startBP:r,endBP:i}=this.tile;let o;Ss.isWholeGenomeView(this.referenceFrame.chr)?(n=this.referenceFrame.end/this.$viewport.width(),r=0,i=this.referenceFrame.end,o=this.$viewport.width()):o=Math.ceil((i-r)/n);const s=this.$viewport.height(),a=this.getContentHeight(),c=e?Math.max(a,s):a;let l=Math.min(c,3*s);if(0===o||0===l)return void(this.canvas&&de(this.canvas).remove());const h=Math.max(0,-this.$content.position().top-s);let u;u="FILL"===this.trackView.track.displayMode?window.devicePixelRatio:!1===this.trackView.track.supportHiDPI?1:window.devicePixelRatio;const f=Math.round((r-this.referenceFrame.start)/this.referenceFrame.bpPerPixel),d=de('<canvas class="igv-canvas">').get(0),p=d.getContext("2d");d.style.width=o+"px",d.style.height=l+"px",d.width=u*o,d.height=u*l,p.scale(u,u),d.style.left=f+"px",d.style.top=h+"px",p.translate(0,-h);const g={context:p,pixelXOffset:f,pixelWidth:o,pixelHeight:l,pixelTop:h,bpStart:r,bpEnd:i,bpPerPixel:n,referenceFrame:this.referenceFrame,selection:this.selection,viewport:this,viewportWidth:this.$viewport.width()};this.draw(g,t,e),this.canvasVerticalRange={top:h,bottom:h+l},this.$canvas&&this.$canvas.remove(),this.$canvas=de(d),this.$content.append(this.$canvas),this.canvas=d,this.ctx=p}draw(t,e,n){if(e&&(t.features=e,this.trackView.track.draw(t)),n)for(let e of n)t.features=e.features,e.track.draw(t)}async toSVG(t){if(this.$zoomInNotice&&this.$zoomInNotice.is(":visible"))return;const e=this.referenceFrame,n=t.bpPerPixel,r=t.features,i=t.roiFeatures,o=this.$viewport.width(),s=this.$viewport.height(),a=e.start,c=e.start+o*e.bpPerPixel,l=new Ys({width:o,height:s,viewbox:{x:0,y:-this.$content.position().top,width:o,height:s}}),h={viewport:this,context:l,top:-this.$content.position().top,pixelTop:0,pixelWidth:o,pixelHeight:s,bpStart:a,bpEnd:c,bpPerPixel:n,referenceFrame:this.referenceFrame,selection:this.selection,viewportWidth:o,viewportContainerX:0,viewportContainerWidth:this.browser.getViewportContainerWidth()};return this.draw(h,r,i),l.getSerializedSvg(!0)}containsPosition(t,e){return this.referenceFrame.chr===t&&e>=this.referenceFrame.start&&e<=this.referenceFrame.calculateEnd(this.getWidth())}isLoading(){return this.loading}saveImage(){if(!this.ctx)return;const t=this.canvasVerticalRange?this.canvasVerticalRange.top:0,e=window.devicePixelRatio,n=this.$viewport.width()*e,r=this.$viewport.height()*e,i=-de(this.canvas).position().left*e,o=(-this.$content.position().top-t)*e,s=this.ctx.getImageData(i,o,n,r),a=document.createElement("canvas"),c=a.getContext("2d");a.width=s.width,a.height=s.height,c.putImageData(s,0,0);Ue((this.$trackLabel.text()?this.$trackLabel.text():"image")+".png",a.toDataURL("image/png"))}saveSVG(){const{width:t,height:e}=this.$viewport.get(0).getBoundingClientRect(),n={width:t,height:e,viewbox:{x:0,y:-this.$content.position().top,width:t,height:e}},r=new Ys(n),i=`${(this.trackView.track.name||this.trackView.track.id).replace(/\W/g,"")}_referenceFrame_${this.browser.referenceFrameList.indexOf(this.referenceFrame)}_guid_${ve()}`;this.drawSVGWithContext(r,t,e,i,0,0,0);const o=r.getSerializedSvg(!0);Ue(`${i}.svg`,URL.createObjectURL(new Blob([o],{type:"application/octet-stream"})))}renderSVGContext(t,{deltaX:e,deltaY:n}){if(this.$zoomInNotice&&this.$zoomInNotice.is(":visible"))return;const r=`${(this.trackView.track.name||this.trackView.track.id).replace(/\W/g,"")}_referenceFrame_${this.browser.referenceFrameList.indexOf(this.referenceFrame)}_guid_${ve()}`,{top:i}=this.$content.position(),{width:o,height:s}=this.$viewport.get(0).getBoundingClientRect();if(this.drawSVGWithContext(t,o,s,r,e,n+i,-i),this.$trackLabel&&!0===this.browser.trackLabelsVisible){const{x:r,y:i,width:o,height:s}=((t,e)=>{const{x:n,y:r,width:i,height:o}=t.getBoundingClientRect(),{x:s,y:a,width:c,height:l}=e.getBoundingClientRect();return{x:s-n,y:a-r,width:c,height:l}})(this.$viewport.get(0),this.$trackLabel.get(0));this.renderTrackLabelSVG(t,e+r,n+i,o,s)}}renderTrackLabelSVG(t,e,n,r,i){const o=`${(this.trackView.track.name||this.trackView.track.id).replace(/\W/g,"")}_track_label_guid_${ve()}`;t.saveWithTranslationAndClipRect(o,e,n,r,i,0),t.fillStyle="white",t.fillRect(0,0,r,i),t.font="12px Arial",t.fillStyle="rgb(68, 68, 68)";const{width:s}=t.measureText(this.$trackLabel.text()),a=.25*(r-s),c=.7*(i-12);t.fillText(this.$trackLabel.text(),a,i-c),t.strokeStyle="rgb(68, 68, 68)",t.strokeRect(0,0,r,i),t.restore()}drawSVGWithContext(t,e,n,r,i,o,s){t.saveWithTranslationAndClipRect(r,i,o,e,n,s);let{start:a,bpPerPixel:c}=this.referenceFrame;const l={context:t,viewport:this,referenceFrame:this.referenceFrame,top:s,pixelTop:s,pixelWidth:e,pixelHeight:n,bpStart:a,bpEnd:a+e*c,bpPerPixel:c,viewportWidth:e,selection:this.selection},h=this.tile?this.tile.features:[],u=this.tile?this.tile.roiFeatures:void 0;this.draw(l,h,u),t.restore()}getCachedFeatures(){return this.tile?this.tile.features:[]}async getFeatures(t,e,n,r,i){if(this.tile&&this.tile.containsRange(e,n,r,i))return this.tile.features;if("function"==typeof t.getFeatures){const o=await t.getFeatures(e,n,r,i,this);return this.cachedFeatures=o,this.checkContentHeight(),o}}createZoomInNotice(t){const e=de("<div>",{class:"igv-zoom-in-notice-container"});t.append(e);const n=de("<div>");return e.append(n),n.text("Zoom in to see features"),e.hide(),e}viewIsReady(){return this.browser&&this.browser.referenceFrameList&&this.referenceFrame}addMouseHandlers(){const t=this,e=this.browser;let n,r=0;function i(e){if(t.browser.dragObject||t.browser.isScrolling)return t.browser.cancelTrackPan(),e.preventDefault(),e.stopPropagation(),void(t.enableClick=!1);t.browser.cancelTrackPan(),t.browser.endTrackDrag()}function o(t,e){const n=e.referenceFrame,r=be(t,e.contentDiv),i=be(t,e.canvas),o=n.start+n.toBP(r.x);if(void 0!==o&&null!==e.tile)return{event:t,viewport:e,referenceFrame:n,genomicLocation:o,x:r.x,y:r.y,canvasX:i.x,canvasY:i.y}}this.$viewport.on("contextmenu",(function(n){if(t.browser.dragObject)return!1;const r=o(n,t);if(void 0===r)return!1;n.preventDefault();let i=[];if("function"==typeof t.trackView.track.contextMenuItemList){const e=t.trackView.track.contextMenuItemList(r);e&&(i=e)}i.length>0&&i.push({label:de("<HR>")}),i.push({label:"Save Image (PNG)",click:()=>t.saveImage()}),i.push({label:"Save Image (SVG)",click:()=>t.saveSVG()}),e.menuPopup.presentTrackContextMenu(n,i)})),this.$viewport.on("mousedown",(function(n){t.enableClick=!0,e.mouseDownOnViewport(n,t),me(n)})),this.$viewport.on("touchstart",(function(n){t.enableClick=!0,e.mouseDownOnViewport(n,t),me(n)})),this.$viewport.on("mouseup",i),this.$viewport.on("touchend",i),this.$viewport.on("click",(function(i){t.enableClick&&function(i){if(3===i.which||i.ctrlKey)return;if(de(".igv-popover").hide(),e.dragObject||e.isScrolling)return;i.preventDefault(),i.stopPropagation();const s=be(i,t.$viewport.get(0)).x,a=be(i,t.canvas).x,c=t.referenceFrame,l=Math.floor(c.start+c.toBP(a)),h=Date.now();if(h-r<e.constants.doubleClickDelay){n&&(window.clearTimeout(n),n=void 0);const r=Math.round(c.start+c.toBP(s));let i;if("all"===t.referenceFrame.chr.toLowerCase()){const n=e.genome.getChromosomeCoordinate(r).chr;if(1===e.referenceFrameList.length)i=n;else{const r=e.referenceFrameList.map((({locusSearchString:t})=>t));r[e.referenceFrameList.indexOf(t.referenceFrame)]=n,i=r.join(" ")}e.search(i)}else e.zoomWithScaleFactor(.5,r,t.referenceFrame)}else i.shiftKey&&"function"==typeof t.trackView.track.shiftClick?t.trackView.track.shiftClick(l,i):"function"==typeof t.trackView.track.popupData&&(n=setTimeout((function(){const r=function(t,n){const r=o(t,n);if(void 0===r)return;let i=n.trackView.track;const s=i.popupData(r),a=e.fireEvent("trackclick",[i,s]);let c;void 0===a||!0===a?s&&s.length>0&&(c=s.map((t=>{if(t.name){const e=`<span>${t.name}</span>&nbsp&nbsp&nbsp${t.value}`;return`<div title="${_e(t.value)&&t.value.startsWith("<")?"":t.value}">${e}</div>`}return t.html?t.html:t})).join("")):"string"==typeof a&&(c=a);return c}(i,t);r&&(t.popover&&t.popover.dispose(),t.popover=new Ko(t.browser.columnContainer),t.popover.presentContentWithEvent(i,r)),clearTimeout(n),n=void 0}),e.constants.doubleClickDelay));r=h}(i)}))}}var Qs=function(t,e,n,r,i,o){this.chr=t,this.startBP=e,this.endBP=n,this.bpPerPixel=r,this.features=i,this.roiFeatures=o};Qs.prototype.containsRange=function(t,e,n,r){return this.bpPerPixel===r&&e>=this.startBP&&n<=this.endBP&&t===this.chr},Qs.prototype.overlapsRange=function(t,e,n){return this.chr===t&&n>=this.startBP&&e<=this.endBP};class Js extends Ks{constructor(t,e,n,r){super(t,e,n,r)}initializationHelper(){this.$ideogramCanvas=de("<canvas>",{class:"igv-ideogram-canvas"}),this.$ideogramCanvas.insertBefore(this.$canvas);const t=this.$ideogramCanvas.get(0);this.ideogram_ctx=t.getContext("2d"),this.$canvas.remove(),this.canvas=void 0,this.ctx=void 0,this.$viewport.on("click.ideogram",(e=>{!function(t,e,n,r){const{xNormalized:i,width:o}=be(t,e),{bpLength:s}=n.genome.getChromosome(r.chr),a=r.bpPerPixel*o/s;let c=i;c-a/2<0&&(c=a/2);c+a/2>1&&(c=1-a/2);const l=Math.round((c-a/2)*s),h=Math.round((c+a/2)*s);r.start=l,r.end=h,r.bpPerPixel=(h-l)/o,n.updateViews(r,n.trackViews,!0)}(e,t,this.browser,this.referenceFrame)}))}setWidth(t){this.$viewport.width(t)}drawSVGWithContext(t,e,n,r,i,o,s){t.saveWithTranslationAndClipRect(r,i,o,e,n,s),this.trackView.track.draw({context:t,referenceFrame:this.referenceFrame,pixelWidth:e,pixelHeight:n}),t.restore()}async repaint(){this.draw({referenceFrame:this.referenceFrame})}draw({referenceFrame:t}){this.$canvas.hide(),es.configureHighDPICanvas(this.ideogram_ctx,this.$viewport.width(),this.$viewport.height()),this.trackView.track.draw({context:this.ideogram_ctx,referenceFrame:t,pixelWidth:this.$viewport.width(),pixelHeight:this.$viewport.height()})}startSpinner(){}stopSpinner(){}}class ta{constructor(t){this.viewport=t,this.rulerSweeper=pe({class:"igv-ruler-sweeper"}),t.contentDiv.appendChild(this.rulerSweeper),this.isMouseHandlers=void 0}disableMouseHandlers(){this.viewport.$content.off(),de(document).off(`mousemove.${this.viewport.trackView.namespace}`),de(document).off(`mouseup.${this.viewport.trackView.namespace}`),this.isMouseHandlers=!1}addMouseHandlers(){if(!0===this.isMouseHandlers)return;let t,e,n,r,i,o;this.viewport.$content.on("mousedown",(o=>{t=!0,e=!0;const{x:s}=be(o,this.viewport.contentDiv);r=n=s,i=1,this.rulerSweeper.style.display="block",this.rulerSweeper.style.left=`${r}px`,this.rulerSweeper.style.width=`${i}px`})),de(document).on(`mousemove.${this.viewport.trackView.namespace}`,(s=>{let a;if(t&&e){const{x:t}=be(s,this.viewport.contentDiv);a=Math.max(Math.min(t,this.viewport.contentDiv.clientWidth),0),o=a-n,i=Math.abs(o),this.rulerSweeper.style.width=`${i}px`,o<0&&(r=n+o,this.rulerSweeper.style.left=`${r}px`)}})),de(document).on(`mouseup.${this.viewport.trackView.namespace}`,(n=>{let o;!0===t&&!0===e&&(t=e=void 0,this.rulerSweeper.style.display="none",i>1&&(o={start:this.bp(r),end:this.bp(r+i)},hs(this.viewport.browser.genome.getChromosome(this.viewport.referenceFrame.chr).bpLength,o,this.viewport.browser.minimumBases()),this.viewport.referenceFrame.bpPerPixel=(Math.round(o.end)-Math.round(o.start))/this.viewport.contentDiv.clientWidth,this.viewport.referenceFrame.start=Math.round(o.start),this.viewport.referenceFrame.end=Math.round(o.end),this.viewport.browser.updateViews(this.viewport.referenceFrame)))})),this.isMouseHandlers=!0}bp(t){return this.viewport.referenceFrame.start+t*this.viewport.referenceFrame.bpPerPixel}}let ea,na;class ra extends Ks{constructor(t,e,n,r){super(t,e,n,r)}initializationHelper(){this.rulerSweeper=new ta(this),this.$multiLocusCloseButton=de("<div>",{class:"igv-multi-locus-close-button"}),this.$viewport.append(this.$multiLocusCloseButton),this.$multiLocusCloseButton.get(0).appendChild(we("times-circle")),this.$multiLocusCloseButton.click((()=>{this.browser.removeMultiLocusPanel(this.referenceFrame)})),this.$rulerLabel=de("<div>",{class:"igv-multi-locus-ruler-label"}),this.$viewport.append(this.$rulerLabel),this.$rulerLabel.click((async()=>{const t=this.browser.referenceFrameList.filter((t=>this.referenceFrame!==t));for(let e of t)await this.browser.removeMultiLocusPanel(e)})),this.$tooltip=de("<div>",{class:"igv-ruler-tooltip"}),this.$tooltip.height(this.$viewport.height()),this.$viewport.append(this.$tooltip),this.$tooltipContent=de("<div>"),this.$tooltip.append(this.$tooltipContent),this.attachMouseHandlers(Ss.isWholeGenomeView(this.referenceFrame.chr)),this.$tooltip.hide(),this.dismissLocusLabel()}presentLocusLabel(t){this.$rulerLabel.html(this.referenceFrame.getMultiLocusLabel(t)),this.$rulerLabel.show(),this.$multiLocusCloseButton.show()}dismissLocusLabel(){this.$rulerLabel.hide(),this.$multiLocusCloseButton.hide()}attachMouseHandlers(t){if(this.namespace=`.ruler_track_viewport_${this.browser.referenceFrameList.indexOf(this.referenceFrame)}`,this.$viewport.off(this.namespace),!0===t){const t=this.browser.referenceFrameList.indexOf(this.referenceFrame),e=`click${this.namespace}`;this.$viewport.on(e,(e=>{const{x:n}=be(e,this.$viewport.get(0)),r=Math.round(this.referenceFrame.start+this.referenceFrame.toBP(n));let i;const{chr:o}=this.browser.genome.getChromosomeCoordinate(r);if(1===this.browser.referenceFrameList.length)i=o;else{let e=this.browser.referenceFrameList.map((({locusSearchString:t})=>t));e[t]=o,i=e.join(" ")}this.browser.search(i)})),this.$viewport.get(0).style.cursor="pointer"}else this.$viewport.get(0).style.cursor="default"}mouseMove(t){if(!0===this.browser.cursorGuideVisible){void 0===na?(na=this,this.$tooltip.show()):na.guid!==this.guid?(na.$tooltip.hide(),this.$tooltip.show(),na=this):this.$tooltip.show();if(this.browser.isMultiLocusWholeGenomeView()||Ss.isWholeGenomeView(this.referenceFrame.chr))return void this.$tooltip.hide();const{x:e}=be(t,this.$viewport.get(0)),{start:n,bpPerPixel:r}=this.referenceFrame,i=Math.round(.5+n+Math.max(0,e)*r);this.$tooltipContent.text(ke(i));const{width:o}=this.$tooltipContent.get(0).getBoundingClientRect(),{width:s}=this.$viewport.get(0).getBoundingClientRect();this.$tooltip.css({left:`${Wi(e,0,s-o)}px`}),clearTimeout(ea),ea=setTimeout((()=>this.$tooltip.hide()),1e4)}}startSpinner(){}stopSpinner(){}}const ia=(t,e,n,r)=>"ruler"===t.track.type?new ra(t,de(e),n,r):"ideogram"===t.track.type?new Js(t,de(e),n,r):new Ks(t,de(e),n,r),oa={textAlign:"start",textBaseline:"bottom",strokeStyle:"black",fillStyle:"black"};class sa{constructor(t,e,n,r){this.guid=ve(),this.trackView=t,this.browser=t.browser,this.$viewport=de('<div class="igv-viewport">'),e.append(this.$viewport),t.track.height&&(this.$viewport.get(0).style.height=`${t.track.height}px`),this.$canvas=de("<canvas>"),this.$viewport.append(this.$canvas),this.canvas=this.$canvas.get(0),this.ctx=this.canvas.getContext("2d"),this.trackScrollDelta=0,this.contentTop=0,this.setWidth(r),!1===this.browser.showSampleNames&&this.hide(),this.$viewport.get(0).addEventListener("contextmenu",(t=>{t.preventDefault(),t.stopPropagation();const e={label:"Name Panel Width",value:this.browser.sampleNameViewportWidth,callback:t=>{this.browser.sampleNameViewportWidth=parseInt(t);for(let{sampleNameViewport:t}of this.browser.trackViews)t.setWidth(this.browser.sampleNameViewportWidth);this.browser.resize()}};this.browser.inputDialog.present(e,t)}))}checkCanvas(){const t=window.devicePixelRatio,e=this.$viewport.height(),n=this.browser.sampleNameViewportWidth;if(this.canvas.width!==n*t||this.canvas.height!==e*t){const r=this.canvas;r.width=n*t,r.height=e*t,r.style.width=`${n}px`,r.style.height=`${e}px`,this.ctx=this.canvas.getContext("2d"),this.ctx.scale(t,t)}}setTop(t){if("function"==typeof this.trackView.track.getSamples){this.contentTop=t;const e=this.trackView.track.getSamples();this.repaint(e)}}setWidth(t){this.$viewport.width(t),this.checkCanvas()}show(){this.$viewport.show()}hide(){this.$viewport.hide()}async repaint(t){this.checkCanvas(),this.draw({context:this.ctx,samples:t})}draw({context:t,samples:e}){if(!e||0===e.names.length)return;!function(t,{textAlign:e,textBaseline:n,strokeStyle:r,fillStyle:i},o){const s=Math.min(o,10);t.font=`${s}px sans-serif`,t.textAlign=e,t.textBaseline=n,t.fillStyle=i}(t,oa,e.height);t.clearRect(0,0,t.canvas.width,t.canvas.height),t.fillStyle=function(t){const{r:e,g:n,b:r}=Es[t];return`rgb(${e},${n},${r})`}("lead");const n=this.$viewport.get(0).getBoundingClientRect().height;let r=(e.yOffset||0)+this.contentTop;for(let i of e.names){if(r>n)break;if(r+e.height>0){const n=i,o=aa(t,n,r,e.height);t.fillText(n,4,o)}r+=e.height}}renderSVGContext(t,{deltaX:e,deltaY:n}){if("function"==typeof this.trackView.track.getSamples){const r=this.trackView.track.getSamples(),i=0,{width:o,height:s}=this.$viewport.get(0).getBoundingClientRect(),a=`${(this.trackView.track.name||this.trackView.track.id).replace(/\W/g,"")}_sample_names_guid_${ve()}`;t.saveWithTranslationAndClipRect(a,e,n+i,o,s,-i),this.draw({context:t,samples:r}),t.restore()}}addMouseHandler(t,e,n){}}function aa(t,e,n,r){return n+r-function(t,e,n){const{actualBoundingBoxAscent:r,actualBoundingBoxDescent:i}=t.measureText(e);return(n-(r+i))/2}(t,e,r)}const ca=new Set(["ruler","sequence","ideogram"]),la=new Set(["ruler","sequence","ideogram"]);class ha{constructor(t,e,n){this.namespace=`trackview-${ve()}`,this.browser=t,this.track=n,n.trackView=this,this.addDOMToColumnContainer(t,e,t.referenceFrameList)}startSpinner(){this.viewports&&this.viewports.length>0&&this.viewports[0].startSpinner()}stopSpinner(){this.viewports&&this.viewports.length>0&&this.viewports[0].stopSpinner()}addDOMToColumnContainer(t,e,n){this.createAxis(t,t.axisColumn),this.viewports=[];const r=t.calculateViewportWidth(n.length),i=e.querySelectorAll(".igv-column");for(let t=0;t<i.length;t++){const e=ia(this,i[t],n[t],r);this.viewports.push(e)}this.sampleNameViewport=new sa(this,de(t.sampleNameColumn),void 0,t.sampleNameViewportWidth),this.attachScrollbar(t),this.attachDragHandle(t),this.createTrackGearPopup(t)}createAxis(t,e){if(this.axis=pe(),e.appendChild(this.axis),this.axis.style.height=`${this.track.height}px`,"function"==typeof this.track.paintAxis){this.track.dataRange&&this.axis.addEventListener("click",(()=>{t.dataRangeDialog.configure(this),t.dataRangeDialog.present(de(t.columnContainer))}));const{width:e,height:n}=this.axis.getBoundingClientRect();this.axisCanvas=document.createElement("canvas"),this.axisCanvas.style.width=`${e}px`,this.axisCanvas.style.height=`${n}px`,this.axis.appendChild(this.axisCanvas)}}resizeAxisCanvas(t,e){this.axis.style.width=`${t}px`,this.axis.style.height=`${e}px`,this.axisCanvas.style.width=`${t}px`,this.axisCanvas.style.height=`${e}px`}removeDOMFromColumnContainer(){this.axis.remove();for(let{$viewport:t}of this.viewports)t.remove();this.sampleNameViewport.$viewport.remove()}renderSVGContext(t,{deltaX:e,deltaY:n}){!function(t,e,n,r,i){if("function"==typeof e.paintAxis){const{y:o,width:s,height:a}=n.getBoundingClientRect(),c=`${(e.name||e.id).replace(/\W/g,"")}_axis_guid_${ve()}`;t.saveWithTranslationAndClipRect(c,r,o+i,s,a,0),e.paintAxis(t,s,a),t.restore()}}(t,this.track,this.axisCanvas,e,n);const{width:r}=this.axis.getBoundingClientRect(),{y:i}=this.viewports[0].$viewport.get(0).getBoundingClientRect();let o={deltaX:r+e,deltaY:i+n};for(let e of this.viewports){e.renderSVGContext(t,o);const{width:n}=e.$viewport.get(0).getBoundingClientRect();o.deltaX+=n}!0===this.browser.showSampleNames&&this.sampleNameViewport.renderSVGContext(t,o)}attachScrollbar(t){!1===ca.has(this.track.type)?t.trackScrollbarControl.addScrollbar(this,t.columnContainer):t.trackScrollbarControl.addScrollbarShim(this)}dataRange(){return this.track.dataRange?this.track.dataRange:void 0}setDataRange(t,e){void 0!==t&&(this.track.dataRange.min=t),void 0!==e&&(this.track.dataRange.max=e),this.track.autoscale=!1,this.repaintViews()}presentColorPicker(t){if(!1===la.has(this.track.type)){const e=[],n=this.track.color||this.track.defaultColor;_e(n)&&e.push(n),this.track.altColor&&_e(this.track.altColor)&&e.push(this.track.altColor);const r=e.map((t=>t.startsWith("#")?t:t.startsWith("rgb(")?Xi.rgbToHex(t):Xi.colorNameToHex(t))),i={color:t=>{this.track.color=t,this.repaintViews()},altColor:t=>{this.track.altColor=t,this.repaintViews()}};this.browser.genericColorPicker.configure(r,i),this.browser.genericColorPicker.setActiveColorHandler(t),this.browser.genericColorPicker.show()}}setTrackHeight(t,e){e||(this.track.minHeight&&(t=Math.max(this.track.minHeight,t)),this.track.maxHeight&&(t=Math.min(this.track.maxHeight,t))),this.track.height=t,this.track.config.height=t,"function"==typeof this.track.paintAxis&&(this.resizeAxisCanvas(this.axis.clientWidth,this.track.height),this.paintAxis());for(let{$viewport:e}of[...this.viewports,this.sampleNameViewport])e.height(t);if("function"!=typeof this.track.computePixelHeight)for(let e of this.viewports)e.setContentHeight(t);this.repaintViews(),!1===ca.has(this.track.type)&&this.updateScrollbar(),this.dragHandle.style.height=`${t}px`,this.gearContainer.style.height=`${t}px`}updateScrollbar(){const t=this.viewports[0].$viewport.height();this.outerScroll.style.height=`${t}px`;const e=ua(this.viewports),n=Math.round(t/e*t);e>t?(this.innerScroll.style.display="block",this.innerScroll.style.height=`${n}px`):this.innerScroll.style.display="none"}moveScroller(t){const e=de(this.innerScroll).position().top+t,n=Math.min(Math.max(0,e),this.outerScroll.clientHeight-this.innerScroll.clientHeight);de(this.innerScroll).css("top",`${n}px`);const r=ua(this.viewports),i=-Math.round(n*(r/this.viewports[0].$viewport.height()));for(let t of this.viewports)t.setTop(i);this.sampleNameViewport.trackScrollDelta=t,this.sampleNameViewport.setTop(i)}isLoading(){for(let t of this.viewports)if(t.isLoading())return!0}resize(t){for(let e of this.viewports)e.setWidth(t);this.updateViews(!0)}repaintViews(){for(let t of this.viewports)t.repaint();"function"==typeof this.track.paintAxis&&this.paintAxis(),this.repaintSamples()}repaintSamples(){if("function"==typeof this.track.getSamples){const t=this.track.getSamples();this.sampleNameViewport.repaint(t)}}setTrackLabelName(t){this.viewports.forEach((e=>e.setTrackLabel(t)))}async updateViews(t){if(!this.browser||!this.browser.referenceFrameList)return;const e=this.viewports.filter((t=>t.isVisible()));e.forEach((function(t){t.shift()}));const n=this.viewportsToReload(t);for(let t of n)await t.loadFeatures();if("function"==typeof this.track.variantRowCount){let t=0;for(let e of this.viewports)e.tile&&e.tile.features&&(t=Math.max(t,e.tile.features.reduce(((t,e)=>Math.max(t,e.row||0)),0)));if(this.track.nVariantRows!==t+1){this.track.variantRowCount(t+1);for(let t of this.viewports)t.checkContentHeight()}}if(this.disposed)return;const r=this.browser.dragObject;if(!r&&this.track.autoscale){let t=[];for(let n of e){const e=n.referenceFrame,r=e.start,i=r+e.toBP(de(n.contentDiv).width());if(n.tile&&n.tile.features)if("function"==typeof n.tile.features.getMax){const e=n.tile.features.getMax(r,i);t.push({value:e})}else t=t.concat(Co(n.tile.features,r,i))}"function"==typeof this.track.doAutoscale?this.track.dataRange=this.track.doAutoscale(t):this.track.dataRange=ls(t)}if(r||!this.track.autoscale&&!this.track.autoscaleGroup)for(let t of n)t.repaint();else for(let t of e)t.repaint();this.adjustTrackHeight(),this.repaintSamples(),this.updateRulerViewportLabels()}updateRulerViewportLabels(){const t=this.browser.calculateViewportWidth(this.viewports.length);for(let e of this.viewports)"ruler"===this.track.type&&(this.viewports.length>1?e.presentLocusLabel(t):e.dismissLocusLabel())}async getInViewFeatures(t){if(!this.browser||!this.browser.referenceFrameList)return[];const e=this.viewportsToReload(t).map((function(t){return t.loadFeatures()}));await Promise.all(e);let n=[];for(let t of this.viewports)if(t.tile&&t.tile.features){const e=t.referenceFrame,r=e.start,i=r+e.toBP(de(t.contentDiv).width());if("function"==typeof t.tile.features.getMax){const e=t.tile.features.getMax(r,i);n.push({value:e})}else n=n.concat(Co(t.tile.features,r,i))}return n}checkContentHeight(){for(let t of this.viewports)t.checkContentHeight();this.adjustTrackHeight()}adjustTrackHeight(){var t=ua(this.viewports);if(this.track.autoHeight?this.setTrackHeight(t,!1):this.track.paintAxis&&this.paintAxis(),!1===ca.has(this.track.type)){const t=this.viewports[0].getContentTop(),e=this.viewports.map((t=>t.getContentHeight())),n=Math.min(...e),r=Math.min(0,this.viewports[0].$viewport.height()-n);if(t<r)for(let t of this.viewports)t.$content.css("top",`${r}px`);this.updateScrollbar()}}attachDragHandle(t){"ideogram"===this.track.type||"ruler"===this.track.type?t.trackDragControl.addDragShim(this):t.trackDragControl.addDragHandle(t,this)}viewportsToReload(t){return this.viewports.filter((function(e){if(!e.isVisible())return!1;if(e.checkZoomIn()){const n=e.referenceFrame,r=e.referenceFrame.chr,i=n.start,o=i+n.toBP(de(e.contentDiv).width()),s=n.bpPerPixel;return t||!e.tile||e.tile.invalidate||!e.tile.containsRange(r,i,o,s)}return!1}))}dispose(){this.axis.remove();for(let t of this.viewports)t.dispose();this.sampleNameViewport.$viewport.detach(),this.browser.trackScrollbarControl.removeScrollbar(this,this.browser.columnContainer),this.browser.trackDragControl.removeDragHandle(this),this.browser.trackGearControl.removeGearContainer(this),"function"==typeof this.track.dispose&&this.track.dispose();const t=this.track;"function"==typeof t.dispose&&t.dispose();for(let e of Object.keys(t))t[e]=void 0;for(let t of Object.keys(this))this[t]=void 0;this.alert&&this.alert.container.remove(),this.disposed=!0}createTrackGearPopup(t){!0===this.track.ignoreTrackMenu?t.trackGearControl.addGearShim(this):t.trackGearControl.addGearMenu(t,this)}paintAxis(){if("function"==typeof this.track.paintAxis){const{width:t,height:e}=this.axisCanvas.getBoundingClientRect(),n=window.devicePixelRatio||1;this.axisCanvas.height=n*e,this.axisCanvas.width=n*t;const r=this.axisCanvas.getContext("2d");r.scale(n,n),this.track.paintAxis(r,t,e)}}}function ua(t){const e=t.map((t=>t.getContentHeight()));return Math.max(...e)}function fa(t,e){if(t.length<6)console.log("Skipping line: "+t.join(" "));else{var n={chr1:t[0],start1:Number.parseInt(t[1]),end1:Number.parseInt(t[2]),chr2:t[3],start2:Number.parseInt(t[4]),end2:Number.parseInt(t[5])};if(!(isNaN(n.start1)||isNaN(n.end1)||isNaN(n.start2)||isNaN(n.end2))){if(t.length>6&&"."!==t[6]&&(n.name=t[6]),t.length>7&&"."!==t[7]&&(n.score=parseFloat(t[7])),t.length>8&&"."!==t[8]&&(n.strand1=t[8]),t.length>9&&"."!==t[9]&&(n.strand2=t[9]),e){const r=e.colorColumn;r&&r<t.length&&(n.color=Xi.createColorString(t[r]));const i=e.thicknessColumn;i&&i<t.length&&(n.thickness=t[i]),t.length>10&&e.columnNames&&e.columnNames.length===t.length&&(n.extras=t.slice(10))}return n.chr1===n.chr2&&(n.chr=n.chr1,n.start=Math.min(n.start1,n.start2),n.end=Math.max(n.end1,n.end2)),n}}}function da(t,e){if(!(t.length<8))return{chr:t[0],start:Number.parseInt(t[1]),end:Number.parseInt(t[2]),color:Xi.createColorString(t[6]),value:Number.parseFloat(t[7])}}function pa(t,e){if(!(t.length<6))return{chr:t[0],start:t[1],end:t[2],chr1:t[8],start1:Number.parseInt(t[9]),end1:Number.parseInt(t[10]),chr2:t[13],start2:Number.parseInt(t[14]),end2:Number.parseInt(t[15]),name:t[3],score:Number.parseFloat(t[4]),value:Number.parseFloat(t[5]),color:"."===t[7]?void 0:"0"===t[7]?"rgb(0,0,0)":t[7]};console.log("Skipping line: "+t.join(" "))}const ga=new Set(["transcript","primary_transcript","processed_transcript","mRNA","mrna","lnc_RNA","miRNA","ncRNA","rRNA","scRNA","snRNA","snoRNA","tRNA"]),ma=new Set(["CDS","cds"]),va=new Set(["start_codon","stop_codon"]),ba=new Set(["5UTR","3UTR","UTR","five_prime_UTR","three_prime_UTR","3'-UTR","5'-UTR"]),wa=new Set(["exon","coding-exon"]),ya=new Set;for(let t of[ma,va,ba,wa])for(let e of t)ya.add(e);function xa(t){return t.includes("intron")}function _a(t){return ma.has(t)||va.has(t)}function ka(t){return ba.has(t)}function Sa(t){return ga.has(t)||t.endsWith("RNA")||t.endsWith("transcript")}function Ca(t){return ya.has(t)||t.endsWith("RNA")||xa(t)}const Ea=new Set(["id","parent","name"]);class Aa{constructor(t){Object.assign(this,t)}popupData(t){const e=this.geneObject?this.geneObject.popupData():[];if(this.geneObject&&e.push("<hr/>"),this.name&&e.push({name:"Name",value:this.name}),e.push({name:"Type",value:this.type}),e.push({name:"Source",value:this.source}),this.attributeString){const t=Ia(this.attributeString,this.delim);for(let[n,r]of t)void 0!==r&&r.length>0&&!Ea.has(n.toLowerCase())&&e.push({name:n+":",value:r})}return e.push({name:"Location",value:`${this.chr}:${ke(this.start+1)}-${ke(this.end)}`}),e}getAttributeValue(t){if(this.hasOwnProperty(t))return this[t];if(this._attributeCache){if(this._attributeCache.has(t))return this._attributeCache.get(t);{const e=Ia(this.attributeString,this.delim);let n;for(let[r,i]of e)if(r===t){n=i;break}return this._attributeCache.set(t,n),n}}this._attributeCache=new Map}}class Ta extends Aa{constructor(t){super(t),this.exons=[],this.parts=[]}addExon(t){this.exons.push(t),this.start=Math.min(this.start,t.start),this.end=Math.max(this.end,t.end)}addPart(t){this.parts.push(t)}assembleParts(){if(0===this.parts.length)return;this.parts.sort((function(t,e){return t.start-e.start}));let t=this.parts[0].start,e=this.parts[0].end;for(let n=1;n<this.parts.length;n++){const r=this.parts[n];if(!xa(r.type))if(r.start<=e)e=Math.max(e,r.end);else{this.findExonContaining({start:t,end:e})||this.exons.push({start:t,end:e,psuedo:!0}),t=r.start,e=r.end}}this.findExonContaining({start:t,end:e})||(this.exons.push({start:t,end:e,psuedo:!0}),this.start=Math.min(this.start,t),this.end=Math.max(this.end,e));for(let t of this.parts){const e=t.type;_a(e)?this.addCDS(t):ka(e)&&this.addUTR(t)}}findExonContaining({start:t,end:e}){for(let n of this.exons)if(n.end>=e&&n.start<=t)return n}addCDS(t){let e;const n=this.exons;for(let r of n)if(r.start<=t.start&&r.end>=t.end){e=r;break}e?(e.cdStart=e.cdStart?Math.min(t.start,e.cdStart):t.start,e.cdEnd=e.cdEnd?Math.max(t.end,e.cdEnd):t.end):console.error("No exon found spanning "+t.start+"-"+t.end),this.cdStart=this.cdStart?Math.min(t.start,this.cdStart):t.start,this.cdEnd=this.cdEnd?Math.max(t.end,this.cdEnd):t.end}addUTR(t){let e;const n=this.exons;for(let r=0;r<n.length;r++)if(n[r].start<=t.start&&n[r].end>=t.end){e=n[r];break}e?t.start===e.start&&t.end===e.end?e.utr=!0:(t.end<e.end&&(e.cdStart=t.end),t.start>e.start&&(e.cdEnd=t.start)):console.error("No exon found spanning "+cds.start+"-"+cds.end)}finish(){this.assembleParts();var t=this.cdStart,e=this.cdEnd;this.exons.sort((function(t,e){return t.start-e.start})),t&&this.exons.forEach((function(n){(n.end<t||n.start>e)&&(n.utr=!0)}))}popupData(t){const e=super.popupData(t);for(let n of this.exons)if(!n.pseudo&&t>=n.start&&t<n.end&&"function"==typeof n.popupData){e.push("<hr/>");const r=n.popupData(t);for(let t of r)e.push(t)}for(let n of this.parts)if(t>=n.start&&t<n.end&&"function"==typeof n.popupData){e.push("<hr/>");const r=n.popupData(t);for(let t of r)e.push(t)}return e}}function La(t,e){const n=e.format;if(t.length<9)return;const r="gff3"===n?"=":" ";return new Aa({source:t[1],type:t[2],chr:t[0],start:parseInt(t[3])-1,end:parseInt(t[4]),score:"."===t[5]?0:parseFloat(t[5]),strand:t[6],phase:"."===t[7]?0:parseInt(t[7]),attributeString:t[8],delim:r})}function Ra(t,e){const n=La(t,e);if(!n)return;const r=Ia(n.attributeString,n.delim);for(let[t,e]of r){const r=t.toLowerCase();"color"===r||"colour"===r?n.color=Xi.createColorString(e):"ID"===t?n.id=e:"Parent"===t&&(n.parent=e)}return n}function Ma(t,e){const n=La(t,e);if(!n)return;const r=Ia(n.attributeString,n.delim);let i,o;switch(n.type){case"gene":i="gene_id";break;case"transcript":i="transcript_id",o="gene_id";break;default:o="transcript_id"}for(let[t,e]of r){const r=t.toLowerCase();"color"===r||"colour"===r?n.color=Xi.createColorString(e):t===i?n.id=e:t===o&&(n.parent=e)}return n}function Ia(t,e){var n=[];for(let r of t.split(";")){r=r.trim();const t=r.indexOf(e);if(t>0&&t<r.length-1){const e=r.substring(0,t);let i=Na(decodeURIComponent(r.substring(t+1).trim()));n.push([e,i])}}return n}function Na(t){return t.startsWith('"')&&t.endsWith('"')&&(t=t.substr(1,t.length-2)),t}class Fa{constructor(t){this.message=t}}function Pa(t,e){if(t.length<3)return;e&&e.gffTags;const n=t[0],r=parseInt(t[1]),i=t.length>2?parseInt(t[2]):r+1;if(isNaN(r)||isNaN(i))return new Fa("Unparsable bed record.");const o=new Wa({chr:n,start:r,end:i,score:1e3});try{if(t.length>3){if(t[3].indexOf(";")>0&&t[3].indexOf("=")>0){const e=Ia(t[3],"=");o.attributes={};for(let t of e)o.attributes[t[0]]=t[1]}o.name||(o.name="."===t[3]?"":t[3])}if(t.length>4&&(o.score="."===t[4]?0:parseFloat(t[4]),isNaN(o.score)))return o;if(t.length>5&&(o.strand=t[5],"."!==o.strand&&"+"!==o.strand&&"-"!==o.strand))return o;if(t.length>6&&(o.cdStart=parseInt(t[6]),isNaN(o.cdStart)))return o;if(t.length>7&&(o.cdEnd=parseInt(t[7]),isNaN(o.cdEnd)))return o;if(t.length>8&&"."!==t[8]&&"0"!==t[8]&&(o.color=Xi.createColorString(t[8])),t.length>11){const e=parseInt(t[9]);if(e>1e3)return o;const n=t[10].replace(/,$/,"").split(","),i=t[11].replace(/,$/,"").split(",");if(n.length!==i.length||e!==n.length)return o;const s=[];for(let t=0;t<e;t++){const e=r+parseInt(i[t]),o=e+parseInt(n[t]);s.push({start:e,end:o})}ja(s,o.cdStart,o.cdEnd),o.exons=s}if(e){let n=e.thicknessColumn,r=e.colorColumn;r&&r<t.length&&(o.color=Xi.createColorString(t[r])),n&&n<t.length&&(o.thickness=t[n])}}catch(t){}return o}function Oa(t,e){if(t.length<=15)return;return{swScore:Number.parseInt(t[1]),milliDiv:Number.parseInt(t[2]),milliDel:Number.parseInt(t[3]),milliIns:Number.parseInt(t[4]),chr:t[5],start:Number.parseInt(t[6]),end:Number.parseInt(t[7]),strand:t[9],repName:t[10],repClass:t[11],repFamily:t[12],repStart:Number.parseInt(t[13]),repEnd:Number.parseInt(t[14]),repLeft:Number.parseInt(t[15])}}function Da(t,e){var n=void 0===e.shift?0:1;if(t.length<=9+n)return;const r=parseInt(t[5+n]),i=parseInt(t[6+n]);var o={name:t[0+n],chr:t[1+n],strand:t[2+n],start:parseInt(t[3+n]),end:parseInt(t[4+n]),cdStart:r,cdEnd:i,id:t[0+n]},s=parseInt(t[7+n]),a=t[8+n].split(","),c=t[9+n].split(","),l=[];for(let t=0;t<s;t++){const e=parseInt(a[t]),n=parseInt(c[t]);l.push({start:e,end:n})}return ja(l,r,i),o.exons=l,o}function Ba(t,e){var n=void 0===e.shift?0:1;if(t.length<=11+n)return;const r=parseInt(t[5+n]),i=parseInt(t[6+n]),o={name:t[11+n],chr:t[1+n],strand:t[2+n],start:parseInt(t[3+n]),end:parseInt(t[4+n]),cdStart:r,cdEnd:i,id:t[0+n]},s=parseInt(t[7+n]),a=t[8+n].split(","),c=t[9+n].split(","),l=[];for(let t=0;t<s;t++){const e=parseInt(a[t]),n=parseInt(c[t]);l.push({start:e,end:n})}return ja(l,r,i),o.exons=l,o}function za(t,e){var n=void 0===e.shift?0:1;if(t.length<=10+n)return;const r=parseInt(t[6+n]),i=parseInt(t[7+n]);var o={name:t[0+n],id:t[1+n],chr:t[2+n],strand:t[3+n],start:parseInt(t[4+n]),end:parseInt(t[5+n]),cdStart:r,cdEnd:i},s=parseInt(t[8+n]),a=t[9+n].split(","),c=t[10+n].split(","),l=[];for(let t=0;t<s;t++){const e=parseInt(a[t]),n=parseInt(c[t]);l.push({start:e,end:n})}return ja(l,r,i),o.exons=l,o}function ja(t,e,n){for(let r of t){const t=r.end,i=r.start;t<e||i>n?r.utr=!0:(e>=i&&e<=t&&(r.cdStart=e),n>=i&&n<=t&&(r.cdEnd=n))}}function Ha(t,e){var n,r,i,o,s,a,c;if(!(t.length<9))return n=t[0],r=parseInt(t[1]),i=parseInt(t[2]),s=t[3],a=parseFloat(t[4]),o=t[5].trim(),c=parseFloat(t[6]),0===a&&(a=c),{chr:n,start:r,end:i,name:s,score:a,strand:o,signal:c,pValue:parseFloat(t[7]),qValue:parseFloat(t[8])}}function Va(t,e){if(t.length<=3)return;const n={chr:t[0],start:parseInt(t[1]),end:parseInt(t[2]),value:parseFloat(t[3])};if(e){let r=e.colorColumn;r&&r<t.length&&(n.color=Xi.createColorString(t[r]))}return n}function Ua(t,e){const n=e.wig;if(n&&"fixedStep"===n.format){const e=n.index*n.step+n.start,r=e+n.span,i=parseFloat(t[0]);return++n.index,isNaN(i)?null:{chr:n.chrom,start:e,end:r,value:i}}if(n&&"variableStep"===n.format){if(t.length<2)return null;const e=parseInt(t[0],10)-1,r=e+n.span,i=parseFloat(t[1]);return isNaN(i)?null:{chr:n.chrom,start:e,end:r,value:i}}return Va(t)}function qa(t,e){if(t.length<6)return;const n=["bin","chr","start","end","name","score","strand","refNCBI","refUCSC","observed","molType","class","valid","avHet","avHetSE","func","locType","weight","exceptions","submitterCount","submitters","alleleFreqCount","alleles","alleleNs","alleleFreqs","bitfields"],r={chr:t[1],start:Number.parseInt(t[2]),end:Number.parseInt(t[3]),name:t[4],score:Number.parseInt(t[5])},i=Math.min(t.length,n.length);for(let e=6;e<i;e++)r[n[e]]=t[e];return r}class Wa{constructor(t){Object.assign(this,t)}getAttributeValue(t){return this.hasOwnProperty(t)?this[t]:this.attributes?this.attributes[t]:void 0}}function $a(t,e){if(!(t.length<7)){var n=t[0],r=t[1],i=parseInt(t[2]),o=parseInt(t[3]),s=parseInt(t[4]),a=parseInt(t[5]),c=t[6],l={chr:n,name:r,junction_left:i,junction_right:o,num_junction_reads:s,num_spanning_frags:a,spanning_frag_coords:[],start:-1,end:-1},h=i,u=o;if(a>0)for(var f=c.split(","),d=0;d<f.length;d++){var p=f[d].split("-"),g=p[0],m=p[1];g<h&&(h=g),m>u&&(u=m),l.spanning_frag_coords.push({left:g,right:m})}return l.start=h,l.end=u,l}}function Ga(t,e){if(t.length<7)return null;const n={chr:t[0],start:parseInt(t[1])-1,end:parseInt(t[2]),"Strongest SNP-risk allele":t[3],"Disease/Phenotype":t[4],"P-value":t[5],"Odds ratio or beta":t[6]};return t.length>6&&(n.PUBMEDID=`<a target = "blank" href = "https://www.ncbi.nlm.nih.gov/pubmed/${t[7]}">${t[7]}</a>`),n}function Za(t,e){const n=e.customFormat;if(t.length<n.fields.length)return;const r=n.coords||0,i=t[n.chr],o=parseInt(t[n.start])-r,s={chr:i,start:o,end:void 0!==n.end?parseInt(t[n.end]):o+1};return n.fields&&n.fields.forEach((function(e,r){r!==n.chr&&r!==n.start&&r!==n.end&&(s[e]=t[r])})),s}function Xa(t,e){const n=e.columnNames;if(!n)throw Error("Sample names are not defined. Missing column headers?");const r=n.length-3,i=t[0],o=parseInt(t[1]),s=parseInt(t[2]),a=t.slice(3).map(parseFloat);return a.length==r?{chr:i,start:o,end:s,values:a}:void console.warn(`${i}:${o}-${s} row contains ${a.length} sample columns instead of the expected ${r} columns. Skipping...`)}class Ya{constructor(t){this.config=t,this.header={},t.nameField&&(this.header.nameField=t.nameField),this.skipRows=0,t.decode?(this.decode=t.decode,this.delimiter=t.delimiter||"\t"):t.format&&(this.header.format=t.format.toLowerCase(),this.setDecoder(this.header.format)),this.delimiter||(this.delimiter="\t")}async parseHeader(t){let e,n,r=this.header;for(;void 0!==(n=await t.nextLine());)if(n.startsWith("track")||n.startsWith("#track")){let t=Ka(n);Object.assign(r,t)}else if(n.startsWith("browser"));else if(n.startsWith("#columns")){let t=Qa(n);Object.assign(r,t)}else if(n.startsWith("##gff-version 3"))r.format="gff3";else if(n.startsWith("#gffTags"))r.gffTags=!0;else{if(n.startsWith("fixedStep")||n.startsWith("variableStep"))break;if(n.startsWith("#")){const t=n.split(this.delimiter||"\t");t.length>1&&(e=t)}else{this.setDecoder(r.format);const t=n.split(this.delimiter||"\t");try{const n=Object.assign({columnNames:e},r);if(this.decode(t,n))break;t.length>1&&(e=t)}catch(n){t.length>1&&(e=t)}}}if(e){r.columnNames=e;for(let t=0;t<e.length;t++)"color"===e[t]||"colour"===e[t]?r.colorColumn=t:"thickness"===e[t]&&(r.thicknessColumn=t)}return this.header=r,r}async parseFeatures(t){const e=[],n=this.decode,r=this.header.format,i=this.delimiter||"\t";let o,s=0,a=0;for(;void 0!==(o=await t.nextLine());){if(s++,s<=this.skipRows)continue;if(!o||o.startsWith("track")||o.startsWith("#")||o.startsWith("browser"))continue;if("wig"===r&&o.startsWith("fixedStep")){this.header.wig=Ja(o);continue}if("wig"===r&&o.startsWith("variableStep")){this.header.wig=tc(o);continue}const t=o.split(i);if(t.length<1)continue;const c=n(t,this.header);c instanceof Fa?(a++,a>0&&console.error(`Error parsing line '${o}': ${c.message}`)):c&&e.push(c)}return n===fa&&function(t){if(0==t.length)return;const e=t[0];if(void 0===e.score&&void 0!==e.name){for(let e of t)if(!("number"==typeof(n=e.name)?n-n==0:"string"==typeof n&&""!==n.trim()&&(Number.isFinite?Number.isFinite(+n):isFinite(+n)))&&"."!==e.name)return;for(let e of t)e.score=parseFloat(e.name),delete e.name}var n;const r=t.filter((t=>t.chr1!==t.chr2));for(let e of r){const n=Object.assign({},e);n.dup=!0,t.push(n),e.chr=e.chr1,e.start=e.start1,e.end=e.end1,n.chr=n.chr2,n.start=n.start2,n.end=n.end2}}(e),e}setDecoder(t){switch(t){case"narrowpeak":case"broadpeak":case"regionpeak":case"peaks":this.decode=Ha,this.delimiter=this.config.delimiter||/\s+/;break;case"bedgraph":this.decode=Va,this.delimiter=/\s+/;break;case"wig":this.decode=Ua,this.delimiter=this.config.delimiter||/\s+/;break;case"gff3":case"gff":this.decode=Ra,this.delimiter="\t";break;case"gtf":this.decode=Ma,this.delimiter="\t";break;case"fusionjuncspan":this.decode=$a,this.delimiter=this.config.delimiter||/\s+/;break;case"gtexgwas":this.skipRows=1,this.decode=Ga,this.delimiter="\t";break;case"refflat":this.decode=za,this.delimiter=this.config.delimiter||/\s+/;break;case"genepred":this.decode=Da,this.delimiter=this.config.delimiter||/\s+/;break;case"genepredext":this.decode=Ba,this.delimiter=this.config.delimiter||/\s+/;break;case"ensgene":this.decode=Da,this.header.shift=1,this.delimiter=this.config.delimiter||/\s+/;break;case"refgene":this.decode=Ba,this.delimiter=this.config.delimiter||/\s+/,this.header.shift=1;break;case"bed":this.decode=Pa,this.delimiter=this.config.delimiter||/\s+/;break;case"bedpe":this.decode=fa,this.delimiter=this.config.delimiter||"\t";break;case"bedpe-domain":this.decode=da,this.headerLine=!0,this.delimiter=this.config.delimiter||"\t";break;case"bedpe-loop":this.decode=fa,this.delimiter=this.config.delimiter||"\t",this.header={colorColumn:7};break;case"interact":this.decode=pa,this.delimiter=this.config.delimiter||/\s+/;break;case"snp":this.decode=qa,this.delimiter="\t";break;case"rmsk":this.decode=Oa,this.delimiter="\t";break;case"gcnv":this.decode=Xa,this.delimiter="\t";break;default:const n=(e=t,rs&&rs[e]?function(t){const e=t.fields,n=["chr","start","end"];for(let r=0;r<e.length;r++)for(let i of n)i===e[r]&&(t[i]=r);return t}(rs[e]):void 0);void 0!==n?(this.decode=Za,this.header.customFormat=n,this.delimiter=n.delimiter||"\t"):(this.decode=Pa,this.delimiter=this.config.delimiter||/\s+/)}var e}}function Ka(t){const e={},n=t.split(/(?:")([^"]+)(?:")|([^\s"]+)(?=\s+|$)/g);let r;const i=[];for(let t of n)t&&0!==t.trim().length&&(t.endsWith("=")?r=t:r?(i.push(r+t),r=void 0):i.push(t));for(let t of i){if(!t)return;var o=t.split("=",2);if(2===o.length){const t=o[0].trim(),n=o[1].trim();if(e.hasOwnProperty(t)){let r=e[t];Array.isArray(r)?r.push(n):e[t]=[r,n]}else e[t]=n}}return"interact"==e.type?e.format="interact":"gcnv"===e.type&&(e.format="gcnv"),e}function Qa(t){let e={},n=t.split(/\s+/);if(2===n.length){n[1].split(";").forEach((function(t){let n=t.split("=");"color"===n[0]?e.colorColumn=Number.parseInt(n[1])-1:"thickness"===n[0]&&(e.thicknessColumn=Number.parseInt(n[1])-1)}))}return e}function Ja(t){const e=t.split(/\s+/);return{format:"fixedStep",chrom:e[1].split("=")[1],start:parseInt(e[2].split("=")[1],10)-1,step:parseInt(e[3].split("=")[1],10),span:e.length>4?parseInt(e[4].split("=")[1],10):1,index:0}}function tc(t){const e=t.split(/\s+/);return{format:"variableStep",chrom:e[1].split("=")[1],span:e.length>2?parseInt(e[2].split("=")[1],10):1}}class ec{constructor(t){switch(this.type=t||"seg",this.type){case"mut":this.sampleColumn=3,this.chrColumn=0,this.startColumn=1,this.endColumn=2,this.dataColumn=4;break;case"maf":this.sampleColumn=15,this.chrColumn=4,this.startColumn=5,this.endColumn=6,this.dataColumn=8;break;default:this.sampleColumn=0,this.chrColumn=1,this.startColumn=2,this.endColumn=3}}async parseHeader(t){let e;for(;void 0!==(e=await t.nextLine());)if(!e.startsWith("#")){const t=e.split("\t");this.header={headings:t};break}return this.header}async parseFeatures(t){const e=[];let n;this.header||(this.header=await this.parseHeader(t)),"seg"===this.type&&(this.dataColumn=this.header.headings.length-1),this.header.headings.length>5&&(n=this.extractExtraColumns(this.header.headings));const r=this.header.headings[this.dataColumn];let i;for(;void 0!==(i=await t.nextLine());){const t=i.split("\t"),o="seg"===this.type?parseFloat(t[this.dataColumn]):t[this.dataColumn];if(t.length>this.dataColumn){const i=new nc({sample:t[this.sampleColumn],chr:t[this.chrColumn],start:parseInt(t[this.startColumn])-1,end:parseInt(t[this.endColumn]),value:o,valueColumnName:r});if(n){const e=this.extractExtraColumns(t);i.setAttributes({names:n,values:e})}e.push(i)}}return e}extractExtraColumns(t){const e=[];for(let n=0;n<t.length;n++)n!==this.chrColumn&&n!==this.startColumn&&n!==this.endColumn&&n!==this.sampleColumn&&e.push(t[n]);return e}}class nc{constructor({sample:t,chr:e,start:n,end:r,value:i,valueColumnName:o}){this.sample=t,this.chr=e,this.start=n,this.end=r,this.value=i,this.valueColumnName=o}setAttributes({names:t,values:e}){this.attributeNames=t,this.attributeValues=e}getAttribute(t){if(this.attributeNames){const e=this.attributeNames.indexOf(t);if(e>=0)return this.attributeValues[e]}}popupData(){const t=new Set(["chr","start","end","sample","value","row","color","sampleKey","uniqueSampleKey","sampleId","chromosome","uniquePatientKey"]),e=this.chr+":"+ke(this.start+1)+"-"+ke(this.end),n=[{name:"Sample",value:this.sample},{name:"Location",value:e},{name:this.valueColumnName?Ee(this.valueColumnName):"Value",value:this.value}];if(this.attributeNames&&this.attributeNames.length>0)for(let e=0;e<this.attributeNames.length;e++)!t.has(this.attributeNames[e])&this.valueColumnName!==this.attributeNames[e]&&n.push({name:Ee(this.attributeNames[e]),value:this.attributeValues[e]});return n}}class rc{constructor(t,e){this.browser=e,this.init(t)}init(t){t.displayMode&&(t.displayMode=t.displayMode.toUpperCase()),this.config=t,this.url=t.url,this.type=t.type,this.description=t.description,this.supportHiDPI=void 0===t.supportHiDPI||t.supportHiDPI,t.name||t.label?this.name=t.name||t.label:t.url instanceof File?this.name=t.url.name:_e(t.url)&&!t.url.startsWith("data:")&&(this.name=He(t.url)),this.id=void 0===this.config.id?this.name:this.config.id,this.order=t.order,this.color=t.color,this.altColor=t.altColor,"civic-ws"===t.sourceType?this.defaultColor="rgb(155,20,20)":this.defaultColor="rgb(0,0,150)",this.autoscaleGroup=t.autoscaleGroup,this.removable=void 0===t.removable||t.removable,this.height=t.height||100,this.autoHeight=t.autoHeight,this.minHeight=t.minHeight||Math.min(25,this.height),this.maxHeight=t.maxHeight||Math.max(1e3,this.height),this.visibilityWindow=t.visibilityWindow,this.trackView=void 0}get name(){return this._name}set name(t){this._name=t,this.trackView&&this.trackView.setTrackLabelName(t)}updateConfig(t){this.init(t)}getState(){const t={};for(let e of Object.keys(this.config))e.startsWith("_")||(t[e]=this.config[e]);for(let e of Object.keys(t)){if(e.startsWith("_"))continue;const n=this[e];n&&(as(n)||"boolean"==typeof n)&&(t[e]=n)}this.color&&(t.color=this.color),this.altColor&&(t.altColor=this.altColor),!this.autoscale&&this.dataRange&&(t.min=this.dataRange.min,t.max=this.dataRange.max);for(let e of Object.keys(t)){if("function"==typeof t[e])throw Error(`Property '${e}' of track '${this.name} is a function. Functions cannot be saved in sessions.`);if(t[e]instanceof File){const t=`Track ${this.name} is a local file. Sessions cannot be saved with local file references.`;throw Error(t)}if(t[e]instanceof Promise)throw Error(`Property '${e}' of track '${this.name} is a Promise. Promises cannot be saved in sessions.`)}return t}supportsWholeGenome(){return!1}hasSamples(){return!1}getGenomeId(){return this.browser.genome?this.browser.genome.id:void 0}setTrackProperties(t){const e={};let n;for(let r of Object.keys(t))switch(r.toLowerCase()){case"usescore":e.useScore=1===t[r]||"1"===t[r]||"on"===t[r]||!0===t[r];break;case"visibility":switch(t[r]){case"2":case"3":case"pack":case"full":e.displayMode="EXPANDED";break;case"4":case"squish":e.displayMode="SQUISHED";break;case"1":case"dense":e.displayMode="COLLAPSED"}break;case"color":case"altcolor":e[r]=t[r].startsWith("rgb(")?t[r]:"rgb("+t[r]+")";break;case"featurevisiblitywindow":case"visibilitywindow":e.visibilityWindow=Number.parseInt(t[r]);break;case"maxheightpixels":n=t[r].split(":"),3===n.length&&(e.minHeight=Number.parseInt(n[2]),e.height=Number.parseInt(n[1]),e.maxHeight=Number.parseInt(n[0]));break;case"viewlimits":if(!this.config.autoscale){n=t[r].split(":");let i,o=0;1==n.length?i=Number.parseFloat(n[0]):2==n.length&&(o=Number.parseFloat(n[0]),i=Number.parseFloat(n[1])),e.autoscale=!1,e.dataRange={min:o,max:i}}case"name":e[r]=t[r];break;case"url":e.infoURL=t[r];break;case"type":const i=t[r];ic.has(i)&&(e[r]=ic.get(i))}for(let t of Object.keys(e))if((!this.config.hasOwnProperty(t)||"name"===t&&this.config._derivedName)&&(this[t]=e[t],"height"===t&&this.trackView))try{const n=Number.parseInt(e[t]);this.trackView.setTrackHeight(n)}catch(t){console.error(t)}}getVisibilityWindow(){return this.visibilityWindow}clickedFeatures(t,e){if(e||(e=t.viewport.getCachedFeatures()),!e||0===e.length)return[];const n=t.genomicLocation,r=t.referenceFrame.bpPerPixel>.2?3*t.referenceFrame.bpPerPixel:.2;return Co(e,n-r,n+r)}extractPopupData(t,e){const n=new Set(["row","color","chr","start","end","cdStart","cdEnd","strand","alpha"]),r=[];let i,o;for(let e in t)if(t.hasOwnProperty(e)&&!n.has(e)&&as(t[e])){let n=t[e];r.push({name:Ee(e),value:n}),"alleles"===e?i=t[e]:"alleleFreqs"===e&&(o=t[e])}if(i&&o){i.endsWith(",")&&(i=i.substr(0,i.length-1)),o.endsWith(",")&&(o=o.substr(0,o.length-1));let n=i.split(","),s=o.split(",");if(s.length>1){let i=[];for(let t=0;t<s.length;t++)i.push({a:n[t],af:Number.parseFloat(s[t])});i.sort((function(t,e){return t.af-e.af}));let o=i[i.length-1].a;if(1===o.length)for(let n=i.length-2;n>=0;n--){let s=i[n].a;if(1===s.length){e||(e=this.getGenomeId());const n=rc.getCravatLink(t.chr,t.start+1,o,s,e);console.log(n),n&&(r.push("<hr/>"),r.push({html:n}),r.push("<hr/>"))}}}}if(t.attributes)for(let e of Object.keys(t.attributes))r.push({name:e,value:t.attributes[e]});let s=`${t.chr}:${ke(t.start+1)}-${ke(t.end)}`;return t.strand&&(s+=` (${t.strand})`),r.push({name:"Location",value:s}),r}static getCravatLink(t,e,n,r,i){if("hg38"===i||"GRCh38"===i){return`<a target="_blank" href="https://run.opencravat.org/result/nocache/variant.html?chrom=${t.startsWith("chr")?t:"chr"+t}&pos=${e}&ref_base=${n}&alt_base=${r}">Cravat ${n}->${r}</a>`}}}const ic=new Map([["wiggle_0","wig"],["bed","bed"],["bigBed","bigBed"],["bigWig","bigWig"]]),oc=new Set(["A","C","T","G"].map((t=>t.charCodeAt(0))));function sc(t){return new ac(t)}class ac{constructor(t){this.chr=t[0],this.pos=parseInt(t[1]),this.names=t[2],this.referenceBases=t[3],this.alternateBases=t[4],this.quality=t[5],this.filter=t[6],this.info=function(t){var e={};t&&t.split(";").forEach((function(t){var n=t.split("=");e[n[0]]=n[1]}));return e}(t[7]),this.init()}init(){const t=this.referenceBases,e=this.alternateBases;if(this.info&&(this.info.VT?this.type=this.info.VT:this.info.SVTYPE?this.type="SV":this.info.PERIOD&&(this.type="STR")),void 0===this.type&&(this.type=function(t,e){const n=t.length;if(void 0===e)return"UNKNOWN";if(0===e.trim().length||"<NON_REF>"===e||"<*>"===e||"."===e)return"NONVARIANT";{const t=e.split(",").map((function(t){return 1===n&&1===t.length?"SNP":"<NON_REF>"===t?"NONVARIANT":"OTHER"}));let r=t[0];for(let e of t)if(e!==r)return"MIXED";return r}}(t,e)),"NONVARIANT"===this.type&&(this.heterozygosity=0),this.info.END)this.start=this.pos-1,this.info.CHR2&&this.info.CHR2!==this.chr?this.end=this.start+1:this.end=Number.parseInt(this.info.END);else if("NONVARIANT"===this.type)this.start=this.pos-1,this.end=this.start+t.length;else{const n=e.split(",").filter((t=>t.length>0));this.alleles=[],this.start=void 0,this.end=void 0;for(let e of n)if(this.alleles.push(e),"SV"!==this.type&&cc(e)){let n=e.length,r=t.length;const i=Math.min(n,r);let o=0;for(;o<i&&t.charCodeAt(o)===e.charCodeAt(o);)o++,n--,r--;for(;n>0&&r>0;){const i=o+n-1,s=o+r-1;if(e.charCodeAt(i)!==t.charCodeAt(s))break;n--,r--}for(;n>0&&r>0;){const i=o,s=o;if(e.charCodeAt(i)!==t.charCodeAt(s))break;o++,n--,r--}const s=this.pos+o-1,a=s+r;this.start=void 0===this.start?s:Math.min(this.start,s),this.end=void 0===this.end?a:Math.max(this.end,a)}void 0===this.start&&(this.start=this.pos-1,this.end=this.pos)}}popupData(t,e){const n=`${ke(this.pos)}`,r=this.start===this.end?`${ke(this.start)} | ${ke(this.start+1)}`:`${ke(this.start+1)}-${ke(this.end)}`,i=[{name:"Chr",value:this.chr},{name:"Pos",value:n},{name:"Loc",value:r},{name:"Names",value:this.names?this.names:""},{name:"Ref",value:this.referenceBases},{name:"Alt",value:this.alternateBases.replace("<","&lt;")},{name:"Qual",value:this.quality},{name:"Filter",value:this.filter}];if("SNP"===this.type){let t=this.referenceBases;if(1===t.length){let n=this.alternateBases.split(",");for(let r of n)if(1===r.length){let n=rc.getCravatLink(this.chr,this.pos,t,r,e);n&&(i.push("<hr/>"),i.push({html:n}))}}}if(this.hasOwnProperty("heterozygosity")&&i.push({name:"Heterozygosity",value:this.heterozygosity}),this.info){i.push({html:'<hr style="border-top: dotted 1px;border-color: #c9c3ba" />'});for(let t of Object.keys(this.info))i.push({name:t,value:lc(decodeURIComponent(this.info[t]))})}return i}isRefBlock(){return"NONVARIANT"===this.type}}function cc(t){for(let e=0;e<t.length;e++)if(!oc.has(t.charCodeAt(e)))return!1;return!0}function lc(t,e){return void 0===e&&(e=","),Array.isArray(t)?t.join(e):t}class hc{construtor(){}async parseHeader(t,e){const n={};n.chrAliasTable=new Map;let r=await t.nextLine();if(!r.startsWith("##fileformat"))throw new Error("Invalid VCF file: missing fileformat line");for(n.version=r.substr(13);void 0!==(r=await t.nextLine())&&r.startsWith("#");){let t;const o={};if(r.startsWith("##")){if(r.startsWith("##INFO")||r.startsWith("##FILTER")||r.startsWith("##FORMAT")){const e=r.indexOf("<"),s=r.lastIndexOf(">");if(!(e>2&&s>0)){console.log("Malformed VCF header line: "+r);continue}const a=r.substring(2,e-1);n[a]||(n[a]={});const c=Ce(r.substring(e+1,s-1),",");for(let e of c){var i=e.split("=");i.length>1&&("ID"===i[0]?t=i[1]:o[i[0]]=i[1])}t&&(n[a][t]=o)}else if(r.startsWith("##contig")&&e){const t=r.indexOf("<ID=");let i=r.indexOf(",",t);-1==i&&(i=r.indexOf(">",t));const o=r.substring(t+4,i),s=e.getChromosomeName(o);n.chrAliasTable.set(s,o)}}else if(r.startsWith("#CHROM")){const t=r.split("\t");if(t.length>8){n.callSets=[];for(let e=9;e<t.length;e++)n.callSets.push({id:e,name:t[e]})}}}return this.header=n,n}async parseFeatures(t){const e=[],n=this.header.callSets,r=8+(n?n.length+1:0);let i;for(;void 0!==(i=await t.nextLine());)if(i&&!i.startsWith("#")){const t=i.split("\t");if(t.length===r){const r=sc(t);if(r.header=this.header,e.push(r),t.length>9){const e=uc(t[8].split(":"));r.calls={};for(let i=9;i<t.length;i++){const o=t[i],s=n[i-9],a={callSetName:s.name,info:{}};r.calls[s.id]=a,o.split(":").forEach((function(t,n){switch(n){case e.genotypeIndex:a.genotype=[],t.split(/[\|\/]/).forEach((function(t){a.genotype.push("."===t?t:parseInt(t))}));break;default:a.info[e.fields[n]]=t}}))}}}}return e}}function uc(t){const e={genotypeIndex:-1,fields:t};for(let n=0;n<t.length;n++)"GT"===t[n]&&(e.genotypeIndex=n);return e}function fc(t){return"string"==typeof t||t instanceof String?new dc(t):new pc(t)}class dc{constructor(t){this.data=t,this.ptr=0}nextLine(){var t=this.ptr,e=this.data.indexOf("\n",t),n=this.data;if(e>0)return this.ptr=e+1,e>t&&"\r"===n.charAt(e-1)?n.substring(t,e-1):n.substring(t,e);var r=n.length;return this.ptr=r,t>=r?void 0:n.substring(t)}}class pc{constructor(t){this.data=t,this.length=this.data.length,this.ptr=0}nextLine(){var t,e;if(e="",!(this.ptr>=this.length)){for(var n=this.ptr;n<this.length;n++)if("\r"!==(t=String.fromCharCode(this.data[n]))){if("\n"===t)break;e+=t}return this.ptr=n+1,e}}}class gc{constructor(t){if(this.config=t,t.columns){if(void 0===t.columns.chromosome||void 0===t.columns.position||void 0===t.columns.value)throw Error("columns property must define chrCol, posCol, and valueCol");this.posCol=t.columns.position-1,this.chrCol=t.columns.chromosome-1,this.pvalueCol=t.columns.value-1}else this.posCol=2,this.chrCol=1,this.pvalueCol=3}async parseHeader(t){const e=await t.nextLine();return this.parseHeaderLine(e)}parseHeaderLine(t){if(this.columns=t.split(/\t/),!this.config.columns)for(let t=0;t<this.columns.length;t++){switch(this.columns[t].toLowerCase()){case"chr":case"chromosome":case"chr_id":this.chrCol=t;break;case"bp":case"pos":case"position":case"chr_pos":this.posCol=t;break;case"p":case"pval":case"pvalue":case"p-value":case"p.value":this.valueCol=t}}return this.columns}async parseFeatures(t){const e=[],n=t.nextLine();let r;for(this.columns||this.parseHeaderLine(n);void 0!==(r=t.nextLine());){const t=r.split(/\t/);if(t.length===this.columns.length){const n=t[this.chrCol],i=parseInt(t[this.posCol])-1,o=i+1,s=parseFloat(t[this.valueCol]);e.push(new mc({chr:n,start:i,end:o,value:s,line:r,columns:this.columns}))}}return e}}class mc{constructor({chr:t,start:e,end:n,value:r,line:i,columns:o}){this.chr=t,this.start=e,this.end=n,this.value=r,this.line=i,this.columns=o}popupData(){const t=this.line.split(/\t/);return this.columns.map((function(e,n){return{name:e,value:t[n]}}))}getAttribute(t){const e=this.line.split(/\t/);for(let n=0;n<this.columns.length;n++)if(this.columns[n]===t)return e[n]}}var vc=new RegExp("([^:]*)\\(([^)]*)\\)"),bc=new RegExp("([^:]*):([^(]*)\\(([^)]*)\\)");class wc{constructor(t){const e=t?t.decode:void 0;this.nameField=t?t.nameField:void 0,this.skipRows=0,this.decode=e||Cc,this.delimiter="\t"}async parseHeader(t){let e,n;for(;(e=await t.nextLine())&&(e.startsWith("track")||e.startsWith("#")||e.startsWith("browser"));)if(e.startsWith("track")||e.startsWith("#track")){let t=_c(e);n?Object.assign(n,t):n=t}else if(e.startsWith("#columns")){let t=kc(e);n?Object.assign(n,t):n=t}else e.startsWith("##gff-version 3")&&(this.format="gff3",n||(n={}),n.format="gff3");return this.header=n,n}async parseFeatures(t){const e=[],n=this.decode,r=this.delimiter||"\t";let i,o=0;for(;void 0!==(i=t.nextLine());){if(o++,o<=this.skipRows||i.startsWith("track")||i.startsWith("#")||i.startsWith("browser"))continue;let t=s();if(t.length<1)continue;if(!this.aed){this.aed=xc(t);continue}const r=n.call(this,t,undefined);r&&e.push(r)}return e;function s(){for(var t,e,n=[],o="",s=!1;i||""===i;){for(t=0;t<i.length;t++)(e=i.charAt(t))===r?s?o+=e:(n.push(o),o=""):'"'===e?t+1<i.length&&'"'===i.charAt(t+1)?(s&&(o+='"'),t++):s=!s:o+=e;if(!s)break;o+="\n",i=nextLine()}return n.push(o),n}}}function yc(t){var e=bc.exec(t);if(e)return{namespace:e[1],name:e[2],type:e[3]};if(e=vc.exec(t))return{namespace:"?",name:e[1],type:e[2]};throw new Error("Error parsing the header row of AED file - column not in ns:name(ns:type) format")}function xc(t){var e,n,r;for(e={columns:[],metadata:{}},n=0;n<t.length;n++)r=yc(t[n]),e.columns.push(r);return e}function _c(t){const e={},n=t.split(/(?:")([^"]+)(?:")|([^\s"]+)(?=\s+|$)/g);let r;const i=[];for(let t of n)t&&0!==t.trim().length&&(t.endsWith("=")>0?r=t:r?(i.push(r+t),r=void 0):i.push(t));for(let t of i){if(!t)return;var o=t.split("=",2);if(2===o.length){const t=o[0].trim(),n=o[1].trim();e[t]=n}}return e}function kc(t){let e={},n=t.split(/\s+/);if(2===n.length){n[1].split(";").forEach((function(t){let n=t.split("=");"color"===n[0]?e.colorColumn=Number.parseInt(n[1])-1:"thickness"===n[0]&&(e.thicknessColumn=Number.parseInt(n[1])-1)}))}return e}function Sc(t,e){var n,r,i=t.columns;this.aed=t,this.allColumns=e,this.chr=null,this.start=null,this.end=null,this.score=1e3,this.strand=".",this.cdStart=null,this.cdEnd=null,this.name=null,this.color=null;for(let t=0;t<e.length;t++)if(n=e[t]){"aed:Integer"===(r=i[t]).type&&(n=parseInt(n));var o=[];if(r.namespace.length>0)for(let t=0;t<r.namespace.length;t++)o.push(r.namespace.charCodeAt(t));"bio"===r.namespace.trim()?"sequence"===r.name?this.chr=n:"start"===r.name?this.start=n:"end"===r.name?this.end=n:"cdsMin"===r.name?this.cdStart=n:"cdsMax"===r.name?this.cdEnd=n:"strand"===r.name&&(this.strand=n):"aed"===r.namespace?"name"===r.name&&(this.name=n):"style"===r.namespace&&"color"===r.name&&(this.color=Xi.createColorString(n))}}function Cc(t,e){var n,r,i,o,s,a,c=0,l=this.aed.columns;if(t.length===l.length){for(a=0;a<t.length;a++)o=l[a],""!==(i=t[a])&&c++,"name"===o.name&&"aed"===o.namespace?n=i:"value"===o.name&&"aed"===o.namespace&&(r=i);if(2===c&&n&&r)return s=yc(n),this.aed.metadata[s.namespace]||(this.aed.metadata[s.namespace]={}),void(this.aed.metadata[s.namespace][s.name]||(this.aed.metadata[s.namespace][s.name]={type:s.type,value:r}));var h=new Sc(this.aed,t);if(h.chr&&(h.start||0===h.start)&&h.end)return h;console.log("Cannot parse feature: "+t.join(","))}else console.log("Corrupted AED file row: "+t.join(","))}Sc.prototype.popupData=function(){for(var t=[],e=this.aed,n=0;n<this.allColumns.length;n++){var r=this.allColumns[n],i=e.columns[n].name;"sequence"!==i&&"color"!==i&&r&&t.push({name:i,value:r})}return t};class Ec{constructor(t,e){this.littleEndian=void 0===e||e,this.position=0,this.view=t,this.length=t.byteLength}available(){return this.length-this.position}remLength(){return this.length-this.position}hasNext(){return this.position<this.length-1}getByte(){var t=this.view.getUint8(this.position,this.littleEndian);return this.position++,t}getShort(){var t=this.view.getInt16(this.position,this.littleEndian);return this.position+=2,t}getUShort(){var t=this.view.getUint16(this.position,this.littleEndian);return this.position+=2,t}getInt(){var t=this.view.getInt32(this.position,this.littleEndian);return this.position+=4,t}getUInt(){var t=this.view.getUint32(this.position,this.littleEndian);return this.position+=4,t}getLong(){var t=[];t[0]=this.view.getUint8(this.position),t[1]=this.view.getUint8(this.position+1),t[2]=this.view.getUint8(this.position+2),t[3]=this.view.getUint8(this.position+3),t[4]=this.view.getUint8(this.position+4),t[5]=this.view.getUint8(this.position+5),t[6]=this.view.getUint8(this.position+6),t[7]=this.view.getUint8(this.position+7);var e=0;if(this.littleEndian)for(let n=t.length-1;n>=0;n--)e=256*e+t[n];else for(let n=0;n<t.length;n++)e=256*e+t[n];return this.position+=8,e}getString(t){for(var e,n="";0!==(e=this.view.getUint8(this.position++))&&(n+=String.fromCharCode(e),!t||n.length!==t););return n}getFixedLengthString(t){var e,n,r="";for(e=0;e<t;e++)(n=this.view.getUint8(this.position++))>0&&(r+=String.fromCharCode(n));return r}getFixedLengthTrimmedString(t){var e,n,r="";for(e=0;e<t;e++)(n=this.view.getUint8(this.position++))>32&&(r+=String.fromCharCode(n));return r}getFloat(){var t=this.view.getFloat32(this.position,this.littleEndian);return this.position+=4,t}getDouble(){var t=this.view.getFloat64(this.position,this.littleEndian);return this.position+=8,t}skip(t){return this.position+=t,this.position}getVPointer(){var t=this.position,e=this.view.getUint8(t+1)<<8|this.view.getUint8(t),n=4294967296*(255&this.view.getUint8(t+6))+16777216*(255&this.view.getUint8(t+5))+65536*(255&this.view.getUint8(t+4))+256*(255&this.view.getUint8(t+3))+(255&this.view.getUint8(t+2));return this.position+=8,new Ac(n,e)}}class Ac{constructor(t,e){this.block=t,this.offset=e}isLessThan(t){return this.block<t.block||this.block===t.block&&this.offset<t.offset}isGreaterThan(t){return this.block>t.block||this.block===t.block&&this.offset>t.offset}print(){return this.block+":"+this.offset}}class Tc{constructor(t){this.tabix=!0}parse(t,e){const n=new Ec(new DataView(t)),r=n.getInt();if(21582659!==r)throw 38359875===r?Error("CSI version 2 is not supported. Please enter an issue at https://github.com/igvteam/igv.js"):Error("Not a CSI index");this.indices=[],this.blockMin=Number.MAX_SAFE_INTEGER,this.blockMax=0,this.sequenceIndexMap={},this.minShift=n.getInt(),this.depth=n.getInt();if(n.getInt()>=28){n.getInt(),n.getInt(),n.getInt(),n.getInt(),n.getInt(),n.getInt();const t=n.getInt(),r=n.position+t;let i=0;for(;n.position<r;){let t=n.getString();e&&(t=e.getChromosomeName(t)),this.sequenceIndexMap[t]=i,i++}}const i=this.bin_limit()+1,o=n.getInt();for(let t=0;t<o;t++){const e=[],r=[],o=n.getInt();for(let t=0;t<o;t++){const t=n.getInt();if(r[t]=n.getVPointer(),t>i)n.getInt(),n.getVPointer(),n.getVPointer(),n.getLong(),n.getLong();else{e[t]=[];const r=n.getInt();for(let i=0;i<r;i++){const r=n.getVPointer(),i=n.getVPointer();r&&i&&(r.block<this.blockMin&&(this.blockMin=r.block),i.block>this.blockMax&&(this.blockMax=i.block),e[t].push([r,i]))}}}o>0&&(this.indices[t]={binIndex:e,loffset:r})}}blocksForRange(t,e,n){const r=this.indices[t];if(r){const t=this.reg2bins(e,n);if(0==t.length)return[];const i=[];for(let e of t)for(let t=e[0];t<=e[1];t++)if(r.binIndex[t]){const e=r.binIndex[t],n=e.length;for(let r=0;r<n;++r){const n=e[r][0],o=e[r][1];i.push({minv:n,maxv:o,bin:t})}}return function(t,e){const n=[];let r=null;return 0===t.length?t:(t.sort((function(t,e){const n=t.minv.block-e.minv.block;return 0!==n?n:t.minv.offset-e.minv.offset})),t.forEach((function(t){var i,o;e&&!t.maxv.isGreaterThan(e)||(null===r?(n.push(t),r=t):(i=r,(o=t).minv.block-i.maxv.block<65e3&&o.maxv.block-i.minv.block<5e6?t.maxv.isGreaterThan(r.maxv)&&(r.maxv=t.maxv):(n.push(t),r=t)))})),n)}(i,r.loffset[t[0]])}return[]}reg2bins(t,e){(t-=1)<1&&(t=1),e>2**50&&(e=2**34),e-=1;let n=0,r=0,i=this.minShift+3*this.depth;const o=[];for(;n<=this.depth;i-=3,r+=1<<3*n,n+=1){const n=r+(t>>i),s=r+(e>>i);if(s-n+o.length>this.maxBinNumber)throw new Error(`query ${t}-${e} is too large for current binning scheme (shift ${this.minShift}, depth ${this.depth}), try a smaller query or a coarser index binning scheme`);o.push([n,s])}return o}bin_limit(){return((1<<3*(this.depth+1))-1)/7}}async function Lc(t,e,n){const r=[];let i=Number.MAX_SAFE_INTEGER,o=0;const s=new Ec(new DataView(t)),a=s.getInt(),c={};if(!(21578050===a||e&&21578324===a))throw new Error(indexURL+" is not a "+(e?"tabix":"bai")+" file");{const t=s.getInt();if(e){s.getInt(),s.getInt(),s.getInt(),s.getInt(),s.getInt(),s.getInt(),s.getInt();for(let e=0;e<t;e++){let t=s.getString();n&&(t=n.getChromosomeName(t)),c[t]=e}}for(let e=0;e<t;e++){const t={},n=[],a=s.getInt();for(let e=0;e<a;e++){const e=s.getInt();if(37450===e)s.getInt(),s.getVPointer(),s.getVPointer(),s.getLong(),s.getLong();else{t[e]=[];const n=s.getInt();for(let r=0;r<n;r++){const n=s.getVPointer(),r=s.getVPointer();n&&r&&(n.block<i&&(i=n.block),r.block>o&&(o=r.block),t[e].push([n,r]))}}}const c=s.getInt();for(let t=0;t<c;t++){const t=s.getVPointer();n.push(t)}a>0&&(r[e]={binIndex:t,linearIndex:n})}}return new Rc(r,i,o,c,e)}class Rc{constructor(t,e,n,r,i){this.firstAlignmentBlock=e,this.lastAlignmentBlock=n,this.indices=t,this.sequenceIndexMap=r,this.tabix=i}blocksForRange(t,e,n){const r=this.indices[t];if(r){const t=function(t,e){const n=[];e>=1<<29&&(e=1<<29);return--e,n.push([0,0]),n.push([1+(t>>26),1+(e>>26)]),n.push([9+(t>>23),9+(e>>23)]),n.push([73+(t>>20),73+(e>>20)]),n.push([585+(t>>17),585+(e>>17)]),n.push([4681+(t>>14),4681+(e>>14)]),n}(e,n),i=[];for(let e of t)for(let t=e[0];t<=e[1];t++)if(r.binIndex[t]){const e=r.binIndex[t],n=e.length;for(let r=0;r<n;++r){const n=e[r][0],o=e[r][1];i.push({minv:n,maxv:o,bin:t})}}const o=r.linearIndex.length;let s=null;const a=Math.min(e>>14,o-1),c=Math.min(n>>14,o-1);for(let t=a;t<=c;++t){const e=r.linearIndex[t];e&&(s&&!e.isLessThan(s)||(s=e))}return function(t,e){const n=[];let r=null;return 0===t.length?t:(t.sort((function(t,e){const n=t.minv.block-e.minv.block;return 0!==n?n:t.minv.offset-e.minv.offset})),t.forEach((function(t){var i,o;e&&!t.maxv.isGreaterThan(e)||(null===r?(n.push(t),r=t):(i=r,(o=t).minv.block-i.maxv.block<65e3&&o.maxv.block-i.minv.block<5e6?t.maxv.isGreaterThan(r.maxv)&&(r.maxv=t.maxv):(n.push(t),r=t)))})),n)}(i,s)}return[]}}class Mc{constructor(t){this.chrIndex=t}blocksForRange(t,e,n){const r=this.chrIndex[t];if(r){const t=r.blocks,i=r.longestFeature,o=r.binWidth,s=Math.max(e-i,0),a=Math.floor(s/o);if(a>=t.length)return[];{const e=Math.min(Math.floor((n-1)/o),t.length-1),r=t[a].min,i=t[e].max;if(0===i-r)return[];return[{minv:{block:r,offset:0},maxv:{block:i,offset:0}}]}}}}async function Ic(t,e,n){let r=await so.loadArrayBuffer(t,cs(e)),i=new DataView(r);if(31===i.getUint8(0)&&139===i.getUint8(1)){r=Bi(r).buffer,i=new DataView(r)}switch(i.getInt32(0,!0)){case 21578050:return async function(t,e){return Lc(t,!1,e)}(r,n);case 21578324:return async function(t,e){return Lc(t,!0,e)}(r,n);case 21582659:return async function(t,e){const n=new Tc;return n.parse(t,e),n}(r,n);case 1480870228:return async function(t,e){const n={},r=new Ec(new DataView(t));!function(t){t.getInt(),t.getInt();const e=t.getInt();if(t.getString(),t.getLong(),t.getLong(),t.getString(),t.getInt(),e>=3){let e=t.getInt();for(;e-- >0;)t.getString(),t.getString()}}(r);let i=r.getInt();for(;i-- >0;){const t=o(r);n[t.chr]=t}return new Mc(n);function o(t){let n=t.getString();e&&(n=e.getChromosomeName(n));const r=t.getInt(),i=t.getInt(),o=t.getInt();t.getInt(),t.getInt();let s=t.getLong();const a=new Array;for(let e=0;e<i;e++){const e=t.getLong();a.push({min:s,max:e}),s=e}return{chr:n,blocks:a,longestFeature:o,binWidth:r}}}(r,n);case 38359875:throw Error("CSI version 2 is not supported.");default:throw Error(`Unrecognized index type: ${t}`)}}class Nc{constructor(t){this.config=t,this.filePtr=0,this.bufferPtr=0,this.buffer}async nextLine(){let t;try{for(;;){const e=this.buffer?this.buffer.length:0;for(;this.bufferPtr<e;){const e=String.fromCharCode(this.buffer[this.bufferPtr++]);if("\r"!==e){if("\n"===e)return t;t=t?t+e:e}}if(this.eof)return t;await this.readNextBlock()}}catch(e){return console.warn(e),this.eof=!0,t}}async readNextBlock(){const t=cs(this.config,{range:{start:this.filePtr,size:26}}),e=zi(await so.loadArrayBuffer(this.config.url,t));if(0===e)this.eof=!0,this.buffer=void 0;else{const t=cs(this.config,{range:{start:this.filePtr,size:e}}),n=await so.loadArrayBuffer(this.config.url,t);n.byteLength<e&&(this.eof=!0),this.buffer=Bi(n),this.bufferPtr=0,this.filePtr+=n.byteLength}}}class Fc{constructor(t,e){var n;this.config=t||{},this.genome=e,this.indexURL=t.indexURL,this.indexed=t.indexed,Ve(this.config.url)?this.filename=this.config.url.name:ds(this.config.url)?(this.indexed=!1,this.dataURI=t.url):(n=ze(this.config.url),this.filename=t.filename||n.file),this.parser=this.getParser(this.config),"vcf"!==this.config.format||this.config.indexURL||console.warn("Warning: index file not specified. The entire vcf file will be loaded.")}async readFeatures(t,e,n){return await this.getIndex()?(this.indexed=!0,this.loadFeaturesWithIndex(t,e,n)):this.dataURI?(this.indexed=!1,this.loadFeaturesFromDataURI()):(this.indexed=!1,this.loadFeaturesNoIndex())}async readHeader(){if(this.dataURI)return await this.loadFeaturesFromDataURI(this.dataURI),this.header;if(this.config.indexURL){const t=await this.getIndex();if(!t)throw new Error("Unable to load index: "+this.config.indexURL);let e;if(t.tabix)e=new Nc(this.config);else{const n=Object.values(t.chrIndex).flatMap((t=>t.blocks)).map((t=>t.max)).reduce(((t,e)=>Math.min(t,e)),Number.MAX_SAFE_INTEGER),r=cs(this.config,{bgz:t.tabix,range:{start:0,size:n}});e=fc(await so.loadString(this.config.url,r))}return this.header=await this.parser.parseHeader(e),this.header}{const t=cs(this.config),e=await so.loadString(this.config.url,t);let n=fc(e);return this.header=await this.parser.parseHeader(n),n=fc(e),this.features=await this.parser.parseFeatures(n),this.header}}getParser(t){switch(t.format){case"vcf":return new hc(t);case"seg":return new ec("seg");case"mut":return new ec("mut");case"maf":return new ec("maf");case"gwas":return new gc(t);case"aed":return new wc(t);default:return new Ya(t)}}async loadFeaturesNoIndex(){if(this.features){const t=this.features;return delete this.features,t}{const t=cs(this.config),e=await so.loadString(this.config.url,t);if(!this.header){const t=fc(e);this.header=await this.parser.parseHeader(t)}const n=fc(e);return await this.parser.parseFeatures(n)}}async loadFeaturesWithIndex(t,e,n){const r=this.config,i=this.parser,o=this.index.tabix,s=o?this.index.sequenceIndexMap[t]:t;if(void 0===s)return[];const a=this.genome,c=this.index.blocksForRange(s,e,n);if(c&&0!==c.length){const s=[];for(let l of c){const c=l.minv.block,h=l.minv.offset,u=l.maxv.offset;let f;if(o){let t=0;if(u>0){const e=cs(r,{range:{start:l.maxv.block,size:26}});t=zi(await so.loadArrayBuffer(r.url,e))}f=l.maxv.block+t}else f=l.maxv.block;const d=cs(r,{range:{start:c,size:f-c+1}});let p;if(o){p=Bi(await so.loadArrayBuffer(r.url,d))}else p=await so.loadString(r.url,d);const g=fc(h?p.slice(h):p),m=await i.parseFeatures(g);let v=!1;for(let r=0;r<m.length;r++){const i=m[r];if((a?a.getChromosomeName(i.chr):i.chr)!==t){if(0===s.length)continue;break}if(i.start>n){s.push(i);break}i.end>=e&&i.start<=n&&(v||(v=!0,r>0&&s.push(m[r-1])),s.push(i))}}return s.sort((function(t,e){return t.start-e.start})),s}return[]}async getIndex(){return this.index||!this.config.indexURL||(this.index=await this.loadIndex()),this.index}async loadIndex(){return Ic(this.config.indexURL,this.config,this.genome)}async loadFeaturesFromDataURI(){if(this.features){const t=this.features;return delete this.features,t}{const t=Ui(this.dataURI);let e=fc(t);return this.header=await this.parser.parseHeader(e),this.header instanceof String&&this.header.startsWith("##gff-version 3")&&(this.format="gff3"),e=fc(t),this.features=await this.parser.parseFeatures(e),this.features}}}const Pc=_e;class Oc{constructor(t){this.config=t}async readFeatures(t,e,n){let r;r="function"==typeof this.config.url?this.config.url({chr:t,start:e,end:n}):this.config.url.replace("$CHR",t).replace("$START",e).replace("$END",n);let i,o=Object.assign({},this.config);void 0!==this.config.body&&("function"==typeof this.config.body?o.body=this.config.body({chr:t,start:e,end:n}):o.body=this.config.body.replace("$CHR",t).replace("$START",e).replace("$END",n));const s=await so.load(r,o);if(s&&(i="function"==typeof this.config.parser?this.config.parser(s):Pc(s)?JSON.parse(s):s),this.config.mappings){let t=Object.keys(this.config.mappings);for(let e of i)for(let n of t)e[n]=e[this.config.mappings[n]]}return i}}const Dc=function(t,e){this.config=t,this.genome=e,this.expandQueryInterval=!1};Dc.prototype.readFeatures=function(t,e,n){const r=Math.max(0,Math.floor(e));let i=Math.ceil(n);if(this.genome){const e=this.genome.getChromosome(t);e&&i>e.bpLength&&(i=e.bpLength)}const o=this.config.url+"?db="+this.config.db+"&table="+this.config.tableName+"&chr="+t+"&start="+r+"&end="+i;return so.loadJson(o,this.config).then((function(t){return t?(t.forEach((function(t){t.hasOwnProperty("exonStarts")&&t.hasOwnProperty("exonEnds")&&t.hasOwnProperty("exonCount")&&t.hasOwnProperty("cdsStart")&&t.hasOwnProperty("cdsEnd")&&function(t){var e,n,r,i,o,s;e=t.exonCount,n=t.exonStarts.split(","),r=t.exonEnds.split(","),i=[];for(var a=0;a<e;a++){var c={start:o=parseInt(n[a]),end:s=parseInt(r[a])};(t.cdsStart>s||t.cdsEnd<t.cdsStart)&&(c.utr=!0),t.cdsStart>=o&&t.cdsStart<=s&&(c.cdStart=t.cdsStart),t.cdsEnd>=o&&t.cdsEnd<=s&&(c.cdEnd=t.cdsEnd),i.push(c)}t.exons=i}(t)})),t):null}))};const Bc=["Name","gene_name","gene","gene_id","alias","locus","name"];class zc{constructor(t){this.format=t.format,this.nameField=t.nameField,this.filterTypes=void 0===t.filterTypes?new Set(["chromosome"]):new Set(t.filterTypes)}combineFeatures(t,e){let n;const r=this.filterTypes;if(t=t.filter((t=>void 0===r||!r.has(t.type))),"gff3"===this.format){const e=this.combineFeaturesById(t);n=this.combineFeaturesByType(e)}else n=this.combineFeaturesByType(t);return n.sort((function(t,e){return t.start-e.start})),this.numberExons(n,e),this.nameFeatures(n),n}combineFeaturesById(t){const e=new Map,n=[];for(let r of t)if(Ca(r.type)||Sa(r.type)||!r.id)n.push(r);else{let t=e.get(r.chr);t||(t=new Map,e.set(r.chr,t));let n=t.get(r.id);n?n.push(r):t.set(r.id,[r])}for(let t of e.values())for(let e of t.values())if(e.length>1){const t=e[0];t.exons=[];for(let n of e)t.start=Math.min(t.start,n.start),t.end=Math.max(t.end,n.end),t.exons.push({start:n.start,end:n.end});n.push(t)}else n.push(e[0]);return n}combineFeaturesByType(t){const e=t.filter((t=>"gene"===t.type||t.type.endsWith("_gene"))),n=Object.create(null);for(let t of e)n[t.id]=t;const r=Object.create(null),i=[],o=new Set,s=this.filterTypes;t=t.filter((t=>void 0===s||!s.has(t.type)));for(let e of t)if("biological_region"===e.type&&console.log(),Sa(e.type)){const t=e.id;if(void 0!==t){const s=new Ta(e);r[t]=s,i.push(s),o.add(e);const a=n[e.parent];a&&(s.geneObject=a,o.add(a))}}for(let e of t)if(Ca(e.type)){const t=l(e);if(t)for(let n of t){let s=r[n];if(!s&&"gtf"===this.format){const t=Object.assign({},e);t.type="transcript",s=new Ta(t),r[n]=s,i.push(s)}if(void 0!==s){if(a=e.type,wa.has(a))if(t.length>1){const t=new Aa(e);s.addExon(t)}else s.addExon(e);else s.addPart(e);o.add(e)}}}var a;i.forEach((function(t){"function"==typeof t.finish&&t.finish()}));const c=t.filter((t=>!o.has(t)));for(let t of c)i.push(t);return i;function l(t){return t.parent&&""!==t.parent.trim()?t.parent.trim().split(","):null}}numberExons(t,e){for(let n of t)if(n.exons&&(!e||n.end<=e.end&&n.start>e.start))for(let t=0;t<n.exons.length;t++){n.exons[t].number="-"===n.strand?n.exons.length-t:t+1}}nameFeatures(t){for(let e of t)if(e.attributeString){const t="gff3"===this.format?"=":" ",n=Ia(e.attributeString,t),r=new Map(n);if(this.nameField)e.name=r.get(this.nameField);else for(let t of Bc)if(r.has(t)){e.name=r.get(t);break}}}}const jc=function(t){this.config=t,this.url=t.url,this.tissueId=t.tissueSiteDetailId,this.indexed=!0,this.datasetId=t.datasetId||"gtex_v8"};jc.prototype.readFeatures=async function(t,e,n){let r=t.startsWith("chr")?t:"chr"+t,i=Math.floor(e),o=Math.ceil(n),s=this.datasetId,a=this.url+"?chromosome="+r+"&start="+i+"&end="+o+"&tissueSiteDetailId="+this.tissueId+"&datasetId="+s;const c=await so.loadJson(a,{withCredentials:this.config.withCredentials});return c&&c.singleTissueEqtl?(c.singleTissueEqtl.forEach((function(t){t.chr=t.chromosome,t.position=t.pos,t.start=t.pos-1,t.end=t.start+1,t.snp=t.snpId,t.geneName=t.geneSymbol,t.geneId=t.gencodeId})),c.singleTissueEqtl):void 0};const Hc=function(t){this.config=t,this.url=t.url,this.cellConditionId=t.cellConditionId,this.valueThreshold=t.valueThreshold?t.valueThreshold:.05};Hc.prototype.readFeatures=function(t,e,n){var r=this,i=this.url+"?chromosome="+t+"&start="+e+"&end="+n+"&cell_condition_id="+this.cellConditionId;return new Promise((function(t,e){so.loadJson(i,{withCredentials:r.config.withCredentials}).then((function(e){e?(e.eqtls.forEach((function(t){t.chr=t.chromosome,t.start=t.position,t.end=t.position+1})),t(e.eqtls)):t(null)})).catch((function(t){e(t)}))}))};const Vc=so.apiKey;function Uc(t){var e=t.url+"/"+t.entity+"/"+t.entityId;return t.headers={"Cache-Control":"no-cache"},so.loadJson(e,t)}function qc(t){return new Promise((function(e,n){var r=t.results?t.results:[],i=t.url,o=t.body,s=t.decode,a="?",c=t.fields;return Vc&&(i=i+a+"key="+Vc,a="&"),c&&(i=i+a+"fields="+c),function t(a){a?o.pageToken=a:void 0!==o.pageToken&&delete o.pageToken;var c=JSON.stringify(o);so.loadJson(i,{sendData:c,contentType:"application/json",headers:{"Cache-Control":"no-cache"}}).then((function(n){var i,o;n?((o=s?s(n):n)&&o.forEach((function(t){r.push(t)})),(i=n.nextPageToken)?t(i):e(r)):e(r)})).catch((function(t){n(t)}))}()}))}const Wc=function(t,e){this.config=t,this.genome=e,this.url=t.url,this.variantSetId=t.variantSetId,this.callSetIds=t.callSetIds,this.includeCalls=void 0===t.includeCalls||t.includeCalls};Wc.prototype.readHeader=function(){var t=this;return t.header?Promise.resolve(t.header):(t.header={},!1===t.includeCalls?Promise.resolve(t.header):qc({url:t.url+"/callsets/search",fields:"nextPageToken,callSets(id,name)",body:{variantSetIds:Array.isArray(t.variantSetId)?t.variantSetId:[t.variantSetId],pageSize:"10000"},decode:function(e){if(t.callSetIds){var n=[],r=new Set;return t.callSetIds.forEach((function(t){r.add(t)})),e.callSets.forEach((function(t){r.has(t.id)&&n.push(t)})),n}return e.callSets}}).then((function(e){return t.header.callSets=e,t.header})))},Wc.prototype.readFeatures=function(t,e,n){const r=this,i=this.genome;return r.readHeader().then((function(t){return new Promise((function(t,e){r.chrAliasTable?t(r.chrAliasTable):r.readMetadata().then((function(e){r.metadata=e.metadata,r.chrAliasTable={},e.referenceBounds&&i&&e.referenceBounds.forEach((function(t){var e=t.referenceName,n=i.getChromosomeName(e);r.chrAliasTable[n]=e})),t(r.chrAliasTable)}))}))})).then((function(i){var o=i.hasOwnProperty(t)?i[t]:t;return qc({url:r.url+"/variants/search",fields:r.includeCalls?void 0:"nextPageToken,variants(id,variantSetId,names,referenceName,start,end,referenceBases,alternateBases,quality,filter,info)",body:{variantSetIds:Array.isArray(r.variantSetId)?r.variantSetId:[r.variantSetId],callSetIds:r.callSetIds?r.callSetIds:void 0,referenceName:o,start:e.toString(),end:n.toString(),pageSize:"10000"},decode:function(t){var e,n=[];return t.variants.forEach((function(t){(e=function(t){var e,n=new ac;return n.chr=t.referenceName,n.start=parseInt(t.start),n.end=parseInt(t.end),n.pos=n.start+1,n.names=lc(t.names,"; "),n.referenceBases=t.referenceBases,n.alternateBases=lc(t.alternateBases),n.quality=t.quality,n.filter=lc(t.filter),n.info={},t.info&&Object.keys(t.info).forEach((function(e){var r,i=t.info[e];r=Array.isArray(i)?i.join(","):i,n.info[e]=r})),n.calls={},t.calls&&t.calls.forEach((function(t){e=t.callSetId,n.calls[e]=t})),init(n),n}(t)).isRefBlock()||n.push(e)})),n}})}))},Wc.prototype.readMetadata=function(){return Uc({url:this.url,entity:"variantsets",entityId:this.variantSetId})};class $c{constructor(t){this.config=t}async readFeatures(t,e,n){const r=(await so.loadJson(this.config.url+"/variants/?count=50000")).records,i=[];for(let t of r)if(t.coordinates){t.id;const e=t.coordinates;e.chromosome&&i.push(new Gc(e.chromosome,e.start-1,e.stop,t)),e.chromosome2&&i.push(new Gc(e.chromosome2,e.start2-1,e.stop2,t))}return i}}class Gc{constructor(t,e,n,r){if(this.chr=t,this.start=e,this.end=n,this.id=r.id,this.entrezName=r.entrez_name,this.name=r.name,this.actionabilityScore=r.civic_actionability_score,r.coordinates.reference_bases&&(this.refBases=r.coordinates.reference_bases),r.coordinates.variant_bases&&(this.altBases=r.coordinates.variant_bases),r.variant_types&&(this.variant_types=r.variant_types),this.locationString=this.chr+":"+ke(this.start+1)+"-"+ke(this.end),void 0!==this.actionabilityScore){let t;if(this.actionabilityScore<=10)t=.2;else{const e=Math.min(30,this.actionabilityScore);t=.2+.8*Math.log10((e-10)/2)}this.alpha=t}}popupData(){const t=n("CIViC","https://civicdb.org/links/variants/"+this.id);this.refBases!==this.altBases&&this.refBases&&1===this.refBases.length&&this.altBases&&this.altBases.length;const e=[t];if(e.push({name:"Entrez",value:n(this.entrezName,"https://ghr.nlm.nih.gov/gene/"+this.entrezName)}),e.push({name:"Name",value:this.name}),this.variant_types&&this.variant_types.length>0){const t=1===this.variant_types.length?"Type":"Types";let n;for(let t of this.variant_types)n?n+=", "+t.display_name:n=t.display_name;e.push({name:t,value:n})}return e.push({name:"Actionability",value:this.actionabilityScore}),e.push({name:"Location",value:this.locationString}),e;function n(t,e){return"<a target='_blank' href='"+e+"'>"+t+"</a>"}}}function Zc(t,e){e=e||Number.MAX_SAFE_INTEGER;const n=[];t.sort((function(t,e){return t.start-e.start})),n.push(-1e3);for(let r of t){let t=0;const i=Math.min(n.length,e);for(t=0;t<i;t++)if(r.start>n[t]){r.row=t,n[t]=r.end;break}r.row=t,n[t]=r.end}}class Xc{constructor(t,e){if(this.config=t,this.genome=e,this.format=t.format?t.format.toUpperCase():"BAM","BAM"!==this.format&&"VCF"!==this.format)throw Error(`htsget format ${t.format} is not supported`)}async readHeaderData(){const t=`${Yc(this.config)}?class=header&format=${this.format}`,e=await so.loadJson(t,cs(this.config));return await this.loadUrls(e.htsget.urls)}async readData(t,e,n){const r=`${Yc(this.config)}?format=${this.format}&referenceName=${t}&start=${Math.floor(e)}&end=${Math.ceil(n)}`,i=await so.loadJson(r,cs(this.config));return this.loadUrls(i.htsget.urls)}async loadUrls(t){const e=[];for(let n of t)if(n.url.startsWith("data:"))e.push(Promise.resolve(Kc(n.url)));else{const t=cs(this.config||{});n.headers&&(t.headers=Object.assign(t.headers||{},n.headers)),e.push(so.loadArrayBuffer(n.url,t))}return function(t){let e=0;for(let n of t)e+=n.byteLength;let n=0;const r=new Uint8Array(e);for(let e of t){const t=new Uint8Array(e);r.set(t,n),n+=t.length}return r}(await Promise.all(e))}static async inferFormat(t){try{const e=Yc(t),n=`${e}${e.includes("?")?"&":"?"}class=header`,r=await so.loadJson(n,cs(t));if(r.htsget){const e=r.htsget.format;if("BAM"!==e&&"VCF"!==e)throw Error(`htsget format ${e} is not supported`);t.format=e.toLowerCase(),t.sourceType="htsget",t.name||(t.name=await us(t.url))}}catch(t){}}}function Yc(t){if(t.url&&t.endpoint&&t.id)return t.url+t.endpoint+t.id;if(t.endpoint&&t.id)return t.endpoint+t.id;if(t.url)return t.url.startsWith("htsget://")?t.url.replace("htsget://","https://"):t.url;throw Error("Must specify either 'url', or 'endpoint' and 'id")}function Kc(t){const e=t.split(","),n=e[0].split(":")[1];let r=e[1];r=n.indexOf("base64")>=0?atob(r):decodeURI(r);const i=new Uint8Array(r.length);for(var o=0;o<r.length;o++)i[o]=r.charCodeAt(o);return i}class Qc extends Xc{constructor(t,e){super(t,e),this.parser=new hc}async readHeader(){if(!this.header){const t=fc(await this.readHeaderData());this.header=await this.parser.parseHeader(t,this.genome),this.chrAliasTable=this.header.chrAliasTable}return this.header}async readFeatures(t,e,n){if(this.config.format&&"VCF"!==this.config.format.toUpperCase())throw Error(`htsget format ${this.config.format} is not supported`);this.chrAliasTable||await this.readHeader();let r=this.chrAliasTable.has(t)?this.chrAliasTable.get(t):t;const i=fc(await this.readData(r,e,n));return this.parser.parseFeatures(i)}}class Jc{constructor(t,e){this.config=t||{},this.genome=e,this.sourceType=void 0===t.sourceType?"file":t.sourceType,this.visibilityWindow=t.visibilityWindow;const n=new Set(["bigwig","bw","bigbed","bb","tdf"]);if(t.features&&Array.isArray(t.features)){let n=function(t,e){if(!t||0===t.length)return[];if(void 0===t[0].chr&&void 0!==t[0].chr1){const n=[];for(let r of t)e&&(r.chr1=e.getChromosomeName(r.chr1),r.chr2=e.getChromosomeName(r.chr2)),r.chr1===r.chr2?(r.chr=r.chr1,r.start=Math.min(r.start1,r.start2),r.end=Math.max(r.end1,r.end2)):n.push(r);for(let e of n){const n=Object.assign({dup:!0},e);t.push(n),e.chr=e.chr1,e.start=e.start1,e.end=e.end1,n.chr=n.chr2,n.start=n.start2,n.end=n.end2}}else if(e)for(let n of t)n.chr=e.getChromosomeName(n.chr);return t}(t.features,e);tl(n),t.mappings&&function(t,e){let n=Object.keys(e);t.forEach((function(t){n.forEach((function(n){t[n]=t[e[n]]}))}))}(n,t.mappings),this.queryable=!1,this.featureCache=new _o(n,e)}else t.reader?(this.reader=t.reader,this.queryable=void 0===t.queryable||t.queryable,this.expandQuery=!!t.expandQuery):"ga4gh"===t.sourceType?(this.reader=new Wc(t,e),this.queryable=!0):"immvar"===t.sourceType?(this.reader=new Hc(t),this.queryable=!0):"eqtl"===t.type&&"gtex-ws"===t.sourceType?(this.reader=new jc(t),this.queryable=!0,this.expandQuery=!!t.expandQuery):"htsget"===t.sourceType?this.reader=new Qc(t,e):"ucscservice"===t.sourceType?(this.reader=new Dc(t.source),this.queryable=!0):"custom"===t.sourceType||void 0!==t.source?(this.reader=new Oc(t.source),this.queryable=void 0===t.source.queryable||t.source.queryable,this.expandQuery=!!t.expandQuery):"civic-ws"===t.sourceType?(this.reader=new $c(t),this.queryable=!1,this.expandQuery=!!t.expandQuery):(this.reader=new Fc(t,e),void 0!==t.queryable?this.queryable=t.queryable:n.has(t.format)&&(this.queryable=n.has(t.format)||this.reader.indexed))}supportsWholeGenome(){return!this.queryable&&(void 0===this.visibilityWindow||this.visibilityWindow<=0)}async trackType(){const t=await this.getHeader();return t?t.type:void 0}async getHeader(){if(!this.header)if(this.reader&&"function"==typeof this.reader.readHeader){const t=await this.reader.readHeader();t?(this.header=t,t.format&&(this.config.format=t.format)):this.header={}}else this.header={};return this.header}async getFeatures({chr:t,start:e,end:n,bpPerPixel:r,visibilityWindow:i}){const o=this.genome,s=o?o.getChromosomeName(t):t,a="all"===s.toLowerCase();return(a&&!this.getWGFeatures||this.config.disableCache||!this.featureCache||!this.featureCache.containsRange(new vs(s,e,n)))&&await this.loadFeatures(e,n,i,s),a?(this.wgFeatures||(this.queryable?this.wgFeatures=[]:this.wgFeatures=this.getWGFeatures(this.featureCache.getAllFeatures())),this.wgFeatures):this.featureCache.queryFeatures(s,e,n)}async loadFeatures(t,e,n,r){const i=this.reader;let o=t,s=e;if((!n||n<=0)&&!1!==this.expandQuery){const t=this.genome?this.genome.getChromosome(r):void 0;o=0,s=t?t.bpLength:Number.MAX_SAFE_INTEGER}else if(n>e-t&&!1!==this.expandQuery){const r=Math.min(4.1*(e-t),n);o=Math.max(0,(t+e)/2-r),s=t+r}let a=await i.readFeatures(r,o,s);void 0===this.queryable&&(this.queryable=i.indexed);const c=this.queryable?new vs(r,o,s):void 0;if(a){if(!1===this.config.assembleGFF||"gtf"!==this.config.format&&"gff3"!==this.config.format&&"gff"!==this.config.format||(a=new zc(this.config).combineFeatures(a,c)),"wig"!==this.config.format&&"junctions"!==this.config.type){tl(a,this.config.maxRows||Number.MAX_SAFE_INTEGER)}this.featureCache=new _o(a,this.genome,c),this.config.searchable&&this.addFeaturesToDB(a)}else this.featureCache=new _o([],c)}addFeaturesToDB(t){for(let e of t)e.name&&(this.genome.featureDB[e.name.toUpperCase()]=e),e.gene&&e.gene.name&&(this.genome.featureDB[e.gene.name.toUpperCase()]=e)}getWGFeatures(t){const e=this.genome,n=new Set(e.wgChromosomeNames),r=[];for(let i of e.wgChromosomeNames){const o=t[i];if(o)for(let t of o){let i=e.getChromosomeName(t.chr);if(n.has(i)){const n=Object.assign({},t);n.chr="all",n.start=e.getGenomeCoordinate(t.chr,t.start),n.end=e.getGenomeCoordinate(t.chr,t.end),n._f=t,n.exons&&delete n.exons,r.push(n)}}}return r.sort((function(t,e){return t.start-e.start})),r}}function tl(t,e){if(e=e||1e3,null==t||0===t.length)return;const n={},r=[];for(let e of t){const t=e.chr;let i=n[t];i||(i=[],n[t]=i,r.push(t)),i.push(e)}for(let t of r)Zc(n[t],e)}class el{constructor(t,e,n){this.path=t.url,this.bufferSize=n||512e3,this.range={start:-1,size:-1},this.config=t}async dataViewForRange(t,e){if(!(this.data&&this.range.start<=t.start&&this.range.start+this.range.size>=t.start+t.size)){let e;e=t.size?Math.max(this.bufferSize,t.size):this.bufferSize;const n={start:t.start,size:e},r=await so.loadArrayBuffer(this.path,cs(this.config,{range:n}));this.data=r,this.range=n}const n=this.data.byteLength,r=t.start-this.range.start;return e?new Uint8Array(this.data,r,n-r):new DataView(this.data,r,n-r)}}class nl{constructor(t,e){this.path=t.url,this.genome=e,this.rpTreeCache={},this.config=t,this.loader=ds(this.path)?new dl(this.path):so}async readWGFeatures(t,e){await this.loadHeader();const n=this.chromTree.idToChrom.length-1,r=this.chromTree.idToChrom[0],i=this.chromTree.idToChrom[n];return this.readFeatures(r,0,i,Number.MAX_VALUE,t,e)}async readFeatures(t,e,n,r,i,o){await this.loadHeader();const s=this.chromTree.chromToID[t],a=this.chromTree.chromToID[n];if(void 0===s||void 0===a)return[];let c,l;if("bigwig"===this.type){const t=await this.getZoomHeaders();let e=i?function(t,e){let n;for(let r=0;r<e.length;r++){const i=e[r];if(i.reductionLevel<t){n=i;break}}return n}(i,t):void 0;e?(c=e.indexOffset,l=fl):(c=this.header.fullIndexOffset,l=hl)}else c=this.header.fullIndexOffset,l=ul.call(this);const h=await this.loadRPTree(c),u=await h.findLeafItemsOverlapping(s,e,a,r);if(u&&0!==u.length){let t=Number.MAX_VALUE,n=0;for(let e of u)t=Math.min(t,e.dataOffset),n=Math.max(n,e.dataOffset+e.dataSize);const i=n-t,c=await this.loader.loadArrayBuffer(this.config.url,cs(this.config,{range:{start:t,size:i}})),h=[];for(let n of u){const i=new Uint8Array(c,n.dataOffset-t,n.dataSize);let u;u=this.header.uncompressBuffSize>0?Di(i):i,l.call(this,new DataView(u.buffer),s,e,a,r,h,this.chromTree.idToChrom,o)}return h.sort((function(t,e){return t.start-e.start})),h}return[]}async getZoomHeaders(){return this.zoomLevelHeaders||await this.loadHeader(),this.zoomLevelHeaders}async loadHeader(){if(this.header)return this.header;{let t,e=await this.loader.loadArrayBuffer(this.path,cs(this.config,{range:{start:0,size:64}}));this.littleEndian=!0;let n=new Ec(new DataView(e)),r=n.getUInt();if(2291137574===r)this.type="bigwig";else if(2273964779===r)this.type="bigbed";else{this.littleEndian=!1,n.littleEndian=!1,n.position=0;let t=n.getUInt();654085990===t?this.type="bigwig":3958540679===t&&(this.type="bigbed")}t={bwVersion:n.getUShort(),nZoomLevels:n.getUShort(),chromTreeOffset:n.getLong(),fullDataOffset:n.getLong(),fullIndexOffset:n.getLong(),fieldCount:n.getUShort(),definedFieldCount:n.getUShort(),autoSqlOffset:n.getLong(),totalSummaryOffset:n.getLong(),uncompressBuffSize:n.getInt(),extensionOffset:n.getLong()};const i=64;let o={start:i,size:t.fullDataOffset-i+5};e=await this.loader.loadArrayBuffer(this.path,cs(this.config,{range:o}));const s=t.nZoomLevels;n=new Ec(new DataView(e)),this.zoomLevelHeaders=[],this.firstZoomDataOffset=Number.MAX_SAFE_INTEGER;for(let t=1;t<=s;t++){const e=s-t,r=new rl(e,n);this.firstZoomDataOffset=Math.min(r.dataOffset,this.firstZoomDataOffset),this.zoomLevelHeaders[e]=r}if(t.autoSqlOffset>0){n.position=t.autoSqlOffset-i;const e=n.getString();e&&(this.autoSql=function(t){let e;const n=[];let r=!1;const i=t.trim().split(/\s*[\r\n]+\s*/g);for(let t of i)if(t.startsWith("table"))e=t.split(/\s+/)[1].trim();else if(t.startsWith("("))r=!0;else if(t.startsWith(")"));else if(r&&t.length>0){const e=t.indexOf(";"),r=t.substr(0,e).split(/\s+/),i=t.substr(e+1).replace(/"/g,"").trim();n.push({type:r[0],name:r[1],description:i})}return{table:e,fields:n}}(e))}if(t.totalSummaryOffset>0&&(n.position=t.totalSummaryOffset-i,this.totalSummary=new cl(n)),!(t.chromTreeOffset>0))throw"BigWig chromosome tree offset <= 0";return n.position=t.chromTreeOffset-i,this.chromTree=new sl(n,i,this.genome),n.position=t.fullDataOffset-i,t.dataCount=n.getInt(),this.setDefaultVisibilityWindow(t),this.header=t,this.header}}async loadRPTree(t){let e=this.rpTreeCache[t];return e||(e=new il(t,this.config,this.littleEndian,this.loader),await e.load(),this.rpTreeCache[t]=e,e)}async getType(){return await this.loadHeader(),this.type}async getTrackType(){return await this.loadHeader(),"bigwig"===this.type?"wig":this.autoSql&&"chromatinInteract"===this.autoSql.table?"interact":"annotation"}setDefaultVisibilityWindow(t){if("bigwig"===this.type)this.visibilityWindow=-1;else{let e=this.genome?this.genome.getGenomeLength():3088286401;this.visibilityWindow=t.dataCount<1e3?-1:e/t.dataCount*1e3}}}class rl{constructor(t,e){this.index=t,this.reductionLevel=e.getInt(),this.reserved=e.getInt(),this.dataOffset=e.getLong(),this.indexOffset=e.getLong()}}class il{constructor(t,e,n,r){this.config=e,this.loader=r,this.fileOffset=t,this.path=e.url,this.littleEndian=n}async load(){const t=this.fileOffset+48,e=ds(this.path)?this.loader:new el(this.config,512e3);return this.rootNode=await this.readNode(t,e),this}async readNode(t,e){let n=await e.dataViewForRange({start:t,size:4},!1),r=new Ec(n,this.littleEndian);const i=1===r.getByte();r.getByte();const o=r.getUShort();let s={start:t+=4,size:o*(i?32:24)};n=await e.dataViewForRange(s,!1);const a=new Array(o);if(r=new Ec(n),i){for(let t=0;t<o;t++){let e={isLeaf:!0,startChrom:r.getInt(),startBase:r.getInt(),endChrom:r.getInt(),endBase:r.getInt(),dataOffset:r.getLong(),dataSize:r.getLong()};a[t]=e}return new ol(a)}for(let t=0;t<o;t++){let e={isLeaf:!1,startChrom:r.getInt(),startBase:r.getInt(),endChrom:r.getInt(),endBase:r.getInt(),childOffset:r.getLong()};a[t]=e}return new ol(a)}async findLeafItemsOverlapping(t,e,n,r){let i=this;return new Promise((function(o,s){let a=[],c=new Set,l=ds(i.path)?i.loader:new el(i.config,512e3);c.add(0),function h(u,f){if(al(u,t,e,n,r)){u.items.forEach((function(o){al(o,t,e,n,r)&&(o.isLeaf?a.push(o):o.childNode?h(o.childNode):(c.add(o.childOffset),i.readNode(o.childOffset,l).then((function(t){o.childNode=t,h(t,o.childOffset)})).catch(s)))}))}void 0!==f&&c.delete(f);0===c.size&&o(a)}(i.rootNode,0)}))}}class ol{constructor(t){this.items=t;let e,n,r=Number.MAX_SAFE_INTEGER,i=0,o=Number.MAX_SAFE_INTEGER,s=0;for(e=0;e<t.length;e++)n=t[e],r=Math.min(r,n.startChrom),i=Math.max(i,n.endChrom),o=Math.min(o,n.startBase),s=Math.max(s,n.endBase);this.startChrom=r,this.endChrom=i,this.startBase=o,this.endBase=s}}class sl{constructor(t,e,n){let r=t.getInt(),i=t.getInt(),o=t.getInt(),s=t.getInt(),a=t.getLong(),c=t.getLong(),l={},h=[];this.header={magic:r,blockSize:i,keySize:o,valSize:s,itemCount:a,reserved:c},this.chromToID=l,this.idToChrom=h,function t(r,i){i>=0&&(r.position=i);let s=r.getByte();r.getByte();let a,c,u,f,d,p,g=r.getUShort();if(1===s)for(a=0;a<g;a++)c=r.getFixedLengthTrimmedString(o),u=r.getInt(),r.getInt(),n&&(c=n.getChromosomeName(c)),l[c]=u,h[u]=c;else for(a=0;a<g;a++)c=r.getFixedLengthTrimmedString(o),f=r.getLong(),d=f-e,p=r.position,t(r,d),r.position=p}(t,-1)}}function al(t,e,n,r,i){return t?(r>t.startChrom||r===t.startChrom&&i>=t.startBase)&&(e<t.endChrom||e===t.endChrom&&n<=t.endBase):(console.log("null item for "+e+" "+n+" "+i),!1)}class cl{constructor(t){t?(this.basesCovered=t.getLong(),this.minVal=t.getDouble(),this.maxVal=t.getDouble(),this.sumData=t.getDouble(),this.sumSquares=t.getDouble(),ll.call(this)):(this.basesCovered=0,this.minVal=0,this.maxVal=0,this.sumData=0,this.sumSquares=0,this.mean=0,this.stddev=0)}}function ll(){let t=this.basesCovered;if(t>0){this.mean=this.sumData/t,this.stddev=Math.sqrt(this.sumSquares/(t-1));let e=this.minVal<0?this.mean-2*this.stddev:0,n=this.maxVal>0?this.mean+2*this.stddev:0;this.defaultRange={min:e,max:n}}}function hl(t,e,n,r,i,o,s){const a=new Ec(t),c=a.getInt();let l=a.getInt(),h=a.getInt();const u=a.getInt(),f=a.getInt(),d=a.getByte();a.getByte();let p=a.getUShort();if(c>=e&&c<=r)for(;p-- >0;){let t;switch(d){case 1:l=a.getInt(),h=a.getInt(),t=a.getFloat();break;case 2:l=a.getInt(),t=a.getFloat(),h=l+f;break;case 3:t=a.getFloat(),h=l+f,l+=u}if(!(c<e||c===e&&h<n)){if(c>r||c===r&&l>=i)break;if(Number.isFinite(t)){const e=s[c];o.push({chr:e,start:l,end:h,value:t})}}}}function ul(){const t=function(t,e,n){if(n&&"chromatinInteract"===n.table)return function(t,e){return t.chr1=e[5],t.start1=Number.parseInt(e[6]),t.end1=Number.parseInt(e[7]),t.chr2=e[10],t.start2=Number.parseInt(e[11]),t.end2=Number.parseInt(e[12]),t.name=e[0],t.score=Number.parseFloat(e[1]),t.value=Number.parseFloat(e[2]),t.color="."===e[4]?void 0:"0"===e[4]?"rgb(0,0,0)":e[4],t};{const r=t-3;return function(i,o){if(r>0&&(i.name=o[0]),r>1&&(i.score=parseFloat(o[1])),r>2&&(i.strand=o[2]),r>3&&(i.cdStart=parseInt(o[3])),r>4&&(i.cdEnd=parseInt(o[4])),r>5&&"."!==o[5]&&"0"!==o[5]&&"-1"!==o[5]){const t=Xi.createColorString(o[5]);i.color=t.startsWith("rgb")?t:void 0}if(r>8){const t=parseInt(o[6]),e=o[7].split(","),n=o[8].split(","),r=[];for(let o=0;o<t;o++){const t=i.start+parseInt(n[o]),s=t+parseInt(e[o]);r.push({start:t,end:s})}i.exons=r}if(n)for(let r=t;r<e;r++)if(r<n.fields.length){const t=n.fields[r].name,e=o[r-3];i[t]=e}}}}(this.header.definedFieldCount,this.header.fieldCount,this.autoSql);return function(e,n,r,i,o,s,a){const c=new Ec(e);for(;c.remLength()>=13;){const e=c.getInt(),l=a[e],h=c.getInt(),u=c.getInt(),f=c.getString();if(!(e<n||e===n&&u<r)){if(e>i||e===i&&h>=o)break;if(u>0){const e={chr:l,start:h,end:u};s.push(e);const n=f.split("\t");t(e,n)}}}}}function fl(t,e,n,r,i,o,s,a){const c=new Ec(t);for(;c.remLength()>=32;){const t=c.getInt(),l=s[t],h=c.getInt(),u=c.getInt(),f=c.getInt(),d=c.getFloat(),p=c.getFloat(),g=c.getFloat();let m;switch(c.getFloat(),a){case"min":m=d;break;case"max":m=p;break;default:m=0===f?0:g/f}if(!(t<e||t===e&&u<n)){if(t>r||t===r&&h>=i)break;Number.isFinite(m)&&o.push({chr:l,start:h,end:u,value:m})}}}class dl{constructor(t){this.data=Ui(t).buffer}loadArrayBuffer(t,e){const n=e.range;return n?this.data.slice(n.start,n.start+n.size):this.data}async dataViewForRange(t,e){const n=Math.min(this.data.byteLength-t.start,t.size);return e?new Uint8Array(this.data,t.start,n):new DataView(this.data,t.start,n)}}class pl{constructor(t,e){this.reader=new nl(t,e),this.genome=e,this.format=t.format||"bigwig",this.wgValues={}}async getFeatures({chr:t,start:e,end:n,bpPerPixel:r,windowFunction:i}){const o="all"===t.toLowerCase()?await this.getWGValues(i):await this.reader.readFeatures(t,e,t,n,r,i);return"bigwig"===this.reader.type||Zc(o),o}async getHeader(){return this.reader.loadHeader()}getDefaultRange(){return void 0!==this.reader.totalSummary?this.reader.totalSummary.defaultRange:void 0}async defaultVisibilityWindow(){return this.reader.defaultVisibilityWindow}async getWGValues(t){const e=this.genome;if(this.wgValues[t])return this.wgValues[t];{const n=e.getGenomeLength()/1e3,r=await this.reader.readWGFeatures(n,t);let i=[];for(let t of r){const n=t.chr,r=e.getCumulativeOffset(n),o=Object.assign({},t);o.chr="all",o.start=r+t.start,o.end=r+t.end,i.push(o)}return this.wgValues[t]=i,i}}supportsWholeGenome(){return"bigwig"===this.reader.type||this.defaultVisibilityWindow()<=0}async trackType(){return this.reader.getTrackType()}}class gl{constructor(t,e){this.config=t,this.genome=e,this.path=t.url,this.groupCache={},this.datasetCache={}}async readHeader(){if(void 0!==this.magic)return this;let t=await so.loadArrayBuffer(this.path,cs(this.config,{range:{start:0,size:64e3}})),e=new Ec(new DataView(t));if(this.magic=e.getInt(),this.version=e.getInt(),this.indexPos=e.getLong(),this.indexSize=e.getInt(),e.getInt(),this.version>=2){let t=e.getInt();for(this.windowFunctions=[];t-- >0;)this.windowFunctions.push(e.getString())}this.trackType=e.getString(),this.trackLine=e.getString();let n=e.getInt();for(this.trackNames=[];n-- >0;)this.trackNames.push(e.getString());this.genomeID=e.getString(),this.flags=e.getInt(),this.compressed=0!=(1&this.flags),t=await so.loadArrayBuffer(this.path,cs(this.config,{range:{start:this.indexPos,size:this.indexSize}})),e=new Ec(new DataView(t)),this.datasetIndex={};let r=e.getInt();for(;r-- >0;){const t=e.getString(),n=e.getLong(),r=e.getInt();this.datasetIndex[t]={position:n,size:r}}for(this.groupIndex={},r=e.getInt();r-- >0;){const t=e.getString(),n=e.getLong(),r=e.getInt();this.groupIndex[t]={position:n,size:r}}return this}async readDataset(t,e,n){const r=t+"_"+e+"_"+n;if(this.datasetCache[r])return this.datasetCache[r];{await this.readHeader();const i=this.version<2?"":"/"+e,o="all"===t.toLowerCase()||void 0===n?"0":n.toString();let s;s="raw"===e?"/"+t+"/raw":"/"+t+"/z"+o+i;const a=this.datasetIndex[s];if(void 0===a)return;const c=await so.loadArrayBuffer(this.path,cs(this.config,{range:{start:a.position,size:a.size}}));if(!c)return;const l=new Ec(new DataView(c));let h=l.getInt();const u={};for(;h-- >0;)u[l.getString()]=l.getString();const f=l.getString(),d=l.getFloat();let p=l.getInt();const g=[];for(;p-- >0;)g.push({position:l.getLong(),size:l.getInt()});const m={name:s,attributes:u,dataType:f,tileWidth:d,tiles:g};return this.datasetCache[r]=m,m}}async readRootGroup(){const t=this.genome,e=this.groupCache["/"];if(e)return e;{const e=await this.readGroup("/"),n=e.chromosomes,r=e.maxZoom;r&&(this.maxZoom=Number(r));const i=e.totalCount;i&&(e.totalCount=Number.parseFloat(i));const o={};return n&&n.split(",").forEach((function(e){const n=t.getChromosomeName(e);o[n]=e})),this.chrAliasTable=o,this.groupCache["/"]=e,e}}async readGroup(t){const e=this.groupCache[t];if(e)return e;{await this.readHeader();const e=this.groupIndex[t];if(void 0===e)return;const n=await so.loadArrayBuffer(this.path,cs(this.config,{range:{start:e.position,size:e.size}}));if(!n)return;const r=new Ec(new DataView(n)),i={name:t};let o=r.getInt();for(;o-- >0;){const t=r.getString(),e=r.getString();i[t]=e}return this.groupCache[t]=i,i}}async readTiles(t,e){if(t.sort((function(t,e){return t.position-e.position})),0===(t=t.filter((function(t){return t.size>0}))).length)return Promise.resolve([]);const n=t[0],r=t[t.length-1],i=n.position,o=r.position+r.size-i,s=await so.loadArrayBuffer(this.path,cs(this.config,{range:{start:i,size:o}})),a=[];for(let n of t){const t=n.position-i,r=n.size;if(r>0){let n;if(this.compressed){n=Di(s.slice(t,t+r)).buffer}else n=s.slice(t,t+r);const i=new Ec(new DataView(n)),o=i.getString();let c;switch(o){case"fixedStep":c=ml(i,e);break;case"variableStep":c=vl(i,e);break;case"bed":case"bedWithName":c=bl(i,e,o);break;default:throw"Unknown tile type: "+o}a.push(c)}}return a}async readTile(t,e){let n=await so.loadArrayBuffer(this.path,cs(this.config,{range:{start:t.position,size:t.size}}));if(this.compressed){n=Di(n).buffer}const r=new Ec(new DataView(n)),i=r.getString();switch(i){case"fixedStep":return ml(r,e);case"variableStep":return vl(r,e);case"bed":case"bedWithName":return bl(r,e,i);default:throw"Unknown tile type: "+i}}}function ml(t,e){const n=t.getInt(),r=t.getInt(),i=t.getFloat(),o=[];let s=e;for(;s-- >0;){let e=n;const r=[];for(;e-- >0;)r.push(t.getFloat());o.push(r)}return{type:"fixedStep",start:r,span:i,data:o,nTracks:e,nPositions:n}}function vl(t,e){const n=t.getInt(),r=t.getFloat(),i=t.getInt(),o=[];let s=i;for(;s-- >0;)o.push(t.getInt());t.getInt();const a=[];let c=e;for(;c-- >0;){s=i;const e=[];for(;s-- >0;)e.push(t.getFloat());a.push(e)}return{type:"variableStep",tileStart:n,span:r,start:o,data:a,nTracks:e,nPositions:i}}function bl(t,e,n){const r=t.getInt();let i=r;const o=[];for(;i-- >0;)o.push(t.getInt());i=r;const s=[];for(;i-- >0;)s.push(t.getInt());t.getInt();const a=[];let c=e;for(;c-- >0;){let e=r;const n=[];for(;e-- >0;)n.push(t.getFloat());a.push(n)}if("bedWithName"===n){i=r;const e=[];for(;i-- >0;)e.push(t.getString())}return{type:n,start:o,end:s,data:a,nTracks:e,nPositions:r}}class wl{constructor(t,e){this.genome=e,this.windowFunction=t.windowFunction||"mean",this.reader=new gl(t,e)}async getFeatures({chr:t,start:e,end:n,bpPerPixel:r}){const i=new vs(t,e,n),o=this.genome;if(!this.rootGroup&&(this.rootGroup=await this.reader.readRootGroup(),!this.normalizationFactor)){const t=this.rootGroup.totalCount;t&&(this.normalizationFactor=1e6/t)}if("all"===t.toLowerCase())return[];i.bpPerPixel=r;const s=function(t,e,n){var r=n.getChromosome(t).bpLength;return Math.ceil(Math.log(Math.max(0,r/(700*e)))/kl)}(t,r,o);let a=this.reader.chrAliasTable[t],c=this.reader.maxZoom;void 0===a&&(a=t),void 0===c&&(c=-1);const l=s>c?"raw":this.windowFunction,h=await this.reader.readDataset(a,l,s);if(null==h)return[];const u=h.tileWidth,f=Math.floor(e/u),d=Math.floor(n/u),p=await this.reader.readTiles(h.tiles.slice(f,d+1),1),g=[];for(let i of p)switch(i.type){case"bed":yl(i,t,e,n,r,g);break;case"variableStep":xl(i,t,e,n,r,g);break;case"fixedStep":_l(i,t,e,n,r,g);break;default:throw"Unknown tile type: "+i.type}return g.sort((function(t,e){return t.start-e.start})),g}supportsWholeGenome(){return!1}}function yl(t,e,n,r,i,o){const s=t.nPositions,a=t.start,c=t.end,l=t.data[0];for(let t=0;t<s;t++){const i=a[t],s=c[t];if(!(s<n)){if(i>r)break;o.push({chr:e,start:i,end:s,value:l[t]})}}}function xl(t,e,n,r,i,o){const s=t.nPositions,a=t.start,c=t.span,l=t.data[0];for(let t=0;t<s;t++){const i=a[t],s=i+c;if(!(s<n)){if(i>r)break;o.push({chr:e,start:i,end:s,value:l[t]})}}}function _l(t,e,n,r,i,o){const s=t.nPositions;let a=t.start;const c=t.span,l=t.data[0];for(let t=0;t<s;t++){const i=a+c;if(a>r)break;i>=n&&(Number.isNaN(l[t])||o.push({chr:e,start:a,end:i,value:l[t]})),a=i}}var kl=Math.log(2);function Sl(t,e){const n=t.format?t.format.toLowerCase():void 0;return"bigwig"===n||"bigbed"===n||"bb"===n?new pl(t,e):"tdf"===n?new wl(t,e):new Jc(t,e)}const Cl=[["A","T"],["G","C"],["Y","R"],["W","S"],["K","M"],["D","H"],["B","V"]],El=new Map;for(let t of Cl){const e=t[0],n=t[1];El.set(e,n),El.set(n,e),El.set(e.toLowerCase(),n.toLowerCase()),El.set(n.toLowerCase(),e.toLowerCase())}const Al={getTissueInfo:function(t,e){let n=(e=e||"https://gtexportal.org/rest/v1")+"/dataset/tissueInfo?datasetId="+(t=t||"gtex_v8");return so.loadJson(n,{})},trackConfiguration:function(t,e){return{type:"eqtl",sourceType:"gtex-ws",url:(e=e||"https://gtexportal.org/rest/v1")+"/association/singleTissueEqtlByLocation",tissueSiteDetailId:t.tissueSiteDetailId,name:t.tissueSiteDetailId.split("_").join(" "),visibilityWindow:25e4}}};function Tl(t,e,n){let r=(t.start-e)/n,i=(t.end-e)/n,o=i-r;return o<3&&(o=3,r-=1.5),{px:r,px1:i,pw:o}}function Ll(t,e,n,r,i,o){i.save(),i.fillStyle=this.defaultColor,i.strokeStyle=this.defaultColor;const s=Ml.call(this,t);let a,c;i.fillStyle=s,i.strokeStyle=s,"SQUISHED"===this.displayMode&&void 0!==t.row?(a=this.featureHeight/2,c=this.margin+this.squishedRowHeight*t.row):"EXPANDED"===this.displayMode&&void 0!==t.row?(a=this.featureHeight,c=this.margin+this.expandedRowHeight*t.row):(a=this.featureHeight,c=this.margin);const l=c+a/2,h=a/2,u=l-h/2,f=t.exons?t.exons.length:0,d=Tl(t,e,n),p=this.arrowSpacing,g="+"===t.strand?1:"-"===t.strand?-1:0;if(0===f){if(i.fillRect(d.px,c,d.pw,a),0!==g){i.fillStyle="white",i.strokeStyle="white";for(let t=d.px+p/2;t<d.px1;t+=p)es.strokeLine(i,t-2*g,l-2,t,l),es.strokeLine(i,t-2*g,l+2,t,l);i.fillStyle=s,i.strokeStyle=s}}else{es.strokeLine(i,d.px+1,l,d.px1-1,l);const r=o.pixelWidth,m=Math.max(0,d.px)+p/2,v=Math.min(r,d.px1);for(let t=m;t<v;t+=p)es.strokeLine(i,t-2*g,l-2,t,l),es.strokeLine(i,t-2*g,l+2,t,l);for(let o=0;o<f;o++){const f=t.exons[o];let d,m=Math.round((f.start-e)/n),v=Math.round((f.end-e)/n),b=Math.max(1,v-m);if(!(m+b<0)){if(m>r)break;if(f.utr)i.fillRect(m,u,b,h);else if(f.cdStart&&(d=Math.round((f.cdStart-e)/n),i.fillRect(m,u,d-m,h),b-=d-m,m=d),f.cdEnd&&(d=Math.round((f.cdEnd-e)/n),i.fillRect(d,u,v-d,h),b-=v-d,v=d),b=Math.max(b,1),i.fillRect(m,c,b,a),b>p+5&&0!==g){i.fillStyle="white",i.strokeStyle="white";for(let t=m+p/2;t<v;t+=p)es.strokeLine(i,t-2*g,l-2,t,l),es.strokeLine(i,t-2*g,l+2,t,l);i.fillStyle=s,i.strokeStyle=s}}}}o.drawLabel&&"SQUISHED"!==this.displayMode&&Rl.call(this,i,t,d.px,d.px1,c,o.referenceFrame,o),i.restore()}function Rl(t,e,n,r,i,o,s){let a=e.name;if(void 0===a&&e.gene&&(a=e.gene.name),void 0===a&&(a=e.id||e.ID),!a||"."===a)return;let c=s.pixelXOffset||0;const l=(Math.max(n,-c)+Math.min(r,-c+s.viewportWidth))/2;let h;"COLLAPSED"===this.displayMode&&"SLANT"===this.labelDisplayMode&&(h={rotate:{angle:45}});const u=function(t,e){return e?t+20:t+25}(i,h);let f,d=Ml.call(this,e),p=!1;o.selection&&Al.gtexLoaded&&(p=!0,f=o.selection.colorForGene(a));const g={textAlign:"SLANT"===this.labelDisplayMode?void 0:"center",fillStyle:f||d,strokeStyle:f||d},m=t.measureText(a),v=l-m.width/2,b=l+m.width/2;(s.labelAllFeatures||v>s.rowLastX[e.row]||p)&&(s.rowLastX[e.row]=b,es.fillText(t,a,l,u,g,h))}function Ml(t){let e;if(this.altColor&&"-"===t.strand)e=this.altColor;else if(this.color)e=this.color;else if(this.colorBy){const n=t.getAttributeValue?t.getAttributeValue(this.colorBy):t[this.colorBy];e=this.colorTable.getColor(n)}else e=t.color?t.color:this.defaultColor;if(t.alpha&&1!==t.alpha)e=Xi.addAlpha(e,t.alpha);else if(this.useScore&&t.score&&!Number.isNaN(t.score)){const n=function(t,e,n){const r=(e-t)/9,i=Math.floor((n-t)/r);return Math.min(1,.2+.8*i/9)}(this.config.min?this.config.min:0,this.config.max?this.config.max:1e3,t.score);t.alpha=n,e=Xi.addAlpha(e,n)}return e}const Il=new Set(["nonsense","missense","stop-loss","frameshift","cds-indel"]),Nl=new Set(["coding-synon"]),Fl=new Set(["splice-3","splice-5"]),Pl=new Set(["untranslated-5","untranslated-3"]);function Ol(t,e,n,r,i){var o,s,a,c,l=Tl(t,e,n),h=this.margin,u=this.snpColors.length;switch(o="squished"===this.displayMode?this.squishedRowHeight:this.expandedRowHeight,this.colorBy){case"function":c=t.func,s=c.split(",").map((function(t){return Il.has(t)||Fl.has(t)?u-1:Nl.has(t)?u-2:Pl.has(t)?u-3:0})).reduce((function(t,e){return Math.max(t,e)}));break;case"class":s="deletion"===(a=t.class)?u-1:"mnp"===a?u-2:"microsatellite"===a||"named"===a?u-3:0}i.fillStyle=this.snpColors[s],i.fillRect(l.px,h,l.pw,o)}function Dl(t,e,n,r,i){const o="EXPANDED"===this.displayMode?this.expandedRowHeight:this.squishedRowHeight;let s=this.margin;"COLLAPSED"!==this.displayMode&&void 0!==t.row&&(s+=t.row*o);const a=s+.5*o,c=a-.5*o,l=a+.5*o,h=Math.round((t.junction_left-e)/n),u=Math.round((t.junction_right-e)/n);i.beginPath(),i.moveTo(h,a),i.bezierCurveTo(h,c,u,c,u,a),i.lineWidth=1+Math.log(t.num_junction_reads)/Math.log(2),i.strokeStyle="blue",i.stroke();const f=t.spanning_frag_coords;for(let t=0;t<f.length;t++){const r=f[t],o=Math.round((r.left-e)/n),s=Math.round((r.right-e)/n);i.beginPath(),i.moveTo(o,a),i.bezierCurveTo(o,l,s,l,s,a),i.lineWidth=1,i.strokeStyle="purple",i.stroke()}}class Bl extends rc{constructor(t,e){super(t,e)}init(t){super.init(t),this.type=t.type||"annotation",this.maxRows=void 0===t.maxRows?1e3:t.maxRows,this.displayMode=t.displayMode||"EXPANDED",this.labelDisplayMode=t.labelDisplayMode,t._featureSource?(this.featureSource=t._featureSource,delete t._featureSource):this.featureSource=t.featureSource?t.featureSource:Sl(t,this.browser.genome),this.autoHeight=t.autoHeight,this.margin=void 0===t.margin?10:t.margin,this.featureHeight=t.featureHeight||14,"FusionJuncSpan"===t.type?(this.render=t.render||Dl,this.squishedRowHeight=t.squishedRowHeight||50,this.expandedRowHeight=t.expandedRowHeight||50,this.height=t.height||this.margin+2*this.expandedRowHeight):"snp"===t.type?(this.render=t.render||Ol,this.snpColors=["rgb(0,0,0)","rgb(0,0,255)","rgb(0,255,0)","rgb(255,0,0)"],this.colorBy="function",this.expandedRowHeight=t.expandedRowHeight||10,this.squishedRowHeight=t.squishedRowHeight||5,this.height=t.height||30):(this.render=t.render||Ll,this.arrowSpacing=30,function(t){t.browser.on&&(t.browser.on("trackdragend",e),t.browser.on("trackremoved",n));function e(){t.trackView&&"SQUISHED"!==t.displayMode&&t.trackView.repaintViews()}function n(r){t.browser.un&&t===r&&(t.browser.un("trackdragend",e),t.browser.un("trackremoved",n))}}(this),this.squishedRowHeight=t.squishedRowHeight||15,this.expandedRowHeight=t.expandedRowHeight||30,this.height=t.height||this.margin+2*this.expandedRowHeight,t.colorBy&&(t.colorBy.field&&(t.colorTable=t.colorBy.pallete||t.colorBy.palette,t.colorBy=t.colorBy.field),this.colorBy=t.colorBy,t.colorTable?this.colorTable=new Ls(t.colorTable):this.colorTable=new Ts("Set1"))),this.useScore=t.useScore}async postInit(){return"function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader()),this.header&&this.setTrackProperties(this.header),void 0===this.visibilityWindow&&"function"==typeof this.featureSource.defaultVisibilityWindow&&(this.visibilityWindow=await this.featureSource.defaultVisibilityWindow(),this.featureSource.visibilityWindow=this.visibilityWindow),this}supportsWholeGenome(){return(!1===this.config.indexed||!this.config.indexURL)&&!1!==this.config.supportsWholeGenome}async getFeatures(t,e,n,r){const i=this.visibilityWindow;return this.featureSource.getFeatures({chr:t,start:e,end:n,bpPerPixel:r,visibilityWindow:i})}computePixelHeight(t){if("COLLAPSED"===this.displayMode)return this.margin+this.expandedRowHeight;{let e=0;if(t&&"function"==typeof t.forEach)for(let n of t)n.row&&n.row>e&&(e=n.row);return this.margin+(e+1)*("SQUISHED"===this.displayMode?this.squishedRowHeight:this.expandedRowHeight)}}draw(t){const e=t.features,n=t.context,r=t.bpPerPixel,i=t.bpStart,o=t.pixelWidth,s=t.pixelHeight,a=i+o*r+1;if(this.config.isMergedTrack||es.fillRect(n,0,t.pixelTop,o,s,{fillStyle:"rgb(255, 255, 255)"}),e){const c=[];t.rowLastX=[];for(let n of e){const e=n.row||0;void 0===c[e]?c[e]=1:c[e]++,t.rowLastX[e]=-Number.MAX_SAFE_INTEGER}let l=[];for(let h of e){if(h.end<i)continue;if(h.start>a)break;const e="COLLAPSED"===this.displayMode?0:h.row,u=o/c[e];t.drawLabel=t.labelAllFeatures||u>10;const f=Math.ceil((h.end-i)/r),d=l[e];if(!d||f>d){this.render.call(this,h,i,r,s,n,t);const o=Math.floor((h.start-i)/r);d&&o-d<=0&&(n.globalAlpha=.5,es.strokeLine(n,o,0,o,s,{strokeStyle:"rgb(255, 255, 255)"}),n.globalAlpha=1),l[e]=f}}}else console.log("No feature list")}clickedFeatures(t,e){const n=t.y-this.margin,r=super.clickedFeatures(t,e);let i;switch(this.displayMode){case"SQUISHED":i=Math.floor(n/this.squishedRowHeight);break;case"EXPANDED":i=Math.floor(n/this.expandedRowHeight);break;default:i=void 0}return r.filter((function(t){return void 0===i||void 0===t.row||i===t.row}))}popupData(t,e){e=this.clickedFeatures(t,e);const n=t.genomicLocation,r=[];for(let t of e){const e=t._f||t,i="function"==typeof e.popupData?e.popupData(n):this.extractPopupData(e);if(i){r.length>0&&r.push("<hr/><hr/>");const o=this.infoURL||this.config.infoURL;for(let e of i)if(r.push(e),o&&e.name&&"name"===e.name.toLowerCase()&&e.value&&_e(e.value)&&!e.value.startsWith("<")){const n=(this.infoURL||this.config.infoURL).replace("$$",t.name);r.push({name:"Info",value:`<a target="_blank" href=${n}>${e.value}</a>`})}const s="gff"===this.config.format||"gff3"===this.config.format||"gtf"===this.config.format;if(e.exons)for(let t=0;t<e.exons.length;t++){const i=e.exons[t];if(n>=i.start&&n<=i.end){const n=s?i.number:"-"===e.strand?e.exons.length-t:t+1;n&&(r.push("<hr/>"),r.push({name:"Exon Number",value:n}));break}}}}return r}menuItemList(){const t=this,e=[];if(this.render===Ol){e.push("<hr/>");for(let t of["function","class"])e.push({object:de(Eo("Color by "+t,t===this.colorBy)),click:()=>{this.colorBy=t,this.trackView.repaintViews()}})}return e.push("<hr/>"),["COLLAPSED","SQUISHED","EXPANDED"].forEach((function(n){e.push({object:de(Eo({COLLAPSED:"Collapse",SQUISHED:"Squish",EXPANDED:"Expand"}[n],n===t.displayMode)),click:function(){t.displayMode=n,t.config.displayMode=n,t.trackView.checkContentHeight(),t.trackView.repaintViews()}})})),e}contextMenuItemList(t){const e=this.clickedFeatures(t);e.length>1&&e.sort(((t,e)=>t.end-t.start-(e.end-e.start)));const n=e[0];return n.end-n.start<=1e6?[{label:"Copy feature sequence",click:async()=>{let t=await this.browser.genome.getSequence(n.chr,n.start,n.end);"-"===n.strand&&(t=function(t){let e="",n=t.length;for(;n-- >0;){const r=t[n];e+=El.has(r)?El.get(r):r}return e}(t)),navigator.clipboard.writeText(t)}},"<hr/>"]:void 0}description(){if(Ol===this.render){let t="<html>"+this.name+"<hr/>";return t+="<em>Color By Function:</em><br>",t+='<span style="color:red">Red</span>: Coding-Non-Synonymous, Splice Site<br>',t+='<span style="color:green">Green</span>: Coding-Synonymous<br>',t+='<span style="color:blue">Blue</span>: Untranslated<br>',t+='<span style="color:black">Black</span>: Intron, Locus, Unknown<br><br>',t+="<em>Color By Class:</em><br>",t+='<span style="color:red">Red</span>: Deletion<br>',t+='<span style="color:green">Green</span>: MNP<br>',t+='<span style="color:blue">Blue</span>: Microsatellite, Named<br>',t+='<span style="color:black">Black</span>: Indel, Insertion, SNP',t+="</html>",t}return this.name}dispose(){this.trackView=void 0}}function zl(t,e,n){var r,i,o,s,a,c,l,h={font:"normal 10px Arial",textAlign:"right",strokeStyle:"black"};function u(t){return 0===t?"0":Math.abs(t)>=10?t.toFixed():Math.abs(t)>=1?t.toFixed(1):t.toFixed(2)}void 0!==this.dataRange&&void 0!==this.dataRange.max&&void 0!==this.dataRange.min&&(es.fillRect(t,0,0,e,n,{fillStyle:"rgb(255, 255, 255)"}),r=(l=.95*e)-8,.01,a={x:i=l,y:o=s=.01*n},es.strokeLine(t,r,o,i,s,h),es.fillText(t,u(this.dataRange.max),r+4,o+12,h),c={x:i,y:o=s=.99*n},es.strokeLine(t,r,o,i,s,h),es.fillText(t,u(this.dataRange.min),r+4,o-4,h),es.strokeLine(t,a.x,a.y,c.x,c.y,h))}class jl extends rc{constructor(t,e){super(t,e)}init(t){super.init(t),this.type="wig",this.height=t.height||50,this.featureType="numeric",this.paintAxis=zl;const e=t.format?t.format.toLowerCase():t.format;this.featureSource="bigwig"===e?new pl(t,this.browser.genome):"tdf"===e?new wl(t,this.browser.genome):Sl(t,this.browser.genome),this.autoscale=t.autoscale||void 0===t.max,this.autoscale||(this.dataRange={min:t.min||0,max:t.max}),this.windowFunction=t.windowFunction||"mean",this.graphType=t.graphType||"bar",this.normalize=t.normalize,this.scaleFactor=t.scaleFactor}async postInit(){const t=await this.getHeader();t&&this.setTrackProperties(t)}async getFeatures(t,e,n,r){const i=await this.featureSource.getFeatures({chr:t,start:e,end:n,bpPerPixel:r,windowFunction:this.windowFunction});if(this.normalize&&this.featureSource.normalizationFactor){const t=this.featureSource.normalizationFactor;for(let e of i)e.value*=t}if(this.scaleFactor){const t=this.scaleFactor;for(let e of i)e.value*=t}return i}menuItemList(){return Ao.numericDataMenuItems(this.trackView)}async getHeader(){return"function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader()),this.header}draw(t){const e=t.features,n=t.context,r=t.bpPerPixel,i=t.bpStart,o=t.pixelWidth,s=t.pixelHeight,a=i+o*r+1;let c=-1,l=-1;const h=this.color||"rgb(150,150,150)";let u;"string"==typeof h&&h.startsWith("rgb(")&&(u=Xi.addAlpha(h,.1));const f=t=>(this.dataRange.max-t)/(this.dataRange.max-this.dataRange.min)*s;if(e&&e.length>0&&(void 0===this.dataRange.min&&(this.dataRange.min=0),this.dataRange.max>this.dataRange.min)){const o=0==this.dataRange.min?s:f(0);for(let t of e){if(t.end<i)continue;if(t.start>a)break;const e=Math.floor((t.start-i)/r);if(isNaN(e))continue;let s=f(t.value);const u=Math.ceil((t.end-i)/r),d=Math.max(1,u-e);let p=t.value<0&&this.altColor?this.altColor:h;const g="function"==typeof p?p(t.value):p;if("points"===this.graphType){const t=this.config.pointSize||3,r=e+d/2;es.fillCircle(n,r,s,t/2,{fillStyle:g,strokeStyle:g})}else{let r=s-o;Math.abs(r)<1&&(r=r<0?-1:1);const i=e+d;(i>c||t.value>=0&&t.value>l||t.value<0&&t.value<1)&&es.fillRect(n,e,o,d,r,{fillStyle:g}),l=t.value,c=i}}if(this.dataRange.min<0){const e=this.dataRange.max/(this.dataRange.max-this.dataRange.min)*t.pixelHeight;es.strokeLine(n,0,e,t.pixelWidth,e,{strokeStyle:u})}}if(this.config.hasOwnProperty("guideLines"))for(let e of this.config.guideLines)if(e.hasOwnProperty("color")&&e.hasOwnProperty("y")&&e.hasOwnProperty("dotted")){let n=f(e.y),r={strokeStyle:e.color,strokeWidth:2};e.dotted?es.dashedLine(t.context,0,n,t.pixelWidth,n,5,r):es.strokeLine(t.context,0,n,t.pixelWidth,n,r)}}popupData(t,e){if((e=this.clickedFeatures(t,e))&&e.length>0){const n=t.genomicLocation,r=[];e.sort((function(t,e){return Math.abs((t.start+t.end)/2-n)-Math.abs((e.start+e.end)/2-n)}));const i=e.length>10?e.slice(0,10):e;i.sort((function(t,e){return t.start-e.start}));for(let t of i)if(t){r.length>0&&r.push("<hr/>");let e=t.end-t.start==1?ke(t.start+1):ke(t.start+1)+"-"+ke(t.end);r.push({name:"Position:",value:e}),r.push({name:"Value:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",value:ke(t.value)})}return i.length<e.length&&r.push("<hr/>..."),r}return[]}supportsWholeGenome(){return"function"==typeof this.featureSource.supportsWholeGenome&&this.featureSource.supportsWholeGenome()}dispose(){this.trackView=void 0}}function Hl(t){this.thresholds=t.thresholds,this.colors=t.colors}function Vl(t){this.scale=t,this.lowColor="rgb("+t.lowR+","+t.lowG+","+t.lowB+")",this.highColor="rgb("+t.highR+","+t.highG+","+t.highB+")",this.diff=t.high-t.low}Hl.prototype.getColor=function(t){for(let e of this.thresholds)if(t<e)return this.colors[this.thresholds.indexOf(e)];return this.colors[this.colors.length-1]},Vl.prototype.getColor=function(t){var e,n=this.scale;return t<=n.low?this.lowColor:t>=n.high?this.highColor:(e=(t-n.low)/this.diff,"rgb("+Math.floor(n.lowR+e*(n.highR-n.lowR))+","+Math.floor(n.lowG+e*(n.highG-n.lowG))+","+Math.floor(n.lowB+e*(n.highB-n.lowB))+")")};class Ul{constructor(t){this.color=t}getColor(){return this.color}}class ql extends rc{constructor(t,e){super(t,e)}init(t){if(super.init(t),this.type=t.type||"seg","maf"===this.type&&(this.type="mut"),this.isLog=t.isLog,this.displayMode=t.displayMode||"EXPANDED",this.height=t.height||300,this.maxHeight=t.maxHeight||500,this.squishedRowHeight=t.sampleSquishHeight||t.squishedRowHeight||2,this.expandedRowHeight=t.sampleExpandHeight||t.expandedRowHeight||13,this.sampleHeight=this.squishedRowHeight,t.color?this.color=t.color:(this.posColorScale=t.posColorScale||new Vl({low:.1,lowR:255,lowG:255,lowB:255,high:1.5,highR:255,highG:0,highB:0}),this.negColorScale=t.negColorScale||new Vl({low:-1.5,lowR:0,lowG:0,lowB:255,high:-.1,highR:255,highG:255,highB:255}),"mut"===this.type&&(this.colorTable=new Ls(t.colorTable||Wl))),this.sampleKeys=[],this.sampleNames=new Map,t.samples){for(let e of t.samples)this.sampleKeys.push(e),this.sampleNames.set(e,e);this.explicitSamples=!0}this.featureSource=Sl(this.config,this.browser.genome),this.initialSort=t.sort}async postInit(){"function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader()),this.header&&this.setTrackProperties(this.header)}menuItemList(){const t=[],e={SQUISHED:"Squish",EXPANDED:"Expand",FILL:"Fill"};t.push("<hr/>"),t.push("DisplayMode:");const n="seg"===this.type?["SQUISHED","EXPANDED","FILL"]:["SQUISHED","EXPANDED"];for(let r of n){const n=Eo(e[r],r===this.displayMode);t.push({object:de(n),click:()=>{this.displayMode=r,this.config.displayMode=r,this.trackView.checkContentHeight(),this.trackView.repaintViews(),this.trackView.moveScroller(this.trackView.sampleNameViewport.trackScrollDelta)}})}return t}hasSamples(){return!0}getSamples(){return{names:this.sampleKeys.map((t=>this.sampleNames.get(t))),height:this.sampleHeight,yOffset:0}}async getFeatures(t,e,n){const r=await this.featureSource.getFeatures({chr:t,start:e,end:n});if(this.initialSort){const t=this.initialSort;this.sortSamples(t.chr,t.start,t.end,t.direction,r),this.initialSort=void 0}return r}draw({context:t,renderSVG:e,pixelTop:n,pixelWidth:r,pixelHeight:i,features:o,bpPerPixel:s,bpStart:a}){if(es.fillRect(t,0,0,r,i,{fillStyle:"rgb(255, 255, 255)"}),o&&o.length>0){this.checkForLog(o),this.updateSampleKeys(o);const e={};let c;switch(this.sampleKeys.forEach((function(t,n){e[t]=n})),this.displayMode){case"FILL":this.sampleHeight=i/this.sampleKeys.length,c=0;break;case"SQUISHED":this.sampleHeight=this.squishedRowHeight,c=0;break;default:this.sampleHeight=this.expandedRowHeight,c=1}const l=this.sampleHeight;for(let t of o)t.pixelRect=void 0;const h=n+i,u=a+r*s+1,f=s;this.sampleYStart=void 0;for(let r of o){if(r.end<a)continue;if(r.start>u)break;const i=r.sampleKey||r.sample;r.row=e[i];const o=r.row*l+c;void 0===this.sampleYStart&&(this.sampleYStart=o);if(o+l<n||o>h)continue;const s=Math.max(r.start,a);let d=Math.round((s-a)/f);const p=Math.min(r.end,u),g=Math.round((p-a)/f);let m,v,b=Math.max(1,g-d);if(this.color?m="function"==typeof this.color?this.color(r):this.color:this.colorTable&&(m=this.colorTable.getColor(r.value.toLowerCase())),"mut"===this.type)v=l-2*c,b<3&&(b=3,d-=1);else{let t=r.value;this.isLog||(t=$i(t/2)),m=t<-.1?this.negColorScale.getColor(t):t>.1?this.posColorScale.getColor(t):"white";let e=l;if(l<.25){const n=.1+2*Math.abs(t);e=Math.min(1,n*l)}v=e-2*c}r.pixelRect={x:d,y:o,w:b,h:v},t.fillStyle=m,t.fillRect(d,o,b,v)}}}checkForLog(t){if(void 0===this.isLog){this.isLog=!1;for(let e of t)if(e.value<0)return void(this.isLog=!0)}}computePixelHeight(t){if(!t)return 0;const e="SQUISHED"===this.displayMode?this.squishedRowHeight:this.expandedRowHeight;return this.updateSampleKeys(t),this.sampleKeys.length*e}async sortSamples(t,e,n,r,i){if(i||(i=await this.featureSource.getFeatures({chr:t,start:e,end:n})),!i)return;this.updateSampleKeys(i);const o={},s="ASC"===r?1:-1,a=()=>{const t=n-e+1;for(let r of i){if(r.end<e)continue;if(r.start>n)break;const i=Math.max(e,r.start),s=(Math.min(n,r.end)-i)/t,a=r.sampleKey||r.sample,c=o[a]||0;o[a]=c+s*r.value}this.sampleKeys.sort((function(t,e){let n=o[t],r=o[e];return n||(n=s*Number.MAX_VALUE),r||(r=s*Number.MAX_VALUE),n===r?0:n>r?s:-1*s}))},c=()=>{for(let t of i){if(t.end<e)continue;if(t.start>n)break;const r=t.sampleKey||t.sample;(!o.hasOwnProperty(r)||t.value.localeCompare(o[r])>0)&&(o[r]=t.value)}this.sampleKeys.sort((function(t,e){let n=o[t]||"",r=o[e]||"";return s*n.localeCompare(r)}))};"mut"===this.type?c():a(),this.trackView.repaintViews()}clickedFeatures(t,e){const n=super.clickedFeatures(t,e),r=t.y;return n.filter((function(t){const e=t.pixelRect;return e&&r>=e.y&&r<=e.y+e.h}))}popupData(t,e){e=this.clickedFeatures(t);const n=[];for(let t of e){n.length>0&&(n.push("<hr/>"),n.push("<hr/>"));const e=t._f||t,r="function"==typeof e.popupData?e.popupData():this.extractPopupData(e);Array.prototype.push.apply(n,r)}return n}contextMenuItemList(t){const e=t.viewport.referenceFrame,n=t.genomicLocation,r=this.config.sort?"ASC"===this.config.sort.direction?"DESC":"ASC":"DESC",i=e.toBP(2.5),o=e=>{const n=t.viewport.getCachedFeatures();this.sortSamples(e.chr,e.start,e.end,e.direction,n)};return[{label:"seg"===this.type?"Sort by value":"Sort by type",click:e=>{const s={direction:r,chr:t.viewport.referenceFrame.chr,start:n-i,end:n+i};o(s),this.config.sort=s}}]}supportsWholeGenome(){return(!1===this.config.indexed||!this.config.indexURL)&&!1!==this.config.supportsWholeGenome}updateSampleKeys(t){if(!this.explicitSamples)for(let e of t){const t=e.sampleKey||e.sample;this.sampleNames.has(t)||(this.sampleNames.set(t,e.sample),this.sampleKeys.push(t))}}}const Wl={indel:"rgb(0,200,0)","targeted region":"rgb(236,155,43)",truncating:"rgb(\t150,0,0)","non-coding transcript":"rgb(0,0,150)",synonymous:"rgb(109,165,95)",silent:"rgb(109,135,80)",missense_mutation:"rgb(72,130,187)",missense:"rgb(72,130,187)","splice site":"rgb(143,83,155)",splice_region:"rgb(143,83,155)",nonsense:"rgb(216, 57,81)",nonsense_mutation:"rgb(216, 57,81)",frame_shift_del:"rgb(226,135,65)",frame_shift_ins:"rgb(226,135,65)",in_frame_del:"rgb(247,235,94)",in_frame_ins:"rgb(247,235,94)","*other*":"rgb(159,91,50)"};class $l extends rc{constructor(t,e){super(t,e)}init(t){if(!t.tracks)throw Error("Error: no tracks defined for merged track"+t);super.init(t)}get height(){return this._height}set height(t){if(this._height=t,this.tracks)for(let e of this.tracks)e.height=t,e.config.height=t}async postInit(){this.tracks=[];const t=[];for(let e of this.config.tracks){e.isMergedTrack=!0;const n=await this.browser.createTrack(e);n?(n.autoscale=!1,this.tracks.push(n)):console.warn("Could not create track "+e),"function"==typeof n.postInit&&t.push(n.postInit())}return this.height=this.config.height||100,Promise.all(t)}async getFeatures(t,e,n,r){const i=this.tracks.map((i=>i.getFeatures(t,e,n,r)));return Promise.all(i)}draw(t){var e,n,r,i,o,s,a,c;for(r=t.features,t.referenceFrame.chr,s=r,a=0,c=-Number.MAX_VALUE,s.forEach((function(t,e){t.forEach((function(t){void 0===t.value||Number.isNaN(t.value)||(a=Math.min(a,t.value),c=Math.max(c,t.value))}))})),o={min:a,max:c},e=0,n=this.tracks.length;e<n;e++)(i=Object.assign({},t)).features=r[e],this.tracks[e].dataRange=o,this.tracks[e].draw(i)}paintAxis(t,e,n){var r,i,o;for(!0,r=0,i=this.tracks.length;r<i;r++)if("function"==typeof(o=this.tracks[r]).paintAxis){o.paintAxis(t,e,n);break}}popupData(t,e){const n=e||t.viewport.getCachedFeatures();if(n&&n.length===this.tracks.length){const e=[];for(let r=0;r<this.tracks.length;r++){r>0&&e.push("<hr/>"),e.push(`<div style=background-color:#f7f8fa;border-bottom-style:dashed;border-bottom-width:1px;margin-bottom:5px;margin-top:5px;font-size:medium><b>${this.tracks[r].name}</b></div>`);const i=this.tracks[r].popupData(t,n[r]);e.push(...i)}return e}}supportsWholeGenome(){return this.tracks.every((t=>t.supportsWholeGenome()))}}class Gl{constructor(t){this.paired=!0,this.firstAlignment=t,this.chr=t.chr,this.readName=t.readName,t.start<t.mate.position?(this.start=t.start,this.scStart=t.scStart,this.connectingStart=t.start+t.lengthOnRef,this.connectingEnd=t.mate.position):(this.start=t.mate.position,this.scStart=this.start,this.connectingStart=t.mate.position,this.connectingEnd=t.start),this.end=Math.max(t.mate.position,t.start+t.lengthOnRef),this.lengthOnRef=this.end-this.start;let e=Math.max(this.end,t.scStart+t.scLengthOnRef);this.scLengthOnRef=e-this.scStart}setSecondAlignment(t){this.secondAlignment=t;const e=this.firstAlignment;t.start>e.start?this.connectingEnd=t.start:this.connectingStart=t.start+t.lengthOnRef,this.start=Math.min(e.start,t.start),this.end=Math.max(e.start+e.lengthOnRef,t.start+t.lengthOnRef),this.lengthOnRef=this.end-this.start,this.scStart=Math.min(e.scStart,t.scStart);const n=Math.max(e.scStart+e.scLengthOnRef,t.scStart+t.scLengthOnRef);this.scLengthOnRef=n-this.scStart}containsLocation(t,e){const n=e?this.scStart:this.start,r=e?this.scLengthOnRef:this.lengthOnRef;return t>=n&&t<=n+r}alignmentContaining(t,e){return this.firstAlignment.containsLocation(t,e)?this.firstAlignment:this.secondAlignment&&this.secondAlignment.containsLocation(t,e)?this.secondAlignment:void 0}popupData(t){let e=this.firstAlignment.popupData(t);return this.secondAlignment&&(e.push("-------------------------------"),e=e.concat(this.secondAlignment.popupData(t))),e}isPaired(){return!0}firstOfPairStrand(){return this.firstAlignment.isFirstOfPair()?this.firstAlignment.strand:this.secondAlignment&&this.secondAlignment.isFirstOfPair()?this.secondAlignment.strand:this.firstAlignment.mate.strand}}const Zl=_e,Xl=function(t){return t.split("").reduce((function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t}),0)};class Yl{constructor(){this.alignments=[],this.score=void 0}findAlignment(t){const e=(t,e)=>e>=t.start&&e<t.start+t.lengthOnRef;let n;for(let r=0;r<this.alignments.length;r++){const i=this.alignments[r];if(t>=i.start&&t<i.start+i.lengthOnRef){i.paired?i.firstAlignment&&e(i.firstAlignment,t)?n=i.firstAlignment:i.secondAlignment&&e(i.secondAlignment,t)&&(n=i.secondAlignment):n=i;break}}return n}updateScore(t,e){this.score=this.calculateScore(t,e)}calculateScore({position:t,option:e,direction:n,tag:r},i){e||(e="BASE");const o=this.findAlignment(t);if(void 0===o)return Number.MAX_VALUE*(n?1:-1);let s;switch(e){case"NUCLEOTIDE":case"BASE":return function(t,e,n){let r;const i=Math.floor(n)-e.start;i<e.sequence.length&&(r=e.sequence.charAt(i));if(!r)return 0;const o=t.readBaseAt(n),s=t.readBaseQualityAt(n),a=e.coverageMap,c=Math.floor(n-a.bpStart),l=a.coverage[c];let h=0;if(t.insertions)for(let e of t.insertions)e.start===n&&(h=-l.ins);if(o)if(r=r.toUpperCase(),"N"===o&&0===h)h=2;else if(r!==o&&"="!==o||0!==h){if("X"===o||r!==o){h-=l["pos"+o]+l["neg"+o]+s/1e3}}else h=4-s/1e3;else{const t=l.del;t>0?h-=t:0===h&&(h=1)}return h}(o,i,t);case"STRAND":return o.strand?1:-1;case"START":return o.start;case"TAG":{const t=o.tags()[r];return void 0!==t?Zl(t)?Xl(t):t:Number.MAX_VALUE}case"READ_NAME":return Xl(o.readName);case"INSERT_SIZE":return-Math.abs(o.fragmentLength);case"GAP_SIZE":return-o.gapSizeAt(t);case"MATE_CHR":return s=o.mate,s?s.chr===o.chr?Number.MAX_VALUE-1:Xl(s.chr):Number.MAX_VALUE;case"MQ":return void 0===o.mq?Number.MAX_VALUE:-o.mq;default:return Number.MAX_VALUE}}}function Kl(t){return t.isPaired()&&t.mate&&t.isMateMapped()&&t.chr===t.mate.chr&&(t.isFirstOfPair()||t.isSecondOfPair())&&!(t.isSecondary()||t.isSupplementary())}function Ql(t){const e=[];for(let n of t)for(let t of n.alignments)t instanceof Gl?(t.firstAlignment&&e.push(t.firstAlignment),t.secondAlignment&&e.push(t.secondAlignment)):e.push(t);return e}function Jl(t,e,n,r){if(t){if(0===t.length)return[];{t.sort((function(t,e){return r?t.scStart-e.scStart:t.start-e.start}));const i=t[0];let o=Math.max(e,r?i.scStart:i.start),s=o;const a=[];for(let e of t){const t=r?e.scStart:e.start,n=Math.max(0,t-o);void 0===a[n]&&(a[n]=[]),a[n].push(e)}let c=0,l=0;const h=[],u=2;try{for(;c<t.length;){const t=new Yl;for(;s<=n;){let e,i;for(;!e&&s<=n;)i=s-o,void 0===a[i]?++s:e=a[i];if(!e)break;const l=e.pop();0===e.length&&(a[i]=void 0),t.alignments.push(l),s=r?l.scStart+l.scLengthOnRef+u:l.start+l.lengthOnRef+u,++c}if(t.alignments.length>0&&h.push(t),s=o,c===l)break;l=c}}catch(t){throw console.error(t),t}return h}}}class th{constructor(t,e,n,r,i,o,s){this.chr=t,this.start=Math.floor(e),this.end=Math.ceil(n),this.length=n-e,this.alleleFreqThreshold=void 0===s?.2:s,this.coverageMap=new nh(t,e,n,this.alleleFreqThreshold),this.alignments=[],this.downsampledIntervals=[],this.samplingWindowSize=void 0===r?100:r,this.samplingDepth=void 0===i?1e3:i,this.pairsSupported=void 0===o||o,this.paired=!1,this.pairsCache={},this.downsampledReads=new Set,this.currentBucket=new eh(this.start,this.start+this.samplingWindowSize,this),this.filter=function(t){return t.isMapped()&&!t.isFailsVendorQualityCheck()},this.pairedEndStats=new oh}push(t){!1!==this.filter(t)&&(t.isPaired()&&this.pairedEndStats.push(t),this.coverageMap.incCounts(t),this.pairsSupported&&this.downsampledReads.has(t.readName)||(t.start>=this.currentBucket.end&&(this.finishBucket(),this.currentBucket=new eh(t.start,t.start+this.samplingWindowSize,this)),this.currentBucket.addAlignment(t)))}forEach(t){this.alignments.forEach(t)}finish(){void 0!==this.currentBucket&&this.finishBucket(),this.alignments.sort((function(t,e){return t.start-e.start})),this.pairsCache=void 0,this.downsampledReads=void 0,this.pairedEndStats.compute()}contains(t,e,n){return this.chr===t&&this.start<=e&&this.end>=n}hasDownsampledIntervals(){return this.downsampledIntervals&&this.downsampledIntervals.length>0}finishBucket(){this.alignments=this.alignments.concat(this.currentBucket.alignments),this.currentBucket.downsampledCount>0&&this.downsampledIntervals.push(new ih(this.currentBucket.start,this.currentBucket.end,this.currentBucket.downsampledCount)),this.paired=this.paired||this.currentBucket.paired}setViewAsPairs(t){let e;e=t?function(t){const e={},n=[];for(let r of t)for(let t of r.alignments)if(Kl(t)){let r=e[t.readName];r?(r.setSecondAlignment(t),e[t.readName]=void 0):(r=new Gl(t),e[t.readName]=r,n.push(r))}else n.push(t);return n}(this.packedAlignmentRows):Ql(this.packedAlignmentRows),this.packedAlignmentRows=Jl(e,this.start,this.end)}setShowSoftClips(t){const e=this.allAlignments();this.packedAlignmentRows=Jl(e,this.start,this.end,t)}allAlignments(){const t=[];for(let e of this.packedAlignmentRows)for(let n of e.alignments)t.push(n);return t}getMax(t,e){return this.coverageMap.getMax(t,e)}}class eh{constructor(t,e,n){this.start=t,this.end=e,this.alignments=[],this.downsampledCount=0,this.samplingDepth=n.samplingDepth,this.pairsSupported=n.pairsSupported,this.downsampledReads=n.downsampledReads,this.pairsCache=n.pairsCache}addAlignment(t){var e,n,r;if(this.pairsSupported&&Kl(t)&&(r=this.pairsCache[t.readName]))return r.setSecondAlignment(t),void(this.pairsCache[t.readName]=void 0);this.alignments.length<this.samplingDepth?this.pairsSupported&&Kl(t)?(r=new Gl(t),this.paired=!0,this.pairsCache[t.readName]=r,this.alignments.push(r)):this.alignments.push(t):((e=Math.floor(Math.random()*(this.samplingDepth+this.downsampledCount-1)))<this.samplingDepth?(n=this.alignments[e],this.pairsSupported&&Kl(t)?(void 0!==this.pairsCache[n.readName]&&(this.pairsCache[n.readName]=void 0),r=new Gl(t),this.paired=!0,this.pairsCache[t.readName]=r,this.alignments[e]=r):this.alignments[e]=t,this.downsampledReads.add(n.readName)):this.downsampledReads.add(t.readName),this.downsampledCount++)}}class nh{constructor(t,e,n,r){this.chr=t,this.bpStart=e,this.length=n-e,this.coverage=new Array(this.length),this.maximum=0,this.threshold=r,this.qualityWeight=!0}getMax(t,e){let n=0;const r=this.coverage.length;for(let i=0;i<r;i++){const r=this.bpStart+i;if(r>e)break;const o=this.coverage[i];r>=t&&o&&(n=Math.max(n,o.total))}return n}incCounts(t){var e=this;if(void 0===t.blocks?n(t):t.blocks.forEach((function(t){n(t)})),t.gaps)for(let n of t.gaps)if("D"===n.type){const t=n.start-e.bpStart;for(let r=t;r<t+n.len;r++)r<0||(this.coverage[r]||(this.coverage[r]=new rh(e.threshold)),this.coverage[r].del++)}if(t.insertions)for(let n of t.insertions){const t=n.start-this.bpStart;t<0||(this.coverage[t]||(this.coverage[t]=new rh(e.threshold)),this.coverage[t].ins++)}function n(n){if("S"===n.type)return;const r=t.seq,i=t.qual,o=n.seqOffset;for(let s=n.start-e.bpStart,a=0;a<n.len;s++,a++){e.coverage[s]||(e.coverage[s]=new rh(e.threshold));const n=null==r?"N":r.charAt(o+a),c=t.strand?"pos"+n:"neg"+n,l=i&&o+a<i.length?i[o+a]:30;e.coverage[s][c]+=1,e.coverage[s]["qual"+n]+=l,e.coverage[s].total+=1,e.coverage[s].qual+=l,e.maximum=Math.max(e.coverage[s].total,e.maximum)}}}}class rh{constructor(t){this.qualityWeight=!0,this.posA=0,this.negA=0,this.posT=0,this.negT=0,this.posC=0,this.negC=0,this.posG=0,this.negG=0,this.posN=0,this.negN=0,this.pos=0,this.neg=0,this.qualA=0,this.qualT=0,this.qualC=0,this.qualG=0,this.qualN=0,this.qual=0,this.total=0,this.del=0,this.ins=0,this.threshold=t}isMismatch(t){const e=this.threshold*(this.qualityWeight&&this.qual?this.qual:this.total);let n=0;for(let e of["A","T","C","G"])e!==t&&(n+=this.qualityWeight&&this.qual?this["qual"+e]:this["pos"+e]+this["neg"+e]);return n>=e}}class ih{constructor(t,e,n){this.start=t,this.end=e,this.counts=n}popupData(t){return[{name:"start",value:this.start+1},{name:"end",value:this.end},{name:"# downsampled:",value:this.counts}]}}class oh{constructor(t,e){this.totalCount=0,this.frCount=0,this.rfCount=0,this.ffCount=0,this.sumF=0,this.sumF2=0}push(t){if(t.isProperPair()){var e=Math.abs(t.fragmentLength);this.sumF+=e,this.sumF2+=e*e;var n=t.pairOrientation;if("string"==typeof n&&4===n.length)switch(""+n.charAt(0)+n.charAt(2)){case"FF":case"RR":this.ffCount++;break;case"FR":this.frCount++;break;case"RF":this.rfCount++}this.totalCount++}}compute(){if(this.totalCount>100){this.ffCount/this.totalCount>.9?this.orienation="ff":this.frCount/this.totalCount>.9?this.orienation="fr":this.rfCount/this.totalCount>.9&&(this.orienation="rf");var t=this.sumF/this.totalCount,e=Math.sqrt((this.totalCount*this.sumF2-this.sumF*this.sumF)/(this.totalCount*this.totalCount));this.lowerFragmentLength=t-3*e,this.upperFragmentLength=t+3*e}}}const sh={c:1,C:1,s:2,S:2,i:4,I:4,f:4};class ah{constructor(){this.hidden=!1}isMapped(){return 0==(4&this.flags)}isPaired(){return 0!=(1&this.flags)}isProperPair(){return 0!=(2&this.flags)}isFirstOfPair(){return 0!=(64&this.flags)}isSecondOfPair(){return 0!=(128&this.flags)}isSecondary(){return 0!=(256&this.flags)}isSupplementary(){return 0!=(2048&this.flags)}isFailsVendorQualityCheck(){return 0!=(512&this.flags)}isDuplicate(){return 0!=(1024&this.flags)}isMateMapped(){return 0==(8&this.flags)}isNegativeStrand(){return 0!=(16&this.flags)}isMateNegativeStrand(){return 0!=(32&this.flags)}tags(){return this.tagDict||(this.tagBA?(this.tagDict=function(t){let e=0;const n=t.length,r={};for(;e<n;){const n=String.fromCharCode(t[e])+String.fromCharCode(t[e+1]);e+=2;const o=String.fromCharCode(t[e++]);let s;if("A"===o)s=String.fromCharCode(t[e]),e++;else if("i"===o||"I"===o)s=lh(t,e),e+=4;else if("c"===o)s=fh(t,e),e++;else if("C"===o)s=dh(t,e),e++;else if("s"===o||"S"===o)s=hh(t,e),e+=2;else if("f"===o)s=uh(t,e),e+=4;else if("Z"===o)for(s="";;){var i=t[e++];if(0===i)break;s+=String.fromCharCode(i)}else{if("B"!==o){s="Error unknown type: "+o,r[n]=s;break}{const i=String.fromCharCode(t[e++]);let o=sh[i];if(void 0===o){r[n]=`Error: unknown element type '${i}'`;break}e+=4+lh(t,e)*o,s="[not shown]"}}r[n]=s}return r}(this.tagBA),this.tagBA=void 0):this.tagDict={}),this.tagDict}containsLocation(t,e){const n=e?this.scStart:this.start,r=e?this.scLengthOnRef:this.lengthOnRef;return t>=n&&t<=n+r}popupData(t){const e=[];if(t=Math.floor(t),this.insertions){const r=this.seq;for(let i of this.insertions){var n=i.start;if(t===n||t===n-1)return e.push({name:"Insertion",value:r.substr(i.seqOffset,i.len)}),e.push({name:"Location",value:n}),e}}e.push({name:"Read Name",value:this.readName}),e.push("<hr/>"),e.push({name:"Alignment Start",value:ke(1+this.start),borderTop:!0}),e.push({name:"Read Strand",value:!0===this.strand?"(+)":"(-)",borderTop:!0}),e.push({name:"Cigar",value:this.cigar}),e.push({name:"Mapped",value:o(this.isMapped())}),e.push({name:"Mapping Quality",value:this.mq}),e.push({name:"Secondary",value:o(this.isSecondary())}),e.push({name:"Supplementary",value:o(this.isSupplementary())}),e.push({name:"Duplicate",value:o(this.isDuplicate())}),e.push({name:"Failed QC",value:o(this.isFailsVendorQualityCheck())}),this.isPaired()&&(e.push("<hr/>"),e.push({name:"First in Pair",value:!this.isSecondOfPair(),borderTop:!0}),e.push({name:"Mate is Mapped",value:o(this.isMateMapped())}),this.pairOrientation&&e.push({name:"Pair Orientation",value:this.pairOrientation}),this.isMateMapped()&&(e.push({name:"Mate Chromosome",value:this.mate.chr}),e.push({name:"Mate Start",value:this.mate.position+1}),e.push({name:"Mate Strand",value:!0===this.mate.strand?"(+)":"(-)"}),e.push({name:"Insert Size",value:this.fragmentLength}))),e.push("<hr/>");const r=this.tags();let i=!0;for(let t in r)r.hasOwnProperty(t)&&(i?(e.push({name:t,value:r[t],borderTop:!0}),i=!1):e.push({name:t,value:r[t]}));return e.push("<hr/>"),e.push({name:"Genomic Location: ",value:ke(1+t)}),e.push({name:"Read Base:",value:this.readBaseAt(t)}),e.push({name:"Base Quality:",value:this.readBaseQualityAt(t)}),e;function o(t){return t?"Yes":"No"}}readBaseAt(t){const e=ch(this.blocks,t);if(e){if("*"===this.seq)return"*";{const n=e.seqIndexAt(t);return this.seq[n]}}}readBaseQualityAt(t){const e=ch(this.blocks,t);if(e){if("*"===this.qual)return 30;{const n=e.seqIndexAt(t);return n>=0&&this.qual&&n<this.qual.length?this.qual[n]:30}}}gapSizeAt(t){if(this.gaps)for(let e of this.gaps)if(t>=e.start&&t<e.start+e.len)return e.len;return 0}}function ch(t,e){for(let n=0;n<t.length;n++){const r=t[n];if(e>=r.start&&e<r.start+r.len)return r}}function lh(t,e){return t[e+3]<<24|t[e+2]<<16|t[e+1]<<8|t[e]}function hh(t,e){return t[e+1]<<8|t[e]}function uh(t,e){return new DataView(t.buffer).getFloat32(e)}function fh(t,e){return new DataView(t.buffer).getInt8(e)}function dh(t,e){return new DataView(t.buffer).getUint8(e)}class ph{constructor(t){t&&Object.assign(this,t)}seqIndexAt(t){return Math.floor(t)-this.start+this.seqOffset}}class gh{constructor(t){t||(t={}),this.vendorFailed=void 0===t.vendorFailed||t.vendorFailed,this.duplicates=void 0===t.duplicates||t.duplicates,this.secondary=t.secondary||!1,this.supplementary=t.supplementary||!1,this.mqThreshold=void 0===t.mqThreshold?0:t.mqThreshold,t.readgroups&&(this.readgroups=new Set(t.readgroups))}pass(t){if(this.vendorFailed&&t.isFailsVendorQualityCheck())return!1;if(this.duplicates&&t.isDuplicate())return!1;if(this.secondary&&t.isSecondary())return!1;if(this.supplementary&&t.isSupplementary())return!1;if(t.mq<this.mqThreshold)return!1;if(this.readgroups){var e=t.tags().RG;return this.readgroups.has(e)}return!0}}const mh=["=","A","C","x","G","x","x","x","T","x","x","x","x","x","x","N"],vh=["M","I","D","N","S","H","P","=","X","?","?","?","?","?","?","?"],bh=xh(new Uint8Array([66,65,77,1]),0),wh={readHeader:function(t,e,n){return so.loadArrayBuffer(t,e).then((function(t){var e;return e=Bi(t),wh.decodeBamHeader(e,n)}))},decodeBamHeader:function(t,e){var n,r,i,o,s;if((n=xh(t,0))!==bh)throw new Error("BAM header errror: bad magic number. This could be caused by either a corrupt or missing file.");r=xh(t,4);for(var a=0;a<r;++a)String.fromCharCode(t[a+8]);var c=xh(t,r+8),l=r+12;for(i={},o=[],s={},a=0;a<c;++a){for(var h=xh(t,l),u="",f=0;f<h-1;++f)u+=String.fromCharCode(t[l+4+f]);xh(t,l+h+4),i[u]=a,o[a]=u,e&&(s[e.getChromosomeName(u)]=u),l=l+8+h}return{magicNumber:n,size:l,chrNames:o,chrToIndex:i,chrAliasTable:s}},bam_tag2cigar:function(t,e,n,r,i,o){function s(t){return"C"===t||"c"===t||"A"===t?1:"S"===t||"s"===t?2:"I"===t||"i"===t||"f"===t?4:0}if(1!==o.length||i.start<0)return!1;for(var a=n+(r+1>>1)+r;a+4<e;){if("CG"===String.fromCharCode(t[a])+String.fromCharCode(t[a+1]))break;var c=String.fromCharCode(t[a+2]);if("B"===c)a+=8+s(c=String.fromCharCode(t[a+3]))*xh(t,a+4);else if("Z"===c||"H"===c)for(a+=3;0!==t[a++];);else a+=3+s(c)}if(a>=e)return!1;if("B"!==String.fromCharCode(t[a+2])||"I"!==String.fromCharCode(t[a+3]))return!1;var l=xh(t,a+4),h=a+8;if(h+4*l>e)return!1;var u="",f=0;o.length=0,a=h;for(var d=0;d<l;++d,a+=4){var p=xh(t,a),g=p>>4,m=vh[15&p];"M"!==m&&"EQ"!==m&&"X"!==m&&"D"!==m&&"N"!==m&&"="!==m||(f+=g),u=u+g+m,o.push({len:g,ltr:m})}return i.cigar=u,i.lengthOnRef=f,!0},decodeBamRecords:function(t,e,n,r,i,o,s,a){for(;e<t.length;){const f=e+xh(t,e)+4,d=new ah,p=xh(t,e+4),g=xh(t,e+8);if(f>t.length)return;if(p<0){e=f;continue}if(void 0!==i&&(p>i||g>s))return!0;if(void 0!==i&&p<i){e=f;continue}const m=xh(t,e+12),v=(65280&m)>>8,b=255&m,w=xh(t,e+16),y=(4294901760&w)>>16,x=65535&w,_=xh(t,e+20),k=xh(t,e+24),S=xh(t,e+28),C=xh(t,e+32);let E=[];for(let n=0;n<b-1;++n)E.push(String.fromCharCode(t[e+36+n]));E=E.join("");let A=0,T="",L=e+36+b;const R=[];let M;for(let e=0;e<x;++e){var c=xh(t,L),l=c>>4,h=vh[15&c];"M"!==h&&"EQ"!==h&&"X"!==h&&"D"!==h&&"N"!==h&&"="!==h||(A+=l),T=T+l+h,L+=4,M={len:l,ltr:h},R.push(M)}if(d.chr=r[p],d.start=g,d.flags=y,d.strand=!(16&y),d.readName=E,d.cigar=T,d.lengthOnRef=A,d.fragmentLength=C,d.mq=v,wh.bam_tag2cigar(t,f,L,_,d,R),d.end=d.start+d.lengthOnRef,d.end<o){e=f;continue}let I=[];const N=_+1>>1;for(let e=0;e<N;++e){var u=t[L+e];I.push(mh[(240&u)>>4]),I.push(mh[15&u])}I=I.slice(0,_).join(""),L+=N;const F=[];for(let e=0;e<_;++e)F.push(t[L+e]);L+=_,k>=0&&(d.mate={chr:r[k],position:S,strand:!(32&y)}),d.seq=I,d.qual=F,d.tagBA=new Uint8Array(t.buffer.slice(L,f)),this.setPairOrientation(d),(void 0===a||a.pass(d))&&(yh(d,R),n.push(d)),e=f}},decodeSamRecords:function(t,e,n,r,i,o){var s,a,c,l,h,u,f,d,p,g;for(l=(s=Se(t)).length,!1,a=0;a<l;a++)if(h=s[a].split("\t"),(p=new ah).chr=h[2],p.start=Number.parseInt(h[3])-1,p.flags=Number.parseInt(h[1]),p.readName=h[0],p.strand=!(16&p.flags),p.mq=Number.parseInt(h[4]),p.cigar=h[5],p.fragmentLength=Number.parseInt(h[8]),p.seq=h[9],"*"!==p.chr&&p.isMapped()&&p.chr===n){if(p.start>i)break;if(d=0,(g=_h(p.cigar)).forEach((function(t){var e=t.len,n=t.ltr;"M"!==n&&"EQ"!==n&&"X"!==n&&"D"!==n&&"N"!==n&&"="!==n||(d+=e)})),p.lengthOnRef=d,!(p.start+d<r)){for(u=h[10],p.qual=[],c=0;c<u.length;c++)p.qual[c]=u.charCodeAt(c)-33;p.tagDict=h.length<11?{}:kh(h.slice(11)),p.isMateMapped()&&(f=h[6],p.mate={chr:"="===f?p.chr:f,position:Number.parseInt(h[7]),strand:!(32&p.flags)}),this.setPairOrientation(p),(void 0===o||o.pass(p))&&(yh(p,g),e.push(p))}}},setReaderDefaults:function(t,e){t.filter=new gh(e.filter),e.readgroup&&(t.filter.readgroups=new Set([e.readgroup])),t.alleleFreqThreshold=void 0===e.alleleFreqThreshold?.2:e.alleleFreqThreshold,t.samplingWindowSize=void 0===e.samplingWindowSize?100:e.samplingWindowSize,t.samplingDepth=void 0===e.samplingDepth?500:e.samplingDepth,t.samplingDepth>1e4&&(console.log("Warning: attempt to set sampling depth > maximum value of 10000"),t.samplingDepth=1e4),e.viewAsPairs?t.pairsSupported=!0:t.pairsSupported=void 0===e.pairsSupported||e.pairsSupported},setPairOrientation:function(t){if(t.isMapped()&&t.mate&&t.isMateMapped()&&t.mate.chr===t.chr){var e=t.strand?"F":"R",n=t.mate,r=n.strand?"F":"R",i=" ",o=" ";t.isFirstOfPair()?(i="1",o="2"):t.isSecondOfPair()&&(i="2",o="1");var s=[],a=t.fragmentLength,c=t.end-t.start;if(0===a)a=(t.start<n.position?n.position+c:n.position-c)-t.start;a>0?(s[0]=e,s[1]=i,s[2]=r,s[3]=o):(s[2]=e,s[3]=i,s[0]=r,s[1]=o),t.pairOrientation=s.join("")}}};function yh(t,e){const n=[];let r,i,o=0,s=t.start;t.scStart=t.start,t.scLengthOnRef=t.lengthOnRef;for(let a of e){let e;switch(a.ltr){case"H":case"P":break;case"S":e=s,t.scLengthOnRef+=a.len,0===n.length&&(t.scStart-=a.len,e-=a.len),n.push(new ph({start:e,seqOffset:o,len:a.len,type:"S"})),o+=a.len;break;case"N":case"D":void 0===i&&(i=[]),i.push({start:s,len:a.len,type:a.ltr}),s+=a.len;break;case"I":void 0===r&&(r=[]),r.push(new ph({start:s,len:a.len,seqOffset:o,type:"I"})),o+=a.len;break;case"M":case"EQ":case"=":case"X":n.push(new ph({start:s,seqOffset:o,len:a.len,type:"M"})),o+=a.len,s+=a.len;break;default:console.log("Error processing cigar element: "+a.len+a.ltr)}}t.blocks=n,t.insertions=r,t.gaps=i}function xh(t,e){return t[e+3]<<24|t[e+2]<<16|t[e+1]<<8|t[e]}function _h(t){var e,n,r,i,o,s,a,c,l;for(e=[],n=[],o=null,i=t.length,r=0;r<i;r++)s=t.charAt(r),l=void 0,(l=s.charCodeAt(0))>=48&&l<=57?n.push(s):(a=s,c=Number.parseInt(n.join("")),n=[],null!==o&&o.ltr===a?o.len+=c:(o={len:c,ltr:a},e.push(o)));return e}function kh(t){var e={};return t.forEach((function(t){var n=t.split(":");e[n[0]]=n[2]})),e}class Sh{constructor(t,e){this.config=t,this.genome=e,this.bamPath=t.url,this.isDataUri=ds(t.url),wh.setReaderDefaults(this,t)}async readAlignments(t,e,n){if(this.alignmentCache){const r=this.header,i=r.chrAliasTable.hasOwnProperty(t)?r.chrAliasTable[t]:t,o=this.alignmentCache.queryFeatures(i,e,n),s=new th(t,e,n,this.samplingWindowSize,this.samplingDepth,this.pairsSupported,this.alleleFreqThreshold);for(let t of o)s.push(t);return s.finish(),s}if(this.isDataUri){const r=Bi(function(t){const e=t.split(","),n=e[0].split(":")[1];let r=e[1];r=n.indexOf("base64")>=0?atob(r):decodeURI(r);const i=new Uint8Array(r.length);for(var o=0;o<r.length;o++)i[o]=r.charCodeAt(o);return i}(this.bamPath).buffer);return this.parseAlignments(r),this.fetchAlignments(t,e,n)}{const r=Bi(await so.loadArrayBuffer(this.bamPath,cs(this.config)));return this.parseAlignments(r),this.fetchAlignments(t,e,n)}}parseAlignments(t){const e=[];this.header=wh.decodeBamHeader(t),wh.decodeBamRecords(t,this.header.size,e,this.header.chrNames),this.alignmentCache=new _o(e,this.genome)}fetchAlignments(t,e,n){const r=this.header.chrAliasTable.hasOwnProperty(t)?this.header.chrAliasTable[t]:t,i=this.alignmentCache.queryFeatures(r,e,n),o=new th(t,e,n,this.samplingWindowSize,this.samplingDepth,this.pairsSupported);for(let t of i)o.push(t);return o.finish(),o}}class Ch{constructor(t,e){this.config=t,this.genome=e,this.bamPath=t.url,this.baiPath=t.indexURL,wh.setReaderDefaults(this,t)}async readAlignments(t,e,n){const r=(await this.getChrIndex())[this.chrAliasTable.hasOwnProperty(t)?this.chrAliasTable[t]:t],i=new th(t,e,n,this.config.samplingWindowSize,this.config.samplingDepth,this.config.pairsSupported,this.config.alleleFreqThreshold);if(void 0===r)return i;{const t=(await this.getIndex()).blocksForRange(r,e,n);if(!t||0===t.length)return i;let s=1;for(let a of t){let c;if(0===a.maxv.offset)c=0;else{const t=cs(this.config,{range:{start:a.maxv.block,size:26}});c=zi(await so.loadArrayBuffer(this.bamPath,t))}const l=a.minv.block,h={start:l,size:a.maxv.block+c-l+1};var o=Bi(await so.loadArrayBuffer(this.bamPath,cs(this.config,{range:h})));if(wh.decodeBamRecords(o,a.minv.offset,i,this.indexToChr,r,e,n,this.filter)){console.log(`Loaded ${s} chunks out of ${t.length}`);break}s++}return i.finish(),i}}async getHeader(){if(!this.header){const t=this.genome,e=await this.getIndex();let n;if(e.firstAlignmentBlock){const t=cs(this.config,{range:{start:e.firstAlignmentBlock,size:26}}),r=zi(await so.loadArrayBuffer(this.bamPath,t));n=e.firstAlignmentBlock+r}else n=64e3;const r=cs(this.config,{range:{start:0,size:n}});this.header=await wh.readHeader(this.bamPath,r,t)}return this.header}async getIndex(){const t=this.genome;return this.index||(this.index=await Ic(this.baiPath,this.config,t)),this.index}async getChrIndex(){if(this.chrToIndex)return this.chrToIndex;{const t=await this.getHeader();return this.chrToIndex=t.chrToIndex,this.indexToChr=t.chrNames,this.chrAliasTable=t.chrAliasTable,this.chrToIndex}}}class Eh{constructor(t,e){this.config=t,this.genome=e;const n={};t.sources.sequences.forEach((function(r){const i=e?e.getChromosomeName(r):r;n[i]=function(t,e,n){const r={url:t.sources.url.replace("$CHR",n)};t.sources.indexURL&&(r.indexURL=t.sources.indexURL.replace("$CHR",n));const i=Object.assign(t,r);return new Ch(i,e)}(t,e,r)})),this.bamReaders=n,wh.setReaderDefaults(this,t)}async readAlignments(t,e,n){if(this.bamReaders.hasOwnProperty(t)){let r=this.bamReaders[t];return await r.readAlignments(t,e,n)}return new th(t,e,n)}}const Ah=function(t,e){this.config=t,this.genome=e,wh.setReaderDefaults(this,t)};function Th(){const t=this,e=this.genome;if(this.header)return Promise.resolve(this.header);{const n=this.config.url+"?file="+this.config.alignmentFile+"&options=-b,-H",r=cs(this.config);return wh.readHeader(n,r,e).then((function(e){return t.header=e,e}))}}Ah.prototype.readAlignments=function(t,e,n){var r=this;return Th.call(r).then((function(i){var o,s;return o=i.chrAliasTable.hasOwnProperty(t)?i.chrAliasTable[t]:t,s=r.config.url+"?reference="+r.config.referenceFile+"&file="+r.config.alignmentFile+"&region="+o+":"+e+"-"+n,so.loadString(s,cs(r.config)).then((function(s){var a;return i.chrToIndex[o],a=new th(t,e,n,r.samplingWindowSize,r.samplingDepth,r.pairsSupported,r.alleleFreqThreshold),wh.decodeSamRecords(s,a,o,e,n,r.filter),a}))}))};class Lh extends Xc{constructor(t,e){super(t,e),wh.setReaderDefaults(this,t)}async readAlignments(t,e,n){if(!this.header){const t=Bi((await this.readHeaderData()).buffer);this.header=wh.decodeBamHeader(t,this.genome),this.chrAliasTable=new Map;for(let t of Object.keys(this.header.chrAliasTable))this.chrAliasTable.set(t,this.header.chrAliasTable[t])}let r=this.chrAliasTable.has(t)?this.chrAliasTable.get(t):t;const i=Bi((await this.readData(r,e,n)).buffer),o=this.header.chrToIndex[t],s=new th(t,e,n,this.samplingWindowSize,this.samplingDepth,this.pairsSupported,this.alleleFreqThreshold);return wh.decodeBamRecords(i,this.header.size,s,this.header.chrNames,o,e,n),s.finish(),s}}const Rh=eval,Mh=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=163)}([function(t,e,n){var r=n(13),i=n(81).f,o=n(107),s=n(3),a=n(15),c=n(20),l=n(24),h=function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e};t.exports=function(t,e){var n,u,f,d,p,g,m,v,b=t.target,w=t.global,y=t.stat,x=t.proto,_=w?r:y?r[b]:(r[b]||{}).prototype,k=w?s:s[b]||(s[b]={}),S=k.prototype;for(f in e)n=!o(w?f:b+(y?".":"#")+f,t.forced)&&_&&l(_,f),p=k[f],n&&(g=t.noTargetGet?(v=i(_,f))&&v.value:_[f]),d=n&&g?g:e[f],n&&typeof p==typeof d||(m=t.bind&&n?a(d,r):t.wrap&&n?h(d):x&&"function"==typeof d?a(Function.call,d):d,(t.sham||d&&d.sham||p&&p.sham)&&c(m,"sham",!0),k[f]=m,x&&(l(s,u=b+"Prototype")||c(s,u,{}),s[u][f]=d,t.real&&S&&!S[f]&&c(S,f,d)))}},function(t,e){t.exports=function(t){return t&&t.__esModule?t:{default:t}}},function(t,e,n){var r=n(14);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,e,n){var r=n(13),i=n(61),o=n(64),s=n(110),a=r.Symbol,c=i("wks");t.exports=function(t){return c[t]||(c[t]=s&&a[t]||(s?a:o)("Symbol."+t))}},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,n){var r=n(2),i=n(119),o=n(29),s=n(15),a=n(90),c=n(120),l=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,e,n,h,u){var f,d,p,g,m,v,b=s(e,n,h?2:1);if(u)f=t;else{if("function"!=typeof(d=a(t)))throw TypeError("Target is not iterable");if(i(d)){for(p=0,g=o(t.length);g>p;p++)if((m=h?b(r(v=t[p])[0],v[1]):b(t[p]))&&m instanceof l)return m;return new l(!1)}f=d.call(t)}for(;!(v=f.next()).done;)if((m=c(f,b,v.value,h))&&m instanceof l)return m;return new l(!1)}).stop=function(t){return new l(!0,t)}},function(t,e,n){var r=n(1),i=r(n(7)),o=r(n(32)),s=r(n(27)),a=r(n(33)),c=r(n(265)),l=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}((0,c.default)(Error)),h=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}((0,c.default)(Error)),u=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}(l),f=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}(u),d=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}(l),p=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}(l);t.exports={CramBufferOverrunError:f,CramMalformedError:u,CramUnimplementedError:h,CramSizeLimitError:d,CramArgumentError:p}},function(t,e,n){var r=n(196);function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),r(t,i.key,i)}}t.exports=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}},function(t,e,n){var r=n(3),i=n(24),o=n(95),s=n(21).f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});i(e,t)||s(e,t,{value:o.f(t)})}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){(function(e){var n="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==n&&globalThis)||r(typeof window==n&&window)||r(typeof self==n&&self)||r(typeof e==n&&e)||Function("return this")()}).call(this,n(23))},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(5);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){t.exports=n(167)},function(t,e,n){var r=n(12);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,e,n){var r=n(3);t.exports=function(t){return r[t+"Prototype"]}},function(t,e,n){(function(t){
39
+ function Cs(t,e){var n,r=Object.keys(e);for(n=0;n<r.length;n++)t=t.replace(new RegExp("\\{"+r[n]+"\\}","gi"),e[r[n]]);return t}function Es(t){var e,n,r;if(!t)throw new Error("cannot create a random attribute name for an undefined object");e="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",n="";do{for(n="",r=0;r<12;r++)n+=e[Math.floor(Math.random()*e.length)]}while(t[n]);return n}function As(t){var e={alphabetic:"alphabetic",hanging:"hanging",top:"text-before-edge",bottom:"text-after-edge",middle:"central"};return e[t]||e.alphabetic}function Ts(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}const Ls=function(t,e){var n,r,i,o={};for(t=t.split(","),e=e||10,n=0;n<t.length;n+=2)r="&"+t[n+1]+";",i=parseInt(t[n],e),o[r]="&#"+i+";";return o["\\xa0"]="&#160;",o}("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),Ms={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"},lineDash:{svgAttr:"stroke-dasharray",canvas:[],svg:null,apply:"stroke"}};class Rs{constructor(t,e){this.__root=t,this.__ctx=e}addColorStop(t,e){var n,r=this.__ctx.__createElement("stop");r.setAttribute("offset",t),e&&-1!==e.indexOf("rgba")?(n=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(e),r.setAttribute("stop-color",Cs("rgb({r},{g},{b})",{r:n[1],g:n[2],b:n[3]})),r.setAttribute("stop-opacity",n[4])):r.setAttribute("stop-color",e),this.__root.appendChild(r)}}class Is{constructor(t,e){this.__root=t,this.__ctx=e}}class Ns{constructor(t){if(!(this instanceof Ns))return new Ns(t);if(this.config=t,this.width=t.width,this.height=t.height,this.enableMirroring=t.enableMirroring||!1,this.canvas=this,this.__document=document,t.ctx?this.__ctx=t.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.isSVG=!0,this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__createElement("svg"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__root.setAttribute("overflow","visible"),t.viewbox){const e=t.viewbox.x+" "+t.viewbox.y+" "+t.viewbox.width+" "+t.viewbox.height;this.__root.setAttribute("viewBox",e),this.viewbox=t.viewbox}this.__ids={},this.__defs=this.__createElement("defs"),this.__root.appendChild(this.__defs),this.multiLocusGap=t.multiLocusGap;let e={id:"svg_output_backdrop",width:"100%",height:"100%",fill:t.backdropColor||"white"},n=this.__createElement("rect",e);this.__root.appendChild(n),this.__rootGroup=this.__createElement("g",{id:"root-group"}),this.__root.appendChild(this.__rootGroup),this.__currentElement=this.__rootGroup}setWidth(t){this.width=t,this.__root.setAttribute("width",this.width);const e=this.config.viewbox.x+" "+this.config.viewbox.y+" "+t+" "+this.config.viewbox.height;this.__root.setAttribute("viewBox",e)}setHeight(t){this.height=t,this.__root.setAttribute("height",this.height);const e=this.config.viewbox.x+" "+this.config.viewbox.y+" "+this.config.viewbox.width+" "+t;this.__root.setAttribute("viewBox",e)}__createElement(t,e,n){void 0===e&&(e={});let r=this.__document.createElementNS("http://www.w3.org/2000/svg",t);n&&(r.setAttribute("fill","none"),r.setAttribute("stroke","none"));for(let t of Object.keys(e))r.setAttribute(t,e[t]);return r}__setDefaultStyles(){var t,e,n=Object.keys(Ms);for(t=0;t<n.length;t++)this[e=n[t]]=Ms[e].canvas}__applyStyleState(t){var e,n,r=Object.keys(t);for(e=0;e<r.length;e++)this[n=r[e]]=t[n]}__getStyleState(){var t,e,n={},r=Object.keys(Ms);for(t=0;t<r.length;t++)n[e=r[t]]=this[e];return n}__applyStyleToCurrentElement(t){var e=this.__currentElement,n=this.__currentElementsToStyle;n&&(e.setAttribute(t,""),e=n.element,n.children.forEach((function(e){e.setAttribute(t,"")})));var r,i,o,s,a,l=Object.keys(Ms);for(r=0;r<l.length;r++)if(i=Ms[l[r]],o=this[l[r]],i.apply)if(o instanceof Is){if(o.__ctx)for(;o.__ctx.__defs.childNodes.length;)s=o.__ctx.__defs.childNodes[0].getAttribute("id"),this.__ids[s]=s,this.__defs.appendChild(o.__ctx.__defs.childNodes[0]);e.setAttribute(i.apply,Cs("url(#{id})",{id:o.__root.getAttribute("id")}))}else if(o instanceof Rs)e.setAttribute(i.apply,Cs("url(#{id})",{id:o.__root.getAttribute("id")}));else if(i&&-1!==i.apply.indexOf(t)&&i.svg!==o)if("stroke"!==i.svgAttr&&"fill"!==i.svgAttr||!o||-1===o.indexOf("rgba")){var c=i.svgAttr;if("globalAlpha"===l[r]&&(c=t+"-"+i.svgAttr,e.getAttribute(c)))continue;e.setAttribute(c,o)}else{a=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(o),e.setAttribute(i.svgAttr,Cs("rgb({r},{g},{b})",{r:a[1],g:a[2],b:a[3]}));var h=a[4],u=this.globalAlpha;null!=u&&(h*=u),e.setAttribute(i.svgAttr+"-opacity",h)}}__closestGroupOrSvg(t){return"g"===(t=t||this.__currentElement).nodeName||"svg"===t.nodeName?t:this.__closestGroupOrSvg(t.parentNode)}getSerializedSvg(t){var e,n,r,i,o,s=(new XMLSerializer).serializeToString(this.__root);if(t)for(e=Object.keys(Ls),n=0;n<e.length;n++)r=e[n],i=Ls[r],(o=new RegExp(r,"gi")).test(s)&&(s=s.replace(o,i));return s}getSvg(){return this.__root}saveWithTranslationAndClipRect(t,e,n,r,i,o){const s=`${t}_clip_rect`;let a=this.__createElement("clipPath",{id:s});this.__defs.appendChild(a);const l={x:"0",y:o.toString(),width:r.toString(),height:i.toString()};a.appendChild(this.__createElement("rect",l));const c=this.__createElement("g");c.setAttribute("transform",Cs("translate({x},{y})",{x:e,y:n})),c.setAttribute("clip-path",Cs("url(#{id})",{id:s}));const h=this.__closestGroupOrSvg();h.appendChild(c),this.__groupStack.push(h),this.__currentElement=c,this.__stack.push(this.__getStyleState())}save(){var t=this.__createElement("g"),e=this.__closestGroupOrSvg();this.__groupStack.push(e),e.appendChild(t),this.__currentElement=t,this.__stack.push(this.__getStyleState())}restore(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=null,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);var t=this.__stack.pop();this.__applyStyleState(t)}__addTransform(t){var e=this.__closestGroupOrSvg();if(e.childNodes.length>0){"path"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var n=this.__createElement("g");e.appendChild(n),this.__currentElement=n}var r=this.__currentElement.getAttribute("transform");r?r+=" ":r="",r+=t,this.__currentElement.setAttribute("transform",r)}addTrackGroupWithTranslationAndClipRect(t,e,n,r,i,o){const s=t+"_clip_rect";let a=this.__createElement("clipPath",{id:s});this.__defs.appendChild(a),a.appendChild(this.__createElement("rect",{x:"0",y:o.toString(),width:r.toString(),height:i.toString()}));let l=this.__createElement("g");this.__rootGroup.appendChild(l),l.setAttribute("transform",Cs("translate({x},{y})",{x:e,y:n})),l.setAttribute("id",t+"_group"),l.setAttribute("clip-path",Cs("url(#{id})",{id:s})),this.__currentElement=l}scale(t,e){void 0===e&&(e=t),this.__addTransform(Cs("scale({x},{y})",{x:t,y:e}))}rotate(t){var e=180*t/Math.PI;this.__addTransform(Cs("rotate({angle},{cx},{cy})",{angle:e,cx:0,cy:0}))}translate(t,e){this.__addTransform(Cs("translate({x},{y})",{x:t,y:e}))}transform(t,e,n,r,i,o){this.__addTransform(Cs("matrix({a},{b},{c},{d},{e},{f})",{a:t,b:e,c:n,d:r,e:i,f:o}))}beginPath(){var t;this.__currentDefaultPath="",this.__currentPosition={},t=this.__createElement("path",{},!0),this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t}__applyCurrentDefaultPath(){var t=this.__currentElement;"path"===t.nodeName?t.setAttribute("d",this.__currentDefaultPath):console.error("Attempted to apply path command to node",t.nodeName)}__addPathCommand(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t}moveTo(t,e){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:t,y:e},this.__addPathCommand(Cs("M {x} {y}",{x:t,y:e}))}closePath(){this.__currentDefaultPath&&this.__addPathCommand("Z")}lineTo(t,e){this.__currentPosition={x:t,y:e},this.__currentDefaultPath&&this.__currentDefaultPath.indexOf("M")>-1?this.__addPathCommand(Cs("L {x} {y}",{x:t,y:e})):this.__addPathCommand(Cs("M {x} {y}",{x:t,y:e}))}bezierCurveTo(t,e,n,r,i,o){this.__currentPosition={x:i,y:o},this.__addPathCommand(Cs("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:t,cp1y:e,cp2x:n,cp2y:r,x:i,y:o}))}quadraticCurveTo(t,e,n,r){this.__currentPosition={x:n,y:r},this.__addPathCommand(Cs("Q {cpx} {cpy} {x} {y}",{cpx:t,cpy:e,x:n,y:r}))}arcTo(t,e,n,r,i){var o=this.__currentPosition&&this.__currentPosition.x,s=this.__currentPosition&&this.__currentPosition.y;if(void 0!==o&&void 0!==s){if(i<0)throw new Error("IndexSizeError: The radius provided ("+i+") is negative.");if(o===t&&s===e||t===n&&e===r||0===i)this.lineTo(t,e);else{var a=Ts([o-t,s-e]),l=Ts([n-t,r-e]);if(a[0]*l[1]!=a[1]*l[0]){var c=a[0]*l[0]+a[1]*l[1],h=Math.acos(Math.abs(c)),u=Ts([a[0]+l[0],a[1]+l[1]]),f=i/Math.sin(h/2),d=t+f*u[0],p=e+f*u[1],g=[-a[1],a[0]],m=[l[1],-l[0]],v=function(t){var e=t[0];return t[1]>=0?Math.acos(e):-Math.acos(e)},b=v(g),w=v(m);this.lineTo(d+g[0]*i,p+g[1]*i),this.arc(d,p,i,b,w)}else this.lineTo(t,e)}}}stroke(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")}fill(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")}rect(t,e,n,r){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.closePath()}fillRect(t,e,n,r){r<0&&(e+=r,r=-r),n<0&&(t+=n,n=-n);var i,o,s,a={x:t,y:e,width:n,height:r};(!this.viewbox||(i=this.viewbox,o=a,i.x<o.x+o.width&&i.x+i.width>o.x&&i.y<o.y+o.height&&i.y+i.height>o.y))&&(s=this.__createElement("rect",a,!0),this.__closestGroupOrSvg().appendChild(s),this.__currentElement=s,this.__applyStyleToCurrentElement("fill"))}strokeRect(t,e,n,r){var i;i=this.__createElement("rect",{x:t,y:e,width:n,height:r},!0),this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("stroke")}strokeEllipse(t,e,n,r,i,o,s,a){this.__ellipse(t,e,n,r,i,o,s,a,"stroke")}fillEllipse(t,e,n,r,i,o,s,a){this.__ellipse(t,e,n,r,i,o,s,a,"fill")}__ellipse(t,e,n,r,i,o,s,a,l){const c={cx:t,cy:e,rx:n,ry:r},h=this.__createElement("ellipse",c,!0);this.__closestGroupOrSvg().appendChild(h),this.__currentElement=h,this.__applyStyleToCurrentElement(l)}__clearCanvas(){for(var t=this.__closestGroupOrSvg().getAttribute("transform"),e=this.__root.childNodes[1],n=e.childNodes,r=n.length-1;r>=0;r--)n[r]&&e.removeChild(n[r]);this.__currentElement=e,this.__groupStack=[],t&&this.__addTransform(t)}clearRect(t,e,n,r){if(0!==t||0!==e||n!==this.width||r!==this.height){var i,o=this.__closestGroupOrSvg();i=this.__createElement("rect",{x:t,y:e,width:n,height:r,fill:"#FFFFFF"},!0),o.appendChild(i)}else this.__clearCanvas()}createLinearGradient(t,e,n,r){var i=this.__createElement("linearGradient",{id:Es(this.__ids),x1:t+"px",x2:n+"px",y1:e+"px",y2:r+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(i),new Rs(i,this)}createRadialGradient(t,e,n,r,i,o){var s=this.__createElement("radialGradient",{id:Es(this.__ids),cx:r+"px",cy:i+"px",r:o+"px",fx:t+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(s),new Rs(s,this)}__parseFont(){var t=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i.exec(this.font),e={style:t[1]||"normal",size:t[4]||"10px",family:t[6]||"sans-serif",weight:t[3]||"normal",decoration:t[2]||"normal",href:null};return"underline"===this.__fontUnderline&&(e.decoration="underline"),this.__fontHref&&(e.href=this.__fontHref),e}__wrapTextLink(t,e){if(t.href){var n=this.__createElement("a");return n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.href),n.appendChild(e),n}return e}__applyText(t,e,n,r){var i,o,s=this.__parseFont(),a=this.__closestGroupOrSvg(),l=this.__createElement("text",{"font-family":s.family,"font-size":s.size,"font-style":s.style,"font-weight":s.weight,"text-decoration":s.decoration,x:e,y:n,"text-anchor":(i=this.textAlign,o={left:"start",right:"end",center:"middle",start:"start",end:"end"},o[i]||o.start),"dominant-baseline":As(this.textBaseline)},!0);l.appendChild(this.__document.createTextNode(t)),this.__currentElement=l,this.__applyStyleToCurrentElement(r),a.appendChild(this.__wrapTextLink(s,l))}fillText(t,e,n){this.__applyText(t,e,n,"fill")}strokeText(t,e,n){this.__applyText(t,e,n,"stroke")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,e,n,r,i,o){if(r!==i){(r%=2*Math.PI)===(i%=2*Math.PI)&&(i=(i+2*Math.PI-.001*(o?-1:1))%(2*Math.PI));var s=t+n*Math.cos(i),a=e+n*Math.sin(i),l=t+n*Math.cos(r),c=e+n*Math.sin(r),h=o?0:1,u=0,f=i-r;f<0&&(f+=2*Math.PI),u=o?f>Math.PI?0:1:f>Math.PI?1:0,this.lineTo(l,c),this.__addPathCommand(Cs("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n,ry:n,xAxisRotation:0,largeArcFlag:u,sweepFlag:h,endX:s,endY:a})),this.__currentPosition={x:s,y:a}}}clip(){var t=this.__closestGroupOrSvg(),e=this.__createElement("clipPath"),n=Es(this.__ids),r=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),e.setAttribute("id",n),e.appendChild(this.__currentElement),this.__defs.appendChild(e),t.setAttribute("clip-path",Cs("url(#{id})",{id:n})),t.appendChild(r),this.__currentElement=r}drawImage(){var t,e,n,r,i,o,s,a,l,c,h,u,f,d=Array.prototype.slice.call(arguments),p=d[0],g=0,m=0;if(3===d.length)t=d[1],e=d[2],n=i=p.width,r=o=p.height;else if(5===d.length)t=d[1],e=d[2],n=d[3],r=d[4],i=p.width,o=p.height;else{if(9!==d.length)throw new Error("Invalid number of arguments passed to drawImage: "+arguments.length);g=d[1],m=d[2],i=d[3],o=d[4],t=d[5],e=d[6],n=d[7],r=d[8]}s=this.__closestGroupOrSvg();var v="translate("+t+", "+e+")";if(p instanceof Ns){if((a=p.getSvg().cloneNode(!0)).childNodes&&a.childNodes.length>1){for(l=a.childNodes[0];l.childNodes.length;)f=l.childNodes[0].getAttribute("id"),this.__ids[f]=f,this.__defs.appendChild(l.childNodes[0]);if(c=a.childNodes[1]){var b,w=c.getAttribute("transform");b=w?w+" "+v:v,c.setAttribute("transform",b),s.appendChild(c)}}}else"CANVAS"!==p.nodeName&&"IMG"!==p.nodeName||((h=this.__createElement("image")).setAttribute("width",n),h.setAttribute("height",r),h.setAttribute("preserveAspectRatio","none"),(g||m||i!==p.width||o!==p.height)&&((u=this.__document.createElement("canvas")).width=n,u.height=r,u.getContext("2d").drawImage(p,g,m,i,o,0,0,n,r),p=u),h.setAttribute("transform",v),h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===p.nodeName?p.toDataURL():p.getAttribute("src")),s.appendChild(h))}createPattern(t,e){let n,r=this.__document.__createElement("pattern"),i=Es(this.__ids);return r.setAttribute("id",i),r.setAttribute("width",t.width),r.setAttribute("height",t.height),"CANVAS"===t.nodeName||"IMG"===t.nodeName?(n=this.__createElement("image"),n.setAttribute("width",t.width),n.setAttribute("height",t.height),n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===t.nodeName?t.toDataURL():t.getAttribute("src")),r.appendChild(n),this.__defs.appendChild(r)):t instanceof Ns&&(r.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(r)),new Is(r,this)}setLineDash(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null}drawFocusRing(){}createImageData(){}getImageData(){}putImageData(){}globalCompositeOperation(){}setTransform(){}}const Ps=function(t,e,n,r,i){this.name=t,this.order=e,this.bpStart=n,this.bpLength=r,this.rangeLocus=i},Fs=Se,Os=new Set(["fastaURL","indexURL","cytobandURL","indexed"]);class Ds{constructor(t){this.fastaURL=t.fastaURL,this.withCredentials=t.withCredentials,this.chromosomeNames=[],this.chromosomes={},this.sequences=new Map,this.offsets={};const e={};for(let n in t)t.hasOwnProperty(n)&&!Os.has(n)&&(e[n]=t[n]);this.config=e}async init(){return this.loadAll()}async getSequence(t,e,n){this.offsets[t]&&(e-=this.offsets[t],n-=this.offsets[t]);let r="";if(e<0)for(let t=e;t<Math.min(n,0);t++)r+="*";if(n<=0)return Promise.resolve(r);const i=this.sequences.get(t),o=Math.min(n,i.length);return r+i.substring(e,o)}async loadAll(){let t;if(fa(this.fastaURL)){let e=Yi(this.fastaURL);t="";for(let n of e)t+=String.fromCharCode(n)}else t=await po.load(this.fastaURL,aa(this.config));const e=Fs(t),n=e.length;let r,i,o,s,a=0,l=0,c=0;for(;a<n;)if(o=e[a++].trim(),o.startsWith("#")||0===o.length);else if(o.startsWith(">")){r&&(this.chromosomeNames.push(s),this.sequences.set(s,r),this.chromosomes[s]=new Ps(s,c++,l,l+r.length,i));const t=o.substr(1).split(/\s+/)[0].split(":");if(s=t[0],r="",l=0,i=void 0,t.length>1&&t[1].indexOf("-")>0){const e=t[1].split("-");2===e.length&&/^[0-9]+$/.test(e[0])&&/^[0-9]+$/.test(e[1]);const n=Number.parseInt(e[0]);Number.parseInt(e[1])>n&&(l=n-1,this.offsets[s]=l,i=t[1])}}else r+=o;r&&(this.chromosomeNames.push(s),this.sequences.set(s,r),this.chromosomes[s]=new Ps(s,c++,l,l+r.length,i))}}const Bs=function(t,e,n,r){this.chr=t,this.start=e,this.end=n,this.features=r};Bs.prototype.contains=function(t,e,n){return this.chr===t&&this.start<=e&&this.end>=n},Bs.prototype.containsRange=function(t){return this.chr===t.chr&&this.start<=t.start&&this.end>=t.end};const zs=Se,Hs=new Set(["fastaURL","indexURL","cytobandURL","indexed"]);class Vs{constructor(t){this.file=t.fastaURL,this.indexFile=t.indexURL||t.indexFile||this.file+".fai",this.withCredentials=t.withCredentials,this.chromosomeNames=[],this.chromosomes={},this.sequences={},this.offsets={};const e={};for(let n in t)t.hasOwnProperty(n)&&!Hs.has(n)&&(e[n]=t[n]);this.config=e}async init(){return this.getIndex()}async getSequence(t,e,n){if(!this.interval||!this.interval.contains(t,e,n)){let r=e,i=n;if(n-e<5e4){const t=n-e,o=Math.round(e+t/2);r=Math.max(0,o-25e3),i=o+25e3}const o=await this.readSequence(t,r,i);this.interval=new Bs(t,r,i,o)}const r=e-this.interval.start,i=n-e;return this.interval.features?this.interval.features.substr(r,i):null}async getIndex(){if(this.index)return this.index;{const t=await po.load(this.indexFile,aa(this.config)),e=zs(t),n=e.length;let r=0,i=0;for(this.index={};r<n;){const t=e[r++].split("\t");if(5===t.length){const e=t[0],n=parseInt(t[1]),r={size:n,position:parseInt(t[2]),basesPerLine:parseInt(t[3]),bytesPerLine:parseInt(t[4])};this.chromosomeNames.push(e),this.index[e]=r,this.chromosomes[e]=new Ps(e,i++,0,n)}}return this.index}}async readSequence(t,e,n){await this.getIndex();const r=this.index[t];if(r){const i=Math.max(0,e),o=Math.min(r.size,n),s=r.bytesPerLine,a=r.basesPerLine,l=r.position,c=s-a,h=Math.floor(i/a),u=Math.floor(o/a),f=i-h*a,d=l+h*s+f,p=l+u*s+(o-u*a)-1-d+1;let g;if(p<=0?console.error("No sequence for "+t+":"+e+"-"+n):g=await po.load(this.file,aa(this.config,{range:{start:d,size:p}})),g){let t,e="",n=0,r=g.length;for(f>0&&(t=Math.min(o-i,a-f),e+=g.substr(n,t),n+=t+c);n<r;)t=Math.min(a,r-n),e+=g.substr(n,t),n+=t+c;return e}return null}return console.log("No index entry for chr: "+t),this.interval=new Bs(t,e,n,null),null}}const js=function(t,e,n,r){this.start=t,this.end=e,this.name=n,this.stain=0,"acen"===r?this.type="c":(this.type=r.charAt(1),"p"===this.type&&(this.stain=parseInt(r.substring(4))))};function Us(){return"2.10.4"}const qs=Se,Ws={loadGenome:async function(t){const e=t.cytobandURL,n=t.aliasURL,r=await async function(t){let e;return e=fa(t.fastaURL)||!1===t.indexed?new Ds(t):new Vs(t),await e.init(),e}(t);let i,o;return e&&(i=await async function(t,e){let n;if(fa(t)){const e=Yi(t);n="";const r=e.length;for(let t=0;t<r;t++)n+=String.fromCharCode(e[t])}else n=await po.loadString(t,aa(e));const r={};let i,o=[];const s=qs(n);for(let t of s){var a=t.split("\t"),l=a[0];if(i||(i=l),l!==i&&(r[i]=o,o=[],i=l),5===a.length){var c=parseInt(a[1]),h=parseInt(a[2]),u=a[3],f=a[4];o.push(new js(c,h,u,f))}}return r}(e,r.config)),n&&(o=await function(t,e){return po.loadString(t,aa(e)).then((function(t){var e=qs(t),n=[];return e.forEach((function(t){!t.startsWith("#")&&t.length>0&&n.push(t.split("\t"))})),n}))}(n,r.config)),new $s(t,r,i,o)},initializeGenomes:async function(t){if(!Ws.KNOWN_GENOMES){const n={};if(!1!==t.loadDefaultGenomes)try{const t=`https://igv.org/genomes/genomes.json?randomSeed=${Math.random().toString(36)}&version=2.10.4`;e(await po.loadJson(t,{timeout:5e3}))}catch(t){console.error(t);try{const t=`https://s3.amazonaws.com/igv.org.genomes/genomes.json?randomSeed=${Math.random().toString(36)}&version=2.10.4`;e(await po.loadJson(t,{}))}catch(t){console.error(t),console.warn("Errors loading default genome definitions.")}}const r=t.genomeList||t.genomes;if(r)if("string"==typeof r){e(await po.loadJson(r,{}))}else e(r);function e(t){return t.forEach((function(t){n[t.id]=t})),n}Ws.KNOWN_GENOMES=n}},isWholeGenomeView:function(t){return"all"===t.toLowerCase()},expandReference:function(t){if(_e(t)&&t.startsWith("{"))try{t=JSON.parse(t)}catch(t){}let e;if(_e(t)?e=t:t.genome?e=t.genome:void 0!==t.id&&void 0===t.fastaURL&&(e=t.id),e){const t=Ws.KNOWN_GENOMES[e];return t||Ko.presentAlert(new Error(`Unknown genome id: ${e}`),void 0),t}return t}};class $s{constructor(t,e,n,r){this.config=t,this.id=t.id,this.sequence=e,this.chromosomeNames=e.chromosomeNames,this.chromosomes=e.chromosomes,this.ideograms=n,this.featureDB={},this.wholeGenomeView=void 0===t.wholeGenomeView||t.wholeGenomeView,this.wholeGenomeView&&Object.keys(e.chromosomes).length>1?function(t,e){let n;if(e.chromosomeOrder)Array.isArray(e.chromosomeOrder)?t.wgChromosomeNames=e.chromosomeOrder:t.wgChromosomeNames=e.chromosomeOrder.split(",").map((t=>t.trim())),n=t.wgChromosomeNames.map((e=>t.chromosomes[e])).filter((t=>void 0!==t));else{const e=Object.keys(t.chromosomes).map((e=>t.chromosomes[e].bpLength)).reduce(((t,e)=>Math.max(t,e)))/50;n=Object.values(t.chromosomes).filter((t=>t.bpLength>e));const r=n.filter((t=>i(t.name.replace("chr","")))),o=n.filter((t=>!i(t.name.replace("chr",""))));r.sort(((t,e)=>Number.parseInt(t.name.replace("chr",""))-Number.parseInt(e.name.replace("chr",""))));const s=r.map((t=>t.name));for(let t of o)s.push(t.name);t.wgChromosomeNames=s}const r=n.reduce(((t,e)=>t+e.bpLength),0);function i(t){return/^\d+$/.test(t)}t.chromosomes.all={name:"all",bpLength:r}}(this,t):this.wgChromosomeNames=e.chromosomeNames;var i={},o=this;i.all="all",this.chromosomeNames.forEach((function(t){var e=t.startsWith("chr")?t.substring(3):"chr"+t;i[e.toLowerCase()]=t,"chrM"===t&&(i.mt="chrM"),"MT"===t&&(i.chrm="MT"),i[t.toLowerCase()]=t})),r&&r.forEach((function(t){var e,n;for(n=0;n<t.length;n++)if(o.chromosomes[t[n]]){e=t[n];break}e&&t.forEach((function(t){t!==e&&(i[t.toLowerCase()]=e,i[t]=e)}))})),this.chrAliasTable=i}showWholeGenomeView(){return!1!==this.config.wholeGenomeView}toJSON(){return Object.assign({},this.config,{tracks:void 0})}getInitialLocus(){}getHomeChromosomeName(){return this.showWholeGenomeView()&&this.chromosomes.hasOwnProperty("all")?"all":this.chromosomeNames[0]}getChromosomeName(t){var e=this.chrAliasTable[t.toLowerCase()];return e||t}getChromosome(t){return t=this.getChromosomeName(t),this.chromosomes[t]}getCytobands(t){return this.ideograms?this.ideograms[t]:null}getLongestChromosome(){var t,e=this.chromosomes;for(let r in e){if(e.hasOwnProperty(r)){var n=e[r];(void 0===t||n.bpLength>t.bpLength)&&(t=n)}return t}}getChromosomes(){return this.chromosomes}getGenomeCoordinate(t,e){var n=this.getCumulativeOffset(t);if(void 0!==n)return n+e}getChromosomeCoordinate(t){let e;void 0===this.cumulativeOffsets&&(this.cumulativeOffsets=computeCumulativeOffsets.call(this));let n=0;for(let r of this.wgChromosomeNames){const i=this.cumulativeOffsets[r];if(i>t){return{chr:e,position:t-n}}e=r,n=i}return{chr:this.chromosomeNames[this.chromosomeNames.length-1],position:0}}getCumulativeOffset(t){void 0===this.cumulativeOffsets&&(this.cumulativeOffsets=function(){let t=this,e={},n=0;for(let r of t.wgChromosomeNames){e[r]=Math.floor(n);n+=t.getChromosome(r).bpLength}return e}.call(this));const e=this.getChromosomeName(t);return this.cumulativeOffsets[e]}getGenomeLength(){let t=this;if(!this.bpLength){let e=0;t.wgChromosomeNames.forEach((function(n){let r=t.chromosomes[n];e+=r.bpLength})),this.bpLength=e}return this.bpLength}async getSequence(t,e,n){return this.sequence.getSequence(t,e,n)}}let Gs,Zs=0;class Xs extends class{constructor(t,e,n,r){this.guid=ve(),this.trackView=t,this.referenceFrame=n,this.browser=t.browser,this.$viewport=de('<div class="igv-viewport">'),e.appendChild(this.$viewport.get(0)),t.track.height&&(this.$viewport.get(0).style.height=`${t.track.height}px`),t.track instanceof Ss&&(this.alert=new Xo(this.$viewport.get(0))),this.$content=de("<div>",{class:"igv-viewport-content"}),this.$viewport.append(this.$content),this.$content.height(this.$viewport.height()),this.contentDiv=this.$content.get(0),this.$canvas=de("<canvas>"),this.$content.append(this.$canvas),this.canvas=this.$canvas.get(0),this.ctx=this.canvas.getContext("2d"),this.setWidth(r),this.initializationHelper()}initializationHelper(){}showMessage(t){this.messageDiv||(this.messageDiv=document.createElement("div"),this.messageDiv.className="igv-viewport-message",this.contentDiv.append(this.messageDiv)),this.messageDiv.textContent=t,this.messageDiv.style.display="inline-block"}hideMessage(t){this.messageDiv&&(this.messageDiv.style.display="none")}setTrackLabel(t){}startSpinner(){}stopSpinner(){}checkZoomIn(){return!0}shift(){}setTop(t){const e=-t,n=e+this.$viewport.height();this.$content.css("top",`${t}px`),(void 0===this.canvasVerticalRange||this.canvasVerticalRange.bottom<n||this.canvasVerticalRange.top>e)&&this.repaint()}async loadFeatures(){}async repaint(){console.log("Viewport - repaint()")}draw(t,e,n){console.log("Viewport - draw(drawConfiguration, features, roiFeatures)")}checkContentHeight(){let t=this.trackView.track;if("FILL"===t.displayMode)this.setContentHeight(this.$viewport.height());else if("function"==typeof t.computePixelHeight){let e=this.cachedFeatures;if(e&&e.length>0){let n=t.computePixelHeight(e);n!==this.$content.height()&&this.setContentHeight(n)}}}getContentHeight(){return this.$content.height()}setContentHeight(t){t=Math.min(t,32e3),this.$content.height(t),this.tile&&(this.tile.invalidate=!0)}isLoading(){return!1}saveSVG(){}isVisible(){return this.$viewport.width()}setWidth(t){this.$viewport.width(t),this.canvas.style.width=`${t}px`,this.canvas.setAttribute("width",t)}getWidth(){return this.$viewport.width()}getContentTop(){return this.contentDiv.offsetTop}containsPosition(t,e){console.log("Viewport - containsPosition(chr, position)")}addMouseHandlers(){}removeMouseHandlers(){}dispose(){this.popover&&this.popover.dispose(),this.removeMouseHandlers(),this.$viewport.get(0).remove();for(let t of Object.keys(this))this[t]=void 0}}{constructor(t,e,n,r){super(t,e,n,r)}initializationHelper(){this.$spinner=de("<div>",{class:"igv-loading-spinner-container"}),this.$viewport.append(this.$spinner),this.$spinner.append(de("<div>"));const{track:t}=this.trackView;"sequence"!==t.type&&(this.$zoomInNotice=this.createZoomInNotice(this.$content)),t.name&&"sequence"!==t.config.type&&(this.$trackLabel=de('<div class="igv-track-label">'),this.$viewport.append(this.$trackLabel),this.setTrackLabel(t.name),!1===this.browser.trackLabelsVisible&&this.$trackLabel.hide()),this.stopSpinner(),this.addMouseHandlers()}setTrackLabel(t){this.$trackLabel.empty(),this.$trackLabel.html(t);const e=this.$trackLabel.text();this.$trackLabel.attr("title",e)}startSpinner(){this.$spinner.show()}stopSpinner(){this.$spinner.hide()}checkZoomIn(){const t=()=>{const t=this.referenceFrame;if("all"!==this.referenceFrame.chr.toLowerCase()||this.trackView.track.supportsWholeGenome()){const e="function"==typeof this.trackView.track.getVisibilityWindow?this.trackView.track.getVisibilityWindow():this.trackView.track.visibilityWindow;return void 0!==e&&e>0&&t.bpPerPixel*this.$viewport.width()>e}return!0};if(!this.viewIsReady())return!1;if(this.$zoomInNotice){if(t()){if(this.canvas&&(this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.tile=void 0),this.$zoomInNotice.show(),this.trackView.track.autoHeight){const t=this.trackView.minHeight||0;this.setContentHeight(t)}return!1}return this.$zoomInNotice.hide(),!0}return!0}shift(){const t=this,e=t.referenceFrame;if(t.canvas&&t.tile&&t.tile.chr===t.referenceFrame.chr&&t.tile.bpPerPixel===e.bpPerPixel){const n=Math.round((t.tile.startBP-e.start)/e.bpPerPixel);t.canvas.style.left=n+"px"}}async loadFeatures(){const t=this.referenceFrame,e=t.chr,n=this.browser.genome.getChromosome(e).bpLength,r=this.$content.width()*t.bpPerPixel,i=Math.floor(Math.max(0,t.start-r)),o=Math.ceil(Math.min(n,t.start+r+r));if(!this.loading||this.loading.start!==i||this.loading.end!==o){this.loading={start:i,end:o},this.startSpinner();try{const n=await this.getFeatures(this.trackView.track,e,i,o,t.bpPerPixel);let r=[];const l=(s=this.browser.roi,a=this.trackView.track.roi,s&&a?s.concat(a):s||a);if(l)for(let n of l){const s=await n.getFeatures(e,i,o,t.bpPerPixel);r.push({track:n,features:s})}return this.tile=new Js(e,i,o,t.bpPerPixel,n,r),this.loading=!1,this.hideMessage(),this.stopSpinner(),this.tile}catch(t){this.trackView&&!0!==this.trackView.disposed&&(this.showMessage("Error loading track data"),Ko.presentAlert(t),console.error(t))}finally{this.loading=!1,this.stopSpinner()}var s,a}}async repaint(){if(void 0===this.tile)return;let{features:t,roiFeatures:e,bpPerPixel:n,startBP:r,endBP:i}=this.tile;let o;Ws.isWholeGenomeView(this.referenceFrame.chr)?(n=this.referenceFrame.end/this.$viewport.width(),r=0,i=this.referenceFrame.end,o=this.$viewport.width()):o=Math.ceil((i-r)/n);const s=this.$viewport.height(),a=this.getContentHeight(),l=e?Math.max(a,s):a;let c=Math.min(l,3*s);if(0===o||0===c)return void(this.canvas&&de(this.canvas).remove());const h=Math.max(0,-this.$content.position().top-s);let u;u="FILL"===this.trackView.track.displayMode?window.devicePixelRatio:!1===this.trackView.track.supportHiDPI?1:window.devicePixelRatio;const f=Math.round((r-this.referenceFrame.start)/this.referenceFrame.bpPerPixel),d=de('<canvas class="igv-canvas">').get(0),p=d.getContext("2d");d.style.width=o+"px",d.style.height=c+"px",d.width=u*o,d.height=u*c,p.scale(u,u),d.style.left=f+"px",d.style.top=h+"px",p.translate(0,-h);const g={context:p,pixelXOffset:f,pixelWidth:o,pixelHeight:c,pixelTop:h,bpStart:r,bpEnd:i,bpPerPixel:n,referenceFrame:this.referenceFrame,selection:this.selection,viewport:this,viewportWidth:this.$viewport.width()};this.draw(g,t,e),this.canvasVerticalRange={top:h,bottom:h+c},this.$canvas&&this.$canvas.remove(),this.$canvas=de(d),this.$content.append(this.$canvas),this.canvas=d,this.ctx=p}draw(t,e,n){if(e&&(t.features=e,this.trackView.track.draw(t)),n)for(let e of n)t.features=e.features,e.track.draw(t)}async toSVG(t){if(this.$zoomInNotice&&this.$zoomInNotice.is(":visible"))return;const e=this.referenceFrame,n=t.bpPerPixel,r=t.features,i=t.roiFeatures,o=this.$viewport.width(),s=this.$viewport.height(),a=e.start,l=e.start+o*e.bpPerPixel,c=new Ns({width:o,height:s,viewbox:{x:0,y:-this.$content.position().top,width:o,height:s}}),h={viewport:this,context:c,top:-this.$content.position().top,pixelTop:0,pixelWidth:o,pixelHeight:s,bpStart:a,bpEnd:l,bpPerPixel:n,referenceFrame:this.referenceFrame,selection:this.selection,viewportWidth:o};return this.draw(h,r,i),c.getSerializedSvg(!0)}containsPosition(t,e){return this.referenceFrame.chr===t&&e>=this.referenceFrame.start&&e<=this.referenceFrame.calculateEnd(this.getWidth())}isLoading(){return this.loading}saveImage(){if(!this.ctx)return;const t=this.canvasVerticalRange?this.canvasVerticalRange.top:0,e=window.devicePixelRatio,n=this.$viewport.width()*e,r=this.$viewport.height()*e,i=-de(this.canvas).position().left*e,o=(-this.$content.position().top-t)*e,s=this.ctx.getImageData(i,o,n,r),a=document.createElement("canvas"),l=a.getContext("2d");a.width=s.width,a.height=s.height,l.putImageData(s,0,0);qe((this.$trackLabel.text()?this.$trackLabel.text():"image")+".png",a.toDataURL("image/png"))}saveSVG(){const{width:t,height:e}=this.$viewport.get(0).getBoundingClientRect(),n={width:t,height:e,viewbox:{x:0,y:-this.$content.position().top,width:t,height:e}},r=new Ns(n),i=`${(this.trackView.track.name||this.trackView.track.id).replace(/\W/g,"")}_referenceFrame_${this.browser.referenceFrameList.indexOf(this.referenceFrame)}_guid_${ve()}`;this.drawSVGWithContext(r,t,e,i,0,0,0);const o=r.getSerializedSvg(!0);qe(`${i}.svg`,URL.createObjectURL(new Blob([o],{type:"application/octet-stream"})))}renderSVGContext(t,{deltaX:e,deltaY:n}){if(this.$zoomInNotice&&this.$zoomInNotice.is(":visible"))return;const r=`${(this.trackView.track.name||this.trackView.track.id).replace(/\W/g,"")}_referenceFrame_${this.browser.referenceFrameList.indexOf(this.referenceFrame)}_guid_${ve()}`,{top:i}=this.$content.position(),{width:o,height:s}=this.$viewport.get(0).getBoundingClientRect();if(this.drawSVGWithContext(t,o,s,r,e,n+i,-i),this.$trackLabel&&!0===this.browser.trackLabelsVisible){const{x:r,y:i,width:o,height:s}=((t,e)=>{const{x:n,y:r,width:i,height:o}=t.getBoundingClientRect(),{x:s,y:a,width:l,height:c}=e.getBoundingClientRect();return{x:s-n,y:a-r,width:l,height:c}})(this.$viewport.get(0),this.$trackLabel.get(0));this.renderTrackLabelSVG(t,e+r,n+i,o,s)}}renderTrackLabelSVG(t,e,n,r,i){const o=`${(this.trackView.track.name||this.trackView.track.id).replace(/\W/g,"")}_track_label_guid_${ve()}`;t.saveWithTranslationAndClipRect(o,e,n,r,i,0),t.fillStyle="white",t.fillRect(0,0,r,i),t.font="12px Arial",t.fillStyle="rgb(68, 68, 68)";const{width:s}=t.measureText(this.$trackLabel.text()),a=.25*(r-s),l=.7*(i-12);t.fillText(this.$trackLabel.text(),a,i-l),t.strokeStyle="rgb(68, 68, 68)",t.strokeRect(0,0,r,i),t.restore()}drawSVGWithContext(t,e,n,r,i,o,s){t.saveWithTranslationAndClipRect(r,i,o,e,n,s);let{start:a,bpPerPixel:l}=this.referenceFrame;const c={context:t,viewport:this,referenceFrame:this.referenceFrame,top:s,pixelTop:s,pixelWidth:e,pixelHeight:n,bpStart:a,bpEnd:a+e*l,bpPerPixel:l,viewportWidth:e,selection:this.selection},h=this.tile?this.tile.features:[],u=this.tile?this.tile.roiFeatures:void 0;this.draw(c,h,u),t.restore()}getCachedFeatures(){return this.tile?this.tile.features:[]}async getFeatures(t,e,n,r,i){if(this.tile&&this.tile.containsRange(e,n,r,i))return this.tile.features;if("function"==typeof t.getFeatures){const o=await t.getFeatures(e,n,r,i,this);return this.cachedFeatures=o,this.checkContentHeight(),o}}createZoomInNotice(t){const e=de("<div>",{class:"igv-zoom-in-notice-container"});t.append(e);const n=de("<div>");return e.append(n),n.text("Zoom in to see features"),e.hide(),e}viewIsReady(){return this.browser&&this.browser.referenceFrameList&&this.referenceFrame}addMouseHandlers(){this.addViewportContextMenuHandler(this.$viewport.get(0)),this.addViewportMouseDownHandler(this.$viewport.get(0)),this.addViewportTouchStartHandler(this.$viewport.get(0)),this.addViewportMouseUpHandler(this.$viewport.get(0)),this.addViewportTouchEndHandler(this.$viewport.get(0)),this.addViewportClickHandler(this.$viewport.get(0)),this.trackView.track.name&&"sequence"!==this.trackView.track.config.type&&this.addTrackLabelClickHandler(this.$trackLabel.get(0))}removeMouseHandlers(){this.removeViewportContextMenuHandler(this.$viewport.get(0)),this.removeViewportMouseDownHandler(this.$viewport.get(0)),this.removeViewportTouchStartHandler(this.$viewport.get(0)),this.removeViewportMouseUpHandler(this.$viewport.get(0)),this.removeViewportTouchEndHandler(this.$viewport.get(0)),this.removeViewportClickHandler(this.$viewport.get(0)),this.trackView.track.name&&"sequence"!==this.trackView.track.config.type&&this.removeTrackLabelClickHandler(this.$trackLabel.get(0))}addViewportContextMenuHandler(t){this.boundContextMenuHandler=function(t){if(this.browser.dragObject)return!1;const e=Qs(t,this);if(void 0===e)return!1;t.preventDefault();let n=[];if("function"==typeof this.trackView.track.contextMenuItemList){const t=this.trackView.track.contextMenuItemList(e);t&&(n=t)}n.length>0&&n.push({label:de("<HR>")});n.push({label:"Save Image (PNG)",click:()=>this.saveImage()}),n.push({label:"Save Image (SVG)",click:()=>this.saveSVG()}),this.browser.menuPopup.presentTrackContextMenu(t,n)}.bind(this),t.addEventListener("contextmenu",this.boundContextMenuHandler)}removeViewportContextMenuHandler(t){t.removeEventListener("contextmenu",this.boundContextMenuHandler)}addViewportMouseDownHandler(t){this.boundMouseDownHandler=Ys.bind(this),t.addEventListener("mousedown",this.boundMouseDownHandler)}removeViewportMouseDownHandler(t){t.removeEventListener("mousedown",this.boundMouseDownHandler)}addViewportTouchStartHandler(t){this.boundTouchStartHandler=Ys.bind(this),t.addEventListener("touchstart",this.boundTouchStartHandler)}removeViewportTouchStartHandler(t){t.removeEventListener("touchstart",this.boundTouchStartHandler)}addViewportMouseUpHandler(t){this.boundMouseUpHandler=Ks.bind(this),t.addEventListener("mouseup",this.boundMouseUpHandler)}removeViewportMouseUpHandler(t){t.removeEventListener("mouseup",this.boundMouseUpHandler)}addViewportTouchEndHandler(t){this.boundTouchEndHandler=Ks.bind(this),t.addEventListener("touchend",this.boundTouchEndHandler)}removeViewportTouchEndHandler(t){t.removeEventListener("touchend",this.boundTouchEndHandler)}addViewportClickHandler(t){this.boundClickHandler=function(t){if(this.enableClick){if(3===t.which||t.ctrlKey)return;if(de(".igv-popover").hide(),this.browser.dragObject||this.browser.isScrolling)return;t.preventDefault(),t.stopPropagation();const e=be(t,this.$viewport.get(0)).x,n=be(t,this.canvas).x,r=this.referenceFrame,i=Math.floor(r.start+r.toBP(n)),o=Date.now();if(o-Zs<this.browser.constants.doubleClickDelay){Gs&&(window.clearTimeout(Gs),Gs=void 0);const t=Math.round(r.start+r.toBP(e));let n;if("all"===this.referenceFrame.chr.toLowerCase()){const e=this.browser.genome.getChromosomeCoordinate(t).chr;if(1===this.browser.referenceFrameList.length)n=e;else{const t=this.browser.referenceFrameList.map((({locusSearchString:t})=>t)),r=this.browser.referenceFrameList.indexOf(this.referenceFrame);t[r]=e,n=t.join(" ")}this.browser.search(n)}else this.browser.zoomWithScaleFactor(.5,t,this.referenceFrame)}else t.shiftKey&&"function"==typeof this.trackView.track.shiftClick?this.trackView.track.shiftClick(i,t):"function"==typeof this.trackView.track.popupData&&(Gs=setTimeout((()=>{const e=function(t,e){const n=Qs(t,e);if(void 0===n)return;let r=e.trackView.track;const i=r.popupData(n),o=e.browser.fireEvent("trackclick",[r,i]);let s;void 0===o||!0===o?i&&i.length>0&&(s=i.map((t=>{if(t.name){const e=`<span>${t.name}</span>&nbsp&nbsp&nbsp${t.value}`;return`<div title="${t.value}">${e}</div>`}return"<hr>"===t?t:t.html?t.html:`<div title="${t}">${t}</div>`})).join("")):"string"==typeof o&&(s=o);return s}(t,this);e&&(this.popover&&this.popover.dispose(),this.popover=new is(this.browser.columnContainer),this.popover.presentContentWithEvent(t,e)),window.clearTimeout(Gs),Gs=void 0}),this.browser.constants.doubleClickDelay));Zs=o}}.bind(this),t.addEventListener("click",this.boundClickHandler)}removeViewportClickHandler(t){t.removeEventListener("click",this.boundClickHandler)}addTrackLabelClickHandler(t){this.boundTrackLabelClickHandler=function(t){t.stopPropagation();const{track:e}=this.trackView;let n;n="function"==typeof e.description?e.description():e.description?`<div>${e.description}</div>`:e.url?je(e.url)?`<div><b>Filename: </b>${e.url.name}`:`<div><b>URL: </b>${e.url}`:e.name;this.popover&&this.popover.dispose();this.popover=new is(this.browser.columnContainer,e.name||"unnamed"),this.popover.presentContentWithEvent(t,n)}.bind(this),t.addEventListener("click",this.boundTrackLabelClickHandler)}removeTrackLabelClickHandler(t){t.removeEventListener("click",this.boundTrackLabelClickHandler)}}function Ys(t){this.enableClick=!0,this.browser.mouseDownOnViewport(t,this),me(t)}function Ks(t){this.browser.dragObject||this.browser.isScrolling?(this.browser.cancelTrackPan(),t.preventDefault(),t.stopPropagation(),this.enableClick=!1):(this.browser.cancelTrackPan(),this.browser.endTrackDrag())}function Qs(t,e){const n=e.referenceFrame,r=be(t,e.contentDiv),i=be(t,e.canvas),o=n.start+n.toBP(r.x);if(void 0!==o&&null!==e.tile)return{event:t,viewport:e,referenceFrame:n,genomicLocation:o,x:r.x,y:r.y,canvasX:i.x,canvasY:i.y}}var Js=function(t,e,n,r,i,o){this.chr=t,this.startBP=e,this.endBP=n,this.bpPerPixel=r,this.features=i,this.roiFeatures=o};Js.prototype.containsRange=function(t,e,n,r){return this.bpPerPixel===r&&e>=this.startBP&&n<=this.endBP&&t===this.chr},Js.prototype.overlapsRange=function(t,e,n){return this.chr===t&&n>=this.startBP&&e<=this.endBP};class ta{constructor(t){this.rulerSweeper=pe({class:"igv-ruler-sweeper"}),t.contentDiv.appendChild(this.rulerSweeper),this.rulerViewport=t,this.isMouseHandlers=void 0,this.addBrowserObserver()}addBrowserObserver(){this.boundObserverHandler=function(){Ws.isWholeGenomeView(this.rulerViewport.referenceFrame.chr)?this.removeMouseHandlers():this.addMouseHandlers()}.bind(this),this.rulerViewport.browser.on("locuschange",this.boundObserverHandler)}removeBrowserObserver(){this.rulerViewport.browser.off("locuschange",this.boundObserverHandler)}addMouseHandlers(){if(!0===this.isMouseHandlers)return;let t,e,n,r,i,o;this.boundContentMouseDownHandler=function(o){t=!0,e=!0;const{x:s}=be(o,this.rulerViewport.contentDiv);r=n=s,i=1,this.rulerSweeper.style.display="block",this.rulerSweeper.style.left=`${r}px`,this.rulerSweeper.style.width=`${i}px`}.bind(this),this.rulerViewport.contentDiv.addEventListener("mousedown",this.boundContentMouseDownHandler),this.boundDocumentMouseMoveHandler=function(s){let a;if(t&&e){const{x:t}=be(s,this.rulerViewport.contentDiv);a=Math.max(Math.min(t,this.rulerViewport.contentDiv.clientWidth),0),o=a-n,i=Math.abs(o),this.rulerSweeper.style.width=`${i}px`,o<0&&(r=n+o,this.rulerSweeper.style.left=`${r}px`)}}.bind(this),document.addEventListener("mousemove",this.boundDocumentMouseMoveHandler),this.boundDocumentMouseUpHandler=function(n){let o;!0===t&&!0===e&&(t=e=void 0,this.rulerSweeper.style.display="none",i>1&&(o={start:ea(this.rulerViewport.referenceFrame,r),end:ea(this.rulerViewport.referenceFrame,r+i)},ca(this.rulerViewport.browser.genome.getChromosome(this.rulerViewport.referenceFrame.chr).bpLength,o,this.rulerViewport.browser.minimumBases()),this.rulerViewport.referenceFrame.bpPerPixel=(Math.round(o.end)-Math.round(o.start))/this.rulerViewport.contentDiv.clientWidth,this.rulerViewport.referenceFrame.start=Math.round(o.start),this.rulerViewport.referenceFrame.end=Math.round(o.end),this.rulerViewport.browser.updateViews(this.rulerViewport.referenceFrame)))}.bind(this),document.addEventListener("mouseup",this.boundDocumentMouseUpHandler),this.isMouseHandlers=!0}removeMouseHandlers(){this.rulerViewport.contentDiv.removeEventListener("mousedown",this.boundContentMouseDownHandler),document.removeEventListener("mousemove",this.boundDocumentMouseMoveHandler),document.removeEventListener("mouseup",this.boundDocumentMouseUpHandler),this.isMouseHandlers=!1}dispose(){this.removeBrowserObserver(),this.removeMouseHandlers(),this.rulerSweeper.remove()}}function ea(t,e){return t.start+e*t.bpPerPixel}let na,ra;class ia extends Xs{constructor(t,e,n,r){super(t,e,n,r)}initializationHelper(){this.$viewport.get(0).dataset.rulerTrack="rulerTrack",this.rulerSweeper=new ta(this);const t=this.$viewport.get(0);this.multiLocusPanelCloseButton=pe({class:"igv-multi-locus-close-button"}),t.appendChild(this.multiLocusPanelCloseButton),this.multiLocusPanelCloseButton.appendChild(we("times-circle")),this.rulerLabel=pe({class:"igv-multi-locus-ruler-label"}),t.appendChild(this.rulerLabel),this.$tooltip=de("<div>",{class:"igv-ruler-tooltip"}),this.$tooltip.height(this.$viewport.height()),this.$viewport.append(this.$tooltip),this.$tooltipContent=de("<div>"),this.$tooltip.append(this.$tooltipContent),this.$tooltip.hide(),this.dismissLocusLabel(),this.addMouseHandlers()}addMouseHandlers(){this.addMultiLocusPanelCloseHandler(this.multiLocusPanelCloseButton),this.addRulerLableClickHandler(this.rulerLabel),Ws.isWholeGenomeView(this.referenceFrame.chr)?this.addViewportClickHandler(this.$viewport.get(0)):this.removeViewportClickHandler(this.$viewport.get(0))}removeMouseHandlers(){this.removeMultiLocusPanelCloseHandler(this.multiLocusPanelCloseButton),this.removeRulerLableClickHandler(this.rulerLabel),this.removeViewportClickHandler(this.$viewport.get(0))}addMultiLocusPanelCloseHandler(t){this.boundMultiLocusPanelCloseHandler=function(t){ra===this&&(ra=void 0);this.browser.removeMultiLocusPanel(this.referenceFrame)}.bind(this),t.addEventListener("click",this.boundMultiLocusPanelCloseHandler)}removeMultiLocusPanelCloseHandler(t){t.removeEventListener("click",this.boundMultiLocusPanelCloseHandler)}addRulerLableClickHandler(t){this.boundRulerLableClickHandler=async function(){const t=this.browser.referenceFrameList.filter((t=>this.referenceFrame!==t));for(let e of t)await this.browser.removeMultiLocusPanel(e)}.bind(this),t.addEventListener("click",this.boundRulerLableClickHandler)}removeRulerLableClickHandler(t){t.removeEventListener("click",this.boundRulerLableClickHandler)}addViewportClickHandler(t){this.boundViewportClickHandler=function(t){const e=this.browser.referenceFrameList.indexOf(this.referenceFrame),{x:n}=be(t,this.$viewport.get(0)),r=Math.round(this.referenceFrame.start+this.referenceFrame.toBP(n)),{chr:i}=this.browser.genome.getChromosomeCoordinate(r);let o;if(1===this.browser.referenceFrameList.length)o=i;else{let t=this.browser.referenceFrameList.map((({locusSearchString:t})=>t));t[e]=i,o=t.join(" ")}this.browser.search(o)}.bind(this),t.addEventListener("click",this.boundViewportClickHandler)}removeViewportClickHandler(t){t.removeEventListener("click",this.boundViewportClickHandler)}presentLocusLabel(t){this.rulerLabel.innerHTML=this.referenceFrame.getMultiLocusLabel(t),this.rulerLabel.style.display="block",this.multiLocusPanelCloseButton.style.display="block"}dismissLocusLabel(){this.rulerLabel.style.display="none",this.multiLocusPanelCloseButton.style.display="none"}mouseMove(t){if(!0===this.browser.cursorGuideVisible){void 0===ra?(ra=this,this.$tooltip.show()):ra.guid!==this.guid?(ra.$tooltip&&ra.$tooltip.hide(),this.$tooltip.show(),ra=this):this.$tooltip.show();if(this.browser.isMultiLocusWholeGenomeView()||Ws.isWholeGenomeView(this.referenceFrame.chr))return void this.$tooltip.hide();const{x:e}=be(t,this.$viewport.get(0)),{start:n,bpPerPixel:r,end:i}=this.referenceFrame,o=Math.round(.5+n+Math.max(0,e)*r);this.$tooltipContent.text(ke(o));const{width:s}=this.$tooltipContent.get(0).getBoundingClientRect(),{width:a}=this.$viewport.get(0).getBoundingClientRect();return this.$tooltip.css({left:`${Qi(e,0,a-s)}px`}),clearTimeout(na),na=setTimeout((()=>{this.$tooltip&&this.$tooltip.hide()}),1e4),{start:n,bp:o,end:i}}}startSpinner(){}stopSpinner(){}dispose(){this.rulerSweeper.dispose(),super.dispose()}}class oa extends Xs{constructor(t,e,n,r){super(t,e,n,r)}initializationHelper(){this.$ideogramCanvas=de("<canvas>",{class:"igv-ideogram-canvas"}),this.$ideogramCanvas.insertBefore(this.$canvas);const t=this.$ideogramCanvas.get(0);this.ideogram_ctx=t.getContext("2d"),this.$canvas.remove(),this.canvas=void 0,this.ctx=void 0,this.addMouseHandlers()}addMouseHandlers(){this.addViewportClickHandler(this.$viewport.get(0))}removeMouseHandlers(){this.removeViewportClickHandler(this.$viewport.get(0))}addViewportClickHandler(t){this.boundClickHandler=function(t){const{xNormalized:e,width:n}=be(t,this.ideogram_ctx.canvas),{bpLength:r}=this.browser.genome.getChromosome(this.referenceFrame.chr),i=this.referenceFrame.bpPerPixel*n/r;let o=e;o-i/2<0&&(o=i/2);o+i/2>1&&(o=1-i/2);const s=Math.round((o-i/2)*r),a=Math.round((o+i/2)*r);this.referenceFrame.start=s,this.referenceFrame.end=a,this.referenceFrame.bpPerPixel=(a-s)/n,this.browser.updateViews(this.referenceFrame,this.browser.trackViews,!0)}.bind(this),t.addEventListener("click",this.boundClickHandler)}removeViewportClickHandler(t){t.removeEventListener("click",this.boundClickHandler)}setWidth(t){this.$viewport.width(t)}drawSVGWithContext(t,e,n,r,i,o,s){t.saveWithTranslationAndClipRect(r,i,o,e,n,s),this.trackView.track.draw({context:t,referenceFrame:this.referenceFrame,pixelWidth:e,pixelHeight:n}),t.restore()}async repaint(){this.draw({referenceFrame:this.referenceFrame})}draw({referenceFrame:t}){this.$canvas.hide(),ls.configureHighDPICanvas(this.ideogram_ctx,this.$viewport.width(),this.$viewport.height()),this.trackView.track.draw({context:this.ideogram_ctx,referenceFrame:t,pixelWidth:this.$viewport.width(),pixelHeight:this.$viewport.height()})}startSpinner(){}stopSpinner(){}}function sa(t){const e=new Set(["boolean","number","string","symbol"]),n=typeof t;return void 0!==t&&(e.has(n)||t.substring||t.toFixed)}function aa(t,e){var n={oauthToken:t.oauthToken,headers:t.headers,withCredentials:t.withCredentials,filename:t.filename};return Object.assign(n,e)}const la=function(t){var e,n;return t.length>0?(e=Number.MAX_VALUE,n=-Number.MAX_VALUE,t.forEach((function(t){Number.isNaN(t.value)||(e=Math.min(e,t.value),n=Math.max(n,t.value))})),n>0&&(e=Math.min(0,e)),n<0&&(n=0)):(e=0,n=100),{min:e,max:n}},ca=function(t,e,n){let r=e.start,i=e.end;if(void 0===i)r-=n/2,i=r+n,i>t?(i=t,r=i-n):r<0&&(r=0,i=n);else if(i-r<n){const e=(i+r)/2;e-n/2<0?(r=0,i=r+n):e+n/2>t?(i=t,r=i-n):(r=e-n/2,i=r+n)}e.start=Math.ceil(r),e.end=Math.floor(i)};async function ha(t){if(_e(t)&&t.startsWith("https://drive.google.com")){if(void 0===Be())throw Error("Google drive is referenced, but API key is not defined. An API key is required for Google Drive access");const e=await async function(t){let e="https://www.googleapis.com/drive/v3/files/"+Ie(t)+"?supportsTeamDrives=true";const n=Be();n&&(e+="&key="+n);const r=await fetch(e);let i=await r.json();if(i.error&&404===i.error.code){const{access_token:t}=await De("https://www.googleapis.com/auth/drive.readonly");if(!t)throw Error(i.error);{const n=await fetch(e,{headers:{Authorization:`Bearer ${t}`}});if(i=await n.json(),i.error)throw Error(i.error)}}return i}(t);return e.originalFileName||e.name}return Ve(t)}function ua(t){var e,n;return t>1e7?(e=" mb",n=t/1e6,Math.floor(n).toString()+e):t>1e4?(e=" kb",n=t/1e3,ke(Math.floor(n))+e):ke(t)+" bp"}function fa(t){return _e(t)&&t.startsWith("data:")}function da(t,e){const n=pe({class:e});t.appendChild(n)}function pa(t,e){e.parentNode.insertBefore(t,e)}function ga(t,e){e.parentNode.insertBefore(t,e.nextSibling)}function ma(t,e,n,r){return"ruler"===t.track.type?new ia(t,e,n,r):"ideogram"===t.track.type?new oa(t,e,n,r):new Xs(t,e,n,r)}const va={textAlign:"start",textBaseline:"bottom",strokeStyle:"black",fillStyle:"black"};class ba{constructor(t,e,n,r){this.guid=ve(),this.trackView=t,this.browser=t.browser,this.viewport=pe({class:"igv-viewport"}),e.appendChild(this.viewport),t.track.height&&(this.viewport.style.height=`${t.track.height}px`),this.canvas=document.createElement("canvas"),this.viewport.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.trackScrollDelta=0,this.contentTop=0,this.setWidth(r),!1===this.browser.showSampleNames&&this.hide(),this.addMouseHandlers()}checkCanvas(){const t=window.devicePixelRatio,e=this.viewport.clientHeight,n=this.browser.sampleNameViewportWidth;if(this.canvas.width!==n*t||this.canvas.height!==e*t){const r=this.canvas;r.width=n*t,r.height=e*t,r.style.width=`${n}px`,r.style.height=`${e}px`,this.ctx=this.canvas.getContext("2d"),this.ctx.scale(t,t)}}setTop(t){if("function"==typeof this.trackView.track.getSamples){this.contentTop=t;const e=this.trackView.track.getSamples();this.repaint(e)}}setWidth(t){this.viewport.innerWidth=t,this.checkCanvas()}show(){this.viewport.style.display="block"}hide(){this.viewport.style.display="none"}async repaint(t){this.checkCanvas(),this.draw({context:this.ctx,samples:t})}draw({context:t,samples:e}){if(!e||0===e.names.length)return;!function(t,{textAlign:e,textBaseline:n,strokeStyle:r,fillStyle:i},o){const s=Math.min(o,10);t.font=`${s}px sans-serif`,t.textAlign=e,t.textBaseline=n,t.fillStyle=i}(t,va,e.height);t.clearRect(0,0,t.canvas.width,t.canvas.height),t.fillStyle=function(t){const{r:e,g:n,b:r}=ds[t];return`rgb(${e},${n},${r})`}("lead");const n=this.viewport.getBoundingClientRect().height;let r=(e.yOffset||0)+this.contentTop;for(let i of e.names){if(r>n)break;if(r+e.height>0){const n=i,o=wa(t,n,r,e.height);t.fillText(n,4,o)}r+=e.height}}renderSVGContext(t,{deltaX:e,deltaY:n}){if("function"==typeof this.trackView.track.getSamples){const r=this.trackView.track.getSamples(),i=0,{width:o,height:s}=this.viewport.getBoundingClientRect(),a=`${(this.trackView.track.name||this.trackView.track.id).replace(/\W/g,"")}_sample_names_guid_${ve()}`;t.saveWithTranslationAndClipRect(a,e,n+i,o,s,-i),this.draw({context:t,samples:r}),t.restore()}}addMouseHandlers(){this.addViewportContextMenuHandler(this.viewport)}removeMouseHandlers(){this.removeViewportContextMenuHandler(this.viewport)}addViewportContextMenuHandler(t){this.boundContextMenuHandler=function(t){t.preventDefault(),t.stopPropagation();const e={label:"Name Panel Width",value:this.browser.sampleNameViewportWidth,callback:t=>{this.browser.sampleNameViewportWidth=parseInt(t);for(let{sampleNameViewport:t}of this.browser.trackViews)t.setWidth(this.browser.sampleNameViewportWidth);this.browser.resize()}};this.browser.inputDialog.present(e,t)}.bind(this),t.addEventListener("contextmenu",this.boundContextMenuHandler)}removeViewportContextMenuHandler(t){t.removeEventListener("contextmenu",this.boundContextMenuHandler)}dispose(){this.removeMouseHandlers(),this.viewport.remove()}}function wa(t,e,n,r){return n+r-function(t,e,n){const{actualBoundingBoxAscent:r,actualBoundingBoxDescent:i}=t.measureText(e);return(n-(r+i))/2}(t,e,r)}class ya extends ts{constructor({parent:t,width:e}){super({parent:t,width:e,border:"1px solid gray"})}configure(t,e){this.colorHandlers=e,this.setActiveColorHandler("color"),this.createSwatches(t)}setActiveColorHandler(t){this.activeColorHandler=this.colorHandlers[t]}createSwatches(t){this.container.querySelectorAll(".igv-ui-color-swatch").forEach((t=>t.remove()));const e=Object.values(lo);for(let t of e){const e=pe({class:"igv-ui-color-swatch"});this.container.appendChild(e),this.decorateSwatch(e,t)}if(t)for(let e of t){const t=pe({class:"igv-ui-color-swatch"});this.container.appendChild(t),this.decorateSwatch(t,e)}}decorateSwatch(t,e){t.style.backgroundColor=e,t.addEventListener("mouseenter",(()=>t.style.borderColor=e)),t.addEventListener("mouseleave",(()=>t.style.borderColor="white")),t.addEventListener("click",(t=>{t.stopPropagation(),this.activeColorHandler(e)})),t.addEventListener("touchend",(t=>{t.stopPropagation(),this.activeColorHandler(e)}))}}const xa=function(t){this.popover=pe({class:"igv-menu-popup"}),t.appendChild(this.popover);const e=pe({class:"igv-menu-popup-header"});this.popover.appendChild(e),xe(e,(()=>this.hide())),this.popoverContent=pe(),this.popover.appendChild(this.popoverContent),io(this.popover,e),e.addEventListener("click",(t=>{t.stopPropagation(),t.preventDefault()})),this.hide()};xa.prototype.hide=function(){this.popover.style.display="none"},xa.prototype.presentMenuList=function(t){if(_a(),t.length>0){this.popoverContent.innerHTML="",t=Po.trackMenuItemListHelper(t,this);for(let e of t){e.init&&e.init();let n=e.object;0===t.indexOf(e)&&n.removeClass("igv-track-menu-border-top"),n.hasClass("igv-track-menu-border-top")||n.hasClass("igv-menu-popup-check-container")||n.is("div")&&n.addClass("igv-menu-popup-shim"),this.popoverContent.appendChild(n.get(0))}this.popover.style.display="flex";const{width:e}=this.popover.getBoundingClientRect();this.popover.style.left=-e+"px",this.popover.style.top="0px"}},xa.prototype.presentTrackContextMenu=function(t,e){this.popoverContent.innerHTML="";const n=(r=e,i=this.popover,r.map((t=>{let e;if("string"==typeof t&&"<hr/>"===t)e=document.createElement("hr");else if("string"==typeof t)e=pe({class:"context-menu"}),e.innerHTML=t;else if("Node"==typeof t)e=t;else{if("function"==typeof t.init&&t.init(),"checkbox"===t.type)e=No("Show all bases",t.value);else if("color"===t.type){const n=new ya({parent:i.parentElement,width:364});n.configure(void 0,{color:e=>t.click(e)}),e=pe({class:"context-menu"}),"string"==typeof t.label&&(e.innerHTML=t.label);const r=t=>{n.show(),ge(i),t.preventDefault(),t.stopPropagation()};e.addEventListener("click",r),e.addEventListener("touchend",r),e.addEventListener("mouseup",(function(t){t.preventDefault(),t.stopPropagation()}))}else e=pe({class:"context-menu"}),"string"==typeof t.label&&(e.innerHTML=t.label);if(t.click&&"color"!==t.type){function n(e){t.click(),ge(i),e.preventDefault(),e.stopPropagation()}e.addEventListener("click",n),e.addEventListener("touchend",n),e.addEventListener("mouseup",(function(t){t.preventDefault(),t.stopPropagation()}))}}return{el:e,init:t.init}})));var r,i;for(let{el:t}of n)this.popoverContent.appendChild(t);!function(t,e){e.style.display="flex";const{x:n,y:r}=be(t,e.parentNode),{width:i}=e.getBoundingClientRect(),o=n+i,{width:s}=e.parentNode.getBoundingClientRect();e.style.left=`${o>s?n-(o-s):n}px`,e.style.top=`${r}px`}(t,this.popover)},xa.prototype.dispose=function(){this.popoverContent.innerHTML="",this.popover.innerHTML="",Object.keys(this).forEach((function(t){this[t]=void 0}))};const _a=()=>{const t=document.querySelectorAll(".igv-menu-popup");for(let e=0;e<t.length;e++)t[e].style.display="none"},ka=new Set(["ruler","sequence","ideogram"]),Sa=new Set(["ruler","sequence","ideogram"]);class Ca{constructor(t,e,n){this.namespace=`trackview-${ve()}`,this.browser=t,this.track=n,n.trackView=this,this.addDOMToColumnContainer(t,e,t.referenceFrameList)}startSpinner(){this.viewports&&this.viewports.length>0&&this.viewports[0].startSpinner()}stopSpinner(){this.viewports&&this.viewports.length>0&&this.viewports[0].stopSpinner()}addDOMToColumnContainer(t,e,n){this.axis=this.createAxis(t,this.track),this.viewports=[];const r=t.calculateViewportWidth(n.length),i=e.querySelectorAll(".igv-column");for(let t=0;t<i.length;t++){const e=ma(this,i[t],n[t],r);this.viewports.push(e)}this.sampleNameViewport=new ba(this,t.columnContainer.querySelector(".igv-sample-name-column"),void 0,t.sampleNameViewportWidth),this.createTrackScrollbar(t),this.createTrackDragHandle(t),this.createTrackGearPopup(t)}createAxis(t,e){const n=pe();if(t.columnContainer.querySelector(".igv-axis-column").appendChild(n),n.style.height=`${e.height}px`,"function"==typeof e.paintAxis){e.dataRange&&n.addEventListener("click",(()=>{t.dataRangeDialog.configure(this),t.dataRangeDialog.present(de(t.columnContainer))}));const{width:r,height:i}=n.getBoundingClientRect();this.axisCanvas=document.createElement("canvas"),this.axisCanvas.style.width=`${r}px`,this.axisCanvas.style.height=`${i}px`,n.appendChild(this.axisCanvas)}return n}resizeAxisCanvas(t,e){this.axis.style.width=`${t}px`,this.axis.style.height=`${e}px`,"function"==typeof this.track.paintAxis&&(this.axisCanvas.style.width=`${t}px`,this.axisCanvas.style.height=`${e}px`)}removeDOMFromColumnContainer(){this.boundAxisClickHander&&this.removeAxisEventListener(this.axis),this.axis.remove();for(let t of this.viewports)t.removeMouseHandlers(),t.$viewport.remove();this.sampleNameViewport.dispose(),this.removeTrackScrollMouseHandlers(),this.outerScroll.remove(),this.removeTrackDragMouseHandlers(),this.dragHandle.remove(),this.removeTrackGearMouseHandlers(),this.gearContainer.remove()}renderSVGContext(t,{deltaX:e,deltaY:n}){!function(t,e,n,r,i){if("function"==typeof e.paintAxis){const{y:o,width:s,height:a}=n.getBoundingClientRect(),l=`${(e.name||e.id).replace(/\W/g,"")}_axis_guid_${ve()}`;t.saveWithTranslationAndClipRect(l,r,o+i,s,a,0),e.paintAxis(t,s,a),t.restore()}}(t,this.track,this.axisCanvas,e,n);const{width:r}=this.axis.getBoundingClientRect(),{y:i}=this.viewports[0].$viewport.get(0).getBoundingClientRect();let o={deltaX:r+e,deltaY:i+n};for(let e of this.viewports){e.renderSVGContext(t,o);const{width:n}=e.$viewport.get(0).getBoundingClientRect();o.deltaX+=n}!0===this.browser.showSampleNames&&this.sampleNameViewport.renderSVGContext(t,o)}dataRange(){return this.track.dataRange?this.track.dataRange:void 0}setDataRange(t,e){void 0!==t&&(this.track.dataRange.min=t),void 0!==e&&(this.track.dataRange.max=e),this.track.autoscale=!1,this.repaintViews()}presentColorPicker(t){if(!1===Sa.has(this.track.type)){const e=[],n=this.track.color||this.track.defaultColor;_e(n)&&e.push(n),this.track.altColor&&_e(this.track.altColor)&&e.push(this.track.altColor);const r=e.map((t=>t.startsWith("#")?t:t.startsWith("rgb(")?no.rgbToHex(t):no.colorNameToHex(t))),i={color:t=>{this.track.color=t,this.repaintViews()},altColor:t=>{this.track.altColor=t,this.repaintViews()}};this.browser.genericColorPicker.configure(r,i),this.browser.genericColorPicker.setActiveColorHandler(t),this.browser.genericColorPicker.show()}}setTrackHeight(t,e){e||(this.track.minHeight&&(t=Math.max(this.track.minHeight,t)),this.track.maxHeight&&(t=Math.min(this.track.maxHeight,t))),this.track.height=t,this.track.config.height=t,this.resizeAxisCanvas(this.axis.clientWidth,this.track.height),"function"==typeof this.track.paintAxis&&this.paintAxis();for(let{$viewport:e}of this.viewports)e.height(t);if(this.sampleNameViewport.viewport.style.height=`${t}px`,"function"!=typeof this.track.computePixelHeight)for(let e of this.viewports)e.setContentHeight(t);this.repaintViews(),!1===ka.has(this.track.type)&&this.updateScrollbar(),this.dragHandle.style.height=`${t}px`,this.gearContainer.style.height=`${t}px`}updateScrollbar(){const t=this.viewports[0].$viewport.height();this.outerScroll.style.height=`${t}px`;const e=Ea(this.viewports),n=Math.round(t/e*t);e>t?(this.innerScroll.style.display="block",this.innerScroll.style.height=`${n}px`):this.innerScroll.style.display="none"}moveScroller(t){const e=de(this.innerScroll).position().top+t,n=Math.min(Math.max(0,e),this.outerScroll.clientHeight-this.innerScroll.clientHeight);de(this.innerScroll).css("top",`${n}px`);const r=Ea(this.viewports),i=-Math.round(n*(r/this.viewports[0].$viewport.height()));for(let t of this.viewports)t.setTop(i);this.sampleNameViewport.trackScrollDelta=t,this.sampleNameViewport.setTop(i)}isLoading(){for(let t of this.viewports)if(t.isLoading())return!0}resize(t){for(let e of this.viewports)e.setWidth(t);this.updateViews(!0)}repaintViews(){for(let t of this.viewports)t.repaint();"function"==typeof this.track.paintAxis&&this.paintAxis(),this.repaintSamples()}repaintSamples(){if("function"==typeof this.track.getSamples){const t=this.track.getSamples();this.sampleNameViewport.repaint(t)}}setTrackLabelName(t){this.viewports.forEach((e=>e.setTrackLabel(t)))}async updateViews(t){if(!this.browser||!this.browser.referenceFrameList)return;const e=this.viewports.filter((t=>t.isVisible()));e.forEach((t=>t.shift()));const n=this.browser.dragObject;if(n)return;const r=this.viewportsToReload(t);for(let t of r)await t.loadFeatures();if("function"==typeof this.track.variantRowCount&&r.length>0){let t=0;for(let e of this.viewports)e.tile&&e.tile.features&&(t=Math.max(t,e.tile.features.reduce(((t,e)=>Math.max(t,e.row||0)),0)));if(this.track.nVariantRows!==t+1){this.track.variantRowCount(t+1);for(let t of this.viewports)t.checkContentHeight()}}if(!this.disposed){if(this.track.autoscale){let t=[];for(let n of e){const e=n.referenceFrame,r=e.start,i=r+e.toBP(de(n.contentDiv).width());if(n.tile&&n.tile.features)if("function"==typeof n.tile.features.getMax){const e=n.tile.features.getMax(r,i);t.push({value:e})}else t=t.concat(Io(n.tile.features,r,i))}"function"==typeof this.track.doAutoscale?this.track.dataRange=this.track.doAutoscale(t):this.track.dataRange=la(t)}if(n||!this.track.autoscale&&!this.track.autoscaleGroup)for(let t of r)t.repaint();else for(let t of e)t.repaint();this.adjustTrackHeight(),this.repaintSamples(),this.updateRulerViewportLabels()}}updateRulerViewportLabels(){const t=this.browser.calculateViewportWidth(this.viewports.length);for(let e of this.viewports)"ruler"===this.track.type&&(this.viewports.length>1?e.presentLocusLabel(t):e.dismissLocusLabel())}async getInViewFeatures(t){if(!this.browser||!this.browser.referenceFrameList)return[];const e=this.viewportsToReload(t).map((function(t){return t.loadFeatures()}));await Promise.all(e);let n=[];for(let t of this.viewports)if(t.tile&&t.tile.features){const e=t.referenceFrame,r=e.start,i=r+e.toBP(de(t.contentDiv).width());if("function"==typeof t.tile.features.getMax){const e=t.tile.features.getMax(r,i);n.push({value:e})}else n=n.concat(Io(t.tile.features,r,i))}return n}checkContentHeight(){for(let t of this.viewports)t.checkContentHeight();this.adjustTrackHeight()}adjustTrackHeight(){var t=Ea(this.viewports);if(this.track.autoHeight?this.setTrackHeight(t,!1):this.track.paintAxis&&this.paintAxis(),!1===ka.has(this.track.type)){const t=this.viewports[0].getContentTop(),e=this.viewports.map((t=>t.getContentHeight())),n=Math.min(...e),r=Math.min(0,this.viewports[0].$viewport.height()-n);if(t<r)for(let t of this.viewports)t.$content.css("top",`${r}px`);this.updateScrollbar()}}viewportsToReload(t){return this.viewports.filter((e=>{if(!e.isVisible())return!1;if(e.checkZoomIn()){const n=e.referenceFrame,r=e.referenceFrame.chr,i=n.start,o=i+n.toBP(de(e.contentDiv).width()),s=n.bpPerPixel;return t||!e.tile||e.tile.invalidate||!e.tile.containsRange(r,i,o,s)}return!1}))}createTrackScrollbar(t){const e=pe();if(t.columnContainer.querySelector(".igv-scrollbar-column").appendChild(e),e.style.height=`${this.track.height}px`,this.outerScroll=e,!1===ka.has(this.track.type)){const n=pe();e.appendChild(n),this.innerScroll=n,this.addTrackScrollMouseHandlers(t)}}createTrackDragHandle(t){const e="ideogram"===this.track.type||"ruler"===this.track.type?"igv-track-drag-shim":"igv-track-drag-handle";this.dragHandle=pe({class:e}),t.columnContainer.querySelector(".igv-track-drag-column").appendChild(this.dragHandle),this.dragHandle.style.height=`${this.track.height}px`,this.addTrackDragMouseHandlers(t)}createTrackGearPopup(t){this.gearContainer=pe(),t.columnContainer.querySelector(".igv-gear-menu-column").appendChild(this.gearContainer),this.gearContainer.style.height=`${this.track.height}px`,!0===this.track.ignoreTrackMenu||(this.gear=pe(),this.gearContainer.appendChild(this.gear),this.gear.appendChild(we("cog")),this.trackGearPopup=new xa(this.gear),this.addTrackGearMouseHandlers())}addAxisEventListener(t){this.boundAxisClickHander=function(t){this.browser.dataRangeDialog.configure(this),this.browser.dataRangeDialog.present(de(this.browser.columnContainer))}.bind(this),t.addEventListener("click",this.boundAxisClickHander)}removeAxisEventListener(t){t.removeEventListener("click",this.boundAxisClickHander)}addTrackScrollMouseHandlers(t){this.boundTrackScrollMouseDownHandler=function(e){e.stopPropagation();const{y:n}=me(e);de(this.innerScroll).data("yDown",n.toString()),this.boundColumnContainerMouseMoveHandler=function(t){t.stopPropagation();const{y:e}=me(t);this.moveScroller(e-parseInt(de(this.innerScroll).data("yDown"))),de(this.innerScroll).data("yDown",e.toString())}.bind(this),t.columnContainer.addEventListener("mousemove",this.boundColumnContainerMouseMoveHandler)}.bind(this),this.innerScroll.addEventListener("mousedown",this.boundTrackScrollMouseDownHandler),this.boundColumnContainerMouseUpHandler=function(e){t.columnContainer.removeEventListener("mousemove",this.boundColumnContainerMouseMoveHandler)}.bind(this),t.columnContainer.addEventListener("mouseup",this.boundColumnContainerMouseUpHandler)}removeTrackScrollMouseHandlers(){!1===ka.has(this.track.type)&&(this.innerScroll.removeEventListener("mousedown",this.boundTrackScrollMouseDownHandler),this.browser.columnContainer.removeEventListener("mouseup",this.boundColumnContainerMouseUpHandler),this.browser.columnContainer.removeEventListener("mousemove",this.boundColumnContainerMouseMoveHandler))}addTrackDragMouseHandlers(t){if("ideogram"===this.track.type||"ruler"===this.track.type);else{let e;function n(n){n.preventDefault(),e=n.target,e.classList.add("igv-track-drag-handle-hover"),t.startTrackDrag(this)}function r(n){t.endTrackDrag(),e&&n.target!==e&&e.classList.remove("igv-track-drag-handle-hover"),e=void 0}function i(n){n.preventDefault(),void 0===e&&n.target.classList.add("igv-track-drag-handle-hover"),t.updateTrackDrag(this)}function o(t){t.preventDefault(),void 0===e&&t.target.classList.remove("igv-track-drag-handle-hover")}this.boundTrackDragMouseDownHandler=n.bind(this),this.dragHandle.addEventListener("mousedown",this.boundTrackDragMouseDownHandler),this.boundDocumentTrackDragMouseUpHandler=r.bind(this),document.addEventListener("mouseup",this.boundDocumentTrackDragMouseUpHandler),this.boundTrackDragMouseEnterHandler=i.bind(this),this.dragHandle.addEventListener("mouseenter",this.boundTrackDragMouseEnterHandler),this.dragHandle.addEventListener("mouseout",(t=>{t.preventDefault(),void 0===e&&t.target.classList.remove("igv-track-drag-handle-hover")})),this.boundTrackDragMouseOutHandler=o.bind(this),this.dragHandle.addEventListener("mouseout",this.boundTrackDragMouseOutHandler)}}removeTrackDragMouseHandlers(){"ideogram"===this.track.type||"ruler"===this.track.type||(this.dragHandle.removeEventListener("mousedown",this.boundTrackDragMouseDownHandler),document.removeEventListener("mouseup",this.boundDocumentTrackDragMouseUpHandler),this.dragHandle.removeEventListener("mouseup",this.boundTrackDragMouseEnterHandler),this.dragHandle.removeEventListener("mouseout",this.boundTrackDragMouseOutHandler))}addTrackGearMouseHandlers(){if(!0===this.track.ignoreTrackMenu);else{function t(t){t.preventDefault(),t.stopPropagation(),this.trackGearPopup.presentMenuList(Po.trackMenuItemList(this))}this.boundTrackGearClickHandler=t.bind(this),this.gear.addEventListener("click",this.boundTrackGearClickHandler)}}removeTrackGearMouseHandlers(){!0===this.track.ignoreTrackMenu||this.gear.removeEventListener("click",this.boundTrackGearClickHandler)}dispose(){this.removeAxisEventListener(this.axis),this.axis.remove();for(let t of this.viewports)t.dispose();this.sampleNameViewport.dispose(),this.removeTrackScrollMouseHandlers(),this.outerScroll.remove(),this.removeTrackDragMouseHandlers(),this.dragHandle.remove(),this.removeTrackGearMouseHandlers(),this.gearContainer.remove(),"function"==typeof this.track.dispose&&this.track.dispose();const t=this.track;"function"==typeof t.dispose&&t.dispose();for(let e of Object.keys(t))t[e]=void 0;for(let t of Object.keys(this))this[t]=void 0;this.alert&&this.alert.container.remove(),this.disposed=!0}paintAxis(){if("function"==typeof this.track.paintAxis){const{width:t,height:e}=this.axisCanvas.getBoundingClientRect(),n=window.devicePixelRatio||1;this.axisCanvas.height=n*e,this.axisCanvas.width=n*t;const r=this.axisCanvas.getContext("2d");r.scale(n,n),this.track.paintAxis(r,t,e)}}}function Ea(t){const e=t.map((t=>t.getContentHeight()));return Math.max(...e)}function Aa(t,e){if(t.length<6)console.log("Skipping line: "+t.join(" "));else{var n={chr1:t[0],start1:Number.parseInt(t[1]),end1:Number.parseInt(t[2]),chr2:t[3],start2:Number.parseInt(t[4]),end2:Number.parseInt(t[5])};if(!(isNaN(n.start1)||isNaN(n.end1)||isNaN(n.start2)||isNaN(n.end2))){if(t.length>6&&"."!==t[6]&&(n.name=t[6]),t.length>7&&"."!==t[7]&&(n.score=parseFloat(t[7])),t.length>8&&"."!==t[8]&&(n.strand1=t[8]),t.length>9&&"."!==t[9]&&(n.strand2=t[9]),e){const r=e.colorColumn;r&&r<t.length&&(n.color=no.createColorString(t[r]));const i=e.thicknessColumn;i&&i<t.length&&(n.thickness=t[i]),t.length>10&&e.columnNames&&e.columnNames.length===t.length&&(n.extras=t.slice(10))}return n.chr1===n.chr2&&(n.chr=n.chr1,n.start=Math.min(n.start1,n.start2),n.end=Math.max(n.end1,n.end2)),n}}}function Ta(t,e){if(!(t.length<8))return{chr:t[0],start:Number.parseInt(t[1]),end:Number.parseInt(t[2]),color:no.createColorString(t[6]),value:Number.parseFloat(t[7])}}function La(t,e){if(!(t.length<6))return{chr:t[0],start:t[1],end:t[2],chr1:t[8],start1:Number.parseInt(t[9]),end1:Number.parseInt(t[10]),chr2:t[13],start2:Number.parseInt(t[14]),end2:Number.parseInt(t[15]),name:t[3],score:Number.parseFloat(t[4]),value:Number.parseFloat(t[5]),color:"."===t[7]?void 0:"0"===t[7]?"rgb(0,0,0)":t[7]};console.log("Skipping line: "+t.join(" "))}const Ma=new Set(["transcript","primary_transcript","processed_transcript","mRNA","mrna","lnc_RNA","miRNA","ncRNA","rRNA","scRNA","snRNA","snoRNA","tRNA"]),Ra=new Set(["CDS","cds"]),Ia=new Set(["start_codon","stop_codon"]),Na=new Set(["5UTR","3UTR","UTR","five_prime_UTR","three_prime_UTR","3'-UTR","5'-UTR"]),Pa=new Set(["exon","coding-exon"]),Fa=new Set;for(let t of[Ra,Ia,Na,Pa])for(let e of t)Fa.add(e);function Oa(t){return t.includes("intron")}function Da(t){return Ra.has(t)||Ia.has(t)}function Ba(t){return Na.has(t)}function za(t){return Ma.has(t)||t.endsWith("RNA")||t.endsWith("transcript")}function Ha(t){return Fa.has(t)||t.endsWith("RNA")||Oa(t)}const Va=new Set(["id","parent","name"]);class ja{constructor(t){Object.assign(this,t)}popupData(t){const e=this.geneObject?this.geneObject.popupData():[];if(this.geneObject&&e.push("<hr/>"),this.name&&e.push({name:"Name",value:this.name}),e.push({name:"Type",value:this.type}),e.push({name:"Source",value:this.source}),this.attributeString){const t=Ga(this.attributeString,this.delim);for(let[n,r]of t)void 0!==r&&r.length>0&&!Va.has(n.toLowerCase())&&e.push({name:n+":",value:r})}return e.push({name:"Location",value:`${this.chr}:${ke(this.start+1)}-${ke(this.end)}`}),e}getAttributeValue(t){if(this.hasOwnProperty(t))return this[t];if(this._attributeCache||(this._attributeCache=new Map),this._attributeCache.has(t))return this._attributeCache.get(t);{const e=Ga(this.attributeString,this.delim);let n;for(let[r,i]of e)if(r===t){n=i;break}return this._attributeCache.set(t,n),n}}}class Ua extends ja{constructor(t){super(t),this.exons=[],this.parts=[]}addExon(t){this.exons.push(t),this.start=Math.min(this.start,t.start),this.end=Math.max(this.end,t.end)}addPart(t){this.parts.push(t)}assembleParts(){if(0===this.parts.length)return;this.parts.sort((function(t,e){return t.start-e.start}));let t=this.parts[0].start,e=this.parts[0].end;for(let n=1;n<this.parts.length;n++){const r=this.parts[n];if(!Oa(r.type))if(r.start<=e)e=Math.max(e,r.end);else{this.findExonContaining({start:t,end:e})||this.exons.push({start:t,end:e,psuedo:!0}),t=r.start,e=r.end}}this.findExonContaining({start:t,end:e})||(this.exons.push({start:t,end:e,psuedo:!0}),this.start=Math.min(this.start,t),this.end=Math.max(this.end,e));for(let t of this.parts){const e=t.type;Da(e)?this.addCDS(t):Ba(e)&&this.addUTR(t)}}findExonContaining({start:t,end:e}){for(let n of this.exons)if(n.end>=e&&n.start<=t)return n}addCDS(t){let e;const n=this.exons;for(let r of n)if(r.start<=t.start&&r.end>=t.end){e=r;break}e?(e.cdStart=e.cdStart?Math.min(t.start,e.cdStart):t.start,e.cdEnd=e.cdEnd?Math.max(t.end,e.cdEnd):t.end):console.error("No exon found spanning "+t.start+"-"+t.end),this.cdStart=this.cdStart?Math.min(t.start,this.cdStart):t.start,this.cdEnd=this.cdEnd?Math.max(t.end,this.cdEnd):t.end}addUTR(t){let e;const n=this.exons;for(let r=0;r<n.length;r++)if(n[r].start<=t.start&&n[r].end>=t.end){e=n[r];break}e?t.start===e.start&&t.end===e.end?e.utr=!0:(t.end<e.end&&(e.cdStart=t.end),t.start>e.start&&(e.cdEnd=t.start)):console.error("No exon found spanning "+cds.start+"-"+cds.end)}finish(){this.assembleParts();var t=this.cdStart,e=this.cdEnd;this.exons.sort((function(t,e){return t.start-e.start})),t&&this.exons.forEach((function(n){(n.end<t||n.start>e)&&(n.utr=!0)}))}popupData(t){const e=super.popupData(t);for(let n of this.exons)if(!n.pseudo&&t>=n.start&&t<n.end&&"function"==typeof n.popupData){e.push("<hr/>");const r=n.popupData(t);for(let t of r)e.push(t)}for(let n of this.parts)if(t>=n.start&&t<n.end&&"function"==typeof n.popupData){e.push("<hr/>");const r=n.popupData(t);for(let t of r)e.push(t)}return e}}function qa(t,e){const n=e.format;if(t.length<9)return;const r="gff3"===n?"=":" ";return new ja({source:t[1],type:t[2],chr:t[0],start:parseInt(t[3])-1,end:parseInt(t[4]),score:"."===t[5]?0:parseFloat(t[5]),strand:t[6],phase:"."===t[7]?0:parseInt(t[7]),attributeString:t[8],delim:r})}function Wa(t,e){const n=qa(t,e);if(!n)return;const r=Ga(n.attributeString,n.delim);for(let[t,e]of r){const r=t.toLowerCase();"color"===r||"colour"===r?n.color=no.createColorString(e):"ID"===t?n.id=e:"Parent"===t&&(n.parent=e)}return n}function $a(t,e){const n=qa(t,e);if(!n)return;const r=Ga(n.attributeString,n.delim);let i,o;switch(n.type){case"gene":i="gene_id";break;case"transcript":i="transcript_id",o="gene_id";break;default:o="transcript_id"}for(let[t,e]of r){const r=t.toLowerCase();"color"===r||"colour"===r?n.color=no.createColorString(e):t===i?n.id=e:t===o&&(n.parent=e)}return n}function Ga(t,e){var n=[];for(let r of t.split(";")){r=r.trim();const t=r.indexOf(e);if(t>0&&t<r.length-1){const e=r.substring(0,t);let i=Za(decodeURIComponent(r.substring(t+1).trim()));n.push([e,i])}}return n}function Za(t){return t.startsWith('"')&&t.endsWith('"')&&(t=t.substr(1,t.length-2)),t}class Xa{constructor(t){this.message=t}}function Ya(t,e){if(t.length<3)return;e&&e.gffTags;const n=t[0],r=parseInt(t[1]),i=t.length>2?parseInt(t[2]):r+1;if(isNaN(r)||isNaN(i))return new Xa("Unparsable bed record.");const o=new sl({chr:n,start:r,end:i,score:1e3});try{if(t.length>3){if(t[3].indexOf(";")>0&&t[3].indexOf("=")>0){const e=Ga(t[3],"=");o.attributes={};for(let t of e)o.attributes[t[0]]=t[1]}o.name||(o.name="."===t[3]?"":t[3])}if(t.length>4&&(o.score="."===t[4]?0:parseFloat(t[4]),isNaN(o.score)))return o;if(t.length>5&&(o.strand=t[5],"."!==o.strand&&"+"!==o.strand&&"-"!==o.strand))return o;if(t.length>6&&(o.cdStart=parseInt(t[6]),isNaN(o.cdStart)))return o;if(t.length>7&&(o.cdEnd=parseInt(t[7]),isNaN(o.cdEnd)))return o;if(t.length>8&&"."!==t[8]&&"0"!==t[8]&&(o.color=no.createColorString(t[8])),t.length>11){const e=parseInt(t[9]);if(e>1e3)return o;const n=t[10].replace(/,$/,"").split(","),i=t[11].replace(/,$/,"").split(",");if(n.length!==i.length||e!==n.length)return o;const s=[];for(let t=0;t<e;t++){const e=r+parseInt(i[t]),o=e+parseInt(n[t]);s.push({start:e,end:o})}el(s,o.cdStart,o.cdEnd),o.exons=s}if(e){let n=e.thicknessColumn,r=e.colorColumn;r&&r<t.length&&(o.color=no.createColorString(t[r])),n&&n<t.length&&(o.thickness=t[n])}}catch(t){}return o}function Ka(t,e){if(t.length<=15)return;return{swScore:Number.parseInt(t[1]),milliDiv:Number.parseInt(t[2]),milliDel:Number.parseInt(t[3]),milliIns:Number.parseInt(t[4]),chr:t[5],start:Number.parseInt(t[6]),end:Number.parseInt(t[7]),strand:t[9],repName:t[10],repClass:t[11],repFamily:t[12],repStart:Number.parseInt(t[13]),repEnd:Number.parseInt(t[14]),repLeft:Number.parseInt(t[15])}}function Qa(t,e){var n=void 0===e.shift?0:1;if(t.length<=9+n)return;const r=parseInt(t[5+n]),i=parseInt(t[6+n]);var o={name:t[0+n],chr:t[1+n],strand:t[2+n],start:parseInt(t[3+n]),end:parseInt(t[4+n]),cdStart:r,cdEnd:i,id:t[0+n]},s=parseInt(t[7+n]),a=t[8+n].split(","),l=t[9+n].split(","),c=[];for(let t=0;t<s;t++){const e=parseInt(a[t]),n=parseInt(l[t]);c.push({start:e,end:n})}return el(c,r,i),o.exons=c,o}function Ja(t,e){var n=void 0===e.shift?0:1;if(t.length<=11+n)return;const r=parseInt(t[5+n]),i=parseInt(t[6+n]),o={name:t[11+n],chr:t[1+n],strand:t[2+n],start:parseInt(t[3+n]),end:parseInt(t[4+n]),cdStart:r,cdEnd:i,id:t[0+n]},s=parseInt(t[7+n]),a=t[8+n].split(","),l=t[9+n].split(","),c=[];for(let t=0;t<s;t++){const e=parseInt(a[t]),n=parseInt(l[t]);c.push({start:e,end:n})}return el(c,r,i),o.exons=c,o}function tl(t,e){var n=void 0===e.shift?0:1;if(t.length<=10+n)return;const r=parseInt(t[6+n]),i=parseInt(t[7+n]);var o={name:t[0+n],id:t[1+n],chr:t[2+n],strand:t[3+n],start:parseInt(t[4+n]),end:parseInt(t[5+n]),cdStart:r,cdEnd:i},s=parseInt(t[8+n]),a=t[9+n].split(","),l=t[10+n].split(","),c=[];for(let t=0;t<s;t++){const e=parseInt(a[t]),n=parseInt(l[t]);c.push({start:e,end:n})}return el(c,r,i),o.exons=c,o}function el(t,e,n){for(let r of t){const t=r.end,i=r.start;t<e||i>n?r.utr=!0:(e>=i&&e<=t&&(r.cdStart=e),n>=i&&n<=t&&(r.cdEnd=n))}}function nl(t,e){var n,r,i,o,s,a,l;if(!(t.length<9))return n=t[0],r=parseInt(t[1]),i=parseInt(t[2]),s=t[3],a=parseFloat(t[4]),o=t[5].trim(),l=parseFloat(t[6]),0===a&&(a=l),{chr:n,start:r,end:i,name:s,score:a,strand:o,signal:l,pValue:parseFloat(t[7]),qValue:parseFloat(t[8])}}function rl(t,e){if(t.length<=3)return;const n={chr:t[0],start:parseInt(t[1]),end:parseInt(t[2]),value:parseFloat(t[3])};if(e){let r=e.colorColumn;r&&r<t.length&&(n.color=no.createColorString(t[r]))}return n}function il(t,e){const n=e.wig;if(n&&"fixedStep"===n.format){const e=n.index*n.step+n.start,r=e+n.span,i=parseFloat(t[0]);return++n.index,isNaN(i)?null:{chr:n.chrom,start:e,end:r,value:i}}if(n&&"variableStep"===n.format){if(t.length<2)return null;const e=parseInt(t[0],10)-1,r=e+n.span,i=parseFloat(t[1]);return isNaN(i)?null:{chr:n.chrom,start:e,end:r,value:i}}return rl(t)}function ol(t,e){if(t.length<6)return;const n=["bin","chr","start","end","name","score","strand","refNCBI","refUCSC","observed","molType","class","valid","avHet","avHetSE","func","locType","weight","exceptions","submitterCount","submitters","alleleFreqCount","alleles","alleleNs","alleleFreqs","bitfields"],r={chr:t[1],start:Number.parseInt(t[2]),end:Number.parseInt(t[3]),name:t[4],score:Number.parseInt(t[5])},i=Math.min(t.length,n.length);for(let e=6;e<i;e++)r[n[e]]=t[e];return r}class sl{constructor(t){Object.assign(this,t)}getAttributeValue(t){return this.hasOwnProperty(t)?this[t]:this.attributes?this.attributes[t]:void 0}}function al(t,e){if(!(t.length<7)){var n=t[0],r=t[1],i=parseInt(t[2]),o=parseInt(t[3]),s=parseInt(t[4]),a=parseInt(t[5]),l=t[6],c={chr:n,name:r,junction_left:i,junction_right:o,num_junction_reads:s,num_spanning_frags:a,spanning_frag_coords:[],start:-1,end:-1},h=i,u=o;if(a>0)for(var f=l.split(","),d=0;d<f.length;d++){var p=f[d].split("-"),g=p[0],m=p[1];g<h&&(h=g),m>u&&(u=m),c.spanning_frag_coords.push({left:g,right:m})}return c.start=h,c.end=u,c}}function ll(t,e){if(t.length<7)return null;const n={chr:t[0],start:parseInt(t[1])-1,end:parseInt(t[2]),"Strongest SNP-risk allele":t[3],"Disease/Phenotype":t[4],"P-value":t[5],"Odds ratio or beta":t[6]};return t.length>6&&(n.PUBMEDID=`<a target = "blank" href = "https://www.ncbi.nlm.nih.gov/pubmed/${t[7]}">${t[7]}</a>`),n}function cl(t,e){const n=e.customFormat;if(t.length<n.fields.length)return;const r=n.coords||0,i=t[n.chr],o=parseInt(t[n.start])-r,s={chr:i,start:o,end:void 0!==n.end?parseInt(t[n.end]):o+1};return n.fields&&n.fields.forEach((function(e,r){r!==n.chr&&r!==n.start&&r!==n.end&&(s[e]=t[r])})),s}function hl(t,e){const n=e.columnNames;if(!n)throw Error("Sample names are not defined. Missing column headers?");const r=n.length-3,i=t[0],o=parseInt(t[1]),s=parseInt(t[2]),a=t.slice(3).map(parseFloat);return a.length==r?{chr:i,start:o,end:s,values:a}:void console.warn(`${i}:${o}-${s} row contains ${a.length} sample columns instead of the expected ${r} columns. Skipping...`)}class ul{constructor(t){this.config=t,this.header={},t.nameField&&(this.header.nameField=t.nameField),this.skipRows=0,t.decode?(this.decode=t.decode,this.delimiter=t.delimiter||"\t"):t.format&&(this.header.format=t.format.toLowerCase(),this.setDecoder(this.header.format)),this.delimiter||(this.delimiter="\t")}async parseHeader(t){let e,n,r=this.header;for(;void 0!==(n=await t.nextLine());)if(n.startsWith("track")||n.startsWith("#track")){let t=fl(n);Object.assign(r,t)}else if(n.startsWith("browser"));else if(n.startsWith("#columns")){let t=dl(n);Object.assign(r,t)}else if(n.startsWith("##gff-version 3"))r.format="gff3";else if(n.startsWith("#gffTags"))r.gffTags=!0;else{if(n.startsWith("fixedStep")||n.startsWith("variableStep"))break;if(n.startsWith("#")){const t=n.split(this.delimiter||"\t");t.length>1&&(e=t)}else{this.setDecoder(r.format);const t=n.split(this.delimiter||"\t");try{const n=Object.assign({columnNames:e},r);if(this.decode(t,n))break;t.length>1&&(e=t)}catch(n){t.length>1&&(e=t)}}}if(e){r.columnNames=e;for(let t=0;t<e.length;t++)"color"===e[t]||"colour"===e[t]?r.colorColumn=t:"thickness"===e[t]&&(r.thicknessColumn=t)}return this.header=r,r}async parseFeatures(t){const e=[],n=this.decode,r=this.header.format,i=this.delimiter||"\t";let o,s=0,a=0;for(;void 0!==(o=await t.nextLine());){if(s++,s<=this.skipRows)continue;if(!o||o.startsWith("track")||o.startsWith("#")||o.startsWith("browser"))continue;if("wig"===r&&o.startsWith("fixedStep")){this.header.wig=pl(o);continue}if("wig"===r&&o.startsWith("variableStep")){this.header.wig=gl(o);continue}const t=o.split(i);if(t.length<1)continue;const l=n(t,this.header);l instanceof Xa?(a++,a>0&&console.error(`Error parsing line '${o}': ${l.message}`)):l&&e.push(l)}return n===Aa&&function(t){if(0==t.length)return;const e=t[0];if(void 0===e.score&&void 0!==e.name){for(let e of t)if(!("number"==typeof(n=e.name)?n-n==0:"string"==typeof n&&""!==n.trim()&&(Number.isFinite?Number.isFinite(+n):isFinite(+n)))&&"."!==e.name)return;for(let e of t)e.score=parseFloat(e.name),delete e.name}var n;const r=t.filter((t=>t.chr1!==t.chr2));for(let e of r){const n=Object.assign({},e);n.dup=!0,t.push(n),e.chr=e.chr1,e.start=e.start1,e.end=e.end1,n.chr=n.chr2,n.start=n.start2,n.end=n.end2}}(e),e}setDecoder(t){switch(t){case"narrowpeak":case"broadpeak":case"regionpeak":case"peaks":this.decode=nl,this.delimiter=this.config.delimiter||/\s+/;break;case"bedgraph":this.decode=rl,this.delimiter=/\s+/;break;case"wig":this.decode=il,this.delimiter=this.config.delimiter||/\s+/;break;case"gff3":case"gff":this.decode=Wa,this.delimiter="\t";break;case"gtf":this.decode=$a,this.delimiter="\t";break;case"fusionjuncspan":this.decode=al,this.delimiter=this.config.delimiter||/\s+/;break;case"gtexgwas":this.skipRows=1,this.decode=ll,this.delimiter="\t";break;case"refflat":this.decode=tl,this.delimiter=this.config.delimiter||/\s+/;break;case"genepred":this.decode=Qa,this.delimiter=this.config.delimiter||/\s+/;break;case"genepredext":this.decode=Ja,this.delimiter=this.config.delimiter||/\s+/;break;case"ensgene":this.decode=Qa,this.header.shift=1,this.delimiter=this.config.delimiter||/\s+/;break;case"refgene":this.decode=Ja,this.delimiter=this.config.delimiter||/\s+/,this.header.shift=1;break;case"bed":this.decode=Ya,this.delimiter=this.config.delimiter||/\s+/;break;case"bedpe":this.decode=Aa,this.delimiter=this.config.delimiter||"\t";break;case"bedpe-domain":this.decode=Ta,this.headerLine=!0,this.delimiter=this.config.delimiter||"\t";break;case"bedpe-loop":this.decode=Aa,this.delimiter=this.config.delimiter||"\t",this.header={colorColumn:7};break;case"interact":this.decode=La,this.delimiter=this.config.delimiter||/\s+/;break;case"snp":this.decode=ol,this.delimiter="\t";break;case"rmsk":this.decode=Ka,this.delimiter="\t";break;case"gcnv":this.decode=hl,this.delimiter="\t";break;default:const n=(e=t,hs&&hs[e]?function(t){const e=t.fields,n=["chr","start","end"];for(let r=0;r<e.length;r++)for(let i of n)i===e[r]&&(t[i]=r);return t}(hs[e]):void 0);void 0!==n?(this.decode=cl,this.header.customFormat=n,this.delimiter=n.delimiter||"\t"):(this.decode=Ya,this.delimiter=this.config.delimiter||/\s+/)}var e}}function fl(t){const e={},n=t.split(/(?:")([^"]+)(?:")|([^\s"]+)(?=\s+|$)/g);let r;const i=[];for(let t of n)t&&0!==t.trim().length&&(t.endsWith("=")?r=t:r?(i.push(r+t),r=void 0):i.push(t));for(let t of i){if(!t)return;var o=t.split("=",2);if(2===o.length){const t=o[0].trim(),n=o[1].trim();if(e.hasOwnProperty(t)){let r=e[t];Array.isArray(r)?r.push(n):e[t]=[r,n]}else e[t]=n}}return"interact"==e.type?e.format="interact":"gcnv"===e.type&&(e.format="gcnv"),e}function dl(t){let e={},n=t.split(/\s+/);if(2===n.length){n[1].split(";").forEach((function(t){let n=t.split("=");"color"===n[0]?e.colorColumn=Number.parseInt(n[1])-1:"thickness"===n[0]&&(e.thicknessColumn=Number.parseInt(n[1])-1)}))}return e}function pl(t){const e=t.split(/\s+/);return{format:"fixedStep",chrom:e[1].split("=")[1],start:parseInt(e[2].split("=")[1],10)-1,step:parseInt(e[3].split("=")[1],10),span:e.length>4?parseInt(e[4].split("=")[1],10):1,index:0}}function gl(t){const e=t.split(/\s+/);return{format:"variableStep",chrom:e[1].split("=")[1],span:e.length>2?parseInt(e[2].split("=")[1],10):1}}class ml{constructor(t){switch(this.type=t||"seg",this.type){case"mut":this.sampleColumn=3,this.chrColumn=0,this.startColumn=1,this.endColumn=2,this.dataColumn=4;break;case"maf":this.sampleColumn=15,this.chrColumn=4,this.startColumn=5,this.endColumn=6,this.dataColumn=8;break;default:this.sampleColumn=0,this.chrColumn=1,this.startColumn=2,this.endColumn=3}}async parseHeader(t){let e;for(;void 0!==(e=await t.nextLine());)if(!e.startsWith("#")){const t=e.split("\t");this.header={headings:t};break}return this.header}async parseFeatures(t){const e=[];let n;this.header||(this.header=await this.parseHeader(t)),"seg"===this.type&&(this.dataColumn=this.header.headings.length-1),this.header.headings.length>5&&(n=this.extractExtraColumns(this.header.headings));const r=this.header.headings[this.dataColumn];let i;for(;void 0!==(i=await t.nextLine());){const t=i.split("\t"),o="seg"===this.type?parseFloat(t[this.dataColumn]):t[this.dataColumn];if(t.length>this.dataColumn){const i=new vl({sample:t[this.sampleColumn],chr:t[this.chrColumn],start:parseInt(t[this.startColumn])-1,end:parseInt(t[this.endColumn]),value:o,valueColumnName:r});if(n){const e=this.extractExtraColumns(t);i.setAttributes({names:n,values:e})}e.push(i)}}return e}extractExtraColumns(t){const e=[];for(let n=0;n<t.length;n++)n!==this.chrColumn&&n!==this.startColumn&&n!==this.endColumn&&n!==this.sampleColumn&&e.push(t[n]);return e}}class vl{constructor({sample:t,chr:e,start:n,end:r,value:i,valueColumnName:o}){this.sample=t,this.chr=e,this.start=n,this.end=r,this.value=i,this.valueColumnName=o}setAttributes({names:t,values:e}){this.attributeNames=t,this.attributeValues=e}getAttribute(t){if(this.attributeNames){const e=this.attributeNames.indexOf(t);if(e>=0)return this.attributeValues[e]}}popupData(){const t=new Set(["chr","start","end","sample","value","row","color","sampleKey","uniqueSampleKey","sampleId","chromosome","uniquePatientKey"]),e=this.chr+":"+ke(this.start+1)+"-"+ke(this.end),n=[{name:"Sample",value:this.sample},{name:"Location",value:e},{name:this.valueColumnName?Ee(this.valueColumnName):"Value",value:this.value}];if(this.attributeNames&&this.attributeNames.length>0)for(let e=0;e<this.attributeNames.length;e++)!t.has(this.attributeNames[e])&this.valueColumnName!==this.attributeNames[e]&&n.push({name:Ee(this.attributeNames[e]),value:this.attributeValues[e]});return n}}class bl{constructor(t,e){this.browser=e,this.init(t)}init(t){t.displayMode&&(t.displayMode=t.displayMode.toUpperCase()),this.config=t,this.url=t.url,this.type=t.type,this.description=t.description,this.supportHiDPI=void 0===t.supportHiDPI||t.supportHiDPI,t.name||t.label?this.name=t.name||t.label:je(t.url)?this.name=t.url.name:_e(t.url)&&!t.url.startsWith("data:")&&(this.name=Ve(t.url)),this.id=void 0===this.config.id?this.name:this.config.id,this.order=t.order,this.color=t.color,this.altColor=t.altColor,"civic-ws"===t.sourceType?this.defaultColor="rgb(155,20,20)":this.defaultColor="rgb(0,0,150)",this.autoscaleGroup=t.autoscaleGroup,this.removable=void 0===t.removable||t.removable,this.height=t.height||100,this.autoHeight=t.autoHeight,this.minHeight=t.minHeight||Math.min(25,this.height),this.maxHeight=t.maxHeight||Math.max(1e3,this.height),this.visibilityWindow=t.visibilityWindow,this.trackView=void 0}get name(){return this._name}set name(t){this._name=t,this.trackView&&this.trackView.setTrackLabelName(t)}updateConfig(t){this.init(t)}getState(){const t={};for(let e of Object.keys(this.config))e.startsWith("_")||"function"==typeof this.config[e]||(t[e]=this.config[e]);for(let e of Object.keys(t)){if(e.startsWith("_"))continue;const n=this[e];n&&(sa(n)||"boolean"==typeof n)&&(t[e]=n)}this.color&&(t.color=this.color),this.altColor&&(t.altColor=this.altColor),!this.autoscale&&this.dataRange&&(t.min=this.dataRange.min,t.max=this.dataRange.max);for(let e of Object.keys(t)){if("function"==typeof t[e])throw Error(`Property '${e}' of track '${this.name} is a function. Functions cannot be saved in sessions.`);if(je(t[e])){const t=`Track ${this.name} is a local file. Sessions cannot be saved with local file references.`;throw Error(t)}if(t[e]instanceof Promise)throw Error(`Property '${e}' of track '${this.name} is a Promise. Promises cannot be saved in sessions.`)}return t}supportsWholeGenome(){return!1}hasSamples(){return!1}getGenomeId(){return this.browser.genome?this.browser.genome.id:void 0}setTrackProperties(t){const e={};let n;for(let r of Object.keys(t))switch(r.toLowerCase()){case"usescore":e.useScore=1===t[r]||"1"===t[r]||"on"===t[r]||!0===t[r];break;case"visibility":switch(t[r]){case"2":case"3":case"pack":case"full":e.displayMode="EXPANDED";break;case"4":case"squish":e.displayMode="SQUISHED";break;case"1":case"dense":e.displayMode="COLLAPSED"}break;case"color":case"altcolor":e[r]=t[r].startsWith("rgb(")?t[r]:"rgb("+t[r]+")";break;case"featurevisiblitywindow":case"visibilitywindow":e.visibilityWindow=Number.parseInt(t[r]);break;case"maxheightpixels":n=t[r].split(":"),3===n.length&&(e.minHeight=Number.parseInt(n[2]),e.height=Number.parseInt(n[1]),e.maxHeight=Number.parseInt(n[0]));break;case"viewlimits":if(!this.config.autoscale){n=t[r].split(":");let i,o=0;1==n.length?i=Number.parseFloat(n[0]):2==n.length&&(o=Number.parseFloat(n[0]),i=Number.parseFloat(n[1])),e.autoscale=!1,e.dataRange={min:o,max:i}}case"name":e[r]=t[r];break;case"url":e.infoURL=t[r];break;case"type":const i=t[r];wl.has(i)&&(e[r]=wl.get(i));break;case"graphtype":e.graphType=t[r];break;default:e[r]=t[r]}for(let t of Object.keys(e))if((!this.config.hasOwnProperty(t)||"name"===t&&this.config._derivedName)&&(this[t]=e[t],"height"===t&&this.trackView))try{const n=Number.parseInt(e[t]);this.trackView.setTrackHeight(n)}catch(t){console.error(t)}}getVisibilityWindow(){return this.visibilityWindow}clickedFeatures(t,e){if(e||(e=t.viewport.getCachedFeatures()),!e||0===e.length)return[];const n=t.genomicLocation,r=t.referenceFrame.bpPerPixel>.2?3*t.referenceFrame.bpPerPixel:.2;return Io(e,n-r,n+r)}extractPopupData(t,e){const n=new Set(["row","color","chr","start","end","cdStart","cdEnd","strand","alpha"]),r=[];let i,o;for(let e in t)if(t.hasOwnProperty(e)&&!n.has(e)&&sa(t[e])){let n=t[e];r.push({name:Ee(e),value:n}),"alleles"===e?i=t[e]:"alleleFreqs"===e&&(o=t[e])}if(i&&o){i.endsWith(",")&&(i=i.substr(0,i.length-1)),o.endsWith(",")&&(o=o.substr(0,o.length-1));let n=i.split(","),s=o.split(",");if(s.length>1){let i=[];for(let t=0;t<s.length;t++)i.push({a:n[t],af:Number.parseFloat(s[t])});i.sort((function(t,e){return t.af-e.af}));let o=i[i.length-1].a;if(1===o.length)for(let n=i.length-2;n>=0;n--){let s=i[n].a;if(1===s.length){e||(e=this.getGenomeId());const n=bl.getCravatLink(t.chr,t.start+1,o,s,e);console.log(n),n&&(r.push("<hr/>"),r.push({html:n}),r.push("<hr/>"))}}}}if(t.attributes)for(let e of Object.keys(t.attributes))r.push({name:e,value:t.attributes[e]});let s=`${t.chr}:${ke(t.start+1)}-${ke(t.end)}`;return t.strand&&(s+=` (${t.strand})`),r.push({name:"Location",value:s}),r}static getCravatLink(t,e,n,r,i){if("hg38"===i||"GRCh38"===i){return`<a target="_blank" href="https://run.opencravat.org/result/nocache/variant.html?chrom=${t.startsWith("chr")?t:"chr"+t}&pos=${e}&ref_base=${n}&alt_base=${r}">Cravat ${n}->${r}</a>`}}}const wl=new Map([["wiggle_0","wig"],["bed","bed"],["bigBed","bigBed"],["bigWig","bigWig"]]),yl=new Set(["A","C","T","G"].map((t=>t.charCodeAt(0))));function xl(t){return new _l(t)}class _l{constructor(t){this.chr=t[0],this.pos=parseInt(t[1]),this.names=t[2],this.referenceBases=t[3],this.alternateBases=t[4],this.quality=t[5],this.filter=t[6],this.info=function(t){var e={};t&&t.split(";").forEach((function(t){var n=t.split("=");e[n[0]]=n[1]}));return e}(t[7]),this.init()}init(){const t=this.referenceBases,e=this.alternateBases;if(this.info&&(this.info.VT?this.type=this.info.VT:this.info.SVTYPE?this.type="SV":this.info.PERIOD&&(this.type="STR")),void 0===this.type&&(this.type=function(t,e){const n=t.length;if(void 0===e)return"UNKNOWN";if(0===e.trim().length||"<NON_REF>"===e||"<*>"===e||"."===e)return"NONVARIANT";{const t=e.split(",").map((function(t){return 1===n&&1===t.length?"SNP":"<NON_REF>"===t?"NONVARIANT":"OTHER"}));let r=t[0];for(let e of t)if(e!==r)return"MIXED";return r}}(t,e)),"NONVARIANT"===this.type&&(this.heterozygosity=0),this.info.END)this.start=this.pos-1,this.info.CHR2&&this.info.CHR2!==this.chr?this.end=this.start+1:this.end=Number.parseInt(this.info.END);else if("NONVARIANT"===this.type)this.start=this.pos-1,this.end=this.start+t.length;else{const n=e.split(",").filter((t=>t.length>0));this.alleles=[],this.start=void 0,this.end=void 0;for(let e of n)if(this.alleles.push(e),"SV"!==this.type&&kl(e)){let n=e.length,r=t.length;const i=Math.min(n,r);let o=0;for(;o<i&&t.charCodeAt(o)===e.charCodeAt(o);)o++,n--,r--;for(;n>0&&r>0;){const i=o+n-1,s=o+r-1;if(e.charCodeAt(i)!==t.charCodeAt(s))break;n--,r--}for(;n>0&&r>0;){const i=o,s=o;if(e.charCodeAt(i)!==t.charCodeAt(s))break;o++,n--,r--}const s=this.pos+o-1,a=s+r;this.start=void 0===this.start?s:Math.min(this.start,s),this.end=void 0===this.end?a:Math.max(this.end,a)}void 0===this.start&&(this.start=this.pos-1,this.end=this.pos)}}popupData(t,e){const n=`${ke(this.pos)}`,r=this.start===this.end?`${ke(this.start)} | ${ke(this.start+1)}`:`${ke(this.start+1)}-${ke(this.end)}`,i=[{name:"Chr",value:this.chr},{name:"Pos",value:n},{name:"Loc",value:r},{name:"Names",value:this.names?this.names:""},{name:"Ref",value:this.referenceBases},{name:"Alt",value:this.alternateBases.replace("<","&lt;")},{name:"Qual",value:this.quality},{name:"Filter",value:this.filter}];if("SNP"===this.type){let t=this.referenceBases;if(1===t.length){let n=this.alternateBases.split(",");for(let r of n)if(1===r.length){let n=bl.getCravatLink(this.chr,this.pos,t,r,e);n&&(i.push("<hr/>"),i.push({html:n}))}}}if(this.hasOwnProperty("heterozygosity")&&i.push({name:"Heterozygosity",value:this.heterozygosity}),this.info){i.push({html:'<hr style="border-top: dotted 1px;border-color: #c9c3ba" />'});for(let t of Object.keys(this.info))i.push({name:t,value:Sl(decodeURIComponent(this.info[t]))})}return i}isRefBlock(){return"NONVARIANT"===this.type}}function kl(t){for(let e=0;e<t.length;e++)if(!yl.has(t.charCodeAt(e)))return!1;return!0}function Sl(t,e){return void 0===e&&(e=","),Array.isArray(t)?t.join(e):t}class Cl{construtor(){}async parseHeader(t,e){const n={};n.chrAliasTable=new Map;let r=await t.nextLine();if(!r.startsWith("##fileformat"))throw new Error("Invalid VCF file: missing fileformat line");for(n.version=r.substr(13);void 0!==(r=await t.nextLine())&&r.startsWith("#");){let t;const o={};if(r.startsWith("##")){if(r.startsWith("##INFO")||r.startsWith("##FILTER")||r.startsWith("##FORMAT")){const e=r.indexOf("<"),s=r.lastIndexOf(">");if(!(e>2&&s>0)){console.log("Malformed VCF header line: "+r);continue}const a=r.substring(2,e-1);n[a]||(n[a]={});const l=Ce(r.substring(e+1,s-1),",");for(let e of l){var i=e.split("=");i.length>1&&("ID"===i[0]?t=i[1]:o[i[0]]=i[1])}t&&(n[a][t]=o)}else if(r.startsWith("##contig")&&e){const t=r.indexOf("<ID=");let i=r.indexOf(",",t);-1==i&&(i=r.indexOf(">",t));const o=r.substring(t+4,i),s=e.getChromosomeName(o);n.chrAliasTable.set(s,o)}}else if(r.startsWith("#CHROM")){const t=r.split("\t");if(t.length>8){n.callSets=[];for(let e=9;e<t.length;e++)n.callSets.push({id:e,name:t[e]})}}}return this.header=n,n}async parseFeatures(t){const e=[],n=this.header.callSets,r=8+(n?n.length+1:0);let i;for(;void 0!==(i=await t.nextLine());)if(i&&!i.startsWith("#")){const t=i.split("\t");if(t.length===r){const r=xl(t);if(r.header=this.header,e.push(r),t.length>9){const e=El(t[8].split(":"));r.calls={};for(let i=9;i<t.length;i++){const o=t[i],s=n[i-9],a={callSetName:s.name,info:{}};r.calls[s.id]=a,o.split(":").forEach((function(t,n){if(n===e.genotypeIndex)a.genotype=[],t.split(/[\|\/]/).forEach((function(t){a.genotype.push("."===t?t:parseInt(t))}));else a.info[e.fields[n]]=t}))}}}}return e}}function El(t){const e={genotypeIndex:-1,fields:t};for(let n=0;n<t.length;n++)"GT"===t[n]&&(e.genotypeIndex=n);return e}function Al(t){return"string"==typeof t||t instanceof String?new Tl(t):new Ll(t)}class Tl{constructor(t){this.data=t,this.ptr=0}nextLine(){var t=this.ptr,e=this.data.indexOf("\n",t),n=this.data;if(e>0)return this.ptr=e+1,e>t&&"\r"===n.charAt(e-1)?n.substring(t,e-1):n.substring(t,e);var r=n.length;return this.ptr=r,t>=r?void 0:n.substring(t)}}class Ll{constructor(t){this.data=t,this.length=this.data.length,this.ptr=0}nextLine(){var t,e;if(e="",!(this.ptr>=this.length)){for(var n=this.ptr;n<this.length;n++)if("\r"!==(t=String.fromCharCode(this.data[n]))){if("\n"===t)break;e+=t}return this.ptr=n+1,e}}}class Ml{constructor(t){if(this.config=t,t.columns){if(void 0===t.columns.chromosome||void 0===t.columns.position||void 0===t.columns.value)throw Error("columns property must define chrCol, posCol, and valueCol");this.posCol=t.columns.position-1,this.chrCol=t.columns.chromosome-1,this.pvalueCol=t.columns.value-1}else this.posCol=2,this.chrCol=1,this.pvalueCol=3}async parseHeader(t){const e=await t.nextLine();return this.parseHeaderLine(e)}parseHeaderLine(t){if(this.columns=t.split(/\t/),!this.config.columns)for(let t=0;t<this.columns.length;t++){switch(this.columns[t].toLowerCase()){case"chr":case"chromosome":case"chr_id":this.chrCol=t;break;case"bp":case"pos":case"position":case"chr_pos":this.posCol=t;break;case"p":case"pval":case"pvalue":case"p-value":case"p.value":this.valueCol=t}}return this.columns}async parseFeatures(t){const e=[],n=t.nextLine();let r;for(this.columns||this.parseHeaderLine(n);void 0!==(r=t.nextLine());){const t=r.split(/\t/);if(t.length===this.columns.length){const n=t[this.chrCol],i=parseInt(t[this.posCol])-1,o=i+1,s=parseFloat(t[this.valueCol]);e.push(new Rl({chr:n,start:i,end:o,value:s,line:r,columns:this.columns}))}}return e}}class Rl{constructor({chr:t,start:e,end:n,value:r,line:i,columns:o}){this.chr=t,this.start=e,this.end=n,this.value=r,this.line=i,this.columns=o}popupData(){const t=this.line.split(/\t/);return this.columns.map((function(e,n){return{name:e,value:t[n]}}))}getAttribute(t){const e=this.line.split(/\t/);for(let n=0;n<this.columns.length;n++)if(this.columns[n]===t)return e[n]}}var Il=new RegExp("([^:]*)\\(([^)]*)\\)"),Nl=new RegExp("([^:]*):([^(]*)\\(([^)]*)\\)");class Pl{constructor(t){const e=t?t.decode:void 0;this.nameField=t?t.nameField:void 0,this.skipRows=0,this.decode=e||Hl,this.delimiter="\t"}async parseHeader(t){let e,n;for(;(e=await t.nextLine())&&(e.startsWith("track")||e.startsWith("#")||e.startsWith("browser"));)if(e.startsWith("track")||e.startsWith("#track")){let t=Dl(e);n?Object.assign(n,t):n=t}else if(e.startsWith("#columns")){let t=Bl(e);n?Object.assign(n,t):n=t}else e.startsWith("##gff-version 3")&&(this.format="gff3",n||(n={}),n.format="gff3");return this.header=n,n}async parseFeatures(t){const e=[],n=this.decode,r=this.delimiter||"\t";let i,o=0;for(;void 0!==(i=t.nextLine());){if(o++,o<=this.skipRows||i.startsWith("track")||i.startsWith("#")||i.startsWith("browser"))continue;let t=s();if(t.length<1)continue;if(!this.aed){this.aed=Ol(t);continue}const r=n.call(this,t,undefined);r&&e.push(r)}return e;function s(){for(var t,e,n=[],o="",s=!1;i||""===i;){for(t=0;t<i.length;t++)(e=i.charAt(t))===r?s?o+=e:(n.push(o),o=""):'"'===e?t+1<i.length&&'"'===i.charAt(t+1)?(s&&(o+='"'),t++):s=!s:o+=e;if(!s)break;o+="\n",i=nextLine()}return n.push(o),n}}}function Fl(t){var e=Nl.exec(t);if(e)return{namespace:e[1],name:e[2],type:e[3]};if(e=Il.exec(t))return{namespace:"?",name:e[1],type:e[2]};throw new Error("Error parsing the header row of AED file - column not in ns:name(ns:type) format")}function Ol(t){var e,n,r;for(e={columns:[],metadata:{}},n=0;n<t.length;n++)r=Fl(t[n]),e.columns.push(r);return e}function Dl(t){const e={},n=t.split(/(?:")([^"]+)(?:")|([^\s"]+)(?=\s+|$)/g);let r;const i=[];for(let t of n)t&&0!==t.trim().length&&(t.endsWith("=")>0?r=t:r?(i.push(r+t),r=void 0):i.push(t));for(let t of i){if(!t)return;var o=t.split("=",2);if(2===o.length){const t=o[0].trim(),n=o[1].trim();e[t]=n}}return e}function Bl(t){let e={},n=t.split(/\s+/);if(2===n.length){n[1].split(";").forEach((function(t){let n=t.split("=");"color"===n[0]?e.colorColumn=Number.parseInt(n[1])-1:"thickness"===n[0]&&(e.thicknessColumn=Number.parseInt(n[1])-1)}))}return e}function zl(t,e){var n,r,i=t.columns;this.aed=t,this.allColumns=e,this.chr=null,this.start=null,this.end=null,this.score=1e3,this.strand=".",this.cdStart=null,this.cdEnd=null,this.name=null,this.color=null;for(let t=0;t<e.length;t++)if(n=e[t]){"aed:Integer"===(r=i[t]).type&&(n=parseInt(n));var o=[];if(r.namespace.length>0)for(let t=0;t<r.namespace.length;t++)o.push(r.namespace.charCodeAt(t));"bio"===r.namespace.trim()?"sequence"===r.name?this.chr=n:"start"===r.name?this.start=n:"end"===r.name?this.end=n:"cdsMin"===r.name?this.cdStart=n:"cdsMax"===r.name?this.cdEnd=n:"strand"===r.name&&(this.strand=n):"aed"===r.namespace?"name"===r.name&&(this.name=n):"style"===r.namespace&&"color"===r.name&&(this.color=no.createColorString(n))}}function Hl(t,e){var n,r,i,o,s,a,l=0,c=this.aed.columns;if(t.length===c.length){for(a=0;a<t.length;a++)o=c[a],""!==(i=t[a])&&l++,"name"===o.name&&"aed"===o.namespace?n=i:"value"===o.name&&"aed"===o.namespace&&(r=i);if(2===l&&n&&r)return s=Fl(n),this.aed.metadata[s.namespace]||(this.aed.metadata[s.namespace]={}),void(this.aed.metadata[s.namespace][s.name]||(this.aed.metadata[s.namespace][s.name]={type:s.type,value:r}));var h=new zl(this.aed,t);if(h.chr&&(h.start||0===h.start)&&h.end)return h;console.log("Cannot parse feature: "+t.join(","))}else console.log("Corrupted AED file row: "+t.join(","))}zl.prototype.popupData=function(){for(var t=[],e=this.aed,n=0;n<this.allColumns.length;n++){var r=this.allColumns[n],i=e.columns[n].name;"sequence"!==i&&"color"!==i&&r&&t.push({name:i,value:r})}return t};class Vl{constructor(t,e){this.littleEndian=void 0===e||e,this.position=0,this.view=t,this.length=t.byteLength}available(){return this.length-this.position}remLength(){return this.length-this.position}hasNext(){return this.position<this.length-1}getByte(){var t=this.view.getUint8(this.position,this.littleEndian);return this.position++,t}getShort(){var t=this.view.getInt16(this.position,this.littleEndian);return this.position+=2,t}getUShort(){var t=this.view.getUint16(this.position,this.littleEndian);return this.position+=2,t}getInt(){var t=this.view.getInt32(this.position,this.littleEndian);return this.position+=4,t}getUInt(){var t=this.view.getUint32(this.position,this.littleEndian);return this.position+=4,t}getLong(){var t=[];t[0]=this.view.getUint8(this.position),t[1]=this.view.getUint8(this.position+1),t[2]=this.view.getUint8(this.position+2),t[3]=this.view.getUint8(this.position+3),t[4]=this.view.getUint8(this.position+4),t[5]=this.view.getUint8(this.position+5),t[6]=this.view.getUint8(this.position+6),t[7]=this.view.getUint8(this.position+7);var e=0;if(this.littleEndian)for(let n=t.length-1;n>=0;n--)e=256*e+t[n];else for(let n=0;n<t.length;n++)e=256*e+t[n];return this.position+=8,e}getString(t){for(var e,n="";0!==(e=this.view.getUint8(this.position++))&&(n+=String.fromCharCode(e),!t||n.length!==t););return n}getFixedLengthString(t){var e,n,r="";for(e=0;e<t;e++)(n=this.view.getUint8(this.position++))>0&&(r+=String.fromCharCode(n));return r}getFixedLengthTrimmedString(t){var e,n,r="";for(e=0;e<t;e++)(n=this.view.getUint8(this.position++))>32&&(r+=String.fromCharCode(n));return r}getFloat(){var t=this.view.getFloat32(this.position,this.littleEndian);return this.position+=4,t}getDouble(){var t=this.view.getFloat64(this.position,this.littleEndian);return this.position+=8,t}skip(t){return this.position+=t,this.position}getVPointer(){var t=this.position,e=this.view.getUint8(t+1)<<8|this.view.getUint8(t),n=4294967296*(255&this.view.getUint8(t+6))+16777216*(255&this.view.getUint8(t+5))+65536*(255&this.view.getUint8(t+4))+256*(255&this.view.getUint8(t+3))+(255&this.view.getUint8(t+2));return this.position+=8,new jl(n,e)}}class jl{constructor(t,e){this.block=t,this.offset=e}isLessThan(t){return this.block<t.block||this.block===t.block&&this.offset<t.offset}isGreaterThan(t){return this.block>t.block||this.block===t.block&&this.offset>t.offset}print(){return this.block+":"+this.offset}}class Ul{constructor(t){this.tabix=!0}parse(t,e){const n=new Vl(new DataView(t)),r=n.getInt();if(21582659!==r)throw 38359875===r?Error("CSI version 2 is not supported. Please enter an issue at https://github.com/igvteam/igv.js"):Error("Not a CSI index");this.indices=[],this.blockMin=Number.MAX_SAFE_INTEGER,this.blockMax=0,this.sequenceIndexMap={},this.minShift=n.getInt(),this.depth=n.getInt();if(n.getInt()>=28){n.getInt(),n.getInt(),n.getInt(),n.getInt(),n.getInt(),n.getInt();const t=n.getInt(),r=n.position+t;let i=0;for(;n.position<r;){let t=n.getString();e&&(t=e.getChromosomeName(t)),this.sequenceIndexMap[t]=i,i++}}const i=this.bin_limit()+1,o=n.getInt();for(let t=0;t<o;t++){const e=[],r=[],o=n.getInt();for(let t=0;t<o;t++){const t=n.getInt();if(r[t]=n.getVPointer(),t>i)n.getInt(),n.getVPointer(),n.getVPointer(),n.getLong(),n.getLong();else{e[t]=[];const r=n.getInt();for(let i=0;i<r;i++){const r=n.getVPointer(),i=n.getVPointer();r&&i&&(r.block<this.blockMin&&(this.blockMin=r.block),i.block>this.blockMax&&(this.blockMax=i.block),e[t].push([r,i]))}}}o>0&&(this.indices[t]={binIndex:e,loffset:r})}}blocksForRange(t,e,n){const r=this.indices[t];if(r){const t=this.reg2bins(e,n);if(0==t.length)return[];const i=[];for(let e of t)for(let t=e[0];t<=e[1];t++)if(r.binIndex[t]){const e=r.binIndex[t],n=e.length;for(let r=0;r<n;++r){const n=e[r][0],o=e[r][1];i.push({minv:n,maxv:o,bin:t})}}return function(t,e){const n=[];let r=null;return 0===t.length?t:(t.sort((function(t,e){const n=t.minv.block-e.minv.block;return 0!==n?n:t.minv.offset-e.minv.offset})),t.forEach((function(t){var i,o;e&&!t.maxv.isGreaterThan(e)||(null===r?(n.push(t),r=t):(i=r,(o=t).minv.block-i.maxv.block<65e3&&o.maxv.block-i.minv.block<5e6?t.maxv.isGreaterThan(r.maxv)&&(r.maxv=t.maxv):(n.push(t),r=t)))})),n)}(i,r.loffset[t[0]])}return[]}reg2bins(t,e){(t-=1)<1&&(t=1),e>2**50&&(e=2**34),e-=1;let n=0,r=0,i=this.minShift+3*this.depth;const o=[];for(;n<=this.depth;i-=3,r+=1<<3*n,n+=1){const n=r+(t>>i),s=r+(e>>i);if(s-n+o.length>this.maxBinNumber)throw new Error(`query ${t}-${e} is too large for current binning scheme (shift ${this.minShift}, depth ${this.depth}), try a smaller query or a coarser index binning scheme`);o.push([n,s])}return o}bin_limit(){return((1<<3*(this.depth+1))-1)/7}}async function ql(t,e,n){const r=[];let i=Number.MAX_SAFE_INTEGER,o=0;const s=new Vl(new DataView(t)),a=s.getInt(),l={};if(!(21578050===a||e&&21578324===a))throw new Error(indexURL+" is not a "+(e?"tabix":"bai")+" file");{const t=s.getInt();if(e){s.getInt(),s.getInt(),s.getInt(),s.getInt(),s.getInt(),s.getInt(),s.getInt();for(let e=0;e<t;e++){let t=s.getString();n&&(t=n.getChromosomeName(t)),l[t]=e}}for(let e=0;e<t;e++){const t={},n=[],a=s.getInt();for(let e=0;e<a;e++){const e=s.getInt();if(37450===e)s.getInt(),s.getVPointer(),s.getVPointer(),s.getLong(),s.getLong();else{t[e]=[];const n=s.getInt();for(let r=0;r<n;r++){const n=s.getVPointer(),r=s.getVPointer();n&&r&&(n.block<i&&(i=n.block),r.block>o&&(o=r.block),t[e].push([n,r]))}}}const l=s.getInt();for(let t=0;t<l;t++){const t=s.getVPointer();n.push(t)}a>0&&(r[e]={binIndex:t,linearIndex:n})}}return new Wl(r,i,o,l,e)}class Wl{constructor(t,e,n,r,i){this.firstAlignmentBlock=e,this.lastAlignmentBlock=n,this.indices=t,this.sequenceIndexMap=r,this.tabix=i}blocksForRange(t,e,n){const r=this.indices[t];if(r){const t=function(t,e){const n=[];e>=1<<29&&(e=1<<29);return--e,n.push([0,0]),n.push([1+(t>>26),1+(e>>26)]),n.push([9+(t>>23),9+(e>>23)]),n.push([73+(t>>20),73+(e>>20)]),n.push([585+(t>>17),585+(e>>17)]),n.push([4681+(t>>14),4681+(e>>14)]),n}(e,n),i=[];for(let e of t)for(let t=e[0];t<=e[1];t++)if(r.binIndex[t]){const e=r.binIndex[t],n=e.length;for(let r=0;r<n;++r){const n=e[r][0],o=e[r][1];i.push({minv:n,maxv:o,bin:t})}}const o=r.linearIndex.length;let s=null;const a=Math.min(e>>14,o-1),l=Math.min(n>>14,o-1);for(let t=a;t<=l;++t){const e=r.linearIndex[t];e&&(s&&!e.isLessThan(s)||(s=e))}return function(t,e){const n=[];let r=null;return 0===t.length?t:(t.sort((function(t,e){const n=t.minv.block-e.minv.block;return 0!==n?n:t.minv.offset-e.minv.offset})),t.forEach((function(t){var i,o;e&&!t.maxv.isGreaterThan(e)||(null===r?(n.push(t),r=t):(i=r,(o=t).minv.block-i.maxv.block<65e3&&o.maxv.block-i.minv.block<5e6?t.maxv.isGreaterThan(r.maxv)&&(r.maxv=t.maxv):(n.push(t),r=t)))})),n)}(i,s)}return[]}}class $l{constructor(t){this.chrIndex=t}blocksForRange(t,e,n){const r=this.chrIndex[t];if(r){const t=r.blocks,i=r.longestFeature,o=r.binWidth,s=Math.max(e-i,0),a=Math.floor(s/o);if(a>=t.length)return[];{const e=Math.min(Math.floor((n-1)/o),t.length-1),r=t[a].min,i=t[e].max;if(0===i-r)return[];return[{minv:{block:r,offset:0},maxv:{block:i,offset:0}}]}}}}async function Gl(t,e,n){let r=await po.loadArrayBuffer(t,aa(e)),i=new DataView(r);if(31===i.getUint8(0)&&139===i.getUint8(1)){r=Wi(r).buffer,i=new DataView(r)}switch(i.getInt32(0,!0)){case 21578050:return async function(t,e){return ql(t,!1,e)}(r,n);case 21578324:return async function(t,e){return ql(t,!0,e)}(r,n);case 21582659:return async function(t,e){const n=new Ul;return n.parse(t,e),n}(r,n);case 1480870228:return async function(t,e){const n={},r=new Vl(new DataView(t));!function(t){t.getInt(),t.getInt();const e=t.getInt();if(t.getString(),t.getLong(),t.getLong(),t.getString(),t.getInt(),e>=3){let e=t.getInt();for(;e-- >0;)t.getString(),t.getString()}}(r);let i=r.getInt();for(;i-- >0;){const t=o(r);n[t.chr]=t}return new $l(n);function o(t){let n=t.getString();e&&(n=e.getChromosomeName(n));const r=t.getInt(),i=t.getInt(),o=t.getInt();t.getInt(),t.getInt();let s=t.getLong();const a=new Array;for(let e=0;e<i;e++){const e=t.getLong();a.push({min:s,max:e}),s=e}return{chr:n,blocks:a,longestFeature:o,binWidth:r}}}(r,n);case 38359875:throw Error("CSI version 2 is not supported.");default:throw Error(`Unrecognized index type: ${t}`)}}class Zl{constructor(t){this.config=t,this.filePtr=0,this.bufferPtr=0,this.buffer}async nextLine(){let t;try{for(;;){const e=this.buffer?this.buffer.length:0;for(;this.bufferPtr<e;){const e=String.fromCharCode(this.buffer[this.bufferPtr++]);if("\r"!==e){if("\n"===e)return t;t=t?t+e:e}}if(this.eof)return t;await this.readNextBlock()}}catch(e){return console.warn(e),this.eof=!0,t}}async readNextBlock(){const t=aa(this.config,{range:{start:this.filePtr,size:26}}),e=$i(await po.loadArrayBuffer(this.config.url,t));if(0===e)this.eof=!0,this.buffer=void 0;else{const t=aa(this.config,{range:{start:this.filePtr,size:e}}),n=await po.loadArrayBuffer(this.config.url,t);n.byteLength<e&&(this.eof=!0),this.buffer=Wi(n),this.bufferPtr=0,this.filePtr+=n.byteLength}}}class Xl{constructor(t,e){var n;this.config=t||{},this.genome=e,this.indexURL=t.indexURL,this.indexed=t.indexed,je(this.config.url)?this.filename=this.config.url.name:fa(this.config.url)?(this.indexed=!1,this.dataURI=t.url):(n=ze(this.config.url),this.filename=t.filename||n.file),this.parser=this.getParser(this.config),"vcf"!==this.config.format||this.config.indexURL||console.warn("Warning: index file not specified. The entire vcf file will be loaded.")}async readFeatures(t,e,n){return await this.getIndex()?(this.indexed=!0,this.loadFeaturesWithIndex(t,e,n)):this.dataURI?(this.indexed=!1,this.loadFeaturesFromDataURI()):(this.indexed=!1,this.loadFeaturesNoIndex())}async readHeader(){if(this.dataURI)return await this.loadFeaturesFromDataURI(this.dataURI),this.header;if(this.config.indexURL){const t=await this.getIndex();if(!t)throw new Error("Unable to load index: "+this.config.indexURL);let e;if(t.tabix)e=new Zl(this.config);else{const n=Object.values(t.chrIndex).flatMap((t=>t.blocks)).map((t=>t.max)).reduce(((t,e)=>Math.min(t,e)),Number.MAX_SAFE_INTEGER),r=aa(this.config,{bgz:t.tabix,range:{start:0,size:n}});e=Al(await po.loadString(this.config.url,r))}return this.header=await this.parser.parseHeader(e),this.header}{const t=aa(this.config),e=await po.loadString(this.config.url,t);let n=Al(e);return this.header=await this.parser.parseHeader(n),n=Al(e),this.features=await this.parser.parseFeatures(n),this.header}}getParser(t){switch(t.format){case"vcf":return new Cl(t);case"seg":return new ml("seg");case"mut":return new ml("mut");case"maf":return new ml("maf");case"gwas":return new Ml(t);case"aed":return new Pl(t);default:return new ul(t)}}async loadFeaturesNoIndex(){if(this.features){const t=this.features;return delete this.features,t}{const t=aa(this.config),e=await po.loadString(this.config.url,t);if(!this.header){const t=Al(e);this.header=await this.parser.parseHeader(t)}const n=Al(e);return await this.parser.parseFeatures(n)}}async loadFeaturesWithIndex(t,e,n){const r=this.config,i=this.parser,o=this.index.tabix,s=o?this.index.sequenceIndexMap[t]:t;if(void 0===s)return[];const a=this.genome,l=this.index.blocksForRange(s,e,n);if(l&&0!==l.length){const s=[];for(let c of l){const l=c.minv.block,h=c.minv.offset,u=c.maxv.offset;let f;if(o){let t=0;if(u>0){const e=aa(r,{range:{start:c.maxv.block,size:26}});t=$i(await po.loadArrayBuffer(r.url,e))}f=c.maxv.block+t}else f=c.maxv.block;const d=aa(r,{range:{start:l,size:f-l+1}});let p;if(o){p=Wi(await po.loadArrayBuffer(r.url,d))}else p=await po.loadString(r.url,d);const g=Al(h?p.slice(h):p),m=await i.parseFeatures(g);let v=!1;for(let r=0;r<m.length;r++){const i=m[r];if((a?a.getChromosomeName(i.chr):i.chr)!==t){if(0===s.length)continue;break}if(i.start>n){s.push(i);break}i.end>=e&&i.start<=n&&(v||(v=!0,r>0&&s.push(m[r-1])),s.push(i))}}return s.sort((function(t,e){return t.start-e.start})),s}return[]}async getIndex(){return this.index||!this.config.indexURL||(this.index=await this.loadIndex()),this.index}async loadIndex(){return Gl(this.config.indexURL,this.config,this.genome)}async loadFeaturesFromDataURI(){if(this.features){const t=this.features;return delete this.features,t}{const t=Yi(this.dataURI);let e=Al(t);return this.header=await this.parser.parseHeader(e),this.header instanceof String&&this.header.startsWith("##gff-version 3")&&(this.format="gff3"),e=Al(t),this.features=await this.parser.parseFeatures(e),this.features}}}const Yl=_e;class Kl{constructor(t){this.config=t}async readFeatures(t,e,n){let r;r="function"==typeof this.config.url?this.config.url({chr:t,start:e,end:n}):this.config.url.replace("$CHR",t).replace("$START",e).replace("$END",n);let i,o=Object.assign({},this.config);void 0!==this.config.body&&("function"==typeof this.config.body?o.body=this.config.body({chr:t,start:e,end:n}):o.body=this.config.body.replace("$CHR",t).replace("$START",e).replace("$END",n));const s=await po.load(r,o);if(s&&(i="function"==typeof this.config.parser?this.config.parser(s):Yl(s)?JSON.parse(s):s),this.config.mappings){let t=Object.keys(this.config.mappings);for(let e of i)for(let n of t)e[n]=e[this.config.mappings[n]]}return i}}const Ql=function(t,e){this.config=t,this.genome=e,this.expandQueryInterval=!1};Ql.prototype.readFeatures=function(t,e,n){const r=Math.max(0,Math.floor(e));let i=Math.ceil(n);if(this.genome){const e=this.genome.getChromosome(t);e&&i>e.bpLength&&(i=e.bpLength)}const o=this.config.url+"?db="+this.config.db+"&table="+this.config.tableName+"&chr="+t+"&start="+r+"&end="+i;return po.loadJson(o,this.config).then((function(t){return t?(t.forEach((function(t){t.hasOwnProperty("exonStarts")&&t.hasOwnProperty("exonEnds")&&t.hasOwnProperty("exonCount")&&t.hasOwnProperty("cdsStart")&&t.hasOwnProperty("cdsEnd")&&function(t){var e,n,r,i,o,s;e=t.exonCount,n=t.exonStarts.split(","),r=t.exonEnds.split(","),i=[];for(var a=0;a<e;a++){var l={start:o=parseInt(n[a]),end:s=parseInt(r[a])};(t.cdsStart>s||t.cdsEnd<t.cdsStart)&&(l.utr=!0),t.cdsStart>=o&&t.cdsStart<=s&&(l.cdStart=t.cdsStart),t.cdsEnd>=o&&t.cdsEnd<=s&&(l.cdEnd=t.cdsEnd),i.push(l)}t.exons=i}(t)})),t):null}))};const Jl=["Name","gene_name","gene","gene_id","alias","locus","name"];class tc{constructor(t){this.format=t.format,this.nameField=t.nameField,this.filterTypes=void 0===t.filterTypes?new Set(["chromosome"]):new Set(t.filterTypes)}combineFeatures(t,e){let n;const r=this.filterTypes;if(t=t.filter((t=>void 0===r||!r.has(t.type))),"gff3"===this.format){const e=this.combineFeaturesById(t);n=this.combineFeaturesByType(e)}else n=this.combineFeaturesByType(t);return n.sort((function(t,e){return t.start-e.start})),this.numberExons(n,e),this.nameFeatures(n),n}combineFeaturesById(t){const e=new Map,n=[];for(let r of t)if(Ha(r.type)||za(r.type)||!r.id)n.push(r);else{let t=e.get(r.chr);t||(t=new Map,e.set(r.chr,t));let n=t.get(r.id);n?n.push(r):t.set(r.id,[r])}for(let t of e.values())for(let e of t.values())if(e.length>1){const t=e[0];t.exons=[];for(let n of e)t.start=Math.min(t.start,n.start),t.end=Math.max(t.end,n.end),t.exons.push({start:n.start,end:n.end});n.push(t)}else n.push(e[0]);return n}combineFeaturesByType(t){const e=t.filter((t=>"gene"===t.type||t.type.endsWith("_gene"))),n=Object.create(null);for(let t of e)n[t.id]=t;const r=Object.create(null),i=[],o=new Set,s=this.filterTypes;t=t.filter((t=>void 0===s||!s.has(t.type)));for(let e of t)if("biological_region"===e.type&&console.log(),za(e.type)){const t=e.id;if(void 0!==t){const s=new Ua(e);r[t]=s,i.push(s),o.add(e);const a=n[e.parent];a&&(s.geneObject=a,o.add(a))}}for(let e of t)if(Ha(e.type)){const t=c(e);if(t)for(let n of t){let s=r[n];if(!s&&"gtf"===this.format){const t=Object.assign({},e);t.type="transcript",s=new Ua(t),r[n]=s,i.push(s)}if(void 0!==s){if(a=e.type,Pa.has(a))if(t.length>1){const t=new ja(e);s.addExon(t)}else s.addExon(e);else s.addPart(e);o.add(e)}}}var a;i.forEach((function(t){"function"==typeof t.finish&&t.finish()}));const l=t.filter((t=>!o.has(t)));for(let t of l)i.push(t);return i;function c(t){return t.parent&&""!==t.parent.trim()?t.parent.trim().split(","):null}}numberExons(t,e){for(let n of t)if(n.exons&&(!e||n.end<=e.end&&n.start>e.start))for(let t=0;t<n.exons.length;t++){n.exons[t].number="-"===n.strand?n.exons.length-t:t+1}}nameFeatures(t){for(let e of t)if(e.attributeString){const t="gff3"===this.format?"=":" ",n=Ga(e.attributeString,t),r=new Map(n);if(this.nameField)e.name=r.get(this.nameField);else for(let t of Jl)if(r.has(t)){e.name=r.get(t);break}}}}const ec=function(t){this.config=t,this.url=t.url,this.tissueId=t.tissueSiteDetailId,this.indexed=!0,this.datasetId=t.datasetId||"gtex_v8"};ec.prototype.readFeatures=async function(t,e,n){let r=t.startsWith("chr")?t:"chr"+t,i=Math.floor(e),o=Math.ceil(n),s=this.datasetId,a=this.url+"?chromosome="+r+"&start="+i+"&end="+o+"&tissueSiteDetailId="+this.tissueId+"&datasetId="+s;const l=await po.loadJson(a,{withCredentials:this.config.withCredentials});return l&&l.singleTissueEqtl?(l.singleTissueEqtl.forEach((function(t){t.chr=t.chromosome,t.position=t.pos,t.start=t.pos-1,t.end=t.start+1,t.snp=t.snpId,t.geneName=t.geneSymbol,t.geneId=t.gencodeId})),l.singleTissueEqtl):void 0};const nc=function(t){this.config=t,this.url=t.url,this.cellConditionId=t.cellConditionId,this.valueThreshold=t.valueThreshold?t.valueThreshold:.05};nc.prototype.readFeatures=function(t,e,n){var r=this,i=this.url+"?chromosome="+t+"&start="+e+"&end="+n+"&cell_condition_id="+this.cellConditionId;return new Promise((function(t,e){po.loadJson(i,{withCredentials:r.config.withCredentials}).then((function(e){e?(e.eqtls.forEach((function(t){t.chr=t.chromosome,t.start=t.position,t.end=t.position+1})),t(e.eqtls)):t(null)})).catch((function(t){e(t)}))}))};const rc=po.apiKey;function ic(t){var e=t.url+"/"+t.entity+"/"+t.entityId;return t.headers={"Cache-Control":"no-cache"},po.loadJson(e,t)}function oc(t){return new Promise((function(e,n){var r=t.results?t.results:[],i=t.url,o=t.body,s=t.decode,a="?",l=t.fields;return rc&&(i=i+a+"key="+rc,a="&"),l&&(i=i+a+"fields="+l),function t(a){a?o.pageToken=a:void 0!==o.pageToken&&delete o.pageToken;var l=JSON.stringify(o);po.loadJson(i,{sendData:l,contentType:"application/json",headers:{"Cache-Control":"no-cache"}}).then((function(n){var i,o;n?((o=s?s(n):n)&&o.forEach((function(t){r.push(t)})),(i=n.nextPageToken)?t(i):e(r)):e(r)})).catch((function(t){n(t)}))}()}))}const sc=function(t,e){this.config=t,this.genome=e,this.url=t.url,this.variantSetId=t.variantSetId,this.callSetIds=t.callSetIds,this.includeCalls=void 0===t.includeCalls||t.includeCalls};sc.prototype.readHeader=function(){var t=this;return t.header?Promise.resolve(t.header):(t.header={},!1===t.includeCalls?Promise.resolve(t.header):oc({url:t.url+"/callsets/search",fields:"nextPageToken,callSets(id,name)",body:{variantSetIds:Array.isArray(t.variantSetId)?t.variantSetId:[t.variantSetId],pageSize:"10000"},decode:function(e){if(t.callSetIds){var n=[],r=new Set;return t.callSetIds.forEach((function(t){r.add(t)})),e.callSets.forEach((function(t){r.has(t.id)&&n.push(t)})),n}return e.callSets}}).then((function(e){return t.header.callSets=e,t.header})))},sc.prototype.readFeatures=function(t,e,n){const r=this,i=this.genome;return r.readHeader().then((function(t){return new Promise((function(t,e){r.chrAliasTable?t(r.chrAliasTable):r.readMetadata().then((function(e){r.metadata=e.metadata,r.chrAliasTable={},e.referenceBounds&&i&&e.referenceBounds.forEach((function(t){var e=t.referenceName,n=i.getChromosomeName(e);r.chrAliasTable[n]=e})),t(r.chrAliasTable)}))}))})).then((function(i){var o=i.hasOwnProperty(t)?i[t]:t;return oc({url:r.url+"/variants/search",fields:r.includeCalls?void 0:"nextPageToken,variants(id,variantSetId,names,referenceName,start,end,referenceBases,alternateBases,quality,filter,info)",body:{variantSetIds:Array.isArray(r.variantSetId)?r.variantSetId:[r.variantSetId],callSetIds:r.callSetIds?r.callSetIds:void 0,referenceName:o,start:e.toString(),end:n.toString(),pageSize:"10000"},decode:function(t){var e,n=[];return t.variants.forEach((function(t){e=function(t){var e,n=new _l;return n.chr=t.referenceName,n.start=parseInt(t.start),n.end=parseInt(t.end),n.pos=n.start+1,n.names=Sl(t.names,"; "),n.referenceBases=t.referenceBases,n.alternateBases=Sl(t.alternateBases),n.quality=t.quality,n.filter=Sl(t.filter),n.info={},t.info&&Object.keys(t.info).forEach((function(e){var r,i=t.info[e];r=Array.isArray(i)?i.join(","):i,n.info[e]=r})),n.calls={},t.calls&&t.calls.forEach((function(t){e=t.callSetId,n.calls[e]=t})),init(n),n}(t),e.isRefBlock()||n.push(e)})),n}})}))},sc.prototype.readMetadata=function(){return ic({url:this.url,entity:"variantsets",entityId:this.variantSetId})};class ac{constructor(t){this.config=t}async readFeatures(t,e,n){const r=(await po.loadJson(this.config.url+"/variants/?count=50000")).records,i=[];for(let t of r)if(t.coordinates){t.id;const e=t.coordinates;e.chromosome&&i.push(new lc(e.chromosome,e.start-1,e.stop,t)),e.chromosome2&&i.push(new lc(e.chromosome2,e.start2-1,e.stop2,t))}return i}}class lc{constructor(t,e,n,r){if(this.chr=t,this.start=e,this.end=n,this.id=r.id,this.entrezName=r.entrez_name,this.name=r.name,this.actionabilityScore=r.civic_actionability_score,r.coordinates.reference_bases&&(this.refBases=r.coordinates.reference_bases),r.coordinates.variant_bases&&(this.altBases=r.coordinates.variant_bases),r.variant_types&&(this.variant_types=r.variant_types),this.locationString=this.chr+":"+ke(this.start+1)+"-"+ke(this.end),void 0!==this.actionabilityScore){let t;if(this.actionabilityScore<=10)t=.2;else{const e=Math.min(30,this.actionabilityScore);t=.2+.8*Math.log10((e-10)/2)}this.alpha=t}}popupData(){const t=n("CIViC","https://civicdb.org/links/variants/"+this.id);this.refBases!==this.altBases&&this.refBases&&1===this.refBases.length&&this.altBases&&this.altBases.length;const e=[t];if(e.push({name:"Entrez",value:n(this.entrezName,"https://ghr.nlm.nih.gov/gene/"+this.entrezName)}),e.push({name:"Name",value:this.name}),this.variant_types&&this.variant_types.length>0){const t=1===this.variant_types.length?"Type":"Types";let n;for(let t of this.variant_types)n?n+=", "+t.display_name:n=t.display_name;e.push({name:t,value:n})}return e.push({name:"Actionability",value:this.actionabilityScore}),e.push({name:"Location",value:this.locationString}),e;function n(t,e){return"<a target='_blank' href='"+e+"'>"+t+"</a>"}}}function cc(t,e){e=e||Number.MAX_SAFE_INTEGER;const n=[];t.sort((function(t,e){return t.start-e.start})),n.push(-1e3);for(let r of t){let t=0;const i=Math.min(n.length,e);for(t=0;t<i;t++)if(r.start>n[t]){r.row=t,n[t]=r.end;break}r.row=t,n[t]=r.end}}class hc{constructor(t,e){if(this.config=t,this.genome=e,this.format=t.format?t.format.toUpperCase():"BAM","BAM"!==this.format&&"VCF"!==this.format)throw Error(`htsget format ${t.format} is not supported`)}async readHeaderData(){const t=`${uc(this.config)}?class=header&format=${this.format}`,e=await po.loadJson(t,aa(this.config));return await this.loadUrls(e.htsget.urls)}async readData(t,e,n){const r=`${uc(this.config)}?format=${this.format}&referenceName=${t}&start=${Math.floor(e)}&end=${Math.ceil(n)}`,i=await po.loadJson(r,aa(this.config));return this.loadUrls(i.htsget.urls)}async loadUrls(t){const e=[];for(let n of t)if(n.url.startsWith("data:"))e.push(Promise.resolve(fc(n.url)));else{const t=aa(this.config||{});n.headers&&(t.headers=Object.assign(t.headers||{},n.headers)),e.push(po.loadArrayBuffer(n.url,t))}return function(t){let e=0;for(let n of t)e+=n.byteLength;let n=0;const r=new Uint8Array(e);for(let e of t){const t=new Uint8Array(e);r.set(t,n),n+=t.length}return r}(await Promise.all(e))}static async inferFormat(t){try{const e=uc(t),n=`${e}${e.includes("?")?"&":"?"}class=header`,r=await po.loadJson(n,aa(t));if(r.htsget){const e=r.htsget.format;if("BAM"!==e&&"VCF"!==e)throw Error(`htsget format ${e} is not supported`);t.format=e.toLowerCase(),t.sourceType="htsget",t.name||(t.name=await ha(t.url))}}catch(t){}}}function uc(t){if(t.url&&t.endpoint&&t.id)return t.url+t.endpoint+t.id;if(t.endpoint&&t.id)return t.endpoint+t.id;if(t.url)return t.url.startsWith("htsget://")?t.url.replace("htsget://","https://"):t.url;throw Error("Must specify either 'url', or 'endpoint' and 'id")}function fc(t){const e=t.split(","),n=e[0].split(":")[1];let r=e[1];r=n.indexOf("base64")>=0?atob(r):decodeURI(r);const i=new Uint8Array(r.length);for(var o=0;o<r.length;o++)i[o]=r.charCodeAt(o);return i}class dc extends hc{constructor(t,e){super(t,e),this.parser=new Cl}async readHeader(){if(!this.header){const t=Al(await this.readHeaderData());this.header=await this.parser.parseHeader(t,this.genome),this.chrAliasTable=this.header.chrAliasTable}return this.header}async readFeatures(t,e,n){if(this.config.format&&"VCF"!==this.config.format.toUpperCase())throw Error(`htsget format ${this.config.format} is not supported`);this.chrAliasTable||await this.readHeader();let r=this.chrAliasTable.has(t)?this.chrAliasTable.get(t):t;const i=Al(await this.readData(r,e,n));return this.parser.parseFeatures(i)}}class pc{constructor(t,e){this.config=t||{},this.genome=e,this.sourceType=void 0===t.sourceType?"file":t.sourceType,this.visibilityWindow=t.visibilityWindow;const n=new Set(["bigwig","bw","bigbed","bb","tdf"]);if(t.features&&Array.isArray(t.features)){let n=function(t,e){if(!t||0===t.length)return[];if(void 0===t[0].chr&&void 0!==t[0].chr1){const n=[];for(let r of t)e&&(r.chr1=e.getChromosomeName(r.chr1),r.chr2=e.getChromosomeName(r.chr2)),r.chr1===r.chr2?(r.chr=r.chr1,r.start=Math.min(r.start1,r.start2),r.end=Math.max(r.end1,r.end2)):n.push(r);for(let e of n){const n=Object.assign({dup:!0},e);t.push(n),e.chr=e.chr1,e.start=e.start1,e.end=e.end1,n.chr=n.chr2,n.start=n.start2,n.end=n.end2}}else if(e)for(let n of t)n.chr=e.getChromosomeName(n.chr);return t}(t.features,e);gc(n),t.mappings&&function(t,e){let n=Object.keys(e);t.forEach((function(t){n.forEach((function(n){t[n]=t[e[n]]}))}))}(n,t.mappings),this.queryable=!1,this.featureCache=new Lo(n,e)}else t.reader?(this.reader=t.reader,this.queryable=void 0===t.queryable||t.queryable,this.expandQuery=!!t.expandQuery):"ga4gh"===t.sourceType?(this.reader=new sc(t,e),this.queryable=!0):"immvar"===t.sourceType?(this.reader=new nc(t),this.queryable=!0):"eqtl"===t.type&&"gtex-ws"===t.sourceType?(this.reader=new ec(t),this.queryable=!0,this.expandQuery=!!t.expandQuery):"htsget"===t.sourceType?this.reader=new dc(t,e):"ucscservice"===t.sourceType?(this.reader=new Ql(t.source),this.queryable=!0):"custom"===t.sourceType||void 0!==t.source?(this.reader=new Kl(t.source),this.queryable=void 0===t.source.queryable||t.source.queryable,this.expandQuery=!!t.expandQuery):"civic-ws"===t.sourceType?(this.reader=new ac(t),this.queryable=!1,this.expandQuery=!!t.expandQuery):(this.reader=new Xl(t,e),void 0!==t.queryable?this.queryable=t.queryable:n.has(t.format)&&(this.queryable=n.has(t.format)||this.reader.indexed))}supportsWholeGenome(){return!this.queryable&&(void 0===this.visibilityWindow||this.visibilityWindow<=0)}async trackType(){const t=await this.getHeader();return t?t.type:void 0}async getHeader(){if(!this.header)if(this.reader&&"function"==typeof this.reader.readHeader){const t=await this.reader.readHeader();t?(this.header=t,t.format&&(this.config.format=t.format)):this.header={}}else this.header={};return this.header}async getFeatures({chr:t,start:e,end:n,bpPerPixel:r,visibilityWindow:i}){const o=this.genome,s=o?o.getChromosomeName(t):t,a="all"===s.toLowerCase();return(a&&!this.getWGFeatures||this.config.disableCache||!this.featureCache||!this.featureCache.containsRange(new Bs(s,e,n)))&&await this.loadFeatures(e,n,i,s),a?(this.wgFeatures||(this.queryable?this.wgFeatures=[]:this.wgFeatures=this.getWGFeatures(this.featureCache.getAllFeatures())),this.wgFeatures):this.featureCache.queryFeatures(s,e,n)}async loadFeatures(t,e,n,r){const i=this.reader;let o=t,s=e;if((!n||n<=0)&&!1!==this.expandQuery){const t=this.genome?this.genome.getChromosome(r):void 0;o=0,s=t?t.bpLength:Number.MAX_SAFE_INTEGER}else if(n>e-t&&!1!==this.expandQuery){const r=Math.min(4.1*(e-t),n);o=Math.max(0,(t+e)/2-r),s=t+r}let a=await i.readFeatures(r,o,s);void 0===this.queryable&&(this.queryable=i.indexed);const l=this.queryable?new Bs(r,o,s):void 0;if(a){if(!1===this.config.assembleGFF||"gtf"!==this.config.format&&"gff3"!==this.config.format&&"gff"!==this.config.format||(a=new tc(this.config).combineFeatures(a,l)),"wig"!==this.config.format&&"junctions"!==this.config.type){gc(a,this.config.maxRows||Number.MAX_SAFE_INTEGER)}this.featureCache=new Lo(a,this.genome,l),(this.config.searchable||this.config.searchableFields)&&this.addFeaturesToDB(a)}else this.featureCache=new Lo([],l)}addFeaturesToDB(t){for(let e of t)if(e.name&&(this.genome.featureDB[e.name.toUpperCase()]=e),e.gene&&e.gene.name&&(this.genome.featureDB[e.gene.name.toUpperCase()]=e),this.config.searchableFields)for(let t of this.config.searchableFields){const n=e.getAttributeValue(t);n&&(n.indexOf(" ")>0?(this.genome.featureDB[n.replaceAll(" ","+").toUpperCase()]=e,this.genome.featureDB[n.replaceAll(" ","%20").toUpperCase()]=e):this.genome.featureDB[n.toUpperCase()]=e)}}getWGFeatures(t){const e=this.genome,n=new Set(e.wgChromosomeNames),r=[];for(let i of e.wgChromosomeNames){const o=t[i];if(o)for(let t of o){let i=e.getChromosomeName(t.chr);if(n.has(i)){const n=Object.assign({},t);n.chr="all",n.start=e.getGenomeCoordinate(t.chr,t.start),n.end=e.getGenomeCoordinate(t.chr,t.end),n._f=t,n.exons&&delete n.exons,r.push(n)}}}return r.sort((function(t,e){return t.start-e.start})),r}}function gc(t,e){if(e=e||1e3,null==t||0===t.length)return;const n={},r=[];for(let e of t){const t=e.chr;let i=n[t];i||(i=[],n[t]=i,r.push(t)),i.push(e)}for(let t of r)cc(n[t],e)}class mc{constructor(t,e,n){this.path=t.url,this.bufferSize=n||512e3,this.range={start:-1,size:-1},this.config=t}async dataViewForRange(t,e){if(!(this.data&&this.range.start<=t.start&&this.range.start+this.range.size>=t.start+t.size)){let e;e=t.size?Math.max(this.bufferSize,t.size):this.bufferSize;const n={start:t.start,size:e},r=await po.loadArrayBuffer(this.path,aa(this.config,{range:n}));this.data=r,this.range=n}const n=this.data.byteLength,r=t.start-this.range.start;return e?new Uint8Array(this.data,r,n-r):new DataView(this.data,r,n-r)}}class vc{constructor(t,e){this.path=t.url,this.genome=e,this.rpTreeCache={},this.config=t,this.loader=fa(this.path)?new Tc(this.path):po}async readWGFeatures(t,e){await this.loadHeader();const n=this.chromTree.idToChrom.length-1,r=this.chromTree.idToChrom[0],i=this.chromTree.idToChrom[n];return this.readFeatures(r,0,i,Number.MAX_VALUE,t,e)}async readFeatures(t,e,n,r,i,o){await this.loadHeader();const s=this.chromTree.chromToID[t],a=this.chromTree.chromToID[n];if(void 0===s||void 0===a)return[];let l,c;if("bigwig"===this.type){const t=await this.getZoomHeaders();let e=i?function(t,e){let n;for(let r=0;r<e.length;r++){const i=e[r];if(i.reductionLevel<t){n=i;break}}return n}(i,t):void 0;e?(l=e.indexOffset,c=Ac):(l=this.header.fullIndexOffset,c=Cc)}else l=this.header.fullIndexOffset,c=Ec.call(this);const h=await this.loadRPTree(l),u=await h.findLeafItemsOverlapping(s,e,a,r);if(u&&0!==u.length){let t=Number.MAX_VALUE,n=0;for(let e of u)t=Math.min(t,e.dataOffset),n=Math.max(n,e.dataOffset+e.dataSize);const i=n-t,l=await this.loader.loadArrayBuffer(this.config.url,aa(this.config,{range:{start:t,size:i}})),h=[];for(let n of u){const i=new Uint8Array(l,n.dataOffset-t,n.dataSize);let u;u=this.header.uncompressBuffSize>0?qi(i):i,c.call(this,new DataView(u.buffer),s,e,a,r,h,this.chromTree.idToChrom,o)}return h.sort((function(t,e){return t.start-e.start})),h}return[]}async getZoomHeaders(){return this.zoomLevelHeaders||await this.loadHeader(),this.zoomLevelHeaders}async loadHeader(){if(this.header)return this.header;{let t,e=await this.loader.loadArrayBuffer(this.path,aa(this.config,{range:{start:0,size:64}}));this.littleEndian=!0;let n=new Vl(new DataView(e)),r=n.getUInt();if(2291137574===r)this.type="bigwig";else if(2273964779===r)this.type="bigbed";else{this.littleEndian=!1,n.littleEndian=!1,n.position=0;let t=n.getUInt();654085990===t?this.type="bigwig":3958540679===t&&(this.type="bigbed")}t={bwVersion:n.getUShort(),nZoomLevels:n.getUShort(),chromTreeOffset:n.getLong(),fullDataOffset:n.getLong(),fullIndexOffset:n.getLong(),fieldCount:n.getUShort(),definedFieldCount:n.getUShort(),autoSqlOffset:n.getLong(),totalSummaryOffset:n.getLong(),uncompressBuffSize:n.getInt(),extensionOffset:n.getLong()};const i=64;let o={start:i,size:t.fullDataOffset-i+5};e=await this.loader.loadArrayBuffer(this.path,aa(this.config,{range:o}));const s=t.nZoomLevels;n=new Vl(new DataView(e)),this.zoomLevelHeaders=[],this.firstZoomDataOffset=Number.MAX_SAFE_INTEGER;for(let t=1;t<=s;t++){const e=s-t,r=new bc(e,n);this.firstZoomDataOffset=Math.min(r.dataOffset,this.firstZoomDataOffset),this.zoomLevelHeaders[e]=r}if(t.autoSqlOffset>0){n.position=t.autoSqlOffset-i;const e=n.getString();e&&(this.autoSql=function(t){let e;const n=[];let r=!1;const i=t.trim().split(/\s*[\r\n]+\s*/g);for(let t of i)if(t.startsWith("table"))e=t.split(/\s+/)[1].trim();else if(t.startsWith("("))r=!0;else if(t.startsWith(")"));else if(r&&t.length>0){const e=t.indexOf(";"),r=t.substr(0,e).split(/\s+/),i=t.substr(e+1).replace(/"/g,"").trim();n.push({type:r[0],name:r[1],description:i})}return{table:e,fields:n}}(e))}if(t.totalSummaryOffset>0&&(n.position=t.totalSummaryOffset-i,this.totalSummary=new kc(n)),!(t.chromTreeOffset>0))throw"BigWig chromosome tree offset <= 0";return n.position=t.chromTreeOffset-i,this.chromTree=new xc(n,i,this.genome),n.position=t.fullDataOffset-i,t.dataCount=n.getInt(),this.setDefaultVisibilityWindow(t),this.header=t,this.header}}async loadRPTree(t){let e=this.rpTreeCache[t];return e||(e=new wc(t,this.config,this.littleEndian,this.loader),await e.load(),this.rpTreeCache[t]=e,e)}async getType(){return await this.loadHeader(),this.type}async getTrackType(){return await this.loadHeader(),"bigwig"===this.type?"wig":this.autoSql&&"chromatinInteract"===this.autoSql.table?"interact":"annotation"}setDefaultVisibilityWindow(t){if("bigwig"===this.type)this.visibilityWindow=-1;else{let e=this.genome?this.genome.getGenomeLength():3088286401;this.visibilityWindow=t.dataCount<1e3?-1:e/t.dataCount*1e3}}}class bc{constructor(t,e){this.index=t,this.reductionLevel=e.getInt(),this.reserved=e.getInt(),this.dataOffset=e.getLong(),this.indexOffset=e.getLong()}}class wc{constructor(t,e,n,r){this.config=e,this.loader=r,this.fileOffset=t,this.path=e.url,this.littleEndian=n}async load(){const t=this.fileOffset+48,e=fa(this.path)?this.loader:new mc(this.config,512e3);return this.rootNode=await this.readNode(t,e),this}async readNode(t,e){let n=await e.dataViewForRange({start:t,size:4},!1),r=new Vl(n,this.littleEndian);const i=1===r.getByte();r.getByte();const o=r.getUShort();let s={start:t+=4,size:o*(i?32:24)};n=await e.dataViewForRange(s,!1);const a=new Array(o);if(r=new Vl(n),i){for(let t=0;t<o;t++){let e={isLeaf:!0,startChrom:r.getInt(),startBase:r.getInt(),endChrom:r.getInt(),endBase:r.getInt(),dataOffset:r.getLong(),dataSize:r.getLong()};a[t]=e}return new yc(a)}for(let t=0;t<o;t++){let e={isLeaf:!1,startChrom:r.getInt(),startBase:r.getInt(),endChrom:r.getInt(),endBase:r.getInt(),childOffset:r.getLong()};a[t]=e}return new yc(a)}async findLeafItemsOverlapping(t,e,n,r){let i=this;return new Promise((function(o,s){let a=[],l=new Set,c=fa(i.path)?i.loader:new mc(i.config,512e3);l.add(0),function h(u,f){if(_c(u,t,e,n,r)){u.items.forEach((function(o){_c(o,t,e,n,r)&&(o.isLeaf?a.push(o):o.childNode?h(o.childNode):(l.add(o.childOffset),i.readNode(o.childOffset,c).then((function(t){o.childNode=t,h(t,o.childOffset)})).catch(s)))}))}void 0!==f&&l.delete(f);0===l.size&&o(a)}(i.rootNode,0)}))}}class yc{constructor(t){this.items=t;let e,n,r=Number.MAX_SAFE_INTEGER,i=0,o=Number.MAX_SAFE_INTEGER,s=0;for(e=0;e<t.length;e++)n=t[e],r=Math.min(r,n.startChrom),i=Math.max(i,n.endChrom),o=Math.min(o,n.startBase),s=Math.max(s,n.endBase);this.startChrom=r,this.endChrom=i,this.startBase=o,this.endBase=s}}class xc{constructor(t,e,n){let r=t.getInt(),i=t.getInt(),o=t.getInt(),s=t.getInt(),a=t.getLong(),l=t.getLong(),c={},h=[];this.header={magic:r,blockSize:i,keySize:o,valSize:s,itemCount:a,reserved:l},this.chromToID=c,this.idToChrom=h,function t(r,i){i>=0&&(r.position=i);let s=r.getByte();r.getByte();let a,l,u,f,d,p,g=r.getUShort();if(1===s)for(a=0;a<g;a++)l=r.getFixedLengthTrimmedString(o),u=r.getInt(),r.getInt(),n&&(l=n.getChromosomeName(l)),c[l]=u,h[u]=l;else for(a=0;a<g;a++)l=r.getFixedLengthTrimmedString(o),f=r.getLong(),d=f-e,p=r.position,t(r,d),r.position=p}(t,-1)}}function _c(t,e,n,r,i){return t?(r>t.startChrom||r===t.startChrom&&i>=t.startBase)&&(e<t.endChrom||e===t.endChrom&&n<=t.endBase):(console.log("null item for "+e+" "+n+" "+i),!1)}class kc{constructor(t){t?(this.basesCovered=t.getLong(),this.minVal=t.getDouble(),this.maxVal=t.getDouble(),this.sumData=t.getDouble(),this.sumSquares=t.getDouble(),Sc.call(this)):(this.basesCovered=0,this.minVal=0,this.maxVal=0,this.sumData=0,this.sumSquares=0,this.mean=0,this.stddev=0)}}function Sc(){let t=this.basesCovered;if(t>0){this.mean=this.sumData/t,this.stddev=Math.sqrt(this.sumSquares/(t-1));let e=this.minVal<0?this.mean-2*this.stddev:0,n=this.maxVal>0?this.mean+2*this.stddev:0;this.defaultRange={min:e,max:n}}}function Cc(t,e,n,r,i,o,s){const a=new Vl(t),l=a.getInt();let c=a.getInt(),h=a.getInt();const u=a.getInt(),f=a.getInt(),d=a.getByte();a.getByte();let p=a.getUShort();if(l>=e&&l<=r)for(;p-- >0;){let t;switch(d){case 1:c=a.getInt(),h=a.getInt(),t=a.getFloat();break;case 2:c=a.getInt(),t=a.getFloat(),h=c+f;break;case 3:t=a.getFloat(),h=c+f,c+=u}if(!(l<e||l===e&&h<n)){if(l>r||l===r&&c>=i)break;if(Number.isFinite(t)){const e=s[l];o.push({chr:e,start:c,end:h,value:t})}}}}function Ec(){const t=function(t,e,n){if(n&&"chromatinInteract"===n.table)return function(t,e){return t.chr1=e[5],t.start1=Number.parseInt(e[6]),t.end1=Number.parseInt(e[7]),t.chr2=e[10],t.start2=Number.parseInt(e[11]),t.end2=Number.parseInt(e[12]),t.name=e[0],t.score=Number.parseFloat(e[1]),t.value=Number.parseFloat(e[2]),t.color="."===e[4]?void 0:"0"===e[4]?"rgb(0,0,0)":e[4],t};{const r=t-3;return function(i,o){if(r>0&&(i.name=o[0]),r>1&&(i.score=parseFloat(o[1])),r>2&&(i.strand=o[2]),r>3&&(i.cdStart=parseInt(o[3])),r>4&&(i.cdEnd=parseInt(o[4])),r>5&&"."!==o[5]&&"0"!==o[5]&&"-1"!==o[5]){const t=no.createColorString(o[5]);i.color=t.startsWith("rgb")?t:void 0}if(r>8){const t=parseInt(o[6]),e=o[7].split(","),n=o[8].split(","),r=[];for(let o=0;o<t;o++){const t=i.start+parseInt(n[o]),s=t+parseInt(e[o]);r.push({start:t,end:s})}i.exons=r}if(n)for(let r=t;r<e;r++)if(r<n.fields.length){const t=n.fields[r].name,e=o[r-3];i[t]=e}}}}(this.header.definedFieldCount,this.header.fieldCount,this.autoSql);return function(e,n,r,i,o,s,a){const l=new Vl(e);for(;l.remLength()>=13;){const e=l.getInt(),c=a[e],h=l.getInt(),u=l.getInt(),f=l.getString();if(!(e<n||e===n&&u<r)){if(e>i||e===i&&h>=o)break;if(u>0){const e={chr:c,start:h,end:u};s.push(e);const n=f.split("\t");t(e,n)}}}}}function Ac(t,e,n,r,i,o,s,a){const l=new Vl(t);for(;l.remLength()>=32;){const t=l.getInt(),c=s[t],h=l.getInt(),u=l.getInt(),f=l.getInt(),d=l.getFloat(),p=l.getFloat(),g=l.getFloat();let m;switch(l.getFloat(),a){case"min":m=d;break;case"max":m=p;break;default:m=0===f?0:g/f}if(!(t<e||t===e&&u<n)){if(t>r||t===r&&h>=i)break;Number.isFinite(m)&&o.push({chr:c,start:h,end:u,value:m})}}}class Tc{constructor(t){this.data=Yi(t).buffer}loadArrayBuffer(t,e){const n=e.range;return n?this.data.slice(n.start,n.start+n.size):this.data}async dataViewForRange(t,e){const n=Math.min(this.data.byteLength-t.start,t.size);return e?new Uint8Array(this.data,t.start,n):new DataView(this.data,t.start,n)}}class Lc{constructor(t,e){this.reader=new vc(t,e),this.genome=e,this.format=t.format||"bigwig",this.wgValues={}}async getFeatures({chr:t,start:e,end:n,bpPerPixel:r,windowFunction:i}){const o="all"===t.toLowerCase()?await this.getWGValues(i):await this.reader.readFeatures(t,e,t,n,r,i);return"bigwig"===this.reader.type||cc(o),o}async getHeader(){return this.reader.loadHeader()}getDefaultRange(){return void 0!==this.reader.totalSummary?this.reader.totalSummary.defaultRange:void 0}async defaultVisibilityWindow(){return this.reader.defaultVisibilityWindow}async getWGValues(t){const e=this.genome;if(this.wgValues[t])return this.wgValues[t];{const n=e.getGenomeLength()/1e3,r=await this.reader.readWGFeatures(n,t);let i=[];for(let t of r){const n=t.chr,r=e.getCumulativeOffset(n),o=Object.assign({},t);o.chr="all",o.start=r+t.start,o.end=r+t.end,i.push(o)}return this.wgValues[t]=i,i}}supportsWholeGenome(){return"bigwig"===this.reader.type||this.defaultVisibilityWindow()<=0}async trackType(){return this.reader.getTrackType()}}class Mc{constructor(t,e){this.config=t,this.genome=e,this.path=t.url,this.groupCache={},this.datasetCache={}}async readHeader(){if(void 0!==this.magic)return this;let t=await po.loadArrayBuffer(this.path,aa(this.config,{range:{start:0,size:64e3}})),e=new Vl(new DataView(t));if(this.magic=e.getInt(),this.version=e.getInt(),this.indexPos=e.getLong(),this.indexSize=e.getInt(),e.getInt(),this.version>=2){let t=e.getInt();for(this.windowFunctions=[];t-- >0;)this.windowFunctions.push(e.getString())}this.trackType=e.getString(),this.trackLine=e.getString();let n=e.getInt();for(this.trackNames=[];n-- >0;)this.trackNames.push(e.getString());this.genomeID=e.getString(),this.flags=e.getInt(),this.compressed=0!=(1&this.flags),t=await po.loadArrayBuffer(this.path,aa(this.config,{range:{start:this.indexPos,size:this.indexSize}})),e=new Vl(new DataView(t)),this.datasetIndex={};let r=e.getInt();for(;r-- >0;){const t=e.getString(),n=e.getLong(),r=e.getInt();this.datasetIndex[t]={position:n,size:r}}for(this.groupIndex={},r=e.getInt();r-- >0;){const t=e.getString(),n=e.getLong(),r=e.getInt();this.groupIndex[t]={position:n,size:r}}return this}async readDataset(t,e,n){const r=t+"_"+e+"_"+n;if(this.datasetCache[r])return this.datasetCache[r];{await this.readHeader();const i=this.version<2?"":"/"+e,o="all"===t.toLowerCase()||void 0===n?"0":n.toString();let s;s="raw"===e?"/"+t+"/raw":"/"+t+"/z"+o+i;const a=this.datasetIndex[s];if(void 0===a)return;const l=await po.loadArrayBuffer(this.path,aa(this.config,{range:{start:a.position,size:a.size}}));if(!l)return;const c=new Vl(new DataView(l));let h=c.getInt();const u={};for(;h-- >0;)u[c.getString()]=c.getString();const f=c.getString(),d=c.getFloat();let p=c.getInt();const g=[];for(;p-- >0;)g.push({position:c.getLong(),size:c.getInt()});const m={name:s,attributes:u,dataType:f,tileWidth:d,tiles:g};return this.datasetCache[r]=m,m}}async readRootGroup(){const t=this.genome,e=this.groupCache["/"];if(e)return e;{const e=await this.readGroup("/"),n=e.chromosomes,r=e.maxZoom;r&&(this.maxZoom=Number(r));const i=e.totalCount;i&&(e.totalCount=Number.parseFloat(i));const o={};return n&&n.split(",").forEach((function(e){const n=t.getChromosomeName(e);o[n]=e})),this.chrAliasTable=o,this.groupCache["/"]=e,e}}async readGroup(t){const e=this.groupCache[t];if(e)return e;{await this.readHeader();const e=this.groupIndex[t];if(void 0===e)return;const n=await po.loadArrayBuffer(this.path,aa(this.config,{range:{start:e.position,size:e.size}}));if(!n)return;const r=new Vl(new DataView(n)),i={name:t};let o=r.getInt();for(;o-- >0;){const t=r.getString(),e=r.getString();i[t]=e}return this.groupCache[t]=i,i}}async readTiles(t,e){if(t.sort((function(t,e){return t.position-e.position})),0===(t=t.filter((function(t){return t.size>0}))).length)return Promise.resolve([]);const n=t[0],r=t[t.length-1],i=n.position,o=r.position+r.size-i,s=await po.loadArrayBuffer(this.path,aa(this.config,{range:{start:i,size:o}})),a=[];for(let n of t){const t=n.position-i,r=n.size;if(r>0){let n;if(this.compressed){n=qi(s.slice(t,t+r)).buffer}else n=s.slice(t,t+r);const i=new Vl(new DataView(n)),o=i.getString();let l;switch(o){case"fixedStep":l=Rc(i,e);break;case"variableStep":l=Ic(i,e);break;case"bed":case"bedWithName":l=Nc(i,e,o);break;default:throw"Unknown tile type: "+o}a.push(l)}}return a}async readTile(t,e){let n=await po.loadArrayBuffer(this.path,aa(this.config,{range:{start:t.position,size:t.size}}));if(this.compressed){n=qi(n).buffer}const r=new Vl(new DataView(n)),i=r.getString();switch(i){case"fixedStep":return Rc(r,e);case"variableStep":return Ic(r,e);case"bed":case"bedWithName":return Nc(r,e,i);default:throw"Unknown tile type: "+i}}}function Rc(t,e){const n=t.getInt(),r=t.getInt(),i=t.getFloat(),o=[];let s=e;for(;s-- >0;){let e=n;const r=[];for(;e-- >0;)r.push(t.getFloat());o.push(r)}return{type:"fixedStep",start:r,span:i,data:o,nTracks:e,nPositions:n}}function Ic(t,e){const n=t.getInt(),r=t.getFloat(),i=t.getInt(),o=[];let s=i;for(;s-- >0;)o.push(t.getInt());t.getInt();const a=[];let l=e;for(;l-- >0;){s=i;const e=[];for(;s-- >0;)e.push(t.getFloat());a.push(e)}return{type:"variableStep",tileStart:n,span:r,start:o,data:a,nTracks:e,nPositions:i}}function Nc(t,e,n){const r=t.getInt();let i=r;const o=[];for(;i-- >0;)o.push(t.getInt());i=r;const s=[];for(;i-- >0;)s.push(t.getInt());t.getInt();const a=[];let l=e;for(;l-- >0;){let e=r;const n=[];for(;e-- >0;)n.push(t.getFloat());a.push(n)}if("bedWithName"===n){i=r;const e=[];for(;i-- >0;)e.push(t.getString())}return{type:n,start:o,end:s,data:a,nTracks:e,nPositions:r}}class Pc{constructor(t,e){this.genome=e,this.windowFunction=t.windowFunction||"mean",this.reader=new Mc(t,e)}async getFeatures({chr:t,start:e,end:n,bpPerPixel:r}){const i=new Bs(t,e,n),o=this.genome;if(!this.rootGroup&&(this.rootGroup=await this.reader.readRootGroup(),!this.normalizationFactor)){const t=this.rootGroup.totalCount;t&&(this.normalizationFactor=1e6/t)}if("all"===t.toLowerCase())return[];i.bpPerPixel=r;const s=function(t,e,n){var r=n.getChromosome(t).bpLength;return Math.ceil(Math.log(Math.max(0,r/(700*e)))/Bc)}(t,r,o);let a=this.reader.chrAliasTable[t],l=this.reader.maxZoom;void 0===a&&(a=t),void 0===l&&(l=-1);const c=s>l?"raw":this.windowFunction,h=await this.reader.readDataset(a,c,s);if(null==h)return[];const u=h.tileWidth,f=Math.floor(e/u),d=Math.floor(n/u),p=await this.reader.readTiles(h.tiles.slice(f,d+1),1),g=[];for(let i of p)switch(i.type){case"bed":Fc(i,t,e,n,r,g);break;case"variableStep":Oc(i,t,e,n,r,g);break;case"fixedStep":Dc(i,t,e,n,r,g);break;default:throw"Unknown tile type: "+i.type}return g.sort((function(t,e){return t.start-e.start})),g}supportsWholeGenome(){return!1}}function Fc(t,e,n,r,i,o){const s=t.nPositions,a=t.start,l=t.end,c=t.data[0];for(let t=0;t<s;t++){const i=a[t],s=l[t];if(!(s<n)){if(i>r)break;o.push({chr:e,start:i,end:s,value:c[t]})}}}function Oc(t,e,n,r,i,o){const s=t.nPositions,a=t.start,l=t.span,c=t.data[0];for(let t=0;t<s;t++){const i=a[t],s=i+l;if(!(s<n)){if(i>r)break;o.push({chr:e,start:i,end:s,value:c[t]})}}}function Dc(t,e,n,r,i,o){const s=t.nPositions;let a=t.start;const l=t.span,c=t.data[0];for(let t=0;t<s;t++){const i=a+l;if(a>r)break;i>=n&&(Number.isNaN(c[t])||o.push({chr:e,start:a,end:i,value:c[t]})),a=i}}var Bc=Math.log(2);function zc(t,e){const n=t.format?t.format.toLowerCase():void 0;return"bigwig"===n||"bigbed"===n||"bb"===n?new Lc(t,e):"tdf"===n?new Pc(t,e):new pc(t,e)}const Hc=[["A","T"],["G","C"],["Y","R"],["W","S"],["K","M"],["D","H"],["B","V"]],Vc=new Map;for(let t of Hc){const e=t[0],n=t[1];Vc.set(e,n),Vc.set(n,e),Vc.set(e.toLowerCase(),n.toLowerCase()),Vc.set(n.toLowerCase(),e.toLowerCase())}const jc={getTissueInfo:function(t,e){let n=(e=e||"https://gtexportal.org/rest/v1")+"/dataset/tissueInfo?datasetId="+(t=t||"gtex_v8");return po.loadJson(n,{})},trackConfiguration:function(t,e){return{type:"eqtl",sourceType:"gtex-ws",url:(e=e||"https://gtexportal.org/rest/v1")+"/association/singleTissueEqtlByLocation",tissueSiteDetailId:t.tissueSiteDetailId,name:t.tissueSiteDetailId.split("_").join(" "),visibilityWindow:25e4}}};function Uc(t,e,n){let r=(t.start-e)/n,i=(t.end-e)/n,o=i-r;return o<3&&(o=3,r-=1.5),{px:r,px1:i,pw:o}}function qc(t,e,n,r,i,o){try{i.save(),i.fillStyle=this.defaultColor,i.strokeStyle=this.defaultColor;const r=$c.call(this,t);let s,a;i.fillStyle=r,i.strokeStyle=r,"SQUISHED"===this.displayMode&&void 0!==t.row?(s=this.featureHeight/2,a=this.margin+this.squishedRowHeight*t.row):"EXPANDED"===this.displayMode&&void 0!==t.row?(s=this.featureHeight,a=this.margin+this.expandedRowHeight*t.row):(s=this.featureHeight,a=this.margin);const l=o.pixelWidth,c=a+s/2,h=s/2,u=c-h/2,f=t.exons?t.exons.length:0,d=Uc(t,e,n),p=this.arrowSpacing,g="+"===t.strand?1:"-"===t.strand?-1:0;if(0===f){const t=Math.max(0,d.px),e=Math.min(l,d.px1),n=Math.max(d.pw,e-t);if(i.fillRect(t,a,n,s),0!==g){i.fillStyle="white",i.strokeStyle="white";for(let n=t+p/2;n<e;n+=p)ls.strokeLine(i,n-2*g,c-2,n,c),ls.strokeLine(i,n-2*g,c+2,n,c);i.fillStyle=r,i.strokeStyle=r}}else{ls.strokeLine(i,d.px+1,c,d.px1-1,c);const o=Math.max(0,d.px)+p/2,m=Math.min(l,d.px1);for(let t=o;t<m;t+=p)ls.strokeLine(i,t-2*g,c-2,t,c),ls.strokeLine(i,t-2*g,c+2,t,c);for(let o=0;o<f;o++){const f=t.exons[o];let d,m=Math.round((f.start-e)/n),v=Math.round((f.end-e)/n),b=Math.max(1,v-m);if(!(m+b<0)){if(m>l)break;if(f.utr)i.fillRect(m,u,b,h);else if(f.cdStart&&(d=Math.round((f.cdStart-e)/n),i.fillRect(m,u,d-m,h),b-=d-m,m=d),f.cdEnd&&(d=Math.round((f.cdEnd-e)/n),i.fillRect(d,u,v-d,h),b-=v-d,v=d),b=Math.max(b,1),i.fillRect(m,a,b,s),b>p+5&&0!==g){i.fillStyle="white",i.strokeStyle="white";for(let t=m+p/2;t<v;t+=p)ls.strokeLine(i,t-2*g,c-2,t,c),ls.strokeLine(i,t-2*g,c+2,t,c);i.fillStyle=r,i.strokeStyle=r}}}}o.drawLabel&&"SQUISHED"!==this.displayMode&&Wc.call(this,i,t,d.px,d.px1,a,o.referenceFrame,o)}finally{i.restore()}}function Wc(t,e,n,r,i,o,s){try{t.save();let a=e.name;if(void 0===a&&e.gene&&(a=e.gene.name),void 0===a&&(a=e.id||e.ID),!a||"."===a)return;let l=s.pixelXOffset||0;const c=Math.max(n,-l),h=(c+Math.min(r,-l+s.viewportWidth))/2;let u;"COLLAPSED"===this.displayMode&&"SLANT"===this.labelDisplayMode&&(u={rotate:{angle:45}});const f=function(t,e){return e?t+20:t+25}(i,u);let d,p=$c.call(this,e),g=!1;o.selection&&jc.gtexLoaded&&(g=!0,d=o.selection.colorForGene(a));const m={textAlign:"SLANT"===this.labelDisplayMode?void 0:"center",fillStyle:d||p,strokeStyle:d||p},v=t.measureText(a),b=h-v.width/2,w=h+v.width/2;(s.labelAllFeatures||b>s.rowLastX[e.row]||g)&&(s.rowLastX[e.row]=w,ls.fillText(t,a,h,f,m,u))}finally{t.restore()}}function $c(t){let e;if(this.altColor&&"-"===t.strand)e="function"==typeof this.altColor?this.altColor(t):this.altColor;else if(this.color)e="function"==typeof this.color?this.color(t):this.color;else if(this.colorBy){const n=t.getAttributeValue?t.getAttributeValue(this.colorBy):t[this.colorBy];e=this.colorTable.getColor(n)}else e=t.color?t.color:this.defaultColor;if(t.alpha&&1!==t.alpha)e=no.addAlpha(e,t.alpha);else if(this.useScore&&t.score&&!Number.isNaN(t.score)){const n=function(t,e,n){const r=(e-t)/9,i=Math.floor((n-t)/r);return Math.min(1,.2+.8*i/9)}(this.config.min?this.config.min:0,this.config.max?this.config.max:1e3,t.score);t.alpha=n,e=no.addAlpha(e,n)}return e}const Gc=new Set(["nonsense","missense","stop-loss","frameshift","cds-indel"]),Zc=new Set(["coding-synon"]),Xc=new Set(["splice-3","splice-5"]),Yc=new Set(["untranslated-5","untranslated-3"]);function Kc(t,e,n,r,i){var o,s,a,l,c=Uc(t,e,n),h=this.margin,u=this.snpColors.length;switch(o="squished"===this.displayMode?this.squishedRowHeight:this.expandedRowHeight,this.colorBy){case"function":l=t.func,s=l.split(",").map((function(t){return Gc.has(t)||Xc.has(t)?u-1:Zc.has(t)?u-2:Yc.has(t)?u-3:0})).reduce((function(t,e){return Math.max(t,e)}));break;case"class":s="deletion"===(a=t.class)?u-1:"mnp"===a?u-2:"microsatellite"===a||"named"===a?u-3:0}i.fillStyle=this.snpColors[s],i.fillRect(c.px,h,c.pw,o)}function Qc(t,e,n,r,i){const o="EXPANDED"===this.displayMode?this.expandedRowHeight:this.squishedRowHeight;let s=this.margin;"COLLAPSED"!==this.displayMode&&void 0!==t.row&&(s+=t.row*o);const a=s+.5*o,l=a-.5*o,c=a+.5*o,h=Math.round((t.junction_left-e)/n),u=Math.round((t.junction_right-e)/n);i.beginPath(),i.moveTo(h,a),i.bezierCurveTo(h,l,u,l,u,a),i.lineWidth=1+Math.log(t.num_junction_reads)/Math.log(2),i.strokeStyle="blue",i.stroke();const f=t.spanning_frag_coords;for(let t=0;t<f.length;t++){const r=f[t],o=Math.round((r.left-e)/n),s=Math.round((r.right-e)/n);i.beginPath(),i.moveTo(o,a),i.bezierCurveTo(o,c,s,c,s,a),i.lineWidth=1,i.strokeStyle="purple",i.stroke()}}class Jc extends bl{constructor(t,e){super(t,e)}init(t){super.init(t),this.type=t.type||"annotation",this.maxRows=void 0===t.maxRows?1e3:t.maxRows,this.displayMode=t.displayMode||"EXPANDED",this.labelDisplayMode=t.labelDisplayMode,t._featureSource?(this.featureSource=t._featureSource,delete t._featureSource):this.featureSource=t.featureSource?t.featureSource:zc(t,this.browser.genome),this.autoHeight=t.autoHeight,this.margin=void 0===t.margin?10:t.margin,this.featureHeight=t.featureHeight||14,"FusionJuncSpan"===t.type?(this.render=t.render||Qc,this.squishedRowHeight=t.squishedRowHeight||50,this.expandedRowHeight=t.expandedRowHeight||50,this.height=t.height||this.margin+2*this.expandedRowHeight):"snp"===t.type?(this.render=t.render||Kc,this.snpColors=["rgb(0,0,0)","rgb(0,0,255)","rgb(0,255,0)","rgb(255,0,0)"],this.colorBy="function",this.expandedRowHeight=t.expandedRowHeight||10,this.squishedRowHeight=t.squishedRowHeight||5,this.height=t.height||30):(this.render=t.render||qc,this.arrowSpacing=30,function(t){t.browser.on&&(t.browser.on("trackdragend",e),t.browser.on("trackremoved",n));function e(){t.trackView&&"SQUISHED"!==t.displayMode&&t.trackView.repaintViews()}function n(r){t.browser.un&&t===r&&(t.browser.un("trackdragend",e),t.browser.un("trackremoved",n))}}(this),this.squishedRowHeight=t.squishedRowHeight||15,this.expandedRowHeight=t.expandedRowHeight||30,this.height=t.height||this.margin+2*this.expandedRowHeight,t.colorBy&&(t.colorBy.field&&(t.colorTable=t.colorBy.pallete||t.colorBy.palette,t.colorBy=t.colorBy.field),this.colorBy=t.colorBy,t.colorTable?this.colorTable=new ms(t.colorTable):this.colorTable=new gs("Set1"))),this.useScore=t.useScore}async postInit(){return"function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader()),this.header&&this.setTrackProperties(this.header),void 0===this.visibilityWindow&&"function"==typeof this.featureSource.defaultVisibilityWindow&&(this.visibilityWindow=await this.featureSource.defaultVisibilityWindow(),this.featureSource.visibilityWindow=this.visibilityWindow),this}supportsWholeGenome(){return(!1===this.config.indexed||!this.config.indexURL)&&!1!==this.config.supportsWholeGenome}async getFeatures(t,e,n,r){const i=this.visibilityWindow;return this.featureSource.getFeatures({chr:t,start:e,end:n,bpPerPixel:r,visibilityWindow:i})}computePixelHeight(t){if("COLLAPSED"===this.displayMode)return this.margin+this.expandedRowHeight;{let e=0;if(t&&"function"==typeof t.forEach)for(let n of t)n.row&&n.row>e&&(e=n.row);return this.margin+(e+1)*("SQUISHED"===this.displayMode?this.squishedRowHeight:this.expandedRowHeight)}}draw(t){const e=t.features,n=t.context,r=t.bpPerPixel,i=t.bpStart,o=t.pixelWidth,s=t.pixelHeight,a=i+o*r+1;if(this.config.isMergedTrack||ls.fillRect(n,0,t.pixelTop,o,s,{fillStyle:"rgb(255, 255, 255)"}),e){const l=[];t.rowLastX=[];for(let n of e){const e=n.row||0;void 0===l[e]?l[e]=1:l[e]++,t.rowLastX[e]=-Number.MAX_SAFE_INTEGER}let c=[];for(let h of e){if(h.end<i)continue;if(h.start>a)break;const e="COLLAPSED"===this.displayMode?0:h.row,u=o/l[e];t.drawLabel=t.labelAllFeatures||u>10;const f=Math.ceil((h.end-i)/r),d=c[e];if(!d||f>d){this.render.call(this,h,i,r,s,n,t);const o=Math.floor((h.start-i)/r);d&&o-d<=0&&(n.globalAlpha=.5,ls.strokeLine(n,o,0,o,s,{strokeStyle:"rgb(255, 255, 255)"}),n.globalAlpha=1),c[e]=f}}}else console.log("No feature list")}clickedFeatures(t,e){const n=t.y-this.margin,r=super.clickedFeatures(t,e);let i;switch(this.displayMode){case"SQUISHED":i=Math.floor(n/this.squishedRowHeight);break;case"EXPANDED":i=Math.floor(n/this.expandedRowHeight);break;default:i=void 0}return r.filter((function(t){return void 0===i||void 0===t.row||i===t.row}))}popupData(t,e){e=this.clickedFeatures(t,e);const n=t.genomicLocation,r=[];for(let t of e){const e=t._f||t,i="function"==typeof e.popupData?e.popupData(n):this.extractPopupData(e);if(i){r.length>0&&r.push("<hr/><hr/>");const o=this.infoURL||this.config.infoURL;for(let e of i)if(r.push(e),o&&e.name&&"name"===e.name.toLowerCase()&&e.value&&_e(e.value)&&!e.value.startsWith("<")){const n=(this.infoURL||this.config.infoURL).replace("$$",t.name);r.push({name:"Info",value:`<a target="_blank" href=${n}>${e.value}</a>`})}const s="gff"===this.config.format||"gff3"===this.config.format||"gtf"===this.config.format;if(e.exons)for(let t=0;t<e.exons.length;t++){const i=e.exons[t];if(n>=i.start&&n<=i.end){const n=s?i.number:"-"===e.strand?e.exons.length-t:t+1;n&&(r.push("<hr/>"),r.push({name:"Exon Number",value:n}));break}}}}return r}menuItemList(){const t=this,e=[];if(this.render===Kc){e.push("<hr/>");for(let t of["function","class"])e.push({object:de(No("Color by "+t,t===this.colorBy)),click:()=>{this.colorBy=t,this.trackView.repaintViews()}})}return e.push("<hr/>"),["COLLAPSED","SQUISHED","EXPANDED"].forEach((function(n){e.push({object:de(No({COLLAPSED:"Collapse",SQUISHED:"Squish",EXPANDED:"Expand"}[n],n===t.displayMode)),click:function(){t.displayMode=n,t.config.displayMode=n,t.trackView.checkContentHeight(),t.trackView.repaintViews()}})})),e}contextMenuItemList(t){const e=this.clickedFeatures(t);e.length>1&&e.sort(((t,e)=>t.end-t.start-(e.end-e.start)));const n=e[0];return n.end-n.start<=1e6?[{label:"Copy feature sequence",click:async()=>{let t=await this.browser.genome.getSequence(n.chr,n.start,n.end);"-"===n.strand&&(t=function(t){let e="",n=t.length;for(;n-- >0;){const r=t[n];e+=Vc.has(r)?Vc.get(r):r}return e}(t)),navigator.clipboard.writeText(t)}},"<hr/>"]:void 0}description(){if(Kc===this.render){let t="<html>"+this.name+"<hr/>";return t+="<em>Color By Function:</em><br>",t+='<span style="color:red">Red</span>: Coding-Non-Synonymous, Splice Site<br>',t+='<span style="color:green">Green</span>: Coding-Synonymous<br>',t+='<span style="color:blue">Blue</span>: Untranslated<br>',t+='<span style="color:black">Black</span>: Intron, Locus, Unknown<br><br>',t+="<em>Color By Class:</em><br>",t+='<span style="color:red">Red</span>: Deletion<br>',t+='<span style="color:green">Green</span>: MNP<br>',t+='<span style="color:blue">Blue</span>: Microsatellite, Named<br>',t+='<span style="color:black">Black</span>: Indel, Insertion, SNP',t+="</html>",t}return this.name}dispose(){this.trackView=void 0}}function th(t,e,n){var r,i,o,s,a,l,c,h={font:"normal 10px Arial",textAlign:"right",strokeStyle:"black"};function u(t){return 0===t?"0":Math.abs(t)>=10?t.toFixed():Math.abs(t)>=1?t.toFixed(1):t.toFixed(2)}void 0!==this.dataRange&&void 0!==this.dataRange.max&&void 0!==this.dataRange.min&&(ls.fillRect(t,0,0,e,n,{fillStyle:"rgb(255, 255, 255)"}),r=(c=.95*e)-8,.01,a={x:i=c,y:o=s=.01*n},ls.strokeLine(t,r,o,i,s,h),ls.fillText(t,u(this.dataRange.max),r+4,o+12,h),l={x:i,y:o=s=.99*n},ls.strokeLine(t,r,o,i,s,h),ls.fillText(t,u(this.dataRange.min),r+4,o-4,h),ls.strokeLine(t,a.x,a.y,l.x,l.y,h))}class eh extends bl{constructor(t,e){super(t,e)}init(t){super.init(t),this.type="wig",this.height=t.height||50,this.featureType="numeric",this.paintAxis=th;const e=t.format?t.format.toLowerCase():t.format;this.featureSource="bigwig"===e?new Lc(t,this.browser.genome):"tdf"===e?new Pc(t,this.browser.genome):zc(t,this.browser.genome),this.autoscale=t.autoscale||void 0===t.max,this.autoscale||(this.dataRange={min:t.min||0,max:t.max}),this.windowFunction=t.windowFunction||"mean",this.graphType=t.graphType||"bar",this.normalize=t.normalize,this.scaleFactor=t.scaleFactor}async postInit(){const t=await this.getHeader();t&&this.setTrackProperties(t)}async getFeatures(t,e,n,r){const i=await this.featureSource.getFeatures({chr:t,start:e,end:n,bpPerPixel:r,windowFunction:this.windowFunction});if(this.normalize&&this.featureSource.normalizationFactor){const t=this.featureSource.normalizationFactor;for(let e of i)e.value*=t}if(this.scaleFactor){const t=this.scaleFactor;for(let e of i)e.value*=t}return i}menuItemList(){return Po.numericDataMenuItems(this.trackView)}async getHeader(){return"function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader()),this.header}draw(t){const e=t.features,n=t.context,r=t.bpPerPixel,i=t.bpStart,o=t.pixelWidth,s=t.pixelHeight,a=i+o*r+1;let l=-1,c=-1;const h=this.color||"rgb(150,150,150)";let u;"string"==typeof h&&h.startsWith("rgb(")&&(u=no.addAlpha(h,.1));const f=t=>(this.dataRange.max-t)/(this.dataRange.max-this.dataRange.min)*s;if(e&&e.length>0&&(void 0===this.dataRange.min&&(this.dataRange.min=0),this.dataRange.max>this.dataRange.min)){const o=0==this.dataRange.min?s:f(0);for(let t of e){if(t.end<i)continue;if(t.start>a)break;const e=Math.floor((t.start-i)/r);if(isNaN(e))continue;let s=f(t.value);const u=Math.ceil((t.end-i)/r),d=Math.max(1,u-e);let p=t.value<0&&this.altColor?this.altColor:h;const g="function"==typeof p?p(t.value):p;if("points"===this.graphType){const t=this.config.pointSize||3,r=e+d/2;ls.fillCircle(n,r,s,t/2,{fillStyle:g,strokeStyle:g})}else{let r=s-o;Math.abs(r)<1&&(r=r<0?-1:1);const i=e+d;(i>l||t.value>=0&&t.value>c||t.value<0&&t.value<1)&&ls.fillRect(n,e,o,d,r,{fillStyle:g}),c=t.value,l=i}}if(this.dataRange.min<0){const e=this.dataRange.max/(this.dataRange.max-this.dataRange.min)*t.pixelHeight;ls.strokeLine(n,0,e,t.pixelWidth,e,{strokeStyle:u})}}if(this.config.hasOwnProperty("guideLines"))for(let e of this.config.guideLines)if(e.hasOwnProperty("color")&&e.hasOwnProperty("y")&&e.hasOwnProperty("dotted")){let n=f(e.y),r={strokeStyle:e.color,strokeWidth:2};e.dotted?ls.dashedLine(t.context,0,n,t.pixelWidth,n,5,r):ls.strokeLine(t.context,0,n,t.pixelWidth,n,r)}}popupData(t,e){if((e=this.clickedFeatures(t,e))&&e.length>0){const n=t.genomicLocation,r=[];e.sort((function(t,e){return Math.abs((t.start+t.end)/2-n)-Math.abs((e.start+e.end)/2-n)}));const i=e.length>10?e.slice(0,10):e;i.sort((function(t,e){return t.start-e.start}));for(let t of i)if(t){r.length>0&&r.push("<hr/>");let e=t.end-t.start==1?ke(t.start+1):ke(t.start+1)+"-"+ke(t.end);r.push({name:"Position:",value:e}),r.push({name:"Value:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",value:ke(t.value)})}return i.length<e.length&&r.push("<hr/>..."),r}return[]}supportsWholeGenome(){return"function"==typeof this.featureSource.supportsWholeGenome&&this.featureSource.supportsWholeGenome()}dispose(){this.trackView=void 0}}function nh(t){this.thresholds=t.thresholds,this.colors=t.colors}function rh(t){this.scale=t,this.lowColor="rgb("+t.lowR+","+t.lowG+","+t.lowB+")",this.highColor="rgb("+t.highR+","+t.highG+","+t.highB+")",this.diff=t.high-t.low}nh.prototype.getColor=function(t){for(let e of this.thresholds)if(t<e)return this.colors[this.thresholds.indexOf(e)];return this.colors[this.colors.length-1]},rh.prototype.getColor=function(t){var e,n=this.scale;return t<=n.low?this.lowColor:t>=n.high?this.highColor:(e=(t-n.low)/this.diff,"rgb("+Math.floor(n.lowR+e*(n.highR-n.lowR))+","+Math.floor(n.lowG+e*(n.highG-n.lowG))+","+Math.floor(n.lowB+e*(n.highB-n.lowB))+")")};class ih{constructor(t){this.color=t}getColor(){return this.color}}class oh extends bl{constructor(t,e){super(t,e)}init(t){if(super.init(t),this.type=t.type||"seg","maf"===this.type&&(this.type="mut"),this.isLog=t.isLog,this.displayMode=t.displayMode||"EXPANDED",this.height=t.height||300,this.maxHeight=t.maxHeight||500,this.squishedRowHeight=t.sampleSquishHeight||t.squishedRowHeight||2,this.expandedRowHeight=t.sampleExpandHeight||t.expandedRowHeight||13,this.sampleHeight=this.squishedRowHeight,t.color?this.color=t.color:(this.posColorScale=t.posColorScale||new rh({low:.1,lowR:255,lowG:255,lowB:255,high:1.5,highR:255,highG:0,highB:0}),this.negColorScale=t.negColorScale||new rh({low:-1.5,lowR:0,lowG:0,lowB:255,high:-.1,highR:255,highG:255,highB:255}),"mut"===this.type&&(this.colorTable=new ms(t.colorTable||sh))),this.sampleKeys=[],this.sampleNames=new Map,t.samples){for(let e of t.samples)this.sampleKeys.push(e),this.sampleNames.set(e,e);this.explicitSamples=!0}this.featureSource=zc(this.config,this.browser.genome),this.initialSort=t.sort}async postInit(){"function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader()),this.header&&this.setTrackProperties(this.header)}menuItemList(){const t=[],e={SQUISHED:"Squish",EXPANDED:"Expand",FILL:"Fill"};t.push("<hr/>"),t.push("DisplayMode:");const n="seg"===this.type?["SQUISHED","EXPANDED","FILL"]:["SQUISHED","EXPANDED"];for(let r of n){const n=No(e[r],r===this.displayMode);t.push({object:de(n),click:()=>{this.displayMode=r,this.config.displayMode=r,this.trackView.checkContentHeight(),this.trackView.repaintViews(),this.trackView.moveScroller(this.trackView.sampleNameViewport.trackScrollDelta)}})}return t}hasSamples(){return!0}getSamples(){return{names:this.sampleKeys.map((t=>this.sampleNames.get(t))),height:this.sampleHeight,yOffset:0}}async getFeatures(t,e,n){const r=await this.featureSource.getFeatures({chr:t,start:e,end:n});if(this.initialSort){const t=this.initialSort;this.sortSamples(t.chr,t.start,t.end,t.direction,r),this.initialSort=void 0}return r}draw({context:t,renderSVG:e,pixelTop:n,pixelWidth:r,pixelHeight:i,features:o,bpPerPixel:s,bpStart:a}){if(ls.fillRect(t,0,0,r,i,{fillStyle:"rgb(255, 255, 255)"}),o&&o.length>0){this.checkForLog(o),this.updateSampleKeys(o);const e={};let l;switch(this.sampleKeys.forEach((function(t,n){e[t]=n})),this.displayMode){case"FILL":this.sampleHeight=i/this.sampleKeys.length,l=0;break;case"SQUISHED":this.sampleHeight=this.squishedRowHeight,l=0;break;default:this.sampleHeight=this.expandedRowHeight,l=1}const c=this.sampleHeight;for(let t of o)t.pixelRect=void 0;const h=n+i,u=a+r*s+1,f=s;this.sampleYStart=void 0;for(let r of o){if(r.end<a)continue;if(r.start>u)break;const i=r.sampleKey||r.sample;r.row=e[i];const o=r.row*c+l;void 0===this.sampleYStart&&(this.sampleYStart=o);if(o+c<n||o>h)continue;const s=Math.max(r.start,a);let d=Math.round((s-a)/f);const p=Math.min(r.end,u),g=Math.round((p-a)/f);let m,v,b=Math.max(1,g-d);if(this.color?m="function"==typeof this.color?this.color(r):this.color:this.colorTable&&(m=this.colorTable.getColor(r.value.toLowerCase())),"mut"===this.type)v=c-2*l,b<3&&(b=3,d-=1);else{let t=r.value;this.isLog||(t=Ji(t/2)),m=t<-.1?this.negColorScale.getColor(t):t>.1?this.posColorScale.getColor(t):"white";let e=c;if(c<.25){const n=.1+2*Math.abs(t);e=Math.min(1,n*c)}v=e-2*l}r.pixelRect={x:d,y:o,w:b,h:v},t.fillStyle=m,t.fillRect(d,o,b,v)}}}checkForLog(t){if(void 0===this.isLog){this.isLog=!1;for(let e of t)if(e.value<0)return void(this.isLog=!0)}}computePixelHeight(t){if(!t)return 0;const e="SQUISHED"===this.displayMode?this.squishedRowHeight:this.expandedRowHeight;return this.updateSampleKeys(t),this.sampleKeys.length*e}async sortSamples(t,e,n,r,i){if(i||(i=await this.featureSource.getFeatures({chr:t,start:e,end:n})),!i)return;this.updateSampleKeys(i);const o={},s="ASC"===r?1:-1,a=()=>{const t=n-e+1;for(let r of i){if(r.end<e)continue;if(r.start>n)break;const i=Math.max(e,r.start),s=(Math.min(n,r.end)-i)/t,a=r.sampleKey||r.sample,l=o[a]||0;o[a]=l+s*r.value}this.sampleKeys.sort((function(t,e){let n=o[t],r=o[e];return n||(n=s*Number.MAX_VALUE),r||(r=s*Number.MAX_VALUE),n===r?0:n>r?s:-1*s}))},l=()=>{for(let t of i){if(t.end<e)continue;if(t.start>n)break;const r=t.sampleKey||t.sample;(!o.hasOwnProperty(r)||t.value.localeCompare(o[r])>0)&&(o[r]=t.value)}this.sampleKeys.sort((function(t,e){let n=o[t]||"",r=o[e]||"";return s*n.localeCompare(r)}))};"mut"===this.type?l():a(),this.trackView.repaintViews()}clickedFeatures(t,e){const n=super.clickedFeatures(t,e),r=t.y;return n.filter((function(t){const e=t.pixelRect;return e&&r>=e.y&&r<=e.y+e.h}))}popupData(t,e){e=this.clickedFeatures(t);const n=[];for(let t of e){n.length>0&&(n.push("<hr/>"),n.push("<hr/>"));const e=t._f||t,r="function"==typeof e.popupData?e.popupData():this.extractPopupData(e);Array.prototype.push.apply(n,r)}return n}contextMenuItemList(t){const e=t.viewport.referenceFrame,n=t.genomicLocation,r=this.config.sort?"ASC"===this.config.sort.direction?"DESC":"ASC":"DESC",i=e.toBP(2.5),o=e=>{const n=t.viewport.getCachedFeatures();this.sortSamples(e.chr,e.start,e.end,e.direction,n)};return[{label:"seg"===this.type?"Sort by value":"Sort by type",click:e=>{const s={direction:r,chr:t.viewport.referenceFrame.chr,start:n-i,end:n+i};o(s),this.config.sort=s}}]}supportsWholeGenome(){return(!1===this.config.indexed||!this.config.indexURL)&&!1!==this.config.supportsWholeGenome}updateSampleKeys(t){if(!this.explicitSamples)for(let e of t){const t=e.sampleKey||e.sample;this.sampleNames.has(t)||(this.sampleNames.set(t,e.sample),this.sampleKeys.push(t))}}}const sh={indel:"rgb(0,200,0)","targeted region":"rgb(236,155,43)",truncating:"rgb(\t150,0,0)","non-coding transcript":"rgb(0,0,150)",synonymous:"rgb(109,165,95)",silent:"rgb(109,135,80)",missense_mutation:"rgb(72,130,187)",missense:"rgb(72,130,187)","splice site":"rgb(143,83,155)",splice_region:"rgb(143,83,155)",nonsense:"rgb(216, 57,81)",nonsense_mutation:"rgb(216, 57,81)",frame_shift_del:"rgb(226,135,65)",frame_shift_ins:"rgb(226,135,65)",in_frame_del:"rgb(247,235,94)",in_frame_ins:"rgb(247,235,94)","*other*":"rgb(159,91,50)"};class ah extends bl{constructor(t,e){super(t,e)}init(t){if(!t.tracks)throw Error("Error: no tracks defined for merged track"+t);super.init(t)}get height(){return this._height}set height(t){if(this._height=t,this.tracks)for(let e of this.tracks)e.height=t,e.config.height=t}async postInit(){this.tracks=[];const t=[];for(let e of this.config.tracks){e.isMergedTrack=!0;const n=await this.browser.createTrack(e);n?(n.autoscale=!1,this.tracks.push(n)):console.warn("Could not create track "+e),"function"==typeof n.postInit&&t.push(n.postInit())}return this.height=this.config.height||100,Promise.all(t)}async getFeatures(t,e,n,r){const i=this.tracks.map((i=>i.getFeatures(t,e,n,r)));return Promise.all(i)}draw(t){var e,n,r,i,o,s,a,l;for(r=t.features,t.referenceFrame.chr,s=r,a=0,l=-Number.MAX_VALUE,s.forEach((function(t,e){t.forEach((function(t){void 0===t.value||Number.isNaN(t.value)||(a=Math.min(a,t.value),l=Math.max(l,t.value))}))})),o={min:a,max:l},e=0,n=this.tracks.length;e<n;e++)(i=Object.assign({},t)).features=r[e],this.tracks[e].dataRange=o,this.tracks[e].draw(i)}paintAxis(t,e,n){var r,i,o;for(!0,r=0,i=this.tracks.length;r<i;r++)if("function"==typeof(o=this.tracks[r]).paintAxis){o.paintAxis(t,e,n);break}}popupData(t,e){const n=e||t.viewport.getCachedFeatures();if(n&&n.length===this.tracks.length){const e=[];for(let r=0;r<this.tracks.length;r++){r>0&&e.push("<hr/>"),e.push(`<div style=background-color:rgb(245,245,245);border-bottom-style:dashed;border-bottom-width:1px;padding-bottom:5px;padding-top:10px;font-weight:bold;font-size:larger >${this.tracks[r].name}</div>`);const i=this.tracks[r].popupData(t,n[r]);e.push(...i)}return e}}supportsWholeGenome(){return this.tracks.every((t=>t.supportsWholeGenome()))}}class lh{constructor(t){this.paired=!0,this.firstAlignment=t,this.chr=t.chr,this.readName=t.readName,t.start<t.mate.position?(this.start=t.start,this.scStart=t.scStart,this.connectingStart=t.start+t.lengthOnRef,this.connectingEnd=t.mate.position):(this.start=t.mate.position,this.scStart=this.start,this.connectingStart=t.mate.position,this.connectingEnd=t.start),this.end=Math.max(t.mate.position,t.start+t.lengthOnRef),this.lengthOnRef=this.end-this.start;let e=Math.max(this.end,t.scStart+t.scLengthOnRef);this.scLengthOnRef=e-this.scStart}setSecondAlignment(t){this.secondAlignment=t;const e=this.firstAlignment;t.start>e.start?this.connectingEnd=t.start:this.connectingStart=t.start+t.lengthOnRef,this.start=Math.min(e.start,t.start),this.end=Math.max(e.start+e.lengthOnRef,t.start+t.lengthOnRef),this.lengthOnRef=this.end-this.start,this.scStart=Math.min(e.scStart,t.scStart);const n=Math.max(e.scStart+e.scLengthOnRef,t.scStart+t.scLengthOnRef);this.scLengthOnRef=n-this.scStart}containsLocation(t,e){const n=e?this.scStart:this.start,r=e?this.scLengthOnRef:this.lengthOnRef;return t>=n&&t<=n+r}alignmentContaining(t,e){return this.firstAlignment.containsLocation(t,e)?this.firstAlignment:this.secondAlignment&&this.secondAlignment.containsLocation(t,e)?this.secondAlignment:void 0}popupData(t){let e=this.firstAlignment.popupData(t);return this.secondAlignment&&(e.push("-------------------------------"),e=e.concat(this.secondAlignment.popupData(t))),e}isPaired(){return!0}firstOfPairStrand(){return this.firstAlignment.isFirstOfPair()?this.firstAlignment.strand:this.secondAlignment&&this.secondAlignment.isFirstOfPair()?this.secondAlignment.strand:this.firstAlignment.mate.strand}}const ch=_e,hh=function(t){return t.split("").reduce((function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t}),0)};class uh{constructor(){this.alignments=[],this.score=void 0}findAlignment(t){const e=(t,e)=>e>=t.start&&e<t.start+t.lengthOnRef;let n;for(let r=0;r<this.alignments.length;r++){const i=this.alignments[r];if(t>=i.start&&t<i.start+i.lengthOnRef){i.paired?i.firstAlignment&&e(i.firstAlignment,t)?n=i.firstAlignment:i.secondAlignment&&e(i.secondAlignment,t)&&(n=i.secondAlignment):n=i;break}}return n}updateScore(t,e){this.score=this.calculateScore(t,e)}calculateScore({position:t,option:e,direction:n,tag:r},i){e||(e="BASE");const o=this.findAlignment(t);if(void 0===o)return Number.MAX_VALUE*(n?1:-1);let s;switch(e){case"NUCLEOTIDE":case"BASE":return function(t,e,n){let r;const i=Math.floor(n)-e.start;i<e.sequence.length&&(r=e.sequence.charAt(i));if(!r)return 0;const o=t.readBaseAt(n),s=t.readBaseQualityAt(n),a=e.coverageMap,l=Math.floor(n-a.bpStart),c=a.coverage[l];let h=0;if(t.insertions)for(let e of t.insertions)e.start===n&&(h=-c.ins);if(o)if(r=r.toUpperCase(),"N"===o&&0===h)h=2;else if(r!==o&&"="!==o||0!==h){if("X"===o||r!==o){h-=c["pos"+o]+c["neg"+o]+s/1e3}}else h=4-s/1e3;else{const t=c.del;t>0?h-=t:0===h&&(h=1)}return h}(o,i,t);case"STRAND":return o.strand?1:-1;case"START":return o.start;case"TAG":{const t=o.tags()[r];return void 0!==t?ch(t)?hh(t):t:Number.MAX_VALUE}case"READ_NAME":return hh(o.readName);case"INSERT_SIZE":return-Math.abs(o.fragmentLength);case"GAP_SIZE":return-o.gapSizeAt(t);case"MATE_CHR":return s=o.mate,s?s.chr===o.chr?Number.MAX_VALUE-1:hh(s.chr):Number.MAX_VALUE;case"MQ":return void 0===o.mq?Number.MAX_VALUE:-o.mq;default:return Number.MAX_VALUE}}}function fh(t){return t.isPaired()&&t.mate&&t.isMateMapped()&&t.chr===t.mate.chr&&(t.isFirstOfPair()||t.isSecondOfPair())&&!(t.isSecondary()||t.isSupplementary())}function dh(t){const e=[];for(let n of t)for(let t of n.alignments)t instanceof lh?(t.firstAlignment&&e.push(t.firstAlignment),t.secondAlignment&&e.push(t.secondAlignment)):e.push(t);return e}function ph(t,e,n,r){if(t){if(0===t.length)return[];{t.sort((function(t,e){return r?t.scStart-e.scStart:t.start-e.start}));const i=t[0];let o=Math.max(e,r?i.scStart:i.start),s=o;const a=[];for(let e of t){const t=r?e.scStart:e.start,n=Math.max(0,t-o);void 0===a[n]&&(a[n]=[]),a[n].push(e)}let l=0,c=0;const h=[],u=2;try{for(;l<t.length;){const t=new uh;for(;s<=n;){let e,i;for(;!e&&s<=n;)i=s-o,void 0===a[i]?++s:e=a[i];if(!e)break;const c=e.pop();0===e.length&&(a[i]=void 0),t.alignments.push(c),s=r?c.scStart+c.scLengthOnRef+u:c.start+c.lengthOnRef+u,++l}if(t.alignments.length>0&&h.push(t),s=o,l===c)break;c=l}}catch(t){throw console.error(t),t}return h}}}class gh{constructor(t,e,n,r,i,o,s){this.chr=t,this.start=Math.floor(e),this.end=Math.ceil(n),this.length=n-e,this.alleleFreqThreshold=void 0===s?.2:s,this.coverageMap=new vh(t,e,n,this.alleleFreqThreshold),this.alignments=[],this.downsampledIntervals=[],this.samplingWindowSize=void 0===r?100:r,this.samplingDepth=void 0===i?1e3:i,this.pairsSupported=void 0===o||o,this.paired=!1,this.pairsCache={},this.downsampledReads=new Set,this.currentBucket=new mh(this.start,this.start+this.samplingWindowSize,this),this.filter=function(t){return t.isMapped()&&!t.isFailsVendorQualityCheck()},this.pairedEndStats=new yh}push(t){!1!==this.filter(t)&&(t.isPaired()&&this.pairedEndStats.push(t),this.coverageMap.incCounts(t),this.pairsSupported&&this.downsampledReads.has(t.readName)||(t.start>=this.currentBucket.end&&(this.finishBucket(),this.currentBucket=new mh(t.start,t.start+this.samplingWindowSize,this)),this.currentBucket.addAlignment(t)))}forEach(t){this.alignments.forEach(t)}finish(){void 0!==this.currentBucket&&this.finishBucket(),this.alignments.sort((function(t,e){return t.start-e.start})),this.pairsCache=void 0,this.downsampledReads=void 0,this.pairedEndStats.compute()}contains(t,e,n){return this.chr===t&&this.start<=e&&this.end>=n}hasDownsampledIntervals(){return this.downsampledIntervals&&this.downsampledIntervals.length>0}finishBucket(){this.alignments=this.alignments.concat(this.currentBucket.alignments),this.currentBucket.downsampledCount>0&&this.downsampledIntervals.push(new wh(this.currentBucket.start,this.currentBucket.end,this.currentBucket.downsampledCount)),this.paired=this.paired||this.currentBucket.paired}setViewAsPairs(t){let e;e=t?function(t){const e={},n=[];for(let r of t)for(let t of r.alignments)if(fh(t)){let r=e[t.readName];r?(r.setSecondAlignment(t),e[t.readName]=void 0):(r=new lh(t),e[t.readName]=r,n.push(r))}else n.push(t);return n}(this.packedAlignmentRows):dh(this.packedAlignmentRows),this.packedAlignmentRows=ph(e,this.start,this.end)}setShowSoftClips(t){const e=this.allAlignments();this.packedAlignmentRows=ph(e,this.start,this.end,t)}allAlignments(){const t=[];for(let e of this.packedAlignmentRows)for(let n of e.alignments)t.push(n);return t}getMax(t,e){return this.coverageMap.getMax(t,e)}}class mh{constructor(t,e,n){this.start=t,this.end=e,this.alignments=[],this.downsampledCount=0,this.samplingDepth=n.samplingDepth,this.pairsSupported=n.pairsSupported,this.downsampledReads=n.downsampledReads,this.pairsCache=n.pairsCache}addAlignment(t){var e,n,r;if(this.pairsSupported&&fh(t)&&(r=this.pairsCache[t.readName]))return r.setSecondAlignment(t),void(this.pairsCache[t.readName]=void 0);this.alignments.length<this.samplingDepth?this.pairsSupported&&fh(t)?(r=new lh(t),this.paired=!0,this.pairsCache[t.readName]=r,this.alignments.push(r)):this.alignments.push(t):((e=Math.floor(Math.random()*(this.samplingDepth+this.downsampledCount-1)))<this.samplingDepth?(n=this.alignments[e],this.pairsSupported&&fh(t)?(void 0!==this.pairsCache[n.readName]&&(this.pairsCache[n.readName]=void 0),r=new lh(t),this.paired=!0,this.pairsCache[t.readName]=r,this.alignments[e]=r):this.alignments[e]=t,this.downsampledReads.add(n.readName)):this.downsampledReads.add(t.readName),this.downsampledCount++)}}class vh{constructor(t,e,n,r){this.chr=t,this.bpStart=e,this.length=n-e,this.coverage=new Array(this.length),this.maximum=0,this.threshold=r,this.qualityWeight=!0}getMax(t,e){let n=0;const r=this.coverage.length;for(let i=0;i<r;i++){const r=this.bpStart+i;if(r>e)break;const o=this.coverage[i];r>=t&&o&&(n=Math.max(n,o.total))}return n}incCounts(t){var e=this;if(void 0===t.blocks?n(t):t.blocks.forEach((function(t){n(t)})),t.gaps)for(let n of t.gaps)if("D"===n.type){const t=n.start-e.bpStart;for(let r=t;r<t+n.len;r++)r<0||(this.coverage[r]||(this.coverage[r]=new bh(e.threshold)),this.coverage[r].del++)}if(t.insertions)for(let n of t.insertions){const t=n.start-this.bpStart;t<0||(this.coverage[t]||(this.coverage[t]=new bh(e.threshold)),this.coverage[t].ins++)}function n(n){if("S"===n.type)return;const r=t.seq,i=t.qual,o=n.seqOffset;for(let s=n.start-e.bpStart,a=0;a<n.len;s++,a++){e.coverage[s]||(e.coverage[s]=new bh(e.threshold));const n=null==r?"N":r.charAt(o+a),l=t.strand?"pos"+n:"neg"+n,c=i&&o+a<i.length?i[o+a]:30;e.coverage[s][l]+=1,e.coverage[s]["qual"+n]+=c,e.coverage[s].total+=1,e.coverage[s].qual+=c,e.maximum=Math.max(e.coverage[s].total,e.maximum)}}}}class bh{constructor(t){this.qualityWeight=!0,this.posA=0,this.negA=0,this.posT=0,this.negT=0,this.posC=0,this.negC=0,this.posG=0,this.negG=0,this.posN=0,this.negN=0,this.pos=0,this.neg=0,this.qualA=0,this.qualT=0,this.qualC=0,this.qualG=0,this.qualN=0,this.qual=0,this.total=0,this.del=0,this.ins=0,this.threshold=t}isMismatch(t){const e=this.threshold*(this.qualityWeight&&this.qual?this.qual:this.total);let n=0;for(let e of["A","T","C","G"])e!==t&&(n+=this.qualityWeight&&this.qual?this["qual"+e]:this["pos"+e]+this["neg"+e]);return n>=e}}class wh{constructor(t,e,n){this.start=t,this.end=e,this.counts=n}popupData(t){return[{name:"start",value:this.start+1},{name:"end",value:this.end},{name:"# downsampled:",value:this.counts}]}}class yh{constructor(t,e){this.totalCount=0,this.frCount=0,this.rfCount=0,this.ffCount=0,this.sumF=0,this.sumF2=0}push(t){if(t.isProperPair()){var e=Math.abs(t.fragmentLength);this.sumF+=e,this.sumF2+=e*e;var n=t.pairOrientation;if("string"==typeof n&&4===n.length)switch(""+n.charAt(0)+n.charAt(2)){case"FF":case"RR":this.ffCount++;break;case"FR":this.frCount++;break;case"RF":this.rfCount++}this.totalCount++}}compute(){if(this.totalCount>100){this.ffCount/this.totalCount>.9?this.orienation="ff":this.frCount/this.totalCount>.9?this.orienation="fr":this.rfCount/this.totalCount>.9&&(this.orienation="rf");var t=this.sumF/this.totalCount,e=Math.sqrt((this.totalCount*this.sumF2-this.sumF*this.sumF)/(this.totalCount*this.totalCount));this.lowerFragmentLength=t-3*e,this.upperFragmentLength=t+3*e}}}const xh={c:1,C:1,s:2,S:2,i:4,I:4,f:4};class _h{constructor(){this.hidden=!1}isMapped(){return 0==(4&this.flags)}isPaired(){return 0!=(1&this.flags)}isProperPair(){return 0!=(2&this.flags)}isFirstOfPair(){return 0!=(64&this.flags)}isSecondOfPair(){return 0!=(128&this.flags)}isSecondary(){return 0!=(256&this.flags)}isSupplementary(){return 0!=(2048&this.flags)}isFailsVendorQualityCheck(){return 0!=(512&this.flags)}isDuplicate(){return 0!=(1024&this.flags)}isMateMapped(){return 0==(8&this.flags)}isNegativeStrand(){return 0!=(16&this.flags)}isMateNegativeStrand(){return 0!=(32&this.flags)}tags(){return this.tagDict||(this.tagBA?(this.tagDict=function(t){let e=0;const n=t.length,r={};for(;e<n;){const n=String.fromCharCode(t[e])+String.fromCharCode(t[e+1]);e+=2;const o=String.fromCharCode(t[e++]);let s;if("A"===o)s=String.fromCharCode(t[e]),e++;else if("i"===o||"I"===o)s=Sh(t,e),e+=4;else if("c"===o)s=Ah(t,e),e++;else if("C"===o)s=Th(t,e),e++;else if("s"===o||"S"===o)s=Ch(t,e),e+=2;else if("f"===o)s=Eh(t,e),e+=4;else if("Z"===o)for(s="";;){var i=t[e++];if(0===i)break;s+=String.fromCharCode(i)}else{if("B"!==o){s="Error unknown type: "+o,r[n]=s;break}{const i=String.fromCharCode(t[e++]);let o=xh[i];if(void 0===o){r[n]=`Error: unknown element type '${i}'`;break}e+=4+Sh(t,e)*o,s="[not shown]"}}r[n]=s}return r}(this.tagBA),this.tagBA=void 0):this.tagDict={}),this.tagDict}containsLocation(t,e){const n=e?this.scStart:this.start,r=e?this.scLengthOnRef:this.lengthOnRef;return t>=n&&t<=n+r}popupData(t){const e=[];if(t=Math.floor(t),this.insertions){const r=this.seq;for(let i of this.insertions){var n=i.start;if(t===n||t===n-1)return e.push({name:"Insertion",value:r.substr(i.seqOffset,i.len)}),e.push({name:"Location",value:n}),e}}e.push({name:"Read Name",value:this.readName}),e.push("<hr/>"),e.push({name:"Alignment Start",value:ke(1+this.start),borderTop:!0}),e.push({name:"Read Strand",value:!0===this.strand?"(+)":"(-)",borderTop:!0}),e.push({name:"Cigar",value:this.cigar}),e.push({name:"Mapped",value:o(this.isMapped())}),e.push({name:"Mapping Quality",value:this.mq}),e.push({name:"Secondary",value:o(this.isSecondary())}),e.push({name:"Supplementary",value:o(this.isSupplementary())}),e.push({name:"Duplicate",value:o(this.isDuplicate())}),e.push({name:"Failed QC",value:o(this.isFailsVendorQualityCheck())}),this.isPaired()&&(e.push("<hr/>"),e.push({name:"First in Pair",value:!this.isSecondOfPair(),borderTop:!0}),e.push({name:"Mate is Mapped",value:o(this.isMateMapped())}),this.pairOrientation&&e.push({name:"Pair Orientation",value:this.pairOrientation}),this.isMateMapped()&&(e.push({name:"Mate Chromosome",value:this.mate.chr}),e.push({name:"Mate Start",value:this.mate.position+1}),e.push({name:"Mate Strand",value:!0===this.mate.strand?"(+)":"(-)"}),e.push({name:"Insert Size",value:this.fragmentLength}))),e.push("<hr/>");const r=this.tags();let i=!0;for(let t in r)r.hasOwnProperty(t)&&(i?(e.push({name:t,value:r[t],borderTop:!0}),i=!1):e.push({name:t,value:r[t]}));return e.push("<hr/>"),e.push({name:"Genomic Location: ",value:ke(1+t)}),e.push({name:"Read Base:",value:this.readBaseAt(t)}),e.push({name:"Base Quality:",value:this.readBaseQualityAt(t)}),e;function o(t){return t?"Yes":"No"}}readBaseAt(t){const e=kh(this.blocks,t);if(e){if("*"===this.seq)return"*";{const n=e.seqIndexAt(t);return this.seq[n]}}}readBaseQualityAt(t){const e=kh(this.blocks,t);if(e){if("*"===this.qual)return 30;{const n=e.seqIndexAt(t);return n>=0&&this.qual&&n<this.qual.length?this.qual[n]:30}}}gapSizeAt(t){if(this.gaps)for(let e of this.gaps)if(t>=e.start&&t<e.start+e.len)return e.len;return 0}}function kh(t,e){for(let n=0;n<t.length;n++){const r=t[n];if(e>=r.start&&e<r.start+r.len)return r}}function Sh(t,e){return t[e+3]<<24|t[e+2]<<16|t[e+1]<<8|t[e]}function Ch(t,e){return t[e+1]<<8|t[e]}function Eh(t,e){return new DataView(t.buffer).getFloat32(e)}function Ah(t,e){return new DataView(t.buffer).getInt8(e)}function Th(t,e){return new DataView(t.buffer).getUint8(e)}class Lh{constructor(t){t&&Object.assign(this,t)}seqIndexAt(t){return Math.floor(t)-this.start+this.seqOffset}}class Mh{constructor(t){t||(t={}),this.vendorFailed=void 0===t.vendorFailed||t.vendorFailed,this.duplicates=void 0===t.duplicates||t.duplicates,this.secondary=t.secondary||!1,this.supplementary=t.supplementary||!1,this.mqThreshold=void 0===t.mqThreshold?0:t.mqThreshold,t.readgroups&&(this.readgroups=new Set(t.readgroups))}pass(t){if(this.vendorFailed&&t.isFailsVendorQualityCheck())return!1;if(this.duplicates&&t.isDuplicate())return!1;if(this.secondary&&t.isSecondary())return!1;if(this.supplementary&&t.isSupplementary())return!1;if(t.mq<this.mqThreshold)return!1;if(this.readgroups){var e=t.tags().RG;return this.readgroups.has(e)}return!0}}const Rh=["=","A","C","x","G","x","x","x","T","x","x","x","x","x","x","N"],Ih=["M","I","D","N","S","H","P","=","X","?","?","?","?","?","?","?"],Nh=Oh(new Uint8Array([66,65,77,1]),0),Ph={readHeader:function(t,e,n){return po.loadArrayBuffer(t,e).then((function(t){var e;return e=Wi(t),Ph.decodeBamHeader(e,n)}))},decodeBamHeader:function(t,e){var n,r,i,o,s;if((n=Oh(t,0))!==Nh)throw new Error("BAM header errror: bad magic number. This could be caused by either a corrupt or missing file.");r=Oh(t,4);for(var a=0;a<r;++a)String.fromCharCode(t[a+8]);var l=Oh(t,r+8),c=r+12;for(i={},o=[],s={},a=0;a<l;++a){for(var h=Oh(t,c),u="",f=0;f<h-1;++f)u+=String.fromCharCode(t[c+4+f]);Oh(t,c+h+4),i[u]=a,o[a]=u,e&&(s[e.getChromosomeName(u)]=u),c=c+8+h}return{magicNumber:n,size:c,chrNames:o,chrToIndex:i,chrAliasTable:s}},bam_tag2cigar:function(t,e,n,r,i,o){function s(t){return"C"===t||"c"===t||"A"===t?1:"S"===t||"s"===t?2:"I"===t||"i"===t||"f"===t?4:0}if(1!==o.length||i.start<0)return!1;for(var a=n+(r+1>>1)+r;a+4<e;){if("CG"===String.fromCharCode(t[a])+String.fromCharCode(t[a+1]))break;var l=String.fromCharCode(t[a+2]);if("B"===l)a+=8+s(l=String.fromCharCode(t[a+3]))*Oh(t,a+4);else if("Z"===l||"H"===l)for(a+=3;0!==t[a++];);else a+=3+s(l)}if(a>=e)return!1;if("B"!==String.fromCharCode(t[a+2])||"I"!==String.fromCharCode(t[a+3]))return!1;var c=Oh(t,a+4),h=a+8;if(h+4*c>e)return!1;var u="",f=0;o.length=0,a=h;for(var d=0;d<c;++d,a+=4){var p=Oh(t,a),g=p>>4,m=Ih[15&p];"M"!==m&&"EQ"!==m&&"X"!==m&&"D"!==m&&"N"!==m&&"="!==m||(f+=g),u=u+g+m,o.push({len:g,ltr:m})}return i.cigar=u,i.lengthOnRef=f,!0},decodeBamRecords:function(t,e,n,r,i,o,s,a){for(;e<t.length;){const f=e+Oh(t,e)+4,d=new _h,p=Oh(t,e+4),g=Oh(t,e+8);if(f>t.length)return;if(p<0){e=f;continue}if(void 0!==i&&(p>i||g>s))return!0;if(void 0!==i&&p<i){e=f;continue}const m=Oh(t,e+12),v=(65280&m)>>8,b=255&m,w=Oh(t,e+16),y=(4294901760&w)>>16,x=65535&w,_=Oh(t,e+20),k=Oh(t,e+24),S=Oh(t,e+28),C=Oh(t,e+32);let E=[];for(let n=0;n<b-1;++n)E.push(String.fromCharCode(t[e+36+n]));E=E.join("");let A=0,T="",L=e+36+b;const M=[];let R;for(let e=0;e<x;++e){var l=Oh(t,L),c=l>>4,h=Ih[15&l];"M"!==h&&"EQ"!==h&&"X"!==h&&"D"!==h&&"N"!==h&&"="!==h||(A+=c),T=T+c+h,L+=4,R={len:c,ltr:h},M.push(R)}if(d.chr=r[p],d.start=g,d.flags=y,d.strand=!(16&y),d.readName=E,d.cigar=T,d.lengthOnRef=A,d.fragmentLength=C,d.mq=v,Ph.bam_tag2cigar(t,f,L,_,d,M),d.end=d.start+d.lengthOnRef,d.end<o){e=f;continue}let I=[];const N=_+1>>1;for(let e=0;e<N;++e){var u=t[L+e];I.push(Rh[(240&u)>>4]),I.push(Rh[15&u])}I=I.slice(0,_).join(""),L+=N;const P=[];for(let e=0;e<_;++e)P.push(t[L+e]);L+=_,k>=0&&(d.mate={chr:r[k],position:S,strand:!(32&y)}),d.seq=I,d.qual=P,d.tagBA=new Uint8Array(t.buffer.slice(L,f)),this.setPairOrientation(d),(void 0===a||a.pass(d))&&(Fh(d,M),n.push(d)),e=f}},decodeSamRecords:function(t,e,n,r,i,o){var s,a,l,c,h,u,f,d,p,g;for(c=(s=Se(t)).length,!1,a=0;a<c;a++)if(h=s[a].split("\t"),(p=new _h).chr=h[2],p.start=Number.parseInt(h[3])-1,p.flags=Number.parseInt(h[1]),p.readName=h[0],p.strand=!(16&p.flags),p.mq=Number.parseInt(h[4]),p.cigar=h[5],p.fragmentLength=Number.parseInt(h[8]),p.seq=h[9],"*"!==p.chr&&p.isMapped()&&p.chr===n){if(p.start>i)break;if(d=0,(g=Dh(p.cigar)).forEach((function(t){var e=t.len,n=t.ltr;"M"!==n&&"EQ"!==n&&"X"!==n&&"D"!==n&&"N"!==n&&"="!==n||(d+=e)})),p.lengthOnRef=d,!(p.start+d<r)){for(u=h[10],p.qual=[],l=0;l<u.length;l++)p.qual[l]=u.charCodeAt(l)-33;p.tagDict=h.length<11?{}:Bh(h.slice(11)),p.isMateMapped()&&(f=h[6],p.mate={chr:"="===f?p.chr:f,position:Number.parseInt(h[7]),strand:!(32&p.flags)}),this.setPairOrientation(p),(void 0===o||o.pass(p))&&(Fh(p,g),e.push(p))}}},setReaderDefaults:function(t,e){t.filter=new Mh(e.filter),e.readgroup&&(t.filter.readgroups=new Set([e.readgroup])),t.alleleFreqThreshold=void 0===e.alleleFreqThreshold?.2:e.alleleFreqThreshold,t.samplingWindowSize=void 0===e.samplingWindowSize?100:e.samplingWindowSize,t.samplingDepth=void 0===e.samplingDepth?500:e.samplingDepth,t.samplingDepth>1e4&&(console.log("Warning: attempt to set sampling depth > maximum value of 10000"),t.samplingDepth=1e4),e.viewAsPairs?t.pairsSupported=!0:t.pairsSupported=void 0===e.pairsSupported||e.pairsSupported},setPairOrientation:function(t){if(t.isMapped()&&t.mate&&t.isMateMapped()&&t.mate.chr===t.chr){var e=t.strand?"F":"R",n=t.mate,r=n.strand?"F":"R",i=" ",o=" ";t.isFirstOfPair()?(i="1",o="2"):t.isSecondOfPair()&&(i="2",o="1");var s=[],a=t.fragmentLength,l=t.end-t.start;if(0===a)a=(t.start<n.position?n.position+l:n.position-l)-t.start;a>0?(s[0]=e,s[1]=i,s[2]=r,s[3]=o):(s[2]=e,s[3]=i,s[0]=r,s[1]=o),t.pairOrientation=s.join("")}}};function Fh(t,e){const n=[];let r,i,o=0,s=t.start;t.scStart=t.start,t.scLengthOnRef=t.lengthOnRef;for(let a of e){let e;switch(a.ltr){case"H":case"P":break;case"S":e=s,t.scLengthOnRef+=a.len,0===n.length&&(t.scStart-=a.len,e-=a.len),n.push(new Lh({start:e,seqOffset:o,len:a.len,type:"S"})),o+=a.len;break;case"N":case"D":void 0===i&&(i=[]),i.push({start:s,len:a.len,type:a.ltr}),s+=a.len;break;case"I":void 0===r&&(r=[]),r.push(new Lh({start:s,len:a.len,seqOffset:o,type:"I"})),o+=a.len;break;case"M":case"EQ":case"=":case"X":n.push(new Lh({start:s,seqOffset:o,len:a.len,type:"M"})),o+=a.len,s+=a.len;break;default:console.log("Error processing cigar element: "+a.len+a.ltr)}}t.blocks=n,t.insertions=r,t.gaps=i}function Oh(t,e){return t[e+3]<<24|t[e+2]<<16|t[e+1]<<8|t[e]}function Dh(t){var e,n,r,i,o,s,a,l,c;for(e=[],n=[],o=null,i=t.length,r=0;r<i;r++)s=t.charAt(r),c=void 0,(c=s.charCodeAt(0))>=48&&c<=57?n.push(s):(a=s,l=Number.parseInt(n.join("")),n=[],null!==o&&o.ltr===a?o.len+=l:(o={len:l,ltr:a},e.push(o)));return e}function Bh(t){var e={};return t.forEach((function(t){var n=t.split(":");e[n[0]]=n[2]})),e}class zh{constructor(t,e){this.config=t,this.genome=e,this.bamPath=t.url,this.isDataUri=fa(t.url),Ph.setReaderDefaults(this,t)}async readAlignments(t,e,n){if(this.alignmentCache){const r=this.header,i=r.chrAliasTable.hasOwnProperty(t)?r.chrAliasTable[t]:t,o=this.alignmentCache.queryFeatures(i,e,n),s=new gh(t,e,n,this.samplingWindowSize,this.samplingDepth,this.pairsSupported,this.alleleFreqThreshold);for(let t of o)s.push(t);return s.finish(),s}if(this.isDataUri){const r=Wi(function(t){const e=t.split(","),n=e[0].split(":")[1];let r=e[1];r=n.indexOf("base64")>=0?atob(r):decodeURI(r);const i=new Uint8Array(r.length);for(var o=0;o<r.length;o++)i[o]=r.charCodeAt(o);return i}(this.bamPath).buffer);return this.parseAlignments(r),this.fetchAlignments(t,e,n)}{const r=Wi(await po.loadArrayBuffer(this.bamPath,aa(this.config)));return this.parseAlignments(r),this.fetchAlignments(t,e,n)}}parseAlignments(t){const e=[];this.header=Ph.decodeBamHeader(t),Ph.decodeBamRecords(t,this.header.size,e,this.header.chrNames),this.alignmentCache=new Lo(e,this.genome)}fetchAlignments(t,e,n){const r=this.header.chrAliasTable.hasOwnProperty(t)?this.header.chrAliasTable[t]:t,i=this.alignmentCache.queryFeatures(r,e,n),o=new gh(t,e,n,this.samplingWindowSize,this.samplingDepth,this.pairsSupported);for(let t of i)o.push(t);return o.finish(),o}}class Hh{constructor(t,e){this.config=t,this.genome=e,this.bamPath=t.url,this.baiPath=t.indexURL,Ph.setReaderDefaults(this,t)}async readAlignments(t,e,n){const r=(await this.getChrIndex())[this.chrAliasTable.hasOwnProperty(t)?this.chrAliasTable[t]:t],i=new gh(t,e,n,this.config.samplingWindowSize,this.config.samplingDepth,this.config.pairsSupported,this.config.alleleFreqThreshold);if(void 0===r)return i;{const t=(await this.getIndex()).blocksForRange(r,e,n);if(!t||0===t.length)return i;for(let s of t){let t;if(0===s.maxv.offset)t=0;else{const e=aa(this.config,{range:{start:s.maxv.block,size:26}});t=$i(await po.loadArrayBuffer(this.bamPath,e))}const a=s.minv.block,l={start:a,size:s.maxv.block+t-a+1};var o=Wi(await po.loadArrayBuffer(this.bamPath,aa(this.config,{range:l})));if(Ph.decodeBamRecords(o,s.minv.offset,i,this.indexToChr,r,e,n,this.filter))break}return i.finish(),i}}async getHeader(){if(!this.header){const t=this.genome,e=await this.getIndex();let n;if(e.firstAlignmentBlock){const t=aa(this.config,{range:{start:e.firstAlignmentBlock,size:26}}),r=$i(await po.loadArrayBuffer(this.bamPath,t));n=e.firstAlignmentBlock+r}else n=64e3;const r=aa(this.config,{range:{start:0,size:n}});this.header=await Ph.readHeader(this.bamPath,r,t)}return this.header}async getIndex(){const t=this.genome;return this.index||(this.index=await Gl(this.baiPath,this.config,t)),this.index}async getChrIndex(){if(this.chrToIndex)return this.chrToIndex;{const t=await this.getHeader();return this.chrToIndex=t.chrToIndex,this.indexToChr=t.chrNames,this.chrAliasTable=t.chrAliasTable,this.chrToIndex}}}class Vh{constructor(t,e){this.config=t,this.genome=e;const n={};t.sources.sequences.forEach((function(r){const i=e?e.getChromosomeName(r):r;n[i]=function(t,e,n){const r={url:t.sources.url.replace("$CHR",n)};t.sources.indexURL&&(r.indexURL=t.sources.indexURL.replace("$CHR",n));const i=Object.assign(t,r);return new Hh(i,e)}(t,e,r)})),this.bamReaders=n,Ph.setReaderDefaults(this,t)}async readAlignments(t,e,n){if(this.bamReaders.hasOwnProperty(t)){let r=this.bamReaders[t];return await r.readAlignments(t,e,n)}return new gh(t,e,n)}}const jh=function(t,e){this.config=t,this.genome=e,Ph.setReaderDefaults(this,t)};function Uh(){const t=this,e=this.genome;if(this.header)return Promise.resolve(this.header);{const n=this.config.url+"?file="+this.config.alignmentFile+"&options=-b,-H",r=aa(this.config);return Ph.readHeader(n,r,e).then((function(e){return t.header=e,e}))}}jh.prototype.readAlignments=function(t,e,n){var r=this;return Uh.call(r).then((function(i){var o,s;return o=i.chrAliasTable.hasOwnProperty(t)?i.chrAliasTable[t]:t,s=r.config.url+"?reference="+r.config.referenceFile+"&file="+r.config.alignmentFile+"&region="+o+":"+e+"-"+n,po.loadString(s,aa(r.config)).then((function(s){var a;return i.chrToIndex[o],a=new gh(t,e,n,r.samplingWindowSize,r.samplingDepth,r.pairsSupported,r.alleleFreqThreshold),Ph.decodeSamRecords(s,a,o,e,n,r.filter),a}))}))};class qh extends hc{constructor(t,e){super(t,e),Ph.setReaderDefaults(this,t)}async readAlignments(t,e,n){if(!this.header){const t=Wi((await this.readHeaderData()).buffer);this.header=Ph.decodeBamHeader(t,this.genome),this.chrAliasTable=new Map;for(let t of Object.keys(this.header.chrAliasTable))this.chrAliasTable.set(t,this.header.chrAliasTable[t])}let r=this.chrAliasTable.has(t)?this.chrAliasTable.get(t):t;const i=Wi((await this.readData(r,e,n)).buffer),o=this.header.chrToIndex[t],s=new gh(t,e,n,this.samplingWindowSize,this.samplingDepth,this.pairsSupported,this.alleleFreqThreshold);return Ph.decodeBamRecords(i,this.header.size,s,this.header.chrNames,o,e,n),s.finish(),s}}const Wh=eval,$h=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=163)}([function(t,e,n){var r=n(13),i=n(81).f,o=n(107),s=n(3),a=n(15),l=n(20),c=n(24),h=function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e};t.exports=function(t,e){var n,u,f,d,p,g,m,v,b=t.target,w=t.global,y=t.stat,x=t.proto,_=w?r:y?r[b]:(r[b]||{}).prototype,k=w?s:s[b]||(s[b]={}),S=k.prototype;for(f in e)n=!o(w?f:b+(y?".":"#")+f,t.forced)&&_&&c(_,f),p=k[f],n&&(g=t.noTargetGet?(v=i(_,f))&&v.value:_[f]),d=n&&g?g:e[f],n&&typeof p==typeof d||(m=t.bind&&n?a(d,r):t.wrap&&n?h(d):x&&"function"==typeof d?a(Function.call,d):d,(t.sham||d&&d.sham||p&&p.sham)&&l(m,"sham",!0),k[f]=m,x&&(c(s,u=b+"Prototype")||l(s,u,{}),s[u][f]=d,t.real&&S&&!S[f]&&l(S,f,d)))}},function(t,e){t.exports=function(t){return t&&t.__esModule?t:{default:t}}},function(t,e,n){var r=n(14);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,e,n){var r=n(13),i=n(61),o=n(64),s=n(110),a=r.Symbol,l=i("wks");t.exports=function(t){return l[t]||(l[t]=s&&a[t]||(s?a:o)("Symbol."+t))}},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,n){var r=n(2),i=n(119),o=n(29),s=n(15),a=n(90),l=n(120),c=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,e,n,h,u){var f,d,p,g,m,v,b=s(e,n,h?2:1);if(u)f=t;else{if("function"!=typeof(d=a(t)))throw TypeError("Target is not iterable");if(i(d)){for(p=0,g=o(t.length);g>p;p++)if((m=h?b(r(v=t[p])[0],v[1]):b(t[p]))&&m instanceof c)return m;return new c(!1)}f=d.call(t)}for(;!(v=f.next()).done;)if((m=l(f,b,v.value,h))&&m instanceof c)return m;return new c(!1)}).stop=function(t){return new c(!0,t)}},function(t,e,n){var r=n(1),i=r(n(7)),o=r(n(32)),s=r(n(27)),a=r(n(33)),l=r(n(265)),c=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}((0,l.default)(Error)),h=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}((0,l.default)(Error)),u=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}(c),f=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}(u),d=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}(c),p=function(t){function e(){return(0,i.default)(this,e),(0,o.default)(this,(0,s.default)(e).apply(this,arguments))}return(0,a.default)(e,t),e}(c);t.exports={CramBufferOverrunError:f,CramMalformedError:u,CramUnimplementedError:h,CramSizeLimitError:d,CramArgumentError:p}},function(t,e,n){var r=n(196);function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),r(t,i.key,i)}}t.exports=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}},function(t,e,n){var r=n(3),i=n(24),o=n(95),s=n(21).f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});i(e,t)||s(e,t,{value:o.f(t)})}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){(function(e){var n="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==n&&globalThis)||r(typeof window==n&&window)||r(typeof self==n&&self)||r(typeof e==n&&e)||Function("return this")()}).call(this,n(23))},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(5);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){t.exports=n(167)},function(t,e,n){var r=n(12);t.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,e,n){var r=n(3);t.exports=function(t){return r[t+"Prototype"]}},function(t,e,n){(function(t){
40
40
  /*!
41
41
  * The buffer module from node.js, for the browser.
42
42
  *
43
43
  * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
44
44
  * @license MIT
45
45
  */
46
- var r=n(165),i=n(166),o=n(105);function s(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(s()<e)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=c.prototype:(null===t&&(t=new c(e)),t.length=e),t}function c(t,e,n){if(!(c.TYPED_ARRAY_SUPPORT||this instanceof c))return new c(t,e,n);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return u(this,t)}return l(this,t,e,n)}function l(t,e,n,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return e=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r),c.TYPED_ARRAY_SUPPORT?(t=e).__proto__=c.prototype:t=f(t,e),t}(t,e,n,r):"string"==typeof e?function(t,e,n){if("string"==typeof n&&""!==n||(n="utf8"),!c.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(e,n),i=(t=a(t,r)).write(e,n);return i!==r&&(t=t.slice(0,i)),t}(t,e,n):function(t,e){if(c.isBuffer(e)){var n=0|d(e.length);return 0===(t=a(t,n)).length||e.copy(t,0,0,n),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?a(t,0):f(t,e);if("Buffer"===e.type&&o(e.data))return f(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function u(t,e){if(h(e),t=a(t,e<0?0:0|d(e)),!c.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function f(t,e){var n=e.length<0?0:0|d(e.length);t=a(t,n);for(var r=0;r<n;r+=1)t[r]=255&e[r];return t}function d(t){if(t>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function p(t,e){if(c.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return H(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(t).length;default:if(r)return H(t).length;e=(""+e).toLowerCase(),r=!0}}function g(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,n);case"utf8":case"utf-8":return E(this,e,n);case"ascii":return T(this,e,n);case"latin1":case"binary":return L(this,e,n);case"base64":return C(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function m(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function v(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=c.from(e,r)),c.isBuffer(e))return 0===e.length?-1:b(t,e,n,r,i);if("number"==typeof e)return e&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):b(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(t,e,n,r,i){var o,s=1,a=t.length,c=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;s=2,a/=2,c/=2,n/=2}function l(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=n;o<a;o++)if(l(t,o)===l(e,-1===h?0:o-h)){if(-1===h&&(h=o),o-h+1===c)return h*s}else-1!==h&&(o-=o-h),h=-1}else for(n+c>a&&(n=a-c),o=n;o>=0;o--){for(var u=!0,f=0;f<c;f++)if(l(t,o+f)!==l(e,f)){u=!1;break}if(u)return o}return-1}function w(t,e,n,r){n=Number(n)||0;var i=t.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(e.substr(2*s,2),16);if(isNaN(a))return s;t[n+s]=a}return s}function y(t,e,n,r){return U(H(e,t.length-n),t,n,r)}function x(t,e,n,r){return U(function(t){for(var e=[],n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}(e),t,n,r)}function _(t,e,n,r){return x(t,e,n,r)}function k(t,e,n,r){return U(V(e),t,n,r)}function S(t,e,n,r){return U(function(t,e){for(var n,r,i,o=[],s=0;s<t.length&&!((e-=2)<0);++s)r=(n=t.charCodeAt(s))>>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function C(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function E(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i<n;){var o,s,a,c,l=t[i],h=null,u=l>239?4:l>223?3:l>191?2:1;if(i+u<=n)switch(u){case 1:l<128&&(h=l);break;case 2:128==(192&(o=t[i+1]))&&(c=(31&l)<<6|63&o)>127&&(h=c);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(c=(15&l)<<12|(63&o)<<6|63&s)>2047&&(c<55296||c>57343)&&(h=c);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(c=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&c<1114112&&(h=c)}null===h?(h=65533,u=1):h>65535&&(h-=65536,r.push(h>>>10&1023|55296),h=56320|1023&h),r.push(h),i+=u}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);for(var n="",r=0;r<e;)n+=String.fromCharCode.apply(String,t.slice(r,r+=A));return n}(r)}e.Buffer=c,e.SlowBuffer=function(t){return+t!=t&&(t=0),c.alloc(+t)},e.INSPECT_MAX_BYTES=50,c.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=s(),c.poolSize=8192,c._augment=function(t){return t.__proto__=c.prototype,t},c.from=function(t,e,n){return l(null,t,e,n)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0})),c.alloc=function(t,e,n){return function(t,e,n,r){return h(e),e<=0?a(t,e):void 0!==n?"string"==typeof r?a(t,e).fill(n,r):a(t,e).fill(n):a(t,e)}(null,t,e,n)},c.allocUnsafe=function(t){return u(null,t)},c.allocUnsafeSlow=function(t){return u(null,t)},c.isBuffer=function(t){return!(null==t||!t._isBuffer)},c.compare=function(t,e){if(!c.isBuffer(t)||!c.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i<o;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},c.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(t,e){if(!o(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return c.alloc(0);var n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var r=c.allocUnsafe(e),i=0;for(n=0;n<t.length;++n){var s=t[n];if(!c.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},c.byteLength=p,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)m(this,e,e+1);return this},c.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)m(this,e,e+3),m(this,e+1,e+2);return this},c.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)m(this,e,e+7),m(this,e+1,e+6),m(this,e+2,e+5),m(this,e+3,e+4);return this},c.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?E(this,0,t):g.apply(this,arguments)},c.prototype.equals=function(t){if(!c.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===c.compare(this,t)},c.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),"<Buffer "+t+">"},c.prototype.compare=function(t,e,n,r,i){if(!c.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(e>>>=0),a=Math.min(o,s),l=this.slice(r,i),h=t.slice(e,n),u=0;u<a;++u)if(l[u]!==h[u]){o=l[u],s=h[u];break}return o<s?-1:s<o?1:0},c.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},c.prototype.indexOf=function(t,e,n){return v(this,t,e,n,!0)},c.prototype.lastIndexOf=function(t,e,n){return v(this,t,e,n,!1)},c.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return w(this,t,e,n);case"utf8":case"utf-8":return y(this,t,e,n);case"ascii":return x(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return k(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function T(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(127&t[i]);return r}function L(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(t[i]);return r}function R(t,e,n){var r=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>r)&&(n=r);for(var i="",o=e;o<n;++o)i+=j(t[o]);return i}function M(t,e,n){for(var r=t.slice(e,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function I(t,e,n){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,n,r,i,o){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(n+r>t.length)throw new RangeError("Index out of range")}function F(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-n,2);i<o;++i)t[n+i]=(e&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function P(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-n,4);i<o;++i)t[n+i]=e>>>8*(r?i:3-i)&255}function O(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function D(t,e,n,r,o){return o||O(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function B(t,e,n,r,o){return o||O(t,0,n,8),i.write(t,e,n,r,52,8),n+8}c.prototype.slice=function(t,e){var n,r=this.length;if((t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t),c.TYPED_ARRAY_SUPPORT)(n=this.subarray(t,e)).__proto__=c.prototype;else{var i=e-t;n=new c(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+t]}return n},c.prototype.readUIntLE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r},c.prototype.readUIntBE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},c.prototype.readUInt8=function(t,e){return e||I(t,1,this.length),this[t]},c.prototype.readUInt16LE=function(t,e){return e||I(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUInt16BE=function(t,e){return e||I(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUInt32LE=function(t,e){return e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUInt32BE=function(t,e){return e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*e)),r},c.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},c.prototype.readInt8=function(t,e){return e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){e||I(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(t,e){e||I(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(t,e){return e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readFloatLE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!1,52,8)},c.prototype.writeUIntLE=function(t,e,n,r){t=+t,e|=0,n|=0,r||N(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o<n&&(i*=256);)this[e+o]=t/i&255;return e+n},c.prototype.writeUIntBE=function(t,e,n,r){t=+t,e|=0,n|=0,r||N(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},c.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,255,0),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},c.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):F(this,t,e,!0),e+2},c.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):F(this,t,e,!1),e+2},c.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):P(this,t,e,!0),e+4},c.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):P(this,t,e,!1),e+4},c.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);N(this,t,e,n,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o<n&&(s*=256);)t<0&&0===a&&0!==this[e+o-1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+n},c.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);N(this,t,e,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+n},c.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,127,-128),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):F(this,t,e,!0),e+2},c.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):F(this,t,e,!1),e+2},c.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):P(this,t,e,!0),e+4},c.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):P(this,t,e,!1),e+4},c.prototype.writeFloatLE=function(t,e,n){return D(this,t,e,!0,n)},c.prototype.writeFloatBE=function(t,e,n){return D(this,t,e,!1,n)},c.prototype.writeDoubleLE=function(t,e,n){return B(this,t,e,!0,n)},c.prototype.writeDoubleBE=function(t,e,n){return B(this,t,e,!1,n)},c.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-n&&(r=t.length-e+n);var i,o=r-n;if(this===t&&n<e&&e<r)for(i=o-1;i>=0;--i)t[i+e]=this[i+n];else if(o<1e3||!c.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)t[i+e]=this[i+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+o),e);return o},c.prototype.fill=function(t,e,n,r){if("string"==typeof t){if("string"==typeof e?(r=e,e=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!c.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;var o;if(e>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o<n;++o)this[o]=t;else{var s=c.isBuffer(t)?t:H(new c(t,r).toString()),a=s.length;for(o=0;o<n-e;++o)this[o+e]=s[o%a]}return this};var z=/[^+\/0-9A-Za-z-_]/g;function j(t){return t<16?"0"+t.toString(16):t.toString(16)}function H(t,e){var n;e=e||1/0;for(var r=t.length,i=null,o=[],s=0;s<r;++s){if((n=t.charCodeAt(s))>55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function V(t){return r.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(z,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function U(t,e,n,r){for(var i=0;i<r&&!(i+n>=e.length||i>=t.length);++i)e[i+n]=t[i];return i}}).call(this,n(23))},function(t,e,n){var r=n(17),i=n(21),o=n(43);t.exports=r?function(t,e,n){return i.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(17),i=n(106),o=n(2),s=n(62),a=Object.defineProperty;e.f=r?a:function(t,e,n){if(o(t),e=s(e,!0),o(n),i)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(49);t.exports=function(t){return Object(r(t))}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(4),i=n(142);t.exports=r?i:function(t){return Map.prototype.entries.call(t)}},function(t,e,n){var r=n(3),i=n(13),o=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?o(r[t])||o(i[t]):r[t]&&r[t][e]||i[t]&&i[t][e]}},function(t,e,n){var r=n(255),i=n(139);function o(e){return t.exports=o=i?r:function(t){return t.__proto__||r(t)},o(e)}t.exports=o},function(t,e,n){var r=n(60),i=n(49);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(83),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){t.exports=n(184)},function(t,e,n){var r=n(185);function i(t,e,n,i,o,s,a){try{var c=t[s](a),l=c.value}catch(t){return void n(t)}c.done?e(l):r.resolve(l).then(i,o)}t.exports=function(t){return function(){var e=this,n=arguments;return new r((function(r,o){var s=t.apply(e,n);function a(t){i(s,r,o,a,c,"next",t)}function c(t){i(s,r,o,a,c,"throw",t)}a(void 0)}))}}},function(t,e,n){var r=n(225),i=n(254);t.exports=function(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?i(t):e}},function(t,e,n){var r=n(140),i=n(96);t.exports=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=r(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports={}},function(t,e,n){var r=n(21).f,i=n(20),o=n(24),s=n(174),a=n(6)("toStringTag"),c=s!=={}.toString;t.exports=function(t,e,n,l){if(t){var h=n?t:t.prototype;o(h,a)||r(h,a,{configurable:!0,value:e}),l&&c&&i(h,"toString",s)}}},function(t,e,n){t.exports=n(181)},function(t,e){var n,r,i=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var c,l=[],h=!1,u=-1;function f(){h&&c&&(h=!1,c.length?l=c.concat(l):u=-1,l.length&&d())}function d(){if(!h){var t=a(f);h=!0;for(var e=l.length;e;){for(c=l,l=[];++u<e;)c&&c[u].run();u=-1,e=l.length}c=null,h=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];l.push(new p(t,e)),1!==l.length||h||a(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(t,e,n){var r=n(70),i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=u;var o=n(57);o.inherits=n(47);var s=n(127),a=n(93);o.inherits(u,s);for(var c=i(a.prototype),l=0;l<c.length;l++){var h=c[l];u.prototype[h]||(u.prototype[h]=a.prototype[h])}function u(t){if(!(this instanceof u))return new u(t);s.call(this,t),a.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",f)}function f(){this.allowHalfOpen||this._writableState.ended||r.nextTick(d,this)}function d(t){t.end()}Object.defineProperty(u.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(u.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}}),u.prototype._destroy=function(t,e){this.push(null),this.end(),r.nextTick(e,t)}},function(t,e,n){var r=n(1),i=r(n(7)),o=r(n(10)),s=n(9).CramBufferOverrunError,a={int:!0,byte:!0,long:!0,byteArray:!0,byteArrayBlock:!0},c=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if((0,i.default)(this,t),this.parameters=e,this.dataType=n,!n)throw new TypeError("must provide a data type to codec constructor");if(!a[n])throw new TypeError("invalid data type ".concat(n))}return(0,o.default)(t,[{key:"_getBits",value:function(t,e,n){var r=0;if(e.bytePosition+(7-e.bitPosition+n)/8>t.length)throw new s("read error during decoding. the file seems to be truncated.");for(var i=n;i;i-=1)r<<=1,r|=t[e.bytePosition]>>e.bitPosition&1,e.bitPosition-=1,e.bitPosition<0&&(e.bytePosition+=1),e.bitPosition&=7;return r}}]),t}();t.exports=c},function(t,e,n){n(168);var r=n(176),i=n(13),o=n(20),s=n(35),a=n(6)("toStringTag");for(var c in r){var l=i[c],h=l&&l.prototype;h&&!h[a]&&o(h,a,c),s[c]=s.Array}},function(t,e,n){var r,i,o,s=n(169),a=n(13),c=n(14),l=n(20),h=n(24),u=n(63),f=n(50),d=a.WeakMap;if(s){var p=new d,g=p.get,m=p.has,v=p.set;r=function(t,e){return v.call(p,t,e),e},i=function(t){return g.call(p,t)||{}},o=function(t){return m.call(p,t)}}else{var b=u("state");f[b]=!0,r=function(t,e){return l(t,b,e),e},i=function(t){return h(t,b)?t[b]:{}},o=function(t){return h(t,b)}}t.exports={set:r,get:i,has:o,enforce:function(t){return o(t)?i(t):r(t,{})},getterFor:function(t){return function(e){var n;if(!c(e)||(n=i(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(2),i=n(173),o=n(85),s=n(50),a=n(112),c=n(79),l=n(63)("IE_PROTO"),h=function(){},u=function(){var t,e=c("iframe"),n=o.length;for(e.style.display="none",a.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;n--;)delete u.prototype[o[n]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(h.prototype=r(t),n=new h,h.prototype=null,n[l]=t):n=u(),void 0===e?n:i(n,e)},s[l]=!0},function(t,e,n){var r=n(15),i=n(60),o=n(22),s=n(29),a=n(113),c=[].push,l=function(t){var e=1==t,n=2==t,l=3==t,h=4==t,u=6==t,f=5==t||u;return function(d,p,g,m){for(var v,b,w=o(d),y=i(w),x=r(p,g,3),_=s(y.length),k=0,S=m||a,C=e?S(d,_):n?S(d,0):void 0;_>k;k++)if((f||k in y)&&(b=x(v=y[k],k,w),t))if(e)C[k]=b;else if(b)switch(t){case 3:return!0;case 5:return v;case 6:return k;case 2:c.call(C,v)}else if(h)return!1;return u?-1:l||h?h:C}};t.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6)}},function(t,e,n){var r=n(187).charAt,i=n(42),o=n(80),s=i.set,a=i.getterFor("String Iterator");o(String,"String",(function(t){s(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=a(this),n=e.string,i=e.index;return i>=n.length?{value:void 0,done:!0}:(t=r(n,i),e.index+=t.length,{value:t,done:!1})}))},function(t,e){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},function(t,e,n){var r=n(157),i=n(384),o=n(158);t.exports=function(t,e){return r(t)||i(t,e)||o()}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports={}},function(t,e,n){var r=n(111),i=n(85);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e,n){var r=n(20);t.exports=function(t,e,n,i){i&&i.enumerable?t[e]=n:r(t,e,n)}},function(t,e,n){var r=n(34);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(12);t.exports=function(t,e){var n=[][t];return!n||!r((function(){n.call(null,e||function(){throw 1},1)}))}},function(t,e,n){var r=n(2),i=n(5),o=n(6)("species");t.exports=function(t,e){var n,s=r(t).constructor;return void 0===s||null==(n=r(s)[o])?e:i(n)}},function(t,e,n){var r=n(5),i=function(t){var e,n;this.promise=new t((function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r})),this.resolve=r(e),this.reject=r(n)};t.exports.f=function(t){return new i(t)}},function(t,e,n){(function(t){function n(t){return Object.prototype.toString.call(t)}e.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===n(t)},e.isBoolean=function(t){return"boolean"==typeof t},e.isNull=function(t){return null===t},e.isNullOrUndefined=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isString=function(t){return"string"==typeof t},e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=function(t){return void 0===t},e.isRegExp=function(t){return"[object RegExp]"===n(t)},e.isObject=function(t){return"object"==typeof t&&null!==t},e.isDate=function(t){return"[object Date]"===n(t)},e.isError=function(t){return"[object Error]"===n(t)||t instanceof Error},e.isFunction=function(t){return"function"==typeof t},e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=t.isBuffer}).call(this,n(19).Buffer)},function(t,e,n){var r=n(1)(n(76)),i=n(331),o=n(9).CramBufferOverrunError;t.exports={itf8Size:function(t){return-128&t?-16384&t?-2097152&t?-268435456&t?5:4:3:2:1},parseItf8:function(t,e){var n,r=e,i=t[r];if(i<128?(n=i,r+=1):i<192?(n=16383&(i<<8|t[r+1]),r+=2):i<224?(n=2097151&(i<<16|t[r+1]<<8|t[r+2]),r+=3):i<240?(n=268435455&(i<<24|t[r+1]<<16|t[r+2]<<8|t[r+3]),r+=4):(n=(15&i)<<28|t[r+1]<<20|t[r+2]<<12|t[r+3]<<4|15&t[r+4],r+=5),r>t.length)throw new o("Attempted to read beyond end of buffer; this file seems truncated.");return[n,r-e]},parseItem:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=e.parse(t),o=i.offset,s=i.result;return s._endPosition=o+r,s._size=o-n,s},tinyMemoize:function(t,e){var n=t.prototype[e],i="_memo_".concat(e);t.prototype[e]=function(){var t=this;if(!(i in this)){var e=n.call(this);this[i]=e,r.default.resolve(e).catch((function(){delete t[i]}))}return this[i]}},sequenceMD5:function(t){return i(t.toUpperCase().replace(/[^\x21-\x7e]/g,""))}}},function(t,e,n){var r=n(351),i=n(152),o=n(362);t.exports=function(t){return r(t)||i(t)||o()}},function(t,e,n){var r=n(12),i=n(34),o="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?o.call(t,""):Object(t)}:Object},function(t,e,n){var r=n(13),i=n(171),o=n(4),s=r["__core-js_shared__"]||i("__core-js_shared__",{});(t.exports=function(t,e){return s[t]||(s[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.2.1",mode:o?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e,n){var r=n(14);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(61),i=n(64),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},function(t,e,n){var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!r.call({1:2},1);e.f=o?function(t){var e=i(this,t);return!!e&&e.enumerable}:r},function(t,e,n){var r=n(24),i=n(22),o=n(63),s=n(109),a=o("IE_PROTO"),c=Object.prototype;t.exports=s?Object.getPrototypeOf:function(t){return t=i(t),r(t,a)?t[a]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},function(t,e,n){var r=n(34),i=n(6)("toStringTag"),o="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?n:o?r(e):"Object"==(s=r(e))&&"function"==typeof e.callee?"Arguments":s}},function(t,e,n){var r=n(12),i=n(6)("species");t.exports=function(t){return!r((function(){var e=[];return(e.constructor={})[i]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},function(t,e){t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},function(t,e,n){(function(e){void 0===e||!e.version||0===e.version.indexOf("v0.")||0===e.version.indexOf("v1.")&&0!==e.version.indexOf("v1.8.")?t.exports={nextTick:function(t,n,r,i){if("function"!=typeof t)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return e.nextTick(t);case 2:return e.nextTick((function(){t.call(null,n)}));case 3:return e.nextTick((function(){t.call(null,n,r)}));case 4:return e.nextTick((function(){t.call(null,n,r,i)}));default:for(o=new Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return e.nextTick((function(){t.apply(null,o)}))}}}:t.exports=e}).call(this,n(38))},function(t,e,n){var r=n(19),i=r.Buffer;function o(t,e){for(var n in t)e[n]=t[n]}function s(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(o(r,e),e.Buffer=s),o(i,s),s.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},s.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var r=i(t);return void 0!==e?"string"==typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},s.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},s.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}},function(t,e,n){var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var n=e.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)i(n,r)&&(t[r]=n[r])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var o={arraySet:function(t,e,n,r,i){if(e.subarray&&t.subarray)t.set(e.subarray(n,n+r),i);else for(var o=0;o<r;o++)t[i+o]=e[n+o]},flattenChunks:function(t){var e,n,r,i,o,s;for(r=0,e=0,n=t.length;e<n;e++)r+=t[e].length;for(s=new Uint8Array(r),i=0,e=0,n=t.length;e<n;e++)o=t[e],s.set(o,i),i+=o.length;return s}},s={arraySet:function(t,e,n,r,i){for(var o=0;o<r;o++)t[i+o]=e[n+o]},flattenChunks:function(t){return[].concat.apply([],t)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,o)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,s))},e.setTyped(r)},function(t,e,n){var r=n(1)(n(7)),i=n(9).CramMalformedError,o=n(74),s=function t(){(0,r.default)(this,t),this.F=void 0,this.C=void 0};function a(t,e,n,r){return n*(t>>r)+(t&(1<<r)-1)-e}var c={FC:s,AriDecoder:function t(){(0,r.default)(this,t),this.fc=new Array(256);for(var e=0;e<this.fc.length;e+=1)this.fc[e]=new s;this.R=null},Symbol:function t(){(0,r.default)(this,t),this.start=void 0,this.freq=void 0},symbolInit:function(t,e,n){if(!(e<=65536))throw new i("assertion failed: start <= 1<<16");if(!(n<=65536-e))throw new i("assertion failed: freq <= 1<<16");t.start=e,t.freq=n},advanceStep:a,advanceSymbolStep:function(t,e,n){return a(t,e.start,e.freq,n)},get:function(t,e){return t&(1<<e)-1},advanceSymbol:function(t,e,n,r){return function(t,e,n,r,i){if((t=r*(t>>i)+(t&(1<<i)-1)-n)<o.RANS_BYTE_L)do{t=t<<8|255&e.get()}while(t<o.RANS_BYTE_L);return t}(t,e,n.start,n.freq,r)},renormalize:function(t,e){if(t<o.RANS_BYTE_L)do{t=t<<8|255&e.get()}while(t<o.RANS_BYTE_L);return t}};t.exports=c},function(t,e,n){t.exports={TF_SHIFT:12,TOTFREQ:4096,RANS_BYTE_L:1<<23}},function(t,e,n){t.exports=n(322)},function(t,e,n){t.exports=n(330)},function(t,e,n){t.exports=n(347)},function(t,e){t.exports=function(){}},function(t,e,n){var r=n(13),i=n(14),o=r.document,s=i(o)&&i(o.createElement);t.exports=function(t){return s?o.createElement(t):{}}},function(t,e,n){var r=n(0),i=n(172),o=n(66),s=n(86),a=n(36),c=n(20),l=n(52),h=n(6),u=n(4),f=n(35),d=n(108),p=d.IteratorPrototype,g=d.BUGGY_SAFARI_ITERATORS,m=h("iterator"),v=function(){return this};t.exports=function(t,e,n,h,d,b,w){i(n,e,h);var y,x,_,k=function(t){if(t===d&&T)return T;if(!g&&t in E)return E[t];switch(t){case"keys":case"values":case"entries":return function(){return new n(this,t)}}return function(){return new n(this)}},S=e+" Iterator",C=!1,E=t.prototype,A=E[m]||E["@@iterator"]||d&&E[d],T=!g&&A||k(d),L="Array"==e&&E.entries||A;if(L&&(y=o(L.call(new t)),p!==Object.prototype&&y.next&&(u||o(y)===p||(s?s(y,p):"function"!=typeof y[m]&&c(y,m,v)),a(y,S,!0,!0),u&&(f[S]=v))),"values"==d&&A&&"values"!==A.name&&(C=!0,T=function(){return A.call(this)}),u&&!w||E[m]===T||c(E,m,T),f[e]=T,d)if(x={values:k("values"),keys:b?T:k("keys"),entries:k("entries")},w)for(_ in x)!g&&!C&&_ in E||l(E,_,x[_]);else r({target:e,proto:!0,forced:g||C},x);return x}},function(t,e,n){var r=n(17),i=n(65),o=n(43),s=n(28),a=n(62),c=n(24),l=n(106),h=Object.getOwnPropertyDescriptor;e.f=r?h:function(t,e){if(t=s(t),e=a(e,!0),l)try{return h(t,e)}catch(t){}if(c(t,e))return o(!i.f.call(t,e),t[e])}},function(t,e,n){var r=n(28),i=n(29),o=n(84),s=function(t){return function(e,n,s){var a,c=r(e),l=i(c.length),h=o(s,l);if(t&&n!=n){for(;l>h;)if((a=c[h++])!=a)return!0}else for(;l>h;h++)if((t||h in c)&&c[h]===n)return t||h||0;return!t&&-1}};t.exports={includes:s(!0),indexOf:s(!1)}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(83),i=Math.max,o=Math.min;t.exports=function(t,e){var n=r(t);return n<0?i(n+e,0):o(n,e)}},function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,e,n){var r=n(2),i=n(175);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(t){}return function(n,o){return r(n),i(o),e?t.call(n,o):n.__proto__=o,n}}():void 0)},function(t,e,n){var r=n(62),i=n(21),o=n(43);t.exports=function(t,e,n){var s=r(e);s in t?i.f(t,s,o(0,n)):t[s]=n}},function(t,e){},function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},function(t,e,n){var r=n(67),i=n(35),o=n(6)("iterator");t.exports=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){var r,i="object"==typeof Reflect?Reflect:null,o=i&&"function"==typeof i.apply?i.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var s=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}t.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var c=10;function l(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function h(t,e,n,r){var i,o,s,a;if("function"!=typeof n)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(o=t._events)?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),o=t._events),s=o[e]),void 0===s)s=o[e]=n,++t._eventsCount;else if("function"==typeof s?s=o[e]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=l(t))>0&&s.length>i&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=s.length,a=c,console&&console.warn&&console.warn(a)}return t}function u(){for(var t=[],e=0;e<arguments.length;e++)t.push(arguments[e]);this.fired||(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,o(this.listener,this.target,t))}function f(t,e,n){var r={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},i=u.bind(r);return i.listener=n,r.wrapFn=i,i}function d(t,e,n){var r=t._events;if(void 0===r)return[];var i=r[e];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(t){for(var e=new Array(t.length),n=0;n<e.length;++n)e[n]=t[n].listener||t[n];return e}(i):g(i,i.length)}function p(t){var e=this._events;if(void 0!==e){var n=e[t];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function g(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t[r];return n}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(t){if("number"!=typeof t||t<0||s(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");c=t}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||s(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},a.prototype.getMaxListeners=function(){return l(this)},a.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e.push(arguments[n]);var r="error"===t,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var s;if(e.length>0&&(s=e[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=i[t];if(void 0===c)return!1;if("function"==typeof c)o(c,this,e);else{var l=c.length,h=g(c,l);for(n=0;n<l;++n)o(h[n],this,e)}return!0},a.prototype.addListener=function(t,e){return h(this,t,e,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(t,e){return h(this,t,e,!0)},a.prototype.once=function(t,e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);return this.on(t,f(this,t,e)),this},a.prototype.prependOnceListener=function(t,e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);return this.prependListener(t,f(this,t,e)),this},a.prototype.removeListener=function(t,e){var n,r,i,o,s;if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);if(void 0===(r=this._events))return this;if(void 0===(n=r[t]))return this;if(n===e||n.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete r[t],r.removeListener&&this.emit("removeListener",t,n.listener||e));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===e||n[o].listener===e){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(n,i),1===n.length&&(r[t]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",t,s||e)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(t){var e,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[t]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=n[t]))this.removeListener(t,e);else if(void 0!==e)for(r=e.length-1;r>=0;r--)this.removeListener(t,e[r]);return this},a.prototype.listeners=function(t){return d(this,t,!0)},a.prototype.rawListeners=function(t){return d(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(t,e,n){(e=t.exports=n(127)).Stream=e,e.Readable=e,e.Writable=n(93),e.Duplex=n(39),e.Transform=n(131),e.PassThrough=n(207)},function(t,e,n){(function(e,r,i){var o=n(70);function s(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,n){var r=t.entry;for(t.entry=null;r;){var i=r.callback;e.pendingcb--,i(undefined),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}(e,t)}}t.exports=b;var a,c=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?r:o.nextTick;b.WritableState=v;var l=n(57);l.inherits=n(47);var h,u={deprecate:n(206)},f=n(128),d=n(71).Buffer,p=i.Uint8Array||function(){},g=n(129);function m(){}function v(t,e){a=a||n(39),t=t||{};var r=e instanceof a;this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var i=t.highWaterMark,l=t.writableHighWaterMark,h=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(l||0===l)?l:h,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var u=!1===t.decodeStrings;this.decodeStrings=!u,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,i=n.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,r,i){--e.pendingcb,n?(o.nextTick(i,r),o.nextTick(S,t,e),t._writableState.errorEmitted=!0,t.emit("error",r)):(i(r),t._writableState.errorEmitted=!0,t.emit("error",r),S(t,e))}(t,n,r,e,i);else{var s=_(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||x(t,n),r?c(y,t,n,s,i):y(t,n,s,i)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function b(t){if(a=a||n(39),!(h.call(b,this)||this instanceof a))return new b(t);this._writableState=new v(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),f.call(this)}function w(t,e,n,r,i,o,s){e.writelen=r,e.writecb=s,e.writing=!0,e.sync=!0,n?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function y(t,e,n,r){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,r(),S(t,e)}function x(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),o=e.corkedRequestsFree;o.entry=n;for(var a=0,c=!0;n;)i[a]=n,n.isBuf||(c=!1),n=n.next,a+=1;i.allBuffers=c,w(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new s(e),e.bufferedRequestCount=0}else{for(;n;){var l=n.chunk,h=n.encoding,u=n.callback;if(w(t,e,!1,e.objectMode?1:l.length,l,h,u),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null)}e.bufferedRequest=n,e.bufferProcessing=!1}function _(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function k(t,e){t._final((function(n){e.pendingcb--,n&&t.emit("error",n),e.prefinished=!0,t.emit("prefinish"),S(t,e)}))}function S(t,e){var n=_(e);return n&&(function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,o.nextTick(k,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),n}l.inherits(b,f),v.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(v.prototype,"buffer",{get:u.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(h=Function.prototype[Symbol.hasInstance],Object.defineProperty(b,Symbol.hasInstance,{value:function(t){return!!h.call(this,t)||this===b&&t&&t._writableState instanceof v}})):h=function(t){return t instanceof this},b.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},b.prototype.write=function(t,e,n){var r,i=this._writableState,s=!1,a=!i.objectMode&&(r=t,d.isBuffer(r)||r instanceof p);return a&&!d.isBuffer(t)&&(t=function(t){return d.from(t)}(t)),"function"==typeof e&&(n=e,e=null),a?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof n&&(n=m),i.ended?function(t,e){var n=new Error("write after end");t.emit("error",n),o.nextTick(e,n)}(this,n):(a||function(t,e,n,r){var i=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||e.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(t.emit("error",s),o.nextTick(r,s),i=!1),i}(this,i,t,n))&&(i.pendingcb++,s=function(t,e,n,r,i,o){if(!n){var s=function(t,e,n){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=d.from(e,n)),e}(e,r,i);r!==s&&(n=!0,i="buffer",r=s)}var a=e.objectMode?1:r.length;e.length+=a;var c=e.length<e.highWaterMark;if(c||(e.needDrain=!0),e.writing||e.corked){var l=e.lastBufferedRequest;e.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},l?l.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else w(t,e,!1,a,r,i,o);return c}(this,i,a,t,e,n)),s},b.prototype.cork=function(){this._writableState.corked++},b.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.finished||t.bufferProcessing||!t.bufferedRequest||x(this,t))},b.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),b.prototype._write=function(t,e,n){n(new Error("_write() is not implemented"))},b.prototype._writev=null,b.prototype.end=function(t,e,n){var r=this._writableState;"function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(t,e,n){e.ending=!0,S(t,e),n&&(e.finished?o.nextTick(n):t.once("finish",n)),e.ended=!0,t.writable=!1}(this,r,n)},Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),b.prototype.destroy=g.destroy,b.prototype._undestroy=g.undestroy,b.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this,n(38),n(204).setImmediate,n(23))},function(t,e,n){t.exports=class{constructor(t={}){if(!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=t.maxSize,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(t,e){this.cache.set(t,e),this._size++,this._size>=this.maxSize&&(this._size=0,this.oldCache=this.cache,this.cache=new Map)}get(t){if(this.cache.has(t))return this.cache.get(t);if(this.oldCache.has(t)){const e=this.oldCache.get(t);return this._set(t,e),e}}set(t,e){return this.cache.has(t)?this.cache.set(t,e):this._set(t,e),this}has(t){return this.cache.has(t)||this.oldCache.has(t)}peek(t){return this.cache.has(t)?this.cache.get(t):this.oldCache.has(t)?this.oldCache.get(t):void 0}delete(t){const e=this.cache.delete(t);return e&&this._size--,this.oldCache.delete(t)||e}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(const[t]of this)yield t}*values(){for(const[,t]of this)yield t}*[Symbol.iterator](){for(const t of this.cache)yield t;for(const t of this.oldCache){const[e]=t;this.cache.has(e)||(yield t)}}get size(){let t=0;for(const e of this.oldCache.keys())this.cache.has(e)||t++;return this._size+t}}},function(t,e,n){e.f=n(6)},function(t,e,n){var r=n(139);function i(e,n){return t.exports=i=r||function(t,e){return t.__proto__=e,t},i(e,n)}t.exports=i},function(t,e,n){t.exports=n(310)},function(t,e,n){t.exports=n(319)},function(t,e,n){t.exports=n(342)},function(t,e,n){t.exports={CRAM_FLAG_PRESERVE_QUAL_SCORES:1,CRAM_FLAG_DETACHED:2,CRAM_FLAG_MATE_DOWNSTREAM:4,CRAM_FLAG_NO_SEQ:8,CRAM_FLAG_MASK:15,CRAM_M_REVERSE:1,CRAM_M_UNMAP:2,BAM_FPAIRED:1,BAM_FPROPER_PAIR:2,BAM_FUNMAP:4,BAM_FMUNMAP:8,BAM_FREVERSE:16,BAM_FMREVERSE:32,BAM_FREAD1:64,BAM_FREAD2:128,BAM_FSECONDARY:256,BAM_FQCFAIL:512,BAM_FDUP:1024,BAM_FSUPPLEMENTARY:2048,BAM_CMATCH:0,BAM_CINS:1,BAM_CDEL:2,BAM_CREF_SKIP:3,BAM_CSOFT_CLIP:4,BAM_CHARD_CLIP:5,BAM_CPAD:6,BAM_CEQUAL:7,BAM_CDIFF:8,BAM_CBACK:9,BAM_CIGAR_STR:"MIDNSHP:XB",BAM_CIGAR_SHIFT:4,BAM_CIGAR_MASK:15,BAM_CIGAR_TYPE:246183}},function(t,e,n){t.exports=n(368)},function(t,e,n){t.exports=n(396)},function(t,e,n){t.exports=n(399)},function(t,e,n){var r=n(164);t.exports=r},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},function(t,e,n){var r=n(17),i=n(12),o=n(79);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},function(t,e,n){var r=n(12),i=/#|\.prototype\./,o=function(t,e){var n=a[s(t)];return n==l||n!=c&&("function"==typeof e?r(e):!!e)},s=o.normalize=function(t){return String(t).replace(i,".").toLowerCase()},a=o.data={},c=o.NATIVE="N",l=o.POLYFILL="P";t.exports=o},function(t,e,n){var r,i,o,s=n(66),a=n(20),c=n(24),l=n(6),h=n(4),u=l("iterator"),f=!1;[].keys&&("next"in(o=[].keys())?(i=s(s(o)))!==Object.prototype&&(r=i):f=!0),null==r&&(r={}),h||c(r,u)||a(r,u,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:f}},function(t,e,n){var r=n(12);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},function(t,e,n){var r=n(12);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,e,n){var r=n(24),i=n(28),o=n(82).indexOf,s=n(50);t.exports=function(t,e){var n,a=i(t),c=0,l=[];for(n in a)!r(s,n)&&r(a,n)&&l.push(n);for(;e.length>c;)r(a,n=e[c++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){var r=n(26);t.exports=r("document","documentElement")},function(t,e,n){var r=n(14),i=n(53),o=n(6)("species");t.exports=function(t,e){var n;return i(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!i(n.prototype)?r(n)&&null===(n=n[o])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},function(t,e,n){var r=n(0),i=n(12),o=n(53),s=n(14),a=n(22),c=n(29),l=n(87),h=n(113),u=n(68),f=n(6)("isConcatSpreadable"),d=!i((function(){var t=[];return t[f]=!1,t.concat()[0]!==t})),p=u("concat"),g=function(t){if(!s(t))return!1;var e=t[f];return void 0!==e?!!e:o(t)};r({target:"Array",proto:!0,forced:!d||!p},{concat:function(t){var e,n,r,i,o,s=a(this),u=h(s,0),f=0;for(e=-1,r=arguments.length;e<r;e++)if(g(o=-1===e?s:arguments[e])){if(f+(i=c(o.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<i;n++,f++)n in o&&l(u,f,o[n])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");l(u,f++,o)}return u.length=f,u}})},function(t,e,n){n(88),n(46),n(41),n(188),n(125),n(191);var r=n(3);t.exports=r.Promise},function(t,e,n){var r=n(13);t.exports=r.Promise},function(t,e,n){var r=n(52);t.exports=function(t,e,n){for(var i in e)n&&n.unsafe&&t[i]?t[i]=e[i]:r(t,i,e[i],n);return t}},function(t,e,n){var r=n(26),i=n(21),o=n(6),s=n(17),a=o("species");t.exports=function(t){var e=r(t),n=i.f;s&&e&&!e[a]&&n(e,a,{configurable:!0,get:function(){return this}})}},function(t,e,n){var r=n(6),i=n(35),o=r("iterator"),s=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||s[o]===t)}},function(t,e,n){var r=n(2);t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&r(o.call(t)),e}}},function(t,e,n){var r=n(6)("iterator"),i=!1;try{var o=0,s={next:function(){return{done:!!o++}},return:function(){i=!0}};s[r]=function(){return this},Array.from(s,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o={};o[r]=function(){return{next:function(){return{done:n=!0}}}},t(o)}catch(t){}return n}},function(t,e,n){var r,i,o,s=n(13),a=n(12),c=n(34),l=n(15),h=n(112),u=n(79),f=s.location,d=s.setImmediate,p=s.clearImmediate,g=s.process,m=s.MessageChannel,v=s.Dispatch,b=0,w={},y=function(t){if(w.hasOwnProperty(t)){var e=w[t];delete w[t],e()}},x=function(t){return function(){y(t)}},_=function(t){y(t.data)},k=function(t){s.postMessage(t+"",f.protocol+"//"+f.host)};d&&p||(d=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return w[++b]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(b),b},p=function(t){delete w[t]},"process"==c(g)?r=function(t){g.nextTick(x(t))}:v&&v.now?r=function(t){v.now(x(t))}:m?(o=(i=new m).port2,i.port1.onmessage=_,r=l(o.postMessage,o,1)):!s.addEventListener||"function"!=typeof postMessage||s.importScripts||a(k)?r="onreadystatechange"in u("script")?function(t){h.appendChild(u("script")).onreadystatechange=function(){h.removeChild(this),y(t)}}:function(t){setTimeout(x(t),0)}:(r=k,s.addEventListener("message",_,!1))),t.exports={set:d,clear:p}},function(t,e,n){var r=n(26);t.exports=r("navigator","userAgent")||""},function(t,e,n){var r=n(2),i=n(14),o=n(56);t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var r=n(0),i=n(5),o=n(56),s=n(69),a=n(8);r({target:"Promise",stat:!0},{allSettled:function(t){var e=this,n=o.f(e),r=n.resolve,c=n.reject,l=s((function(){var n=i(e.resolve),o=[],s=0,c=1;a(t,(function(t){var i=s++,a=!1;o.push(void 0),c++,n.call(e,t).then((function(t){a||(a=!0,o[i]={status:"fulfilled",value:t},--c||r(o))}),(function(t){a||(a=!0,o[i]={status:"rejected",reason:t},--c||r(o))}))})),--c||r(o)}));return l.error&&c(l.value),n.promise}})},function(t,e,n){(function(t){var r=n(19).Buffer,i=n(200).Transform,o=n(212),s=n(133),a=n(132).ok,c=n(19).kMaxLength,l="Cannot create final Buffer. It would be larger than 0x"+c.toString(16)+" bytes";o.Z_MIN_WINDOWBITS=8,o.Z_MAX_WINDOWBITS=15,o.Z_DEFAULT_WINDOWBITS=15,o.Z_MIN_CHUNK=64,o.Z_MAX_CHUNK=1/0,o.Z_DEFAULT_CHUNK=16384,o.Z_MIN_MEMLEVEL=1,o.Z_MAX_MEMLEVEL=9,o.Z_DEFAULT_MEMLEVEL=8,o.Z_MIN_LEVEL=-1,o.Z_MAX_LEVEL=9,o.Z_DEFAULT_LEVEL=o.Z_DEFAULT_COMPRESSION;for(var h=Object.keys(o),u=0;u<h.length;u++){var f=h[u];f.match(/^Z/)&&Object.defineProperty(e,f,{enumerable:!0,value:o[f],writable:!1})}for(var d={Z_OK:o.Z_OK,Z_STREAM_END:o.Z_STREAM_END,Z_NEED_DICT:o.Z_NEED_DICT,Z_ERRNO:o.Z_ERRNO,Z_STREAM_ERROR:o.Z_STREAM_ERROR,Z_DATA_ERROR:o.Z_DATA_ERROR,Z_MEM_ERROR:o.Z_MEM_ERROR,Z_BUF_ERROR:o.Z_BUF_ERROR,Z_VERSION_ERROR:o.Z_VERSION_ERROR},p=Object.keys(d),g=0;g<p.length;g++){var m=p[g];d[d[m]]=m}function v(t,e,n){var i=[],o=0;function s(){for(var e;null!==(e=t.read());)i.push(e),o+=e.length;t.once("readable",s)}function a(){var e,s=null;o>=c?s=new RangeError(l):e=r.concat(i,o),i=[],t.close(),n(s,e)}t.on("error",(function(e){t.removeListener("end",a),t.removeListener("readable",s),n(e)})),t.on("end",a),t.end(e),s()}function b(t,e){if("string"==typeof e&&(e=r.from(e)),!r.isBuffer(e))throw new TypeError("Not a string or buffer");var n=t._finishFlushFlag;return t._processChunk(e,n)}function w(t){if(!(this instanceof w))return new w(t);A.call(this,t,o.DEFLATE)}function y(t){if(!(this instanceof y))return new y(t);A.call(this,t,o.INFLATE)}function x(t){if(!(this instanceof x))return new x(t);A.call(this,t,o.GZIP)}function _(t){if(!(this instanceof _))return new _(t);A.call(this,t,o.GUNZIP)}function k(t){if(!(this instanceof k))return new k(t);A.call(this,t,o.DEFLATERAW)}function S(t){if(!(this instanceof S))return new S(t);A.call(this,t,o.INFLATERAW)}function C(t){if(!(this instanceof C))return new C(t);A.call(this,t,o.UNZIP)}function E(t){return t===o.Z_NO_FLUSH||t===o.Z_PARTIAL_FLUSH||t===o.Z_SYNC_FLUSH||t===o.Z_FULL_FLUSH||t===o.Z_FINISH||t===o.Z_BLOCK}function A(t,n){var s=this;if(this._opts=t=t||{},this._chunkSize=t.chunkSize||e.Z_DEFAULT_CHUNK,i.call(this,t),t.flush&&!E(t.flush))throw new Error("Invalid flush flag: "+t.flush);if(t.finishFlush&&!E(t.finishFlush))throw new Error("Invalid flush flag: "+t.finishFlush);if(this._flushFlag=t.flush||o.Z_NO_FLUSH,this._finishFlushFlag=void 0!==t.finishFlush?t.finishFlush:o.Z_FINISH,t.chunkSize&&(t.chunkSize<e.Z_MIN_CHUNK||t.chunkSize>e.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+t.chunkSize);if(t.windowBits&&(t.windowBits<e.Z_MIN_WINDOWBITS||t.windowBits>e.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+t.windowBits);if(t.level&&(t.level<e.Z_MIN_LEVEL||t.level>e.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+t.level);if(t.memLevel&&(t.memLevel<e.Z_MIN_MEMLEVEL||t.memLevel>e.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+t.memLevel);if(t.strategy&&t.strategy!=e.Z_FILTERED&&t.strategy!=e.Z_HUFFMAN_ONLY&&t.strategy!=e.Z_RLE&&t.strategy!=e.Z_FIXED&&t.strategy!=e.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+t.strategy);if(t.dictionary&&!r.isBuffer(t.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new o.Zlib(n);var a=this;this._hadError=!1,this._handle.onerror=function(t,n){T(a),a._hadError=!0;var r=new Error(t);r.errno=n,r.code=e.codes[n],a.emit("error",r)};var c=e.Z_DEFAULT_COMPRESSION;"number"==typeof t.level&&(c=t.level);var l=e.Z_DEFAULT_STRATEGY;"number"==typeof t.strategy&&(l=t.strategy),this._handle.init(t.windowBits||e.Z_DEFAULT_WINDOWBITS,c,t.memLevel||e.Z_DEFAULT_MEMLEVEL,l,t.dictionary),this._buffer=r.allocUnsafe(this._chunkSize),this._offset=0,this._level=c,this._strategy=l,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!s._handle},configurable:!0,enumerable:!0})}function T(e,n){n&&t.nextTick(n),e._handle&&(e._handle.close(),e._handle=null)}function L(t){t.emit("close")}Object.defineProperty(e,"codes",{enumerable:!0,value:Object.freeze(d),writable:!1}),e.Deflate=w,e.Inflate=y,e.Gzip=x,e.Gunzip=_,e.DeflateRaw=k,e.InflateRaw=S,e.Unzip=C,e.createDeflate=function(t){return new w(t)},e.createInflate=function(t){return new y(t)},e.createDeflateRaw=function(t){return new k(t)},e.createInflateRaw=function(t){return new S(t)},e.createGzip=function(t){return new x(t)},e.createGunzip=function(t){return new _(t)},e.createUnzip=function(t){return new C(t)},e.deflate=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new w(e),t,n)},e.deflateSync=function(t,e){return b(new w(e),t)},e.gzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new x(e),t,n)},e.gzipSync=function(t,e){return b(new x(e),t)},e.deflateRaw=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new k(e),t,n)},e.deflateRawSync=function(t,e){return b(new k(e),t)},e.unzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new C(e),t,n)},e.unzipSync=function(t,e){return b(new C(e),t)},e.inflate=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new y(e),t,n)},e.inflateSync=function(t,e){return b(new y(e),t)},e.gunzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new _(e),t,n)},e.gunzipSync=function(t,e){return b(new _(e),t)},e.inflateRaw=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new S(e),t,n)},e.inflateRawSync=function(t,e){return b(new S(e),t)},s.inherits(A,i),A.prototype.params=function(n,r,i){if(n<e.Z_MIN_LEVEL||n>e.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+n);if(r!=e.Z_FILTERED&&r!=e.Z_HUFFMAN_ONLY&&r!=e.Z_RLE&&r!=e.Z_FIXED&&r!=e.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+r);if(this._level!==n||this._strategy!==r){var s=this;this.flush(o.Z_SYNC_FLUSH,(function(){a(s._handle,"zlib binding closed"),s._handle.params(n,r),s._hadError||(s._level=n,s._strategy=r,i&&i())}))}else t.nextTick(i)},A.prototype.reset=function(){return a(this._handle,"zlib binding closed"),this._handle.reset()},A.prototype._flush=function(t){this._transform(r.alloc(0),"",t)},A.prototype.flush=function(e,n){var i=this,s=this._writableState;("function"==typeof e||void 0===e&&!n)&&(n=e,e=o.Z_FULL_FLUSH),s.ended?n&&t.nextTick(n):s.ending?n&&this.once("end",n):s.needDrain?n&&this.once("drain",(function(){return i.flush(e,n)})):(this._flushFlag=e,this.write(r.alloc(0),"",n))},A.prototype.close=function(e){T(this,e),t.nextTick(L,this)},A.prototype._transform=function(t,e,n){var i,s=this._writableState,a=(s.ending||s.ended)&&(!t||s.length===t.length);return null===t||r.isBuffer(t)?this._handle?(a?i=this._finishFlushFlag:(i=this._flushFlag,t.length>=s.length&&(this._flushFlag=this._opts.flush||o.Z_NO_FLUSH)),void this._processChunk(t,i,n)):n(new Error("zlib binding closed")):n(new Error("invalid input"))},A.prototype._processChunk=function(t,e,n){var i=t&&t.length,o=this._chunkSize-this._offset,s=0,h=this,u="function"==typeof n;if(!u){var f,d=[],p=0;this.on("error",(function(t){f=t})),a(this._handle,"zlib binding closed");do{var g=this._handle.writeSync(e,t,s,i,this._buffer,this._offset,o)}while(!this._hadError&&b(g[0],g[1]));if(this._hadError)throw f;if(p>=c)throw T(this),new RangeError(l);var m=r.concat(d,p);return T(this),m}a(this._handle,"zlib binding closed");var v=this._handle.write(e,t,s,i,this._buffer,this._offset,o);function b(c,l){if(this&&(this.buffer=null,this.callback=null),!h._hadError){var f=o-l;if(a(f>=0,"have should not go down"),f>0){var g=h._buffer.slice(h._offset,h._offset+f);h._offset+=f,u?h.push(g):(d.push(g),p+=g.length)}if((0===l||h._offset>=h._chunkSize)&&(o=h._chunkSize,h._offset=0,h._buffer=r.allocUnsafe(h._chunkSize)),0===l){if(s+=i-c,i=c,!u)return!0;var m=h._handle.write(e,t,s,i,h._buffer,h._offset,h._chunkSize);return m.callback=b,void(m.buffer=t)}if(!u)return!1;n()}}v.buffer=t,v.callback=b},s.inherits(w,A),s.inherits(y,A),s.inherits(x,A),s.inherits(_,A),s.inherits(k,A),s.inherits(S,A),s.inherits(C,A)}).call(this,n(38))},function(t,e,n){(function(e,r){var i=n(70);t.exports=w;var o,s=n(105);w.ReadableState=b,n(91).EventEmitter;var a=function(t,e){return t.listeners(e).length},c=n(128),l=n(71).Buffer,h=e.Uint8Array||function(){},u=n(57);u.inherits=n(47);var f=n(201),d=void 0;d=f&&f.debuglog?f.debuglog("stream"):function(){};var p,g=n(202),m=n(129);u.inherits(w,c);var v=["error","close","destroy","pause","resume"];function b(t,e){t=t||{};var r=e instanceof(o=o||n(39));this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var i=t.highWaterMark,s=t.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(p||(p=n(130).StringDecoder),this.decoder=new p(t.encoding),this.encoding=t.encoding)}function w(t){if(o=o||n(39),!(this instanceof w))return new w(t);this._readableState=new b(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),c.call(this)}function y(t,e,n,r,i){var o,s=t._readableState;return null===e?(s.reading=!1,function(t,e){if(!e.ended){if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length)}e.ended=!0,S(t)}}(t,s)):(i||(o=function(t,e){var n,r;return r=e,l.isBuffer(r)||r instanceof h||"string"==typeof e||void 0===e||t.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(s,e)),o?t.emit("error",o):s.objectMode||e&&e.length>0?("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),r?s.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):x(t,s,e,!0):s.ended?t.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(e=s.decoder.write(e),s.objectMode||0!==e.length?x(t,s,e,!1):E(t,s)):x(t,s,e,!1))):r||(s.reading=!1)),function(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}(s)}function x(t,e,n,r){e.flowing&&0===e.length&&!e.sync?(t.emit("data",n),t.read(0)):(e.length+=e.objectMode?1:n.length,r?e.buffer.unshift(n):e.buffer.push(n),e.needReadable&&S(t)),E(t,e)}Object.defineProperty(w.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),w.prototype.destroy=m.destroy,w.prototype._undestroy=m.undestroy,w.prototype._destroy=function(t,e){this.push(null),e(t)},w.prototype.push=function(t,e){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof t&&((e=e||r.defaultEncoding)!==r.encoding&&(t=l.from(t,e),e=""),n=!0),y(this,t,e,!1,n)},w.prototype.unshift=function(t){return y(this,t,null,!0,!1)},w.prototype.isPaused=function(){return!1===this._readableState.flowing},w.prototype.setEncoding=function(t){return p||(p=n(130).StringDecoder),this._readableState.decoder=new p(t),this._readableState.encoding=t,this};var _=8388608;function k(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=_?t=_:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function S(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(d("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i.nextTick(C,t):C(t))}function C(t){d("emit readable"),t.emit("readable"),R(t)}function E(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(A,t,e))}function A(t,e){for(var n=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(d("maybeReadMore read 0"),t.read(0),n!==e.length);)n=e.length;e.readingMore=!1}function T(t){d("readable nexttick read 0"),t.read(0)}function L(t,e){e.reading||(d("resume read 0"),t.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,t.emit("resume"),R(t),e.flowing&&!e.reading&&t.read(0)}function R(t){var e=t._readableState;for(d("flow",e.flowing);e.flowing&&null!==t.read(););}function M(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):n=function(t,e,n){var r;return t<e.head.data.length?(r=e.head.data.slice(0,t),e.head.data=e.head.data.slice(t)):r=t===e.head.data.length?e.shift():n?function(t,e){var n=e.head,r=1,i=n.data;for(t-=i.length;n=n.next;){var o=n.data,s=t>o.length?o.length:t;if(s===o.length?i+=o:i+=o.slice(0,t),0==(t-=s)){s===o.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(s));break}++r}return e.length-=r,i}(t,e):function(t,e){var n=l.allocUnsafe(t),r=e.head,i=1;for(r.data.copy(n),t-=r.data.length;r=r.next;){var o=r.data,s=t>o.length?o.length:t;if(o.copy(n,n.length-t,0,s),0==(t-=s)){s===o.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(s));break}++i}return e.length-=i,n}(t,e),r}(t,e.buffer,e.decoder),n);var n}function I(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i.nextTick(N,e,t))}function N(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function F(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}w.prototype.read=function(t){d("read",t),t=parseInt(t,10);var e=this._readableState,n=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return d("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?I(this):S(this),null;if(0===(t=k(t,e))&&e.ended)return 0===e.length&&I(this),null;var r,i=e.needReadable;return d("need readable",i),(0===e.length||e.length-t<e.highWaterMark)&&d("length less than watermark",i=!0),e.ended||e.reading?d("reading or ended",i=!1):i&&(d("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=k(n,e))),null===(r=t>0?M(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&I(this)),null!==r&&this.emit("data",r),r},w.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},w.prototype.pipe=function(t,e){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,d("pipe count=%d opts=%j",o.pipesCount,e);var c=e&&!1===e.end||t===r.stdout||t===r.stderr?b:l;function l(){d("onend"),t.end()}o.endEmitted?i.nextTick(c):n.once("end",c),t.on("unpipe",(function e(r,i){d("onunpipe"),r===n&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,d("cleanup"),t.removeListener("close",m),t.removeListener("finish",v),t.removeListener("drain",h),t.removeListener("error",g),t.removeListener("unpipe",e),n.removeListener("end",l),n.removeListener("end",b),n.removeListener("data",p),u=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||h())}));var h=function(t){return function(){var e=t._readableState;d("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,"data")&&(e.flowing=!0,R(t))}}(n);t.on("drain",h);var u=!1,f=!1;function p(e){d("ondata"),f=!1,!1!==t.write(e)||f||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==F(o.pipes,t))&&!u&&(d("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,f=!0),n.pause())}function g(e){d("onerror",e),b(),t.removeListener("error",g),0===a(t,"error")&&t.emit("error",e)}function m(){t.removeListener("finish",v),b()}function v(){d("onfinish"),t.removeListener("close",m),b()}function b(){d("unpipe"),n.unpipe(t)}return n.on("data",p),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?s(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",g),t.once("close",m),t.once("finish",v),t.emit("pipe",n),o.flowing||(d("pipe resume"),n.resume()),t},w.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)r[o].emit("unpipe",this,n);return this}var s=F(e.pipes,t);return-1===s||(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,n)),this},w.prototype.on=function(t,e){var n=c.prototype.on.call(this,t,e);if("data"===t)!1!==this._readableState.flowing&&this.resume();else if("readable"===t){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&S(this):i.nextTick(T,this))}return n},w.prototype.addListener=w.prototype.on,w.prototype.resume=function(){var t=this._readableState;return t.flowing||(d("resume"),t.flowing=!0,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(L,t,e))}(this,t)),this},w.prototype.pause=function(){return d("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(d("pause"),this._readableState.flowing=!1,this.emit("pause")),this},w.prototype.wrap=function(t){var e=this,n=this._readableState,r=!1;for(var i in t.on("end",(function(){if(d("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){d("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i||(n.objectMode||i&&i.length)&&(e.push(i)||(r=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o<v.length;o++)t.on(v[o],this.emit.bind(this,v[o]));return this._read=function(e){d("wrapped _read",e),r&&(r=!1,t.resume())},this},Object.defineProperty(w.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),w._fromList=M}).call(this,n(23),n(38))},function(t,e,n){t.exports=n(91).EventEmitter},function(t,e,n){var r=n(70);function i(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var n=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(e?e(t):!t||this._writableState&&this._writableState.errorEmitted||r.nextTick(i,this,t),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?(r.nextTick(i,n,t),n._writableState&&(n._writableState.errorEmitted=!0)):e&&e(t)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(t,e,n){var r=n(71).Buffer,i=r.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(r.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=c,this.end=l,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=h,this.end=u,e=3;break;default:return this.write=f,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(e)}function s(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function c(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function h(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function u(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.StringDecoder=o,o.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<t.length?e?e+this.text(t,n):this.text(t,n):e||""},o.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},o.prototype.text=function(t,e){var n=function(t,e,n){var r=e.length-1;if(r<n)return 0;var i=s(e[r]);return i>=0?(i>0&&(t.lastNeed=i-1),i):--r<n||-2===i?0:(i=s(e[r]))>=0?(i>0&&(t.lastNeed=i-2),i):--r<n||-2===i?0:(i=s(e[r]))>=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},function(t,e,n){t.exports=s;var r=n(39),i=n(57);function o(t,e){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=e&&this.push(e),r(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function s(t){if(!(this instanceof s))return new s(t);r.call(this,t),this._transformState={afterTransform:o.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",a)}function a(){var t=this;"function"==typeof this._flush?this._flush((function(e,n){c(t,e,n)})):c(this,null,null)}function c(t,e,n){if(e)return t.emit("error",e);if(null!=n&&t.push(n),t._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(t._transformState.transforming)throw new Error("Calling transform done when still transforming");return t.push(null)}i.inherits=n(47),i.inherits(s,r),s.prototype.push=function(t,e){return this._transformState.needTransform=!1,r.prototype.push.call(this,t,e)},s.prototype._transform=function(t,e,n){throw new Error("_transform() is not implemented")},s.prototype._write=function(t,e,n){var r=this._transformState;if(r.writecb=n,r.writechunk=t,r.writeencoding=e,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},s.prototype._read=function(t){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0},s.prototype._destroy=function(t,e){var n=this;r.prototype._destroy.call(this,t,(function(t){e(t),n.emit("close")}))}},function(t,e,n){(function(e){var r=n(213);
46
+ var r=n(165),i=n(166),o=n(105);function s(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(s()<e)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=l.prototype:(null===t&&(t=new l(e)),t.length=e),t}function l(t,e,n){if(!(l.TYPED_ARRAY_SUPPORT||this instanceof l))return new l(t,e,n);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return u(this,t)}return c(this,t,e,n)}function c(t,e,n,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return e=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r),l.TYPED_ARRAY_SUPPORT?(t=e).__proto__=l.prototype:t=f(t,e),t}(t,e,n,r):"string"==typeof e?function(t,e,n){if("string"==typeof n&&""!==n||(n="utf8"),!l.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(e,n),i=(t=a(t,r)).write(e,n);return i!==r&&(t=t.slice(0,i)),t}(t,e,n):function(t,e){if(l.isBuffer(e)){var n=0|d(e.length);return 0===(t=a(t,n)).length||e.copy(t,0,0,n),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?a(t,0):f(t,e);if("Buffer"===e.type&&o(e.data))return f(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function u(t,e){if(h(e),t=a(t,e<0?0:0|d(e)),!l.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function f(t,e){var n=e.length<0?0:0|d(e.length);t=a(t,n);for(var r=0;r<n;r+=1)t[r]=255&e[r];return t}function d(t){if(t>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function p(t,e){if(l.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return V(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(t).length;default:if(r)return V(t).length;e=(""+e).toLowerCase(),r=!0}}function g(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return M(this,e,n);case"utf8":case"utf-8":return E(this,e,n);case"ascii":return T(this,e,n);case"latin1":case"binary":return L(this,e,n);case"base64":return C(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function m(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function v(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=l.from(e,r)),l.isBuffer(e))return 0===e.length?-1:b(t,e,n,r,i);if("number"==typeof e)return e&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):b(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(t,e,n,r,i){var o,s=1,a=t.length,l=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;s=2,a/=2,l/=2,n/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=n;o<a;o++)if(c(t,o)===c(e,-1===h?0:o-h)){if(-1===h&&(h=o),o-h+1===l)return h*s}else-1!==h&&(o-=o-h),h=-1}else for(n+l>a&&(n=a-l),o=n;o>=0;o--){for(var u=!0,f=0;f<l;f++)if(c(t,o+f)!==c(e,f)){u=!1;break}if(u)return o}return-1}function w(t,e,n,r){n=Number(n)||0;var i=t.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(e.substr(2*s,2),16);if(isNaN(a))return s;t[n+s]=a}return s}function y(t,e,n,r){return U(V(e,t.length-n),t,n,r)}function x(t,e,n,r){return U(function(t){for(var e=[],n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}(e),t,n,r)}function _(t,e,n,r){return x(t,e,n,r)}function k(t,e,n,r){return U(j(e),t,n,r)}function S(t,e,n,r){return U(function(t,e){for(var n,r,i,o=[],s=0;s<t.length&&!((e-=2)<0);++s)r=(n=t.charCodeAt(s))>>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function C(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function E(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i<n;){var o,s,a,l,c=t[i],h=null,u=c>239?4:c>223?3:c>191?2:1;if(i+u<=n)switch(u){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(l=(31&c)<<6|63&o)>127&&(h=l);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(l=(15&c)<<12|(63&o)<<6|63&s)>2047&&(l<55296||l>57343)&&(h=l);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(l=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&l<1114112&&(h=l)}null===h?(h=65533,u=1):h>65535&&(h-=65536,r.push(h>>>10&1023|55296),h=56320|1023&h),r.push(h),i+=u}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);for(var n="",r=0;r<e;)n+=String.fromCharCode.apply(String,t.slice(r,r+=A));return n}(r)}e.Buffer=l,e.SlowBuffer=function(t){return+t!=t&&(t=0),l.alloc(+t)},e.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=s(),l.poolSize=8192,l._augment=function(t){return t.__proto__=l.prototype,t},l.from=function(t,e,n){return c(null,t,e,n)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(t,e,n){return function(t,e,n,r){return h(e),e<=0?a(t,e):void 0!==n?"string"==typeof r?a(t,e).fill(n,r):a(t,e).fill(n):a(t,e)}(null,t,e,n)},l.allocUnsafe=function(t){return u(null,t)},l.allocUnsafeSlow=function(t){return u(null,t)},l.isBuffer=function(t){return!(null==t||!t._isBuffer)},l.compare=function(t,e){if(!l.isBuffer(t)||!l.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i<o;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},l.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(t,e){if(!o(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return l.alloc(0);var n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var r=l.allocUnsafe(e),i=0;for(n=0;n<t.length;++n){var s=t[n];if(!l.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},l.byteLength=p,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)m(this,e,e+1);return this},l.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)m(this,e,e+3),m(this,e+1,e+2);return this},l.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)m(this,e,e+7),m(this,e+1,e+6),m(this,e+2,e+5),m(this,e+3,e+4);return this},l.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?E(this,0,t):g.apply(this,arguments)},l.prototype.equals=function(t){if(!l.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===l.compare(this,t)},l.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),"<Buffer "+t+">"},l.prototype.compare=function(t,e,n,r,i){if(!l.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(e>>>=0),a=Math.min(o,s),c=this.slice(r,i),h=t.slice(e,n),u=0;u<a;++u)if(c[u]!==h[u]){o=c[u],s=h[u];break}return o<s?-1:s<o?1:0},l.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},l.prototype.indexOf=function(t,e,n){return v(this,t,e,n,!0)},l.prototype.lastIndexOf=function(t,e,n){return v(this,t,e,n,!1)},l.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return w(this,t,e,n);case"utf8":case"utf-8":return y(this,t,e,n);case"ascii":return x(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return k(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function T(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(127&t[i]);return r}function L(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(t[i]);return r}function M(t,e,n){var r=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>r)&&(n=r);for(var i="",o=e;o<n;++o)i+=H(t[o]);return i}function R(t,e,n){for(var r=t.slice(e,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function I(t,e,n){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,n,r,i,o){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(n+r>t.length)throw new RangeError("Index out of range")}function P(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-n,2);i<o;++i)t[n+i]=(e&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function F(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-n,4);i<o;++i)t[n+i]=e>>>8*(r?i:3-i)&255}function O(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function D(t,e,n,r,o){return o||O(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function B(t,e,n,r,o){return o||O(t,0,n,8),i.write(t,e,n,r,52,8),n+8}l.prototype.slice=function(t,e){var n,r=this.length;if((t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t),l.TYPED_ARRAY_SUPPORT)(n=this.subarray(t,e)).__proto__=l.prototype;else{var i=e-t;n=new l(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+t]}return n},l.prototype.readUIntLE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r},l.prototype.readUIntBE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},l.prototype.readUInt8=function(t,e){return e||I(t,1,this.length),this[t]},l.prototype.readUInt16LE=function(t,e){return e||I(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUInt16BE=function(t,e){return e||I(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUInt32LE=function(t,e){return e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUInt32BE=function(t,e){return e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*e)),r},l.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},l.prototype.readInt8=function(t,e){return e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){e||I(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(t,e){e||I(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(t,e){return e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!1,52,8)},l.prototype.writeUIntLE=function(t,e,n,r){t=+t,e|=0,n|=0,r||N(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o<n&&(i*=256);)this[e+o]=t/i&255;return e+n},l.prototype.writeUIntBE=function(t,e,n,r){t=+t,e|=0,n|=0,r||N(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},l.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,255,0),l.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},l.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):P(this,t,e,!0),e+2},l.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):P(this,t,e,!1),e+2},l.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):F(this,t,e,!0),e+4},l.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},l.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);N(this,t,e,n,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o<n&&(s*=256);)t<0&&0===a&&0!==this[e+o-1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+n},l.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);N(this,t,e,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+n},l.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,127,-128),l.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):P(this,t,e,!0),e+2},l.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):P(this,t,e,!1),e+2},l.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):F(this,t,e,!0),e+4},l.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):F(this,t,e,!1),e+4},l.prototype.writeFloatLE=function(t,e,n){return D(this,t,e,!0,n)},l.prototype.writeFloatBE=function(t,e,n){return D(this,t,e,!1,n)},l.prototype.writeDoubleLE=function(t,e,n){return B(this,t,e,!0,n)},l.prototype.writeDoubleBE=function(t,e,n){return B(this,t,e,!1,n)},l.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-n&&(r=t.length-e+n);var i,o=r-n;if(this===t&&n<e&&e<r)for(i=o-1;i>=0;--i)t[i+e]=this[i+n];else if(o<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)t[i+e]=this[i+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+o),e);return o},l.prototype.fill=function(t,e,n,r){if("string"==typeof t){if("string"==typeof e?(r=e,e=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!l.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;var o;if(e>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o<n;++o)this[o]=t;else{var s=l.isBuffer(t)?t:V(new l(t,r).toString()),a=s.length;for(o=0;o<n-e;++o)this[o+e]=s[o%a]}return this};var z=/[^+\/0-9A-Za-z-_]/g;function H(t){return t<16?"0"+t.toString(16):t.toString(16)}function V(t,e){var n;e=e||1/0;for(var r=t.length,i=null,o=[],s=0;s<r;++s){if((n=t.charCodeAt(s))>55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function j(t){return r.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(z,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function U(t,e,n,r){for(var i=0;i<r&&!(i+n>=e.length||i>=t.length);++i)e[i+n]=t[i];return i}}).call(this,n(23))},function(t,e,n){var r=n(17),i=n(21),o=n(43);t.exports=r?function(t,e,n){return i.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(17),i=n(106),o=n(2),s=n(62),a=Object.defineProperty;e.f=r?a:function(t,e,n){if(o(t),e=s(e,!0),o(n),i)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(49);t.exports=function(t){return Object(r(t))}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(4),i=n(142);t.exports=r?i:function(t){return Map.prototype.entries.call(t)}},function(t,e,n){var r=n(3),i=n(13),o=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?o(r[t])||o(i[t]):r[t]&&r[t][e]||i[t]&&i[t][e]}},function(t,e,n){var r=n(255),i=n(139);function o(e){return t.exports=o=i?r:function(t){return t.__proto__||r(t)},o(e)}t.exports=o},function(t,e,n){var r=n(60),i=n(49);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(83),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){t.exports=n(184)},function(t,e,n){var r=n(185);function i(t,e,n,i,o,s,a){try{var l=t[s](a),c=l.value}catch(t){return void n(t)}l.done?e(c):r.resolve(c).then(i,o)}t.exports=function(t){return function(){var e=this,n=arguments;return new r((function(r,o){var s=t.apply(e,n);function a(t){i(s,r,o,a,l,"next",t)}function l(t){i(s,r,o,a,l,"throw",t)}a(void 0)}))}}},function(t,e,n){var r=n(225),i=n(254);t.exports=function(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?i(t):e}},function(t,e,n){var r=n(140),i=n(96);t.exports=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=r(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports={}},function(t,e,n){var r=n(21).f,i=n(20),o=n(24),s=n(174),a=n(6)("toStringTag"),l=s!=={}.toString;t.exports=function(t,e,n,c){if(t){var h=n?t:t.prototype;o(h,a)||r(h,a,{configurable:!0,value:e}),c&&l&&i(h,"toString",s)}}},function(t,e,n){t.exports=n(181)},function(t,e){var n,r,i=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var l,c=[],h=!1,u=-1;function f(){h&&l&&(h=!1,l.length?c=l.concat(c):u=-1,c.length&&d())}function d(){if(!h){var t=a(f);h=!0;for(var e=c.length;e;){for(l=c,c=[];++u<e;)l&&l[u].run();u=-1,e=c.length}l=null,h=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new p(t,e)),1!==c.length||h||a(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(t,e,n){var r=n(70),i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=u;var o=n(57);o.inherits=n(47);var s=n(127),a=n(93);o.inherits(u,s);for(var l=i(a.prototype),c=0;c<l.length;c++){var h=l[c];u.prototype[h]||(u.prototype[h]=a.prototype[h])}function u(t){if(!(this instanceof u))return new u(t);s.call(this,t),a.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",f)}function f(){this.allowHalfOpen||this._writableState.ended||r.nextTick(d,this)}function d(t){t.end()}Object.defineProperty(u.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(u.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}}),u.prototype._destroy=function(t,e){this.push(null),this.end(),r.nextTick(e,t)}},function(t,e,n){var r=n(1),i=r(n(7)),o=r(n(10)),s=n(9).CramBufferOverrunError,a={int:!0,byte:!0,long:!0,byteArray:!0,byteArrayBlock:!0},l=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if((0,i.default)(this,t),this.parameters=e,this.dataType=n,!n)throw new TypeError("must provide a data type to codec constructor");if(!a[n])throw new TypeError("invalid data type ".concat(n))}return(0,o.default)(t,[{key:"_getBits",value:function(t,e,n){var r=0;if(e.bytePosition+(7-e.bitPosition+n)/8>t.length)throw new s("read error during decoding. the file seems to be truncated.");for(var i=n;i;i-=1)r<<=1,r|=t[e.bytePosition]>>e.bitPosition&1,e.bitPosition-=1,e.bitPosition<0&&(e.bytePosition+=1),e.bitPosition&=7;return r}}]),t}();t.exports=l},function(t,e,n){n(168);var r=n(176),i=n(13),o=n(20),s=n(35),a=n(6)("toStringTag");for(var l in r){var c=i[l],h=c&&c.prototype;h&&!h[a]&&o(h,a,l),s[l]=s.Array}},function(t,e,n){var r,i,o,s=n(169),a=n(13),l=n(14),c=n(20),h=n(24),u=n(63),f=n(50),d=a.WeakMap;if(s){var p=new d,g=p.get,m=p.has,v=p.set;r=function(t,e){return v.call(p,t,e),e},i=function(t){return g.call(p,t)||{}},o=function(t){return m.call(p,t)}}else{var b=u("state");f[b]=!0,r=function(t,e){return c(t,b,e),e},i=function(t){return h(t,b)?t[b]:{}},o=function(t){return h(t,b)}}t.exports={set:r,get:i,has:o,enforce:function(t){return o(t)?i(t):r(t,{})},getterFor:function(t){return function(e){var n;if(!l(e)||(n=i(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(2),i=n(173),o=n(85),s=n(50),a=n(112),l=n(79),c=n(63)("IE_PROTO"),h=function(){},u=function(){var t,e=l("iframe"),n=o.length;for(e.style.display="none",a.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;n--;)delete u.prototype[o[n]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(h.prototype=r(t),n=new h,h.prototype=null,n[c]=t):n=u(),void 0===e?n:i(n,e)},s[c]=!0},function(t,e,n){var r=n(15),i=n(60),o=n(22),s=n(29),a=n(113),l=[].push,c=function(t){var e=1==t,n=2==t,c=3==t,h=4==t,u=6==t,f=5==t||u;return function(d,p,g,m){for(var v,b,w=o(d),y=i(w),x=r(p,g,3),_=s(y.length),k=0,S=m||a,C=e?S(d,_):n?S(d,0):void 0;_>k;k++)if((f||k in y)&&(b=x(v=y[k],k,w),t))if(e)C[k]=b;else if(b)switch(t){case 3:return!0;case 5:return v;case 6:return k;case 2:l.call(C,v)}else if(h)return!1;return u?-1:c||h?h:C}};t.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},function(t,e,n){var r=n(187).charAt,i=n(42),o=n(80),s=i.set,a=i.getterFor("String Iterator");o(String,"String",(function(t){s(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=a(this),n=e.string,i=e.index;return i>=n.length?{value:void 0,done:!0}:(t=r(n,i),e.index+=t.length,{value:t,done:!1})}))},function(t,e){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},function(t,e,n){var r=n(157),i=n(384),o=n(158);t.exports=function(t,e){return r(t)||i(t,e)||o()}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports={}},function(t,e,n){var r=n(111),i=n(85);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e,n){var r=n(20);t.exports=function(t,e,n,i){i&&i.enumerable?t[e]=n:r(t,e,n)}},function(t,e,n){var r=n(34);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(12);t.exports=function(t,e){var n=[][t];return!n||!r((function(){n.call(null,e||function(){throw 1},1)}))}},function(t,e,n){var r=n(2),i=n(5),o=n(6)("species");t.exports=function(t,e){var n,s=r(t).constructor;return void 0===s||null==(n=r(s)[o])?e:i(n)}},function(t,e,n){var r=n(5),i=function(t){var e,n;this.promise=new t((function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r})),this.resolve=r(e),this.reject=r(n)};t.exports.f=function(t){return new i(t)}},function(t,e,n){(function(t){function n(t){return Object.prototype.toString.call(t)}e.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===n(t)},e.isBoolean=function(t){return"boolean"==typeof t},e.isNull=function(t){return null===t},e.isNullOrUndefined=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isString=function(t){return"string"==typeof t},e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=function(t){return void 0===t},e.isRegExp=function(t){return"[object RegExp]"===n(t)},e.isObject=function(t){return"object"==typeof t&&null!==t},e.isDate=function(t){return"[object Date]"===n(t)},e.isError=function(t){return"[object Error]"===n(t)||t instanceof Error},e.isFunction=function(t){return"function"==typeof t},e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=t.isBuffer}).call(this,n(19).Buffer)},function(t,e,n){var r=n(1)(n(76)),i=n(331),o=n(9).CramBufferOverrunError;t.exports={itf8Size:function(t){return-128&t?-16384&t?-2097152&t?-268435456&t?5:4:3:2:1},parseItf8:function(t,e){var n,r=e,i=t[r];if(i<128?(n=i,r+=1):i<192?(n=16383&(i<<8|t[r+1]),r+=2):i<224?(n=2097151&(i<<16|t[r+1]<<8|t[r+2]),r+=3):i<240?(n=268435455&(i<<24|t[r+1]<<16|t[r+2]<<8|t[r+3]),r+=4):(n=(15&i)<<28|t[r+1]<<20|t[r+2]<<12|t[r+3]<<4|15&t[r+4],r+=5),r>t.length)throw new o("Attempted to read beyond end of buffer; this file seems truncated.");return[n,r-e]},parseItem:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=e.parse(t),o=i.offset,s=i.result;return s._endPosition=o+r,s._size=o-n,s},tinyMemoize:function(t,e){var n=t.prototype[e],i="_memo_".concat(e);t.prototype[e]=function(){var t=this;if(!(i in this)){var e=n.call(this);this[i]=e,r.default.resolve(e).catch((function(){delete t[i]}))}return this[i]}},sequenceMD5:function(t){return i(t.toUpperCase().replace(/[^\x21-\x7e]/g,""))}}},function(t,e,n){var r=n(351),i=n(152),o=n(362);t.exports=function(t){return r(t)||i(t)||o()}},function(t,e,n){var r=n(12),i=n(34),o="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?o.call(t,""):Object(t)}:Object},function(t,e,n){var r=n(13),i=n(171),o=n(4),s=r["__core-js_shared__"]||i("__core-js_shared__",{});(t.exports=function(t,e){return s[t]||(s[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.2.1",mode:o?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e,n){var r=n(14);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(61),i=n(64),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},function(t,e,n){var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!r.call({1:2},1);e.f=o?function(t){var e=i(this,t);return!!e&&e.enumerable}:r},function(t,e,n){var r=n(24),i=n(22),o=n(63),s=n(109),a=o("IE_PROTO"),l=Object.prototype;t.exports=s?Object.getPrototypeOf:function(t){return t=i(t),r(t,a)?t[a]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?l:null}},function(t,e,n){var r=n(34),i=n(6)("toStringTag"),o="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?n:o?r(e):"Object"==(s=r(e))&&"function"==typeof e.callee?"Arguments":s}},function(t,e,n){var r=n(12),i=n(6)("species");t.exports=function(t){return!r((function(){var e=[];return(e.constructor={})[i]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},function(t,e){t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},function(t,e,n){(function(e){void 0===e||!e.version||0===e.version.indexOf("v0.")||0===e.version.indexOf("v1.")&&0!==e.version.indexOf("v1.8.")?t.exports={nextTick:function(t,n,r,i){if("function"!=typeof t)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return e.nextTick(t);case 2:return e.nextTick((function(){t.call(null,n)}));case 3:return e.nextTick((function(){t.call(null,n,r)}));case 4:return e.nextTick((function(){t.call(null,n,r,i)}));default:for(o=new Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return e.nextTick((function(){t.apply(null,o)}))}}}:t.exports=e}).call(this,n(38))},function(t,e,n){var r=n(19),i=r.Buffer;function o(t,e){for(var n in t)e[n]=t[n]}function s(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(o(r,e),e.Buffer=s),o(i,s),s.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},s.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var r=i(t);return void 0!==e?"string"==typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},s.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},s.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}},function(t,e,n){var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var n=e.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)i(n,r)&&(t[r]=n[r])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var o={arraySet:function(t,e,n,r,i){if(e.subarray&&t.subarray)t.set(e.subarray(n,n+r),i);else for(var o=0;o<r;o++)t[i+o]=e[n+o]},flattenChunks:function(t){var e,n,r,i,o,s;for(r=0,e=0,n=t.length;e<n;e++)r+=t[e].length;for(s=new Uint8Array(r),i=0,e=0,n=t.length;e<n;e++)o=t[e],s.set(o,i),i+=o.length;return s}},s={arraySet:function(t,e,n,r,i){for(var o=0;o<r;o++)t[i+o]=e[n+o]},flattenChunks:function(t){return[].concat.apply([],t)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,o)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,s))},e.setTyped(r)},function(t,e,n){var r=n(1)(n(7)),i=n(9).CramMalformedError,o=n(74),s=function t(){(0,r.default)(this,t),this.F=void 0,this.C=void 0};function a(t,e,n,r){return n*(t>>r)+(t&(1<<r)-1)-e}var l={FC:s,AriDecoder:function t(){(0,r.default)(this,t),this.fc=new Array(256);for(var e=0;e<this.fc.length;e+=1)this.fc[e]=new s;this.R=null},Symbol:function t(){(0,r.default)(this,t),this.start=void 0,this.freq=void 0},symbolInit:function(t,e,n){if(!(e<=65536))throw new i("assertion failed: start <= 1<<16");if(!(n<=65536-e))throw new i("assertion failed: freq <= 1<<16");t.start=e,t.freq=n},advanceStep:a,advanceSymbolStep:function(t,e,n){return a(t,e.start,e.freq,n)},get:function(t,e){return t&(1<<e)-1},advanceSymbol:function(t,e,n,r){return function(t,e,n,r,i){if((t=r*(t>>i)+(t&(1<<i)-1)-n)<o.RANS_BYTE_L)do{t=t<<8|255&e.get()}while(t<o.RANS_BYTE_L);return t}(t,e,n.start,n.freq,r)},renormalize:function(t,e){if(t<o.RANS_BYTE_L)do{t=t<<8|255&e.get()}while(t<o.RANS_BYTE_L);return t}};t.exports=l},function(t,e,n){t.exports={TF_SHIFT:12,TOTFREQ:4096,RANS_BYTE_L:1<<23}},function(t,e,n){t.exports=n(322)},function(t,e,n){t.exports=n(330)},function(t,e,n){t.exports=n(347)},function(t,e){t.exports=function(){}},function(t,e,n){var r=n(13),i=n(14),o=r.document,s=i(o)&&i(o.createElement);t.exports=function(t){return s?o.createElement(t):{}}},function(t,e,n){var r=n(0),i=n(172),o=n(66),s=n(86),a=n(36),l=n(20),c=n(52),h=n(6),u=n(4),f=n(35),d=n(108),p=d.IteratorPrototype,g=d.BUGGY_SAFARI_ITERATORS,m=h("iterator"),v=function(){return this};t.exports=function(t,e,n,h,d,b,w){i(n,e,h);var y,x,_,k=function(t){if(t===d&&T)return T;if(!g&&t in E)return E[t];switch(t){case"keys":case"values":case"entries":return function(){return new n(this,t)}}return function(){return new n(this)}},S=e+" Iterator",C=!1,E=t.prototype,A=E[m]||E["@@iterator"]||d&&E[d],T=!g&&A||k(d),L="Array"==e&&E.entries||A;if(L&&(y=o(L.call(new t)),p!==Object.prototype&&y.next&&(u||o(y)===p||(s?s(y,p):"function"!=typeof y[m]&&l(y,m,v)),a(y,S,!0,!0),u&&(f[S]=v))),"values"==d&&A&&"values"!==A.name&&(C=!0,T=function(){return A.call(this)}),u&&!w||E[m]===T||l(E,m,T),f[e]=T,d)if(x={values:k("values"),keys:b?T:k("keys"),entries:k("entries")},w)for(_ in x)!g&&!C&&_ in E||c(E,_,x[_]);else r({target:e,proto:!0,forced:g||C},x);return x}},function(t,e,n){var r=n(17),i=n(65),o=n(43),s=n(28),a=n(62),l=n(24),c=n(106),h=Object.getOwnPropertyDescriptor;e.f=r?h:function(t,e){if(t=s(t),e=a(e,!0),c)try{return h(t,e)}catch(t){}if(l(t,e))return o(!i.f.call(t,e),t[e])}},function(t,e,n){var r=n(28),i=n(29),o=n(84),s=function(t){return function(e,n,s){var a,l=r(e),c=i(l.length),h=o(s,c);if(t&&n!=n){for(;c>h;)if((a=l[h++])!=a)return!0}else for(;c>h;h++)if((t||h in l)&&l[h]===n)return t||h||0;return!t&&-1}};t.exports={includes:s(!0),indexOf:s(!1)}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(83),i=Math.max,o=Math.min;t.exports=function(t,e){var n=r(t);return n<0?i(n+e,0):o(n,e)}},function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,e,n){var r=n(2),i=n(175);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(t){}return function(n,o){return r(n),i(o),e?t.call(n,o):n.__proto__=o,n}}():void 0)},function(t,e,n){var r=n(62),i=n(21),o=n(43);t.exports=function(t,e,n){var s=r(e);s in t?i.f(t,s,o(0,n)):t[s]=n}},function(t,e){},function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},function(t,e,n){var r=n(67),i=n(35),o=n(6)("iterator");t.exports=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){var r,i="object"==typeof Reflect?Reflect:null,o=i&&"function"==typeof i.apply?i.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var s=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}t.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function h(t,e,n,r){var i,o,s,a;if("function"!=typeof n)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n);if(void 0===(o=t._events)?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),o=t._events),s=o[e]),void 0===s)s=o[e]=n,++t._eventsCount;else if("function"==typeof s?s=o[e]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=c(t))>0&&s.length>i&&!s.warned){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=s.length,a=l,console&&console.warn&&console.warn(a)}return t}function u(){for(var t=[],e=0;e<arguments.length;e++)t.push(arguments[e]);this.fired||(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,o(this.listener,this.target,t))}function f(t,e,n){var r={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},i=u.bind(r);return i.listener=n,r.wrapFn=i,i}function d(t,e,n){var r=t._events;if(void 0===r)return[];var i=r[e];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(t){for(var e=new Array(t.length),n=0;n<e.length;++n)e[n]=t[n].listener||t[n];return e}(i):g(i,i.length)}function p(t){var e=this._events;if(void 0!==e){var n=e[t];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function g(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t[r];return n}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(t){if("number"!=typeof t||t<0||s(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");l=t}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||s(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},a.prototype.getMaxListeners=function(){return c(this)},a.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e.push(arguments[n]);var r="error"===t,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var s;if(e.length>0&&(s=e[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var l=i[t];if(void 0===l)return!1;if("function"==typeof l)o(l,this,e);else{var c=l.length,h=g(l,c);for(n=0;n<c;++n)o(h[n],this,e)}return!0},a.prototype.addListener=function(t,e){return h(this,t,e,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(t,e){return h(this,t,e,!0)},a.prototype.once=function(t,e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);return this.on(t,f(this,t,e)),this},a.prototype.prependOnceListener=function(t,e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);return this.prependListener(t,f(this,t,e)),this},a.prototype.removeListener=function(t,e){var n,r,i,o,s;if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e);if(void 0===(r=this._events))return this;if(void 0===(n=r[t]))return this;if(n===e||n.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete r[t],r.removeListener&&this.emit("removeListener",t,n.listener||e));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===e||n[o].listener===e){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(n,i),1===n.length&&(r[t]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",t,s||e)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(t){var e,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[t]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=n[t]))this.removeListener(t,e);else if(void 0!==e)for(r=e.length-1;r>=0;r--)this.removeListener(t,e[r]);return this},a.prototype.listeners=function(t){return d(this,t,!0)},a.prototype.rawListeners=function(t){return d(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(t,e,n){(e=t.exports=n(127)).Stream=e,e.Readable=e,e.Writable=n(93),e.Duplex=n(39),e.Transform=n(131),e.PassThrough=n(207)},function(t,e,n){(function(e,r,i){var o=n(70);function s(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,n){var r=t.entry;for(t.entry=null;r;){var i=r.callback;e.pendingcb--,i(undefined),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}(e,t)}}t.exports=b;var a,l=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?r:o.nextTick;b.WritableState=v;var c=n(57);c.inherits=n(47);var h,u={deprecate:n(206)},f=n(128),d=n(71).Buffer,p=i.Uint8Array||function(){},g=n(129);function m(){}function v(t,e){a=a||n(39),t=t||{};var r=e instanceof a;this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var i=t.highWaterMark,c=t.writableHighWaterMark,h=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(c||0===c)?c:h,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var u=!1===t.decodeStrings;this.decodeStrings=!u,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,i=n.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,r,i){--e.pendingcb,n?(o.nextTick(i,r),o.nextTick(S,t,e),t._writableState.errorEmitted=!0,t.emit("error",r)):(i(r),t._writableState.errorEmitted=!0,t.emit("error",r),S(t,e))}(t,n,r,e,i);else{var s=_(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||x(t,n),r?l(y,t,n,s,i):y(t,n,s,i)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function b(t){if(a=a||n(39),!(h.call(b,this)||this instanceof a))return new b(t);this._writableState=new v(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),f.call(this)}function w(t,e,n,r,i,o,s){e.writelen=r,e.writecb=s,e.writing=!0,e.sync=!0,n?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function y(t,e,n,r){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,r(),S(t,e)}function x(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),o=e.corkedRequestsFree;o.entry=n;for(var a=0,l=!0;n;)i[a]=n,n.isBuf||(l=!1),n=n.next,a+=1;i.allBuffers=l,w(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new s(e),e.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,h=n.encoding,u=n.callback;if(w(t,e,!1,e.objectMode?1:c.length,c,h,u),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null)}e.bufferedRequest=n,e.bufferProcessing=!1}function _(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function k(t,e){t._final((function(n){e.pendingcb--,n&&t.emit("error",n),e.prefinished=!0,t.emit("prefinish"),S(t,e)}))}function S(t,e){var n=_(e);return n&&(function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,o.nextTick(k,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),n}c.inherits(b,f),v.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(v.prototype,"buffer",{get:u.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(h=Function.prototype[Symbol.hasInstance],Object.defineProperty(b,Symbol.hasInstance,{value:function(t){return!!h.call(this,t)||this===b&&t&&t._writableState instanceof v}})):h=function(t){return t instanceof this},b.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},b.prototype.write=function(t,e,n){var r,i=this._writableState,s=!1,a=!i.objectMode&&(r=t,d.isBuffer(r)||r instanceof p);return a&&!d.isBuffer(t)&&(t=function(t){return d.from(t)}(t)),"function"==typeof e&&(n=e,e=null),a?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof n&&(n=m),i.ended?function(t,e){var n=new Error("write after end");t.emit("error",n),o.nextTick(e,n)}(this,n):(a||function(t,e,n,r){var i=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||e.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(t.emit("error",s),o.nextTick(r,s),i=!1),i}(this,i,t,n))&&(i.pendingcb++,s=function(t,e,n,r,i,o){if(!n){var s=function(t,e,n){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=d.from(e,n)),e}(e,r,i);r!==s&&(n=!0,i="buffer",r=s)}var a=e.objectMode?1:r.length;e.length+=a;var l=e.length<e.highWaterMark;if(l||(e.needDrain=!0),e.writing||e.corked){var c=e.lastBufferedRequest;e.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},c?c.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else w(t,e,!1,a,r,i,o);return l}(this,i,a,t,e,n)),s},b.prototype.cork=function(){this._writableState.corked++},b.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.finished||t.bufferProcessing||!t.bufferedRequest||x(this,t))},b.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),b.prototype._write=function(t,e,n){n(new Error("_write() is not implemented"))},b.prototype._writev=null,b.prototype.end=function(t,e,n){var r=this._writableState;"function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(t,e,n){e.ending=!0,S(t,e),n&&(e.finished?o.nextTick(n):t.once("finish",n)),e.ended=!0,t.writable=!1}(this,r,n)},Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),b.prototype.destroy=g.destroy,b.prototype._undestroy=g.undestroy,b.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this,n(38),n(204).setImmediate,n(23))},function(t,e,n){t.exports=class{constructor(t={}){if(!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=t.maxSize,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(t,e){this.cache.set(t,e),this._size++,this._size>=this.maxSize&&(this._size=0,this.oldCache=this.cache,this.cache=new Map)}get(t){if(this.cache.has(t))return this.cache.get(t);if(this.oldCache.has(t)){const e=this.oldCache.get(t);return this._set(t,e),e}}set(t,e){return this.cache.has(t)?this.cache.set(t,e):this._set(t,e),this}has(t){return this.cache.has(t)||this.oldCache.has(t)}peek(t){return this.cache.has(t)?this.cache.get(t):this.oldCache.has(t)?this.oldCache.get(t):void 0}delete(t){const e=this.cache.delete(t);return e&&this._size--,this.oldCache.delete(t)||e}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(const[t]of this)yield t}*values(){for(const[,t]of this)yield t}*[Symbol.iterator](){for(const t of this.cache)yield t;for(const t of this.oldCache){const[e]=t;this.cache.has(e)||(yield t)}}get size(){let t=0;for(const e of this.oldCache.keys())this.cache.has(e)||t++;return this._size+t}}},function(t,e,n){e.f=n(6)},function(t,e,n){var r=n(139);function i(e,n){return t.exports=i=r||function(t,e){return t.__proto__=e,t},i(e,n)}t.exports=i},function(t,e,n){t.exports=n(310)},function(t,e,n){t.exports=n(319)},function(t,e,n){t.exports=n(342)},function(t,e,n){t.exports={CRAM_FLAG_PRESERVE_QUAL_SCORES:1,CRAM_FLAG_DETACHED:2,CRAM_FLAG_MATE_DOWNSTREAM:4,CRAM_FLAG_NO_SEQ:8,CRAM_FLAG_MASK:15,CRAM_M_REVERSE:1,CRAM_M_UNMAP:2,BAM_FPAIRED:1,BAM_FPROPER_PAIR:2,BAM_FUNMAP:4,BAM_FMUNMAP:8,BAM_FREVERSE:16,BAM_FMREVERSE:32,BAM_FREAD1:64,BAM_FREAD2:128,BAM_FSECONDARY:256,BAM_FQCFAIL:512,BAM_FDUP:1024,BAM_FSUPPLEMENTARY:2048,BAM_CMATCH:0,BAM_CINS:1,BAM_CDEL:2,BAM_CREF_SKIP:3,BAM_CSOFT_CLIP:4,BAM_CHARD_CLIP:5,BAM_CPAD:6,BAM_CEQUAL:7,BAM_CDIFF:8,BAM_CBACK:9,BAM_CIGAR_STR:"MIDNSHP:XB",BAM_CIGAR_SHIFT:4,BAM_CIGAR_MASK:15,BAM_CIGAR_TYPE:246183}},function(t,e,n){t.exports=n(368)},function(t,e,n){t.exports=n(396)},function(t,e,n){t.exports=n(399)},function(t,e,n){var r=n(164);t.exports=r},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},function(t,e,n){var r=n(17),i=n(12),o=n(79);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},function(t,e,n){var r=n(12),i=/#|\.prototype\./,o=function(t,e){var n=a[s(t)];return n==c||n!=l&&("function"==typeof e?r(e):!!e)},s=o.normalize=function(t){return String(t).replace(i,".").toLowerCase()},a=o.data={},l=o.NATIVE="N",c=o.POLYFILL="P";t.exports=o},function(t,e,n){var r,i,o,s=n(66),a=n(20),l=n(24),c=n(6),h=n(4),u=c("iterator"),f=!1;[].keys&&("next"in(o=[].keys())?(i=s(s(o)))!==Object.prototype&&(r=i):f=!0),null==r&&(r={}),h||l(r,u)||a(r,u,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:f}},function(t,e,n){var r=n(12);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},function(t,e,n){var r=n(12);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,e,n){var r=n(24),i=n(28),o=n(82).indexOf,s=n(50);t.exports=function(t,e){var n,a=i(t),l=0,c=[];for(n in a)!r(s,n)&&r(a,n)&&c.push(n);for(;e.length>l;)r(a,n=e[l++])&&(~o(c,n)||c.push(n));return c}},function(t,e,n){var r=n(26);t.exports=r("document","documentElement")},function(t,e,n){var r=n(14),i=n(53),o=n(6)("species");t.exports=function(t,e){var n;return i(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!i(n.prototype)?r(n)&&null===(n=n[o])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},function(t,e,n){var r=n(0),i=n(12),o=n(53),s=n(14),a=n(22),l=n(29),c=n(87),h=n(113),u=n(68),f=n(6)("isConcatSpreadable"),d=!i((function(){var t=[];return t[f]=!1,t.concat()[0]!==t})),p=u("concat"),g=function(t){if(!s(t))return!1;var e=t[f];return void 0!==e?!!e:o(t)};r({target:"Array",proto:!0,forced:!d||!p},{concat:function(t){var e,n,r,i,o,s=a(this),u=h(s,0),f=0;for(e=-1,r=arguments.length;e<r;e++)if(g(o=-1===e?s:arguments[e])){if(f+(i=l(o.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<i;n++,f++)n in o&&c(u,f,o[n])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");c(u,f++,o)}return u.length=f,u}})},function(t,e,n){n(88),n(46),n(41),n(188),n(125),n(191);var r=n(3);t.exports=r.Promise},function(t,e,n){var r=n(13);t.exports=r.Promise},function(t,e,n){var r=n(52);t.exports=function(t,e,n){for(var i in e)n&&n.unsafe&&t[i]?t[i]=e[i]:r(t,i,e[i],n);return t}},function(t,e,n){var r=n(26),i=n(21),o=n(6),s=n(17),a=o("species");t.exports=function(t){var e=r(t),n=i.f;s&&e&&!e[a]&&n(e,a,{configurable:!0,get:function(){return this}})}},function(t,e,n){var r=n(6),i=n(35),o=r("iterator"),s=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||s[o]===t)}},function(t,e,n){var r=n(2);t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&r(o.call(t)),e}}},function(t,e,n){var r=n(6)("iterator"),i=!1;try{var o=0,s={next:function(){return{done:!!o++}},return:function(){i=!0}};s[r]=function(){return this},Array.from(s,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o={};o[r]=function(){return{next:function(){return{done:n=!0}}}},t(o)}catch(t){}return n}},function(t,e,n){var r,i,o,s=n(13),a=n(12),l=n(34),c=n(15),h=n(112),u=n(79),f=s.location,d=s.setImmediate,p=s.clearImmediate,g=s.process,m=s.MessageChannel,v=s.Dispatch,b=0,w={},y=function(t){if(w.hasOwnProperty(t)){var e=w[t];delete w[t],e()}},x=function(t){return function(){y(t)}},_=function(t){y(t.data)},k=function(t){s.postMessage(t+"",f.protocol+"//"+f.host)};d&&p||(d=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return w[++b]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(b),b},p=function(t){delete w[t]},"process"==l(g)?r=function(t){g.nextTick(x(t))}:v&&v.now?r=function(t){v.now(x(t))}:m?(o=(i=new m).port2,i.port1.onmessage=_,r=c(o.postMessage,o,1)):!s.addEventListener||"function"!=typeof postMessage||s.importScripts||a(k)?r="onreadystatechange"in u("script")?function(t){h.appendChild(u("script")).onreadystatechange=function(){h.removeChild(this),y(t)}}:function(t){setTimeout(x(t),0)}:(r=k,s.addEventListener("message",_,!1))),t.exports={set:d,clear:p}},function(t,e,n){var r=n(26);t.exports=r("navigator","userAgent")||""},function(t,e,n){var r=n(2),i=n(14),o=n(56);t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var r=n(0),i=n(5),o=n(56),s=n(69),a=n(8);r({target:"Promise",stat:!0},{allSettled:function(t){var e=this,n=o.f(e),r=n.resolve,l=n.reject,c=s((function(){var n=i(e.resolve),o=[],s=0,l=1;a(t,(function(t){var i=s++,a=!1;o.push(void 0),l++,n.call(e,t).then((function(t){a||(a=!0,o[i]={status:"fulfilled",value:t},--l||r(o))}),(function(t){a||(a=!0,o[i]={status:"rejected",reason:t},--l||r(o))}))})),--l||r(o)}));return c.error&&l(c.value),n.promise}})},function(t,e,n){(function(t){var r=n(19).Buffer,i=n(200).Transform,o=n(212),s=n(133),a=n(132).ok,l=n(19).kMaxLength,c="Cannot create final Buffer. It would be larger than 0x"+l.toString(16)+" bytes";o.Z_MIN_WINDOWBITS=8,o.Z_MAX_WINDOWBITS=15,o.Z_DEFAULT_WINDOWBITS=15,o.Z_MIN_CHUNK=64,o.Z_MAX_CHUNK=1/0,o.Z_DEFAULT_CHUNK=16384,o.Z_MIN_MEMLEVEL=1,o.Z_MAX_MEMLEVEL=9,o.Z_DEFAULT_MEMLEVEL=8,o.Z_MIN_LEVEL=-1,o.Z_MAX_LEVEL=9,o.Z_DEFAULT_LEVEL=o.Z_DEFAULT_COMPRESSION;for(var h=Object.keys(o),u=0;u<h.length;u++){var f=h[u];f.match(/^Z/)&&Object.defineProperty(e,f,{enumerable:!0,value:o[f],writable:!1})}for(var d={Z_OK:o.Z_OK,Z_STREAM_END:o.Z_STREAM_END,Z_NEED_DICT:o.Z_NEED_DICT,Z_ERRNO:o.Z_ERRNO,Z_STREAM_ERROR:o.Z_STREAM_ERROR,Z_DATA_ERROR:o.Z_DATA_ERROR,Z_MEM_ERROR:o.Z_MEM_ERROR,Z_BUF_ERROR:o.Z_BUF_ERROR,Z_VERSION_ERROR:o.Z_VERSION_ERROR},p=Object.keys(d),g=0;g<p.length;g++){var m=p[g];d[d[m]]=m}function v(t,e,n){var i=[],o=0;function s(){for(var e;null!==(e=t.read());)i.push(e),o+=e.length;t.once("readable",s)}function a(){var e,s=null;o>=l?s=new RangeError(c):e=r.concat(i,o),i=[],t.close(),n(s,e)}t.on("error",(function(e){t.removeListener("end",a),t.removeListener("readable",s),n(e)})),t.on("end",a),t.end(e),s()}function b(t,e){if("string"==typeof e&&(e=r.from(e)),!r.isBuffer(e))throw new TypeError("Not a string or buffer");var n=t._finishFlushFlag;return t._processChunk(e,n)}function w(t){if(!(this instanceof w))return new w(t);A.call(this,t,o.DEFLATE)}function y(t){if(!(this instanceof y))return new y(t);A.call(this,t,o.INFLATE)}function x(t){if(!(this instanceof x))return new x(t);A.call(this,t,o.GZIP)}function _(t){if(!(this instanceof _))return new _(t);A.call(this,t,o.GUNZIP)}function k(t){if(!(this instanceof k))return new k(t);A.call(this,t,o.DEFLATERAW)}function S(t){if(!(this instanceof S))return new S(t);A.call(this,t,o.INFLATERAW)}function C(t){if(!(this instanceof C))return new C(t);A.call(this,t,o.UNZIP)}function E(t){return t===o.Z_NO_FLUSH||t===o.Z_PARTIAL_FLUSH||t===o.Z_SYNC_FLUSH||t===o.Z_FULL_FLUSH||t===o.Z_FINISH||t===o.Z_BLOCK}function A(t,n){var s=this;if(this._opts=t=t||{},this._chunkSize=t.chunkSize||e.Z_DEFAULT_CHUNK,i.call(this,t),t.flush&&!E(t.flush))throw new Error("Invalid flush flag: "+t.flush);if(t.finishFlush&&!E(t.finishFlush))throw new Error("Invalid flush flag: "+t.finishFlush);if(this._flushFlag=t.flush||o.Z_NO_FLUSH,this._finishFlushFlag=void 0!==t.finishFlush?t.finishFlush:o.Z_FINISH,t.chunkSize&&(t.chunkSize<e.Z_MIN_CHUNK||t.chunkSize>e.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+t.chunkSize);if(t.windowBits&&(t.windowBits<e.Z_MIN_WINDOWBITS||t.windowBits>e.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+t.windowBits);if(t.level&&(t.level<e.Z_MIN_LEVEL||t.level>e.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+t.level);if(t.memLevel&&(t.memLevel<e.Z_MIN_MEMLEVEL||t.memLevel>e.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+t.memLevel);if(t.strategy&&t.strategy!=e.Z_FILTERED&&t.strategy!=e.Z_HUFFMAN_ONLY&&t.strategy!=e.Z_RLE&&t.strategy!=e.Z_FIXED&&t.strategy!=e.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+t.strategy);if(t.dictionary&&!r.isBuffer(t.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new o.Zlib(n);var a=this;this._hadError=!1,this._handle.onerror=function(t,n){T(a),a._hadError=!0;var r=new Error(t);r.errno=n,r.code=e.codes[n],a.emit("error",r)};var l=e.Z_DEFAULT_COMPRESSION;"number"==typeof t.level&&(l=t.level);var c=e.Z_DEFAULT_STRATEGY;"number"==typeof t.strategy&&(c=t.strategy),this._handle.init(t.windowBits||e.Z_DEFAULT_WINDOWBITS,l,t.memLevel||e.Z_DEFAULT_MEMLEVEL,c,t.dictionary),this._buffer=r.allocUnsafe(this._chunkSize),this._offset=0,this._level=l,this._strategy=c,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!s._handle},configurable:!0,enumerable:!0})}function T(e,n){n&&t.nextTick(n),e._handle&&(e._handle.close(),e._handle=null)}function L(t){t.emit("close")}Object.defineProperty(e,"codes",{enumerable:!0,value:Object.freeze(d),writable:!1}),e.Deflate=w,e.Inflate=y,e.Gzip=x,e.Gunzip=_,e.DeflateRaw=k,e.InflateRaw=S,e.Unzip=C,e.createDeflate=function(t){return new w(t)},e.createInflate=function(t){return new y(t)},e.createDeflateRaw=function(t){return new k(t)},e.createInflateRaw=function(t){return new S(t)},e.createGzip=function(t){return new x(t)},e.createGunzip=function(t){return new _(t)},e.createUnzip=function(t){return new C(t)},e.deflate=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new w(e),t,n)},e.deflateSync=function(t,e){return b(new w(e),t)},e.gzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new x(e),t,n)},e.gzipSync=function(t,e){return b(new x(e),t)},e.deflateRaw=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new k(e),t,n)},e.deflateRawSync=function(t,e){return b(new k(e),t)},e.unzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new C(e),t,n)},e.unzipSync=function(t,e){return b(new C(e),t)},e.inflate=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new y(e),t,n)},e.inflateSync=function(t,e){return b(new y(e),t)},e.gunzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new _(e),t,n)},e.gunzipSync=function(t,e){return b(new _(e),t)},e.inflateRaw=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new S(e),t,n)},e.inflateRawSync=function(t,e){return b(new S(e),t)},s.inherits(A,i),A.prototype.params=function(n,r,i){if(n<e.Z_MIN_LEVEL||n>e.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+n);if(r!=e.Z_FILTERED&&r!=e.Z_HUFFMAN_ONLY&&r!=e.Z_RLE&&r!=e.Z_FIXED&&r!=e.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+r);if(this._level!==n||this._strategy!==r){var s=this;this.flush(o.Z_SYNC_FLUSH,(function(){a(s._handle,"zlib binding closed"),s._handle.params(n,r),s._hadError||(s._level=n,s._strategy=r,i&&i())}))}else t.nextTick(i)},A.prototype.reset=function(){return a(this._handle,"zlib binding closed"),this._handle.reset()},A.prototype._flush=function(t){this._transform(r.alloc(0),"",t)},A.prototype.flush=function(e,n){var i=this,s=this._writableState;("function"==typeof e||void 0===e&&!n)&&(n=e,e=o.Z_FULL_FLUSH),s.ended?n&&t.nextTick(n):s.ending?n&&this.once("end",n):s.needDrain?n&&this.once("drain",(function(){return i.flush(e,n)})):(this._flushFlag=e,this.write(r.alloc(0),"",n))},A.prototype.close=function(e){T(this,e),t.nextTick(L,this)},A.prototype._transform=function(t,e,n){var i,s=this._writableState,a=(s.ending||s.ended)&&(!t||s.length===t.length);return null===t||r.isBuffer(t)?this._handle?(a?i=this._finishFlushFlag:(i=this._flushFlag,t.length>=s.length&&(this._flushFlag=this._opts.flush||o.Z_NO_FLUSH)),void this._processChunk(t,i,n)):n(new Error("zlib binding closed")):n(new Error("invalid input"))},A.prototype._processChunk=function(t,e,n){var i=t&&t.length,o=this._chunkSize-this._offset,s=0,h=this,u="function"==typeof n;if(!u){var f,d=[],p=0;this.on("error",(function(t){f=t})),a(this._handle,"zlib binding closed");do{var g=this._handle.writeSync(e,t,s,i,this._buffer,this._offset,o)}while(!this._hadError&&b(g[0],g[1]));if(this._hadError)throw f;if(p>=l)throw T(this),new RangeError(c);var m=r.concat(d,p);return T(this),m}a(this._handle,"zlib binding closed");var v=this._handle.write(e,t,s,i,this._buffer,this._offset,o);function b(l,c){if(this&&(this.buffer=null,this.callback=null),!h._hadError){var f=o-c;if(a(f>=0,"have should not go down"),f>0){var g=h._buffer.slice(h._offset,h._offset+f);h._offset+=f,u?h.push(g):(d.push(g),p+=g.length)}if((0===c||h._offset>=h._chunkSize)&&(o=h._chunkSize,h._offset=0,h._buffer=r.allocUnsafe(h._chunkSize)),0===c){if(s+=i-l,i=l,!u)return!0;var m=h._handle.write(e,t,s,i,h._buffer,h._offset,h._chunkSize);return m.callback=b,void(m.buffer=t)}if(!u)return!1;n()}}v.buffer=t,v.callback=b},s.inherits(w,A),s.inherits(y,A),s.inherits(x,A),s.inherits(_,A),s.inherits(k,A),s.inherits(S,A),s.inherits(C,A)}).call(this,n(38))},function(t,e,n){(function(e,r){var i=n(70);t.exports=w;var o,s=n(105);w.ReadableState=b,n(91).EventEmitter;var a=function(t,e){return t.listeners(e).length},l=n(128),c=n(71).Buffer,h=e.Uint8Array||function(){},u=n(57);u.inherits=n(47);var f=n(201),d=void 0;d=f&&f.debuglog?f.debuglog("stream"):function(){};var p,g=n(202),m=n(129);u.inherits(w,l);var v=["error","close","destroy","pause","resume"];function b(t,e){t=t||{};var r=e instanceof(o=o||n(39));this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var i=t.highWaterMark,s=t.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(p||(p=n(130).StringDecoder),this.decoder=new p(t.encoding),this.encoding=t.encoding)}function w(t){if(o=o||n(39),!(this instanceof w))return new w(t);this._readableState=new b(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),l.call(this)}function y(t,e,n,r,i){var o,s=t._readableState;return null===e?(s.reading=!1,function(t,e){if(!e.ended){if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length)}e.ended=!0,S(t)}}(t,s)):(i||(o=function(t,e){var n,r;return r=e,c.isBuffer(r)||r instanceof h||"string"==typeof e||void 0===e||t.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(s,e)),o?t.emit("error",o):s.objectMode||e&&e.length>0?("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===c.prototype||(e=function(t){return c.from(t)}(e)),r?s.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):x(t,s,e,!0):s.ended?t.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(e=s.decoder.write(e),s.objectMode||0!==e.length?x(t,s,e,!1):E(t,s)):x(t,s,e,!1))):r||(s.reading=!1)),function(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}(s)}function x(t,e,n,r){e.flowing&&0===e.length&&!e.sync?(t.emit("data",n),t.read(0)):(e.length+=e.objectMode?1:n.length,r?e.buffer.unshift(n):e.buffer.push(n),e.needReadable&&S(t)),E(t,e)}Object.defineProperty(w.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),w.prototype.destroy=m.destroy,w.prototype._undestroy=m.undestroy,w.prototype._destroy=function(t,e){this.push(null),e(t)},w.prototype.push=function(t,e){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof t&&((e=e||r.defaultEncoding)!==r.encoding&&(t=c.from(t,e),e=""),n=!0),y(this,t,e,!1,n)},w.prototype.unshift=function(t){return y(this,t,null,!0,!1)},w.prototype.isPaused=function(){return!1===this._readableState.flowing},w.prototype.setEncoding=function(t){return p||(p=n(130).StringDecoder),this._readableState.decoder=new p(t),this._readableState.encoding=t,this};var _=8388608;function k(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=_?t=_:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function S(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(d("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i.nextTick(C,t):C(t))}function C(t){d("emit readable"),t.emit("readable"),M(t)}function E(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(A,t,e))}function A(t,e){for(var n=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(d("maybeReadMore read 0"),t.read(0),n!==e.length);)n=e.length;e.readingMore=!1}function T(t){d("readable nexttick read 0"),t.read(0)}function L(t,e){e.reading||(d("resume read 0"),t.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,t.emit("resume"),M(t),e.flowing&&!e.reading&&t.read(0)}function M(t){var e=t._readableState;for(d("flow",e.flowing);e.flowing&&null!==t.read(););}function R(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):n=function(t,e,n){var r;return t<e.head.data.length?(r=e.head.data.slice(0,t),e.head.data=e.head.data.slice(t)):r=t===e.head.data.length?e.shift():n?function(t,e){var n=e.head,r=1,i=n.data;for(t-=i.length;n=n.next;){var o=n.data,s=t>o.length?o.length:t;if(s===o.length?i+=o:i+=o.slice(0,t),0==(t-=s)){s===o.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(s));break}++r}return e.length-=r,i}(t,e):function(t,e){var n=c.allocUnsafe(t),r=e.head,i=1;for(r.data.copy(n),t-=r.data.length;r=r.next;){var o=r.data,s=t>o.length?o.length:t;if(o.copy(n,n.length-t,0,s),0==(t-=s)){s===o.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(s));break}++i}return e.length-=i,n}(t,e),r}(t,e.buffer,e.decoder),n);var n}function I(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i.nextTick(N,e,t))}function N(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function P(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}w.prototype.read=function(t){d("read",t),t=parseInt(t,10);var e=this._readableState,n=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return d("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?I(this):S(this),null;if(0===(t=k(t,e))&&e.ended)return 0===e.length&&I(this),null;var r,i=e.needReadable;return d("need readable",i),(0===e.length||e.length-t<e.highWaterMark)&&d("length less than watermark",i=!0),e.ended||e.reading?d("reading or ended",i=!1):i&&(d("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=k(n,e))),null===(r=t>0?R(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&I(this)),null!==r&&this.emit("data",r),r},w.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},w.prototype.pipe=function(t,e){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,d("pipe count=%d opts=%j",o.pipesCount,e);var l=e&&!1===e.end||t===r.stdout||t===r.stderr?b:c;function c(){d("onend"),t.end()}o.endEmitted?i.nextTick(l):n.once("end",l),t.on("unpipe",(function e(r,i){d("onunpipe"),r===n&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,d("cleanup"),t.removeListener("close",m),t.removeListener("finish",v),t.removeListener("drain",h),t.removeListener("error",g),t.removeListener("unpipe",e),n.removeListener("end",c),n.removeListener("end",b),n.removeListener("data",p),u=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||h())}));var h=function(t){return function(){var e=t._readableState;d("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,"data")&&(e.flowing=!0,M(t))}}(n);t.on("drain",h);var u=!1,f=!1;function p(e){d("ondata"),f=!1,!1!==t.write(e)||f||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==P(o.pipes,t))&&!u&&(d("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,f=!0),n.pause())}function g(e){d("onerror",e),b(),t.removeListener("error",g),0===a(t,"error")&&t.emit("error",e)}function m(){t.removeListener("finish",v),b()}function v(){d("onfinish"),t.removeListener("close",m),b()}function b(){d("unpipe"),n.unpipe(t)}return n.on("data",p),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?s(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",g),t.once("close",m),t.once("finish",v),t.emit("pipe",n),o.flowing||(d("pipe resume"),n.resume()),t},w.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)r[o].emit("unpipe",this,n);return this}var s=P(e.pipes,t);return-1===s||(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,n)),this},w.prototype.on=function(t,e){var n=l.prototype.on.call(this,t,e);if("data"===t)!1!==this._readableState.flowing&&this.resume();else if("readable"===t){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&S(this):i.nextTick(T,this))}return n},w.prototype.addListener=w.prototype.on,w.prototype.resume=function(){var t=this._readableState;return t.flowing||(d("resume"),t.flowing=!0,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(L,t,e))}(this,t)),this},w.prototype.pause=function(){return d("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(d("pause"),this._readableState.flowing=!1,this.emit("pause")),this},w.prototype.wrap=function(t){var e=this,n=this._readableState,r=!1;for(var i in t.on("end",(function(){if(d("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){d("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i||(n.objectMode||i&&i.length)&&(e.push(i)||(r=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o<v.length;o++)t.on(v[o],this.emit.bind(this,v[o]));return this._read=function(e){d("wrapped _read",e),r&&(r=!1,t.resume())},this},Object.defineProperty(w.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),w._fromList=R}).call(this,n(23),n(38))},function(t,e,n){t.exports=n(91).EventEmitter},function(t,e,n){var r=n(70);function i(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var n=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(e?e(t):!t||this._writableState&&this._writableState.errorEmitted||r.nextTick(i,this,t),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?(r.nextTick(i,n,t),n._writableState&&(n._writableState.errorEmitted=!0)):e&&e(t)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(t,e,n){var r=n(71).Buffer,i=r.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(r.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=c,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=h,this.end=u,e=3;break;default:return this.write=f,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(e)}function s(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function h(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function u(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.StringDecoder=o,o.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<t.length?e?e+this.text(t,n):this.text(t,n):e||""},o.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},o.prototype.text=function(t,e){var n=function(t,e,n){var r=e.length-1;if(r<n)return 0;var i=s(e[r]);return i>=0?(i>0&&(t.lastNeed=i-1),i):--r<n||-2===i?0:(i=s(e[r]))>=0?(i>0&&(t.lastNeed=i-2),i):--r<n||-2===i?0:(i=s(e[r]))>=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},function(t,e,n){t.exports=s;var r=n(39),i=n(57);function o(t,e){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=e&&this.push(e),r(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function s(t){if(!(this instanceof s))return new s(t);r.call(this,t),this._transformState={afterTransform:o.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",a)}function a(){var t=this;"function"==typeof this._flush?this._flush((function(e,n){l(t,e,n)})):l(this,null,null)}function l(t,e,n){if(e)return t.emit("error",e);if(null!=n&&t.push(n),t._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(t._transformState.transforming)throw new Error("Calling transform done when still transforming");return t.push(null)}i.inherits=n(47),i.inherits(s,r),s.prototype.push=function(t,e){return this._transformState.needTransform=!1,r.prototype.push.call(this,t,e)},s.prototype._transform=function(t,e,n){throw new Error("_transform() is not implemented")},s.prototype._write=function(t,e,n){var r=this._transformState;if(r.writecb=n,r.writechunk=t,r.writeencoding=e,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},s.prototype._read=function(t){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0},s.prototype._destroy=function(t,e){var n=this;r.prototype._destroy.call(this,t,(function(t){e(t),n.emit("close")}))}},function(t,e,n){(function(e){var r=n(213);
47
47
  /*!
48
48
  * The buffer module from node.js, for the browser.
49
49
  *
50
50
  * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
51
51
  * @license MIT
52
- */function i(t,e){if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i<o;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0}function o(t){return e.Buffer&&"function"==typeof e.Buffer.isBuffer?e.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var s=n(133),a=Object.prototype.hasOwnProperty,c=Array.prototype.slice,l="foo"===function(){}.name;function h(t){return Object.prototype.toString.call(t)}function u(t){return!o(t)&&"function"==typeof e.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer)))}var f=t.exports=b,d=/\s*function\s+([^\(\s]*)\s*/;function p(t){if(s.isFunction(t)){if(l)return t.name;var e=t.toString().match(d);return e&&e[1]}}function g(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function m(t){if(l||!s.isFunction(t))return s.inspect(t);var e=p(t);return"[Function"+(e?": "+e:"")+"]"}function v(t,e,n,r,i){throw new f.AssertionError({message:n,actual:t,expected:e,operator:r,stackStartFunction:i})}function b(t,e){t||v(t,!0,e,"==",f.ok)}function w(t,e,n,r){if(t===e)return!0;if(o(t)&&o(e))return 0===i(t,e);if(s.isDate(t)&&s.isDate(e))return t.getTime()===e.getTime();if(s.isRegExp(t)&&s.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&"object"==typeof t||null!==e&&"object"==typeof e){if(u(t)&&u(e)&&h(t)===h(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===i(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(o(t)!==o(e))return!1;var a=(r=r||{actual:[],expected:[]}).actual.indexOf(t);return-1!==a&&a===r.expected.indexOf(e)||(r.actual.push(t),r.expected.push(e),function(t,e,n,r){if(null==t||null==e)return!1;if(s.isPrimitive(t)||s.isPrimitive(e))return t===e;if(n&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=y(t),o=y(e);if(i&&!o||!i&&o)return!1;if(i)return w(t=c.call(t),e=c.call(e),n);var a,l,h=k(t),u=k(e);if(h.length!==u.length)return!1;for(h.sort(),u.sort(),l=h.length-1;l>=0;l--)if(h[l]!==u[l])return!1;for(l=h.length-1;l>=0;l--)if(!w(t[a=h[l]],e[a],n,r))return!1;return!0}(t,e,n,r))}return n?t===e:t==e}function y(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function x(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function _(t,e,n,r){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),t&&!i&&v(i,n,"Missing expected exception"+r);var o="string"==typeof r,a=!t&&i&&!n;if((!t&&s.isError(i)&&o&&x(i,n)||a)&&v(i,n,"Got unwanted exception"+r),t&&i&&n&&!x(i,n)||!t&&i)throw i}f.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return g(m(t.actual),128)+" "+t.operator+" "+g(m(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var n=new Error;if(n.stack){var r=n.stack,i=p(e),o=r.indexOf("\n"+i);if(o>=0){var s=r.indexOf("\n",o+1);r=r.substring(s+1)}this.stack=r}}},s.inherits(f.AssertionError,Error),f.fail=v,f.ok=b,f.equal=function(t,e,n){t!=e&&v(t,e,n,"==",f.equal)},f.notEqual=function(t,e,n){t==e&&v(t,e,n,"!=",f.notEqual)},f.deepEqual=function(t,e,n){w(t,e,!1)||v(t,e,n,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,n){w(t,e,!0)||v(t,e,n,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,n){w(t,e,!1)&&v(t,e,n,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,n,r){w(e,n,!0)&&v(e,n,r,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,n){t!==e&&v(t,e,n,"===",f.strictEqual)},f.notStrictEqual=function(t,e,n){t===e&&v(t,e,n,"!==",f.notStrictEqual)},f.throws=function(t,e,n){_(!0,t,e,n)},f.doesNotThrow=function(t,e,n){_(!1,t,e,n)},f.ifError=function(t){if(t)throw t},f.strict=r((function t(e,n){e||v(e,!0,n,"==",t)}),f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var k=Object.keys||function(t){var e=[];for(var n in t)a.call(t,n)&&e.push(n);return e}}).call(this,n(23))},function(t,e,n){(function(t){var r=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),n={},r=0;r<e.length;r++)n[e[r]]=Object.getOwnPropertyDescriptor(t,e[r]);return n},i=/%[sdj%]/g;e.format=function(t){if(!v(t)){for(var e=[],n=0;n<arguments.length;n++)e.push(a(arguments[n]));return e.join(" ")}n=1;for(var r=arguments,o=r.length,s=String(t).replace(i,(function(t){if("%%"===t)return"%";if(n>=o)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return t}})),c=r[n];n<o;c=r[++n])g(c)||!y(c)?s+=" "+c:s+=" "+a(c);return s},e.deprecate=function(n,r){if(void 0!==t&&!0===t.noDeprecation)return n;if(void 0===t)return function(){return e.deprecate(n,r).apply(this,arguments)};var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(r);t.traceDeprecation?console.trace(r):console.error(r),i=!0}return n.apply(this,arguments)}};var o,s={};function a(t,n){var r={seen:[],stylize:l};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(n)?r.showHidden=n:n&&e._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=c),h(r,t,r.depth)}function c(t,e){var n=a.styles[e];return n?"["+a.colors[n][0]+"m"+t+"["+a.colors[n][1]+"m":t}function l(t,e){return t}function h(t,n,r){if(t.customInspect&&n&&k(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return v(i)||(i=h(t,i,r)),i}var o=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(v(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return m(e)?t.stylize(""+e,"number"):p(e)?t.stylize(""+e,"boolean"):g(e)?t.stylize("null","null"):void 0}(t,n);if(o)return o;var s=Object.keys(n),a=function(t){var e={};return t.forEach((function(t,n){e[t]=!0})),e}(s);if(t.showHidden&&(s=Object.getOwnPropertyNames(n)),_(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return u(n);if(0===s.length){if(k(n)){var c=n.name?": "+n.name:"";return t.stylize("[Function"+c+"]","special")}if(w(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(x(n))return t.stylize(Date.prototype.toString.call(n),"date");if(_(n))return u(n)}var l,y="",S=!1,C=["{","}"];return d(n)&&(S=!0,C=["[","]"]),k(n)&&(y=" [Function"+(n.name?": "+n.name:"")+"]"),w(n)&&(y=" "+RegExp.prototype.toString.call(n)),x(n)&&(y=" "+Date.prototype.toUTCString.call(n)),_(n)&&(y=" "+u(n)),0!==s.length||S&&0!=n.length?r<0?w(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),l=S?function(t,e,n,r,i){for(var o=[],s=0,a=e.length;s<a;++s)T(e,String(s))?o.push(f(t,e,n,r,String(s),!0)):o.push("");return i.forEach((function(i){i.match(/^\d+$/)||o.push(f(t,e,n,r,i,!0))})),o}(t,n,r,a,s):s.map((function(e){return f(t,n,r,a,e,S)})),t.seen.pop(),function(t,e,n){return t.reduce((function(t,e){return e.indexOf("\n"),t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}(l,y,C)):C[0]+y+C[1]}function u(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,n,r,i,o){var s,a,c;if((c=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?a=c.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):c.set&&(a=t.stylize("[Setter]","special")),T(r,i)||(s="["+i+"]"),a||(t.seen.indexOf(c.value)<0?(a=g(n)?h(t,c.value,null):h(t,c.value,n-1)).indexOf("\n")>-1&&(a=o?a.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+a.split("\n").map((function(t){return" "+t})).join("\n")):a=t.stylize("[Circular]","special")),b(s)){if(o&&i.match(/^\d+$/))return a;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=t.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=t.stylize(s,"string"))}return s+": "+a}function d(t){return Array.isArray(t)}function p(t){return"boolean"==typeof t}function g(t){return null===t}function m(t){return"number"==typeof t}function v(t){return"string"==typeof t}function b(t){return void 0===t}function w(t){return y(t)&&"[object RegExp]"===S(t)}function y(t){return"object"==typeof t&&null!==t}function x(t){return y(t)&&"[object Date]"===S(t)}function _(t){return y(t)&&("[object Error]"===S(t)||t instanceof Error)}function k(t){return"function"==typeof t}function S(t){return Object.prototype.toString.call(t)}function C(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(n){if(b(o)&&(o=t.env.NODE_DEBUG||""),n=n.toUpperCase(),!s[n])if(new RegExp("\\b"+n+"\\b","i").test(o)){var r=t.pid;s[n]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",n,r,t)}}else s[n]=function(){};return s[n]},e.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=p,e.isNull=g,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=v,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=w,e.isObject=y,e.isDate=x,e.isError=_,e.isFunction=k,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(214);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(){var t=new Date,e=[C(t.getHours()),C(t.getMinutes()),C(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],e].join(" ")}function T(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",A(),e.format.apply(e,arguments))},e.inherits=n(215),e._extend=function(t,e){if(!e||!y(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};var L="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(t,e){if(!t){var n=new Error("Promise was rejected with a falsy value");n.reason=t,t=n}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(L&&t[L]){var e;if("function"!=typeof(e=t[L]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,L,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,n,r=new Promise((function(t,r){e=t,n=r})),i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);i.push((function(t,r){t?n(t):e(r)}));try{t.apply(this,i)}catch(t){n(t)}return r}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),L&&Object.defineProperty(e,L,{value:e,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(e,r(t))},e.promisify.custom=L,e.callbackify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');function n(){for(var n=[],r=0;r<arguments.length;r++)n.push(arguments[r]);var i=n.pop();if("function"!=typeof i)throw new TypeError("The last argument must be of type Function");var o=this,s=function(){return i.apply(o,arguments)};e.apply(this,n).then((function(e){t.nextTick(s,null,e)}),(function(e){t.nextTick(R,e,s)}))}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.defineProperties(n,r(e)),n}}).call(this,n(38))},function(t,e,n){t.exports=function(t,e,n,r){for(var i=65535&t|0,o=t>>>16&65535|0,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{o=o+(i=i+e[r++]|0)|0}while(--s);i%=65521,o%=65521}return i|o<<16|0}},function(t,e,n){var r=function(){for(var t,e=[],n=0;n<256;n++){t=n;for(var r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e}();t.exports=function(t,e,n,i){var o=r,s=i+n;t^=-1;for(var a=i;a<s;a++)t=t>>>8^o[255&(t^e[a])];return-1^t}},function(t,e,n){n(11)("iterator")},function(t,e,n){var r=n(111),i=n(85).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){t.exports=n(259)},function(t,e,n){t.exports=n(262)},function(t,e,n){var r=n(50),i=n(14),o=n(24),s=n(21).f,a=n(64),c=n(271),l=a("meta"),h=0,u=Object.isExtensible||function(){return!0},f=function(t){s(t,l,{value:{objectID:"O"+ ++h,weakData:{}}})},d=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,l)){if(!u(t))return"F";if(!e)return"E";f(t)}return t[l].objectID},getWeakData:function(t,e){if(!o(t,l)){if(!u(t))return!0;if(!e)return!1;f(t)}return t[l].weakData},onFreeze:function(t){return c&&d.REQUIRED&&u(t)&&!o(t,l)&&f(t),t}};r[l]=!0},function(t,e,n){var r=n(2),i=n(90);t.exports=function(t){var e=i(t);if("function"!=typeof e)throw TypeError(String(t)+" is not iterable");return r(e.call(t))}},function(t,e,n){var r=n(298),i=Array.prototype;t.exports=function(t){var e=t.indexOf;return t===i||t instanceof Array&&e===i.indexOf?r:e}},function(t,e,n){var r=n(303),i=Function.prototype;t.exports=function(t){var e=t.bind;return t===i||t instanceof Function&&e===i.bind?r:e}},function(t,e,n){var r=n(5),i=n(14),o=[].slice,s={},a=function(t,e,n){if(!(e in s)){for(var r=[],i=0;i<e;i++)r[i]="a["+i+"]";s[e]=Function("C,a","return new C("+r.join(",")+")")}return s[e](t,n)};t.exports=Function.bind||function(t){var e=r(this),n=o.call(arguments,1),s=function(){var r=n.concat(o.call(arguments));return this instanceof s?a(e,r.length,r):e.apply(t,r)};return i(e.prototype)&&(s.prototype=e.prototype),s}},function(t,e){t.exports=r;var n=null;try{n=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(t){}function r(t,e,n){this.low=0|t,this.high=0|e,this.unsigned=!!n}function i(t){return!0===(t&&t.__isLong__)}r.prototype.__isLong__,Object.defineProperty(r.prototype,"__isLong__",{value:!0}),r.isLong=i;var o={},s={};function a(t,e){var n,r,i;return e?(i=0<=(t>>>=0)&&t<256)&&(r=s[t])?r:(n=l(t,(0|t)<0?-1:0,!0),i&&(s[t]=n),n):(i=-128<=(t|=0)&&t<128)&&(r=o[t])?r:(n=l(t,t<0?-1:0,!1),i&&(o[t]=n),n)}function c(t,e){if(isNaN(t))return e?b:v;if(e){if(t<0)return b;if(t>=p)return k}else{if(t<=-g)return S;if(t+1>=g)return _}return t<0?c(-t,e).neg():l(t%d|0,t/d|0,e)}function l(t,e,n){return new r(t,e,n)}r.fromInt=a,r.fromNumber=c,r.fromBits=l;var h=Math.pow;function u(t,e,n){if(0===t.length)throw Error("empty string");if("NaN"===t||"Infinity"===t||"+Infinity"===t||"-Infinity"===t)return v;if("number"==typeof e?(n=e,e=!1):e=!!e,(n=n||10)<2||36<n)throw RangeError("radix");var r;if((r=t.indexOf("-"))>0)throw Error("interior hyphen");if(0===r)return u(t.substring(1),e,n).neg();for(var i=c(h(n,8)),o=v,s=0;s<t.length;s+=8){var a=Math.min(8,t.length-s),l=parseInt(t.substring(s,s+a),n);if(a<8){var f=c(h(n,a));o=o.mul(f).add(c(l))}else o=(o=o.mul(i)).add(c(l))}return o.unsigned=e,o}function f(t,e){return"number"==typeof t?c(t,e):"string"==typeof t?u(t,e):l(t.low,t.high,"boolean"==typeof e?e:t.unsigned)}r.fromString=u,r.fromValue=f;var d=4294967296,p=d*d,g=p/2,m=a(1<<24),v=a(0);r.ZERO=v;var b=a(0,!0);r.UZERO=b;var w=a(1);r.ONE=w;var y=a(1,!0);r.UONE=y;var x=a(-1);r.NEG_ONE=x;var _=l(-1,2147483647,!1);r.MAX_VALUE=_;var k=l(-1,-1,!0);r.MAX_UNSIGNED_VALUE=k;var S=l(0,-2147483648,!1);r.MIN_VALUE=S;var C=r.prototype;C.toInt=function(){return this.unsigned?this.low>>>0:this.low},C.toNumber=function(){return this.unsigned?(this.high>>>0)*d+(this.low>>>0):this.high*d+(this.low>>>0)},C.toString=function(t){if((t=t||10)<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(S)){var e=c(t),n=this.div(e),r=n.mul(e).sub(this);return n.toString(t)+r.toInt().toString(t)}return"-"+this.neg().toString(t)}for(var i=c(h(t,6),this.unsigned),o=this,s="";;){var a=o.div(i),l=(o.sub(a.mul(i)).toInt()>>>0).toString(t);if((o=a).isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}},C.getHighBits=function(){return this.high},C.getHighBitsUnsigned=function(){return this.high>>>0},C.getLowBits=function(){return this.low},C.getLowBitsUnsigned=function(){return this.low>>>0},C.getNumBitsAbs=function(){if(this.isNegative())return this.eq(S)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,e=31;e>0&&0==(t&1<<e);e--);return 0!=this.high?e+33:e+1},C.isZero=function(){return 0===this.high&&0===this.low},C.eqz=C.isZero,C.isNegative=function(){return!this.unsigned&&this.high<0},C.isPositive=function(){return this.unsigned||this.high>=0},C.isOdd=function(){return 1==(1&this.low)},C.isEven=function(){return 0==(1&this.low)},C.equals=function(t){return i(t)||(t=f(t)),(this.unsigned===t.unsigned||this.high>>>31!=1||t.high>>>31!=1)&&this.high===t.high&&this.low===t.low},C.eq=C.equals,C.notEquals=function(t){return!this.eq(t)},C.neq=C.notEquals,C.ne=C.notEquals,C.lessThan=function(t){return this.comp(t)<0},C.lt=C.lessThan,C.lessThanOrEqual=function(t){return this.comp(t)<=0},C.lte=C.lessThanOrEqual,C.le=C.lessThanOrEqual,C.greaterThan=function(t){return this.comp(t)>0},C.gt=C.greaterThan,C.greaterThanOrEqual=function(t){return this.comp(t)>=0},C.gte=C.greaterThanOrEqual,C.ge=C.greaterThanOrEqual,C.compare=function(t){if(i(t)||(t=f(t)),this.eq(t))return 0;var e=this.isNegative(),n=t.isNegative();return e&&!n?-1:!e&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1},C.comp=C.compare,C.negate=function(){return!this.unsigned&&this.eq(S)?S:this.not().add(w)},C.neg=C.negate,C.add=function(t){i(t)||(t=f(t));var e=this.high>>>16,n=65535&this.high,r=this.low>>>16,o=65535&this.low,s=t.high>>>16,a=65535&t.high,c=t.low>>>16,h=0,u=0,d=0,p=0;return d+=(p+=o+(65535&t.low))>>>16,u+=(d+=r+c)>>>16,h+=(u+=n+a)>>>16,h+=e+s,l((d&=65535)<<16|(p&=65535),(h&=65535)<<16|(u&=65535),this.unsigned)},C.subtract=function(t){return i(t)||(t=f(t)),this.add(t.neg())},C.sub=C.subtract,C.multiply=function(t){if(this.isZero())return v;if(i(t)||(t=f(t)),n)return l(n.mul(this.low,this.high,t.low,t.high),n.get_high(),this.unsigned);if(t.isZero())return v;if(this.eq(S))return t.isOdd()?S:v;if(t.eq(S))return this.isOdd()?S:v;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(m)&&t.lt(m))return c(this.toNumber()*t.toNumber(),this.unsigned);var e=this.high>>>16,r=65535&this.high,o=this.low>>>16,s=65535&this.low,a=t.high>>>16,h=65535&t.high,u=t.low>>>16,d=65535&t.low,p=0,g=0,b=0,w=0;return b+=(w+=s*d)>>>16,g+=(b+=o*d)>>>16,b&=65535,g+=(b+=s*u)>>>16,p+=(g+=r*d)>>>16,g&=65535,p+=(g+=o*u)>>>16,g&=65535,p+=(g+=s*h)>>>16,p+=e*d+r*u+o*h+s*a,l((b&=65535)<<16|(w&=65535),(p&=65535)<<16|(g&=65535),this.unsigned)},C.mul=C.multiply,C.divide=function(t){if(i(t)||(t=f(t)),t.isZero())throw Error("division by zero");var e,r,o;if(n)return this.unsigned||-2147483648!==this.high||-1!==t.low||-1!==t.high?l((this.unsigned?n.div_u:n.div_s)(this.low,this.high,t.low,t.high),n.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?b:v;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return b;if(t.gt(this.shru(1)))return y;o=b}else{if(this.eq(S))return t.eq(w)||t.eq(x)?S:t.eq(S)?w:(e=this.shr(1).div(t).shl(1)).eq(v)?t.isNegative()?w:x:(r=this.sub(t.mul(e)),o=e.add(r.div(t)));if(t.eq(S))return this.unsigned?b:v;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();o=v}for(r=this;r.gte(t);){e=Math.max(1,Math.floor(r.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(e)/Math.LN2),a=s<=48?1:h(2,s-48),u=c(e),d=u.mul(t);d.isNegative()||d.gt(r);)d=(u=c(e-=a,this.unsigned)).mul(t);u.isZero()&&(u=w),o=o.add(u),r=r.sub(d)}return o},C.div=C.divide,C.modulo=function(t){return i(t)||(t=f(t)),n?l((this.unsigned?n.rem_u:n.rem_s)(this.low,this.high,t.low,t.high),n.get_high(),this.unsigned):this.sub(this.div(t).mul(t))},C.mod=C.modulo,C.rem=C.modulo,C.not=function(){return l(~this.low,~this.high,this.unsigned)},C.and=function(t){return i(t)||(t=f(t)),l(this.low&t.low,this.high&t.high,this.unsigned)},C.or=function(t){return i(t)||(t=f(t)),l(this.low|t.low,this.high|t.high,this.unsigned)},C.xor=function(t){return i(t)||(t=f(t)),l(this.low^t.low,this.high^t.high,this.unsigned)},C.shiftLeft=function(t){return i(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?l(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):l(0,this.low<<t-32,this.unsigned)},C.shl=C.shiftLeft,C.shiftRight=function(t){return i(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?l(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):l(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},C.shr=C.shiftRight,C.shiftRightUnsigned=function(t){if(i(t)&&(t=t.toInt()),0==(t&=63))return this;var e=this.high;return t<32?l(this.low>>>t|e<<32-t,e>>>t,this.unsigned):l(32===t?e:e>>>t-32,0,this.unsigned)},C.shru=C.shiftRightUnsigned,C.shr_u=C.shiftRightUnsigned,C.toSigned=function(){return this.unsigned?l(this.low,this.high,!1):this},C.toUnsigned=function(){return this.unsigned?this:l(this.low,this.high,!0)},C.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()},C.toBytesLE=function(){var t=this.high,e=this.low;return[255&e,e>>>8&255,e>>>16&255,e>>>24,255&t,t>>>8&255,t>>>16&255,t>>>24]},C.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,255&t,e>>>24,e>>>16&255,e>>>8&255,255&e]},r.fromBytes=function(t,e,n){return n?r.fromBytesLE(t,e):r.fromBytesBE(t,e)},r.fromBytesLE=function(t,e){return new r(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)},r.fromBytesBE=function(t,e){return new r(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)}},function(t,e){var n={utf8:{stringToBytes:function(t){return n.bin.stringToBytes(unescape(encodeURIComponent(t)))},bytesToString:function(t){return decodeURIComponent(escape(n.bin.bytesToString(t)))}},bin:{stringToBytes:function(t){for(var e=[],n=0;n<t.length;n++)e.push(255&t.charCodeAt(n));return e},bytesToString:function(t){for(var e=[],n=0;n<t.length;n++)e.push(String.fromCharCode(t[n]));return e.join("")}}};t.exports=n},function(t,e,n){t.exports=n(335)},function(t,e,n){var r=n(17),i=n(51),o=n(28),s=n(65).f,a=function(t){return function(e){for(var n,a=o(e),c=i(a),l=c.length,h=0,u=[];l>h;)n=c[h++],r&&!s.call(a,n)||u.push(t?[n,a[n]]:a[n]);return u}};t.exports={entries:a(!0),values:a(!1)}},function(t,e,n){t.exports=n(338)},function(t,e,n){t.exports=n(352)},function(t,e,n){var r=n(355),i=n(153);t.exports=function(t){if(i(Object(t))||"[object Arguments]"===Object.prototype.toString.call(t))return r(t)}},function(t,e,n){t.exports=n(360)},function(t,e,n){t.exports=n(372)},function(t,e,n){var r=n(13),i=n(375).trim,o=n(156),s=r.parseInt,a=/^[+-]?0[Xx]/,c=8!==s(o+"08")||22!==s(o+"0x16");t.exports=c?function(t,e){var n=i(String(t));return s(n,e>>>0||(a.test(n)?16:10))}:s},function(t,e){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},function(t,e,n){var r=n(151);t.exports=function(t){if(r(t))return t}},function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(t,e,n){t.exports=n(393)},function(t,e,n){var r=n(419),i=n(426),o=n(429);function s(t){var e=r.parse(t),n=e.protocol,s=e.pathname;return"file:"===n?new o(unescape(s)):new i(t)}t.exports={LocalFile:o,RemoteFile:i,fromUrl:s,open:function(t,e,n){if(n)return n;if(t)return s(t);if(e)return new o(e);throw new Error("no url, path, or filehandle provided, cannot open")}}},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.promisify=i;var r="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__";function i(t){if("function"!=typeof t)throw new TypeError("Argument to promisify must be a function");var e=t[r],n=i.Promise||Promise;if("function"!=typeof n)throw new Error("No Promise implementation found; do you need a polyfill?");return function(){for(var r=this,i=arguments.length,o=new Array(i),s=0;s<i;s++)o[s]=arguments[s];return new n((function(n,i){o.push((function(t){if(t)return i(t);for(var r=arguments.length,o=new Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];if(1===o.length||!e)return n(o[0]);var a={};o.forEach((function(t,n){var r=e[n];r&&(a[r]=t)})),n(a)})),t.call.apply(t,[r].concat(o))}))}}i.argumentNames=r,i.Promise=void 0},function(t,e,n){(function(t){Object.defineProperty(e,"__esModule",{value:!0});var r=n(449),i=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==t)return t;throw new Error("unable to locate global object")},o=void 0===i().AbortController?r.AbortController:i().AbortController;e.AbortController=o;var s=void 0===i().AbortController?r.AbortSignal:i().AbortSignal;e.AbortSignal=s}).call(this,n(23))},function(t,e,n){var r=n(104),i=n(432),o=n(439);t.exports={CramFile:r,IndexedCramFile:i,CraiIndex:o}},function(t,e,n){(function(e){var r,i=n(1),o=i(n(16)),s=i(n(37)),a=i(n(30)),c=i(n(31)),l=i(n(7)),h=i(n(10)),u=n(126),f=n(224),d=n(94),p=n(9),g=p.CramUnimplementedError,m=p.CramMalformedError,v=n(309),b=n(318),w=b.cramFileDefinition,y=b.getSectionParsers,x=n(329),_=n(160).open,k=n(58),S=k.parseItem,C=k.tinyMemoize,E=n(430).parseHeaderText,A=function(){function t(e){(0,l.default)(this,t),this.file=_(e.url,e.path,e.filehandle),this.validateChecksums=!0,this.fetchReferenceSequenceCallback=e.seqFetch,this.options={checkSequenceMD5:!1!==e.checkSequenceMD5,cacheSize:void 0!==e.cacheSize?e.cacheSize:2e4},this.featureCache=new d({maxSize:this.options.cacheSize})}var n,r,i,o,p,b,k,C,A,T;return(0,h.default)(t,[{key:"toString",value:function(){return this.file.filename?this.file.filename:this.file.url?this.file.url:"(cram file)"}},{key:"read",value:function(t,e,n,r){return this.file.read(t,e,n,r)}},{key:"stat",value:function(){return this.file.stat()}},{key:"getDefinition",value:(T=(0,c.default)(a.default.mark((function t(){var n,r;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.allocUnsafe(w.maxLength),t.next=3,this.file.read(n,0,w.maxLength,0);case 3:if(2===(r=w.parser.parse(n).result).majorVersion||3===r.majorVersion){t.next=6;break}throw new g("CRAM version ".concat(r.majorVersion," not supported"));case 6:return t.abrupt("return",r);case 7:case"end":return t.stop()}}),t,this)}))),function(){return T.apply(this,arguments)})},{key:"getSamHeader",value:(A=(0,c.default)(a.default.mark((function t(){var e,n,r,i,o;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getContainerById(0);case 2:if(e=t.sent){t.next=5;break}throw new m("file contains no containers");case 5:return t.next=7,e.getFirstBlock();case 7:return n=t.sent,r=n.content,i=r.readInt32LE(0),o=r.toString("utf8",4,4+i),this.header=o,t.abrupt("return",E(o));case 14:case"end":return t.stop()}}),t,this)}))),function(){return A.apply(this,arguments)})},{key:"getHeaderText",value:(C=(0,c.default)(a.default.mark((function t(){return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getSamHeader();case 2:return t.abrupt("return",this.header);case 3:case"end":return t.stop()}}),t,this)}))),function(){return C.apply(this,arguments)})},{key:"getSectionParsers",value:(k=(0,c.default)(a.default.mark((function t(){var e,n;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getDefinition();case 2:return e=t.sent,n=e.majorVersion,t.abrupt("return",y(n));case 5:case"end":return t.stop()}}),t,this)}))),function(){return k.apply(this,arguments)})},{key:"getContainerById",value:(b=(0,c.default)(a.default.mark((function t(e){var n,r,i,o,s,c,l,h,u,f;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getSectionParsers();case 2:return n=t.sent,r=n.cramFileDefinition.maxLength,t.next=6,this.file.stat();case 6:i=t.sent,o=i.size,s=n.cramContainerHeader1,l=0;case 10:if(!(l<=e)){t.next=36;break}if(!(r+s.maxLength+8>=o)){t.next=13;break}return t.abrupt("return",void 0);case 13:return c=this.getContainerAtPosition(r),t.next=16,c.getHeader();case 16:if(h=t.sent){t.next=19;break}throw new m("container ".concat(e," not found in file"));case 19:if(0!==l){t.next=32;break}r=h._endPosition,u=0;case 22:if(!(u<h.numBlocks)){t.next=30;break}return t.next=25,this.readBlock(r);case 25:f=t.sent,r=f._endPosition;case 27:u+=1,t.next=22;break;case 30:t.next=33;break;case 32:r+=h._size+h.length;case 33:l+=1,t.next=10;break;case 36:return t.abrupt("return",c);case 37:case"end":return t.stop()}}),t,this)}))),function(t){return b.apply(this,arguments)})},{key:"checkCrc32",value:(p=(0,c.default)(a.default.mark((function t(n,r,i,o){var c,l,h,u;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return c=e.allocUnsafe(r),t.next=3,this.file.read(c,0,r,n);case 3:if((l=f.unsigned(c))===i){t.next=6;break}throw new m((0,s.default)(h=(0,s.default)(u="crc mismatch in ".concat(o,": recorded CRC32 = ")).call(u,i,", but calculated CRC32 = ")).call(h,l));case 6:case"end":return t.stop()}}),t,this)}))),function(t,e,n,r){return p.apply(this,arguments)})},{key:"containerCount",value:(o=(0,c.default)(a.default.mark((function t(){var e,n,r,i,o,s,c,l,h;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getSectionParsers();case 2:return e=t.sent,t.next=5,this.file.stat();case 5:n=t.sent,r=n.size,i=e.cramContainerHeader1,o=0,s=e.cramFileDefinition.maxLength;case 10:if(!(s+i.maxLength+8<r)){t.next=33;break}return t.next=13,this.getContainerAtPosition(s).getHeader();case 13:if(c=t.sent){t.next=16;break}return t.abrupt("break",33);case 16:if(0!==o){t.next=29;break}s=c._endPosition,l=0;case 19:if(!(l<c.numBlocks)){t.next=27;break}return t.next=22,this.readBlock(s);case 22:h=t.sent,s=h._endPosition;case 24:l+=1,t.next=19;break;case 27:t.next=30;break;case 29:s+=c._size+c.length;case 30:o+=1,t.next=10;break;case 33:return t.abrupt("return",o);case 34:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"getContainerAtPosition",value:function(t){return new x(this,t)}},{key:"readBlockHeader",value:(i=(0,c.default)(a.default.mark((function t(n){var r,i,o,s,c;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getSectionParsers();case 2:return r=t.sent,i=r.cramBlockHeader,t.next=6,this.file.stat();case 6:if(o=t.sent,s=o.size,!(n+i.maxLength>=s)){t.next=10;break}return t.abrupt("return",void 0);case 10:return c=e.allocUnsafe(i.maxLength),t.next=13,this.file.read(c,0,i.maxLength,n);case 13:return t.abrupt("return",S(c,i.parser,0,n));case 14:case"end":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:"_parseSection",value:(r=(0,c.default)(a.default.mark((function t(n,r){var i,o,c,l,h,u,f,d=arguments;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(o=d.length>2&&void 0!==d[2]?d[2]:n.maxLength,!(c=d.length>3?d[3]:void 0)){t.next=6;break}l=c,t.next=15;break;case 6:return t.next=8,this.file.stat();case 8:if(h=t.sent,u=h.size,!(r+o>=u)){t.next=12;break}return t.abrupt("return",void 0);case 12:return l=e.allocUnsafe(o),t.next=15,this.file.read(l,0,o,r);case 15:if((f=S(l,n.parser,0,r))._size===o){t.next=18;break}throw new m((0,s.default)(i="section read error: requested size ".concat(o," does not equal parsed size ")).call(i,f._size));case 18:return t.abrupt("return",f);case 19:case"end":return t.stop()}}),t,this)}))),function(t,e){return r.apply(this,arguments)})},{key:"_uncompress",value:function(t,e,n){if("gzip"===t)u.gunzipSync(e).copy(n);else{if("rans"!==t)throw new g("".concat(t," decompression not yet implemented"));v.uncompress(e,n)}}},{key:"readBlock",value:(n=(0,c.default)(a.default.mark((function t(n){var r,i,o,s,c,l,h,u;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getDefinition();case 2:return r=t.sent,i=r.majorVersion,t.next=6,this.getSectionParsers();case 6:return o=t.sent,t.next=9,this.readBlockHeader(n);case 9:if(s=t.sent,c=s._endPosition,s.contentPosition=s._endPosition,l=e.allocUnsafe(s.uncompressedSize),"raw"===s.compressionMethod){t.next=20;break}return h=e.allocUnsafe(s.compressedSize),t.next=17,this.read(h,0,s.compressedSize,c);case 17:this._uncompress(s.compressionMethod,h,l),t.next=22;break;case 20:return t.next=22,this.read(l,0,s.uncompressedSize,c);case 22:if(s.content=l,!(i>=3)){t.next=35;break}return t.next=26,this._parseSection(o.cramBlockCrc32,c+s.compressedSize);case 26:if(u=t.sent,s.crc32=u.crc32,!this.validateChecksums){t.next=31;break}return t.next=31,this.checkCrc32(n,s._size+s.compressedSize,s.crc32,"block data");case 31:s._endPosition=u._endPosition,s._size=s.compressedSize+o.cramBlockCrc32.maxLength,t.next=37;break;case 35:s._endPosition=c+s.compressedSize,s._size=s.compressedSize;case 37:return t.abrupt("return",s);case 38:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})}]),t}();(0,o.default)(r="getDefinition getSectionParsers getSamHeader".split(" ")).call(r,(function(t){return C(A,t)})),t.exports=A}).call(this,n(19).Buffer)},function(t,e,n){e.byteLength=function(t){var e=l(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,r=l(t),s=r[0],a=r[1],c=new o(function(t,e,n){return 3*(e+n)/4-n}(0,s,a)),h=0,u=a>0?s-4:s;for(n=0;n<u;n+=4)e=i[t.charCodeAt(n)]<<18|i[t.charCodeAt(n+1)]<<12|i[t.charCodeAt(n+2)]<<6|i[t.charCodeAt(n+3)],c[h++]=e>>16&255,c[h++]=e>>8&255,c[h++]=255&e;return 2===a&&(e=i[t.charCodeAt(n)]<<2|i[t.charCodeAt(n+1)]>>4,c[h++]=255&e),1===a&&(e=i[t.charCodeAt(n)]<<10|i[t.charCodeAt(n+1)]<<4|i[t.charCodeAt(n+2)]>>2,c[h++]=e>>8&255,c[h++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o=[],s=0,a=n-i;s<a;s+=16383)o.push(h(t,s,s+16383>a?a:s+16383));return 1===i?(e=t[n-1],o.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],o.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,c=s.length;a<c;++a)r[a]=s[a],i[s.charCodeAt(a)]=a;function l(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function h(t,e,n){for(var i,o,s=[],a=e;a<n;a+=3)i=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),s.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,n,r,i){var o,s,a=8*i-r-1,c=(1<<a)-1,l=c>>1,h=-7,u=n?i-1:0,f=n?-1:1,d=t[e+u];for(u+=f,o=d&(1<<-h)-1,d>>=-h,h+=a;h>0;o=256*o+t[e+u],u+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=r;h>0;s=256*s+t[e+u],u+=f,h-=8);if(0===o)o=1-l;else{if(o===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),o-=l}return(d?-1:1)*s*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var s,a,c,l=8*o-i-1,h=(1<<l)-1,u=h>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),(e+=s+u>=1?f/c:f*Math.pow(2,1-u))*c>=2&&(s++,c/=2),s+u>=h?(a=0,s=h):s+u>=1?(a=(e*c-1)*Math.pow(2,i),s+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,i),s=0));i>=8;t[n+d]=255&a,d+=p,a/=256,i-=8);for(s=s<<i|a,l+=i;l>0;t[n+d]=255&s,d+=p,s/=256,l-=8);t[n+d-p]|=128*g}},function(t,e,n){n(41);var r=n(177),i=n(67),o=Array.prototype,s={DOMTokenList:!0,NodeList:!0};t.exports=function(t){var e=t.forEach;return t===o||t instanceof Array&&e===o.forEach||s.hasOwnProperty(i(t))?r:e}},function(t,e,n){var r=n(28),i=n(78),o=n(35),s=n(42),a=n(80),c=s.set,l=s.getterFor("Array Iterator");t.exports=a(Array,"Array",(function(t,e){c(this,{type:"Array Iterator",target:r(t),index:0,kind:e})}),(function(){var t=l(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(t,e,n){var r=n(13),i=n(170),o=r.WeakMap;t.exports="function"==typeof o&&/native code/.test(i.call(o))},function(t,e,n){var r=n(61);t.exports=r("native-function-to-string",Function.toString)},function(t,e,n){var r=n(13),i=n(20);t.exports=function(t,e){try{i(r,t,e)}catch(n){r[t]=e}return e}},function(t,e,n){var r=n(108).IteratorPrototype,i=n(44),o=n(43),s=n(36),a=n(35),c=function(){return this};t.exports=function(t,e,n){var l=e+" Iterator";return t.prototype=i(r,{next:o(1,n)}),s(t,l,!1,!0),a[l]=c,t}},function(t,e,n){var r=n(17),i=n(21),o=n(2),s=n(51);t.exports=r?Object.defineProperties:function(t,e){o(t);for(var n,r=s(e),a=r.length,c=0;a>c;)i.f(t,n=r[c++],e[n]);return t}},function(t,e,n){var r=n(67),i={};i[n(6)("toStringTag")]="z",t.exports="[object z]"!==String(i)?function(){return"[object "+r(this)+"]"}:i.toString},function(t,e,n){var r=n(14);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},function(t,e){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(t,e,n){t.exports=n(178)},function(t,e,n){n(179);var r=n(18);t.exports=r("Array").forEach},function(t,e,n){var r=n(0),i=n(180);r({target:"Array",proto:!0,forced:[].forEach!=i},{forEach:i})},function(t,e,n){var r=n(45).forEach,i=n(54);t.exports=i("forEach")?function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach},function(t,e,n){t.exports=n(182)},function(t,e,n){var r=n(183),i=Array.prototype;t.exports=function(t){var e=t.concat;return t===i||t instanceof Array&&e===i.concat?r:e}},function(t,e,n){n(114);var r=n(18);t.exports=r("Array").concat},function(t,e,n){var r=function(t){var e,n=Object.prototype,r=n.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag";function c(t,e,n,r){var i=e&&e.prototype instanceof g?e:g,o=Object.create(i.prototype),s=new A(r||[]);return o._invoke=function(t,e,n){var r=h;return function(i,o){if(r===f)throw new Error("Generator is already running");if(r===d){if("throw"===i)throw o;return L()}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var a=S(s,n);if(a){if(a===p)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===h)throw r=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var c=l(t,e,n);if("normal"===c.type){if(r=n.done?d:u,c.arg===p)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=d,n.method="throw",n.arg=c.arg)}}}(t,n,s),o}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var h="suspendedStart",u="suspendedYield",f="executing",d="completed",p={};function g(){}function m(){}function v(){}var b={};b[o]=function(){return this};var w=Object.getPrototypeOf,y=w&&w(w(T([])));y&&y!==n&&r.call(y,o)&&(b=y);var x=v.prototype=g.prototype=Object.create(b);function _(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function k(t,e){var n;this._invoke=function(i,o){function s(){return new e((function(n,s){!function n(i,o,s,a){var c=l(t[i],t,o);if("throw"!==c.type){var h=c.arg,u=h.value;return u&&"object"==typeof u&&r.call(u,"__await")?e.resolve(u.__await).then((function(t){n("next",t,s,a)}),(function(t){n("throw",t,s,a)})):e.resolve(u).then((function(t){h.value=t,s(h)}),(function(t){return n("throw",t,s,a)}))}a(c.arg)}(i,o,n,s)}))}return n=n?n.then(s,s):s()}}function S(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=e,S(t,n),"throw"===n.method))return p;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var i=l(r,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,p;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,p):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,p)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function T(t){if(t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,s=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return s.next=s}}return{next:L}}function L(){return{value:e,done:!0}}return m.prototype=x.constructor=v,v.constructor=m,v[a]=m.displayName="GeneratorFunction",t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,a in t||(t[a]="GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},_(k.prototype),k.prototype[s]=function(){return this},t.AsyncIterator=k,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var s=new k(c(e,n,r,i),o);return t.isGeneratorFunction(n)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},_(x),x[a]="Generator",x[o]=function(){return this},x.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=T,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return a.type="throw",a.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var c=r.call(s,"catchLoc"),l=r.call(s,"finallyLoc");if(c&&l){if(this.prev<s.catchLoc)return i(s.catchLoc,!0);if(this.prev<s.finallyLoc)return i(s.finallyLoc)}else if(c){if(this.prev<s.catchLoc)return i(s.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return i(s.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=t,s.arg=e,o?(this.method="next",this.next=o.finallyLoc,p):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;E(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:T(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),p}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}},function(t,e,n){t.exports=n(186)},function(t,e,n){t.exports=n(115),n(192),n(193),n(194),n(195)},function(t,e,n){var r=n(83),i=n(49),o=function(t){return function(e,n){var o,s,a=String(i(e)),c=r(n),l=a.length;return c<0||c>=l?t?"":void 0:(o=a.charCodeAt(c))<55296||o>56319||c+1===l||(s=a.charCodeAt(c+1))<56320||s>57343?t?a.charAt(c):o:t?a.slice(c,c+2):s-56320+(o-55296<<10)+65536}};t.exports={codeAt:o(!1),charAt:o(!0)}},function(t,e,n){var r,i,o,s,a=n(0),c=n(4),l=n(13),h=n(3),u=n(116),f=n(52),d=n(117),p=n(36),g=n(118),m=n(14),v=n(5),b=n(89),w=n(34),y=n(8),x=n(121),_=n(55),k=n(122).set,S=n(189),C=n(124),E=n(190),A=n(56),T=n(69),L=n(123),R=n(42),M=n(107),I=n(6)("species"),N="Promise",F=R.get,P=R.set,O=R.getterFor(N),D=u,B=l.TypeError,z=l.document,j=l.process,H=l.fetch,V=j&&j.versions,U=V&&V.v8||"",q=A.f,W=q,$="process"==w(j),G=!!(z&&z.createEvent&&l.dispatchEvent),Z=M(N,(function(){var t=D.resolve(1),e=function(){},n=(t.constructor={})[I]=function(t){t(e,e)};return!(($||"function"==typeof PromiseRejectionEvent)&&(!c||t.finally)&&t.then(e)instanceof n&&0!==U.indexOf("6.6")&&-1===L.indexOf("Chrome/66"))})),X=Z||!x((function(t){D.all(t).catch((function(){}))})),Y=function(t){var e;return!(!m(t)||"function"!=typeof(e=t.then))&&e},K=function(t,e,n){if(!e.notified){e.notified=!0;var r=e.reactions;S((function(){for(var i=e.value,o=1==e.state,s=0;r.length>s;){var a,c,l,h=r[s++],u=o?h.ok:h.fail,f=h.resolve,d=h.reject,p=h.domain;try{u?(o||(2===e.rejection&&et(t,e),e.rejection=1),!0===u?a=i:(p&&p.enter(),a=u(i),p&&(p.exit(),l=!0)),a===h.promise?d(B("Promise-chain cycle")):(c=Y(a))?c.call(a,f,d):f(a)):d(i)}catch(t){p&&!l&&p.exit(),d(t)}}e.reactions=[],e.notified=!1,n&&!e.rejection&&J(t,e)}))}},Q=function(t,e,n){var r,i;G?((r=z.createEvent("Event")).promise=e,r.reason=n,r.initEvent(t,!1,!0),l.dispatchEvent(r)):r={promise:e,reason:n},(i=l["on"+t])?i(r):"unhandledrejection"===t&&E("Unhandled promise rejection",n)},J=function(t,e){k.call(l,(function(){var n,r=e.value;if(tt(e)&&(n=T((function(){$?j.emit("unhandledRejection",r,t):Q("unhandledrejection",t,r)})),e.rejection=$||tt(e)?2:1,n.error))throw n.value}))},tt=function(t){return 1!==t.rejection&&!t.parent},et=function(t,e){k.call(l,(function(){$?j.emit("rejectionHandled",t):Q("rejectionhandled",t,e.value)}))},nt=function(t,e,n,r){return function(i){t(e,n,i,r)}},rt=function(t,e,n,r){e.done||(e.done=!0,r&&(e=r),e.value=n,e.state=2,K(t,e,!0))},it=function(t,e,n,r){if(!e.done){e.done=!0,r&&(e=r);try{if(t===n)throw B("Promise can't be resolved itself");var i=Y(n);i?S((function(){var r={done:!1};try{i.call(n,nt(it,t,r,e),nt(rt,t,r,e))}catch(n){rt(t,r,n,e)}})):(e.value=n,e.state=1,K(t,e,!1))}catch(n){rt(t,{done:!1},n,e)}}};Z&&(D=function(t){b(this,D,N),v(t),r.call(this);var e=F(this);try{t(nt(it,this,e),nt(rt,this,e))}catch(t){rt(this,e,t)}},(r=function(t){P(this,{type:N,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=d(D.prototype,{then:function(t,e){var n=O(this),r=q(_(this,D));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=$?j.domain:void 0,n.parent=!0,n.reactions.push(r),0!=n.state&&K(this,n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r,e=F(t);this.promise=t,this.resolve=nt(it,t,e),this.reject=nt(rt,t,e)},A.f=q=function(t){return t===D||t===o?new i(t):W(t)},c||"function"!=typeof u||(s=u.prototype.then,f(u.prototype,"then",(function(t,e){var n=this;return new D((function(t,e){s.call(n,t,e)})).then(t,e)})),"function"==typeof H&&a({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return C(D,H.apply(l,arguments))}}))),a({global:!0,wrap:!0,forced:Z},{Promise:D}),p(D,N,!1,!0),g(N),o=h.Promise,a({target:N,stat:!0,forced:Z},{reject:function(t){var e=q(this);return e.reject.call(void 0,t),e.promise}}),a({target:N,stat:!0,forced:c||Z},{resolve:function(t){return C(c&&this===o?D:this,t)}}),a({target:N,stat:!0,forced:X},{all:function(t){var e=this,n=q(e),r=n.resolve,i=n.reject,o=T((function(){var n=v(e.resolve),o=[],s=0,a=1;y(t,(function(t){var c=s++,l=!1;o.push(void 0),a++,n.call(e,t).then((function(t){l||(l=!0,o[c]=t,--a||r(o))}),i)})),--a||r(o)}));return o.error&&i(o.value),n.promise},race:function(t){var e=this,n=q(e),r=n.reject,i=T((function(){var i=v(e.resolve);y(t,(function(t){i.call(e,t).then(n.resolve,r)}))}));return i.error&&r(i.value),n.promise}})},function(t,e,n){var r,i,o,s,a,c,l,h,u=n(13),f=n(81).f,d=n(34),p=n(122).set,g=n(123),m=u.MutationObserver||u.WebKitMutationObserver,v=u.process,b=u.Promise,w="process"==d(v),y=f(u,"queueMicrotask"),x=y&&y.value;x||(r=function(){var t,e;for(w&&(t=v.domain)&&t.exit();i;){e=i.fn,i=i.next;try{e()}catch(t){throw i?s():o=void 0,t}}o=void 0,t&&t.enter()},w?s=function(){v.nextTick(r)}:m&&!/(iphone|ipod|ipad).*applewebkit/i.test(g)?(a=!0,c=document.createTextNode(""),new m(r).observe(c,{characterData:!0}),s=function(){c.data=a=!a}):b&&b.resolve?(l=b.resolve(void 0),h=l.then,s=function(){h.call(l,r)}):s=function(){p.call(u,r)}),t.exports=x||function(t){var e={fn:t,next:void 0};o&&(o.next=e),i||(i=e,s()),o=e}},function(t,e,n){var r=n(13);t.exports=function(t,e){var n=r.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))}},function(t,e,n){var r=n(0),i=n(4),o=n(116),s=n(26),a=n(55),c=n(124),l=n(52);r({target:"Promise",proto:!0,real:!0},{finally:function(t){var e=a(this,s("Promise")),n="function"==typeof t;return this.then(n?function(n){return c(e,t()).then((function(){return n}))}:t,n?function(n){return c(e,t()).then((function(){throw n}))}:t)}}),i||"function"!=typeof o||o.prototype.finally||l(o.prototype,"finally",s("Promise").prototype.finally)},function(t,e,n){var r=n(0),i=n(66),o=n(86),s=n(44),a=n(43),c=n(8),l=n(20),h=function(t,e){var n=this;if(!(n instanceof h))return new h(t,e);o&&(n=o(new Error(e),i(n)));var r=[];return c(t,r.push,r),l(n,"errors",r),void 0!==e&&l(n,"message",String(e)),n};h.prototype=s(Error.prototype,{constructor:a(5,h),name:a(5,"AggregateError")}),r({global:!0},{AggregateError:h})},function(t,e,n){n(125)},function(t,e,n){var r=n(0),i=n(56),o=n(69);r({target:"Promise",stat:!0},{try:function(t){var e=i.f(this),n=o(t);return(n.error?e.reject:e.resolve)(n.value),e.promise}})},function(t,e,n){var r=n(0),i=n(5),o=n(26),s=n(56),a=n(69),c=n(8);r({target:"Promise",stat:!0},{any:function(t){var e=this,n=s.f(e),r=n.resolve,l=n.reject,h=a((function(){var n=i(e.resolve),s=[],a=0,h=1,u=!1;c(t,(function(t){var i=a++,c=!1;s.push(void 0),h++,n.call(e,t).then((function(t){c||u||(u=!0,r(t))}),(function(t){c||u||(c=!0,s[i]=t,--h||l(new(o("AggregateError"))(s,"No one promise resolved")))}))})),--h||l(new(o("AggregateError"))(s,"No one promise resolved"))}));return h.error&&l(h.value),n.promise}})},function(t,e,n){t.exports=n(197)},function(t,e,n){t.exports=n(198)},function(t,e,n){n(199);var r=n(3).Object,i=t.exports=function(t,e,n){return r.defineProperty(t,e,n)};r.defineProperty.sham&&(i.sham=!0)},function(t,e,n){var r=n(0),i=n(17);r({target:"Object",stat:!0,forced:!i,sham:!i},{defineProperty:n(21).f})},function(t,e,n){t.exports=i;var r=n(91).EventEmitter;function i(){r.call(this)}n(47)(i,r),i.Readable=n(92),i.Writable=n(208),i.Duplex=n(209),i.Transform=n(210),i.PassThrough=n(211),i.Stream=i,i.prototype.pipe=function(t,e){var n=this;function i(e){t.writable&&!1===t.write(e)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",i),t.on("drain",o),t._isStdio||e&&!1===e.end||(n.on("end",a),n.on("close",c));var s=!1;function a(){s||(s=!0,t.end())}function c(){s||(s=!0,"function"==typeof t.destroy&&t.destroy())}function l(t){if(h(),0===r.listenerCount(this,"error"))throw t}function h(){n.removeListener("data",i),t.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",c),n.removeListener("error",l),t.removeListener("error",l),n.removeListener("end",h),n.removeListener("close",h),t.removeListener("close",h)}return n.on("error",l),t.on("error",l),n.on("end",h),n.on("close",h),t.on("close",h),t.emit("pipe",n),t}},function(t,e){},function(t,e,n){var r=n(71).Buffer,i=n(203);t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n},t.prototype.concat=function(t){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var e,n,i=r.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=i,n=s,o.data.copy(e,n),s+=o.data.length,o=o.next;return i},t}(),i&&i.inspect&&i.inspect.custom&&(t.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},function(t,e){},function(t,e,n){(function(t){var r=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},e.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},n(205),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(23))},function(t,e,n){(function(t,e){!function(t,n){if(!t.setImmediate){var r,i,o,s,a,c=1,l={},h=!1,u=t.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(t);f=f&&f.setTimeout?f:t,"[object process]"==={}.toString.call(t.process)?r=function(t){e.nextTick((function(){p(t)}))}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(s="setImmediate$"+Math.random()+"$",a=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(s)&&p(+e.data.slice(s.length))},t.addEventListener?t.addEventListener("message",a,!1):t.attachEvent("onmessage",a),r=function(e){t.postMessage(s+e,"*")}):t.MessageChannel?((o=new MessageChannel).port1.onmessage=function(t){p(t.data)},r=function(t){o.port2.postMessage(t)}):u&&"onreadystatechange"in u.createElement("script")?(i=u.documentElement,r=function(t){var e=u.createElement("script");e.onreadystatechange=function(){p(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):r=function(t){setTimeout(p,0,t)},f.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var i={callback:t,args:e};return l[c]=i,r(c),c++},f.clearImmediate=d}function d(t){delete l[t]}function p(t){if(h)setTimeout(p,0,t);else{var e=l[t];if(e){h=!0;try{!function(t){var e=t.callback,n=t.args;switch(n.length){case 0:e();break;case 1:e(n[0]);break;case 2:e(n[0],n[1]);break;case 3:e(n[0],n[1],n[2]);break;default:e.apply(undefined,n)}}(e)}finally{d(t),h=!1}}}}}("undefined"==typeof self?void 0===t?this:t:self)}).call(this,n(23),n(38))},function(t,e,n){(function(e){function n(t){try{if(!e.localStorage)return!1}catch(t){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}t.exports=function(t,e){if(n("noDeprecation"))return t;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}}).call(this,n(23))},function(t,e,n){t.exports=o;var r=n(131),i=n(57);function o(t){if(!(this instanceof o))return new o(t);r.call(this,t)}i.inherits=n(47),i.inherits(o,r),o.prototype._transform=function(t,e,n){n(null,t)}},function(t,e,n){t.exports=n(93)},function(t,e,n){t.exports=n(39)},function(t,e,n){t.exports=n(92).Transform},function(t,e,n){t.exports=n(92).PassThrough},function(t,e,n){(function(t,r){var i=n(132),o=n(216),s=n(217),a=n(220),c=n(223);for(var l in c)e[l]=c[l];function h(t){if("number"!=typeof t||t<e.DEFLATE||t>e.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=t,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}e.NONE=0,e.DEFLATE=1,e.INFLATE=2,e.GZIP=3,e.GUNZIP=4,e.DEFLATERAW=5,e.INFLATERAW=6,e.UNZIP=7,h.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,i(this.init_done,"close before init"),i(this.mode<=e.UNZIP),this.mode===e.DEFLATE||this.mode===e.GZIP||this.mode===e.DEFLATERAW?s.deflateEnd(this.strm):this.mode!==e.INFLATE&&this.mode!==e.GUNZIP&&this.mode!==e.INFLATERAW&&this.mode!==e.UNZIP||a.inflateEnd(this.strm),this.mode=e.NONE,this.dictionary=null)},h.prototype.write=function(t,e,n,r,i,o,s){return this._write(!0,t,e,n,r,i,o,s)},h.prototype.writeSync=function(t,e,n,r,i,o,s){return this._write(!1,t,e,n,r,i,o,s)},h.prototype._write=function(n,o,s,a,c,l,h,u){if(i.equal(arguments.length,8),i(this.init_done,"write before init"),i(this.mode!==e.NONE,"already finalized"),i.equal(!1,this.write_in_progress,"write already in progress"),i.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,i.equal(!1,void 0===o,"must provide flush value"),this.write_in_progress=!0,o!==e.Z_NO_FLUSH&&o!==e.Z_PARTIAL_FLUSH&&o!==e.Z_SYNC_FLUSH&&o!==e.Z_FULL_FLUSH&&o!==e.Z_FINISH&&o!==e.Z_BLOCK)throw new Error("Invalid flush value");if(null==s&&(s=t.alloc(0),c=0,a=0),this.strm.avail_in=c,this.strm.input=s,this.strm.next_in=a,this.strm.avail_out=u,this.strm.output=l,this.strm.next_out=h,this.flush=o,!n)return this._process(),this._checkError()?this._afterSync():void 0;var f=this;return r.nextTick((function(){f._process(),f._after()})),this},h.prototype._afterSync=function(){var t=this.strm.avail_out,e=this.strm.avail_in;return this.write_in_progress=!1,[e,t]},h.prototype._process=function(){var t=null;switch(this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=s.deflate(this.strm,this.flush);break;case e.UNZIP:switch(this.strm.avail_in>0&&(t=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===t)break;if(31!==this.strm.input[t]){this.mode=e.INFLATE;break}if(this.gzip_id_bytes_read=1,t++,1===this.strm.avail_in)break;case 1:if(null===t)break;139===this.strm.input[t]?(this.gzip_id_bytes_read=2,this.mode=e.GUNZIP):this.mode=e.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:for(this.err=a.inflate(this.strm,this.flush),this.err===e.Z_NEED_DICT&&this.dictionary&&(this.err=a.inflateSetDictionary(this.strm,this.dictionary),this.err===e.Z_OK?this.err=a.inflate(this.strm,this.flush):this.err===e.Z_DATA_ERROR&&(this.err=e.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===e.GUNZIP&&this.err===e.Z_STREAM_END&&0!==this.strm.next_in[0];)this.reset(),this.err=a.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},h.prototype._checkError=function(){switch(this.err){case e.Z_OK:case e.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===e.Z_FINISH)return this._error("unexpected end of file"),!1;break;case e.Z_STREAM_END:break;case e.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},h.prototype._after=function(){if(this._checkError()){var t=this.strm.avail_out,e=this.strm.avail_in;this.write_in_progress=!1,this.callback(e,t),this.pending_close&&this.close()}},h.prototype._error=function(t){this.strm.msg&&(t=this.strm.msg),this.onerror(t,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},h.prototype.init=function(t,n,r,o,s){i(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),i(t>=8&&t<=15,"invalid windowBits"),i(n>=-1&&n<=9,"invalid compression level"),i(r>=1&&r<=9,"invalid memlevel"),i(o===e.Z_FILTERED||o===e.Z_HUFFMAN_ONLY||o===e.Z_RLE||o===e.Z_FIXED||o===e.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(n,t,r,o,s),this._setDictionary()},h.prototype.params=function(){throw new Error("deflateParams Not supported")},h.prototype.reset=function(){this._reset(),this._setDictionary()},h.prototype._init=function(t,n,r,i,c){switch(this.level=t,this.windowBits=n,this.memLevel=r,this.strategy=i,this.flush=e.Z_NO_FLUSH,this.err=e.Z_OK,this.mode!==e.GZIP&&this.mode!==e.GUNZIP||(this.windowBits+=16),this.mode===e.UNZIP&&(this.windowBits+=32),this.mode!==e.DEFLATERAW&&this.mode!==e.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new o,this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=s.deflateInit2(this.strm,this.level,e.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:case e.UNZIP:this.err=a.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==e.Z_OK&&this._error("Init error"),this.dictionary=c,this.write_in_progress=!1,this.init_done=!0},h.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:this.err=s.deflateSetDictionary(this.strm,this.dictionary)}this.err!==e.Z_OK&&this._error("Failed to set dictionary")}},h.prototype._reset=function(){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:case e.GZIP:this.err=s.deflateReset(this.strm);break;case e.INFLATE:case e.INFLATERAW:case e.GUNZIP:this.err=a.inflateReset(this.strm)}this.err!==e.Z_OK&&this._error("Failed to reset stream")},e.Zlib=h}).call(this,n(19).Buffer,n(38))},function(t,e,n){
52
+ */function i(t,e){if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i<o;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0}function o(t){return e.Buffer&&"function"==typeof e.Buffer.isBuffer?e.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var s=n(133),a=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c="foo"===function(){}.name;function h(t){return Object.prototype.toString.call(t)}function u(t){return!o(t)&&"function"==typeof e.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer)))}var f=t.exports=b,d=/\s*function\s+([^\(\s]*)\s*/;function p(t){if(s.isFunction(t)){if(c)return t.name;var e=t.toString().match(d);return e&&e[1]}}function g(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function m(t){if(c||!s.isFunction(t))return s.inspect(t);var e=p(t);return"[Function"+(e?": "+e:"")+"]"}function v(t,e,n,r,i){throw new f.AssertionError({message:n,actual:t,expected:e,operator:r,stackStartFunction:i})}function b(t,e){t||v(t,!0,e,"==",f.ok)}function w(t,e,n,r){if(t===e)return!0;if(o(t)&&o(e))return 0===i(t,e);if(s.isDate(t)&&s.isDate(e))return t.getTime()===e.getTime();if(s.isRegExp(t)&&s.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&"object"==typeof t||null!==e&&"object"==typeof e){if(u(t)&&u(e)&&h(t)===h(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===i(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(o(t)!==o(e))return!1;var a=(r=r||{actual:[],expected:[]}).actual.indexOf(t);return-1!==a&&a===r.expected.indexOf(e)||(r.actual.push(t),r.expected.push(e),function(t,e,n,r){if(null==t||null==e)return!1;if(s.isPrimitive(t)||s.isPrimitive(e))return t===e;if(n&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=y(t),o=y(e);if(i&&!o||!i&&o)return!1;if(i)return w(t=l.call(t),e=l.call(e),n);var a,c,h=k(t),u=k(e);if(h.length!==u.length)return!1;for(h.sort(),u.sort(),c=h.length-1;c>=0;c--)if(h[c]!==u[c])return!1;for(c=h.length-1;c>=0;c--)if(!w(t[a=h[c]],e[a],n,r))return!1;return!0}(t,e,n,r))}return n?t===e:t==e}function y(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function x(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function _(t,e,n,r){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),t&&!i&&v(i,n,"Missing expected exception"+r);var o="string"==typeof r,a=!t&&i&&!n;if((!t&&s.isError(i)&&o&&x(i,n)||a)&&v(i,n,"Got unwanted exception"+r),t&&i&&n&&!x(i,n)||!t&&i)throw i}f.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return g(m(t.actual),128)+" "+t.operator+" "+g(m(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var n=new Error;if(n.stack){var r=n.stack,i=p(e),o=r.indexOf("\n"+i);if(o>=0){var s=r.indexOf("\n",o+1);r=r.substring(s+1)}this.stack=r}}},s.inherits(f.AssertionError,Error),f.fail=v,f.ok=b,f.equal=function(t,e,n){t!=e&&v(t,e,n,"==",f.equal)},f.notEqual=function(t,e,n){t==e&&v(t,e,n,"!=",f.notEqual)},f.deepEqual=function(t,e,n){w(t,e,!1)||v(t,e,n,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,n){w(t,e,!0)||v(t,e,n,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,n){w(t,e,!1)&&v(t,e,n,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,n,r){w(e,n,!0)&&v(e,n,r,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,n){t!==e&&v(t,e,n,"===",f.strictEqual)},f.notStrictEqual=function(t,e,n){t===e&&v(t,e,n,"!==",f.notStrictEqual)},f.throws=function(t,e,n){_(!0,t,e,n)},f.doesNotThrow=function(t,e,n){_(!1,t,e,n)},f.ifError=function(t){if(t)throw t},f.strict=r((function t(e,n){e||v(e,!0,n,"==",t)}),f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var k=Object.keys||function(t){var e=[];for(var n in t)a.call(t,n)&&e.push(n);return e}}).call(this,n(23))},function(t,e,n){(function(t){var r=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),n={},r=0;r<e.length;r++)n[e[r]]=Object.getOwnPropertyDescriptor(t,e[r]);return n},i=/%[sdj%]/g;e.format=function(t){if(!v(t)){for(var e=[],n=0;n<arguments.length;n++)e.push(a(arguments[n]));return e.join(" ")}n=1;for(var r=arguments,o=r.length,s=String(t).replace(i,(function(t){if("%%"===t)return"%";if(n>=o)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return t}})),l=r[n];n<o;l=r[++n])g(l)||!y(l)?s+=" "+l:s+=" "+a(l);return s},e.deprecate=function(n,r){if(void 0!==t&&!0===t.noDeprecation)return n;if(void 0===t)return function(){return e.deprecate(n,r).apply(this,arguments)};var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(r);t.traceDeprecation?console.trace(r):console.error(r),i=!0}return n.apply(this,arguments)}};var o,s={};function a(t,n){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(n)?r.showHidden=n:n&&e._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),h(r,t,r.depth)}function l(t,e){var n=a.styles[e];return n?"["+a.colors[n][0]+"m"+t+"["+a.colors[n][1]+"m":t}function c(t,e){return t}function h(t,n,r){if(t.customInspect&&n&&k(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return v(i)||(i=h(t,i,r)),i}var o=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(v(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return m(e)?t.stylize(""+e,"number"):p(e)?t.stylize(""+e,"boolean"):g(e)?t.stylize("null","null"):void 0}(t,n);if(o)return o;var s=Object.keys(n),a=function(t){var e={};return t.forEach((function(t,n){e[t]=!0})),e}(s);if(t.showHidden&&(s=Object.getOwnPropertyNames(n)),_(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return u(n);if(0===s.length){if(k(n)){var l=n.name?": "+n.name:"";return t.stylize("[Function"+l+"]","special")}if(w(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(x(n))return t.stylize(Date.prototype.toString.call(n),"date");if(_(n))return u(n)}var c,y="",S=!1,C=["{","}"];return d(n)&&(S=!0,C=["[","]"]),k(n)&&(y=" [Function"+(n.name?": "+n.name:"")+"]"),w(n)&&(y=" "+RegExp.prototype.toString.call(n)),x(n)&&(y=" "+Date.prototype.toUTCString.call(n)),_(n)&&(y=" "+u(n)),0!==s.length||S&&0!=n.length?r<0?w(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),c=S?function(t,e,n,r,i){for(var o=[],s=0,a=e.length;s<a;++s)T(e,String(s))?o.push(f(t,e,n,r,String(s),!0)):o.push("");return i.forEach((function(i){i.match(/^\d+$/)||o.push(f(t,e,n,r,i,!0))})),o}(t,n,r,a,s):s.map((function(e){return f(t,n,r,a,e,S)})),t.seen.pop(),function(t,e,n){return t.reduce((function(t,e){return e.indexOf("\n"),t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}(c,y,C)):C[0]+y+C[1]}function u(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,n,r,i,o){var s,a,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?a=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(a=t.stylize("[Setter]","special")),T(r,i)||(s="["+i+"]"),a||(t.seen.indexOf(l.value)<0?(a=g(n)?h(t,l.value,null):h(t,l.value,n-1)).indexOf("\n")>-1&&(a=o?a.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+a.split("\n").map((function(t){return" "+t})).join("\n")):a=t.stylize("[Circular]","special")),b(s)){if(o&&i.match(/^\d+$/))return a;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=t.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=t.stylize(s,"string"))}return s+": "+a}function d(t){return Array.isArray(t)}function p(t){return"boolean"==typeof t}function g(t){return null===t}function m(t){return"number"==typeof t}function v(t){return"string"==typeof t}function b(t){return void 0===t}function w(t){return y(t)&&"[object RegExp]"===S(t)}function y(t){return"object"==typeof t&&null!==t}function x(t){return y(t)&&"[object Date]"===S(t)}function _(t){return y(t)&&("[object Error]"===S(t)||t instanceof Error)}function k(t){return"function"==typeof t}function S(t){return Object.prototype.toString.call(t)}function C(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(n){if(b(o)&&(o=t.env.NODE_DEBUG||""),n=n.toUpperCase(),!s[n])if(new RegExp("\\b"+n+"\\b","i").test(o)){var r=t.pid;s[n]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",n,r,t)}}else s[n]=function(){};return s[n]},e.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=p,e.isNull=g,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=v,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=w,e.isObject=y,e.isDate=x,e.isError=_,e.isFunction=k,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(214);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(){var t=new Date,e=[C(t.getHours()),C(t.getMinutes()),C(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],e].join(" ")}function T(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",A(),e.format.apply(e,arguments))},e.inherits=n(215),e._extend=function(t,e){if(!e||!y(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};var L="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function M(t,e){if(!t){var n=new Error("Promise was rejected with a falsy value");n.reason=t,t=n}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(L&&t[L]){var e;if("function"!=typeof(e=t[L]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,L,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,n,r=new Promise((function(t,r){e=t,n=r})),i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);i.push((function(t,r){t?n(t):e(r)}));try{t.apply(this,i)}catch(t){n(t)}return r}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),L&&Object.defineProperty(e,L,{value:e,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(e,r(t))},e.promisify.custom=L,e.callbackify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');function n(){for(var n=[],r=0;r<arguments.length;r++)n.push(arguments[r]);var i=n.pop();if("function"!=typeof i)throw new TypeError("The last argument must be of type Function");var o=this,s=function(){return i.apply(o,arguments)};e.apply(this,n).then((function(e){t.nextTick(s,null,e)}),(function(e){t.nextTick(M,e,s)}))}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.defineProperties(n,r(e)),n}}).call(this,n(38))},function(t,e,n){t.exports=function(t,e,n,r){for(var i=65535&t|0,o=t>>>16&65535|0,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{o=o+(i=i+e[r++]|0)|0}while(--s);i%=65521,o%=65521}return i|o<<16|0}},function(t,e,n){var r=function(){for(var t,e=[],n=0;n<256;n++){t=n;for(var r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e}();t.exports=function(t,e,n,i){var o=r,s=i+n;t^=-1;for(var a=i;a<s;a++)t=t>>>8^o[255&(t^e[a])];return-1^t}},function(t,e,n){n(11)("iterator")},function(t,e,n){var r=n(111),i=n(85).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){t.exports=n(259)},function(t,e,n){t.exports=n(262)},function(t,e,n){var r=n(50),i=n(14),o=n(24),s=n(21).f,a=n(64),l=n(271),c=a("meta"),h=0,u=Object.isExtensible||function(){return!0},f=function(t){s(t,c,{value:{objectID:"O"+ ++h,weakData:{}}})},d=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,c)){if(!u(t))return"F";if(!e)return"E";f(t)}return t[c].objectID},getWeakData:function(t,e){if(!o(t,c)){if(!u(t))return!0;if(!e)return!1;f(t)}return t[c].weakData},onFreeze:function(t){return l&&d.REQUIRED&&u(t)&&!o(t,c)&&f(t),t}};r[c]=!0},function(t,e,n){var r=n(2),i=n(90);t.exports=function(t){var e=i(t);if("function"!=typeof e)throw TypeError(String(t)+" is not iterable");return r(e.call(t))}},function(t,e,n){var r=n(298),i=Array.prototype;t.exports=function(t){var e=t.indexOf;return t===i||t instanceof Array&&e===i.indexOf?r:e}},function(t,e,n){var r=n(303),i=Function.prototype;t.exports=function(t){var e=t.bind;return t===i||t instanceof Function&&e===i.bind?r:e}},function(t,e,n){var r=n(5),i=n(14),o=[].slice,s={},a=function(t,e,n){if(!(e in s)){for(var r=[],i=0;i<e;i++)r[i]="a["+i+"]";s[e]=Function("C,a","return new C("+r.join(",")+")")}return s[e](t,n)};t.exports=Function.bind||function(t){var e=r(this),n=o.call(arguments,1),s=function(){var r=n.concat(o.call(arguments));return this instanceof s?a(e,r.length,r):e.apply(t,r)};return i(e.prototype)&&(s.prototype=e.prototype),s}},function(t,e){t.exports=r;var n=null;try{n=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(t){}function r(t,e,n){this.low=0|t,this.high=0|e,this.unsigned=!!n}function i(t){return!0===(t&&t.__isLong__)}r.prototype.__isLong__,Object.defineProperty(r.prototype,"__isLong__",{value:!0}),r.isLong=i;var o={},s={};function a(t,e){var n,r,i;return e?(i=0<=(t>>>=0)&&t<256)&&(r=s[t])?r:(n=c(t,(0|t)<0?-1:0,!0),i&&(s[t]=n),n):(i=-128<=(t|=0)&&t<128)&&(r=o[t])?r:(n=c(t,t<0?-1:0,!1),i&&(o[t]=n),n)}function l(t,e){if(isNaN(t))return e?b:v;if(e){if(t<0)return b;if(t>=p)return k}else{if(t<=-g)return S;if(t+1>=g)return _}return t<0?l(-t,e).neg():c(t%d|0,t/d|0,e)}function c(t,e,n){return new r(t,e,n)}r.fromInt=a,r.fromNumber=l,r.fromBits=c;var h=Math.pow;function u(t,e,n){if(0===t.length)throw Error("empty string");if("NaN"===t||"Infinity"===t||"+Infinity"===t||"-Infinity"===t)return v;if("number"==typeof e?(n=e,e=!1):e=!!e,(n=n||10)<2||36<n)throw RangeError("radix");var r;if((r=t.indexOf("-"))>0)throw Error("interior hyphen");if(0===r)return u(t.substring(1),e,n).neg();for(var i=l(h(n,8)),o=v,s=0;s<t.length;s+=8){var a=Math.min(8,t.length-s),c=parseInt(t.substring(s,s+a),n);if(a<8){var f=l(h(n,a));o=o.mul(f).add(l(c))}else o=(o=o.mul(i)).add(l(c))}return o.unsigned=e,o}function f(t,e){return"number"==typeof t?l(t,e):"string"==typeof t?u(t,e):c(t.low,t.high,"boolean"==typeof e?e:t.unsigned)}r.fromString=u,r.fromValue=f;var d=4294967296,p=d*d,g=p/2,m=a(1<<24),v=a(0);r.ZERO=v;var b=a(0,!0);r.UZERO=b;var w=a(1);r.ONE=w;var y=a(1,!0);r.UONE=y;var x=a(-1);r.NEG_ONE=x;var _=c(-1,2147483647,!1);r.MAX_VALUE=_;var k=c(-1,-1,!0);r.MAX_UNSIGNED_VALUE=k;var S=c(0,-2147483648,!1);r.MIN_VALUE=S;var C=r.prototype;C.toInt=function(){return this.unsigned?this.low>>>0:this.low},C.toNumber=function(){return this.unsigned?(this.high>>>0)*d+(this.low>>>0):this.high*d+(this.low>>>0)},C.toString=function(t){if((t=t||10)<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(S)){var e=l(t),n=this.div(e),r=n.mul(e).sub(this);return n.toString(t)+r.toInt().toString(t)}return"-"+this.neg().toString(t)}for(var i=l(h(t,6),this.unsigned),o=this,s="";;){var a=o.div(i),c=(o.sub(a.mul(i)).toInt()>>>0).toString(t);if((o=a).isZero())return c+s;for(;c.length<6;)c="0"+c;s=""+c+s}},C.getHighBits=function(){return this.high},C.getHighBitsUnsigned=function(){return this.high>>>0},C.getLowBits=function(){return this.low},C.getLowBitsUnsigned=function(){return this.low>>>0},C.getNumBitsAbs=function(){if(this.isNegative())return this.eq(S)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,e=31;e>0&&0==(t&1<<e);e--);return 0!=this.high?e+33:e+1},C.isZero=function(){return 0===this.high&&0===this.low},C.eqz=C.isZero,C.isNegative=function(){return!this.unsigned&&this.high<0},C.isPositive=function(){return this.unsigned||this.high>=0},C.isOdd=function(){return 1==(1&this.low)},C.isEven=function(){return 0==(1&this.low)},C.equals=function(t){return i(t)||(t=f(t)),(this.unsigned===t.unsigned||this.high>>>31!=1||t.high>>>31!=1)&&this.high===t.high&&this.low===t.low},C.eq=C.equals,C.notEquals=function(t){return!this.eq(t)},C.neq=C.notEquals,C.ne=C.notEquals,C.lessThan=function(t){return this.comp(t)<0},C.lt=C.lessThan,C.lessThanOrEqual=function(t){return this.comp(t)<=0},C.lte=C.lessThanOrEqual,C.le=C.lessThanOrEqual,C.greaterThan=function(t){return this.comp(t)>0},C.gt=C.greaterThan,C.greaterThanOrEqual=function(t){return this.comp(t)>=0},C.gte=C.greaterThanOrEqual,C.ge=C.greaterThanOrEqual,C.compare=function(t){if(i(t)||(t=f(t)),this.eq(t))return 0;var e=this.isNegative(),n=t.isNegative();return e&&!n?-1:!e&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1},C.comp=C.compare,C.negate=function(){return!this.unsigned&&this.eq(S)?S:this.not().add(w)},C.neg=C.negate,C.add=function(t){i(t)||(t=f(t));var e=this.high>>>16,n=65535&this.high,r=this.low>>>16,o=65535&this.low,s=t.high>>>16,a=65535&t.high,l=t.low>>>16,h=0,u=0,d=0,p=0;return d+=(p+=o+(65535&t.low))>>>16,u+=(d+=r+l)>>>16,h+=(u+=n+a)>>>16,h+=e+s,c((d&=65535)<<16|(p&=65535),(h&=65535)<<16|(u&=65535),this.unsigned)},C.subtract=function(t){return i(t)||(t=f(t)),this.add(t.neg())},C.sub=C.subtract,C.multiply=function(t){if(this.isZero())return v;if(i(t)||(t=f(t)),n)return c(n.mul(this.low,this.high,t.low,t.high),n.get_high(),this.unsigned);if(t.isZero())return v;if(this.eq(S))return t.isOdd()?S:v;if(t.eq(S))return this.isOdd()?S:v;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(m)&&t.lt(m))return l(this.toNumber()*t.toNumber(),this.unsigned);var e=this.high>>>16,r=65535&this.high,o=this.low>>>16,s=65535&this.low,a=t.high>>>16,h=65535&t.high,u=t.low>>>16,d=65535&t.low,p=0,g=0,b=0,w=0;return b+=(w+=s*d)>>>16,g+=(b+=o*d)>>>16,b&=65535,g+=(b+=s*u)>>>16,p+=(g+=r*d)>>>16,g&=65535,p+=(g+=o*u)>>>16,g&=65535,p+=(g+=s*h)>>>16,p+=e*d+r*u+o*h+s*a,c((b&=65535)<<16|(w&=65535),(p&=65535)<<16|(g&=65535),this.unsigned)},C.mul=C.multiply,C.divide=function(t){if(i(t)||(t=f(t)),t.isZero())throw Error("division by zero");var e,r,o;if(n)return this.unsigned||-2147483648!==this.high||-1!==t.low||-1!==t.high?c((this.unsigned?n.div_u:n.div_s)(this.low,this.high,t.low,t.high),n.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?b:v;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return b;if(t.gt(this.shru(1)))return y;o=b}else{if(this.eq(S))return t.eq(w)||t.eq(x)?S:t.eq(S)?w:(e=this.shr(1).div(t).shl(1)).eq(v)?t.isNegative()?w:x:(r=this.sub(t.mul(e)),o=e.add(r.div(t)));if(t.eq(S))return this.unsigned?b:v;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();o=v}for(r=this;r.gte(t);){e=Math.max(1,Math.floor(r.toNumber()/t.toNumber()));for(var s=Math.ceil(Math.log(e)/Math.LN2),a=s<=48?1:h(2,s-48),u=l(e),d=u.mul(t);d.isNegative()||d.gt(r);)d=(u=l(e-=a,this.unsigned)).mul(t);u.isZero()&&(u=w),o=o.add(u),r=r.sub(d)}return o},C.div=C.divide,C.modulo=function(t){return i(t)||(t=f(t)),n?c((this.unsigned?n.rem_u:n.rem_s)(this.low,this.high,t.low,t.high),n.get_high(),this.unsigned):this.sub(this.div(t).mul(t))},C.mod=C.modulo,C.rem=C.modulo,C.not=function(){return c(~this.low,~this.high,this.unsigned)},C.and=function(t){return i(t)||(t=f(t)),c(this.low&t.low,this.high&t.high,this.unsigned)},C.or=function(t){return i(t)||(t=f(t)),c(this.low|t.low,this.high|t.high,this.unsigned)},C.xor=function(t){return i(t)||(t=f(t)),c(this.low^t.low,this.high^t.high,this.unsigned)},C.shiftLeft=function(t){return i(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?c(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):c(0,this.low<<t-32,this.unsigned)},C.shl=C.shiftLeft,C.shiftRight=function(t){return i(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?c(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):c(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},C.shr=C.shiftRight,C.shiftRightUnsigned=function(t){if(i(t)&&(t=t.toInt()),0==(t&=63))return this;var e=this.high;return t<32?c(this.low>>>t|e<<32-t,e>>>t,this.unsigned):c(32===t?e:e>>>t-32,0,this.unsigned)},C.shru=C.shiftRightUnsigned,C.shr_u=C.shiftRightUnsigned,C.toSigned=function(){return this.unsigned?c(this.low,this.high,!1):this},C.toUnsigned=function(){return this.unsigned?this:c(this.low,this.high,!0)},C.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()},C.toBytesLE=function(){var t=this.high,e=this.low;return[255&e,e>>>8&255,e>>>16&255,e>>>24,255&t,t>>>8&255,t>>>16&255,t>>>24]},C.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,255&t,e>>>24,e>>>16&255,e>>>8&255,255&e]},r.fromBytes=function(t,e,n){return n?r.fromBytesLE(t,e):r.fromBytesBE(t,e)},r.fromBytesLE=function(t,e){return new r(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)},r.fromBytesBE=function(t,e){return new r(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)}},function(t,e){var n={utf8:{stringToBytes:function(t){return n.bin.stringToBytes(unescape(encodeURIComponent(t)))},bytesToString:function(t){return decodeURIComponent(escape(n.bin.bytesToString(t)))}},bin:{stringToBytes:function(t){for(var e=[],n=0;n<t.length;n++)e.push(255&t.charCodeAt(n));return e},bytesToString:function(t){for(var e=[],n=0;n<t.length;n++)e.push(String.fromCharCode(t[n]));return e.join("")}}};t.exports=n},function(t,e,n){t.exports=n(335)},function(t,e,n){var r=n(17),i=n(51),o=n(28),s=n(65).f,a=function(t){return function(e){for(var n,a=o(e),l=i(a),c=l.length,h=0,u=[];c>h;)n=l[h++],r&&!s.call(a,n)||u.push(t?[n,a[n]]:a[n]);return u}};t.exports={entries:a(!0),values:a(!1)}},function(t,e,n){t.exports=n(338)},function(t,e,n){t.exports=n(352)},function(t,e,n){var r=n(355),i=n(153);t.exports=function(t){if(i(Object(t))||"[object Arguments]"===Object.prototype.toString.call(t))return r(t)}},function(t,e,n){t.exports=n(360)},function(t,e,n){t.exports=n(372)},function(t,e,n){var r=n(13),i=n(375).trim,o=n(156),s=r.parseInt,a=/^[+-]?0[Xx]/,l=8!==s(o+"08")||22!==s(o+"0x16");t.exports=l?function(t,e){var n=i(String(t));return s(n,e>>>0||(a.test(n)?16:10))}:s},function(t,e){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},function(t,e,n){var r=n(151);t.exports=function(t){if(r(t))return t}},function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(t,e,n){t.exports=n(393)},function(t,e,n){var r=n(419),i=n(426),o=n(429);function s(t){var e=r.parse(t),n=e.protocol,s=e.pathname;return"file:"===n?new o(unescape(s)):new i(t)}t.exports={LocalFile:o,RemoteFile:i,fromUrl:s,open:function(t,e,n){if(n)return n;if(t)return s(t);if(e)return new o(e);throw new Error("no url, path, or filehandle provided, cannot open")}}},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.promisify=i;var r="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__";function i(t){if("function"!=typeof t)throw new TypeError("Argument to promisify must be a function");var e=t[r],n=i.Promise||Promise;if("function"!=typeof n)throw new Error("No Promise implementation found; do you need a polyfill?");return function(){for(var r=this,i=arguments.length,o=new Array(i),s=0;s<i;s++)o[s]=arguments[s];return new n((function(n,i){o.push((function(t){if(t)return i(t);for(var r=arguments.length,o=new Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];if(1===o.length||!e)return n(o[0]);var a={};o.forEach((function(t,n){var r=e[n];r&&(a[r]=t)})),n(a)})),t.call.apply(t,[r].concat(o))}))}}i.argumentNames=r,i.Promise=void 0},function(t,e,n){(function(t){Object.defineProperty(e,"__esModule",{value:!0});var r=n(449),i=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==t)return t;throw new Error("unable to locate global object")},o=void 0===i().AbortController?r.AbortController:i().AbortController;e.AbortController=o;var s=void 0===i().AbortController?r.AbortSignal:i().AbortSignal;e.AbortSignal=s}).call(this,n(23))},function(t,e,n){var r=n(104),i=n(432),o=n(439);t.exports={CramFile:r,IndexedCramFile:i,CraiIndex:o}},function(t,e,n){(function(e){var r,i=n(1),o=i(n(16)),s=i(n(37)),a=i(n(30)),l=i(n(31)),c=i(n(7)),h=i(n(10)),u=n(126),f=n(224),d=n(94),p=n(9),g=p.CramUnimplementedError,m=p.CramMalformedError,v=n(309),b=n(318),w=b.cramFileDefinition,y=b.getSectionParsers,x=n(329),_=n(160).open,k=n(58),S=k.parseItem,C=k.tinyMemoize,E=n(430).parseHeaderText,A=function(){function t(e){(0,c.default)(this,t),this.file=_(e.url,e.path,e.filehandle),this.validateChecksums=!0,this.fetchReferenceSequenceCallback=e.seqFetch,this.options={checkSequenceMD5:!1!==e.checkSequenceMD5,cacheSize:void 0!==e.cacheSize?e.cacheSize:2e4},this.featureCache=new d({maxSize:this.options.cacheSize})}var n,r,i,o,p,b,k,C,A,T;return(0,h.default)(t,[{key:"toString",value:function(){return this.file.filename?this.file.filename:this.file.url?this.file.url:"(cram file)"}},{key:"read",value:function(t,e,n,r){return this.file.read(t,e,n,r)}},{key:"stat",value:function(){return this.file.stat()}},{key:"getDefinition",value:(T=(0,l.default)(a.default.mark((function t(){var n,r;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.allocUnsafe(w.maxLength),t.next=3,this.file.read(n,0,w.maxLength,0);case 3:if(2===(r=w.parser.parse(n).result).majorVersion||3===r.majorVersion){t.next=6;break}throw new g("CRAM version ".concat(r.majorVersion," not supported"));case 6:return t.abrupt("return",r);case 7:case"end":return t.stop()}}),t,this)}))),function(){return T.apply(this,arguments)})},{key:"getSamHeader",value:(A=(0,l.default)(a.default.mark((function t(){var e,n,r,i,o;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getContainerById(0);case 2:if(e=t.sent){t.next=5;break}throw new m("file contains no containers");case 5:return t.next=7,e.getFirstBlock();case 7:return n=t.sent,r=n.content,i=r.readInt32LE(0),o=r.toString("utf8",4,4+i),this.header=o,t.abrupt("return",E(o));case 14:case"end":return t.stop()}}),t,this)}))),function(){return A.apply(this,arguments)})},{key:"getHeaderText",value:(C=(0,l.default)(a.default.mark((function t(){return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getSamHeader();case 2:return t.abrupt("return",this.header);case 3:case"end":return t.stop()}}),t,this)}))),function(){return C.apply(this,arguments)})},{key:"getSectionParsers",value:(k=(0,l.default)(a.default.mark((function t(){var e,n;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getDefinition();case 2:return e=t.sent,n=e.majorVersion,t.abrupt("return",y(n));case 5:case"end":return t.stop()}}),t,this)}))),function(){return k.apply(this,arguments)})},{key:"getContainerById",value:(b=(0,l.default)(a.default.mark((function t(e){var n,r,i,o,s,l,c,h,u,f;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getSectionParsers();case 2:return n=t.sent,r=n.cramFileDefinition.maxLength,t.next=6,this.file.stat();case 6:i=t.sent,o=i.size,s=n.cramContainerHeader1,c=0;case 10:if(!(c<=e)){t.next=36;break}if(!(r+s.maxLength+8>=o)){t.next=13;break}return t.abrupt("return",void 0);case 13:return l=this.getContainerAtPosition(r),t.next=16,l.getHeader();case 16:if(h=t.sent){t.next=19;break}throw new m("container ".concat(e," not found in file"));case 19:if(0!==c){t.next=32;break}r=h._endPosition,u=0;case 22:if(!(u<h.numBlocks)){t.next=30;break}return t.next=25,this.readBlock(r);case 25:f=t.sent,r=f._endPosition;case 27:u+=1,t.next=22;break;case 30:t.next=33;break;case 32:r+=h._size+h.length;case 33:c+=1,t.next=10;break;case 36:return t.abrupt("return",l);case 37:case"end":return t.stop()}}),t,this)}))),function(t){return b.apply(this,arguments)})},{key:"checkCrc32",value:(p=(0,l.default)(a.default.mark((function t(n,r,i,o){var l,c,h,u;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return l=e.allocUnsafe(r),t.next=3,this.file.read(l,0,r,n);case 3:if((c=f.unsigned(l))===i){t.next=6;break}throw new m((0,s.default)(h=(0,s.default)(u="crc mismatch in ".concat(o,": recorded CRC32 = ")).call(u,i,", but calculated CRC32 = ")).call(h,c));case 6:case"end":return t.stop()}}),t,this)}))),function(t,e,n,r){return p.apply(this,arguments)})},{key:"containerCount",value:(o=(0,l.default)(a.default.mark((function t(){var e,n,r,i,o,s,l,c,h;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getSectionParsers();case 2:return e=t.sent,t.next=5,this.file.stat();case 5:n=t.sent,r=n.size,i=e.cramContainerHeader1,o=0,s=e.cramFileDefinition.maxLength;case 10:if(!(s+i.maxLength+8<r)){t.next=33;break}return t.next=13,this.getContainerAtPosition(s).getHeader();case 13:if(l=t.sent){t.next=16;break}return t.abrupt("break",33);case 16:if(0!==o){t.next=29;break}s=l._endPosition,c=0;case 19:if(!(c<l.numBlocks)){t.next=27;break}return t.next=22,this.readBlock(s);case 22:h=t.sent,s=h._endPosition;case 24:c+=1,t.next=19;break;case 27:t.next=30;break;case 29:s+=l._size+l.length;case 30:o+=1,t.next=10;break;case 33:return t.abrupt("return",o);case 34:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"getContainerAtPosition",value:function(t){return new x(this,t)}},{key:"readBlockHeader",value:(i=(0,l.default)(a.default.mark((function t(n){var r,i,o,s,l;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getSectionParsers();case 2:return r=t.sent,i=r.cramBlockHeader,t.next=6,this.file.stat();case 6:if(o=t.sent,s=o.size,!(n+i.maxLength>=s)){t.next=10;break}return t.abrupt("return",void 0);case 10:return l=e.allocUnsafe(i.maxLength),t.next=13,this.file.read(l,0,i.maxLength,n);case 13:return t.abrupt("return",S(l,i.parser,0,n));case 14:case"end":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:"_parseSection",value:(r=(0,l.default)(a.default.mark((function t(n,r){var i,o,l,c,h,u,f,d=arguments;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(o=d.length>2&&void 0!==d[2]?d[2]:n.maxLength,!(l=d.length>3?d[3]:void 0)){t.next=6;break}c=l,t.next=15;break;case 6:return t.next=8,this.file.stat();case 8:if(h=t.sent,u=h.size,!(r+o>=u)){t.next=12;break}return t.abrupt("return",void 0);case 12:return c=e.allocUnsafe(o),t.next=15,this.file.read(c,0,o,r);case 15:if((f=S(c,n.parser,0,r))._size===o){t.next=18;break}throw new m((0,s.default)(i="section read error: requested size ".concat(o," does not equal parsed size ")).call(i,f._size));case 18:return t.abrupt("return",f);case 19:case"end":return t.stop()}}),t,this)}))),function(t,e){return r.apply(this,arguments)})},{key:"_uncompress",value:function(t,e,n){if("gzip"===t)u.gunzipSync(e).copy(n);else{if("rans"!==t)throw new g("".concat(t," decompression not yet implemented"));v.uncompress(e,n)}}},{key:"readBlock",value:(n=(0,l.default)(a.default.mark((function t(n){var r,i,o,s,l,c,h,u;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getDefinition();case 2:return r=t.sent,i=r.majorVersion,t.next=6,this.getSectionParsers();case 6:return o=t.sent,t.next=9,this.readBlockHeader(n);case 9:if(s=t.sent,l=s._endPosition,s.contentPosition=s._endPosition,c=e.allocUnsafe(s.uncompressedSize),"raw"===s.compressionMethod){t.next=20;break}return h=e.allocUnsafe(s.compressedSize),t.next=17,this.read(h,0,s.compressedSize,l);case 17:this._uncompress(s.compressionMethod,h,c),t.next=22;break;case 20:return t.next=22,this.read(c,0,s.uncompressedSize,l);case 22:if(s.content=c,!(i>=3)){t.next=35;break}return t.next=26,this._parseSection(o.cramBlockCrc32,l+s.compressedSize);case 26:if(u=t.sent,s.crc32=u.crc32,!this.validateChecksums){t.next=31;break}return t.next=31,this.checkCrc32(n,s._size+s.compressedSize,s.crc32,"block data");case 31:s._endPosition=u._endPosition,s._size=s.compressedSize+o.cramBlockCrc32.maxLength,t.next=37;break;case 35:s._endPosition=l+s.compressedSize,s._size=s.compressedSize;case 37:return t.abrupt("return",s);case 38:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})}]),t}();(0,o.default)(r="getDefinition getSectionParsers getSamHeader".split(" ")).call(r,(function(t){return C(A,t)})),t.exports=A}).call(this,n(19).Buffer)},function(t,e,n){e.byteLength=function(t){var e=c(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,r=c(t),s=r[0],a=r[1],l=new o(function(t,e,n){return 3*(e+n)/4-n}(0,s,a)),h=0,u=a>0?s-4:s;for(n=0;n<u;n+=4)e=i[t.charCodeAt(n)]<<18|i[t.charCodeAt(n+1)]<<12|i[t.charCodeAt(n+2)]<<6|i[t.charCodeAt(n+3)],l[h++]=e>>16&255,l[h++]=e>>8&255,l[h++]=255&e;return 2===a&&(e=i[t.charCodeAt(n)]<<2|i[t.charCodeAt(n+1)]>>4,l[h++]=255&e),1===a&&(e=i[t.charCodeAt(n)]<<10|i[t.charCodeAt(n+1)]<<4|i[t.charCodeAt(n+2)]>>2,l[h++]=e>>8&255,l[h++]=255&e),l},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o=[],s=0,a=n-i;s<a;s+=16383)o.push(h(t,s,s+16383>a?a:s+16383));return 1===i?(e=t[n-1],o.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],o.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=s.length;a<l;++a)r[a]=s[a],i[s.charCodeAt(a)]=a;function c(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function h(t,e,n){for(var i,o,s=[],a=e;a<n;a+=3)i=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),s.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,n,r,i){var o,s,a=8*i-r-1,l=(1<<a)-1,c=l>>1,h=-7,u=n?i-1:0,f=n?-1:1,d=t[e+u];for(u+=f,o=d&(1<<-h)-1,d>>=-h,h+=a;h>0;o=256*o+t[e+u],u+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=r;h>0;s=256*s+t[e+u],u+=f,h-=8);if(0===o)o=1-c;else{if(o===l)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),o-=c}return(d?-1:1)*s*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var s,a,l,c=8*o-i-1,h=(1<<c)-1,u=h>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),(e+=s+u>=1?f/l:f*Math.pow(2,1-u))*l>=2&&(s++,l/=2),s+u>=h?(a=0,s=h):s+u>=1?(a=(e*l-1)*Math.pow(2,i),s+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,i),s=0));i>=8;t[n+d]=255&a,d+=p,a/=256,i-=8);for(s=s<<i|a,c+=i;c>0;t[n+d]=255&s,d+=p,s/=256,c-=8);t[n+d-p]|=128*g}},function(t,e,n){n(41);var r=n(177),i=n(67),o=Array.prototype,s={DOMTokenList:!0,NodeList:!0};t.exports=function(t){var e=t.forEach;return t===o||t instanceof Array&&e===o.forEach||s.hasOwnProperty(i(t))?r:e}},function(t,e,n){var r=n(28),i=n(78),o=n(35),s=n(42),a=n(80),l=s.set,c=s.getterFor("Array Iterator");t.exports=a(Array,"Array",(function(t,e){l(this,{type:"Array Iterator",target:r(t),index:0,kind:e})}),(function(){var t=c(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(t,e,n){var r=n(13),i=n(170),o=r.WeakMap;t.exports="function"==typeof o&&/native code/.test(i.call(o))},function(t,e,n){var r=n(61);t.exports=r("native-function-to-string",Function.toString)},function(t,e,n){var r=n(13),i=n(20);t.exports=function(t,e){try{i(r,t,e)}catch(n){r[t]=e}return e}},function(t,e,n){var r=n(108).IteratorPrototype,i=n(44),o=n(43),s=n(36),a=n(35),l=function(){return this};t.exports=function(t,e,n){var c=e+" Iterator";return t.prototype=i(r,{next:o(1,n)}),s(t,c,!1,!0),a[c]=l,t}},function(t,e,n){var r=n(17),i=n(21),o=n(2),s=n(51);t.exports=r?Object.defineProperties:function(t,e){o(t);for(var n,r=s(e),a=r.length,l=0;a>l;)i.f(t,n=r[l++],e[n]);return t}},function(t,e,n){var r=n(67),i={};i[n(6)("toStringTag")]="z",t.exports="[object z]"!==String(i)?function(){return"[object "+r(this)+"]"}:i.toString},function(t,e,n){var r=n(14);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},function(t,e){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(t,e,n){t.exports=n(178)},function(t,e,n){n(179);var r=n(18);t.exports=r("Array").forEach},function(t,e,n){var r=n(0),i=n(180);r({target:"Array",proto:!0,forced:[].forEach!=i},{forEach:i})},function(t,e,n){var r=n(45).forEach,i=n(54);t.exports=i("forEach")?function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach},function(t,e,n){t.exports=n(182)},function(t,e,n){var r=n(183),i=Array.prototype;t.exports=function(t){var e=t.concat;return t===i||t instanceof Array&&e===i.concat?r:e}},function(t,e,n){n(114);var r=n(18);t.exports=r("Array").concat},function(t,e,n){var r=function(t){var e,n=Object.prototype,r=n.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag";function l(t,e,n,r){var i=e&&e.prototype instanceof g?e:g,o=Object.create(i.prototype),s=new A(r||[]);return o._invoke=function(t,e,n){var r=h;return function(i,o){if(r===f)throw new Error("Generator is already running");if(r===d){if("throw"===i)throw o;return L()}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var a=S(s,n);if(a){if(a===p)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===h)throw r=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var l=c(t,e,n);if("normal"===l.type){if(r=n.done?d:u,l.arg===p)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r=d,n.method="throw",n.arg=l.arg)}}}(t,n,s),o}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var h="suspendedStart",u="suspendedYield",f="executing",d="completed",p={};function g(){}function m(){}function v(){}var b={};b[o]=function(){return this};var w=Object.getPrototypeOf,y=w&&w(w(T([])));y&&y!==n&&r.call(y,o)&&(b=y);var x=v.prototype=g.prototype=Object.create(b);function _(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function k(t,e){var n;this._invoke=function(i,o){function s(){return new e((function(n,s){!function n(i,o,s,a){var l=c(t[i],t,o);if("throw"!==l.type){var h=l.arg,u=h.value;return u&&"object"==typeof u&&r.call(u,"__await")?e.resolve(u.__await).then((function(t){n("next",t,s,a)}),(function(t){n("throw",t,s,a)})):e.resolve(u).then((function(t){h.value=t,s(h)}),(function(t){return n("throw",t,s,a)}))}a(l.arg)}(i,o,n,s)}))}return n=n?n.then(s,s):s()}}function S(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=e,S(t,n),"throw"===n.method))return p;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var i=c(r,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,p;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,p):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,p)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function T(t){if(t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,s=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return s.next=s}}return{next:L}}function L(){return{value:e,done:!0}}return m.prototype=x.constructor=v,v.constructor=m,v[a]=m.displayName="GeneratorFunction",t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,a in t||(t[a]="GeneratorFunction")),t.prototype=Object.create(x),t},t.awrap=function(t){return{__await:t}},_(k.prototype),k.prototype[s]=function(){return this},t.AsyncIterator=k,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var s=new k(l(e,n,r,i),o);return t.isGeneratorFunction(n)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},_(x),x[a]="Generator",x[o]=function(){return this},x.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=T,A.prototype={constructor:A,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(E),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return a.type="throw",a.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var l=r.call(s,"catchLoc"),c=r.call(s,"finallyLoc");if(l&&c){if(this.prev<s.catchLoc)return i(s.catchLoc,!0);if(this.prev<s.finallyLoc)return i(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return i(s.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return i(s.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=t,s.arg=e,o?(this.method="next",this.next=o.finallyLoc,p):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;E(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:T(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),p}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}},function(t,e,n){t.exports=n(186)},function(t,e,n){t.exports=n(115),n(192),n(193),n(194),n(195)},function(t,e,n){var r=n(83),i=n(49),o=function(t){return function(e,n){var o,s,a=String(i(e)),l=r(n),c=a.length;return l<0||l>=c?t?"":void 0:(o=a.charCodeAt(l))<55296||o>56319||l+1===c||(s=a.charCodeAt(l+1))<56320||s>57343?t?a.charAt(l):o:t?a.slice(l,l+2):s-56320+(o-55296<<10)+65536}};t.exports={codeAt:o(!1),charAt:o(!0)}},function(t,e,n){var r,i,o,s,a=n(0),l=n(4),c=n(13),h=n(3),u=n(116),f=n(52),d=n(117),p=n(36),g=n(118),m=n(14),v=n(5),b=n(89),w=n(34),y=n(8),x=n(121),_=n(55),k=n(122).set,S=n(189),C=n(124),E=n(190),A=n(56),T=n(69),L=n(123),M=n(42),R=n(107),I=n(6)("species"),N="Promise",P=M.get,F=M.set,O=M.getterFor(N),D=u,B=c.TypeError,z=c.document,H=c.process,V=c.fetch,j=H&&H.versions,U=j&&j.v8||"",q=A.f,W=q,$="process"==w(H),G=!!(z&&z.createEvent&&c.dispatchEvent),Z=R(N,(function(){var t=D.resolve(1),e=function(){},n=(t.constructor={})[I]=function(t){t(e,e)};return!(($||"function"==typeof PromiseRejectionEvent)&&(!l||t.finally)&&t.then(e)instanceof n&&0!==U.indexOf("6.6")&&-1===L.indexOf("Chrome/66"))})),X=Z||!x((function(t){D.all(t).catch((function(){}))})),Y=function(t){var e;return!(!m(t)||"function"!=typeof(e=t.then))&&e},K=function(t,e,n){if(!e.notified){e.notified=!0;var r=e.reactions;S((function(){for(var i=e.value,o=1==e.state,s=0;r.length>s;){var a,l,c,h=r[s++],u=o?h.ok:h.fail,f=h.resolve,d=h.reject,p=h.domain;try{u?(o||(2===e.rejection&&et(t,e),e.rejection=1),!0===u?a=i:(p&&p.enter(),a=u(i),p&&(p.exit(),c=!0)),a===h.promise?d(B("Promise-chain cycle")):(l=Y(a))?l.call(a,f,d):f(a)):d(i)}catch(t){p&&!c&&p.exit(),d(t)}}e.reactions=[],e.notified=!1,n&&!e.rejection&&J(t,e)}))}},Q=function(t,e,n){var r,i;G?((r=z.createEvent("Event")).promise=e,r.reason=n,r.initEvent(t,!1,!0),c.dispatchEvent(r)):r={promise:e,reason:n},(i=c["on"+t])?i(r):"unhandledrejection"===t&&E("Unhandled promise rejection",n)},J=function(t,e){k.call(c,(function(){var n,r=e.value;if(tt(e)&&(n=T((function(){$?H.emit("unhandledRejection",r,t):Q("unhandledrejection",t,r)})),e.rejection=$||tt(e)?2:1,n.error))throw n.value}))},tt=function(t){return 1!==t.rejection&&!t.parent},et=function(t,e){k.call(c,(function(){$?H.emit("rejectionHandled",t):Q("rejectionhandled",t,e.value)}))},nt=function(t,e,n,r){return function(i){t(e,n,i,r)}},rt=function(t,e,n,r){e.done||(e.done=!0,r&&(e=r),e.value=n,e.state=2,K(t,e,!0))},it=function(t,e,n,r){if(!e.done){e.done=!0,r&&(e=r);try{if(t===n)throw B("Promise can't be resolved itself");var i=Y(n);i?S((function(){var r={done:!1};try{i.call(n,nt(it,t,r,e),nt(rt,t,r,e))}catch(n){rt(t,r,n,e)}})):(e.value=n,e.state=1,K(t,e,!1))}catch(n){rt(t,{done:!1},n,e)}}};Z&&(D=function(t){b(this,D,N),v(t),r.call(this);var e=P(this);try{t(nt(it,this,e),nt(rt,this,e))}catch(t){rt(this,e,t)}},(r=function(t){F(this,{type:N,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=d(D.prototype,{then:function(t,e){var n=O(this),r=q(_(this,D));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=$?H.domain:void 0,n.parent=!0,n.reactions.push(r),0!=n.state&&K(this,n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r,e=P(t);this.promise=t,this.resolve=nt(it,t,e),this.reject=nt(rt,t,e)},A.f=q=function(t){return t===D||t===o?new i(t):W(t)},l||"function"!=typeof u||(s=u.prototype.then,f(u.prototype,"then",(function(t,e){var n=this;return new D((function(t,e){s.call(n,t,e)})).then(t,e)})),"function"==typeof V&&a({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return C(D,V.apply(c,arguments))}}))),a({global:!0,wrap:!0,forced:Z},{Promise:D}),p(D,N,!1,!0),g(N),o=h.Promise,a({target:N,stat:!0,forced:Z},{reject:function(t){var e=q(this);return e.reject.call(void 0,t),e.promise}}),a({target:N,stat:!0,forced:l||Z},{resolve:function(t){return C(l&&this===o?D:this,t)}}),a({target:N,stat:!0,forced:X},{all:function(t){var e=this,n=q(e),r=n.resolve,i=n.reject,o=T((function(){var n=v(e.resolve),o=[],s=0,a=1;y(t,(function(t){var l=s++,c=!1;o.push(void 0),a++,n.call(e,t).then((function(t){c||(c=!0,o[l]=t,--a||r(o))}),i)})),--a||r(o)}));return o.error&&i(o.value),n.promise},race:function(t){var e=this,n=q(e),r=n.reject,i=T((function(){var i=v(e.resolve);y(t,(function(t){i.call(e,t).then(n.resolve,r)}))}));return i.error&&r(i.value),n.promise}})},function(t,e,n){var r,i,o,s,a,l,c,h,u=n(13),f=n(81).f,d=n(34),p=n(122).set,g=n(123),m=u.MutationObserver||u.WebKitMutationObserver,v=u.process,b=u.Promise,w="process"==d(v),y=f(u,"queueMicrotask"),x=y&&y.value;x||(r=function(){var t,e;for(w&&(t=v.domain)&&t.exit();i;){e=i.fn,i=i.next;try{e()}catch(t){throw i?s():o=void 0,t}}o=void 0,t&&t.enter()},w?s=function(){v.nextTick(r)}:m&&!/(iphone|ipod|ipad).*applewebkit/i.test(g)?(a=!0,l=document.createTextNode(""),new m(r).observe(l,{characterData:!0}),s=function(){l.data=a=!a}):b&&b.resolve?(c=b.resolve(void 0),h=c.then,s=function(){h.call(c,r)}):s=function(){p.call(u,r)}),t.exports=x||function(t){var e={fn:t,next:void 0};o&&(o.next=e),i||(i=e,s()),o=e}},function(t,e,n){var r=n(13);t.exports=function(t,e){var n=r.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))}},function(t,e,n){var r=n(0),i=n(4),o=n(116),s=n(26),a=n(55),l=n(124),c=n(52);r({target:"Promise",proto:!0,real:!0},{finally:function(t){var e=a(this,s("Promise")),n="function"==typeof t;return this.then(n?function(n){return l(e,t()).then((function(){return n}))}:t,n?function(n){return l(e,t()).then((function(){throw n}))}:t)}}),i||"function"!=typeof o||o.prototype.finally||c(o.prototype,"finally",s("Promise").prototype.finally)},function(t,e,n){var r=n(0),i=n(66),o=n(86),s=n(44),a=n(43),l=n(8),c=n(20),h=function(t,e){var n=this;if(!(n instanceof h))return new h(t,e);o&&(n=o(new Error(e),i(n)));var r=[];return l(t,r.push,r),c(n,"errors",r),void 0!==e&&c(n,"message",String(e)),n};h.prototype=s(Error.prototype,{constructor:a(5,h),name:a(5,"AggregateError")}),r({global:!0},{AggregateError:h})},function(t,e,n){n(125)},function(t,e,n){var r=n(0),i=n(56),o=n(69);r({target:"Promise",stat:!0},{try:function(t){var e=i.f(this),n=o(t);return(n.error?e.reject:e.resolve)(n.value),e.promise}})},function(t,e,n){var r=n(0),i=n(5),o=n(26),s=n(56),a=n(69),l=n(8);r({target:"Promise",stat:!0},{any:function(t){var e=this,n=s.f(e),r=n.resolve,c=n.reject,h=a((function(){var n=i(e.resolve),s=[],a=0,h=1,u=!1;l(t,(function(t){var i=a++,l=!1;s.push(void 0),h++,n.call(e,t).then((function(t){l||u||(u=!0,r(t))}),(function(t){l||u||(l=!0,s[i]=t,--h||c(new(o("AggregateError"))(s,"No one promise resolved")))}))})),--h||c(new(o("AggregateError"))(s,"No one promise resolved"))}));return h.error&&c(h.value),n.promise}})},function(t,e,n){t.exports=n(197)},function(t,e,n){t.exports=n(198)},function(t,e,n){n(199);var r=n(3).Object,i=t.exports=function(t,e,n){return r.defineProperty(t,e,n)};r.defineProperty.sham&&(i.sham=!0)},function(t,e,n){var r=n(0),i=n(17);r({target:"Object",stat:!0,forced:!i,sham:!i},{defineProperty:n(21).f})},function(t,e,n){t.exports=i;var r=n(91).EventEmitter;function i(){r.call(this)}n(47)(i,r),i.Readable=n(92),i.Writable=n(208),i.Duplex=n(209),i.Transform=n(210),i.PassThrough=n(211),i.Stream=i,i.prototype.pipe=function(t,e){var n=this;function i(e){t.writable&&!1===t.write(e)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",i),t.on("drain",o),t._isStdio||e&&!1===e.end||(n.on("end",a),n.on("close",l));var s=!1;function a(){s||(s=!0,t.end())}function l(){s||(s=!0,"function"==typeof t.destroy&&t.destroy())}function c(t){if(h(),0===r.listenerCount(this,"error"))throw t}function h(){n.removeListener("data",i),t.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",l),n.removeListener("error",c),t.removeListener("error",c),n.removeListener("end",h),n.removeListener("close",h),t.removeListener("close",h)}return n.on("error",c),t.on("error",c),n.on("end",h),n.on("close",h),t.on("close",h),t.emit("pipe",n),t}},function(t,e){},function(t,e,n){var r=n(71).Buffer,i=n(203);t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n},t.prototype.concat=function(t){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var e,n,i=r.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=i,n=s,o.data.copy(e,n),s+=o.data.length,o=o.next;return i},t}(),i&&i.inspect&&i.inspect.custom&&(t.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},function(t,e){},function(t,e,n){(function(t){var r=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},e.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},n(205),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(23))},function(t,e,n){(function(t,e){!function(t,n){if(!t.setImmediate){var r,i,o,s,a,l=1,c={},h=!1,u=t.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(t);f=f&&f.setTimeout?f:t,"[object process]"==={}.toString.call(t.process)?r=function(t){e.nextTick((function(){p(t)}))}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(s="setImmediate$"+Math.random()+"$",a=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(s)&&p(+e.data.slice(s.length))},t.addEventListener?t.addEventListener("message",a,!1):t.attachEvent("onmessage",a),r=function(e){t.postMessage(s+e,"*")}):t.MessageChannel?((o=new MessageChannel).port1.onmessage=function(t){p(t.data)},r=function(t){o.port2.postMessage(t)}):u&&"onreadystatechange"in u.createElement("script")?(i=u.documentElement,r=function(t){var e=u.createElement("script");e.onreadystatechange=function(){p(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):r=function(t){setTimeout(p,0,t)},f.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var i={callback:t,args:e};return c[l]=i,r(l),l++},f.clearImmediate=d}function d(t){delete c[t]}function p(t){if(h)setTimeout(p,0,t);else{var e=c[t];if(e){h=!0;try{!function(t){var e=t.callback,n=t.args;switch(n.length){case 0:e();break;case 1:e(n[0]);break;case 2:e(n[0],n[1]);break;case 3:e(n[0],n[1],n[2]);break;default:e.apply(undefined,n)}}(e)}finally{d(t),h=!1}}}}}("undefined"==typeof self?void 0===t?this:t:self)}).call(this,n(23),n(38))},function(t,e,n){(function(e){function n(t){try{if(!e.localStorage)return!1}catch(t){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}t.exports=function(t,e){if(n("noDeprecation"))return t;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}}).call(this,n(23))},function(t,e,n){t.exports=o;var r=n(131),i=n(57);function o(t){if(!(this instanceof o))return new o(t);r.call(this,t)}i.inherits=n(47),i.inherits(o,r),o.prototype._transform=function(t,e,n){n(null,t)}},function(t,e,n){t.exports=n(93)},function(t,e,n){t.exports=n(39)},function(t,e,n){t.exports=n(92).Transform},function(t,e,n){t.exports=n(92).PassThrough},function(t,e,n){(function(t,r){var i=n(132),o=n(216),s=n(217),a=n(220),l=n(223);for(var c in l)e[c]=l[c];function h(t){if("number"!=typeof t||t<e.DEFLATE||t>e.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=t,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}e.NONE=0,e.DEFLATE=1,e.INFLATE=2,e.GZIP=3,e.GUNZIP=4,e.DEFLATERAW=5,e.INFLATERAW=6,e.UNZIP=7,h.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,i(this.init_done,"close before init"),i(this.mode<=e.UNZIP),this.mode===e.DEFLATE||this.mode===e.GZIP||this.mode===e.DEFLATERAW?s.deflateEnd(this.strm):this.mode!==e.INFLATE&&this.mode!==e.GUNZIP&&this.mode!==e.INFLATERAW&&this.mode!==e.UNZIP||a.inflateEnd(this.strm),this.mode=e.NONE,this.dictionary=null)},h.prototype.write=function(t,e,n,r,i,o,s){return this._write(!0,t,e,n,r,i,o,s)},h.prototype.writeSync=function(t,e,n,r,i,o,s){return this._write(!1,t,e,n,r,i,o,s)},h.prototype._write=function(n,o,s,a,l,c,h,u){if(i.equal(arguments.length,8),i(this.init_done,"write before init"),i(this.mode!==e.NONE,"already finalized"),i.equal(!1,this.write_in_progress,"write already in progress"),i.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,i.equal(!1,void 0===o,"must provide flush value"),this.write_in_progress=!0,o!==e.Z_NO_FLUSH&&o!==e.Z_PARTIAL_FLUSH&&o!==e.Z_SYNC_FLUSH&&o!==e.Z_FULL_FLUSH&&o!==e.Z_FINISH&&o!==e.Z_BLOCK)throw new Error("Invalid flush value");if(null==s&&(s=t.alloc(0),l=0,a=0),this.strm.avail_in=l,this.strm.input=s,this.strm.next_in=a,this.strm.avail_out=u,this.strm.output=c,this.strm.next_out=h,this.flush=o,!n)return this._process(),this._checkError()?this._afterSync():void 0;var f=this;return r.nextTick((function(){f._process(),f._after()})),this},h.prototype._afterSync=function(){var t=this.strm.avail_out,e=this.strm.avail_in;return this.write_in_progress=!1,[e,t]},h.prototype._process=function(){var t=null;switch(this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=s.deflate(this.strm,this.flush);break;case e.UNZIP:switch(this.strm.avail_in>0&&(t=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===t)break;if(31!==this.strm.input[t]){this.mode=e.INFLATE;break}if(this.gzip_id_bytes_read=1,t++,1===this.strm.avail_in)break;case 1:if(null===t)break;139===this.strm.input[t]?(this.gzip_id_bytes_read=2,this.mode=e.GUNZIP):this.mode=e.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:for(this.err=a.inflate(this.strm,this.flush),this.err===e.Z_NEED_DICT&&this.dictionary&&(this.err=a.inflateSetDictionary(this.strm,this.dictionary),this.err===e.Z_OK?this.err=a.inflate(this.strm,this.flush):this.err===e.Z_DATA_ERROR&&(this.err=e.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===e.GUNZIP&&this.err===e.Z_STREAM_END&&0!==this.strm.next_in[0];)this.reset(),this.err=a.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},h.prototype._checkError=function(){switch(this.err){case e.Z_OK:case e.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===e.Z_FINISH)return this._error("unexpected end of file"),!1;break;case e.Z_STREAM_END:break;case e.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},h.prototype._after=function(){if(this._checkError()){var t=this.strm.avail_out,e=this.strm.avail_in;this.write_in_progress=!1,this.callback(e,t),this.pending_close&&this.close()}},h.prototype._error=function(t){this.strm.msg&&(t=this.strm.msg),this.onerror(t,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},h.prototype.init=function(t,n,r,o,s){i(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),i(t>=8&&t<=15,"invalid windowBits"),i(n>=-1&&n<=9,"invalid compression level"),i(r>=1&&r<=9,"invalid memlevel"),i(o===e.Z_FILTERED||o===e.Z_HUFFMAN_ONLY||o===e.Z_RLE||o===e.Z_FIXED||o===e.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(n,t,r,o,s),this._setDictionary()},h.prototype.params=function(){throw new Error("deflateParams Not supported")},h.prototype.reset=function(){this._reset(),this._setDictionary()},h.prototype._init=function(t,n,r,i,l){switch(this.level=t,this.windowBits=n,this.memLevel=r,this.strategy=i,this.flush=e.Z_NO_FLUSH,this.err=e.Z_OK,this.mode!==e.GZIP&&this.mode!==e.GUNZIP||(this.windowBits+=16),this.mode===e.UNZIP&&(this.windowBits+=32),this.mode!==e.DEFLATERAW&&this.mode!==e.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new o,this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=s.deflateInit2(this.strm,this.level,e.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:case e.UNZIP:this.err=a.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==e.Z_OK&&this._error("Init error"),this.dictionary=l,this.write_in_progress=!1,this.init_done=!0},h.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:this.err=s.deflateSetDictionary(this.strm,this.dictionary)}this.err!==e.Z_OK&&this._error("Failed to set dictionary")}},h.prototype._reset=function(){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:case e.GZIP:this.err=s.deflateReset(this.strm);break;case e.INFLATE:case e.INFLATERAW:case e.GUNZIP:this.err=a.inflateReset(this.strm)}this.err!==e.Z_OK&&this._error("Failed to reset stream")},e.Zlib=h}).call(this,n(19).Buffer,n(38))},function(t,e,n){
53
53
  /*
54
54
  object-assign
55
55
  (c) Sindre Sorhus
56
56
  @license MIT
57
57
  */
58
- var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function s(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,a,c=s(t),l=1;l<arguments.length;l++){for(var h in n=Object(arguments[l]))i.call(n,h)&&(c[h]=n[h]);if(r){a=r(n);for(var u=0;u<a.length;u++)o.call(n,a[u])&&(c[a[u]]=n[a[u]])}}return c}},function(t,e){t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},function(t,e){"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},function(t,e,n){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},function(t,e,n){var r,i=n(72),o=n(218),s=n(134),a=n(135),c=n(219),l=-2,h=258,u=262,f=103,d=113,p=666;function g(t,e){return t.msg=c[e],e}function m(t){return(t<<1)-(t>4?9:0)}function v(t){for(var e=t.length;--e>=0;)t[e]=0}function b(t){var e=t.state,n=e.pending;n>t.avail_out&&(n=t.avail_out),0!==n&&(i.arraySet(t.output,e.pending_buf,e.pending_out,n,t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,0===e.pending&&(e.pending_out=0))}function w(t,e){o._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,b(t.strm)}function y(t,e){t.pending_buf[t.pending++]=e}function x(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function _(t,e){var n,r,i=t.max_chain_length,o=t.strstart,s=t.prev_length,a=t.nice_match,c=t.strstart>t.w_size-u?t.strstart-(t.w_size-u):0,l=t.window,f=t.w_mask,d=t.prev,p=t.strstart+h,g=l[o+s-1],m=l[o+s];t.prev_length>=t.good_match&&(i>>=2),a>t.lookahead&&(a=t.lookahead);do{if(l[(n=e)+s]===m&&l[n+s-1]===g&&l[n]===l[o]&&l[++n]===l[o+1]){o+=2,n++;do{}while(l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&o<p);if(r=h-(p-o),o=p-h,r>s){if(t.match_start=e,s=r,r>=a)break;g=l[o+s-1],m=l[o+s]}}}while((e=d[e&f])>c&&0!=--i);return s<=t.lookahead?s:t.lookahead}function k(t){var e,n,r,o,c,l,h,f,d,p,g=t.w_size;do{if(o=t.window_size-t.lookahead-t.strstart,t.strstart>=g+(g-u)){i.arraySet(t.window,t.window,g,g,0),t.match_start-=g,t.strstart-=g,t.block_start-=g,e=n=t.hash_size;do{r=t.head[--e],t.head[e]=r>=g?r-g:0}while(--n);e=n=g;do{r=t.prev[--e],t.prev[e]=r>=g?r-g:0}while(--n);o+=g}if(0===t.strm.avail_in)break;if(l=t.strm,h=t.window,f=t.strstart+t.lookahead,d=o,p=void 0,(p=l.avail_in)>d&&(p=d),n=0===p?0:(l.avail_in-=p,i.arraySet(h,l.input,l.next_in,p,f),1===l.state.wrap?l.adler=s(l.adler,h,p,f):2===l.state.wrap&&(l.adler=a(l.adler,h,p,f)),l.next_in+=p,l.total_in+=p,p),t.lookahead+=n,t.lookahead+t.insert>=3)for(c=t.strstart-t.insert,t.ins_h=t.window[c],t.ins_h=(t.ins_h<<t.hash_shift^t.window[c+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[c+3-1])&t.hash_mask,t.prev[c&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=c,c++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<u&&0!==t.strm.avail_in)}function S(t,e){for(var n,r;;){if(t.lookahead<u){if(k(t),t.lookahead<u&&0===e)return 1;if(0===t.lookahead)break}if(n=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==n&&t.strstart-n<=t.w_size-u&&(t.match_length=_(t,n)),t.match_length>=3)if(r=o._tr_tally(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else r=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(r&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}function C(t,e){for(var n,r,i;;){if(t.lookahead<u){if(k(t),t.lookahead<u&&0===e)return 1;if(0===t.lookahead)break}if(n=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==n&&t.prev_length<t.max_lazy_match&&t.strstart-n<=t.w_size-u&&(t.match_length=_(t,n),t.match_length<=5&&(1===t.strategy||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,r=o._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,r&&(w(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if((r=o._tr_tally(t,0,t.window[t.strstart-1]))&&w(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(r=o._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}function E(t,e,n,r,i){this.good_length=t,this.max_lazy=e,this.nice_length=n,this.max_chain=r,this.func=i}function A(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(1146),this.dyn_dtree=new i.Buf16(122),this.bl_tree=new i.Buf16(78),v(this.dyn_ltree),v(this.dyn_dtree),v(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(16),this.heap=new i.Buf16(573),v(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(573),v(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function T(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=2,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:d,t.adler=2===e.wrap?0:1,e.last_flush=0,o._tr_init(e),0):g(t,l)}function L(t){var e,n=T(t);return 0===n&&((e=t.state).window_size=2*e.w_size,v(e.head),e.max_lazy_match=r[e.level].max_lazy,e.good_match=r[e.level].good_length,e.nice_match=r[e.level].nice_length,e.max_chain_length=r[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=2,e.match_available=0,e.ins_h=0),n}function R(t,e,n,r,o,s){if(!t)return l;var a=1;if(-1===e&&(e=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>9||8!==n||r<8||r>15||e<0||e>9||s<0||s>4)return g(t,l);8===r&&(r=9);var c=new A;return t.state=c,c.strm=t,c.wrap=a,c.gzhead=null,c.w_bits=r,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=o+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+3-1)/3),c.window=new i.Buf8(2*c.w_size),c.head=new i.Buf16(c.hash_size),c.prev=new i.Buf16(c.w_size),c.lit_bufsize=1<<o+6,c.pending_buf_size=4*c.lit_bufsize,c.pending_buf=new i.Buf8(c.pending_buf_size),c.d_buf=1*c.lit_bufsize,c.l_buf=3*c.lit_bufsize,c.level=e,c.strategy=s,c.method=n,L(t)}r=[new E(0,0,0,0,(function(t,e){var n=65535;for(n>t.pending_buf_size-5&&(n=t.pending_buf_size-5);;){if(t.lookahead<=1){if(k(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var r=t.block_start+n;if((0===t.strstart||t.strstart>=r)&&(t.lookahead=t.strstart-r,t.strstart=r,w(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-u&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(w(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(w(t,!1),t.strm.avail_out),1)})),new E(4,4,8,4,S),new E(4,5,16,8,S),new E(4,6,32,32,S),new E(4,4,16,16,C),new E(8,16,32,32,C),new E(8,16,128,128,C),new E(8,32,128,256,C),new E(32,128,258,1024,C),new E(32,258,258,4096,C)],e.deflateInit=function(t,e){return R(t,e,8,15,8,0)},e.deflateInit2=R,e.deflateReset=L,e.deflateResetKeep=T,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?l:(t.state.gzhead=e,0):l},e.deflate=function(t,e){var n,i,s,c;if(!t||!t.state||e>5||e<0)return t?g(t,l):l;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||i.status===p&&4!==e)return g(t,0===t.avail_out?-5:l);if(i.strm=t,n=i.last_flush,i.last_flush=e,42===i.status)if(2===i.wrap)t.adler=0,y(i,31),y(i,139),y(i,8),i.gzhead?(y(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),y(i,255&i.gzhead.time),y(i,i.gzhead.time>>8&255),y(i,i.gzhead.time>>16&255),y(i,i.gzhead.time>>24&255),y(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),y(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(y(i,255&i.gzhead.extra.length),y(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=a(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(y(i,0),y(i,0),y(i,0),y(i,0),y(i,0),y(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),y(i,3),i.status=d);else{var u=8+(i.w_bits-8<<4)<<8;u|=(i.strategy>=2||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(u|=32),u+=31-u%31,i.status=d,x(i,u),0!==i.strstart&&(x(i,t.adler>>>16),x(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),b(t),s=i.pending,i.pending!==i.pending_buf_size));)y(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),b(t),s=i.pending,i.pending===i.pending_buf_size)){c=1;break}c=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,y(i,c)}while(0!==c);i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),0===c&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),b(t),s=i.pending,i.pending===i.pending_buf_size)){c=1;break}c=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,y(i,c)}while(0!==c);i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),0===c&&(i.status=f)}else i.status=f;if(i.status===f&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&b(t),i.pending+2<=i.pending_buf_size&&(y(i,255&t.adler),y(i,t.adler>>8&255),t.adler=0,i.status=d)):i.status=d),0!==i.pending){if(b(t),0===t.avail_out)return i.last_flush=-1,0}else if(0===t.avail_in&&m(e)<=m(n)&&4!==e)return g(t,-5);if(i.status===p&&0!==t.avail_in)return g(t,-5);if(0!==t.avail_in||0!==i.lookahead||0!==e&&i.status!==p){var _=2===i.strategy?function(t,e){for(var n;;){if(0===t.lookahead&&(k(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,n=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}(i,e):3===i.strategy?function(t,e){for(var n,r,i,s,a=t.window;;){if(t.lookahead<=h){if(k(t),t.lookahead<=h&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(r=a[i=t.strstart-1])===a[++i]&&r===a[++i]&&r===a[++i]){s=t.strstart+h;do{}while(r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&i<s);t.match_length=h-(s-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(n=o._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}(i,e):r[i.level].func(i,e);if(3!==_&&4!==_||(i.status=p),1===_||3===_)return 0===t.avail_out&&(i.last_flush=-1),0;if(2===_&&(1===e?o._tr_align(i):5!==e&&(o._tr_stored_block(i,0,0,!1),3===e&&(v(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),b(t),0===t.avail_out))return i.last_flush=-1,0}return 4!==e?0:i.wrap<=0?1:(2===i.wrap?(y(i,255&t.adler),y(i,t.adler>>8&255),y(i,t.adler>>16&255),y(i,t.adler>>24&255),y(i,255&t.total_in),y(i,t.total_in>>8&255),y(i,t.total_in>>16&255),y(i,t.total_in>>24&255)):(x(i,t.adler>>>16),x(i,65535&t.adler)),b(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?0:1)},e.deflateEnd=function(t){var e;return t&&t.state?42!==(e=t.state.status)&&69!==e&&73!==e&&91!==e&&e!==f&&e!==d&&e!==p?g(t,l):(t.state=null,e===d?g(t,-3):0):l},e.deflateSetDictionary=function(t,e){var n,r,o,a,c,h,u,f,d=e.length;if(!t||!t.state)return l;if(2===(a=(n=t.state).wrap)||1===a&&42!==n.status||n.lookahead)return l;for(1===a&&(t.adler=s(t.adler,e,d,0)),n.wrap=0,d>=n.w_size&&(0===a&&(v(n.head),n.strstart=0,n.block_start=0,n.insert=0),f=new i.Buf8(n.w_size),i.arraySet(f,e,d-n.w_size,n.w_size,0),e=f,d=n.w_size),c=t.avail_in,h=t.next_in,u=t.input,t.avail_in=d,t.next_in=0,t.input=e,k(n);n.lookahead>=3;){r=n.strstart,o=n.lookahead-2;do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+3-1])&n.hash_mask,n.prev[r&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=r,r++}while(--o);n.strstart=r,n.lookahead=2,k(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=h,t.input=u,t.avail_in=c,n.wrap=a,0},e.deflateInfo="pako deflate (from Nodeca project)"},function(t,e,n){var r=n(72);function i(t){for(var e=t.length;--e>=0;)t[e]=0}var o=256,s=286,a=30,c=15,l=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],h=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],f=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],d=new Array(576);i(d);var p=new Array(60);i(p);var g=new Array(512);i(g);var m=new Array(256);i(m);var v=new Array(29);i(v);var b,w,y,x=new Array(a);function _(t,e,n,r,i){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=t&&t.length}function k(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function S(t){return t<256?g[t]:g[256+(t>>>7)]}function C(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function E(t,e,n){t.bi_valid>16-n?(t.bi_buf|=e<<t.bi_valid&65535,C(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=n-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=n)}function A(t,e,n){E(t,n[2*e],n[2*e+1])}function T(t,e){var n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}function L(t,e,n){var r,i,o=new Array(16),s=0;for(r=1;r<=c;r++)o[r]=s=s+n[r-1]<<1;for(i=0;i<=e;i++){var a=t[2*i+1];0!==a&&(t[2*i]=T(o[a]++,a))}}function R(t){var e;for(e=0;e<s;e++)t.dyn_ltree[2*e]=0;for(e=0;e<a;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function M(t){t.bi_valid>8?C(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function I(t,e,n,r){var i=2*e,o=2*n;return t[i]<t[o]||t[i]===t[o]&&r[e]<=r[n]}function N(t,e,n){for(var r=t.heap[n],i=n<<1;i<=t.heap_len&&(i<t.heap_len&&I(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!I(e,r,t.heap[i],t.depth));)t.heap[n]=t.heap[i],n=i,i<<=1;t.heap[n]=r}function F(t,e,n){var r,i,s,a,c=0;if(0!==t.last_lit)do{r=t.pending_buf[t.d_buf+2*c]<<8|t.pending_buf[t.d_buf+2*c+1],i=t.pending_buf[t.l_buf+c],c++,0===r?A(t,i,e):(A(t,(s=m[i])+o+1,e),0!==(a=l[s])&&E(t,i-=v[s],a),A(t,s=S(--r),n),0!==(a=h[s])&&E(t,r-=x[s],a))}while(c<t.last_lit);A(t,256,e)}function P(t,e){var n,r,i,o=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.has_stree,l=e.stat_desc.elems,h=-1;for(t.heap_len=0,t.heap_max=573,n=0;n<l;n++)0!==o[2*n]?(t.heap[++t.heap_len]=h=n,t.depth[n]=0):o[2*n+1]=0;for(;t.heap_len<2;)o[2*(i=t.heap[++t.heap_len]=h<2?++h:0)]=1,t.depth[i]=0,t.opt_len--,a&&(t.static_len-=s[2*i+1]);for(e.max_code=h,n=t.heap_len>>1;n>=1;n--)N(t,o,n);i=l;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],N(t,o,1),r=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=r,o[2*i]=o[2*n]+o[2*r],t.depth[i]=(t.depth[n]>=t.depth[r]?t.depth[n]:t.depth[r])+1,o[2*n+1]=o[2*r+1]=i,t.heap[1]=i++,N(t,o,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var n,r,i,o,s,a,l=e.dyn_tree,h=e.max_code,u=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,p=e.stat_desc.extra_base,g=e.stat_desc.max_length,m=0;for(o=0;o<=c;o++)t.bl_count[o]=0;for(l[2*t.heap[t.heap_max]+1]=0,n=t.heap_max+1;n<573;n++)(o=l[2*l[2*(r=t.heap[n])+1]+1]+1)>g&&(o=g,m++),l[2*r+1]=o,r>h||(t.bl_count[o]++,s=0,r>=p&&(s=d[r-p]),a=l[2*r],t.opt_len+=a*(o+s),f&&(t.static_len+=a*(u[2*r+1]+s)));if(0!==m){do{for(o=g-1;0===t.bl_count[o];)o--;t.bl_count[o]--,t.bl_count[o+1]+=2,t.bl_count[g]--,m-=2}while(m>0);for(o=g;0!==o;o--)for(r=t.bl_count[o];0!==r;)(i=t.heap[--n])>h||(l[2*i+1]!==o&&(t.opt_len+=(o-l[2*i+1])*l[2*i],l[2*i+1]=o),r--)}}(t,e),L(o,h,t.bl_count)}function O(t,e,n){var r,i,o=-1,s=e[1],a=0,c=7,l=4;for(0===s&&(c=138,l=3),e[2*(n+1)+1]=65535,r=0;r<=n;r++)i=s,s=e[2*(r+1)+1],++a<c&&i===s||(a<l?t.bl_tree[2*i]+=a:0!==i?(i!==o&&t.bl_tree[2*i]++,t.bl_tree[32]++):a<=10?t.bl_tree[34]++:t.bl_tree[36]++,a=0,o=i,0===s?(c=138,l=3):i===s?(c=6,l=3):(c=7,l=4))}function D(t,e,n){var r,i,o=-1,s=e[1],a=0,c=7,l=4;for(0===s&&(c=138,l=3),r=0;r<=n;r++)if(i=s,s=e[2*(r+1)+1],!(++a<c&&i===s)){if(a<l)do{A(t,i,t.bl_tree)}while(0!=--a);else 0!==i?(i!==o&&(A(t,i,t.bl_tree),a--),A(t,16,t.bl_tree),E(t,a-3,2)):a<=10?(A(t,17,t.bl_tree),E(t,a-3,3)):(A(t,18,t.bl_tree),E(t,a-11,7));a=0,o=i,0===s?(c=138,l=3):i===s?(c=6,l=3):(c=7,l=4)}}i(x);var B=!1;function z(t,e,n,i){E(t,0+(i?1:0),3),function(t,e,n,i){M(t),C(t,n),C(t,~n),r.arraySet(t.pending_buf,t.window,e,n,t.pending),t.pending+=n}(t,e,n)}e._tr_init=function(t){B||(function(){var t,e,n,r,i,o=new Array(16);for(n=0,r=0;r<28;r++)for(v[r]=n,t=0;t<1<<l[r];t++)m[n++]=r;for(m[n-1]=r,i=0,r=0;r<16;r++)for(x[r]=i,t=0;t<1<<h[r];t++)g[i++]=r;for(i>>=7;r<a;r++)for(x[r]=i<<7,t=0;t<1<<h[r]-7;t++)g[256+i++]=r;for(e=0;e<=c;e++)o[e]=0;for(t=0;t<=143;)d[2*t+1]=8,t++,o[8]++;for(;t<=255;)d[2*t+1]=9,t++,o[9]++;for(;t<=279;)d[2*t+1]=7,t++,o[7]++;for(;t<=287;)d[2*t+1]=8,t++,o[8]++;for(L(d,287,o),t=0;t<a;t++)p[2*t+1]=5,p[2*t]=T(t,5);b=new _(d,l,257,s,c),w=new _(p,h,0,a,c),y=new _(new Array(0),u,0,19,7)}(),B=!0),t.l_desc=new k(t.dyn_ltree,b),t.d_desc=new k(t.dyn_dtree,w),t.bl_desc=new k(t.bl_tree,y),t.bi_buf=0,t.bi_valid=0,R(t)},e._tr_stored_block=z,e._tr_flush_block=function(t,e,n,r){var i,s,a=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,n=4093624447;for(e=0;e<=31;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<o;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),P(t,t.l_desc),P(t,t.d_desc),a=function(t){var e;for(O(t,t.dyn_ltree,t.l_desc.max_code),O(t,t.dyn_dtree,t.d_desc.max_code),P(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*f[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),i=t.opt_len+3+7>>>3,(s=t.static_len+3+7>>>3)<=i&&(i=s)):i=s=n+5,n+4<=i&&-1!==e?z(t,e,n,r):4===t.strategy||s===i?(E(t,2+(r?1:0),3),F(t,d,p)):(E(t,4+(r?1:0),3),function(t,e,n,r){var i;for(E(t,e-257,5),E(t,n-1,5),E(t,r-4,4),i=0;i<r;i++)E(t,t.bl_tree[2*f[i]+1],3);D(t,t.dyn_ltree,e-1),D(t,t.dyn_dtree,n-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),F(t,t.dyn_ltree,t.dyn_dtree)),R(t),r&&M(t)},e._tr_tally=function(t,e,n){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(m[n]+o+1)]++,t.dyn_dtree[2*S(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){E(t,2,3),A(t,256,d),function(t){16===t.bi_valid?(C(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},function(t,e,n){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(t,e,n){var r=n(72),i=n(134),o=n(135),s=n(221),a=n(222),c=-2,l=12,h=30;function u(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function f(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function d(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new r.Buf32(852),e.distcode=e.distdyn=new r.Buf32(592),e.sane=1,e.back=-1,0):c}function p(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,d(t)):c}function g(t,e){var n,r;return t&&t.state?(r=t.state,e<0?(n=0,e=-e):(n=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?c:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,p(t))):c}function m(t,e){var n,r;return t?(r=new f,t.state=r,r.window=null,0!==(n=g(t,e))&&(t.state=null),n):c}var v,b,w=!0;function y(t){if(w){var e;for(v=new r.Buf32(512),b=new r.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(a(1,t.lens,0,288,v,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;a(2,t.lens,0,32,b,0,t.work,{bits:5}),w=!1}t.lencode=v,t.lenbits=9,t.distcode=b,t.distbits=5}function x(t,e,n,i){var o,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new r.Buf8(s.wsize)),i>=s.wsize?(r.arraySet(s.window,e,n-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((o=s.wsize-s.wnext)>i&&(o=i),r.arraySet(s.window,e,n-i,o,s.wnext),(i-=o)?(r.arraySet(s.window,e,n-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}e.inflateReset=p,e.inflateReset2=g,e.inflateResetKeep=d,e.inflateInit=function(t){return m(t,15)},e.inflateInit2=m,e.inflate=function(t,e){var n,f,d,p,g,m,v,b,w,_,k,S,C,E,A,T,L,R,M,I,N,F,P,O,D=0,B=new r.Buf8(4),z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return c;(n=t.state).mode===l&&(n.mode=13),g=t.next_out,d=t.output,v=t.avail_out,p=t.next_in,f=t.input,m=t.avail_in,b=n.hold,w=n.bits,_=m,k=v,F=0;t:for(;;)switch(n.mode){case 1:if(0===n.wrap){n.mode=13;break}for(;w<16;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(2&n.wrap&&35615===b){n.check=0,B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0),b=0,w=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&b)<<8)+(b>>8))%31){t.msg="incorrect header check",n.mode=h;break}if(8!=(15&b)){t.msg="unknown compression method",n.mode=h;break}if(w-=4,N=8+(15&(b>>>=4)),0===n.wbits)n.wbits=N;else if(N>n.wbits){t.msg="invalid window size",n.mode=h;break}n.dmax=1<<N,t.adler=n.check=1,n.mode=512&b?10:l,b=0,w=0;break;case 2:for(;w<16;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(n.flags=b,8!=(255&n.flags)){t.msg="unknown compression method",n.mode=h;break}if(57344&n.flags){t.msg="unknown header flags set",n.mode=h;break}n.head&&(n.head.text=b>>8&1),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),b=0,w=0,n.mode=3;case 3:for(;w<32;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.head&&(n.head.time=b),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,B[2]=b>>>16&255,B[3]=b>>>24&255,n.check=o(n.check,B,4,0)),b=0,w=0,n.mode=4;case 4:for(;w<16;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.head&&(n.head.xflags=255&b,n.head.os=b>>8),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),b=0,w=0,n.mode=5;case 5:if(1024&n.flags){for(;w<16;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.length=b,n.head&&(n.head.extra_len=b),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),b=0,w=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((S=n.length)>m&&(S=m),S&&(n.head&&(N=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),r.arraySet(n.head.extra,f,p,S,N)),512&n.flags&&(n.check=o(n.check,f,S,p)),m-=S,p+=S,n.length-=S),n.length))break t;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===m)break t;S=0;do{N=f[p+S++],n.head&&N&&n.length<65536&&(n.head.name+=String.fromCharCode(N))}while(N&&S<m);if(512&n.flags&&(n.check=o(n.check,f,S,p)),m-=S,p+=S,N)break t}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===m)break t;S=0;do{N=f[p+S++],n.head&&N&&n.length<65536&&(n.head.comment+=String.fromCharCode(N))}while(N&&S<m);if(512&n.flags&&(n.check=o(n.check,f,S,p)),m-=S,p+=S,N)break t}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;w<16;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(b!==(65535&n.check)){t.msg="header crc mismatch",n.mode=h;break}b=0,w=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=l;break;case 10:for(;w<32;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}t.adler=n.check=u(b),b=0,w=0,n.mode=11;case 11:if(0===n.havedict)return t.next_out=g,t.avail_out=v,t.next_in=p,t.avail_in=m,n.hold=b,n.bits=w,2;t.adler=n.check=1,n.mode=l;case l:if(5===e||6===e)break t;case 13:if(n.last){b>>>=7&w,w-=7&w,n.mode=27;break}for(;w<3;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}switch(n.last=1&b,w-=1,3&(b>>>=1)){case 0:n.mode=14;break;case 1:if(y(n),n.mode=20,6===e){b>>>=2,w-=2;break t}break;case 2:n.mode=17;break;case 3:t.msg="invalid block type",n.mode=h}b>>>=2,w-=2;break;case 14:for(b>>>=7&w,w-=7&w;w<32;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if((65535&b)!=(b>>>16^65535)){t.msg="invalid stored block lengths",n.mode=h;break}if(n.length=65535&b,b=0,w=0,n.mode=15,6===e)break t;case 15:n.mode=16;case 16:if(S=n.length){if(S>m&&(S=m),S>v&&(S=v),0===S)break t;r.arraySet(d,f,p,S,g),m-=S,p+=S,v-=S,g+=S,n.length-=S;break}n.mode=l;break;case 17:for(;w<14;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(n.nlen=257+(31&b),b>>>=5,w-=5,n.ndist=1+(31&b),b>>>=5,w-=5,n.ncode=4+(15&b),b>>>=4,w-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=h;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;w<3;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.lens[z[n.have++]]=7&b,b>>>=3,w-=3}for(;n.have<19;)n.lens[z[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,P={bits:n.lenbits},F=a(0,n.lens,0,19,n.lencode,0,n.work,P),n.lenbits=P.bits,F){t.msg="invalid code lengths set",n.mode=h;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;T=(D=n.lencode[b&(1<<n.lenbits)-1])>>>16&255,L=65535&D,!((A=D>>>24)<=w);){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(L<16)b>>>=A,w-=A,n.lens[n.have++]=L;else{if(16===L){for(O=A+2;w<O;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(b>>>=A,w-=A,0===n.have){t.msg="invalid bit length repeat",n.mode=h;break}N=n.lens[n.have-1],S=3+(3&b),b>>>=2,w-=2}else if(17===L){for(O=A+3;w<O;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}w-=A,N=0,S=3+(7&(b>>>=A)),b>>>=3,w-=3}else{for(O=A+7;w<O;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}w-=A,N=0,S=11+(127&(b>>>=A)),b>>>=7,w-=7}if(n.have+S>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=h;break}for(;S--;)n.lens[n.have++]=N}}if(n.mode===h)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=h;break}if(n.lenbits=9,P={bits:n.lenbits},F=a(1,n.lens,0,n.nlen,n.lencode,0,n.work,P),n.lenbits=P.bits,F){t.msg="invalid literal/lengths set",n.mode=h;break}if(n.distbits=6,n.distcode=n.distdyn,P={bits:n.distbits},F=a(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,P),n.distbits=P.bits,F){t.msg="invalid distances set",n.mode=h;break}if(n.mode=20,6===e)break t;case 20:n.mode=21;case 21:if(m>=6&&v>=258){t.next_out=g,t.avail_out=v,t.next_in=p,t.avail_in=m,n.hold=b,n.bits=w,s(t,k),g=t.next_out,d=t.output,v=t.avail_out,p=t.next_in,f=t.input,m=t.avail_in,b=n.hold,w=n.bits,n.mode===l&&(n.back=-1);break}for(n.back=0;T=(D=n.lencode[b&(1<<n.lenbits)-1])>>>16&255,L=65535&D,!((A=D>>>24)<=w);){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(T&&0==(240&T)){for(R=A,M=T,I=L;T=(D=n.lencode[I+((b&(1<<R+M)-1)>>R)])>>>16&255,L=65535&D,!(R+(A=D>>>24)<=w);){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}b>>>=R,w-=R,n.back+=R}if(b>>>=A,w-=A,n.back+=A,n.length=L,0===T){n.mode=26;break}if(32&T){n.back=-1,n.mode=l;break}if(64&T){t.msg="invalid literal/length code",n.mode=h;break}n.extra=15&T,n.mode=22;case 22:if(n.extra){for(O=n.extra;w<O;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.length+=b&(1<<n.extra)-1,b>>>=n.extra,w-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;T=(D=n.distcode[b&(1<<n.distbits)-1])>>>16&255,L=65535&D,!((A=D>>>24)<=w);){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(0==(240&T)){for(R=A,M=T,I=L;T=(D=n.distcode[I+((b&(1<<R+M)-1)>>R)])>>>16&255,L=65535&D,!(R+(A=D>>>24)<=w);){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}b>>>=R,w-=R,n.back+=R}if(b>>>=A,w-=A,n.back+=A,64&T){t.msg="invalid distance code",n.mode=h;break}n.offset=L,n.extra=15&T,n.mode=24;case 24:if(n.extra){for(O=n.extra;w<O;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.offset+=b&(1<<n.extra)-1,b>>>=n.extra,w-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=h;break}n.mode=25;case 25:if(0===v)break t;if(S=k-v,n.offset>S){if((S=n.offset-S)>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=h;break}S>n.wnext?(S-=n.wnext,C=n.wsize-S):C=n.wnext-S,S>n.length&&(S=n.length),E=n.window}else E=d,C=g-n.offset,S=n.length;S>v&&(S=v),v-=S,n.length-=S;do{d[g++]=E[C++]}while(--S);0===n.length&&(n.mode=21);break;case 26:if(0===v)break t;d[g++]=n.length,v--,n.mode=21;break;case 27:if(n.wrap){for(;w<32;){if(0===m)break t;m--,b|=f[p++]<<w,w+=8}if(k-=v,t.total_out+=k,n.total+=k,k&&(t.adler=n.check=n.flags?o(n.check,d,k,g-k):i(n.check,d,k,g-k)),k=v,(n.flags?b:u(b))!==n.check){t.msg="incorrect data check",n.mode=h;break}b=0,w=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;w<32;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(b!==(4294967295&n.total)){t.msg="incorrect length check",n.mode=h;break}b=0,w=0}n.mode=29;case 29:F=1;break t;case h:F=-3;break t;case 31:return-4;case 32:default:return c}return t.next_out=g,t.avail_out=v,t.next_in=p,t.avail_in=m,n.hold=b,n.bits=w,(n.wsize||k!==t.avail_out&&n.mode<h&&(n.mode<27||4!==e))&&x(t,t.output,t.next_out,k-t.avail_out)?(n.mode=31,-4):(_-=t.avail_in,k-=t.avail_out,t.total_in+=_,t.total_out+=k,n.total+=k,n.wrap&&k&&(t.adler=n.check=n.flags?o(n.check,d,k,t.next_out-k):i(n.check,d,k,t.next_out-k)),t.data_type=n.bits+(n.last?64:0)+(n.mode===l?128:0)+(20===n.mode||15===n.mode?256:0),(0===_&&0===k||4===e)&&0===F&&(F=-5),F)},e.inflateEnd=function(t){if(!t||!t.state)return c;var e=t.state;return e.window&&(e.window=null),t.state=null,0},e.inflateGetHeader=function(t,e){var n;return t&&t.state?0==(2&(n=t.state).wrap)?c:(n.head=e,e.done=!1,0):c},e.inflateSetDictionary=function(t,e){var n,r=e.length;return t&&t.state?0!==(n=t.state).wrap&&11!==n.mode?c:11===n.mode&&i(1,e,r,0)!==n.check?-3:x(t,e,r,r)?(n.mode=31,-4):(n.havedict=1,0):c},e.inflateInfo="pako inflate (from Nodeca project)"},function(t,e,n){t.exports=function(t,e){var n,r,i,o,s,a,c,l,h,u,f,d,p,g,m,v,b,w,y,x,_,k,S,C,E;n=t.state,r=t.next_in,C=t.input,i=r+(t.avail_in-5),o=t.next_out,E=t.output,s=o-(e-t.avail_out),a=o+(t.avail_out-257),c=n.dmax,l=n.wsize,h=n.whave,u=n.wnext,f=n.window,d=n.hold,p=n.bits,g=n.lencode,m=n.distcode,v=(1<<n.lenbits)-1,b=(1<<n.distbits)-1;t:do{p<15&&(d+=C[r++]<<p,p+=8,d+=C[r++]<<p,p+=8),w=g[d&v];e:for(;;){if(d>>>=y=w>>>24,p-=y,0==(y=w>>>16&255))E[o++]=65535&w;else{if(!(16&y)){if(0==(64&y)){w=g[(65535&w)+(d&(1<<y)-1)];continue e}if(32&y){n.mode=12;break t}t.msg="invalid literal/length code",n.mode=30;break t}x=65535&w,(y&=15)&&(p<y&&(d+=C[r++]<<p,p+=8),x+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=C[r++]<<p,p+=8,d+=C[r++]<<p,p+=8),w=m[d&b];n:for(;;){if(d>>>=y=w>>>24,p-=y,!(16&(y=w>>>16&255))){if(0==(64&y)){w=m[(65535&w)+(d&(1<<y)-1)];continue n}t.msg="invalid distance code",n.mode=30;break t}if(_=65535&w,p<(y&=15)&&(d+=C[r++]<<p,(p+=8)<y&&(d+=C[r++]<<p,p+=8)),(_+=d&(1<<y)-1)>c){t.msg="invalid distance too far back",n.mode=30;break t}if(d>>>=y,p-=y,_>(y=o-s)){if((y=_-y)>h&&n.sane){t.msg="invalid distance too far back",n.mode=30;break t}if(k=0,S=f,0===u){if(k+=l-y,y<x){x-=y;do{E[o++]=f[k++]}while(--y);k=o-_,S=E}}else if(u<y){if(k+=l+u-y,(y-=u)<x){x-=y;do{E[o++]=f[k++]}while(--y);if(k=0,u<x){x-=y=u;do{E[o++]=f[k++]}while(--y);k=o-_,S=E}}}else if(k+=u-y,y<x){x-=y;do{E[o++]=f[k++]}while(--y);k=o-_,S=E}for(;x>2;)E[o++]=S[k++],E[o++]=S[k++],E[o++]=S[k++],x-=3;x&&(E[o++]=S[k++],x>1&&(E[o++]=S[k++]))}else{k=o-_;do{E[o++]=E[k++],E[o++]=E[k++],E[o++]=E[k++],x-=3}while(x>2);x&&(E[o++]=E[k++],x>1&&(E[o++]=E[k++]))}break}}break}}while(r<i&&o<a);r-=x=p>>3,d&=(1<<(p-=x<<3))-1,t.next_in=r,t.next_out=o,t.avail_in=r<i?i-r+5:5-(r-i),t.avail_out=o<a?a-o+257:257-(o-a),n.hold=d,n.bits=p}},function(t,e,n){var r=n(72),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(t,e,n,c,l,h,u,f){var d,p,g,m,v,b,w,y,x,_=f.bits,k=0,S=0,C=0,E=0,A=0,T=0,L=0,R=0,M=0,I=0,N=null,F=0,P=new r.Buf16(16),O=new r.Buf16(16),D=null,B=0;for(k=0;k<=15;k++)P[k]=0;for(S=0;S<c;S++)P[e[n+S]]++;for(A=_,E=15;E>=1&&0===P[E];E--);if(A>E&&(A=E),0===E)return l[h++]=20971520,l[h++]=20971520,f.bits=1,0;for(C=1;C<E&&0===P[C];C++);for(A<C&&(A=C),R=1,k=1;k<=15;k++)if(R<<=1,(R-=P[k])<0)return-1;if(R>0&&(0===t||1!==E))return-1;for(O[1]=0,k=1;k<15;k++)O[k+1]=O[k]+P[k];for(S=0;S<c;S++)0!==e[n+S]&&(u[O[e[n+S]]++]=S);if(0===t?(N=D=u,b=19):1===t?(N=i,F-=257,D=o,B-=257,b=256):(N=s,D=a,b=-1),I=0,S=0,k=C,v=h,T=A,L=0,g=-1,m=(M=1<<A)-1,1===t&&M>852||2===t&&M>592)return 1;for(;;){w=k-L,u[S]<b?(y=0,x=u[S]):u[S]>b?(y=D[B+u[S]],x=N[F+u[S]]):(y=96,x=0),d=1<<k-L,C=p=1<<T;do{l[v+(I>>L)+(p-=d)]=w<<24|y<<16|x|0}while(0!==p);for(d=1<<k-1;I&d;)d>>=1;if(0!==d?(I&=d-1,I+=d):I=0,S++,0==--P[k]){if(k===E)break;k=e[n+u[S]]}if(k>A&&(I&m)!==g){for(0===L&&(L=A),v+=C,R=1<<(T=k-L);T+L<E&&!((R-=P[T+L])<=0);)T++,R<<=1;if(M+=1<<T,1===t&&M>852||2===t&&M>592)return 1;l[g=I&m]=A<<24|T<<16|v-h|0}}return 0!==I&&(l[v+I]=k-L<<24|64<<16|0),f.bits=A,0}},function(t,e,n){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(t,e,n){var r=n(19).Buffer,i=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];function o(t){if(r.isBuffer(t))return t;var e="function"==typeof r.alloc&&"function"==typeof r.from;if("number"==typeof t)return e?r.alloc(t):new r(t);if("string"==typeof t)return e?r.from(t):new r(t);throw new Error("input must be buffer, number, or string, received "+typeof t)}function s(t,e){t=o(t),r.isBuffer(e)&&(e=e.readUInt32BE(0));for(var n=-1^~~e,s=0;s<t.length;s++)n=i[255&(n^t[s])]^n>>>8;return-1^n}function a(){return t=s.apply(null,arguments),(e=o(4)).writeInt32BE(t,0),e;var t,e}"undefined"!=typeof Int32Array&&(i=new Int32Array(i)),a.signed=function(){return s.apply(null,arguments)},a.unsigned=function(){return s.apply(null,arguments)>>>0},t.exports=a},function(t,e,n){var r=n(226),i=n(229);function o(t){return(o="function"==typeof i&&"symbol"==typeof r?function(t){return typeof t}:function(t){return t&&"function"==typeof i&&t.constructor===i&&t!==i.prototype?"symbol":typeof t})(t)}function s(e){return"function"==typeof i&&"symbol"===o(r)?t.exports=s=function(t){return o(t)}:t.exports=s=function(t){return t&&"function"==typeof i&&t.constructor===i&&t!==i.prototype?"symbol":o(t)},s(e)}t.exports=s},function(t,e,n){t.exports=n(227)},function(t,e,n){t.exports=n(228)},function(t,e,n){n(136),n(46),n(41);var r=n(95);t.exports=r.f("iterator")},function(t,e,n){t.exports=n(230)},function(t,e,n){t.exports=n(231),n(249),n(250),n(251),n(252),n(253)},function(t,e,n){n(114),n(88),n(232),n(234),n(235),n(236),n(237),n(136),n(238),n(239),n(240),n(241),n(242),n(243),n(244),n(245),n(246),n(247),n(248);var r=n(3);t.exports=r.Symbol},function(t,e,n){var r=n(0),i=n(13),o=n(4),s=n(17),a=n(110),c=n(12),l=n(24),h=n(53),u=n(14),f=n(2),d=n(22),p=n(28),g=n(62),m=n(43),v=n(44),b=n(51),w=n(137),y=n(233),x=n(138),_=n(81),k=n(21),S=n(65),C=n(20),E=n(52),A=n(61),T=n(63),L=n(50),R=n(64),M=n(6),I=n(95),N=n(11),F=n(36),P=n(42),O=n(45).forEach,D=T("hidden"),B=M("toPrimitive"),z=P.set,j=P.getterFor("Symbol"),H=Object.prototype,V=i.Symbol,U=i.JSON,q=U&&U.stringify,W=_.f,$=k.f,G=y.f,Z=S.f,X=A("symbols"),Y=A("op-symbols"),K=A("string-to-symbol-registry"),Q=A("symbol-to-string-registry"),J=A("wks"),tt=i.QObject,et=!tt||!tt.prototype||!tt.prototype.findChild,nt=s&&c((function(){return 7!=v($({},"a",{get:function(){return $(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=W(H,e);r&&delete H[e],$(t,e,n),r&&t!==H&&$(H,e,r)}:$,rt=function(t,e){var n=X[t]=v(V.prototype);return z(n,{type:"Symbol",tag:t,description:e}),s||(n.description=e),n},it=a&&"symbol"==typeof V.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof V},ot=function(t,e,n){t===H&&ot(Y,e,n),f(t);var r=g(e,!0);return f(n),l(X,r)?(n.enumerable?(l(t,D)&&t[D][r]&&(t[D][r]=!1),n=v(n,{enumerable:m(0,!1)})):(l(t,D)||$(t,D,m(1,{})),t[D][r]=!0),nt(t,r,n)):$(t,r,n)},st=function(t,e){f(t);var n=p(e),r=b(n).concat(ht(n));return O(r,(function(e){s&&!at.call(n,e)||ot(t,e,n[e])})),t},at=function(t){var e=g(t,!0),n=Z.call(this,e);return!(this===H&&l(X,e)&&!l(Y,e))&&(!(n||!l(this,e)||!l(X,e)||l(this,D)&&this[D][e])||n)},ct=function(t,e){var n=p(t),r=g(e,!0);if(n!==H||!l(X,r)||l(Y,r)){var i=W(n,r);return!i||!l(X,r)||l(n,D)&&n[D][r]||(i.enumerable=!0),i}},lt=function(t){var e=G(p(t)),n=[];return O(e,(function(t){l(X,t)||l(L,t)||n.push(t)})),n},ht=function(t){var e=t===H,n=G(e?Y:p(t)),r=[];return O(n,(function(t){!l(X,t)||e&&!l(H,t)||r.push(X[t])})),r};a||(E((V=function(){if(this instanceof V)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=R(t),n=function(t){this===H&&n.call(Y,t),l(this,D)&&l(this[D],e)&&(this[D][e]=!1),nt(this,e,m(1,t))};return s&&et&&nt(H,e,{configurable:!0,set:n}),rt(e,t)}).prototype,"toString",(function(){return j(this).tag})),S.f=at,k.f=ot,_.f=ct,w.f=y.f=lt,x.f=ht,s&&($(V.prototype,"description",{configurable:!0,get:function(){return j(this).description}}),o||E(H,"propertyIsEnumerable",at,{unsafe:!0})),I.f=function(t){return rt(M(t),t)}),r({global:!0,wrap:!0,forced:!a,sham:!a},{Symbol:V}),O(b(J),(function(t){N(t)})),r({target:"Symbol",stat:!0,forced:!a},{for:function(t){var e=String(t);if(l(K,e))return K[e];var n=V(e);return K[e]=n,Q[n]=e,n},keyFor:function(t){if(!it(t))throw TypeError(t+" is not a symbol");if(l(Q,t))return Q[t]},useSetter:function(){et=!0},useSimple:function(){et=!1}}),r({target:"Object",stat:!0,forced:!a,sham:!s},{create:function(t,e){return void 0===e?v(t):st(v(t),e)},defineProperty:ot,defineProperties:st,getOwnPropertyDescriptor:ct}),r({target:"Object",stat:!0,forced:!a},{getOwnPropertyNames:lt,getOwnPropertySymbols:ht}),r({target:"Object",stat:!0,forced:c((function(){x.f(1)}))},{getOwnPropertySymbols:function(t){return x.f(d(t))}}),U&&r({target:"JSON",stat:!0,forced:!a||c((function(){var t=V();return"[null]"!=q([t])||"{}"!=q({a:t})||"{}"!=q(Object(t))}))},{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(u(e)||void 0!==t)&&!it(t))return h(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!it(e))return e}),r[1]=e,q.apply(U,r)}}),V.prototype[B]||C(V.prototype,B,V.prototype.valueOf),F(V,"Symbol"),L[D]=!0},function(t,e,n){var r=n(28),i=n(137).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return s&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return s.slice()}}(t):i(r(t))}},function(t,e,n){n(11)("asyncIterator")},function(t,e){},function(t,e,n){n(11)("hasInstance")},function(t,e,n){n(11)("isConcatSpreadable")},function(t,e,n){n(11)("match")},function(t,e,n){n(11)("matchAll")},function(t,e,n){n(11)("replace")},function(t,e,n){n(11)("search")},function(t,e,n){n(11)("species")},function(t,e,n){n(11)("split")},function(t,e,n){n(11)("toPrimitive")},function(t,e,n){n(11)("toStringTag")},function(t,e,n){n(11)("unscopables")},function(t,e,n){n(36)(Math,"Math",!0)},function(t,e,n){var r=n(13);n(36)(r.JSON,"JSON",!0)},function(t,e,n){n(11)("asyncDispose")},function(t,e,n){n(11)("dispose")},function(t,e,n){n(11)("observable")},function(t,e,n){n(11)("patternMatch")},function(t,e,n){n(11)("replaceAll")},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}},function(t,e,n){t.exports=n(256)},function(t,e,n){t.exports=n(257)},function(t,e,n){n(258);var r=n(3);t.exports=r.Object.getPrototypeOf},function(t,e,n){var r=n(0),i=n(12),o=n(22),s=n(66),a=n(109);r({target:"Object",stat:!0,forced:i((function(){s(1)})),sham:!a},{getPrototypeOf:function(t){return s(o(t))}})},function(t,e,n){t.exports=n(260)},function(t,e,n){n(261);var r=n(3);t.exports=r.Object.setPrototypeOf},function(t,e,n){n(0)({target:"Object",stat:!0},{setPrototypeOf:n(86)})},function(t,e,n){t.exports=n(263)},function(t,e,n){n(264);var r=n(3).Object;t.exports=function(t,e){return r.create(t,e)}},function(t,e,n){n(0)({target:"Object",stat:!0,sham:!n(17)},{create:n(44)})},function(t,e,n){var r=n(140),i=n(266),o=n(27),s=n(96),a=n(295),c=n(300);function l(e){var n="function"==typeof i?new i:void 0;return t.exports=l=function(t){if(null===t||!a(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,e)}function e(){return c(t,arguments,o(this).constructor)}return e.prototype=r(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),s(e,t)},l(e)}t.exports=l},function(t,e,n){t.exports=n(267)},function(t,e,n){t.exports=n(268),n(273),n(275),n(277),n(279),n(280),n(281),n(282),n(283),n(284),n(286),n(287),n(288),n(289),n(290),n(291),n(292),n(293),n(294)},function(t,e,n){n(269),n(88),n(46),n(41);var r=n(3);t.exports=r.Map},function(t,e,n){var r=n(270),i=n(272);t.exports=r("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),i,!0)},function(t,e,n){var r=n(0),i=n(13),o=n(141),s=n(12),a=n(20),c=n(8),l=n(89),h=n(14),u=n(36),f=n(21).f,d=n(45).forEach,p=n(17),g=n(42),m=g.set,v=g.getterFor;t.exports=function(t,e,n,g,b){var w,y=i[t],x=y&&y.prototype,_=g?"set":"add",k={};if(p&&"function"==typeof y&&(b||x.forEach&&!s((function(){(new y).entries().next()})))){w=e((function(e,n){m(l(e,w,t),{type:t,collection:new y}),null!=n&&c(n,e[_],e,g)}));var S=v(t);d(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var e="add"==t||"set"==t;t in x&&(!b||"clear"!=t)&&a(w.prototype,t,(function(n,r){var i=S(this).collection;if(!e&&b&&!h(n))return"get"==t&&void 0;var o=i[t](0===n?0:n,r);return e?this:o}))})),b||f(w.prototype,"size",{get:function(){return S(this).collection.size}})}else w=n.getConstructor(e,t,g,_),o.REQUIRED=!0;return u(w,t,!1,!0),k[t]=w,r({global:!0,forced:!0},k),b||n.setStrong(w,t,g),w}},function(t,e,n){var r=n(12);t.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(t,e,n){var r=n(21).f,i=n(44),o=n(117),s=n(15),a=n(89),c=n(8),l=n(80),h=n(118),u=n(17),f=n(141).fastKey,d=n(42),p=d.set,g=d.getterFor;t.exports={getConstructor:function(t,e,n,l){var h=t((function(t,r){a(t,h,e),p(t,{type:e,index:i(null),first:void 0,last:void 0,size:0}),u||(t.size=0),null!=r&&c(r,t[l],t,n)})),d=g(e),m=function(t,e,n){var r,i,o=d(t),s=v(t,e);return s?s.value=n:(o.last=s={index:i=f(e,!0),key:e,value:n,previous:r=o.last,next:void 0,removed:!1},o.first||(o.first=s),r&&(r.next=s),u?o.size++:t.size++,"F"!==i&&(o.index[i]=s)),t},v=function(t,e){var n,r=d(t),i=f(e);if("F"!==i)return r.index[i];for(n=r.first;n;n=n.next)if(n.key==e)return n};return o(h.prototype,{clear:function(){for(var t=d(this),e=t.index,n=t.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=void 0),delete e[n.index],n=n.next;t.first=t.last=void 0,u?t.size=0:this.size=0},delete:function(t){var e=d(this),n=v(this,t);if(n){var r=n.next,i=n.previous;delete e.index[n.index],n.removed=!0,i&&(i.next=r),r&&(r.previous=i),e.first==n&&(e.first=r),e.last==n&&(e.last=i),u?e.size--:this.size--}return!!n},forEach:function(t){for(var e,n=d(this),r=s(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:n.first;)for(r(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!v(this,t)}}),o(h.prototype,n?{get:function(t){var e=v(this,t);return e&&e.value},set:function(t,e){return m(this,0===t?0:t,e)}}:{add:function(t){return m(this,t=0===t?0:t,t)}}),u&&r(h.prototype,"size",{get:function(){return d(this).size}}),h},setStrong:function(t,e,n){var r=e+" Iterator",i=g(e),o=g(r);l(t,e,(function(t,e){p(this,{type:r,target:t,state:i(t),kind:e,last:void 0})}),(function(){for(var t=o(this),e=t.kind,n=t.last;n&&n.removed;)n=n.previous;return t.target&&(t.last=n=n?n.next:t.state.first)?"keys"==e?{value:n.key,done:!1}:"values"==e?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),h(e)}}},function(t,e,n){n(0)({target:"Map",stat:!0},{from:n(274)})},function(t,e,n){var r=n(5),i=n(15),o=n(8);t.exports=function(t){var e,n,s,a,c=arguments.length,l=c>1?arguments[1]:void 0;return r(this),(e=void 0!==l)&&r(l),null==t?new this:(n=[],e?(s=0,a=i(l,c>2?arguments[2]:void 0,2),o(t,(function(t){n.push(a(t,s++))}))):o(t,n.push,n),new this(n))}},function(t,e,n){n(0)({target:"Map",stat:!0},{of:n(276)})},function(t,e,n){t.exports=function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)}},function(t,e,n){var r=n(0),i=n(4),o=n(278);r({target:"Map",proto:!0,real:!0,forced:i},{deleteAll:function(){return o.apply(this,arguments)}})},function(t,e,n){var r=n(2),i=n(5);t.exports=function(){for(var t,e=r(this),n=i(e.delete),o=!0,s=0,a=arguments.length;s<a;s++)t=n.call(e,arguments[s]),o=o&&t;return!!o}},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(15),a=n(25),c=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{every:function(t){var e=o(this),n=a(e),r=s(t,arguments.length>1?arguments[1]:void 0,3);return!c(n,(function(t,n){if(!r(n,t,e))return c.stop()}),void 0,!0,!0).stopped}})},function(t,e,n){var r=n(0),i=n(4),o=n(26),s=n(2),a=n(5),c=n(15),l=n(55),h=n(25),u=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{filter:function(t){var e=s(this),n=h(e),r=c(t,arguments.length>1?arguments[1]:void 0,3),i=new(l(e,o("Map"))),f=a(i.set);return u(n,(function(t,n){r(n,t,e)&&f.call(i,t,n)}),void 0,!0,!0),i}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(15),a=n(25),c=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{find:function(t){var e=o(this),n=a(e),r=s(t,arguments.length>1?arguments[1]:void 0,3);return c(n,(function(t,n){if(r(n,t,e))return c.stop(n)}),void 0,!0,!0).result}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(15),a=n(25),c=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{findKey:function(t){var e=o(this),n=a(e),r=s(t,arguments.length>1?arguments[1]:void 0,3);return c(n,(function(t,n){if(r(n,t,e))return c.stop(t)}),void 0,!0,!0).result}})},function(t,e,n){var r=n(0),i=n(8),o=n(5);r({target:"Map",stat:!0},{groupBy:function(t,e){var n=new this;o(e);var r=o(n.has),s=o(n.get),a=o(n.set);return i(t,(function(t){var i=e(t);r.call(n,i)?s.call(n,i).push(t):a.call(n,i,[t])})),n}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(25),a=n(285),c=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{includes:function(t){return c(s(o(this)),(function(e,n){if(a(n,t))return c.stop()}),void 0,!0,!0).stopped}})},function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},function(t,e,n){var r=n(0),i=n(8),o=n(5);r({target:"Map",stat:!0},{keyBy:function(t,e){var n=new this;o(e);var r=o(n.set);return i(t,(function(t){r.call(n,e(t),t)})),n}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(25),a=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{keyOf:function(t){return a(s(o(this)),(function(e,n){if(n===t)return a.stop(e)}),void 0,!0,!0).result}})},function(t,e,n){var r=n(0),i=n(4),o=n(26),s=n(2),a=n(5),c=n(15),l=n(55),h=n(25),u=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{mapKeys:function(t){var e=s(this),n=h(e),r=c(t,arguments.length>1?arguments[1]:void 0,3),i=new(l(e,o("Map"))),f=a(i.set);return u(n,(function(t,n){f.call(i,r(n,t,e),n)}),void 0,!0,!0),i}})},function(t,e,n){var r=n(0),i=n(4),o=n(26),s=n(2),a=n(5),c=n(15),l=n(55),h=n(25),u=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{mapValues:function(t){var e=s(this),n=h(e),r=c(t,arguments.length>1?arguments[1]:void 0,3),i=new(l(e,o("Map"))),f=a(i.set);return u(n,(function(t,n){f.call(i,t,r(n,t,e))}),void 0,!0,!0),i}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(5),a=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{merge:function(t){for(var e=o(this),n=s(e.set),r=0;r<arguments.length;)a(arguments[r++],n,e,!0);return e}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(5),a=n(25),c=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{reduce:function(t){var e,n,r=o(this),i=a(r);if(s(t),arguments.length>1)e=arguments[1];else{if((n=i.next()).done)throw TypeError("Reduce of empty map with no initial value");e=n.value[1]}return c(i,(function(n,i){e=t(e,i,n,r)}),void 0,!0,!0),e}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(15),a=n(25),c=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{some:function(t){var e=o(this),n=a(e),r=s(t,arguments.length>1?arguments[1]:void 0,3);return c(n,(function(t,n){if(r(n,t,e))return c.stop()}),void 0,!0,!0).stopped}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(5);r({target:"Map",proto:!0,real:!0,forced:i},{update:function(t,e){var n=o(this),r=arguments.length;s(e);var i=n.has(t);if(!i&&r<3)throw TypeError("Updating absent value");var a=i?n.get(t):s(r>2?arguments[2]:void 0)(t,n);return n.set(t,e(a,t,n)),n}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(5);r({target:"Map",proto:!0,real:!0,forced:i},{updateOrInsert:function(t,e,n){var r=o(this);s(e),s(n);var i=r.has(t)?e(r.get(t)):n();return r.set(t,i),i}})},function(t,e,n){var r=n(296);t.exports=function(t){var e;return-1!==r(e=Function.toString.call(t)).call(e,"[native code]")}},function(t,e,n){t.exports=n(297)},function(t,e,n){t.exports=n(143)},function(t,e,n){n(299);var r=n(18);t.exports=r("Array").indexOf},function(t,e,n){var r=n(0),i=n(82).indexOf,o=n(54),s=[].indexOf,a=!!s&&1/[1].indexOf(1,-0)<0,c=o("indexOf");r({target:"Array",proto:!0,forced:a||c},{indexOf:function(t){return a?s.apply(this,arguments)||0:i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(301),i=n(305),o=n(96);function s(e,n,a){return function(){if("undefined"==typeof Reflect||!i)return!1;if(i.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(i(Date,[],(function(){}))),!0}catch(t){return!1}}()?t.exports=s=i:t.exports=s=function(t,e,n){var i=[null];i.push.apply(i,e);var s=new(r(Function).apply(t,i));return n&&o(s,n.prototype),s},s.apply(null,arguments)}t.exports=s},function(t,e,n){t.exports=n(302)},function(t,e,n){t.exports=n(144)},function(t,e,n){n(304);var r=n(18);t.exports=r("Function").bind},function(t,e,n){n(0)({target:"Function",proto:!0},{bind:n(145)})},function(t,e,n){t.exports=n(306)},function(t,e,n){t.exports=n(307)},function(t,e,n){n(308);var r=n(3);t.exports=r.Reflect.construct},function(t,e,n){var r=n(0),i=n(26),o=n(5),s=n(2),a=n(14),c=n(44),l=n(145),h=n(12),u=i("Reflect","construct"),f=h((function(){function t(){}return!(u((function(){}),[],t)instanceof t)})),d=!h((function(){u((function(){}))})),p=f||d;r({target:"Reflect",stat:!0,forced:p,sham:p},{construct:function(t,e){o(t),s(e);var n=arguments.length<3?t:o(arguments[2]);if(d&&!f)return u(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(l.apply(t,r))}var i=n.prototype,h=c(a(i)?i:Object.prototype),p=Function.apply.call(t,h,e);return a(p)?p:h}})},function(t,e,n){(function(e){var r=n(1),i=r(n(97)),o=r(n(7)),s=r(n(10)),a=n(9).CramMalformedError,c=n(73),l=n(315),h=n(316),u=n(317),f=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;(0,o.default)(this,t),this._buffer=e,this._position=n,this.length=e.length}return(0,s.default)(t,[{key:"get",value:function(){var t=this._buffer[this._position];return this._position+=1,t}},{key:"getByte",value:function(){return this.get()}},{key:"getByteAt",value:function(t){return this._buffer[t]}},{key:"position",value:function(){return this._position}},{key:"put",value:function(t){return this._buffer[this._position]=t,this._position+=1,t}},{key:"putAt",value:function(t,e){return this._buffer[t]=e,e}},{key:"setPosition",value:function(t){return this._position=t,t}},{key:"getInt",value:function(){var t=this._buffer.readInt32LE(this._position);return this._position+=4,t}},{key:"remaining",value:function(){return this._buffer.length-this._position}}]),t}();t.exports={uncompress:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(0===t.length)return(0,i.default)(n).call(n,0),n;var o=new f(t,r),s=o.get();if(0!==s&&1!==s)throw new a("Invalid rANS order ".concat(s));if(o.getInt()!==o.remaining()-4)throw new a("Incorrect input length.");var d=o.getInt(),p=new f(n||e.allocUnsafe(d));if(p.length<d)throw new a("Output buffer too small to fit ".concat(d," bytes."));switch(s){case 0:return function(t,e){for(var n=new c.AriDecoder,r=new Array(256),i=0;i<r.length;i+=1)r[i]=new c.Symbol;return l.readStatsO0(t,n,r),h.uncompress(t,n,r,e),e}(o,p);case 1:return function(t,e){for(var n=new Array(256),r=0;r<n.length;r+=1)n[r]=new c.AriDecoder;for(var i=new Array(256),o=0;o<i.length;o+=1){i[o]=new Array(256);for(var s=0;s<i[o].length;s+=1)i[o][s]=new c.Symbol}return l.readStatsO1(t,n,i),u.uncompress(t,e,n,i),e}(o,p);default:throw new a("Invalid rANS order: ".concat(s))}}}}).call(this,n(19).Buffer)},function(t,e,n){t.exports=n(311)},function(t,e,n){var r=n(312),i=Array.prototype;t.exports=function(t){var e=t.fill;return t===i||t instanceof Array&&e===i.fill?r:e}},function(t,e,n){n(313);var r=n(18);t.exports=r("Array").fill},function(t,e,n){var r=n(0),i=n(314),o=n(78);r({target:"Array",proto:!0},{fill:i}),o("fill")},function(t,e,n){var r=n(22),i=n(84),o=n(29);t.exports=function(t){for(var e=r(this),n=o(e.length),s=arguments.length,a=i(s>1?arguments[1]:void 0,n),c=s>2?arguments[2]:void 0,l=void 0===c?n:i(c,n);l>a;)e[a++]=t;return e}},function(t,e,n){var r=n(1)(n(97)),i=n(9).CramMalformedError,o=n(74),s=n(73);function a(t){if(!t)throw new i("assertion failed")}t.exports={readStatsO0:function(t,e,n){var i=0,c=0,l=255&t.get();do{var h;null==e.fc[l]&&(e.fc[l]=new s.FC),e.fc[l].F=255&t.get(),e.fc[l].F>=128&&(e.fc[l].F&=-129,e.fc[l].F=(127&e.fc[l].F)<<8|255&t.get()),e.fc[l].C=c,s.symbolInit(n[l],e.fc[l].C,e.fc[l].F),e.R||(e.R=new Array(o.TOTFREQ)),(0,r.default)(h=e.R).call(h,l,c,c+e.fc[l].F),c+=e.fc[l].F,0===i&&l+1===(255&t.getByteAt(t.position()))?(l=255&t.get(),i=255&t.get()):0!==i?(i-=1,l+=1):l=255&t.get()}while(0!==l);a(c<o.TOTFREQ)},readStatsO1:function(t,e,n){var i=0,c=255&t.get();do{var l=0,h=0,u=255&t.get();null==e[c]&&(e[c]=new s.AriDecoder);do{var f;null==e[c].fc[u]&&(e[c].fc[u]=new s.FC),e[c].fc[u].F=255&t.get(),e[c].fc[u].F>=128&&(e[c].fc[u].F&=-129,e[c].fc[u].F=(127&e[c].fc[u].F)<<8|255&t.get()),e[c].fc[u].C=h,0===e[c].fc[u].F&&(e[c].fc[u].F=o.TOTFREQ),null==n[c][u]&&(n[c][u]=new s.RansDecSymbol),s.symbolInit(n[c][u],e[c].fc[u].C,e[c].fc[u].F),null==e[c].R&&(e[c].R=new Array(o.TOTFREQ)),(0,r.default)(f=e[c].R).call(f,u,h,h+e[c].fc[u].F),a((h+=e[c].fc[u].F)<=o.TOTFREQ),0===l&&u+1===(255&t.getByteAt(t.position()))?(u=255&t.get(),l=255&t.get()):0!==l?(l-=1,u+=1):u=255&t.get()}while(0!==u);0===i&&c+1===(255&t.getByteAt(t.position()))?(c=255&t.get(),i=255&t.get()):0!==i?(i-=1,c+=1):c=255&t.get()}while(0!==c)}}},function(t,e,n){var r=n(9).CramMalformedError,i=n(74),o=n(73);t.exports={uncompress:function(t,e,n,s){for(var a,c=t.getInt(),l=t.getInt(),h=t.getInt(),u=t.getInt(),f=s.remaining(),d=-4&f,p=0;p<d;p+=4){var g=e.R[o.get(c,i.TF_SHIFT)],m=e.R[o.get(l,i.TF_SHIFT)],v=e.R[o.get(h,i.TF_SHIFT)],b=e.R[o.get(u,i.TF_SHIFT)];s.putAt(p,g),s.putAt(p+1,m),s.putAt(p+2,v),s.putAt(p+3,b),c=o.advanceSymbolStep(c,n[255&g],i.TF_SHIFT),l=o.advanceSymbolStep(l,n[255&m],i.TF_SHIFT),h=o.advanceSymbolStep(h,n[255&v],i.TF_SHIFT),u=o.advanceSymbolStep(u,n[255&b],i.TF_SHIFT),c=o.renormalize(c,t),l=o.renormalize(l,t),h=o.renormalize(h,t),u=o.renormalize(u,t)}switch(s.setPosition(d),3&f){case 0:break;case 1:a=e.R[o.get(c,i.TF_SHIFT)],o.advanceSymbol(c,t,n[255&a],i.TF_SHIFT),s.put(a);break;case 2:a=e.R[o.get(c,i.TF_SHIFT)],o.advanceSymbol(c,t,n[255&a],i.TF_SHIFT),s.put(a),a=e.R[o.get(l,i.TF_SHIFT)],o.advanceSymbol(l,t,n[255&a],i.TF_SHIFT),s.put(a);break;case 3:a=e.R[o.get(c,i.TF_SHIFT)],o.advanceSymbol(c,t,n[255&a],i.TF_SHIFT),s.put(a),a=e.R[o.get(l,i.TF_SHIFT)],o.advanceSymbol(l,t,n[255&a],i.TF_SHIFT),s.put(a),a=e.R[o.get(h,i.TF_SHIFT)],o.advanceSymbol(h,t,n[255&a],i.TF_SHIFT),s.put(a);break;default:throw new r("invalid output size encountered during rANS decoding")}s.setPosition(0)}}},function(t,e,n){var r=n(74),i=n(73);t.exports={uncompress:function(t,e,n,o){for(var s=e.remaining(),a=t.getInt(),c=t.getInt(),l=t.getInt(),h=t.getInt(),u=s>>2,f=0,d=u,p=2*u,g=3*u,m=0,v=0,b=0,w=0;f<u;f+=1,d+=1,p+=1,g+=1){var y=255&n[m].R[i.get(a,r.TF_SHIFT)],x=255&n[v].R[i.get(c,r.TF_SHIFT)],_=255&n[b].R[i.get(l,r.TF_SHIFT)],k=255&n[w].R[i.get(h,r.TF_SHIFT)];e.putAt(f,y),e.putAt(d,x),e.putAt(p,_),e.putAt(g,k),a=i.advanceSymbolStep(a,o[m][y],r.TF_SHIFT),c=i.advanceSymbolStep(c,o[v][x],r.TF_SHIFT),l=i.advanceSymbolStep(l,o[b][_],r.TF_SHIFT),h=i.advanceSymbolStep(h,o[w][k],r.TF_SHIFT),a=i.renormalize(a,t),c=i.renormalize(c,t),l=i.renormalize(l,t),h=i.renormalize(h,t),m=y,v=x,b=_,w=k}for(;g<s;g+=1){var S=255&n[w].R[i.get(h,r.TF_SHIFT)];e.putAt(g,S),h=i.advanceSymbol(h,t,o[w][S],r.TF_SHIFT),w=S}}}},function(t,e,n){var r=n(1),i=r(n(98)),o=r(n(16)),s=r(n(75)),a=n(326).Parser,c=(new a).itf8(),l={parser:(new a).string("magic",{length:4}).uint8("majorVersion").uint8("minorVersion").string("fileId",{length:20,stripNull:!0}),maxLength:26},h={parser:(new a).uint8("compressionMethod",{formatter:function(t){var e=["raw","gzip","bzip2","lzma","rans"][t];if(!e)throw new Error("compression method number ".concat(t," not implemented"));return e}}).uint8("contentType",{formatter:function(t){var e=["FILE_HEADER","COMPRESSION_HEADER","MAPPED_SLICE_HEADER","UNMAPPED_SLICE_HEADER","EXTERNAL_DATA","CORE_DATA"][t];if(!e)throw new Error("invalid block content type id ".concat(t));return e}}).itf8("contentId").itf8("compressedSize").itf8("uncompressedSize"),maxLength:17},u={parser:(new a).uint32("crc32"),maxLength:4},f=(new a).itf8("size").buffer("ents",{length:"size",formatter:function(t){function e(e,n){for(var r=t.toString("utf8",e,n),i=[],o=0;o<r.length;o+=3)i.push(r.substr(o,3));return i}var n,r=[],i=0;for(n=0;n<t.length;n+=1)t[n]||(r.push(e(i,n)),i=n+1);return n>i&&r.push(e(i,n)),r}}),d=(new a).uint8(null,{formatter:function(t){return!!t}}),p=(new a).itf8("mapSize").itf8("mapCount").array("ents",{length:"mapCount",type:(new a).string("key",{length:2,stripNull:!1}).choice("value",{tag:"key",choices:{MI:d,UI:d,PI:d,RN:d,AP:d,RR:d,SM:(new a).array(null,{type:"uint8",length:5}),TD:(new a).nest(null,{type:f,formatter:function(t){return t.ents}})}})});function g(t){for(var e={},n=0;n<t.ents.length;n+=1){var r=t.ents[n],i=r.key,o=r.value;e[i]&&console.warn("duplicate key ".concat(i," in map")),e[i]=o}return e}var m={cramFileDefinition:l,cramBlockHeader:h,cramBlockCrc32:u},v={cramUnmappedSliceHeader:function(t){var e=0,n=(new a).itf8("numRecords");return e+=5,t>=3?(n=n.ltf8("recordCounter"),e+=9):2===t&&(n=n.itf8("recordCounter"),e+=5),n=n.itf8("numBlocks").itf8("numContentIds").array("contentIds",{type:c,length:"numContentIds"}),e+=10,t>=2&&(n=n.array("md5",{type:"uint8",length:16}),e+=16),{parser:n,maxLength:function(t){return e+5*t}}},cramMappedSliceHeader:function(t){var e=(new a).itf8("refSeqId").itf8("refSeqStart").itf8("refSeqSpan").itf8("numRecords"),n=20;return t>=3?(e=e.ltf8("recordCounter"),n+=9):2===t&&(e=e.itf8("recordCounter"),n+=5),e=e.itf8("numBlocks").itf8("numContentIds").array("contentIds",{type:c,length:"numContentIds"}).itf8("refBaseBlockId"),n+=15,t>=2&&(e=e.array("md5",{type:"uint8",length:16}),n+=16),{parser:e,maxLength:function(t){return n+5*t}}},cramEncoding:function(t){return{parser:(new a).namely("cramEncoding").itf8("codecId").itf8("parametersBytes").choice("parameters",{tag:"codecId",choices:{0:new a,1:(new a).itf8("blockContentId"),2:(new a).itf8("offset").itf8("M"),3:a.start().itf8("numCodes").array("symbols",{length:"numCodes",type:c}).itf8("numLengths").array("bitLengths",{length:"numLengths",type:c}),4:a.start().nest("lengthsEncoding",{type:"cramEncoding"}).nest("valuesEncoding",{type:"cramEncoding"}),5:(new a).uint8("stopByte")[t>1?"itf8":"int"]("blockContentId"),6:(new a).itf8("offset").itf8("length"),7:(new a).itf8("offset").itf8("K"),8:(new a).itf8("offset").itf8("log2m"),9:(new a).itf8("offset")}})}},cramDataSeriesEncodingMap:function(t){return(new a).itf8("mapSize").itf8("mapCount").array("ents",{length:"mapCount",type:(new a).string("key",{length:2,stripNull:!1}).nest("value",{type:this.cramEncoding(t).parser})})},cramTagEncodingMap:function(t){return(new a).itf8("mapSize").itf8("mapCount").array("ents",{length:"mapCount",type:(new a).itf8("key",{formatter:function(t){return String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(255&t)}}).nest("value",{type:this.cramEncoding(t).parser})})},cramCompressionHeader:function(t){var e=new a;return{parser:e=e.nest("preservation",{type:p,formatter:g}).nest("dataSeriesEncoding",{type:this.cramDataSeriesEncodingMap(t),formatter:g}).nest("tagEncoding",{type:this.cramTagEncodingMap(t),formatter:g})}},cramContainerHeader1:function(t){var e=(new a).int32("length").itf8("refSeqId").itf8("refSeqStart").itf8("alignmentSpan").itf8("numRecords"),n=24;return t>=3?(e=e.ltf8("recordCounter"),n+=9):2===t&&(e=e.itf8("recordCounter"),n+=5),t>1&&(e=e.ltf8("numBases"),n+=9),{parser:e=e.itf8("numBlocks").itf8("numLandmarks"),maxLength:n+=10}},cramContainerHeader2:function(t){var e=(new a).itf8("numLandmarks").array("landmarks",{type:(new a).itf8(),length:"numLandmarks"}),n=0;return t>=3&&(e=e.uint32("crc32"),n=4),{parser:e,maxLength:function(t){return 5+5*t+n}}}};t.exports={cramFileDefinition:l,getSectionParsers:function(t){var e,n=(0,s.default)({},m);return(0,o.default)(e=(0,i.default)(v)).call(e,(function(e){n[e]=v[e](t)})),n}}},function(t,e,n){t.exports=n(320)},function(t,e,n){n(321);var r=n(3);t.exports=r.Object.keys},function(t,e,n){var r=n(0),i=n(22),o=n(51);r({target:"Object",stat:!0,forced:n(12)((function(){o(1)}))},{keys:function(t){return o(i(t))}})},function(t,e,n){t.exports=n(323)},function(t,e,n){n(324);var r=n(3);t.exports=r.Object.assign},function(t,e,n){var r=n(0),i=n(325);r({target:"Object",stat:!0,forced:Object.assign!==i},{assign:i})},function(t,e,n){var r=n(17),i=n(12),o=n(51),s=n(138),a=n(65),c=n(22),l=n(60),h=Object.assign;t.exports=!h||i((function(){var t={},e={},n=Symbol();return t[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=h({},t)[n]||"abcdefghijklmnopqrst"!=o(h({},e)).join("")}))?function(t,e){for(var n=c(t),i=arguments.length,h=1,u=s.f,f=a.f;i>h;)for(var d,p=l(arguments[h++]),g=u?o(p).concat(u(p)):o(p),m=g.length,v=0;m>v;)d=g[v++],r&&!f.call(p,d)||(n[d]=p[d]);return n}:h},function(t,e,n){(function(t){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i=n(327),o=n(328).Context,s=n(146);"undefined"!=typeof window&&(window.Buffer=t),"undefined"!=typeof self&&(self.Buffer=t);var a={UInt8:1,UInt16LE:2,UInt16BE:2,UInt32LE:4,UInt32BE:4,Int8:1,Int16LE:2,Int16BE:2,Int32LE:4,Int32BE:4,FloatLE:4,FloatBE:4,DoubleLE:8,DoubleBE:8,UInt64:8,Int64:8},c={},l=[];!function(){var t;for(t=1;t<=32;t++)l.push(t)}();var h={};Object.keys(a).concat(Object.keys({String:null,Buffer:null,Array:null,Skip:null,Choice:null,Nest:null,Bit:null,Itf8:null,Ltf8:null})).forEach((function(t){h[t.toLowerCase()]=t}));var u=function(){this.varName="",this.type="",this.options={},this.next=null,this.head=null,this.compiled=null,this.endian="le",this.constructorFn=null,this.alias=null};u.start=function(){return new u},Object.keys(a).forEach((function(t){u.prototype[t.toLowerCase()]=function(e,n){return this.setNextParser(t.toLowerCase(),e,n)};var e=t.replace(/BE|LE/,"").toLowerCase();e in u.prototype||(u.prototype[e]=function(t,n){return this[e+this.endian](t,n)})})),l.forEach((function(t){u.prototype["bit".concat(t.toString())]=function(e,n){return n||(n={}),n.length=t,this.setNextParser("bit",e,n)}})),u.prototype.namely=function(t){return c[t]=this,this.alias=t,this},u.prototype.skip=function(t,e){if(e&&e.assert)throw new Error("assert option on skip is not allowed.");return this.setNextParser("skip","",{length:t})},u.prototype.string=function(t,e){if(!e.zeroTerminated&&!e.length&&!e.greedy)throw new Error("Neither length, zeroTerminated, nor greedy is defined for string.");if((e.zeroTerminated||e.length)&&e.greedy)throw new Error("greedy is mutually exclusive with length and zeroTerminated for string.");if(e.stripNull&&!e.length&&!e.greedy)throw new Error("Length or greedy must be defined if stripNull is defined.");return e.encoding=e.encoding||"utf8",this.setNextParser("string",t,e)},u.prototype.buffer=function(t,e){if(!e.length&&!e.readUntil)throw new Error("Length nor readUntil is defined in buffer parser");return this.setNextParser("buffer",t,e)},u.prototype.array=function(t,e){if(!e.readUntil&&!e.length&&!e.lengthInBytes)throw new Error("Length option of array is not defined.");if(!e.type)throw new Error("Type option of array is not defined.");if("string"==typeof e.type&&!c[e.type]&&Object.keys(a).indexOf(h[e.type])<0)throw new Error('Specified primitive type "'.concat(e.type,'" is not supported.'));return this.setNextParser("array",t,e)},u.prototype.choice=function(t,e){if(1===arguments.length&&"object"===r(t)&&(e=t,t=null),!e.tag)throw new Error("Tag option of array is not defined.");if(!e.choices)throw new Error("Choices option of array is not defined.");return Object.keys(e.choices).forEach((function(n){if(!e.choices[n])throw new Error("Choice Case ".concat(n," of ").concat(t," is not valid."));if("string"==typeof e.choices[n]&&!c[e.choices[n]]&&Object.keys(a).indexOf(h[e.choices[n]])<0)throw new Error('Specified primitive type "'.concat(e.choices[n],'" is not supported.'))}),this),this.setNextParser("choice",t,e)},u.prototype.nest=function(t,e){if(1===arguments.length&&"object"===r(t)&&(e=t,t=null),!e.type)throw new Error("Type option of nest is not defined.");if(!(e.type instanceof u||c[e.type]))throw new Error("Type option of nest must be a Parser object.");if(!(e.type instanceof u||t))throw new Error("options.type must be a object if variable name is omitted.");return this.setNextParser("nest",t,e)},u.prototype.endianess=function(t){switch(t.toLowerCase()){case"little":this.endian="le";break;case"big":this.endian="be";break;default:throw new Error("Invalid endianess: ".concat(t))}return this},u.prototype.create=function(t){if(!(t instanceof Function))throw new Error("Constructor must be a Function object.");return this.constructorFn=t,this},u.prototype.getCode=function(){var t=new o;return t.pushCode("if (!Buffer.isBuffer(buffer)) {"),t.generateError('"argument buffer is not a Buffer object"'),t.pushCode("}"),this.alias?this.addAliasedCode(t):this.addRawCode(t),this.alias?t.pushCode("return {0}(0)","___parser_"+this.alias):t.pushCode("return { offset: offset, result: vars };"),t.code},u.prototype.addRawCode=function(t){t.pushCode("var offset = 0;"),this.constructorFn?t.pushCode("var vars = new constructorFn();"):t.pushCode("var vars = {};"),this.generate(t),this.resolveReferences(t),t.pushCode("return { offset: offset, result: vars };")},u.prototype.addAliasedCode=function(t){return t.pushCode("function {0}(offset) {","___parser_"+this.alias),this.constructorFn?t.pushCode("var vars = new constructorFn();"):t.pushCode("var vars = {};"),this.generate(t),t.markResolved(this.alias),this.resolveReferences(t),t.pushCode("return { offset: offset, result: vars };"),t.pushCode("}"),t},u.prototype.resolveReferences=function(t){var e=t.getUnresolvedReferences();t.markRequested(e),e.forEach((function(e){c[e].addAliasedCode(t)}))},u.prototype.compile=function(){var t="(function(buffer, constructorFn, Long) { ".concat(this.getCode()," })");this.compiled=i.runInThisContext(t)},u.prototype.sizeOf=function(){var t=NaN;if(Object.keys(a).indexOf(this.type)>=0)t=a[this.type];else if("String"===this.type&&"number"==typeof this.options.length)t=this.options.length;else if("Buffer"===this.type&&"number"==typeof this.options.length)t=this.options.length;else if("Array"===this.type&&"number"==typeof this.options.length){var e=NaN;"string"==typeof this.options.type?e=a[h[this.options.type]]:this.options.type instanceof u&&(e=this.options.type.sizeOf()),t=this.options.length*e}else"Skip"===this.type?t=this.options.length:"Nest"===this.type?t=this.options.type.sizeOf():this.type||(t=0);return this.next&&(t+=this.next.sizeOf()),t},u.prototype.parse=function(t){return this.compiled||this.compile(),this.compiled(t,this.constructorFn,s)},u.prototype.setNextParser=function(t,e,n){var r=new u;return r.type=h[t],r.varName=e,r.options=n||r.options,r.endian=this.endian,this.head?this.head.next=r:this.next=r,this.head=r,this},u.prototype.generate=function(t){this.type&&(this["generate".concat(this.type)](t),this.generateAssert(t));var e=t.generateVariable(this.varName);return this.options.formatter&&this.generateFormatter(t,e,this.options.formatter),this.generateNext(t)},u.prototype.generateAssert=function(t){if(this.options.assert){var e=t.generateVariable(this.varName);switch(r(this.options.assert)){case"function":t.pushCode("if (!({0}).call(vars, {1})) {",this.options.assert,e);break;case"number":t.pushCode("if ({0} !== {1}) {",this.options.assert,e);break;case"string":t.pushCode('if ("{0}" !== {1}) {',this.options.assert,e);break;default:throw new Error("Assert option supports only strings, numbers and assert functions.")}t.generateError('"Assert error: {0} is " + {0}',e),t.pushCode("}")}},u.prototype.generateNext=function(t){return this.next&&(t=this.next.generate(t)),t},Object.keys(a).forEach((function(t){u.prototype["generate".concat(t)]=function(e){"UInt64"===t?e.pushCode("{0} = Long.fromBytes(buffer.slice(offset,offset+8), true, this.endian === 'le').toNumber();",e.generateVariable(this.varName),t):"Int64"===t?e.pushCode("{0} = Long.fromBytes(buffer.slice(offset,offset+8), false, this.endian === 'le').toNumber();",e.generateVariable(this.varName),t):e.pushCode("{0} = buffer.read{1}(offset);",e.generateVariable(this.varName),t),e.pushCode("offset += {0};",a[t])}})),u.prototype.generateBit=function(t){var e=JSON.parse(JSON.stringify(this));if(e.varName=t.generateVariable(e.varName),t.bitFields.push(e),!this.next||this.next&&["Bit","Nest"].indexOf(this.next.type)<0){var n=0;t.bitFields.forEach((function(t){n+=t.options.length}));var r=t.generateTmpVariable();if(n<=8)t.pushCode("var {0} = buffer.readUInt8(offset);",r),n=8;else if(n<=16)t.pushCode("var {0} = buffer.readUInt16BE(offset);",r),n=16;else if(n<=24){var i=t.generateTmpVariable(),o=t.generateTmpVariable();t.pushCode("var {0} = buffer.readUInt16BE(offset);",i),t.pushCode("var {0} = buffer.readUInt8(offset + 2);",o),t.pushCode("var {2} = ({0} << 8) | {1};",i,o,r),n=24}else{if(!(n<=32))throw new Error("Currently, bit field sequence longer than 4-bytes is not supported.");t.pushCode("var {0} = buffer.readUInt32BE(offset);",r),n=32}t.pushCode("offset += {0};",n/8);var s=0,a="be"===this.endian;t.bitFields.forEach((function(e){t.pushCode("{0} = {1} >> {2} & {3};",e.varName,r,a?n-s-e.options.length:s,(1<<e.options.length)-1),s+=e.options.length})),t.bitFields=[]}},u.prototype.generateSkip=function(t){var e=t.generateOption(this.options.length);t.pushCode("offset += {0};",e)},u.prototype.generateString=function(t){var e=t.generateVariable(this.varName),n=t.generateTmpVariable();this.options.length&&this.options.zeroTerminated?(t.pushCode("var {0} = offset;",n),t.pushCode("while(buffer.readUInt8(offset++) !== 0 && offset - {0} < {1});",n,this.options.length),t.pushCode("{0} = buffer.toString('{1}', {2}, offset - {2} < {3} ? offset - 1 : offset);",e,this.options.encoding,n,this.options.length)):this.options.length?(t.pushCode("{0} = buffer.toString('{1}', offset, offset + {2});",e,this.options.encoding,t.generateOption(this.options.length)),t.pushCode("offset += {0};",t.generateOption(this.options.length))):this.options.zeroTerminated?(t.pushCode("var {0} = offset;",n),t.pushCode("while(buffer.readUInt8(offset++) !== 0);"),t.pushCode("{0} = buffer.toString('{1}', {2}, offset - 1);",e,this.options.encoding,n)):this.options.greedy&&(t.pushCode("var {0} = offset;",n),t.pushCode("while(buffer.length > offset++);"),t.pushCode("{0} = buffer.toString('{1}', {2}, offset);",e,this.options.encoding,n)),this.options.stripNull&&t.pushCode("{0} = {0}.replace(/\\x00+$/g, '')",e)},u.prototype.generateBuffer=function(t){"eof"===this.options.readUntil?t.pushCode("{0} = buffer.slice(offset);",t.generateVariable(this.varName)):(t.pushCode("{0} = buffer.slice(offset, offset + {1});",t.generateVariable(this.varName),t.generateOption(this.options.length)),t.pushCode("offset += {0};",t.generateOption(this.options.length))),this.options.clone&&t.pushCode("{0} = Buffer.from({0});",t.generateVariable(this.varName))},u.prototype.generateArray=function(t){var e=t.generateOption(this.options.length),n=t.generateOption(this.options.lengthInBytes),r=this.options.type,i=t.generateTmpVariable(),o=t.generateVariable(this.varName),s=t.generateTmpVariable(),l=this.options.key,f="string"==typeof l;if(f?t.pushCode("{0} = {};",o):t.pushCode("{0} = [];",o),"function"==typeof this.options.readUntil?t.pushCode("do {"):"eof"===this.options.readUntil?t.pushCode("for (var {0} = 0; offset < buffer.length; {0}++) {",i):void 0!==n?t.pushCode("for (var {0} = offset; offset - {0} < {1}; ) {",i,n):t.pushCode("for (var {0} = 0; {0} < {1}; {0}++) {",i,e),"string"==typeof r)if(c[r]){var d=t.generateTmpVariable();t.pushCode("var {0} = {1}(offset);",d,"___parser_"+r),t.pushCode("var {0} = {1}.result; offset = {1}.offset;",s,d),r!==this.alias&&t.addReference(r)}else t.pushCode("var {0} = buffer.read{1}(offset);",s,h[r]),t.pushCode("offset += {0};",a[h[r]]);else r instanceof u&&(t.pushCode("var {0} = {};",s),t.pushScope(s),r.generate(t),t.popScope());f?t.pushCode("{0}[{2}.{1}] = {2};",o,l,s):t.pushCode("{0}.push({1});",o,s),t.pushCode("}"),"function"==typeof this.options.readUntil&&t.pushCode(" while (!({0}).call(this, {1}, buffer.slice(offset)));",this.options.readUntil,s)},u.prototype.generateChoiceCase=function(t,e,n){if("string"==typeof n)if(c[n]){var r=t.generateTmpVariable();t.pushCode("var {0} = {1}(offset);",r,"___parser_"+n),t.pushCode("{0} = {1}.result; offset = {1}.offset;",t.generateVariable(this.varName),r),n!==this.alias&&t.addReference(n)}else t.pushCode("{0} = buffer.read{1}(offset);",t.generateVariable(this.varName),h[n]),t.pushCode("offset += {0};",a[h[n]]);else n instanceof u&&(t.pushPath(e),n.generate(t),t.popPath(e))},u.prototype.generateChoice=function(t){var e=t.generateOption(this.options.tag);this.varName&&t.pushCode("{0} = {};",t.generateVariable(this.varName)),t.pushCode("switch({0}) {",e),Object.keys(this.options.choices).forEach((function(e){var n=this.options.choices[e];Number.isNaN(parseInt(e,10))?t.pushCode("case '{0}':",e):t.pushCode("case {0}:",e),this.generateChoiceCase(t,this.varName,n),t.pushCode("break;")}),this),t.pushCode("default:"),this.options.defaultChoice?this.generateChoiceCase(t,this.varName,this.options.defaultChoice):t.generateError('"Met undefined tag value " + {0} + " at choice"',e),t.pushCode("}")},u.prototype.generateNest=function(t){var e=t.generateVariable(this.varName);if(this.options.type instanceof u)this.varName&&t.pushCode("{0} = {};",e),t.pushPath(this.varName),this.options.type.generate(t),t.popPath(this.varName);else if(c[this.options.type]){var n=t.generateTmpVariable();t.pushCode("var {0} = {1}(offset);",n,"___parser_"+this.options.type),t.pushCode("{0} = {1}.result; offset = {1}.offset;",e,n),this.options.type!==this.alias&&t.addReference(this.options.type)}},u.prototype.generateFormatter=function(t,e,n){"function"==typeof n&&t.pushCode("{0} = ({1}).call(this, {0});",e,n)},u.prototype.isInteger=function(){return!!this.type.match(/U?Int[8|16|32][BE|LE]?|Bit\d+/)},u.prototype.itf8=function(t,e){return this.setNextParser("itf8",t,e)},u.prototype.itf8=function(t,e){return this.setNextParser("itf8",t,e)},u.prototype.generateItf8=function(t){var e=t.generateVariable(this.varName),n=t.generateTmpVariable();t.pushCode("\n var ".concat(n," = buffer[offset];\n if (").concat(n," < 0x80) {\n ").concat(e," = ").concat(n,";\n offset += 1;\n } else if (").concat(n," < 0xc0) {\n ").concat(e," = ((").concat(n,"<<8) | buffer[offset+1]) & 0x3fff;\n offset += 2;\n } else if (").concat(n," < 0xe0) {\n ").concat(e," = ((").concat(n,"<<16) | (buffer[offset+1]<< 8) | buffer[offset+2]) & 0x1fffff;\n offset += 3;\n } else if (").concat(n," < 0xf0) {\n ").concat(e," = ((").concat(n,"<<24) | (buffer[offset+1]<<16) | (buffer[offset+2]<<8) | buffer[offset+3]) & 0x0fffffff;\n offset += 4\n } else {\n ").concat(e," = ((").concat(n," & 0x0f)<<28) | (buffer[offset+1]<<20) | (buffer[offset+2]<<12) | (buffer[offset+3]<<4) | (buffer[offset+4] & 0x0f);\n // x=((0xff & 0x0f)<<28) | (0xff<<20) | (0xff<<12) | (0xff<<4) | (0x0f & 0x0f);\n // TODO *val_p = uv < 0x80000000UL ? uv : -((int32_t) (0xffffffffUL - uv)) - 1;\n offset += 5\n }\n "))},u.prototype.ltf8=function(t,e){return this.setNextParser("ltf8",t,e)},u.prototype.generateLtf8=function(t){var e=t.generateVariable(this.varName),n=t.generateTmpVariable();t.pushCode("\n var ".concat(n," = buffer[offset];\n if (").concat(n," < 0x80) {\n ").concat(e," = ").concat(n,";\n offset += 1;\n } else if (").concat(n," < 0xc0) {\n ").concat(e," = ((buffer[offset]<<8) | buffer[offset+1]) & 0x3fff;\n offset += 2;\n } else if (").concat(n," < 0xe0) {\n ").concat(e," = ((buffer[offset]<<16) | (buffer[offset+1]<<8) | buffer[offset+2]) & 0x1fffff;\n ").concat(e," = (((").concat(n," & 63) << 16) | buffer.readUInt16LE(offset + 1));\n offset += 3;\n } else if (").concat(n," < 0xf0) {\n ").concat(e," = ((buffer[offset]<<24) | (buffer[offset+1]<<16) | (buffer[offset+2]<<8) | buffer[offset+3]) & 0x0fffffff;\n offset += 4;\n } else if (").concat(n," < 0xf8) {\n ").concat(e," = (((buffer[offset] & 15) * Math.pow(2,32))) +\n (buffer[offset+1]<<24) | (buffer[offset+2]<<16 | buffer[offset+3]<<8 | buffer[offset+4])\n // TODO *val_p = uv < 0x80000000UL ? uv : -((int32_t) (0xffffffffUL - uv)) - 1;\n offset += 5;\n } else if (").concat(n," < 0xfc) {\n ").concat(e," = ((((buffer[offset] & 7) << 8) | buffer[offset+1] )) * Math.pow(2,32) +\n (buffer[offset+2]<<24) | (buffer[offset+3]<<16 | buffer[offset+4]<<8 | buffer[offset+5])\n offset += 6;\n } else if (").concat(n," < 0xfe) {\n ").concat(e," = ((((buffer[offset] & 3) << 16) | buffer[offset+1]<<8 | buffer[offset+2])) * Math.pow(2,32) +\n (buffer[offset+3]<<24) | (buffer[offset+4]<<16 | buffer[offset+5]<<8 | buffer[offset+6])\n offset += 7;\n } else if (").concat(n," < 0xff) {\n ").concat(e," = Long.fromBytesBE(buffer.slice(offset+1,offset+8));\n if (").concat(e,".greaterThan(Number.MAX_SAFE_INTEGER) || ").concat(e,".lessThan(Number.MIN_SAFE_INTEGER))\n throw new Error('integer overflow')\n ").concat(e," = ").concat(e,".toNumber()\n offset += 8;\n } else {\n ").concat(e," = Long.fromBytesBE(buffer.slice(offset+1,offset+9));\n if (").concat(e,".greaterThan(Number.MAX_SAFE_INTEGER) || ").concat(e,".lessThan(Number.MIN_SAFE_INTEGER))\n throw new Error('integer overflow')\n ").concat(e," = ").concat(e,".toNumber()\n offset += 9;\n }\n "))},e.Parser=u}).call(this,n(19).Buffer)},function(t,e){var n=function(t){if(Object.keys)return Object.keys(t);var e=[];for(var n in t)e.push(n);return e},r=function(t,e){if(t.forEach)return t.forEach(e);for(var n=0;n<t.length;n++)e(t[n],n,t)},i=function(){try{return Object.defineProperty({},"_",{}),function(t,e,n){Object.defineProperty(t,e,{writable:!0,enumerable:!1,configurable:!0,value:n})}}catch(t){return function(t,e,n){t[e]=n}}}(),o=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];function s(){}s.prototype={};var a=e.Script=function(t){if(!(this instanceof a))return new a(t);this.code=t};a.prototype.runInContext=function(t){if(!(t instanceof s))throw new TypeError("needs a 'context' argument.");var e=document.createElement("iframe");e.style||(e.style={}),e.style.display="none",document.body.appendChild(e);var a=e.contentWindow,c=a.eval,l=a.execScript;!c&&l&&(l.call(a,"null"),c=a.eval),r(n(t),(function(e){a[e]=t[e]})),r(o,(function(e){t[e]&&(a[e]=t[e])}));var h=n(a),u=c.call(a,this.code);return r(n(a),(function(e){(e in t||-1===function(t,e){if(t.indexOf)return t.indexOf(e);for(var n=0;n<t.length;n++)if(t[n]===e)return n;return-1}(h,e))&&(t[e]=a[e])})),r(o,(function(e){e in t||i(t,e,a[e])})),document.body.removeChild(e),u},a.prototype.runInThisContext=function(){return Rh(this.code)},a.prototype.runInNewContext=function(t){var e=a.createContext(t),i=this.runInContext(e);return t&&r(n(e),(function(n){t[n]=e[n]})),i},r(n(a.prototype),(function(t){e[t]=a[t]=function(e){var n=a(e);return n[t].apply(n,[].slice.call(arguments,1))}})),e.isContext=function(t){return t instanceof s},e.createScript=function(t){return e.Script(t)},e.createContext=a.createContext=function(t){var e=new s;return"object"==typeof t&&r(n(t),(function(n){e[n]=t[n]})),e}},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i=function(){this.code="",this.scopes=[["vars"]],this.isAsync=!1,this.bitFields=[],this.tmpVariableCount=0,this.references={}};i.prototype.generateVariable=function(t){var e=[];for(Array.prototype.push.apply(e,this.scopes[this.scopes.length-1]);/^\$parent\./.test(t);)e.pop(),t=t.replace(/^\$parent\./,"");return t&&e.push(t),e.join(".")},i.prototype.generateOption=function(t){switch(r(t)){case"number":return t.toString();case"string":return this.generateVariable(t);case"function":return"(".concat(t,").call(").concat(this.generateVariable(),", vars)");default:return}},i.prototype.generateError=function(){var t=Array.prototype.slice.call(arguments),e=i.interpolate.apply(this,t);this.isAsync?this.pushCode("return process.nextTick(function() { callback(new Error(".concat(e,"), vars); });")):this.pushCode("throw new Error(".concat(e,");"))},i.prototype.generateTmpVariable=function(){return"$tmp".concat(this.tmpVariableCount++)},i.prototype.pushCode=function(){var t=Array.prototype.slice.call(arguments);this.code+="".concat(i.interpolate.apply(this,t),"\n")},i.prototype.pushPath=function(t){t&&this.scopes[this.scopes.length-1].push(t)},i.prototype.popPath=function(t){t&&this.scopes[this.scopes.length-1].pop()},i.prototype.pushScope=function(t){this.scopes.push([t])},i.prototype.popScope=function(){this.scopes.pop()},i.prototype.addReference=function(t){this.references[t]||(this.references[t]={resolved:!1,requested:!1})},i.prototype.markResolved=function(t){this.references[t].resolved=!0},i.prototype.markRequested=function(t){t.forEach(function(t){this.references[t].requested=!0}.bind(this))},i.prototype.getUnresolvedReferences=function(){var t=this.references;return Object.keys(this.references).filter((function(e){return!t[e].resolved&&!t[e].requested}))},i.interpolate=function(t){var e=/{\d+}/g,n=t.match(e),r=Array.prototype.slice.call(arguments,1);return n&&n.forEach((function(e){var n=parseInt(e.substr(1,e.length-2),10);t=t.replace(e,r[n].toString())})),t},e.Context=i},function(t,e,n){(function(e){var r,i=n(1),o=i(n(16)),s=i(n(75)),a=i(n(37)),c=i(n(30)),l=i(n(31)),h=i(n(7)),u=i(n(10)),f=n(9).CramMalformedError,d=n(58),p=d.itf8Size,g=d.parseItem,m=d.tinyMemoize,v=n(334),b=n(390),w=function(){function t(e,n){(0,h.default)(this,t),this.file=e,this.filePosition=n}var n,r,i,o;return(0,u.default)(t,[{key:"getHeader",value:function(){return this._readContainerHeader(this.filePosition)}},{key:"getCompressionHeaderBlock",value:(o=(0,l.default)(c.default.mark((function t(){var e,n,r;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getHeader();case 2:if(t.sent.numRecords){t.next=5;break}return t.abrupt("return",null);case 5:return t.next=7,this.file.getSectionParsers();case 7:return e=t.sent,t.next=10,this.getFirstBlock();case 10:if("COMPRESSION_HEADER"===(n=t.sent).contentType){t.next=13;break}throw new f("invalid content type ".concat(n.contentType," in what is supposed to be the compression header block"));case 13:return r=g(n.content,e.cramCompressionHeader.parser,0,n.contentPosition),n.content=r,t.abrupt("return",n);case 16:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"getFirstBlock",value:(i=(0,l.default)(c.default.mark((function t(){var e;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getHeader();case 2:return e=t.sent,t.abrupt("return",this.file.readBlock(e._endPosition));case 4:case"end":return t.stop()}}),t,this)}))),function(){return i.apply(this,arguments)})},{key:"getCompressionScheme",value:(r=(0,l.default)(c.default.mark((function t(){var e;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getCompressionHeaderBlock();case 2:if(e=t.sent){t.next=5;break}return t.abrupt("return",void 0);case 5:return t.abrupt("return",new b(e.content));case 6:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"getSlice",value:function(t,e){return new v(this,t,e)}},{key:"_readContainerHeader",value:(n=(0,l.default)(c.default.mark((function t(n){var r,i,o,l,h,u,f,d,m,v,b,w,y;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.file.getSectionParsers();case 2:return r=t.sent,i=r.cramContainerHeader1,o=r.cramContainerHeader2,t.next=6,this.file.stat();case 6:if(l=t.sent,h=l.size,!(n>=h)){t.next=10;break}return t.abrupt("return",void 0);case 10:return u=e.allocUnsafe(i.maxLength),t.next=13,this.file.read(u,0,i.maxLength,n);case 13:if(f=g(u,i.parser),d=p(f.numLandmarks),!(n+f.length>=h)){t.next=18;break}return console.warn((0,a.default)(m=(0,a.default)(v="".concat(this.file,": container header at ")).call(v,n," indicates that the container has length ")).call(m,f.length,", which extends beyond the length of the file. Skipping this container.")),t.abrupt("return",void 0);case 18:return b=e.allocUnsafe(o.maxLength(f.numLandmarks)),t.next=21,this.file.read(b,0,o.maxLength(f.numLandmarks),n+f._size-d);case 21:if(w=g(b,o.parser),!this.file.validateChecksums||void 0===w.crc32){t.next=25;break}return t.next=25,this.file.checkCrc32(n,f._size+w._size-d-4,w.crc32,"container header beginning at position ".concat(n));case 25:return y=(0,s.default)(f,w,{_size:f._size+w._size-d,_endPosition:f._size+w._size-d+n}),t.abrupt("return",y);case 27:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})}]),t}();(0,o.default)(r="getHeader getCompressionHeaderBlock getCompressionScheme".split(" ")).call(r,(function(t){return m(w,t)})),t.exports=w}).call(this,n(19).Buffer)},function(t,e,n){t.exports=n(115)},function(t,e,n){var r,i,o,s,a;r=n(332),i=n(147).utf8,o=n(333),s=n(147).bin,(a=function(t,e){t.constructor==String?t=e&&"binary"===e.encoding?s.stringToBytes(t):i.stringToBytes(t):o(t)?t=Array.prototype.slice.call(t,0):Array.isArray(t)||(t=t.toString());for(var n=r.bytesToWords(t),c=8*t.length,l=1732584193,h=-271733879,u=-1732584194,f=271733878,d=0;d<n.length;d++)n[d]=16711935&(n[d]<<8|n[d]>>>24)|4278255360&(n[d]<<24|n[d]>>>8);n[c>>>5]|=128<<c%32,n[14+(c+64>>>9<<4)]=c;var p=a._ff,g=a._gg,m=a._hh,v=a._ii;for(d=0;d<n.length;d+=16){var b=l,w=h,y=u,x=f;l=p(l,h,u,f,n[d+0],7,-680876936),f=p(f,l,h,u,n[d+1],12,-389564586),u=p(u,f,l,h,n[d+2],17,606105819),h=p(h,u,f,l,n[d+3],22,-1044525330),l=p(l,h,u,f,n[d+4],7,-176418897),f=p(f,l,h,u,n[d+5],12,1200080426),u=p(u,f,l,h,n[d+6],17,-1473231341),h=p(h,u,f,l,n[d+7],22,-45705983),l=p(l,h,u,f,n[d+8],7,1770035416),f=p(f,l,h,u,n[d+9],12,-1958414417),u=p(u,f,l,h,n[d+10],17,-42063),h=p(h,u,f,l,n[d+11],22,-1990404162),l=p(l,h,u,f,n[d+12],7,1804603682),f=p(f,l,h,u,n[d+13],12,-40341101),u=p(u,f,l,h,n[d+14],17,-1502002290),l=g(l,h=p(h,u,f,l,n[d+15],22,1236535329),u,f,n[d+1],5,-165796510),f=g(f,l,h,u,n[d+6],9,-1069501632),u=g(u,f,l,h,n[d+11],14,643717713),h=g(h,u,f,l,n[d+0],20,-373897302),l=g(l,h,u,f,n[d+5],5,-701558691),f=g(f,l,h,u,n[d+10],9,38016083),u=g(u,f,l,h,n[d+15],14,-660478335),h=g(h,u,f,l,n[d+4],20,-405537848),l=g(l,h,u,f,n[d+9],5,568446438),f=g(f,l,h,u,n[d+14],9,-1019803690),u=g(u,f,l,h,n[d+3],14,-187363961),h=g(h,u,f,l,n[d+8],20,1163531501),l=g(l,h,u,f,n[d+13],5,-1444681467),f=g(f,l,h,u,n[d+2],9,-51403784),u=g(u,f,l,h,n[d+7],14,1735328473),l=m(l,h=g(h,u,f,l,n[d+12],20,-1926607734),u,f,n[d+5],4,-378558),f=m(f,l,h,u,n[d+8],11,-2022574463),u=m(u,f,l,h,n[d+11],16,1839030562),h=m(h,u,f,l,n[d+14],23,-35309556),l=m(l,h,u,f,n[d+1],4,-1530992060),f=m(f,l,h,u,n[d+4],11,1272893353),u=m(u,f,l,h,n[d+7],16,-155497632),h=m(h,u,f,l,n[d+10],23,-1094730640),l=m(l,h,u,f,n[d+13],4,681279174),f=m(f,l,h,u,n[d+0],11,-358537222),u=m(u,f,l,h,n[d+3],16,-722521979),h=m(h,u,f,l,n[d+6],23,76029189),l=m(l,h,u,f,n[d+9],4,-640364487),f=m(f,l,h,u,n[d+12],11,-421815835),u=m(u,f,l,h,n[d+15],16,530742520),l=v(l,h=m(h,u,f,l,n[d+2],23,-995338651),u,f,n[d+0],6,-198630844),f=v(f,l,h,u,n[d+7],10,1126891415),u=v(u,f,l,h,n[d+14],15,-1416354905),h=v(h,u,f,l,n[d+5],21,-57434055),l=v(l,h,u,f,n[d+12],6,1700485571),f=v(f,l,h,u,n[d+3],10,-1894986606),u=v(u,f,l,h,n[d+10],15,-1051523),h=v(h,u,f,l,n[d+1],21,-2054922799),l=v(l,h,u,f,n[d+8],6,1873313359),f=v(f,l,h,u,n[d+15],10,-30611744),u=v(u,f,l,h,n[d+6],15,-1560198380),h=v(h,u,f,l,n[d+13],21,1309151649),l=v(l,h,u,f,n[d+4],6,-145523070),f=v(f,l,h,u,n[d+11],10,-1120210379),u=v(u,f,l,h,n[d+2],15,718787259),h=v(h,u,f,l,n[d+9],21,-343485551),l=l+b>>>0,h=h+w>>>0,u=u+y>>>0,f=f+x>>>0}return r.endian([l,h,u,f])})._ff=function(t,e,n,r,i,o,s){var a=t+(e&n|~e&r)+(i>>>0)+s;return(a<<o|a>>>32-o)+e},a._gg=function(t,e,n,r,i,o,s){var a=t+(e&r|n&~r)+(i>>>0)+s;return(a<<o|a>>>32-o)+e},a._hh=function(t,e,n,r,i,o,s){var a=t+(e^n^r)+(i>>>0)+s;return(a<<o|a>>>32-o)+e},a._ii=function(t,e,n,r,i,o,s){var a=t+(n^(e|~r))+(i>>>0)+s;return(a<<o|a>>>32-o)+e},a._blocksize=16,a._digestsize=16,t.exports=function(t,e){if(null==t)throw new Error("Illegal argument "+t);var n=r.wordsToBytes(a(t,e));return e&&e.asBytes?n:e&&e.asString?s.bytesToString(n):r.bytesToHex(n)}},function(t,e){var n,r;n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r={rotl:function(t,e){return t<<e|t>>>32-e},rotr:function(t,e){return t<<32-e|t>>>e},endian:function(t){if(t.constructor==Number)return 16711935&r.rotl(t,8)|4278255360&r.rotl(t,24);for(var e=0;e<t.length;e++)t[e]=r.endian(t[e]);return t},randomBytes:function(t){for(var e=[];t>0;t--)e.push(Math.floor(256*Math.random()));return e},bytesToWords:function(t){for(var e=[],n=0,r=0;n<t.length;n++,r+=8)e[r>>>5]|=t[n]<<24-r%32;return e},wordsToBytes:function(t){for(var e=[],n=0;n<32*t.length;n+=8)e.push(t[n>>>5]>>>24-n%32&255);return e},bytesToHex:function(t){for(var e=[],n=0;n<t.length;n++)e.push((t[n]>>>4).toString(16)),e.push((15&t[n]).toString(16));return e.join("")},hexToBytes:function(t){for(var e=[],n=0;n<t.length;n+=2)e.push(parseInt(t.substr(n,2),16));return e},bytesToBase64:function(t){for(var e=[],r=0;r<t.length;r+=3)for(var i=t[r]<<16|t[r+1]<<8|t[r+2],o=0;o<4;o++)8*r+6*o<=8*t.length?e.push(n.charAt(i>>>6*(3-o)&63)):e.push("=");return e.join("")},base64ToBytes:function(t){t=t.replace(/[^A-Z0-9+\/]/gi,"");for(var e=[],r=0,i=0;r<t.length;i=++r%4)0!=i&&e.push((n.indexOf(t.charAt(r-1))&Math.pow(2,-2*i+8)-1)<<2*i|n.indexOf(t.charAt(r))>>>6-2*i);return e}},t.exports=r},function(t,e){function n(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}
58
+ var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function s(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,a,l=s(t),c=1;c<arguments.length;c++){for(var h in n=Object(arguments[c]))i.call(n,h)&&(l[h]=n[h]);if(r){a=r(n);for(var u=0;u<a.length;u++)o.call(n,a[u])&&(l[a[u]]=n[a[u]])}}return l}},function(t,e){t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},function(t,e){"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},function(t,e,n){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},function(t,e,n){var r,i=n(72),o=n(218),s=n(134),a=n(135),l=n(219),c=-2,h=258,u=262,f=103,d=113,p=666;function g(t,e){return t.msg=l[e],e}function m(t){return(t<<1)-(t>4?9:0)}function v(t){for(var e=t.length;--e>=0;)t[e]=0}function b(t){var e=t.state,n=e.pending;n>t.avail_out&&(n=t.avail_out),0!==n&&(i.arraySet(t.output,e.pending_buf,e.pending_out,n,t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,0===e.pending&&(e.pending_out=0))}function w(t,e){o._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,b(t.strm)}function y(t,e){t.pending_buf[t.pending++]=e}function x(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function _(t,e){var n,r,i=t.max_chain_length,o=t.strstart,s=t.prev_length,a=t.nice_match,l=t.strstart>t.w_size-u?t.strstart-(t.w_size-u):0,c=t.window,f=t.w_mask,d=t.prev,p=t.strstart+h,g=c[o+s-1],m=c[o+s];t.prev_length>=t.good_match&&(i>>=2),a>t.lookahead&&(a=t.lookahead);do{if(c[(n=e)+s]===m&&c[n+s-1]===g&&c[n]===c[o]&&c[++n]===c[o+1]){o+=2,n++;do{}while(c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&o<p);if(r=h-(p-o),o=p-h,r>s){if(t.match_start=e,s=r,r>=a)break;g=c[o+s-1],m=c[o+s]}}}while((e=d[e&f])>l&&0!=--i);return s<=t.lookahead?s:t.lookahead}function k(t){var e,n,r,o,l,c,h,f,d,p,g=t.w_size;do{if(o=t.window_size-t.lookahead-t.strstart,t.strstart>=g+(g-u)){i.arraySet(t.window,t.window,g,g,0),t.match_start-=g,t.strstart-=g,t.block_start-=g,e=n=t.hash_size;do{r=t.head[--e],t.head[e]=r>=g?r-g:0}while(--n);e=n=g;do{r=t.prev[--e],t.prev[e]=r>=g?r-g:0}while(--n);o+=g}if(0===t.strm.avail_in)break;if(c=t.strm,h=t.window,f=t.strstart+t.lookahead,d=o,p=void 0,(p=c.avail_in)>d&&(p=d),n=0===p?0:(c.avail_in-=p,i.arraySet(h,c.input,c.next_in,p,f),1===c.state.wrap?c.adler=s(c.adler,h,p,f):2===c.state.wrap&&(c.adler=a(c.adler,h,p,f)),c.next_in+=p,c.total_in+=p,p),t.lookahead+=n,t.lookahead+t.insert>=3)for(l=t.strstart-t.insert,t.ins_h=t.window[l],t.ins_h=(t.ins_h<<t.hash_shift^t.window[l+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[l+3-1])&t.hash_mask,t.prev[l&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=l,l++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<u&&0!==t.strm.avail_in)}function S(t,e){for(var n,r;;){if(t.lookahead<u){if(k(t),t.lookahead<u&&0===e)return 1;if(0===t.lookahead)break}if(n=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==n&&t.strstart-n<=t.w_size-u&&(t.match_length=_(t,n)),t.match_length>=3)if(r=o._tr_tally(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else r=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(r&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}function C(t,e){for(var n,r,i;;){if(t.lookahead<u){if(k(t),t.lookahead<u&&0===e)return 1;if(0===t.lookahead)break}if(n=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==n&&t.prev_length<t.max_lazy_match&&t.strstart-n<=t.w_size-u&&(t.match_length=_(t,n),t.match_length<=5&&(1===t.strategy||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,r=o._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,r&&(w(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if((r=o._tr_tally(t,0,t.window[t.strstart-1]))&&w(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(r=o._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}function E(t,e,n,r,i){this.good_length=t,this.max_lazy=e,this.nice_length=n,this.max_chain=r,this.func=i}function A(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(1146),this.dyn_dtree=new i.Buf16(122),this.bl_tree=new i.Buf16(78),v(this.dyn_ltree),v(this.dyn_dtree),v(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(16),this.heap=new i.Buf16(573),v(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(573),v(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function T(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=2,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:d,t.adler=2===e.wrap?0:1,e.last_flush=0,o._tr_init(e),0):g(t,c)}function L(t){var e,n=T(t);return 0===n&&((e=t.state).window_size=2*e.w_size,v(e.head),e.max_lazy_match=r[e.level].max_lazy,e.good_match=r[e.level].good_length,e.nice_match=r[e.level].nice_length,e.max_chain_length=r[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=2,e.match_available=0,e.ins_h=0),n}function M(t,e,n,r,o,s){if(!t)return c;var a=1;if(-1===e&&(e=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>9||8!==n||r<8||r>15||e<0||e>9||s<0||s>4)return g(t,c);8===r&&(r=9);var l=new A;return t.state=l,l.strm=t,l.wrap=a,l.gzhead=null,l.w_bits=r,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=o+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+3-1)/3),l.window=new i.Buf8(2*l.w_size),l.head=new i.Buf16(l.hash_size),l.prev=new i.Buf16(l.w_size),l.lit_bufsize=1<<o+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new i.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=n,L(t)}r=[new E(0,0,0,0,(function(t,e){var n=65535;for(n>t.pending_buf_size-5&&(n=t.pending_buf_size-5);;){if(t.lookahead<=1){if(k(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var r=t.block_start+n;if((0===t.strstart||t.strstart>=r)&&(t.lookahead=t.strstart-r,t.strstart=r,w(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-u&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(w(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(w(t,!1),t.strm.avail_out),1)})),new E(4,4,8,4,S),new E(4,5,16,8,S),new E(4,6,32,32,S),new E(4,4,16,16,C),new E(8,16,32,32,C),new E(8,16,128,128,C),new E(8,32,128,256,C),new E(32,128,258,1024,C),new E(32,258,258,4096,C)],e.deflateInit=function(t,e){return M(t,e,8,15,8,0)},e.deflateInit2=M,e.deflateReset=L,e.deflateResetKeep=T,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?c:(t.state.gzhead=e,0):c},e.deflate=function(t,e){var n,i,s,l;if(!t||!t.state||e>5||e<0)return t?g(t,c):c;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||i.status===p&&4!==e)return g(t,0===t.avail_out?-5:c);if(i.strm=t,n=i.last_flush,i.last_flush=e,42===i.status)if(2===i.wrap)t.adler=0,y(i,31),y(i,139),y(i,8),i.gzhead?(y(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),y(i,255&i.gzhead.time),y(i,i.gzhead.time>>8&255),y(i,i.gzhead.time>>16&255),y(i,i.gzhead.time>>24&255),y(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),y(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(y(i,255&i.gzhead.extra.length),y(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=a(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(y(i,0),y(i,0),y(i,0),y(i,0),y(i,0),y(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),y(i,3),i.status=d);else{var u=8+(i.w_bits-8<<4)<<8;u|=(i.strategy>=2||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(u|=32),u+=31-u%31,i.status=d,x(i,u),0!==i.strstart&&(x(i,t.adler>>>16),x(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),b(t),s=i.pending,i.pending!==i.pending_buf_size));)y(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),b(t),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,y(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),b(t),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,y(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.status=f)}else i.status=f;if(i.status===f&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&b(t),i.pending+2<=i.pending_buf_size&&(y(i,255&t.adler),y(i,t.adler>>8&255),t.adler=0,i.status=d)):i.status=d),0!==i.pending){if(b(t),0===t.avail_out)return i.last_flush=-1,0}else if(0===t.avail_in&&m(e)<=m(n)&&4!==e)return g(t,-5);if(i.status===p&&0!==t.avail_in)return g(t,-5);if(0!==t.avail_in||0!==i.lookahead||0!==e&&i.status!==p){var _=2===i.strategy?function(t,e){for(var n;;){if(0===t.lookahead&&(k(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,n=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}(i,e):3===i.strategy?function(t,e){for(var n,r,i,s,a=t.window;;){if(t.lookahead<=h){if(k(t),t.lookahead<=h&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(r=a[i=t.strstart-1])===a[++i]&&r===a[++i]&&r===a[++i]){s=t.strstart+h;do{}while(r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&i<s);t.match_length=h-(s-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(n=o._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}(i,e):r[i.level].func(i,e);if(3!==_&&4!==_||(i.status=p),1===_||3===_)return 0===t.avail_out&&(i.last_flush=-1),0;if(2===_&&(1===e?o._tr_align(i):5!==e&&(o._tr_stored_block(i,0,0,!1),3===e&&(v(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),b(t),0===t.avail_out))return i.last_flush=-1,0}return 4!==e?0:i.wrap<=0?1:(2===i.wrap?(y(i,255&t.adler),y(i,t.adler>>8&255),y(i,t.adler>>16&255),y(i,t.adler>>24&255),y(i,255&t.total_in),y(i,t.total_in>>8&255),y(i,t.total_in>>16&255),y(i,t.total_in>>24&255)):(x(i,t.adler>>>16),x(i,65535&t.adler)),b(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?0:1)},e.deflateEnd=function(t){var e;return t&&t.state?42!==(e=t.state.status)&&69!==e&&73!==e&&91!==e&&e!==f&&e!==d&&e!==p?g(t,c):(t.state=null,e===d?g(t,-3):0):c},e.deflateSetDictionary=function(t,e){var n,r,o,a,l,h,u,f,d=e.length;if(!t||!t.state)return c;if(2===(a=(n=t.state).wrap)||1===a&&42!==n.status||n.lookahead)return c;for(1===a&&(t.adler=s(t.adler,e,d,0)),n.wrap=0,d>=n.w_size&&(0===a&&(v(n.head),n.strstart=0,n.block_start=0,n.insert=0),f=new i.Buf8(n.w_size),i.arraySet(f,e,d-n.w_size,n.w_size,0),e=f,d=n.w_size),l=t.avail_in,h=t.next_in,u=t.input,t.avail_in=d,t.next_in=0,t.input=e,k(n);n.lookahead>=3;){r=n.strstart,o=n.lookahead-2;do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+3-1])&n.hash_mask,n.prev[r&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=r,r++}while(--o);n.strstart=r,n.lookahead=2,k(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=h,t.input=u,t.avail_in=l,n.wrap=a,0},e.deflateInfo="pako deflate (from Nodeca project)"},function(t,e,n){var r=n(72);function i(t){for(var e=t.length;--e>=0;)t[e]=0}var o=256,s=286,a=30,l=15,c=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],h=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],f=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],d=new Array(576);i(d);var p=new Array(60);i(p);var g=new Array(512);i(g);var m=new Array(256);i(m);var v=new Array(29);i(v);var b,w,y,x=new Array(a);function _(t,e,n,r,i){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=t&&t.length}function k(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function S(t){return t<256?g[t]:g[256+(t>>>7)]}function C(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function E(t,e,n){t.bi_valid>16-n?(t.bi_buf|=e<<t.bi_valid&65535,C(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=n-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=n)}function A(t,e,n){E(t,n[2*e],n[2*e+1])}function T(t,e){var n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}function L(t,e,n){var r,i,o=new Array(16),s=0;for(r=1;r<=l;r++)o[r]=s=s+n[r-1]<<1;for(i=0;i<=e;i++){var a=t[2*i+1];0!==a&&(t[2*i]=T(o[a]++,a))}}function M(t){var e;for(e=0;e<s;e++)t.dyn_ltree[2*e]=0;for(e=0;e<a;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function R(t){t.bi_valid>8?C(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function I(t,e,n,r){var i=2*e,o=2*n;return t[i]<t[o]||t[i]===t[o]&&r[e]<=r[n]}function N(t,e,n){for(var r=t.heap[n],i=n<<1;i<=t.heap_len&&(i<t.heap_len&&I(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!I(e,r,t.heap[i],t.depth));)t.heap[n]=t.heap[i],n=i,i<<=1;t.heap[n]=r}function P(t,e,n){var r,i,s,a,l=0;if(0!==t.last_lit)do{r=t.pending_buf[t.d_buf+2*l]<<8|t.pending_buf[t.d_buf+2*l+1],i=t.pending_buf[t.l_buf+l],l++,0===r?A(t,i,e):(A(t,(s=m[i])+o+1,e),0!==(a=c[s])&&E(t,i-=v[s],a),A(t,s=S(--r),n),0!==(a=h[s])&&E(t,r-=x[s],a))}while(l<t.last_lit);A(t,256,e)}function F(t,e){var n,r,i,o=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.has_stree,c=e.stat_desc.elems,h=-1;for(t.heap_len=0,t.heap_max=573,n=0;n<c;n++)0!==o[2*n]?(t.heap[++t.heap_len]=h=n,t.depth[n]=0):o[2*n+1]=0;for(;t.heap_len<2;)o[2*(i=t.heap[++t.heap_len]=h<2?++h:0)]=1,t.depth[i]=0,t.opt_len--,a&&(t.static_len-=s[2*i+1]);for(e.max_code=h,n=t.heap_len>>1;n>=1;n--)N(t,o,n);i=c;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],N(t,o,1),r=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=r,o[2*i]=o[2*n]+o[2*r],t.depth[i]=(t.depth[n]>=t.depth[r]?t.depth[n]:t.depth[r])+1,o[2*n+1]=o[2*r+1]=i,t.heap[1]=i++,N(t,o,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var n,r,i,o,s,a,c=e.dyn_tree,h=e.max_code,u=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,p=e.stat_desc.extra_base,g=e.stat_desc.max_length,m=0;for(o=0;o<=l;o++)t.bl_count[o]=0;for(c[2*t.heap[t.heap_max]+1]=0,n=t.heap_max+1;n<573;n++)(o=c[2*c[2*(r=t.heap[n])+1]+1]+1)>g&&(o=g,m++),c[2*r+1]=o,r>h||(t.bl_count[o]++,s=0,r>=p&&(s=d[r-p]),a=c[2*r],t.opt_len+=a*(o+s),f&&(t.static_len+=a*(u[2*r+1]+s)));if(0!==m){do{for(o=g-1;0===t.bl_count[o];)o--;t.bl_count[o]--,t.bl_count[o+1]+=2,t.bl_count[g]--,m-=2}while(m>0);for(o=g;0!==o;o--)for(r=t.bl_count[o];0!==r;)(i=t.heap[--n])>h||(c[2*i+1]!==o&&(t.opt_len+=(o-c[2*i+1])*c[2*i],c[2*i+1]=o),r--)}}(t,e),L(o,h,t.bl_count)}function O(t,e,n){var r,i,o=-1,s=e[1],a=0,l=7,c=4;for(0===s&&(l=138,c=3),e[2*(n+1)+1]=65535,r=0;r<=n;r++)i=s,s=e[2*(r+1)+1],++a<l&&i===s||(a<c?t.bl_tree[2*i]+=a:0!==i?(i!==o&&t.bl_tree[2*i]++,t.bl_tree[32]++):a<=10?t.bl_tree[34]++:t.bl_tree[36]++,a=0,o=i,0===s?(l=138,c=3):i===s?(l=6,c=3):(l=7,c=4))}function D(t,e,n){var r,i,o=-1,s=e[1],a=0,l=7,c=4;for(0===s&&(l=138,c=3),r=0;r<=n;r++)if(i=s,s=e[2*(r+1)+1],!(++a<l&&i===s)){if(a<c)do{A(t,i,t.bl_tree)}while(0!=--a);else 0!==i?(i!==o&&(A(t,i,t.bl_tree),a--),A(t,16,t.bl_tree),E(t,a-3,2)):a<=10?(A(t,17,t.bl_tree),E(t,a-3,3)):(A(t,18,t.bl_tree),E(t,a-11,7));a=0,o=i,0===s?(l=138,c=3):i===s?(l=6,c=3):(l=7,c=4)}}i(x);var B=!1;function z(t,e,n,i){E(t,0+(i?1:0),3),function(t,e,n,i){R(t),C(t,n),C(t,~n),r.arraySet(t.pending_buf,t.window,e,n,t.pending),t.pending+=n}(t,e,n)}e._tr_init=function(t){B||(function(){var t,e,n,r,i,o=new Array(16);for(n=0,r=0;r<28;r++)for(v[r]=n,t=0;t<1<<c[r];t++)m[n++]=r;for(m[n-1]=r,i=0,r=0;r<16;r++)for(x[r]=i,t=0;t<1<<h[r];t++)g[i++]=r;for(i>>=7;r<a;r++)for(x[r]=i<<7,t=0;t<1<<h[r]-7;t++)g[256+i++]=r;for(e=0;e<=l;e++)o[e]=0;for(t=0;t<=143;)d[2*t+1]=8,t++,o[8]++;for(;t<=255;)d[2*t+1]=9,t++,o[9]++;for(;t<=279;)d[2*t+1]=7,t++,o[7]++;for(;t<=287;)d[2*t+1]=8,t++,o[8]++;for(L(d,287,o),t=0;t<a;t++)p[2*t+1]=5,p[2*t]=T(t,5);b=new _(d,c,257,s,l),w=new _(p,h,0,a,l),y=new _(new Array(0),u,0,19,7)}(),B=!0),t.l_desc=new k(t.dyn_ltree,b),t.d_desc=new k(t.dyn_dtree,w),t.bl_desc=new k(t.bl_tree,y),t.bi_buf=0,t.bi_valid=0,M(t)},e._tr_stored_block=z,e._tr_flush_block=function(t,e,n,r){var i,s,a=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,n=4093624447;for(e=0;e<=31;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<o;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),F(t,t.l_desc),F(t,t.d_desc),a=function(t){var e;for(O(t,t.dyn_ltree,t.l_desc.max_code),O(t,t.dyn_dtree,t.d_desc.max_code),F(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*f[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),i=t.opt_len+3+7>>>3,(s=t.static_len+3+7>>>3)<=i&&(i=s)):i=s=n+5,n+4<=i&&-1!==e?z(t,e,n,r):4===t.strategy||s===i?(E(t,2+(r?1:0),3),P(t,d,p)):(E(t,4+(r?1:0),3),function(t,e,n,r){var i;for(E(t,e-257,5),E(t,n-1,5),E(t,r-4,4),i=0;i<r;i++)E(t,t.bl_tree[2*f[i]+1],3);D(t,t.dyn_ltree,e-1),D(t,t.dyn_dtree,n-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),P(t,t.dyn_ltree,t.dyn_dtree)),M(t),r&&R(t)},e._tr_tally=function(t,e,n){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(m[n]+o+1)]++,t.dyn_dtree[2*S(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){E(t,2,3),A(t,256,d),function(t){16===t.bi_valid?(C(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},function(t,e,n){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(t,e,n){var r=n(72),i=n(134),o=n(135),s=n(221),a=n(222),l=-2,c=12,h=30;function u(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function f(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function d(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new r.Buf32(852),e.distcode=e.distdyn=new r.Buf32(592),e.sane=1,e.back=-1,0):l}function p(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,d(t)):l}function g(t,e){var n,r;return t&&t.state?(r=t.state,e<0?(n=0,e=-e):(n=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?l:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,p(t))):l}function m(t,e){var n,r;return t?(r=new f,t.state=r,r.window=null,0!==(n=g(t,e))&&(t.state=null),n):l}var v,b,w=!0;function y(t){if(w){var e;for(v=new r.Buf32(512),b=new r.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(a(1,t.lens,0,288,v,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;a(2,t.lens,0,32,b,0,t.work,{bits:5}),w=!1}t.lencode=v,t.lenbits=9,t.distcode=b,t.distbits=5}function x(t,e,n,i){var o,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new r.Buf8(s.wsize)),i>=s.wsize?(r.arraySet(s.window,e,n-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((o=s.wsize-s.wnext)>i&&(o=i),r.arraySet(s.window,e,n-i,o,s.wnext),(i-=o)?(r.arraySet(s.window,e,n-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}e.inflateReset=p,e.inflateReset2=g,e.inflateResetKeep=d,e.inflateInit=function(t){return m(t,15)},e.inflateInit2=m,e.inflate=function(t,e){var n,f,d,p,g,m,v,b,w,_,k,S,C,E,A,T,L,M,R,I,N,P,F,O,D=0,B=new r.Buf8(4),z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return l;(n=t.state).mode===c&&(n.mode=13),g=t.next_out,d=t.output,v=t.avail_out,p=t.next_in,f=t.input,m=t.avail_in,b=n.hold,w=n.bits,_=m,k=v,P=0;t:for(;;)switch(n.mode){case 1:if(0===n.wrap){n.mode=13;break}for(;w<16;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(2&n.wrap&&35615===b){n.check=0,B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0),b=0,w=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&b)<<8)+(b>>8))%31){t.msg="incorrect header check",n.mode=h;break}if(8!=(15&b)){t.msg="unknown compression method",n.mode=h;break}if(w-=4,N=8+(15&(b>>>=4)),0===n.wbits)n.wbits=N;else if(N>n.wbits){t.msg="invalid window size",n.mode=h;break}n.dmax=1<<N,t.adler=n.check=1,n.mode=512&b?10:c,b=0,w=0;break;case 2:for(;w<16;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(n.flags=b,8!=(255&n.flags)){t.msg="unknown compression method",n.mode=h;break}if(57344&n.flags){t.msg="unknown header flags set",n.mode=h;break}n.head&&(n.head.text=b>>8&1),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),b=0,w=0,n.mode=3;case 3:for(;w<32;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.head&&(n.head.time=b),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,B[2]=b>>>16&255,B[3]=b>>>24&255,n.check=o(n.check,B,4,0)),b=0,w=0,n.mode=4;case 4:for(;w<16;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.head&&(n.head.xflags=255&b,n.head.os=b>>8),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),b=0,w=0,n.mode=5;case 5:if(1024&n.flags){for(;w<16;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.length=b,n.head&&(n.head.extra_len=b),512&n.flags&&(B[0]=255&b,B[1]=b>>>8&255,n.check=o(n.check,B,2,0)),b=0,w=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((S=n.length)>m&&(S=m),S&&(n.head&&(N=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),r.arraySet(n.head.extra,f,p,S,N)),512&n.flags&&(n.check=o(n.check,f,S,p)),m-=S,p+=S,n.length-=S),n.length))break t;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===m)break t;S=0;do{N=f[p+S++],n.head&&N&&n.length<65536&&(n.head.name+=String.fromCharCode(N))}while(N&&S<m);if(512&n.flags&&(n.check=o(n.check,f,S,p)),m-=S,p+=S,N)break t}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===m)break t;S=0;do{N=f[p+S++],n.head&&N&&n.length<65536&&(n.head.comment+=String.fromCharCode(N))}while(N&&S<m);if(512&n.flags&&(n.check=o(n.check,f,S,p)),m-=S,p+=S,N)break t}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;w<16;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(b!==(65535&n.check)){t.msg="header crc mismatch",n.mode=h;break}b=0,w=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=c;break;case 10:for(;w<32;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}t.adler=n.check=u(b),b=0,w=0,n.mode=11;case 11:if(0===n.havedict)return t.next_out=g,t.avail_out=v,t.next_in=p,t.avail_in=m,n.hold=b,n.bits=w,2;t.adler=n.check=1,n.mode=c;case c:if(5===e||6===e)break t;case 13:if(n.last){b>>>=7&w,w-=7&w,n.mode=27;break}for(;w<3;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}switch(n.last=1&b,w-=1,3&(b>>>=1)){case 0:n.mode=14;break;case 1:if(y(n),n.mode=20,6===e){b>>>=2,w-=2;break t}break;case 2:n.mode=17;break;case 3:t.msg="invalid block type",n.mode=h}b>>>=2,w-=2;break;case 14:for(b>>>=7&w,w-=7&w;w<32;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if((65535&b)!=(b>>>16^65535)){t.msg="invalid stored block lengths",n.mode=h;break}if(n.length=65535&b,b=0,w=0,n.mode=15,6===e)break t;case 15:n.mode=16;case 16:if(S=n.length){if(S>m&&(S=m),S>v&&(S=v),0===S)break t;r.arraySet(d,f,p,S,g),m-=S,p+=S,v-=S,g+=S,n.length-=S;break}n.mode=c;break;case 17:for(;w<14;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(n.nlen=257+(31&b),b>>>=5,w-=5,n.ndist=1+(31&b),b>>>=5,w-=5,n.ncode=4+(15&b),b>>>=4,w-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=h;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;w<3;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.lens[z[n.have++]]=7&b,b>>>=3,w-=3}for(;n.have<19;)n.lens[z[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,F={bits:n.lenbits},P=a(0,n.lens,0,19,n.lencode,0,n.work,F),n.lenbits=F.bits,P){t.msg="invalid code lengths set",n.mode=h;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;T=(D=n.lencode[b&(1<<n.lenbits)-1])>>>16&255,L=65535&D,!((A=D>>>24)<=w);){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(L<16)b>>>=A,w-=A,n.lens[n.have++]=L;else{if(16===L){for(O=A+2;w<O;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(b>>>=A,w-=A,0===n.have){t.msg="invalid bit length repeat",n.mode=h;break}N=n.lens[n.have-1],S=3+(3&b),b>>>=2,w-=2}else if(17===L){for(O=A+3;w<O;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}w-=A,N=0,S=3+(7&(b>>>=A)),b>>>=3,w-=3}else{for(O=A+7;w<O;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}w-=A,N=0,S=11+(127&(b>>>=A)),b>>>=7,w-=7}if(n.have+S>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=h;break}for(;S--;)n.lens[n.have++]=N}}if(n.mode===h)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=h;break}if(n.lenbits=9,F={bits:n.lenbits},P=a(1,n.lens,0,n.nlen,n.lencode,0,n.work,F),n.lenbits=F.bits,P){t.msg="invalid literal/lengths set",n.mode=h;break}if(n.distbits=6,n.distcode=n.distdyn,F={bits:n.distbits},P=a(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,F),n.distbits=F.bits,P){t.msg="invalid distances set",n.mode=h;break}if(n.mode=20,6===e)break t;case 20:n.mode=21;case 21:if(m>=6&&v>=258){t.next_out=g,t.avail_out=v,t.next_in=p,t.avail_in=m,n.hold=b,n.bits=w,s(t,k),g=t.next_out,d=t.output,v=t.avail_out,p=t.next_in,f=t.input,m=t.avail_in,b=n.hold,w=n.bits,n.mode===c&&(n.back=-1);break}for(n.back=0;T=(D=n.lencode[b&(1<<n.lenbits)-1])>>>16&255,L=65535&D,!((A=D>>>24)<=w);){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(T&&0==(240&T)){for(M=A,R=T,I=L;T=(D=n.lencode[I+((b&(1<<M+R)-1)>>M)])>>>16&255,L=65535&D,!(M+(A=D>>>24)<=w);){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}b>>>=M,w-=M,n.back+=M}if(b>>>=A,w-=A,n.back+=A,n.length=L,0===T){n.mode=26;break}if(32&T){n.back=-1,n.mode=c;break}if(64&T){t.msg="invalid literal/length code",n.mode=h;break}n.extra=15&T,n.mode=22;case 22:if(n.extra){for(O=n.extra;w<O;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.length+=b&(1<<n.extra)-1,b>>>=n.extra,w-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;T=(D=n.distcode[b&(1<<n.distbits)-1])>>>16&255,L=65535&D,!((A=D>>>24)<=w);){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(0==(240&T)){for(M=A,R=T,I=L;T=(D=n.distcode[I+((b&(1<<M+R)-1)>>M)])>>>16&255,L=65535&D,!(M+(A=D>>>24)<=w);){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}b>>>=M,w-=M,n.back+=M}if(b>>>=A,w-=A,n.back+=A,64&T){t.msg="invalid distance code",n.mode=h;break}n.offset=L,n.extra=15&T,n.mode=24;case 24:if(n.extra){for(O=n.extra;w<O;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}n.offset+=b&(1<<n.extra)-1,b>>>=n.extra,w-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=h;break}n.mode=25;case 25:if(0===v)break t;if(S=k-v,n.offset>S){if((S=n.offset-S)>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=h;break}S>n.wnext?(S-=n.wnext,C=n.wsize-S):C=n.wnext-S,S>n.length&&(S=n.length),E=n.window}else E=d,C=g-n.offset,S=n.length;S>v&&(S=v),v-=S,n.length-=S;do{d[g++]=E[C++]}while(--S);0===n.length&&(n.mode=21);break;case 26:if(0===v)break t;d[g++]=n.length,v--,n.mode=21;break;case 27:if(n.wrap){for(;w<32;){if(0===m)break t;m--,b|=f[p++]<<w,w+=8}if(k-=v,t.total_out+=k,n.total+=k,k&&(t.adler=n.check=n.flags?o(n.check,d,k,g-k):i(n.check,d,k,g-k)),k=v,(n.flags?b:u(b))!==n.check){t.msg="incorrect data check",n.mode=h;break}b=0,w=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;w<32;){if(0===m)break t;m--,b+=f[p++]<<w,w+=8}if(b!==(4294967295&n.total)){t.msg="incorrect length check",n.mode=h;break}b=0,w=0}n.mode=29;case 29:P=1;break t;case h:P=-3;break t;case 31:return-4;default:return l}return t.next_out=g,t.avail_out=v,t.next_in=p,t.avail_in=m,n.hold=b,n.bits=w,(n.wsize||k!==t.avail_out&&n.mode<h&&(n.mode<27||4!==e))&&x(t,t.output,t.next_out,k-t.avail_out)?(n.mode=31,-4):(_-=t.avail_in,k-=t.avail_out,t.total_in+=_,t.total_out+=k,n.total+=k,n.wrap&&k&&(t.adler=n.check=n.flags?o(n.check,d,k,t.next_out-k):i(n.check,d,k,t.next_out-k)),t.data_type=n.bits+(n.last?64:0)+(n.mode===c?128:0)+(20===n.mode||15===n.mode?256:0),(0===_&&0===k||4===e)&&0===P&&(P=-5),P)},e.inflateEnd=function(t){if(!t||!t.state)return l;var e=t.state;return e.window&&(e.window=null),t.state=null,0},e.inflateGetHeader=function(t,e){var n;return t&&t.state?0==(2&(n=t.state).wrap)?l:(n.head=e,e.done=!1,0):l},e.inflateSetDictionary=function(t,e){var n,r=e.length;return t&&t.state?0!==(n=t.state).wrap&&11!==n.mode?l:11===n.mode&&i(1,e,r,0)!==n.check?-3:x(t,e,r,r)?(n.mode=31,-4):(n.havedict=1,0):l},e.inflateInfo="pako inflate (from Nodeca project)"},function(t,e,n){t.exports=function(t,e){var n,r,i,o,s,a,l,c,h,u,f,d,p,g,m,v,b,w,y,x,_,k,S,C,E;n=t.state,r=t.next_in,C=t.input,i=r+(t.avail_in-5),o=t.next_out,E=t.output,s=o-(e-t.avail_out),a=o+(t.avail_out-257),l=n.dmax,c=n.wsize,h=n.whave,u=n.wnext,f=n.window,d=n.hold,p=n.bits,g=n.lencode,m=n.distcode,v=(1<<n.lenbits)-1,b=(1<<n.distbits)-1;t:do{p<15&&(d+=C[r++]<<p,p+=8,d+=C[r++]<<p,p+=8),w=g[d&v];e:for(;;){if(d>>>=y=w>>>24,p-=y,0==(y=w>>>16&255))E[o++]=65535&w;else{if(!(16&y)){if(0==(64&y)){w=g[(65535&w)+(d&(1<<y)-1)];continue e}if(32&y){n.mode=12;break t}t.msg="invalid literal/length code",n.mode=30;break t}x=65535&w,(y&=15)&&(p<y&&(d+=C[r++]<<p,p+=8),x+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=C[r++]<<p,p+=8,d+=C[r++]<<p,p+=8),w=m[d&b];n:for(;;){if(d>>>=y=w>>>24,p-=y,!(16&(y=w>>>16&255))){if(0==(64&y)){w=m[(65535&w)+(d&(1<<y)-1)];continue n}t.msg="invalid distance code",n.mode=30;break t}if(_=65535&w,p<(y&=15)&&(d+=C[r++]<<p,(p+=8)<y&&(d+=C[r++]<<p,p+=8)),(_+=d&(1<<y)-1)>l){t.msg="invalid distance too far back",n.mode=30;break t}if(d>>>=y,p-=y,_>(y=o-s)){if((y=_-y)>h&&n.sane){t.msg="invalid distance too far back",n.mode=30;break t}if(k=0,S=f,0===u){if(k+=c-y,y<x){x-=y;do{E[o++]=f[k++]}while(--y);k=o-_,S=E}}else if(u<y){if(k+=c+u-y,(y-=u)<x){x-=y;do{E[o++]=f[k++]}while(--y);if(k=0,u<x){x-=y=u;do{E[o++]=f[k++]}while(--y);k=o-_,S=E}}}else if(k+=u-y,y<x){x-=y;do{E[o++]=f[k++]}while(--y);k=o-_,S=E}for(;x>2;)E[o++]=S[k++],E[o++]=S[k++],E[o++]=S[k++],x-=3;x&&(E[o++]=S[k++],x>1&&(E[o++]=S[k++]))}else{k=o-_;do{E[o++]=E[k++],E[o++]=E[k++],E[o++]=E[k++],x-=3}while(x>2);x&&(E[o++]=E[k++],x>1&&(E[o++]=E[k++]))}break}}break}}while(r<i&&o<a);r-=x=p>>3,d&=(1<<(p-=x<<3))-1,t.next_in=r,t.next_out=o,t.avail_in=r<i?i-r+5:5-(r-i),t.avail_out=o<a?a-o+257:257-(o-a),n.hold=d,n.bits=p}},function(t,e,n){var r=n(72),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(t,e,n,l,c,h,u,f){var d,p,g,m,v,b,w,y,x,_=f.bits,k=0,S=0,C=0,E=0,A=0,T=0,L=0,M=0,R=0,I=0,N=null,P=0,F=new r.Buf16(16),O=new r.Buf16(16),D=null,B=0;for(k=0;k<=15;k++)F[k]=0;for(S=0;S<l;S++)F[e[n+S]]++;for(A=_,E=15;E>=1&&0===F[E];E--);if(A>E&&(A=E),0===E)return c[h++]=20971520,c[h++]=20971520,f.bits=1,0;for(C=1;C<E&&0===F[C];C++);for(A<C&&(A=C),M=1,k=1;k<=15;k++)if(M<<=1,(M-=F[k])<0)return-1;if(M>0&&(0===t||1!==E))return-1;for(O[1]=0,k=1;k<15;k++)O[k+1]=O[k]+F[k];for(S=0;S<l;S++)0!==e[n+S]&&(u[O[e[n+S]]++]=S);if(0===t?(N=D=u,b=19):1===t?(N=i,P-=257,D=o,B-=257,b=256):(N=s,D=a,b=-1),I=0,S=0,k=C,v=h,T=A,L=0,g=-1,m=(R=1<<A)-1,1===t&&R>852||2===t&&R>592)return 1;for(;;){w=k-L,u[S]<b?(y=0,x=u[S]):u[S]>b?(y=D[B+u[S]],x=N[P+u[S]]):(y=96,x=0),d=1<<k-L,C=p=1<<T;do{c[v+(I>>L)+(p-=d)]=w<<24|y<<16|x|0}while(0!==p);for(d=1<<k-1;I&d;)d>>=1;if(0!==d?(I&=d-1,I+=d):I=0,S++,0==--F[k]){if(k===E)break;k=e[n+u[S]]}if(k>A&&(I&m)!==g){for(0===L&&(L=A),v+=C,M=1<<(T=k-L);T+L<E&&!((M-=F[T+L])<=0);)T++,M<<=1;if(R+=1<<T,1===t&&R>852||2===t&&R>592)return 1;c[g=I&m]=A<<24|T<<16|v-h|0}}return 0!==I&&(c[v+I]=k-L<<24|64<<16|0),f.bits=A,0}},function(t,e,n){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(t,e,n){var r=n(19).Buffer,i=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];function o(t){if(r.isBuffer(t))return t;var e="function"==typeof r.alloc&&"function"==typeof r.from;if("number"==typeof t)return e?r.alloc(t):new r(t);if("string"==typeof t)return e?r.from(t):new r(t);throw new Error("input must be buffer, number, or string, received "+typeof t)}function s(t,e){t=o(t),r.isBuffer(e)&&(e=e.readUInt32BE(0));for(var n=-1^~~e,s=0;s<t.length;s++)n=i[255&(n^t[s])]^n>>>8;return-1^n}function a(){return t=s.apply(null,arguments),(e=o(4)).writeInt32BE(t,0),e;var t,e}"undefined"!=typeof Int32Array&&(i=new Int32Array(i)),a.signed=function(){return s.apply(null,arguments)},a.unsigned=function(){return s.apply(null,arguments)>>>0},t.exports=a},function(t,e,n){var r=n(226),i=n(229);function o(t){return(o="function"==typeof i&&"symbol"==typeof r?function(t){return typeof t}:function(t){return t&&"function"==typeof i&&t.constructor===i&&t!==i.prototype?"symbol":typeof t})(t)}function s(e){return"function"==typeof i&&"symbol"===o(r)?t.exports=s=function(t){return o(t)}:t.exports=s=function(t){return t&&"function"==typeof i&&t.constructor===i&&t!==i.prototype?"symbol":o(t)},s(e)}t.exports=s},function(t,e,n){t.exports=n(227)},function(t,e,n){t.exports=n(228)},function(t,e,n){n(136),n(46),n(41);var r=n(95);t.exports=r.f("iterator")},function(t,e,n){t.exports=n(230)},function(t,e,n){t.exports=n(231),n(249),n(250),n(251),n(252),n(253)},function(t,e,n){n(114),n(88),n(232),n(234),n(235),n(236),n(237),n(136),n(238),n(239),n(240),n(241),n(242),n(243),n(244),n(245),n(246),n(247),n(248);var r=n(3);t.exports=r.Symbol},function(t,e,n){var r=n(0),i=n(13),o=n(4),s=n(17),a=n(110),l=n(12),c=n(24),h=n(53),u=n(14),f=n(2),d=n(22),p=n(28),g=n(62),m=n(43),v=n(44),b=n(51),w=n(137),y=n(233),x=n(138),_=n(81),k=n(21),S=n(65),C=n(20),E=n(52),A=n(61),T=n(63),L=n(50),M=n(64),R=n(6),I=n(95),N=n(11),P=n(36),F=n(42),O=n(45).forEach,D=T("hidden"),B=R("toPrimitive"),z=F.set,H=F.getterFor("Symbol"),V=Object.prototype,j=i.Symbol,U=i.JSON,q=U&&U.stringify,W=_.f,$=k.f,G=y.f,Z=S.f,X=A("symbols"),Y=A("op-symbols"),K=A("string-to-symbol-registry"),Q=A("symbol-to-string-registry"),J=A("wks"),tt=i.QObject,et=!tt||!tt.prototype||!tt.prototype.findChild,nt=s&&l((function(){return 7!=v($({},"a",{get:function(){return $(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=W(V,e);r&&delete V[e],$(t,e,n),r&&t!==V&&$(V,e,r)}:$,rt=function(t,e){var n=X[t]=v(j.prototype);return z(n,{type:"Symbol",tag:t,description:e}),s||(n.description=e),n},it=a&&"symbol"==typeof j.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof j},ot=function(t,e,n){t===V&&ot(Y,e,n),f(t);var r=g(e,!0);return f(n),c(X,r)?(n.enumerable?(c(t,D)&&t[D][r]&&(t[D][r]=!1),n=v(n,{enumerable:m(0,!1)})):(c(t,D)||$(t,D,m(1,{})),t[D][r]=!0),nt(t,r,n)):$(t,r,n)},st=function(t,e){f(t);var n=p(e),r=b(n).concat(ht(n));return O(r,(function(e){s&&!at.call(n,e)||ot(t,e,n[e])})),t},at=function(t){var e=g(t,!0),n=Z.call(this,e);return!(this===V&&c(X,e)&&!c(Y,e))&&(!(n||!c(this,e)||!c(X,e)||c(this,D)&&this[D][e])||n)},lt=function(t,e){var n=p(t),r=g(e,!0);if(n!==V||!c(X,r)||c(Y,r)){var i=W(n,r);return!i||!c(X,r)||c(n,D)&&n[D][r]||(i.enumerable=!0),i}},ct=function(t){var e=G(p(t)),n=[];return O(e,(function(t){c(X,t)||c(L,t)||n.push(t)})),n},ht=function(t){var e=t===V,n=G(e?Y:p(t)),r=[];return O(n,(function(t){!c(X,t)||e&&!c(V,t)||r.push(X[t])})),r};a||(E((j=function(){if(this instanceof j)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=M(t),n=function(t){this===V&&n.call(Y,t),c(this,D)&&c(this[D],e)&&(this[D][e]=!1),nt(this,e,m(1,t))};return s&&et&&nt(V,e,{configurable:!0,set:n}),rt(e,t)}).prototype,"toString",(function(){return H(this).tag})),S.f=at,k.f=ot,_.f=lt,w.f=y.f=ct,x.f=ht,s&&($(j.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),o||E(V,"propertyIsEnumerable",at,{unsafe:!0})),I.f=function(t){return rt(R(t),t)}),r({global:!0,wrap:!0,forced:!a,sham:!a},{Symbol:j}),O(b(J),(function(t){N(t)})),r({target:"Symbol",stat:!0,forced:!a},{for:function(t){var e=String(t);if(c(K,e))return K[e];var n=j(e);return K[e]=n,Q[n]=e,n},keyFor:function(t){if(!it(t))throw TypeError(t+" is not a symbol");if(c(Q,t))return Q[t]},useSetter:function(){et=!0},useSimple:function(){et=!1}}),r({target:"Object",stat:!0,forced:!a,sham:!s},{create:function(t,e){return void 0===e?v(t):st(v(t),e)},defineProperty:ot,defineProperties:st,getOwnPropertyDescriptor:lt}),r({target:"Object",stat:!0,forced:!a},{getOwnPropertyNames:ct,getOwnPropertySymbols:ht}),r({target:"Object",stat:!0,forced:l((function(){x.f(1)}))},{getOwnPropertySymbols:function(t){return x.f(d(t))}}),U&&r({target:"JSON",stat:!0,forced:!a||l((function(){var t=j();return"[null]"!=q([t])||"{}"!=q({a:t})||"{}"!=q(Object(t))}))},{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(u(e)||void 0!==t)&&!it(t))return h(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!it(e))return e}),r[1]=e,q.apply(U,r)}}),j.prototype[B]||C(j.prototype,B,j.prototype.valueOf),P(j,"Symbol"),L[D]=!0},function(t,e,n){var r=n(28),i=n(137).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return s&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return s.slice()}}(t):i(r(t))}},function(t,e,n){n(11)("asyncIterator")},function(t,e){},function(t,e,n){n(11)("hasInstance")},function(t,e,n){n(11)("isConcatSpreadable")},function(t,e,n){n(11)("match")},function(t,e,n){n(11)("matchAll")},function(t,e,n){n(11)("replace")},function(t,e,n){n(11)("search")},function(t,e,n){n(11)("species")},function(t,e,n){n(11)("split")},function(t,e,n){n(11)("toPrimitive")},function(t,e,n){n(11)("toStringTag")},function(t,e,n){n(11)("unscopables")},function(t,e,n){n(36)(Math,"Math",!0)},function(t,e,n){var r=n(13);n(36)(r.JSON,"JSON",!0)},function(t,e,n){n(11)("asyncDispose")},function(t,e,n){n(11)("dispose")},function(t,e,n){n(11)("observable")},function(t,e,n){n(11)("patternMatch")},function(t,e,n){n(11)("replaceAll")},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}},function(t,e,n){t.exports=n(256)},function(t,e,n){t.exports=n(257)},function(t,e,n){n(258);var r=n(3);t.exports=r.Object.getPrototypeOf},function(t,e,n){var r=n(0),i=n(12),o=n(22),s=n(66),a=n(109);r({target:"Object",stat:!0,forced:i((function(){s(1)})),sham:!a},{getPrototypeOf:function(t){return s(o(t))}})},function(t,e,n){t.exports=n(260)},function(t,e,n){n(261);var r=n(3);t.exports=r.Object.setPrototypeOf},function(t,e,n){n(0)({target:"Object",stat:!0},{setPrototypeOf:n(86)})},function(t,e,n){t.exports=n(263)},function(t,e,n){n(264);var r=n(3).Object;t.exports=function(t,e){return r.create(t,e)}},function(t,e,n){n(0)({target:"Object",stat:!0,sham:!n(17)},{create:n(44)})},function(t,e,n){var r=n(140),i=n(266),o=n(27),s=n(96),a=n(295),l=n(300);function c(e){var n="function"==typeof i?new i:void 0;return t.exports=c=function(t){if(null===t||!a(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,e)}function e(){return l(t,arguments,o(this).constructor)}return e.prototype=r(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),s(e,t)},c(e)}t.exports=c},function(t,e,n){t.exports=n(267)},function(t,e,n){t.exports=n(268),n(273),n(275),n(277),n(279),n(280),n(281),n(282),n(283),n(284),n(286),n(287),n(288),n(289),n(290),n(291),n(292),n(293),n(294)},function(t,e,n){n(269),n(88),n(46),n(41);var r=n(3);t.exports=r.Map},function(t,e,n){var r=n(270),i=n(272);t.exports=r("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),i,!0)},function(t,e,n){var r=n(0),i=n(13),o=n(141),s=n(12),a=n(20),l=n(8),c=n(89),h=n(14),u=n(36),f=n(21).f,d=n(45).forEach,p=n(17),g=n(42),m=g.set,v=g.getterFor;t.exports=function(t,e,n,g,b){var w,y=i[t],x=y&&y.prototype,_=g?"set":"add",k={};if(p&&"function"==typeof y&&(b||x.forEach&&!s((function(){(new y).entries().next()})))){w=e((function(e,n){m(c(e,w,t),{type:t,collection:new y}),null!=n&&l(n,e[_],e,g)}));var S=v(t);d(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(t){var e="add"==t||"set"==t;t in x&&(!b||"clear"!=t)&&a(w.prototype,t,(function(n,r){var i=S(this).collection;if(!e&&b&&!h(n))return"get"==t&&void 0;var o=i[t](0===n?0:n,r);return e?this:o}))})),b||f(w.prototype,"size",{get:function(){return S(this).collection.size}})}else w=n.getConstructor(e,t,g,_),o.REQUIRED=!0;return u(w,t,!1,!0),k[t]=w,r({global:!0,forced:!0},k),b||n.setStrong(w,t,g),w}},function(t,e,n){var r=n(12);t.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(t,e,n){var r=n(21).f,i=n(44),o=n(117),s=n(15),a=n(89),l=n(8),c=n(80),h=n(118),u=n(17),f=n(141).fastKey,d=n(42),p=d.set,g=d.getterFor;t.exports={getConstructor:function(t,e,n,c){var h=t((function(t,r){a(t,h,e),p(t,{type:e,index:i(null),first:void 0,last:void 0,size:0}),u||(t.size=0),null!=r&&l(r,t[c],t,n)})),d=g(e),m=function(t,e,n){var r,i,o=d(t),s=v(t,e);return s?s.value=n:(o.last=s={index:i=f(e,!0),key:e,value:n,previous:r=o.last,next:void 0,removed:!1},o.first||(o.first=s),r&&(r.next=s),u?o.size++:t.size++,"F"!==i&&(o.index[i]=s)),t},v=function(t,e){var n,r=d(t),i=f(e);if("F"!==i)return r.index[i];for(n=r.first;n;n=n.next)if(n.key==e)return n};return o(h.prototype,{clear:function(){for(var t=d(this),e=t.index,n=t.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=void 0),delete e[n.index],n=n.next;t.first=t.last=void 0,u?t.size=0:this.size=0},delete:function(t){var e=d(this),n=v(this,t);if(n){var r=n.next,i=n.previous;delete e.index[n.index],n.removed=!0,i&&(i.next=r),r&&(r.previous=i),e.first==n&&(e.first=r),e.last==n&&(e.last=i),u?e.size--:this.size--}return!!n},forEach:function(t){for(var e,n=d(this),r=s(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:n.first;)for(r(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!v(this,t)}}),o(h.prototype,n?{get:function(t){var e=v(this,t);return e&&e.value},set:function(t,e){return m(this,0===t?0:t,e)}}:{add:function(t){return m(this,t=0===t?0:t,t)}}),u&&r(h.prototype,"size",{get:function(){return d(this).size}}),h},setStrong:function(t,e,n){var r=e+" Iterator",i=g(e),o=g(r);c(t,e,(function(t,e){p(this,{type:r,target:t,state:i(t),kind:e,last:void 0})}),(function(){for(var t=o(this),e=t.kind,n=t.last;n&&n.removed;)n=n.previous;return t.target&&(t.last=n=n?n.next:t.state.first)?"keys"==e?{value:n.key,done:!1}:"values"==e?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),h(e)}}},function(t,e,n){n(0)({target:"Map",stat:!0},{from:n(274)})},function(t,e,n){var r=n(5),i=n(15),o=n(8);t.exports=function(t){var e,n,s,a,l=arguments.length,c=l>1?arguments[1]:void 0;return r(this),(e=void 0!==c)&&r(c),null==t?new this:(n=[],e?(s=0,a=i(c,l>2?arguments[2]:void 0,2),o(t,(function(t){n.push(a(t,s++))}))):o(t,n.push,n),new this(n))}},function(t,e,n){n(0)({target:"Map",stat:!0},{of:n(276)})},function(t,e,n){t.exports=function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)}},function(t,e,n){var r=n(0),i=n(4),o=n(278);r({target:"Map",proto:!0,real:!0,forced:i},{deleteAll:function(){return o.apply(this,arguments)}})},function(t,e,n){var r=n(2),i=n(5);t.exports=function(){for(var t,e=r(this),n=i(e.delete),o=!0,s=0,a=arguments.length;s<a;s++)t=n.call(e,arguments[s]),o=o&&t;return!!o}},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(15),a=n(25),l=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{every:function(t){var e=o(this),n=a(e),r=s(t,arguments.length>1?arguments[1]:void 0,3);return!l(n,(function(t,n){if(!r(n,t,e))return l.stop()}),void 0,!0,!0).stopped}})},function(t,e,n){var r=n(0),i=n(4),o=n(26),s=n(2),a=n(5),l=n(15),c=n(55),h=n(25),u=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{filter:function(t){var e=s(this),n=h(e),r=l(t,arguments.length>1?arguments[1]:void 0,3),i=new(c(e,o("Map"))),f=a(i.set);return u(n,(function(t,n){r(n,t,e)&&f.call(i,t,n)}),void 0,!0,!0),i}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(15),a=n(25),l=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{find:function(t){var e=o(this),n=a(e),r=s(t,arguments.length>1?arguments[1]:void 0,3);return l(n,(function(t,n){if(r(n,t,e))return l.stop(n)}),void 0,!0,!0).result}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(15),a=n(25),l=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{findKey:function(t){var e=o(this),n=a(e),r=s(t,arguments.length>1?arguments[1]:void 0,3);return l(n,(function(t,n){if(r(n,t,e))return l.stop(t)}),void 0,!0,!0).result}})},function(t,e,n){var r=n(0),i=n(8),o=n(5);r({target:"Map",stat:!0},{groupBy:function(t,e){var n=new this;o(e);var r=o(n.has),s=o(n.get),a=o(n.set);return i(t,(function(t){var i=e(t);r.call(n,i)?s.call(n,i).push(t):a.call(n,i,[t])})),n}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(25),a=n(285),l=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{includes:function(t){return l(s(o(this)),(function(e,n){if(a(n,t))return l.stop()}),void 0,!0,!0).stopped}})},function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},function(t,e,n){var r=n(0),i=n(8),o=n(5);r({target:"Map",stat:!0},{keyBy:function(t,e){var n=new this;o(e);var r=o(n.set);return i(t,(function(t){r.call(n,e(t),t)})),n}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(25),a=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{keyOf:function(t){return a(s(o(this)),(function(e,n){if(n===t)return a.stop(e)}),void 0,!0,!0).result}})},function(t,e,n){var r=n(0),i=n(4),o=n(26),s=n(2),a=n(5),l=n(15),c=n(55),h=n(25),u=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{mapKeys:function(t){var e=s(this),n=h(e),r=l(t,arguments.length>1?arguments[1]:void 0,3),i=new(c(e,o("Map"))),f=a(i.set);return u(n,(function(t,n){f.call(i,r(n,t,e),n)}),void 0,!0,!0),i}})},function(t,e,n){var r=n(0),i=n(4),o=n(26),s=n(2),a=n(5),l=n(15),c=n(55),h=n(25),u=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{mapValues:function(t){var e=s(this),n=h(e),r=l(t,arguments.length>1?arguments[1]:void 0,3),i=new(c(e,o("Map"))),f=a(i.set);return u(n,(function(t,n){f.call(i,t,r(n,t,e))}),void 0,!0,!0),i}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(5),a=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{merge:function(t){for(var e=o(this),n=s(e.set),r=0;r<arguments.length;)a(arguments[r++],n,e,!0);return e}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(5),a=n(25),l=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{reduce:function(t){var e,n,r=o(this),i=a(r);if(s(t),arguments.length>1)e=arguments[1];else{if((n=i.next()).done)throw TypeError("Reduce of empty map with no initial value");e=n.value[1]}return l(i,(function(n,i){e=t(e,i,n,r)}),void 0,!0,!0),e}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(15),a=n(25),l=n(8);r({target:"Map",proto:!0,real:!0,forced:i},{some:function(t){var e=o(this),n=a(e),r=s(t,arguments.length>1?arguments[1]:void 0,3);return l(n,(function(t,n){if(r(n,t,e))return l.stop()}),void 0,!0,!0).stopped}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(5);r({target:"Map",proto:!0,real:!0,forced:i},{update:function(t,e){var n=o(this),r=arguments.length;s(e);var i=n.has(t);if(!i&&r<3)throw TypeError("Updating absent value");var a=i?n.get(t):s(r>2?arguments[2]:void 0)(t,n);return n.set(t,e(a,t,n)),n}})},function(t,e,n){var r=n(0),i=n(4),o=n(2),s=n(5);r({target:"Map",proto:!0,real:!0,forced:i},{updateOrInsert:function(t,e,n){var r=o(this);s(e),s(n);var i=r.has(t)?e(r.get(t)):n();return r.set(t,i),i}})},function(t,e,n){var r=n(296);t.exports=function(t){var e;return-1!==r(e=Function.toString.call(t)).call(e,"[native code]")}},function(t,e,n){t.exports=n(297)},function(t,e,n){t.exports=n(143)},function(t,e,n){n(299);var r=n(18);t.exports=r("Array").indexOf},function(t,e,n){var r=n(0),i=n(82).indexOf,o=n(54),s=[].indexOf,a=!!s&&1/[1].indexOf(1,-0)<0,l=o("indexOf");r({target:"Array",proto:!0,forced:a||l},{indexOf:function(t){return a?s.apply(this,arguments)||0:i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(301),i=n(305),o=n(96);function s(e,n,a){return function(){if("undefined"==typeof Reflect||!i)return!1;if(i.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(i(Date,[],(function(){}))),!0}catch(t){return!1}}()?t.exports=s=i:t.exports=s=function(t,e,n){var i=[null];i.push.apply(i,e);var s=new(r(Function).apply(t,i));return n&&o(s,n.prototype),s},s.apply(null,arguments)}t.exports=s},function(t,e,n){t.exports=n(302)},function(t,e,n){t.exports=n(144)},function(t,e,n){n(304);var r=n(18);t.exports=r("Function").bind},function(t,e,n){n(0)({target:"Function",proto:!0},{bind:n(145)})},function(t,e,n){t.exports=n(306)},function(t,e,n){t.exports=n(307)},function(t,e,n){n(308);var r=n(3);t.exports=r.Reflect.construct},function(t,e,n){var r=n(0),i=n(26),o=n(5),s=n(2),a=n(14),l=n(44),c=n(145),h=n(12),u=i("Reflect","construct"),f=h((function(){function t(){}return!(u((function(){}),[],t)instanceof t)})),d=!h((function(){u((function(){}))})),p=f||d;r({target:"Reflect",stat:!0,forced:p,sham:p},{construct:function(t,e){o(t),s(e);var n=arguments.length<3?t:o(arguments[2]);if(d&&!f)return u(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(c.apply(t,r))}var i=n.prototype,h=l(a(i)?i:Object.prototype),p=Function.apply.call(t,h,e);return a(p)?p:h}})},function(t,e,n){(function(e){var r=n(1),i=r(n(97)),o=r(n(7)),s=r(n(10)),a=n(9).CramMalformedError,l=n(73),c=n(315),h=n(316),u=n(317),f=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;(0,o.default)(this,t),this._buffer=e,this._position=n,this.length=e.length}return(0,s.default)(t,[{key:"get",value:function(){var t=this._buffer[this._position];return this._position+=1,t}},{key:"getByte",value:function(){return this.get()}},{key:"getByteAt",value:function(t){return this._buffer[t]}},{key:"position",value:function(){return this._position}},{key:"put",value:function(t){return this._buffer[this._position]=t,this._position+=1,t}},{key:"putAt",value:function(t,e){return this._buffer[t]=e,e}},{key:"setPosition",value:function(t){return this._position=t,t}},{key:"getInt",value:function(){var t=this._buffer.readInt32LE(this._position);return this._position+=4,t}},{key:"remaining",value:function(){return this._buffer.length-this._position}}]),t}();t.exports={uncompress:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(0===t.length)return(0,i.default)(n).call(n,0),n;var o=new f(t,r),s=o.get();if(0!==s&&1!==s)throw new a("Invalid rANS order ".concat(s));if(o.getInt()!==o.remaining()-4)throw new a("Incorrect input length.");var d=o.getInt(),p=new f(n||e.allocUnsafe(d));if(p.length<d)throw new a("Output buffer too small to fit ".concat(d," bytes."));switch(s){case 0:return function(t,e){for(var n=new l.AriDecoder,r=new Array(256),i=0;i<r.length;i+=1)r[i]=new l.Symbol;return c.readStatsO0(t,n,r),h.uncompress(t,n,r,e),e}(o,p);case 1:return function(t,e){for(var n=new Array(256),r=0;r<n.length;r+=1)n[r]=new l.AriDecoder;for(var i=new Array(256),o=0;o<i.length;o+=1){i[o]=new Array(256);for(var s=0;s<i[o].length;s+=1)i[o][s]=new l.Symbol}return c.readStatsO1(t,n,i),u.uncompress(t,e,n,i),e}(o,p);default:throw new a("Invalid rANS order: ".concat(s))}}}}).call(this,n(19).Buffer)},function(t,e,n){t.exports=n(311)},function(t,e,n){var r=n(312),i=Array.prototype;t.exports=function(t){var e=t.fill;return t===i||t instanceof Array&&e===i.fill?r:e}},function(t,e,n){n(313);var r=n(18);t.exports=r("Array").fill},function(t,e,n){var r=n(0),i=n(314),o=n(78);r({target:"Array",proto:!0},{fill:i}),o("fill")},function(t,e,n){var r=n(22),i=n(84),o=n(29);t.exports=function(t){for(var e=r(this),n=o(e.length),s=arguments.length,a=i(s>1?arguments[1]:void 0,n),l=s>2?arguments[2]:void 0,c=void 0===l?n:i(l,n);c>a;)e[a++]=t;return e}},function(t,e,n){var r=n(1)(n(97)),i=n(9).CramMalformedError,o=n(74),s=n(73);function a(t){if(!t)throw new i("assertion failed")}t.exports={readStatsO0:function(t,e,n){var i=0,l=0,c=255&t.get();do{var h;null==e.fc[c]&&(e.fc[c]=new s.FC),e.fc[c].F=255&t.get(),e.fc[c].F>=128&&(e.fc[c].F&=-129,e.fc[c].F=(127&e.fc[c].F)<<8|255&t.get()),e.fc[c].C=l,s.symbolInit(n[c],e.fc[c].C,e.fc[c].F),e.R||(e.R=new Array(o.TOTFREQ)),(0,r.default)(h=e.R).call(h,c,l,l+e.fc[c].F),l+=e.fc[c].F,0===i&&c+1===(255&t.getByteAt(t.position()))?(c=255&t.get(),i=255&t.get()):0!==i?(i-=1,c+=1):c=255&t.get()}while(0!==c);a(l<o.TOTFREQ)},readStatsO1:function(t,e,n){var i=0,l=255&t.get();do{var c=0,h=0,u=255&t.get();null==e[l]&&(e[l]=new s.AriDecoder);do{var f;null==e[l].fc[u]&&(e[l].fc[u]=new s.FC),e[l].fc[u].F=255&t.get(),e[l].fc[u].F>=128&&(e[l].fc[u].F&=-129,e[l].fc[u].F=(127&e[l].fc[u].F)<<8|255&t.get()),e[l].fc[u].C=h,0===e[l].fc[u].F&&(e[l].fc[u].F=o.TOTFREQ),null==n[l][u]&&(n[l][u]=new s.RansDecSymbol),s.symbolInit(n[l][u],e[l].fc[u].C,e[l].fc[u].F),null==e[l].R&&(e[l].R=new Array(o.TOTFREQ)),(0,r.default)(f=e[l].R).call(f,u,h,h+e[l].fc[u].F),a((h+=e[l].fc[u].F)<=o.TOTFREQ),0===c&&u+1===(255&t.getByteAt(t.position()))?(u=255&t.get(),c=255&t.get()):0!==c?(c-=1,u+=1):u=255&t.get()}while(0!==u);0===i&&l+1===(255&t.getByteAt(t.position()))?(l=255&t.get(),i=255&t.get()):0!==i?(i-=1,l+=1):l=255&t.get()}while(0!==l)}}},function(t,e,n){var r=n(9).CramMalformedError,i=n(74),o=n(73);t.exports={uncompress:function(t,e,n,s){for(var a,l=t.getInt(),c=t.getInt(),h=t.getInt(),u=t.getInt(),f=s.remaining(),d=-4&f,p=0;p<d;p+=4){var g=e.R[o.get(l,i.TF_SHIFT)],m=e.R[o.get(c,i.TF_SHIFT)],v=e.R[o.get(h,i.TF_SHIFT)],b=e.R[o.get(u,i.TF_SHIFT)];s.putAt(p,g),s.putAt(p+1,m),s.putAt(p+2,v),s.putAt(p+3,b),l=o.advanceSymbolStep(l,n[255&g],i.TF_SHIFT),c=o.advanceSymbolStep(c,n[255&m],i.TF_SHIFT),h=o.advanceSymbolStep(h,n[255&v],i.TF_SHIFT),u=o.advanceSymbolStep(u,n[255&b],i.TF_SHIFT),l=o.renormalize(l,t),c=o.renormalize(c,t),h=o.renormalize(h,t),u=o.renormalize(u,t)}switch(s.setPosition(d),3&f){case 0:break;case 1:a=e.R[o.get(l,i.TF_SHIFT)],o.advanceSymbol(l,t,n[255&a],i.TF_SHIFT),s.put(a);break;case 2:a=e.R[o.get(l,i.TF_SHIFT)],o.advanceSymbol(l,t,n[255&a],i.TF_SHIFT),s.put(a),a=e.R[o.get(c,i.TF_SHIFT)],o.advanceSymbol(c,t,n[255&a],i.TF_SHIFT),s.put(a);break;case 3:a=e.R[o.get(l,i.TF_SHIFT)],o.advanceSymbol(l,t,n[255&a],i.TF_SHIFT),s.put(a),a=e.R[o.get(c,i.TF_SHIFT)],o.advanceSymbol(c,t,n[255&a],i.TF_SHIFT),s.put(a),a=e.R[o.get(h,i.TF_SHIFT)],o.advanceSymbol(h,t,n[255&a],i.TF_SHIFT),s.put(a);break;default:throw new r("invalid output size encountered during rANS decoding")}s.setPosition(0)}}},function(t,e,n){var r=n(74),i=n(73);t.exports={uncompress:function(t,e,n,o){for(var s=e.remaining(),a=t.getInt(),l=t.getInt(),c=t.getInt(),h=t.getInt(),u=s>>2,f=0,d=u,p=2*u,g=3*u,m=0,v=0,b=0,w=0;f<u;f+=1,d+=1,p+=1,g+=1){var y=255&n[m].R[i.get(a,r.TF_SHIFT)],x=255&n[v].R[i.get(l,r.TF_SHIFT)],_=255&n[b].R[i.get(c,r.TF_SHIFT)],k=255&n[w].R[i.get(h,r.TF_SHIFT)];e.putAt(f,y),e.putAt(d,x),e.putAt(p,_),e.putAt(g,k),a=i.advanceSymbolStep(a,o[m][y],r.TF_SHIFT),l=i.advanceSymbolStep(l,o[v][x],r.TF_SHIFT),c=i.advanceSymbolStep(c,o[b][_],r.TF_SHIFT),h=i.advanceSymbolStep(h,o[w][k],r.TF_SHIFT),a=i.renormalize(a,t),l=i.renormalize(l,t),c=i.renormalize(c,t),h=i.renormalize(h,t),m=y,v=x,b=_,w=k}for(;g<s;g+=1){var S=255&n[w].R[i.get(h,r.TF_SHIFT)];e.putAt(g,S),h=i.advanceSymbol(h,t,o[w][S],r.TF_SHIFT),w=S}}}},function(t,e,n){var r=n(1),i=r(n(98)),o=r(n(16)),s=r(n(75)),a=n(326).Parser,l=(new a).itf8(),c={parser:(new a).string("magic",{length:4}).uint8("majorVersion").uint8("minorVersion").string("fileId",{length:20,stripNull:!0}),maxLength:26},h={parser:(new a).uint8("compressionMethod",{formatter:function(t){var e=["raw","gzip","bzip2","lzma","rans"][t];if(!e)throw new Error("compression method number ".concat(t," not implemented"));return e}}).uint8("contentType",{formatter:function(t){var e=["FILE_HEADER","COMPRESSION_HEADER","MAPPED_SLICE_HEADER","UNMAPPED_SLICE_HEADER","EXTERNAL_DATA","CORE_DATA"][t];if(!e)throw new Error("invalid block content type id ".concat(t));return e}}).itf8("contentId").itf8("compressedSize").itf8("uncompressedSize"),maxLength:17},u={parser:(new a).uint32("crc32"),maxLength:4},f=(new a).itf8("size").buffer("ents",{length:"size",formatter:function(t){function e(e,n){for(var r=t.toString("utf8",e,n),i=[],o=0;o<r.length;o+=3)i.push(r.substr(o,3));return i}var n,r=[],i=0;for(n=0;n<t.length;n+=1)t[n]||(r.push(e(i,n)),i=n+1);return n>i&&r.push(e(i,n)),r}}),d=(new a).uint8(null,{formatter:function(t){return!!t}}),p=(new a).itf8("mapSize").itf8("mapCount").array("ents",{length:"mapCount",type:(new a).string("key",{length:2,stripNull:!1}).choice("value",{tag:"key",choices:{MI:d,UI:d,PI:d,RN:d,AP:d,RR:d,SM:(new a).array(null,{type:"uint8",length:5}),TD:(new a).nest(null,{type:f,formatter:function(t){return t.ents}})}})});function g(t){for(var e={},n=0;n<t.ents.length;n+=1){var r=t.ents[n],i=r.key,o=r.value;e[i]&&console.warn("duplicate key ".concat(i," in map")),e[i]=o}return e}var m={cramFileDefinition:c,cramBlockHeader:h,cramBlockCrc32:u},v={cramUnmappedSliceHeader:function(t){var e=0,n=(new a).itf8("numRecords");return e+=5,t>=3?(n=n.ltf8("recordCounter"),e+=9):2===t&&(n=n.itf8("recordCounter"),e+=5),n=n.itf8("numBlocks").itf8("numContentIds").array("contentIds",{type:l,length:"numContentIds"}),e+=10,t>=2&&(n=n.array("md5",{type:"uint8",length:16}),e+=16),{parser:n,maxLength:function(t){return e+5*t}}},cramMappedSliceHeader:function(t){var e=(new a).itf8("refSeqId").itf8("refSeqStart").itf8("refSeqSpan").itf8("numRecords"),n=20;return t>=3?(e=e.ltf8("recordCounter"),n+=9):2===t&&(e=e.itf8("recordCounter"),n+=5),e=e.itf8("numBlocks").itf8("numContentIds").array("contentIds",{type:l,length:"numContentIds"}).itf8("refBaseBlockId"),n+=15,t>=2&&(e=e.array("md5",{type:"uint8",length:16}),n+=16),{parser:e,maxLength:function(t){return n+5*t}}},cramEncoding:function(t){return{parser:(new a).namely("cramEncoding").itf8("codecId").itf8("parametersBytes").choice("parameters",{tag:"codecId",choices:{0:new a,1:(new a).itf8("blockContentId"),2:(new a).itf8("offset").itf8("M"),3:a.start().itf8("numCodes").array("symbols",{length:"numCodes",type:l}).itf8("numLengths").array("bitLengths",{length:"numLengths",type:l}),4:a.start().nest("lengthsEncoding",{type:"cramEncoding"}).nest("valuesEncoding",{type:"cramEncoding"}),5:(new a).uint8("stopByte")[t>1?"itf8":"int"]("blockContentId"),6:(new a).itf8("offset").itf8("length"),7:(new a).itf8("offset").itf8("K"),8:(new a).itf8("offset").itf8("log2m"),9:(new a).itf8("offset")}})}},cramDataSeriesEncodingMap:function(t){return(new a).itf8("mapSize").itf8("mapCount").array("ents",{length:"mapCount",type:(new a).string("key",{length:2,stripNull:!1}).nest("value",{type:this.cramEncoding(t).parser})})},cramTagEncodingMap:function(t){return(new a).itf8("mapSize").itf8("mapCount").array("ents",{length:"mapCount",type:(new a).itf8("key",{formatter:function(t){return String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(255&t)}}).nest("value",{type:this.cramEncoding(t).parser})})},cramCompressionHeader:function(t){var e=new a;return{parser:e=e.nest("preservation",{type:p,formatter:g}).nest("dataSeriesEncoding",{type:this.cramDataSeriesEncodingMap(t),formatter:g}).nest("tagEncoding",{type:this.cramTagEncodingMap(t),formatter:g})}},cramContainerHeader1:function(t){var e=(new a).int32("length").itf8("refSeqId").itf8("refSeqStart").itf8("alignmentSpan").itf8("numRecords"),n=24;return t>=3?(e=e.ltf8("recordCounter"),n+=9):2===t&&(e=e.itf8("recordCounter"),n+=5),t>1&&(e=e.ltf8("numBases"),n+=9),{parser:e=e.itf8("numBlocks").itf8("numLandmarks"),maxLength:n+=10}},cramContainerHeader2:function(t){var e=(new a).itf8("numLandmarks").array("landmarks",{type:(new a).itf8(),length:"numLandmarks"}),n=0;return t>=3&&(e=e.uint32("crc32"),n=4),{parser:e,maxLength:function(t){return 5+5*t+n}}}};t.exports={cramFileDefinition:c,getSectionParsers:function(t){var e,n=(0,s.default)({},m);return(0,o.default)(e=(0,i.default)(v)).call(e,(function(e){n[e]=v[e](t)})),n}}},function(t,e,n){t.exports=n(320)},function(t,e,n){n(321);var r=n(3);t.exports=r.Object.keys},function(t,e,n){var r=n(0),i=n(22),o=n(51);r({target:"Object",stat:!0,forced:n(12)((function(){o(1)}))},{keys:function(t){return o(i(t))}})},function(t,e,n){t.exports=n(323)},function(t,e,n){n(324);var r=n(3);t.exports=r.Object.assign},function(t,e,n){var r=n(0),i=n(325);r({target:"Object",stat:!0,forced:Object.assign!==i},{assign:i})},function(t,e,n){var r=n(17),i=n(12),o=n(51),s=n(138),a=n(65),l=n(22),c=n(60),h=Object.assign;t.exports=!h||i((function(){var t={},e={},n=Symbol();return t[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=h({},t)[n]||"abcdefghijklmnopqrst"!=o(h({},e)).join("")}))?function(t,e){for(var n=l(t),i=arguments.length,h=1,u=s.f,f=a.f;i>h;)for(var d,p=c(arguments[h++]),g=u?o(p).concat(u(p)):o(p),m=g.length,v=0;m>v;)d=g[v++],r&&!f.call(p,d)||(n[d]=p[d]);return n}:h},function(t,e,n){(function(t){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i=n(327),o=n(328).Context,s=n(146);"undefined"!=typeof window&&(window.Buffer=t),"undefined"!=typeof self&&(self.Buffer=t);var a={UInt8:1,UInt16LE:2,UInt16BE:2,UInt32LE:4,UInt32BE:4,Int8:1,Int16LE:2,Int16BE:2,Int32LE:4,Int32BE:4,FloatLE:4,FloatBE:4,DoubleLE:8,DoubleBE:8,UInt64:8,Int64:8},l={},c=[];!function(){var t;for(t=1;t<=32;t++)c.push(t)}();var h={};Object.keys(a).concat(Object.keys({String:null,Buffer:null,Array:null,Skip:null,Choice:null,Nest:null,Bit:null,Itf8:null,Ltf8:null})).forEach((function(t){h[t.toLowerCase()]=t}));var u=function(){this.varName="",this.type="",this.options={},this.next=null,this.head=null,this.compiled=null,this.endian="le",this.constructorFn=null,this.alias=null};u.start=function(){return new u},Object.keys(a).forEach((function(t){u.prototype[t.toLowerCase()]=function(e,n){return this.setNextParser(t.toLowerCase(),e,n)};var e=t.replace(/BE|LE/,"").toLowerCase();e in u.prototype||(u.prototype[e]=function(t,n){return this[e+this.endian](t,n)})})),c.forEach((function(t){u.prototype["bit".concat(t.toString())]=function(e,n){return n||(n={}),n.length=t,this.setNextParser("bit",e,n)}})),u.prototype.namely=function(t){return l[t]=this,this.alias=t,this},u.prototype.skip=function(t,e){if(e&&e.assert)throw new Error("assert option on skip is not allowed.");return this.setNextParser("skip","",{length:t})},u.prototype.string=function(t,e){if(!e.zeroTerminated&&!e.length&&!e.greedy)throw new Error("Neither length, zeroTerminated, nor greedy is defined for string.");if((e.zeroTerminated||e.length)&&e.greedy)throw new Error("greedy is mutually exclusive with length and zeroTerminated for string.");if(e.stripNull&&!e.length&&!e.greedy)throw new Error("Length or greedy must be defined if stripNull is defined.");return e.encoding=e.encoding||"utf8",this.setNextParser("string",t,e)},u.prototype.buffer=function(t,e){if(!e.length&&!e.readUntil)throw new Error("Length nor readUntil is defined in buffer parser");return this.setNextParser("buffer",t,e)},u.prototype.array=function(t,e){if(!e.readUntil&&!e.length&&!e.lengthInBytes)throw new Error("Length option of array is not defined.");if(!e.type)throw new Error("Type option of array is not defined.");if("string"==typeof e.type&&!l[e.type]&&Object.keys(a).indexOf(h[e.type])<0)throw new Error('Specified primitive type "'.concat(e.type,'" is not supported.'));return this.setNextParser("array",t,e)},u.prototype.choice=function(t,e){if(1===arguments.length&&"object"===r(t)&&(e=t,t=null),!e.tag)throw new Error("Tag option of array is not defined.");if(!e.choices)throw new Error("Choices option of array is not defined.");return Object.keys(e.choices).forEach((function(n){if(!e.choices[n])throw new Error("Choice Case ".concat(n," of ").concat(t," is not valid."));if("string"==typeof e.choices[n]&&!l[e.choices[n]]&&Object.keys(a).indexOf(h[e.choices[n]])<0)throw new Error('Specified primitive type "'.concat(e.choices[n],'" is not supported.'))}),this),this.setNextParser("choice",t,e)},u.prototype.nest=function(t,e){if(1===arguments.length&&"object"===r(t)&&(e=t,t=null),!e.type)throw new Error("Type option of nest is not defined.");if(!(e.type instanceof u||l[e.type]))throw new Error("Type option of nest must be a Parser object.");if(!(e.type instanceof u||t))throw new Error("options.type must be a object if variable name is omitted.");return this.setNextParser("nest",t,e)},u.prototype.endianess=function(t){switch(t.toLowerCase()){case"little":this.endian="le";break;case"big":this.endian="be";break;default:throw new Error("Invalid endianess: ".concat(t))}return this},u.prototype.create=function(t){if(!(t instanceof Function))throw new Error("Constructor must be a Function object.");return this.constructorFn=t,this},u.prototype.getCode=function(){var t=new o;return t.pushCode("if (!Buffer.isBuffer(buffer)) {"),t.generateError('"argument buffer is not a Buffer object"'),t.pushCode("}"),this.alias?this.addAliasedCode(t):this.addRawCode(t),this.alias?t.pushCode("return {0}(0)","___parser_"+this.alias):t.pushCode("return { offset: offset, result: vars };"),t.code},u.prototype.addRawCode=function(t){t.pushCode("var offset = 0;"),this.constructorFn?t.pushCode("var vars = new constructorFn();"):t.pushCode("var vars = {};"),this.generate(t),this.resolveReferences(t),t.pushCode("return { offset: offset, result: vars };")},u.prototype.addAliasedCode=function(t){return t.pushCode("function {0}(offset) {","___parser_"+this.alias),this.constructorFn?t.pushCode("var vars = new constructorFn();"):t.pushCode("var vars = {};"),this.generate(t),t.markResolved(this.alias),this.resolveReferences(t),t.pushCode("return { offset: offset, result: vars };"),t.pushCode("}"),t},u.prototype.resolveReferences=function(t){var e=t.getUnresolvedReferences();t.markRequested(e),e.forEach((function(e){l[e].addAliasedCode(t)}))},u.prototype.compile=function(){var t="(function(buffer, constructorFn, Long) { ".concat(this.getCode()," })");this.compiled=i.runInThisContext(t)},u.prototype.sizeOf=function(){var t=NaN;if(Object.keys(a).indexOf(this.type)>=0)t=a[this.type];else if("String"===this.type&&"number"==typeof this.options.length)t=this.options.length;else if("Buffer"===this.type&&"number"==typeof this.options.length)t=this.options.length;else if("Array"===this.type&&"number"==typeof this.options.length){var e=NaN;"string"==typeof this.options.type?e=a[h[this.options.type]]:this.options.type instanceof u&&(e=this.options.type.sizeOf()),t=this.options.length*e}else"Skip"===this.type?t=this.options.length:"Nest"===this.type?t=this.options.type.sizeOf():this.type||(t=0);return this.next&&(t+=this.next.sizeOf()),t},u.prototype.parse=function(t){return this.compiled||this.compile(),this.compiled(t,this.constructorFn,s)},u.prototype.setNextParser=function(t,e,n){var r=new u;return r.type=h[t],r.varName=e,r.options=n||r.options,r.endian=this.endian,this.head?this.head.next=r:this.next=r,this.head=r,this},u.prototype.generate=function(t){this.type&&(this["generate".concat(this.type)](t),this.generateAssert(t));var e=t.generateVariable(this.varName);return this.options.formatter&&this.generateFormatter(t,e,this.options.formatter),this.generateNext(t)},u.prototype.generateAssert=function(t){if(this.options.assert){var e=t.generateVariable(this.varName);switch(r(this.options.assert)){case"function":t.pushCode("if (!({0}).call(vars, {1})) {",this.options.assert,e);break;case"number":t.pushCode("if ({0} !== {1}) {",this.options.assert,e);break;case"string":t.pushCode('if ("{0}" !== {1}) {',this.options.assert,e);break;default:throw new Error("Assert option supports only strings, numbers and assert functions.")}t.generateError('"Assert error: {0} is " + {0}',e),t.pushCode("}")}},u.prototype.generateNext=function(t){return this.next&&(t=this.next.generate(t)),t},Object.keys(a).forEach((function(t){u.prototype["generate".concat(t)]=function(e){"UInt64"===t?e.pushCode("{0} = Long.fromBytes(buffer.slice(offset,offset+8), true, this.endian === 'le').toNumber();",e.generateVariable(this.varName),t):"Int64"===t?e.pushCode("{0} = Long.fromBytes(buffer.slice(offset,offset+8), false, this.endian === 'le').toNumber();",e.generateVariable(this.varName),t):e.pushCode("{0} = buffer.read{1}(offset);",e.generateVariable(this.varName),t),e.pushCode("offset += {0};",a[t])}})),u.prototype.generateBit=function(t){var e=JSON.parse(JSON.stringify(this));if(e.varName=t.generateVariable(e.varName),t.bitFields.push(e),!this.next||this.next&&["Bit","Nest"].indexOf(this.next.type)<0){var n=0;t.bitFields.forEach((function(t){n+=t.options.length}));var r=t.generateTmpVariable();if(n<=8)t.pushCode("var {0} = buffer.readUInt8(offset);",r),n=8;else if(n<=16)t.pushCode("var {0} = buffer.readUInt16BE(offset);",r),n=16;else if(n<=24){var i=t.generateTmpVariable(),o=t.generateTmpVariable();t.pushCode("var {0} = buffer.readUInt16BE(offset);",i),t.pushCode("var {0} = buffer.readUInt8(offset + 2);",o),t.pushCode("var {2} = ({0} << 8) | {1};",i,o,r),n=24}else{if(!(n<=32))throw new Error("Currently, bit field sequence longer than 4-bytes is not supported.");t.pushCode("var {0} = buffer.readUInt32BE(offset);",r),n=32}t.pushCode("offset += {0};",n/8);var s=0,a="be"===this.endian;t.bitFields.forEach((function(e){t.pushCode("{0} = {1} >> {2} & {3};",e.varName,r,a?n-s-e.options.length:s,(1<<e.options.length)-1),s+=e.options.length})),t.bitFields=[]}},u.prototype.generateSkip=function(t){var e=t.generateOption(this.options.length);t.pushCode("offset += {0};",e)},u.prototype.generateString=function(t){var e=t.generateVariable(this.varName),n=t.generateTmpVariable();this.options.length&&this.options.zeroTerminated?(t.pushCode("var {0} = offset;",n),t.pushCode("while(buffer.readUInt8(offset++) !== 0 && offset - {0} < {1});",n,this.options.length),t.pushCode("{0} = buffer.toString('{1}', {2}, offset - {2} < {3} ? offset - 1 : offset);",e,this.options.encoding,n,this.options.length)):this.options.length?(t.pushCode("{0} = buffer.toString('{1}', offset, offset + {2});",e,this.options.encoding,t.generateOption(this.options.length)),t.pushCode("offset += {0};",t.generateOption(this.options.length))):this.options.zeroTerminated?(t.pushCode("var {0} = offset;",n),t.pushCode("while(buffer.readUInt8(offset++) !== 0);"),t.pushCode("{0} = buffer.toString('{1}', {2}, offset - 1);",e,this.options.encoding,n)):this.options.greedy&&(t.pushCode("var {0} = offset;",n),t.pushCode("while(buffer.length > offset++);"),t.pushCode("{0} = buffer.toString('{1}', {2}, offset);",e,this.options.encoding,n)),this.options.stripNull&&t.pushCode("{0} = {0}.replace(/\\x00+$/g, '')",e)},u.prototype.generateBuffer=function(t){"eof"===this.options.readUntil?t.pushCode("{0} = buffer.slice(offset);",t.generateVariable(this.varName)):(t.pushCode("{0} = buffer.slice(offset, offset + {1});",t.generateVariable(this.varName),t.generateOption(this.options.length)),t.pushCode("offset += {0};",t.generateOption(this.options.length))),this.options.clone&&t.pushCode("{0} = Buffer.from({0});",t.generateVariable(this.varName))},u.prototype.generateArray=function(t){var e=t.generateOption(this.options.length),n=t.generateOption(this.options.lengthInBytes),r=this.options.type,i=t.generateTmpVariable(),o=t.generateVariable(this.varName),s=t.generateTmpVariable(),c=this.options.key,f="string"==typeof c;if(f?t.pushCode("{0} = {};",o):t.pushCode("{0} = [];",o),"function"==typeof this.options.readUntil?t.pushCode("do {"):"eof"===this.options.readUntil?t.pushCode("for (var {0} = 0; offset < buffer.length; {0}++) {",i):void 0!==n?t.pushCode("for (var {0} = offset; offset - {0} < {1}; ) {",i,n):t.pushCode("for (var {0} = 0; {0} < {1}; {0}++) {",i,e),"string"==typeof r)if(l[r]){var d=t.generateTmpVariable();t.pushCode("var {0} = {1}(offset);",d,"___parser_"+r),t.pushCode("var {0} = {1}.result; offset = {1}.offset;",s,d),r!==this.alias&&t.addReference(r)}else t.pushCode("var {0} = buffer.read{1}(offset);",s,h[r]),t.pushCode("offset += {0};",a[h[r]]);else r instanceof u&&(t.pushCode("var {0} = {};",s),t.pushScope(s),r.generate(t),t.popScope());f?t.pushCode("{0}[{2}.{1}] = {2};",o,c,s):t.pushCode("{0}.push({1});",o,s),t.pushCode("}"),"function"==typeof this.options.readUntil&&t.pushCode(" while (!({0}).call(this, {1}, buffer.slice(offset)));",this.options.readUntil,s)},u.prototype.generateChoiceCase=function(t,e,n){if("string"==typeof n)if(l[n]){var r=t.generateTmpVariable();t.pushCode("var {0} = {1}(offset);",r,"___parser_"+n),t.pushCode("{0} = {1}.result; offset = {1}.offset;",t.generateVariable(this.varName),r),n!==this.alias&&t.addReference(n)}else t.pushCode("{0} = buffer.read{1}(offset);",t.generateVariable(this.varName),h[n]),t.pushCode("offset += {0};",a[h[n]]);else n instanceof u&&(t.pushPath(e),n.generate(t),t.popPath(e))},u.prototype.generateChoice=function(t){var e=t.generateOption(this.options.tag);this.varName&&t.pushCode("{0} = {};",t.generateVariable(this.varName)),t.pushCode("switch({0}) {",e),Object.keys(this.options.choices).forEach((function(e){var n=this.options.choices[e];Number.isNaN(parseInt(e,10))?t.pushCode("case '{0}':",e):t.pushCode("case {0}:",e),this.generateChoiceCase(t,this.varName,n),t.pushCode("break;")}),this),t.pushCode("default:"),this.options.defaultChoice?this.generateChoiceCase(t,this.varName,this.options.defaultChoice):t.generateError('"Met undefined tag value " + {0} + " at choice"',e),t.pushCode("}")},u.prototype.generateNest=function(t){var e=t.generateVariable(this.varName);if(this.options.type instanceof u)this.varName&&t.pushCode("{0} = {};",e),t.pushPath(this.varName),this.options.type.generate(t),t.popPath(this.varName);else if(l[this.options.type]){var n=t.generateTmpVariable();t.pushCode("var {0} = {1}(offset);",n,"___parser_"+this.options.type),t.pushCode("{0} = {1}.result; offset = {1}.offset;",e,n),this.options.type!==this.alias&&t.addReference(this.options.type)}},u.prototype.generateFormatter=function(t,e,n){"function"==typeof n&&t.pushCode("{0} = ({1}).call(this, {0});",e,n)},u.prototype.isInteger=function(){return!!this.type.match(/U?Int[8|16|32][BE|LE]?|Bit\d+/)},u.prototype.itf8=function(t,e){return this.setNextParser("itf8",t,e)},u.prototype.itf8=function(t,e){return this.setNextParser("itf8",t,e)},u.prototype.generateItf8=function(t){var e=t.generateVariable(this.varName),n=t.generateTmpVariable();t.pushCode("\n var ".concat(n," = buffer[offset];\n if (").concat(n," < 0x80) {\n ").concat(e," = ").concat(n,";\n offset += 1;\n } else if (").concat(n," < 0xc0) {\n ").concat(e," = ((").concat(n,"<<8) | buffer[offset+1]) & 0x3fff;\n offset += 2;\n } else if (").concat(n," < 0xe0) {\n ").concat(e," = ((").concat(n,"<<16) | (buffer[offset+1]<< 8) | buffer[offset+2]) & 0x1fffff;\n offset += 3;\n } else if (").concat(n," < 0xf0) {\n ").concat(e," = ((").concat(n,"<<24) | (buffer[offset+1]<<16) | (buffer[offset+2]<<8) | buffer[offset+3]) & 0x0fffffff;\n offset += 4\n } else {\n ").concat(e," = ((").concat(n," & 0x0f)<<28) | (buffer[offset+1]<<20) | (buffer[offset+2]<<12) | (buffer[offset+3]<<4) | (buffer[offset+4] & 0x0f);\n // x=((0xff & 0x0f)<<28) | (0xff<<20) | (0xff<<12) | (0xff<<4) | (0x0f & 0x0f);\n // TODO *val_p = uv < 0x80000000UL ? uv : -((int32_t) (0xffffffffUL - uv)) - 1;\n offset += 5\n }\n "))},u.prototype.ltf8=function(t,e){return this.setNextParser("ltf8",t,e)},u.prototype.generateLtf8=function(t){var e=t.generateVariable(this.varName),n=t.generateTmpVariable();t.pushCode("\n var ".concat(n," = buffer[offset];\n if (").concat(n," < 0x80) {\n ").concat(e," = ").concat(n,";\n offset += 1;\n } else if (").concat(n," < 0xc0) {\n ").concat(e," = ((buffer[offset]<<8) | buffer[offset+1]) & 0x3fff;\n offset += 2;\n } else if (").concat(n," < 0xe0) {\n ").concat(e," = ((buffer[offset]<<16) | (buffer[offset+1]<<8) | buffer[offset+2]) & 0x1fffff;\n ").concat(e," = (((").concat(n," & 63) << 16) | buffer.readUInt16LE(offset + 1));\n offset += 3;\n } else if (").concat(n," < 0xf0) {\n ").concat(e," = ((buffer[offset]<<24) | (buffer[offset+1]<<16) | (buffer[offset+2]<<8) | buffer[offset+3]) & 0x0fffffff;\n offset += 4;\n } else if (").concat(n," < 0xf8) {\n ").concat(e," = (((buffer[offset] & 15) * Math.pow(2,32))) +\n (buffer[offset+1]<<24) | (buffer[offset+2]<<16 | buffer[offset+3]<<8 | buffer[offset+4])\n // TODO *val_p = uv < 0x80000000UL ? uv : -((int32_t) (0xffffffffUL - uv)) - 1;\n offset += 5;\n } else if (").concat(n," < 0xfc) {\n ").concat(e," = ((((buffer[offset] & 7) << 8) | buffer[offset+1] )) * Math.pow(2,32) +\n (buffer[offset+2]<<24) | (buffer[offset+3]<<16 | buffer[offset+4]<<8 | buffer[offset+5])\n offset += 6;\n } else if (").concat(n," < 0xfe) {\n ").concat(e," = ((((buffer[offset] & 3) << 16) | buffer[offset+1]<<8 | buffer[offset+2])) * Math.pow(2,32) +\n (buffer[offset+3]<<24) | (buffer[offset+4]<<16 | buffer[offset+5]<<8 | buffer[offset+6])\n offset += 7;\n } else if (").concat(n," < 0xff) {\n ").concat(e," = Long.fromBytesBE(buffer.slice(offset+1,offset+8));\n if (").concat(e,".greaterThan(Number.MAX_SAFE_INTEGER) || ").concat(e,".lessThan(Number.MIN_SAFE_INTEGER))\n throw new Error('integer overflow')\n ").concat(e," = ").concat(e,".toNumber()\n offset += 8;\n } else {\n ").concat(e," = Long.fromBytesBE(buffer.slice(offset+1,offset+9));\n if (").concat(e,".greaterThan(Number.MAX_SAFE_INTEGER) || ").concat(e,".lessThan(Number.MIN_SAFE_INTEGER))\n throw new Error('integer overflow')\n ").concat(e," = ").concat(e,".toNumber()\n offset += 9;\n }\n "))},e.Parser=u}).call(this,n(19).Buffer)},function(t,e){var n=function(t){if(Object.keys)return Object.keys(t);var e=[];for(var n in t)e.push(n);return e},r=function(t,e){if(t.forEach)return t.forEach(e);for(var n=0;n<t.length;n++)e(t[n],n,t)},i=function(){try{return Object.defineProperty({},"_",{}),function(t,e,n){Object.defineProperty(t,e,{writable:!0,enumerable:!1,configurable:!0,value:n})}}catch(t){return function(t,e,n){t[e]=n}}}(),o=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];function s(){}s.prototype={};var a=e.Script=function(t){if(!(this instanceof a))return new a(t);this.code=t};a.prototype.runInContext=function(t){if(!(t instanceof s))throw new TypeError("needs a 'context' argument.");var e=document.createElement("iframe");e.style||(e.style={}),e.style.display="none",document.body.appendChild(e);var a=e.contentWindow,l=a.eval,c=a.execScript;!l&&c&&(c.call(a,"null"),l=a.eval),r(n(t),(function(e){a[e]=t[e]})),r(o,(function(e){t[e]&&(a[e]=t[e])}));var h=n(a),u=l.call(a,this.code);return r(n(a),(function(e){(e in t||-1===function(t,e){if(t.indexOf)return t.indexOf(e);for(var n=0;n<t.length;n++)if(t[n]===e)return n;return-1}(h,e))&&(t[e]=a[e])})),r(o,(function(e){e in t||i(t,e,a[e])})),document.body.removeChild(e),u},a.prototype.runInThisContext=function(){return Wh(this.code)},a.prototype.runInNewContext=function(t){var e=a.createContext(t),i=this.runInContext(e);return t&&r(n(e),(function(n){t[n]=e[n]})),i},r(n(a.prototype),(function(t){e[t]=a[t]=function(e){var n=a(e);return n[t].apply(n,[].slice.call(arguments,1))}})),e.isContext=function(t){return t instanceof s},e.createScript=function(t){return e.Script(t)},e.createContext=a.createContext=function(t){var e=new s;return"object"==typeof t&&r(n(t),(function(n){e[n]=t[n]})),e}},function(t,e,n){function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i=function(){this.code="",this.scopes=[["vars"]],this.isAsync=!1,this.bitFields=[],this.tmpVariableCount=0,this.references={}};i.prototype.generateVariable=function(t){var e=[];for(Array.prototype.push.apply(e,this.scopes[this.scopes.length-1]);/^\$parent\./.test(t);)e.pop(),t=t.replace(/^\$parent\./,"");return t&&e.push(t),e.join(".")},i.prototype.generateOption=function(t){switch(r(t)){case"number":return t.toString();case"string":return this.generateVariable(t);case"function":return"(".concat(t,").call(").concat(this.generateVariable(),", vars)");default:return}},i.prototype.generateError=function(){var t=Array.prototype.slice.call(arguments),e=i.interpolate.apply(this,t);this.isAsync?this.pushCode("return process.nextTick(function() { callback(new Error(".concat(e,"), vars); });")):this.pushCode("throw new Error(".concat(e,");"))},i.prototype.generateTmpVariable=function(){return"$tmp".concat(this.tmpVariableCount++)},i.prototype.pushCode=function(){var t=Array.prototype.slice.call(arguments);this.code+="".concat(i.interpolate.apply(this,t),"\n")},i.prototype.pushPath=function(t){t&&this.scopes[this.scopes.length-1].push(t)},i.prototype.popPath=function(t){t&&this.scopes[this.scopes.length-1].pop()},i.prototype.pushScope=function(t){this.scopes.push([t])},i.prototype.popScope=function(){this.scopes.pop()},i.prototype.addReference=function(t){this.references[t]||(this.references[t]={resolved:!1,requested:!1})},i.prototype.markResolved=function(t){this.references[t].resolved=!0},i.prototype.markRequested=function(t){t.forEach(function(t){this.references[t].requested=!0}.bind(this))},i.prototype.getUnresolvedReferences=function(){var t=this.references;return Object.keys(this.references).filter((function(e){return!t[e].resolved&&!t[e].requested}))},i.interpolate=function(t){var e=/{\d+}/g,n=t.match(e),r=Array.prototype.slice.call(arguments,1);return n&&n.forEach((function(e){var n=parseInt(e.substr(1,e.length-2),10);t=t.replace(e,r[n].toString())})),t},e.Context=i},function(t,e,n){(function(e){var r,i=n(1),o=i(n(16)),s=i(n(75)),a=i(n(37)),l=i(n(30)),c=i(n(31)),h=i(n(7)),u=i(n(10)),f=n(9).CramMalformedError,d=n(58),p=d.itf8Size,g=d.parseItem,m=d.tinyMemoize,v=n(334),b=n(390),w=function(){function t(e,n){(0,h.default)(this,t),this.file=e,this.filePosition=n}var n,r,i,o;return(0,u.default)(t,[{key:"getHeader",value:function(){return this._readContainerHeader(this.filePosition)}},{key:"getCompressionHeaderBlock",value:(o=(0,c.default)(l.default.mark((function t(){var e,n,r;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getHeader();case 2:if(t.sent.numRecords){t.next=5;break}return t.abrupt("return",null);case 5:return t.next=7,this.file.getSectionParsers();case 7:return e=t.sent,t.next=10,this.getFirstBlock();case 10:if("COMPRESSION_HEADER"===(n=t.sent).contentType){t.next=13;break}throw new f("invalid content type ".concat(n.contentType," in what is supposed to be the compression header block"));case 13:return r=g(n.content,e.cramCompressionHeader.parser,0,n.contentPosition),n.content=r,t.abrupt("return",n);case 16:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"getFirstBlock",value:(i=(0,c.default)(l.default.mark((function t(){var e;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getHeader();case 2:return e=t.sent,t.abrupt("return",this.file.readBlock(e._endPosition));case 4:case"end":return t.stop()}}),t,this)}))),function(){return i.apply(this,arguments)})},{key:"getCompressionScheme",value:(r=(0,c.default)(l.default.mark((function t(){var e;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getCompressionHeaderBlock();case 2:if(e=t.sent){t.next=5;break}return t.abrupt("return",void 0);case 5:return t.abrupt("return",new b(e.content));case 6:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"getSlice",value:function(t,e){return new v(this,t,e)}},{key:"_readContainerHeader",value:(n=(0,c.default)(l.default.mark((function t(n){var r,i,o,c,h,u,f,d,m,v,b,w,y;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.file.getSectionParsers();case 2:return r=t.sent,i=r.cramContainerHeader1,o=r.cramContainerHeader2,t.next=6,this.file.stat();case 6:if(c=t.sent,h=c.size,!(n>=h)){t.next=10;break}return t.abrupt("return",void 0);case 10:return u=e.allocUnsafe(i.maxLength),t.next=13,this.file.read(u,0,i.maxLength,n);case 13:if(f=g(u,i.parser),d=p(f.numLandmarks),!(n+f.length>=h)){t.next=18;break}return console.warn((0,a.default)(m=(0,a.default)(v="".concat(this.file,": container header at ")).call(v,n," indicates that the container has length ")).call(m,f.length,", which extends beyond the length of the file. Skipping this container.")),t.abrupt("return",void 0);case 18:return b=e.allocUnsafe(o.maxLength(f.numLandmarks)),t.next=21,this.file.read(b,0,o.maxLength(f.numLandmarks),n+f._size-d);case 21:if(w=g(b,o.parser),!this.file.validateChecksums||void 0===w.crc32){t.next=25;break}return t.next=25,this.file.checkCrc32(n,f._size+w._size-d-4,w.crc32,"container header beginning at position ".concat(n));case 25:return y=(0,s.default)(f,w,{_size:f._size+w._size-d,_endPosition:f._size+w._size-d+n}),t.abrupt("return",y);case 27:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})}]),t}();(0,o.default)(r="getHeader getCompressionHeaderBlock getCompressionScheme".split(" ")).call(r,(function(t){return m(w,t)})),t.exports=w}).call(this,n(19).Buffer)},function(t,e,n){t.exports=n(115)},function(t,e,n){var r,i,o,s,a;r=n(332),i=n(147).utf8,o=n(333),s=n(147).bin,(a=function(t,e){t.constructor==String?t=e&&"binary"===e.encoding?s.stringToBytes(t):i.stringToBytes(t):o(t)?t=Array.prototype.slice.call(t,0):Array.isArray(t)||(t=t.toString());for(var n=r.bytesToWords(t),l=8*t.length,c=1732584193,h=-271733879,u=-1732584194,f=271733878,d=0;d<n.length;d++)n[d]=16711935&(n[d]<<8|n[d]>>>24)|4278255360&(n[d]<<24|n[d]>>>8);n[l>>>5]|=128<<l%32,n[14+(l+64>>>9<<4)]=l;var p=a._ff,g=a._gg,m=a._hh,v=a._ii;for(d=0;d<n.length;d+=16){var b=c,w=h,y=u,x=f;c=p(c,h,u,f,n[d+0],7,-680876936),f=p(f,c,h,u,n[d+1],12,-389564586),u=p(u,f,c,h,n[d+2],17,606105819),h=p(h,u,f,c,n[d+3],22,-1044525330),c=p(c,h,u,f,n[d+4],7,-176418897),f=p(f,c,h,u,n[d+5],12,1200080426),u=p(u,f,c,h,n[d+6],17,-1473231341),h=p(h,u,f,c,n[d+7],22,-45705983),c=p(c,h,u,f,n[d+8],7,1770035416),f=p(f,c,h,u,n[d+9],12,-1958414417),u=p(u,f,c,h,n[d+10],17,-42063),h=p(h,u,f,c,n[d+11],22,-1990404162),c=p(c,h,u,f,n[d+12],7,1804603682),f=p(f,c,h,u,n[d+13],12,-40341101),u=p(u,f,c,h,n[d+14],17,-1502002290),c=g(c,h=p(h,u,f,c,n[d+15],22,1236535329),u,f,n[d+1],5,-165796510),f=g(f,c,h,u,n[d+6],9,-1069501632),u=g(u,f,c,h,n[d+11],14,643717713),h=g(h,u,f,c,n[d+0],20,-373897302),c=g(c,h,u,f,n[d+5],5,-701558691),f=g(f,c,h,u,n[d+10],9,38016083),u=g(u,f,c,h,n[d+15],14,-660478335),h=g(h,u,f,c,n[d+4],20,-405537848),c=g(c,h,u,f,n[d+9],5,568446438),f=g(f,c,h,u,n[d+14],9,-1019803690),u=g(u,f,c,h,n[d+3],14,-187363961),h=g(h,u,f,c,n[d+8],20,1163531501),c=g(c,h,u,f,n[d+13],5,-1444681467),f=g(f,c,h,u,n[d+2],9,-51403784),u=g(u,f,c,h,n[d+7],14,1735328473),c=m(c,h=g(h,u,f,c,n[d+12],20,-1926607734),u,f,n[d+5],4,-378558),f=m(f,c,h,u,n[d+8],11,-2022574463),u=m(u,f,c,h,n[d+11],16,1839030562),h=m(h,u,f,c,n[d+14],23,-35309556),c=m(c,h,u,f,n[d+1],4,-1530992060),f=m(f,c,h,u,n[d+4],11,1272893353),u=m(u,f,c,h,n[d+7],16,-155497632),h=m(h,u,f,c,n[d+10],23,-1094730640),c=m(c,h,u,f,n[d+13],4,681279174),f=m(f,c,h,u,n[d+0],11,-358537222),u=m(u,f,c,h,n[d+3],16,-722521979),h=m(h,u,f,c,n[d+6],23,76029189),c=m(c,h,u,f,n[d+9],4,-640364487),f=m(f,c,h,u,n[d+12],11,-421815835),u=m(u,f,c,h,n[d+15],16,530742520),c=v(c,h=m(h,u,f,c,n[d+2],23,-995338651),u,f,n[d+0],6,-198630844),f=v(f,c,h,u,n[d+7],10,1126891415),u=v(u,f,c,h,n[d+14],15,-1416354905),h=v(h,u,f,c,n[d+5],21,-57434055),c=v(c,h,u,f,n[d+12],6,1700485571),f=v(f,c,h,u,n[d+3],10,-1894986606),u=v(u,f,c,h,n[d+10],15,-1051523),h=v(h,u,f,c,n[d+1],21,-2054922799),c=v(c,h,u,f,n[d+8],6,1873313359),f=v(f,c,h,u,n[d+15],10,-30611744),u=v(u,f,c,h,n[d+6],15,-1560198380),h=v(h,u,f,c,n[d+13],21,1309151649),c=v(c,h,u,f,n[d+4],6,-145523070),f=v(f,c,h,u,n[d+11],10,-1120210379),u=v(u,f,c,h,n[d+2],15,718787259),h=v(h,u,f,c,n[d+9],21,-343485551),c=c+b>>>0,h=h+w>>>0,u=u+y>>>0,f=f+x>>>0}return r.endian([c,h,u,f])})._ff=function(t,e,n,r,i,o,s){var a=t+(e&n|~e&r)+(i>>>0)+s;return(a<<o|a>>>32-o)+e},a._gg=function(t,e,n,r,i,o,s){var a=t+(e&r|n&~r)+(i>>>0)+s;return(a<<o|a>>>32-o)+e},a._hh=function(t,e,n,r,i,o,s){var a=t+(e^n^r)+(i>>>0)+s;return(a<<o|a>>>32-o)+e},a._ii=function(t,e,n,r,i,o,s){var a=t+(n^(e|~r))+(i>>>0)+s;return(a<<o|a>>>32-o)+e},a._blocksize=16,a._digestsize=16,t.exports=function(t,e){if(null==t)throw new Error("Illegal argument "+t);var n=r.wordsToBytes(a(t,e));return e&&e.asBytes?n:e&&e.asString?s.bytesToString(n):r.bytesToHex(n)}},function(t,e){var n,r;n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r={rotl:function(t,e){return t<<e|t>>>32-e},rotr:function(t,e){return t<<32-e|t>>>e},endian:function(t){if(t.constructor==Number)return 16711935&r.rotl(t,8)|4278255360&r.rotl(t,24);for(var e=0;e<t.length;e++)t[e]=r.endian(t[e]);return t},randomBytes:function(t){for(var e=[];t>0;t--)e.push(Math.floor(256*Math.random()));return e},bytesToWords:function(t){for(var e=[],n=0,r=0;n<t.length;n++,r+=8)e[r>>>5]|=t[n]<<24-r%32;return e},wordsToBytes:function(t){for(var e=[],n=0;n<32*t.length;n+=8)e.push(t[n>>>5]>>>24-n%32&255);return e},bytesToHex:function(t){for(var e=[],n=0;n<t.length;n++)e.push((t[n]>>>4).toString(16)),e.push((15&t[n]).toString(16));return e.join("")},hexToBytes:function(t){for(var e=[],n=0;n<t.length;n+=2)e.push(parseInt(t.substr(n,2),16));return e},bytesToBase64:function(t){for(var e=[],r=0;r<t.length;r+=3)for(var i=t[r]<<16|t[r+1]<<8|t[r+2],o=0;o<4;o++)8*r+6*o<=8*t.length?e.push(n.charAt(i>>>6*(3-o)&63)):e.push("=");return e.join("")},base64ToBytes:function(t){t=t.replace(/[^A-Z0-9+\/]/gi,"");for(var e=[],r=0,i=0;r<t.length;i=++r%4)0!=i&&e.push((n.indexOf(t.charAt(r-1))&Math.pow(2,-2*i+8)-1)<<2*i|n.indexOf(t.charAt(r))>>>6-2*i);return e}},t.exports=r},function(t,e){function n(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}
59
59
  /*!
60
60
  * Determine if an object is a Buffer
61
61
  *
62
62
  * @author Feross Aboukhadijeh <https://feross.org>
63
63
  * @license MIT
64
- */t.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},function(t,e,n){var r,i=n(1),o=i(n(148)),s=i(n(76)),a=i(n(150)),c=i(n(37)),l=i(n(30)),h=i(n(31)),u=i(n(7)),f=i(n(10)),d=i(n(99)),p=i(n(16)),g=i(n(77)),m=i(n(59)),v=n(9),b=v.CramMalformedError,w=v.CramBufferOverrunError,y=v.CramArgumentError,x=n(58),_=x.parseItem,k=x.tinyMemoize,S=x.sequenceMD5,C=n(100),E=n(363);function A(t,e,n,r){if(!r)throw new b("could not resolve intra-slice mate pairs, file seems truncated or malformed");var i=!!(r.mate||void 0!==r.mateRecordNumber&&r.mateRecordNumber!==e);n.readName||(n.readName=String(n.uniqueId),r.readName=n.readName),n.mate={sequenceId:r.sequenceId,alignmentStart:r.alignmentStart,uniqueId:r.uniqueId},r.readName&&(n.mate.readName=r.readName),r.mate||void 0!==r.mateRecordNumber||(r.mate={sequenceId:n.sequenceId,alignmentStart:n.alignmentStart,uniqueId:n.uniqueId},n.readName&&(r.mate.readName=n.readName)),n.flags|=C.BAM_FPAIRED,(0,d.default)(r)&C.BAM_FUNMAP&&(n.flags|=C.BAM_FMUNMAP),(0,d.default)(n)&C.BAM_FUNMAP&&(r.flags|=C.BAM_FMUNMAP),(0,d.default)(r)&C.BAM_FREVERSE&&(n.flags|=C.BAM_FMREVERSE),(0,d.default)(n)&C.BAM_FREVERSE&&(r.flags|=C.BAM_FMREVERSE),void 0===n.templateLength&&(i?function(t,e,n){var r=function e(n){var r=[n];if(n.mateRecordNumber>=0){var i=t[n.mateRecordNumber];if(!i)throw new b("intra-slice mate record not found, this file seems malformed");r.push.apply(r,(0,m.default)(e(i)))}return r}(n),i=(0,g.default)(r).call(r,(function(t){return t.alignmentStart})),o=(0,g.default)(r).call(r,(function(t){return t.alignmentStart+t.readLength-1})),s=Math.max.apply(Math,(0,m.default)(o))-Math.min.apply(Math,(0,m.default)(i))+1;s>=0&&(0,p.default)(r).call(r,(function(t){if(void 0!==t.templateLength)throw new b("mate pair group has some members that have template lengths already, this file seems malformed");t.templateLength=s}))}(t,0,n):function(t,e){var n=Math.min(t.alignmentStart,e.alignmentStart),r=Math.max(t.alignmentStart+t.readLength-1,e.alignmentStart+e.readLength-1)-n+1;t.templateLength=r,e.templateLength=r}(n,r)),delete n.mateRecordNumber}var T=function(){function t(e,n){(0,u.default)(this,t),this.container=e,this.file=e.file,this.containerPosition=n}var e,n,r,i,d,m,v,x;return(0,f.default)(t,[{key:"getHeader",value:(x=(0,h.default)(l.default.mark((function t(){var e,n,r;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.file.getSectionParsers();case 2:return e=t.sent,t.next=5,this.container.getHeader();case 5:return n=t.sent,t.next=8,this.file.readBlock(n._endPosition+this.containerPosition);case 8:if("MAPPED_SLICE_HEADER"!==(r=t.sent).contentType){t.next=13;break}r.content=_(r.content,e.cramMappedSliceHeader.parser,0,n._endPosition),t.next=18;break;case 13:if("UNMAPPED_SLICE_HEADER"!==r.contentType){t.next=17;break}r.content=_(r.content,e.cramUnmappedSliceHeader.parser,0,n._endPosition),t.next=18;break;case 17:throw new b("error reading slice header block, invalid content type ".concat(r._contentType));case 18:return t.abrupt("return",r);case 19:case"end":return t.stop()}}),t,this)}))),function(){return x.apply(this,arguments)})},{key:"getBlocks",value:(v=(0,h.default)(l.default.mark((function t(){var e,n,r,i;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getHeader();case 2:e=t.sent,n=e._endPosition,r=new Array(e.content.numBlocks),i=0;case 6:if(!(i<r.length)){t.next=14;break}return t.next=9,this.file.readBlock(n);case 9:r[i]=t.sent,n=r[i]._endPosition;case 11:i+=1,t.next=6;break;case 14:return t.abrupt("return",r);case 15:case"end":return t.stop()}}),t,this)}))),function(){return v.apply(this,arguments)})},{key:"getCoreDataBlock",value:(m=(0,h.default)(l.default.mark((function t(){var e;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getBlocks();case 2:return e=t.sent,t.abrupt("return",e[0]);case 4:case"end":return t.stop()}}),t,this)}))),function(){return m.apply(this,arguments)})},{key:"_getBlocksContentIdIndex",value:(d=(0,h.default)(l.default.mark((function t(){var e,n;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getBlocks();case 2:return e=t.sent,n={},(0,p.default)(e).call(e,(function(t){"EXTERNAL_DATA"===t.contentType&&(n[t.contentId]=t)})),t.abrupt("return",n);case 6:case"end":return t.stop()}}),t,this)}))),function(){return d.apply(this,arguments)})},{key:"getBlockByContentId",value:(i=(0,h.default)(l.default.mark((function t(e){var n;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this._getBlocksContentIdIndex();case 2:return n=t.sent,t.abrupt("return",n[e]);case 4:case"end":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:"getReferenceRegion",value:(r=(0,h.default)(l.default.mark((function t(){var e,n,r,i;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getHeader();case 2:if(!((e=t.sent.content).refSeqId<0)){t.next=5;break}return t.abrupt("return",void 0);case 5:return t.next=7,this.container.getCompressionScheme();case 7:if(n=t.sent,!(e.refBaseBlockId>=0)){t.next=15;break}if(r=this.getBlockByContentId(e.refBaseBlockId)){t.next=12;break}throw new b("embedded reference specified, but reference block does not exist");case 12:if(!(e.span>r.uncompressedSize)){t.next=14;break}throw new b("Embedded reference is too small");case 14:return t.abrupt("return",{seq:r.data.toString("utf8"),start:e.refSeqStart,end:e.refSeqStart+e.refSeqSpan-1,span:e.refSeqSpan});case 15:if(!n.referenceRequired&&!this.file.fetchReferenceSequenceCallback){t.next=24;break}if(this.file.fetchReferenceSequenceCallback){t.next=18;break}throw new Error("reference sequence not embedded, and seqFetch callback not provided, cannot fetch reference sequence");case 18:return t.next=20,this.file.fetchReferenceSequenceCallback(e.refSeqId,e.refSeqStart,e.refSeqStart+e.refSeqSpan-1);case 20:if((i=t.sent).length===e.refSeqSpan){t.next=23;break}throw new y("seqFetch callback returned a reference sequence of the wrong length");case 23:return t.abrupt("return",{seq:i,start:e.refSeqStart,end:e.refSeqStart+e.refSeqSpan-1,span:e.refSeqSpan});case 24:return t.abrupt("return",void 0);case 25:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"getAllRecords",value:function(){return this.getRecords((function(){return!0}))}},{key:"_fetchRecords",value:(n=(0,h.default)(l.default.mark((function t(){var e,n,r,i,o,s,h,u,f,d,p,m,v,y,x,_,k,C,T,L,R,M,I,N=this;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.file.getDefinition();case 2:return e=t.sent,n=e.majorVersion,t.next=6,this.container.getCompressionScheme();case 6:return r=t.sent,t.next=9,this.getHeader();case 9:return i=t.sent,t.next=12,this._getBlocksContentIdIndex();case 12:if(o=t.sent,!(n>1&&this.file.options.checkSequenceMD5&&i.content.refSeqId>=0&&"0000000000000000"!==i.content.md5.join(""))){t.next=23;break}return t.next=16,this.getReferenceRegion();case 16:if(!(s=t.sent)){t.next=23;break}if(m=s.seq,v=s.start,y=s.end,x=S(m),_=(0,g.default)(h=i.content.md5).call(h,(function(t){return(t<16?"0":"")+t.toString(16)})).join(""),x===_){t.next=23;break}throw new b((0,c.default)(u=(0,c.default)(f=(0,c.default)(d=(0,c.default)(p="MD5 checksum reference mismatch for ref ".concat(i.content.refSeqId," pos ")).call(p,v,"..")).call(d,y,". recorded MD5: ")).call(f,_,", calculated MD5: ")).call(u,x));case 23:return t.next=25,this.getCoreDataBlock();case 25:k=t.sent,C={lastAlignmentStart:i.content.refSeqStart||0,coreBlock:{bitPosition:7,bytePosition:0},externalBlocks:{getCursor:function(t){return this[t]||(this[t]={bitPosition:7,bytePosition:0}),this[t]}}},T=function(t){var e=r.getCodecForDataSeries(t);if(!e)throw new b("no codec defined for ".concat(t," data series"));return e.decode(N,k,o,C)},L=new Array(i.content.numRecords),R=0;case 30:if(!(R<L.length)){t.next=48;break}t.prev=31,L[R]=E(this,T,r,i,k,o,C,n,R),L[R].uniqueId=i.contentPosition+i.content.recordCounter+R+1,t.next=45;break;case 36:if(t.prev=36,t.t0=t.catch(31),!(t.t0 instanceof w)){t.next=44;break}return console.warn("read attempted beyond end of buffer, file seems truncated."),L=(0,a.default)(L).call(L,(function(t){return!!t})),t.abrupt("break",48);case 44:throw t.t0;case 45:R+=1,t.next=30;break;case 48:for(M=0;M<L.length;M+=1)(I=L[M].mateRecordNumber)>=0&&A(L,M,L[M],L[I]);return t.abrupt("return",L);case 50:case"end":return t.stop()}}),t,this,[[31,36]])}))),function(){return n.apply(this,arguments)})},{key:"getRecords",value:(e=(0,h.default)(l.default.mark((function t(e){var n,r,i,c,u,f,d,p,m,v,b,w,y,x,_,k,S=this;return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=this.container.filePosition+this.containerPosition,(i=this.file.featureCache.get(r))||(i=this._fetchRecords(),this.file.featureCache.set(r,i)),t.t0=a.default,t.next=6,i;case 6:if(t.t1=n=t.sent,t.t2=n,t.t3=e,!(c=(0,t.t0)(t.t1).call(t.t2,t.t3)).length||!this.file.fetchReferenceSequenceCallback){t.next=24;break}return t.next=13,this.getHeader();case 13:if(!((u=t.sent).content.refSeqId>=0||-2===u.content.refSeqId)){t.next=24;break}return d=u.content.refSeqId>=0?u.content.refSeqId:void 0,t.next=18,this.container.getCompressionScheme();case 18:for(p=t.sent,m={},v=0;v<c.length;v+=1)b=void 0!==d?d:c[v].sequenceId,(w=m[b])||(w={id:b,start:c[v].alignmentStart,end:-1/0},m[b]=w),(y=c[v].alignmentStart+(c[v].lengthOnRef||c[v].readLength)-1)>w.end&&(w.end=y),c[v].alignmentStart<w.start&&(w.start=c[v].alignmentStart);return t.next=23,s.default.all((0,g.default)(f=(0,o.default)(m)).call(f,function(){var t=(0,h.default)(l.default.mark((function t(e){return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(-1!==e.id&&e.start<=e.end)){t.next=4;break}return t.next=3,S.file.fetchReferenceSequenceCallback(e.id,e.start,e.end);case 3:e.seq=t.sent;case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 23:for(x=0;x<c.length;x+=1)_=void 0!==d?d:c[x].sequenceId,(k=m[_])&&k.seq&&c[x].addReferenceSequence(k,p);case 24:return t.abrupt("return",c);case 25:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})}]),t}();(0,p.default)(r="getHeader getBlocks _getBlocksContentIdIndex".split(" ")).call(r,(function(t){return k(T,t)})),t.exports=T},function(t,e,n){t.exports=n(336)},function(t,e,n){n(337);var r=n(3);t.exports=r.Object.values},function(t,e,n){var r=n(0),i=n(149).values;r({target:"Object",stat:!0},{values:function(t){return i(t)}})},function(t,e,n){t.exports=n(339)},function(t,e,n){var r=n(340),i=Array.prototype;t.exports=function(t){var e=t.filter;return t===i||t instanceof Array&&e===i.filter?r:e}},function(t,e,n){n(341);var r=n(18);t.exports=r("Array").filter},function(t,e,n){var r=n(0),i=n(45).filter;r({target:"Array",proto:!0,forced:!n(68)("filter")},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){t.exports=n(343)},function(t,e,n){var r=n(344),i=RegExp.prototype;t.exports=function(t){return!(t===i||t instanceof RegExp)||"flags"in t?t.flags:r(t)}},function(t,e,n){n(345);var r=n(346);t.exports=function(t){return r.call(t)}},function(t,e){},function(t,e,n){var r=n(2);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){t.exports=n(348)},function(t,e,n){var r=n(349),i=Array.prototype;t.exports=function(t){var e=t.map;return t===i||t instanceof Array&&e===i.map?r:e}},function(t,e,n){n(350);var r=n(18);t.exports=r("Array").map},function(t,e,n){var r=n(0),i=n(45).map;r({target:"Array",proto:!0,forced:!n(68)("map")},{map:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(151);t.exports=function(t){if(r(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}},function(t,e,n){t.exports=n(353)},function(t,e,n){n(354);var r=n(3);t.exports=r.Array.isArray},function(t,e,n){n(0)({target:"Array",stat:!0},{isArray:n(53)})},function(t,e,n){t.exports=n(356)},function(t,e,n){t.exports=n(357)},function(t,e,n){n(46),n(358);var r=n(3);t.exports=r.Array.from},function(t,e,n){var r=n(0),i=n(359);r({target:"Array",stat:!0,forced:!n(121)((function(t){Array.from(t)}))},{from:i})},function(t,e,n){var r=n(15),i=n(22),o=n(120),s=n(119),a=n(29),c=n(87),l=n(90);t.exports=function(t){var e,n,h,u,f=i(t),d="function"==typeof this?this:Array,p=arguments.length,g=p>1?arguments[1]:void 0,m=void 0!==g,v=0,b=l(f);if(m&&(g=r(g,p>2?arguments[2]:void 0,2)),null==b||d==Array&&s(b))for(n=new d(e=a(f.length));e>v;v++)c(n,v,m?g(f[v],v):f[v]);else for(u=b.call(f),n=new d;!(h=u.next()).done;v++)c(n,v,m?o(u,g,[h.value,v],!0):h.value);return n.length=v,n}},function(t,e,n){n(41),n(46),t.exports=n(361)},function(t,e,n){var r=n(67),i=n(6),o=n(35),s=i("iterator");t.exports=function(t){var e=Object(t);return void 0!==e[s]||"@@iterator"in e||o.hasOwnProperty(r(e))}},function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(t,e,n){(function(e){var r=n(1),i=r(n(37)),o=r(n(364)),s=r(n(16)),a=r(n(99)),c=r(n(101)),l=r(n(59)),h=r(n(154)),u=r(n(376)),f=r(n(380)),d=r(n(48)),p=r(n(387)),g=n(146),m=n(9),v=m.CramMalformedError,b=m.CramUnimplementedError,w=n(389),y=n(100);function x(t){var e=(0,p.default)(t).call(t,0);return-1===e?t.toString("utf8"):t.toString("utf8",0,e)}function _(t,n){if(n.readInt32LE||(n=e.from(n)),"Z"===t)return x(n);if("A"===t)return String.fromCharCode(n[0]);if("I"===t){var r=g.fromBytesLE(n);if(r.greaterThan(f.default)||r.lessThan(u.default))throw new b("integer overflow");return r.toNumber()}if("i"===t)return n.readInt32LE(0);if("s"===t)return n.readInt16LE(0);if("S"===t)return n.readUInt16LE(0);if("c"===t)return n.readInt8(0);if("C"===t)return n.readUInt8(0);if("f"===t)return n.readFloatLE(0);if("H"===t){var i=x(n);return(0,h.default)(i.replace(/^0x/,""),16)}if("B"===t)return function(t){var e=String.fromCharCode(t[0]),n=t.readInt32LE(1),r={c:["readInt8",1],C:["readUInt8",1],s:["readInt16LE",2],S:["readUInt16LE",2],i:["readInt32LE",4],I:["readUInt32LE",4],f:["readFloatLE",4]}[e];if(!r)throw new v("invalid tag value array type '".concat(e,"'"));for(var i=(0,d.default)(r,2),o=i[0],s=i[1],a=new Array(n),c=5,l=0;l<n;l+=1)a[l]=t[o](c),c+=s;return a}(n);throw new v("Unrecognized tag type ".concat(t))}function k(t){if(t instanceof e)return x(t);if(t.length&&(0,p.default)(t)){if(!t[t.length-1]){var n=(0,p.default)(t).call(t,0);return String.fromCharCode.apply(String,(0,l.default)((0,c.default)(t).call(t,0,n)))}return String.fromCharCode.apply(String,(0,l.default)(t))}return String(t)}t.exports=function(t,e,n,r,c,l,h,u,f){var p=new w;if(p.flags=e("BF"),p.cramFlags=e("CF"),u>1&&-2===r.content.refSeqId?p.sequenceId=e("RI"):p.sequenceId=r.content.refSeqId,p.readLength=e("RL"),p.alignmentStart=e("AP"),n.APdelta&&(p.alignmentStart+=h.lastAlignmentStart),h.lastAlignmentStart=p.alignmentStart,p.readGroupId=e("RG"),n.readNamesIncluded&&(p.readName=k(e("RN"))),p.isDetached()){var g={};g.flags=e("MF"),n.readNamesIncluded||(g.readName=k(e("RN")),p.readName=g.readName),g.sequenceId=e("NS"),g.alignmentStart=e("NP"),((0,a.default)(g)||g.sequenceId>-1)&&(p.mate=g),p.templateSize=e("TS"),(0,a.default)(g)&y.CRAM_M_UNMAP&&(p.flags|=y.BAM_FMUNMAP),(0,a.default)(g)&y.CRAM_M_REVERSE&&(p.flags|=y.BAM_FMREVERSE)}else p.hasMateDownStream()&&(p.mateRecordNumber=e("NF")+f+1);var m=e("TL");if(m<0)throw new v("invalid TL index");for(var b=n.getTagNames(m),x=b.length,S=0;S<x;S+=1){var C=b[S],E=C.substr(0,2),A=C.substr(2,1),T=n.getCodecForTag(C);if(!T)throw new v("no codec defined for auxiliary tag ".concat(C));var L=T.decode(t,c,l,h);p.tags[E]=_(A,L)}if(p.isSegmentUnmapped())if(p.isUnknownBases())p.readBases=null,p.qualityScores=null;else{for(var R=new Array(p.readLength),M=0;M<R.length;M+=1)R[M]=e("BA");if(p.readBases=String.fromCharCode.apply(String,R),p.isPreservingQualityScores()){for(var I=0;I<R.length;I+=1)R[I]=e("QS");p.qualityScores=R}}else{var N,F=e("FN");F&&(p.readFeatures=function(t,e,n,r,i){var o=0,s=t.alignmentStart-1,a=new Array(e);function c(t){var e=(0,d.default)(t,2),r=e[0],i=e[1],o=n(i);return"character"===r?String.fromCharCode(o):"string"===r?o.toString("utf8"):"numArray"===r?o.toArray():o}for(var l=0;l<e;l+=1){var h=String.fromCharCode(n("FC")),u=n("FP"),f={code:h},p={B:["character","BA"],S:["string",i>1?"SC":"IN"],X:["number","BS"],D:["number","DL"],I:["string","IN"],i:["character","BA"],b:["string","BB"],q:["numArray","QQ"],Q:["number","QS"],H:["number","HC"],P:["number","PD"],N:["number","RS"]}[h];if(!p)throw new v('invalid read feature code "'.concat(h,'"'));f.data=c(p);var g={B:["number","QS"]}[h];g&&(f.data=[f.data,c(g)]),o+=u,f.pos=o,s+=u,f.refPos=s,"D"===h||"N"===h?s+=f.data:"I"===h||"S"===h?s-=f.data.length:"i"===h&&(s-=1),a[l]=f}return a}(p,F,e,0,u));var P,O=p.readLength;if(p.readFeatures&&(0,s.default)(N=p.readFeatures).call(N,(function(t){var e=t.code,n=t.data;"D"===e||"N"===e?O+=n:"I"===e||"S"===e?O-=n.length:"i"===e&&(O-=1)})),(0,o.default)(O)&&(console.warn("".concat(p.readName||(0,i.default)(P="".concat(p.sequenceId,":")).call(P,p.alignmentStart)," record has invalid read features")),O=p.readLength),p.lengthOnRef=O,p.mappingQuality=e("MQ"),p.isPreservingQualityScores()){for(var D=new Array(p.readLength),B=0;B<D.length;B+=1)D[B]=e("QS");p.qualityScores=D}}return p}}).call(this,n(19).Buffer)},function(t,e,n){t.exports=n(365)},function(t,e,n){t.exports=n(366)},function(t,e,n){n(367);var r=n(3);t.exports=r.Number.isNaN},function(t,e,n){n(0)({target:"Number",stat:!0},{isNaN:function(t){return t!=t}})},function(t,e,n){t.exports=n(369)},function(t,e,n){var r=n(370),i=Array.prototype;t.exports=function(t){var e=t.slice;return t===i||t instanceof Array&&e===i.slice?r:e}},function(t,e,n){n(371);var r=n(18);t.exports=r("Array").slice},function(t,e,n){var r=n(0),i=n(14),o=n(53),s=n(84),a=n(29),c=n(28),l=n(87),h=n(68),u=n(6)("species"),f=[].slice,d=Math.max;r({target:"Array",proto:!0,forced:!h("slice")},{slice:function(t,e){var n,r,h,p=c(this),g=a(p.length),m=s(t,g),v=s(void 0===e?g:e,g);if(o(p)&&("function"!=typeof(n=p.constructor)||n!==Array&&!o(n.prototype)?i(n)&&null===(n=n[u])&&(n=void 0):n=void 0,n===Array||void 0===n))return f.call(p,m,v);for(r=new(void 0===n?Array:n)(d(v-m,0)),h=0;m<v;m++,h++)m in p&&l(r,h,p[m]);return r.length=h,r}})},function(t,e,n){t.exports=n(373)},function(t,e,n){n(374);var r=n(3);t.exports=r.Number.parseInt},function(t,e,n){var r=n(0),i=n(155);r({target:"Number",stat:!0,forced:Number.parseInt!=i},{parseInt:i})},function(t,e,n){var r=n(49),i="["+n(156)+"]",o=RegExp("^"+i+i+"*"),s=RegExp(i+i+"*$"),a=function(t){return function(e){var n=String(r(e));return 1&t&&(n=n.replace(o,"")),2&t&&(n=n.replace(s,"")),n}};t.exports={start:a(1),end:a(2),trim:a(3)}},function(t,e,n){t.exports=n(377)},function(t,e,n){t.exports=n(378)},function(t,e,n){n(379),t.exports=-9007199254740991},function(t,e,n){n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){t.exports=n(381)},function(t,e,n){t.exports=n(382)},function(t,e,n){n(383),t.exports=9007199254740991},function(t,e,n){n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(385),i=n(153);t.exports=function(t,e){if(i(Object(t))||"[object Arguments]"===Object.prototype.toString.call(t)){var n=[],o=!0,s=!1,a=void 0;try{for(var c,l=r(t);!(o=(c=l.next()).done)&&(n.push(c.value),!e||n.length!==e);o=!0);}catch(t){s=!0,a=t}finally{try{o||null==l.return||l.return()}finally{if(s)throw a}}return n}}},function(t,e,n){t.exports=n(386)},function(t,e,n){n(41),n(46),t.exports=n(142)},function(t,e,n){t.exports=n(388)},function(t,e,n){t.exports=n(143)},function(t,e,n){var r=n(1),i=r(n(98)),o=r(n(16)),s=r(n(99)),a=r(n(7)),c=r(n(10)),l=r(n(59)),h=n(100),u={a:0,A:0,c:1,C:1,g:2,G:2,t:3,T:3,n:4,N:4},f=function(){function t(){(0,a.default)(this,t),this.tags={}}return(0,c.default)(t,[{key:"isPaired",value:function(){return!!((0,s.default)(this)&h.BAM_FPAIRED)}},{key:"isProperlyPaired",value:function(){return!!((0,s.default)(this)&h.BAM_FPROPER_PAIR)}},{key:"isSegmentUnmapped",value:function(){return!!((0,s.default)(this)&h.BAM_FUNMAP)}},{key:"isMateUnmapped",value:function(){return!!((0,s.default)(this)&h.BAM_FMUNMAP)}},{key:"isReverseComplemented",value:function(){return!!((0,s.default)(this)&h.BAM_FREVERSE)}},{key:"isMateReverseComplemented",value:function(){return!!((0,s.default)(this)&h.BAM_FMREVERSE)}},{key:"isRead1",value:function(){return!!((0,s.default)(this)&h.BAM_FREAD1)}},{key:"isRead2",value:function(){return!!((0,s.default)(this)&h.BAM_FREAD2)}},{key:"isSecondary",value:function(){return!!((0,s.default)(this)&h.BAM_FSECONDARY)}},{key:"isFailedQc",value:function(){return!!((0,s.default)(this)&h.BAM_FQCFAIL)}},{key:"isDuplicate",value:function(){return!!((0,s.default)(this)&h.BAM_FDUP)}},{key:"isSupplementary",value:function(){return!!((0,s.default)(this)&h.BAM_FSUPPLEMENTARY)}},{key:"isDetached",value:function(){return!!(this.cramFlags&h.CRAM_FLAG_DETACHED)}},{key:"hasMateDownStream",value:function(){return!!(this.cramFlags&h.CRAM_FLAG_MATE_DOWNSTREAM)}},{key:"isPreservingQualityScores",value:function(){return!!(this.cramFlags&h.CRAM_FLAG_PRESERVE_QUAL_SCORES)}},{key:"isUnknownBases",value:function(){return!!(this.cramFlags&h.CRAM_FLAG_NO_SEQ)}},{key:"getReadBases",value:function(){return!this.readBases&&this._refRegion&&(this.readBases=function(t,e){if((t.lengthOnRef||t.readLength)&&!t.isUnknownBases()){var n=t.alignmentStart-e.start;if(!t.readFeatures)return e.seq.substr(n,t.lengthOnRef).toUpperCase();for(var r="",i=n,o=0;r.length<t.readLength;)if(o<t.readFeatures.length){var s=t.readFeatures[o];if("Q"===s.code||"q"===s.code)o+=1;else if(s.pos===r.length+1)if(o+=1,"b"===s.code){var a=s.data.split(","),c=String.fromCharCode.apply(String,(0,l.default)(a));r+=c,i+=c.length}else"B"===s.code?(r+=s.data[0],i+=1):"X"===s.code?(r+=s.sub,i+=1):"I"===s.code?r+=s.data:"D"===s.code?i+=s.data:"i"===s.code?r+=s.data:"N"===s.code?i+=s.data:"S"===s.code?r+=s.data:"P"===s.code||s.code;else if(o<t.readFeatures.length){var h=e.seq.substr(i,t.readFeatures[o].pos-r.length-1);r+=h,i+=h.length}}else{var u=e.seq.substr(i,t.readLength-r.length);r+=u,i+=u.length}return r.toUpperCase()}}(this,this._refRegion)),this.readBases}},{key:"getPairOrientation",value:function(){if(!this.isSegmentUnmapped()&&this.isPaired()&&!this.isMateUnmapped()&&this.mate&&this.sequenceId===this.mate.sequenceId){var t=this.isReverseComplemented()?"R":"F",e=this.isMateReverseComplemented()?"R":"F",n=" ",r=" ";this.isRead1()?(n="1",r="2"):this.isRead2()&&(n="2",r="1");var i=[],o=this.templateLength||this.templateSize;return this.alignmentStart>this.mate.alignmentStart&&o>0&&(o=-o),o>0?(i[0]=t,i[1]=n,i[2]=e,i[3]=r):(i[2]=t,i[3]=n,i[0]=e,i[1]=r),i.join("")}return null}},{key:"addReferenceSequence",value:function(t,e){var n;this.readFeatures&&(0,o.default)(n=this.readFeatures).call(n,(function(n){"X"===n.code&&function(t,e,n,r){if(e){var i=r.refPos-e.start,o=e.seq.charAt(i);o&&(r.ref=o);var s=u[o];void 0===s&&(s=4);var a=n.substitutionMatrix[s][r.data];a&&(r.sub=a)}}(0,t,e,n)})),!this.readBases&&t.start<=this.alignmentStart&&t.end>=this.alignmentStart+(this.lengthOnRef||this.readLength)-1&&(this._refRegion=t)}},{key:"toJSON",value:function(){var t,e=this,n={};return(0,o.default)(t=(0,i.default)(this)).call(t,(function(t){"_"!==t.charAt(0)&&(n[t]=e[t])})),n.readBases=this.getReadBases(),n}}]),t}();t.exports=f},function(t,e,n){var r=n(1),i=r(n(98)),o=r(n(16)),s=r(n(75)),a=r(n(7)),c=r(n(10)),l=n(9).CramMalformedError,h=n(391).instantiateCodec,u={BF:"int",CF:"int",RI:"int",RL:"int",AP:"int",RG:"int",MF:"int",NS:"int",NP:"int",TS:"int",NF:"int",TC:"byte",TN:"int",FN:"int",FC:"byte",FP:"int",BS:"byte",IN:"byteArray",SC:"byteArray",DL:"int",BA:"byte",BB:"byteArray",RS:"int",PD:"int",HC:"int",MQ:"int",RN:"byteArray",QS:"byte",QQ:"byteArray",TL:"int",TM:"ignore",TV:"ignore"},f=function(){function t(e){(0,a.default)(this,t),(0,s.default)(this,e),this.readNamesIncluded=e.preservation.RN,this.APdelta=e.preservation.AP,this.referenceRequired=!!e.preservation.RR,this.tagIdsDictionary=e.preservation.TD,this.substitutionMatrix=function(t){for(var e=new Array(5),n=0;n<5;n+=1)e[n]=new Array(4);return e[0][t[0]>>6&3]="C",e[0][t[0]>>4&3]="G",e[0][t[0]>>2&3]="T",e[0][t[0]>>0&3]="N",e[1][t[1]>>6&3]="A",e[1][t[1]>>4&3]="G",e[1][t[1]>>2&3]="T",e[1][t[1]>>0&3]="N",e[2][t[2]>>6&3]="A",e[2][t[2]>>4&3]="C",e[2][t[2]>>2&3]="T",e[2][t[2]>>0&3]="N",e[3][t[3]>>6&3]="A",e[3][t[3]>>4&3]="C",e[3][t[3]>>2&3]="G",e[3][t[3]>>0&3]="N",e[4][t[4]>>6&3]="A",e[4][t[4]>>4&3]="C",e[4][t[4]>>2&3]="G",e[4][t[4]>>0&3]="T",e}(e.preservation.SM),this.dataSeriesCodecCache={},this.tagCodecCache={}}return(0,c.default)(t,[{key:"getCodecForTag",value:function(t){if(!this.tagCodecCache[t]){var e=this.tagEncoding[t];e&&(this.tagCodecCache[t]=h(e,"byteArray"))}return this.tagCodecCache[t]}},{key:"getTagNames",value:function(t){return this.tagIdsDictionary[t]}},{key:"getCodecForDataSeries",value:function(t){if(!this.dataSeriesCodecCache[t]){var e=this.dataSeriesEncoding[t];if(e){var n=u[t];if(!n)throw new l("data series name ".concat(t," not defined in file compression header"));this.dataSeriesCodecCache[t]=h(e,n)}}return this.dataSeriesCodecCache[t]}},{key:"toJSON",value:function(){var t,e=this,n={};return(0,o.default)(t=(0,i.default)(this)).call(t,(function(t){/Cache$/.test(t)||(n[t]=e[t])})),n}}]),t}();t.exports=f},function(t,e,n){var r=n(9).CramUnimplementedError,i=n(392),o=n(413),s=n(414),a=n(415),c=n(416),l=n(417),h={1:o,3:i,4:a,5:s,6:c,7:n(418),9:l};function u(t){return h[t]}t.exports={getCodecClassWithId:u,instantiateCodec:function t(e,n){var i=u("ignore"===n?0:e.codecId);if(!i)throw new r("no codec implemented for codec ID ".concat(e.codecId));return new i(e.parameters,n,t)}}},function(t,e,n){var r=n(1),i=r(n(97)),o=r(n(59)),s=r(n(77)),a=r(n(148)),c=r(n(159)),l=r(n(48)),h=r(n(102)),u=r(n(16)),f=r(n(103)),d=r(n(403)),p=r(n(7)),g=r(n(10)),m=r(n(32)),v=r(n(27)),b=r(n(33)),w=n(9).CramMalformedError,y=function(t){function e(){var t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;if((0,p.default)(this,e),n=(0,m.default)(this,(0,v.default)(e).call(this,r,i)),!(0,d.default)(t=["byte","int"]).call(t,n.dataType))throw new TypeError("".concat(n.dataType," decoding not yet implemented by HUFFMAN_INT codec"));return n.buildCodeBook(),n.buildCodes(),n.buildCaches(),0===n.sortedCodes[0].bitLength&&(n._decode=n._decodeZeroLengthCode),n}return(0,b.default)(e,t),(0,g.default)(e,[{key:"buildCodeBook",value:function(){for(var t=this,e=new Array(this.parameters.numCodes),n=0;n<this.parameters.numCodes;n+=1)e[n]={symbol:this.parameters.symbols[n],bitLength:this.parameters.bitLengths[n]};e=(0,f.default)(e).call(e,(function(t,e){return t.bitLength-e.bitLength||t.symbol-e.symbol})),this.codeBook={},(0,u.default)(e).call(e,(function(e){t.codeBook[e.bitLength]||(t.codeBook[e.bitLength]=[]),t.codeBook[e.bitLength].push(e.symbol)}))}},{key:"buildCodes",value:function(){var t,e=this;this.codes={};var n=0,r=-1;(0,u.default)(t=(0,h.default)(this.codeBook)).call(t,(function(t){var i=(0,l.default)(t,2),o=i[0],s=i[1];o=(0,c.default)(o,10),(0,u.default)(s).call(s,(function(t){var i={bitLength:o,value:t};r+=1;var s,a,c=o-n;if(r<<=c,i.bitCode=r,n+=c,16843009*((a=(858993459&(a=(s=r)-(s>>1)&1431655765))+(a>>2&858993459))+(a>>4)&252645135)>>24>o)throw new w("Symbol out of range");e.codes[t]=i}))}))}},{key:"buildCaches",value:function(){var t,e,n,r,c,l;this.sortedCodes=(0,f.default)(t=(0,a.default)(this.codes)).call(t,(function(t,e){return t.bitLength-e.bitLength||t.bitCode-e.bitCode})),this.sortedByValue=(0,f.default)(e=(0,a.default)(this.codes)).call(e,(function(t,e){return t.value-e.value})),this.sortedValuesByBitCode=(0,s.default)(n=this.sortedCodes).call(n,(function(t){return t.value})),this.sortedBitCodes=(0,s.default)(r=this.sortedCodes).call(r,(function(t){return t.bitCode})),this.sortedBitLengthsByBitCode=(0,s.default)(c=this.sortedCodes).call(c,(function(t){return t.bitLength}));var h=Math.max.apply(Math,(0,o.default)(this.sortedBitCodes));this.bitCodeToValue=(0,i.default)(l=new Array(h+1)).call(l,-1);for(var u=0;u<this.sortedBitCodes.length;u+=1)this.bitCodeToValue[this.sortedCodes[u].bitCode]=u}},{key:"decode",value:function(t,e,n,r){return this._decode(t,e,r.coreBlock)}},{key:"_decodeZeroLengthCode",value:function(){return this.sortedCodes[0].value}},{key:"_decode",value:function(t,e,n){for(var r=e.content,i=0,o=0,s=0;s<this.sortedCodes.length;s+=1){var a=this.sortedCodes[s].bitLength;o<<=a-i,o|=this._getBits(r,n,a-i),i=a;var c=this.bitCodeToValue[o];if(c>-1&&this.sortedBitLengthsByBitCode[c]===a)return this.sortedValuesByBitCode[c];for(var l=s;this.sortedCodes[l+1].bitLength===a&&l<this.sortedCodes.length;l+=1)s+=1}throw new w("Huffman symbol not found.")}}]),e}(n(40));t.exports=y},function(t,e,n){t.exports=n(394)},function(t,e,n){n(395);var r=n(3);t.exports=r.parseInt},function(t,e,n){var r=n(0),i=n(155);r({global:!0,forced:parseInt!=i},{parseInt:i})},function(t,e,n){t.exports=n(397)},function(t,e,n){n(398);var r=n(3);t.exports=r.Object.entries},function(t,e,n){var r=n(0),i=n(149).entries;r({target:"Object",stat:!0},{entries:function(t){return i(t)}})},function(t,e,n){t.exports=n(400)},function(t,e,n){var r=n(401),i=Array.prototype;t.exports=function(t){var e=t.sort;return t===i||t instanceof Array&&e===i.sort?r:e}},function(t,e,n){n(402);var r=n(18);t.exports=r("Array").sort},function(t,e,n){var r=n(0),i=n(5),o=n(22),s=n(12),a=n(54),c=[].sort,l=[1,2,3],h=s((function(){l.sort(void 0)})),u=s((function(){l.sort(null)})),f=a("sort");r({target:"Array",proto:!0,forced:h||!u||f},{sort:function(t){return void 0===t?c.call(o(this)):c.call(o(this),i(t))}})},function(t,e,n){t.exports=n(404)},function(t,e,n){t.exports=n(405)},function(t,e,n){var r=n(406),i=n(408),o=Array.prototype,s=String.prototype;t.exports=function(t){var e=t.includes;return t===o||t instanceof Array&&e===o.includes?r:"string"==typeof t||t===s||t instanceof String&&e===s.includes?i:e}},function(t,e,n){n(407);var r=n(18);t.exports=r("Array").includes},function(t,e,n){var r=n(0),i=n(82).includes,o=n(78);r({target:"Array",proto:!0},{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("includes")},function(t,e,n){n(409);var r=n(18);t.exports=r("String").includes},function(t,e,n){var r=n(0),i=n(410),o=n(49);r({target:"String",proto:!0,forced:!n(412)("includes")},{includes:function(t){return!!~String(o(this)).indexOf(i(t),arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(411);t.exports=function(t){if(r(t))throw TypeError("The method doesn't accept regular expressions");return t}},function(t,e,n){var r=n(14),i=n(34),o=n(6)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},function(t,e,n){var r=n(6)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,"/./"[t](e)}catch(t){}}return!1}},function(t,e,n){var r=n(1),i=r(n(48)),o=r(n(7)),s=r(n(10)),a=r(n(32)),c=r(n(27)),l=r(n(33)),h=n(9),u=h.CramUnimplementedError,f=h.CramMalformedError,d=h.CramBufferOverrunError,p=n(40),g=n(58).parseItf8,m=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if((0,o.default)(this,e),"int"===(t=(0,a.default)(this,(0,c.default)(e).call(this,n,r))).dataType)t._decodeData=t._decodeInt;else{if("byte"!==t.dataType)throw new u("".concat(t.dataType," decoding not yet implemented by EXTERNAL codec"));t._decodeData=t._decodeByte}return t}return(0,l.default)(e,t),(0,s.default)(e,[{key:"decode",value:function(t,e,n,r){var i=this.parameters.blockContentId,o=n[i];if(!o)throw new f("no block found with content ID ".concat(i));var s=r.externalBlocks.getCursor(i);return this._decodeData(o,s)}},{key:"_decodeInt",value:function(t,e){var n=g(t.content,e.bytePosition),r=(0,i.default)(n,2),o=r[0],s=r[1];return e.bytePosition+=s,o}},{key:"_decodeByte",value:function(t,e){if(e.bytePosition>=t.content.length)throw new d("attempted to read beyond end of block. this file seems truncated.");var n=t.content[e.bytePosition];return e.bytePosition+=1,n}}]),e}(p);t.exports=m},function(t,e,n){var r=n(1),i=r(n(101)),o=r(n(7)),s=r(n(10)),a=r(n(32)),c=r(n(27)),l=r(n(33)),h=n(9),u=h.CramBufferOverrunError,f=h.CramMalformedError,d=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if((0,o.default)(this,e),t=(0,a.default)(this,(0,c.default)(e).call(this,n,r)),"byteArray"!==r)throw new TypeError("byteArrayStop codec does not support data type ".concat(r));return t._decode=t._decodeByteArray,t}return(0,l.default)(e,t),(0,s.default)(e,[{key:"decode",value:function(t,e,n,r){var i=this.parameters.blockContentId,o=n[i];if(!o)throw new f("no block found with content ID ".concat(i));var s=r.externalBlocks.getCursor(i);return this._decode(o,s)}},{key:"_decodeByteArray",value:function(t,e){for(var n=t.content,r=this.parameters.stopByte,o=e.bytePosition,s=e.bytePosition;n[s]!==r&&s<n.length;){if(s===n.length)throw new u("byteArrayStop reading beyond length of data buffer?");s+=1}return e.bytePosition=s+1,(0,i.default)(n).call(n,o,s)}}]),e}(n(40));t.exports=d},function(t,e,n){var r,i=n(1),o=i(n(16)),s=i(n(7)),a=i(n(10)),c=i(n(32)),l=i(n(27)),h=i(n(33)),u=n(58).tinyMemoize,f=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0;if((0,s.default)(this,e),(t=(0,c.default)(this,(0,l.default)(e).call(this,n,r))).instantiateCodec=i,"byteArray"!==r)throw new TypeError("byteArrayLength does not support data type ".concat(r));return t}return(0,h.default)(e,t),(0,a.default)(e,[{key:"decode",value:function(t,e,n,r){for(var i=this._getLengthCodec().decode(t,e,n,r),o=this._getDataCodec(),s=new Array(i),a=0;a<i;a+=1)s[a]=o.decode(t,e,n,r);return s}},{key:"_getLengthCodec",value:function(){var t=this.parameters.lengthsEncoding;return this.instantiateCodec(t,"int")}},{key:"_getDataCodec",value:function(){var t=this.parameters.valuesEncoding;return this.instantiateCodec(t,"byte")}}]),e}(n(40));(0,o.default)(r="_getLengthCodec _getDataCodec".split(" ")).call(r,(function(t){return u(f,t)})),t.exports=f},function(t,e,n){var r=n(1),i=r(n(7)),o=r(n(10)),s=r(n(32)),a=r(n(27)),c=r(n(33)),l=n(9).CramUnimplementedError,h=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if((0,i.default)(this,e),"int"!==(t=(0,s.default)(this,(0,a.default)(e).call(this,n,r))).dataType)throw new l("".concat(t.dataType," decoding not yet implemented by BETA codec"));return t}return(0,c.default)(e,t),(0,o.default)(e,[{key:"decode",value:function(t,e,n,r){return this._getBits(e.content,r.coreBlock,this.parameters.length)-this.parameters.offset}}]),e}(n(40));t.exports=h},function(t,e,n){var r=n(1),i=r(n(7)),o=r(n(10)),s=r(n(32)),a=r(n(27)),c=r(n(33)),l=n(9).CramUnimplementedError,h=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if((0,i.default)(this,e),"int"!==(t=(0,s.default)(this,(0,a.default)(e).call(this,n,r))).dataType)throw new l("".concat(t.dataType," decoding not yet implemented by GAMMA codec"));return t}return(0,c.default)(e,t),(0,o.default)(e,[{key:"decode",value:function(t,e,n,r){for(var i=1;0===this._getBits(e.content,r.coreBlock,1);)i+=1;return(this._getBits(e.content,r.coreBlock,i-1)|1<<i-1)-this.parameters.offset}}]),e}(n(40));t.exports=h},function(t,e,n){var r=n(1),i=r(n(7)),o=r(n(10)),s=r(n(32)),a=r(n(27)),c=r(n(33)),l=n(9).CramUnimplementedError,h=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if((0,i.default)(this,e),"int"!==(t=(0,s.default)(this,(0,a.default)(e).call(this,n,r))).dataType)throw new l("".concat(t.dataType," decoding not yet implemented by SUBEXP codec"));return t}return(0,c.default)(e,t),(0,o.default)(e,[{key:"decode",value:function(t,e,n,r){for(var i,o,s=0;this._getBits(e.content,r.coreBlock,1);)s+=1;return 0===s?(i=this.parameters.K,o=this._getBits(e.content,r.coreBlock,i)):o=1<<(i=s+this.parameters.K-1)|this._getBits(e.content,r.coreBlock,i),o-this.parameters.offset}}]),e}(n(40));t.exports=h},function(t,e,n){var r=n(420),i=n(422);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}e.parse=w,e.resolve=function(t,e){return w(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?w(t,!1,!0).resolveObject(e):e},e.format=function(t){return i.isString(t)&&(t=w(t)),t instanceof o?t.format():o.prototype.format.call(t)},e.Url=o;var s=/^([a-z0-9.+-]+:)/i,a=/:[0-9]*$/,c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,l=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),h=["'"].concat(l),u=["%","/","?",";","#"].concat(h),f=["/","?","#"],d=/^[+a-z0-9A-Z_-]{0,63}$/,p=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,g={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},b=n(423);function w(t,e,n){if(t&&i.isObject(t)&&t instanceof o)return t;var r=new o;return r.parse(t,e,n),r}o.prototype.parse=function(t,e,n){if(!i.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),a=-1!==o&&o<t.indexOf("#")?"?":"#",l=t.split(a);l[0]=l[0].replace(/\\/g,"/");var w=t=l.join(a);if(w=w.trim(),!n&&1===t.split("#").length){var y=c.exec(w);if(y)return this.path=w,this.href=w,this.pathname=y[1],y[2]?(this.search=y[2],this.query=e?b.parse(this.search.substr(1)):this.search.substr(1)):e&&(this.search="",this.query={}),this}var x=s.exec(w);if(x){var _=(x=x[0]).toLowerCase();this.protocol=_,w=w.substr(x.length)}if(n||x||w.match(/^\/\/[^@\/]+@[^@\/]+/)){var k="//"===w.substr(0,2);!k||x&&m[x]||(w=w.substr(2),this.slashes=!0)}if(!m[x]&&(k||x&&!v[x])){for(var S,C,E=-1,A=0;A<f.length;A++)-1!==(T=w.indexOf(f[A]))&&(-1===E||T<E)&&(E=T);for(-1!==(C=-1===E?w.lastIndexOf("@"):w.lastIndexOf("@",E))&&(S=w.slice(0,C),w=w.slice(C+1),this.auth=decodeURIComponent(S)),E=-1,A=0;A<u.length;A++){var T;-1!==(T=w.indexOf(u[A]))&&(-1===E||T<E)&&(E=T)}-1===E&&(E=w.length),this.host=w.slice(0,E),w=w.slice(E),this.parseHost(),this.hostname=this.hostname||"";var L="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!L)for(var R=this.hostname.split(/\./),M=(A=0,R.length);A<M;A++){var I=R[A];if(I&&!I.match(d)){for(var N="",F=0,P=I.length;F<P;F++)I.charCodeAt(F)>127?N+="x":N+=I[F];if(!N.match(d)){var O=R.slice(0,A),D=R.slice(A+1),B=I.match(p);B&&(O.push(B[1]),D.unshift(B[2])),D.length&&(w="/"+D.join(".")+w),this.hostname=O.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),L||(this.hostname=r.toASCII(this.hostname));var z=this.port?":"+this.port:"",j=this.hostname||"";this.host=j+z,this.href+=this.host,L&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==w[0]&&(w="/"+w))}if(!g[_])for(A=0,M=h.length;A<M;A++){var H=h[A];if(-1!==w.indexOf(H)){var V=encodeURIComponent(H);V===H&&(V=escape(H)),w=w.split(H).join(V)}}var U=w.indexOf("#");-1!==U&&(this.hash=w.substr(U),w=w.slice(0,U));var q=w.indexOf("?");if(-1!==q?(this.search=w.substr(q),this.query=w.substr(q+1),e&&(this.query=b.parse(this.query)),w=w.slice(0,q)):e&&(this.search="",this.query={}),w&&(this.pathname=w),v[_]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){z=this.pathname||"";var W=this.search||"";this.path=z+W}return this.href=this.format(),this},o.prototype.format=function(){var t=this.auth||"";t&&(t=(t=encodeURIComponent(t)).replace(/%3A/i,":"),t+="@");var e=this.protocol||"",n=this.pathname||"",r=this.hash||"",o=!1,s="";this.host?o=t+this.host:this.hostname&&(o=t+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&i.isObject(this.query)&&Object.keys(this.query).length&&(s=b.stringify(this.query));var a=this.search||s&&"?"+s||"";return e&&":"!==e.substr(-1)&&(e+=":"),this.slashes||(!e||v[e])&&!1!==o?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),r&&"#"!==r.charAt(0)&&(r="#"+r),a&&"?"!==a.charAt(0)&&(a="?"+a),e+o+(n=n.replace(/[?#]/g,(function(t){return encodeURIComponent(t)})))+(a=a.replace("#","%23"))+r},o.prototype.resolve=function(t){return this.resolveObject(w(t,!1,!0)).format()},o.prototype.resolveObject=function(t){if(i.isString(t)){var e=new o;e.parse(t,!1,!0),t=e}for(var n=new o,r=Object.keys(this),s=0;s<r.length;s++){var a=r[s];n[a]=this[a]}if(n.hash=t.hash,""===t.href)return n.href=n.format(),n;if(t.slashes&&!t.protocol){for(var c=Object.keys(t),l=0;l<c.length;l++){var h=c[l];"protocol"!==h&&(n[h]=t[h])}return v[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(t.protocol&&t.protocol!==n.protocol){if(!v[t.protocol]){for(var u=Object.keys(t),f=0;f<u.length;f++){var d=u[f];n[d]=t[d]}return n.href=n.format(),n}if(n.protocol=t.protocol,t.host||m[t.protocol])n.pathname=t.pathname;else{for(var p=(t.pathname||"").split("/");p.length&&!(t.host=p.shift()););t.host||(t.host=""),t.hostname||(t.hostname=""),""!==p[0]&&p.unshift(""),p.length<2&&p.unshift(""),n.pathname=p.join("/")}if(n.search=t.search,n.query=t.query,n.host=t.host||"",n.auth=t.auth,n.hostname=t.hostname||t.host,n.port=t.port,n.pathname||n.search){var g=n.pathname||"",b=n.search||"";n.path=g+b}return n.slashes=n.slashes||t.slashes,n.href=n.format(),n}var w=n.pathname&&"/"===n.pathname.charAt(0),y=t.host||t.pathname&&"/"===t.pathname.charAt(0),x=y||w||n.host&&t.pathname,_=x,k=n.pathname&&n.pathname.split("/")||[],S=(p=t.pathname&&t.pathname.split("/")||[],n.protocol&&!v[n.protocol]);if(S&&(n.hostname="",n.port=null,n.host&&(""===k[0]?k[0]=n.host:k.unshift(n.host)),n.host="",t.protocol&&(t.hostname=null,t.port=null,t.host&&(""===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),x=x&&(""===p[0]||""===k[0])),y)n.host=t.host||""===t.host?t.host:n.host,n.hostname=t.hostname||""===t.hostname?t.hostname:n.hostname,n.search=t.search,n.query=t.query,k=p;else if(p.length)k||(k=[]),k.pop(),k=k.concat(p),n.search=t.search,n.query=t.query;else if(!i.isNullOrUndefined(t.search))return S&&(n.hostname=n.host=k.shift(),(L=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=L.shift(),n.host=n.hostname=L.shift())),n.search=t.search,n.query=t.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n;if(!k.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var C=k.slice(-1)[0],E=(n.host||t.host||k.length>1)&&("."===C||".."===C)||""===C,A=0,T=k.length;T>=0;T--)"."===(C=k[T])?k.splice(T,1):".."===C?(k.splice(T,1),A++):A&&(k.splice(T,1),A--);if(!x&&!_)for(;A--;A)k.unshift("..");!x||""===k[0]||k[0]&&"/"===k[0].charAt(0)||k.unshift(""),E&&"/"!==k.join("/").substr(-1)&&k.push("");var L,R=""===k[0]||k[0]&&"/"===k[0].charAt(0);return S&&(n.hostname=n.host=R?"":k.length?k.shift():"",(L=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=L.shift(),n.host=n.hostname=L.shift())),(x=x||n.host&&k.length)&&!R&&k.unshift(""),k.length?n.pathname=k.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var t=this.host,e=a.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},function(t,e,n){(function(t,r){var i;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(o){e&&e.nodeType,t&&t.nodeType;var s="object"==typeof r&&r;s.global!==s&&s.window!==s&&s.self;var a,c=2147483647,l=36,h=/^xn--/,u=/[^\x20-\x7E]/,f=/[\x2E\u3002\uFF0E\uFF61]/g,d={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,g=String.fromCharCode;function m(t){throw new RangeError(d[t])}function v(t,e){for(var n=t.length,r=[];n--;)r[n]=e(t[n]);return r}function b(t,e){var n=t.split("@"),r="";return n.length>1&&(r=n[0]+"@",t=n[1]),r+v((t=t.replace(f,".")).split("."),e).join(".")}function w(t){for(var e,n,r=[],i=0,o=t.length;i<o;)(e=t.charCodeAt(i++))>=55296&&e<=56319&&i<o?56320==(64512&(n=t.charCodeAt(i++)))?r.push(((1023&e)<<10)+(1023&n)+65536):(r.push(e),i--):r.push(e);return r}function y(t){return v(t,(function(t){var e="";return t>65535&&(e+=g((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+g(t)})).join("")}function x(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function _(t,e,n){var r=0;for(t=n?p(t/700):t>>1,t+=p(t/e);t>455;r+=l)t=p(t/35);return p(r+36*t/(t+38))}function k(t){var e,n,r,i,o,s,a,h,u,f,d,g=[],v=t.length,b=0,w=128,x=72;for((n=t.lastIndexOf("-"))<0&&(n=0),r=0;r<n;++r)t.charCodeAt(r)>=128&&m("not-basic"),g.push(t.charCodeAt(r));for(i=n>0?n+1:0;i<v;){for(o=b,s=1,a=l;i>=v&&m("invalid-input"),((h=(d=t.charCodeAt(i++))-48<10?d-22:d-65<26?d-65:d-97<26?d-97:l)>=l||h>p((c-b)/s))&&m("overflow"),b+=h*s,!(h<(u=a<=x?1:a>=x+26?26:a-x));a+=l)s>p(c/(f=l-u))&&m("overflow"),s*=f;x=_(b-o,e=g.length+1,0==o),p(b/e)>c-w&&m("overflow"),w+=p(b/e),b%=e,g.splice(b++,0,w)}return y(g)}function S(t){var e,n,r,i,o,s,a,h,u,f,d,v,b,y,k,S=[];for(v=(t=w(t)).length,e=128,n=0,o=72,s=0;s<v;++s)(d=t[s])<128&&S.push(g(d));for(r=i=S.length,i&&S.push("-");r<v;){for(a=c,s=0;s<v;++s)(d=t[s])>=e&&d<a&&(a=d);for(a-e>p((c-n)/(b=r+1))&&m("overflow"),n+=(a-e)*b,e=a,s=0;s<v;++s)if((d=t[s])<e&&++n>c&&m("overflow"),d==e){for(h=n,u=l;!(h<(f=u<=o?1:u>=o+26?26:u-o));u+=l)k=h-f,y=l-f,S.push(g(x(f+k%y,0))),h=p(k/y);S.push(g(x(h,0))),o=_(n,b,r==i),n=0,++r}++n,++e}return S.join("")}a={version:"1.4.1",ucs2:{decode:w,encode:y},decode:k,encode:S,toASCII:function(t){return b(t,(function(t){return u.test(t)?"xn--"+S(t):t}))},toUnicode:function(t){return b(t,(function(t){return h.test(t)?k(t.slice(4).toLowerCase()):t}))}},void 0===(i=function(){return a}.call(e,n,e,t))||(t.exports=i)}()}).call(this,n(421)(t),n(23))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){t.exports={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},function(t,e,n){e.decode=e.parse=n(424),e.encode=e.stringify=n(425)},function(t,e,n){function r(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,n,o){e=e||"&",n=n||"=";var s={};if("string"!=typeof t||0===t.length)return s;var a=/\+/g;t=t.split(e);var c=1e3;o&&"number"==typeof o.maxKeys&&(c=o.maxKeys);var l=t.length;c>0&&l>c&&(l=c);for(var h=0;h<l;++h){var u,f,d,p,g=t[h].replace(a,"%20"),m=g.indexOf(n);m>=0?(u=g.substr(0,m),f=g.substr(m+1)):(u=g,f=""),d=decodeURIComponent(u),p=decodeURIComponent(f),r(s,d)?i(s[d])?s[d].push(p):s[d]=[s[d],p]:s[d]=p}return s};var i=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}},function(t,e,n){var r=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,e,n,a){return e=e||"&",n=n||"=",null===t&&(t=void 0),"object"==typeof t?o(s(t),(function(s){var a=encodeURIComponent(r(s))+n;return i(t[s])?o(t[s],(function(t){return a+encodeURIComponent(r(t))})).join(e):a+encodeURIComponent(r(t[s]))})).join(e):a?encodeURIComponent(r(a))+n+encodeURIComponent(r(t)):""};var i=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function o(t,e){if(t.map)return t.map(e);for(var n=[],r=0;r<t.length;r++)n.push(e(t[r],r));return n}var s=Object.keys||function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return e}},function(t,e,n){(function(e){var r=n(1),i=r(n(30)),o=r(n(159)),s=r(n(37)),a=r(n(31)),c=r(n(7)),l=r(n(10)),h=n(427),u=n(428),f=function(){function t(e){var n=this;(0,c.default)(this,t),this.position=0,this.url=e,this.cache=new u({fetch:function(t,e){return n._fetch(t,e)}})}var n,r,f;return(0,l.default)(t,[{key:"_fetch",value:(f=(0,a.default)(i.default.mark((function t(n,r){var a,c,l,u,f,d;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return c={},r<1/0?c.range=(0,s.default)(l="bytes=".concat(n,"-")).call(l,n+r):r===1/0&&0!==n&&(c.range="bytes=".concat(n,"-")),t.next=4,h(this.url,{method:"GET",headers:c,redirect:"follow",mode:"cors"});case 4:if((200!==(u=t.sent).status||0!==n)&&206!==u.status){t.next=14;break}return t.t0=e,t.next=9,u.arrayBuffer();case 9:return t.t1=t.sent,f=t.t0.from.call(t.t0,t.t1),(d=/\/(\d+)$/.exec(u.headers.get("content-range")))[1]&&(this._stat={size:(0,o.default)(d[1],10)}),t.abrupt("return",f);case 14:throw new Error((0,s.default)(a="HTTP ".concat(u.status," fetching ")).call(a,this.url));case 15:case"end":return t.stop()}}),t,this)}))),function(t,e){return f.apply(this,arguments)})},{key:"read",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=r;return null===i&&(i=this.position,this.position+=n),this.cache.get(t,e,n,r)}},{key:"readFile",value:(r=(0,a.default)(i.default.mark((function t(){var n;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,h(this.url,{method:"GET",redirect:"follow",mode:"cors"});case 2:return n=t.sent,t.t0=e,t.next=6,n.arrayBuffer();case 6:return t.t1=t.sent,t.abrupt("return",t.t0.from.call(t.t0,t.t1));case 8:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"stat",value:(n=(0,a.default)(i.default.mark((function t(){var n;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._stat){t.next=6;break}return n=e.allocUnsafe(10),t.next=4,this.read(n,0,10,0);case 4:if(this._stat){t.next=6;break}throw new Error("unable to determine size of file at ".concat(this.url));case 6:return t.abrupt("return",this._stat);case 7:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})}]),t}();t.exports=f}).call(this,n(19).Buffer)},function(t,e){var n=function(t){function e(){this.fetch=!1,this.DOMException=t.DOMException}return e.prototype=t,new e}("undefined"!=typeof self?self:this);!function(t){!function(e){var n="URLSearchParams"in t,r="Symbol"in t&&"iterator"in Symbol,i="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),o="FormData"in t,s="ArrayBuffer"in t;if(s)var a=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(t){return t&&a.indexOf(Object.prototype.toString.call(t))>-1};function l(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function h(t){return"string"!=typeof t&&(t=String(t)),t}function u(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r&&(e[Symbol.iterator]=function(){return e}),e}function f(t){this.map={},t instanceof f?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function d(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function p(t){return new Promise((function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}}))}function g(t){var e=new FileReader,n=p(e);return e.readAsArrayBuffer(t),n}function m(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:i&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:o&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:n&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():s&&i&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=m(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(t)||c(t))?this._bodyArrayBuffer=m(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var t=d(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?d(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(g)}),this.text=function(){var t,e,n,r=d(this);if(r)return r;if(this._bodyBlob)return t=this._bodyBlob,n=p(e=new FileReader),e.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r<e.length;r++)n[r]=String.fromCharCode(e[r]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o&&(this.formData=function(){return this.text().then(y)}),this.json=function(){return this.text().then(JSON.parse)},this}f.prototype.append=function(t,e){t=l(t),e=h(e);var n=this.map[t];this.map[t]=n?n+", "+e:e},f.prototype.delete=function(t){delete this.map[l(t)]},f.prototype.get=function(t){return t=l(t),this.has(t)?this.map[t]:null},f.prototype.has=function(t){return this.map.hasOwnProperty(l(t))},f.prototype.set=function(t,e){this.map[l(t)]=h(e)},f.prototype.forEach=function(t,e){for(var n in this.map)this.map.hasOwnProperty(n)&&t.call(e,this.map[n],n,this)},f.prototype.keys=function(){var t=[];return this.forEach((function(e,n){t.push(n)})),u(t)},f.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),u(t)},f.prototype.entries=function(){var t=[];return this.forEach((function(e,n){t.push([n,e])})),u(t)},r&&(f.prototype[Symbol.iterator]=f.prototype.entries);var b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function w(t,e){var n,r,i=(e=e||{}).body;if(t instanceof w){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new f(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,i||null==t._bodyInit||(i=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new f(e.headers)),this.method=(r=(n=e.method||this.method||"GET").toUpperCase(),b.indexOf(r)>-1?r:n),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function y(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),i=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(i))}})),e}function x(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new f(e.headers),this.url=e.url||"",this._initBody(t)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},v.call(w.prototype),v.call(x.prototype),x.prototype.clone=function(){return new x(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new f(this.headers),url:this.url})},x.error=function(){var t=new x(null,{status:0,statusText:""});return t.type="error",t};var _=[301,302,303,307,308];x.redirect=function(t,e){if(-1===_.indexOf(e))throw new RangeError("Invalid status code");return new x(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function k(t,n){return new Promise((function(r,o){var s=new w(t,n);if(s.signal&&s.signal.aborted)return o(new e.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function c(){a.abort()}a.onload=function(){var t,e,n={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new f,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var n=t.split(":"),r=n.shift().trim();if(r){var i=n.join(":").trim();e.append(r,i)}})),e)};n.url="responseURL"in a?a.responseURL:n.headers.get("X-Request-URL");var i="response"in a?a.response:a.responseText;r(new x(i,n))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new e.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&i&&(a.responseType="blob"),s.headers.forEach((function(t,e){a.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",c),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",c)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}k.polyfill=!0,t.fetch||(t.fetch=k,t.Headers=f,t.Request=w,t.Response=x),e.Headers=f,e.Request=w,e.Response=x,e.fetch=k}({})}(n),delete n.fetch.polyfill,(e=n.fetch).default=n.fetch,e.fetch=n.fetch,e.Headers=n.Headers,e.Request=n.Request,e.Response=n.Response,t.exports=e},function(t,e,n){var r=n(1),i=r(n(30)),o=r(n(16)),s=r(n(76)),a=r(n(31)),c=r(n(7)),l=r(n(10)),h=n(94),u=function(){function t(e){var n=e.fetch,r=e.size,i=void 0===r?1e7:r,o=e.chunkSize,s=void 0===o?32768:o;if((0,c.default)(this,t),!n)throw new Error("fetch function required");this.fetch=n,this.chunkSize=s,this.lruCache=new h({maxSize:Math.floor(i/s)})}var e;return(0,l.default)(t,[{key:"get",value:(e=(0,a.default)(i.default.mark((function t(e,n,r,a){var c,l,h,u,f,d,p,g=this;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e.length<n+r)){t.next=2;break}throw new Error("output buffer not big enough for request");case 2:for(c=Math.floor(a/this.chunkSize),l=Math.floor((a+r)/this.chunkSize),h=new Array(l-c+1),u=function(t){h[t-c]=g._getChunk(t).then((function(e){return{data:e,chunkNumber:t}}))},f=c;f<=l;f+=1)u(f);return t.next=9,s.default.all(h);case 9:d=t.sent,p=a-d[0].chunkNumber*this.chunkSize,(0,o.default)(d).call(d,(function(t){var i=t.data,o=t.chunkNumber,s=o*g.chunkSize,h=0,u=g.chunkSize,f=n+(o-c)*g.chunkSize-p;o===c&&(f=n,h=p),o===l&&(u=a+r-s),i.copy(e,f,h,u)}));case 12:case"end":return t.stop()}}),t,this)}))),function(t,n,r,i){return e.apply(this,arguments)})},{key:"_getChunk",value:function(t){var e=this.lruCache.get(t);if(e)return e;var n=this.fetch(t*this.chunkSize,this.chunkSize);return this.lruCache.set(t,n),n}}]),t}();t.exports=u},function(t,e,n){var r=n(1),i=r(n(30)),o=r(n(31)),s=r(n(7)),a=r(n(10)),c=(n(161).promisify,null),l=function(){function t(e){(0,s.default)(this,t),this.position=0,this.filename=e,this.fd=c(this.filename,"r")}var e,n,r;return(0,a.default)(t,[{key:"read",value:(r=(0,o.default)(i.default.mark((function t(e){var n,r,o,s=arguments;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=s.length>1&&void 0!==s[1]?s[1]:0,r=s.length>2?s[2]:void 0,null===(o=s.length>3?s[3]:void 0)&&(this.position,this.position+=r),t.t0=null,t.next=8,this.fd;case 8:return t.t1=t.sent,t.t2=e,t.t3=n,t.t4=r,t.t5=o,t.abrupt("return",(0,t.t0)(t.t1,t.t2,t.t3,t.t4,t.t5));case 14:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"readFile",value:(n=(0,o.default)(i.default.mark((function t(){return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=null,t.next=3,this.fd;case 3:return t.t1=t.sent,t.abrupt("return",(0,t.t0)(t.t1));case 5:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"stat",value:(e=(0,o.default)(i.default.mark((function t(){return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._stat){t.next=8;break}return t.t0=null,t.next=4,this.fd;case 4:return t.t1=t.sent,t.next=7,(0,t.t0)(t.t1);case 7:this._stat=t.sent;case 8:return t.abrupt("return",this._stat);case 9:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}();t.exports=l},function(t,e,n){var r=n(1),i=r(n(48)),o=r(n(77)),s=r(n(101)),a=r(n(431)),c=r(n(16));t.exports={parseHeaderText:function(t){var e=t.split(/\r?\n/),n=[];return(0,c.default)(e).call(e,(function(t){var e=t.split(/\t/),r=(0,a.default)(e),c=r[0],l=(0,s.default)(r).call(r,1),h=(0,o.default)(l).call(l,(function(t){var e=t.split(":",2),n=(0,i.default)(e,2);return{tag:n[0],value:n[1]}}));c&&n.push({tag:c.substr(1),data:h})})),n}}},function(t,e,n){var r=n(157),i=n(152),o=n(158);t.exports=function(t){return r(t)||i(t)||o()}},function(t,e,n){var r=n(1),i=r(n(30)),o=r(n(103)),s=r(n(150)),a=r(n(48)),c=r(n(102)),l=r(n(16)),h=r(n(59)),u=r(n(76)),f=r(n(37)),d=r(n(77)),p=r(n(433)),g=r(n(31)),m=r(n(7)),v=r(n(10)),b=n(9),w=b.CramUnimplementedError,y=b.CramSizeLimitError,x=n(104),_=function(){function t(e){if((0,m.default)(this,t),e.cram?this.cram=e.cram:this.cram=new x({url:e.cramUrl,path:e.cramPath,filehandle:e.cramFilehandle,seqFetch:e.seqFetch,checkSequenceMD5:e.checkSequenceMD5,cacheSize:e.cacheSize}),!(this.cram instanceof x))throw new Error("invalid arguments: no cramfile");if(this.index=e.index,!this.index.getEntriesForRange)throw new Error("invalid arguments: not an index");this.fetchSizeLimit=e.fetchSizeLimit||3e6}var e;return(0,v.default)(t,[{key:"getRecordsForRange",value:(e=(0,g.default)(i.default.mark((function t(e,n,r){var g,m,v,b,x,_,k,S,C,E,A,T,L,R,M,I,N,F,P,O,D,B,z,j,H,V,U,q,W,$,G,Z,X,Y,K,Q=this,J=arguments;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if((_=J.length>3&&void 0!==J[3]?J[3]:{}).viewAsPairs=_.viewAsPairs||!1,_.pairAcrossChr=_.pairAcrossChr||!1,_.maxInsertSize=_.maxInsertSize||2e5,"string"!=typeof e){t.next=6;break}throw new w("string sequence names not yet supported");case 6:return k=e,t.next=9,this.index.getEntriesForRange(k,n,r);case 9:if(S=t.sent,!((C=(0,p.default)(g=(0,d.default)(S).call(S,(function(t){return t.sliceBytes}))).call(g,(function(t,e){return t+e}),0))>this.fetchSizeLimit)){t.next=13;break}throw new y((0,f.default)(m="data size of ".concat(C.toLocaleString()," bytes exceeded fetch size limit of ")).call(m,this.fetchSizeLimit.toLocaleString()," bytes"));case 13:return E=function(t){return t.sequenceId===e&&t.alignmentStart<=r&&t.alignmentStart+t.lengthOnRef-1>=n},t.next=16,u.default.all((0,d.default)(S).call(S,(function(t){return Q.getRecordsInSlice(t,E)})));case 16:if(A=t.sent,T=(b=(0,f.default)(v=Array.prototype)).call.apply(b,(0,f.default)(x=[v]).call(x,(0,h.default)(A))),!_.viewAsPairs){t.next=42;break}for(I={},N={},F=0;F<T.length;F+=1)P=T[F].readName,O=T[F].uniqueId,I[P]||(I[P]=0),I[P]+=1,N[O]=1;for(D={},(0,l.default)(L=(0,c.default)(I)).call(L,(function(t){var e=(0,a.default)(t,2),n=e[0];1===e[1]&&(D[n]=!0)})),B=[],z=0;z<T.length;z+=1)j=T[z].readName,D[j]&&T[z].mate&&(T[z].mate.sequenceId===k||_.pairAcrossChr)&&Math.abs(T[z].alignmentStart-T[z].mate.alignmentStart)<_.maxInsertSize&&(H=this.index.getEntriesForRange(T[z].mate.sequenceId,T[z].mate.alignmentStart,T[z].mate.alignmentStart+1),B.push(H));return t.next=28,u.default.all(B);case 28:for(V=t.sent,U=[],q=0;q<V.length;q+=1)(W=U).push.apply(W,(0,h.default)(V[q]));if(U=(0,s.default)(R=(0,o.default)(U).call(U,(function(t,e){return t.toString().localeCompare(e.toString())}))).call(R,(function(t,e,n){return!e||t.toString()!==n[e-1].toString()})),$=[],G=[],!((Z=(0,p.default)(M=(0,d.default)(U).call(U,(function(t){return t.sliceBytes}))).call(M,(function(t,e){return t+e}),0))>this.fetchSizeLimit)){t.next=37;break}throw new Error((0,f.default)(X="mate data size of ".concat(Z.toLocaleString()," bytes exceeded fetch size limit of ")).call(X,this.fetchSizeLimit.toLocaleString()," bytes"));case 37:return(0,l.default)(U).call(U,(function(t){var e=Q.cram.featureCache.get(t.toString());e||(e=Q.getRecordsInSlice(t,(function(){return!0})),Q.cram.featureCache.set(t.toString(),e)),$.push(e);var n=e.then((function(t){for(var e=[],n=0;n<t.length;n+=1){var r=t[n];D[r.readName]&&!N[r.uniqueId]&&e.push(r)}return e}));G.push(n)})),t.next=40,u.default.all(G);case 40:(Y=t.sent).length&&(K=(0,p.default)(Y).call(Y,(function(t,e){return(0,f.default)(t).call(t,e)})),T=(0,f.default)(T).call(T,K));case 42:return t.abrupt("return",T);case 43:case"end":return t.stop()}}),t,this)}))),function(t,n,r){return e.apply(this,arguments)})},{key:"getRecordsInSlice",value:function(t,e){var n=t.containerStart,r=t.sliceStart,i=t.sliceBytes;return this.cram.getContainerAtPosition(n).getSlice(r,i).getRecords(e)}},{key:"hasDataForReferenceSequence",value:function(t){return this.index.hasDataForReferenceSequence(t)}}]),t}();t.exports=_},function(t,e,n){t.exports=n(434)},function(t,e,n){t.exports=n(435)},function(t,e,n){var r=n(436),i=Array.prototype;t.exports=function(t){var e=t.reduce;return t===i||t instanceof Array&&e===i.reduce?r:e}},function(t,e,n){n(437);var r=n(18);t.exports=r("Array").reduce},function(t,e,n){var r=n(0),i=n(438).left;r({target:"Array",proto:!0,forced:n(54)("reduce")},{reduce:function(t){return i(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(5),i=n(22),o=n(60),s=n(29),a=function(t){return function(e,n,a,c){r(n);var l=i(e),h=o(l),u=s(l.length),f=t?u-1:0,d=t?-1:1;if(a<2)for(;;){if(f in h){c=h[f],f+=d;break}if(f+=d,t?f<0:u<=f)throw TypeError("Reduce of empty array with no initial value")}for(;t?f>=0:u>f;f+=d)f in h&&(c=n(c,h[f],f,l));return c}};t.exports={left:a(!1),right:a(!0)}},function(t,e,n){var r=n(1),i=r(n(30)),o=r(n(31)),s=r(n(103)),a=r(n(102)),c=r(n(16)),l=r(n(154)),h=r(n(440)),u=r(n(48)),f=r(n(442)),d=r(n(37)),p=r(n(75)),g=r(n(7)),m=r(n(10)),v=n(447).default,b=n(94),w=(0,n(161).promisify)(n(126).gunzip),y=n(160).open,x=n(9).CramMalformedError,_=function(){function t(e){(0,g.default)(this,t),(0,p.default)(this,e)}return(0,m.default)(t,[{key:"toString",value:function(){var t,e,n,r;return(0,d.default)(t=(0,d.default)(e=(0,d.default)(n=(0,d.default)(r="".concat(this.start,":")).call(r,this.span,":")).call(n,this.containerStart,":")).call(e,this.sliceStart,":")).call(t,this.sliceBytes)}}]),t}();function k(t,e){if((0,f.default)(e).call(e,(function(t){return void 0===t})))throw new x("invalid .crai index file");var n=(0,u.default)(e,6),r=n[0],i=n[1],o=n[2],s=n[3],a=n[4],c=n[5];t[r]||(t[r]=[]),t[r].push(new _({start:i,span:o,containerStart:s,sliceStart:a,sliceBytes:c}))}var S=function(){function t(e){var n,r=this;(0,g.default)(this,t);var i=y(e.url,e.path,e.filehandle);this._parseCache=new v({cache:new b({maxSize:1}),fill:function(t,e){return r.parseIndex({signal:e})}}),this.readFile=(0,h.default)(n=i.readFile).call(n,i)}var e,n;return(0,m.default)(t,[{key:"parseIndex",value:function(){var t={};return this.readFile().then((function(t){return 31===t[0]&&139===t[1]?w(t):t})).then((function(e){var n;if(e.length>4&&21578050===e.readUInt32LE(0))throw new x("invalid .crai index file. note: file appears to be a .bai index. this is technically legal but please open a github issue if you need support");for(var r=[],i="",o=0;o<e.length;o+=1){var h=e[o];if(h>=48&&h<=57||!i&&45===h)i+=String.fromCharCode(h);else if(9===h)r.push((0,l.default)(i,10)),i="";else if(10===h)r.push((0,l.default)(i,10)),i="",k(t,r),r=[];else if(13!==h&&32!==h)throw new x("invalid .crai index file")}return i&&r.push((0,l.default)(i,10)),6===r.length&&k(t,r),(0,c.default)(n=(0,a.default)(t)).call(n,(function(e){var n=(0,u.default)(e,2),r=n[0],i=n[1];t[r]=(0,s.default)(i).call(i,(function(t,e){return t.start-e.start||t.span-e.span}))})),t}))}},{key:"getIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._parseCache.get("index",null,t.signal)}},{key:"hasDataForReferenceSequence",value:(n=(0,o.default)(i.default.mark((function t(e){return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getIndex();case 2:return t.t0=e,t.abrupt("return",!!t.sent[t.t0]);case 4:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"getEntriesForRange",value:(e=(0,o.default)(i.default.mark((function t(e,n,r){var o,s,a,c;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getIndex();case 2:if(t.t0=e,o=t.sent[t.t0]){t.next=6;break}return t.abrupt("return",[]);case 6:for(s=function(t){var e=t.start,i=t.start+t.span;return e>=r?-1:i<=n?1:0},a=[],c=0;c<o.length;c+=1)0===s(o[c])&&a.push(o[c]);return t.abrupt("return",a);case 10:case"end":return t.stop()}}),t,this)}))),function(t,n,r){return e.apply(this,arguments)})}]),t}();t.exports=S},function(t,e,n){t.exports=n(441)},function(t,e,n){t.exports=n(144)},function(t,e,n){t.exports=n(443)},function(t,e,n){t.exports=n(444)},function(t,e,n){var r=n(445),i=Array.prototype;t.exports=function(t){var e=t.some;return t===i||t instanceof Array&&e===i.some?r:e}},function(t,e,n){n(446);var r=n(18);t.exports=r("Array").some},function(t,e,n){var r=n(0),i=n(45).some;r({target:"Array",proto:!0,forced:n(54)("some")},{some:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(n(448));e.default=i.default},function(t,e,n){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=n(162),o=r(n(450)),s=function(){function t(t){var e=t.fill,n=t.cache;if("function"!=typeof e)throw new TypeError("must pass a fill function");if("object"!=typeof n)throw new TypeError("must pass a cache object");if("function"!=typeof n.get||"function"!=typeof n.set||"function"!=typeof n.delete)throw new TypeError("cache must implement get(key), set(key, val), and and delete(key)");this.cache=n,this.fillCallback=e}return t.isAbortException=function(t){return"AbortError"===t.name||"ERR_ABORTED"===t.code||"AbortError: aborted"===t.message||"Error: aborted"===t.message},t.prototype.evict=function(t,e){this.cache.get(t)===e&&this.cache.delete(t)},t.prototype.fill=function(t,e,n){var r=this,i=new o.default,s={aborter:i,promise:this.fillCallback(e,i.signal),settled:!1,get aborted(){return this.aborter.signal.aborted}};s.aborter.addSignal(n),s.aborter.signal.addEventListener("abort",(function(){r.evict(t,s)})),s.promise.then((function(){s.settled=!0}),(function(e){s.settled=!0,r.evict(t,s)})).catch((function(t){throw console.error(t),t})),this.cache.set(t,s)},t.checkSinglePromise=function(t,e){function n(){if(e&&e.aborted)throw Object.assign(new Error("aborted"),{code:"ERR_ABORTED"})}return t.then((function(t){return n(),t}),(function(t){throw n(),t}))},t.prototype.has=function(t){return this.cache.has(t)},t.prototype.get=function(e,n,r){if(!r&&n instanceof i.AbortSignal)throw new TypeError("second get argument appears to be an AbortSignal, perhaps you meant to pass `null` for the fill data?");var o=this.cache.get(e);return o?o.aborted?(this.evict(e,o),this.get(e,n,r)):o.settled?o.promise:(o.aborter.addSignal(r),t.checkSinglePromise(o.promise,r)):(this.fill(e,n,r),t.checkSinglePromise(this.cache.get(e).promise,r))},t.prototype.delete=function(t){var e=this.cache.get(t);e&&(e.settled||e.aborter.abort(),this.cache.delete(t))},t.prototype.clear=function(){for(var t=this.cache.keys(),e=0,n=t.next();!n.done;n=t.next())this.delete(n.value),e+=1;return e},t}();e.default=s},function(t,e,n){function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function o(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function s(t){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function c(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t,e,n){return(l="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=s(t)););return t}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(n):i.value}})(t,e,n||t)}Object.defineProperty(e,"__esModule",{value:!0});var h=function(){function t(){r(this,t),Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}return o(t,[{key:"addEventListener",value:function(t,e){t in this.listeners||(this.listeners[t]=[]),this.listeners[t].push(e)}},{key:"removeEventListener",value:function(t,e){if(t in this.listeners)for(var n=this.listeners[t],r=0,i=n.length;r<i;r++)if(n[r]===e)return void n.splice(r,1)}},{key:"dispatchEvent",value:function(t){var e=this;if(t.type in this.listeners){for(var n=function(n){setTimeout((function(){return n.call(e,t)}))},r=this.listeners[t.type],i=0,o=r.length;i<o;i++)n(r[i]);return!t.defaultPrevented}}}]),t}(),u=function(t){function e(){var t;return r(this,e),(t=function(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?c(t):e}(this,s(e).call(this))).listeners||h.call(c(t)),Object.defineProperty(c(t),"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(c(t),"onabort",{value:null,writable:!0,configurable:!0}),t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(e,t),o(e,[{key:"toString",value:function(){return"[object AbortSignal]"}},{key:"dispatchEvent",value:function(t){"abort"===t.type&&(this.aborted=!0,"function"==typeof this.onabort&&this.onabort.call(this,t)),l(s(e.prototype),"dispatchEvent",this).call(this,t)}}]),e}(h),f=function(){function t(){r(this,t),Object.defineProperty(this,"signal",{value:new u,writable:!0,configurable:!0})}return o(t,[{key:"abort",value:function(){var t;try{t=new Event("abort")}catch(e){"undefined"!=typeof document?document.createEvent?(t=document.createEvent("Event")).initEvent("abort",!1,!1):(t=document.createEventObject()).type="abort":t={type:"abort",bubbles:!1,cancelable:!1}}this.signal.dispatchEvent(t)}},{key:"toString",value:function(){return"[object AbortController]"}}]),t}();"undefined"!=typeof Symbol&&Symbol.toStringTag&&(f.prototype[Symbol.toStringTag]="AbortController",u.prototype[Symbol.toStringTag]="AbortSignal"),e.AbortController=f,e.AbortSignal=u,e.abortableFetch=function(t){"function"==typeof t&&(t={fetch:t});var e=t,n=e.fetch,r=e.Request,i=void 0===r?n.Request:r,o=e.AbortController,s=e.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,a=void 0!==s&&s;if(!function(t){return t.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):"function"==typeof t.Request&&!t.Request.prototype.hasOwnProperty("signal")||!t.AbortController}({fetch:n,Request:i,AbortController:o,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:a}))return{fetch:n,Request:c};var c=i;(c&&!c.prototype.hasOwnProperty("signal")||a)&&((c=function(t,e){var n;e&&e.signal&&(n=e.signal,delete e.signal);var r=new i(t,e);return n&&Object.defineProperty(r,"signal",{writable:!1,enumerable:!1,configurable:!0,value:n}),r}).prototype=i.prototype);var l=n;return{fetch:function(t,e){var n=c&&c.prototype.isPrototypeOf(t)?t.signal:e?e.signal:void 0;if(n){var r;try{r=new DOMException("Aborted","AbortError")}catch(t){(r=new Error("Aborted")).name="AbortError"}if(n.aborted)return Promise.reject(r);var i=new Promise((function(t,e){n.addEventListener("abort",(function(){return e(r)}),{once:!0})}));return e&&e.signal&&delete e.signal,Promise.race([i,l(t,e)])}return l(t,e)},Request:c}}},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(162),i=function(){},o=function(){function t(){this.signals=new Set,this.abortController=new r.AbortController}return t.prototype.addSignal=function(t){var e=this;if(void 0===t&&(t=new i),this.signal.aborted)throw new Error("cannot add a signal, already aborted!");this.signals.add(t),t.aborted?this.handleAborted(t):"function"==typeof t.addEventListener&&t.addEventListener("abort",(function(){e.handleAborted(t)}))},t.prototype.handleAborted=function(t){this.signals.delete(t),0===this.signals.size&&this.abortController.abort()},Object.defineProperty(t.prototype,"signal",{get:function(){return this.abortController.signal},enumerable:!0,configurable:!0}),t.prototype.abort=function(){this.abortController.abort()},t}();e.default=o}]);class Ih{constructor(t,e,n){this.config=t,this.browser=n,this.genome=e,this.cramFile=new Mh.CramFile({filehandle:new Nh(t.url,t),seqFetch:t.seqFetch||function(t,e,n){const r=this.genome.sequence,i=this.genome;return this.getHeader().then((function(o){const s=i.getChromosomeName(o.chrNames[t]);return r.getSequence(s,e-1,n)}))}.bind(this),checkSequenceMD5:void 0===t.checkSequenceMD5||t.checkSequenceMD5});const r=new Nh(t.indexURL,t);this.indexedCramFile=new Mh.IndexedCramFile({cram:this.cramFile,index:new Mh.CraiIndex({filehandle:r}),fetchSizeLimit:3e7}),wh.setReaderDefaults(this,t)}async getHeader(){if(!this.header){const t=this.genome,e=await this.cramFile.getSamHeader(),n={},r=[],i={},o=[];for(let s of e)if("SQ"===s.tag){for(let e of s.data)if("SN"===e.tag){const o=e.value;if(n[o]=r.length,r.push(o),t){i[t.getChromosomeName(o)]=o}break}}else"RG"===s.tag&&o.push(s.data);this.header={chrNames:r,chrToIndex:n,chrAliasTable:i,readGroups:o}}return this.header}async readAlignments(t,e,n){this.browser;const r=await this.getHeader(),i=r.chrAliasTable.hasOwnProperty(t)?r.chrAliasTable[t]:t,o=r.chrToIndex[i],s=new th(t,e,n,this.samplingWindowSize,this.samplingDepth,this.pairsSupported,this.alleleFreqThreshold);if(void 0===o)return s;try{const t=await this.indexedCramFile.getRecordsForRange(o,e,n);for(let i of t){const t=i.sequenceId,c=i.alignmentStart,l=c+i.lengthOnRef;if(t<0)continue;if(t>o||c>n)return;if(t<o)continue;if(l<e)continue;const h=a(i,r.chrNames);this.filter.pass(h)&&s.push(h)}return s.finish(),s}catch(t){let e=t.message;throw e&&e.indexOf("MD5")>=0&&(e="Sequence mismatch. Is this the correct genome for the loaded CRAM?"),qo.presentAlert(new Error(e)),t}function a(t,e){const n=new ah;if(n.chr=e[t.sequenceId],n.start=t.alignmentStart-1,n.lengthOnRef=t.lengthOnRef,n.flags=t.flags,n.strand=!(16&t.flags),n.fragmentLength=t.templateLength||t.templateSize,n.mq=t.mappingQuality,n.end=t.alignmentStart+t.lengthOnRef,n.readGroupId=t.readGroupId,t.mate&&void 0!==t.mate.sequenceId){const r=void 0!==t.mate.flags?!(1&t.mate.flags):!(32&t.flags);n.mate={chr:e[t.mate.sequenceId],position:t.mate.alignmentStart,strand:r}}return n.seq=t.getReadBases(),n.qual=t.qualityScores,n.tagDict=t.tags,n.readName=t.readName,function(t,e){const n=[];let r,i,o=0,s="";if(e.scStart=e.start,e.scLengthOnRef=e.lengthOnRef,t.readFeatures)for(let a of t.readFeatures){const t=a.code,c=a.data,l=a.pos-1,h=a.refPos-1;switch(t){case"S":case"I":case"i":case"N":case"D":if(l>o){const t=l-o;n.push(new ph({start:h-t,seqOffset:o,len:t,type:"M"})),o+=t,s+=t+"M"}if("S"===t){let r=h;e.scLengthOnRef+=c.length,0===l&&(e.scStart-=c.length,r-=c.length);const i=c.length;n.push(new ph({start:r,seqOffset:o,len:i,type:"S"})),o+=i,s+=i+t}else if("I"===t||"i"===t){void 0===r&&(r=[]);const e="i"===t?1:c.length;r.push(new ph({start:h,len:e,seqOffset:o,type:"I"})),o+=e,s+=e+t}else"D"!==t&&"N"!==t||(i||(i=[]),i.push({start:h,len:c,type:t}),s+=c+t);break;case"H":case"P":s+=c+t}}const a=t.readLength-o;a>0&&(n.push(new ph({start:t.alignmentStart+t.lengthOnRef-a-1,seqOffset:o,len:a,type:"M"})),s+=a+"M");e.blocks=n,e.insertions=r,e.gaps=i,e.cigar=s}(t,n),n.mate&&n.start>n.mate.position&&n.fragmentLength>0&&(n.fragmentLength=-n.fragmentLength),wh.setPairOrientation(n),n}}}class Nh{constructor(t,e){this.position=0,this.url=t,this.config=e,this.cache=new Fh({fetch:(t,e)=>this._fetch(t,e)})}async _fetch(t,e){const n={start:t,size:e};this._stat={size:void 0};const r=await so.loadArrayBuffer(this.url,cs(this.config,{range:n}));return Buffer.from(r)}async read(t,e=0,n=1/0,r=0){let i=r;return null===r&&(i=this.position,this.position+=n),this.cache.get(t,e,n,r)}async readFile(){const t=await so.loadArrayBuffer(this.url,cs(this.config));return Buffer.from(t)}async stat(){if(!this._stat){const t=Buffer.allocUnsafe(10);if(await this.read(t,0,10,0),!this._stat)throw new Error(`unable to determine size of file at ${this.url}`)}return this._stat}}class Fh{constructor({fetch:t,size:e=1e7,chunkSize:n=32768}){this.fetch=t,this.chunkSize=n,this.lruCache=new Ph({maxSize:Math.floor(e/n)})}async get(t,e,n,r){if(t.length<e+n)throw new Error("output buffer not big enough for request");const i=Math.floor(r/this.chunkSize),o=Math.floor((r+n)/this.chunkSize),s=new Array(o-i+1);for(let t=i;t<=o;t+=1)s[t-i]=this._getChunk(t).then((e=>({data:e,chunkNumber:t})));const a=await Promise.all(s),c=r-a[0].chunkNumber*this.chunkSize;a.forEach((({data:s,chunkNumber:a})=>{const l=a*this.chunkSize;let h=0,u=this.chunkSize,f=e+(a-i)*this.chunkSize-c;a===i&&(f=e,h=c),a===o&&(u=r+n-l),s.copy(t,f,h,u)}))}_getChunk(t){const e=this.lruCache.get(t);if(e)return e;const n=this.fetch(t*this.chunkSize,this.chunkSize);return this.lruCache.set(t,n),n}}class Ph{constructor(t={}){if(!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=t.maxSize,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(t,e){this.cache.set(t,e),this._size++,this._size>=this.maxSize&&(this._size=0,this.oldCache=this.cache,this.cache=new Map)}get(t){if(this.cache.has(t))return this.cache.get(t);if(this.oldCache.has(t)){const e=this.oldCache.get(t);return this._set(t,e),e}}set(t,e){return this.cache.has(t)?this.cache.set(t,e):this._set(t,e),this}has(t){return this.cache.has(t)||this.oldCache.has(t)}peek(t){return this.cache.has(t)?this.cache.get(t):this.oldCache.has(t)?this.oldCache.get(t):void 0}delete(t){const e=this.cache.delete(t);return e&&this._size--,this.oldCache.delete(t)||e}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(const[t]of this)yield t}*values(){for(const[,t]of this)yield t}*[Symbol.iterator](){for(const t of this.cache)yield t;for(const t of this.oldCache){const[e]=t;this.cache.has(e)||(yield t)}}get size(){let t=0;for(const e of this.oldCache.keys())this.cache.has(e)||t++;return this._size+t}}var Oh={ALIGNMENT_MATCH:"M",INSERT:"I",DELETE:"D",SKIP:"N",CLIP_SOFT:"S",CLIP_HARD:"H",PAD:"P",SEQUENCE_MATCH:"=",SEQUENCE_MISMATCH:"X"};const Dh=function(t,e){this.config=t,this.genome=e,this.url=t.url,this.filter=new gh(t.filter),this.readGroupSetIds=t.readGroupSetIds,this.authKey=t.authKey,this.samplingWindowSize=void 0===t.samplingWindowSize?100:t.samplingWindowSize,this.samplingDepth=void 0===t.samplingDepth?1e3:t.samplingDepth,t.viewAsPairs?this.pairsSupported=!0:this.pairsSupported=void 0===t.pairsSupported||t.pairsSupported};Dh.prototype.readAlignments=function(t,e,n){const r=this.genome,i=this;return(i.chrAliasTable?Promise.resolve(i.chrAliasTable):i.readMetadata().then((function(t){if(i.chrAliasTable={},r&&t.readGroups&&t.readGroups.length>0){var e=t.readGroups[0].referenceSetId;return e?qc({url:i.url+"/references/search",body:{referenceSetId:e},decode:function(t){return t.references}}).then((function(t){return t.forEach((function(t){var e=t.name,n=r.getChromosomeName(e);i.chrAliasTable[n]=e})),i.chrAliasTable})):(function(t,e){var n;if("461916304629"===e||"337315832689"===e){for(n=1;n<23;n++)t["chr"+n]=n;t.chrX="X",t.chrY="Y",t.chrM="MT"}}(i.chrAliasTable,i.config.datasetId),i.chrAliasTable)}return i.chrAliasTable}))).then((function(r){var s=r.hasOwnProperty(t)?r[t]:t;return qc({url:i.url+"/reads/search",body:{readGroupSetIds:[i.readGroupSetIds],referenceName:s,start:e,end:n,pageSize:"10000"},decode:o,results:new th(t,e,n,i.samplingWindowSize,i.samplingDepth,i.pairsSupported,i.alleleFreqThreshold)})}));function o(t){var e,n,o,s,a,c=t.alignments,l=c.length,h=[];for(e=0;e<l;e++){let t=c[e];(n=new ah).readName=t.fragmentName,n.properPlacement=t.properPlacement,n.duplicateFragment=t.duplicateFragment,n.numberReads=t.numberReads,n.fragmentLength=t.fragmentLength,n.readNumber=t.readNumber,n.failedVendorQualityChecks=t.failedVendorQualityChecks,n.secondaryAlignment=t.secondaryAlignment,n.supplementaryAlignment=t.supplementaryAlignment,n.seq=t.alignedSequence,n.qual=t.alignedQuality,n.matePos=t.nextMatePosition,n.tagDict=t.info,n.flags=0,t.alignment?(n.mapped=!0,n.chr=t.alignment.position.referenceName,r&&(n.chr=r.getChromosomeName(n.chr)),n.start=parseInt(t.alignment.position.position),n.strand=!t.alignment.position.reverseStrand,n.mq=t.alignment.mappingQuality,n.cigar=u(t.alignment.cigar),o=f(t.alignment.cigar),n.lengthOnRef=o.lengthOnRef,a=d(n,o.array),n.blocks=a.blocks,n.insertions=a.insertions):n.mapped=!1,(s=t.nextMatePosition)&&(n.mate={chr:s.referenceFrame,position:parseInt(s.position),strand:!s.reverseStrand}),i.filter.pass(n)&&h.push(n)}return h;function u(t){var e="";return t.forEach((function(t){var n=Oh[t.operation],r=t.operationLength;e+=r+n})),e}function f(t){var e,n,r,i,o=0,s=[];for(i=0;i<t.length;i++)e=t[i],r=Oh[e.operation],n=parseInt(e.operationLength),"M"!==r&&"EQ"!==r&&"X"!==r&&"D"!==r&&"N"!==r&&"="!==r||(o+=n),s.push({len:n,ltr:r});return{lengthOnRef:o,array:s}}function d(t,e){for(var n,r,i,o=[],s=0,a=t.start,c=e.length,l=0;l<c;l++){var h=e[l];switch(h.ltr){case"H":case"P":break;case"S":s+=h.len,i="S";break;case"N":case"D":void 0===n&&(n=[]),n.push({start:a,len:h.len,type:h.ltr}),a+=h.len;break;case"I":void 0===r&&(r=[]),r.push(new ph({start:a,len:h.len,seqOffset:s})),s+=h.len;break;case"M":case"EQ":case"=":case"X":o.push(new ph({start:a,len:h.len,seqOffset:s,gapType:i})),s+=h.len,a+=h.len;break;default:console.log("Error processing cigar element: "+h.len+h.ltr)}}return{blocks:o,insertions:r,gaps:n}}}},Dh.prototype.readMetadata=function(){return Uc({url:this.url,entity:"readgroupsets",entityId:this.readGroupSetIds})};class Bh{constructor(t,e){const n=e.genome;if(this.config=t,this.genome=n,this.alignmentContainer=void 0,ds(t.url)){if("cram"===t.format)throw"CRAM data uris are not supported";this.config.indexed=!1}if("ga4gh"===t.sourceType)this.bamReader=new Dh(t,n);else if("pysam"===t.sourceType)this.bamReader=new Ah(t,n);else if("htsget"===t.sourceType)this.bamReader=new Lh(t,n);else if("shardedBam"===t.sourceType)this.bamReader=new Eh(t,n);else if("cram"===t.format)this.bamReader=new Ih(t,n,e);else{if(!this.config.indexURL&&!1!==t.indexed)if(_e(this.config.url)){const t=function(t,e){if(_e(t)){if(t.includes("?")){const n=t.indexOf("?");return t.substring(0,n)+"."+e+t.substring(n)}return t+"."+e}}(this.config.url,"bai");t?(console.error(`Warning: no indexURL specified for ${this.config.url}. Guessing ${this.baiPath}`),this.config.indexURL=t):(console.error(`Warning: no indexURL specified for ${this.config.url}.`),this.config.indexed=!1)}else console.error(`Warning: no indexURL specified for ${this.config.name}.`),this.config.indexed=!1;!1!==this.config.indexed?this.bamReader=new Ch(t,n):this.bamReader=new Sh(t,n)}this.viewAsPairs=t.viewAsPairs,this.showSoftClips=t.showSoftClips}setViewAsPairs(t){this.viewAsPairs!==t&&(this.viewAsPairs=t)}setShowSoftClips(t){this.showSoftClips!==t&&(this.showSoftClips=t)}async getAlignments(t,e,n){const r=this.genome,i=this.showSoftClips;if(this.alignmentContainer&&this.alignmentContainer.contains(t,e,n))return this.alignmentContainer;{const o=await this.bamReader.readAlignments(t,e,n);let s=o.alignments;this.viewAsPairs||(s=Ql([{alignments:s}]));const a=s.length>0;if(o.packedAlignmentRows=Jl(s,o.start,o.end,i),o.alignments=void 0,this.alignmentContainer=o,a){const e=await r.sequence.getSequence(t,o.start,o.end);if(e)return o.coverageMap.refSeq=e,o.sequence=e,o;console.error("No sequence for: "+t+":"+o.start+"-"+o.end)}return o}}}class zh extends rc{constructor(t,e){super(t,e)}init(t){super.init(t),this.type="alignment",void 0===t.alleleFreqThreshold&&(t.alleleFreqThreshold=.2),this.featureSource=new Bh(t,this.browser),this.showCoverage=void 0===t.showCoverage||t.showCoverage,this.showAlignments=void 0===t.showAlignments||t.showAlignments,this.coverageTrack=new jh(t,this),this.alignmentTrack=new Hh(t,this),this.alignmentTrack.setTop(this.coverageTrack,this.showCoverage),this.visibilityWindow=t.visibilityWindow||3e4,this.viewAsPairs=t.viewAsPairs,this.pairsSupported=!1!==t.pairsSupported,this.showSoftClips=t.showSoftClips,this.showAllBases=t.showAllBases,this.showMismatches=!1!==t.showMismatches,this.color=t.color,this.coverageColor=t.coverageColor,this.minFragmentLength=t.minFragmentLength,this.maxFragmentLength=t.maxFragmentLength,t.sort&&(Array.isArray(t.sort)?this.assignSort(t.sort[0]):this.assignSort(t.sort)),this.height=void 0!==t.height?t.height:300}set height(t){this._height=t,this.coverageTrack&&this.showAlignments&&(this.alignmentTrack.height=this.showCoverage?t-this.coverageTrack.height:t)}get height(){return this._height}sort(t){t=this.assignSort(t);for(let e of this.trackView.viewports)if(e.containsPosition(t.chr,t.position)){const n=e.getCachedFeatures();n&&(Vh(t,n),e.repaint())}}assignSort(t){if(t.locus){const e=function(t){const e=t.split(":"),n=e[1].split("-"),r={chr:e[0],start:Number.parseInt(n[0].replace(/,/g,""))-1};return n.length>1?r.end=Number.parseInt(n[1].replace(/,/g,"")):r.end=r.start+1,r}(t.locus);t.chr=e.chr,t.position=e.start}else t.position--;return t.direction="ASC"===t.direction||!0===t.direction,t.chr=this.browser.genome.getChromosomeName(t.chr),this.sortObject=t,this.sortObject}async getFeatures(t,e,n,r,i){const o=await this.featureSource.getAlignments(t,e,n);o.alignments&&o.alignments.length>99&&(void 0===this.minFragmentLength&&(this.minFragmentLength=o.pairedEndStats.lowerFragmentLength),void 0===this.maxFragmentLength&&(this.maxFragmentLength=o.pairedEndStats.upperFragmentLength));const s=this.sortObject;return s&&s.chr===t&&s.position>=e&&s.position<=n&&Vh(s,o),o}computePixelHeight(t){return(this.showCoverage?this.coverageTrack.height:0)+(this.showAlignments?this.alignmentTrack.computePixelHeight(t):0)+15}draw(t){es.fillRect(t.context,0,t.pixelTop,t.pixelWidth,t.pixelHeight,{fillStyle:"rgb(255, 255, 255)"}),!0===this.showCoverage&&this.coverageTrack.height>0?(this.trackView.axisCanvas.style.display="block",this.coverageTrack.draw(t)):this.trackView.axisCanvas.style.display="none",!0===this.showAlignments&&(this.alignmentTrack.setTop(this.coverageTrack,this.showCoverage),this.alignmentTrack.draw(t))}paintAxis(t,e,n){this.coverageTrack.paintAxis(t,e,this.coverageTrack.height)}contextMenuItemList(t){return this.alignmentTrack.contextMenuItemList(t)}popupData(t){return!0===this.showCoverage&&t.y>=this.coverageTrack.top&&t.y<this.coverageTrack.height?this.coverageTrack.popupData(t):this.alignmentTrack.popupData(t)}menuItemList(){let t=[];t=t.concat(Ao.numericDataMenuItems(this.trackView)),t.push("<hr/>");const e=de('<div class="igv-track-menu-category">');e.text("Color by:"),t.push({name:void 0,object:e,click:void 0,init:void 0});const n=[{key:"strand",label:"read strand"}];this.alignmentTrack.hasPairs&&(n.push({key:"firstOfPairStrand",label:"first-of-pair strand"}),n.push({key:"pairOrientation",label:"pair orientation"}),n.push({key:"fragmentLength",label:"insert size (TLEN)"}));const r="tag"+(this.alignmentTrack.colorByTag?" ("+this.alignmentTrack.colorByTag+")":"");n.push({key:"tag",label:r});for(let e of n){const n=this.alignmentTrack.colorBy===e.key;t.push(this.colorByCB(e,n))}const i=()=>{if(!this.autoHeight){const t=15+(this.showCoverage?this.coverageTrack.height:0)+(this.showAlignments?this.alignmentTrack.height:0);this.trackView.setTrackHeight(t)}};t.push("<hr/>"),t.push({object:de(Eo("Show Coverage",this.showCoverage)),click:()=>{this.showCoverage=!this.showCoverage,i(),this.trackView.checkContentHeight(),this.trackView.repaintViews()}}),t.push({object:de(Eo("Show Alignments",this.showAlignments)),click:()=>{this.showAlignments=!this.showAlignments,i(),this.trackView.checkContentHeight(),this.trackView.repaintViews()}}),t.push("<hr/>"),t.push({object:de(Eo("Show all bases",this.showAllBases)),click:()=>{this.showAllBases=!this.showAllBases,this.config.showAllBases=this.showAllBases,this.trackView.repaintViews()}}),t.push({object:de(Eo("Show soft clips",this.showSoftClips)),click:()=>{this.showSoftClips=!this.showSoftClips,this.config.showSoftClips=this.showSoftClips,this.featureSource.setShowSoftClips(this.showSoftClips);const t=this.getCachedAlignmentContainers();for(let e of t)e.setShowSoftClips(this.showSoftClips);this.trackView.repaintViews()}}),this.pairsSupported&&this.alignmentTrack.hasPairs&&(t.push("<hr/>"),t.push({object:de(Eo("View as pairs",this.viewAsPairs)),click:()=>{this.viewAsPairs=!this.viewAsPairs,this.config.viewAsPairs=this.viewAsPairs,this.featureSource.setViewAsPairs(this.viewAsPairs);const t=this.getCachedAlignmentContainers();for(let e of t)e.setViewAsPairs(this.viewAsPairs);this.trackView.repaintViews()}})),t.push("<hr/>");const o=de('<div class="igv-track-menu-category">');return o.text("Display mode:"),t.push({name:void 0,object:o,click:void 0,init:void 0}),t.push({object:de(Eo("expand","EXPANDED"===this.alignmentTrack.displayMode)),click:()=>{this.alignmentTrack.displayMode="EXPANDED",this.config.displayMode="EXPANDED",this.trackView.checkContentHeight(),this.trackView.repaintViews()}}),t.push({object:de(Eo("squish","SQUISHED"===this.alignmentTrack.displayMode)),click:()=>{this.alignmentTrack.displayMode="SQUISHED",this.config.displayMode="SQUISHED",this.trackView.checkContentHeight(),this.trackView.repaintViews()}}),t}colorByCB(t,e){return{name:void 0,object:de(Eo(t.label,e)),click:e=>{t.key===this.alignmentTrack.colorBy?(this.alignmentTrack.colorBy="none",this.config.colorBy="none",this.trackView.repaintViews()):"tag"===t.key?this.browser.inputDialog.present({label:"Tag Name",value:this.alignmentTrack.colorByTag?this.alignmentTrack.colorByTag:"",callback:t=>{this.alignmentTrack.colorBy="tag",this.config.colorBy="tag",t!==this.alignmentTrack.colorByTag&&(this.alignmentTrack.colorByTag=t,this.config.colorByTag=t,this.alignmentTrack.tagColors=new Ts("Set1"),de("#color-by-tag").text(self.alignmentTrack.colorByTag)),this.trackView.repaintViews()}},e):(this.alignmentTrack.colorBy=t.key,this.config.colorBy=t.key,this.trackView.repaintViews())},init:void 0}}dispose(){this.trackView=void 0}getState(){const t=super.getState();return this.sortObject&&(t.sort={chr:this.sortObject.chr,position:this.sortObject.position+1,option:this.sortObject.option,direction:this.sortObject.direction?"ASC":"DESC"}),t}getCachedAlignmentContainers(){return this.trackView.viewports.map((t=>t.getCachedFeatures()))}get dataRange(){return this.coverageTrack.dataRange}set dataRange(t){this.coverageTrack.dataRange=t}get logScale(){return this.coverageTrack.logScale}set logScale(t){this.coverageTrack.logScale=t}get autoscale(){return this.coverageTrack.autoscale}set autoscale(t){this.coverageTrack.autoscale=t}}class jh{constructor(t,e){this.parent=e,this.featureSource=e.featureSource,this.height=void 0!==t.coverageTrackHeight?t.coverageTrackHeight:50,this.paintAxis=zl,this.top=0,this.autoscale=t.autoscale||void 0===t.max,this.autoscale||(this.dataRange={min:t.min||0,max:t.max})}draw(t){const e=t.pixelTop;t.pixelHeight;const n=this.parent.browser.nucleotideColors;if(e>this.height)return;const r=t.context,i=t.features.coverageMap;let o;i.refSeq&&(o=i.refSeq.toUpperCase());const s=t.bpPerPixel,a=t.bpStart,c=a+t.pixelWidth*s+1;let l=this.parent.coverageColor||"rgb(150, 150, 150)";void 0!==this.parent.color&&(l=Xi.darkenLighten(this.parent.color,-35)),es.setProperties(r,{fillStyle:l,strokeStyle:l});const h=Math.max(1,Math.ceil(1/s));for(let t=0,e=i.coverage.length;t<e;t++){const e=i.bpStart+t;if(e<a)continue;if(e>c)break;const n=i.coverage[t];if(!n)continue;const o=Math.round(n.total/this.dataRange.max*this.height),l=this.height-o,u=Math.floor((e-a)/s);es.fillRect(r,u,l,h,o)}if(o)for(let t=0,e=i.coverage.length;t<e;t++){const e=i.bpStart+t;if(e<a)continue;if(e>c)break;const l=i.coverage[t];if(!l)continue;const u=l.total/this.dataRange.max*this.height;let f=this.height-u;const d=Math.floor((e-a)/s),p=o[t];if(l.isMismatch(p)){es.setProperties(r,{fillStyle:n[p]}),es.fillRect(r,d,f,h,u);let t=0;for(let e of["A","C","T","G"]){const i=(l["pos"+e]+l["neg"+e])/this.dataRange.max*this.height;f=this.height-i-t,t+=i,es.setProperties(r,{fillStyle:n[e]}),es.fillRect(r,d,f,h,i)}}}}popupData(t){let e=t.viewport.getCachedFeatures();if(!e||0===e.length)return;let n=Math.floor(t.genomicLocation),r=t.viewport.referenceFrame,i=e.coverageMap,o=[],s=Math.floor(n-i.bpStart),a=i.coverage[s];if(a){o.push(r.chr+":"+ke(1+n)),o.push({name:"Total Count",value:a.total});let t=a.posA+a.negA;t>0&&(t=t.toString()+" ("+Math.round(t/a.total*100)+"%, "+a.posA+"+, "+a.negA+"- )"),o.push({name:"A",value:t}),t=a.posC+a.negC,t>0&&(t=t.toString()+" ("+Math.round(t/a.total*100)+"%, "+a.posC+"+, "+a.negC+"- )"),o.push({name:"C",value:t}),t=a.posG+a.negG,t>0&&(t=t.toString()+" ("+Math.round(t/a.total*100)+"%, "+a.posG+"+, "+a.negG+"- )"),o.push({name:"G",value:t}),t=a.posT+a.negT,t>0&&(t=t.toString()+" ("+Math.round(t/a.total*100)+"%, "+a.posT+"+, "+a.negT+"- )"),o.push({name:"T",value:t}),t=a.posN+a.negN,t>0&&(t=t.toString()+" ("+Math.round(t/a.total*100)+"%, "+a.posN+"+, "+a.negN+"- )"),o.push({name:"N",value:t}),o.push("<HR/>"),o.push({name:"DEL",value:a.del.toString()}),o.push({name:"INS",value:a.ins.toString()})}return o}}class Hh{constructor(t,e){this.parent=e,this.browser=e.browser,this.featureSource=e.featureSource,this.top=0===t.coverageTrackHeight?0:t.coverageTrackHeight+5,this.displayMode=t.displayMode||"EXPANDED",this.alignmentRowHeight=t.alignmentRowHeight||14,this.squishedRowHeight=t.squishedRowHeight||3,this.negStrandColor=t.negStrandColor||"rgba(150, 150, 230, 0.75)",this.posStrandColor=t.posStrandColor||"rgba(230, 150, 150, 0.75)",this.insertionColor=t.insertionColor||"rgb(138, 94, 161)",this.deletionColor=t.deletionColor||"black",this.skippedColor=t.skippedColor||"rgb(150, 170, 170)",this.pairConnectorColor=t.pairConnectorColor,this.smallFragmentLengthColor=t.smallFragmentLengthColor||"rgb(0, 0, 150)",this.largeFragmentLengthColor=t.largeFragmentLengthColor||"rgb(200, 0, 0)",this.pairOrientation=t.pairOrienation||"fr",this.pairColors={},this.pairColors.RL=t.rlColor||"rgb(0, 150, 0)",this.pairColors.RR=t.rrColor||"rgb(20, 50, 200)",this.pairColors.LL=t.llColor||"rgb(0, 150, 150)",this.colorBy=t.colorBy||"pairOrientation",this.colorByTag=t.colorByTag?t.colorByTag.toUpperCase():void 0,this.bamColorTag=void 0===t.bamColorTag?"YC":t.bamColorTag,this.hideSmallIndels=t.hideSmallIndels,this.indelSizeThreshold=t.indelSizeThreshold||1,this.hasPairs=!1}setTop(t,e){this.top=0===t.height||!1===e?0:5+t.height}computePixelHeight(t){if(t.packedAlignmentRows){return(t.hasDownsampledIntervals()?10:0)+("SQUISHED"===this.displayMode?this.squishedRowHeight:this.alignmentRowHeight)*t.packedAlignmentRows.length+5}return 0}draw(t){const e=t.features,n=t.context,r=t.bpPerPixel,i=t.bpStart,o=t.pixelWidth,s=i+o*r+1,a=e.packedAlignmentRows,c=this.parent.showSoftClips,l=this.parent.showAllBases,h=this.browser.nucleotideColors;n.save();let u=e.sequence;u&&(u=u.toUpperCase());let f=0,d=t.pixelTop;this.top&&n.translate(0,this.top);const p=d+t.pixelHeight;e.hasDownsampledIntervals()?(f=10,e.downsampledIntervals.forEach((function(t){var e=(t.start-i)/r,o=(t.end-i)/r;o-e>5&&(e+=1,o-=1),es.fillRect(n,e,2,o-e,3,{fillStyle:"black"})}))):f=0,this.alignmentsYOffset=f;const g="SQUISHED"===this.displayMode?this.squishedRowHeight:this.alignmentRowHeight;if(a){const t=a.length;for(let e=0;e<t;e++){const t=a[e],n=f+g*e,r=g<=4?g:g-2;if(n>p)break;if(!(n+r<d))for(let e of t.alignments)if(this.hasPairs=this.hasPairs||e.isPaired(),!(e.start+e.lengthOnRef<i)){if(e.start>s)break;!0!==e.hidden&&(e instanceof Gl?(m.call(this,e,n,r),v.call(this,e.firstAlignment,n,r),e.secondAlignment&&v.call(this,e.secondAlignment,n,r)):v.call(this,e,n,r))}}}function m(t,e,o){var a=this.getConnectorColor(t.firstAlignment),c=(t.connectingStart-i)/r,l=(t.connectingEnd-i)/r,h=e+o/2;t.connectingEnd<i||t.connectingStart>s||(t.mq<=0&&(a=Xi.addAlpha(a,.15)),es.setProperties(n,{fillStyle:a,strokeStyle:a}),es.strokeLine(n,c,h,l,h))}function v(t,o,a){if(t.start+t.lengthOnRef<i||t.start>s)return;const f=c?t.blocks:t.blocks.filter((t=>"S"!==t.type));let d=this.getAlignmentColor(t);const p=d;t.mq<=0&&(d=Xi.addAlpha(d,.15)),es.setProperties(n,{fillStyle:d,strokeStyle:p});for(let t=0;t<f.length;t++){const e=f[t];if(!(t!==f.length-1&&f[t+1].start<i)&&(m.call(this,e,t),e.start+e.len>s))break}if(t.insertions){let e=-1;for(let c of t.insertions){if(this.hideSmallIndels&&c.len<=this.indelSizeThreshold)continue;if(c.start<i)continue;if(c.start>s)break;const t=(c.start-i)/r-1;if(t-e>2){const r=3;es.fillRect(n,t,o-1,r,a+2,{fillStyle:this.insertionColor}),e=t}}}if(t.gaps){const e=o+a/2;for(let o of t.gaps){const t=(o.start-i)/r,s=(o.start+o.len-i)/r,a="D"===o.type?this.deletionColor:this.skippedColor;es.strokeLine(n,t,e,s,e,{strokeStyle:a})}}function m(s,c){const m=s.start-e.start,b=(s.start-i)/r,w=(s.start+s.len-i)/r,y=Math.max(1,w-b),x=g/2,_="S"===s.type,k=t.mq<=0||this.highlightedAlignmentReadNamed===t.readName||_;let S=p;this.highlightedAlignmentReadNamed===t.readName?S="red":_&&(S="rgb(50,50,50)");const C=!0===t.strand&&c===f.length-1,E=!1===t.strand&&0===c;if(C|E){let t,e;C?(t=[b,w,w+x,w,b,b],e=[o,o,o+a/2,o+a,o+a,o]):E&&(t=[w,b,b-x,b,w,w],e=[o,o,o+a/2,o+a,o+a,o]),es.fillPolygon(n,t,e,{fillStyle:d}),k&&es.strokePolygon(n,t,e,{strokeStyle:S})}else es.fillRect(n,b,o,y,a,{fillStyle:d}),k&&(n.save(),n.strokeStyle=S,n.strokeRect(b,o,y,a),n.restore());if(this.parent.showMismatches&&(_||l||u&&t.seq&&"*"!==t.seq)){const e=t.seq?t.seq.toUpperCase():void 0,c=t.qual,f=s.seqOffset;for(let t=0,d=s.len;t<d;t++){if(m+t<0)continue;let d=e?e.charAt(f+t):"";const p=u.charAt(m+t);if("="===d&&(d=p),"X"===d||p!==d||_||l){let e;if(!_&&void 0!==c&&c.length>f+t){e=Uh(c[f+t],h[d])}else e=h[d];if(e){const c=(s.start+t-i)/r,l=Math.max(1,1/r);v(n,r,{x:c,y:o,width:l,height:a},e,d)}}}}}function v(t,e,n,r,i){var o;if(.1,e<=.1&&n.height>=8){const e=Math.min(10,n.height);t.font=e+"px sans-serif",o=n.x+n.width/2,es.strokeText(t,i,o-t.measureText(i).width/2,e-1+n.y,{strokeStyle:r})}else es.fillRect(t,n.x,n.y,n.width,n.height,{fillStyle:r})}}n.restore()}popupData(t){const e=this.getClickedObject(t.viewport,t.y,t.genomicLocation);return e?e.popupData(t.genomicLocation):void 0}contextMenuItemList(t){const e=t.viewport,n=[],r=n=>{const r=this.parent.sortObject,i=!r||r.position!==Math.floor(t.genomicLocation)||!r.direction,o={chr:e.referenceFrame.chr,position:Math.floor(t.genomicLocation),option:n,direction:i};this.parent.sortObject=o,Vh(o,e.getCachedFeatures()),e.repaint()};n.push("<b>Sort by...</b>"),n.push({label:"&nbsp; base",click:()=>r("BASE")}),n.push({label:"&nbsp; read strand",click:()=>r("STRAND")}),n.push({label:"&nbsp; insert size",click:()=>r("INSERT_SIZE")}),n.push({label:"&nbsp; gap size",click:()=>r("GAP_SIZE")}),n.push({label:"&nbsp; chromosome of mate",click:()=>r("MATE_CHR")}),n.push({label:"&nbsp; mapping quality",click:()=>r("MQ")}),n.push({label:"&nbsp; read name",click:()=>r("READ_NAME")}),n.push({label:"&nbsp; tag",click:()=>{const n=this.parent.sortObject,r=!n||n.position!==Math.floor(t.genomicLocation)||!n.direction,i={label:"Tag Name",value:this.sortByTag?this.sortByTag:"",callback:n=>{if(n){const i={chr:e.referenceFrame.chr,position:Math.floor(t.genomicLocation),option:"TAG",tag:n,direction:r};this.sortByTag=n,this.parent.sortObject=i,Vh(i,e.getCachedFeatures()),e.repaint()}}};this.browser.inputDialog.present(i,t.event)}}),n.push("<hr/>");const i=this.getClickedObject(e,t.y,t.genomicLocation);if(i){const e=this.parent.showSoftClips,r="function"==typeof i.alignmentContaining?i.alignmentContaining(t.genomicLocation,e):i;r.isPaired()&&r.isMateMapped()&&n.push({label:"View mate in split screen",click:()=>{if(r.mate){const e=t.viewport.referenceFrame;this.browser.genome.getChromosome(r.mate.chr)?(this.highlightedAlignmentReadNamed=r.readName,this.browser.presentMultiLocusPanel(r,e)):qo.presentAlert(`Reference does not contain chromosome: ${r.mate.chr}`)}},init:void 0}),n.push({label:"View read sequence",click:()=>{if(!r)return;const t=r.seq;t&&"*"!==t?qo.presentAlert(t):qo.presentAlert("Read sequence: *")}}),n.push({label:"Copy read sequence",click:()=>{if(!r)return;const t=r.seq;navigator.clipboard.writeText(t)}}),n.push("<hr/>")}return n}getClickedObject(t,e,n){const r=this.parent.showSoftClips;let i=t.getCachedFeatures();if(!i||0===i.length)return;let o=i.packedAlignmentRows,s=i.downsampledIntervals;const a="SQUISHED"===this.displayMode?this.squishedRowHeight:this.alignmentRowHeight;let c=Math.floor((e-this.top-this.alignmentsYOffset)/a);if(c<0){for(let t=0;t<s.length;t++)if(s[t].start<=n&&s[t].end>=n)return s[t]}else if(c<o.length){const t=o[c].alignments.filter((t=>t.containsLocation(n,r)));if(t.length>0)return t[0]}}getConnectorColor(t){if(this.pairConnectorColor)return this.pairConnectorColor;switch(this.colorBy){case"strand":case"firstOfPairStrand":case"pairOrientation":case"tag":return this.parent.color||"rgb(200, 200, 200)";default:return this.getAlignmentColor(t)}}getAlignmentColor(t){let e=this.parent.color||"rgb(185, 185, 185)";switch(this.colorBy){case"strand":e=t.strand?this.posStrandColor:this.negStrandColor;break;case"firstOfPairStrand":t instanceof Gl?e=t.firstOfPairStrand()?this.posStrandColor:this.negStrandColor:t.isPaired()&&(t.isFirstOfPair()?e=t.strand?this.posStrandColor:this.negStrandColor:t.isSecondOfPair()?e=t.strand?this.negStrandColor:this.posStrandColor:console.error("ERROR. Paired alignments are either first or second."));break;case"pairOrientation":if(t.mate&&t.isMateMapped()&&t.mate.chr!==t.chr)e=Wh(t.mate.chr);else if(this.pairOrientation&&t.pairOrientation){var n=qh[this.pairOrientation];if(n){var r=this.pairColors[n[t.pairOrientation]];r&&(e=r)}}break;case"fragmentLength":t.mate&&t.isMateMapped()&&t.mate.chr!==t.chr?e=Wh(t.mate.chr):this.parent.minFragmentLength&&Math.abs(t.fragmentLength)<this.parent.minFragmentLength?e=this.smallFragmentLengthColor:this.parent.maxFragmentLength&&Math.abs(t.fragmentLength)>this.parent.maxFragmentLength&&(e=this.largeFragmentLengthColor);break;case"tag":const i=t.tags()[this.colorByTag];void 0!==i&&(this.bamColorTag===this.colorByTag?e="rgb("+i+")":(this.tagColors||(this.tagColors=new Ts("Set1")),e=this.tagColors.getColor(i)));break;default:e=this.parent.color||"rgb(185, 185, 185)"}return e}}function Vh(t,e){const n=t.direction;for(let n of e.packedAlignmentRows)n.updateScore(t,e);e.packedAlignmentRows.sort((function(t,e){const r=t.score>e.score?1:t.score<e.score?-1:0;return!0===n?r:-r}))}function Uh(t,e){let n;return n=t<5?.1:Math.max(.1,Math.min(1,.1+.9*(t-5)/15)),n=Math.round(10*n)/10,n<1&&(e=Xi.addAlpha(e,n)),e}const qh={fr:{F1R2:"LR",F2R1:"LR",F1F2:"LL",F2F1:"LL",R1R2:"RR",R2R1:"RR",R1F2:"RL",R2F1:"RL"},rf:{R1F2:"LR",R2F1:"LR",R1R2:"LL",R2R1:"LL",F1F2:"RR",F2F1:"RR",F1R2:"RL",F2R1:"RL"},ff:{F2F1:"LR",R1R2:"LR",F2R1:"LL",R1F2:"LL",R2F1:"RR",F1R2:"RR",R2R1:"RL",F1F2:"RL"}};function Wh(t){if($h[t])return $h[t];if($h["chr"+t]){const e=$h["chr"+t];return $h[t]=e,e}{const e=Xi.randomRGB();return $h[t]=e,e}}const $h={chrX:"rgb(204, 153, 0)",chrY:"rgb(153, 204, 0",chrUn:"rgb(50, 50, 50)",chr1:"rgb(80, 80, 255)",chrI:"rgb(139, 155, 187)",chr2:"rgb(206, 61, 50)",chrII:"rgb(206, 61, 50)",chr2a:"rgb(216, 71, 60)",chr2b:"rgb(226, 81, 70)",chr3:"rgb(116, 155, 88)",chrIII:"rgb(116, 155, 88)",chr4:"rgb(240, 230, 133)",chrIV:"rgb(240, 230, 133)",chr5:"rgb(70, 105, 131)",chr6:"rgb(186, 99, 56)",chr7:"rgb(93, 177, 221)",chr8:"rgb(128, 34, 104)",chr9:"rgb(107, 215, 107)",chr10:"rgb(213, 149, 167)",chr11:"rgb(146, 72, 34)",chr12:"rgb(131, 123, 141)",chr13:"rgb(199, 81, 39)",chr14:"rgb(213, 143, 92)",chr15:"rgb(122, 101, 165)",chr16:"rgb(228, 175, 105)",chr17:"rgb(59, 27, 83)",chr18:"rgb(205, 222, 183)",chr19:"rgb(97, 42, 121)",chr20:"rgb(174, 31, 99)",chr21:"rgb(231, 199, 111)",chr22:"rgb(90, 101, 94)",chr23:"rgb(204, 153, 0)",chr24:"rgb(153, 204, 0)",chr25:"rgb(51, 204, 0)",chr26:"rgb(0, 204, 51)",chr27:"rgb(0, 204, 153)",chr28:"rgb(0, 153, 204)",chr29:"rgb(10, 71, 255)",chr30:"rgb(71, 117, 255)",chr31:"rgb(255, 194, 10)",chr32:"rgb(255, 209, 71)",chr33:"rgb(153, 0, 51)",chr34:"rgb(153, 26, 0)",chr35:"rgb(153, 102, 0)",chr36:"rgb(128, 153, 0)",chr37:"rgb(51, 153, 0)",chr38:"rgb(0, 153, 26)",chr39:"rgb(0, 153, 102)",chr40:"rgb(0, 128, 153)",chr41:"rgb(0, 51, 153)",chr42:"rgb(26, 0, 153)",chr43:"rgb(102, 0, 153)",chr44:"rgb(153, 0, 128)",chr45:"rgb(214, 0, 71)",chr46:"rgb(255, 20, 99)",chr47:"rgb(0, 214, 143)",chr48:"rgb(20, 255, 177)"};class Gh extends rc{constructor(t,e){super(t,e)}init(t){super.init(t),this.theta=t.theta||Math.PI/4,this.sinTheta=Math.sin(this.theta),this.cosTheta=Math.cos(this.theta),this.height=t.height||250,this.arcType=t.arcType||"nested",this.arcOrientation=void 0===t.arcOrientation||t.arcOrientation,this.showBlocks=void 0===t.showBlocks||t.showBlocks,this.blockHeight=t.blockHeight||3,this.thickness=t.thickness||1,this.color=t.color||"rgb(180,25,137)",this.alpha=t.alpha||.15,t.valueColumn?(this.valueColumn=t.valueColumn,this.hasValue=!0):t.useScore&&(this.hasValue=!0,this.valueColumn="score"),this.logScale=!1!==t.logScale,t.max?(this.dataRange={min:t.min||0,max:t.max},this.autoscale=!1):this.autoscale=!0,this.featureSource=Sl(t,this.browser.genome),this.featureSource.getWGFeatures=Qh}async postInit(){return"function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader()),this.header&&this.setTrackProperties(this.header),void 0===this.visibilityWindow&&"function"==typeof this.featureSource.defaultVisibilityWindow&&(this.visibilityWindow=await this.featureSource.defaultVisibilityWindow(),this.featureSource.visibilityWindow=this.visibilityWindow),this}supportsWholeGenome(){return!0}async getFeatures(t,e,n){const r=this.visibilityWindow,i=await this.featureSource.getFeatures({chr:t,start:e,end:n,visibilityWindow:r});return void 0===this.hasValue&&i&&i.length>0&&(this.hasValue=void 0!==i[0].score),i}draw(t){"proportional"===this.arcType?this.drawProportional(t):this.drawNested(t)}drawNested(t){const e=t.context,n=t.pixelWidth,r=t.pixelHeight,i=t.viewportWidth,o=t.bpPerPixel,s=t.bpStart,a=o;es.fillRect(e,0,t.pixelTop,n,r,{fillStyle:"rgb(255, 255, 255)"});const c=t.features;if(c){(function(){let t=0;for(let e of c){let r=(e.start-s)/a,i=(e.end-s)/a;i>=0&&r<=n&&(t=Math.max(t,i-r))}let e=Math.min(i,t)/2;if(t>0){let t=(r-10)/e;this.theta=function(t){let e,n=[.01570925532366355,.15838444032453644,.3249196962329063,.5095254494944288,.7265425280053609,.9999999999999999],r=[.031415926535897934,.3141592653589793,.6283185307179586,.9424777960769379,1.2566370614359172,1.5707963267948966];for(e=0;e<n.length&&!(n[e]>t);e++);let i=0===e?0:n[e-1],o=e<n.length?n[e]:1,s=(t-i)/(o-i),a=0===e?0:r[e-1],c=e<r.length?r[e]:Math.PI/2;return a+s*(c-a)}(t),this.sinTheta=Math.sin(this.theta),this.cosTheta=Math.cos(this.theta)}}).call(this);const o=this.arcOrientation?t.pixelHeight:0,h=this.arcOrientation;e.font="8px",e.textAlign="center";for(let t of c){let r=t.color||this.color;if(r&&this.config.useScore&&(r=Kh(r,(l=t.score,Math.min(1,.11+l/779*.89).toString()))),e.lineWidth=t.thickness||this.thickness||1,t.chr1===t.chr2||"all"===t.chr){const{m1:c,m2:l}=Zh(t,this.browser.genome);let u=Math.round((c-s)/a),f=Math.round((l-s)/a);if(f<0||u>n)continue;let d=f-u;d<3&&(d=3,u--);const p=d/2,g=p/this.sinTheta,m=this.cosTheta*g,v=u+p;let b,w,y;if(h?(b=this.height+m,w=Math.PI+Math.PI/2-this.theta,y=Math.PI+Math.PI/2+this.theta):(b=-m,w=Math.PI/2-this.theta,y=Math.PI/2+this.theta),this.showBlocks&&"all"!==t.chr){const n=(t.start1-s)/a,r=(t.end1-s)/a,i=(t.start2-s)/a,c=(t.end2-s)/a,l=this.arcOrientation?-this.blockHeight:this.blockHeight;e.fillRect(n,o,r-n,l),e.fillRect(i,o,c-i,l)}r&&!this.config.useScore&&d>i&&(r=Kh(r,this.alpha)),e.strokeStyle=r,e.fillStyle=r,e.beginPath(),e.arc(v,b,g,w,y,!1),e.stroke(),t.drawState={xc:v,yc:b,r:g}}else{let i=Math.round((t.start-s)/a),o=Math.round((t.end-s)/a);if(o<0||i>n)continue;let c=o-i;c<3&&(c=3,i--);const l=t.chr===t.chr1?t.chr2:t.chr1;e.strokeStyle=r,e.fillStyle=r,h?(e.fillRect(i,this.height/2,c,this.height/2),e.fillText(l,i+c/2,this.height/2-5),t.drawState={x:i,y:this.height/2,w:c,h:this.height/2}):(e.fillRect(i,0,c,this.height/2),e.fillText(l,i+c/2,this.height/2+13),t.drawState={x:i,y:0,w:c,h:this.height/2})}}}var l}drawProportional(t){const e=t.context,n=t.pixelWidth,r=t.pixelHeight,i=t.bpPerPixel,o=t.bpStart,s=i;es.fillRect(e,0,t.pixelTop,n,r,{fillStyle:"rgb(255, 255, 255)"});const a=t.features;if(a&&a.length>0){const r=this.logScale?t.pixelHeight/Math.log10(this.dataRange.max+1):t.pixelHeight/(this.dataRange.max-this.dataRange.min),i=this.arcOrientation?t.pixelHeight:0;for(let t of a){e.save();const a=this.valueColumn?t[this.valueColumn]:t.score;if(void 0===a||Number.isNaN(a))continue;const c=this.logScale?Math.log10(a+1)*r:a*r;if(t.chr1===t.chr2||"all"===t.chr){const{m1:r,m2:l}=Zh(t,this.browser.genome);let h=(r-o)/s,u=(l-o)/s,f=u-h;if(f<3&&(f=3,h--),u<0||h>n||a<this.dataRange.min)continue;const d=f/2,p=h+f/2,g=!!this.arcOrientation,m=t.color||this.color;if(e.strokeStyle=m,e.lineWidth=t.thickness||this.thickness||1,e.beginPath(),e.ellipse(p,i,d,c,0,0,Math.PI,g),e.stroke(),this.showBlocks&&"all"!==t.chr){e.fillStyle=m;const n=(t.start1-o)/s,r=(t.end1-o)/s,a=(t.start2-o)/s,c=(t.end2-o)/s,l=this.arcOrientation?-this.blockHeight:this.blockHeight;e.fillRect(n,i,r-n,l),e.fillRect(a,i,c-a,l)}if(this.alpha){const t=Kh(m,this.alpha);e.fillStyle=t,e.fill()}e.restore(),t.drawState={xc:p,yc:i,radiusX:d,radiusY:c}}else{let r=Math.round((t.start-o)/s),i=Math.round((t.end-o)/s);if(i<0||r>n||a<this.dataRange.min)continue;const l=Math.min(c,this.height-13);let h=i-r;h<3&&(h=3,r--);const u=t.chr===t.chr1?t.chr2:t.chr1;if(e.font="8px",e.textAlign="center",this.arcOrientation){const n=this.height-l;e.fillRect(r,n,h,l),e.fillText(u,r+h/2,n-5),t.drawState={x:r,y:n,w:h,h:l}}else e.fillRect(r,0,h,l),e.fillText(u,r+h/2,l+13),t.drawState={x:r,y:0,w:h,h:l}}}}}menuItemList(){let t=[{name:"Set track color",click:()=>{this.trackView.presentColorPicker()}},"<HR/>"];if(this.hasValue){const e={nested:"Nested Arcs",proportional:"Proportional Arcs"};for(let n of["nested","proportional"])t.push({object:de(Eo(e[n],n===this.arcType)),click:()=>{this.arcType=n,this.trackView.repaintViews()}})}return t.push({object:de(Eo("Show Blocks",this.showBlocks)),click:()=>{this.showBlocks=!this.showBlocks,this.trackView.repaintViews()}}),t.push({name:"Toggle arc direction",click:()=>{this.arcOrientation=!this.arcOrientation,this.trackView.repaintViews()}}),"proportional"===this.arcType&&(t.push("<HR>"),t=t.concat(Ao.numericDataMenuItems(this.trackView))),t}doAutoscale(t){let e=0;if(t)for(let n of t){const t=this.valueColumn?n[this.valueColumn]:n.score;Number.isNaN(t)||(e=Math.max(e,t))}return{min:0,max:e}}popupData(t,e){e=this.clickedFeatures(t);const n=[];for(let t of e){const e=t._||t;if(n.push({name:"Region 1",value:Xh(e.chr1,e.start1,e.end1,e.strand1)}),n.push({name:"Region 2",value:Xh(e.chr2,e.start2,e.end2,e.strand2)}),e.name&&n.push({name:"Name",value:e.name}),void 0!==e.value&&n.push({name:"Value",value:e.value}),void 0!==e.score&&n.push({name:"Score",value:e.score}),e.extras&&this.header&&this.header.columnNames){const t=this.header.columnNames;for(let r=10;r<t.length;r++)"info"===t[r]?Jh(n,e.extras[r-10]):n.push({name:t[r],value:e.extras[r-10]})}break}return n}clickedFeatures(t,e){const n=e||t.viewport.getCachedFeatures(),r=[];if(n){const e="proportional"===this.arcType;for(let i of n)if(i.drawState)if(i.chr1===i.chr2||"all"===i.chr)if(e){const{xc:e,yc:n,radiusX:o,radiusY:s}=i.drawState,a=t.canvasX-e,c=t.canvasY-n,l=a/o*(a/o)+c/s*(c/s);l<=1&&r.push({score:1/l,feature:i})}else{const{xc:e,yc:n,r:o}=i.drawState,s=t.canvasX-e,a=t.canvasY-n,c=Math.abs(Math.sqrt(s*s+a*a)-o);c<5&&r.push({score:c,feature:i})}else{const{x:e,y:n,w:o,h:s}=i.drawState,a=5;if(t.canvasX>=e-a&&t.canvasX<=e+o+a&&t.canvasY>=n&&t.canvasY<=n+s){const n=-Math.abs(t.canvasX-(e+o/2));r.push({score:n,feature:i});break}}}return r.length>1&&r.sort(((t,e)=>t.score-e.score)),r.map((t=>t.feature))}}function Zh(t,e){let n=(t.start1+t.end1)/2,r=(t.start2+t.end2)/2;if("all"===t.chr&&(n=e.getGenomeCoordinate(t.chr1,n),r=e.getGenomeCoordinate(t.chr2,r)),n>r){const t=n;n=r,r=t}return{m1:n,m2:r}}function Xh(t,e,n,r){return r&&"."!==r?`${t}:${ke(e+1)}-${ke(n)} (${r})`:`${t}:${ke(e+1)}-${ke(n)}`}const Yh=new Map;function Kh(t,e){const n=`${t}_${e}`;let r=Yh.get(n);return r||(r=Xi.addAlpha(t,e),Yh.set(n,r)),r}function Qh(t){const e=this.genome,n=[];for(let r of e.wgChromosomeNames){const i=t[r];if(i)for(let t of i)if(!t.dup){const r=Object.assign({},t);r.chr="all",r.start=e.getGenomeCoordinate(t.chr1,t.start1),r.end=e.getGenomeCoordinate(t.chr2,t.end2),n.push(r)}}return n}function Jh(t,e){const n=e.split(";");for(let e of n){const n=e.split("=");2===n.length&&t.push({name:n[0],value:n[1]})}}const tu=_e;class eu extends rc{constructor(t,e){super(t,e)}init(t){super.init(t),this.visibilityWindow=t.visibilityWindow,this.displayMode=t.displayMode||"EXPANDED",this.labelDisplayMode=t.labelDisplayMode,this.expandedVariantHeight=t.expandedVariantHeight||t.variantHeight||10,this.squishedVariantHeight=t.squishedVariantHeight||2,this.squishedCallHeight=t.squishedCallHeight||1,this.expandedCallHeight=t.expandedCallHeight||10,this.expandedVGap=void 0!==t.expandedVGap?t.expandedVGap:2,this.squishedVGap=void 0!==t.squishedVGap?t.squishedVGap:1,this.expandedGroupGap=t.expandedGroupGap||10,this.squishedGroupGap=t.squishedGroupGap||5,this.featureHeight=t.featureHeight||14,this.visibilityWindow=t.visibilityWindow,this.featureSource=Sl(t,this.browser.genome),this.noGenotypeColor=t.noGenotypeColor||"rgb(200,180,180)",this.noCallColor=t.noCallColor||"rgb(225, 225, 225)",this.nonRefColor=t.nonRefColor||"rgb(200, 200, 215)",this.mixedColor=t.mixedColor||"rgb(200, 220, 200)",this.homrefColor=t.homrefColor||"rgb(200, 200, 200)",this.homvarColor=t.homvarColor||"rgb(17,248,254)",this.hetvarColor=t.hetvarColor||"rgb(34,12,253)",this.sortDirection="ASC",this.type=t.type||"variant",this.colorBy=t.colorBy,this._initColorBy=t.colorBy,t.colorTable&&(this.colorTables=new Map,this.colorTables.set(t.colorBy,new Ls(t.colorTable))),this._color=t.color,this.showGenotypes=void 0===t.showGenotypes||t.showGenotypes,this.variantRowCount(1)}async postInit(){if(this.header=await this.getHeader(),void 0===this.visibilityWindow&&!1!==this.config.indexed){const t=this.config.url instanceof File?this.config.url.name:this.config.url;if(tu(t)&&t.toLowerCase().includes("gnomad"))this.visibilityWindow=1e3;else if(this.callSets){const t=this.callSets.length;this.visibilityWindow=Math.max(1e3,1e6-1e4*t)}else this.visibilityWindow=1e6}return this}supportsWholeGenome(){return!1===this.config.indexed&&!1!==this.config.supportsWholeGenome}get color(){return this._color}set color(t){this._color=t,this.colorBy=void 0}async getHeader(){if(!this.header){if("function"==typeof this.featureSource.getHeader){const t=await this.featureSource.getHeader();t&&(this.callSets=t.callSets||[]),this.header=t}this.sampleNames=this.callSets?this.callSets.map((t=>t.name)):[]}return this.header}getCallsetsLength(){return this.callSets?this.callSets.length:0}async getFeatures(t,e,n,r){return void 0===this.header&&(this.header=await this.getHeader()),this.featureSource.getFeatures({chr:t,start:e,end:n,bpPerPixel:r,visibilityWindow:this.visibilityWindow})}hasSamples(){return this.getCallsetsLength()>0}getSamples(){return{yOffset:this.sampleYOffset,names:this.sampleNames,height:this.sampleHeight}}computePixelHeight(t){if(!t||0==t.length)return 10;const e="COLLAPSED"===this.displayMode?1:this.nVariantRows,n="SQUISHED"===this.displayMode?this.squishedVGap:this.expandedVGap,r="SQUISHED"===this.displayMode?this.squishedVariantHeight:this.expandedVariantHeight,i="SQUISHED"===this.displayMode?this.squishedCallHeight:this.expandedCallHeight;return 10+e*(r+n)+n+((!1===this.showGenotypes?0:this.getCallsetsLength()*e)+1)*(i+n)}variantRowCount(t){this.nVariantRows=t}draw({context:t,pixelWidth:e,pixelHeight:n,bpPerPixel:r,bpStart:i,pixelTop:o,features:s}){es.fillRect(t,0,o,e,n,{fillStyle:"rgb(255, 255, 255)"});const a="SQUISHED"===this.displayMode?this.squishedVGap:this.expandedVGap,c="COLLAPSED"===this.displayMode?1:this.nVariantRows,l="SQUISHED"===this.displayMode?this.squishedVariantHeight:this.expandedVariantHeight;this.variantBandHeight=10+c*(l+a);const h=this.callSets,u=this.getCallsetsLength();if(h&&u>0&&!1!==this.showGenotypes&&es.strokeLine(t,0,this.variantBandHeight,e,this.variantBandHeight,{strokeStyle:"rgb(224,224,224) "}),s){const n="SQUISHED"===this.displayMode?this.squishedCallHeight:this.expandedCallHeight,o="SQUISHED"===this.displayMode?this.squishedVGap:this.expandedVGap,a=i+e*r+1;for(let e of s){if(e.end<i)continue;if(e.start>a)break;const s="SQUISHED"===this.displayMode?this.squishedVariantHeight:this.expandedVariantHeight,c=10+("COLLAPSED"===this.displayMode?0:e.row*(s+o)),l=s;let f=Math.round((e.start-i)/r),d=Math.round((e.end-i)/r),p=Math.max(1,d-f);if(p<3?(p=3,f-=1):p>5&&(f+=1,p-=2),t.fillStyle=this.getVariantColor(e),t.fillRect(f,c,p,l),e.pixelRect={x:f,y:c,w:p,h:l},u>0&&!1!==this.showGenotypes){const r="COLLAPSED"===this.displayMode?1:this.nVariantRows;this.sampleYOffset=this.variantBandHeight+o,this.sampleHeight=r*(n+o);let i=0;for(let r of h){const s=e.calls[r.id];if(s){const a="COLLAPSED"===this.displayMode?0:e.row,c=this.sampleYOffset+i*this.sampleHeight+a*(n+o);let l=!0,h=!0,u=!1;if(s.genotype)for(let t of s.genotype){if("."===t){u=!0;break}0!==t&&(h=!1),0===t&&(l=!1)}s.genotype?t.fillStyle=u?this.noCallColor:h?this.homrefColor:l?this.homvarColor:this.hetvarColor:t.fillStyle=this.noGenotypeColor,t.fillRect(f,c,p,n),r.pixelRect={x:f,y:c,w:p,h:n}}i++}}}}else console.log("No feature list")}getVariantColor(t){let e;if(this.colorBy){const n=t.info[this.colorBy];e=this.getVariantColorTable(this.colorBy).getColor(n),e||(e="gray")}else e=this._color?"function"==typeof this._color?this._color(t):this._color:"NONVARIANT"===t.type?this.nonRefColor:"MIXED"===t.type?this.mixedColor:this.defaultColor;return e}popupData(t,e){e=this.clickedFeatures(t,e);const n=t.genomicLocation,r=this.browser.genome.id,i=this.browser.sampleInformation,o="EXPANDED"===this.displayMode?this.expandedVGap:this.squishedVGap,s=o+("SQUISHED"===this.displayMode?this.squishedCallHeight:this.expandedCallHeight),a=t.y;let c,l;if(a<=this.variantBandHeight){const t="SQUISHED"===this.displayMode?this.squishedVariantHeight:this.expandedVariantHeight;c=Math.floor((a-10)/(t+o)),l=-1}else{const t=a-this.variantBandHeight;l=Math.floor(t/this.sampleHeight),c=Math.floor((t-l*this.sampleHeight)/s)}const h=e.filter((t=>t.row===c));let u=[];for(let t of h)if(u.length>0&&u.push({html:'<hr style="border-top-width:2px ;border-color: #c9c3ba" />'}),a<=this.variantBandHeight){const e=t.popupData(n,r);Array.prototype.push.apply(u,e)}else{const e=this.callSets;if(e&&t.calls&&l>=0&&l<e.length){const n=e[l],o=t.calls[n.id];Array.prototype.push.apply(u,f(o,t,r,i))}}return u;function f(t,e,n,r){let i=[];if(void 0!==t.callSetName&&i.push({name:"Name",value:t.callSetName}),t.genotype){let n="";if("."===e.alternateBases)n="No Call";else{const r=e.alternateBases.split(",");for(let i of t.genotype)if(n.length>0&&(n+="|"),"."===i)n+=".";else if(0===i)n+=e.referenceBases;else{n+=r[i-1].replace("<","&lt;")}}i.push({name:"Genotype",value:n})}if(void 0!==t.phaseset&&i.push({name:"Phase set",value:t.phaseset}),void 0!==t.genotypeLikelihood&&i.push({name:"genotypeLikelihood",value:t.genotypeLikelihood.toString()}),r){var o=r.getAttributes(t.callSetName);o&&Object.keys(o).forEach((function(t){var e=t.replace(/([A-Z])/g," $1");e=e.charAt(0).toUpperCase()+e.slice(1),i.push({name:e,value:o[t]})}))}var s=Object.keys(t.info);return s.length&&i.push("<hr/>"),s.forEach((function(e){i.push({name:e,value:decodeURIComponent(t.info[e])})})),i}}menuItemList(){const t=[];if(this.header.INFO&&this.header.INFO){const e=this.header.INFO.SVTYPE?["SVTYPE"]:[];if(this._initColorBy&&"SVTYPE"!==this._initColorBy&&e.push(this._initColorBy),e.length>0){t.push("<hr/>");const n=de('<div class="igv-track-menu-category igv-track-menu-border-top">');n.text("Color by:"),t.push({name:void 0,object:n,click:void 0,init:void 0}),e.sort();for(let n of e){const e=this.colorBy===n,r=n||"None";t.push(this.colorByCB({key:n,label:r},e))}t.push(this.colorByCB({key:void 0,label:"None"},void 0===this.colorBy)),t.push("<hr/>")}}this.getCallsetsLength()>0&&(t.push({object:de('<div class="igv-track-menu-border-top">')}),t.push({object:de(Eo("Show Genotypes",this.showGenotypes)),click:()=>{this.showGenotypes=!this.showGenotypes,this.trackView.checkContentHeight(),this.trackView.repaintViews()}})),t.push({object:de('<div class="igv-track-menu-border-top">')});for(let e of["COLLAPSED","SQUISHED","EXPANDED"]){t.push({object:de(Eo({COLLAPSED:"Collapse",SQUISHED:"Squish",EXPANDED:"Expand"}[e],e===this.displayMode)),click:()=>{this.displayMode=e,this.trackView.checkContentHeight(),this.trackView.repaintViews()}})}return t}colorByCB(t,e){return{name:void 0,object:de(Eo(t.label,e)),click:()=>{t.key===this.colorBy?(this.colorBy=void 0,delete this.config.colorBy,this.trackView.repaintViews()):(this.colorBy=t.key,this.config.colorBy=t.key,this.trackView.repaintViews())},init:void 0}}getState(){const t=super.getState();return this._color&&"function"!=typeof this._color&&(t.color=this._color),t}getVariantColorTable(t){if(this.colorTables||(this.colorTables=new Map),!this.colorTables.has(t)){let e;switch(t){case"SVTYPE":e=nu;break;default:e=new Ts("Set1")}this.colorTables.set(t,e)}return this.colorTables.get(t)}}const nu=new Ls({DEL:"#ff2101",INS:"#001888",DUP:"#028401",INV:"#008688",CNV:"#8931ff",BND:"#891100","*":"#002eff"});class ru extends rc{constructor(t,e){super(t,e)}init(t){super.init(t),this.name=t.name,this.pValueField=t.pValueField||"pValue",this.geneField=t.geneField||"geneSymbol",this.snpField=t.snpField||"snp";const e=t.minLogP||t.min,n=t.maxLogP||t.max;this.dataRange={min:e||3.5,max:n||25},this.autoscale=!n||t.autoscale,this.autoscalePercentile=void 0===t.autoscalePercentile?98:t.autoscalePercentile,this.background=t.background,this.divider=t.divider||"rgb(225,225,225)",this.dotSize=t.dotSize||2,this.height=t.height||100,this.autoHeight=!1,this.disableButtons=t.disableButtons,this.visibilityWindow=void 0===t.visibilityWindow?2e6:t.visibilityWindow>=0?Math.min(2e6,t.visibilityWindow):2e6,this.featureSource=Sl(t,this.browser.genome),Al.gtexLoaded=!0}paintAxis(t,e,n){const r=(this.dataRange.max-this.dataRange.min)/n,i={font:"normal 10px Arial",textAlign:"right",strokeStyle:"black"};es.fillRect(t,0,0,e,n,{fillStyle:"rgb(255, 255, 255)"});const o=Math.ceil(10*(this.dataRange.max-this.dataRange.min)/n);for(let s=4;s<=this.dataRange.max;s+=o){const o=.85*e,a=o-5,c=o,l=n-(s-this.dataRange.min)/r;es.strokeLine(t,a,l,c,l,i),l>8&&es.fillText(t,s,a-1,l+2,i)}i.textAlign="center",es.fillText(t,"-log10(pvalue)",e/4,n/2,i,{rotate:{angle:-90}})}async getFeatures(t,e,n){const r=this.pValueField,i=await this.featureSource.getFeatures({chr:t,start:e,end:n});return i.forEach((function(t){t.value=t[r]})),i}draw(t){const e=t.context,n=t.pixelWidth,r=t.pixelHeight;this.background&&es.fillRect(e,0,0,n,r,{fillStyle:this.background}),es.strokeLine(e,0,r-1,n,r-1,{strokeStyle:this.divider}),e.save();const i=i=>{const o=i?2*this.dotSize:this.dotSize,s=t.bpStart,a=(this.dataRange.max-this.dataRange.min)/r,c=t.referenceFrame.selection;for(let h of t.features){const u=(h.start-s+.5)/t.bpPerPixel;if(u<0)continue;if(u>n)break;const f=h.snp.toUpperCase(),d=h[this.geneField].toUpperCase(),p=c&&(c.snp===f||c.gene===d);if(!i||p){c&&c.snp===f&&c.addGene(d);var l=-Math.log(h[this.pValueField])/Math.LN10;if(l>=this.dataRange.min){let t;l>this.dataRange.max?(l=this.dataRange.max,t=!0):t=!1;const n=Math.max(0+o,r-Math.round((l-this.dataRange.min)/a));let s;h.px=u,h.py=n,h.radius=o,i&&c?(s=c.colorForGene(d),es.setProperties(e,{fillStyle:s,strokeStyle:"black"})):(s=t?"rgb(150, 150, 150)":"rgb(180, 180, 180)",es.setProperties(e,{fillStyle:s,strokeStyle:s})),es.fillCircle(e,u,n,o),es.strokeCircle(e,u,n,o)}}}};i(!1),i(!0),e.restore()}popupData(t){let e=t.viewport.getCachedFeatures();if(!e||0===e.length)return[];const n=this.name,r=[];for(let i of e)Math.abs(i.px-t.canvasX)<i.radius+3&&Math.abs(i.py-t.canvasY)<i.radius+3&&(r.length>0&&r.push("<hr/>"),r.push({name:"snp id",value:i.snp},{name:"gene id",value:i.geneId},{name:"gene name",value:i.geneName},{name:"p value",value:i.pValue},{name:"tissue",value:n}));return r}menuItemList(){return Ao.numericDataMenuItems(this.trackView)}doAutoscale(t){if(t.length>0){var e=t.map((function(t){return-Math.log(t.value)/Math.LN10}));this.dataRange.max=qi(e,this.autoscalePercentile)}else{const t=this.config.maxLogP||this.config.max;this.dataRange.max=t||25}return this.dataRange}}const iu={X:"rgb(204, 153, 0)",Y:"rgb(153, 204, 0)",Un:"darkGray)",1:"rgb(80, 80, 255)",I:"rgb(139, 155, 187)",2:"rgb(206, 61, 50)",II:"rgb(206, 61, 50)","2a":"rgb(210, 65, 55)","2b":"rgb(215, 70, 60)",3:"rgb(116, 155, 88)",III:"rgb(116, 155, 88)",4:"rgb(240, 230, 133)",IV:"rgb(240, 230, 133)",5:"rgb(70, 105, 131)",6:"rgb(186, 99, 56)",7:"rgb(93, 177, 221)",8:"rgb(128, 34, 104)",9:"rgb(107, 215, 107)",10:"rgb(213, 149, 167)",11:"rgb(146, 72, 34)",12:"rgb(131, 123, 141)",13:"rgb(199, 81, 39)",14:"rgb(213, 143, 92)",15:"rgb(122, 101, 165)",16:"rgb(228, 175, 105)",17:"rgb(59, 27, 83)",18:"rgb(205, 222, 183)",19:"rgb(97, 42, 121)",20:"rgb(174, 31, 99)",21:"rgb(231, 199, 111)",22:"rgb(90, 101, 94)",23:"rgb(204, 153, 0)",24:"rgb(153, 204, 0)",25:"rgb(51, 204, 0)",26:"rgb(0, 204, 51)",27:"rgb(0, 204, 153)",28:"rgb(0, 153, 204)",29:"rgb(10, 71, 255)",30:"rgb(71, 117, 255)",31:"rgb(255, 194, 10)",32:"rgb(255, 209, 71)",33:"rgb(153, 0, 51)",34:"rgb(153, 26, 0)",35:"rgb(153, 102, 0)",36:"rgb(128, 153, 0)",37:"rgb(51, 153, 0)",38:"rgb(0, 153, 26)",39:"rgb(0, 153, 102)",40:"rgb(0, 128, 153)",41:"rgb(0, 51, 153)",42:"rgb(26, 0, 153)",43:"rgb(102, 0, 153)",44:"rgb(153, 0, 128)",45:"rgb(214, 0, 71)",46:"rgb(255, 20, 99)",47:"rgb(0, 214, 143)",48:"rgb(20, 255, 177)"};for(let t of Object.keys(iu)){iu["chr"+t]=iu[t]}class ou extends rc{constructor(t,e){super(t,e)}init(t){super.init(t),this.useChrColors=void 0===t.useChrColors||t.useChrColors,this.trait=t.trait,this.posteriorProbability=t.posteriorProbability,this.valueProperty="bed"===t.format?"score":"value",this.height=t.height||100,t.autoscale||(t.posteriorProbability?this.dataRange={min:void 0===t.min?0:t.min,max:void 0===t.max?1:t.max}:this.dataRange={min:void 0===t.min?0:t.min,max:void 0===t.max?25:t.max}),this.autoscale=t.autoscale,this.autoscalePercentile=void 0===t.autoscalePercentile?98:t.autoscalePercentile,this.background=t.background,this.divider=t.divider||"rgb(225,225,225)",this.dotSize=t.dotSize||3,this.popoverWindow=void 0===t.popoverWindow?1e8:t.popoverWindow,this.description=t.description,this.colorScales=t.color?new Ul(t.color):{"*":new Hl(t.colorScale||{thresholds:[5e-8,5e-4,.5],colors:["rgb(255,50,50)","rgb(251,100,100)","rgb(251,170,170)","rgb(227,238,249)"]})},this.featureSource=Sl(t,this.browser.genome)}supportsWholeGenome(){return!0}async getFeatures(t,e,n){return this.featureSource.getFeatures({chr:t,start:e,end:n})}draw(t){const e=t.features,n=t.context,r=t.pixelWidth,i=t.pixelHeight;if(this.background&&es.fillRect(n,0,0,r,i,{fillStyle:this.background}),es.strokeLine(n,0,i-1,r,i-1,{strokeStyle:this.divider}),e){const o=t.bpPerPixel,s=t.bpStart,a=s+r*o+1;for(let t of e){const e=t.start;if(e<s)continue;if(e>a)break;const r=this.getColorScale(t._f?t._f.chr:t.chr);let c,l;if(this.posteriorProbability)l=t[this.valueProperty],c=r.getColor(l);else{const e=t[this.valueProperty];if(!e)continue;l=-Math.log10(e),c=r.getColor(l)}const h=(this.dataRange.max-this.dataRange.min)/i,u=Math.round((e-s)/o),f=Math.max(this.dotSize,i-Math.round((l-this.dataRange.min)/h));c&&es.setProperties(n,{fillStyle:c,strokeStyle:"black"}),es.fillCircle(n,u,f,this.dotSize),t.px=u,t.py=f}}}getColorScale(t){if(this.useChrColors){let e=this.colorScales[t];if(!e){const n=iu[t]||Ms.get();e=new Ul(n),this.colorScales[t]=e}return e}return this.colorScales("*")}paintAxis(t,e,n){es.fillRect(t,0,0,e,n,{fillStyle:"rgb(255, 255, 255)"});var r={font:"normal 10px Arial",textAlign:"right",strokeStyle:"black"};const i=(this.dataRange.max-this.dataRange.min)/n;if(this.posteriorProbability){const e=.1;for(let o=this.dataRange.min;o<this.dataRange.max;o+=e){const e=n-Math.round((o-this.dataRange.min)/i);es.strokeLine(t,45,e-2,50,e-2,r),es.fillText(t,o.toFixed(1),44,e+2,r)}}else{const e=Math.ceil(10*(this.dataRange.max-this.dataRange.min)/n);for(let o=this.dataRange.min;o<this.dataRange.max;o+=e){const e=n-Math.round((o-this.dataRange.min)/i);es.strokeLine(t,45,e,50,e,r),es.fillText(t,Math.floor(o),44,e+4,r)}}r.textAlign="center",this.posteriorProbability?es.fillText(t,"PPA",e/2,n/2,r,{rotate:{angle:-90}}):es.fillText(t,"-log10(pvalue)",e/2,n/2,r,{rotate:{angle:-90}})}popupData(t){let e=[];const n=t.viewport.trackView.track,r=t.viewport.getCachedFeatures();if(r){let i=0;for(let o of r){const r=Math.abs(t.canvasX-o.px),s=Math.abs(t.canvasY-o.py),a=o[this.valueProperty];if(r<this.dotSize&&s<this.dotSize){if(i>0&&e.push("<HR/>"),5==i){e.push("...");break}if("function"==typeof o.popupData)e=e.concat(o.popupData());else{const t=o.realChr||o.chr,r=(o.realStart||o.start)+1;e.push({name:"chromosome",value:t}),e.push({name:"position",value:r}),e.push({name:"name",value:o.name}),n.posteriorProbability?e.push({name:"posterior probability",value:a}):e.push({name:"pValue",value:a})}i++}}}return e}menuItemList(){return Ao.numericDataMenuItems(this.trackView)}doAutoscale(t){if(t.length>0){const e=this.valueProperty,n=this.posteriorProbability,r=t.map((function(t){const r=t[e];return{value:n?r:-Math.log(r)/Math.LN10}}));this.dataRange=ls(r)}else this.posteriorProbability?(this.dataRange.min=this.config.min||0,this.dataRange.max=this.config.max||1):(this.dataRange.max=this.config.max||25,this.dataRange.min=this.config.min||0);return this.dataRange}}class su extends rc{constructor(t,e){super(t,e)}init(t){super.init(t),this.autoscale=t.autoscale||void 0===t.max,this.dataRange={min:t.min||0,max:t.max},this.windowFunction=t.windowFunction||"mean",this.paintAxis=zl,this.graphType=t.graphType||"bar",t._featureSource?(this.featureSource=t._featureSource,delete t._featureSource):this.featureSource=Sl(this.config,this.browser.genome)}async postInit(){if("function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader(),this.sampleNames=this.header.columnNames.slice(3),this.setTrackProperties(this.header),this.header.hasOwnProperty("highlight"))){this.config.highlightSamples={};let t=this.header.highlight;Array.isArray(t)||(t=[t]);for(let e of t){const t=e.split(";");2===t.length&&(this.config.highlightSamples[t[0]]=t[1])}}}menuItemList(){return Ao.numericDataMenuItems(this.trackView)}async getFeatures(t,e,n){const r=await this.featureSource.getFeatures({chr:t,start:0,end:Number.MAX_VALUE});let i,o;for(let t=1;t<r.length-1;t++)if(void 0===i&&r[t].end>e&&(i=t-1),void 0===o&&r[t].start>n){o=t+1;break}return void 0===i&&(i=0),void 0===o&&(o=r.length),r.slice(i,o)}draw(t){const{features:e,context:n,bpPerPixel:r,bpStart:i,pixelWidth:o,pixelHeight:s}=t,a=t=>(this.dataRange.max-t)/(this.dataRange.max-this.dataRange.min)*s,c=function(t){let e=Math.floor((t-i)/r);return isNaN(e)&&console.warn("isNaN(x). feature start "+ke(t)+" bp start "+ke(i)),e};if(e&&e.length>0&&(void 0===this.dataRange.min&&(this.dataRange.min=0),this.dataRange.max>this.dataRange.min)){const t=this.config.highlightSamples,r=this.config.onlyHandleClicksForHighlightedSamples;let i=-1,o={},s=[],l=[];this.clickDetectorCache={};for(let h of e){const e=c(h.start),u=c(h.end),f=i>=0?c(i):e;if(!isNaN(e)&&!isNaN(u)&&!(e-f<1&&u-e<1)){this.clickDetectorCache[e]=[],this.clickDetectorCache[u]=[];for(let i=0;i<h.values.length;i++){const c=this.sampleNames[i],d=h.values[i],p=a(d);if(e-f>=1){const i=o[c],l=a(i),h=t&&t[c];h?s.push([f,l,e,p,h]):es.strokeLine(n,f,l,e,p,{strokeStyle:"#D9D9D9"}),r&&!(c in t)||this.clickDetectorCache[e].push([f,l,e,p,c,h||"gray"])}if(u-e>=1){const i=t&&t[c];i?l.push([e,p,u,p,i]):es.strokeLine(n,e,p,u,p,{strokeStyle:"gray"}),r&&!(c in t)||this.clickDetectorCache[u].push([e,p,u,p,c,i||"gray"])}o[c]=d}i=h.end}}for(let t of s)es.strokeLine(n,t[0],t[1],t[2],t[3],{strokeStyle:t[4],lineWidth:1.3});for(let t of l)es.strokeLine(n,t[0],t[1],t[2],t[3],{strokeStyle:t[4],lineWidth:2})}(t=>{if(this.config.hasOwnProperty("guideLines"))for(let e of this.config.guideLines)if(e.hasOwnProperty("color")&&e.hasOwnProperty("y")&&e.hasOwnProperty("dotted")){let n=a(e.y),r={strokeStyle:e.color,strokeWidth:2};e.dotted?es.dashedLine(t.context,0,n,t.pixelWidth,n,5,r):es.strokeLine(t.context,0,n,t.pixelWidth,n,r)}})(t)}doAutoscale(t){let e,n;return t.length>0?(e=Number.MAX_VALUE,n=-Number.MAX_VALUE,t.forEach((function(t){e=Math.min(e,...t.values),n=Math.max(n,...t.values)})),e-=.01,n+=.01):(e=0,n=100),{min:e,max:n}}clickedFeatures(t){const e=t.canvasX,n=t.canvasY;let r=null;for(r of Object.keys(this.clickDetectorCache))if(r=parseInt(r),r>=e)break;if(r){let t=Number.MAX_VALUE,i=[];const o=this.clickDetectorCache[r];for(let r of o){const o=r[0],s=r[2];if(e<o||e>s)return[];const a=r[1],c=r[3];if(n<Math.min(a,c)-10||n>Math.max(a,c)+10)continue;const l=au(e,n,o,a,s,c);l<t&&(i=[{name:r[4],color:r[5]}],t=l)}if(t<5)return i}return[]}popupData(t,e){e=this.clickedFeatures(t,e);const n=[];return e.forEach((function(t){for(let e of Object.keys(t))as(t[e])&&n.push({name:e,value:t[e]})})),n}supportsWholeGenome(){return!1}}function au(t,e,n,r,i,o){const s=i-n,a=o-r,c=Math.abs(s*(r-e)-(n-t)*a),l=Math.sqrt(s*s+a*a);return l>0?c/l:0}class cu extends rc{constructor(t,e){super(t,e),t.height||(this.height=300),this.arcOrientation=!1,this.theta=Math.PI/2,"bp"===t.format?this.featureSource=new hu(t,e.genome):this.featureSource=new Jc(t,e.genome)}async getFeatures(t,e,n){return this.featureSource.getFeatures({chr:t,start:e,end:n})}draw(t){const e=t.context,n=Math.PI/2,r=t.pixelWidth,i=t.pixelHeight;t.viewportWidth;const o=t.bpPerPixel,s=t.bpStart,a=o,c=this.arcOrientation;es.fillRect(e,0,t.pixelTop,r,i,{fillStyle:"rgb(255, 255, 255)"});const l=t.features;if(l){lu(l,1);for(let t of l)if(t.startLeft){let r=Math.round((t.startLeft-s)/a),i=Math.round((t.startRight-s)/a),o=Math.round((t.endLeft-s)/a),l=Math.round((t.endRight-s)/a);e.fillStyle=t.color,e.strokeStyle=t.color,e.beginPath();let h=(r+l)/2,u=(l-r)/2,f=this.height,d=Math.PI+(Math.PI/2-n),p=2*Math.PI-(Math.PI/2-n);c?(f=0,e.arc(h,f,u,p,d),e.lineTo(l,f)):(e.arc(h,f,u,d,p),e.lineTo(o,f));const g=(i+o)/2,m=(o-i)/2,v=f;c?(e.arc(g,v,m,d,p,!0),e.lineTo(o,v)):(e.arc(g,v,m,p,d,!0),e.lineTo(r,v)),e.stroke(),e.fill(),t.drawState={x1:h,y1:f,r1:u,x2:g,y2:v,r2:m,sa:d,ea:p}}else{let r=Math.round((t.start-s)/a),i=Math.round((t.end-s)/a);e.strokeStyle=t.color,e.beginPath();let o=(r+i)/2,l=(i-r)/2,h=this.height,u=Math.PI+(Math.PI/2-n),f=2*Math.PI-(Math.PI/2-n);c?(h=0,e.arc(o,h,l,f,u)):e.arc(o,h,l,u,f),e.stroke(),t.drawState={x1:o,y1:h,r1:l,sa:u,ea:f}}}}clickedFeatures(t,e){const n=[];lu(e=super.clickedFeatures(t,e),-1);for(let r of e){const e=r.drawState,i=t.canvasX-e.x1,o=t.canvasY-e.y1,s=Math.sqrt(i*i+o*o),a=e.r1+3;let c,l;if(void 0===e.x2)c=s,l=e.r1-3;else{const n=t.canvasX-e.x2,r=t.canvasY-e.y2;c=Math.sqrt(n*n+r*r),l=e.r2-3}if(s<a&&c>l){n.push(r);break}}return n}popupData(t,e){if((e=this.clickedFeatures(t,e))&&e.length>0)return rc.extractPopupData(e[0],this.getGenomeId())}menuItemList(){var t=this;return[{name:"Toggle arc direction",click:function(){t.arcOrientation=!t.arcOrientation,t.trackView.repaintViews()}}]}}function lu(t,e){t.sort((function(t,n){const r=void 0===t.score?-Number.MAX_VALUE:t.score,i=void 0===n.score?-Number.MAX_VALUE:n.score;return(void 0===e?1:e)*(r-i)}))}class hu{constructor(t,e){this.config=t,this.genome=e}async getFeatures({chr:t,start:e,end:n,bpPerPixel:r,visibilityWindow:i}){const o=this.genome;if(this.featureCache)return this.featureCache.queryFeatures(t,e,n);{const r=cs(this.config),i=await so.loadString(this.config.url,r);return this.featureCache=new _o(function(t){if(!t)return null;const e=fc(t);let n,r=!0;const i=[],o=[],s=[];for(;void 0!==(n=e.nextLine());){const t=n.split("\t");if(r&&n.startsWith("color:")){const e="rgb("+t[1]+","+t[2]+","+t[3]+")";i.push(e),t.length>4&&o.push(t[4])}else{r=!1;const e=t[0],n=Number.parseInt(t[1])-1,c=Number.parseInt(t[2])-1,l=Number.parseInt(t[3]),h=Number.parseInt(t[4]);var a=Number.parseInt(t[5]);const u=i[a];let f;f=n<=h?{chr:e,startLeft:Math.min(n,c),startRight:Math.max(n,c),endLeft:Math.min(l,h),endRight:Math.max(l,h),color:u,score:a}:{chr:e,startLeft:Math.min(l,h),startRight:Math.max(l,h),endLeft:Math.min(n,c),endRight:Math.max(n,c),color:u,score:a},f.start=f.startLeft,f.end=f.endRight,o.length>a&&(f.description=o[a]),s.push(f)}}return s}(i),o),this.featureCache.queryFeatures(t,e,n)}}}class uu{constructor(t){this.browser=t,this.type="ideogram",this.id=this.type,this.height=16,this.order=Number.MIN_SAFE_INTEGER,this.disableButtons=!0,this.ignoreTrackMenu=!0}async getFeatures(t,e,n){return[]}computePixelHeight(t){return this.height}draw({context:t,referenceFrame:e,pixelWidth:n,pixelHeight:r}){const i=e.chr,o=e.genome.getChromosome(i);if(void 0===o||n<=0||r<=0||"all"===i.toLowerCase())return;!function({ctx:t,chr:e,referenceFrame:n,genome:r,width:i,height:o,stainColors:s}){const a=1,c=.5*a,l=0;if(void 0===r)return;es.fillRect(t,0,0,i,o,{fillStyle:Xi.greyScale(255)});const h=r.getCytobands(e);if(h){const e=l+o/2,n=[],r=[];if(0===h.length)return;const u=i/h[h.length-1].end;t.beginPath(),es.roundRect(t,c,c+l,i-2*c,o-2*c,(o-2*c)/2,0,1),t.clip();for(let i=0;i<h.length;i++){const c=h[i],f=u*c.start,d=u*c.end;"c"===c.type?("p"===c.name.charAt(0)?(n[0]=f,r[0]=o+l,n[1]=f,r[1]=l,n[2]=d,r[2]=e):(n[0]=d,r[0]=o+l,n[1]=d,r[1]=l,n[2]=f,r[2]=e),t.fillStyle="rgb(150, 0, 0)",t.strokeStyle="rgb(150, 0, 0)",es.polygon(t,n,r,1,0)):(t.fillStyle=fu(s,c),es.fillRect(t,f,a+l,d-f,o-2*a))}}t.strokeStyle=Xi.greyScale(41),es.roundRect(t,c,c+l,i-2*c,o-2*c,(o-2*c)/2,0,1)}({ctx:t,chr:i,referenceFrame:e,genome:e.genome,width:n,height:r,stainColors:[]});const s=Math.round(e.bpPerPixel*n),a=e.start;let c=o.bpLength;const l=e.genome.getCytobands(i);if(l&&l.length>0&&l[l.length-1].end&&(c=Math.max(c,l[l.length-1].end),o.bpLength=c),s<c){const e=s/c,i=a/c;let o=Math.floor(i*n),l=Math.floor(e*n);o=Math.max(0,o),o=Math.min(n-l,o),t.save(),t.strokeStyle="red",t.lineWidth=l<2?1:2;const h=o+t.lineWidth/2;l=l<2?1:l-t.lineWidth;const u=t.lineWidth/2,f=r-t.lineWidth;t.strokeRect(h,u,l,f),t.restore()}}dispose(){this.trackView=void 0}}function fu(t,e){if("c"===e.type)return"rgb(150, 10, 10)";var n=e.stain,r=230;"p"===e.type&&(r=Math.floor(230-n/100*230));var i=t[r];return i||(i="rgb("+r+","+r+","+r+")",t[r]=i),i}let du=new Ts("Dark2");["GT/AG","CT/AC","GC/AG","CT/GC","AT/AC","GT/AT","non-canonical"].forEach((t=>{du.getColor(t)}));const pu={};class gu extends rc{constructor(t,e){super(t,e)}init(t){super.init(t),this.type=t.type||"junctions",t._featureSource?(this.featureSource=t._featureSource,delete t._featureSource):this.featureSource=t.featureSource?t.featureSource:Sl(t,this.browser.genome),this.margin=void 0===t.margin?10:t.margin,this.height||(this.height=100),void 0===t.colorByNumReadsThreshold&&(t.colorByNumReadsThreshold=5)}async postInit(){return"function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader()),this.header&&this.setTrackProperties(this.header),void 0===this.visibilityWindow&&"function"==typeof this.featureSource.defaultVisibilityWindow&&(this.visibilityWindow=await this.featureSource.defaultVisibilityWindow(),this.featureSource.visibilityWindow=this.visibilityWindow),this}supportsWholeGenome(){return!1}async getFeatures(t,e,n,r){const i=this.visibilityWindow;return this.featureSource.getFeatures({chr:t,start:e,end:n,bpPerPixel:r,visibilityWindow:i})}computePixelHeight(t){return this.height}draw(t){const e=t.features,n=t.context,r=t.bpPerPixel,i=t.bpStart,o=t.pixelWidth,s=t.pixelHeight,a=i+o*r+1;if(this.config.isMergedTrack||es.fillRect(n,0,t.pixelTop,o,s,{fillStyle:"rgb(255, 255, 255)"}),e){const c=[];for(let l of e){pu.referenceFrame=t.viewport.referenceFrame,pu.referenceFrameStart=pu.referenceFrame.start,pu.referenceFrameEnd=pu.referenceFrameStart+pu.referenceFrame.toBP(de(t.viewport.contentDiv).width()),pu.featureZoomOutTracker={};for(let l of e){if(l.end<i)continue;if(l.start>a)break;const e=o/c["COLLAPSED"===this.displayMode?0:l.row];t.drawLabel=t.labelAllFeatures||e>10,this.renderJunction(l,i,r,s,n,t)}}}else console.log("No feature list")}renderJunction(t,e,n,r,i){t.isVisible=!1;const o=Math.round((t.start-e)/n),s=Math.round((t.end-e)/n),a=(o+s)/2;if(s-o<=3){if(a in pu.featureZoomOutTracker)return;pu.featureZoomOutTracker[a]=!0}if(this.config.hideAnnotatedJunctions&&"true"===t.attributes.annotated_junction)return;if(this.config.hideUnannotatedJunctions&&"false"===t.attributes.annotated_junction)return;if(this.config.hideMotifs&&this.config.hideMotifs.includes(t.attributes.motif))return;if(this.config.hideStrand===t.strand)return;if(this.config.minJunctionEndsVisible){let e=0;if(t.start>=pu.referenceFrameStart&&t.start<=pu.referenceFrameEnd&&(e+=1),t.end>=pu.referenceFrameStart&&t.end<=pu.referenceFrameEnd&&(e+=1),e<this.config.minJunctionEndsVisible)return}let c,l,h,u;if(t.attributes.uniquely_mapped){if(c=parseInt(t.attributes.uniquely_mapped),c<this.config.minUniquelyMappedReads)return;if(l=parseInt(t.attributes.multi_mapped),h=c+l,h<this.config.minTotalReads)return;if(h>0&&l/h>this.config.maxFractionMultiMappedReads)return;if(t.attributes.maximum_spliced_alignment_overhang&&parseInt(t.attributes.maximum_spliced_alignment_overhang)<this.config.minSplicedAlignmentOverhang)return}if(t.attributes.num_samples_with_this_junction){if(u=parseInt(t.attributes.num_samples_with_this_junction),this.config.minSamplesWithThisJunction&&u<this.config.minSamplesWithThisJunction)return;if(this.config.maxSamplesWithThisJunction&&u>this.config.maxSamplesWithThisJunction)return;if(t.attributes.num_samples_total&&(t.attributes.percent_samples_with_this_junction=100*u/parseFloat(t.attributes.num_samples_total),this.config.minPercentSamplesWithThisJunction&&(t.attributes.percent_samples_with_this_junction<this.config.minPercentSamplesWithThisJunction||t.attributes.percent_samples_with_this_junction>this.config.maxPercentSamplesWithThisJunction)))return}const f=this.margin,d=this.height,p=f+.5*d;let g=f;const m=f+d-10,v=(o+a)/2,b=(a+s)/2;let w,y,x=1;t.attributes.line_width?x=parseFloat(t.attributes.line_width):(void 0===this.config.thicknessBasedOn||"numUniqueReads"===this.config.thicknessBasedOn?x=c:"numReads"===this.config.thicknessBasedOn?x=h:"numSamplesWithThisJunction"===this.config.thicknessBasedOn&&void 0!==u&&(x=u),x=1+Math.log(x+1)/Math.log(12)),void 0===this.config.bounceHeightBasedOn||"random"===this.config.bounceHeightBasedOn?w=(t.start+t.end)%7:"distance"===this.config.bounceHeightBasedOn?w=6*(t.end-t.start)/(pu.referenceFrameEnd-pu.referenceFrameStart):"thickness"===this.config.bounceHeightBasedOn&&(w=2*x),g+=d*Math.max(7-w,0)/10,y=t.attributes.color?t.attributes.color:void 0===this.config.colorBy||"numUniqueReads"===this.config.colorBy?c>this.config.colorByNumReadsThreshold?"blue":"#AAAAAA":"numReads"===this.config.colorBy?h>this.config.colorByNumReadsThreshold?"blue":"#AAAAAA":"isAnnotatedJunction"===this.config.colorBy?"true"===t.attributes.annotated_junction?"#b0b0ec":"orange":"strand"===this.config.colorBy?"+"===t.strand?"#b0b0ec":"#ecb0b0":"motif"===this.config.colorBy?du.getColor(t.attributes.motif):"#AAAAAA";let _="";t.attributes.label?_=t.attributes.label.replace(/_/g," "):void 0===this.config.labelWith||"uniqueReadCount"===this.config.labelWith?_=c:"totalReadCount"===this.config.labelWith?_=h:"numSamplesWithThisJunction"===this.config.labelWith?void 0!==u&&(_=u):"percentSamplesWithThisJunction"===this.config.labelWith?void 0!==t.attributes.percent_samples_with_this_junction&&(_=t.attributes.percent_samples_with_this_junction.toFixed(0)+"%"):"motif"===this.config.labelWith&&void 0!==t.attributes.motif&&(_+=t.attributes.motif),"uniqueReadCount"===this.config.labelWithInParen?_+=" ("+c+")":"totalReadCount"===this.config.labelWithInParen?_+=" ("+h+")":"multiMappedReadCount"===this.config.labelWithInParen?l>0&&(_+=" (+"+l+")"):"numSamplesWithThisJunction"===this.config.labelWithInParen?void 0!==u&&(_+=" ("+u+")"):"percentSamplesWithThisJunction"===this.config.labelWithInParen?void 0!==t.attributes.percent_samples_with_this_junction&&(_+=" ("+t.attributes.percent_samples_with_this_junction.toFixed(0)+"%)"):"motif"===this.config.labelWithInParen&&void 0!==t.attributes.motif&&(_+=` ${t.attributes.motif}`),t.isVisible=!0,i.beginPath(),i.moveTo(o,m),i.bezierCurveTo(v,g,b,g,s,m),i.lineWidth=x,i.strokeStyle=y,i.stroke();const k=(t,e,n,r)=>{t.beginPath(),t.moveTo(e,n),t.lineTo(e-r/2,n-r),t.lineTo(e+r/2,n-r),t.lineTo(e,n),t.closePath(),t.fill()};if(t.attributes.left_shape||t.attributes.right_shape){i.fillStyle=y;const e=i.lineWidth>2?10:7;t.attributes.left_shape&&k(i,o,m,e),t.attributes.right_shape&&k(i,s,m,e)}i.fillText(_,a-i.measureText(_).width/2,(7*g+p)/8)}clickedFeatures(t,e){return super.clickedFeatures(t,e).filter((function(t){return t.isVisible&&t.attributes}))}popupData(t,e){e=this.clickedFeatures(t,e);const n=t.genomicLocation,r=[];for(let t of e){const e="function"==typeof t.popupData?t.popupData(n):this.extractPopupData(t._f||t,this.getGenomeId());e&&(r.length>0&&r.push("<hr/><hr/>"),Array.prototype.push.apply(r,e))}return r}description(){return this.name}dispose(){this.trackView=void 0}}const mu=new Map([["ideogram",(t,e)=>new uu(t,e)],["sequence",(t,e)=>new js(t,e)],["feature",(t,e)=>new Bl(t,e)],["seg",(t,e)=>new ql(t,e)],["mut",(t,e)=>new ql(t,e)],["maf",(t,e)=>new ql(t,e)],["wig",(t,e)=>new jl(t,e)],["merged",(t,e)=>new $l(t,e)],["alignment",(t,e)=>new zh(t,e)],["interaction",(t,e)=>new Gh(t,e)],["interact",(t,e)=>new Gh(t,e)],["variant",(t,e)=>new eu(t,e)],["eqtl",(t,e)=>new ru(t,e)],["gwas",(t,e)=>new ou(t,e)],["arc",(t,e)=>new cu(t,e)],["gcnv",(t,e)=>new su(t,e)],["junction",(t,e)=>new gu(t,e)]]);var vu=function(t,e){mu.set(t,e)},bu=function(t,e,n){let r;switch(t){case"annotation":case"genes":case"fusionjuncspan":case"snp":r="feature";break;case"seg":case"maf":case"mut":r="seg";break;case"junctions":case"splicejunctions":r="junction";break;default:r=t}return mu.has(r)?mu.get(r)(e,n):void 0};class wu{constructor(t,e){this.config=t,this.name=t.name,this.roiSource=Sl(t,e),this.color=t.color||"rgba(68, 134, 247, 0.25)"}async getFeatures(t,e,n){return this.roiSource.getFeatures({chr:t,start:e,end:n})}draw(t){var e,n,r,i;if(i=t.features){e=t.bpStart+(t.pixelWidth*t.bpPerPixel+1);for(var o=0,s=i.length;o<s;o++)if(!((n=i[o]).end<t.bpStart)){if(n.start>e)break;r=yu(n,t.bpStart,t.bpPerPixel),es.fillRect(t.context,r.x,t.pixelTop,r.width,t.pixelHeight,{fillStyle:this.color})}}}}function yu(t,e,n){var r,i;return r=Math.round((t.start-e)/n),(i=Math.round((t.end-e)/n)-r)<3&&(i=3,r-=1),{x:r,width:i}}class xu{constructor(t,e){this.geneColors={},this.gene=null,this.snp=null,this.genesCount=0,t&&(this.gene=t.toUpperCase(),this.geneColors[this.gene]=_u[this.genesCount++]),e&&(this.snp=e.toUpperCase())}addGene(t){this.geneColors[t.toUpperCase()]||(this.geneColors[t.toUpperCase()]=_u[this.genesCount++])}colorForGene(t){return this.geneColors[t.toUpperCase()]}}var _u=new Array;_u.push("rgb(228,26,28)"),_u.push("rgb(55,126,184)"),_u.push("rgb(77,175,74)"),_u.push("rgb(166,86,40)"),_u.push("rgb(152,78,163)"),_u.push("rgb(255,127,0)"),_u.push("rgb(247,129,191)"),_u.push("rgb(153,153,153)"),_u.push("rgb(255,255,51)"),_u.push("rgb(102, 194, 165"),_u.push("rgb(252, 141, 98"),_u.push("rgb(141, 160, 203"),_u.push("rgb(231, 138, 195"),_u.push("rgb(166, 216, 84"),_u.push("rgb(255, 217, 47"),_u.push("rgb(229, 196, 148"),_u.push("rgb(179, 179, 179"),_u.push("rgb( 141, 211, 199"),_u.push("rgb(255, 255, 179"),_u.push("rgb(190, 186, 218"),_u.push("rgb(251, 128, 114"),_u.push("rgb(128, 177, 211"),_u.push("rgb(253, 180, 98"),_u.push("rgb(179, 222, 105"),_u.push("rgb(252, 205, 229"),_u.push("rgb(217, 217, 217"),_u.push("rgb(188, 128, 189"),_u.push("rgb(204, 235, 197"),_u.push("rgb(255, 237, 111");class ku{constructor(t,e){const n=(new DOMParser).parseFromString(t,"text/xml");this.processRootNode(n,e);const r=n.getElementsByTagName("Resource"),i=n.getElementsByTagName("Track"),o=i&&i.length>0,s=[];this.tracks=s;const a=new Map;Array.from(r).forEach((function(t,e){var n={url:t.getAttribute("path"),indexURL:t.getAttribute("index"),order:e};a.set(n.url,n),o||s.push(n)})),o&&Array.from(i).forEach((function(t){const e=t.getElementsByTagName("Track");if(e&&e.length>0){const n={type:"merged",tracks:[]};Su(t,n),s.push(n),Array.from(e).forEach((function(t){t.processed=!0;const e=t.getAttribute("id"),r=a.get(e);r&&(n.tracks.push(r),Su(t,r),r.autoscale=!1,n.height=r.height)}))}else if(!t.processed){const e=t.getAttribute("id"),n=a.get(e);n&&(s.push(n),Su(t,n))}}))}processRootNode(t,e){const n=t.getElementsByTagName("Session");!n||n.length;const r=n.item(0),i=r.getAttribute("genome"),o=r.getAttribute("locus"),s=r.getAttribute("ucscID");e&&e.hasOwnProperty(i)?this.genome=i:(this.reference={fastaURL:i},s&&(this.reference.id=s)),o&&(this.locus=o)}}function Su(t,e){e.name=t.getAttribute("name");const n=t.getAttribute("color");n&&(e.color="rgb("+n+")");const r=t.getAttribute("altColor");n&&(e.altColor="rgb("+r+")");const i=t.getAttribute("height");i&&(e.height=parseInt(i));const o=t.getAttribute("autoScale");o&&(e.autoscale="true"===o);const s=t.getAttribute("autoscaleGroup");s&&(e.autoscaleGroup=s);const a=t.getAttribute("windowFunction");a&&(e.windowFunction=a);const c=t.getAttribute("visibilityWindow")||t.getAttribute("featureVisibilityWindow");c&&(e.visibilityWindow=c);const l=t.getAttribute("indexed");l&&(e.indexed="true"===l);const h=t.getAttribute("normalize");h&&(e.normalize="true"===h);const u=t.getElementsByTagName("DataRange");if(u.length>0){const t=u.item(0);e.min=Number.parseFloat(t.getAttribute("minimum")),e.max=Number.parseFloat(t.getAttribute("maximum")),e.logScale="LOG"===t.getAttribute("type")}}const Cu=Se;class Eu{constructor(){this.attributes={},this.plinkLoaded=!1}async loadPlinkFile(t,e){e||(e={});var n=cs(e);const r=await so.loadString(t,n);var i=Cu(r);for(let t of i){var o=t.split(" ");this.attributes[o[1]]={familyId:o[0],fatherId:o[2],motherId:o[3],sex:o[4],phenotype:o[5]}}return this.plinkLoaded=!0,this}getAttributes(t){return this.attributes[t]}getAttributeNames(){return this.hasAttributes()?Object.keys(this.attributes[Object.keys(this.attributes)[0]]):[]}hasAttributes(){return Object.keys(this.attributes).length>0}}class Au{constructor(t,e,n,r,i){this.genome=t,this.chr=e,this.start=n,this.end=r,this.bpPerPixel=i,this.id=ve()}calculateEnd(t){return this.start+this.bpPerPixel*t}calculateBPP(t,e){return(t-this.start)/e}set(t){this.chr=t.chr,this.start=t.start,this.bpPerPixel=t.bpPerPixel}toPixels(t){return t/this.bpPerPixel}toBP(t){return this.bpPerPixel*t}shiftPixels(t,e){const n=this.start,r=t*this.bpPerPixel;this.start+=r,this.clampStart(e),this.end+=r;const{bpLength:i}=this.genome.getChromosome(this.chr);return this.end=Math.min(i,this.end),n!==this.start}clampStart(t){const e=this.genome.getChromosome(this.chr).bpStart||0;if(this.start=Math.max(e,this.start),t){const{bpLength:e}=this.genome.getChromosome(this.chr),n=e-t*this.bpPerPixel;this.start>n&&(this.start=n)}}async zoomWithScaleFactor(t,e,n,r){const i=void 0===r?this.start+this.toBP(n/2):r,{start:o,bpPerPixel:s}=this.start,{bpLength:a}=this.getChromosome(),c=e<1?t.minimumBases()/n:a/n;this.bpPerPixel=e<1?Math.max(this.bpPerPixel*e,c):Math.min(this.bpPerPixel*e,c);const l=this.bpPerPixel*n;this.start=i-.5*l,this.clampStart(n),this.end=this.start+l;(o!==this.start||s!==this.bpPerPixel)&&await t.updateViews(this)}getChromosome(){return this.genome.getChromosome(this.chr)}getMultiLocusLabel(t){const e=Math.floor(this.start)+1,n=Math.round(this.start+this.bpPerPixel*t);return`${this.chr}&nbsp &nbsp &nbsp${fs(n-e)}`}getPresentationLocusComponents(t){if("all"===this.chr)return{chr:this.chr};{const e=ke(Math.floor(this.start)+1),n=ke(Math.round(this.start+this.bpPerPixel*t));return{chr:this.chr,start:e,end:n}}}getLocusString(){if("all"===this.chr)return"all";{const t=ke(Math.floor(this.start)+1),e=ke(Math.round(this.end));return`${this.chr}:${t}-${e}`}}description(t){console.log(` ${t||""} referenceFrame - ${this.chr} bpp ${this.bpPerPixel.toFixed(3)} start ${ke(Math.round(this.start))} end ${ke(Math.round(this.end))} `)}}const Tu={A:"rgb( 0, 200, 0)",C:"rgb( 0,0,200)",T:"rgb(255,0,0)",G:"rgb(209,113, 5)",N:"rgb(80,80,80)"},Lu={timeout:5e3,type:"plain",url:"https://igv.org/genomes/locus.php?genome=$GENOME$&name=$FEATURE$",coords:0,chromosomeField:"chromosome",startField:"start",endField:"end",geneField:"gene",snpField:"snp"};async function Ru(t,e){if(void 0===e||""===e.trim())return;(e&&"all"===e.trim().toLowerCase()||"*"===e)&&(e="all");const n=e.split(" ");let r=t.searchConfig||Lu,i=[];const o=async n=>{let i=function(t,e){const n=e.split(":"),r=n[0];if("all"===r&&t.genome.getChromosome(r))return{chr:r,start:0,end:t.genome.getChromosome(r).bpLength};if(void 0===t.genome.getChromosome(r))return;{const e={chr:t.genome.getChromosomeName(r),start:0,end:t.genome.getChromosome(r).bpLength};if(n.length>1){const t=n[1].split("-");if(t.length>2)return;{let n;if(n=t[0].replace(/,/g,""),isNaN(n))return;if(e.start=parseInt(n,10)-1,e.end=e.start+1,1===t.length&&(e.start-=20,e.end+=20),2===t.length){if(n=t[1].replace(/,/g,""),isNaN(n))return;e.end=parseInt(n,10)}}}return e}}(t,n);if(!i){const r=t.genome.featureDB[n.toUpperCase()];r&&(i={chr:r.chr,start:r.start,end:r.end,gene:r.name,locusSearchString:e})}if(!i&&t.config&&!1!==t.config.search)try{i=await async function(t,e,n){let r=n.url.replace("$FEATURE$",e.toUpperCase());r.indexOf("$GENOME$")>-1&&(r=r.replace("$GENOME$",t.genome.id?t.genome.id:"hg19"));const i=n.timeout?{timeout:n.timeout}:void 0,o=await so.loadString(r,i),s=function(t,e,n){let r;r="plain"===n.type?function(t,e){const n=[],r=[];return Se(e).forEach((function(t){""===t||n.push(t)})),n.forEach((function(e){var n,i,o,s,a=e.split("\t");a.length>=3&&(o=(i=a[1].split(":"))[1].split("-"),n=a[2].trim(),s={gene:a[0],chromosome:t.genome.getChromosomeName(i[0].trim()),start:parseInt(o[0].replace(/,/g,"")),end:parseInt(o[1].replace(/,/g,"")),type:"gtex"===n?"snp":"gene"},r.push(s))})),r}(t,e):JSON.parse(e);n.resultsField&&(r=r[n.resultsField]);if(r&&0!==r.length){const e=n.chromosomeField||"chromosome",i=n.startField||"start",o=n.endField||"end",s=n.coords||1;let a;a=Array.isArray(r)?r[0]:r,a.hasOwnProperty(e)&&a.hasOwnProperty(i)||console.error("Search service results must include chromosome and start fields: "+a);const c=a[e],l=t.genome.getChromosome(c);if(!l)return;const h=l.name;let u=a[i]-s,f=a[o];void 0===f&&(f=u+1);const d={chr:h,start:u,end:f},p=a.type?a.type:"gene";return n.geneField&&"gene"===p&&(d.gene=a[n.geneField]),n.snpField&&"snp"===p&&(d.snp=a[n.snpField]),d}return}(t,o,n);s&&(s.locusSearchString=e);return s}(t,n,r)}catch(t){throw console.error(t),Error("Search service currently unavailable.")}return i};for(let t of n){const e=await o(t);e&&(e.locusSearchString=t,i.push(e))}if(0===i.length){const t=await o(e);t&&(t.locusSearchString=e,i.push(t))}return 0===i.length?void 0:i}class Mu{constructor(t){this.browser=t}navbarDidResize(t,e){this.updateNavbar(this.createResponsiveClassSchedule(t,e))}updateNavbar(t){this.browser.$toggle_button_container.removeClass(),this.browser.$toggle_button_container.addClass(t.$toggle_button_container),de(this.browser.zoomWidget.zoomContainer).removeClass(),de(this.browser.zoomWidget.zoomContainer).addClass(t.zoomContainer)}createResponsiveClassSchedule(t,e){let n={};return e?this.browser.windowSizePanel.hide():this.browser.windowSizePanel.show(),t>990?(n.$toggle_button_container="igv-navbar-toggle-button-container",n.zoomContainer="igv-zoom-widget"):t>860?(n.$toggle_button_container="igv-navbar-toggle-button-container",n.zoomContainer="igv-zoom-widget-900"):t>540?(n.$toggle_button_container="igv-navbar-toggle-button-container-750",n.zoomContainer="igv-zoom-widget-900"):(n.$toggle_button_container="igv-navbar-toggle-button-container-750",n.zoomContainer="igv-zoom-widget-900",this.browser.windowSizePanel.hide()),e&&(n.zoomContainer="igv-zoom-widget-hidden"),n}}class Iu{constructor(t){this.column=pe({class:"igv-scrollbar-column"}),t.appendChild(this.column)}addScrollbar(t,e){const n=pe();this.column.appendChild(n),n.style.height=`${t.track.height}px`;const r=pe();n.appendChild(r),t.innerScroll=r,t.outerScroll=n,ve(),de(r).on(`mousedown.${t.namespace}`,(n=>{n.stopPropagation();const{y:i}=me(n);de(r).data("yDown",i.toString()),de(e).on(`mousemove.${t.namespace}`,(e=>{e.stopPropagation();const{y:n}=me(e);t.moveScroller(n-parseInt(de(r).data("yDown"))),de(r).data("yDown",n.toString())}))})),de(e).on(`mouseup.${t.namespace}`,(()=>de(e).off(`mousemove.${t.namespace}`)))}removeScrollbar(t,e){t.outerScroll&&(t.innerScroll&&(de(t.innerScroll).off(t.namespace),t.innerScroll.remove(),de(e).off(t.namespace)),t.outerScroll.remove())}addScrollbarShim(t){const e=pe();this.column.appendChild(e),e.style.height=`${t.track.height}px`,t.outerScroll=e}}let Nu;class Fu{constructor(t){this.column=pe({class:"igv-track-drag-column"}),t.appendChild(this.column)}addDragHandle(t,e){const n=pe({class:"igv-track-drag-handle"});this.column.appendChild(n),e.dragHandle=n,e.dragHandle.style.height=`${e.track.height}px`,e.dragHandle.addEventListener("mousedown",(n=>{n.preventDefault(),Nu=n.target,Nu.classList.add("igv-track-drag-handle-hover"),t.startTrackDrag(e)})),de(document).on(`mouseup.${e.namespace}`,(e=>{e.preventDefault(),t.endTrackDrag(),Nu&&e.target!==Nu&&Nu.classList.remove("igv-track-drag-handle-hover"),Nu=void 0})),e.dragHandle.addEventListener("mouseenter",(n=>{n.preventDefault(),void 0===Nu&&n.target.classList.add("igv-track-drag-handle-hover"),t.updateTrackDrag(e)})),e.dragHandle.addEventListener("mouseout",(t=>{t.preventDefault(),void 0===Nu&&t.target.classList.remove("igv-track-drag-handle-hover")}))}removeDragHandle(t){t.dragHandle&&(de(t.dragHandle).off(),t.dragHandle.remove(),de(document).off(`mouseup.${t.namespace}`))}addDragShim(t){const e=pe({class:"igv-track-drag-shim"});this.column.appendChild(e),e.style.height=`${t.track.height}px`,t.dragHandle=e}}class Pu extends Go{constructor({parent:t,width:e}){super({parent:t,width:e,border:"1px solid gray"})}configure(t,e){this.colorHandlers=e,this.setActiveColorHandler("color"),this.createSwatches(t)}setActiveColorHandler(t){this.activeColorHandler=this.colorHandlers[t]}createSwatches(t){this.container.querySelectorAll(".igv-ui-color-swatch").forEach((t=>t.remove()));const e=Object.values(eo);for(let t of e){const e=pe({class:"igv-ui-color-swatch"});this.container.appendChild(e),this.decorateSwatch(e,t)}if(t)for(let e of t){const t=pe({class:"igv-ui-color-swatch"});this.container.appendChild(t),this.decorateSwatch(t,e)}}decorateSwatch(t,e){t.style.backgroundColor=e,t.addEventListener("mouseenter",(()=>t.style.borderColor=e)),t.addEventListener("mouseleave",(()=>t.style.borderColor="white")),t.addEventListener("click",(t=>{t.stopPropagation(),this.activeColorHandler(e)})),t.addEventListener("touchend",(t=>{t.stopPropagation(),this.activeColorHandler(e)}))}}const Ou=function(t){this.popover=pe({class:"igv-menu-popup"}),t.appendChild(this.popover);const e=pe({class:"igv-menu-popup-header"});this.popover.appendChild(e),xe(e,(()=>this.hide())),this.popoverContent=pe(),this.popover.appendChild(this.popoverContent),Ki(this.popover,e),e.addEventListener("click",(t=>{t.stopPropagation(),t.preventDefault()})),this.hide()};Ou.prototype.hide=function(){this.popover.style.display="none"},Ou.prototype.presentMenuList=function(t){if(Du(),t.length>0){this.popoverContent.innerHTML="",t=Ao.trackMenuItemListHelper(t,this);for(let e of t){e.init&&e.init();let n=e.object;0===t.indexOf(e)&&n.removeClass("igv-track-menu-border-top"),n.hasClass("igv-track-menu-border-top")||n.hasClass("igv-menu-popup-check-container")||n.is("div")&&n.addClass("igv-menu-popup-shim"),this.popoverContent.appendChild(n.get(0))}this.popover.style.display="flex";const{width:e}=this.popover.getBoundingClientRect();this.popover.style.left=-e+"px",this.popover.style.top="0px"}},Ou.prototype.presentTrackContextMenu=function(t,e){this.popoverContent.innerHTML="";const n=(r=e,i=this.popover,r.map((t=>{let e;if("string"==typeof t&&"<hr/>"===t)e=document.createElement("hr");else if("string"==typeof t)e=pe({class:"context-menu"}),e.innerHTML=t;else if("Node"==typeof t)e=t;else{if("function"==typeof t.init&&t.init(),"checkbox"===t.type)e=Eo("Show all bases",t.value);else if("color"===t.type){const n=new Pu({parent:i.parentElement,width:364});n.configure(void 0,{color:e=>t.click(e)}),e=pe({class:"context-menu"}),"string"==typeof t.label&&(e.innerHTML=t.label);const r=t=>{n.show(),ge(i),t.preventDefault(),t.stopPropagation()};e.addEventListener("click",r),e.addEventListener("touchend",r),e.addEventListener("mouseup",(function(t){t.preventDefault(),t.stopPropagation()}))}else e=pe({class:"context-menu"}),"string"==typeof t.label&&(e.innerHTML=t.label);if(t.click&&"color"!==t.type){function n(e){t.click(),ge(i),e.preventDefault(),e.stopPropagation()}e.addEventListener("click",n),e.addEventListener("touchend",n),e.addEventListener("mouseup",(function(t){t.preventDefault(),t.stopPropagation()}))}}return{el:e,init:t.init}})));var r,i;for(let{el:t}of n)this.popoverContent.appendChild(t);!function(t,e){e.style.display="flex";const{x:n,y:r}=be(t,e.parentNode),{width:i}=e.getBoundingClientRect(),o=n+i,{width:s}=e.parentNode.getBoundingClientRect();e.style.left=`${o>s?n-(o-s):n}px`,e.style.top=`${r}px`}(t,this.popover)},Ou.prototype.dispose=function(){this.popoverContent.innerHTML="",this.popover.innerHTML="",Object.keys(this).forEach((function(t){this[t]=void 0}))};const Du=()=>{const t=document.querySelectorAll(".igv-menu-popup");for(let e=0;e<t.length;e++)t[e].style.display="none"};class Bu{constructor(t){this.column=pe({class:"igv-gear-menu-column"}),t.appendChild(this.column)}addGearMenu(t,e){const n=pe();this.column.appendChild(n),n.style.height=`${e.track.height}px`;const r=pe();n.appendChild(r),r.appendChild(we("cog"));const i=new Ou(r);r.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),i.presentMenuList(Ao.trackMenuItemList(e))})),e.gearContainer=n}removeGearContainer(t){t.gearContainer.remove()}addGearShim(t){const e=pe();this.column.appendChild(e),e.style.height=`${t.track.height}px`,t.gearContainer=e}}const zu=function(t,e){this.container=pe({class:"igv-chromosome-select-widget-container"}),e.appendChild(this.container),this.select=document.createElement("select"),this.select.setAttribute("name","chromosome-select-widget"),this.container.appendChild(this.select),this.select.addEventListener("change",(()=>{this.select.blur(),""!==this.select.value&&t.search(this.select.value)})),this.showAllChromosomes=!1!==t.config.showAllChromosomes};zu.prototype.show=function(){this.container.style.display="flex"},zu.prototype.hide=function(){this.container.style.display="none"},zu.prototype.update=function(t){this.select.innerHeight="";const e=this.showAllChromosomes?t.chromosomeNames.slice():t.wgChromosomeNames.slice();t.showWholeGenomeView()&&(e.unshift("all"),e.unshift(""));for(let t of e){const e=document.createElement("option");e.setAttribute("value",t),e.innerText=t,this.select.appendChild(e)}};class ju{constructor(t,e){this.container=pe({class:"igv-windowsize-panel-container"}),t.appendChild(this.container),e.on("locuschange",(t=>{this.updatePanel(t)})),this.browser=e}show(){this.container.style.display="block"}hide(){this.container.style.display="none"}updatePanel(t){const e=this.browser.calculateViewportWidth(this.browser.referenceFrameList.length);this.container.innerText=1===t.length?fs(Math.round(e*t[0].bpPerPixel)):""}}const Hu=function(t,e){this.browser=e,this.$horizontalGuide=de('<div class="igv-cursor-guide-horizontal">'),t.append(this.$horizontalGuide),this.$verticalGuide=de('<div class="igv-cursor-guide-vertical">'),t.append(this.$verticalGuide),this.setVisibility(e.config.showCursorTrackingGuide),t.on("mousemove.cursor-guide",(n=>{const{x:r,y:i}=be(n,t.get(0)),o=`${i}px`;this.$horizontalGuide.css({top:o});const s=de(document.elementFromPoint(n.clientX,n.clientY)),a=s.parent();let c;if(a.hasClass("igv-viewport-content")?c=a.parent():a.hasClass("igv-viewport")&&s.hasClass("igv-viewport-content")&&(c=a),c&&e.rulerTrack){const t=`${r}px`;this.$verticalGuide.css({left:t});const i=e.$root.find(".igv-column").index(c.parent());e.rulerTrack.trackView.viewports[i].mouseMove(n)}}))};Hu.prototype.setVisibility=function(t){!0===t?this.show():this.hide()},Hu.prototype.show=function(){this.$verticalGuide.show(),this.$horizontalGuide.show()},Hu.prototype.hide=function(){if(this.$verticalGuide.hide(),this.$horizontalGuide.hide(),this.browser.rulerTrack)for(let t of this.browser.rulerTrack.trackView.viewports)t.$tooltip.hide()};class Vu{constructor(t,e){this.browser=t,this.button=pe({class:"igv-navbar-button"}),e.appendChild(this.button),this.button.textContent="cursor guide",this.button.addEventListener("click",(()=>{t.cursorGuideVisible=!t.cursorGuideVisible,t.setCursorGuideVisibility(t.cursorGuideVisible),this.setButtonState(t.cursorGuideVisible)})),this.setButtonState(t.cursorGuideVisible),t.config.showCursorTrackingGuideButton?this.show():this.hide()}setButtonState(t){!0===t?this.button.classList.add("igv-navbar-button-clicked"):this.button.classList.remove("igv-navbar-button-clicked")}show(){this.button.style.display="block",this.setButtonState(this.browser.cursorGuideVisible)}hide(){this.button.style.display="none"}}class Uu{constructor(t,e){this.browser=t,this.button=pe({class:"igv-navbar-button"}),e.appendChild(this.button),this.button.textContent="center line",this.button.addEventListener("click",(()=>{t.isCenterLineVisible=!t.isCenterLineVisible,t.setCenterLineVisibility(t.isCenterLineVisible),this.setButtonState(t.isCenterLineVisible)})),this.setButtonState(t.isCenterLineVisible),t.config.showCenterLineButton?this.show():this.hide()}setButtonState(t){!0===t?this.button.classList.add("igv-navbar-button-clicked"):this.button.classList.remove("igv-navbar-button-clicked")}show(){this.isVisible=!0,this.button.style.display="block",this.setButtonState(this.browser.isCenterLineVisible)}hide(){this.isVisible=!1,this.button.style.display="none"}}const qu=function(t,e){this.button=pe({class:"igv-navbar-button"}),t.appendChild(this.button),this.button.textContent="track labels",this.button.addEventListener("click",(()=>{e.trackLabelsVisible=!e.trackLabelsVisible,this.setState(e.trackLabelsVisible),e.setTrackLabelVisibility(e.trackLabelsVisible)})),this.browser=e,this.setVisibility(e.config.showTrackLabelButton),this.setState(e.trackLabelsVisible)};qu.prototype.setVisibility=function(t){!0===t?this.show():this.hide()},qu.prototype.setState=function(t){!0===t?this.button.classList.add("igv-navbar-button-clicked"):this.button.classList.remove("igv-navbar-button-clicked")},qu.prototype.show=function(){this.button.style.display="block",this.setState(this.browser.trackLabelsVisible)},qu.prototype.hide=function(){this.button.style.display="none"};class Wu{constructor(t,e){this.button=pe({class:"igv-navbar-button"}),t.appendChild(this.button),this.button.innerText="Sample Names",this.setState(e.showSampleNames),this.setVisibility(e.showSampleNameButton),this.button.addEventListener("click",(()=>{e.showSampleNames=!e.showSampleNames,this.setState(e.showSampleNames);for(let{sampleNameViewport:t}of e.trackViews)!1===e.showSampleNames?t.hide():t.show();e.resize()}))}setVisibility(t){!0===t?this.show():this.hide()}setState(t){!0===t?this.button.classList.add("igv-navbar-button-clicked"):this.button.classList.remove("igv-navbar-button-clicked")}hide(){this.button.style.display="none"}show(){this.button.style.display="block"}}let $u=23,Gu=0;const Zu=function(t,e){this.browser=t,this.zoomContainer=pe({class:"igv-zoom-widget"}),e.appendChild(this.zoomContainer),this.zoomOutButton=pe(),this.zoomContainer.appendChild(this.zoomOutButton),this.zoomOutButton.appendChild(we("minus-circle")),this.zoomOutButton.addEventListener("click",(()=>{t.zoomWithScaleFactor(2)}));const n=pe();this.zoomContainer.appendChild(n),this.slider=document.createElement("input"),this.slider.type="range",this.slider.min="0",this.slider.max=`${$u}`,n.appendChild(this.slider),this.slider.addEventListener("change",(e=>{const n=t.referenceFrameList[0],{bpLength:r}=n.genome.getChromosome(n.chr),{end:i,start:o}=n,s=i-o,a=r/Math.pow(2,e.target.valueAsNumber);t.zoomWithScaleFactor(a/s)})),this.zoomInButton=pe(),this.zoomContainer.appendChild(this.zoomInButton),this.zoomInButton.appendChild(we("plus-circle")),this.zoomInButton.addEventListener("click",(()=>{t.zoomWithScaleFactor(.5)})),t.on("locuschange",(t=>{this.browser.isMultiLocusMode()?this.disable():(this.enable(),this.update(t))}))};Zu.prototype.update=function(t){const e=t[0],{bpLength:n}=e.genome.getChromosome(e.chr),{start:r,end:i}=e;$u=Math.ceil(Math.log2(n/this.browser.minimumBases())),this.slider.max=`${$u}`;const o=n/(i-r);Gu=Math.log2(o),this.slider.value=`${Math.round(Gu)}`},Zu.prototype.enable=function(){this.slider.disabled=!1},Zu.prototype.disable=function(){this.slider.disabled=!0},Zu.prototype.hide=function(){this.zoomContainer.style.display="none"},Zu.prototype.show=function(){this.zoomContainer.style.display="block"},Zu.prototype.hideSlider=function(){this.slider.style.display="none"},Zu.prototype.showSlider=function(){this.slider.style.display="block"};const Xu=function(t,e){const n=pe({class:"igv-navbar-button"});t.append(n),n.textContent="Save SVG",n.addEventListener("click",(()=>e.saveSVGtoFile({})))},Yu=(t,e)=>{for(let n=0;n<e;n++){const e=pe({class:"igv-column"});0===n||t.appendChild(pe({class:"igv-column-shim"})),t.appendChild(e)}},Ku=t=>{t.querySelectorAll(".igv-column-shim").forEach((t=>t.remove())),t.querySelectorAll(".igv-column").forEach((t=>t.remove()))},Qu=(t,e)=>{const n=0===t?e.nextElementSibling:e.previousElementSibling;e.remove(),n.remove()},Ju=t=>{const e=pe({class:"igv-column-shim"});de(e).insertAfter(t);const n=pe({class:"igv-column"});return de(n).insertAfter(de(e)),n},tf=(t,e)=>{for(let n=0;n<e;n++){const r=pe({class:"igv-column"});if(de(r).insertBefore(t),e>1&&n>0){const t=pe({class:"igv-column-shim"});de(t).insertBefore(de(r))}}};class ef{constructor(t,e,n){this.browser=t,this.referenceFrame=e,this.column=n,this.container=pe({class:"igv-center-line"}),n.appendChild(this.container),t.isCenterLineVisible?this.show():this.hide()}repaint(){const{x:t}=this.column.getBoundingClientRect(),e=Math.floor(t+.5*this.browser.calculateViewportWidth(this.browser.referenceFrameList.length));if(this.referenceFrame){1/this.referenceFrame.bpPerPixel>1?(this.container.style.left=`${e}px`,this.container.style.width=`${Math.floor(this.referenceFrame.toPixels(1))}px`,this.container.classList.remove("igv-center-line-thin"),this.container.classList.add("igv-center-line-wide")):(this.container.style.left=`${e}px`,this.container.style.width="1px",this.container.classList.remove("igv-center-line-wide"),this.container.classList.add("igv-center-line-thin"))}}show(){this.isVisible=!0,this.container.style.display="block",this.repaint()}hide(){this.isVisible=!1,this.container.style.display="none"}resize(){this.repaint()}}class nf{constructor(t,e){this.config=t,this.guid=ve(),this.namespace=".browser_"+this.guid,this.parent=e,this.$root=de("<div>",{class:"igv-container"}),de(e).append(this.$root),qo.init(this.$root.get(0)),this.columnContainer=pe({class:"igv-column-container"}),this.$root.get(0).appendChild(this.columnContainer),this.menuPopup=new Ou(this.columnContainer),this.initialize(t),this.trackViews=[],this.constants={dragThreshold:3,scrollThreshold:5,defaultColor:"rgb(0,0,150)",doubleClickDelay:t.doubleClickDelay||500},this.eventHandlers={},this.addMouseHandlers(),this.setControls(t)}initialize(t){t.gtex&&(Al.gtexLoaded=!0),this.flanking=t.flanking,this.crossDomainProxy=t.crossDomainProxy,this.formats=t.formats,this.trackDefaults=t.trackDefaults,this.nucleotideColors=t.nucleotideColors||Tu;for(let t of Object.keys(this.nucleotideColors))this.nucleotideColors[t.toLowerCase()]=this.nucleotideColors[t];this.trackLabelsVisible=t.showTrackLabels,this.isCenterLineVisible=t.showCenterLine,this.cursorGuideVisible=t.showCursorTrackingGuide,this.showSampleNames=t.showSampleNames,this.showSampleNameButton=t.showSampleNameButton,this.sampleNameViewportWidth=t.sampleNameViewportWidth||200,t.search&&(this.searchConfig={type:"json",url:t.search.url,coords:void 0===t.search.coords?1:t.search.coords,chromosomeField:t.search.chromosomeField||"chromosome",startField:t.search.startField||"start",endField:t.search.endField||"end",geneField:t.search.geneField||"gene",snpField:t.search.snpField||"snp",resultsField:t.search.resultsField})}setControls(t){const e=this.createStandardControls(t);e.insertBefore(de(this.columnContainer)),this.$navigation=e,!1===t.showControls&&e.hide()}createStandardControls(t){this.navbarManager=new Mu(this);const e=de("<div>",{class:"igv-navbar"});this.$navigation=e;const n=de("<div>",{class:"igv-navbar-left-container"});e.append(n);const r=de("<div>",{class:"igv-logo"});n.append(r);const i=de('<svg width="690px" height="324px" viewBox="0 0 690 324" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>IGV</title><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="IGV" fill="#666666"><polygon id="Path" points="379.54574 8.00169252 455.581247 8.00169252 515.564813 188.87244 532.884012 253.529506 537.108207 253.529506 554.849825 188.87244 614.833392 8.00169252 689.60164 8.00169252 582.729511 320.722144 486.840288 320.722144"></polygon><path d="M261.482414,323.793286 C207.975678,323.793286 168.339046,310.552102 142.571329,284.069337 C116.803612,257.586572 103.919946,217.158702 103.919946,162.784513 C103.919946,108.410325 117.437235,67.8415913 144.472217,41.0770945 C171.507199,14.3125977 212.903894,0.930550071 268.663545,0.930550071 C283.025879,0.930550071 298.232828,1.84616386 314.284849,3.6774189 C330.33687,5.50867394 344.839793,7.97378798 357.794056,11.072835 L357.794056,68.968378 C339.48912,65.869331 323.578145,63.5450806 310.060654,61.9955571 C296.543163,60.4460336 284.574731,59.6712835 274.154998,59.6712835 C255.850062,59.6712835 240.502308,61.4320792 228.111274,64.9537236 C215.720241,68.4753679 205.793482,74.2507779 198.330701,82.2801269 C190.867919,90.309476 185.587729,100.87425 182.48997,113.974767 C179.392212,127.075284 177.843356,143.345037 177.843356,162.784513 C177.843356,181.942258 179.251407,198.000716 182.067551,210.960367 C184.883695,223.920018 189.671068,234.41436 196.429813,242.443709 C203.188559,250.473058 212.059279,256.178037 223.042241,259.558815 C234.025202,262.939594 247.683295,264.629958 264.01693,264.629958 C268.241146,264.629958 273.098922,264.489094 278.590403,264.207362 C284.081883,263.925631 289.643684,263.50304 295.275972,262.939577 L295.275972,159.826347 L361.595831,159.826347 L361.595831,308.579859 C344.698967,313.087564 327.239137,316.750019 309.215815,319.567334 C291.192494,322.38465 275.281519,323.793286 261.482414,323.793286 L261.482414,323.793286 L261.482414,323.793286 Z" id="Path"></path>;<polygon id="Path" points="0.81355666 5.00169252 73.0472883 5.00169252 73.0472883 317.722144 0.81355666 317.722144"></polygon></g> </g> </svg>');i.css("width","34px"),i.css("height","32px"),r.append(i),this.$current_genome=de("<div>",{class:"igv-current-genome"}),n.append(this.$current_genome),this.$current_genome.text("");const o=de("<div>",{class:"igv-navbar-genomic-location"});n.append(o),this.chromosomeSelectWidget=new zu(this,o.get(0)),void 0===t.showChromosomeWidget&&(t.showChromosomeWidget=!0),!0===t.showChromosomeWidget?this.chromosomeSelectWidget.show():this.chromosomeSelectWidget.hide();const s=de("<div>",{class:"igv-locus-size-group"});o.append(s);const a=de("<div>",{class:"igv-search-container"});s.append(a),this.$searchInput=de("<input>",{class:"igv-search-input",type:"text",placeholder:"Locus Search"}),a.append(this.$searchInput),this.$searchInput.change((()=>this.doSearch(this.$searchInput.val())));const c=pe({class:"igv-search-icon-container"});a.append(de(c)),c.appendChild(we("search")),c.addEventListener("click",(()=>this.doSearch(this.$searchInput.val()))),this.windowSizePanel=new ju(s.get(0),this);const l=de("<div>",{class:"igv-navbar-right-container"});e.append(l);const h=de('<div class="igv-navbar-toggle-button-container">');return l.append(h),this.$toggle_button_container=h,this.cursorGuide=new Hu(de(this.columnContainer),this),this.cursorGuideButton=new Vu(this,h.get(0)),this.centerLineButton=new Uu(this,h.get(0)),this.setTrackLabelVisibility(t.showTrackLabels),this.trackLabelControl=new qu(h.get(0),this),this.sampleNameControl=new Wu(h.get(0),this),!0===t.showSVGButton&&(this.svgSaveControl=new Xu(h.get(0),this)),this.zoomWidget=new Zu(this,l.get(0)),!1===t.showNavigation&&this.$navigation.hide(),this.inputDialog=new Wo(this.$root.get(0)),this.inputDialog.container.id=`igv-input-dialog-${ve()}`,this.dataRangeDialog=new ts(this.$root),this.dataRangeDialog.$container.get(0).id=`igv-data-range-dialog-${ve()}`,this.genericColorPicker=new Pu({parent:this.columnContainer,width:432}),this.genericColorPicker.container.id=`igv-track-color-picker-${ve()}`,e}getSampleNameViewportWidth(){return!1===this.showSampleNames?0:this.sampleNameViewportWidth}isMultiLocusMode(){return this.referenceFrameList&&this.referenceFrameList.length>1}addTrackToFactory(t,e){vu(t,e)}isMultiLocusWholeGenomeView(){if(void 0===this.referenceFrameList||1===this.referenceFrameList.length)return!1;for(let t of this.referenceFrameList)if("all"===t.chr.toLowerCase())return!0;return!1}async toSVG(){let{x:t,y:e,width:n,height:r}=this.columnContainer.getBoundingClientRect();let i=new Ys({width:n,height:8e3,backdropColor:"white",multiLocusGap:0,viewbox:{x:0,y:0,width:n,height:8e3}});for(let t of this.trackViews)t.renderSVGContext(i,{deltaX:0,deltaY:-e});return i.setHeight(r),i.getSerializedSvg(!0)}async renderSVG(t){const e=await this.toSVG();return t.empty(),t.append(e),e}async saveSVGtoFile(t){let e=await this.toSVG();t.$container&&(t.$container.empty(),t.$container.append(e));Ue(t.filename||"igvjs.svg",URL.createObjectURL(new Blob([e],{type:"application/octet-stream"})))}async loadSession(t){let e;return this.roi=[],e=t.url||t.file?await async function(t){const e=t.url||t.file;if(t.url&&(t.url.startsWith("blob:")||t.url.startsWith("data:"))){const e=nf.uncompressSession(t.url);return JSON.parse(e)}{let n=t.filename;if(n||(n=t.url?await us(t.url):t.file.name),n.endsWith(".xml")){const t=Ss.KNOWN_GENOMES,n=await so.loadString(e);return new ku(n,t)}return n.endsWith(".json")?so.loadJson(e):void 0}}(t):t,this.loadSessionObject(e)}async loadSessionObject(t){this.cleanHouseForSession(),this.showSampleNames=t.showSampleNames||!1,this.sampleNameControl.setState(!0===this.showSampleNames),t.sampleNameViewportWidth&&(this.sampleNameViewportWidth=t.sampleNameViewportWidth);const e=await Ss.expandReference(t.reference||t.genome);if(await this.loadReference(e,t.locus),this.axisColumn=function(t){const e=pe({class:"igv-axis-column"});return t.appendChild(e),e}(this.columnContainer),Yu(this.columnContainer,this.referenceFrameList.length),this.centerLineList=this.createCenterLineList(this.columnContainer),this.sampleNameColumn=function(t){const e=pe({class:"igv-sample-name-column"});return t.appendChild(e),e}(this.columnContainer),this.trackScrollbarControl=new Iu(this.columnContainer),this.trackDragControl=new Fu(this.columnContainer),this.trackGearControl=new Bu(this.columnContainer),void 0===this.ideogram&&!1!==t.showIdeogram&&(this.ideogram=new uu(this),this.trackViews.push(new ha(this,this.columnContainer,this.ideogram)),this.ideogram.trackView.updateViews()),void 0===this.rulerTrack&&!1!==t.showRuler&&(this.rulerTrack=new Ns(this),this.trackViews.push(new ha(this,this.columnContainer,this.rulerTrack)),this.rulerTrack.trackView.updateViews()),t.gtexSelections)for(let e of this.referenceFrameList)for(let n of Object.keys(t.gtexSelections)){const r=t.gtexSelections[n].gene,i=t.gtexSelections[n].snp;e.selection=new xu(r,i)}if(t.roi){this.roi=[];for(let e of t.roi)this.roi.push(new wu(e,this.genome))}const n=e.tracks||[],r=t.tracks?n.concat(t.tracks):n;0===r.filter((t=>"sequence"===t.type)).length&&r.push({type:"sequence",order:Ps});let i=1;for(let t of r)void 0===t.order&&(t.order=i++);await this.loadTrackList(r),this.updateUIWithReferenceFrameList()}createCenterLineList(t){const e=t.querySelectorAll(".igv-center-line");for(let t=0;t<e.length;t++)e[t].remove();const n=[],r=t.querySelectorAll(".igv-column");for(let t=0;t<r.length;t++)n.push(new ef(this,this.referenceFrameList[t],r[t]));return n}async loadReference(t,e){const n=await Ss.loadGenome(t),r=void 0===this.genome||this.genome.id!==n.id;this.genome=n,this.updateNavbarDOMWithGenome(n),r&&this.removeAllTracks();let i=function(t,e){return t?Array.isArray(t)?t.join(" "):t:e.getHomeChromosomeName()}(e,n);await this.search(i,!0)||(console.log("Initial locus not found: "+i),i=n.getHomeChromosomeName(),await this.search(i))}cleanHouseForSession(){for(let t of this.trackViews)t.removeDOMFromColumnContainer(),this.trackScrollbarControl.removeScrollbar(t,this.columnContainer),this.trackDragControl.removeDragHandle(t),this.trackGearControl.removeGearContainer(t);this.axisColumn&&this.axisColumn.remove(),Ku(this.columnContainer),this.sampleNameColumn&&this.sampleNameColumn.remove(),this.trackScrollbarControl&&this.trackScrollbarControl.column.remove(),this.trackDragControl&&this.trackDragControl.column.remove(),this.trackGearControl&&this.trackGearControl.column.remove(),this.ideogram&&this.ideogram.dispose(),this.ideogram=void 0,this.rulerTrack&&this.rulerTrack.dispose(),this.rulerTrack=void 0,this.trackViews=[]}updateNavbarDOMWithGenome(t){this.$current_genome.text(t.id||""),this.$current_genome.attr("title",t.id||""),this.chromosomeSelectWidget.update(t)}async loadGenome(t){const e=await Ss.expandReference(t);await this.loadReference(e,void 0);const n=e.tracks||[];return 0===n.filter((t=>"sequence"===t.type)).length&&n.push({type:"sequence",order:Ps}),await this.loadTrackList(n),await this.updateViews(),this.genome}updateUIWithReferenceFrameList(){const t=this.referenceFrameList;this.updateLocusSearchWidget();const e=this.isMultiLocusWholeGenomeView()||Ss.isWholeGenomeView(t[0].chr);this.navbarManager.navbarDidResize(this.$navigation.width(),e),rf(this.trackViews,this.trackLabelsVisible),this.setCenterLineAndCenterLineButtonVisibility(!Ss.isWholeGenomeView(t[0].chr))}setTrackLabelVisibility(t){rf(this.trackViews,t)}setCursorGuideVisibility(t){t?this.cursorGuide.show():this.cursorGuide.hide()}setCustomCursorGuideMouseHandler(t){this.cursorGuide.customMouseHandler=t}setCenterLineVisibility(t){for(let e of this.centerLineList)!0===t?(e.show(),e.repaint()):e.hide()}setCenterLineAndCenterLineButtonVisibility(t){for(let e of this.centerLineList){t&&e.isVisible?e.show():e.container.style.display="none"}t&&this.centerLineButton.isVisible?this.centerLineButton.show():this.centerLineButton.button.style.display="none"}async loadTrackList(t){try{const e=[];for(let n of t)e.push(this.loadTrack(n,!1));const n=await Promise.all(e),r=this.trackViews.filter((function(t){return t.track.autoscaleGroup}));return r.length>0&&this.updateViews(r),n}finally{await this.resize()}}async loadROI(t){if(this.roi||(this.roi=[]),Array.isArray(t))for(let e of t)this.roi.push(new wu(e,this.genome));else this.roi.push(new wu(t,this.genome));await this.updateViews(!0)}removeROI(t){for(let e=0;e<this.roi.length;e++)if(this.roi[e].name===t.name){this.roi.splice(e,1);break}for(let t of this.trackViews)t.updateViews(!0)}clearROIs(){this.roi=[];for(let t of this.trackViews)t.updateViews(!0)}async loadTrack(t,e){_e(t)&&(t=JSON.parse(t));try{const n=await this.createTrack(t);if(void 0===n)return qo.presentAlert(new Error(`Unknown file type: ${t.url||t}`),void 0),n;void 0===n.order&&(n.order=this.trackViews.length);const r=new ha(this,this.columnContainer,n);if(this.trackViews.push(r),rf(this.trackViews,this.trackLabelsVisible),this.reorderTracks(),this.fireEvent("trackorderchanged",[this.getTrackOrder()]),"function"==typeof n.postInit)try{r.startSpinner(),await n.postInit()}finally{r.stopSpinner()}return n.autoscaleGroup||(t.sync?await r.updateViews():r.updateViews()),"function"==typeof n.hasSamples&&n.hasSamples()&&!1!==this.config.showSampleNameButton&&this.sampleNameControl.show(),n}catch(e){const n={401:"Access unauthorized",403:"Access forbidden",404:"Not found"};console.error(e);let r=e.message||e.error||e.toString();n.hasOwnProperty(r)&&(r=n[r]),r+=": "+t.url,qo.presentAlert(new Error(r),void 0)}finally{!1===e||await this.resize()}}async createTrack(t){let e=await async function(t){return"function"==typeof t?t():t}(t.url);if(_e(e)&&(e=e.trim()),e)if(t.format)t.format=t.format.toLowerCase();else{let n=t.filename;n||(n=await us(e)),t.format=function(t){var e,n;if((t=t.toLowerCase()).endsWith("refgene.txt.gz")||t.endsWith("refgene.txt.bgz")||t.endsWith("refgene.txt")||t.endsWith("refgene.sorted.txt.gz")||t.endsWith("refgene.sorted.txt.bgz"))return"refgene";switch((e=t.indexOf("?"))>0&&(t=t.substr(0,e)),t.endsWith(".gz")&&(t=t.substr(0,t.length-3)),(t.endsWith(".txt")||t.endsWith(".tab")||t.endsWith(".bgz"))&&(t=t.substr(0,t.length-4)),n=(e=t.lastIndexOf("."))<0?t:t.substr(e+1)){case"bw":return"bigwig";case"bb":return"bigbed";default:return is.has(n)?n:void 0}}(n),t.format||void 0!==t.sourceType&&"htsget"!==t.sourceType||await Xc.inferFormat(t)}let n=t.type?t.type.toLowerCase():void 0;if(!n){if(n=os(t),"bedtype"===n){const e=Sl(t,this.genome);t._featureSource=e;const r=await e.trackType();n=r||"annotation"}t.type=n}if(this.trackDefaults&&n){const e=this.trackDefaults[n];if(e)for(let n in e)e.hasOwnProperty(n)&&void 0===t[n]&&(t[n]=e[n])}const r=bu(n,t,this);if(r&&t.roi){r.roi=[];for(let e of t.roi)r.roi.push(new wu(e,this.genome))}return r}reorderTracks(){this.trackViews.sort((function(t,e){const n=t=>"ideogram"===t.track.id?1:"ruler"===t.track.id?2:3,r=n(t),i=n(e);if(r===i){return(t.track.order||0)-(e.track.order||0)}return r-i}));for(let{axis:t,viewports:e,sampleNameViewport:n,outerScroll:r,dragHandle:i,gearContainer:o}of this.trackViews){t.remove();for(let{$viewport:t}of e)t.detach();n.$viewport.detach(),r.remove(),i.remove(),o.remove()}const t=this.columnContainer.querySelectorAll(".igv-column");for(let{axis:e,viewports:n,sampleNameViewport:r,outerScroll:i,dragHandle:o,gearContainer:s}of this.trackViews){this.axisColumn.append(e);for(let e=0;e<t.length;e++){const{$viewport:r}=n[e];t[e].appendChild(r.get(0))}this.sampleNameColumn.appendChild(r.$viewport.get(0)),this.trackScrollbarControl.column.appendChild(i),this.trackDragControl.column.appendChild(o),this.trackGearControl.column.appendChild(s)}}getTrackOrder(){return this.trackViews.filter((t=>t.track&&t.track.name)).map((t=>t.track.name))}removeTrackByName(t){const e=this.trackViews.slice();for(let n of e)t===n.track.name&&this.removeTrack(n.track)}removeTrack(t){this.trackViews.splice(this.trackViews.indexOf(t.trackView),1),this.fireEvent("trackremoved",[t]),this.fireEvent("trackorderchanged",[this.getTrackOrder()]),t.trackView.dispose()}removeAllTracks(){const t=[];for(let e of this.trackViews)"ruler"!==e.track.id&&"ideogram"!==e.track.id?(this.fireEvent("trackremoved",[e.track]),e.dispose()):t.push(e);this.trackViews=t}findTracks(t,e){let n="function"==typeof t?e=>t(e.track):n=>e===n.track[t];return this.trackViews.filter(n).map((t=>t.track))}setTrackHeight(t){this.trackHeight=t,this.trackViews.forEach((function(e){e.setTrackHeight(t)}))}async visibilityChange(){if(this.referenceFrameList.find((t=>t.bpPerPixel<0))){const t=this.calculateViewportWidth(this.referenceFrameList.length);for(let e of this.referenceFrameList)e.bpPerPixel=(e.end-e.start)/t}if(this.referenceFrameList){const t=this.isMultiLocusWholeGenomeView()||Ss.isWholeGenomeView(this.referenceFrameList[0].chr);this.navbarManager.navbarDidResize(this.$navigation.width(),t)}await this.resize()}async resize(){const t=this.calculateViewportWidth(this.referenceFrameList.length);for(let e of this.referenceFrameList){const n=this.referenceFrameList.indexOf(e),{chr:r,genome:i}=e,{bpLength:o}=i.getChromosome(e.chr),s=e.toBP(t);Ss.isWholeGenomeView(r)||s>o?e.bpPerPixel=o/t:e.end=e.start+e.toBP(t);for(let{viewports:e}of this.trackViews)e[n].setWidth(t)}await this.updateViews(!0),this.updateUIWithReferenceFrameList()}async updateViews(t){const e=this.trackViews;this.updateLocusSearchWidget();for(let t of this.centerLineList)t.repaint();if(this.dragObject)for(let n of e)await n.updateViews(t);else{const o={},s=[];for(let t of e){const e=t.track.autoscaleGroup;if(e){var n=o[e];n||(n=[],o[e]=n),n.push(t)}else s.push(t)}if(Object.entries(o).length>0){const e=Object.keys(o);for(let n of e){const e=o[n],s=[];for(let t of e)s.push(t.getInViewFeatures());const a=await Promise.all(s);var r,i=[];for(let t of a)i=i.concat(t);r=ls(i);for(let n of e)n.track.dataRange=r,n.track.autoscale=!1,await n.updateViews(t)}}for(let e of s)await e.updateViews(t)}}updateLocusSearchWidget(){const t=this.referenceFrameList,e=this.calculateViewportWidth(this.referenceFrameList.length);for(let n of t)n.end=n.start+n.bpPerPixel*e;this.chromosomeSelectWidget.select.value=1===t.length?this.referenceFrameList[0].chr:"";const n=this.referenceFrameList.map((t=>t.getLocusString())).join(" ");this.$searchInput.val(n),this.fireEvent("locuschange",[this.referenceFrameList])}calculateViewportWidth(t){let{width:e}=this.columnContainer.getBoundingClientRect();return e-=50+this.getSampleNameViewportWidth()+14+12+28,e-=5*(t-1),Math.floor(e/t)}getCenterLineXOffset(){let{width:t}=this.columnContainer.getBoundingClientRect();return t-=50+this.getSampleNameViewportWidth()+14+12+28,Math.floor(t/2+50)}minimumBases(){return this.config.minimumBases}async zoomWithScaleFactor(t,e,n){const r=this.calculateViewportWidth(this.referenceFrameList.length);let i=n?[n]:this.referenceFrameList;for(let n of i)n.zoomWithScaleFactor(this,t,r,e)}async presentMultiLocusPanel(t,e){const n=this.calculateViewportWidth(1+this.referenceFrameList.length);!function(t,e,n,r,i){e.bpPerPixel*=t;const o=(r+(r+i))/2;e.start=o-e.bpPerPixel*(n/2),e.end=e.start+e.bpPerPixel*n,e.locusSearchString=e.getLocusString()}(this.calculateViewportWidth(this.referenceFrameList.length)/this.calculateViewportWidth(1+this.referenceFrameList.length),e,n,t.start,t.lengthOnRef);const r=this.genome.getChromosomeName(t.mate.chr),i=function(t,e,n,r,i,o){const s=(i+(i+o))/2-n*(r/2);return new Au(t,e,s,s+n*r,n)}(this.genome,r,e.bpPerPixel,n,t.mate.position,t.lengthOnRef),o=this.referenceFrameList.indexOf(e),s=1+this.referenceFrameList.indexOf(e),{$viewport:a}=this.trackViews[0].viewports[o],c=Ju(a.parent());if(s===this.referenceFrameList.length){this.referenceFrameList.push(i);for(let t of this.trackViews){const e=ia(t,c,i);t.viewports.push(e)}}else{this.referenceFrameList.splice(s,0,i);for(let t of this.trackViews){const e=ia(t,c,i);t.viewports.splice(s,0,e)}}this.centerLineList=this.createCenterLineList(this.columnContainer),await this.resize()}async removeMultiLocusPanel(t){const e=this.referenceFrameList.indexOf(t),{$viewport:n}=this.trackViews[0].viewports[e];Qu(e,n.parent().get(0));for(let{viewports:t}of this.trackViews)t[e].dispose(),t.splice(e,1);if(this.referenceFrameList.splice(e,1),1===this.referenceFrameList.length&&this.rulerTrack)for(let t of this.rulerTrack.trackView.viewports)t.dismissLocusLabel();const r=this.calculateViewportWidth(1+this.referenceFrameList.length)/this.calculateViewportWidth(this.referenceFrameList.length);await this.rescaleForMultiLocus(r)}async rescaleForMultiLocus(t){const e=this.calculateViewportWidth(this.referenceFrameList.length);for(let e of this.referenceFrameList)e.bpPerPixel*=t;for(let{viewports:t}of this.trackViews)for(let n of t)n.setWidth(e);this.centerLineList=this.createCenterLineList(this.columnContainer),this.updateUIWithReferenceFrameList(),await this.updateViews(!0)}async goto(t,e,n){await this.search(t+":"+e+"-"+n)}async doSearch(t,e){const n=await this.search(t,e);return n||qo.presentAlert(new Error(`Unrecognized locus: <b> ${t} </b>`)),n}async search(t,e){const n=await Ru(this,t);if(n&&n.length>0){this.referenceFrameList=function(t,e,n,r,i){return t.map((t=>{n&&t.gene&&(t.start=Math.max(0,t.start-n),t.end+=n);const o=e.getChromosome(t.chr);hs(o.bpLength,t,r);const s=new Au(e,t.chr,t.start,t.end,(t.end-t.start)/i);return s.locusSearchString=t.locusSearchString,(t.gene||t.snp)&&(s.selection=new xu(t.gene,t.snp)),s}))}(n,this.genome,this.flanking,this.minimumBases(),this.calculateViewportWidth(n.length));for(let t of this.trackViews)t.removeDOMFromColumnContainer(),this.trackScrollbarControl.removeScrollbar(t,this.columnContainer),this.trackDragControl.removeDragHandle(t),this.trackGearControl.removeGearContainer(t);Ku(this.columnContainer),tf(de(this.sampleNameColumn),this.referenceFrameList.length),this.centerLineList=this.createCenterLineList(this.columnContainer);for(let t of this.trackViews)t.addDOMToColumnContainer(this,this.columnContainer,this.referenceFrameList);return this.updateUIWithReferenceFrameList(),e||await this.updateViews(),!0}return!1}async loadSampleInformation(t){var e=t;t instanceof File&&(e=t.name),"fam"===e.substr(e.lastIndexOf(".")+1)&&(this.sampleInformation=await function(t,e){return(new Eu).loadPlinkFile(t,e)}(t))}on(t,e){this.eventHandlers[t]||(this.eventHandlers[t]=[]),this.eventHandlers[t].push(e)}un(t,e){this.off(t,e)}off(t,e){if(t)if(e){const n=this.eventHandlers[t];if(n&&0!==n.length){const r=n.indexOf(e);-1!==r&&this.eventHandlers[t].splice(r,1)}else console.warn("No handlers to remove for event: "+t)}else this.eventHandlers[t]=[];else this.eventHandlers={}}fireEvent(t,e,n){const r=this.eventHandlers[t];if(void 0===r||0===r.length)return;const i=n||window;return r.map((function(t){return t.apply(i,e)}))[0]}dispose(){de(window).off(this.namespace),de(document).off(this.namespace),this.eventHandlers=void 0,this.trackViews.forEach((function(t){t.dispose()}))}toJSON(){const t={version:"2.10.0"};if(void 0!==this.showSampleNames&&(t.showSampleNames=this.showSampleNames),200!==this.sampleNameViewportWidth&&(t.sampleNameViewportWidth=this.sampleNameViewportWidth),t.reference=this.genome.toJSON(),Ve(t.reference.fastaURL))throw new Error(`Error. Sessions cannot include local file references ${t.reference.fastaURL.name}.`);if(Ve(t.reference.indexURL))throw new Error(`Error. Sessions cannot include local file references ${t.reference.indexURL.name}.`);const e=[],n={};let r=this.trackViews[0];for(let t of r.viewports){const r=t.referenceFrame,i=r.getLocusString();if(e.push(i),r.selection){const t={gene:r.selection.gene,snp:r.selection.snp};n[i]=t}}t.locus=1===e.length?e[0]:e;Object.getOwnPropertyNames(n).length>0&&(t.gtexSelections=n);const i=[],o=[];for(let{track:t}of this.trackViews)try{let e;e="function"==typeof t.getState?t.getState():t.config,e&&(e.browser&&delete e.browser,e.order=t.order,i.push(e))}catch(t){o.push(t)}if(o.length>0){let t=1,e="Errors encountered saving session:";for(let n of o)e+=` (${t++}) ${n.toString()}.`;throw Error(e)}if(i.filter((t=>{t.url&&Ve(t.url)})).length>0)throw new Error("Error. Sessions cannot include local file references.");return t.tracks=i,t}compressedSession(){return function(t){const e=new Uint8Array(t.length);for(var n=0;n<t.length;n++)e[n]=t.charCodeAt(n);const r=new Oi.deflateRaw(e),i=String.fromCharCode.apply(null,r);return btoa(i).replace(/\+/g,".").replace(/\//g,"_").replace(/=/g,"-")}(JSON.stringify(this.toJSON()))}sessionURL(){const t=window.location.href.slice(),e=t.indexOf("?");return(e>0?t.substring(0,e):t)+"?sessionURL=blob:"+this.compressedSession()}currentLoci(){const t=[],e=this.trackViews[0];for(let n of e.viewports){const e=n.referenceFrame.getLocusString();t.push(e)}return t}mouseDownOnViewport(t,e){var n;n=me(t),this.vpMouseDown={viewport:e,lastMouseX:n.x,mouseDownX:n.x,lastMouseY:n.y,mouseDownY:n.y,referenceFrame:e.referenceFrame}}cancelTrackPan(){const t=this.dragObject;this.dragObject=void 0,this.isScrolling=!1,this.vpMouseDown=void 0,t&&t.viewport.referenceFrame.start!==t.start&&(this.updateViews(),this.fireEvent("trackdragend"))}startTrackDrag(t){this.dragTrack=t}updateTrackDrag(t){if(t&&this.dragTrack){const e=this.dragTrack,n=this.trackViews.indexOf(t),r=this.trackViews.indexOf(e),i=this.trackViews;i[n]=e,i[r]=t;const o=this.trackViews[n].track.order;this.trackViews[r].track.order=o;const s=i.length;let a=o;if(n<r)for(let t=n+1;t<s;t++){const e=i[t].track;if(!(e.order<=a))break;e.order=Math.min(Number.MAX_SAFE_INTEGER,a+1),a=e.order}else for(let t=n-1;t>0;t--){const e=i[t].track;if(!(e.order>=a))break;e.order=Math.max(-Number.MAX_SAFE_INTEGER,a-1),a=e.order}this.reorderTracks()}}endTrackDrag(){this.dragTrack?(this.dragTrack=void 0,this.fireEvent("trackorderchanged",[this.getTrackOrder()])):this.dragTrack=void 0}addMouseHandlers(){var t=this;function e(e){e.preventDefault();const{x:n,y:r}=me(e);if(t.vpMouseDown){const{viewport:e,referenceFrame:i}=t.vpMouseDown,o=Math.abs(n-t.vpMouseDown.mouseDownX)>Math.abs(r-t.vpMouseDown.mouseDownY);if(!t.dragObject&&!t.isScrolling)if(o)t.vpMouseDown.mouseDownX&&Math.abs(n-t.vpMouseDown.mouseDownX)>t.constants.dragThreshold&&(t.dragObject={viewport:e,start:i.start});else if(t.vpMouseDown.mouseDownY&&Math.abs(r-t.vpMouseDown.mouseDownY)>t.constants.scrollThreshold){t.isScrolling=!0;const n=e.$viewport.height(),r=ua(e.trackView.viewports);t.vpMouseDown.r=n/r}if(t.dragObject){i.shiftPixels(t.vpMouseDown.lastMouseX-n,e.$viewport.width())&&t.updateViews(),t.fireEvent("trackdrag")}if(t.isScrolling){const n=t.vpMouseDown.r*(t.vpMouseDown.lastMouseY-r);e.trackView.moveScroller(n)}t.vpMouseDown.lastMouseX=n,t.vpMouseDown.lastMouseY=r}}function n(e){t.cancelTrackPan(),t.endTrackDrag()}de(window).on("resize"+this.namespace,(()=>{this.resize()})),this.$root.on("mouseup",n),this.$root.on("mouseleave",n),this.columnContainer.addEventListener("mousemove",(t=>{e(t)})),this.columnContainer.addEventListener("touchmove",(t=>{e(t)})),this.columnContainer.addEventListener("mouseleave",(t=>{n()})),this.columnContainer.addEventListener("mouseup",(t=>{n()})),this.columnContainer.addEventListener("touchend",(t=>{n()}))}async getDriveFileInfo(t){const e="https://www.googleapis.com/drive/v3/files/"+Ie(t)+"?supportsTeamDrives=true";return so.loadJson(e,cs({}))}static uncompressSession(t){let e;if(t.indexOf("/gzip;base64")>0){e=Ui(t);let n="";for(let t of e)n+=String.fromCharCode(t);return n}return function(t){t=t.replace(/\./g,"+").replace(/_/g,"/").replace(/-/g,"=");const e=atob(t),n=[];for(let t=0;t<e.length;t++)n.push(e.charCodeAt(t));const r=Oi.inflateRaw(n);let i="";for(let t of r)i+=String.fromCharCode(t);return i}(t.substring(5))}}function rf(t,e){for(let{viewports:n}of t)for(let t of n)t.$trackLabel&&(0===n.indexOf(t)&&!0===e?t.$trackLabel.show():t.$trackLabel.hide())}let of=[];const sf=so.setApiKey;!function(){var t=document.createElement("style");t.setAttribute("type","text/css"),t.innerHTML='.igv-navbar {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n color: #444;\n font-size: 12px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n line-height: 32px;\n padding-left: 8px;\n padding-right: 8px;\n margin-top: 2px;\n margin-bottom: 6px;\n height: 32px;\n border-style: solid;\n border-radius: 3px;\n border-width: thin;\n border-color: #bfbfbf;\n background-color: #f3f3f3; }\n .igv-navbar .igv-navbar-left-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n height: 32px;\n line-height: 32px; }\n .igv-navbar .igv-navbar-left-container .igv-logo {\n width: 34px;\n height: 32px;\n margin-right: 8px; }\n .igv-navbar .igv-navbar-left-container .igv-current-genome {\n height: 32px;\n margin-left: 4px;\n margin-right: 4px;\n user-select: none;\n line-height: 32px;\n vertical-align: middle;\n text-align: center; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n height: 100%; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-chromosome-select-widget-container {\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center;\n height: 100%;\n width: 125px;\n margin-right: 4px; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-chromosome-select-widget-container select {\n display: block;\n cursor: pointer;\n width: 100px;\n height: 75%;\n outline: none;\n font-size: 12px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-locus-size-group {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n margin-left: 8px;\n height: 22px; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-locus-size-group .igv-search-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n width: 210px;\n height: 22px;\n line-height: 22px; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-locus-size-group .igv-search-container input.igv-search-input {\n cursor: text;\n width: 85%;\n height: 22px;\n line-height: 22px;\n font-size: 12px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n text-align: left;\n padding-left: 8px;\n margin-right: 8px;\n outline: none;\n border-style: solid;\n border-radius: 3px;\n border-width: thin;\n border-color: #bfbfbf;\n background-color: white; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-locus-size-group .igv-search-container .igv-search-icon-container {\n cursor: pointer;\n height: 16px;\n width: 16px; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-locus-size-group .igv-windowsize-panel-container {\n margin-left: 4px;\n user-select: none; }\n .igv-navbar .igv-navbar-right-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n height: 32px;\n line-height: 32px; }\n .igv-navbar .igv-navbar-right-container .igv-navbar-toggle-button-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n height: 100%; }\n .igv-navbar .igv-navbar-right-container .igv-navbar-toggle-button-container div {\n margin-left: 0;\n margin-right: 4px; }\n .igv-navbar .igv-navbar-right-container .igv-navbar-toggle-button-container div:last-child {\n margin-left: 0;\n margin-right: 0; }\n .igv-navbar .igv-navbar-right-container .igv-navbar-toggle-button-container-750 {\n display: none; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget {\n color: #737373;\n font-size: 18px;\n height: 32px;\n line-height: 32px;\n margin-left: 8px;\n user-select: none;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget div {\n cursor: pointer;\n margin-left: unset;\n margin-right: unset; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget div:first-child {\n height: 24px;\n width: 24px;\n margin-left: unset;\n margin-right: 8px; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget div:last-child {\n height: 24px;\n width: 24px;\n margin-left: 8px;\n margin-right: unset; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget div:nth-child(even) {\n display: block;\n height: fit-content; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget input {\n display: block;\n width: 125px; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget svg {\n display: block; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 {\n color: #737373;\n font-size: 18px;\n height: 32px;\n line-height: 32px;\n margin-left: 8px;\n user-select: none;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 div {\n cursor: pointer;\n margin-left: unset;\n margin-right: unset; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 div:first-child {\n height: 24px;\n width: 24px;\n margin-left: unset;\n margin-right: 8px; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 div:last-child {\n height: 24px;\n width: 24px;\n margin-left: 8px;\n margin-right: unset; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 div:nth-child(even) {\n width: 0;\n height: 0;\n display: none; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 input {\n width: 0;\n height: 0;\n display: none; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 svg {\n display: block; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-hidden {\n display: none; }\n\n.igv-navbar-button {\n display: block;\n box-sizing: unset;\n padding-left: 6px;\n padding-right: 6px;\n height: 18px;\n text-transform: capitalize;\n user-select: none;\n line-height: 18px;\n text-align: center;\n vertical-align: middle;\n font-family: "Open Sans", sans-serif;\n font-size: 11px;\n font-weight: 200;\n color: #737373;\n background-color: #f3f3f3;\n border-color: #737373;\n border-style: solid;\n border-width: thin;\n border-radius: 6px; }\n\n.igv-navbar-button-clicked {\n color: white;\n background-color: #737373; }\n\n.igv-navbar-button:hover {\n cursor: pointer; }\n\n.igv-zoom-in-notice-container {\n z-index: 1024;\n position: absolute;\n top: 8px;\n left: 50%;\n transform: translate(-50%, 0%);\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n background-color: white; }\n .igv-zoom-in-notice-container > div {\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 2px;\n padding-bottom: 2px;\n width: 100%;\n height: 100%;\n font-family: "Open Sans", sans-serif;\n font-size: 14px;\n font-weight: 400;\n color: #3f3f3f; }\n\n.igv-zoom-in-notice {\n position: absolute;\n top: 10px;\n left: 50%; }\n .igv-zoom-in-notice div {\n position: relative;\n left: -50%;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n color: #3f3f3f;\n background-color: rgba(255, 255, 255, 0.51);\n z-index: 64; }\n\n.igv-container-spinner {\n position: absolute;\n top: 90%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1024;\n width: 24px;\n height: 24px;\n pointer-events: none;\n color: #737373; }\n\n.igv-multi-locus-close-button {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 14px;\n height: 14px;\n color: #666666;\n z-index: 1000; }\n .igv-multi-locus-close-button > svg {\n vertical-align: top; }\n\n.igv-multi-locus-close-button:hover {\n cursor: pointer;\n color: #434343; }\n\n.igv-multi-locus-ruler-label {\n position: absolute;\n left: 50%;\n top: 5%;\n transform: translate(-50%, 0%);\n font-family: "Open Sans", sans-serif;\n font-size: 12px;\n font-weight: 400;\n text-align: center;\n z-index: 64;\n color: #444444;\n background-color: white; }\n\n.igv-multi-locus-ruler-label:hover {\n cursor: pointer; }\n\n.igv-ruler-sweeper {\n display: none;\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 100%;\n z-index: 99999;\n background-color: rgba(68, 134, 247, 0.25); }\n\n.igv-ruler-tooltip {\n pointer-events: none;\n z-index: 128;\n position: absolute;\n top: 0;\n left: 0;\n width: 1px;\n height: 32px;\n background-color: transparent;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-ruler-tooltip > div {\n pointer-events: none;\n width: 128px;\n height: auto;\n padding: 1px;\n color: #373737;\n font-size: 10px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n background-color: white;\n border-style: solid;\n border-width: thin;\n border-color: #373737; }\n\n.igv-track-label {\n position: absolute;\n left: 8px;\n top: 8px;\n width: auto;\n height: auto;\n max-width: 200px;\n padding-left: 4px;\n padding-right: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: "Open Sans", sans-serif;\n font-size: small;\n font-weight: 400;\n text-align: center;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n border-color: #444;\n border-radius: 2px;\n border-style: solid;\n border-width: thin;\n background-color: white;\n z-index: 128;\n cursor: pointer; }\n\n.igv-track-label:hover,\n.igv-track-label:focus,\n.igv-track-label:active {\n background-color: #e8e8e8; }\n\n.igv-center-line {\n display: none;\n pointer-events: none;\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 8;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n border-left-style: dashed;\n border-left-width: thin;\n border-right-style: dashed;\n border-right-width: thin; }\n\n.igv-center-line-wide {\n background-color: rgba(0, 0, 0, 0);\n border-left-color: rgba(127, 127, 127, 0.51);\n border-right-color: rgba(127, 127, 127, 0.51); }\n\n.igv-center-line-thin {\n background-color: rgba(0, 0, 0, 0);\n border-left-color: rgba(127, 127, 127, 0.51);\n border-right-color: rgba(0, 0, 0, 0); }\n\n.igv-cursor-guide-horizontal {\n display: none;\n pointer-events: none;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n position: absolute;\n left: 0;\n right: 0;\n top: 50%;\n height: 1px;\n z-index: 1;\n margin-left: 50px;\n margin-right: 54px;\n border-top-style: dotted;\n border-top-width: thin;\n border-top-color: rgba(127, 127, 127, 0.76); }\n\n.igv-cursor-guide-vertical {\n pointer-events: none;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 50%;\n width: 1px;\n z-index: 1;\n border-left-style: dotted;\n border-left-width: thin;\n border-left-color: rgba(127, 127, 127, 0.76);\n display: none; }\n\n.igv-user-feedback {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 512px;\n height: 360px;\n z-index: 2048;\n background-color: white;\n border-color: #a2a2a2;\n border-style: solid;\n border-width: thin;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n color: #444;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-user-feedback div:first-child {\n position: relative;\n height: 24px;\n width: 100%;\n background-color: white;\n border-bottom-color: #a2a2a2;\n border-bottom-style: solid;\n border-bottom-width: thin; }\n .igv-user-feedback div:first-child div {\n position: absolute;\n top: 2px;\n width: 16px;\n height: 16px;\n background-color: transparent; }\n .igv-user-feedback div:first-child div:first-child {\n left: 8px; }\n .igv-user-feedback div:first-child div:last-child {\n cursor: pointer;\n right: 8px; }\n .igv-user-feedback div:last-child {\n width: 100%;\n height: calc(100% - 24px);\n border-width: 0; }\n .igv-user-feedback div:last-child div {\n width: auto;\n height: auto;\n margin: 8px; }\n\n.igv-generic-dialog-container {\n position: absolute;\n top: 0;\n left: 0;\n width: 300px;\n height: 200px;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n z-index: 2048;\n background-color: white;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-header {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-generic-dialog-container .igv-generic-dialog-header div {\n margin-right: 4px;\n margin-bottom: 2px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-generic-dialog-container .igv-generic-dialog-header div:hover {\n cursor: pointer;\n color: #444; }\n .igv-generic-dialog-container .igv-generic-dialog-one-liner {\n color: #373737;\n width: 95%;\n height: 24px;\n line-height: 24px;\n text-align: left;\n margin-top: 8px;\n padding-left: 8px;\n overflow-wrap: break-word;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input {\n margin-top: 8px;\n width: 95%;\n height: 24px;\n color: #373737;\n line-height: 24px;\n padding-left: 8px;\n background-color: white;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input div {\n width: 30%;\n height: 100%;\n font-size: 16px;\n text-align: right;\n padding-right: 8px;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input input {\n width: 50%;\n font-size: 16px; }\n .igv-generic-dialog-container .igv-generic-dialog-input {\n margin-top: 8px;\n width: calc(100% - 16px);\n height: 24px;\n color: #373737;\n line-height: 24px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-input input {\n font-size: 16px; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel {\n width: 100%;\n height: 28px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div {\n margin-top: 32px;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: 14px;\n font-weight: 400;\n width: 75px;\n height: 28px;\n line-height: 28px;\n text-align: center;\n border-color: transparent;\n border-style: solid;\n border-width: thin;\n border-radius: 2px; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:first-child {\n margin-left: 32px;\n margin-right: 0;\n background-color: #5ea4e0; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:last-child {\n margin-left: 0;\n margin-right: 32px;\n background-color: #c4c4c4; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:first-child:hover {\n cursor: pointer;\n background-color: #3b5c7f; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:last-child:hover {\n cursor: pointer;\n background-color: #7f7f7f; }\n .igv-generic-dialog-container .igv-generic-dialog-ok {\n width: 100%;\n height: 36px;\n margin-top: 32px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-ok div {\n width: 98px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n border-color: white;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-generic-dialog-container .igv-generic-dialog-ok div:hover {\n cursor: pointer;\n background-color: #25597f; }\n\n.igv-generic-container {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2048;\n background-color: white;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-generic-container div:first-child {\n cursor: move;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n height: 24px;\n width: 100%;\n background-color: #dddddd; }\n .igv-generic-container div:first-child i {\n display: block;\n color: #5f5f5f;\n cursor: pointer;\n width: 14px;\n height: 14px;\n margin-right: 8px;\n margin-bottom: 4px; }\n\n.igv-menu-popup {\n position: absolute;\n top: 0;\n left: 0;\n min-width: 132px;\n z-index: 4096;\n cursor: pointer;\n font-family: "Open Sans", sans-serif;\n font-size: small;\n font-weight: 400;\n color: #4b4b4b;\n background: white;\n border-radius: 4px;\n border-color: #7F7F7F;\n border-style: solid;\n border-width: thin;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-end;\n text-align: left; }\n .igv-menu-popup > div:not(:first-child) {\n width: 100%; }\n .igv-menu-popup > div:not(:first-child) > div {\n background: white; }\n .igv-menu-popup > div:not(:first-child) > div.context-menu {\n padding-left: 4px;\n padding-right: 4px; }\n .igv-menu-popup > div:not(:first-child) > div:last-child {\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n border-bottom-color: transparent;\n border-bottom-style: solid;\n border-bottom-width: thin; }\n .igv-menu-popup > div:not(:first-child) > div:hover {\n background: #efefef; }\n\n.igv-menu-popup-shim {\n padding-left: 8px;\n padding-right: 8px; }\n\n.igv-menu-popup-header {\n position: relative;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-color: transparent;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center; }\n .igv-menu-popup-header div {\n margin-right: 4px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-menu-popup-header div:hover {\n cursor: pointer;\n color: #444; }\n\n.igv-menu-popup-check-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n height: 20px;\n background-color: transparent; }\n .igv-menu-popup-check-container div {\n padding-top: 2px;\n padding-left: 8px; }\n .igv-menu-popup-check-container div:first-child {\n position: relative;\n width: 12px;\n height: 12px; }\n .igv-menu-popup-check-container div:first-child svg {\n position: absolute;\n width: 12px;\n height: 12px; }\n\n.igv-user-feedback {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 512px;\n height: 360px;\n z-index: 2048;\n background-color: white;\n border-color: #a2a2a2;\n border-style: solid;\n border-width: thin;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n color: #444;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-user-feedback div:first-child {\n position: relative;\n height: 24px;\n width: 100%;\n background-color: white;\n border-bottom-color: #a2a2a2;\n border-bottom-style: solid;\n border-bottom-width: thin; }\n .igv-user-feedback div:first-child div {\n position: absolute;\n top: 2px;\n width: 16px;\n height: 16px;\n background-color: transparent; }\n .igv-user-feedback div:first-child div:first-child {\n left: 8px; }\n .igv-user-feedback div:first-child div:last-child {\n cursor: pointer;\n right: 8px; }\n .igv-user-feedback div:last-child {\n width: 100%;\n height: calc(100% - 24px);\n border-width: 0; }\n .igv-user-feedback div:last-child div {\n width: auto;\n height: auto;\n margin: 8px; }\n\n.igv-loading-spinner-container {\n z-index: 1024;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 32px;\n height: 32px;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center; }\n .igv-loading-spinner-container > div {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n border: 4px solid rgba(128, 128, 128, 0.5);\n border-top-color: white;\n animation: spin 1s ease-in-out infinite;\n -webkit-animation: spin 1s ease-in-out infinite; }\n\n@keyframes spin {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n@-webkit-keyframes spin {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n.igv-container {\n position: relative;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n padding-top: 4px;\n user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none; }\n\n.igv-viewport {\n position: relative;\n margin-top: 5px;\n overflow-x: hidden;\n overflow-y: hidden; }\n\n.igv-viewport-content {\n position: relative;\n width: 100%; }\n .igv-viewport-content > canvas {\n position: relative;\n display: block; }\n\n.igv-column-container {\n position: relative;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: stretch;\n width: 100%; }\n\n.igv-column-shim {\n width: 1px;\n margin-left: 2px;\n margin-right: 2px;\n background-color: #545453; }\n\n.igv-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%; }\n\n.igv-axis-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%;\n width: 50px; }\n .igv-axis-column > div {\n margin-top: 5px;\n width: 100%; }\n\n.igv-sample-name-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%; }\n\n.igv-scrollbar-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%;\n width: 14px; }\n .igv-scrollbar-column > div {\n position: relative;\n margin-top: 5px;\n width: 14px; }\n .igv-scrollbar-column > div > div {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 2px;\n width: 8px;\n border-width: 1px;\n border-style: solid;\n border-color: #c4c4c4;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px; }\n .igv-scrollbar-column > div > div:hover {\n background-color: #c4c4c4; }\n\n.igv-track-drag-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%;\n width: 12px;\n background-color: white; }\n .igv-track-drag-column > .igv-track-drag-handle {\n z-index: 512;\n position: relative;\n cursor: pointer;\n margin-top: 5px;\n width: 100%;\n border-style: solid;\n border-width: 0;\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n background-color: #c4c4c4; }\n .igv-track-drag-column .igv-track-drag-handle-hover {\n background-color: #787878; }\n .igv-track-drag-column > .igv-track-drag-shim {\n position: relative;\n margin-top: 5px;\n width: 100%;\n border-style: solid;\n border-width: 0; }\n\n.igv-gear-menu-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%;\n width: 28px; }\n .igv-gear-menu-column > div {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n margin-top: 5px;\n width: 100%;\n background: white; }\n .igv-gear-menu-column > div > div {\n position: relative;\n margin-top: 4px;\n width: 16px;\n height: 16px;\n color: #7F7F7F; }\n .igv-gear-menu-column > div > div:hover {\n cursor: pointer;\n color: #444; }\n\n/*# sourceMappingURL=dom.css.map */\n',document.head.insertBefore(t,document.head.childNodes[document.head.childNodes.length-1])}();var af={IGVGraphics:es,MenuUtils:Ao,DataRangeDialog:ts,createTrack:async function(t,e){return await nf.prototype.createTrack.call(e,t)},createBrowser:async function(t,e){void 0===e&&(e={}),Ss.KNOWN_GENOMES||await Ss.initializeGenomes(e),function(t){void 0===t.promisified&&(t.promisified=!1);void 0===t.minimumBases&&(t.minimumBases=40);void 0===t.showIdeogram&&(t.showIdeogram=!0);void 0===t.showTrackLabelButton&&(t.showTrackLabelButton=!0);void 0===t.showTrackLabels&&(t.showTrackLabels=!0);void 0===t.showCursorTrackingGuideButton&&(t.showCursorTrackingGuideButton=!0);void 0===t.showCursorTrackingGuide&&(t.showCursorTrackingGuide=!1);void 0===t.showCenterLineButton&&(t.showCenterLineButton=!0);void 0===t.showCenterLine&&(t.showCenterLine=!1);void 0===t.showSampleNames&&(t.showSampleNames=!1);void 0===t.showSVGButton&&(t.showSVGButton=!0);void 0===t.showControls&&(t.showControls=!0);void 0===t.showNavigation&&(t.showNavigation=!0);void 0===t.showRuler&&(t.showRuler=!0);void 0===t.flanking&&(t.flanking=1e3);void 0===t.pairsSupported&&(t.pairsSupported=!0);t.tracks||(t.tracks=[])}(e),!1!==e.queryParametersSupported&&function(t){var e,n,r,i,o,s,a,c,l;let h,u;if(a=window.location.href,o={},e=a.indexOf("?"),n=a.lastIndexOf("#"),e>=0)for(n<0&&(n=a.length),r=e+1;r<n;)(i=a.indexOf("&",r))<0&&(i=n),2===(s=a.substring(r,i).split("=",2)).length&&(c=s[0],l=decodeURIComponent(s[1]),"file"===c?h=l.split(","):"index"===c?u=l.split(","):t[c]=l,r=i+1);if(h){t.tracks||(t.tracks=[]);for(let e=0;e<h.length;e++){if(h[e].endsWith(".xml")||h[e].endsWith(".json")){t.sessionURL=h[e];break}const n={url:h[e]};u&&u.length>e&&(n.indexURL=u[e]),t.tracks.push(n)}}}(e),e.apiKey&&so.setApiKey(e.apiKey),e.oauthToken&&no.setToken(e.oauthToken),e.clientId&&!Pe()&&await Fe({clientId:e.clientId,apiKey:e.apiKey,scope:"https://www.googleapis.com/auth/userinfo.profile"});const n=new nf(e,t);of.push(n),e.sessionURL?await n.loadSession({url:e.sessionURL}):await n.loadSessionObject(e);const r=n.isMultiLocusWholeGenomeView()||Ss.isWholeGenomeView(n.referenceFrameList[0].chr);return n.navbarManager.navbarDidResize(n.$navigation.width(),r),n},removeBrowser:function(t){t.dispose(),t.$root.remove(),of=of.filter((e=>e!==t))},removeAllBrowsers:function(){for(let t of of)t.dispose(),t.$root.remove();of=[]},visibilityChange:async function(){for(let t of of)await t.visibilityChange()},setGoogleOauthToken:function(t){return no.setToken(t)},setOauthToken:function(t,e){return no.setToken(t,e)},oauth:no,version:_s,setApiKey:sf,doAutoscale:ls,TrackView:ha};export{af as default};
64
+ */t.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},function(t,e,n){var r,i=n(1),o=i(n(148)),s=i(n(76)),a=i(n(150)),l=i(n(37)),c=i(n(30)),h=i(n(31)),u=i(n(7)),f=i(n(10)),d=i(n(99)),p=i(n(16)),g=i(n(77)),m=i(n(59)),v=n(9),b=v.CramMalformedError,w=v.CramBufferOverrunError,y=v.CramArgumentError,x=n(58),_=x.parseItem,k=x.tinyMemoize,S=x.sequenceMD5,C=n(100),E=n(363);function A(t,e,n,r){if(!r)throw new b("could not resolve intra-slice mate pairs, file seems truncated or malformed");var i=!!(r.mate||void 0!==r.mateRecordNumber&&r.mateRecordNumber!==e);n.readName||(n.readName=String(n.uniqueId),r.readName=n.readName),n.mate={sequenceId:r.sequenceId,alignmentStart:r.alignmentStart,uniqueId:r.uniqueId},r.readName&&(n.mate.readName=r.readName),r.mate||void 0!==r.mateRecordNumber||(r.mate={sequenceId:n.sequenceId,alignmentStart:n.alignmentStart,uniqueId:n.uniqueId},n.readName&&(r.mate.readName=n.readName)),n.flags|=C.BAM_FPAIRED,(0,d.default)(r)&C.BAM_FUNMAP&&(n.flags|=C.BAM_FMUNMAP),(0,d.default)(n)&C.BAM_FUNMAP&&(r.flags|=C.BAM_FMUNMAP),(0,d.default)(r)&C.BAM_FREVERSE&&(n.flags|=C.BAM_FMREVERSE),(0,d.default)(n)&C.BAM_FREVERSE&&(r.flags|=C.BAM_FMREVERSE),void 0===n.templateLength&&(i?function(t,e,n){var r=function e(n){var r=[n];if(n.mateRecordNumber>=0){var i=t[n.mateRecordNumber];if(!i)throw new b("intra-slice mate record not found, this file seems malformed");r.push.apply(r,(0,m.default)(e(i)))}return r}(n),i=(0,g.default)(r).call(r,(function(t){return t.alignmentStart})),o=(0,g.default)(r).call(r,(function(t){return t.alignmentStart+t.readLength-1})),s=Math.max.apply(Math,(0,m.default)(o))-Math.min.apply(Math,(0,m.default)(i))+1;s>=0&&(0,p.default)(r).call(r,(function(t){if(void 0!==t.templateLength)throw new b("mate pair group has some members that have template lengths already, this file seems malformed");t.templateLength=s}))}(t,0,n):function(t,e){var n=Math.min(t.alignmentStart,e.alignmentStart),r=Math.max(t.alignmentStart+t.readLength-1,e.alignmentStart+e.readLength-1)-n+1;t.templateLength=r,e.templateLength=r}(n,r)),delete n.mateRecordNumber}var T=function(){function t(e,n){(0,u.default)(this,t),this.container=e,this.file=e.file,this.containerPosition=n}var e,n,r,i,d,m,v,x;return(0,f.default)(t,[{key:"getHeader",value:(x=(0,h.default)(c.default.mark((function t(){var e,n,r;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.file.getSectionParsers();case 2:return e=t.sent,t.next=5,this.container.getHeader();case 5:return n=t.sent,t.next=8,this.file.readBlock(n._endPosition+this.containerPosition);case 8:if("MAPPED_SLICE_HEADER"!==(r=t.sent).contentType){t.next=13;break}r.content=_(r.content,e.cramMappedSliceHeader.parser,0,n._endPosition),t.next=18;break;case 13:if("UNMAPPED_SLICE_HEADER"!==r.contentType){t.next=17;break}r.content=_(r.content,e.cramUnmappedSliceHeader.parser,0,n._endPosition),t.next=18;break;case 17:throw new b("error reading slice header block, invalid content type ".concat(r._contentType));case 18:return t.abrupt("return",r);case 19:case"end":return t.stop()}}),t,this)}))),function(){return x.apply(this,arguments)})},{key:"getBlocks",value:(v=(0,h.default)(c.default.mark((function t(){var e,n,r,i;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getHeader();case 2:e=t.sent,n=e._endPosition,r=new Array(e.content.numBlocks),i=0;case 6:if(!(i<r.length)){t.next=14;break}return t.next=9,this.file.readBlock(n);case 9:r[i]=t.sent,n=r[i]._endPosition;case 11:i+=1,t.next=6;break;case 14:return t.abrupt("return",r);case 15:case"end":return t.stop()}}),t,this)}))),function(){return v.apply(this,arguments)})},{key:"getCoreDataBlock",value:(m=(0,h.default)(c.default.mark((function t(){var e;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getBlocks();case 2:return e=t.sent,t.abrupt("return",e[0]);case 4:case"end":return t.stop()}}),t,this)}))),function(){return m.apply(this,arguments)})},{key:"_getBlocksContentIdIndex",value:(d=(0,h.default)(c.default.mark((function t(){var e,n;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getBlocks();case 2:return e=t.sent,n={},(0,p.default)(e).call(e,(function(t){"EXTERNAL_DATA"===t.contentType&&(n[t.contentId]=t)})),t.abrupt("return",n);case 6:case"end":return t.stop()}}),t,this)}))),function(){return d.apply(this,arguments)})},{key:"getBlockByContentId",value:(i=(0,h.default)(c.default.mark((function t(e){var n;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this._getBlocksContentIdIndex();case 2:return n=t.sent,t.abrupt("return",n[e]);case 4:case"end":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:"getReferenceRegion",value:(r=(0,h.default)(c.default.mark((function t(){var e,n,r,i;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getHeader();case 2:if(!((e=t.sent.content).refSeqId<0)){t.next=5;break}return t.abrupt("return",void 0);case 5:return t.next=7,this.container.getCompressionScheme();case 7:if(n=t.sent,!(e.refBaseBlockId>=0)){t.next=15;break}if(r=this.getBlockByContentId(e.refBaseBlockId)){t.next=12;break}throw new b("embedded reference specified, but reference block does not exist");case 12:if(!(e.span>r.uncompressedSize)){t.next=14;break}throw new b("Embedded reference is too small");case 14:return t.abrupt("return",{seq:r.data.toString("utf8"),start:e.refSeqStart,end:e.refSeqStart+e.refSeqSpan-1,span:e.refSeqSpan});case 15:if(!n.referenceRequired&&!this.file.fetchReferenceSequenceCallback){t.next=24;break}if(this.file.fetchReferenceSequenceCallback){t.next=18;break}throw new Error("reference sequence not embedded, and seqFetch callback not provided, cannot fetch reference sequence");case 18:return t.next=20,this.file.fetchReferenceSequenceCallback(e.refSeqId,e.refSeqStart,e.refSeqStart+e.refSeqSpan-1);case 20:if((i=t.sent).length===e.refSeqSpan){t.next=23;break}throw new y("seqFetch callback returned a reference sequence of the wrong length");case 23:return t.abrupt("return",{seq:i,start:e.refSeqStart,end:e.refSeqStart+e.refSeqSpan-1,span:e.refSeqSpan});case 24:return t.abrupt("return",void 0);case 25:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"getAllRecords",value:function(){return this.getRecords((function(){return!0}))}},{key:"_fetchRecords",value:(n=(0,h.default)(c.default.mark((function t(){var e,n,r,i,o,s,h,u,f,d,p,m,v,y,x,_,k,C,T,L,M,R,I,N=this;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.file.getDefinition();case 2:return e=t.sent,n=e.majorVersion,t.next=6,this.container.getCompressionScheme();case 6:return r=t.sent,t.next=9,this.getHeader();case 9:return i=t.sent,t.next=12,this._getBlocksContentIdIndex();case 12:if(o=t.sent,!(n>1&&this.file.options.checkSequenceMD5&&i.content.refSeqId>=0&&"0000000000000000"!==i.content.md5.join(""))){t.next=23;break}return t.next=16,this.getReferenceRegion();case 16:if(!(s=t.sent)){t.next=23;break}if(m=s.seq,v=s.start,y=s.end,x=S(m),_=(0,g.default)(h=i.content.md5).call(h,(function(t){return(t<16?"0":"")+t.toString(16)})).join(""),x===_){t.next=23;break}throw new b((0,l.default)(u=(0,l.default)(f=(0,l.default)(d=(0,l.default)(p="MD5 checksum reference mismatch for ref ".concat(i.content.refSeqId," pos ")).call(p,v,"..")).call(d,y,". recorded MD5: ")).call(f,_,", calculated MD5: ")).call(u,x));case 23:return t.next=25,this.getCoreDataBlock();case 25:k=t.sent,C={lastAlignmentStart:i.content.refSeqStart||0,coreBlock:{bitPosition:7,bytePosition:0},externalBlocks:{getCursor:function(t){return this[t]||(this[t]={bitPosition:7,bytePosition:0}),this[t]}}},T=function(t){var e=r.getCodecForDataSeries(t);if(!e)throw new b("no codec defined for ".concat(t," data series"));return e.decode(N,k,o,C)},L=new Array(i.content.numRecords),M=0;case 30:if(!(M<L.length)){t.next=48;break}t.prev=31,L[M]=E(this,T,r,i,k,o,C,n,M),L[M].uniqueId=i.contentPosition+i.content.recordCounter+M+1,t.next=45;break;case 36:if(t.prev=36,t.t0=t.catch(31),!(t.t0 instanceof w)){t.next=44;break}return console.warn("read attempted beyond end of buffer, file seems truncated."),L=(0,a.default)(L).call(L,(function(t){return!!t})),t.abrupt("break",48);case 44:throw t.t0;case 45:M+=1,t.next=30;break;case 48:for(R=0;R<L.length;R+=1)(I=L[R].mateRecordNumber)>=0&&A(L,R,L[R],L[I]);return t.abrupt("return",L);case 50:case"end":return t.stop()}}),t,this,[[31,36]])}))),function(){return n.apply(this,arguments)})},{key:"getRecords",value:(e=(0,h.default)(c.default.mark((function t(e){var n,r,i,l,u,f,d,p,m,v,b,w,y,x,_,k,S=this;return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=this.container.filePosition+this.containerPosition,(i=this.file.featureCache.get(r))||(i=this._fetchRecords(),this.file.featureCache.set(r,i)),t.t0=a.default,t.next=6,i;case 6:if(t.t1=n=t.sent,t.t2=n,t.t3=e,!(l=(0,t.t0)(t.t1).call(t.t2,t.t3)).length||!this.file.fetchReferenceSequenceCallback){t.next=24;break}return t.next=13,this.getHeader();case 13:if(!((u=t.sent).content.refSeqId>=0||-2===u.content.refSeqId)){t.next=24;break}return d=u.content.refSeqId>=0?u.content.refSeqId:void 0,t.next=18,this.container.getCompressionScheme();case 18:for(p=t.sent,m={},v=0;v<l.length;v+=1)b=void 0!==d?d:l[v].sequenceId,(w=m[b])||(w={id:b,start:l[v].alignmentStart,end:-1/0},m[b]=w),(y=l[v].alignmentStart+(l[v].lengthOnRef||l[v].readLength)-1)>w.end&&(w.end=y),l[v].alignmentStart<w.start&&(w.start=l[v].alignmentStart);return t.next=23,s.default.all((0,g.default)(f=(0,o.default)(m)).call(f,function(){var t=(0,h.default)(c.default.mark((function t(e){return c.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(-1!==e.id&&e.start<=e.end)){t.next=4;break}return t.next=3,S.file.fetchReferenceSequenceCallback(e.id,e.start,e.end);case 3:e.seq=t.sent;case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 23:for(x=0;x<l.length;x+=1)_=void 0!==d?d:l[x].sequenceId,(k=m[_])&&k.seq&&l[x].addReferenceSequence(k,p);case 24:return t.abrupt("return",l);case 25:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})}]),t}();(0,p.default)(r="getHeader getBlocks _getBlocksContentIdIndex".split(" ")).call(r,(function(t){return k(T,t)})),t.exports=T},function(t,e,n){t.exports=n(336)},function(t,e,n){n(337);var r=n(3);t.exports=r.Object.values},function(t,e,n){var r=n(0),i=n(149).values;r({target:"Object",stat:!0},{values:function(t){return i(t)}})},function(t,e,n){t.exports=n(339)},function(t,e,n){var r=n(340),i=Array.prototype;t.exports=function(t){var e=t.filter;return t===i||t instanceof Array&&e===i.filter?r:e}},function(t,e,n){n(341);var r=n(18);t.exports=r("Array").filter},function(t,e,n){var r=n(0),i=n(45).filter;r({target:"Array",proto:!0,forced:!n(68)("filter")},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){t.exports=n(343)},function(t,e,n){var r=n(344),i=RegExp.prototype;t.exports=function(t){return!(t===i||t instanceof RegExp)||"flags"in t?t.flags:r(t)}},function(t,e,n){n(345);var r=n(346);t.exports=function(t){return r.call(t)}},function(t,e){},function(t,e,n){var r=n(2);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){t.exports=n(348)},function(t,e,n){var r=n(349),i=Array.prototype;t.exports=function(t){var e=t.map;return t===i||t instanceof Array&&e===i.map?r:e}},function(t,e,n){n(350);var r=n(18);t.exports=r("Array").map},function(t,e,n){var r=n(0),i=n(45).map;r({target:"Array",proto:!0,forced:!n(68)("map")},{map:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(151);t.exports=function(t){if(r(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}},function(t,e,n){t.exports=n(353)},function(t,e,n){n(354);var r=n(3);t.exports=r.Array.isArray},function(t,e,n){n(0)({target:"Array",stat:!0},{isArray:n(53)})},function(t,e,n){t.exports=n(356)},function(t,e,n){t.exports=n(357)},function(t,e,n){n(46),n(358);var r=n(3);t.exports=r.Array.from},function(t,e,n){var r=n(0),i=n(359);r({target:"Array",stat:!0,forced:!n(121)((function(t){Array.from(t)}))},{from:i})},function(t,e,n){var r=n(15),i=n(22),o=n(120),s=n(119),a=n(29),l=n(87),c=n(90);t.exports=function(t){var e,n,h,u,f=i(t),d="function"==typeof this?this:Array,p=arguments.length,g=p>1?arguments[1]:void 0,m=void 0!==g,v=0,b=c(f);if(m&&(g=r(g,p>2?arguments[2]:void 0,2)),null==b||d==Array&&s(b))for(n=new d(e=a(f.length));e>v;v++)l(n,v,m?g(f[v],v):f[v]);else for(u=b.call(f),n=new d;!(h=u.next()).done;v++)l(n,v,m?o(u,g,[h.value,v],!0):h.value);return n.length=v,n}},function(t,e,n){n(41),n(46),t.exports=n(361)},function(t,e,n){var r=n(67),i=n(6),o=n(35),s=i("iterator");t.exports=function(t){var e=Object(t);return void 0!==e[s]||"@@iterator"in e||o.hasOwnProperty(r(e))}},function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(t,e,n){(function(e){var r=n(1),i=r(n(37)),o=r(n(364)),s=r(n(16)),a=r(n(99)),l=r(n(101)),c=r(n(59)),h=r(n(154)),u=r(n(376)),f=r(n(380)),d=r(n(48)),p=r(n(387)),g=n(146),m=n(9),v=m.CramMalformedError,b=m.CramUnimplementedError,w=n(389),y=n(100);function x(t){var e=(0,p.default)(t).call(t,0);return-1===e?t.toString("utf8"):t.toString("utf8",0,e)}function _(t,n){if(n.readInt32LE||(n=e.from(n)),"Z"===t)return x(n);if("A"===t)return String.fromCharCode(n[0]);if("I"===t){var r=g.fromBytesLE(n);if(r.greaterThan(f.default)||r.lessThan(u.default))throw new b("integer overflow");return r.toNumber()}if("i"===t)return n.readInt32LE(0);if("s"===t)return n.readInt16LE(0);if("S"===t)return n.readUInt16LE(0);if("c"===t)return n.readInt8(0);if("C"===t)return n.readUInt8(0);if("f"===t)return n.readFloatLE(0);if("H"===t){var i=x(n);return(0,h.default)(i.replace(/^0x/,""),16)}if("B"===t)return function(t){var e=String.fromCharCode(t[0]),n=t.readInt32LE(1),r={c:["readInt8",1],C:["readUInt8",1],s:["readInt16LE",2],S:["readUInt16LE",2],i:["readInt32LE",4],I:["readUInt32LE",4],f:["readFloatLE",4]}[e];if(!r)throw new v("invalid tag value array type '".concat(e,"'"));for(var i=(0,d.default)(r,2),o=i[0],s=i[1],a=new Array(n),l=5,c=0;c<n;c+=1)a[c]=t[o](l),l+=s;return a}(n);throw new v("Unrecognized tag type ".concat(t))}function k(t){if(t instanceof e)return x(t);if(t.length&&(0,p.default)(t)){if(!t[t.length-1]){var n=(0,p.default)(t).call(t,0);return String.fromCharCode.apply(String,(0,c.default)((0,l.default)(t).call(t,0,n)))}return String.fromCharCode.apply(String,(0,c.default)(t))}return String(t)}t.exports=function(t,e,n,r,l,c,h,u,f){var p=new w;if(p.flags=e("BF"),p.cramFlags=e("CF"),u>1&&-2===r.content.refSeqId?p.sequenceId=e("RI"):p.sequenceId=r.content.refSeqId,p.readLength=e("RL"),p.alignmentStart=e("AP"),n.APdelta&&(p.alignmentStart+=h.lastAlignmentStart),h.lastAlignmentStart=p.alignmentStart,p.readGroupId=e("RG"),n.readNamesIncluded&&(p.readName=k(e("RN"))),p.isDetached()){var g={};g.flags=e("MF"),n.readNamesIncluded||(g.readName=k(e("RN")),p.readName=g.readName),g.sequenceId=e("NS"),g.alignmentStart=e("NP"),((0,a.default)(g)||g.sequenceId>-1)&&(p.mate=g),p.templateSize=e("TS"),(0,a.default)(g)&y.CRAM_M_UNMAP&&(p.flags|=y.BAM_FMUNMAP),(0,a.default)(g)&y.CRAM_M_REVERSE&&(p.flags|=y.BAM_FMREVERSE)}else p.hasMateDownStream()&&(p.mateRecordNumber=e("NF")+f+1);var m=e("TL");if(m<0)throw new v("invalid TL index");for(var b=n.getTagNames(m),x=b.length,S=0;S<x;S+=1){var C=b[S],E=C.substr(0,2),A=C.substr(2,1),T=n.getCodecForTag(C);if(!T)throw new v("no codec defined for auxiliary tag ".concat(C));var L=T.decode(t,l,c,h);p.tags[E]=_(A,L)}if(p.isSegmentUnmapped())if(p.isUnknownBases())p.readBases=null,p.qualityScores=null;else{for(var M=new Array(p.readLength),R=0;R<M.length;R+=1)M[R]=e("BA");if(p.readBases=String.fromCharCode.apply(String,M),p.isPreservingQualityScores()){for(var I=0;I<M.length;I+=1)M[I]=e("QS");p.qualityScores=M}}else{var N,P=e("FN");P&&(p.readFeatures=function(t,e,n,r,i){var o=0,s=t.alignmentStart-1,a=new Array(e);function l(t){var e=(0,d.default)(t,2),r=e[0],i=e[1],o=n(i);return"character"===r?String.fromCharCode(o):"string"===r?o.toString("utf8"):"numArray"===r?o.toArray():o}for(var c=0;c<e;c+=1){var h=String.fromCharCode(n("FC")),u=n("FP"),f={code:h},p={B:["character","BA"],S:["string",i>1?"SC":"IN"],X:["number","BS"],D:["number","DL"],I:["string","IN"],i:["character","BA"],b:["string","BB"],q:["numArray","QQ"],Q:["number","QS"],H:["number","HC"],P:["number","PD"],N:["number","RS"]}[h];if(!p)throw new v('invalid read feature code "'.concat(h,'"'));f.data=l(p);var g={B:["number","QS"]}[h];g&&(f.data=[f.data,l(g)]),o+=u,f.pos=o,s+=u,f.refPos=s,"D"===h||"N"===h?s+=f.data:"I"===h||"S"===h?s-=f.data.length:"i"===h&&(s-=1),a[c]=f}return a}(p,P,e,0,u));var F,O=p.readLength;if(p.readFeatures&&(0,s.default)(N=p.readFeatures).call(N,(function(t){var e=t.code,n=t.data;"D"===e||"N"===e?O+=n:"I"===e||"S"===e?O-=n.length:"i"===e&&(O-=1)})),(0,o.default)(O)&&(console.warn("".concat(p.readName||(0,i.default)(F="".concat(p.sequenceId,":")).call(F,p.alignmentStart)," record has invalid read features")),O=p.readLength),p.lengthOnRef=O,p.mappingQuality=e("MQ"),p.isPreservingQualityScores()){for(var D=new Array(p.readLength),B=0;B<D.length;B+=1)D[B]=e("QS");p.qualityScores=D}}return p}}).call(this,n(19).Buffer)},function(t,e,n){t.exports=n(365)},function(t,e,n){t.exports=n(366)},function(t,e,n){n(367);var r=n(3);t.exports=r.Number.isNaN},function(t,e,n){n(0)({target:"Number",stat:!0},{isNaN:function(t){return t!=t}})},function(t,e,n){t.exports=n(369)},function(t,e,n){var r=n(370),i=Array.prototype;t.exports=function(t){var e=t.slice;return t===i||t instanceof Array&&e===i.slice?r:e}},function(t,e,n){n(371);var r=n(18);t.exports=r("Array").slice},function(t,e,n){var r=n(0),i=n(14),o=n(53),s=n(84),a=n(29),l=n(28),c=n(87),h=n(68),u=n(6)("species"),f=[].slice,d=Math.max;r({target:"Array",proto:!0,forced:!h("slice")},{slice:function(t,e){var n,r,h,p=l(this),g=a(p.length),m=s(t,g),v=s(void 0===e?g:e,g);if(o(p)&&("function"!=typeof(n=p.constructor)||n!==Array&&!o(n.prototype)?i(n)&&null===(n=n[u])&&(n=void 0):n=void 0,n===Array||void 0===n))return f.call(p,m,v);for(r=new(void 0===n?Array:n)(d(v-m,0)),h=0;m<v;m++,h++)m in p&&c(r,h,p[m]);return r.length=h,r}})},function(t,e,n){t.exports=n(373)},function(t,e,n){n(374);var r=n(3);t.exports=r.Number.parseInt},function(t,e,n){var r=n(0),i=n(155);r({target:"Number",stat:!0,forced:Number.parseInt!=i},{parseInt:i})},function(t,e,n){var r=n(49),i="["+n(156)+"]",o=RegExp("^"+i+i+"*"),s=RegExp(i+i+"*$"),a=function(t){return function(e){var n=String(r(e));return 1&t&&(n=n.replace(o,"")),2&t&&(n=n.replace(s,"")),n}};t.exports={start:a(1),end:a(2),trim:a(3)}},function(t,e,n){t.exports=n(377)},function(t,e,n){t.exports=n(378)},function(t,e,n){n(379),t.exports=-9007199254740991},function(t,e,n){n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){t.exports=n(381)},function(t,e,n){t.exports=n(382)},function(t,e,n){n(383),t.exports=9007199254740991},function(t,e,n){n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(385),i=n(153);t.exports=function(t,e){if(i(Object(t))||"[object Arguments]"===Object.prototype.toString.call(t)){var n=[],o=!0,s=!1,a=void 0;try{for(var l,c=r(t);!(o=(l=c.next()).done)&&(n.push(l.value),!e||n.length!==e);o=!0);}catch(t){s=!0,a=t}finally{try{o||null==c.return||c.return()}finally{if(s)throw a}}return n}}},function(t,e,n){t.exports=n(386)},function(t,e,n){n(41),n(46),t.exports=n(142)},function(t,e,n){t.exports=n(388)},function(t,e,n){t.exports=n(143)},function(t,e,n){var r=n(1),i=r(n(98)),o=r(n(16)),s=r(n(99)),a=r(n(7)),l=r(n(10)),c=r(n(59)),h=n(100),u={a:0,A:0,c:1,C:1,g:2,G:2,t:3,T:3,n:4,N:4},f=function(){function t(){(0,a.default)(this,t),this.tags={}}return(0,l.default)(t,[{key:"isPaired",value:function(){return!!((0,s.default)(this)&h.BAM_FPAIRED)}},{key:"isProperlyPaired",value:function(){return!!((0,s.default)(this)&h.BAM_FPROPER_PAIR)}},{key:"isSegmentUnmapped",value:function(){return!!((0,s.default)(this)&h.BAM_FUNMAP)}},{key:"isMateUnmapped",value:function(){return!!((0,s.default)(this)&h.BAM_FMUNMAP)}},{key:"isReverseComplemented",value:function(){return!!((0,s.default)(this)&h.BAM_FREVERSE)}},{key:"isMateReverseComplemented",value:function(){return!!((0,s.default)(this)&h.BAM_FMREVERSE)}},{key:"isRead1",value:function(){return!!((0,s.default)(this)&h.BAM_FREAD1)}},{key:"isRead2",value:function(){return!!((0,s.default)(this)&h.BAM_FREAD2)}},{key:"isSecondary",value:function(){return!!((0,s.default)(this)&h.BAM_FSECONDARY)}},{key:"isFailedQc",value:function(){return!!((0,s.default)(this)&h.BAM_FQCFAIL)}},{key:"isDuplicate",value:function(){return!!((0,s.default)(this)&h.BAM_FDUP)}},{key:"isSupplementary",value:function(){return!!((0,s.default)(this)&h.BAM_FSUPPLEMENTARY)}},{key:"isDetached",value:function(){return!!(this.cramFlags&h.CRAM_FLAG_DETACHED)}},{key:"hasMateDownStream",value:function(){return!!(this.cramFlags&h.CRAM_FLAG_MATE_DOWNSTREAM)}},{key:"isPreservingQualityScores",value:function(){return!!(this.cramFlags&h.CRAM_FLAG_PRESERVE_QUAL_SCORES)}},{key:"isUnknownBases",value:function(){return!!(this.cramFlags&h.CRAM_FLAG_NO_SEQ)}},{key:"getReadBases",value:function(){return!this.readBases&&this._refRegion&&(this.readBases=function(t,e){if((t.lengthOnRef||t.readLength)&&!t.isUnknownBases()){var n=t.alignmentStart-e.start;if(!t.readFeatures)return e.seq.substr(n,t.lengthOnRef).toUpperCase();for(var r="",i=n,o=0;r.length<t.readLength;)if(o<t.readFeatures.length){var s=t.readFeatures[o];if("Q"===s.code||"q"===s.code)o+=1;else if(s.pos===r.length+1)if(o+=1,"b"===s.code){var a=s.data.split(","),l=String.fromCharCode.apply(String,(0,c.default)(a));r+=l,i+=l.length}else"B"===s.code?(r+=s.data[0],i+=1):"X"===s.code?(r+=s.sub,i+=1):"I"===s.code?r+=s.data:"D"===s.code?i+=s.data:"i"===s.code?r+=s.data:"N"===s.code?i+=s.data:"S"===s.code?r+=s.data:"P"===s.code||s.code;else if(o<t.readFeatures.length){var h=e.seq.substr(i,t.readFeatures[o].pos-r.length-1);r+=h,i+=h.length}}else{var u=e.seq.substr(i,t.readLength-r.length);r+=u,i+=u.length}return r.toUpperCase()}}(this,this._refRegion)),this.readBases}},{key:"getPairOrientation",value:function(){if(!this.isSegmentUnmapped()&&this.isPaired()&&!this.isMateUnmapped()&&this.mate&&this.sequenceId===this.mate.sequenceId){var t=this.isReverseComplemented()?"R":"F",e=this.isMateReverseComplemented()?"R":"F",n=" ",r=" ";this.isRead1()?(n="1",r="2"):this.isRead2()&&(n="2",r="1");var i=[],o=this.templateLength||this.templateSize;return this.alignmentStart>this.mate.alignmentStart&&o>0&&(o=-o),o>0?(i[0]=t,i[1]=n,i[2]=e,i[3]=r):(i[2]=t,i[3]=n,i[0]=e,i[1]=r),i.join("")}return null}},{key:"addReferenceSequence",value:function(t,e){var n;this.readFeatures&&(0,o.default)(n=this.readFeatures).call(n,(function(n){"X"===n.code&&function(t,e,n,r){if(e){var i=r.refPos-e.start,o=e.seq.charAt(i);o&&(r.ref=o);var s=u[o];void 0===s&&(s=4);var a=n.substitutionMatrix[s][r.data];a&&(r.sub=a)}}(0,t,e,n)})),!this.readBases&&t.start<=this.alignmentStart&&t.end>=this.alignmentStart+(this.lengthOnRef||this.readLength)-1&&(this._refRegion=t)}},{key:"toJSON",value:function(){var t,e=this,n={};return(0,o.default)(t=(0,i.default)(this)).call(t,(function(t){"_"!==t.charAt(0)&&(n[t]=e[t])})),n.readBases=this.getReadBases(),n}}]),t}();t.exports=f},function(t,e,n){var r=n(1),i=r(n(98)),o=r(n(16)),s=r(n(75)),a=r(n(7)),l=r(n(10)),c=n(9).CramMalformedError,h=n(391).instantiateCodec,u={BF:"int",CF:"int",RI:"int",RL:"int",AP:"int",RG:"int",MF:"int",NS:"int",NP:"int",TS:"int",NF:"int",TC:"byte",TN:"int",FN:"int",FC:"byte",FP:"int",BS:"byte",IN:"byteArray",SC:"byteArray",DL:"int",BA:"byte",BB:"byteArray",RS:"int",PD:"int",HC:"int",MQ:"int",RN:"byteArray",QS:"byte",QQ:"byteArray",TL:"int",TM:"ignore",TV:"ignore"},f=function(){function t(e){(0,a.default)(this,t),(0,s.default)(this,e),this.readNamesIncluded=e.preservation.RN,this.APdelta=e.preservation.AP,this.referenceRequired=!!e.preservation.RR,this.tagIdsDictionary=e.preservation.TD,this.substitutionMatrix=function(t){for(var e=new Array(5),n=0;n<5;n+=1)e[n]=new Array(4);return e[0][t[0]>>6&3]="C",e[0][t[0]>>4&3]="G",e[0][t[0]>>2&3]="T",e[0][t[0]>>0&3]="N",e[1][t[1]>>6&3]="A",e[1][t[1]>>4&3]="G",e[1][t[1]>>2&3]="T",e[1][t[1]>>0&3]="N",e[2][t[2]>>6&3]="A",e[2][t[2]>>4&3]="C",e[2][t[2]>>2&3]="T",e[2][t[2]>>0&3]="N",e[3][t[3]>>6&3]="A",e[3][t[3]>>4&3]="C",e[3][t[3]>>2&3]="G",e[3][t[3]>>0&3]="N",e[4][t[4]>>6&3]="A",e[4][t[4]>>4&3]="C",e[4][t[4]>>2&3]="G",e[4][t[4]>>0&3]="T",e}(e.preservation.SM),this.dataSeriesCodecCache={},this.tagCodecCache={}}return(0,l.default)(t,[{key:"getCodecForTag",value:function(t){if(!this.tagCodecCache[t]){var e=this.tagEncoding[t];e&&(this.tagCodecCache[t]=h(e,"byteArray"))}return this.tagCodecCache[t]}},{key:"getTagNames",value:function(t){return this.tagIdsDictionary[t]}},{key:"getCodecForDataSeries",value:function(t){if(!this.dataSeriesCodecCache[t]){var e=this.dataSeriesEncoding[t];if(e){var n=u[t];if(!n)throw new c("data series name ".concat(t," not defined in file compression header"));this.dataSeriesCodecCache[t]=h(e,n)}}return this.dataSeriesCodecCache[t]}},{key:"toJSON",value:function(){var t,e=this,n={};return(0,o.default)(t=(0,i.default)(this)).call(t,(function(t){/Cache$/.test(t)||(n[t]=e[t])})),n}}]),t}();t.exports=f},function(t,e,n){var r=n(9).CramUnimplementedError,i=n(392),o=n(413),s=n(414),a=n(415),l=n(416),c=n(417),h={1:o,3:i,4:a,5:s,6:l,7:n(418),9:c};function u(t){return h[t]}t.exports={getCodecClassWithId:u,instantiateCodec:function t(e,n){var i=u("ignore"===n?0:e.codecId);if(!i)throw new r("no codec implemented for codec ID ".concat(e.codecId));return new i(e.parameters,n,t)}}},function(t,e,n){var r=n(1),i=r(n(97)),o=r(n(59)),s=r(n(77)),a=r(n(148)),l=r(n(159)),c=r(n(48)),h=r(n(102)),u=r(n(16)),f=r(n(103)),d=r(n(403)),p=r(n(7)),g=r(n(10)),m=r(n(32)),v=r(n(27)),b=r(n(33)),w=n(9).CramMalformedError,y=function(t){function e(){var t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;if((0,p.default)(this,e),n=(0,m.default)(this,(0,v.default)(e).call(this,r,i)),!(0,d.default)(t=["byte","int"]).call(t,n.dataType))throw new TypeError("".concat(n.dataType," decoding not yet implemented by HUFFMAN_INT codec"));return n.buildCodeBook(),n.buildCodes(),n.buildCaches(),0===n.sortedCodes[0].bitLength&&(n._decode=n._decodeZeroLengthCode),n}return(0,b.default)(e,t),(0,g.default)(e,[{key:"buildCodeBook",value:function(){for(var t=this,e=new Array(this.parameters.numCodes),n=0;n<this.parameters.numCodes;n+=1)e[n]={symbol:this.parameters.symbols[n],bitLength:this.parameters.bitLengths[n]};e=(0,f.default)(e).call(e,(function(t,e){return t.bitLength-e.bitLength||t.symbol-e.symbol})),this.codeBook={},(0,u.default)(e).call(e,(function(e){t.codeBook[e.bitLength]||(t.codeBook[e.bitLength]=[]),t.codeBook[e.bitLength].push(e.symbol)}))}},{key:"buildCodes",value:function(){var t,e=this;this.codes={};var n=0,r=-1;(0,u.default)(t=(0,h.default)(this.codeBook)).call(t,(function(t){var i=(0,c.default)(t,2),o=i[0],s=i[1];o=(0,l.default)(o,10),(0,u.default)(s).call(s,(function(t){var i={bitLength:o,value:t};r+=1;var s,a,l=o-n;if(r<<=l,i.bitCode=r,n+=l,16843009*((a=(858993459&(a=(s=r)-(s>>1)&1431655765))+(a>>2&858993459))+(a>>4)&252645135)>>24>o)throw new w("Symbol out of range");e.codes[t]=i}))}))}},{key:"buildCaches",value:function(){var t,e,n,r,l,c;this.sortedCodes=(0,f.default)(t=(0,a.default)(this.codes)).call(t,(function(t,e){return t.bitLength-e.bitLength||t.bitCode-e.bitCode})),this.sortedByValue=(0,f.default)(e=(0,a.default)(this.codes)).call(e,(function(t,e){return t.value-e.value})),this.sortedValuesByBitCode=(0,s.default)(n=this.sortedCodes).call(n,(function(t){return t.value})),this.sortedBitCodes=(0,s.default)(r=this.sortedCodes).call(r,(function(t){return t.bitCode})),this.sortedBitLengthsByBitCode=(0,s.default)(l=this.sortedCodes).call(l,(function(t){return t.bitLength}));var h=Math.max.apply(Math,(0,o.default)(this.sortedBitCodes));this.bitCodeToValue=(0,i.default)(c=new Array(h+1)).call(c,-1);for(var u=0;u<this.sortedBitCodes.length;u+=1)this.bitCodeToValue[this.sortedCodes[u].bitCode]=u}},{key:"decode",value:function(t,e,n,r){return this._decode(t,e,r.coreBlock)}},{key:"_decodeZeroLengthCode",value:function(){return this.sortedCodes[0].value}},{key:"_decode",value:function(t,e,n){for(var r=e.content,i=0,o=0,s=0;s<this.sortedCodes.length;s+=1){var a=this.sortedCodes[s].bitLength;o<<=a-i,o|=this._getBits(r,n,a-i),i=a;var l=this.bitCodeToValue[o];if(l>-1&&this.sortedBitLengthsByBitCode[l]===a)return this.sortedValuesByBitCode[l];for(var c=s;this.sortedCodes[c+1].bitLength===a&&c<this.sortedCodes.length;c+=1)s+=1}throw new w("Huffman symbol not found.")}}]),e}(n(40));t.exports=y},function(t,e,n){t.exports=n(394)},function(t,e,n){n(395);var r=n(3);t.exports=r.parseInt},function(t,e,n){var r=n(0),i=n(155);r({global:!0,forced:parseInt!=i},{parseInt:i})},function(t,e,n){t.exports=n(397)},function(t,e,n){n(398);var r=n(3);t.exports=r.Object.entries},function(t,e,n){var r=n(0),i=n(149).entries;r({target:"Object",stat:!0},{entries:function(t){return i(t)}})},function(t,e,n){t.exports=n(400)},function(t,e,n){var r=n(401),i=Array.prototype;t.exports=function(t){var e=t.sort;return t===i||t instanceof Array&&e===i.sort?r:e}},function(t,e,n){n(402);var r=n(18);t.exports=r("Array").sort},function(t,e,n){var r=n(0),i=n(5),o=n(22),s=n(12),a=n(54),l=[].sort,c=[1,2,3],h=s((function(){c.sort(void 0)})),u=s((function(){c.sort(null)})),f=a("sort");r({target:"Array",proto:!0,forced:h||!u||f},{sort:function(t){return void 0===t?l.call(o(this)):l.call(o(this),i(t))}})},function(t,e,n){t.exports=n(404)},function(t,e,n){t.exports=n(405)},function(t,e,n){var r=n(406),i=n(408),o=Array.prototype,s=String.prototype;t.exports=function(t){var e=t.includes;return t===o||t instanceof Array&&e===o.includes?r:"string"==typeof t||t===s||t instanceof String&&e===s.includes?i:e}},function(t,e,n){n(407);var r=n(18);t.exports=r("Array").includes},function(t,e,n){var r=n(0),i=n(82).includes,o=n(78);r({target:"Array",proto:!0},{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("includes")},function(t,e,n){n(409);var r=n(18);t.exports=r("String").includes},function(t,e,n){var r=n(0),i=n(410),o=n(49);r({target:"String",proto:!0,forced:!n(412)("includes")},{includes:function(t){return!!~String(o(this)).indexOf(i(t),arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(411);t.exports=function(t){if(r(t))throw TypeError("The method doesn't accept regular expressions");return t}},function(t,e,n){var r=n(14),i=n(34),o=n(6)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},function(t,e,n){var r=n(6)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,"/./"[t](e)}catch(t){}}return!1}},function(t,e,n){var r=n(1),i=r(n(48)),o=r(n(7)),s=r(n(10)),a=r(n(32)),l=r(n(27)),c=r(n(33)),h=n(9),u=h.CramUnimplementedError,f=h.CramMalformedError,d=h.CramBufferOverrunError,p=n(40),g=n(58).parseItf8,m=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if((0,o.default)(this,e),"int"===(t=(0,a.default)(this,(0,l.default)(e).call(this,n,r))).dataType)t._decodeData=t._decodeInt;else{if("byte"!==t.dataType)throw new u("".concat(t.dataType," decoding not yet implemented by EXTERNAL codec"));t._decodeData=t._decodeByte}return t}return(0,c.default)(e,t),(0,s.default)(e,[{key:"decode",value:function(t,e,n,r){var i=this.parameters.blockContentId,o=n[i];if(!o)throw new f("no block found with content ID ".concat(i));var s=r.externalBlocks.getCursor(i);return this._decodeData(o,s)}},{key:"_decodeInt",value:function(t,e){var n=g(t.content,e.bytePosition),r=(0,i.default)(n,2),o=r[0],s=r[1];return e.bytePosition+=s,o}},{key:"_decodeByte",value:function(t,e){if(e.bytePosition>=t.content.length)throw new d("attempted to read beyond end of block. this file seems truncated.");var n=t.content[e.bytePosition];return e.bytePosition+=1,n}}]),e}(p);t.exports=m},function(t,e,n){var r=n(1),i=r(n(101)),o=r(n(7)),s=r(n(10)),a=r(n(32)),l=r(n(27)),c=r(n(33)),h=n(9),u=h.CramBufferOverrunError,f=h.CramMalformedError,d=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if((0,o.default)(this,e),t=(0,a.default)(this,(0,l.default)(e).call(this,n,r)),"byteArray"!==r)throw new TypeError("byteArrayStop codec does not support data type ".concat(r));return t._decode=t._decodeByteArray,t}return(0,c.default)(e,t),(0,s.default)(e,[{key:"decode",value:function(t,e,n,r){var i=this.parameters.blockContentId,o=n[i];if(!o)throw new f("no block found with content ID ".concat(i));var s=r.externalBlocks.getCursor(i);return this._decode(o,s)}},{key:"_decodeByteArray",value:function(t,e){for(var n=t.content,r=this.parameters.stopByte,o=e.bytePosition,s=e.bytePosition;n[s]!==r&&s<n.length;){if(s===n.length)throw new u("byteArrayStop reading beyond length of data buffer?");s+=1}return e.bytePosition=s+1,(0,i.default)(n).call(n,o,s)}}]),e}(n(40));t.exports=d},function(t,e,n){var r,i=n(1),o=i(n(16)),s=i(n(7)),a=i(n(10)),l=i(n(32)),c=i(n(27)),h=i(n(33)),u=n(58).tinyMemoize,f=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0;if((0,s.default)(this,e),(t=(0,l.default)(this,(0,c.default)(e).call(this,n,r))).instantiateCodec=i,"byteArray"!==r)throw new TypeError("byteArrayLength does not support data type ".concat(r));return t}return(0,h.default)(e,t),(0,a.default)(e,[{key:"decode",value:function(t,e,n,r){for(var i=this._getLengthCodec().decode(t,e,n,r),o=this._getDataCodec(),s=new Array(i),a=0;a<i;a+=1)s[a]=o.decode(t,e,n,r);return s}},{key:"_getLengthCodec",value:function(){var t=this.parameters.lengthsEncoding;return this.instantiateCodec(t,"int")}},{key:"_getDataCodec",value:function(){var t=this.parameters.valuesEncoding;return this.instantiateCodec(t,"byte")}}]),e}(n(40));(0,o.default)(r="_getLengthCodec _getDataCodec".split(" ")).call(r,(function(t){return u(f,t)})),t.exports=f},function(t,e,n){var r=n(1),i=r(n(7)),o=r(n(10)),s=r(n(32)),a=r(n(27)),l=r(n(33)),c=n(9).CramUnimplementedError,h=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if((0,i.default)(this,e),"int"!==(t=(0,s.default)(this,(0,a.default)(e).call(this,n,r))).dataType)throw new c("".concat(t.dataType," decoding not yet implemented by BETA codec"));return t}return(0,l.default)(e,t),(0,o.default)(e,[{key:"decode",value:function(t,e,n,r){return this._getBits(e.content,r.coreBlock,this.parameters.length)-this.parameters.offset}}]),e}(n(40));t.exports=h},function(t,e,n){var r=n(1),i=r(n(7)),o=r(n(10)),s=r(n(32)),a=r(n(27)),l=r(n(33)),c=n(9).CramUnimplementedError,h=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if((0,i.default)(this,e),"int"!==(t=(0,s.default)(this,(0,a.default)(e).call(this,n,r))).dataType)throw new c("".concat(t.dataType," decoding not yet implemented by GAMMA codec"));return t}return(0,l.default)(e,t),(0,o.default)(e,[{key:"decode",value:function(t,e,n,r){for(var i=1;0===this._getBits(e.content,r.coreBlock,1);)i+=1;return(this._getBits(e.content,r.coreBlock,i-1)|1<<i-1)-this.parameters.offset}}]),e}(n(40));t.exports=h},function(t,e,n){var r=n(1),i=r(n(7)),o=r(n(10)),s=r(n(32)),a=r(n(27)),l=r(n(33)),c=n(9).CramUnimplementedError,h=function(t){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if((0,i.default)(this,e),"int"!==(t=(0,s.default)(this,(0,a.default)(e).call(this,n,r))).dataType)throw new c("".concat(t.dataType," decoding not yet implemented by SUBEXP codec"));return t}return(0,l.default)(e,t),(0,o.default)(e,[{key:"decode",value:function(t,e,n,r){for(var i,o,s=0;this._getBits(e.content,r.coreBlock,1);)s+=1;return 0===s?(i=this.parameters.K,o=this._getBits(e.content,r.coreBlock,i)):o=1<<(i=s+this.parameters.K-1)|this._getBits(e.content,r.coreBlock,i),o-this.parameters.offset}}]),e}(n(40));t.exports=h},function(t,e,n){var r=n(420),i=n(422);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}e.parse=w,e.resolve=function(t,e){return w(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?w(t,!1,!0).resolveObject(e):e},e.format=function(t){return i.isString(t)&&(t=w(t)),t instanceof o?t.format():o.prototype.format.call(t)},e.Url=o;var s=/^([a-z0-9.+-]+:)/i,a=/:[0-9]*$/,l=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,c=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),h=["'"].concat(c),u=["%","/","?",";","#"].concat(h),f=["/","?","#"],d=/^[+a-z0-9A-Z_-]{0,63}$/,p=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,g={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},b=n(423);function w(t,e,n){if(t&&i.isObject(t)&&t instanceof o)return t;var r=new o;return r.parse(t,e,n),r}o.prototype.parse=function(t,e,n){if(!i.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),a=-1!==o&&o<t.indexOf("#")?"?":"#",c=t.split(a);c[0]=c[0].replace(/\\/g,"/");var w=t=c.join(a);if(w=w.trim(),!n&&1===t.split("#").length){var y=l.exec(w);if(y)return this.path=w,this.href=w,this.pathname=y[1],y[2]?(this.search=y[2],this.query=e?b.parse(this.search.substr(1)):this.search.substr(1)):e&&(this.search="",this.query={}),this}var x=s.exec(w);if(x){var _=(x=x[0]).toLowerCase();this.protocol=_,w=w.substr(x.length)}if(n||x||w.match(/^\/\/[^@\/]+@[^@\/]+/)){var k="//"===w.substr(0,2);!k||x&&m[x]||(w=w.substr(2),this.slashes=!0)}if(!m[x]&&(k||x&&!v[x])){for(var S,C,E=-1,A=0;A<f.length;A++)-1!==(T=w.indexOf(f[A]))&&(-1===E||T<E)&&(E=T);for(-1!==(C=-1===E?w.lastIndexOf("@"):w.lastIndexOf("@",E))&&(S=w.slice(0,C),w=w.slice(C+1),this.auth=decodeURIComponent(S)),E=-1,A=0;A<u.length;A++){var T;-1!==(T=w.indexOf(u[A]))&&(-1===E||T<E)&&(E=T)}-1===E&&(E=w.length),this.host=w.slice(0,E),w=w.slice(E),this.parseHost(),this.hostname=this.hostname||"";var L="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!L)for(var M=this.hostname.split(/\./),R=(A=0,M.length);A<R;A++){var I=M[A];if(I&&!I.match(d)){for(var N="",P=0,F=I.length;P<F;P++)I.charCodeAt(P)>127?N+="x":N+=I[P];if(!N.match(d)){var O=M.slice(0,A),D=M.slice(A+1),B=I.match(p);B&&(O.push(B[1]),D.unshift(B[2])),D.length&&(w="/"+D.join(".")+w),this.hostname=O.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),L||(this.hostname=r.toASCII(this.hostname));var z=this.port?":"+this.port:"",H=this.hostname||"";this.host=H+z,this.href+=this.host,L&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==w[0]&&(w="/"+w))}if(!g[_])for(A=0,R=h.length;A<R;A++){var V=h[A];if(-1!==w.indexOf(V)){var j=encodeURIComponent(V);j===V&&(j=escape(V)),w=w.split(V).join(j)}}var U=w.indexOf("#");-1!==U&&(this.hash=w.substr(U),w=w.slice(0,U));var q=w.indexOf("?");if(-1!==q?(this.search=w.substr(q),this.query=w.substr(q+1),e&&(this.query=b.parse(this.query)),w=w.slice(0,q)):e&&(this.search="",this.query={}),w&&(this.pathname=w),v[_]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){z=this.pathname||"";var W=this.search||"";this.path=z+W}return this.href=this.format(),this},o.prototype.format=function(){var t=this.auth||"";t&&(t=(t=encodeURIComponent(t)).replace(/%3A/i,":"),t+="@");var e=this.protocol||"",n=this.pathname||"",r=this.hash||"",o=!1,s="";this.host?o=t+this.host:this.hostname&&(o=t+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&i.isObject(this.query)&&Object.keys(this.query).length&&(s=b.stringify(this.query));var a=this.search||s&&"?"+s||"";return e&&":"!==e.substr(-1)&&(e+=":"),this.slashes||(!e||v[e])&&!1!==o?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),r&&"#"!==r.charAt(0)&&(r="#"+r),a&&"?"!==a.charAt(0)&&(a="?"+a),e+o+(n=n.replace(/[?#]/g,(function(t){return encodeURIComponent(t)})))+(a=a.replace("#","%23"))+r},o.prototype.resolve=function(t){return this.resolveObject(w(t,!1,!0)).format()},o.prototype.resolveObject=function(t){if(i.isString(t)){var e=new o;e.parse(t,!1,!0),t=e}for(var n=new o,r=Object.keys(this),s=0;s<r.length;s++){var a=r[s];n[a]=this[a]}if(n.hash=t.hash,""===t.href)return n.href=n.format(),n;if(t.slashes&&!t.protocol){for(var l=Object.keys(t),c=0;c<l.length;c++){var h=l[c];"protocol"!==h&&(n[h]=t[h])}return v[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(t.protocol&&t.protocol!==n.protocol){if(!v[t.protocol]){for(var u=Object.keys(t),f=0;f<u.length;f++){var d=u[f];n[d]=t[d]}return n.href=n.format(),n}if(n.protocol=t.protocol,t.host||m[t.protocol])n.pathname=t.pathname;else{for(var p=(t.pathname||"").split("/");p.length&&!(t.host=p.shift()););t.host||(t.host=""),t.hostname||(t.hostname=""),""!==p[0]&&p.unshift(""),p.length<2&&p.unshift(""),n.pathname=p.join("/")}if(n.search=t.search,n.query=t.query,n.host=t.host||"",n.auth=t.auth,n.hostname=t.hostname||t.host,n.port=t.port,n.pathname||n.search){var g=n.pathname||"",b=n.search||"";n.path=g+b}return n.slashes=n.slashes||t.slashes,n.href=n.format(),n}var w=n.pathname&&"/"===n.pathname.charAt(0),y=t.host||t.pathname&&"/"===t.pathname.charAt(0),x=y||w||n.host&&t.pathname,_=x,k=n.pathname&&n.pathname.split("/")||[],S=(p=t.pathname&&t.pathname.split("/")||[],n.protocol&&!v[n.protocol]);if(S&&(n.hostname="",n.port=null,n.host&&(""===k[0]?k[0]=n.host:k.unshift(n.host)),n.host="",t.protocol&&(t.hostname=null,t.port=null,t.host&&(""===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),x=x&&(""===p[0]||""===k[0])),y)n.host=t.host||""===t.host?t.host:n.host,n.hostname=t.hostname||""===t.hostname?t.hostname:n.hostname,n.search=t.search,n.query=t.query,k=p;else if(p.length)k||(k=[]),k.pop(),k=k.concat(p),n.search=t.search,n.query=t.query;else if(!i.isNullOrUndefined(t.search))return S&&(n.hostname=n.host=k.shift(),(L=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=L.shift(),n.host=n.hostname=L.shift())),n.search=t.search,n.query=t.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n;if(!k.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var C=k.slice(-1)[0],E=(n.host||t.host||k.length>1)&&("."===C||".."===C)||""===C,A=0,T=k.length;T>=0;T--)"."===(C=k[T])?k.splice(T,1):".."===C?(k.splice(T,1),A++):A&&(k.splice(T,1),A--);if(!x&&!_)for(;A--;A)k.unshift("..");!x||""===k[0]||k[0]&&"/"===k[0].charAt(0)||k.unshift(""),E&&"/"!==k.join("/").substr(-1)&&k.push("");var L,M=""===k[0]||k[0]&&"/"===k[0].charAt(0);return S&&(n.hostname=n.host=M?"":k.length?k.shift():"",(L=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=L.shift(),n.host=n.hostname=L.shift())),(x=x||n.host&&k.length)&&!M&&k.unshift(""),k.length?n.pathname=k.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var t=this.host,e=a.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},function(t,e,n){(function(t,r){var i;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(o){e&&e.nodeType,t&&t.nodeType;var s="object"==typeof r&&r;s.global!==s&&s.window!==s&&s.self;var a,l=2147483647,c=36,h=/^xn--/,u=/[^\x20-\x7E]/,f=/[\x2E\u3002\uFF0E\uFF61]/g,d={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,g=String.fromCharCode;function m(t){throw new RangeError(d[t])}function v(t,e){for(var n=t.length,r=[];n--;)r[n]=e(t[n]);return r}function b(t,e){var n=t.split("@"),r="";return n.length>1&&(r=n[0]+"@",t=n[1]),r+v((t=t.replace(f,".")).split("."),e).join(".")}function w(t){for(var e,n,r=[],i=0,o=t.length;i<o;)(e=t.charCodeAt(i++))>=55296&&e<=56319&&i<o?56320==(64512&(n=t.charCodeAt(i++)))?r.push(((1023&e)<<10)+(1023&n)+65536):(r.push(e),i--):r.push(e);return r}function y(t){return v(t,(function(t){var e="";return t>65535&&(e+=g((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+g(t)})).join("")}function x(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function _(t,e,n){var r=0;for(t=n?p(t/700):t>>1,t+=p(t/e);t>455;r+=c)t=p(t/35);return p(r+36*t/(t+38))}function k(t){var e,n,r,i,o,s,a,h,u,f,d,g=[],v=t.length,b=0,w=128,x=72;for((n=t.lastIndexOf("-"))<0&&(n=0),r=0;r<n;++r)t.charCodeAt(r)>=128&&m("not-basic"),g.push(t.charCodeAt(r));for(i=n>0?n+1:0;i<v;){for(o=b,s=1,a=c;i>=v&&m("invalid-input"),((h=(d=t.charCodeAt(i++))-48<10?d-22:d-65<26?d-65:d-97<26?d-97:c)>=c||h>p((l-b)/s))&&m("overflow"),b+=h*s,!(h<(u=a<=x?1:a>=x+26?26:a-x));a+=c)s>p(l/(f=c-u))&&m("overflow"),s*=f;x=_(b-o,e=g.length+1,0==o),p(b/e)>l-w&&m("overflow"),w+=p(b/e),b%=e,g.splice(b++,0,w)}return y(g)}function S(t){var e,n,r,i,o,s,a,h,u,f,d,v,b,y,k,S=[];for(v=(t=w(t)).length,e=128,n=0,o=72,s=0;s<v;++s)(d=t[s])<128&&S.push(g(d));for(r=i=S.length,i&&S.push("-");r<v;){for(a=l,s=0;s<v;++s)(d=t[s])>=e&&d<a&&(a=d);for(a-e>p((l-n)/(b=r+1))&&m("overflow"),n+=(a-e)*b,e=a,s=0;s<v;++s)if((d=t[s])<e&&++n>l&&m("overflow"),d==e){for(h=n,u=c;!(h<(f=u<=o?1:u>=o+26?26:u-o));u+=c)k=h-f,y=c-f,S.push(g(x(f+k%y,0))),h=p(k/y);S.push(g(x(h,0))),o=_(n,b,r==i),n=0,++r}++n,++e}return S.join("")}a={version:"1.4.1",ucs2:{decode:w,encode:y},decode:k,encode:S,toASCII:function(t){return b(t,(function(t){return u.test(t)?"xn--"+S(t):t}))},toUnicode:function(t){return b(t,(function(t){return h.test(t)?k(t.slice(4).toLowerCase()):t}))}},void 0===(i=function(){return a}.call(e,n,e,t))||(t.exports=i)}()}).call(this,n(421)(t),n(23))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){t.exports={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},function(t,e,n){e.decode=e.parse=n(424),e.encode=e.stringify=n(425)},function(t,e,n){function r(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,n,o){e=e||"&",n=n||"=";var s={};if("string"!=typeof t||0===t.length)return s;var a=/\+/g;t=t.split(e);var l=1e3;o&&"number"==typeof o.maxKeys&&(l=o.maxKeys);var c=t.length;l>0&&c>l&&(c=l);for(var h=0;h<c;++h){var u,f,d,p,g=t[h].replace(a,"%20"),m=g.indexOf(n);m>=0?(u=g.substr(0,m),f=g.substr(m+1)):(u=g,f=""),d=decodeURIComponent(u),p=decodeURIComponent(f),r(s,d)?i(s[d])?s[d].push(p):s[d]=[s[d],p]:s[d]=p}return s};var i=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}},function(t,e,n){var r=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,e,n,a){return e=e||"&",n=n||"=",null===t&&(t=void 0),"object"==typeof t?o(s(t),(function(s){var a=encodeURIComponent(r(s))+n;return i(t[s])?o(t[s],(function(t){return a+encodeURIComponent(r(t))})).join(e):a+encodeURIComponent(r(t[s]))})).join(e):a?encodeURIComponent(r(a))+n+encodeURIComponent(r(t)):""};var i=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function o(t,e){if(t.map)return t.map(e);for(var n=[],r=0;r<t.length;r++)n.push(e(t[r],r));return n}var s=Object.keys||function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return e}},function(t,e,n){(function(e){var r=n(1),i=r(n(30)),o=r(n(159)),s=r(n(37)),a=r(n(31)),l=r(n(7)),c=r(n(10)),h=n(427),u=n(428),f=function(){function t(e){var n=this;(0,l.default)(this,t),this.position=0,this.url=e,this.cache=new u({fetch:function(t,e){return n._fetch(t,e)}})}var n,r,f;return(0,c.default)(t,[{key:"_fetch",value:(f=(0,a.default)(i.default.mark((function t(n,r){var a,l,c,u,f,d;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return l={},r<1/0?l.range=(0,s.default)(c="bytes=".concat(n,"-")).call(c,n+r):r===1/0&&0!==n&&(l.range="bytes=".concat(n,"-")),t.next=4,h(this.url,{method:"GET",headers:l,redirect:"follow",mode:"cors"});case 4:if((200!==(u=t.sent).status||0!==n)&&206!==u.status){t.next=14;break}return t.t0=e,t.next=9,u.arrayBuffer();case 9:return t.t1=t.sent,f=t.t0.from.call(t.t0,t.t1),(d=/\/(\d+)$/.exec(u.headers.get("content-range")))[1]&&(this._stat={size:(0,o.default)(d[1],10)}),t.abrupt("return",f);case 14:throw new Error((0,s.default)(a="HTTP ".concat(u.status," fetching ")).call(a,this.url));case 15:case"end":return t.stop()}}),t,this)}))),function(t,e){return f.apply(this,arguments)})},{key:"read",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=r;return null===i&&(i=this.position,this.position+=n),this.cache.get(t,e,n,r)}},{key:"readFile",value:(r=(0,a.default)(i.default.mark((function t(){var n;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,h(this.url,{method:"GET",redirect:"follow",mode:"cors"});case 2:return n=t.sent,t.t0=e,t.next=6,n.arrayBuffer();case 6:return t.t1=t.sent,t.abrupt("return",t.t0.from.call(t.t0,t.t1));case 8:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"stat",value:(n=(0,a.default)(i.default.mark((function t(){var n;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._stat){t.next=6;break}return n=e.allocUnsafe(10),t.next=4,this.read(n,0,10,0);case 4:if(this._stat){t.next=6;break}throw new Error("unable to determine size of file at ".concat(this.url));case 6:return t.abrupt("return",this._stat);case 7:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})}]),t}();t.exports=f}).call(this,n(19).Buffer)},function(t,e){var n=function(t){function e(){this.fetch=!1,this.DOMException=t.DOMException}return e.prototype=t,new e}("undefined"!=typeof self?self:this);!function(t){!function(e){var n="URLSearchParams"in t,r="Symbol"in t&&"iterator"in Symbol,i="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),o="FormData"in t,s="ArrayBuffer"in t;if(s)var a=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(t){return t&&a.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function h(t){return"string"!=typeof t&&(t=String(t)),t}function u(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r&&(e[Symbol.iterator]=function(){return e}),e}function f(t){this.map={},t instanceof f?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function d(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function p(t){return new Promise((function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}}))}function g(t){var e=new FileReader,n=p(e);return e.readAsArrayBuffer(t),n}function m(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:i&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:o&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:n&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():s&&i&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=m(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(t)||l(t))?this._bodyArrayBuffer=m(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var t=d(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?d(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(g)}),this.text=function(){var t,e,n,r=d(this);if(r)return r;if(this._bodyBlob)return t=this._bodyBlob,n=p(e=new FileReader),e.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r<e.length;r++)n[r]=String.fromCharCode(e[r]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o&&(this.formData=function(){return this.text().then(y)}),this.json=function(){return this.text().then(JSON.parse)},this}f.prototype.append=function(t,e){t=c(t),e=h(e);var n=this.map[t];this.map[t]=n?n+", "+e:e},f.prototype.delete=function(t){delete this.map[c(t)]},f.prototype.get=function(t){return t=c(t),this.has(t)?this.map[t]:null},f.prototype.has=function(t){return this.map.hasOwnProperty(c(t))},f.prototype.set=function(t,e){this.map[c(t)]=h(e)},f.prototype.forEach=function(t,e){for(var n in this.map)this.map.hasOwnProperty(n)&&t.call(e,this.map[n],n,this)},f.prototype.keys=function(){var t=[];return this.forEach((function(e,n){t.push(n)})),u(t)},f.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),u(t)},f.prototype.entries=function(){var t=[];return this.forEach((function(e,n){t.push([n,e])})),u(t)},r&&(f.prototype[Symbol.iterator]=f.prototype.entries);var b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function w(t,e){var n,r,i=(e=e||{}).body;if(t instanceof w){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new f(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,i||null==t._bodyInit||(i=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new f(e.headers)),this.method=(r=(n=e.method||this.method||"GET").toUpperCase(),b.indexOf(r)>-1?r:n),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function y(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),i=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(i))}})),e}function x(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new f(e.headers),this.url=e.url||"",this._initBody(t)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},v.call(w.prototype),v.call(x.prototype),x.prototype.clone=function(){return new x(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new f(this.headers),url:this.url})},x.error=function(){var t=new x(null,{status:0,statusText:""});return t.type="error",t};var _=[301,302,303,307,308];x.redirect=function(t,e){if(-1===_.indexOf(e))throw new RangeError("Invalid status code");return new x(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function k(t,n){return new Promise((function(r,o){var s=new w(t,n);if(s.signal&&s.signal.aborted)return o(new e.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function l(){a.abort()}a.onload=function(){var t,e,n={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new f,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var n=t.split(":"),r=n.shift().trim();if(r){var i=n.join(":").trim();e.append(r,i)}})),e)};n.url="responseURL"in a?a.responseURL:n.headers.get("X-Request-URL");var i="response"in a?a.response:a.responseText;r(new x(i,n))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new e.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&i&&(a.responseType="blob"),s.headers.forEach((function(t,e){a.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",l),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",l)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}k.polyfill=!0,t.fetch||(t.fetch=k,t.Headers=f,t.Request=w,t.Response=x),e.Headers=f,e.Request=w,e.Response=x,e.fetch=k}({})}(n),delete n.fetch.polyfill,(e=n.fetch).default=n.fetch,e.fetch=n.fetch,e.Headers=n.Headers,e.Request=n.Request,e.Response=n.Response,t.exports=e},function(t,e,n){var r=n(1),i=r(n(30)),o=r(n(16)),s=r(n(76)),a=r(n(31)),l=r(n(7)),c=r(n(10)),h=n(94),u=function(){function t(e){var n=e.fetch,r=e.size,i=void 0===r?1e7:r,o=e.chunkSize,s=void 0===o?32768:o;if((0,l.default)(this,t),!n)throw new Error("fetch function required");this.fetch=n,this.chunkSize=s,this.lruCache=new h({maxSize:Math.floor(i/s)})}var e;return(0,c.default)(t,[{key:"get",value:(e=(0,a.default)(i.default.mark((function t(e,n,r,a){var l,c,h,u,f,d,p,g=this;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e.length<n+r)){t.next=2;break}throw new Error("output buffer not big enough for request");case 2:for(l=Math.floor(a/this.chunkSize),c=Math.floor((a+r)/this.chunkSize),h=new Array(c-l+1),u=function(t){h[t-l]=g._getChunk(t).then((function(e){return{data:e,chunkNumber:t}}))},f=l;f<=c;f+=1)u(f);return t.next=9,s.default.all(h);case 9:d=t.sent,p=a-d[0].chunkNumber*this.chunkSize,(0,o.default)(d).call(d,(function(t){var i=t.data,o=t.chunkNumber,s=o*g.chunkSize,h=0,u=g.chunkSize,f=n+(o-l)*g.chunkSize-p;o===l&&(f=n,h=p),o===c&&(u=a+r-s),i.copy(e,f,h,u)}));case 12:case"end":return t.stop()}}),t,this)}))),function(t,n,r,i){return e.apply(this,arguments)})},{key:"_getChunk",value:function(t){var e=this.lruCache.get(t);if(e)return e;var n=this.fetch(t*this.chunkSize,this.chunkSize);return this.lruCache.set(t,n),n}}]),t}();t.exports=u},function(t,e,n){var r=n(1),i=r(n(30)),o=r(n(31)),s=r(n(7)),a=r(n(10)),l=(n(161).promisify,null),c=function(){function t(e){(0,s.default)(this,t),this.position=0,this.filename=e,this.fd=l(this.filename,"r")}var e,n,r;return(0,a.default)(t,[{key:"read",value:(r=(0,o.default)(i.default.mark((function t(e){var n,r,o,s=arguments;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=s.length>1&&void 0!==s[1]?s[1]:0,r=s.length>2?s[2]:void 0,null===(o=s.length>3?s[3]:void 0)&&(this.position,this.position+=r),t.t0=null,t.next=8,this.fd;case 8:return t.t1=t.sent,t.t2=e,t.t3=n,t.t4=r,t.t5=o,t.abrupt("return",(0,t.t0)(t.t1,t.t2,t.t3,t.t4,t.t5));case 14:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"readFile",value:(n=(0,o.default)(i.default.mark((function t(){return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=null,t.next=3,this.fd;case 3:return t.t1=t.sent,t.abrupt("return",(0,t.t0)(t.t1));case 5:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"stat",value:(e=(0,o.default)(i.default.mark((function t(){return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._stat){t.next=8;break}return t.t0=null,t.next=4,this.fd;case 4:return t.t1=t.sent,t.next=7,(0,t.t0)(t.t1);case 7:this._stat=t.sent;case 8:return t.abrupt("return",this._stat);case 9:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})}]),t}();t.exports=c},function(t,e,n){var r=n(1),i=r(n(48)),o=r(n(77)),s=r(n(101)),a=r(n(431)),l=r(n(16));t.exports={parseHeaderText:function(t){var e=t.split(/\r?\n/),n=[];return(0,l.default)(e).call(e,(function(t){var e=t.split(/\t/),r=(0,a.default)(e),l=r[0],c=(0,s.default)(r).call(r,1),h=(0,o.default)(c).call(c,(function(t){var e=t.split(":",2),n=(0,i.default)(e,2);return{tag:n[0],value:n[1]}}));l&&n.push({tag:l.substr(1),data:h})})),n}}},function(t,e,n){var r=n(157),i=n(152),o=n(158);t.exports=function(t){return r(t)||i(t)||o()}},function(t,e,n){var r=n(1),i=r(n(30)),o=r(n(103)),s=r(n(150)),a=r(n(48)),l=r(n(102)),c=r(n(16)),h=r(n(59)),u=r(n(76)),f=r(n(37)),d=r(n(77)),p=r(n(433)),g=r(n(31)),m=r(n(7)),v=r(n(10)),b=n(9),w=b.CramUnimplementedError,y=b.CramSizeLimitError,x=n(104),_=function(){function t(e){if((0,m.default)(this,t),e.cram?this.cram=e.cram:this.cram=new x({url:e.cramUrl,path:e.cramPath,filehandle:e.cramFilehandle,seqFetch:e.seqFetch,checkSequenceMD5:e.checkSequenceMD5,cacheSize:e.cacheSize}),!(this.cram instanceof x))throw new Error("invalid arguments: no cramfile");if(this.index=e.index,!this.index.getEntriesForRange)throw new Error("invalid arguments: not an index");this.fetchSizeLimit=e.fetchSizeLimit||3e6}var e;return(0,v.default)(t,[{key:"getRecordsForRange",value:(e=(0,g.default)(i.default.mark((function t(e,n,r){var g,m,v,b,x,_,k,S,C,E,A,T,L,M,R,I,N,P,F,O,D,B,z,H,V,j,U,q,W,$,G,Z,X,Y,K,Q=this,J=arguments;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if((_=J.length>3&&void 0!==J[3]?J[3]:{}).viewAsPairs=_.viewAsPairs||!1,_.pairAcrossChr=_.pairAcrossChr||!1,_.maxInsertSize=_.maxInsertSize||2e5,"string"!=typeof e){t.next=6;break}throw new w("string sequence names not yet supported");case 6:return k=e,t.next=9,this.index.getEntriesForRange(k,n,r);case 9:if(S=t.sent,!((C=(0,p.default)(g=(0,d.default)(S).call(S,(function(t){return t.sliceBytes}))).call(g,(function(t,e){return t+e}),0))>this.fetchSizeLimit)){t.next=13;break}throw new y((0,f.default)(m="data size of ".concat(C.toLocaleString()," bytes exceeded fetch size limit of ")).call(m,this.fetchSizeLimit.toLocaleString()," bytes"));case 13:return E=function(t){return t.sequenceId===e&&t.alignmentStart<=r&&t.alignmentStart+t.lengthOnRef-1>=n},t.next=16,u.default.all((0,d.default)(S).call(S,(function(t){return Q.getRecordsInSlice(t,E)})));case 16:if(A=t.sent,T=(b=(0,f.default)(v=Array.prototype)).call.apply(b,(0,f.default)(x=[v]).call(x,(0,h.default)(A))),!_.viewAsPairs){t.next=42;break}for(I={},N={},P=0;P<T.length;P+=1)F=T[P].readName,O=T[P].uniqueId,I[F]||(I[F]=0),I[F]+=1,N[O]=1;for(D={},(0,c.default)(L=(0,l.default)(I)).call(L,(function(t){var e=(0,a.default)(t,2),n=e[0];1===e[1]&&(D[n]=!0)})),B=[],z=0;z<T.length;z+=1)H=T[z].readName,D[H]&&T[z].mate&&(T[z].mate.sequenceId===k||_.pairAcrossChr)&&Math.abs(T[z].alignmentStart-T[z].mate.alignmentStart)<_.maxInsertSize&&(V=this.index.getEntriesForRange(T[z].mate.sequenceId,T[z].mate.alignmentStart,T[z].mate.alignmentStart+1),B.push(V));return t.next=28,u.default.all(B);case 28:for(j=t.sent,U=[],q=0;q<j.length;q+=1)(W=U).push.apply(W,(0,h.default)(j[q]));if(U=(0,s.default)(M=(0,o.default)(U).call(U,(function(t,e){return t.toString().localeCompare(e.toString())}))).call(M,(function(t,e,n){return!e||t.toString()!==n[e-1].toString()})),$=[],G=[],!((Z=(0,p.default)(R=(0,d.default)(U).call(U,(function(t){return t.sliceBytes}))).call(R,(function(t,e){return t+e}),0))>this.fetchSizeLimit)){t.next=37;break}throw new Error((0,f.default)(X="mate data size of ".concat(Z.toLocaleString()," bytes exceeded fetch size limit of ")).call(X,this.fetchSizeLimit.toLocaleString()," bytes"));case 37:return(0,c.default)(U).call(U,(function(t){var e=Q.cram.featureCache.get(t.toString());e||(e=Q.getRecordsInSlice(t,(function(){return!0})),Q.cram.featureCache.set(t.toString(),e)),$.push(e);var n=e.then((function(t){for(var e=[],n=0;n<t.length;n+=1){var r=t[n];D[r.readName]&&!N[r.uniqueId]&&e.push(r)}return e}));G.push(n)})),t.next=40,u.default.all(G);case 40:(Y=t.sent).length&&(K=(0,p.default)(Y).call(Y,(function(t,e){return(0,f.default)(t).call(t,e)})),T=(0,f.default)(T).call(T,K));case 42:return t.abrupt("return",T);case 43:case"end":return t.stop()}}),t,this)}))),function(t,n,r){return e.apply(this,arguments)})},{key:"getRecordsInSlice",value:function(t,e){var n=t.containerStart,r=t.sliceStart,i=t.sliceBytes;return this.cram.getContainerAtPosition(n).getSlice(r,i).getRecords(e)}},{key:"hasDataForReferenceSequence",value:function(t){return this.index.hasDataForReferenceSequence(t)}}]),t}();t.exports=_},function(t,e,n){t.exports=n(434)},function(t,e,n){t.exports=n(435)},function(t,e,n){var r=n(436),i=Array.prototype;t.exports=function(t){var e=t.reduce;return t===i||t instanceof Array&&e===i.reduce?r:e}},function(t,e,n){n(437);var r=n(18);t.exports=r("Array").reduce},function(t,e,n){var r=n(0),i=n(438).left;r({target:"Array",proto:!0,forced:n(54)("reduce")},{reduce:function(t){return i(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(5),i=n(22),o=n(60),s=n(29),a=function(t){return function(e,n,a,l){r(n);var c=i(e),h=o(c),u=s(c.length),f=t?u-1:0,d=t?-1:1;if(a<2)for(;;){if(f in h){l=h[f],f+=d;break}if(f+=d,t?f<0:u<=f)throw TypeError("Reduce of empty array with no initial value")}for(;t?f>=0:u>f;f+=d)f in h&&(l=n(l,h[f],f,c));return l}};t.exports={left:a(!1),right:a(!0)}},function(t,e,n){var r=n(1),i=r(n(30)),o=r(n(31)),s=r(n(103)),a=r(n(102)),l=r(n(16)),c=r(n(154)),h=r(n(440)),u=r(n(48)),f=r(n(442)),d=r(n(37)),p=r(n(75)),g=r(n(7)),m=r(n(10)),v=n(447).default,b=n(94),w=(0,n(161).promisify)(n(126).gunzip),y=n(160).open,x=n(9).CramMalformedError,_=function(){function t(e){(0,g.default)(this,t),(0,p.default)(this,e)}return(0,m.default)(t,[{key:"toString",value:function(){var t,e,n,r;return(0,d.default)(t=(0,d.default)(e=(0,d.default)(n=(0,d.default)(r="".concat(this.start,":")).call(r,this.span,":")).call(n,this.containerStart,":")).call(e,this.sliceStart,":")).call(t,this.sliceBytes)}}]),t}();function k(t,e){if((0,f.default)(e).call(e,(function(t){return void 0===t})))throw new x("invalid .crai index file");var n=(0,u.default)(e,6),r=n[0],i=n[1],o=n[2],s=n[3],a=n[4],l=n[5];t[r]||(t[r]=[]),t[r].push(new _({start:i,span:o,containerStart:s,sliceStart:a,sliceBytes:l}))}var S=function(){function t(e){var n,r=this;(0,g.default)(this,t);var i=y(e.url,e.path,e.filehandle);this._parseCache=new v({cache:new b({maxSize:1}),fill:function(t,e){return r.parseIndex({signal:e})}}),this.readFile=(0,h.default)(n=i.readFile).call(n,i)}var e,n;return(0,m.default)(t,[{key:"parseIndex",value:function(){var t={};return this.readFile().then((function(t){return 31===t[0]&&139===t[1]?w(t):t})).then((function(e){var n;if(e.length>4&&21578050===e.readUInt32LE(0))throw new x("invalid .crai index file. note: file appears to be a .bai index. this is technically legal but please open a github issue if you need support");for(var r=[],i="",o=0;o<e.length;o+=1){var h=e[o];if(h>=48&&h<=57||!i&&45===h)i+=String.fromCharCode(h);else if(9===h)r.push((0,c.default)(i,10)),i="";else if(10===h)r.push((0,c.default)(i,10)),i="",k(t,r),r=[];else if(13!==h&&32!==h)throw new x("invalid .crai index file")}return i&&r.push((0,c.default)(i,10)),6===r.length&&k(t,r),(0,l.default)(n=(0,a.default)(t)).call(n,(function(e){var n=(0,u.default)(e,2),r=n[0],i=n[1];t[r]=(0,s.default)(i).call(i,(function(t,e){return t.start-e.start||t.span-e.span}))})),t}))}},{key:"getIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._parseCache.get("index",null,t.signal)}},{key:"hasDataForReferenceSequence",value:(n=(0,o.default)(i.default.mark((function t(e){return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getIndex();case 2:return t.t0=e,t.abrupt("return",!!t.sent[t.t0]);case 4:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"getEntriesForRange",value:(e=(0,o.default)(i.default.mark((function t(e,n,r){var o,s,a,l;return i.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getIndex();case 2:if(t.t0=e,o=t.sent[t.t0]){t.next=6;break}return t.abrupt("return",[]);case 6:for(s=function(t){var e=t.start,i=t.start+t.span;return e>=r?-1:i<=n?1:0},a=[],l=0;l<o.length;l+=1)0===s(o[l])&&a.push(o[l]);return t.abrupt("return",a);case 10:case"end":return t.stop()}}),t,this)}))),function(t,n,r){return e.apply(this,arguments)})}]),t}();t.exports=S},function(t,e,n){t.exports=n(441)},function(t,e,n){t.exports=n(144)},function(t,e,n){t.exports=n(443)},function(t,e,n){t.exports=n(444)},function(t,e,n){var r=n(445),i=Array.prototype;t.exports=function(t){var e=t.some;return t===i||t instanceof Array&&e===i.some?r:e}},function(t,e,n){n(446);var r=n(18);t.exports=r("Array").some},function(t,e,n){var r=n(0),i=n(45).some;r({target:"Array",proto:!0,forced:n(54)("some")},{some:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(n(448));e.default=i.default},function(t,e,n){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=n(162),o=r(n(450)),s=function(){function t(t){var e=t.fill,n=t.cache;if("function"!=typeof e)throw new TypeError("must pass a fill function");if("object"!=typeof n)throw new TypeError("must pass a cache object");if("function"!=typeof n.get||"function"!=typeof n.set||"function"!=typeof n.delete)throw new TypeError("cache must implement get(key), set(key, val), and and delete(key)");this.cache=n,this.fillCallback=e}return t.isAbortException=function(t){return"AbortError"===t.name||"ERR_ABORTED"===t.code||"AbortError: aborted"===t.message||"Error: aborted"===t.message},t.prototype.evict=function(t,e){this.cache.get(t)===e&&this.cache.delete(t)},t.prototype.fill=function(t,e,n){var r=this,i=new o.default,s={aborter:i,promise:this.fillCallback(e,i.signal),settled:!1,get aborted(){return this.aborter.signal.aborted}};s.aborter.addSignal(n),s.aborter.signal.addEventListener("abort",(function(){r.evict(t,s)})),s.promise.then((function(){s.settled=!0}),(function(e){s.settled=!0,r.evict(t,s)})).catch((function(t){throw console.error(t),t})),this.cache.set(t,s)},t.checkSinglePromise=function(t,e){function n(){if(e&&e.aborted)throw Object.assign(new Error("aborted"),{code:"ERR_ABORTED"})}return t.then((function(t){return n(),t}),(function(t){throw n(),t}))},t.prototype.has=function(t){return this.cache.has(t)},t.prototype.get=function(e,n,r){if(!r&&n instanceof i.AbortSignal)throw new TypeError("second get argument appears to be an AbortSignal, perhaps you meant to pass `null` for the fill data?");var o=this.cache.get(e);return o?o.aborted?(this.evict(e,o),this.get(e,n,r)):o.settled?o.promise:(o.aborter.addSignal(r),t.checkSinglePromise(o.promise,r)):(this.fill(e,n,r),t.checkSinglePromise(this.cache.get(e).promise,r))},t.prototype.delete=function(t){var e=this.cache.get(t);e&&(e.settled||e.aborter.abort(),this.cache.delete(t))},t.prototype.clear=function(){for(var t=this.cache.keys(),e=0,n=t.next();!n.done;n=t.next())this.delete(n.value),e+=1;return e},t}();e.default=s},function(t,e,n){function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function o(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function s(t){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function l(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function c(t,e,n){return(c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=s(t)););return t}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(n):i.value}})(t,e,n||t)}Object.defineProperty(e,"__esModule",{value:!0});var h=function(){function t(){r(this,t),Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}return o(t,[{key:"addEventListener",value:function(t,e){t in this.listeners||(this.listeners[t]=[]),this.listeners[t].push(e)}},{key:"removeEventListener",value:function(t,e){if(t in this.listeners)for(var n=this.listeners[t],r=0,i=n.length;r<i;r++)if(n[r]===e)return void n.splice(r,1)}},{key:"dispatchEvent",value:function(t){var e=this;if(t.type in this.listeners){for(var n=function(n){setTimeout((function(){return n.call(e,t)}))},r=this.listeners[t.type],i=0,o=r.length;i<o;i++)n(r[i]);return!t.defaultPrevented}}}]),t}(),u=function(t){function e(){var t;return r(this,e),(t=function(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?l(t):e}(this,s(e).call(this))).listeners||h.call(l(t)),Object.defineProperty(l(t),"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(l(t),"onabort",{value:null,writable:!0,configurable:!0}),t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(e,t),o(e,[{key:"toString",value:function(){return"[object AbortSignal]"}},{key:"dispatchEvent",value:function(t){"abort"===t.type&&(this.aborted=!0,"function"==typeof this.onabort&&this.onabort.call(this,t)),c(s(e.prototype),"dispatchEvent",this).call(this,t)}}]),e}(h),f=function(){function t(){r(this,t),Object.defineProperty(this,"signal",{value:new u,writable:!0,configurable:!0})}return o(t,[{key:"abort",value:function(){var t;try{t=new Event("abort")}catch(e){"undefined"!=typeof document?document.createEvent?(t=document.createEvent("Event")).initEvent("abort",!1,!1):(t=document.createEventObject()).type="abort":t={type:"abort",bubbles:!1,cancelable:!1}}this.signal.dispatchEvent(t)}},{key:"toString",value:function(){return"[object AbortController]"}}]),t}();"undefined"!=typeof Symbol&&Symbol.toStringTag&&(f.prototype[Symbol.toStringTag]="AbortController",u.prototype[Symbol.toStringTag]="AbortSignal"),e.AbortController=f,e.AbortSignal=u,e.abortableFetch=function(t){"function"==typeof t&&(t={fetch:t});var e=t,n=e.fetch,r=e.Request,i=void 0===r?n.Request:r,o=e.AbortController,s=e.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,a=void 0!==s&&s;if(!function(t){return t.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):"function"==typeof t.Request&&!t.Request.prototype.hasOwnProperty("signal")||!t.AbortController}({fetch:n,Request:i,AbortController:o,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:a}))return{fetch:n,Request:l};var l=i;(l&&!l.prototype.hasOwnProperty("signal")||a)&&((l=function(t,e){var n;e&&e.signal&&(n=e.signal,delete e.signal);var r=new i(t,e);return n&&Object.defineProperty(r,"signal",{writable:!1,enumerable:!1,configurable:!0,value:n}),r}).prototype=i.prototype);var c=n;return{fetch:function(t,e){var n=l&&l.prototype.isPrototypeOf(t)?t.signal:e?e.signal:void 0;if(n){var r;try{r=new DOMException("Aborted","AbortError")}catch(t){(r=new Error("Aborted")).name="AbortError"}if(n.aborted)return Promise.reject(r);var i=new Promise((function(t,e){n.addEventListener("abort",(function(){return e(r)}),{once:!0})}));return e&&e.signal&&delete e.signal,Promise.race([i,c(t,e)])}return c(t,e)},Request:l}}},function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0});var r=n(162),i=function(){},o=function(){function t(){this.signals=new Set,this.abortController=new r.AbortController}return t.prototype.addSignal=function(t){var e=this;if(void 0===t&&(t=new i),this.signal.aborted)throw new Error("cannot add a signal, already aborted!");this.signals.add(t),t.aborted?this.handleAborted(t):"function"==typeof t.addEventListener&&t.addEventListener("abort",(function(){e.handleAborted(t)}))},t.prototype.handleAborted=function(t){this.signals.delete(t),0===this.signals.size&&this.abortController.abort()},Object.defineProperty(t.prototype,"signal",{get:function(){return this.abortController.signal},enumerable:!0,configurable:!0}),t.prototype.abort=function(){this.abortController.abort()},t}();e.default=o}]);class Gh{constructor(t,e,n){this.config=t,this.browser=n,this.genome=e,this.cramFile=new $h.CramFile({filehandle:new Zh(t.url,t),seqFetch:t.seqFetch||function(t,e,n){const r=this.genome.sequence,i=this.genome;return this.getHeader().then((function(o){const s=i.getChromosomeName(o.chrNames[t]);return r.getSequence(s,e-1,n)}))}.bind(this),checkSequenceMD5:void 0===t.checkSequenceMD5||t.checkSequenceMD5});const r=new Zh(t.indexURL,t);this.indexedCramFile=new $h.IndexedCramFile({cram:this.cramFile,index:new $h.CraiIndex({filehandle:r}),fetchSizeLimit:3e7}),Ph.setReaderDefaults(this,t)}async getHeader(){if(!this.header){const t=this.genome,e=await this.cramFile.getSamHeader(),n={},r=[],i={},o=[];for(let s of e)if("SQ"===s.tag){for(let e of s.data)if("SN"===e.tag){const o=e.value;if(n[o]=r.length,r.push(o),t){i[t.getChromosomeName(o)]=o}break}}else"RG"===s.tag&&o.push(s.data);this.header={chrNames:r,chrToIndex:n,chrAliasTable:i,readGroups:o}}return this.header}async readAlignments(t,e,n){this.browser;const r=await this.getHeader(),i=r.chrAliasTable.hasOwnProperty(t)?r.chrAliasTable[t]:t,o=r.chrToIndex[i],s=new gh(t,e,n,this.samplingWindowSize,this.samplingDepth,this.pairsSupported,this.alleleFreqThreshold);if(void 0===o)return s;try{const t=await this.indexedCramFile.getRecordsForRange(o,e,n);for(let i of t){const t=i.sequenceId,l=i.alignmentStart,c=l+i.lengthOnRef;if(t<0)continue;if(t>o||l>n)return;if(t<o)continue;if(c<e)continue;const h=a(i,r.chrNames);this.filter.pass(h)&&s.push(h)}return s.finish(),s}catch(t){let e=t.message;throw e&&e.indexOf("MD5")>=0&&(e="Sequence mismatch. Is this the correct genome for the loaded CRAM?"),Ko.presentAlert(new Error(e)),t}function a(t,e){const n=new _h;if(n.chr=e[t.sequenceId],n.start=t.alignmentStart-1,n.lengthOnRef=t.lengthOnRef,n.flags=t.flags,n.strand=!(16&t.flags),n.fragmentLength=t.templateLength||t.templateSize,n.mq=t.mappingQuality,n.end=t.alignmentStart+t.lengthOnRef,n.readGroupId=t.readGroupId,t.mate&&void 0!==t.mate.sequenceId){const r=void 0!==t.mate.flags?!(1&t.mate.flags):!(32&t.flags);n.mate={chr:e[t.mate.sequenceId],position:t.mate.alignmentStart,strand:r}}return n.seq=t.getReadBases(),n.qual=t.qualityScores,n.tagDict=t.tags,n.readName=t.readName,function(t,e){const n=[];let r,i,o=0,s="";if(e.scStart=e.start,e.scLengthOnRef=e.lengthOnRef,t.readFeatures)for(let a of t.readFeatures){const t=a.code,l=a.data,c=a.pos-1,h=a.refPos-1;switch(t){case"S":case"I":case"i":case"N":case"D":if(c>o){const t=c-o;n.push(new Lh({start:h-t,seqOffset:o,len:t,type:"M"})),o+=t,s+=t+"M"}if("S"===t){let r=h;e.scLengthOnRef+=l.length,0===c&&(e.scStart-=l.length,r-=l.length);const i=l.length;n.push(new Lh({start:r,seqOffset:o,len:i,type:"S"})),o+=i,s+=i+t}else if("I"===t||"i"===t){void 0===r&&(r=[]);const e="i"===t?1:l.length;r.push(new Lh({start:h,len:e,seqOffset:o,type:"I"})),o+=e,s+=e+t}else"D"!==t&&"N"!==t||(i||(i=[]),i.push({start:h,len:l,type:t}),s+=l+t);break;case"H":case"P":s+=l+t}}const a=t.readLength-o;a>0&&(n.push(new Lh({start:t.alignmentStart+t.lengthOnRef-a-1,seqOffset:o,len:a,type:"M"})),s+=a+"M");e.blocks=n,e.insertions=r,e.gaps=i,e.cigar=s}(t,n),n.mate&&n.start>n.mate.position&&n.fragmentLength>0&&(n.fragmentLength=-n.fragmentLength),Ph.setPairOrientation(n),n}}}class Zh{constructor(t,e){this.position=0,this.url=t,this.config=e,this.cache=new Xh({fetch:(t,e)=>this._fetch(t,e)})}async _fetch(t,e){const n={start:t,size:e};this._stat={size:void 0};const r=await po.loadArrayBuffer(this.url,aa(this.config,{range:n}));return Buffer.from(r)}async read(t,e=0,n=1/0,r=0){let i=r;return null===r&&(i=this.position,this.position+=n),this.cache.get(t,e,n,r)}async readFile(){const t=await po.loadArrayBuffer(this.url,aa(this.config));return Buffer.from(t)}async stat(){if(!this._stat){const t=Buffer.allocUnsafe(10);if(await this.read(t,0,10,0),!this._stat)throw new Error(`unable to determine size of file at ${this.url}`)}return this._stat}}class Xh{constructor({fetch:t,size:e=1e7,chunkSize:n=32768}){this.fetch=t,this.chunkSize=n,this.lruCache=new Yh({maxSize:Math.floor(e/n)})}async get(t,e,n,r){if(t.length<e+n)throw new Error("output buffer not big enough for request");const i=Math.floor(r/this.chunkSize),o=Math.floor((r+n)/this.chunkSize),s=new Array(o-i+1);for(let t=i;t<=o;t+=1)s[t-i]=this._getChunk(t).then((e=>({data:e,chunkNumber:t})));const a=await Promise.all(s),l=r-a[0].chunkNumber*this.chunkSize;a.forEach((({data:s,chunkNumber:a})=>{const c=a*this.chunkSize;let h=0,u=this.chunkSize,f=e+(a-i)*this.chunkSize-l;a===i&&(f=e,h=l),a===o&&(u=r+n-c),s.copy(t,f,h,u)}))}_getChunk(t){const e=this.lruCache.get(t);if(e)return e;const n=this.fetch(t*this.chunkSize,this.chunkSize);return this.lruCache.set(t,n),n}}class Yh{constructor(t={}){if(!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=t.maxSize,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(t,e){this.cache.set(t,e),this._size++,this._size>=this.maxSize&&(this._size=0,this.oldCache=this.cache,this.cache=new Map)}get(t){if(this.cache.has(t))return this.cache.get(t);if(this.oldCache.has(t)){const e=this.oldCache.get(t);return this._set(t,e),e}}set(t,e){return this.cache.has(t)?this.cache.set(t,e):this._set(t,e),this}has(t){return this.cache.has(t)||this.oldCache.has(t)}peek(t){return this.cache.has(t)?this.cache.get(t):this.oldCache.has(t)?this.oldCache.get(t):void 0}delete(t){const e=this.cache.delete(t);return e&&this._size--,this.oldCache.delete(t)||e}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(const[t]of this)yield t}*values(){for(const[,t]of this)yield t}*[Symbol.iterator](){for(const t of this.cache)yield t;for(const t of this.oldCache){const[e]=t;this.cache.has(e)||(yield t)}}get size(){let t=0;for(const e of this.oldCache.keys())this.cache.has(e)||t++;return this._size+t}}var Kh={ALIGNMENT_MATCH:"M",INSERT:"I",DELETE:"D",SKIP:"N",CLIP_SOFT:"S",CLIP_HARD:"H",PAD:"P",SEQUENCE_MATCH:"=",SEQUENCE_MISMATCH:"X"};const Qh=function(t,e){this.config=t,this.genome=e,this.url=t.url,this.filter=new Mh(t.filter),this.readGroupSetIds=t.readGroupSetIds,this.authKey=t.authKey,this.samplingWindowSize=void 0===t.samplingWindowSize?100:t.samplingWindowSize,this.samplingDepth=void 0===t.samplingDepth?1e3:t.samplingDepth,t.viewAsPairs?this.pairsSupported=!0:this.pairsSupported=void 0===t.pairsSupported||t.pairsSupported};Qh.prototype.readAlignments=function(t,e,n){const r=this.genome,i=this;return(i.chrAliasTable?Promise.resolve(i.chrAliasTable):i.readMetadata().then((function(t){if(i.chrAliasTable={},r&&t.readGroups&&t.readGroups.length>0){var e=t.readGroups[0].referenceSetId;return e?oc({url:i.url+"/references/search",body:{referenceSetId:e},decode:function(t){return t.references}}).then((function(t){return t.forEach((function(t){var e=t.name,n=r.getChromosomeName(e);i.chrAliasTable[n]=e})),i.chrAliasTable})):(function(t,e){var n;if("461916304629"===e||"337315832689"===e){for(n=1;n<23;n++)t["chr"+n]=n;t.chrX="X",t.chrY="Y",t.chrM="MT"}}(i.chrAliasTable,i.config.datasetId),i.chrAliasTable)}return i.chrAliasTable}))).then((function(r){var s=r.hasOwnProperty(t)?r[t]:t;return oc({url:i.url+"/reads/search",body:{readGroupSetIds:[i.readGroupSetIds],referenceName:s,start:e,end:n,pageSize:"10000"},decode:o,results:new gh(t,e,n,i.samplingWindowSize,i.samplingDepth,i.pairsSupported,i.alleleFreqThreshold)})}));function o(t){var e,n,o,s,a,l=t.alignments,c=l.length,h=[];for(e=0;e<c;e++){let t=l[e];(n=new _h).readName=t.fragmentName,n.properPlacement=t.properPlacement,n.duplicateFragment=t.duplicateFragment,n.numberReads=t.numberReads,n.fragmentLength=t.fragmentLength,n.readNumber=t.readNumber,n.failedVendorQualityChecks=t.failedVendorQualityChecks,n.secondaryAlignment=t.secondaryAlignment,n.supplementaryAlignment=t.supplementaryAlignment,n.seq=t.alignedSequence,n.qual=t.alignedQuality,n.matePos=t.nextMatePosition,n.tagDict=t.info,n.flags=0,t.alignment?(n.mapped=!0,n.chr=t.alignment.position.referenceName,r&&(n.chr=r.getChromosomeName(n.chr)),n.start=parseInt(t.alignment.position.position),n.strand=!t.alignment.position.reverseStrand,n.mq=t.alignment.mappingQuality,n.cigar=u(t.alignment.cigar),o=f(t.alignment.cigar),n.lengthOnRef=o.lengthOnRef,a=d(n,o.array),n.blocks=a.blocks,n.insertions=a.insertions):n.mapped=!1,(s=t.nextMatePosition)&&(n.mate={chr:s.referenceFrame,position:parseInt(s.position),strand:!s.reverseStrand}),i.filter.pass(n)&&h.push(n)}return h;function u(t){var e="";return t.forEach((function(t){var n=Kh[t.operation],r=t.operationLength;e+=r+n})),e}function f(t){var e,n,r,i,o=0,s=[];for(i=0;i<t.length;i++)e=t[i],r=Kh[e.operation],n=parseInt(e.operationLength),"M"!==r&&"EQ"!==r&&"X"!==r&&"D"!==r&&"N"!==r&&"="!==r||(o+=n),s.push({len:n,ltr:r});return{lengthOnRef:o,array:s}}function d(t,e){for(var n,r,i,o=[],s=0,a=t.start,l=e.length,c=0;c<l;c++){var h=e[c];switch(h.ltr){case"H":case"P":break;case"S":s+=h.len,i="S";break;case"N":case"D":void 0===n&&(n=[]),n.push({start:a,len:h.len,type:h.ltr}),a+=h.len;break;case"I":void 0===r&&(r=[]),r.push(new Lh({start:a,len:h.len,seqOffset:s})),s+=h.len;break;case"M":case"EQ":case"=":case"X":o.push(new Lh({start:a,len:h.len,seqOffset:s,gapType:i})),s+=h.len,a+=h.len;break;default:console.log("Error processing cigar element: "+h.len+h.ltr)}}return{blocks:o,insertions:r,gaps:n}}}},Qh.prototype.readMetadata=function(){return ic({url:this.url,entity:"readgroupsets",entityId:this.readGroupSetIds})};class Jh{constructor(t,e){const n=e.genome;if(this.config=t,this.genome=n,this.alignmentContainer=void 0,fa(t.url)){if("cram"===t.format)throw"CRAM data uris are not supported";this.config.indexed=!1}if("ga4gh"===t.sourceType)this.bamReader=new Qh(t,n);else if("pysam"===t.sourceType)this.bamReader=new jh(t,n);else if("htsget"===t.sourceType)this.bamReader=new qh(t,n);else if("shardedBam"===t.sourceType)this.bamReader=new Vh(t,n);else if("cram"===t.format)this.bamReader=new Gh(t,n,e);else{if(!this.config.indexURL&&!1!==t.indexed)if(_e(this.config.url)){const t=function(t,e){if(_e(t)){if(t.includes("?")){const n=t.indexOf("?");return t.substring(0,n)+"."+e+t.substring(n)}return t+"."+e}}(this.config.url,"bai");t?(console.error(`Warning: no indexURL specified for ${this.config.url}. Guessing ${this.baiPath}`),this.config.indexURL=t):(console.error(`Warning: no indexURL specified for ${this.config.url}.`),this.config.indexed=!1)}else console.error(`Warning: no indexURL specified for ${this.config.name}.`),this.config.indexed=!1;!1!==this.config.indexed?this.bamReader=new Hh(t,n):this.bamReader=new zh(t,n)}this.viewAsPairs=t.viewAsPairs,this.showSoftClips=t.showSoftClips}setViewAsPairs(t){this.viewAsPairs!==t&&(this.viewAsPairs=t)}setShowSoftClips(t){this.showSoftClips!==t&&(this.showSoftClips=t)}async getAlignments(t,e,n){const r=this.genome,i=this.showSoftClips;if(this.alignmentContainer&&this.alignmentContainer.contains(t,e,n))return this.alignmentContainer;{const o=await this.bamReader.readAlignments(t,e,n);let s=o.alignments;this.viewAsPairs||(s=dh([{alignments:s}]));const a=s.length>0;if(o.packedAlignmentRows=ph(s,o.start,o.end,i),o.alignments=void 0,this.alignmentContainer=o,a){const e=await r.sequence.getSequence(t,o.start,o.end);if(e)return o.coverageMap.refSeq=e,o.sequence=e,o;console.error("No sequence for: "+t+":"+o.start+"-"+o.end)}return o}}}class tu extends bl{constructor(t,e){super(t,e)}init(t){super.init(t),this.type="alignment",void 0===t.alleleFreqThreshold&&(t.alleleFreqThreshold=.2),this.featureSource=new Jh(t,this.browser),this.showCoverage=void 0===t.showCoverage||t.showCoverage,this.showAlignments=void 0===t.showAlignments||t.showAlignments,this.coverageTrack=new eu(t,this),this.alignmentTrack=new nu(t,this),this.alignmentTrack.setTop(this.coverageTrack,this.showCoverage),this.visibilityWindow=t.visibilityWindow||3e4,this.viewAsPairs=t.viewAsPairs,this.pairsSupported=!1!==t.pairsSupported,this.showSoftClips=t.showSoftClips,this.showAllBases=t.showAllBases,this.showMismatches=!1!==t.showMismatches,this.color=t.color,this.coverageColor=t.coverageColor,this.minFragmentLength=t.minFragmentLength,this.maxFragmentLength=t.maxFragmentLength,t.sort&&(Array.isArray(t.sort)?this.assignSort(t.sort[0]):this.assignSort(t.sort)),this.height=void 0!==t.height?t.height:300}set height(t){this._height=t,this.coverageTrack&&this.showAlignments&&(this.alignmentTrack.height=this.showCoverage?t-this.coverageTrack.height:t)}get height(){return this._height}sort(t){t=this.assignSort(t);for(let e of this.trackView.viewports)if(e.containsPosition(t.chr,t.position)){const n=e.getCachedFeatures();n&&(ru(t,n),e.repaint())}}assignSort(t){if(t.locus){const e=function(t){const e=t.split(":"),n=e[1].split("-"),r={chr:e[0],start:Number.parseInt(n[0].replace(/,/g,""))-1};return n.length>1?r.end=Number.parseInt(n[1].replace(/,/g,"")):r.end=r.start+1,r}(t.locus);t.chr=e.chr,t.position=e.start}else t.position--;return t.direction="ASC"===t.direction||!0===t.direction,t.chr=this.browser.genome.getChromosomeName(t.chr),this.sortObject=t,this.sortObject}async getFeatures(t,e,n,r,i){const o=await this.featureSource.getAlignments(t,e,n);o.alignments&&o.alignments.length>99&&(void 0===this.minFragmentLength&&(this.minFragmentLength=o.pairedEndStats.lowerFragmentLength),void 0===this.maxFragmentLength&&(this.maxFragmentLength=o.pairedEndStats.upperFragmentLength));const s=this.sortObject;return s&&s.chr===t&&s.position>=e&&s.position<=n&&ru(s,o),o}computePixelHeight(t){return(this.showCoverage?this.coverageTrack.height:0)+(this.showAlignments?this.alignmentTrack.computePixelHeight(t):0)+15}draw(t){ls.fillRect(t.context,0,t.pixelTop,t.pixelWidth,t.pixelHeight,{fillStyle:"rgb(255, 255, 255)"}),!0===this.showCoverage&&this.coverageTrack.height>0?(this.trackView.axisCanvas.style.display="block",this.coverageTrack.draw(t)):this.trackView.axisCanvas.style.display="none",!0===this.showAlignments&&(this.alignmentTrack.setTop(this.coverageTrack,this.showCoverage),this.alignmentTrack.draw(t))}paintAxis(t,e,n){this.coverageTrack.paintAxis(t,e,this.coverageTrack.height)}contextMenuItemList(t){return this.alignmentTrack.contextMenuItemList(t)}popupData(t){return!0===this.showCoverage&&t.y>=this.coverageTrack.top&&t.y<this.coverageTrack.height?this.coverageTrack.popupData(t):this.alignmentTrack.popupData(t)}menuItemList(){let t=[];t=t.concat(Po.numericDataMenuItems(this.trackView)),t.push("<hr/>");const e=de('<div class="igv-track-menu-category">');e.text("Color by:"),t.push({name:void 0,object:e,click:void 0,init:void 0});const n=[{key:"strand",label:"read strand"}];this.alignmentTrack.hasPairs&&(n.push({key:"firstOfPairStrand",label:"first-of-pair strand"}),n.push({key:"pairOrientation",label:"pair orientation"}),n.push({key:"fragmentLength",label:"insert size (TLEN)"}));const r="tag"+(this.alignmentTrack.colorByTag?" ("+this.alignmentTrack.colorByTag+")":"");n.push({key:"tag",label:r});for(let e of n){const n=this.alignmentTrack.colorBy===e.key;t.push(this.colorByCB(e,n))}const i=()=>{if(!this.autoHeight){const t=15+(this.showCoverage?this.coverageTrack.height:0)+(this.showAlignments?this.alignmentTrack.height:0);this.trackView.setTrackHeight(t)}};t.push("<hr/>"),t.push({object:de(No("Show Coverage",this.showCoverage)),click:()=>{this.showCoverage=!this.showCoverage,i(),this.trackView.checkContentHeight(),this.trackView.repaintViews()}}),t.push({object:de(No("Show Alignments",this.showAlignments)),click:()=>{this.showAlignments=!this.showAlignments,i(),this.trackView.checkContentHeight(),this.trackView.repaintViews()}}),t.push("<hr/>"),t.push({object:de(No("Show all bases",this.showAllBases)),click:()=>{this.showAllBases=!this.showAllBases,this.config.showAllBases=this.showAllBases,this.trackView.repaintViews()}}),t.push({object:de(No("Show soft clips",this.showSoftClips)),click:()=>{this.showSoftClips=!this.showSoftClips,this.config.showSoftClips=this.showSoftClips,this.featureSource.setShowSoftClips(this.showSoftClips);const t=this.getCachedAlignmentContainers();for(let e of t)e.setShowSoftClips(this.showSoftClips);this.trackView.repaintViews()}}),this.pairsSupported&&this.alignmentTrack.hasPairs&&(t.push("<hr/>"),t.push({object:de(No("View as pairs",this.viewAsPairs)),click:()=>{this.viewAsPairs=!this.viewAsPairs,this.config.viewAsPairs=this.viewAsPairs,this.featureSource.setViewAsPairs(this.viewAsPairs);const t=this.getCachedAlignmentContainers();for(let e of t)e.setViewAsPairs(this.viewAsPairs);this.trackView.repaintViews()}})),t.push("<hr/>");const o=de('<div class="igv-track-menu-category">');return o.text("Display mode:"),t.push({name:void 0,object:o,click:void 0,init:void 0}),t.push({object:de(No("expand","EXPANDED"===this.alignmentTrack.displayMode)),click:()=>{this.alignmentTrack.displayMode="EXPANDED",this.config.displayMode="EXPANDED",this.trackView.checkContentHeight(),this.trackView.repaintViews()}}),t.push({object:de(No("squish","SQUISHED"===this.alignmentTrack.displayMode)),click:()=>{this.alignmentTrack.displayMode="SQUISHED",this.config.displayMode="SQUISHED",this.trackView.checkContentHeight(),this.trackView.repaintViews()}}),t}colorByCB(t,e){return{name:void 0,object:de(No(t.label,e)),click:e=>{t.key===this.alignmentTrack.colorBy?(this.alignmentTrack.colorBy="none",this.config.colorBy="none",this.trackView.repaintViews()):"tag"===t.key?this.browser.inputDialog.present({label:"Tag Name",value:this.alignmentTrack.colorByTag?this.alignmentTrack.colorByTag:"",callback:t=>{this.alignmentTrack.colorBy="tag",this.config.colorBy="tag",t!==this.alignmentTrack.colorByTag&&(this.alignmentTrack.colorByTag=t,this.config.colorByTag=t,this.alignmentTrack.tagColors=new gs("Set1"),de("#color-by-tag").text(self.alignmentTrack.colorByTag)),this.trackView.repaintViews()}},e):(this.alignmentTrack.colorBy=t.key,this.config.colorBy=t.key,this.trackView.repaintViews())},init:void 0}}dispose(){this.trackView=void 0}getState(){const t=super.getState();return this.sortObject&&(t.sort={chr:this.sortObject.chr,position:this.sortObject.position+1,option:this.sortObject.option,direction:this.sortObject.direction?"ASC":"DESC"}),t}getCachedAlignmentContainers(){return this.trackView.viewports.map((t=>t.getCachedFeatures()))}get dataRange(){return this.coverageTrack.dataRange}set dataRange(t){this.coverageTrack.dataRange=t}get logScale(){return this.coverageTrack.logScale}set logScale(t){this.coverageTrack.logScale=t}get autoscale(){return this.coverageTrack.autoscale}set autoscale(t){this.coverageTrack.autoscale=t}}class eu{constructor(t,e){this.parent=e,this.featureSource=e.featureSource,this.height=void 0!==t.coverageTrackHeight?t.coverageTrackHeight:50,this.paintAxis=th,this.top=0,this.autoscale=t.autoscale||void 0===t.max,this.autoscale||(this.dataRange={min:t.min||0,max:t.max})}draw(t){const e=t.pixelTop;t.pixelHeight;const n=this.parent.browser.nucleotideColors;if(e>this.height)return;const r=t.context,i=t.features.coverageMap;let o;i.refSeq&&(o=i.refSeq.toUpperCase());const s=t.bpPerPixel,a=t.bpStart,l=a+t.pixelWidth*s+1;let c=this.parent.coverageColor||"rgb(150, 150, 150)";void 0!==this.parent.color&&(c=no.darkenLighten(this.parent.color,-35)),ls.setProperties(r,{fillStyle:c,strokeStyle:c});const h=Math.max(1,Math.ceil(1/s));for(let t=0,e=i.coverage.length;t<e;t++){const e=i.bpStart+t;if(e<a)continue;if(e>l)break;const n=i.coverage[t];if(!n)continue;const o=Math.round(n.total/this.dataRange.max*this.height),c=this.height-o,u=Math.floor((e-a)/s);ls.fillRect(r,u,c,h,o)}if(o)for(let t=0,e=i.coverage.length;t<e;t++){const e=i.bpStart+t;if(e<a)continue;if(e>l)break;const c=i.coverage[t];if(!c)continue;const u=c.total/this.dataRange.max*this.height;let f=this.height-u;const d=Math.floor((e-a)/s),p=o[t];if(c.isMismatch(p)){ls.setProperties(r,{fillStyle:n[p]}),ls.fillRect(r,d,f,h,u);let t=0;for(let e of["A","C","T","G"]){const i=(c["pos"+e]+c["neg"+e])/this.dataRange.max*this.height;f=this.height-i-t,t+=i,ls.setProperties(r,{fillStyle:n[e]}),ls.fillRect(r,d,f,h,i)}}}}popupData(t){let e=t.viewport.getCachedFeatures();if(!e||0===e.length)return;let n=Math.floor(t.genomicLocation),r=t.viewport.referenceFrame,i=e.coverageMap,o=[],s=Math.floor(n-i.bpStart),a=i.coverage[s];if(a){o.push(r.chr+":"+ke(1+n)),o.push({name:"Total Count",value:a.total});let t=a.posA+a.negA;t>0&&(t=t.toString()+" ("+Math.round(t/a.total*100)+"%, "+a.posA+"+, "+a.negA+"- )"),o.push({name:"A",value:t}),t=a.posC+a.negC,t>0&&(t=t.toString()+" ("+Math.round(t/a.total*100)+"%, "+a.posC+"+, "+a.negC+"- )"),o.push({name:"C",value:t}),t=a.posG+a.negG,t>0&&(t=t.toString()+" ("+Math.round(t/a.total*100)+"%, "+a.posG+"+, "+a.negG+"- )"),o.push({name:"G",value:t}),t=a.posT+a.negT,t>0&&(t=t.toString()+" ("+Math.round(t/a.total*100)+"%, "+a.posT+"+, "+a.negT+"- )"),o.push({name:"T",value:t}),t=a.posN+a.negN,t>0&&(t=t.toString()+" ("+Math.round(t/a.total*100)+"%, "+a.posN+"+, "+a.negN+"- )"),o.push({name:"N",value:t}),o.push("<HR/>"),o.push({name:"DEL",value:a.del.toString()}),o.push({name:"INS",value:a.ins.toString()})}return o}}class nu{constructor(t,e){this.parent=e,this.browser=e.browser,this.featureSource=e.featureSource,this.top=0===t.coverageTrackHeight?0:t.coverageTrackHeight+5,this.displayMode=t.displayMode||"EXPANDED",this.alignmentRowHeight=t.alignmentRowHeight||14,this.squishedRowHeight=t.squishedRowHeight||3,this.negStrandColor=t.negStrandColor||"rgba(150, 150, 230, 0.75)",this.posStrandColor=t.posStrandColor||"rgba(230, 150, 150, 0.75)",this.insertionColor=t.insertionColor||"rgb(138, 94, 161)",this.deletionColor=t.deletionColor||"black",this.skippedColor=t.skippedColor||"rgb(150, 170, 170)",this.pairConnectorColor=t.pairConnectorColor,this.smallFragmentLengthColor=t.smallFragmentLengthColor||"rgb(0, 0, 150)",this.largeFragmentLengthColor=t.largeFragmentLengthColor||"rgb(200, 0, 0)",this.pairOrientation=t.pairOrienation||"fr",this.pairColors={},this.pairColors.RL=t.rlColor||"rgb(0, 150, 0)",this.pairColors.RR=t.rrColor||"rgb(20, 50, 200)",this.pairColors.LL=t.llColor||"rgb(0, 150, 150)",this.colorBy=t.colorBy||"pairOrientation",this.colorByTag=t.colorByTag?t.colorByTag.toUpperCase():void 0,this.bamColorTag=void 0===t.bamColorTag?"YC":t.bamColorTag,this.hideSmallIndels=t.hideSmallIndels,this.indelSizeThreshold=t.indelSizeThreshold||1,this.hasPairs=!1}setTop(t,e){this.top=0===t.height||!1===e?0:5+t.height}computePixelHeight(t){if(t.packedAlignmentRows){return(t.hasDownsampledIntervals()?10:0)+("SQUISHED"===this.displayMode?this.squishedRowHeight:this.alignmentRowHeight)*t.packedAlignmentRows.length+5}return 0}draw(t){const e=t.features,n=t.context,r=t.bpPerPixel,i=t.bpStart,o=t.pixelWidth,s=i+o*r+1,a=e.packedAlignmentRows,l=this.parent.showSoftClips,c=this.parent.showAllBases,h=this.browser.nucleotideColors;n.save();let u=e.sequence;u&&(u=u.toUpperCase());let f=0,d=t.pixelTop;this.top&&n.translate(0,this.top);const p=d+t.pixelHeight;e.hasDownsampledIntervals()?(f=10,e.downsampledIntervals.forEach((function(t){var e=(t.start-i)/r,o=(t.end-i)/r;o-e>5&&(e+=1,o-=1),ls.fillRect(n,e,2,o-e,3,{fillStyle:"black"})}))):f=0,this.alignmentsYOffset=f;const g="SQUISHED"===this.displayMode?this.squishedRowHeight:this.alignmentRowHeight;if(a){const t=a.length;for(let e=0;e<t;e++){const t=a[e],n=f+g*e,r=g<=4?g:g-2;if(n>p)break;if(!(n+r<d))for(let e of t.alignments)if(this.hasPairs=this.hasPairs||e.isPaired(),!(e.start+e.lengthOnRef<i)){if(e.start>s)break;!0!==e.hidden&&(e instanceof lh?(m.call(this,e,n,r),v.call(this,e.firstAlignment,n,r),e.secondAlignment&&v.call(this,e.secondAlignment,n,r)):v.call(this,e,n,r))}}}function m(t,e,o){var a=this.getConnectorColor(t.firstAlignment),l=(t.connectingStart-i)/r,c=(t.connectingEnd-i)/r,h=e+o/2;t.connectingEnd<i||t.connectingStart>s||(t.mq<=0&&(a=no.addAlpha(a,.15)),ls.setProperties(n,{fillStyle:a,strokeStyle:a}),ls.strokeLine(n,l,h,c,h))}function v(t,o,a){if(t.start+t.lengthOnRef<i||t.start>s)return;const f=l?t.blocks:t.blocks.filter((t=>"S"!==t.type));let d=this.getAlignmentColor(t);const p=d;t.mq<=0&&(d=no.addAlpha(d,.15)),ls.setProperties(n,{fillStyle:d,strokeStyle:p});for(let t=0;t<f.length;t++){const e=f[t];if(!(t!==f.length-1&&f[t+1].start<i)&&(m.call(this,e,t),e.start+e.len>s))break}if(t.insertions){let e=-1;for(let l of t.insertions){if(this.hideSmallIndels&&l.len<=this.indelSizeThreshold)continue;if(l.start<i)continue;if(l.start>s)break;const t=(l.start-i)/r-1;if(t-e>2){const r=3;ls.fillRect(n,t,o-1,r,a+2,{fillStyle:this.insertionColor}),e=t}}}if(t.gaps){const e=o+a/2;for(let o of t.gaps){const t=(o.start-i)/r,s=(o.start+o.len-i)/r,a="D"===o.type?this.deletionColor:this.skippedColor;ls.strokeLine(n,t,e,s,e,{strokeStyle:a})}}function m(s,l){const m=s.start-e.start,b=(s.start-i)/r,w=(s.start+s.len-i)/r,y=Math.max(1,w-b),x=g/2,_="S"===s.type,k=t.mq<=0||this.highlightedAlignmentReadNamed===t.readName||_;let S=p;this.highlightedAlignmentReadNamed===t.readName?S="red":_&&(S="rgb(50,50,50)");const C=!0===t.strand&&l===f.length-1,E=!1===t.strand&&0===l;if(C|E){let t,e;C?(t=[b,w,w+x,w,b,b],e=[o,o,o+a/2,o+a,o+a,o]):E&&(t=[w,b,b-x,b,w,w],e=[o,o,o+a/2,o+a,o+a,o]),ls.fillPolygon(n,t,e,{fillStyle:d}),k&&ls.strokePolygon(n,t,e,{strokeStyle:S})}else ls.fillRect(n,b,o,y,a,{fillStyle:d}),k&&(n.save(),n.strokeStyle=S,n.strokeRect(b,o,y,a),n.restore());if(this.parent.showMismatches&&(_||c||u&&t.seq&&"*"!==t.seq)){const e=t.seq?t.seq.toUpperCase():void 0,l=t.qual,f=s.seqOffset;for(let t=0,d=s.len;t<d;t++){if(m+t<0)continue;let d=e?e.charAt(f+t):"";const p=u.charAt(m+t);if("="===d&&(d=p),"X"===d||p!==d||_||c){let e;if(!_&&void 0!==l&&l.length>f+t){e=iu(l[f+t],h[d])}else e=h[d];if(e){const l=(s.start+t-i)/r,c=Math.max(1,1/r);v(n,r,{x:l,y:o,width:c,height:a},e,d)}}}}}function v(t,e,n,r,i){var o;if(.1,e<=.1&&n.height>=8){const e=Math.min(10,n.height);t.font=e+"px sans-serif",o=n.x+n.width/2,ls.strokeText(t,i,o-t.measureText(i).width/2,e-1+n.y,{strokeStyle:r})}else ls.fillRect(t,n.x,n.y,n.width,n.height,{fillStyle:r})}}n.restore()}popupData(t){const e=this.getClickedObject(t.viewport,t.y,t.genomicLocation);return e?e.popupData(t.genomicLocation):void 0}contextMenuItemList(t){const e=t.viewport,n=[],r=n=>{const r=this.parent.sortObject,i=!r||r.position!==Math.floor(t.genomicLocation)||!r.direction,o={chr:e.referenceFrame.chr,position:Math.floor(t.genomicLocation),option:n,direction:i};this.parent.sortObject=o,ru(o,e.getCachedFeatures()),e.repaint()};n.push("<b>Sort by...</b>"),n.push({label:"&nbsp; base",click:()=>r("BASE")}),n.push({label:"&nbsp; read strand",click:()=>r("STRAND")}),n.push({label:"&nbsp; insert size",click:()=>r("INSERT_SIZE")}),n.push({label:"&nbsp; gap size",click:()=>r("GAP_SIZE")}),n.push({label:"&nbsp; chromosome of mate",click:()=>r("MATE_CHR")}),n.push({label:"&nbsp; mapping quality",click:()=>r("MQ")}),n.push({label:"&nbsp; read name",click:()=>r("READ_NAME")}),n.push({label:"&nbsp; tag",click:()=>{const n=this.parent.sortObject,r=!n||n.position!==Math.floor(t.genomicLocation)||!n.direction,i={label:"Tag Name",value:this.sortByTag?this.sortByTag:"",callback:n=>{if(n){const i={chr:e.referenceFrame.chr,position:Math.floor(t.genomicLocation),option:"TAG",tag:n,direction:r};this.sortByTag=n,this.parent.sortObject=i,ru(i,e.getCachedFeatures()),e.repaint()}}};this.browser.inputDialog.present(i,t.event)}}),n.push("<hr/>");const i=this.getClickedObject(e,t.y,t.genomicLocation);if(i){const e=this.parent.showSoftClips,r="function"==typeof i.alignmentContaining?i.alignmentContaining(t.genomicLocation,e):i;r.isPaired()&&r.isMateMapped()&&n.push({label:"View mate in split screen",click:()=>{if(r.mate){const e=t.viewport.referenceFrame;this.browser.genome.getChromosome(r.mate.chr)?(this.highlightedAlignmentReadNamed=r.readName,this.browser.presentMultiLocusPanel(r,e)):Ko.presentAlert(`Reference does not contain chromosome: ${r.mate.chr}`)}},init:void 0}),n.push({label:"View read sequence",click:()=>{if(!r)return;const t=r.seq;t&&"*"!==t?Ko.presentAlert(t):Ko.presentAlert("Read sequence: *")}}),n.push({label:"Copy read sequence",click:()=>{if(!r)return;const t=r.seq;navigator.clipboard.writeText(t)}}),n.push("<hr/>")}return n}getClickedObject(t,e,n){const r=this.parent.showSoftClips;let i=t.getCachedFeatures();if(!i||0===i.length)return;let o=i.packedAlignmentRows,s=i.downsampledIntervals;const a="SQUISHED"===this.displayMode?this.squishedRowHeight:this.alignmentRowHeight;let l=Math.floor((e-this.top-this.alignmentsYOffset)/a);if(l<0){for(let t=0;t<s.length;t++)if(s[t].start<=n&&s[t].end>=n)return s[t]}else if(l<o.length){const t=o[l].alignments.filter((t=>t.containsLocation(n,r)));if(t.length>0)return t[0]}}getConnectorColor(t){if(this.pairConnectorColor)return this.pairConnectorColor;switch(this.colorBy){case"strand":case"firstOfPairStrand":case"pairOrientation":case"tag":return this.parent.color||"rgb(200, 200, 200)";default:return this.getAlignmentColor(t)}}getAlignmentColor(t){let e=this.parent.color||"rgb(185, 185, 185)";switch(this.colorBy){case"strand":e=t.strand?this.posStrandColor:this.negStrandColor;break;case"firstOfPairStrand":t instanceof lh?e=t.firstOfPairStrand()?this.posStrandColor:this.negStrandColor:t.isPaired()&&(t.isFirstOfPair()?e=t.strand?this.posStrandColor:this.negStrandColor:t.isSecondOfPair()?e=t.strand?this.negStrandColor:this.posStrandColor:console.error("ERROR. Paired alignments are either first or second."));break;case"pairOrientation":if(t.mate&&t.isMateMapped()&&t.mate.chr!==t.chr)e=su(t.mate.chr);else if(this.pairOrientation&&t.pairOrientation){var n=ou[this.pairOrientation];if(n){var r=this.pairColors[n[t.pairOrientation]];r&&(e=r)}}break;case"fragmentLength":t.mate&&t.isMateMapped()&&t.mate.chr!==t.chr?e=su(t.mate.chr):this.parent.minFragmentLength&&Math.abs(t.fragmentLength)<this.parent.minFragmentLength?e=this.smallFragmentLengthColor:this.parent.maxFragmentLength&&Math.abs(t.fragmentLength)>this.parent.maxFragmentLength&&(e=this.largeFragmentLengthColor);break;case"tag":const i=t.tags()[this.colorByTag];void 0!==i&&(this.bamColorTag===this.colorByTag?e="rgb("+i+")":(this.tagColors||(this.tagColors=new gs("Set1")),e=this.tagColors.getColor(i)));break;default:e=this.parent.color||"rgb(185, 185, 185)"}return e}}function ru(t,e){const n=t.direction;for(let n of e.packedAlignmentRows)n.updateScore(t,e);e.packedAlignmentRows.sort((function(t,e){const r=t.score>e.score?1:t.score<e.score?-1:0;return!0===n?r:-r}))}function iu(t,e){let n;return n=t<5?.1:Math.max(.1,Math.min(1,.1+.9*(t-5)/15)),n=Math.round(10*n)/10,n<1&&(e=no.addAlpha(e,n)),e}const ou={fr:{F1R2:"LR",F2R1:"LR",F1F2:"LL",F2F1:"LL",R1R2:"RR",R2R1:"RR",R1F2:"RL",R2F1:"RL"},rf:{R1F2:"LR",R2F1:"LR",R1R2:"LL",R2R1:"LL",F1F2:"RR",F2F1:"RR",F1R2:"RL",F2R1:"RL"},ff:{F2F1:"LR",R1R2:"LR",F2R1:"LL",R1F2:"LL",R2F1:"RR",F1R2:"RR",R2R1:"RL",F1F2:"RL"}};function su(t){if(au[t])return au[t];if(au["chr"+t]){const e=au["chr"+t];return au[t]=e,e}{const e=no.randomRGB();return au[t]=e,e}}const au={chrX:"rgb(204, 153, 0)",chrY:"rgb(153, 204, 0",chrUn:"rgb(50, 50, 50)",chr1:"rgb(80, 80, 255)",chrI:"rgb(139, 155, 187)",chr2:"rgb(206, 61, 50)",chrII:"rgb(206, 61, 50)",chr2a:"rgb(216, 71, 60)",chr2b:"rgb(226, 81, 70)",chr3:"rgb(116, 155, 88)",chrIII:"rgb(116, 155, 88)",chr4:"rgb(240, 230, 133)",chrIV:"rgb(240, 230, 133)",chr5:"rgb(70, 105, 131)",chr6:"rgb(186, 99, 56)",chr7:"rgb(93, 177, 221)",chr8:"rgb(128, 34, 104)",chr9:"rgb(107, 215, 107)",chr10:"rgb(213, 149, 167)",chr11:"rgb(146, 72, 34)",chr12:"rgb(131, 123, 141)",chr13:"rgb(199, 81, 39)",chr14:"rgb(213, 143, 92)",chr15:"rgb(122, 101, 165)",chr16:"rgb(228, 175, 105)",chr17:"rgb(59, 27, 83)",chr18:"rgb(205, 222, 183)",chr19:"rgb(97, 42, 121)",chr20:"rgb(174, 31, 99)",chr21:"rgb(231, 199, 111)",chr22:"rgb(90, 101, 94)",chr23:"rgb(204, 153, 0)",chr24:"rgb(153, 204, 0)",chr25:"rgb(51, 204, 0)",chr26:"rgb(0, 204, 51)",chr27:"rgb(0, 204, 153)",chr28:"rgb(0, 153, 204)",chr29:"rgb(10, 71, 255)",chr30:"rgb(71, 117, 255)",chr31:"rgb(255, 194, 10)",chr32:"rgb(255, 209, 71)",chr33:"rgb(153, 0, 51)",chr34:"rgb(153, 26, 0)",chr35:"rgb(153, 102, 0)",chr36:"rgb(128, 153, 0)",chr37:"rgb(51, 153, 0)",chr38:"rgb(0, 153, 26)",chr39:"rgb(0, 153, 102)",chr40:"rgb(0, 128, 153)",chr41:"rgb(0, 51, 153)",chr42:"rgb(26, 0, 153)",chr43:"rgb(102, 0, 153)",chr44:"rgb(153, 0, 128)",chr45:"rgb(214, 0, 71)",chr46:"rgb(255, 20, 99)",chr47:"rgb(0, 214, 143)",chr48:"rgb(20, 255, 177)"};class lu extends bl{constructor(t,e){super(t,e)}init(t){super.init(t),this.theta=t.theta||Math.PI/4,this.sinTheta=Math.sin(this.theta),this.cosTheta=Math.cos(this.theta),this.height=t.height||250,this.arcType=t.arcType||"nested",this.arcOrientation=void 0===t.arcOrientation||t.arcOrientation,this.showBlocks=void 0===t.showBlocks||t.showBlocks,this.blockHeight=t.blockHeight||3,this.thickness=t.thickness||1,this.color=t.color||"rgb(180,25,137)",this.alpha=t.alpha||.15,t.valueColumn?(this.valueColumn=t.valueColumn,this.hasValue=!0):t.useScore&&(this.hasValue=!0,this.valueColumn="score"),this.logScale=!1!==t.logScale,t.max?(this.dataRange={min:t.min||0,max:t.max},this.autoscale=!1):this.autoscale=!0,this.featureSource=zc(t,this.browser.genome),this.featureSource.getWGFeatures=du}async postInit(){return"function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader()),this.header&&this.setTrackProperties(this.header),void 0===this.visibilityWindow&&"function"==typeof this.featureSource.defaultVisibilityWindow&&(this.visibilityWindow=await this.featureSource.defaultVisibilityWindow(),this.featureSource.visibilityWindow=this.visibilityWindow),this}supportsWholeGenome(){return!0}async getFeatures(t,e,n){const r=this.visibilityWindow,i=await this.featureSource.getFeatures({chr:t,start:e,end:n,visibilityWindow:r});return void 0===this.hasValue&&i&&i.length>0&&(this.hasValue=void 0!==i[0].score),i}draw(t){"proportional"===this.arcType?this.drawProportional(t):this.drawNested(t)}drawNested(t){const e=t.context,n=t.pixelWidth,r=t.pixelHeight,i=t.viewportWidth,o=t.bpPerPixel,s=t.bpStart,a=o;ls.fillRect(e,0,t.pixelTop,n,r,{fillStyle:"rgb(255, 255, 255)"});const l=t.features;if(l){(function(){let t=0;for(let e of l){let r=(e.start-s)/a,i=(e.end-s)/a;i>=0&&r<=n&&(t=Math.max(t,i-r))}let e=Math.min(i,t)/2;if(t>0){let t=(r-10)/e;this.theta=function(t){let e,n=[.01570925532366355,.15838444032453644,.3249196962329063,.5095254494944288,.7265425280053609,.9999999999999999],r=[.031415926535897934,.3141592653589793,.6283185307179586,.9424777960769379,1.2566370614359172,1.5707963267948966];for(e=0;e<n.length&&!(n[e]>t);e++);let i=0===e?0:n[e-1],o=e<n.length?n[e]:1,s=(t-i)/(o-i),a=0===e?0:r[e-1],l=e<r.length?r[e]:Math.PI/2;return a+s*(l-a)}(t),this.sinTheta=Math.sin(this.theta),this.cosTheta=Math.cos(this.theta)}}).call(this);const o=this.arcOrientation?t.pixelHeight:0,h=this.arcOrientation;e.font="8px sans-serif",e.textAlign="center";for(let t of l){let r=t.color||this.color;if(r&&this.config.useScore&&(r=fu(r,(c=t.score,Math.min(1,.11+c/779*.89).toString()))),e.lineWidth=t.thickness||this.thickness||1,t.chr1===t.chr2||"all"===t.chr){const{m1:l,m2:c}=cu(t,this.browser.genome);let u=Math.round((l-s)/a),f=Math.round((c-s)/a);if(f<0||u>n)continue;let d=f-u;d<3&&(d=3,u--);const p=d/2,g=p/this.sinTheta,m=this.cosTheta*g,v=u+p;let b,w,y;if(h?(b=this.height+m,w=Math.PI+Math.PI/2-this.theta,y=Math.PI+Math.PI/2+this.theta):(b=-m,w=Math.PI/2-this.theta,y=Math.PI/2+this.theta),this.showBlocks&&"all"!==t.chr){const n=(t.start1-s)/a,r=(t.end1-s)/a,i=(t.start2-s)/a,l=(t.end2-s)/a,c=this.arcOrientation?-this.blockHeight:this.blockHeight;e.fillRect(n,o,r-n,c),e.fillRect(i,o,l-i,c)}r&&!this.config.useScore&&d>i&&(r=fu(r,this.alpha)),e.strokeStyle=r,e.fillStyle=r,e.beginPath(),e.arc(v,b,g,w,y,!1),e.stroke(),t.drawState={xc:v,yc:b,r:g}}else{let i=Math.round((t.start-s)/a),o=Math.round((t.end-s)/a);if(o<0||i>n)continue;let l=o-i;l<3&&(l=3,i--);const c=t.chr===t.chr1?t.chr2:t.chr1;e.strokeStyle=r,e.fillStyle=r,h?(e.fillRect(i,this.height/2,l,this.height/2),e.fillText(c,i+l/2,this.height/2-5),t.drawState={x:i,y:this.height/2,w:l,h:this.height/2}):(e.fillRect(i,0,l,this.height/2),e.fillText(c,i+l/2,this.height/2+13),t.drawState={x:i,y:0,w:l,h:this.height/2})}}}var c}drawProportional(t){const e=t.context,n=t.pixelWidth,r=t.pixelHeight,i=t.bpPerPixel,o=t.bpStart,s=i;ls.fillRect(e,0,t.pixelTop,n,r,{fillStyle:"rgb(255, 255, 255)"});const a=t.features;if(a&&a.length>0){const r=this.logScale?t.pixelHeight/Math.log10(this.dataRange.max+1):t.pixelHeight/(this.dataRange.max-this.dataRange.min),i=this.arcOrientation?t.pixelHeight:0;for(let t of a){const a=this.valueColumn?t[this.valueColumn]:t.score;if(void 0===a||Number.isNaN(a))continue;const l=this.logScale?Math.log10(a+1)*r:a*r;if(t.chr1===t.chr2||"all"===t.chr){const{m1:r,m2:c}=cu(t,this.browser.genome);let h=(r-o)/s,u=(c-o)/s,f=u-h;if(f<3&&(f=3,h--),u<0||h>n||a<this.dataRange.min)continue;const d=f/2,p=h+f/2,g=!!this.arcOrientation,m=t.color||this.color;if(e.strokeStyle=m,e.lineWidth=t.thickness||this.thickness||1,!0===e.isSVG?e.strokeEllipse(p,i,d,l,0,0,Math.PI,g):(e.beginPath(),e.ellipse(p,i,d,l,0,0,Math.PI,g),e.stroke()),this.showBlocks&&"all"!==t.chr){e.fillStyle=m;const n=(t.start1-o)/s,r=(t.end1-o)/s,a=(t.start2-o)/s,l=(t.end2-o)/s,c=this.arcOrientation?-this.blockHeight:this.blockHeight;e.fillRect(n,i,r-n,c),e.fillRect(a,i,l-a,c)}this.alpha&&(e.fillStyle=fu(m,this.alpha),!0===e.isSVG?e.fillEllipse(p,i,d,l,0,0,Math.PI,g):e.fill()),t.drawState={xc:p,yc:i,radiusX:d,radiusY:l}}else{let r=Math.round((t.start-o)/s),i=Math.round((t.end-o)/s);if(i<0||r>n||a<this.dataRange.min)continue;const c=Math.min(l,this.height-13);let h=i-r;h<3&&(h=3,r--);const u=t.chr===t.chr1?t.chr2:t.chr1;if(e.font="8px sans-serif",e.textAlign="center",this.arcOrientation){const n=this.height-c;e.fillRect(r,n,h,c),e.fillText(u,r+h/2,n-5),t.drawState={x:r,y:n,w:h,h:c}}else e.fillRect(r,0,h,c),e.fillText(u,r+h/2,c+13),t.drawState={x:r,y:0,w:h,h:c}}}}}menuItemList(){let t=[{name:"Set track color",click:()=>{this.trackView.presentColorPicker()}},"<HR/>"];if(this.hasValue){const e={nested:"Nested Arcs",proportional:"Proportional Arcs"};for(let n of["nested","proportional"])t.push({object:de(No(e[n],n===this.arcType)),click:()=>{this.arcType=n,this.trackView.repaintViews()}})}return t.push({object:de(No("Show Blocks",this.showBlocks)),click:()=>{this.showBlocks=!this.showBlocks,this.trackView.repaintViews()}}),t.push({name:"Toggle arc direction",click:()=>{this.arcOrientation=!this.arcOrientation,this.trackView.repaintViews()}}),"proportional"===this.arcType&&(t.push("<HR>"),t=t.concat(Po.numericDataMenuItems(this.trackView))),t}doAutoscale(t){let e=0;if(t)for(let n of t){const t=this.valueColumn?n[this.valueColumn]:n.score;Number.isNaN(t)||(e=Math.max(e,t))}return{min:0,max:e}}popupData(t,e){e=this.clickedFeatures(t);const n=[];for(let t of e){const e=t._||t;if(n.push({name:"Region 1",value:hu(e.chr1,e.start1,e.end1,e.strand1)}),n.push({name:"Region 2",value:hu(e.chr2,e.start2,e.end2,e.strand2)}),e.name&&n.push({name:"Name",value:e.name}),void 0!==e.value&&n.push({name:"Value",value:e.value}),void 0!==e.score&&n.push({name:"Score",value:e.score}),e.extras&&this.header&&this.header.columnNames){const t=this.header.columnNames;for(let r=10;r<t.length;r++)"info"===t[r]?pu(n,e.extras[r-10]):n.push({name:t[r],value:e.extras[r-10]})}break}return n}clickedFeatures(t,e){const n=e||t.viewport.getCachedFeatures(),r=[];if(n){const e="proportional"===this.arcType;for(let i of n)if(i.drawState)if(i.chr1===i.chr2||"all"===i.chr)if(e){const{xc:e,yc:n,radiusX:o,radiusY:s}=i.drawState,a=t.canvasX-e,l=t.canvasY-n,c=a/o*(a/o)+l/s*(l/s);c<=1&&r.push({score:1/c,feature:i})}else{const{xc:e,yc:n,r:o}=i.drawState,s=t.canvasX-e,a=t.canvasY-n,l=Math.abs(Math.sqrt(s*s+a*a)-o);l<5&&r.push({score:l,feature:i})}else{const{x:e,y:n,w:o,h:s}=i.drawState,a=5;if(t.canvasX>=e-a&&t.canvasX<=e+o+a&&t.canvasY>=n&&t.canvasY<=n+s){const n=-Math.abs(t.canvasX-(e+o/2));r.push({score:n,feature:i});break}}}return r.length>1&&r.sort(((t,e)=>t.score-e.score)),r.map((t=>t.feature))}}function cu(t,e){let n=(t.start1+t.end1)/2,r=(t.start2+t.end2)/2;if("all"===t.chr&&(n=e.getGenomeCoordinate(t.chr1,n),r=e.getGenomeCoordinate(t.chr2,r)),n>r){const t=n;n=r,r=t}return{m1:n,m2:r}}function hu(t,e,n,r){return r&&"."!==r?`${t}:${ke(e+1)}-${ke(n)} (${r})`:`${t}:${ke(e+1)}-${ke(n)}`}const uu=new Map;function fu(t,e){const n=`${t}_${e}`;let r=uu.get(n);return r||(r=no.addAlpha(t,e),uu.set(n,r)),r}function du(t){const e=this.genome,n=[];for(let r of e.wgChromosomeNames){const i=t[r];if(i)for(let t of i)if(!t.dup){const r=Object.assign({},t);r.chr="all",r.start=e.getGenomeCoordinate(t.chr1,t.start1),r.end=e.getGenomeCoordinate(t.chr2,t.end2),n.push(r)}}return n}function pu(t,e){const n=e.split(";");for(let e of n){const n=e.split("=");2===n.length&&t.push({name:n[0],value:n[1]})}}const gu=_e;class mu extends bl{constructor(t,e){super(t,e)}init(t){super.init(t),this.visibilityWindow=t.visibilityWindow,this.displayMode=t.displayMode||"EXPANDED",this.labelDisplayMode=t.labelDisplayMode,this.expandedVariantHeight=t.expandedVariantHeight||t.variantHeight||10,this.squishedVariantHeight=t.squishedVariantHeight||2,this.squishedCallHeight=t.squishedCallHeight||1,this.expandedCallHeight=t.expandedCallHeight||10,this.expandedVGap=void 0!==t.expandedVGap?t.expandedVGap:2,this.squishedVGap=void 0!==t.squishedVGap?t.squishedVGap:1,this.expandedGroupGap=t.expandedGroupGap||10,this.squishedGroupGap=t.squishedGroupGap||5,this.featureHeight=t.featureHeight||14,this.visibilityWindow=t.visibilityWindow,this.featureSource=zc(t,this.browser.genome),this.noGenotypeColor=t.noGenotypeColor||"rgb(200,180,180)",this.noCallColor=t.noCallColor||"rgb(225, 225, 225)",this.nonRefColor=t.nonRefColor||"rgb(200, 200, 215)",this.mixedColor=t.mixedColor||"rgb(200, 220, 200)",this.homrefColor=t.homrefColor||"rgb(200, 200, 200)",this.homvarColor=t.homvarColor||"rgb(17,248,254)",this.hetvarColor=t.hetvarColor||"rgb(34,12,253)",this.sortDirection="ASC",this.type=t.type||"variant",this.colorBy=t.colorBy,this._initColorBy=t.colorBy,t.colorTable&&(this.colorTables=new Map,this.colorTables.set(t.colorBy,new ms(t.colorTable))),this._color=t.color,this.showGenotypes=void 0===t.showGenotypes||t.showGenotypes,this.variantRowCount(1)}async postInit(){if(this.header=await this.getHeader(),void 0===this.visibilityWindow&&!1!==this.config.indexed){const t=je(this.config.url)?this.config.url.name:this.config.url;if(gu(t)&&t.toLowerCase().includes("gnomad"))this.visibilityWindow=1e3;else if(this.callSets){const t=this.callSets.length;this.visibilityWindow=Math.max(1e3,1e6-1e4*t)}else this.visibilityWindow=1e6}return this}supportsWholeGenome(){return!1===this.config.indexed&&!1!==this.config.supportsWholeGenome}get color(){return this._color}set color(t){this._color=t,this.colorBy=void 0}async getHeader(){if(!this.header){if("function"==typeof this.featureSource.getHeader){const t=await this.featureSource.getHeader();t&&(this.callSets=t.callSets||[]),this.header=t}this.sampleNames=this.callSets?this.callSets.map((t=>t.name)):[]}return this.header}getCallsetsLength(){return this.callSets?this.callSets.length:0}async getFeatures(t,e,n,r){return void 0===this.header&&(this.header=await this.getHeader()),this.featureSource.getFeatures({chr:t,start:e,end:n,bpPerPixel:r,visibilityWindow:this.visibilityWindow})}hasSamples(){return this.getCallsetsLength()>0}getSamples(){return{yOffset:this.sampleYOffset,names:this.sampleNames,height:this.sampleHeight}}computePixelHeight(t){if(!t||0==t.length)return 10;const e="COLLAPSED"===this.displayMode?1:this.nVariantRows,n="SQUISHED"===this.displayMode?this.squishedVGap:this.expandedVGap,r="SQUISHED"===this.displayMode?this.squishedVariantHeight:this.expandedVariantHeight,i="SQUISHED"===this.displayMode?this.squishedCallHeight:this.expandedCallHeight;return 10+e*(r+n)+n+((!1===this.showGenotypes?0:this.getCallsetsLength()*e)+1)*(i+n)}variantRowCount(t){this.nVariantRows=t}draw({context:t,pixelWidth:e,pixelHeight:n,bpPerPixel:r,bpStart:i,pixelTop:o,features:s}){ls.fillRect(t,0,o,e,n,{fillStyle:"rgb(255, 255, 255)"});const a="SQUISHED"===this.displayMode?this.squishedVGap:this.expandedVGap,l="COLLAPSED"===this.displayMode?1:this.nVariantRows,c="SQUISHED"===this.displayMode?this.squishedVariantHeight:this.expandedVariantHeight;this.variantBandHeight=10+l*(c+a);const h=this.callSets,u=this.getCallsetsLength();if(h&&u>0&&!1!==this.showGenotypes&&ls.strokeLine(t,0,this.variantBandHeight,e,this.variantBandHeight,{strokeStyle:"rgb(224,224,224) "}),s){const n="SQUISHED"===this.displayMode?this.squishedCallHeight:this.expandedCallHeight,o="SQUISHED"===this.displayMode?this.squishedVGap:this.expandedVGap,a=i+e*r+1;for(let e of s){if(e.end<i)continue;if(e.start>a)break;const s="SQUISHED"===this.displayMode?this.squishedVariantHeight:this.expandedVariantHeight,l=10+("COLLAPSED"===this.displayMode?0:e.row*(s+o)),c=s;let f=Math.round((e.start-i)/r),d=Math.round((e.end-i)/r),p=Math.max(1,d-f);if(p<3?(p=3,f-=1):p>5&&(f+=1,p-=2),t.fillStyle=this.getVariantColor(e),t.fillRect(f,l,p,c),e.pixelRect={x:f,y:l,w:p,h:c},u>0&&!1!==this.showGenotypes){const r="COLLAPSED"===this.displayMode?1:this.nVariantRows;this.sampleYOffset=this.variantBandHeight+o,this.sampleHeight=r*(n+o);let i=0;for(let r of h){const s=e.calls[r.id];if(s){const a="COLLAPSED"===this.displayMode?0:e.row,l=this.sampleYOffset+i*this.sampleHeight+a*(n+o);let c=!0,h=!0,u=!1;if(s.genotype)for(let t of s.genotype){if("."===t){u=!0;break}0!==t&&(h=!1),0===t&&(c=!1)}s.genotype?t.fillStyle=u?this.noCallColor:h?this.homrefColor:c?this.homvarColor:this.hetvarColor:t.fillStyle=this.noGenotypeColor,t.fillRect(f,l,p,n),r.pixelRect={x:f,y:l,w:p,h:n}}i++}}}}else console.log("No feature list")}getVariantColor(t){let e;if(this.colorBy){const n=t.info[this.colorBy];e=this.getVariantColorTable(this.colorBy).getColor(n),e||(e="gray")}else e=this._color?"function"==typeof this._color?this._color(t):this._color:"NONVARIANT"===t.type?this.nonRefColor:"MIXED"===t.type?this.mixedColor:this.defaultColor;return e}popupData(t,e){e=this.clickedFeatures(t,e);const n=t.genomicLocation,r=this.browser.genome.id,i=this.browser.sampleInformation,o="EXPANDED"===this.displayMode?this.expandedVGap:this.squishedVGap,s=o+("SQUISHED"===this.displayMode?this.squishedCallHeight:this.expandedCallHeight),a=t.y;let l,c;if(a<=this.variantBandHeight){const t="SQUISHED"===this.displayMode?this.squishedVariantHeight:this.expandedVariantHeight;l=Math.floor((a-10)/(t+o)),c=-1}else{const t=a-this.variantBandHeight;c=Math.floor(t/this.sampleHeight),l=Math.floor((t-c*this.sampleHeight)/s)}const h=e.filter((t=>t.row===l));let u=[];for(let t of h)if(u.length>0&&u.push({html:'<hr style="border-top-width:2px ;border-color: #c9c3ba" />'}),a<=this.variantBandHeight){const e=t.popupData(n);Array.prototype.push.apply(u,e)}else{const e=this.callSets;if(e&&t.calls&&c>=0&&c<e.length){const n=e[c],o=t.calls[n.id];Array.prototype.push.apply(u,f(o,t,r,i))}}return u;function f(t,e,n,r){let i=[];if(void 0!==t.callSetName&&i.push({name:"Name",value:t.callSetName}),t.genotype){let n="";if("."===e.alternateBases)n="No Call";else{const r=e.alternateBases.split(",");for(let i of t.genotype)if(n.length>0&&(n+="|"),"."===i)n+=".";else if(0===i)n+=e.referenceBases;else{n+=r[i-1].replace("<","&lt;")}}i.push({name:"Genotype",value:n})}if(void 0!==t.phaseset&&i.push({name:"Phase set",value:t.phaseset}),void 0!==t.genotypeLikelihood&&i.push({name:"genotypeLikelihood",value:t.genotypeLikelihood.toString()}),r){var o=r.getAttributes(t.callSetName);o&&Object.keys(o).forEach((function(t){var e=t.replace(/([A-Z])/g," $1");e=e.charAt(0).toUpperCase()+e.slice(1),i.push({name:e,value:o[t]})}))}var s=Object.keys(t.info);return s.length&&i.push("<hr/>"),s.forEach((function(e){i.push({name:e,value:decodeURIComponent(t.info[e])})})),i}}menuItemList(){const t=[];if(this.header.INFO&&this.header.INFO){const e=this.header.INFO.SVTYPE?["SVTYPE"]:[];if(this._initColorBy&&"SVTYPE"!==this._initColorBy&&e.push(this._initColorBy),e.length>0){t.push("<hr/>");const n=de('<div class="igv-track-menu-category igv-track-menu-border-top">');n.text("Color by:"),t.push({name:void 0,object:n,click:void 0,init:void 0}),e.sort();for(let n of e){const e=this.colorBy===n,r=n||"None";t.push(this.colorByCB({key:n,label:r},e))}t.push(this.colorByCB({key:void 0,label:"None"},void 0===this.colorBy)),t.push("<hr/>")}}this.getCallsetsLength()>0&&(t.push({object:de('<div class="igv-track-menu-border-top">')}),t.push({object:de(No("Show Genotypes",this.showGenotypes)),click:()=>{this.showGenotypes=!this.showGenotypes,this.trackView.checkContentHeight(),this.trackView.repaintViews()}})),t.push({object:de('<div class="igv-track-menu-border-top">')});for(let e of["COLLAPSED","SQUISHED","EXPANDED"]){t.push({object:de(No({COLLAPSED:"Collapse",SQUISHED:"Squish",EXPANDED:"Expand"}[e],e===this.displayMode)),click:()=>{this.displayMode=e,this.trackView.checkContentHeight(),this.trackView.repaintViews()}})}return t}colorByCB(t,e){return{name:void 0,object:de(No(t.label,e)),click:()=>{t.key===this.colorBy?(this.colorBy=void 0,delete this.config.colorBy,this.trackView.repaintViews()):(this.colorBy=t.key,this.config.colorBy=t.key,this.trackView.repaintViews())},init:void 0}}getState(){const t=super.getState();return this._color&&"function"!=typeof this._color&&(t.color=this._color),t}getVariantColorTable(t){if(this.colorTables||(this.colorTables=new Map),!this.colorTables.has(t)){let e;if("SVTYPE"===t)e=vu;else e=new gs("Set1");this.colorTables.set(t,e)}return this.colorTables.get(t)}}const vu=new ms({DEL:"#ff2101",INS:"#001888",DUP:"#028401",INV:"#008688",CNV:"#8931ff",BND:"#891100","*":"#002eff"});class bu extends bl{constructor(t,e){super(t,e)}init(t){super.init(t),this.name=t.name,this.pValueField=t.pValueField||"pValue",this.geneField=t.geneField||"geneSymbol",this.snpField=t.snpField||"snp";const e=t.minLogP||t.min,n=t.maxLogP||t.max;this.dataRange={min:e||3.5,max:n||25},this.autoscale=!n||t.autoscale,this.autoscalePercentile=void 0===t.autoscalePercentile?98:t.autoscalePercentile,this.background=t.background,this.divider=t.divider||"rgb(225,225,225)",this.dotSize=t.dotSize||2,this.height=t.height||100,this.autoHeight=!1,this.disableButtons=t.disableButtons,this.visibilityWindow=void 0===t.visibilityWindow?2e6:t.visibilityWindow>=0?Math.min(2e6,t.visibilityWindow):2e6,this.featureSource=zc(t,this.browser.genome),jc.gtexLoaded=!0}paintAxis(t,e,n){const r=(this.dataRange.max-this.dataRange.min)/n,i={font:"normal 10px Arial",textAlign:"right",strokeStyle:"black"};ls.fillRect(t,0,0,e,n,{fillStyle:"rgb(255, 255, 255)"});const o=Math.ceil(10*(this.dataRange.max-this.dataRange.min)/n);for(let s=4;s<=this.dataRange.max;s+=o){const o=.85*e,a=o-5,l=o,c=n-(s-this.dataRange.min)/r;ls.strokeLine(t,a,c,l,c,i),c>8&&ls.fillText(t,s,a-1,c+2,i)}i.textAlign="center",ls.fillText(t,"-log10(pvalue)",e/4,n/2,i,{rotate:{angle:-90}})}async getFeatures(t,e,n){const r=this.pValueField,i=await this.featureSource.getFeatures({chr:t,start:e,end:n});return i.forEach((function(t){t.value=t[r]})),i}draw(t){const e=t.context,n=t.pixelWidth,r=t.pixelHeight;this.background&&ls.fillRect(e,0,0,n,r,{fillStyle:this.background}),ls.strokeLine(e,0,r-1,n,r-1,{strokeStyle:this.divider});const i=i=>{const o=i?2*this.dotSize:this.dotSize,s=t.bpStart,a=(this.dataRange.max-this.dataRange.min)/r,l=t.referenceFrame.selection;for(let h of t.features){const u=(h.start-s+.5)/t.bpPerPixel;if(u<0)continue;if(u>n)break;const f=h.snp.toUpperCase(),d=h[this.geneField].toUpperCase(),p=l&&(l.snp===f||l.gene===d);if(!i||p){l&&l.snp===f&&l.addGene(d);var c=-Math.log(h[this.pValueField])/Math.LN10;if(c>=this.dataRange.min){let t;c>this.dataRange.max?(c=this.dataRange.max,t=!0):t=!1;const n=Math.max(0+o,r-Math.round((c-this.dataRange.min)/a));let s;h.px=u,h.py=n,h.radius=o,i&&l?(s=l.colorForGene(d),ls.setProperties(e,{fillStyle:s,strokeStyle:"black"})):(s=t?"rgb(150, 150, 150)":"rgb(180, 180, 180)",ls.setProperties(e,{fillStyle:s,strokeStyle:s})),ls.fillCircle(e,u,n,o),ls.strokeCircle(e,u,n,o)}}}};i(!1),i(!0)}popupData(t){let e=t.viewport.getCachedFeatures();if(!e||0===e.length)return[];const n=this.name,r=[];for(let i of e)Math.abs(i.px-t.canvasX)<i.radius+3&&Math.abs(i.py-t.canvasY)<i.radius+3&&(r.length>0&&r.push("<hr/>"),r.push({name:"snp id",value:i.snp},{name:"gene id",value:i.geneId},{name:"gene name",value:i.geneName},{name:"p value",value:i.pValue},{name:"tissue",value:n}));return r}menuItemList(){return Po.numericDataMenuItems(this.trackView)}doAutoscale(t){if(t.length>0){var e=t.map((function(t){return-Math.log(t.value)/Math.LN10}));this.dataRange.max=Ki(e,this.autoscalePercentile)}else{const t=this.config.maxLogP||this.config.max;this.dataRange.max=t||25}return this.dataRange}}const wu={X:"rgb(204, 153, 0)",Y:"rgb(153, 204, 0)",Un:"darkGray)",1:"rgb(80, 80, 255)",I:"rgb(139, 155, 187)",2:"rgb(206, 61, 50)",II:"rgb(206, 61, 50)","2a":"rgb(210, 65, 55)","2b":"rgb(215, 70, 60)",3:"rgb(116, 155, 88)",III:"rgb(116, 155, 88)",4:"rgb(240, 230, 133)",IV:"rgb(240, 230, 133)",5:"rgb(70, 105, 131)",6:"rgb(186, 99, 56)",7:"rgb(93, 177, 221)",8:"rgb(128, 34, 104)",9:"rgb(107, 215, 107)",10:"rgb(213, 149, 167)",11:"rgb(146, 72, 34)",12:"rgb(131, 123, 141)",13:"rgb(199, 81, 39)",14:"rgb(213, 143, 92)",15:"rgb(122, 101, 165)",16:"rgb(228, 175, 105)",17:"rgb(59, 27, 83)",18:"rgb(205, 222, 183)",19:"rgb(97, 42, 121)",20:"rgb(174, 31, 99)",21:"rgb(231, 199, 111)",22:"rgb(90, 101, 94)",23:"rgb(204, 153, 0)",24:"rgb(153, 204, 0)",25:"rgb(51, 204, 0)",26:"rgb(0, 204, 51)",27:"rgb(0, 204, 153)",28:"rgb(0, 153, 204)",29:"rgb(10, 71, 255)",30:"rgb(71, 117, 255)",31:"rgb(255, 194, 10)",32:"rgb(255, 209, 71)",33:"rgb(153, 0, 51)",34:"rgb(153, 26, 0)",35:"rgb(153, 102, 0)",36:"rgb(128, 153, 0)",37:"rgb(51, 153, 0)",38:"rgb(0, 153, 26)",39:"rgb(0, 153, 102)",40:"rgb(0, 128, 153)",41:"rgb(0, 51, 153)",42:"rgb(26, 0, 153)",43:"rgb(102, 0, 153)",44:"rgb(153, 0, 128)",45:"rgb(214, 0, 71)",46:"rgb(255, 20, 99)",47:"rgb(0, 214, 143)",48:"rgb(20, 255, 177)"};for(let t of Object.keys(wu)){wu["chr"+t]=wu[t]}class yu extends bl{constructor(t,e){super(t,e)}init(t){super.init(t),this.useChrColors=void 0===t.useChrColors||t.useChrColors,this.trait=t.trait,this.posteriorProbability=t.posteriorProbability,this.valueProperty="bed"===t.format?"score":"value",this.height=t.height||100,t.autoscale||(t.posteriorProbability?this.dataRange={min:void 0===t.min?0:t.min,max:void 0===t.max?1:t.max}:this.dataRange={min:void 0===t.min?0:t.min,max:void 0===t.max?25:t.max}),this.autoscale=t.autoscale,this.autoscalePercentile=void 0===t.autoscalePercentile?98:t.autoscalePercentile,this.background=t.background,this.divider=t.divider||"rgb(225,225,225)",this.dotSize=t.dotSize||3,this.popoverWindow=void 0===t.popoverWindow?1e8:t.popoverWindow,this.description=t.description,this.colorScales=t.color?new ih(t.color):{"*":new nh(t.colorScale||{thresholds:[5e-8,5e-4,.5],colors:["rgb(255,50,50)","rgb(251,100,100)","rgb(251,170,170)","rgb(227,238,249)"]})},this.featureSource=zc(t,this.browser.genome)}supportsWholeGenome(){return!0}async getFeatures(t,e,n){return this.featureSource.getFeatures({chr:t,start:e,end:n})}draw(t){const e=t.features,n=t.context,r=t.pixelWidth,i=t.pixelHeight;if(this.background&&ls.fillRect(n,0,0,r,i,{fillStyle:this.background}),ls.strokeLine(n,0,i-1,r,i-1,{strokeStyle:this.divider}),e){const o=t.bpPerPixel,s=t.bpStart,a=s+r*o+1;for(let t of e){const e=t.start;if(e<s)continue;if(e>a)break;const r=this.getColorScale(t._f?t._f.chr:t.chr);let l,c;if(this.posteriorProbability)c=t[this.valueProperty],l=r.getColor(c);else{const e=t[this.valueProperty];if(!e)continue;c=-Math.log10(e),l=r.getColor(c)}const h=(this.dataRange.max-this.dataRange.min)/i,u=Math.round((e-s)/o),f=Math.max(this.dotSize,i-Math.round((c-this.dataRange.min)/h));l&&ls.setProperties(n,{fillStyle:l,strokeStyle:"black"}),ls.fillCircle(n,u,f,this.dotSize),t.px=u,t.py=f}}}getColorScale(t){if(this.useChrColors){let e=this.colorScales[t];if(!e){const n=wu[t]||bs.get();e=new ih(n),this.colorScales[t]=e}return e}return this.colorScales("*")}paintAxis(t,e,n){ls.fillRect(t,0,0,e,n,{fillStyle:"rgb(255, 255, 255)"});var r={font:"normal 10px Arial",textAlign:"right",strokeStyle:"black"};const i=(this.dataRange.max-this.dataRange.min)/n;if(this.posteriorProbability){const e=.1;for(let o=this.dataRange.min;o<this.dataRange.max;o+=e){const e=n-Math.round((o-this.dataRange.min)/i);ls.strokeLine(t,45,e-2,50,e-2,r),ls.fillText(t,o.toFixed(1),44,e+2,r)}}else{const e=Math.ceil(10*(this.dataRange.max-this.dataRange.min)/n);for(let o=this.dataRange.min;o<this.dataRange.max;o+=e){const e=n-Math.round((o-this.dataRange.min)/i);ls.strokeLine(t,45,e,50,e,r),ls.fillText(t,Math.floor(o),44,e+4,r)}}r.textAlign="center",this.posteriorProbability?ls.fillText(t,"PPA",e/2,n/2,r,{rotate:{angle:-90}}):ls.fillText(t,"-log10(pvalue)",e/2,n/2,r,{rotate:{angle:-90}})}popupData(t){let e=[];const n=t.viewport.trackView.track,r=t.viewport.getCachedFeatures();if(r){let i=0;for(let o of r){const r=Math.abs(t.canvasX-o.px),s=Math.abs(t.canvasY-o.py),a=o[this.valueProperty];if(r<this.dotSize&&s<this.dotSize){if(i>0&&e.push("<HR/>"),5==i){e.push("...");break}if("function"==typeof o.popupData)e=e.concat(o.popupData());else{const t=o.realChr||o.chr,r=(o.realStart||o.start)+1;e.push({name:"chromosome",value:t}),e.push({name:"position",value:r}),e.push({name:"name",value:o.name}),n.posteriorProbability?e.push({name:"posterior probability",value:a}):e.push({name:"pValue",value:a})}i++}}}return e}menuItemList(){return Po.numericDataMenuItems(this.trackView)}doAutoscale(t){if(t.length>0){const e=this.valueProperty,n=this.posteriorProbability,r=t.map((function(t){const r=t[e];return{value:n?r:-Math.log(r)/Math.LN10}}));this.dataRange=la(r)}else this.posteriorProbability?(this.dataRange.min=this.config.min||0,this.dataRange.max=this.config.max||1):(this.dataRange.max=this.config.max||25,this.dataRange.min=this.config.min||0);return this.dataRange}}class xu extends bl{constructor(t,e){super(t,e)}init(t){super.init(t),this.autoscale=t.autoscale||void 0===t.max,this.dataRange={min:t.min||0,max:t.max},this.windowFunction=t.windowFunction||"mean",this.paintAxis=th,this.graphType=t.graphType||"bar",t._featureSource?(this.featureSource=t._featureSource,delete t._featureSource):this.featureSource=zc(this.config,this.browser.genome)}async postInit(){if("function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader(),this.sampleNames=this.header.columnNames.slice(3),this.setTrackProperties(this.header),this.header.hasOwnProperty("highlight"))){this.config.highlightSamples={};let t=this.header.highlight;Array.isArray(t)||(t=[t]);for(let e of t){const t=e.split(";");2===t.length&&(this.config.highlightSamples[t[0]]=t[1])}}}menuItemList(){return Po.numericDataMenuItems(this.trackView)}async getFeatures(t,e,n){const r=await this.featureSource.getFeatures({chr:t,start:0,end:Number.MAX_VALUE});let i,o;for(let t=1;t<r.length-1;t++)if(void 0===i&&r[t].end>e&&(i=t-1),void 0===o&&r[t].start>n){o=t+1;break}return void 0===i&&(i=0),void 0===o&&(o=r.length),r.slice(i,o)}draw(t){const{features:e,context:n,bpPerPixel:r,bpStart:i,pixelWidth:o,pixelHeight:s}=t,a=t=>(this.dataRange.max-t)/(this.dataRange.max-this.dataRange.min)*s,l=function(t){let e=Math.floor((t-i)/r);return isNaN(e)&&console.warn("isNaN(x). feature start "+ke(t)+" bp start "+ke(i)),e};if(e&&e.length>0&&(void 0===this.dataRange.min&&(this.dataRange.min=0),this.dataRange.max>this.dataRange.min)){const t=this.config.highlightSamples,r=this.config.onlyHandleClicksForHighlightedSamples;let i=-1,o={},s=[],c=[];this.clickDetectorCache={};for(let h of e){const e=l(h.start),u=l(h.end),f=i>=0?l(i):e;if(!isNaN(e)&&!isNaN(u)&&!(e-f<1&&u-e<1)){this.clickDetectorCache[e]=[],this.clickDetectorCache[u]=[];for(let i=0;i<h.values.length;i++){const l=this.sampleNames[i],d=h.values[i],p=a(d);if(e-f>=1){const i=o[l],c=a(i),h=t&&t[l];h?s.push([f,c,e,p,h]):ls.strokeLine(n,f,c,e,p,{strokeStyle:"#D9D9D9"}),r&&!(l in t)||this.clickDetectorCache[e].push([f,c,e,p,l,h||"gray"])}if(u-e>=1){const i=t&&t[l];i?c.push([e,p,u,p,i]):ls.strokeLine(n,e,p,u,p,{strokeStyle:"gray"}),r&&!(l in t)||this.clickDetectorCache[u].push([e,p,u,p,l,i||"gray"])}o[l]=d}i=h.end}}for(let t of s)ls.strokeLine(n,t[0],t[1],t[2],t[3],{strokeStyle:t[4],lineWidth:1.3});for(let t of c)ls.strokeLine(n,t[0],t[1],t[2],t[3],{strokeStyle:t[4],lineWidth:2})}(t=>{if(this.config.hasOwnProperty("guideLines"))for(let e of this.config.guideLines)if(e.hasOwnProperty("color")&&e.hasOwnProperty("y")&&e.hasOwnProperty("dotted")){let n=a(e.y),r={strokeStyle:e.color,strokeWidth:2};e.dotted?ls.dashedLine(t.context,0,n,t.pixelWidth,n,5,r):ls.strokeLine(t.context,0,n,t.pixelWidth,n,r)}})(t)}doAutoscale(t){let e,n;return t.length>0?(e=Number.MAX_VALUE,n=-Number.MAX_VALUE,t.forEach((function(t){e=Math.min(e,...t.values),n=Math.max(n,...t.values)})),e-=.01,n+=.01):(e=0,n=100),{min:e,max:n}}clickedFeatures(t){const e=t.canvasX,n=t.canvasY;let r=null;for(r of Object.keys(this.clickDetectorCache))if(r=parseInt(r),r>=e)break;if(r){let t=Number.MAX_VALUE,i=[];const o=this.clickDetectorCache[r];for(let r of o){const o=r[0],s=r[2];if(e<o||e>s)return[];const a=r[1],l=r[3];if(n<Math.min(a,l)-10||n>Math.max(a,l)+10)continue;const c=_u(e,n,o,a,s,l);c<t&&(i=[{name:r[4],color:r[5]}],t=c)}if(t<5)return i}return[]}popupData(t,e){e=this.clickedFeatures(t,e);const n=[];return e.forEach((function(t){for(let e of Object.keys(t))sa(t[e])&&n.push({name:e,value:t[e]})})),n}supportsWholeGenome(){return!1}}function _u(t,e,n,r,i,o){const s=i-n,a=o-r,l=Math.abs(s*(r-e)-(n-t)*a),c=Math.sqrt(s*s+a*a);return c>0?l/c:0}class ku extends bl{constructor(t,e){super(t,e),t.height||(this.height=300),this.arcOrientation=!1,this.theta=Math.PI/2,"bp"===t.format?this.featureSource=new Cu(t,e.genome):this.featureSource=new pc(t,e.genome)}async getFeatures(t,e,n){return this.featureSource.getFeatures({chr:t,start:e,end:n})}draw(t){const e=t.context,n=Math.PI/2,r=t.pixelWidth,i=t.pixelHeight;t.viewportWidth;const o=t.bpPerPixel,s=t.bpStart,a=o,l=this.arcOrientation;ls.fillRect(e,0,t.pixelTop,r,i,{fillStyle:"rgb(255, 255, 255)"});const c=t.features;if(c){Su(c,1);for(let t of c)if(t.startLeft){let r=Math.round((t.startLeft-s)/a),i=Math.round((t.startRight-s)/a),o=Math.round((t.endLeft-s)/a),c=Math.round((t.endRight-s)/a);e.fillStyle=t.color,e.strokeStyle=t.color,e.beginPath();let h=(r+c)/2,u=(c-r)/2,f=this.height,d=Math.PI+(Math.PI/2-n),p=2*Math.PI-(Math.PI/2-n);l?(f=0,e.arc(h,f,u,p,d),e.lineTo(c,f)):(e.arc(h,f,u,d,p),e.lineTo(o,f));const g=(i+o)/2,m=(o-i)/2,v=f;l?(e.arc(g,v,m,d,p,!0),e.lineTo(o,v)):(e.arc(g,v,m,p,d,!0),e.lineTo(r,v)),e.stroke(),e.fill(),t.drawState={x1:h,y1:f,r1:u,x2:g,y2:v,r2:m,sa:d,ea:p}}else{let r=Math.round((t.start-s)/a),i=Math.round((t.end-s)/a);e.strokeStyle=t.color,e.beginPath();let o=(r+i)/2,c=(i-r)/2,h=this.height,u=Math.PI+(Math.PI/2-n),f=2*Math.PI-(Math.PI/2-n);l?(h=0,e.arc(o,h,c,f,u)):e.arc(o,h,c,u,f),e.stroke(),t.drawState={x1:o,y1:h,r1:c,sa:u,ea:f}}}}clickedFeatures(t,e){const n=[];Su(e=super.clickedFeatures(t,e),-1);for(let r of e){const e=r.drawState,i=t.canvasX-e.x1,o=t.canvasY-e.y1,s=Math.sqrt(i*i+o*o),a=e.r1+3;let l,c;if(void 0===e.x2)l=s,c=e.r1-3;else{const n=t.canvasX-e.x2,r=t.canvasY-e.y2;l=Math.sqrt(n*n+r*r),c=e.r2-3}if(s<a&&l>c){n.push(r);break}}return n}popupData(t,e){if((e=this.clickedFeatures(t,e))&&e.length>0)return bl.extractPopupData(e[0],this.getGenomeId())}menuItemList(){var t=this;return[{name:"Toggle arc direction",click:function(){t.arcOrientation=!t.arcOrientation,t.trackView.repaintViews()}}]}}function Su(t,e){t.sort((function(t,n){const r=void 0===t.score?-Number.MAX_VALUE:t.score,i=void 0===n.score?-Number.MAX_VALUE:n.score;return(void 0===e?1:e)*(r-i)}))}class Cu{constructor(t,e){this.config=t,this.genome=e}async getFeatures({chr:t,start:e,end:n,bpPerPixel:r,visibilityWindow:i}){const o=this.genome;if(this.featureCache)return this.featureCache.queryFeatures(t,e,n);{const r=aa(this.config),i=await po.loadString(this.config.url,r);return this.featureCache=new Lo(function(t){if(!t)return null;const e=Al(t);let n,r=!0;const i=[],o=[],s=[];for(;void 0!==(n=e.nextLine());){const t=n.split("\t");if(r&&n.startsWith("color:")){const e="rgb("+t[1]+","+t[2]+","+t[3]+")";i.push(e),t.length>4&&o.push(t[4])}else{r=!1;const e=t[0],n=Number.parseInt(t[1])-1,l=Number.parseInt(t[2])-1,c=Number.parseInt(t[3]),h=Number.parseInt(t[4]);var a=Number.parseInt(t[5]);const u=i[a];let f;f=n<=h?{chr:e,startLeft:Math.min(n,l),startRight:Math.max(n,l),endLeft:Math.min(c,h),endRight:Math.max(c,h),color:u,score:a}:{chr:e,startLeft:Math.min(c,h),startRight:Math.max(c,h),endLeft:Math.min(n,l),endRight:Math.max(n,l),color:u,score:a},f.start=f.startLeft,f.end=f.endRight,o.length>a&&(f.description=o[a]),s.push(f)}}return s}(i),o),this.featureCache.queryFeatures(t,e,n)}}}class Eu{constructor(t){this.browser=t,this.type="ideogram",this.id=this.type,this.height=16,this.order=Number.MIN_SAFE_INTEGER,this.disableButtons=!0,this.ignoreTrackMenu=!0}async getFeatures(t,e,n){return[]}computePixelHeight(t){return this.height}draw({context:t,referenceFrame:e,pixelWidth:n,pixelHeight:r}){const i=e.chr,o=e.genome.getChromosome(i);if(void 0===o||n<=0||r<=0||"all"===i.toLowerCase())return;!function({ctx:t,chr:e,referenceFrame:n,genome:r,width:i,height:o,stainColors:s}){const a=1,l=.5*a,c=0;if(void 0===r)return;ls.fillRect(t,0,0,i,o,{fillStyle:no.greyScale(255)});const h=r.getCytobands(e);if(h){const e=c+o/2,n=[],r=[];if(0===h.length)return;const u=i/h[h.length-1].end;t.beginPath(),ls.roundRect(t,l,l+c,i-2*l,o-2*l,(o-2*l)/2,0,1),t.clip();for(let i=0;i<h.length;i++){const l=h[i],f=u*l.start,d=u*l.end;"c"===l.type?("p"===l.name.charAt(0)?(n[0]=f,r[0]=o+c,n[1]=f,r[1]=c,n[2]=d,r[2]=e):(n[0]=d,r[0]=o+c,n[1]=d,r[1]=c,n[2]=f,r[2]=e),t.fillStyle="rgb(150, 0, 0)",t.strokeStyle="rgb(150, 0, 0)",ls.polygon(t,n,r,1,0)):(t.fillStyle=Au(s,l),ls.fillRect(t,f,a+c,d-f,o-2*a))}}t.strokeStyle=no.greyScale(41),ls.roundRect(t,l,l+c,i-2*l,o-2*l,(o-2*l)/2,0,1)}({ctx:t,chr:i,referenceFrame:e,genome:e.genome,width:n,height:r,stainColors:[]});const s=Math.round(e.bpPerPixel*n),a=e.start;let l=o.bpLength;const c=e.genome.getCytobands(i);if(c&&c.length>0&&c[c.length-1].end&&(l=Math.max(l,c[c.length-1].end),o.bpLength=l),s<l){const e=s/l,i=a/l;let o=Math.floor(i*n),c=Math.floor(e*n);o=Math.max(0,o),o=Math.min(n-c,o),t.save(),t.strokeStyle="red",t.lineWidth=c<2?1:2;const h=o+t.lineWidth/2;c=c<2?1:c-t.lineWidth;const u=t.lineWidth/2,f=r-t.lineWidth;t.strokeRect(h,u,c,f),t.restore()}}dispose(){this.trackView=void 0}}function Au(t,e){if("c"===e.type)return"rgb(150, 10, 10)";var n=e.stain,r=230;"p"===e.type&&(r=Math.floor(230-n/100*230));var i=t[r];return i||(i="rgb("+r+","+r+","+r+")",t[r]=i),i}let Tu=new gs("Dark2");["GT/AG","CT/AC","GC/AG","CT/GC","AT/AC","GT/AT","non-canonical"].forEach((t=>{Tu.getColor(t)}));const Lu={};class Mu extends bl{constructor(t,e){super(t,e)}init(t){super.init(t),this.type=t.type||"junctions",t._featureSource?(this.featureSource=t._featureSource,delete t._featureSource):this.featureSource=t.featureSource?t.featureSource:zc(t,this.browser.genome),this.margin=void 0===t.margin?10:t.margin,this.height||(this.height=100),void 0===t.colorByNumReadsThreshold&&(t.colorByNumReadsThreshold=5)}async postInit(){return"function"==typeof this.featureSource.getHeader&&(this.header=await this.featureSource.getHeader()),this.header&&this.setTrackProperties(this.header),void 0===this.visibilityWindow&&"function"==typeof this.featureSource.defaultVisibilityWindow&&(this.visibilityWindow=await this.featureSource.defaultVisibilityWindow(),this.featureSource.visibilityWindow=this.visibilityWindow),this}supportsWholeGenome(){return!1}async getFeatures(t,e,n,r){const i=this.visibilityWindow;return this.featureSource.getFeatures({chr:t,start:e,end:n,bpPerPixel:r,visibilityWindow:i})}computePixelHeight(t){return this.height}draw(t){const e=t.features,n=t.context,r=t.bpPerPixel,i=t.bpStart,o=t.pixelWidth,s=t.pixelHeight,a=i+o*r+1;if(this.config.isMergedTrack||ls.fillRect(n,0,t.pixelTop,o,s,{fillStyle:"rgb(255, 255, 255)"}),e){Lu.referenceFrame=t.viewport.referenceFrame,Lu.referenceFrameStart=Lu.referenceFrame.start,Lu.referenceFrameEnd=Lu.referenceFrameStart+Lu.referenceFrame.toBP(de(t.viewport.contentDiv).width()),Lu.featureZoomOutTracker={};for(let t of e)if(!(t.end<i)){if(t.start>a)break;this.renderJunction(t,i,r,s,n)}}else console.log("No feature list")}renderJunction(t,e,n,r,i){t.isVisible=!1;const o=Math.round((t.start-e)/n),s=Math.round((t.end-e)/n),a=(o+s)/2;if(s-o<=3){if(a in Lu.featureZoomOutTracker)return;Lu.featureZoomOutTracker[a]=!0}if(this.config.hideAnnotatedJunctions&&"true"===t.attributes.annotated_junction)return;if(this.config.hideUnannotatedJunctions&&"false"===t.attributes.annotated_junction)return;if(this.config.hideMotifs&&this.config.hideMotifs.includes(t.attributes.motif))return;if(this.config.hideStrand===t.strand)return;if(this.config.minJunctionEndsVisible){let e=0;if(t.start>=Lu.referenceFrameStart&&t.start<=Lu.referenceFrameEnd&&(e+=1),t.end>=Lu.referenceFrameStart&&t.end<=Lu.referenceFrameEnd&&(e+=1),e<this.config.minJunctionEndsVisible)return}let l,c,h,u;if(t.attributes.uniquely_mapped){if(l=parseInt(t.attributes.uniquely_mapped),l<this.config.minUniquelyMappedReads)return;if(c=parseInt(t.attributes.multi_mapped),h=l+c,h<this.config.minTotalReads)return;if(h>0&&c/h>this.config.maxFractionMultiMappedReads)return;if(t.attributes.maximum_spliced_alignment_overhang&&parseInt(t.attributes.maximum_spliced_alignment_overhang)<this.config.minSplicedAlignmentOverhang)return}if(t.attributes.num_samples_with_this_junction){if(u=parseInt(t.attributes.num_samples_with_this_junction),this.config.minSamplesWithThisJunction&&u<this.config.minSamplesWithThisJunction)return;if(this.config.maxSamplesWithThisJunction&&u>this.config.maxSamplesWithThisJunction)return;if(t.attributes.num_samples_total&&(t.attributes.percent_samples_with_this_junction=100*u/parseFloat(t.attributes.num_samples_total),this.config.minPercentSamplesWithThisJunction&&(t.attributes.percent_samples_with_this_junction<this.config.minPercentSamplesWithThisJunction||t.attributes.percent_samples_with_this_junction>this.config.maxPercentSamplesWithThisJunction)))return}const f=this.margin,d=this.height,p=f+.5*d;let g=f;const m=f+d-10,v=(o+a)/2,b=(a+s)/2;let w,y,x=1;t.attributes.line_width?x=parseFloat(t.attributes.line_width):(void 0===this.config.thicknessBasedOn||"numUniqueReads"===this.config.thicknessBasedOn?x=l:"numReads"===this.config.thicknessBasedOn?x=h:"numSamplesWithThisJunction"===this.config.thicknessBasedOn&&void 0!==u&&(x=u),x=1+Math.log(x+1)/Math.log(12)),void 0===this.config.bounceHeightBasedOn||"random"===this.config.bounceHeightBasedOn?w=(t.start+t.end)%7:"distance"===this.config.bounceHeightBasedOn?w=6*(t.end-t.start)/(Lu.referenceFrameEnd-Lu.referenceFrameStart):"thickness"===this.config.bounceHeightBasedOn&&(w=2*x),g+=d*Math.max(7-w,0)/10,y=t.attributes.color?t.attributes.color:void 0===this.config.colorBy||"numUniqueReads"===this.config.colorBy?l>this.config.colorByNumReadsThreshold?"blue":"#AAAAAA":"numReads"===this.config.colorBy?h>this.config.colorByNumReadsThreshold?"blue":"#AAAAAA":"isAnnotatedJunction"===this.config.colorBy?"true"===t.attributes.annotated_junction?"#b0b0ec":"orange":"strand"===this.config.colorBy?"+"===t.strand?"#b0b0ec":"#ecb0b0":"motif"===this.config.colorBy?Tu.getColor(t.attributes.motif):"#AAAAAA";let _="";t.attributes.label?_=t.attributes.label.replace(/_/g," "):void 0===this.config.labelWith||"uniqueReadCount"===this.config.labelWith?_=l:"totalReadCount"===this.config.labelWith?_=h:"numSamplesWithThisJunction"===this.config.labelWith?void 0!==u&&(_=u):"percentSamplesWithThisJunction"===this.config.labelWith?void 0!==t.attributes.percent_samples_with_this_junction&&(_=t.attributes.percent_samples_with_this_junction.toFixed(0)+"%"):"motif"===this.config.labelWith&&void 0!==t.attributes.motif&&(_+=t.attributes.motif),"uniqueReadCount"===this.config.labelWithInParen?_+=" ("+l+")":"totalReadCount"===this.config.labelWithInParen?_+=" ("+h+")":"multiMappedReadCount"===this.config.labelWithInParen?c>0&&(_+=" (+"+c+")"):"numSamplesWithThisJunction"===this.config.labelWithInParen?void 0!==u&&(_+=" ("+u+")"):"percentSamplesWithThisJunction"===this.config.labelWithInParen?void 0!==t.attributes.percent_samples_with_this_junction&&(_+=" ("+t.attributes.percent_samples_with_this_junction.toFixed(0)+"%)"):"motif"===this.config.labelWithInParen&&void 0!==t.attributes.motif&&(_+=` ${t.attributes.motif}`),t.isVisible=!0,i.beginPath(),i.moveTo(o,m),i.bezierCurveTo(v,g,b,g,s,m),i.lineWidth=x,i.strokeStyle=y,i.stroke();const k=(t,e,n,r)=>{t.beginPath(),t.moveTo(e,n),t.lineTo(e-r/2,n-r),t.lineTo(e+r/2,n-r),t.lineTo(e,n),t.closePath(),t.fill()};if(t.attributes.left_shape||t.attributes.right_shape){i.fillStyle=y;const e=i.lineWidth>2?10:7;t.attributes.left_shape&&k(i,o,m,e),t.attributes.right_shape&&k(i,s,m,e)}i.fillText(_,a-i.measureText(_).width/2,(7*g+p)/8)}clickedFeatures(t,e){return super.clickedFeatures(t,e).filter((function(t){return t.isVisible&&t.attributes}))}popupData(t,e){e=this.clickedFeatures(t,e);const n=t.genomicLocation,r=[];for(let t of e){const e="function"==typeof t.popupData?t.popupData(n):this.extractPopupData(t._f||t,this.getGenomeId());e&&(r.length>0&&r.push("<hr/><hr/>"),Array.prototype.push.apply(r,e))}return r}description(){return this.name}dispose(){this.trackView=void 0}}const Ru=new Map([["ideogram",(t,e)=>new Eu(t,e)],["sequence",(t,e)=>new Ss(t,e)],["feature",(t,e)=>new Jc(t,e)],["seg",(t,e)=>new oh(t,e)],["mut",(t,e)=>new oh(t,e)],["maf",(t,e)=>new oh(t,e)],["wig",(t,e)=>new eh(t,e)],["merged",(t,e)=>new ah(t,e)],["alignment",(t,e)=>new tu(t,e)],["interaction",(t,e)=>new lu(t,e)],["interact",(t,e)=>new lu(t,e)],["variant",(t,e)=>new mu(t,e)],["eqtl",(t,e)=>new bu(t,e)],["gwas",(t,e)=>new yu(t,e)],["arc",(t,e)=>new ku(t,e)],["gcnv",(t,e)=>new xu(t,e)],["junction",(t,e)=>new Mu(t,e)]]);var Iu=function(t,e){Ru.set(t,e)},Nu=function(t,e,n){let r;switch(t){case"annotation":case"genes":case"fusionjuncspan":case"snp":r="feature";break;case"seg":case"maf":case"mut":r="seg";break;case"junctions":case"splicejunctions":r="junction";break;default:r=t}return Ru.has(r)?Ru.get(r)(e,n):void 0};class Pu{constructor(t,e){this.config=t,this.name=t.name,this.roiSource=zc(t,e),this.color=t.color||"rgba(68, 134, 247, 0.25)"}async getFeatures(t,e,n){return this.roiSource.getFeatures({chr:t,start:e,end:n})}draw(t){var e,n,r,i;if(i=t.features){e=t.bpStart+(t.pixelWidth*t.bpPerPixel+1);for(var o=0,s=i.length;o<s;o++)if(!((n=i[o]).end<t.bpStart)){if(n.start>e)break;r=Fu(n,t.bpStart,t.bpPerPixel),ls.fillRect(t.context,r.x,t.pixelTop,r.width,t.pixelHeight,{fillStyle:this.color})}}}}function Fu(t,e,n){var r,i;return r=Math.round((t.start-e)/n),(i=Math.round((t.end-e)/n)-r)<3&&(i=3,r-=1),{x:r,width:i}}class Ou{constructor(t,e){const n=(new DOMParser).parseFromString(t,"text/xml");this.processRootNode(n,e);const r=n.getElementsByTagName("Resource"),i=n.getElementsByTagName("Track"),o=i&&i.length>0,s=[];this.tracks=s;const a=new Map;Array.from(r).forEach((function(t,e){var n={url:t.getAttribute("path"),indexURL:t.getAttribute("index"),order:e};a.set(n.url,n),o||s.push(n)})),o&&Array.from(i).forEach((function(t){const e=t.getElementsByTagName("Track");if(e&&e.length>0){const n={type:"merged",tracks:[]};Du(t,n),s.push(n),Array.from(e).forEach((function(t){t.processed=!0;const e=t.getAttribute("id"),r=a.get(e);r&&(n.tracks.push(r),Du(t,r),r.autoscale=!1,n.height=r.height)}))}else if(!t.processed){const e=t.getAttribute("id"),n=a.get(e);n&&(s.push(n),Du(t,n))}}))}processRootNode(t,e){const n=t.getElementsByTagName("Session");!n||n.length;const r=n.item(0),i=r.getAttribute("genome"),o=r.getAttribute("locus"),s=r.getAttribute("ucscID");e&&e.hasOwnProperty(i)?this.genome=i:(this.reference={fastaURL:i},s&&(this.reference.id=s)),o&&(this.locus=o)}}function Du(t,e){e.name=t.getAttribute("name");const n=t.getAttribute("color");n&&(e.color="rgb("+n+")");const r=t.getAttribute("altColor");n&&(e.altColor="rgb("+r+")");const i=t.getAttribute("height");i&&(e.height=parseInt(i));const o=t.getAttribute("autoScale");o&&(e.autoscale="true"===o);const s=t.getAttribute("autoscaleGroup");s&&(e.autoscaleGroup=s);const a=t.getAttribute("windowFunction");a&&(e.windowFunction=a);const l=t.getAttribute("visibilityWindow")||t.getAttribute("featureVisibilityWindow");l&&(e.visibilityWindow=l);const c=t.getAttribute("indexed");c&&(e.indexed="true"===c);const h=t.getAttribute("normalize");h&&(e.normalize="true"===h);const u=t.getElementsByTagName("DataRange");if(u.length>0){const t=u.item(0);e.min=Number.parseFloat(t.getAttribute("minimum")),e.max=Number.parseFloat(t.getAttribute("maximum")),e.logScale="LOG"===t.getAttribute("type")}}const Bu=Se;class zu{constructor(){this.attributes={},this.plinkLoaded=!1}async loadPlinkFile(t,e){e||(e={});var n=aa(e);const r=await po.loadString(t,n);var i=Bu(r);for(let t of i){var o=t.split(" ");this.attributes[o[1]]={familyId:o[0],fatherId:o[2],motherId:o[3],sex:o[4],phenotype:o[5]}}return this.plinkLoaded=!0,this}getAttributes(t){return this.attributes[t]}getAttributeNames(){return this.hasAttributes()?Object.keys(this.attributes[Object.keys(this.attributes)[0]]):[]}hasAttributes(){return Object.keys(this.attributes).length>0}}class Hu{constructor(t,e){this.geneColors={},this.gene=null,this.snp=null,this.genesCount=0,t&&(this.gene=t.toUpperCase(),this.geneColors[this.gene]=Vu[this.genesCount++]),e&&(this.snp=e.toUpperCase())}addGene(t){this.geneColors[t.toUpperCase()]||(this.geneColors[t.toUpperCase()]=Vu[this.genesCount++])}colorForGene(t){return this.geneColors[t.toUpperCase()]}}var Vu=new Array;Vu.push("rgb(228,26,28)"),Vu.push("rgb(55,126,184)"),Vu.push("rgb(77,175,74)"),Vu.push("rgb(166,86,40)"),Vu.push("rgb(152,78,163)"),Vu.push("rgb(255,127,0)"),Vu.push("rgb(247,129,191)"),Vu.push("rgb(153,153,153)"),Vu.push("rgb(255,255,51)"),Vu.push("rgb(102, 194, 165"),Vu.push("rgb(252, 141, 98"),Vu.push("rgb(141, 160, 203"),Vu.push("rgb(231, 138, 195"),Vu.push("rgb(166, 216, 84"),Vu.push("rgb(255, 217, 47"),Vu.push("rgb(229, 196, 148"),Vu.push("rgb(179, 179, 179"),Vu.push("rgb( 141, 211, 199"),Vu.push("rgb(255, 255, 179"),Vu.push("rgb(190, 186, 218"),Vu.push("rgb(251, 128, 114"),Vu.push("rgb(128, 177, 211"),Vu.push("rgb(253, 180, 98"),Vu.push("rgb(179, 222, 105"),Vu.push("rgb(252, 205, 229"),Vu.push("rgb(217, 217, 217"),Vu.push("rgb(188, 128, 189"),Vu.push("rgb(204, 235, 197"),Vu.push("rgb(255, 237, 111");class ju{constructor(t,e,n,r,i){this.genome=t,this.chr=e,this.start=n,this.end=r,this.bpPerPixel=i,this.id=ve()}calculateEnd(t){return this.start+this.bpPerPixel*t}calculateBPP(t,e){return(t-this.start)/e}set(t){this.chr=t.chr,this.start=t.start,this.bpPerPixel=t.bpPerPixel}toPixels(t){return t/this.bpPerPixel}toBP(t){return this.bpPerPixel*t}shiftPixels(t,e){const n=this.start,r=t*this.bpPerPixel;this.start+=r,this.clampStart(e),this.end+=r;const{bpLength:i}=this.genome.getChromosome(this.chr);return this.end=Math.min(i,this.end),n!==this.start}clampStart(t){const e=this.genome.getChromosome(this.chr).bpStart||0;if(this.start=Math.max(e,this.start),t){const{bpLength:e}=this.genome.getChromosome(this.chr),n=e-t*this.bpPerPixel;this.start>n&&(this.start=n)}}async zoomWithScaleFactor(t,e,n,r){const i=void 0===r?this.start+this.toBP(n/2):r,{start:o,bpPerPixel:s}=this.start,{bpLength:a}=this.getChromosome(),l=e<1?t.minimumBases()/n:a/n;this.bpPerPixel=e<1?Math.max(this.bpPerPixel*e,l):Math.min(this.bpPerPixel*e,l);const c=this.bpPerPixel*n;this.start=i-.5*c,this.clampStart(n),this.end=this.start+c;(o!==this.start||s!==this.bpPerPixel)&&await t.updateViews(this)}getChromosome(){return this.genome.getChromosome(this.chr)}getMultiLocusLabel(t){const e=Math.floor(this.start)+1,n=Math.round(this.start+this.bpPerPixel*t);return`${this.chr}&nbsp &nbsp &nbsp${ua(n-e)}`}getPresentationLocusComponents(t){if("all"===this.chr)return{chr:this.chr};{const e=ke(Math.floor(this.start)+1),n=ke(Math.round(this.start+this.bpPerPixel*t));return{chr:this.chr,start:e,end:n}}}getLocusString(){if("all"===this.chr)return"all";{const t=ke(Math.floor(this.start)+1),e=ke(Math.round(this.end));return`${this.chr}:${t}-${e}`}}description(t){console.log(` ${t||""} referenceFrame - ${this.chr} bpp ${this.bpPerPixel.toFixed(3)} start ${ke(Math.round(this.start))} end ${ke(Math.round(this.end))} `)}}const Uu={A:"rgb( 0, 200, 0)",C:"rgb( 0,0,200)",T:"rgb(255,0,0)",G:"rgb(209,113, 5)",N:"rgb(80,80,80)"},qu={timeout:5e3,type:"plain",url:"https://igv.org/genomes/locus.php?genome=$GENOME$&name=$FEATURE$",coords:0,chromosomeField:"chromosome",startField:"start",endField:"end",geneField:"gene",snpField:"snp"};async function Wu(t,e){if(void 0===e||""===e.trim())return;(e&&"all"===e.trim().toLowerCase()||"*"===e)&&(e="all");const n=e.split(" ");let r=t.searchConfig||qu,i=[];const o=async n=>{let i=function(t,e){const n=e.split(":"),r=n[0];if("all"===r&&t.genome.getChromosome(r))return{chr:r,start:0,end:t.genome.getChromosome(r).bpLength};if(void 0===t.genome.getChromosome(r))return;{const e={chr:t.genome.getChromosomeName(r),start:0,end:t.genome.getChromosome(r).bpLength};if(n.length>1){const t=n[1].split("-");if(t.length>2)return;{let n;if(n=t[0].replace(/,/g,""),isNaN(n))return;if(e.start=parseInt(n,10)-1,e.end=e.start+1,1===t.length&&(e.start-=20,e.end+=20),2===t.length){if(n=t[1].replace(/,/g,""),isNaN(n))return;e.end=parseInt(n,10)}}}return e}}(t,n);if(!i){const r=t.genome.featureDB[n.toUpperCase()];r&&(i={chr:r.chr,start:r.start,end:r.end,gene:r.name,locusSearchString:e})}if(!i&&t.config&&!1!==t.config.search)try{i=await async function(t,e,n){let r=n.url.replace("$FEATURE$",e.toUpperCase());r.indexOf("$GENOME$")>-1&&(r=r.replace("$GENOME$",t.genome.id?t.genome.id:"hg19"));const i=n.timeout?{timeout:n.timeout}:void 0,o=await po.loadString(r,i),s=function(t,e,n){let r;r="plain"===n.type?function(t,e){const n=[],r=[];return Se(e).forEach((function(t){""===t||n.push(t)})),n.forEach((function(e){var n,i,o,s,a=e.split("\t");a.length>=3&&(o=(i=a[1].split(":"))[1].split("-"),n=a[2].trim(),s={gene:a[0],chromosome:t.genome.getChromosomeName(i[0].trim()),start:parseInt(o[0].replace(/,/g,"")),end:parseInt(o[1].replace(/,/g,"")),type:"gtex"===n?"snp":"gene"},r.push(s))})),r}(t,e):JSON.parse(e);n.resultsField&&(r=r[n.resultsField]);if(r&&0!==r.length){const e=n.chromosomeField||"chromosome",i=n.startField||"start",o=n.endField||"end",s=n.coords||1;let a;a=Array.isArray(r)?r[0]:r,a.hasOwnProperty(e)&&a.hasOwnProperty(i)||console.error("Search service results must include chromosome and start fields: "+a);const l=a[e],c=t.genome.getChromosome(l);if(!c)return;const h=c.name;let u=a[i]-s,f=a[o];void 0===f&&(f=u+1);const d={chr:h,start:u,end:f},p=a.type?a.type:"gene";return n.geneField&&"gene"===p&&(d.gene=a[n.geneField]),n.snpField&&"snp"===p&&(d.snp=a[n.snpField]),d}return}(t,o,n);s&&(s.locusSearchString=e);return s}(t,n,r)}catch(t){throw console.error(t),Error("Search service currently unavailable.")}return i};for(let t of n){const e=await o(t);e&&(e.locusSearchString=t,i.push(e))}if(0===i.length){const t=await o(e);t&&(t.locusSearchString=e,i.push(t))}return 0===i.length?void 0:i}class $u{constructor(t){this.browser=t}navbarDidResize(t,e){this.updateNavbar(this.createResponsiveClassSchedule(t,e))}updateNavbar(t){this.browser.$toggle_button_container.removeClass(),this.browser.$toggle_button_container.addClass(t.$toggle_button_container),de(this.browser.zoomWidget.zoomContainer).removeClass(),de(this.browser.zoomWidget.zoomContainer).addClass(t.zoomContainer)}createResponsiveClassSchedule(t,e){let n={};return e?this.browser.windowSizePanel.hide():this.browser.windowSizePanel.show(),t>990?(n.$toggle_button_container="igv-navbar-toggle-button-container",n.zoomContainer="igv-zoom-widget"):t>860?(n.$toggle_button_container="igv-navbar-toggle-button-container",n.zoomContainer="igv-zoom-widget-900"):t>540?(n.$toggle_button_container="igv-navbar-toggle-button-container-750",n.zoomContainer="igv-zoom-widget-900"):(n.$toggle_button_container="igv-navbar-toggle-button-container-750",n.zoomContainer="igv-zoom-widget-900",this.browser.windowSizePanel.hide()),e&&(n.zoomContainer="igv-zoom-widget-hidden"),n}}const Gu=function(t,e){this.container=pe({class:"igv-chromosome-select-widget-container"}),e.appendChild(this.container),this.select=document.createElement("select"),this.select.setAttribute("name","chromosome-select-widget"),this.container.appendChild(this.select),this.select.addEventListener("change",(()=>{this.select.blur(),""!==this.select.value&&t.search(this.select.value)})),this.showAllChromosomes=!1!==t.config.showAllChromosomes};Gu.prototype.show=function(){this.container.style.display="flex"},Gu.prototype.hide=function(){this.container.style.display="none"},Gu.prototype.update=function(t){const e=this.showAllChromosomes?t.chromosomeNames.slice():t.wgChromosomeNames.slice();t.showWholeGenomeView()&&(e.unshift("all"),e.unshift("")),this.select.innerHTML="";for(let t of e){const e=document.createElement("option");e.setAttribute("value",t),e.innerText=t,this.select.appendChild(e)}};class Zu{constructor(t,e){this.container=pe({class:"igv-windowsize-panel-container"}),t.appendChild(this.container),e.on("locuschange",(t=>{this.updatePanel(t)})),this.browser=e}show(){this.container.style.display="block"}hide(){this.container.style.display="none"}updatePanel(t){const e=this.browser.calculateViewportWidth(this.browser.referenceFrameList.length);this.container.innerText=1===t.length?ua(Math.round(e*t[0].bpPerPixel)):""}}class Xu{constructor(t,e){this.browser=e,this.columnContainer=t,this.horizontalGuide=pe({class:"igv-cursor-guide-horizontal"}),t.appendChild(this.horizontalGuide),this.verticalGuide=pe({class:"igv-cursor-guide-vertical"}),t.appendChild(this.verticalGuide),this.addMouseHandler(e),this.setVisibility(e.config.showCursorTrackingGuide)}addMouseHandler(t){this.boundMouseMoveHandler=function(e){const{x:n,y:r}=be(e,this.columnContainer);this.horizontalGuide.style.top=`${r}px`;const i=document.elementFromPoint(e.clientX,e.clientY);let o;i.parentElement.classList.contains("igv-viewport-content")?o=i.parentElement.parentElement:i.parentElement.classList.contains("igv-viewport")&&i.classList.contains("igv-viewport-content")&&(o=i.parentElement);if(o&&t.getRulerTrackView()){this.verticalGuide.style.left=`${n}px`;const r=t.root.querySelectorAll(".igv-column");let i;const s=o.parentElement;for(let t=0;t<r.length;t++)void 0===i&&s===r[t]&&(i=t);const a=t.getRulerTrackView().viewports[i].mouseMove(e);if(a){const{start:t,bp:e,end:n}=a,r=(e-t)/(n-t);this.customMouseHandler&&this.customMouseHandler({start:t,bp:e,end:n,interpolant:r})}}}.bind(this),this.columnContainer.addEventListener("mousemove",this.boundMouseMoveHandler)}removeMouseHandler(){this.columnContainer.removeEventListener("mousemove",this.boundMouseMoveHandler)}setVisibility(t){!0===t?this.show():this.hide()}show(){this.verticalGuide.style.display="block",this.horizontalGuide.style.display="block"}hide(){if(this.verticalGuide.style.display="none",this.horizontalGuide.style.display="none",this.browser.getRulerTrackView())for(let t of this.browser.getRulerTrackView().viewports)t.$tooltip.hide()}}class Yu{constructor(t,e){this.browser=t,this.button=pe({class:"igv-navbar-button"}),e.appendChild(this.button),this.button.textContent="cursor guide",this.button.addEventListener("click",(()=>{t.cursorGuideVisible=!t.cursorGuideVisible,t.setCursorGuideVisibility(t.cursorGuideVisible),this.setButtonState(t.cursorGuideVisible)})),this.setButtonState(t.cursorGuideVisible),t.config.showCursorTrackingGuideButton?this.show():this.hide()}setButtonState(t){!0===t?this.button.classList.add("igv-navbar-button-clicked"):this.button.classList.remove("igv-navbar-button-clicked")}show(){this.button.style.display="block",this.setButtonState(this.browser.cursorGuideVisible)}hide(){this.button.style.display="none"}}class Ku{constructor(t,e){this.browser=t,this.button=pe({class:"igv-navbar-button"}),e.appendChild(this.button),this.button.textContent="center line",this.button.addEventListener("click",(()=>{t.isCenterLineVisible=!t.isCenterLineVisible,t.setCenterLineVisibility(t.isCenterLineVisible),this.setButtonState(t.isCenterLineVisible)})),this.setButtonState(t.isCenterLineVisible),t.config.showCenterGuideButton?this.show():this.hide()}setButtonState(t){!0===t?this.button.classList.add("igv-navbar-button-clicked"):this.button.classList.remove("igv-navbar-button-clicked")}show(){this.isVisible=!0,this.button.style.display="block",this.setButtonState(this.browser.isCenterLineVisible)}hide(){this.isVisible=!1,this.button.style.display="none"}}const Qu=function(t,e){this.button=pe({class:"igv-navbar-button"}),t.appendChild(this.button),this.button.textContent="track labels",this.button.addEventListener("click",(()=>{e.trackLabelsVisible=!e.trackLabelsVisible,this.setState(e.trackLabelsVisible),e.setTrackLabelVisibility(e.trackLabelsVisible)})),this.browser=e,this.setVisibility(e.config.showTrackLabelButton),this.setState(e.trackLabelsVisible)};Qu.prototype.setVisibility=function(t){!0===t?this.show():this.hide()},Qu.prototype.setState=function(t){!0===t?this.button.classList.add("igv-navbar-button-clicked"):this.button.classList.remove("igv-navbar-button-clicked")},Qu.prototype.show=function(){this.button.style.display="block",this.setState(this.browser.trackLabelsVisible)},Qu.prototype.hide=function(){this.button.style.display="none"};class Ju{constructor(t,e){this.button=pe({class:"igv-navbar-button"}),t.appendChild(this.button),this.button.innerText="Sample Names",this.setState(e.showSampleNames),this.setVisibility(e.showSampleNameButton),this.button.addEventListener("click",(()=>{e.showSampleNames=!e.showSampleNames,this.setState(e.showSampleNames);for(let{sampleNameViewport:t}of e.trackViews)!1===e.showSampleNames?t.hide():t.show();e.resize()}))}setVisibility(t){!0===t?this.show():this.hide()}setState(t){!0===t?this.button.classList.add("igv-navbar-button-clicked"):this.button.classList.remove("igv-navbar-button-clicked")}hide(){this.button.style.display="none"}show(){this.button.style.display="block"}}let tf=23,ef=0;const nf=function(t,e){this.browser=t,this.zoomContainer=pe({class:"igv-zoom-widget"}),e.appendChild(this.zoomContainer),this.zoomOutButton=pe(),this.zoomContainer.appendChild(this.zoomOutButton),this.zoomOutButton.appendChild(we("minus-circle")),this.zoomOutButton.addEventListener("click",(()=>{t.zoomOut()}));const n=pe();this.zoomContainer.appendChild(n),this.slider=document.createElement("input"),this.slider.type="range",this.slider.min="0",this.slider.max=`${tf}`,n.appendChild(this.slider),this.slider.addEventListener("change",(e=>{e.preventDefault(),e.stopPropagation();const n=t.referenceFrameList[0],{bpLength:r}=n.genome.getChromosome(n.chr),{end:i,start:o}=n,s=i-o,a=r/Math.pow(2,e.target.valueAsNumber);t.zoomWithScaleFactor(a/s)})),this.zoomInButton=pe(),this.zoomContainer.appendChild(this.zoomInButton),this.zoomInButton.appendChild(we("plus-circle")),this.zoomInButton.addEventListener("click",(()=>{t.zoomIn()})),t.on("locuschange",(t=>{this.browser.isMultiLocusMode()?this.disable():(this.enable(),this.update(t))}))};nf.prototype.update=function(t){const e=t[0],{bpLength:n}=e.genome.getChromosome(e.chr),{start:r,end:i}=e;tf=Math.ceil(Math.log2(n/this.browser.minimumBases())),this.slider.max=`${tf}`;const o=n/(i-r);ef=Math.log2(o),this.slider.value=`${Math.round(ef)}`},nf.prototype.enable=function(){this.slider.disabled=!1},nf.prototype.disable=function(){this.slider.disabled=!0},nf.prototype.hide=function(){this.zoomContainer.style.display="none"},nf.prototype.show=function(){this.zoomContainer.style.display="block"},nf.prototype.hideSlider=function(){this.slider.style.display="none"},nf.prototype.showSlider=function(){this.slider.style.display="block"};const rf=function(t,e){const n=pe({class:"igv-navbar-button"});t.append(n),n.textContent="Save SVG",n.addEventListener("click",(()=>e.saveSVGtoFile({})))},of=(t,e)=>{const n=0===t?e.nextElementSibling:e.previousElementSibling;e.remove(),n.remove()},sf=t=>{const e=pe({class:"igv-column-shim"});ga(e,t);const n=pe({class:"igv-column"});return ga(n,e),n},af=(t,e)=>{for(let n=0;n<e;n++){const r=pe({class:"igv-column"});if(pa(r,t),e>1&&n>0){pa(pe({class:"igv-column-shim"}),r)}}};class lf{constructor(t,e,n){this.browser=t,this.referenceFrame=e,this.column=n,this.container=pe({class:"igv-center-line"}),n.appendChild(this.container),t.isCenterLineVisible?this.show():this.hide()}repaint(){const{x:t}=this.column.getBoundingClientRect(),e=Math.floor(t+.5*this.browser.calculateViewportWidth(this.browser.referenceFrameList.length));if(this.referenceFrame){1/this.referenceFrame.bpPerPixel>1?(this.container.style.left=`${e}px`,this.container.style.width=`${Math.floor(this.referenceFrame.toPixels(1))}px`,this.container.classList.remove("igv-center-line-thin"),this.container.classList.add("igv-center-line-wide")):(this.container.style.left=`${e}px`,this.container.style.width="1px",this.container.classList.remove("igv-center-line-wide"),this.container.classList.add("igv-center-line-thin"))}}show(){this.isVisible=!0,this.container.style.display="block",this.repaint()}hide(){this.isVisible=!1,this.container.style.display="none"}resize(){this.repaint()}}const cf=ke;class hf{constructor(t){this.browser=t,this.height=40,this.name="",this.id="ruler",this.disableButtons=!0,this.ignoreTrackMenu=!0,this.order=.01*Number.MIN_SAFE_INTEGER,this.removable=!1,this.type="ruler"}async getFeatures(t,e,n){return[]}computePixelHeight(t){return this.height}draw({context:t,referenceFrame:e,pixelWidth:n,pixelHeight:r,bpPerPixel:i,bpStart:o}){Ws.isWholeGenomeView(e.chr)?this.drawWholeGenome({context:t,pixelWidth:n,pixelHeight:r,bpPerPixel:i}):this.doDraw({context:t,referenceFrame:e,pixelWidth:n,pixelHeight:r,bpStart:o})}drawWholeGenome({context:t,pixelWidth:e,pixelHeight:n,bpPerPixel:r}){t.save(),ls.fillRect(t,0,0,e,n,{fillStyle:"white"});for(let e of this.browser.genome.wgChromosomeNames){let i=this.browser.genome.getCumulativeOffset(e),o=this.browser.genome.getChromosome(e).bpLength,s=Math.round(i/r),a=Math.round(o/r);this.renderChromosomeRect(t,s,0,a,n,e)}t.restore()}doDraw({context:t,referenceFrame:e,pixelWidth:n,pixelHeight:r,bpStart:i}){t.clearRect(0,0,n,r);const o=function(t,e){if(t<10)return new uf(1,"bp",1);const n=Math.floor(Math.log10(t));let r="bp",i=1;n>9?(r="gb",i=1e9):n>6?(r="mb",i=1e6):n>3&&(r="kb",i=1e3);const o=Math.pow(10,n-1),s=t/o,a=75,l=Math.pow(10,n-1),c=Math.pow(10,n)/2;return new uf(s<a&&!0!==e?l:c,r,i)}(Math.floor(e.toBP(n)),t.isSVG);let s=Math.floor(i/o.majorTick)-1;const{tickDelta:a,labelLength:l}=function(t,e,n,r,i){const o=c(e,l(1+r,i),n)-c(e,l(r,i),n),s=`${ke(Math.floor(l(r,i)/i.unitMultiplier))} ${i.majorUnit}`,a=Math.floor(t.measureText(s).width);return{tickDelta:o,labelLength:a};function l(t,e){return Math.floor(t*e.majorTick)}function c(t,e,n){return Math.round(t.toPixels(e-1-n+.5))}}(t,e,i,s,o);let c,h;this.browser.referenceFrameList.indexOf(e);let u=a;const f=.25*l;do{h=Math.floor(s*o.majorTick);const n=`${ke(Math.floor(h/o.unitMultiplier))} ${o.majorUnit}`;c=Math.round(e.toPixels(h-1-i+.5));const r=Math.round(c-t.measureText(n).width/2);r>0&&f+l<=u&&(ls.fillText(t,n,r,this.height-8),u=0),c>0&&ls.strokeLine(t,c,this.height-6,c,this.height-2),h=Math.floor((1+s)*o.majorTick);let d=c+(Math.round(e.toPixels(h-1-i+.5))-c)/2;d>0&&ls.strokeLine(t,d,this.height-6,d,this.height-2),++s,u+=a}while(c<n);ls.strokeLine(t,0,this.height-2,n,this.height-2)}renderChromosomeRect(t,e,n,r,i,o){t.textAlign="center",t.textBaseline="middle",t.font="12px sans-serif",ls.strokeLine(t,e+r,n,e+r,n+i,{strokeStyle:no.greyScale(191)});const s=o.startsWith("chr")?o.substring(3):o;r>t.measureText(s).width&&ls.fillText(t,s,e+r/2,n+i/2,{fillStyle:no.greyScale(68)})}supportsWholeGenome(){return!0}dispose(){}}class uf{constructor(t,e,n){this.majorTick=t,this.minorTick=t/10,this.majorUnit=e,this.unitMultiplier=n}description(t){console.log((t||"")+" tick "+cf(this.majorTick)+" label width "+cf(this.labelWidthBP)+" multiplier "+this.unitMultiplier)}}class ff{constructor(t,e){this.config=t,this.guid=ve(),this.namespace=".browser_"+this.guid,this.parent=e,this.root=pe({class:"igv-container"}),e.appendChild(this.root),Ko.init(this.root),this.columnContainer=pe({class:"igv-column-container"}),this.root.appendChild(this.columnContainer),this.menuPopup=new xa(this.columnContainer),this.initialize(t),this.trackViews=[],this.constants={dragThreshold:3,scrollThreshold:5,defaultColor:"rgb(0,0,150)",doubleClickDelay:t.doubleClickDelay||500},this.eventHandlers={},this.addMouseHandlers(),this.setControls(t)}initialize(t){t.gtex&&(jc.gtexLoaded=!0),this.flanking=t.flanking,this.crossDomainProxy=t.crossDomainProxy,this.formats=t.formats,this.trackDefaults=t.trackDefaults,this.nucleotideColors=t.nucleotideColors||Uu;for(let t of Object.keys(this.nucleotideColors))this.nucleotideColors[t.toLowerCase()]=this.nucleotideColors[t];this.trackLabelsVisible=t.showTrackLabels,this.isCenterLineVisible=t.showCenterGuide,this.cursorGuideVisible=t.showCursorTrackingGuide,this.showSampleNames=t.showSampleNames,this.showSampleNameButton=t.showSampleNameButton,this.sampleNameViewportWidth=t.sampleNameViewportWidth||200,t.search&&(this.searchConfig={type:"json",url:t.search.url,coords:void 0===t.search.coords?1:t.search.coords,chromosomeField:t.search.chromosomeField||"chromosome",startField:t.search.startField||"start",endField:t.search.endField||"end",geneField:t.search.geneField||"gene",snpField:t.search.snpField||"snp",resultsField:t.search.resultsField})}setControls(t){const e=this.createStandardControls(t);e.insertBefore(de(this.columnContainer)),this.$navigation=e,!1===t.showControls&&e.hide()}createStandardControls(t){this.navbarManager=new $u(this);const e=de("<div>",{class:"igv-navbar"});this.$navigation=e;const n=de("<div>",{class:"igv-navbar-left-container"});e.append(n);const r=de("<div>",{class:"igv-logo"});n.append(r);const i=de('<svg width="690px" height="324px" viewBox="0 0 690 324" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>IGV</title><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="IGV" fill="#666666"><polygon id="Path" points="379.54574 8.00169252 455.581247 8.00169252 515.564813 188.87244 532.884012 253.529506 537.108207 253.529506 554.849825 188.87244 614.833392 8.00169252 689.60164 8.00169252 582.729511 320.722144 486.840288 320.722144"></polygon><path d="M261.482414,323.793286 C207.975678,323.793286 168.339046,310.552102 142.571329,284.069337 C116.803612,257.586572 103.919946,217.158702 103.919946,162.784513 C103.919946,108.410325 117.437235,67.8415913 144.472217,41.0770945 C171.507199,14.3125977 212.903894,0.930550071 268.663545,0.930550071 C283.025879,0.930550071 298.232828,1.84616386 314.284849,3.6774189 C330.33687,5.50867394 344.839793,7.97378798 357.794056,11.072835 L357.794056,68.968378 C339.48912,65.869331 323.578145,63.5450806 310.060654,61.9955571 C296.543163,60.4460336 284.574731,59.6712835 274.154998,59.6712835 C255.850062,59.6712835 240.502308,61.4320792 228.111274,64.9537236 C215.720241,68.4753679 205.793482,74.2507779 198.330701,82.2801269 C190.867919,90.309476 185.587729,100.87425 182.48997,113.974767 C179.392212,127.075284 177.843356,143.345037 177.843356,162.784513 C177.843356,181.942258 179.251407,198.000716 182.067551,210.960367 C184.883695,223.920018 189.671068,234.41436 196.429813,242.443709 C203.188559,250.473058 212.059279,256.178037 223.042241,259.558815 C234.025202,262.939594 247.683295,264.629958 264.01693,264.629958 C268.241146,264.629958 273.098922,264.489094 278.590403,264.207362 C284.081883,263.925631 289.643684,263.50304 295.275972,262.939577 L295.275972,159.826347 L361.595831,159.826347 L361.595831,308.579859 C344.698967,313.087564 327.239137,316.750019 309.215815,319.567334 C291.192494,322.38465 275.281519,323.793286 261.482414,323.793286 L261.482414,323.793286 L261.482414,323.793286 Z" id="Path"></path>;<polygon id="Path" points="0.81355666 5.00169252 73.0472883 5.00169252 73.0472883 317.722144 0.81355666 317.722144"></polygon></g> </g> </svg>');i.css("width","34px"),i.css("height","32px"),r.append(i),this.$current_genome=de("<div>",{class:"igv-current-genome"}),n.append(this.$current_genome),this.$current_genome.text("");const o=de("<div>",{class:"igv-navbar-genomic-location"});n.append(o),this.chromosomeSelectWidget=new Gu(this,o.get(0)),void 0===t.showChromosomeWidget&&(t.showChromosomeWidget=!0),!0===t.showChromosomeWidget?this.chromosomeSelectWidget.show():this.chromosomeSelectWidget.hide();const s=de("<div>",{class:"igv-locus-size-group"});o.append(s);const a=de("<div>",{class:"igv-search-container"});s.append(a),this.$searchInput=de("<input>",{class:"igv-search-input",type:"text",placeholder:"Locus Search"}),a.append(this.$searchInput),this.$searchInput.change((()=>this.doSearch(this.$searchInput.val())));const l=pe({class:"igv-search-icon-container"});a.append(de(l)),l.appendChild(we("search")),l.addEventListener("click",(()=>this.doSearch(this.$searchInput.val()))),this.windowSizePanel=new Zu(s.get(0),this);const c=de("<div>",{class:"igv-navbar-right-container"});e.append(c);const h=de('<div class="igv-navbar-toggle-button-container">');return c.append(h),this.$toggle_button_container=h,this.cursorGuide=new Xu(this.columnContainer,this),this.cursorGuideButton=new Yu(this,h.get(0)),this.centerLineButton=new Ku(this,h.get(0)),this.setTrackLabelVisibility(t.showTrackLabels),this.trackLabelControl=new Qu(h.get(0),this),this.sampleNameControl=new Ju(h.get(0),this),!0===t.showSVGButton&&(this.svgSaveControl=new rf(h.get(0),this)),this.zoomWidget=new nf(this,c.get(0)),!1===t.showNavigation&&this.$navigation.hide(),this.inputDialog=new Qo(this.root),this.inputDialog.container.id=`igv-input-dialog-${ve()}`,this.dataRangeDialog=new as(de(this.root)),this.dataRangeDialog.$container.get(0).id=`igv-data-range-dialog-${ve()}`,this.genericColorPicker=new ya({parent:this.columnContainer,width:432}),this.genericColorPicker.container.id=`igv-track-color-picker-${ve()}`,e}getSampleNameViewportWidth(){return!1===this.showSampleNames?0:this.sampleNameViewportWidth}isMultiLocusMode(){return this.referenceFrameList&&this.referenceFrameList.length>1}addTrackToFactory(t,e){Iu(t,e)}isMultiLocusWholeGenomeView(){if(void 0===this.referenceFrameList||1===this.referenceFrameList.length)return!1;for(let t of this.referenceFrameList)if("all"===t.chr.toLowerCase())return!0;return!1}toSVG(){let{x:t,y:e,width:n,height:r}=this.columnContainer.getBoundingClientRect();let i=new Ns({width:n,height:8e3,backdropColor:"white",multiLocusGap:0,viewbox:{x:0,y:0,width:n,height:8e3}});for(let t of this.trackViews)t.renderSVGContext(i,{deltaX:0,deltaY:-e});return i.setHeight(r),i.getSerializedSvg(!0)}renderSVG(t){const e=this.toSVG();return t.empty(),t.append(e),e}saveSVGtoFile(t){let e=this.toSVG();t.$container&&(t.$container.empty(),t.$container.append(e));qe(t.filename||"igvjs.svg",URL.createObjectURL(new Blob([e],{type:"application/octet-stream"})))}async loadSession(t){let e;return this.roi=[],e=t.url||t.file?await async function(t){const e=t.url||t.file;if(t.url&&(t.url.startsWith("blob:")||t.url.startsWith("data:"))){const e=ff.uncompressSession(t.url);return JSON.parse(e)}{let n=t.filename;if(n||(n=t.url?await ha(t.url):t.file.name),n.endsWith(".xml")){const t=Ws.KNOWN_GENOMES,n=await po.loadString(e);return new Ou(n,t)}return n.endsWith(".json")?po.loadJson(e):void 0}}(t):t,this.loadSessionObject(e)}async loadSessionObject(t){this.cleanHouseForSession(),this.showSampleNames=t.showSampleNames||!1,this.sampleNameControl.setState(!0===this.showSampleNames),t.sampleNameViewportWidth&&(this.sampleNameViewportWidth=t.sampleNameViewportWidth),da(this.columnContainer,"igv-axis-column"),da(this.columnContainer,"igv-sample-name-column"),da(this.columnContainer,"igv-scrollbar-column"),da(this.columnContainer,"igv-track-drag-column"),da(this.columnContainer,"igv-gear-menu-column");const e=await Ws.expandReference(t.reference||t.genome);if(await this.loadReference(e,t.locus),this.centerLineList=this.createCenterLineList(this.columnContainer),!1!==t.showIdeogram&&this.trackViews.push(new Ca(this,this.columnContainer,new Eu(this))),!1!==t.showRuler&&this.trackViews.push(new Ca(this,this.columnContainer,new hf(this))),t.gtexSelections)for(let e of this.referenceFrameList)for(let n of Object.keys(t.gtexSelections)){const r=t.gtexSelections[n].gene,i=t.gtexSelections[n].snp;e.selection=new Hu(r,i)}if(t.roi){this.roi=[];for(let e of t.roi)this.roi.push(new Pu(e,this.genome))}const n=e.tracks||[],r=t.tracks?n.concat(t.tracks):n;0===r.filter((t=>"sequence"===t.type)).length&&r.push({type:"sequence",order:ws});let i=1;for(let t of r)void 0===t.order&&(t.order=i++);await this.loadTrackList(r),this.updateUIWithReferenceFrameList()}createCenterLineList(t){const e=t.querySelectorAll(".igv-center-line");for(let t=0;t<e.length;t++)e[t].remove();const n=[],r=t.querySelectorAll(".igv-column");for(let t=0;t<r.length;t++)n.push(new lf(this,this.referenceFrameList[t],r[t]));return n}async loadReference(t,e){const n=await Ws.loadGenome(t),r=void 0===this.genome||this.genome.id!==n.id;this.genome=n,this.updateNavbarDOMWithGenome(n),r&&this.removeAllTracks();let i=function(t,e){return t?Array.isArray(t)?t.join(" "):t:e.getHomeChromosomeName()}(e,n);if(!await this.search(i,!0)){console.log("Initial locus not found: "+i),i=n.getHomeChromosomeName();if(!await this.search(i,!0))throw new Error("Cannot set initial locus")}}cleanHouseForSession(){for(let t of this.trackViews)t.removeDOMFromColumnContainer();this.columnContainer.querySelectorAll(".igv-axis-column, .igv-column-shim, .igv-column, .igv-sample-name-column, .igv-scrollbar-column, .igv-track-drag-column, .igv-gear-menu-column").forEach((t=>t.remove())),this.trackViews=[]}updateNavbarDOMWithGenome(t){this.$current_genome.text(t.id||""),this.$current_genome.attr("title",t.id||""),this.chromosomeSelectWidget.update(t)}async loadGenome(t){const e=await Ws.expandReference(t);await this.loadReference(e,void 0);const n=e.tracks||[];return 0===n.filter((t=>"sequence"===t.type)).length&&n.push({type:"sequence",order:ws}),await this.loadTrackList(n),await this.updateViews(),this.genome}updateUIWithReferenceFrameList(){const t=this.referenceFrameList;this.updateLocusSearchWidget();const e=this.isMultiLocusWholeGenomeView()||Ws.isWholeGenomeView(t[0].chr);this.navbarManager.navbarDidResize(this.$navigation.width(),e),gf(this.trackViews,this.trackLabelsVisible),this.setCenterLineAndCenterLineButtonVisibility(!Ws.isWholeGenomeView(t[0].chr))}setTrackLabelVisibility(t){gf(this.trackViews,t)}setCursorGuideVisibility(t){t?this.cursorGuide.show():this.cursorGuide.hide()}setCustomCursorGuideMouseHandler(t){this.cursorGuide.customMouseHandler=t}setCenterLineVisibility(t){for(let e of this.centerLineList)!0===t?(e.show(),e.repaint()):e.hide()}setCenterLineAndCenterLineButtonVisibility(t){for(let e of this.centerLineList){t&&e.isVisible?e.show():e.container.style.display="none"}t&&this.centerLineButton.isVisible?this.centerLineButton.show():this.centerLineButton.button.style.display="none"}async loadTrackList(t){try{const e=[];for(let n of t)e.push(this.loadTrack(n,!1));const n=await Promise.all(e),r=this.trackViews.filter((function(t){return t.track.autoscaleGroup}));return r.length>0&&this.updateViews(r),n}finally{await this.resize()}}async loadROI(t){if(this.roi||(this.roi=[]),Array.isArray(t))for(let e of t)this.roi.push(new Pu(e,this.genome));else this.roi.push(new Pu(t,this.genome));await this.updateViews(!0)}removeROI(t){for(let e=0;e<this.roi.length;e++)if(this.roi[e].name===t.name){this.roi.splice(e,1);break}for(let t of this.trackViews)t.updateViews(!0)}clearROIs(){this.roi=[];for(let t of this.trackViews)t.updateViews(!0)}getRulerTrackView(){const t=this.trackViews.filter((({track:t})=>"ruler"===t.id));return t.length>0?t[0]:void 0}async loadTrack(t,e){_e(t)&&(t=JSON.parse(t));try{const n=await this.createTrack(t);if(void 0===n)return Ko.presentAlert(new Error(`Unknown file type: ${t.url||t}`),void 0),n;void 0===n.order&&(n.order=this.trackViews.length);const r=new Ca(this,this.columnContainer,n);if(this.trackViews.push(r),gf(this.trackViews,this.trackLabelsVisible),this.reorderTracks(),this.fireEvent("trackorderchanged",[this.getTrackOrder()]),"function"==typeof n.postInit)try{r.startSpinner(),await n.postInit()}finally{r.stopSpinner()}return n.autoscaleGroup||(t.sync?await r.updateViews():r.updateViews()),"function"==typeof n.hasSamples&&n.hasSamples()&&!1!==this.config.showSampleNameButton&&this.sampleNameControl.show(),n}catch(e){const n={401:"Access unauthorized",403:"Access forbidden",404:"Not found"};console.error(e);let r=e.message||e.error||e.toString();n.hasOwnProperty(r)&&(r=n[r]),r+=": "+t.url,Ko.presentAlert(new Error(r),void 0)}finally{!1===e||await this.resize()}}async createTrack(t){let e=await async function(t){return"function"==typeof t?t():t}(t.url);if(_e(e)&&(e=e.trim()),e)if(t.format)t.format=t.format.toLowerCase();else{let n=t.filename;n||(n=await ha(e)),t.format=function(t){var e,n;if((t=t.toLowerCase()).endsWith("refgene.txt.gz")||t.endsWith("refgene.txt.bgz")||t.endsWith("refgene.txt")||t.endsWith("refgene.sorted.txt.gz")||t.endsWith("refgene.sorted.txt.bgz"))return"refgene";switch((e=t.indexOf("?"))>0&&(t=t.substr(0,e)),t.endsWith(".gz")&&(t=t.substr(0,t.length-3)),(t.endsWith(".txt")||t.endsWith(".tab")||t.endsWith(".bgz"))&&(t=t.substr(0,t.length-4)),n=(e=t.lastIndexOf("."))<0?t:t.substr(e+1)){case"bw":return"bigwig";case"bb":return"bigbed";default:return us.has(n)?n:void 0}}(n),t.format||void 0!==t.sourceType&&"htsget"!==t.sourceType||await hc.inferFormat(t)}let n=t.type?t.type.toLowerCase():void 0;if(!n){if(n=fs(t),"bedtype"===n){const e=zc(t,this.genome);t._featureSource=e;const r=await e.trackType();n=r||"annotation"}t.type=n}if(this.trackDefaults&&n){const e=this.trackDefaults[n];if(e)for(let n in e)e.hasOwnProperty(n)&&void 0===t[n]&&(t[n]=e[n])}const r=Nu(n,t,this);if(r&&t.roi){r.roi=[];for(let e of t.roi)r.roi.push(new Pu(e,this.genome))}return r}reorderTracks(){this.trackViews.sort((function(t,e){const n=t=>"ideogram"===t.track.id?1:"ruler"===t.track.id?2:3,r=n(t),i=n(e);if(r===i){return(t.track.order||0)-(e.track.order||0)}return r-i}));for(let{axis:t,viewports:e,sampleNameViewport:n,outerScroll:r,dragHandle:i,gearContainer:o}of this.trackViews){t.remove();for(let{$viewport:t}of e)t.detach();n.viewport.remove(),r.remove(),i.remove(),o.remove()}const t=this.columnContainer.querySelectorAll(".igv-column");for(let{axis:e,viewports:n,sampleNameViewport:r,outerScroll:i,dragHandle:o,gearContainer:s}of this.trackViews){this.columnContainer.querySelector(".igv-axis-column").appendChild(e);for(let e=0;e<t.length;e++){const{$viewport:r}=n[e];t[e].appendChild(r.get(0))}this.columnContainer.querySelector(".igv-sample-name-column").appendChild(r.viewport),this.columnContainer.querySelector(".igv-scrollbar-column").appendChild(i),this.columnContainer.querySelector(".igv-track-drag-column").appendChild(o),this.columnContainer.querySelector(".igv-gear-menu-column").appendChild(s)}}getTrackOrder(){return this.trackViews.filter((t=>t.track&&t.track.name)).map((t=>t.track.name))}removeTrackByName(t){const e=this.trackViews.slice();for(let n of e)t===n.track.name&&this.removeTrack(n.track)}removeTrack(t){this.trackViews.splice(this.trackViews.indexOf(t.trackView),1),this.fireEvent("trackremoved",[t]),this.fireEvent("trackorderchanged",[this.getTrackOrder()]),t.trackView.dispose()}removeAllTracks(){const t=[];for(let e of this.trackViews)"ruler"!==e.track.id&&"ideogram"!==e.track.id?(this.fireEvent("trackremoved",[e.track]),e.dispose()):t.push(e);this.trackViews=t}findTracks(t,e){let n="function"==typeof t?e=>t(e.track):n=>e===n.track[t];return this.trackViews.filter(n).map((t=>t.track))}setTrackHeight(t){this.trackHeight=t,this.trackViews.forEach((function(e){e.setTrackHeight(t)}))}async visibilityChange(){if(this.referenceFrameList.find((t=>t.bpPerPixel<0))){const t=this.calculateViewportWidth(this.referenceFrameList.length);for(let e of this.referenceFrameList)e.bpPerPixel=(e.end-e.start)/t}if(this.referenceFrameList){const t=this.isMultiLocusWholeGenomeView()||Ws.isWholeGenomeView(this.referenceFrameList[0].chr);this.navbarManager.navbarDidResize(this.$navigation.width(),t)}await this.resize()}async resize(){const t=this.calculateViewportWidth(this.referenceFrameList.length);for(let e of this.referenceFrameList){const n=this.referenceFrameList.indexOf(e),{chr:r,genome:i}=e,{bpLength:o}=i.getChromosome(e.chr),s=e.toBP(t);Ws.isWholeGenomeView(r)||s>o?e.bpPerPixel=o/t:e.end=e.start+e.toBP(t);for(let{viewports:e}of this.trackViews)e[n].setWidth(t)}await this.updateViews(!0),this.updateUIWithReferenceFrameList()}async updateViews(t){const e=this.trackViews;this.updateLocusSearchWidget();for(let t of this.centerLineList)t.repaint();if(this.dragObject)for(let n of e)await n.updateViews(t);else{const o={},s=[];for(let t of e){const e=t.track.autoscaleGroup;if(e){var n=o[e];n||(n=[],o[e]=n),n.push(t)}else s.push(t)}if(Object.entries(o).length>0){const e=Object.keys(o);for(let n of e){const e=o[n],s=[];for(let t of e)s.push(t.getInViewFeatures());const a=await Promise.all(s);var r,i=[];for(let t of a)i=i.concat(t);r=la(i);const l=[];for(let n of e)n.track.dataRange=r,n.track.autoscale=!1,l.push(n.updateViews(t));await Promise.all(l)}}await Promise.all(s.map((e=>e.updateViews(t))))}}updateLocusSearchWidget(){const t=this.referenceFrameList,e=this.calculateViewportWidth(this.referenceFrameList.length);for(let n of t)n.end=n.start+n.bpPerPixel*e;this.chromosomeSelectWidget.select.value=1===t.length?this.referenceFrameList[0].chr:"";const n=this.referenceFrameList.map((t=>t.getLocusString())).join(" ");this.$searchInput.val(n),this.fireEvent("locuschange",[this.referenceFrameList])}calculateViewportWidth(t){let{width:e}=this.columnContainer.getBoundingClientRect();return e-=50+this.getSampleNameViewportWidth()+14+12+28,e-=5*(t-1),Math.floor(e/t)}getCenterLineXOffset(){let{width:t}=this.columnContainer.getBoundingClientRect();return t-=50+this.getSampleNameViewportWidth()+14+12+28,Math.floor(t/2+50)}minimumBases(){return this.config.minimumBases}zoomIn(){this.zoomWithScaleFactor(.5)}zoomOut(){this.zoomWithScaleFactor(2)}async zoomWithScaleFactor(t,e,n){const r=this.calculateViewportWidth(this.referenceFrameList.length);let i=n?[n]:this.referenceFrameList;for(let n of i)n.zoomWithScaleFactor(this,t,r,e)}async presentMultiLocusPanel(t,e){const n=this.calculateViewportWidth(1+this.referenceFrameList.length);!function(t,e,n,r,i){e.bpPerPixel*=t;const o=(r+(r+i))/2;e.start=o-e.bpPerPixel*(n/2),e.end=e.start+e.bpPerPixel*n,e.locusSearchString=e.getLocusString()}(this.calculateViewportWidth(this.referenceFrameList.length)/this.calculateViewportWidth(1+this.referenceFrameList.length),e,n,t.start,t.lengthOnRef);const r=this.genome.getChromosomeName(t.mate.chr),i=function(t,e,n,r,i,o){const s=(i+(i+o))/2-n*(r/2);return new ju(t,e,s,s+n*r,n)}(this.genome,r,e.bpPerPixel,n,t.mate.position,t.lengthOnRef),o=this.referenceFrameList.indexOf(e),s=1+this.referenceFrameList.indexOf(e),{$viewport:a}=this.trackViews[0].viewports[o],l=sf(a.get(0).parentElement);if(s===this.referenceFrameList.length){this.referenceFrameList.push(i);for(let t of this.trackViews){const e=ma(t,l,i);t.viewports.push(e)}}else{this.referenceFrameList.splice(s,0,i);for(let t of this.trackViews){const e=ma(t,l,i);t.viewports.splice(s,0,e)}}this.centerLineList=this.createCenterLineList(this.columnContainer),await this.resize()}async removeMultiLocusPanel(t){const e=this.referenceFrameList.indexOf(t),{$viewport:n}=this.trackViews[0].viewports[e];of(e,n.parent().get(0));for(let{viewports:t}of this.trackViews)t[e].dispose(),t.splice(e,1);if(this.referenceFrameList.splice(e,1),1===this.referenceFrameList.length&&this.getRulerTrackView())for(let t of this.getRulerTrackView().viewports)t.dismissLocusLabel();const r=this.calculateViewportWidth(1+this.referenceFrameList.length)/this.calculateViewportWidth(this.referenceFrameList.length);await this.rescaleForMultiLocus(r)}async rescaleForMultiLocus(t){const e=this.calculateViewportWidth(this.referenceFrameList.length);for(let e of this.referenceFrameList)e.bpPerPixel*=t;for(let{viewports:t}of this.trackViews)for(let n of t)n.setWidth(e);this.centerLineList=this.createCenterLineList(this.columnContainer),this.updateUIWithReferenceFrameList(),await this.updateViews(!0)}async goto(t,e,n){await this.search(t+":"+e+"-"+n)}async doSearch(t,e){const n=await this.search(t,e);return n||Ko.presentAlert(new Error(`Unrecognized locus: <b> ${t} </b>`)),n}async search(t,e){const n=await Wu(this,t);if(n&&n.length>0){this.referenceFrameList=function(t,e,n,r,i){return t.map((t=>{n&&t.gene&&(t.start=Math.max(0,t.start-n),t.end+=n);const o=e.getChromosome(t.chr);ca(o.bpLength,t,r);const s=new ju(e,t.chr,t.start,t.end,(t.end-t.start)/i);return s.locusSearchString=t.locusSearchString,(t.gene||t.snp)&&(s.selection=new Hu(t.gene,t.snp)),s}))}(n,this.genome,this.flanking,this.minimumBases(),this.calculateViewportWidth(n.length));for(let t of this.trackViews)t.removeDOMFromColumnContainer();this.columnContainer.querySelectorAll(".igv-column-shim, .igv-column").forEach((t=>t.remove())),af(this.columnContainer.querySelector(".igv-sample-name-column"),this.referenceFrameList.length),this.centerLineList=this.createCenterLineList(this.columnContainer);for(let t of this.trackViews)t.addDOMToColumnContainer(this,this.columnContainer,this.referenceFrameList);return this.updateUIWithReferenceFrameList(),e||await this.updateViews(),!0}return!1}async loadSampleInformation(t){var e=t;je(t)&&(e=t.name),"fam"===e.substr(e.lastIndexOf(".")+1)&&(this.sampleInformation=await function(t,e){return(new zu).loadPlinkFile(t,e)}(t))}on(t,e){this.eventHandlers[t]||(this.eventHandlers[t]=[]),this.eventHandlers[t].push(e)}un(t,e){this.off(t,e)}off(t,e){if(t)if(e){const n=this.eventHandlers[t];if(n&&0!==n.length){const r=n.indexOf(e);-1!==r&&this.eventHandlers[t].splice(r,1)}else console.warn("No handlers to remove for event: "+t)}else this.eventHandlers[t]=[];else this.eventHandlers={}}fireEvent(t,e,n){const r=this.eventHandlers[t];if(void 0===r||0===r.length)return;const i=n||window;return r.map((function(t){return t.apply(i,e)}))[0]}dispose(){this.removeMouseHandlers();for(let t of this.trackViews)t.dispose()}toJSON(){const t={version:"2.10.4"};if(void 0!==this.showSampleNames&&(t.showSampleNames=this.showSampleNames),200!==this.sampleNameViewportWidth&&(t.sampleNameViewportWidth=this.sampleNameViewportWidth),t.reference=this.genome.toJSON(),Ue(t.reference.fastaURL))throw new Error(`Error. Sessions cannot include local file references ${t.reference.fastaURL.name}.`);if(Ue(t.reference.indexURL))throw new Error(`Error. Sessions cannot include local file references ${t.reference.indexURL.name}.`);const e=[],n={};let r=this.trackViews[0];for(let{referenceFrame:t}of r.viewports){const r=t.getLocusString();if(e.push(r),t.selection){const e={gene:t.selection.gene,snp:t.selection.snp};n[r]=e}}t.locus=1===e.length?e[0]:e;Object.getOwnPropertyNames(n).length>0&&(t.gtexSelections=n);const i=[],o=[];for(let{track:t}of this.trackViews)try{let e;e="function"==typeof t.getState?t.getState():t.config,e&&(e.browser&&delete e.browser,e.order=t.order,i.push(e))}catch(t){o.push(t)}if(o.length>0){let t=1,e="Errors encountered saving session:";for(let n of o)e+=` (${t++}) ${n.toString()}.`;throw Error(e)}if(i.filter((t=>{t.url&&je(t.url)})).length>0)throw new Error("Error. Sessions cannot include local file references.");return t.tracks=i,t}compressedSession(){return function(t){const e=new Uint8Array(t.length);for(var n=0;n<t.length;n++)e[n]=t.charCodeAt(n);const r=new Ui.deflateRaw(e),i=String.fromCharCode.apply(null,r);return btoa(i).replace(/\+/g,".").replace(/\//g,"_").replace(/=/g,"-")}(JSON.stringify(this.toJSON()))}sessionURL(){const t=window.location.href.slice(),e=t.indexOf("?");return(e>0?t.substring(0,e):t)+"?sessionURL=blob:"+this.compressedSession()}currentLoci(){const t=[],e=this.trackViews[0];for(let{referenceFrame:n}of e.viewports){const e=n.getLocusString();t.push(e)}return t}mouseDownOnViewport(t,e){var n;n=me(t),this.vpMouseDown={viewport:e,lastMouseX:n.x,mouseDownX:n.x,lastMouseY:n.y,mouseDownY:n.y,referenceFrame:e.referenceFrame}}cancelTrackPan(){const t=this.dragObject;this.dragObject=void 0,this.isScrolling=!1,this.vpMouseDown=void 0,t&&t.viewport.referenceFrame.start!==t.start&&(this.updateViews(),this.fireEvent("trackdragend"))}startTrackDrag(t){this.dragTrack=t}updateTrackDrag(t){if(t&&this.dragTrack){const e=this.dragTrack,n=this.trackViews.indexOf(t),r=this.trackViews.indexOf(e),i=this.trackViews;i[n]=e,i[r]=t;const o=this.trackViews[n].track.order;this.trackViews[r].track.order=o;const s=i.length;let a=o;if(n<r)for(let t=n+1;t<s;t++){const e=i[t].track;if(!(e.order<=a))break;e.order=Math.min(Number.MAX_SAFE_INTEGER,a+1),a=e.order}else for(let t=n-1;t>0;t--){const e=i[t].track;if(!(e.order>=a))break;e.order=Math.max(-Number.MAX_SAFE_INTEGER,a-1),a=e.order}this.reorderTracks()}}endTrackDrag(){this.dragTrack?(this.dragTrack=void 0,this.fireEvent("trackorderchanged",[this.getTrackOrder()])):this.dragTrack=void 0}addMouseHandlers(){this.addWindowResizeHandler(),this.addRootMouseUpHandler(),this.addRootMouseLeaveHandler(),this.addColumnContainerEventHandlers()}removeMouseHandlers(){this.removeWindowResizeHandler(),this.removeRootMouseUpHandler(),this.removeRootMouseLeaveHandler(),this.removeColumnContainerEventHandlers()}addWindowResizeHandler(){this.boundWindowResizeHandler=function(){this.resize()}.bind(this),window.addEventListener("resize",this.boundWindowResizeHandler)}removeWindowResizeHandler(){window.removeEventListener("resize",this.boundWindowResizeHandler)}addRootMouseUpHandler(){this.boundRootMouseUpHandler=pf.bind(this),this.root.addEventListener("mouseup",this.boundRootMouseUpHandler)}removeRootMouseUpHandler(){this.root.removeEventListener("mouseup",this.boundRootMouseUpHandler)}addRootMouseLeaveHandler(){this.boundRootMouseLeaveHandler=pf.bind(this),this.root.addEventListener("mouseleave",this.boundRootMouseLeaveHandler)}removeRootMouseLeaveHandler(){this.root.removeEventListener("mouseleave",this.boundRootMouseLeaveHandler)}addColumnContainerEventHandlers(){this.boundColumnContainerMouseMoveHandler=df.bind(this),this.boundColumnContainerTouchMoveHandler=df.bind(this),this.boundColumnContainerMouseLeaveHandler=pf.bind(this),this.boundColumnContainerMouseUpHandler=pf.bind(this),this.boundColumnContainerTouchEndHandler=pf.bind(this),this.columnContainer.addEventListener("mousemove",this.boundColumnContainerMouseMoveHandler),this.columnContainer.addEventListener("touchmove",this.boundColumnContainerTouchMoveHandler),this.columnContainer.addEventListener("mouseleave",this.boundColumnContainerMouseLeaveHandler),this.columnContainer.addEventListener("mouseup",this.boundColumnContainerMouseUpHandler),this.columnContainer.addEventListener("touchend",this.boundColumnContainerTouchEndHandler)}removeColumnContainerEventHandlers(){this.columnContainer.removeEventListener("mousemove",this.boundColumnContainerMouseMoveHandler),this.columnContainer.removeEventListener("touchmove",this.boundColumnContainerTouchMoveHandler),this.columnContainer.removeEventListener("mouseleave",this.boundColumnContainerMouseLeaveHandler),this.columnContainer.removeEventListener("mouseup",this.boundColumnContainerMouseUpHandler),this.columnContainer.removeEventListener("touchend",this.boundColumnContainerTouchEndHandler)}async getDriveFileInfo(t){const e="https://www.googleapis.com/drive/v3/files/"+Ie(t)+"?supportsTeamDrives=true";return po.loadJson(e,aa({}))}static uncompressSession(t){let e;if(t.indexOf("/gzip;base64")>0){e=Yi(t);let n="";for(let t of e)n+=String.fromCharCode(t);return n}return function(t){t=t.replace(/\./g,"+").replace(/_/g,"/").replace(/-/g,"=");const e=atob(t),n=[];for(let t=0;t<e.length;t++)n.push(e.charCodeAt(t));const r=Ui.inflateRaw(n);let i="";for(let t of r)i+=String.fromCharCode(t);return i}(t.substring(5))}}function df(t){t.preventDefault();const{x:e,y:n}=me(t);if(this.vpMouseDown){const{viewport:t,referenceFrame:r}=this.vpMouseDown,i=Math.abs(e-this.vpMouseDown.mouseDownX)>Math.abs(n-this.vpMouseDown.mouseDownY);if(!this.dragObject&&!this.isScrolling)if(i)this.vpMouseDown.mouseDownX&&Math.abs(e-this.vpMouseDown.mouseDownX)>this.constants.dragThreshold&&(this.dragObject={viewport:t,start:r.start});else if(this.vpMouseDown.mouseDownY&&Math.abs(n-this.vpMouseDown.mouseDownY)>this.constants.scrollThreshold){this.isScrolling=!0;const e=t.$viewport.height(),n=Ea(t.trackView.viewports);this.vpMouseDown.r=e/n}if(this.dragObject){r.shiftPixels(this.vpMouseDown.lastMouseX-e,t.$viewport.width())&&this.updateViews(),this.fireEvent("trackdrag")}if(this.isScrolling){const e=this.vpMouseDown.r*(this.vpMouseDown.lastMouseY-n);t.trackView.moveScroller(e)}this.vpMouseDown.lastMouseX=e,this.vpMouseDown.lastMouseY=n}}function pf(t){this.cancelTrackPan(),this.endTrackDrag()}function gf(t,e){for(let{viewports:n}of t)for(let t of n)t.$trackLabel&&(0===n.indexOf(t)&&!0===e?t.$trackLabel.show():t.$trackLabel.hide())}let mf=[];const vf=po.setApiKey;!function(){var t=document.createElement("style");t.setAttribute("type","text/css"),t.innerHTML='.igv-navbar {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n color: #444;\n font-size: 12px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n line-height: 32px;\n padding-left: 8px;\n padding-right: 8px;\n margin-top: 2px;\n margin-bottom: 6px;\n height: 32px;\n border-style: solid;\n border-radius: 3px;\n border-width: thin;\n border-color: #bfbfbf;\n background-color: #f3f3f3; }\n .igv-navbar .igv-navbar-left-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n height: 32px;\n line-height: 32px; }\n .igv-navbar .igv-navbar-left-container .igv-logo {\n width: 34px;\n height: 32px;\n margin-right: 8px; }\n .igv-navbar .igv-navbar-left-container .igv-current-genome {\n height: 32px;\n margin-left: 4px;\n margin-right: 4px;\n user-select: none;\n line-height: 32px;\n vertical-align: middle;\n text-align: center; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n height: 100%; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-chromosome-select-widget-container {\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center;\n height: 100%;\n width: 125px;\n margin-right: 4px; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-chromosome-select-widget-container select {\n display: block;\n cursor: pointer;\n width: 100px;\n height: 75%;\n outline: none;\n font-size: 12px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-locus-size-group {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n margin-left: 8px;\n height: 22px; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-locus-size-group .igv-search-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n width: 210px;\n height: 22px;\n line-height: 22px; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-locus-size-group .igv-search-container input.igv-search-input {\n cursor: text;\n width: 85%;\n height: 22px;\n line-height: 22px;\n font-size: 12px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n text-align: left;\n padding-left: 8px;\n margin-right: 8px;\n outline: none;\n border-style: solid;\n border-radius: 3px;\n border-width: thin;\n border-color: #bfbfbf;\n background-color: white; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-locus-size-group .igv-search-container .igv-search-icon-container {\n cursor: pointer;\n height: 16px;\n width: 16px; }\n .igv-navbar .igv-navbar-left-container .igv-navbar-genomic-location .igv-locus-size-group .igv-windowsize-panel-container {\n margin-left: 4px;\n user-select: none; }\n .igv-navbar .igv-navbar-right-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n height: 32px;\n line-height: 32px; }\n .igv-navbar .igv-navbar-right-container .igv-navbar-toggle-button-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n height: 100%; }\n .igv-navbar .igv-navbar-right-container .igv-navbar-toggle-button-container div {\n margin-left: 0;\n margin-right: 4px; }\n .igv-navbar .igv-navbar-right-container .igv-navbar-toggle-button-container div:last-child {\n margin-left: 0;\n margin-right: 0; }\n .igv-navbar .igv-navbar-right-container .igv-navbar-toggle-button-container-750 {\n display: none; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget {\n color: #737373;\n font-size: 18px;\n height: 32px;\n line-height: 32px;\n margin-left: 8px;\n user-select: none;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget div {\n cursor: pointer;\n margin-left: unset;\n margin-right: unset; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget div:first-child {\n height: 24px;\n width: 24px;\n margin-left: unset;\n margin-right: 8px; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget div:last-child {\n height: 24px;\n width: 24px;\n margin-left: 8px;\n margin-right: unset; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget div:nth-child(even) {\n display: block;\n height: fit-content; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget input {\n display: block;\n width: 125px; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget svg {\n display: block; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 {\n color: #737373;\n font-size: 18px;\n height: 32px;\n line-height: 32px;\n margin-left: 8px;\n user-select: none;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 div {\n cursor: pointer;\n margin-left: unset;\n margin-right: unset; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 div:first-child {\n height: 24px;\n width: 24px;\n margin-left: unset;\n margin-right: 8px; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 div:last-child {\n height: 24px;\n width: 24px;\n margin-left: 8px;\n margin-right: unset; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 div:nth-child(even) {\n width: 0;\n height: 0;\n display: none; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 input {\n width: 0;\n height: 0;\n display: none; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-900 svg {\n display: block; }\n .igv-navbar .igv-navbar-right-container .igv-zoom-widget-hidden {\n display: none; }\n\n.igv-navbar-button {\n display: block;\n box-sizing: unset;\n padding-left: 6px;\n padding-right: 6px;\n height: 18px;\n text-transform: capitalize;\n user-select: none;\n line-height: 18px;\n text-align: center;\n vertical-align: middle;\n font-family: "Open Sans", sans-serif;\n font-size: 11px;\n font-weight: 200;\n color: #737373;\n background-color: #f3f3f3;\n border-color: #737373;\n border-style: solid;\n border-width: thin;\n border-radius: 6px; }\n\n.igv-navbar-button-clicked {\n color: white;\n background-color: #737373; }\n\n.igv-navbar-button:hover {\n cursor: pointer; }\n\n.igv-zoom-in-notice-container {\n z-index: 1024;\n position: absolute;\n top: 8px;\n left: 50%;\n transform: translate(-50%, 0%);\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n background-color: white; }\n .igv-zoom-in-notice-container > div {\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 2px;\n padding-bottom: 2px;\n width: 100%;\n height: 100%;\n font-family: "Open Sans", sans-serif;\n font-size: 14px;\n font-weight: 400;\n color: #3f3f3f; }\n\n.igv-zoom-in-notice {\n position: absolute;\n top: 10px;\n left: 50%; }\n .igv-zoom-in-notice div {\n position: relative;\n left: -50%;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n color: #3f3f3f;\n background-color: rgba(255, 255, 255, 0.51);\n z-index: 64; }\n\n.igv-container-spinner {\n position: absolute;\n top: 90%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1024;\n width: 24px;\n height: 24px;\n pointer-events: none;\n color: #737373; }\n\n.igv-multi-locus-close-button {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 14px;\n height: 14px;\n color: #666666;\n z-index: 1000; }\n .igv-multi-locus-close-button > svg {\n vertical-align: top; }\n\n.igv-multi-locus-close-button:hover {\n cursor: pointer;\n color: #434343; }\n\n.igv-multi-locus-ruler-label {\n position: absolute;\n left: 50%;\n top: 5%;\n transform: translate(-50%, 0%);\n font-family: "Open Sans", sans-serif;\n font-size: 12px;\n font-weight: 400;\n text-align: center;\n z-index: 64;\n color: #444444;\n background-color: white; }\n\n.igv-multi-locus-ruler-label:hover {\n cursor: pointer; }\n\n.igv-ruler-sweeper {\n display: none;\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 100%;\n z-index: 99999;\n background-color: rgba(68, 134, 247, 0.25); }\n\n.igv-ruler-tooltip {\n pointer-events: none;\n z-index: 128;\n position: absolute;\n top: 0;\n left: 0;\n width: 1px;\n height: 32px;\n background-color: transparent;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-ruler-tooltip > div {\n pointer-events: none;\n width: 128px;\n height: auto;\n padding: 1px;\n color: #373737;\n font-size: 10px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n background-color: white;\n border-style: solid;\n border-width: thin;\n border-color: #373737; }\n\n.igv-track-label {\n position: absolute;\n left: 8px;\n top: 8px;\n width: auto;\n height: auto;\n max-width: 200px;\n padding-left: 4px;\n padding-right: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: "Open Sans", sans-serif;\n font-size: small;\n font-weight: 400;\n text-align: center;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n border-color: #444;\n border-radius: 2px;\n border-style: solid;\n border-width: thin;\n background-color: white;\n z-index: 128;\n cursor: pointer; }\n\n.igv-track-label:hover,\n.igv-track-label:focus,\n.igv-track-label:active {\n background-color: #e8e8e8; }\n\n.igv-center-line {\n display: none;\n pointer-events: none;\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 8;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n border-left-style: dashed;\n border-left-width: thin;\n border-right-style: dashed;\n border-right-width: thin; }\n\n.igv-center-line-wide {\n background-color: rgba(0, 0, 0, 0);\n border-left-color: rgba(127, 127, 127, 0.51);\n border-right-color: rgba(127, 127, 127, 0.51); }\n\n.igv-center-line-thin {\n background-color: rgba(0, 0, 0, 0);\n border-left-color: rgba(127, 127, 127, 0.51);\n border-right-color: rgba(0, 0, 0, 0); }\n\n.igv-cursor-guide-horizontal {\n display: none;\n pointer-events: none;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n position: absolute;\n left: 0;\n right: 0;\n top: 50%;\n height: 1px;\n z-index: 1;\n margin-left: 50px;\n margin-right: 54px;\n border-top-style: dotted;\n border-top-width: thin;\n border-top-color: rgba(127, 127, 127, 0.76); }\n\n.igv-cursor-guide-vertical {\n pointer-events: none;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 50%;\n width: 1px;\n z-index: 1;\n border-left-style: dotted;\n border-left-width: thin;\n border-left-color: rgba(127, 127, 127, 0.76);\n display: none; }\n\n.igv-user-feedback {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 512px;\n height: 360px;\n z-index: 2048;\n background-color: white;\n border-color: #a2a2a2;\n border-style: solid;\n border-width: thin;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n color: #444;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-user-feedback div:first-child {\n position: relative;\n height: 24px;\n width: 100%;\n background-color: white;\n border-bottom-color: #a2a2a2;\n border-bottom-style: solid;\n border-bottom-width: thin; }\n .igv-user-feedback div:first-child div {\n position: absolute;\n top: 2px;\n width: 16px;\n height: 16px;\n background-color: transparent; }\n .igv-user-feedback div:first-child div:first-child {\n left: 8px; }\n .igv-user-feedback div:first-child div:last-child {\n cursor: pointer;\n right: 8px; }\n .igv-user-feedback div:last-child {\n width: 100%;\n height: calc(100% - 24px);\n border-width: 0; }\n .igv-user-feedback div:last-child div {\n width: auto;\n height: auto;\n margin: 8px; }\n\n.igv-generic-dialog-container {\n position: absolute;\n top: 0;\n left: 0;\n width: 300px;\n height: 200px;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n z-index: 2048;\n background-color: white;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-header {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-generic-dialog-container .igv-generic-dialog-header div {\n margin-right: 4px;\n margin-bottom: 2px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-generic-dialog-container .igv-generic-dialog-header div:hover {\n cursor: pointer;\n color: #444; }\n .igv-generic-dialog-container .igv-generic-dialog-one-liner {\n color: #373737;\n width: 95%;\n height: 24px;\n line-height: 24px;\n text-align: left;\n margin-top: 8px;\n padding-left: 8px;\n overflow-wrap: break-word;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input {\n margin-top: 8px;\n width: 95%;\n height: 24px;\n color: #373737;\n line-height: 24px;\n padding-left: 8px;\n background-color: white;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input div {\n width: 30%;\n height: 100%;\n font-size: 16px;\n text-align: right;\n padding-right: 8px;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-label-input input {\n width: 50%;\n font-size: 16px; }\n .igv-generic-dialog-container .igv-generic-dialog-input {\n margin-top: 8px;\n width: calc(100% - 16px);\n height: 24px;\n color: #373737;\n line-height: 24px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: "Open Sans", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-generic-dialog-container .igv-generic-dialog-input input {\n font-size: 16px; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel {\n width: 100%;\n height: 28px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div {\n margin-top: 32px;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: 14px;\n font-weight: 400;\n width: 75px;\n height: 28px;\n line-height: 28px;\n text-align: center;\n border-color: transparent;\n border-style: solid;\n border-width: thin;\n border-radius: 2px; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:first-child {\n margin-left: 32px;\n margin-right: 0;\n background-color: #5ea4e0; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:last-child {\n margin-left: 0;\n margin-right: 32px;\n background-color: #c4c4c4; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:first-child:hover {\n cursor: pointer;\n background-color: #3b5c7f; }\n .igv-generic-dialog-container .igv-generic-dialog-ok-cancel div:last-child:hover {\n cursor: pointer;\n background-color: #7f7f7f; }\n .igv-generic-dialog-container .igv-generic-dialog-ok {\n width: 100%;\n height: 36px;\n margin-top: 32px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-generic-dialog-container .igv-generic-dialog-ok div {\n width: 98px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n color: white;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n border-color: white;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-generic-dialog-container .igv-generic-dialog-ok div:hover {\n cursor: pointer;\n background-color: #25597f; }\n\n.igv-generic-container {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2048;\n background-color: white;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-generic-container div:first-child {\n cursor: move;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n height: 24px;\n width: 100%;\n background-color: #dddddd; }\n .igv-generic-container div:first-child i {\n display: block;\n color: #5f5f5f;\n cursor: pointer;\n width: 14px;\n height: 14px;\n margin-right: 8px;\n margin-bottom: 4px; }\n\n.igv-menu-popup {\n position: absolute;\n top: 0;\n left: 0;\n min-width: 132px;\n z-index: 4096;\n cursor: pointer;\n font-family: "Open Sans", sans-serif;\n font-size: small;\n font-weight: 400;\n color: #4b4b4b;\n background: white;\n border-radius: 4px;\n border-color: #7F7F7F;\n border-style: solid;\n border-width: thin;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-end;\n text-align: left; }\n .igv-menu-popup > div:not(:first-child) {\n width: 100%; }\n .igv-menu-popup > div:not(:first-child) > div {\n background: white; }\n .igv-menu-popup > div:not(:first-child) > div.context-menu {\n padding-left: 4px;\n padding-right: 4px; }\n .igv-menu-popup > div:not(:first-child) > div:last-child {\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n border-bottom-color: transparent;\n border-bottom-style: solid;\n border-bottom-width: thin; }\n .igv-menu-popup > div:not(:first-child) > div:hover {\n background: #efefef; }\n\n.igv-menu-popup-shim {\n padding-left: 8px;\n padding-right: 8px; }\n\n.igv-menu-popup-header {\n position: relative;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-color: transparent;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center; }\n .igv-menu-popup-header div {\n margin-right: 4px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-menu-popup-header div:hover {\n cursor: pointer;\n color: #444; }\n\n.igv-menu-popup-check-container {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n height: 20px;\n background-color: transparent; }\n .igv-menu-popup-check-container div {\n padding-top: 2px;\n padding-left: 8px; }\n .igv-menu-popup-check-container div:first-child {\n position: relative;\n width: 12px;\n height: 12px; }\n .igv-menu-popup-check-container div:first-child svg {\n position: absolute;\n width: 12px;\n height: 12px; }\n\n.igv-user-feedback {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 512px;\n height: 360px;\n z-index: 2048;\n background-color: white;\n border-color: #a2a2a2;\n border-style: solid;\n border-width: thin;\n font-family: "Open Sans", sans-serif;\n font-size: medium;\n font-weight: 400;\n color: #444;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-user-feedback div:first-child {\n position: relative;\n height: 24px;\n width: 100%;\n background-color: white;\n border-bottom-color: #a2a2a2;\n border-bottom-style: solid;\n border-bottom-width: thin; }\n .igv-user-feedback div:first-child div {\n position: absolute;\n top: 2px;\n width: 16px;\n height: 16px;\n background-color: transparent; }\n .igv-user-feedback div:first-child div:first-child {\n left: 8px; }\n .igv-user-feedback div:first-child div:last-child {\n cursor: pointer;\n right: 8px; }\n .igv-user-feedback div:last-child {\n width: 100%;\n height: calc(100% - 24px);\n border-width: 0; }\n .igv-user-feedback div:last-child div {\n width: auto;\n height: auto;\n margin: 8px; }\n\n.igv-loading-spinner-container {\n z-index: 1024;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 32px;\n height: 32px;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center; }\n .igv-loading-spinner-container > div {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n border: 4px solid rgba(128, 128, 128, 0.5);\n border-top-color: white;\n animation: spin 1s ease-in-out infinite;\n -webkit-animation: spin 1s ease-in-out infinite; }\n\n@keyframes spin {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n@-webkit-keyframes spin {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n.igv-container {\n position: relative;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n padding-top: 4px;\n user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none; }\n\n.igv-viewport {\n position: relative;\n margin-top: 5px;\n overflow-x: hidden;\n overflow-y: hidden; }\n\n.igv-viewport-content {\n position: relative;\n width: 100%; }\n .igv-viewport-content > canvas {\n position: relative;\n display: block; }\n\n.igv-column-container {\n position: relative;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: stretch;\n width: 100%; }\n\n.igv-column-shim {\n width: 1px;\n margin-left: 2px;\n margin-right: 2px;\n background-color: #545453; }\n\n.igv-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%; }\n\n.igv-axis-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%;\n width: 50px; }\n .igv-axis-column > div {\n margin-top: 5px;\n width: 100%; }\n\n.igv-sample-name-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%; }\n\n.igv-scrollbar-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%;\n width: 14px; }\n .igv-scrollbar-column > div {\n position: relative;\n margin-top: 5px;\n width: 14px; }\n .igv-scrollbar-column > div > div {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 2px;\n width: 8px;\n border-width: 1px;\n border-style: solid;\n border-color: #c4c4c4;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px; }\n .igv-scrollbar-column > div > div:hover {\n background-color: #c4c4c4; }\n\n.igv-track-drag-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%;\n width: 12px;\n background-color: white; }\n .igv-track-drag-column > .igv-track-drag-handle {\n z-index: 512;\n position: relative;\n cursor: pointer;\n margin-top: 5px;\n width: 100%;\n border-style: solid;\n border-width: 0;\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n background-color: #c4c4c4; }\n .igv-track-drag-column .igv-track-drag-handle-hover {\n background-color: #787878; }\n .igv-track-drag-column > .igv-track-drag-shim {\n position: relative;\n margin-top: 5px;\n width: 100%;\n border-style: solid;\n border-width: 0; }\n\n.igv-gear-menu-column {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: flex-start;\n box-sizing: border-box;\n height: 100%;\n width: 28px; }\n .igv-gear-menu-column > div {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n margin-top: 5px;\n width: 100%;\n background: white; }\n .igv-gear-menu-column > div > div {\n position: relative;\n margin-top: 4px;\n width: 16px;\n height: 16px;\n color: #7F7F7F; }\n .igv-gear-menu-column > div > div:hover {\n cursor: pointer;\n color: #444; }\n\n/*# sourceMappingURL=dom.css.map */\n',document.head.insertBefore(t,document.head.childNodes[document.head.childNodes.length-1])}();var bf={IGVGraphics:ls,MenuUtils:Po,DataRangeDialog:as,createTrack:async function(t,e){return await ff.prototype.createTrack.call(e,t)},createBrowser:async function(t,e){void 0===e&&(e={}),Ws.KNOWN_GENOMES||await Ws.initializeGenomes(e),function(t){void 0===t.promisified&&(t.promisified=!1);void 0===t.minimumBases&&(t.minimumBases=40);void 0===t.showIdeogram&&(t.showIdeogram=!0);void 0===t.showTrackLabelButton&&(t.showTrackLabelButton=!0);void 0===t.showTrackLabels&&(t.showTrackLabels=!0);void 0===t.showCursorTrackingGuideButton&&(t.showCursorTrackingGuideButton=!0);void 0===t.showCursorTrackingGuide&&(t.showCursorTrackingGuide=!1);void 0===t.showCenterGuideButton&&(t.showCenterGuideButton=!0);void 0===t.showCenterGuide&&(t.showCenterGuide=!1);void 0===t.showSampleNames&&(t.showSampleNames=!1);void 0===t.showSVGButton&&(t.showSVGButton=!0);void 0===t.showControls&&(t.showControls=!0);void 0===t.showNavigation&&(t.showNavigation=!0);void 0===t.showRuler&&(t.showRuler=!0);void 0===t.flanking&&(t.flanking=1e3);void 0===t.pairsSupported&&(t.pairsSupported=!0);t.tracks||(t.tracks=[])}(e),!1!==e.queryParametersSupported&&function(t){var e,n,r,i,o,s,a,l,c;let h,u;if(a=window.location.href,o={},e=a.indexOf("?"),n=a.lastIndexOf("#"),e>=0)for(n<0&&(n=a.length),r=e+1;r<n;)(i=a.indexOf("&",r))<0&&(i=n),2===(s=a.substring(r,i).split("=",2)).length&&(l=s[0],c=decodeURIComponent(s[1]),"file"===l?h=c.split(","):"index"===l?u=c.split(","):t[l]=c,r=i+1);if(h){t.tracks||(t.tracks=[]);for(let e=0;e<h.length;e++){if(h[e].endsWith(".xml")||h[e].endsWith(".json")){t.sessionURL=h[e];break}const n={url:h[e]};u&&u.length>e&&(n.indexURL=u[e]),t.tracks.push(n)}}}(e),e.apiKey&&po.setApiKey(e.apiKey),e.oauthToken&&co.setToken(e.oauthToken),e.clientId&&!Fe()&&await Pe({clientId:e.clientId,apiKey:e.apiKey,scope:"https://www.googleapis.com/auth/userinfo.profile"});const n=new ff(e,t);mf.push(n),e.sessionURL?await n.loadSession({url:e.sessionURL}):await n.loadSessionObject(e);const r=n.isMultiLocusWholeGenomeView()||Ws.isWholeGenomeView(n.referenceFrameList[0].chr);return n.navbarManager.navbarDidResize(n.$navigation.width(),r),n},removeBrowser:function(t){t.dispose(),t.root.remove(),mf=mf.filter((e=>e!==t))},removeAllBrowsers:function(){for(let t of mf)t.dispose(),t.root.remove();mf=[]},visibilityChange:async function(){for(let t of mf)await t.visibilityChange()},setGoogleOauthToken:function(t){return co.setToken(t)},setOauthToken:function(t,e){return co.setToken(t,e)},oauth:co,version:Us,setApiKey:vf,doAutoscale:la,TrackView:Ca};export{bf as default};
65
65
  //# sourceMappingURL=igv.esm.min.js.map