(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[30095,19585,55482],{185842:(t,i)=>{"use strict";function s(t,i){if(void 0===t)throw new Error("".concat(null!=i?i:"Value"," is undefined"));return t}function e(t,i){if(null===t)throw new Error("".concat(null!=i?i:"Value"," is null"));return t}i.ensure=i.ensureNotNull=i.ensureDefined=i.assert=void 0,i.assert=function(t,i){if(!t)throw new Error("Assertion failed".concat(i?": ".concat(i):""))},i.ensureDefined=s,i.ensureNotNull=e,i.ensure=function(t,i){return e(s(t,i),i)}},197486:(t,i)=>{"use strict";function s(t){return Math.round(1e10*t)/1e10}Object.defineProperty(i,"__esModule",{value:!0}),i.alignTo=i.fixComputationError=i.isNaN=i.isInteger=i.isNumber=void 0,i.isNumber=function(t){return"number"==typeof t&&isFinite(t)},i.isInteger=function(t){return"number"==typeof t&&t%1==0},i.isNaN=function(t){return!(t<=0||t>0)},i.fixComputationError=s,i.alignTo=function(t,i){var e=t/i,h=Math.floor(e),n=e-h;return n>2e-10?s(n>.5?(h+1)*i:h*i):t}},422872:(t,i)=>{"use strict";i.hasProperty=i.isObject=void 0,i.isObject=function(t){var i=typeof t;return null!==t&&("object"===i||"function"===i)},i.hasProperty=function(t,i){return i in t}},955482:(t,i,s)=>{"use strict";var e=s(197486);function h(t,i,s){return e.isNaN(i)||is?s:Math.round(i)}function n(t,i,s){return e.isNaN(i)||is?s:Math.round(1e4*i)/1e4}function r(t){return h(0,t,255)}function o(t){return h(0,t,255)}function l(t){return h(0,t,255)}function a(t){return n(0,t,1)}function u(t){return n(0,t,1)}function c(t){return n(0,t,1)}function f(t){return n(0,t,1)}function d(t){return n(0,t,1)}function m(t){return n(0,t,1)}function p(t){var i=t[0]/255,s=t[1]/255,e=t[2]/255,h=Math.min(i,s,e),n=Math.max(i,s,e),r=0,o=0,l=(h+n)/2;if(h===n)r=0,o=0;else{var a=n-h;switch(o=l>.5?a/(2-n-h):a/(n+h),n){case i:r=((s-e)/a+(s1&&(s-=1),s<1/6?t+6*(i-t)*s:s<.5?i:s<2/3?t+(i-t)*(2/3-s)*6:t}function v(t){var i,s,e,h=t[0],n=t[1],a=t[2];if(0===n)i=s=e=a;else{var u=a<.5?a*(1+n):a+n-a*n,c=2*a-u;i=g(c,u,h+1/3),s=g(c,u,h),e=g(c,u,h-1/3)}return[r(255*i),o(255*s),l(255*e)]}i.normalizeAlphaComponent=a,i.rgba=function(t,i,s,e){if(Array.isArray(t)){var h=t;return e=i,[h[0],h[1],h[2],a(e)]}var n=i;return s=s||0,e=e||0,[r(t),o(n),l(s),a(e)]};var w=[.199,.687,.114];function b(t){return w[0]*t[0]+w[1]*t[1]+w[2]*t[2]}function M(t,i,s){void 0===s&&(s=.05);var e=p(t),h=e[0]+i*s;return e[0]=u(h-Math.floor(h)),v(e)}function y(t,i,s){void 0===s&&(s=.05);var e=t[0],h=t[1],n=t[2],r=t[3],o=M([e,h,n],i,s);return[o[0],o[1],o[2],r]}var x,S,C,_,P={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",feldspar:"#d19275",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",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",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",violetred:"#d02090",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function k(t,i){return i in t}function E(t){var i=x.re.exec(t);return null!==i?x.parse(i):null}function N(t){var i=S.re.exec(t);return null!==i?S.parse(i):null}function T(t){var i=C.re.exec(t);return null!==i?C.parse(i):null}function L(t){var i=_.re.exec(t);return null!==i?_.parse(i):null}function z(t){return"rgba("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}function I(t){if(t=t.toLowerCase(),k(P,t)){var i=N(P[t]);if(null!==i)return i;throw new Error("Invalid named color definition")}var s=E(t);if(null!==s)return s;var e=N(t);if(null!==e)return e;var h=T(t);if(null!==h)return h;var n=L(t) ;return null!==n?[n[0],n[1],n[2]]:null}function j(t){if(t=t.toLowerCase(),k(P,t)){var i=N(P[t]);if(null!==i)return[i[0],i[1],i[2],1];throw new Error("Invalid named color definition")}var s=E(t);if(null!==s)return[s[0],s[1],s[2],1];var e=N(t);if(null!==e)return[e[0],e[1],e[2],1];var h=T(t);if(null!==h)return[h[0],h[1],h[2],1];var n=L(t);return null!==n?n:null}function R(t){var i=j(t);if(null!==i)return i;throw new Error("Passed color string does not match any of the known color representations")}!function(t){t.re=/^rgb\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*\)$/,t.parse=function(t){return[r(parseInt(t[1],10)),o(parseInt(t[2],10)),l(parseInt(t[3],10))]}}(x||(x={})),function(t){t.re=/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,t.parse=function(t){return[r(parseInt(t[1],16)),o(parseInt(t[2],16)),l(parseInt(t[3],16))]}}(S||(S={})),function(t){t.re=/^#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])$/,t.parse=function(t){return[r(parseInt(t[1]+t[1],16)),o(parseInt(t[2]+t[2],16)),l(parseInt(t[3]+t[3],16))]}}(C||(C={})),function(t){t.re=/^rgba\(\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?\d{1,10})\s*,\s*(-?[\d]{0,10}(?:\.\d+)?)\s*\)$/,t.parse=function(t){return[r(parseInt(t[1],10)),o(parseInt(t[2],10)),l(parseInt(t[3],10)),a(parseFloat(t[4]))]}}(_||(_={})),i.rgbaToString=z,i.rgbToBlackWhiteString=function(t,i){if(i<0||i>255)throw new Error("invalid threshold value, valid values are [0, 255]");return b(t)>=i?"white":"black"},i.tryParseRgb=I,i.parseRgb=function(t){var i=I(t);if(null!==i)return i;throw new Error("Passed color string does not match any of the known color representations")},i.tryParseRgba=j,i.parseRgba=R},49186:function(t,i){var s,e,h,n;n=function(t){var i=Object.prototype.toString,s=Array.isArray||function(t){return"[object Array]"===i.call(t)};function e(t){return"function"==typeof t}function h(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function n(t,i){return null!=t&&"object"==typeof t&&i in t}var r=RegExp.prototype.test,o=/\S/;function l(t){return!function(t,i){return r.call(t,i)}(o,t)}var a={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="},u=/\s*/,c=/\s+/,f=/\s*=/,d=/\s*\}/,m=/#|\^|\/|>|\{|&|=|!/;function p(t){this.string=t,this.tail=t,this.pos=0}function g(t,i){this.view=t,this.cache={".":this.view},this.parent=i}function v(){this.cache={}}p.prototype.eos=function(){return""===this.tail},p.prototype.scan=function(t){var i=this.tail.match(t);if(!i||0!==i.index)return"";var s=i[0];return this.tail=this.tail.substring(s.length),this.pos+=s.length,s},p.prototype.scanUntil=function(t){var i,s=this.tail.search(t);switch(s){case-1:i=this.tail,this.tail="";break;case 0:i="";break;default:i=this.tail.substring(0,s),this.tail=this.tail.substring(s)}return this.pos+=i.length,i},g.prototype.push=function(t){return new g(t,this)},g.prototype.lookup=function(t){var i,s=this.cache;if(s.hasOwnProperty(t))i=s[t];else{for(var h,r,o=this,l=!1;o;){if(t.indexOf(".")>0)for(i=o.view,h=t.split("."), r=0;null!=i&&r0?h[h.length-1][4]:s;break;default:e.push(i)}return s}(function(t){for(var i,s,e=[],h=0,n=t.length;h"===n?r=this.renderPartial(h,i,s,e):"&"===n?r=this.unescapedValue(h,i):"name"===n?r=this.escapedValue(h,i):"text"===n&&(r=this.rawValue(h)),void 0!==r&&(o+=r);return o},v.prototype.renderSection=function(t,i,h,n){var r=this,o="",l=i.lookup(t[1]);if(l){if(s(l))for(var a=0,u=l.length;a"'`=\/]/g,(function(t){return a[t]}))},t.Scanner=p,t.Context=g,t.Writer=v},i&&"string"!=typeof i.nodeName?n(i):(e=[i],void 0===(h="function"==typeof(s=n)?s.apply(i,e):s)||(t.exports=h))},320403:(t,i)=>{"use strict";var s,e=!("undefined"==typeof window||!window.document||!window.document.createElement);function h(){if(s)return s;if(!e||!window.document.body)return"indeterminate";var t=window.document.createElement("div");return t.appendChild(document.createTextNode("ABCD")),t.dir="rtl",t.style.fontSize="14px",t.style.width="4px",t.style.height="1px",t.style.position="absolute",t.style.top="-1000px",t.style.overflow="scroll",document.body.appendChild(t),s="reverse",t.scrollLeft>0?s="default":(t.scrollLeft=1,0===t.scrollLeft&&(s="negative")),document.body.removeChild(t),s}},952375:(t,i,s)=>{"use strict";s.d(i,{mobiletouch:()=>h,setClasses:()=>n});var e=s(384530);const h=e.mobiletouch;e.touch;function n(){document.documentElement.classList.add(e.touch?"feature-touch":"feature-no-touch",e.mobiletouch?"feature-mobiletouch":"feature-no-mobiletouch")}},376596:(t,i,s)=>{"use strict";s.d(i,{CheckMobile:()=>l,isDesktopApp:()=>r,isMac:()=>n,isSymphonyEmbed:()=>o,onWidget:()=>u,supportTouch:()=>c});var e=s(384530);const h=window.TradingView=window.TradingView||{};function n(){return e.isMac}function r(){return/TVDesktop/i.test(navigator.userAgent)}function o(){return h.isSymphony||!1}const l={Android:()=>e.isAndroid,BlackBerry:()=>e.isBlackBerry,iOS:()=>e.isIOS,Opera:()=>e.isOperaMini,isIPad:()=>e.isIPad,any:()=>e.isAnyMobile};h.isMobile=l;const a=new Map;function u(){const t=window.location.pathname,i=window.location.host,s=`${i}${t}`;return a.has(s)||a.set(s,function(t,i){const s=["^widget-docs"];for(const t of s)if(new RegExp(t).test(i))return!0 ;const e=["^widgetembed/?$","^cmewidgetembed/?$","^([0-9a-zA-Z-]+)/widgetembed/?$","^([0-9a-zA-Z-]+)/widgetstatic/?$","^([0-9a-zA-Z-]+)?/?mediumwidgetembed/?$","^twitter-chart/?$","^telegram/chart/?$","^embed/([0-9a-zA-Z]{8})/?$","^widgetpopup/?$","^extension/?$","^idea-popup/?$","^hotlistswidgetembed/?$","^([0-9a-zA-Z-]+)/hotlistswidgetembed/?$","^marketoverviewwidgetembed/?$","^([0-9a-zA-Z-]+)/marketoverviewwidgetembed/?$","^eventswidgetembed/?$","^tickerswidgetembed/?$","^forexcrossrateswidgetembed/?$","^forexheatmapwidgetembed/?$","^marketquoteswidgetembed/?$","^screenerwidget/?$","^cryptomktscreenerwidget/?$","^([0-9a-zA-Z-]+)/cryptomktscreenerwidget/?$","^([0-9a-zA-Z-]+)/marketquoteswidgetembed/?$","^technical-analysis-widget-embed/$","^singlequotewidgetembed/?$","^([0-9a-zA-Z-]+)/singlequotewidgetembed/?$","^embed-widget/([0-9a-zA-Z-]+)/(([0-9a-zA-Z-]+)/)?$","^widget-docs/([0-9a-zA-Z-]+)/([0-9a-zA-Z-/]+)?$"],h=t.replace(/^\//,"");let n;for(let t=e.length-1;t>=0;t--)if(n=new RegExp(e[t]),n.test(h))return!0;return!1}(t,i)),a.get(s)??!1}function c(){return e.mobiletouch||e.touch||e.isAnyMobile}h.onWidget=u;e.isChrome,e.isFF,e.isEdge,e.isSafari},729193:(t,i,s)=>{"use strict";s.d(i,{t:()=>e.t});s(686923);var e=s(835537)},493892:(t,i,s)=>{"use strict";s.d(i,{getIsoLanguageCodeFromLanguage:()=>h});const e={ar_AE:"ar",br:"pt",de_DE:"de",ca_ES:"ca",he_IL:"he",id_ID:"id",in:"en",kr:"ko",ms_MY:"ms",sv_SE:"sv",th_TH:"th",uk:"en",vi_VN:"vi",zh_CN:"zh-Hans",zh_TW:"zh-Hant",zh:"zh-Hans",hu_HU:"hu-HU"};function h(t){return e[t]||t}},686923:(t,i,s)=>{"use strict";var e=s(385955);const h=/{(\w+)}/g,n=/{(\d+)}/g;String.prototype.format=function(...t){const i=(0,e.isObject)(t[0]),s=i?h:n,r=i?(i,s)=>{const e=t[0];return void 0!==e[s]?e[s]:i}:(i,s)=>{const e=parseInt(s,10),h=t[e];return void 0!==h?h:i};return this.replace(s,r)}},932520:(t,i,s)=>{"use strict";s.d(i,{bindCanvasElementBitmapSizeTo:()=>h.bindTo,equalSizes:()=>e.equalSizes,size:()=>e.size,tryCreateCanvasRenderingTarget2D:()=>r});var e=s(74279),h=s(203109),n=function(){function t(t,i,s){if(0===i.width||0===i.height)throw new TypeError("Rendering target could only be created on a media with positive width and height");if(this._mediaSize=i,0===s.width||0===s.height)throw new TypeError("Rendering target could only be created using a bitmap with positive integer width and height");this._bitmapSize=s,this._context=t}return t.prototype.useMediaCoordinateSpace=function(t){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),this._context.scale(this._horizontalPixelRatio,this._verticalPixelRatio),t({context:this._context,mediaSize:this._mediaSize})}finally{this._context.restore()}},t.prototype.useBitmapCoordinateSpace=function(t){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),t({context:this._context,mediaSize:this._mediaSize,bitmapSize:this._bitmapSize,horizontalPixelRatio:this._horizontalPixelRatio,verticalPixelRatio:this._verticalPixelRatio})}finally{this._context.restore()}}, Object.defineProperty(t.prototype,"_horizontalPixelRatio",{get:function(){return this._bitmapSize.width/this._mediaSize.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_verticalPixelRatio",{get:function(){return this._bitmapSize.height/this._mediaSize.height},enumerable:!1,configurable:!0}),t}();function r(t,i){var s=t.canvasElementClientSize;if(0===s.width||0===s.height)return null;var e=t.bitmapSize;if(0===e.width||0===e.height)return null;var h=t.canvasElement.getContext("2d",i);return null===h?null:new n(h,s,e)}},319585:(t,i,s)=>{"use strict";s.d(i,{AreaSeries:()=>rh,BarSeries:()=>uh,BaselineSeries:()=>eh,CandlestickSeries:()=>dh,ColorType:()=>Ai,CrosshairMode:()=>G,HistogramSeries:()=>gh,LineSeries:()=>He,LineStyle:()=>r,PriceScaleMode:()=>bi,TickMarkType:()=>Bi,createChartEx:()=>Ve,createTextWatermark:()=>kh,customSeriesDefaultOptions:()=>Eh,defaultHorzScaleBehavior:()=>Ae});var e=s(932520);const h={title:"",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:"",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:"#B2B5BE",baseLineStyle:0,priceFormat:{type:"price",precision:2,minMove:.01}};var n,r,o;function l(t,i){const s={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[i];t.setLineDash(s)}function a(t,i,s,e){t.beginPath();const h=t.lineWidth%2?.5:0;t.moveTo(s,i+h),t.lineTo(e,i+h),t.stroke()}function u(t,i){if(!t)throw new Error("Assertion failed"+(i?": "+i:""))}function c(t){if(void 0===t)throw new Error("Value is undefined");return t}function f(t){if(null===t)throw new Error("Value is null");return t}function d(t){return f(c(t))}(o=n||(n={}))[o.Simple=0]="Simple",o[o.WithSteps=1]="WithSteps",o[o.Curved=2]="Curved",function(t){t[t.Solid=0]="Solid",t[t.Dotted=1]="Dotted",t[t.Dashed=2]="Dashed",t[t.LargeDashed=3]="LargeDashed",t[t.SparseDotted=4]="SparseDotted"}(r||(r={}));class m{constructor(){this.t=[]}i(t,i,s){const e={h:t,l:i,o:!0===s};this.t.push(e)}_(t){const i=this.t.findIndex((i=>t===i.h));i>-1&&this.t.splice(i,1)}u(t){this.t=this.t.filter((i=>i.l!==t))}p(t,i,s){const e=[...this.t];this.t=this.t.filter((t=>!t.o)),e.forEach((e=>e.h(t,i,s)))}v(){return this.t.length>0}m(){this.t=[]}}function p(t,...i){for(const s of i)for(const i in s)void 0!==s[i]&&Object.prototype.hasOwnProperty.call(s,i)&&!["__proto__","constructor","prototype"].includes(i)&&("object"!=typeof s[i]||void 0===t[i]||Array.isArray(s[i])?t[i]=s[i]:p(t[i],s[i]));return t}function g(t){return"number"==typeof t&&isFinite(t)}function v(t){return"number"==typeof t&&t%1==0}function w(t){return"string"==typeof t}function b(t){return"boolean"==typeof t}function M(t){const i=t;if(!i||"object"!=typeof i)return i;let s,e,h;for(e in s=Array.isArray(i)?[]:{},i)i.hasOwnProperty(e)&&(h=i[e],s[e]=h&&"object"==typeof h?M(h):h);return s}function y(t){return null!==t}function x(t){return null===t?void 0:t}const S="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif" ;function C(t,i,s){return void 0===i&&(i=S),`${s=void 0!==s?`${s} `:""}${t}px ${i}`}class _{constructor(t){this.M={S:1,C:5,k:NaN,P:"",T:"",R:"",D:"",I:0,V:0,B:0,A:0,L:0},this.O=t}N(){const t=this.M,i=this.F(),s=this.W();return t.k===i&&t.T===s||(t.k=i,t.T=s,t.P=C(i,s),t.A=2.5/12*i,t.I=t.A,t.V=i/12*t.C,t.B=i/12*t.C,t.L=0),t.R=this.H(),t.D=this.U(),this.M}H(){return this.O.N().layout.textColor}U(){return this.O.$()}F(){return this.O.N().layout.fontSize}W(){return this.O.N().layout.fontFamily}}function P(t){return t<0?0:t>255?255:Math.round(t)||0}function k(t){return.199*t[0]+.687*t[1]+.114*t[2]}class E{constructor(t,i){this.q=new Map,this.j=t,i&&(this.q=i)}Y(t,i){if("transparent"===t)return t;const s=this.K(t),e=s[3];return`rgba(${s[0]}, ${s[1]}, ${s[2]}, ${i*e})`}Z(t){const i=this.K(t);return{G:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,X:k(i)>160?"black":"white"}}J(t){return k(this.K(t))}tt(t,i,s){const[e,h,n,r]=this.K(t),[o,l,a,u]=this.K(i),c=[P(e+s*(o-e)),P(h+s*(l-h)),P(n+s*(a-n)),(f=r+s*(u-r),f<=0||f>1?Math.min(Math.max(f,0),1):Math.round(1e4*f)/1e4)];var f;return`rgba(${c[0]}, ${c[1]}, ${c[2]}, ${c[3]})`}K(t){const i=this.q.get(t);if(i)return i;const s=function(t){const i=document.createElement("div");i.style.display="none",document.body.appendChild(i),i.style.color=t;const s=window.getComputedStyle(i).color;return document.body.removeChild(i),s}(t),e=s.match(/^rgba?\s*\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d*\.?\d+))?\)$/);if(!e){if(this.j.length)for(const i of this.j){const s=i(t);if(s)return this.q.set(t,s),s}throw new Error(`Failed to parse color: ${t}`)}const h=[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10),e[4]?parseFloat(e[4]):1];return this.q.set(t,h),h}}class N{constructor(){this.it=[]}st(t){this.it=t}nt(t,i,s){this.it.forEach((e=>{e.nt(t,i,s)}))}}class T{nt(t,i,s){t.useBitmapCoordinateSpace((t=>this.et(t,i,s)))}}class L extends T{constructor(){super(...arguments),this.rt=null}ht(t){this.rt=t}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:s}){if(null===this.rt||null===this.rt.lt)return;const e=this.rt.lt,h=this.rt,n=Math.max(1,Math.floor(i))%2/2,r=r=>{t.beginPath();for(let o=e.to-1;o>=e.from;--o){const e=h.ot[o],l=Math.round(e._t*i)+n,a=e.ut*s,u=r*s+n;t.moveTo(l,a),t.arc(l,a,u,0,2*Math.PI)}t.fill()};h.ct>0&&(t.fillStyle=h.dt,r(h.ft+h.ct)),t.fillStyle=h.vt,r(h.ft)}}function z(){return{ot:[{_t:0,ut:0,wt:0,gt:0}],vt:"",dt:"",ft:0,ct:0,lt:null}}const I={from:0,to:1};class j{constructor(t,i,s){this.Mt=new N,this.bt=[],this.St=[],this.xt=!0,this.O=t,this.Ct=i,this.yt=s,this.Mt.st(this.bt)}kt(t){this.Pt(),this.xt=!0}Tt(){return this.xt&&(this.Rt(),this.xt=!1),this.Mt}Pt(){const t=this.yt.Dt();t.length!==this.bt.length&&(this.St=t.map(z),this.bt=this.St.map((t=>{const i=new L;return i.ht(t),i})),this.Mt.st(this.bt))}Rt(){const t=2===this.Ct.N().mode||!this.Ct.It(),i=this.yt.Vt(),s=this.Ct.Bt(),e=this.O.Et();this.Pt(),i.forEach(((i,h)=>{const n=this.St[h],r=i.At(s),o=i.Lt();!t&&null!==r&&i.It()&&null!==o?(n.vt=r.zt,n.ft=r.ft,n.ct=r.Ot,n.ot[0].gt=r.gt,n.ot[0].ut=i.Ft().Nt(r.gt,o.Wt), n.dt=r.Ht??this.O.Ut(n.ot[0].ut/i.Ft().$t()),n.ot[0].wt=s,n.ot[0]._t=e.qt(s),n.lt=I):n.lt=null}))}}class R extends T{constructor(t){super(),this.jt=t}et({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:e}){if(null===this.jt)return;const h=this.jt.Yt.It,n=this.jt.Kt.It;if(!h&&!n)return;const r=Math.round(this.jt._t*s),o=Math.round(this.jt.ut*e);t.lineCap="butt",h&&r>=0&&(t.lineWidth=Math.floor(this.jt.Yt.ct*s),t.strokeStyle=this.jt.Yt.R,t.fillStyle=this.jt.Yt.R,l(t,this.jt.Yt.Zt),function(t,i,s,e){t.beginPath();const h=t.lineWidth%2?.5:0;t.moveTo(i+h,0),t.lineTo(i+h,e),t.stroke()}(t,r,0,i.height)),n&&o>=0&&(t.lineWidth=Math.floor(this.jt.Kt.ct*e),t.strokeStyle=this.jt.Kt.R,t.fillStyle=this.jt.Kt.R,l(t,this.jt.Kt.Zt),a(t,o,0,i.width))}}class F{constructor(t,i){this.xt=!0,this.Gt={Yt:{ct:1,Zt:0,R:"",It:!1},Kt:{ct:1,Zt:0,R:"",It:!1},_t:0,ut:0},this.Xt=new R(this.Gt),this.Jt=t,this.yt=i}kt(){this.xt=!0}Tt(t){return this.xt&&(this.Rt(),this.xt=!1),this.Xt}Rt(){const t=this.Jt.It(),i=this.yt.Qt().N().crosshair,s=this.Gt;if(2===i.mode)return s.Kt.It=!1,void(s.Yt.It=!1);s.Kt.It=t&&this.Jt.ti(this.yt),s.Yt.It=t&&this.Jt.ii(),s.Kt.ct=i.horzLine.width,s.Kt.Zt=i.horzLine.style,s.Kt.R=i.horzLine.color,s.Yt.ct=i.vertLine.width,s.Yt.Zt=i.vertLine.style,s.Yt.R=i.vertLine.color,s._t=this.Jt.si(),s.ut=this.Jt.ni()}}function W(t,i,s,e,h,n){t.fillRect(i+n,s,e-2*n,n),t.fillRect(i+n,s+h-n,e-2*n,n),t.fillRect(i,s,n,h),t.fillRect(i+e-n,s,n,h)}function V(t,i,s,e,h,n){t.save(),t.globalCompositeOperation="copy",t.fillStyle=n,t.fillRect(i,s,e,h),t.restore()}function A(t,i,s,e,h,n){t.beginPath(),t.roundRect?t.roundRect(i,s,e,h,n):(t.lineTo(i+e-n[1],s),0!==n[1]&&t.arcTo(i+e,s,i+e,s+n[1],n[1]),t.lineTo(i+e,s+h-n[2]),0!==n[2]&&t.arcTo(i+e,s+h,i+e-n[2],s+h,n[2]),t.lineTo(i+n[3],s+h),0!==n[3]&&t.arcTo(i,s+h,i,s+h-n[3],n[3]),t.lineTo(i,s+n[0]),0!==n[0]&&t.arcTo(i,s,i+n[0],s,n[0]))}function B(t,i,s,e,h,n,r=0,o=[0,0,0,0],l=""){if(t.save(),!r||!l||l===n)return A(t,i,s,e,h,o),t.fillStyle=n,t.fill(),void t.restore();const a=r/2;var u;A(t,i+a,s+a,e-r,h-r,(u=-a,o.map((t=>0===t?t:t+u)))),"transparent"!==n&&(t.fillStyle=n,t.fill()),"transparent"!==l&&(t.lineWidth=r,t.strokeStyle=l,t.closePath(),t.stroke()),t.restore()}function K(t,i,s,e,h,n,r){t.save(),t.globalCompositeOperation="copy";const o=t.createLinearGradient(0,0,0,h);o.addColorStop(0,n),o.addColorStop(1,r),t.fillStyle=o,t.fillRect(i,s,e,h),t.restore()}class J{constructor(t,i){this.ht(t,i)}ht(t,i){this.jt=t,this.ei=i}$t(t,i){return this.jt.It?t.k+t.A+t.I:0}nt(t,i,s,e){if(!this.jt.It||0===this.jt.ri.length)return;const h=this.jt.R,n=this.ei.G,r=t.useBitmapCoordinateSpace((t=>{const r=t.context;r.font=i.P;const o=this.hi(t,i,s,e),l=o.ai;return o.li?B(r,l.oi,l._i,l.ui,l.ci,n,l.di,[l.ft,0,0,l.ft],n):B(r,l.fi,l._i,l.ui,l.ci,n,l.di,[0,l.ft,l.ft,0],n),this.jt.pi&&(r.fillStyle=h,r.fillRect(l.fi,l.mi,l.wi-l.fi,l.gi)),this.jt.Mi&&(r.fillStyle=i.D,r.fillRect(o.li?l.bi-l.di:0,l._i,l.di,l.Si-l._i)),o}));t.useMediaCoordinateSpace((({context:t})=>{const s=r.xi;t.font=i.P, t.textAlign=r.li?"right":"left",t.textBaseline="middle",t.fillStyle=h,t.fillText(this.jt.ri,s.Ci,(s._i+s.Si)/2+s.yi)}))}hi(t,i,s,e){const{context:h,bitmapSize:n,mediaSize:r,horizontalPixelRatio:o,verticalPixelRatio:l}=t,a=this.jt.pi||!this.jt.ki?i.C:0,u=this.jt.Pi?i.S:0,c=i.A+this.ei.Ti,f=i.I+this.ei.Ri,d=i.V,m=i.B,p=this.jt.ri,g=i.k,v=s.Di(h,p),w=Math.ceil(s.Ii(h,p)),b=g+c+f,M=i.S+d+m+w+a,y=Math.max(1,Math.floor(l));let x=Math.round(b*l);x%2!=y%2&&(x+=1);const S=u>0?Math.max(1,Math.floor(u*o)):0,C=Math.round(M*o),_=Math.round(a*o),P=this.ei.Vi??this.ei.Bi??this.ei.Ei,k=Math.round(P*l)-Math.floor(.5*l),E=Math.floor(k+y/2-x/2),N=E+x,T="right"===e,L=T?r.width-u:u,z=T?n.width-S:S;let I,j,R;return T?(I=z-C,j=z-_,R=L-a-d-u):(I=z+C,j=z+_,R=L+a+d),{li:T,ai:{_i:E,mi:k,Si:N,ui:C,ci:x,ft:2*o,di:S,oi:I,fi:z,wi:j,gi:y,bi:n.width},xi:{_i:E/l,Si:N/l,Ci:R,yi:v}}}}class Y{constructor(t){this.Ai={Ei:0,G:"#000",Ri:0,Ti:0},this.Li={ri:"",It:!1,pi:!0,ki:!1,Ht:"",R:"#FFF",Mi:!1,Pi:!1},this.zi={ri:"",It:!1,pi:!1,ki:!0,Ht:"",R:"#FFF",Mi:!0,Pi:!0},this.xt=!0,this.Oi=new(t||J)(this.Li,this.Ai),this.Ni=new(t||J)(this.zi,this.Ai)}ri(){return this.Fi(),this.Li.ri}Ei(){return this.Fi(),this.Ai.Ei}kt(){this.xt=!0}$t(t,i=!1){return Math.max(this.Oi.$t(t,i),this.Ni.$t(t,i))}Wi(){return this.Ai.Vi??null}Hi(){return this.Ai.Vi??this.Ai.Bi??this.Ei()}Ui(t){this.Ai.Bi=t??void 0}$i(){return this.Fi(),this.Li.It||this.zi.It}qi(){return this.Fi(),this.Li.It}Tt(t){return this.Fi(),this.Li.pi=this.Li.pi&&t.N().ticksVisible,this.zi.pi=this.zi.pi&&t.N().ticksVisible,this.Oi.ht(this.Li,this.Ai),this.Ni.ht(this.zi,this.Ai),this.Oi}ji(){return this.Fi(),this.Oi.ht(this.Li,this.Ai),this.Ni.ht(this.zi,this.Ai),this.Ni}Fi(){this.xt&&(this.Li.pi=!0,this.zi.pi=!1,this.Yi(this.Li,this.zi,this.Ai))}}class D extends Y{constructor(t,i,s){super(),this.Jt=t,this.Ki=i,this.Zi=s}Yi(t,i,s){if(t.It=!1,2===this.Jt.N().mode)return;const e=this.Jt.N().horzLine;if(!e.labelVisible)return;const h=this.Ki.Lt();if(!this.Jt.It()||this.Ki.Gi()||null===h)return;const n=this.Ki.Xi().Z(e.labelBackgroundColor);s.G=n.G,t.R=n.X;const r=2/12*this.Ki.k();s.Ti=r,s.Ri=r;const o=this.Zi(this.Ki);s.Ei=o.Ei,t.ri=this.Ki.Ji(o.gt,h),t.It=!0}}const O=/[1-9]/g;class ${constructor(){this.jt=null}ht(t){this.jt=t}nt(t,i){if(null===this.jt||!1===this.jt.It||0===this.jt.ri.length)return;const s=t.useMediaCoordinateSpace((({context:t})=>(t.font=i.P,Math.round(i.Qi.Ii(t,f(this.jt).ri,O)))));if(s<=0)return;const e=i.ts,h=s+2*e,n=h/2,r=this.jt.ss;let o=this.jt.Ei,l=Math.floor(o-n)+.5;l<0?(o+=Math.abs(0-l),l=Math.floor(o-n)+.5):l+h>r&&(o-=Math.abs(r-(l+h)),l=Math.floor(o-n)+.5);const a=l+h,u=Math.ceil(0+i.S+i.C+i.A+i.k+i.I);t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:s,verticalPixelRatio:e})=>{const h=f(this.jt);t.fillStyle=h.G;const n=Math.round(l*s),r=Math.round(0*e),o=Math.round(a*s),c=Math.round(u*e),d=Math.round(2*s);if(t.beginPath(),t.moveTo(n,r),t.lineTo(n,c-d),t.arcTo(n,c,n+d,c,d),t.lineTo(o-d,c),t.arcTo(o,c,o,c-d,d),t.lineTo(o,r),t.fill(),h.pi){ const n=Math.round(h.Ei*s),o=r,l=Math.round((o+i.C)*e);t.fillStyle=h.R;const a=Math.max(1,Math.floor(s)),u=Math.floor(.5*s);t.fillRect(n-u,o,a,l-o)}})),t.useMediaCoordinateSpace((({context:t})=>{const s=f(this.jt),h=0+i.S+i.C+i.A+i.k/2;t.font=i.P,t.textAlign="left",t.textBaseline="middle",t.fillStyle=s.R;const n=i.Qi.Di(t,"Apr0");t.translate(l+e,h+n),t.fillText(s.ri,0,0)}))}}class U{constructor(t,i,s){this.xt=!0,this.Xt=new $,this.Gt={It:!1,G:"#4c525e",R:"white",ri:"",ss:0,Ei:NaN,pi:!0},this.Ct=t,this.ns=i,this.Zi=s}kt(){this.xt=!0}Tt(){return this.xt&&(this.Rt(),this.xt=!1),this.Xt.ht(this.Gt),this.Xt}Rt(){const t=this.Gt;if(t.It=!1,2===this.Ct.N().mode)return;const i=this.Ct.N().vertLine;if(!i.labelVisible)return;const s=this.ns.Et();if(s.Gi())return;t.ss=s.ss();const e=this.Zi();if(null===e)return;t.Ei=e.Ei;const h=s.es(this.Ct.Bt());t.ri=s.rs(f(h)),t.It=!0;const n=this.ns.Xi().Z(i.labelBackgroundColor);t.G=n.G,t.R=n.X,t.pi=s.N().ticksVisible}}class X{constructor(){this.hs=null,this.ls=0}_s(){return this.ls}us(t){this.ls=t}Ft(){return this.hs}cs(t){this.hs=t}ds(t){return[]}fs(){return[]}It(){return!0}}var G;!function(t){t[t.Normal=0]="Normal",t[t.Magnet=1]="Magnet",t[t.Hidden=2]="Hidden",t[t.MagnetOHLC=3]="MagnetOHLC"}(G||(G={}));class H extends X{constructor(t,i){super(),this.yt=null,this.ps=NaN,this.vs=0,this.ws=!1,this.gs=new Map,this.Ms=!1,this.bs=new WeakMap,this.Ss=new WeakMap,this.xs=NaN,this.Cs=NaN,this.ys=NaN,this.ks=NaN,this.ns=t,this.Ps=i,this.Ts=((t,i)=>s=>{const e=i(),h=t();if(s===f(this.yt).Rs())return{gt:h,Ei:e};{const t=f(s.Lt());return{gt:s.Ds(e,t),Ei:e}}})((()=>this.ps),(()=>this.Cs));const s=((t,i)=>()=>{const s=this.ns.Et().Is(t()),e=i();return s&&Number.isFinite(e)?{wt:s,Ei:e}:null})((()=>this.vs),(()=>this.si()));this.Vs=new U(this,t,s)}N(){return this.Ps}Bs(t,i){this.ys=t,this.ks=i}Es(){this.ys=NaN,this.ks=NaN}As(){return this.ys}Ls(){return this.ks}zs(t,i,s){this.Ms||(this.Ms=!0),this.ws=!0,this.Os(t,i,s)}Bt(){return this.vs}si(){return this.xs}ni(){return this.Cs}It(){return this.ws}Ns(){this.ws=!1,this.Fs(),this.ps=NaN,this.xs=NaN,this.Cs=NaN,this.yt=null,this.Es(),this.Ws()}Hs(t){if(!this.Ps.doNotSnapToHiddenSeriesIndices)return t;const i=this.ns,s=i.Et();let e=null,h=null;for(const s of i.Us()){const i=s.qs().$s(t,-1);if(i){if(i.js===t)return t;(null===e||i.js>e)&&(e=i.js)}const n=s.qs().$s(t,1);if(n){if(n.js===t)return t;(null===h||n.jsMath.abs(r-s.qt(t))));return n[o.indexOf(Math.min(...o))]}Ys(t){let i=this.bs.get(t);i||(i=new F(this,t),this.bs.set(t,i));let s=this.Ss.get(t);return s||(s=new j(this.ns,this,t),this.Ss.set(t,s)),[i,s]}ti(t){return t===this.yt&&this.Ps.horzLine.visible}ii(){return this.Ps.vertLine.visible}Ks(t,i){this.ws&&this.yt===t||this.gs.clear();const s=[];return this.yt===t&&s.push(this.Zs(this.gs,i,this.Ts)),s}fs(){return this.ws?[this.Vs]:[]}Gs(){return this.yt}Ws(){this.ns.Xs().forEach((t=>{this.bs.get(t)?.kt(),this.Ss.get(t)?.kt()})),this.gs.forEach((t=>t.kt())), this.Vs.kt()}Js(t){return t&&!t.Rs().Gi()?t.Rs():null}Os(t,i,s){this.Qs(t,i,s)&&this.Ws()}Qs(t,i,s){const e=this.xs,h=this.Cs,n=this.ps,r=this.vs,o=this.yt,l=this.Js(s);this.vs=t,this.xs=isNaN(t)?NaN:this.ns.Et().qt(t),this.yt=s;const a=null!==l?l.Lt():null;return null!==l&&null!==a?(this.ps=i,this.Cs=l.Nt(i,a)):(this.ps=NaN,this.Cs=NaN),e!==this.xs||h!==this.Cs||r!==this.vs||n!==this.ps||o!==this.yt}Fs(){const t=this.ns.tn().map((t=>t.qs().sn())).filter(y),i=0===t.length?null:Math.max(...t);this.vs=null!==i?i:NaN}Zs(t,i,s){let e=t.get(i);return void 0===e&&(e=new D(this,i,s),t.set(i,e)),e}}function q(t){return"left"===t||"right"===t}class Q{constructor(t){this.nn=new Map,this.en=[],this.rn=t}hn(t,i){const s=function(t,i){return void 0===t?i:{an:Math.max(t.an,i.an),ln:t.ln||i.ln}}(this.nn.get(t),i);this.nn.set(t,s)}_n(){return this.rn}un(t){const i=this.nn.get(t);return void 0===i?{an:this.rn}:{an:Math.max(this.rn,i.an),ln:i.ln}}cn(){this.dn(),this.en=[{fn:0}]}pn(t){this.dn(),this.en=[{fn:1,Wt:t}]}vn(t){this.mn(),this.en.push({fn:5,Wt:t})}dn(){this.mn(),this.en.push({fn:6})}wn(){this.dn(),this.en=[{fn:4}]}gn(t){this.dn(),this.en.push({fn:2,Wt:t})}Mn(t){this.dn(),this.en.push({fn:3,Wt:t})}bn(){return this.en}Sn(t){for(const i of t.en)this.xn(i);this.rn=Math.max(this.rn,t.rn),t.nn.forEach(((t,i)=>{this.hn(i,t)}))}static Cn(){return new Q(2)}static yn(){return new Q(3)}xn(t){switch(t.fn){case 0:this.cn();break;case 1:this.pn(t.Wt);break;case 2:this.gn(t.Wt);break;case 3:this.Mn(t.Wt);break;case 4:this.wn();break;case 5:this.vn(t.Wt);break;case 6:this.mn()}}mn(){const t=this.en.findIndex((t=>5===t.fn));-1!==t&&this.en.splice(t,1)}}class Z{formatTickmarks(t){return t.map((t=>this.format(t)))}}function tt(t,i){if(!g(t))return"n/a";if(!v(i))throw new TypeError("invalid length");if(i<0||i>16)throw new TypeError("invalid length");return 0===i?t.toString():("0000000000000000"+t.toString()).slice(-i)}class it extends Z{constructor(t,i){if(super(),i||(i=1),g(t)&&v(t)||(t=100),t<0)throw new TypeError("invalid base");this.Ki=t,this.kn=i,this.Pn()}format(t){const i=t<0?"−":"";return t=Math.abs(t),i+this.Tn(t)}Pn(){if(this.Rn=0,this.Ki>0&&this.kn>0){let t=this.Ki;for(;t>1;)t/=10,this.Rn++}}Tn(t){const i=this.Ki/this.kn;let s=Math.floor(t),e="";const h=void 0!==this.Rn?this.Rn:NaN;if(i>1){let n=+(Math.round(t*i)-s*i).toFixed(this.Rn);n>=i&&(n-=i,s+=1),e="."+tt(+n.toFixed(this.Rn)*this.kn,h)}else s=Math.round(s*i)/i,h>0&&(e="."+tt(0,h));return s.toFixed(0)+e}}class st extends it{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class et extends Z{constructor(t){super(),this.Dn=t}format(t){let i="";return t<0&&(i="-",t=-t),t<995?i+this.In(t):t<999995?i+this.In(t/1e3)+"K":t<999999995?(t=1e3*Math.round(t/1e3),i+this.In(t/1e6)+"M"):(t=1e6*Math.round(t/1e6),i+this.In(t/1e9)+"B")}In(t){let i;const s=Math.pow(10,this.Dn);return i=(t=Math.round(t*s)/s)>=1e-15&&t<1?t.toFixed(this.Dn).replace(/\.?0+$/,""):String(t),i.replace(/(\.[1-9]*)0+$/,((t,i)=>i))}}const ht=/[2-9]/g;class nt{constructor(t=50){this.Vn=0,this.Bn=1,this.En=1, this.An={},this.Ln=new Map,this.zn=t}On(){this.Vn=0,this.Ln.clear(),this.Bn=1,this.En=1,this.An={}}Ii(t,i,s){return this.Nn(t,i,s).width}Di(t,i,s){const e=this.Nn(t,i,s);return((e.actualBoundingBoxAscent||0)-(e.actualBoundingBoxDescent||0))/2}Nn(t,i,s){const e=s||ht,h=String(i).replace(e,"0");if(this.Ln.has(h))return c(this.Ln.get(h)).Fn;if(this.Vn===this.zn){const t=this.An[this.En];delete this.An[this.En],this.Ln.delete(t),this.En++,this.Vn--}t.save(),t.textBaseline="middle";const n=t.measureText(h);return t.restore(),0===n.width&&i.length||(this.Ln.set(h,{Fn:n,Wn:this.Bn}),this.An[this.Bn]=h,this.Vn++,this.Bn++),n}}class rt{constructor(t){this.Hn=null,this.M=null,this.Un="right",this.$n=t}qn(t,i,s){this.Hn=t,this.M=i,this.Un=s}nt(t){null!==this.M&&null!==this.Hn&&this.Hn.nt(t,this.M,this.$n,this.Un)}}class ot{constructor(t,i,s){this.jn=t,this.$n=new nt(50),this.Yn=i,this.O=s,this.F=-1,this.Xt=new rt(this.$n)}Tt(){const t=this.O.Kn(this.Yn);if(null===t)return null;const i=t.Zn(this.Yn)?t.Gn():this.Yn.Ft();if(null===i)return null;const s=t.Xn(i);if("overlay"===s)return null;const e=this.O.Jn();return e.k!==this.F&&(this.F=e.k,this.$n.On()),this.Xt.qn(this.jn.ji(),e,s),this.Xt}}class lt extends T{constructor(){super(...arguments),this.jt=null}ht(t){this.jt=t}Qn(t,i){if(!this.jt?.It)return null;const{ut:s,ct:e,te:h}=this.jt;return i>=s-e-7&&i<=s+e+7?{ie:this.jt,te:h}:null}et({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:e}){if(null===this.jt)return;if(!1===this.jt.It)return;const h=Math.round(this.jt.ut*e);h<0||h>i.height||(t.lineCap="butt",t.strokeStyle=this.jt.R,t.lineWidth=Math.floor(this.jt.ct*s),l(t,this.jt.Zt),a(t,h,0,i.width))}}class at{constructor(t){this.se={ut:0,R:"rgba(0, 0, 0, 0)",ct:1,Zt:0,It:!1},this.ne=new lt,this.xt=!0,this.ee=t,this.re=t.Qt(),this.ne.ht(this.se)}kt(){this.xt=!0}Tt(){return this.ee.It()?(this.xt&&(this.he(),this.xt=!1),this.ne):null}}class ut extends at{constructor(t){super(t)}he(){this.se.It=!1;const t=this.ee.Ft(),i=t.ae().ae;if(2!==i&&3!==i)return;const s=this.ee.N();if(!s.baseLineVisible||!this.ee.It())return;const e=this.ee.Lt();null!==e&&(this.se.It=!0,this.se.ut=t.Nt(e.Wt,e.Wt),this.se.R=s.baseLineColor,this.se.ct=s.baseLineWidth,this.se.Zt=s.baseLineStyle)}}class ct extends T{constructor(){super(...arguments),this.jt=null}ht(t){this.jt=t}le(){return this.jt}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:s}){const e=this.jt;if(null===e)return;const h=Math.max(1,Math.floor(i)),n=h%2/2,r=Math.round(e.oe.x*i)+n,o=e.oe.y*s;t.fillStyle=e._e,t.beginPath();const l=Math.max(2,1.5*e.ue)*i;t.arc(r,o,l,0,2*Math.PI,!1),t.fill(),t.fillStyle=e.ce,t.beginPath(),t.arc(r,o,e.ft*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=h,t.strokeStyle=e.de,t.beginPath(),t.arc(r,o,e.ft*i+h/2,0,2*Math.PI,!1),t.stroke()}}const ft=[{fe:0,pe:.25,ve:4,me:10,we:.25,ge:0,Me:.4,be:.8},{fe:.25,pe:.525,ve:10,me:14,we:0,ge:0,Me:.8,be:0},{fe:.525,pe:1,ve:14,me:14,we:0,ge:0,Me:0,be:0}];class dt{constructor(t){this.Xt=new ct,this.xt=!0,this.Se=!0,this.xe=performance.now(),this.Ce=this.xe-1,this.ye=t} ke(){this.Ce=this.xe-1,this.kt()}Pe(){if(this.kt(),2===this.ye.N().lastPriceAnimation){const t=performance.now(),i=this.Ce-t;if(i>0)return void(i<650&&(this.Ce+=2600));this.xe=t,this.Ce=t+2600}}kt(){this.xt=!0}Te(){this.Se=!0}It(){return 0!==this.ye.N().lastPriceAnimation}Re(){switch(this.ye.N().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Ce}}Tt(){return this.xt?(this.Rt(),this.xt=!1,this.Se=!1):this.Se&&(this.De(),this.Se=!1),this.Xt}Rt(){this.Xt.ht(null);const t=this.ye.Qt().Et(),i=t.Ie(),s=this.ye.Lt();if(null===i||null===s)return;const e=this.ye.Ve(!0);if(e.Be||!i.Ee(e.js))return;const h={x:t.qt(e.js),y:this.ye.Ft().Nt(e.gt,s.Wt)},n=e.R,r=this.ye.N().lineWidth,o=this.Ae(this.Le(),n);this.Xt.ht({_e:n,ue:r,ce:o.ce,de:o.de,ft:o.ft,oe:h})}De(){const t=this.Xt.le();if(null!==t){const i=this.Ae(this.Le(),t._e);t.ce=i.ce,t.de=i.de,t.ft=i.ft}}Le(){return this.Re()?performance.now()-this.xe:2599}ze(t,i,s,e){const h=s+(e-s)*i;return this.ye.Qt().Xi().Y(t,h)}Ae(t,i){const s=t%2600/2600;let e;for(const t of ft)if(s>=t.fe&&s<=t.pe){e=t;break}u(void 0!==e,"Last price animation internal logic error");const h=(s-e.fe)/(e.pe-e.fe);return{ce:this.ze(i,h,e.we,e.ge),de:this.ze(i,h,e.Me,e.be),ft:(n=h,r=e.ve,o=e.me,r+(o-r)*n)};var n,r,o}}class mt extends at{constructor(t){super(t)}he(){const t=this.se;t.It=!1;const i=this.ee.N();if(!i.priceLineVisible||!this.ee.It())return;const s=this.ee.Ve(0===i.priceLineSource);s.Be||(t.It=!0,t.ut=s.Ei,t.R=this.ee.Oe(s.R),t.ct=i.priceLineWidth,t.Zt=i.priceLineStyle)}}class pt extends Y{constructor(t){super(),this.Jt=t}Yi(t,i,s){t.It=!1,i.It=!1;const e=this.Jt;if(!e.It())return;const h=e.N(),n=h.lastValueVisible,r=""!==e.Ne(),o=0===h.seriesLastValueMode,l=e.Ve(!1);if(l.Be)return;n&&(t.ri=this.Fe(l,n,o),t.It=0!==t.ri.length),(r||o)&&(i.ri=this.We(l,n,r,o),i.It=i.ri.length>0);const a=e.Oe(l.R),u=this.Jt.Qt().Xi().Z(a);s.G=u.G,s.Ei=l.Ei,i.Ht=e.Qt().Ut(l.Ei/e.Ft().$t()),t.Ht=a,t.R=u.X,i.R=u.X}We(t,i,s,e){let h="";const n=this.Jt.Ne();return s&&0!==n.length&&(h+=`${n} `),i&&e&&(h+=this.Jt.Ft().He()?t.Ue:t.$e),h.trim()}Fe(t,i,s){return i?s?this.Jt.Ft().He()?t.$e:t.Ue:t.ri:""}}function gt(t,i,s,e){const h=Number.isFinite(i),n=Number.isFinite(s);return h&&n?t(i,s):h||n?h?i:s:e}class vt{constructor(t,i){this.qe=t,this.je=i}Ye(t){return null!==t&&this.qe===t.qe&&this.je===t.je}Ke(){return new vt(this.qe,this.je)}Ze(){return this.qe}Ge(){return this.je}Xe(){return this.je-this.qe}Gi(){return this.je===this.qe||Number.isNaN(this.je)||Number.isNaN(this.qe)}Sn(t){return null===t?this:new vt(gt(Math.min,this.Ze(),t.Ze(),-1/0),gt(Math.max,this.Ge(),t.Ge(),1/0))}Je(t){if(!g(t))return;if(0==this.je-this.qe)return;const i=.5*(this.je+this.qe);let s=this.je-i,e=this.qe-i;s*=t,e*=t,this.je=i+s,this.qe=i+e}Qe(t){g(t)&&(this.je+=t,this.qe+=t)}tr(){return{minValue:this.qe,maxValue:this.je}}static ir(t){return null===t?null:new vt(t.minValue,t.maxValue)}}class wt{constructor(t,i){this.sr=t,this.nr=i||null}er(){return this.sr}rr(){return this.nr}tr(){return{ priceRange:null===this.sr?null:this.sr.tr(),margins:this.nr||void 0}}static ir(t){return null===t?null:new wt(vt.ir(t.priceRange),t.margins)}}const bt=[2,4,8,16,32,64,128,256,512];class Mt extends at{constructor(t,i){super(t),this.hr=i}he(){const t=this.se;t.It=!1;const i=this.hr.N();if(!this.ee.It()||!i.lineVisible)return;const s=this.hr.ar();null!==s&&(t.It=!0,t.ut=s,t.R=i.color,t.ct=i.lineWidth,t.Zt=i.lineStyle,t.te=this.hr.N().id)}}class yt extends Y{constructor(t,i){super(),this.ye=t,this.hr=i}Yi(t,i,s){t.It=!1,i.It=!1;const e=this.hr.N(),h=e.axisLabelVisible,n=""!==e.title,r=this.ye;if(!h||!r.It())return;const o=this.hr.ar();if(null===o)return;n&&(i.ri=e.title,i.It=!0),i.Ht=r.Qt().Ut(o/r.Ft().$t()),t.ri=this.lr(e.price),t.It=!0;const l=this.ye.Qt().Xi().Z(e.axisLabelColor||e.color);s.G=l.G;const a=e.axisLabelTextColor||l.X;t.R=a,i.R=a,s.Ei=o}lr(t){const i=this.ye.Lt();return null===i?"":this.ye.Ft().Ji(t,i.Wt)}}class xt{constructor(t,i){this.ye=t,this.Ps=i,this._r=new Mt(t,this),this.jn=new yt(t,this),this.ur=new ot(this.jn,t,t.Qt())}cr(t){p(this.Ps,t),this.kt(),this.ye.Qt().dr()}N(){return this.Ps}pr(){return this._r}vr(){return this.ur}mr(){return this.jn}kt(){this._r.kt(),this.jn.kt()}ar(){const t=this.ye,i=t.Ft();if(t.Qt().Et().Gi()||i.Gi())return null;const s=t.Lt();return null===s?null:i.Nt(this.Ps.price,s.Wt)}}class St{constructor(){this.wr=new WeakMap}gr(t,i,s){const e=1/i*s;if(t>=e)return 1;const h=e/t,n=Math.pow(2,Math.floor(Math.log2(h)));return Math.min(n,512)}Mr(t,i,s,e=!1,h){if(0===t.length||i<=1)return t;const n=this.br(i);if(n<=1)return t;const r=this.Sr(t);let o=r.Cr.get(n);return void 0!==o||(o=this.yr(t,n,s,e,h,r.Cr),r.Cr.set(n,o)),o}kr(t,i,s,e,h=!1,n){if(s<1||0===t.length)return t;const r=this.Sr(t),o=r.Cr.get(s);if(!o)return this.Mr(t,s,e,h,n);const l=this.Pr(t,i,s,o,h,e,n);return r.Cr.set(s,l),l}br(t){if(t<=2)return 2;for(const i of bt)if(t<=i)return i;return 512}Tr(t){if(0===t.length)return 0;const i=t[0],s=t[t.length-1];return 31*t.length+17*i.js+13*s.js}yr(t,i,s,e=!1,h,n=new Map){if(2===i)return this.Rr(t,2,s,e,h);const r=i/2;let o=n.get(r);return o||(o=this.yr(t,r,s,e,h,n),n.set(r,o)),this.Dr(o,s,e,h)}Rr(t,i,s,e=!1,h){const n=this.Ir(t,i,s,e,h);return this.Vr(n,e)}Dr(t,i,s=!1,e){const h=this.Ir(t,2,i,s,e);return this.Vr(h,s)}Ir(t,i,s,e=!1,h){const n=[];for(let r=0;r=i){const i=this.Br(t[r],t[r+1],s,e,h);i.Er=!1,n.push(i)}else if(0===n.length)n.push(this.Ar(t[r],!0));else{const i=n[n.length-1];n[n.length-1]=this.Lr(i,t[r],s,e,h)}return n}zr(t,i){return(t??1)+(i??1)}Br(t,i,s,e=!1,h){if(!e||!s||!h){const s=t.Wt[1]>i.Wt[1]?t.Wt[1]:i.Wt[1],e=t.Wt[2]i.Wt[1]?t.Ur:i.Wt[1],$r:t.$rthis.Xr(t,i)))}Pr(t,i,s,e,h=!1,n,r){if(0===e.length)return e;const o=t.length-1,l=Math.floor(o/s)*s;if(Math.min(l+s,t.length)-ls){const e=t.slice();return e[e.length-1]=i,this.Mr(e,s,n,h,r)}if(Math.floor((o-1)/s)===Math.floor(o/s)||1===e.length){const a=Math.min(l+s,t.length),u=a-l;if(u<=0)return e;const c=1===u?this.Ar(l===o?i:t[l],!0):this.Zr(t,l,a,o,i,n,h,r);return e[e.length-1]=this.Xr(c,h),e}{const e=t.slice();return e[e.length-1]=i,this.Mr(e,s,n,h,r)}}Ar(t,i=!1){return{Or:t.js,Nr:t.js,Fr:t.wt,Wr:t.wt,Hr:t.Wt[0],Ur:t.Wt[1],$r:t.Wt[2],qr:t.Wt[3],jr:t.jr??1,Yr:t.le,Er:i}}Sr(t){const i=this.Jr(t),s=this.Tr(t);return i.Qr!==s&&(i.Cr.clear(),i.Qr=s),i}Jr(t){let i=this.wr.get(t);return void 0===i&&(i={Qr:this.Tr(t),Cr:new Map},this.wr.set(t,i)),i}}class Ct extends X{constructor(t){super(),this.ns=t}Qt(){return this.ns}}const _t={Bar:(t,i,s,e)=>{const h=i.upColor,n=i.downColor,r=f(t(s,e)),o=d(r.Wt[0])<=d(r.Wt[3]);return{th:r.R??(o?h:n)}},Candlestick:(t,i,s,e)=>{const h=i.upColor,n=i.downColor,r=i.borderUpColor,o=i.borderDownColor,l=i.wickUpColor,a=i.wickDownColor,u=f(t(s,e)),c=d(u.Wt[0])<=d(u.Wt[3]);return{th:u.R??(c?h:n),ih:u.Ht??(c?r:o),sh:u.nh??(c?l:a)}},Custom:(t,i,s,e)=>({th:f(t(s,e)).R??i.color}),Area:(t,i,s,e)=>{const h=f(t(s,e));return{th:h.vt??i.lineColor,vt:h.vt??i.lineColor,eh:h.eh??i.topColor,rh:h.rh??i.bottomColor}},Baseline:(t,i,s,e)=>{const h=f(t(s,e));return{th:h.Wt[3]>=i.baseValue.price?i.topLineColor:i.bottomLineColor,hh:h.hh??i.topLineColor,ah:h.ah??i.bottomLineColor,oh:h.oh??i.topFillColor1,_h:h._h??i.topFillColor2,uh:h.uh??i.bottomFillColor1,dh:h.dh??i.bottomFillColor2}},Line:(t,i,s,e)=>{const h=f(t(s,e));return{th:h.R??i.color,vt:h.R??i.color}},Histogram:(t,i,s,e)=>({th:f(t(s,e)).R??i.color})};class Pt{constructor(t){this.fh=(t,i)=>void 0!==i?i.Wt:this.ye.qs().ph(t),this.ye=t,this.mh=_t[t.wh()]}gh(t,i){return this.mh(this.fh,this.ye.N(),t,i)}}function kt(t,i,s,e,h=0,n=i.length){let r=n-h;for(;0>1,o=h+n;e(i[o],s)===t?(h=o+1,r-=n+1):r=n}return h}const Et=kt.bind(null,!0),Nt=kt.bind(null,!1);var Tt;!function(t){t[t.NearestLeft=-1]="NearestLeft",t[t.None=0]="None",t[t.NearestRight=1]="NearestRight"}(Tt||(Tt={}));const Lt=30;class zt{ constructor(){this.Mh=[],this.bh=new Map,this.Sh=new Map,this.xh=[]}Ch(){return this.yh()>0?this.Mh[this.Mh.length-1]:null}kh(){return this.yh()>0?this.Ph(0):null}sn(){return this.yh()>0?this.Ph(this.Mh.length-1):null}yh(){return this.Mh.length}Gi(){return 0===this.yh()}Ee(t){return null!==this.Th(t,0)}ph(t){return this.$s(t)}$s(t,i=0){const s=this.Th(t,i);return null===s?null:{...this.Rh(s),js:this.Ph(s)}}Dh(){return this.Mh}Ih(t,i,s){if(this.Gi())return null;let e=null;for(const h of s)e=It(e,this.Vh(t,i,h));return e}ht(t){this.Sh.clear(),this.bh.clear(),this.Mh=t,this.xh=t.map((t=>t.js))}Bh(){return this.xh}Ph(t){return this.Mh[t].js}Rh(t){return this.Mh[t]}Th(t,i){const s=this.Eh(t);if(null===s&&0!==i)switch(i){case-1:return this.Ah(t);case 1:return this.Lh(t);default:throw new TypeError("Unknown search mode")}return s}Ah(t){let i=this.zh(t);return i>0&&(i-=1),i!==this.Mh.length&&this.Ph(i)t.jst.js>i))}Nh(t,i,s){let e=null;for(let h=t;he.Wh&&(e.Wh=t)))}return e}Vh(t,i,s){if(this.Gi())return null;let e=null;const h=f(this.kh()),n=f(this.sn()),r=Math.max(t,h),o=Math.min(i,n),l=Math.ceil(r/Lt)*Lt,a=Math.max(l,Math.floor(o/Lt)*Lt);{const t=this.zh(r),h=this.Oh(Math.min(o,l,i));e=It(e,this.Nh(t,h,s))}let u=this.bh.get(s);void 0===u&&(u=new Map,this.bh.set(s,u));for(let t=Math.max(l+1,r);tnew Wt(t)));return this.Kh={qh:t,jh:i},i}Qn(t,i){return this.Zh.hitTest?.(t,i)??null}}let At=class extends Vt{ds(){return[]}};class Bt{constructor(t){this.Hh=t}nt(t,i,s){this.Hh.draw(t,Rt)}Uh(t,i,s){this.Hh.drawBackground?.(t,Rt)}}class Kt{constructor(t){this.Ln=null,this.$h=t}Tt(){const t=this.$h.renderer();if(null===t)return null;if(this.Ln?.qh===t)return this.Ln.jh;const i=new Bt(t);return this.Ln={qh:t,jh:i},i}Yh(){return this.$h.zOrder?.()??"normal"}}function Jt(t){return{ri:t.text(),Ei:t.coordinate(),Vi:t.fixedCoordinate?.(), R:t.textColor(),G:t.backColor(),It:t.visible?.()??!0,pi:t.tickVisible?.()??!0}}class Yt{constructor(t,i){this.Xt=new $,this.Xh=t,this.Jh=i}Tt(){return this.Xt.ht({ss:this.Jh.ss(),...Jt(this.Xh)}),this.Xt}}class Dt extends Y{constructor(t,i){super(),this.Xh=t,this.Ki=i}Yi(t,i,s){const e=Jt(this.Xh);s.G=e.G,t.R=e.R;const h=2/12*this.Ki.k();s.Ti=h,s.Ri=h,s.Ei=e.Ei,s.Vi=e.Vi,t.ri=e.ri,t.It=e.It,t.pi=e.pi}}class Ot extends Vt{constructor(t,i){super(t),this.Qh=null,this.ta=null,this.ia=null,this.sa=null,this.ye=i}fs(){const t=this.Zh.timeAxisViews?.()??[];if(this.Qh?.qh===t)return this.Qh.jh;const i=this.ye.Qt().Et(),s=t.map((t=>new Yt(t,i)));return this.Qh={qh:t,jh:s},s}Ks(){const t=this.Zh.priceAxisViews?.()??[];if(this.ta?.qh===t)return this.ta.jh;const i=this.ye.Ft(),s=t.map((t=>new Dt(t,i)));return this.ta={qh:t,jh:s},s}na(){const t=this.Zh.priceAxisPaneViews?.()??[];if(this.ia?.qh===t)return this.ia.jh;const i=t.map((t=>new Kt(t)));return this.ia={qh:t,jh:i},i}ea(){const t=this.Zh.timeAxisPaneViews?.()??[];if(this.sa?.qh===t)return this.sa.jh;const i=t.map((t=>new Kt(t)));return this.sa={qh:t,jh:i},i}ra(t,i){return this.Zh.autoscaleInfo?.(t,i)??null}}function $t(t,i,s,e){t.forEach((t=>{i(t).forEach((t=>{t.Yh()===s&&e.push(t)}))}))}function Ut(t){return t.Ys()}function Xt(t){return t.na()}function Gt(t){return t.ea()}const Ht=["Area","Line","Baseline"];class qt extends Ct{constructor(t,i,s,e,h){super(t),this.jt=jt(),this._r=new mt(this),this.ha=[],this.aa=new ut(this),this.la=null,this.oa=null,this._a=null,this.ua=[],this.ca=new St,this.da=new Map,this.fa=null,this.Ps=s,this.pa=i;const n=new pt(this);if(this.gs=[n],this.ur=new ot(n,this,t),Ht.includes(this.pa)&&(this.la=new dt(this)),this.va(),this.$h=e(this,this.Qt(),h),"Custom"===this.pa){const t=this.$h;t.ma&&this.wa(t.ma)}}m(){null!==this._a&&clearTimeout(this._a)}Oe(t){return this.Ps.priceLineColor||t}Ve(t){const i={Be:!0},s=this.Ft();if(this.Qt().Et().Gi()||s.Gi()||this.jt.Gi())return i;const e=this.Qt().Et().Ie(),h=this.Lt();if(null===e||null===h)return i;let n,r;if(t){const t=this.jt.Ch();if(null===t)return i;n=t,r=t.js}else{const t=this.jt.$s(e.bi(),-1);if(null===t)return i;if(n=this.jt.ph(t.js),null===n)return i;r=t.js}const o=n.Wt[3],l=this.ga().gh(r,{Wt:n}),a=s.Nt(o,h.Wt);return{Be:!1,gt:o,ri:s.Ji(o,h.Wt),Ue:s.Ma(o),$e:s.ba(o,h.Wt),R:l.th,Ei:a,js:r}}ga(){return null!==this.oa||(this.oa=new Pt(this)),this.oa}N(){return this.Ps}cr(t){const i=this.Qt(),{priceScaleId:s,visible:e,priceFormat:h}=t;void 0!==s&&s!==this.Ps.priceScaleId&&i.Sa(this,s),void 0!==e&&e!==this.Ps.visible&&i.xa();const n=void 0!==t.conflationThresholdFactor;p(this.Ps,t),n&&(this.da.clear(),this.Qt().dr()),void 0!==h&&(this.va(),i.Ca()),i.ya(this),i.ka(),this.$h.kt("options")}ht(t,i){this.jt.ht(t),this.da.clear();const s=this.Qt().Et().N();s.enableConflation&&s.precomputeConflationOnInit&&this.Pa(s.precomputeConflationPriority),this.$h.kt("data"),null!==this.la&&(i&&i.Ta?this.la.Pe():0===t.length&&this.la.ke());const e=this.Qt().Kn(this);this.Qt().Ra(e),this.Qt().ya(this),this.Qt().ka(), this.Qt().dr()}Da(t){const i=new xt(this,t);return this.ha.push(i),this.Qt().ya(this),i}Ia(t){const i=this.ha.indexOf(t);-1!==i&&this.ha.splice(i,1),this.Qt().ya(this)}Va(){return this.ha}wh(){return this.pa}Lt(){const t=this.Ba();return null===t?null:{Wt:t.Wt[3],Ea:t.wt}}Ba(){const t=this.Qt().Et().Ie();if(null===t)return null;const i=t.Aa();return this.jt.$s(i,1)}qs(){return this.jt}wa(t){this.fa=t,this.da.clear()}La(){return!!this.Qt().Et().N().enableConflation&&this.za()>1}kr(t){if(!this.La())return;const i=this.za();if(!this.da.has(i))return;const s="Custom"===this.pa,e=s&&this.fa||void 0,h=s&&this.$h.Oa?t=>{const i=t,s=this.$h.Oa(i);return Array.isArray(s)?s:["number"==typeof s?s:0]}:void 0,n=this.ca.kr(this.jt.Dh(),t,i,e,s,h),r=jt();r.ht(n),this.da.set(i,r)}Na(){const t=this.Qt().Et().N().enableConflation;if("Custom"===this.pa&&null===this.fa)return this.jt;if(!t)return this.jt;const i=this.za(),s=this.da.get(i);return s||(this.Fa(i),this.da.get(i)??this.jt)}Wa(t){const i=this.jt.ph(t);return null===i?null:"Bar"===this.pa||"Candlestick"===this.pa||"Custom"===this.pa?{Hr:i.Wt[0],Ur:i.Wt[1],$r:i.Wt[2],qr:i.Wt[3]}:i.Wt[3]}Ha(t){const i=[];$t(this.ua,Ut,"top",i);const s=this.la;return null!==s&&s.It()?(null===this._a&&s.Re()&&(this._a=setTimeout((()=>{this._a=null,this.Qt().Ua()}),0)),s.Te(),i.unshift(s),i):i}Ys(){const t=[];this.$a()||t.push(this.aa),t.push(this.$h,this._r);const i=this.ha.map((t=>t.pr()));return t.push(...i),$t(this.ua,Ut,"normal",t),t}qa(){return this.ja(Ut,"bottom")}Ya(t){return this.ja(Xt,t)}Ka(t){return this.ja(Gt,t)}Za(t,i){return this.ua.map((s=>s.Qn(t,i))).filter((t=>null!==t))}ds(){return[this.ur,...this.ha.map((t=>t.vr()))]}Ks(t,i){if(i!==this.hs&&!this.$a())return[];const s=[...this.gs];for(const t of this.ha)s.push(t.mr());return this.ua.forEach((t=>{s.push(...t.Ks())})),s}fs(){const t=[];return this.ua.forEach((i=>{t.push(...i.fs())})),t}ra(t,i){if(void 0!==this.Ps.autoscaleInfoProvider){const s=this.Ps.autoscaleInfoProvider((()=>{const s=this.Ga(t,i);return null===s?null:s.tr()}));return wt.ir(s)}return this.Ga(t,i)}qh(){const t=this.Ps.priceFormat;return t.base??1/t.minMove}Xa(){return this.Ja}Ws(){this.$h.kt();for(const t of this.gs)t.kt();for(const t of this.ha)t.kt();this._r.kt(),this.aa.kt(),this.la?.kt(),this.ua.forEach((t=>t.Ws()))}Ft(){return f(super.Ft())}At(t){if("Line"!==this.pa&&"Area"!==this.pa&&"Baseline"!==this.pa||!this.Ps.crosshairMarkerVisible)return null;const i=this.jt.ph(t);return null===i?null:{gt:i.Wt[3],ft:this.Qa(),Ht:this.tl(),Ot:this.il(),zt:this.sl(t)}}Ne(){return this.Ps.title}It(){return this.Ps.visible}nl(t){this.ua.push(new Ot(t,this))}el(t){this.ua=this.ua.filter((i=>i.Gh()!==t))}rl(){if("Custom"===this.pa)return t=>this.$h.Oa(t)}hl(){if("Custom"===this.pa)return t=>this.$h.al(t)}ll(){return this.jt.Bh()}$a(){return!q(this.Ft().ol())}Ga(t,i){if(!v(t)||!v(i)||this.jt.Gi())return null;const s="Line"===this.pa||"Area"===this.pa||"Baseline"===this.pa||"Histogram"===this.pa?[3]:[2,1],e=this.jt.Ih(t,i,s);let h=null!==e?new vt(e.Fh,e.Wh):null,n=null ;if("Histogram"===this.wh()){const t=this.Ps.base,i=new vt(t,t);h=null!==h?h.Sn(i):i}return this.ua.forEach((s=>{const e=s.ra(t,i);if(e?.priceRange){const t=new vt(e.priceRange.minValue,e.priceRange.maxValue);h=null!==h?h.Sn(t):t}e?.margins&&(n=e.margins)})),new wt(h,n)}Qa(){switch(this.pa){case"Line":case"Area":case"Baseline":return this.Ps.crosshairMarkerRadius}return 0}tl(){switch(this.pa){case"Line":case"Area":case"Baseline":{const t=this.Ps.crosshairMarkerBorderColor;if(0!==t.length)return t}}return null}il(){switch(this.pa){case"Line":case"Area":case"Baseline":return this.Ps.crosshairMarkerBorderWidth}return 0}sl(t){switch(this.pa){case"Line":case"Area":case"Baseline":{const t=this.Ps.crosshairMarkerBackgroundColor;if(0!==t.length)return t}}return this.ga().gh(t).th}va(){switch(this.Ps.priceFormat.type){case"custom":{const t=this.Ps.priceFormat.formatter;this.Ja={format:t,formatTickmarks:this.Ps.priceFormat.tickmarksFormatter??(i=>i.map(t))};break}case"volume":this.Ja=new et(this.Ps.priceFormat.precision);break;case"percent":this.Ja=new st(this.Ps.priceFormat.precision);break;default:{const t=Math.pow(10,this.Ps.priceFormat.precision);this.Ja=new it(t,this.Ps.priceFormat.minMove*t)}}null!==this.hs&&this.hs._l()}ja(t,i){const s=[];return $t(this.ua,t,i,s),s}za(){const{ul:t,cl:i,dl:s}=this.fl();return this.ca.gr(t,i,s)}fl(){const t=this.Qt().Et(),i=t.ul(),s=window.devicePixelRatio||1,e=t.N().conflationThresholdFactor;return{ul:i,cl:s,dl:this.Ps.conflationThresholdFactor??e??1}}pl(t){const i=this.jt.Dh();let s;if("Custom"===this.pa&&null!==this.fa){const e=this.rl();if(!e)throw new Error("Custom series with conflation reducer must have a priceValueBuilder method");s=this.ca.Mr(i,t,this.fa,!0,(t=>e(t)))}else s=this.ca.Mr(i,t);const e=jt();return e.ht(s),e}Fa(t){const i=this.pl(t);this.da.set(t,i)}Pa(t){if("Custom"===this.pa&&(null===this.fa||!this.rl()))return;this.da.clear();const i=this.Qt().Et().vl();for(const s of i){const i=()=>{this.ml(s)},e="object"==typeof window&&window||"object"==typeof self&&self;e?.gl?.wl?e.gl.wl((()=>{i()}),{Ml:t}):Promise.resolve().then((()=>i()))}}ml(t){if(this.da.has(t))return;if(0===this.jt.Dh().length)return;const i=this.pl(t);this.da.set(t,i)}}const Qt=[3],Zt=[0,1,2,3];class ti{constructor(t){this.Ps=t}bl(t,i,s){let e=t;if(0===this.Ps.mode)return e;const h=s.Rs(),n=h.Lt();if(null===n)return e;const r=h.Nt(t,n),o=s.Sl().filter((t=>t instanceof qt)).reduce(((t,e)=>{if(s.Zn(e)||!e.It())return t;const h=e.Ft(),n=e.qs();if(h.Gi()||!n.Ee(i))return t;const r=n.ph(i);if(null===r)return t;const o=d(e.Lt()),l=3===this.Ps.mode?Zt:Qt;return t.concat(l.map((t=>h.Nt(r.Wt[t],o.Wt))))}),[]);if(0===o.length)return e;o.sort(((t,i)=>Math.abs(t-r)-Math.abs(i-r)));const l=o[0];return e=h.Ds(l,n),e}}function ii(t,i,s){return Math.min(Math.max(t,i),s)}function si(t,i,s){return i-t<=s}class ei extends T{constructor(){super(...arguments),this.jt=null}ht(t){this.jt=t}et({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:e}){if(null===this.jt)return;const h=Math.max(1,Math.floor(s)) ;t.lineWidth=h,function(t,i){t.save(),t.lineWidth%2&&t.translate(.5,.5),i(),t.restore()}(t,(()=>{const n=f(this.jt);if(n.xl){t.strokeStyle=n.Cl,l(t,n.yl),t.beginPath();for(const e of n.kl){const n=Math.round(e.Pl*s);t.moveTo(n,-h),t.lineTo(n,i.height+h)}t.stroke()}if(n.Tl){t.strokeStyle=n.Rl,l(t,n.Dl),t.beginPath();for(const s of n.Il){const n=Math.round(s.Pl*e);t.moveTo(-h,n),t.lineTo(i.width+h,n)}t.stroke()}}))}}class hi{constructor(t){this.Xt=new ei,this.xt=!0,this.yt=t}kt(){this.xt=!0}Tt(){if(this.xt){const t=this.yt.Qt().N().grid,i={Tl:t.horzLines.visible,xl:t.vertLines.visible,Rl:t.horzLines.color,Cl:t.vertLines.color,Dl:t.horzLines.style,yl:t.vertLines.style,Il:this.yt.Rs().Vl(),kl:(this.yt.Qt().Et().Vl()||[]).map((t=>({Pl:t.coord})))};this.Xt.ht(i),this.xt=!1}return this.Xt}}class ni{constructor(t){this.$h=new hi(t)}pr(){return this.$h}}const ri={Bl:4,El:1e-4};function oi(t,i){const s=100*(t-i)/i;return i<0?-s:s}function li(t,i){const s=oi(t.Ze(),i),e=oi(t.Ge(),i);return new vt(s,e)}function ai(t,i){const s=100*(t-i)/i+100;return i<0?-s:s}function ui(t,i){const s=ai(t.Ze(),i),e=ai(t.Ge(),i);return new vt(s,e)}function ci(t,i){const s=Math.abs(t);if(s<1e-15)return 0;const e=Math.log10(s+i.El)+i.Bl;return t<0?-e:e}function fi(t,i){const s=Math.abs(t);if(s<1e-15)return 0;const e=Math.pow(10,s-i.Bl)-i.El;return t<0?-e:e}function di(t,i){if(null===t)return null;const s=ci(t.Ze(),i),e=ci(t.Ge(),i);return new vt(s,e)}function mi(t,i){if(null===t)return null;const s=fi(t.Ze(),i),e=fi(t.Ge(),i);return new vt(s,e)}function pi(t){if(null===t)return ri;const i=Math.abs(t.Ge()-t.Ze());if(i>=1||i<1e-15)return ri;const s=Math.ceil(Math.abs(Math.log10(i))),e=ri.Bl+s;return{Bl:e,El:1/Math.pow(10,e)}}class gi{constructor(t,i){if(this.Al=t,this.Ll=i,function(t){if(t<0)return!1;if(t>1e18)return!0;for(let i=t;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.Al))this.zl=[2,2.5,2];else{this.zl=[];for(let t=this.Al;1!==t;){if(t%2==0)this.zl.push(2),t/=2;else{if(t%5!=0)throw new Error("unexpected base");this.zl.push(2,2.5),t/=5}if(this.zl.length>100)throw new Error("something wrong with base")}}}Ol(t,i,s){const e=0===this.Al?0:1/this.Al;let h=Math.pow(10,Math.max(0,Math.ceil(Math.log10(t-i)))),n=0,r=this.Ll[0];for(;;){const t=si(h,e,1e-14)&&h>e+1e-14,i=si(h,s*r,1e-14),o=si(h,1,1e-14);if(!(t&&i&&o))break;h/=r,r=this.Ll[++n%this.Ll.length]}if(h<=e+1e-14&&(h=e),h=Math.max(1,h),this.zl.length>0&&(o=h,Math.abs(o-1)<1e-14))for(n=0,r=this.zl[0];si(h,s*r,1e-14)&&h>e+1e-14;)h/=r,r=this.zl[++n%this.zl.length];var o;return h}}class vi{constructor(t,i,s,e){this.Nl=[],this.Ki=t,this.Al=i,this.Fl=s,this.Wl=e}Ol(t,i){if(tt.Gl)),f=this.Ki.Xl(c);for(let t=0;t=e?1:-1;let u=null,c=0;for(let f=s-l;f>e;f-=i){const s=this.Wl(f,t,!0);null!==u&&Math.abs(s-u)n||(c0&&r[0].Pl-o.Pl0&&l.Pl-r[r.length-1].Plf(t._s())-f(i._s())))}var bi;!function(t){t[t.Normal=0]="Normal",t[t.Logarithmic=1]="Logarithmic",t[t.Percentage=2]="Percentage",t[t.IndexedTo100=3]="IndexedTo100"}(bi||(bi={}));const Mi=new st,yi=new it(100,1);class xi{constructor(t,i,s,e,h){this.eo=0,this.ro=null,this.sr=null,this.ho=null,this.ao={lo:!1,oo:null},this._o=!1,this.uo=0,this.co=0,this.do=new m,this.fo=new m,this.po=[],this.vo=null,this.mo=null,this.wo=null,this.Mo=null,this.bo=null,this.Ja=yi,this.So=pi(null),this.xo=t,this.Ps=i,this.Co=s,this.yo=e,this.ko=h,this.Po=new vi(this,100,this.To.bind(this),this.Ro.bind(this))}ol(){return this.xo}N(){return this.Ps}cr(t){if(p(this.Ps,t),this._l(),void 0!==t.mode&&this.Do({ae:t.mode}),void 0!==t.scaleMargins){const i=c(t.scaleMargins.top),s=c(t.scaleMargins.bottom);if(i<0||i>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${i}`);if(s<0||s>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${s}`);if(i+s>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${i+s}`);this.Io(),this.wo=null}}Vo(){return this.Ps.autoScale}Bo(){return this._o}io(){return 1===this.Ps.mode}He(){return 2===this.Ps.mode}Eo(){return 3===this.Ps.mode}no(){return this.So}ae(){return{ln:this.Ps.autoScale,Ao:this.Ps.invertScale,ae:this.Ps.mode}}Do(t){const i=this.ae();let s=null;void 0!==t.ln&&(this.Ps.autoScale=t.ln),void 0!==t.ae&&(this.Ps.mode=t.ae,2!==t.ae&&3!==t.ae||(this.Ps.autoScale=!0),this.ao.lo=!1),1===i.ae&&t.ae!==i.ae&&(function(t,i){if(null===t)return!1;const s=fi(t.Ze(),i),e=fi(t.Ge(),i);return isFinite(s)&&isFinite(e)}(this.sr,this.So)?(s=mi(this.sr,this.So),null!==s&&this.Lo(s)):this.Ps.autoScale=!0), 1===t.ae&&t.ae!==i.ae&&(s=di(this.sr,this.So),null!==s&&this.Lo(s));const e=i.ae!==this.Ps.mode;e&&(2===i.ae||this.He())&&this._l(),e&&(3===i.ae||this.Eo())&&this._l(),void 0!==t.Ao&&i.Ao!==t.Ao&&(this.Ps.invertScale=t.Ao,this.zo()),this.fo.p(i,this.ae())}Oo(){return this.fo}k(){return this.Co.fontSize}$t(){return this.eo}No(t){this.eo!==t&&(this.eo=t,this.Io(),this.wo=null)}Fo(){if(this.ro)return this.ro;const t=this.$t()-this.Wo()-this.Ho();return this.ro=t,t}er(){return this.Uo(),this.sr}Lo(t,i){const s=this.sr;(i||null===s&&null!==t||null!==s&&!s.Ye(t))&&(this.wo=null,this.sr=t)}$o(t){this.Lo(t),this.qo(null!==t)}Gi(){return this.Uo(),0===this.eo||!this.sr||this.sr.Gi()}jo(t){return this.Ao()?t:this.$t()-1-t}Nt(t,i){return this.He()?t=oi(t,i):this.Eo()&&(t=ai(t,i)),this.Ro(t,i)}Yo(t,i,s){this.Uo();const e=this.Ho(),h=f(this.er()),n=h.Ze(),r=h.Ge(),o=this.Fo()-1,l=this.Ao(),a=o/(r-n),u=void 0===s?0:s.from,c=void 0===s?t.length:s.to,d=this.Ko();for(let s=u;st.Ws()))}jl(){return this.Ps.ensureEdgeTickMarksVisible&&this.Vo()}Kl(){return this.k()/2}_l(){this.wo=null;let t=1/0;this.vo=null;for(const i of this.po)i._s()ci(t,this.So):null}g_(t,i,s){return void 0===i?(void 0===s&&(s=this.Xa()),s.format(t)):i(t)}M_(t,i,s){return void 0===i?(void 0===s&&(s=this.Xa()),s.formatTickmarks(t)):i(t)}lr(t,i){ return this.g_(t,this.yo.priceFormatter,i)}f_(t,i){const s=this.yo.priceFormatter;return this.M_(t,this.yo.tickmarksPriceFormatter??(s?t=>t.map(s):void 0),i)}c_(t,i){return this.g_(t,this.yo.percentageFormatter,i)}d_(t,i){const s=this.yo.percentageFormatter;return this.M_(t,this.yo.tickmarksPercentageFormatter??(s?t=>t.map(s):void 0),i)}}function Si(t){return t instanceof qt}class Ci{constructor(t,i){this.po=[],this.b_=new Map,this.eo=0,this.S_=0,this.x_=1,this.mo=null,this.C_=!1,this.y_=new m,this.ua=[],this.Jh=t,this.ns=i,this.k_=new ni(this);const s=i.N();this.P_=this.T_("left",s.leftPriceScale),this.R_=this.T_("right",s.rightPriceScale),this.P_.Oo().i(this.D_.bind(this,this.P_),this),this.R_.Oo().i(this.D_.bind(this,this.R_),this),this.I_(s)}I_(t){if(t.leftPriceScale&&this.P_.cr(t.leftPriceScale),t.rightPriceScale&&this.R_.cr(t.rightPriceScale),t.localization&&(this.P_._l(),this.R_._l()),t.overlayPriceScales){const i=Array.from(this.b_.values());for(const s of i){const i=f(s[0].Ft());i.cr(t.overlayPriceScales),t.localization&&i._l()}}}V_(t){switch(t){case"left":return this.P_;case"right":return this.R_}return this.b_.has(t)?c(this.b_.get(t))[0].Ft():null}m(){this.Qt().B_().u(this),this.P_.Oo().u(this),this.R_.Oo().u(this),this.po.forEach((t=>{t.m&&t.m()})),this.ua=this.ua.filter((t=>{const i=t.Gh();return i.detached&&i.detached(),!1})),this.y_.p()}E_(){return this.x_}A_(t){this.x_=t}Qt(){return this.ns}ss(){return this.S_}$t(){return this.eo}L_(t){this.S_=t,this.z_()}No(t){this.eo=t,this.P_.No(t),this.R_.No(t),this.po.forEach((i=>{if(this.Zn(i)){const s=i.Ft();null!==s&&s.No(t)}})),this.z_()}O_(t){this.C_=t}N_(){return this.C_}F_(){return this.po.filter(Si)}Sl(){return this.po}Zn(t){const i=t.Ft();return null===i||this.P_!==i&&this.R_!==i}i_(t,i,s){this.W_(t,i,s?t._s():this.po.length)}n_(t,i){const s=this.po.indexOf(t);u(-1!==s,"removeDataSource: invalid data source"),this.po.splice(s,1),i||this.po.forEach(((t,i)=>t.us(i)));const e=f(t.Ft()).ol();if(this.b_.has(e)){const i=c(this.b_.get(e)),s=i.indexOf(t);-1!==s&&(i.splice(s,1),0===i.length&&this.b_.delete(e))}const h=t.Ft();h&&h.Sl().indexOf(t)>=0&&(h.n_(t),this.H_(h)),this.mo=null}Xn(t){return t===this.P_?"left":t===this.R_?"right":"overlay"}U_(){return this.P_}q_(){return this.R_}j_(t,i){t.h_(i)}Y_(t,i){t.a_(i),this.z_()}K_(t){t.l_()}Z_(t,i){t.o_(i)}G_(t,i){t.__(i),this.z_()}X_(t){t.u_()}z_(){this.po.forEach((t=>{t.Ws()}))}Rs(){let t=null;return this.ns.N().rightPriceScale.visible&&0!==this.R_.Sl().length?t=this.R_:this.ns.N().leftPriceScale.visible&&0!==this.P_.Sl().length?t=this.P_:0!==this.po.length&&(t=this.po[0].Ft()),null===t&&(t=this.R_),t}Gn(){let t=null;return this.ns.N().rightPriceScale.visible?t=this.R_:this.ns.N().leftPriceScale.visible&&(t=this.P_),t}H_(t){null!==t&&t.Vo()&&this.J_(t)}Q_(t){const i=this.Jh.Ie();t.Do({ln:!0}),null!==i&&t.v_(i),this.z_()}tu(){this.J_(this.P_),this.J_(this.R_)}iu(){this.H_(this.P_),this.H_(this.R_),this.po.forEach((t=>{this.Zn(t)&&this.H_(t.Ft())})),this.z_(),this.ns.dr()}Dt(){ return null===this.mo&&(this.mo=wi(this.po)),this.mo}su(t,i){i=ii(i,0,this.po.length-1);const s=this.po.indexOf(t);u(-1!==s,"setSeriesOrder: invalid data source"),this.po.splice(s,1),this.po.splice(i,0,t),this.po.forEach(((t,i)=>t.us(i))),this.mo=null;for(const t of[this.P_,this.R_])t.s_(),t._l();this.ns.dr()}Vt(){return this.Dt().filter(Si)}nu(){return this.y_}eu(){return this.k_}nl(t){this.ua.push(new At(t))}el(t){this.ua=this.ua.filter((i=>i.Gh()!==t)),t.detached&&t.detached(),this.ns.dr()}ru(){return this.ua}Za(t,i){return this.ua.map((s=>s.Qn(t,i))).filter((t=>null!==t))}J_(t){const i=t.p_();if(i&&i.length>0&&!this.Jh.Gi()){const i=this.Jh.Ie();null!==i&&t.v_(i)}t.Ws()}W_(t,i,s){let e=this.V_(i);if(null===e&&(e=this.T_(i,this.ns.N().overlayPriceScales)),this.po.splice(s,0,t),!q(i)){const s=this.b_.get(i)||[];s.push(t),this.b_.set(i,s)}t.us(s),e.i_(t),t.cs(e),this.H_(e),this.mo=null}D_(t,i,s){i.ae!==s.ae&&this.J_(t)}T_(t,i){const s={visible:!0,autoScale:!0,...M(i)},e=new xi(t,s,this.ns.N().layout,this.ns.N().localization,this.ns.Xi());return e.No(this.$t()),e}}function _i(t){return{hu:t.hu,au:{te:t.lu.externalId},ou:t.lu.cursorStyle}}function Pi(t,i,s,e){for(const h of t){const t=h.Tt(e);if(null!==t&&t.Qn){const e=t.Qn(i,s);if(null!==e)return{_u:h,au:e}}}return null}function ki(t){return void 0!==t.Ys}function Ei(t,i,s){const e=[t,...t.Dt()],h=function(t,i,s){let e,h;for(const o of t){const t=o.Za?.(i,s)??[];for(const i of t)n=i.zOrder,r=e?.zOrder,(!r||"top"===n&&"top"!==r||"normal"===n&&"bottom"===r)&&(e=i,h=o)}var n,r;return e&&h?{lu:e,hu:h}:null}(e,i,s);if("top"===h?.lu.zOrder)return _i(h);for(const n of e){if(h&&h.hu===n&&"bottom"!==h.lu.zOrder&&!h.lu.isBackground)return _i(h);if(ki(n)){const e=Pi(n.Ys(t),i,s,t);if(null!==e)return{hu:n,_u:e._u,au:e.au}}if(h&&h.hu===n&&"bottom"!==h.lu.zOrder&&h.lu.isBackground)return _i(h)}return h?.lu?_i(h):null}class Ni{constructor(t,i,s=50){this.Vn=0,this.Bn=1,this.En=1,this.Ln=new Map,this.An=new Map,this.uu=t,this.cu=i,this.zn=s}du(t){const i=t.time,s=this.cu.cacheKey(i),e=this.Ln.get(s);if(void 0!==e)return e.fu;if(this.Vn===this.zn){const t=this.An.get(this.En);this.An.delete(this.En),this.Ln.delete(c(t)),this.En++,this.Vn--}const h=this.uu(t);return this.Ln.set(s,{fu:h,Wn:this.Bn}),this.An.set(this.Bn,s),this.Vn++,this.Bn++,h}}class Ti{constructor(t,i){u(t<=i,"right should be >= left"),this.pu=t,this.vu=i}Aa(){return this.pu}bi(){return this.vu}mu(){return this.vu-this.pu+1}Ee(t){return this.pu<=t&&t<=this.vu}Ye(t){return this.pu===t.Aa()&&this.vu===t.bi()}}function Li(t,i){return null===t||null===i?t===i:t.Ye(i)}class zi{constructor(){this.wu=new Map,this.Ln=null,this.gu=!1}Mu(t){this.gu=t,this.Ln=null}bu(t,i){this.Su(i),this.Ln=null;for(let s=i;s{t<=s[0].index?i.push(e):s.splice(Et(s,t,(i=>i.index!i||s.has(t.index);for(const i of Array.from(this.wu.keys()).sort(((t,i)=>i-t))){if(!this.wu.get(i))continue;const s=e;e=[];const n=s.length;let r=0;const o=c(this.wu.get(i)),l=o.length;let a=1/0,u=-1/0;for(let i=0;i=t&&c-u>=t&&h(l))e.push(l),u=c;else if(this.gu)return s}for(;ri.weight?t:i}class Ri{constructor(t,i,s,e){this.S_=0,this.Vu=null,this.Bu=[],this.bo=null,this.Mo=null,this.Eu=new zi,this.Au=new Map,this.Lu=Ii.Iu(),this.zu=!0,this.Ou=new m,this.Nu=new m,this.Fu=new m,this.Wu=null,this.Hu=null,this.Uu=new Map,this.$u=-1,this.qu=[],this.ju=1,this.Ps=i,this.yo=s,this.Yu=i.rightOffset,this.Ku=i.barSpacing,this.ns=t,this.Zu(i),this.cu=e,this.Gu(),this.Eu.Mu(i.uniformDistribution),this.Xu(),this.Ju()}N(){return this.Ps}Qu(t){p(this.yo,t),this.tc(),this.Gu()}cr(t,i){p(this.Ps,t),this.Ps.fixLeftEdge&&this.sc(),this.Ps.fixRightEdge&&this.nc(),void 0!==t.barSpacing&&this.ns.gn(t.barSpacing),void 0!==t.rightOffset&&this.ns.Mn(t.rightOffset),this.Zu(t),void 0===t.minBarSpacing&&void 0===t.maxBarSpacing||this.ns.gn(t.barSpacing??this.Ku),void 0!==t.ignoreWhitespaceIndices&&t.ignoreWhitespaceIndices!==this.Ps.ignoreWhitespaceIndices&&this.Ju(),this.tc(),this.Gu(),void 0===t.enableConflation&&void 0===t.conflationThresholdFactor||this.Xu(),this.Fu.p()}Is(t){return this.Bu[t]?.time??null}es(t){return this.Bu[t]??null}ec(t,i){if(this.Bu.length<1)return null;if(this.cu.key(t)>this.cu.key(this.Bu[this.Bu.length-1].time))return i?this.Bu.length-1:null;const s=Et(this.Bu,this.cu.key(t),((t,i)=>this.cu.key(t.time)0}Ie(){return this.hc(),this.Lu.Ru()}ac(){return this.hc(),this.Lu.Du()}lc(){const t=this.Ie();if(null===t)return null;const i={from:t.Aa(),to:t.bi()};return this.oc(i)}oc(t){const i=Math.round(t.from),s=Math.round(t.to),e=f(this._c()),h=f(this.uc());return{from:f(this.es(Math.max(e,i))),to:f(this.es(Math.min(h,s)))}}cc(t){return{from:f(this.ec(t.from,!0)),to:f(this.ec(t.to,!0))}}ss(){return this.S_}L_(t){if(!isFinite(t)||t<=0)return;if(this.S_===t)return;const i=this.ac(),s=this.S_;if(this.S_=t,this.zu=!0,this.Ps.lockVisibleTimeRangeOnResize&&0!==s){const i=this.Ku*t/s;this.Ku=i}if(this.Ps.fixLeftEdge&&null!==i&&i.Aa()<=0){const i=s-t;this.Yu-=Math.round(i/this.Ku)+1,this.zu=!0}this.dc(),this.fc()}qt(t){if(this.Gi()||!v(t))return 0;const i=this.vc()+this.Yu-t ;return this.S_-(i+.5)*this.Ku-1}mc(t,i){const s=this.vc(),e=void 0===i?0:i.from,h=void 0===i?t.length:i.to;for(let i=e;ii/2&&!a?s.needAlignCoordinate=!1:s.needAlignCoordinate=u&&t.index<=o||c&&t.index>=l,d++}return this.qu.length=d,this.Hu=this.qu,this.qu}Pc(){let t;this.zu=!0,this.gn(this.Ps.barSpacing),t=void 0!==this.Ps.rightOffsetPixels?this.Ps.rightOffsetPixels/this.ul():this.Ps.rightOffset,this.Mn(t)}Tc(t){this.zu=!0,this.Vu=t,this.fc(),this.sc()}Rc(t,i){const s=this.gc(t),e=this.ul(),h=e+i*(e/10);this.gn(h),this.Ps.rightBarStaysOnScroll||this.Mn(this.Cc()+(s-this.gc(t)))}h_(t){this.bo&&this.u_(),null===this.Mo&&null===this.Wu&&(this.Gi()||(this.Mo=t,this.Dc()))}a_(t){if(null===this.Wu)return;const i=ii(this.S_-t,0,this.S_),s=ii(this.S_-f(this.Mo),0,this.S_);0!==i&&0!==s&&this.gn(this.Wu.ul*i/s)}l_(){null!==this.Mo&&(this.Mo=null,this.Ic())}o_(t){null===this.bo&&null===this.Wu&&(this.Gi()||(this.bo=t,this.Dc()))}__(t){if(null===this.bo)return;const i=(this.bo-t)/this.ul();this.Yu=f(this.Wu).Cc+i,this.zu=!0,this.fc()}u_(){null!==this.bo&&(this.bo=null,this.Ic())}Vc(){this.Bc(this.Ps.rightOffset)}Bc(t,i=400){if(!isFinite(t))throw new RangeError("offset is required and must be finite number");if(!isFinite(i)||i<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const s=this.Yu,e=performance.now();this.ns.vn({Ec:t=>(t-e)/i>=1,Ac:h=>{const n=(h-e)/i;return n>=1?t:s+(t-s)*n}})}kt(t,i){this.zu=!0,this.Bu=t,this.Eu.bu(t,i),this.fc()}Lc(){return this.Ou}zc(){return this.Nu}Oc(){return this.Fu}vc(){return this.Vu||0}Nc(t,i){const s=t.mu(),e=i&&this.Ps.rightOffsetPixels||0;this.xc((this.S_-e)/s),this.Yu=t.bi()-this.vc(),i&&(this.Yu=e?e/this.ul():this.Ps.rightOffset),this.fc(),this.zu=!0,this.ns.Sc(),this.ns.dr()}Fc(){const t=this._c(),i=this.uc();if(null===t||null===i)return;const s=!this.Ps.rightOffsetPixels&&this.Ps.rightOffset||0;this.Nc(new Ti(t,i+s),!0)}Wc(t){const i=new Ti(t.from,t.to) ;this.Nc(i)}rs(t){return void 0!==this.yo.timeFormatter?this.yo.timeFormatter(t.originalTime):this.cu.formatHorzItem(t.time)}Ju(){if(!this.Ps.ignoreWhitespaceIndices)return;this.Uu.clear();const t=this.ns.tn();for(const i of t)for(const t of i.ll())this.Uu.set(t,!0);this.$u++}Hc(){return this.ju}vl(){const t=1/(window.devicePixelRatio||1),i=this.Ps.minBarSpacing;if(i>=t)return[1];const s=[1];let e=2;for(;e<=512;)i0?this.Ps.maxBarSpacing:.5*this.S_}jc(){return this.Ps.fixLeftEdge&&this.Ps.fixRightEdge&&0!==this.Bu.length?this.S_/this.Bu.length:this.Ps.minBarSpacing}Xu(){if(!this.Ps.enableConflation)return void(this.ju=1);const t=1/(window.devicePixelRatio||1)*(this.Ps.conflationThresholdFactor??1);if(this.Ku>=t)return void(this.ju=1);const i=t/this.Ku,s=Math.pow(2,Math.floor(Math.log2(i)));this.ju=Math.min(s,512)}fc(){const t=this.Kc();null!==t&&this.Yui&&(this.Yu=i,this.zu=!0)}Kc(){const t=this._c(),i=this.Vu;return null===t||null===i?null:t-i-1+(this.Ps.fixLeftEdge?this.S_/this.Ku:Math.min(2,this.Bu.length))}Zc(){return this.Ps.fixRightEdge?0:this.S_/this.Ku-Math.min(2,this.Bu.length)}Dc(){this.Wu={ul:this.ul(),Cc:this.Cc()}}Ic(){this.Wu=null}kc(t){let i=this.Au.get(t.weight);return void 0===i&&(i=new Ni((t=>this.Gc(t)),this.cu),this.Au.set(t.weight,i)),i.du(t)}Gc(t){return this.cu.formatTickmark(t,this.yo)}qc(t){const i=this.Lu;this.Lu=t,Li(i.Ru(),this.Lu.Ru())||this.Ou.p(),Li(i.Du(),this.Lu.Du())||this.Nu.p(),this.$c()}$c(){this.Hu=null}tc(){this.$c(),this.Au.clear()}Gu(){this.cu.updateFormatter(this.yo)}sc(){if(!this.Ps.fixLeftEdge)return;const t=this._c();if(null===t)return;const i=this.Ie();if(null===i)return;const s=i.Aa()-t;if(s<0){const t=this.Yu-s-1;this.Mn(t)}this.dc()}nc(){this.fc(),this.dc()}Mc(t){return!this.Ps.ignoreWhitespaceIndices||this.Uu.get(t)||!1}bc(t){const i=function*(t){const i=Math.round(t),s=is)break}return t}Zu(t){if(void 0!==t.rightOffsetPixels){const i=t.rightOffsetPixels/(t.barSpacing||this.Ku);this.ns.Mn(i)}}}var Fi,Wi,Vi,Ai,Bi;!function(t){t[t.OnTouchEnd=0]="OnTouchEnd", t[t.OnNextTap=1]="OnNextTap"}(Fi||(Fi={}));class Ki{constructor(t,i,s){this.Xc=[],this.Jc=[],this.Qc=null,this.S_=0,this.td=null,this.sd=new m,this.nd=new m,this.ed=null,this.rd=t,this.Ps=i,this.cu=s,this.ko=new E(this.Ps.layout.colorParsers),this.hd=new _(this),this.Jh=new Ri(this,i.timeScale,this.Ps.localization,s),this.Ct=new H(this,i.crosshair),this.ad=new ti(i.crosshair),i.addDefaultPane&&(this.ld(0),this.Xc[0].A_(2)),this.od=this._d(0),this.ud=this._d(1)}Ca(){this.dd(Q.yn())}dr(){this.dd(Q.Cn())}Ua(){this.dd(new Q(1))}ya(t){const i=this.fd(t);this.dd(i)}pd(){return this.td}vd(t){if(this.td?.hu===t?.hu&&this.td?.au?.te===t?.au?.te)return;const i=this.td;this.td=t,null!==i&&this.ya(i.hu),null!==t&&t.hu!==i?.hu&&this.ya(t.hu)}N(){return this.Ps}cr(t){p(this.Ps,t),this.Xc.forEach((i=>i.I_(t))),void 0!==t.timeScale&&this.Jh.cr(t.timeScale),void 0!==t.localization&&this.Jh.Qu(t.localization),(t.leftPriceScale||t.rightPriceScale)&&this.sd.p(),this.od=this._d(0),this.ud=this._d(1),this.Ca()}md(t,i,s=0){const e=this.Xc[s];if(void 0===e)return;if("left"===t)return p(this.Ps,{leftPriceScale:i}),e.I_({leftPriceScale:i}),this.sd.p(),void this.Ca();if("right"===t)return p(this.Ps,{rightPriceScale:i}),e.I_({rightPriceScale:i}),this.sd.p(),void this.Ca();const h=this.wd(t,s);null!==h&&(h.Ft.cr(i),this.sd.p())}wd(t,i){const s=this.Xc[i];if(void 0===s)return null;const e=s.V_(t);return null!==e?{Gs:s,Ft:e}:null}Et(){return this.Jh}Xs(){return this.Xc}gd(){return this.Ct}Md(){return this.nd}bd(t,i){t.No(i),this.Sc()}L_(t){this.S_=t,this.Jh.L_(this.S_),this.Xc.forEach((i=>i.L_(t))),this.Sc()}Sd(t){1!==this.Xc.length&&(u(t>=0&&t=0&&tt+i.E_()),0),h=this.Xc.reduce(((t,i)=>t+i.$t()),0),n=h-30*(this.Xc.length-1);i=Math.min(n,Math.max(30,i));const r=e/h,o=s.$t();s.A_(i*r);let l=i-o,a=this.Xc.length-1;for(const t of this.Xc)if(t!==s){const i=Math.min(n,Math.max(30,t.$t()-l/a));l-=t.$t()-i,a-=1;const s=i*r;t.A_(s)}this.Ca()}Cd(t,i){u(t>=0&&t=0&&i=0&&t=0&&it.It()))),this.Qc}xa(){this.Qc=null}Ad(t,i,s,e,h){this.Ct.Bs(t,i);let n=NaN,r=this.Jh.wc(t,!0);const o=this.Jh.Ie();null!==o&&(r=Math.min(Math.max(o.Aa(),r),o.bi())),r=this.Ct.Hs(r);const l=e.Rs(),a=l.Lt();if(null!==a&&(n=l.Ds(i,a)),n=this.ad.bl(n,r,e),this.Ct.zs(r,n,e),this.Ua(),!h){const h=Ei(e,t,i);this.vd(h&&{hu:h.hu,au:h.au,ou:h.ou||null}),this.nd.p(this.Ct.Bt(),{x:t,y:i},s)}}Ld(t,i,s){const e=s.Rs(),h=e.Lt(),n=e.Nt(t,f(h)),r=this.Jh.ec(i,!0),o=this.Jh.qt(f(r));this.Ad(o,n,null,s,!0)}zd(t){this.gd().Ns(),this.Ua(),t||this.nd.p(null,null,null)}ka(){const t=this.Ct.Gs();if(null!==t){const i=this.Ct.As(),s=this.Ct.Ls();this.Ad(i,s,null,t)}this.Ct.Ws()}Od(t,i,s){const e=this.Jh.Is(0);void 0!==i&&void 0!==s&&this.Jh.kt(i,s);const h=this.Jh.Is(0),n=this.Jh.vc(),r=this.Jh.Ie();if(null!==r&&null!==e&&null!==h){const i=r.Ee(n),o=this.cu.key(e)>this.cu.key(h),l=null!==t&&t>n&&!o,a=this.Jh.N().allowShiftVisibleRangeOnWhitespaceReplacement,u=i&&(!(void 0===s)||a)&&this.Jh.N().shiftVisibleRangeOnNewBar;if(l&&!u){const i=t-n;this.Jh.Mn(this.Jh.Cc()-i)}}this.Jh.Tc(t)}Ra(t){null!==t&&t.iu()}Kn(t){if(function(t){return t instanceof Ci}(t))return t;const i=this.Xc.find((i=>i.Dt().includes(t)));return void 0===i?null:i}Sc(){this.Xc.forEach((t=>t.iu())),this.ka()}m(){this.Xc.forEach((t=>t.m())),this.Xc.length=0,this.Ps.localization.priceFormatter=void 0,this.Ps.localization.percentageFormatter=void 0,this.Ps.localization.timeFormatter=void 0}Nd(){return this.hd}Jn(){return this.hd.N()}B_(){return this.sd}Fd(t,i){const s=this.ld(i);this.Wd(t,s),this.Jc.push(t),this.xa(),1===this.Jc.length?this.Ca():this.dr()}Hd(t){const i=this.Kn(t),s=this.Jc.indexOf(t);u(-1!==s,"Series not found");const e=f(i);this.Jc.splice(s,1),e.n_(t),t.m&&t.m(),this.xa(),this.Jh.Ju(),this.Ud(e)}Sa(t,i){const s=f(this.Kn(t));s.n_(t,!0),s.i_(t,i,!0)}Fc(){const t=Q.Cn();t.cn(),this.dd(t)}$d(t){const i=Q.Cn();i.pn(t),this.dd(i)}wn(){const t=Q.Cn();t.wn(),this.dd(t)}gn(t){const i=Q.Cn();i.gn(t),this.dd(i)}Mn(t){const i=Q.Cn();i.Mn(t),this.dd(i)}vn(t){const i=Q.Cn();i.vn(t),this.dd(i)}dn(){const t=Q.Cn();t.dn(),this.dd(t)}qd(){return this.Ps.rightPriceScale.visible?"right":"left"}jd(t,i){if(u(i>=0,"Index should be greater or equal to 0"),i===this.Yd(t))return;const s=f(this.Kn(t));s.n_(t);const e=this.ld(i);this.Wd(t,e),0===s.Sl().length&&this.Ud(s),this.Ca()}Kd(){return this.ud}$(){return this.od}Ut(t){const i=this.ud,s=this.od;if(i===s)return i;if(t=Math.max(0,Math.min(100,Math.round(100*t))),null===this.ed||this.ed.eh!==s||this.ed.rh!==i)this.ed={eh:s,rh:i,Zd:new Map};else{const i=this.ed.Zd.get(t);if(void 0!==i)return i}const e=this.ko.tt(s,i,t/100);return this.ed.Zd.set(t,e),e}Gd(t){return this.Xc.indexOf(t)}Xi(){return this.ko}Xd(){return this.Jd()}Jd(t){const i=new Ci(this.Jh,this);this.Xc.push(i);const s=t??this.Xc.length-1,e=Q.yn();return e.hn(s,{an:0,ln:!0}),this.dd(e),i}ld(t){return u(t>=0,"Index should be greater or equal to 0"),(t=Math.min(this.Xc.length,t))i.F_().includes(t)))}kd(t,i){const s=new Q(i);if(null!==t){const e=this.Xc.indexOf(t);s.hn(e,{an:i})}return s}fd(t,i){return void 0===i&&(i=2),this.kd(this.Kn(t),i)}dd(t){this.rd&&this.rd(t),this.Xc.forEach((t=>t.eu().pr().kt()))}Wd(t,i){const s=t.N().priceScaleId,e=void 0!==s?s:this.qd();i.i_(t,e),q(e)||t.cr(t.N())}_d(t){const i=this.Ps.layout;return"gradient"===i.background.type?0===t?i.background.topColor:i.background.bottomColor:i.background.color}Ud(t){!t.N_()&&0===t.Sl().length&&this.Xc.length>1&&this.Xc.splice(this.Gd(t),1)}}function Ji(t){if(t>=1)return 0;let i=0;for(;i<8;i++){const s=Math.round(t);if(Math.abs(s-t)<1e-8)return i;t*=10}return i}function Yi(t){return!g(t)&&!w(t)}function Di(t){return g(t)}!function(t){t[t.Disabled=0]="Disabled",t[t.Continuous=1]="Continuous",t[t.OnDataUpdate=2]="OnDataUpdate"}(Wi||(Wi={})),function(t){t[t.LastBar=0]="LastBar",t[t.LastVisible=1]="LastVisible"}(Vi||(Vi={})),function(t){t.Solid="solid",t.VerticalGradient="gradient"}(Ai||(Ai={})),function(t){t[t.Year=0]="Year",t[t.Month=1]="Month",t[t.DayOfMonth=2]="DayOfMonth",t[t.Time=3]="Time",t[t.TimeWithSeconds=4]="TimeWithSeconds"}(Bi||(Bi={}));const Oi=t=>t.getUTCFullYear();class $i{constructor(t="yyyy-MM-dd",i="default"){this.Qd=t,this.tf=i}du(t){return function(t,i,s){return i.replace(/yyyy/g,(t=>tt(Oi(t),4))(t)).replace(/yy/g,(t=>tt(Oi(t)%100,2))(t)).replace(/MMMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:"long"}))(t,s)).replace(/MMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:"short"}))(t,s)).replace(/MM/g,(t=>tt((t=>t.getUTCMonth()+1)(t),2))(t)).replace(/dd/g,(t=>tt((t=>t.getUTCDate())(t),2))(t))}(t,this.Qd,this.tf)}}class Ui{constructor(t){this.if=t||"%h:%m:%s"}du(t){return this.if.replace("%h",tt(t.getUTCHours(),2)).replace("%m",tt(t.getUTCMinutes(),2)).replace("%s",tt(t.getUTCSeconds(),2))}}const Xi={sf:"yyyy-MM-dd",nf:"%h:%m:%s",ef:" ",rf:"default"};class Gi{constructor(t={}){const i={...Xi,...t};this.hf=new $i(i.sf,i.rf),this.af=new Ui(i.nf),this.lf=i.ef}du(t){return`${this.hf.du(t)}${this.lf}${this.af.du(t)}`}}function Hi(t){return 60*t*60*1e3}function qi(t){return 60*t*1e3}const Qi=[{_f:1e3,uf:10},{_f:qi(1),uf:20},{_f:qi(5),uf:21},{_f:qi(30),uf:22},{_f:Hi(1),uf:30},{_f:Hi(3),uf:31},{_f:Hi(6),uf:32},{_f:Hi(12),uf:33}];function Zi(t,i){if(t.getUTCFullYear()!==i.getUTCFullYear())return 70;if(t.getUTCMonth()!==i.getUTCMonth())return 60;if(t.getUTCDate()!==i.getUTCDate())return 50;for(let s=Qi.length-1;s>=0;--s)if(Math.floor(i.getTime()/Qi[s]._f)!==Math.floor(t.getTime()/Qi[s]._f))return Qi[s].uf;return 0}function ts(t){let i=t;if(w(t)&&(i=ss(t)),!Yi(i))throw new Error("time must be of type BusinessDay");const s=new Date(Date.UTC(i.year,i.month-1,i.day,0,0,0,0));return{cf:Math.round(s.getTime()/1e3),df:i}}function is(t){if(!Di(t))throw new Error("time must be of type isUTCTimestamp");return{cf:t}}function ss(t){const i=new Date(t) ;if(isNaN(i.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:i.getUTCDate(),month:i.getUTCMonth()+1,year:i.getUTCFullYear()}}function es(t){w(t.time)&&(t.time=ss(t.time))}class hs{options(){return this.Ps}setOptions(t){this.Ps=t,this.updateFormatter(t.localization)}preprocessData(t){Array.isArray(t)?function(t){t.forEach(es)}(t):es(t)}createConverterToInternalObj(t){return f(function(t){return 0===t.length?null:Yi(t[0].time)||w(t[0].time)?ts:is}(t))}key(t){return"object"==typeof t&&"cf"in t?t.cf:this.key(this.convertHorzItemToInternal(t))}cacheKey(t){const i=t;return void 0===i.df?new Date(1e3*i.cf).getTime():new Date(Date.UTC(i.df.year,i.df.month-1,i.df.day)).getTime()}convertHorzItemToInternal(t){return Di(i=t)?is(i):Yi(i)?ts(i):ts(ss(i));var i}updateFormatter(t){if(!this.Ps)return;const i=t.dateFormat;this.Ps.timeScale.timeVisible?this.ff=new Gi({sf:i,nf:this.Ps.timeScale.secondsVisible?"%h:%m:%s":"%h:%m",ef:" ",rf:t.locale}):this.ff=new $i(i,t.locale)}formatHorzItem(t){const i=t;return this.ff.du(new Date(1e3*i.cf))}formatTickmark(t,i){const s=function(t,i,s){switch(t){case 0:case 10:return i?s?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return i?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(t.weight,this.Ps.timeScale.timeVisible,this.Ps.timeScale.secondsVisible),e=this.Ps.timeScale;if(void 0!==e.tickMarkFormatter){const h=e.tickMarkFormatter(t.originalTime,s,i.locale);if(null!==h)return h}return function(t,i,s){const e={};switch(i){case 0:e.year="numeric";break;case 1:e.month="short";break;case 2:e.day="numeric";break;case 3:e.hour12=!1,e.hour="2-digit",e.minute="2-digit";break;case 4:e.hour12=!1,e.hour="2-digit",e.minute="2-digit",e.second="2-digit"}const h=void 0===t.df?new Date(1e3*t.cf):new Date(Date.UTC(t.df.year,t.df.month-1,t.df.day));return new Date(h.getUTCFullYear(),h.getUTCMonth(),h.getUTCDate(),h.getUTCHours(),h.getUTCMinutes(),h.getUTCSeconds(),h.getUTCMilliseconds()).toLocaleString(s,e)}(t.time,s,i.locale)}maxTickMarkWeight(t){let i=t.reduce(ji,t[0]).weight;return i>30&&i<50&&(i=30),i}fillWeightsForPoints(t,i){!function(t,i=0){if(0===t.length)return;let s=0===i?null:t[i-1].time.cf,e=null!==s?new Date(1e3*s):null,h=0;for(let n=i;n1){const i=Math.ceil(h/(t.length-1)),s=new Date(1e3*(t[0].time.cf-i));t[0].timeWeight=Zi(new Date(1e3*t[0].time.cf),s)}}(t,i)}static pf(t){return p({localization:{dateFormat:"dd MMM 'yy"}},t??{})}}const ns="undefined"!=typeof window;function rs(){return!!ns&&window.navigator.userAgent.toLowerCase().indexOf("firefox")>-1}function os(){return!!ns&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function ls(t){return t+t%2}class as{constructor(t,i,s){this.vf=0,this.mf=null,this.wf={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY},this.gf=0,this.Mf=null,this.bf={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY},this.Sf=null,this.xf=!1, this.Cf=null,this.yf=null,this.kf=!1,this.Pf=!1,this.Tf=!1,this.Rf=null,this.Df=null,this.If=null,this.Vf=null,this.Bf=null,this.Ef=null,this.Af=null,this.Lf=0,this.zf=!1,this.Of=!1,this.Nf=!1,this.Ff=0,this.Wf=null,this.Hf=!os(),this.Uf=t=>{this.$f(t)},this.qf=t=>{if(this.jf(t)){const i=this.Yf(t);if(++this.gf,this.Mf&&this.gf>1){const{Kf:s}=this.Zf(fs(t),this.bf);s<30&&!this.Tf&&this.Gf(i,this.Jf.Xf),this.Qf()}}else{const i=this.Yf(t);if(++this.vf,this.mf&&this.vf>1){const{Kf:s}=this.Zf(fs(t),this.wf);s<5&&!this.Pf&&this.tp(i,this.Jf.ip),this.sp()}}},this.np=t,this.Jf=i,this.Ps=s,this.ep()}m(){null!==this.Rf&&(this.Rf(),this.Rf=null),null!==this.Df&&(this.Df(),this.Df=null),null!==this.Vf&&(this.Vf(),this.Vf=null),null!==this.Bf&&(this.Bf(),this.Bf=null),null!==this.Ef&&(this.Ef(),this.Ef=null),null!==this.If&&(this.If(),this.If=null),this.rp(),this.sp()}hp(t){this.Vf&&this.Vf();const i=this.ap.bind(this);if(this.Vf=()=>{this.np.removeEventListener("mousemove",i)},this.np.addEventListener("mousemove",i),this.jf(t))return;const s=this.Yf(t);this.tp(s,this.Jf.lp),this.Hf=!0}sp(){null!==this.mf&&clearTimeout(this.mf),this.vf=0,this.mf=null,this.wf={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY}}Qf(){null!==this.Mf&&clearTimeout(this.Mf),this.gf=0,this.Mf=null,this.bf={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY}}ap(t){if(this.Nf||null!==this.yf)return;if(this.jf(t))return;const i=this.Yf(t);this.tp(i,this.Jf.op),this.Hf=!0}_p(t){const i=ms(t.changedTouches,f(this.Wf));if(null===i)return;if(this.Ff=ds(t),null!==this.Af)return;if(this.Of)return;this.zf=!0;const s=this.Zf(fs(i),f(this.yf)),{up:e,cp:h,Kf:n}=s;if(this.kf||!(n<5)){if(!this.kf){const t=.5*e,i=h>=t&&!this.Ps.dp(),s=t>h&&!this.Ps.fp();i||s||(this.Of=!0),this.kf=!0,this.Tf=!0,this.rp(),this.Qf()}if(!this.Of){const s=this.Yf(t,i);this.Gf(s,this.Jf.pp),cs(t)}}}vp(t){if(0!==t.button)return;const i=this.Zf(fs(t),f(this.Cf)),{Kf:s}=i;if(s>=5&&(this.Pf=!0,this.sp()),this.Pf){const i=this.Yf(t);this.tp(i,this.Jf.mp)}}Zf(t,i){const s=Math.abs(i._t-t._t),e=Math.abs(i.ut-t.ut);return{up:s,cp:e,Kf:s+e}}wp(t){let i=ms(t.changedTouches,f(this.Wf));if(null===i&&0===t.touches.length&&(i=t.changedTouches[0]),null===i)return;this.Wf=null,this.Ff=ds(t),this.rp(),this.yf=null,this.Ef&&(this.Ef(),this.Ef=null);const s=this.Yf(t,i);if(this.Gf(s,this.Jf.gp),++this.gf,this.Mf&&this.gf>1){const{Kf:t}=this.Zf(fs(i),this.bf);t<30&&!this.Tf&&this.Gf(s,this.Jf.Xf),this.Qf()}else this.Tf||(this.Gf(s,this.Jf.Mp),this.Jf.Mp&&cs(t));0===this.gf&&cs(t),0===t.touches.length&&this.xf&&(this.xf=!1,cs(t))}$f(t){if(0!==t.button)return;const i=this.Yf(t);if(this.Cf=null,this.Nf=!1,this.Bf&&(this.Bf(),this.Bf=null),rs()&&this.np.ownerDocument.documentElement.removeEventListener("mouseleave",this.Uf),!this.jf(t))if(this.tp(i,this.Jf.bp),++this.vf,this.mf&&this.vf>1){const{Kf:s}=this.Zf(fs(t),this.wf);s<5&&!this.Pf&&this.tp(i,this.Jf.ip),this.sp()}else this.Pf||this.tp(i,this.Jf.Sp)}rp(){null!==this.Sf&&(clearTimeout(this.Sf),this.Sf=null)}xp(t){if(null!==this.Wf)return ;const i=t.changedTouches[0];this.Wf=i.identifier,this.Ff=ds(t);const s=this.np.ownerDocument.documentElement;this.Tf=!1,this.kf=!1,this.Of=!1,this.yf=fs(i),this.Ef&&(this.Ef(),this.Ef=null);{const i=this._p.bind(this),e=this.wp.bind(this);this.Ef=()=>{s.removeEventListener("touchmove",i),s.removeEventListener("touchend",e)},s.addEventListener("touchmove",i,{passive:!1}),s.addEventListener("touchend",e,{passive:!1}),this.rp(),this.Sf=setTimeout(this.Cp.bind(this,t),240)}const e=this.Yf(t,i);this.Gf(e,this.Jf.yp),this.Mf||(this.gf=0,this.Mf=setTimeout(this.Qf.bind(this),500),this.bf=fs(i))}kp(t){if(0!==t.button)return;const i=this.np.ownerDocument.documentElement;rs()&&i.addEventListener("mouseleave",this.Uf),this.Pf=!1,this.Cf=fs(t),this.Bf&&(this.Bf(),this.Bf=null);{const t=this.vp.bind(this),s=this.$f.bind(this);this.Bf=()=>{i.removeEventListener("mousemove",t),i.removeEventListener("mouseup",s)},i.addEventListener("mousemove",t),i.addEventListener("mouseup",s)}if(this.Nf=!0,this.jf(t))return;const s=this.Yf(t);this.tp(s,this.Jf.Pp),this.mf||(this.vf=0,this.mf=setTimeout(this.sp.bind(this),500),this.wf=fs(t))}ep(){this.np.addEventListener("mouseenter",this.hp.bind(this)),this.np.addEventListener("touchcancel",this.rp.bind(this));{const t=this.np.ownerDocument,i=t=>{this.Jf.Tp&&(t.composed&&this.np.contains(t.composedPath()[0])||t.target&&this.np.contains(t.target)||this.Jf.Tp())};this.Df=()=>{t.removeEventListener("touchstart",i)},this.Rf=()=>{t.removeEventListener("mousedown",i)},t.addEventListener("mousedown",i),t.addEventListener("touchstart",i,{passive:!0})}os()&&(this.If=()=>{this.np.removeEventListener("dblclick",this.qf)},this.np.addEventListener("dblclick",this.qf)),this.np.addEventListener("mouseleave",this.Rp.bind(this)),this.np.addEventListener("touchstart",this.xp.bind(this),{passive:!0}),function(t){ns&&void 0!==window.chrome&&t.addEventListener("mousedown",(t=>{if(1===t.button)return t.preventDefault(),!1}))}(this.np),this.np.addEventListener("mousedown",this.kp.bind(this)),this.Dp(),this.np.addEventListener("touchmove",(()=>{}),{passive:!1})}Dp(){void 0===this.Jf.Ip&&void 0===this.Jf.Vp&&void 0===this.Jf.Bp||(this.np.addEventListener("touchstart",(t=>this.Ep(t.touches)),{passive:!0}),this.np.addEventListener("touchmove",(t=>{if(2===t.touches.length&&null!==this.Af&&void 0!==this.Jf.Vp){const i=us(t.touches[0],t.touches[1])/this.Lf;this.Jf.Vp(this.Af,i),cs(t)}}),{passive:!1}),this.np.addEventListener("touchend",(t=>{this.Ep(t.touches)})))}Ep(t){1===t.length&&(this.zf=!1),2!==t.length||this.zf||this.xf?this.Ap():this.Lp(t)}Lp(t){const i=this.np.getBoundingClientRect()||{left:0,top:0};this.Af={_t:(t[0].clientX-i.left+(t[1].clientX-i.left))/2,ut:(t[0].clientY-i.top+(t[1].clientY-i.top))/2},this.Lf=us(t[0],t[1]),void 0!==this.Jf.Ip&&this.Jf.Ip(),this.rp()}Ap(){null!==this.Af&&(this.Af=null,void 0!==this.Jf.Bp&&this.Jf.Bp())}Rp(t){if(this.Vf&&this.Vf(),this.jf(t))return;if(!this.Hf)return;const i=this.Yf(t);this.tp(i,this.Jf.zp),this.Hf=!os()}Cp(t){const i=ms(t.touches,f(this.Wf));if(null===i)return ;const s=this.Yf(t,i);this.Gf(s,this.Jf.Op),this.Tf=!0,this.xf=!0}jf(t){return t.sourceCapabilities&&void 0!==t.sourceCapabilities.firesTouchEvents?t.sourceCapabilities.firesTouchEvents:ds(t){"touchstart"!==t.type&&cs(t)}}}}function us(t,i){const s=t.clientX-i.clientX,e=t.clientY-i.clientY;return Math.sqrt(s*s+e*e)}function cs(t){t.cancelable&&t.preventDefault()}function fs(t){return{_t:t.pageX,ut:t.pageY}}function ds(t){return t.timeStamp||performance.now()}function ms(t,i){for(let s=0;s!1,fp:()=>!0}),this.Up={hv:s,rv:t}}Qp(){this.Jp.style.background=this.Yp.N().layout.panes.separatorColor}av(t){null!==this.Up&&(this.Up.hv.style.backgroundColor=this.Yp.N().layout.panes.separatorHoverColor)}lv(t){null!==this.Up&&null===this.jp&&(this.Up.hv.style.backgroundColor="")}ov(t){if(null===this.Up)return ;const i=this.Kp.cv().E_()+this.Gp.cv().E_(),s=i/(this.Kp.sv().height+this.Gp.sv().height),e=30*s;i<=2*e||(this.jp={dv:t.pageY,fv:this.Kp.cv().E_(),pv:i-e,vv:i,mv:s,wv:e},this.Up.rv.style.display="block")}_v(t){const i=this.jp;if(null===i)return;const s=(t.pageY-i.dv)*i.mv,e=ii(i.fv+s,i.wv,i.pv);this.Kp.cv().A_(e),this.Gp.cv().A_(i.vv-e),this.Yp.Qt().Ca()}uv(t){null!==this.jp&&null!==this.Up&&(this.jp=null,this.Up.rv.style.display="none")}}function gs(t,i){return t.gv-i.gv}function vs(t,i,s){const e=(t.gv-i.gv)/(t.wt-i.wt);return Math.sign(e)*Math.min(Math.abs(e),s)}class ws{constructor(t,i,s,e){this.Mv=null,this.bv=null,this.Sv=null,this.xv=null,this.Cv=null,this.yv=0,this.kv=0,this.Pv=t,this.Tv=i,this.Rv=s,this.kn=e}Dv(t,i){if(null!==this.Mv){if(this.Mv.wt===i)return void(this.Mv.gv=t);if(Math.abs(this.Mv.gv-t)50)return;let s=0;const e=vs(this.Mv,this.bv,this.Tv),h=gs(this.Mv,this.bv),n=[e],r=[h];if(s+=h,null!==this.Sv){const t=vs(this.bv,this.Sv,this.Tv);if(Math.sign(t)===Math.sign(e)){const i=gs(this.bv,this.Sv);if(n.push(t),r.push(i),s+=i,null!==this.xv){const t=vs(this.Sv,this.xv,this.Tv);if(Math.sign(t)===Math.sign(e)){const i=gs(this.Sv,this.xv);n.push(t),r.push(i),s+=i}}}}let o=0;for(let t=0;t160?"dark":"light"}Fv(){return this.Lv.N().layout.attributionLogo}Hv(){const t=new URL(location.href);return t.hostname?"&utm_source="+t.hostname+t.pathname:""}zv(){this.Nv()&&(this.Ov(),this.ws=this.Fv(),this.ws&&(this.Ev=this.Wv(),this.Bv=document.createElement("style"),this.Bv.innerText="a#tv-attr-logo{--fill:#131722;--stroke:#fff;position:absolute;left:10px;bottom:10px;height:19px;width:35px;margin:0;padding:0;border:0;z-index:3;}a#tv-attr-logo[data-dark]{--fill:#D1D4DC;--stroke:#131722;}",this.Vv=document.createElement("a"),this.Vv.href=`https://www.tradingview.com/?utm_medium=lwc-link&utm_campaign=lwc-chart${this.Hv()}`,this.Vv.title="Charting by TradingView",this.Vv.id="tv-attr-logo",this.Vv.target="_blank", this.Vv.innerHTML='',this.Vv.toggleAttribute("data-dark","dark"===this.Ev),this.Av.appendChild(this.Bv),this.Av.appendChild(this.Vv)))}}function Ms(t,i){const s=f(t.ownerDocument).createElement("canvas");t.appendChild(s);const h=(0,e.bindCanvasElementBitmapSizeTo)(s,{type:"device-pixel-content-box",options:{allowResizeObserver:!0},transform:(t,i)=>({width:Math.max(t.width,i.width),height:Math.max(t.height,i.height)})});return h.resizeCanvasElement(i),h}function ys(t){t.width=1,t.height=1,t.getContext("2d")?.clearRect(0,0,1,1)}function xs(t,i,s,e){t.Uh&&t.Uh(i,s,e)}function Ss(t,i,s,e){t.nt(i,s,e)}function Cs(t,i,s,e){const h=t(s,e);for(const t of h){const s=t.Tt(e);null!==s&&i(s)}}function _s(t,i){return s=>function(t){return void 0!==t.Ft}(s)?(s.Ft()?.ol()??"")!==i?[]:s.Ya?.(t)??[]:[]}function Ps(t,i,s,e){if(!t.length)return;let h=0;const n=t[0].$t(e,!0);let r=1===i?s/2-(t[0].Hi()-n/2):t[0].Hi()-n/2-s/2;r=Math.max(0,r);for(let n=1;nc-a:us)&&r>0){const e=1===i?-1-n:n-s,o=Math.min(e,r);for(let s=h;s{this.Kv||this.yt.Gv().Qt().dr()},this.Xv=()=>{this.Kv||this.yt.Gv().Qt().dr()},this.yt=t,this.Ps=i,this.Co=i.layout,this.hd=s,this.Jv="left"===h,this.Qv=_s("normal",h),this.tm=_s("top",h),this.im=_s("bottom",h),this.Jp=document.createElement("div"),this.Jp.style.height="100%",this.Jp.style.overflow="hidden",this.Jp.style.width="25px",this.Jp.style.left="0",this.Jp.style.position="relative",this.sm=Ms(this.Jp,e.size({width:16,height:16})),this.sm.subscribeSuggestedBitmapSizeChanged(this.Zv);const n=this.sm.canvasElement;n.style.position="absolute",n.style.zIndex="1",n.style.left="0",n.style.top="0",this.nm=Ms(this.Jp,e.size({width:16,height:16})),this.nm.subscribeSuggestedBitmapSizeChanged(this.Xv);const r=this.nm.canvasElement;r.style.position="absolute",r.style.zIndex="2",r.style.left="0",r.style.top="0";const o={Pp:this.ov.bind(this),yp:this.ov.bind(this),mp:this._v.bind(this),pp:this._v.bind(this),Tp:this.rm.bind(this),bp:this.uv.bind(this),gp:this.uv.bind(this),ip:this.hm.bind(this),Xf:this.hm.bind(this),lp:this.am.bind(this),zp:this.lv.bind(this)};this.$p=new as(this.nm.canvasElement,o,{ dp:()=>!this.Ps.handleScroll.vertTouchDrag,fp:()=>!0})}m(){this.$p.m(),this.nm.unsubscribeSuggestedBitmapSizeChanged(this.Xv),ys(this.nm.canvasElement),this.nm.dispose(),this.sm.unsubscribeSuggestedBitmapSizeChanged(this.Zv),ys(this.sm.canvasElement),this.sm.dispose(),null!==this.Ki&&this.Ki.r_().u(this),this.Ki=null}iv(){return this.Jp}k(){return this.Co.fontSize}lm(){const t=this.hd.N();return this.jv!==t.P&&(this.qv.On(),this.jv=t.P),t}om(){if(null===this.Ki)return 0;let t=0;const i=this.lm(),s=f(this.sm.canvasElement.getContext("2d",{colorSpace:this.yt.Gv().N().layout.colorSpace}));s.save();const e=this.Ki.Vl();s.font=this._m(),e.length>0&&(t=Math.max(this.qv.Ii(s,e[0].Jl),this.qv.Ii(s,e[e.length-1].Jl)));const h=this.um();for(let i=h.length;i--;){const e=this.qv.Ii(s,h[i].ri());e>t&&(t=e)}const n=this.Ki.Lt();if(null!==n&&null!==this.Uv&&2!==(r=this.Ps.crosshair).mode&&r.horzLine.visible&&r.horzLine.labelVisible){const i=this.Ki.Ds(1,n),e=this.Ki.Ds(this.Uv.height-2,n);t=Math.max(t,this.qv.Ii(s,this.Ki.Ji(Math.floor(Math.min(i,e))+.11111111111111,n)),this.qv.Ii(s,this.Ki.Ji(Math.ceil(Math.max(i,e))-.11111111111111,n)))}var r;s.restore();const o=t||34;return ls(Math.ceil(i.S+i.C+i.V+i.B+5+o))}dm(t){null!==this.Uv&&(0,e.equalSizes)(this.Uv,t)||(this.Uv=t,this.Kv=!0,this.sm.resizeCanvasElement(t),this.nm.resizeCanvasElement(t),this.Kv=!1,this.Jp.style.width=`${t.width}px`,this.Jp.style.height=`${t.height}px`)}fm(){return f(this.Uv).width}cs(t){this.Ki!==t&&(null!==this.Ki&&this.Ki.r_().u(this),this.Ki=t,t.r_().i(this.do.bind(this),this))}Ft(){return this.Ki}On(){const t=this.yt.cv();this.yt.Gv().Qt().Q_(t,f(this.Ft()))}pm(t){if(null===this.Uv)return;const i={colorSpace:this.yt.Gv().N().layout.colorSpace};if(1!==t){this.vm(),this.sm.applySuggestedBitmapSize();const t=(0,e.tryCreateCanvasRenderingTarget2D)(this.sm,i);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.wm(t),this.gm(t)})),this.yt.Mm(t,this.im),this.bm(t),this.yt.Mm(t,this.Qv),this.Sm(t))}this.nm.applySuggestedBitmapSize();const s=(0,e.tryCreateCanvasRenderingTarget2D)(this.nm,i);null!==s&&(s.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.xm(s),this.yt.Mm(s,this.tm))}nv(){return this.sm.bitmapSize}ev(t,i,s,e){const h=this.nv();if(h.width>0&&h.height>0&&(t.drawImage(this.sm.canvasElement,i,s),e)){const e=this.nm.canvasElement;t.drawImage(e,i,s)}}kt(){this.Ki?.Vl()}ov(t){if(null===this.Ki||this.Ki.Gi()||!this.Ps.handleScale.axisPressedMouseMove.price)return;const i=this.yt.Gv().Qt(),s=this.yt.cv();this.$v=!0,i.j_(s,this.Ki,t.localY)}_v(t){if(null===this.Ki||!this.Ps.handleScale.axisPressedMouseMove.price)return;const i=this.yt.Gv().Qt(),s=this.yt.cv(),e=this.Ki;i.Y_(s,e,t.localY)}rm(){if(null===this.Ki||!this.Ps.handleScale.axisPressedMouseMove.price)return;const t=this.yt.Gv().Qt(),i=this.yt.cv(),s=this.Ki;this.$v&&(this.$v=!1,t.K_(i,s))}uv(t){if(null===this.Ki||!this.Ps.handleScale.axisPressedMouseMove.price)return;const i=this.yt.Gv().Qt(),s=this.yt.cv();this.$v=!1,i.K_(s,this.Ki)}hm(t){ this.Ps.handleScale.axisDoubleClickReset.price&&this.On()}am(t){null!==this.Ki&&(!this.yt.Gv().Qt().N().handleScale.axisPressedMouseMove.price||this.Ki.He()||this.Ki.Eo()||this.Cm(1))}lv(t){this.Cm(0)}um(){const t=[],i=null===this.Ki?void 0:this.Ki;return(s=>{for(let e=0;e{t.fillStyle=s.borderColor;const o=Math.max(1,Math.floor(r)),l=Math.floor(.5*r),a=Math.round(e.C*n);t.beginPath();for(const s of i)t.rect(Math.floor(h*n),Math.round(s.Pl*r)-l,a,o);t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{t.font=this._m(),t.fillStyle=s.textColor??this.Co.textColor,t.textAlign=this.Jv?"right":"left",t.textBaseline="middle";const n=this.Jv?Math.round(h-e.V):Math.round(h+e.C+e.V),r=i.map((i=>this.qv.Di(t,i.Jl)));for(let s=i.length;s--;){const e=i[s];t.fillText(e.Jl,n,e.Pl+r[s])}}))}vm(){if(null===this.Uv||null===this.Ki)return;let t=this.Uv.height/2;const i=[],s=this.Ki.Dt().slice(),e=this.yt.cv(),h=this.lm();this.Ki===e.Gn()&&this.yt.cv().Dt().forEach((t=>{e.Zn(t)&&s.push(t)}));const n=this.Ki.Sl()[0],r=this.Ki;s.forEach((s=>{const h=s.Ks(e,r);h.forEach((t=>{t.$i()&&null===t.Wi()&&(t.Ui(null),i.push(t))})),n===s&&h.length>0&&(t=h[0].Ei())})),this.Ki.N().alignLabels&&this.ym(i,h,t)}ym(t,i,s){if(null===this.Uv)return;const e=t.filter((t=>t.Ei()<=s)),h=t.filter((t=>t.Ei()>s));e.sort(((t,i)=>i.Ei()-t.Ei())),e.length&&h.length&&h.push(e[0]),h.sort(((t,i)=>t.Ei()-i.Ei()));for(const s of t){const t=Math.floor(s.$t(i)/2),e=s.Ei();e>-t&&ethis.Uv.height-t&&e{i.qi()&&i.Tt(f(this.Ki)).nt(t,s,this.qv,e)}))}xm(t){if(null===this.Uv||null===this.Ki)return;const i=this.yt.Gv().Qt(),s=[],e=this.yt.cv(),h=i.gd().Ks(e,this.Ki);h.length&&s.push(h);const n=this.lm(),r=this.Jv?"right":"left";s.forEach((i=>{i.forEach((i=>{i.Tt(f(this.Ki)).nt(t,n,this.qv,r)}))}))}Cm(t){this.Jp.style.cursor=1===t?"ns-resize":"default"}do(){const t=this.om();this.Yv{this.Kv||null===this.Nm||this.ns().dr()},this.Xv=()=>{this.Kv||null===this.Nm||this.ns().dr()},this.Lv=t,this.Nm=i,this.Nm.nu().i(this.Fm.bind(this),this,!0),this.Wm=document.createElement("td"),this.Wm.style.padding="0",this.Wm.style.position="relative";const s=document.createElement("div");s.style.width="100%",s.style.height="100%",s.style.position="relative",s.style.overflow="hidden",this.Hm=document.createElement("td"),this.Hm.style.padding="0",this.Um=document.createElement("td"),this.Um.style.padding="0",this.Wm.appendChild(s),this.sm=Ms(s,e.size({width:16,height:16})),this.sm.subscribeSuggestedBitmapSizeChanged(this.Zv);const h=this.sm.canvasElement;h.style.position="absolute",h.style.zIndex="1",h.style.left="0",h.style.top="0",this.nm=Ms(s,e.size({width:16,height:16})),this.nm.subscribeSuggestedBitmapSizeChanged(this.Xv);const n=this.nm.canvasElement;n.style.position="absolute",n.style.zIndex="2",n.style.left="0",n.style.top="0",this.Xp=document.createElement("tr"),this.Xp.appendChild(this.Hm),this.Xp.appendChild(this.Wm),this.Xp.appendChild(this.Um),this.$m(),this.$p=new as(this.nm.canvasElement,this,{dp:()=>null===this.Am&&!this.Lv.N().handleScroll.vertTouchDrag,fp:()=>null===this.Am&&!this.Lv.N().handleScroll.horzTouchDrag})}m(){null!==this.km&&this.km.m(),null!==this.Pm&&this.Pm.m(),this.Tm=null,this.nm.unsubscribeSuggestedBitmapSizeChanged(this.Xv),ys(this.nm.canvasElement),this.nm.dispose(),this.sm.unsubscribeSuggestedBitmapSizeChanged(this.Zv),ys(this.sm.canvasElement),this.sm.dispose(),null!==this.Nm&&(this.Nm.nu().u(this),this.Nm.m()),this.$p.m()}cv(){return f(this.Nm)}qm(t){null!==this.Nm&&this.Nm.nu().u(this),this.Nm=t,null!==this.Nm&&this.Nm.nu().i(zs.prototype.Fm.bind(this),this,!0),this.$m(),this.Lv.Zp().indexOf(this)===this.Lv.Zp().length-1?(this.Tm=this.Tm??new bs(this.Wm,this.Lv),this.Tm.kt()):(this.Tm?.Ov(),this.Tm=null)}Gv(){return this.Lv}iv(){return this.Xp}$m(){if(null!==this.Nm&&(this.jm(),0!==this.ns().tn().length)){if(null!==this.km){const t=this.Nm.U_();this.km.cs(f(t))}if(null!==this.Pm){const t=this.Nm.q_();this.Pm.cs(f(t))}}}Ym(){null!==this.km&&this.km.kt(),null!==this.Pm&&this.Pm.kt()}E_(){return null!==this.Nm?this.Nm.E_():0}A_(t){this.Nm&&this.Nm.A_(t)}lp(t){if(!this.Nm)return;this.Km();const i=t.localX,s=t.localY;this.Zm(i,s,t)}Pp(t){this.Km(),this.Gm(),this.Zm(t.localX,t.localY,t)}op(t){if(!this.Nm)return;this.Km();const i=t.localX,s=t.localY;this.Zm(i,s,t)}Sp(t){null!==this.Nm&&(this.Km(),this.Xm(t))}ip(t){null!==this.Nm&&this.Jm(this.Vm,t)}Xf(t){this.ip(t)}mp(t){this.Km(),this.Qm(t),this.Zm(t.localX,t.localY,t)}bp(t){null!==this.Nm&&(this.Km(),this.Em=!1,this.tw(t))}Mp(t){null!==this.Nm&&this.Xm(t)}Op(t){if(this.Em=!0,null===this.Am){const i={x:t.localX,y:t.localY};this.iw(i,i,t)}}zp(t){null!==this.Nm&&(this.Km(),this.Nm.Qt().vd(null),this.sw())}nw(){ return this.Im}ew(){return this.Vm}Ip(){this.Bm=1,this.ns().dn()}Vp(t,i){if(!this.Lv.N().handleScale.pinch)return;const s=5*(i-this.Bm);this.Bm=i,this.ns().Td(t._t,s)}yp(t){this.Em=!1,this.Lm=null!==this.Am,this.Gm();const i=this.ns().gd();null!==this.Am&&i.It()&&(this.zm={x:i.si(),y:i.ni()},this.Am={x:t.localX,y:t.localY})}pp(t){if(null===this.Nm)return;const i=t.localX,s=t.localY;if(null===this.Am)this.Qm(t);else{this.Lm=!1;const e=f(this.zm),h=e.x+(i-this.Am.x),n=e.y+(s-this.Am.y);this.Zm(h,n,t)}}gp(t){0===this.Gv().N().trackingMode.exitMode&&(this.Lm=!0),this.rw(),this.tw(t)}Qn(t,i){const s=this.Nm;return null===s?null:Ei(s,t,i)}hw(t,i){f("left"===i?this.km:this.Pm).dm(e.size({width:t,height:this.Uv.height}))}sv(){return this.Uv}dm(t){(0,e.equalSizes)(this.Uv,t)||(this.Uv=t,this.Kv=!0,this.sm.resizeCanvasElement(t),this.nm.resizeCanvasElement(t),this.Kv=!1,this.Wm.style.width=t.width+"px",this.Wm.style.height=t.height+"px")}aw(){const t=f(this.Nm);t.H_(t.U_()),t.H_(t.q_());for(const i of t.Sl())if(t.Zn(i)){const s=i.Ft();null!==s&&t.H_(s),i.Ws()}for(const i of t.ru())i.Ws()}nv(){return this.sm.bitmapSize}ev(t,i,s,e){const h=this.nv();if(h.width>0&&h.height>0&&(t.drawImage(this.sm.canvasElement,i,s),e)){const e=this.nm.canvasElement;null!==t&&t.drawImage(e,i,s)}}pm(t){if(0===t)return;if(null===this.Nm)return;t>1&&this.aw(),null!==this.km&&this.km.pm(t),null!==this.Pm&&this.Pm.pm(t);const i={colorSpace:this.Lv.N().layout.colorSpace};if(1!==t){this.sm.applySuggestedBitmapSize();const t=(0,e.tryCreateCanvasRenderingTarget2D)(this.sm,i);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.wm(t)})),this.Nm&&(this.lw(t,Es),this.ow(t),this.lw(t,Ns),this.lw(t,Ts)))}this.nm.applySuggestedBitmapSize();const s=(0,e.tryCreateCanvasRenderingTarget2D)(this.nm,i);null!==s&&(s.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this._w(s),this.lw(s,Ls),this.lw(s,Ts))}uw(){return this.km}cw(){return this.Pm}Mm(t,i){this.lw(t,i)}Fm(){null!==this.Nm&&this.Nm.nu().u(this),this.Nm=null}Xm(t){this.Jm(this.Im,t)}Jm(t,i){const s=i.localX,e=i.localY;t.v()&&t.p(this.ns().Et().wc(s),{x:s,y:e},i)}wm({context:t,bitmapSize:i}){const{width:s,height:e}=i,h=this.ns(),n=h.$(),r=h.Kd();n===r?V(t,0,0,s,e,r):K(t,0,0,s,e,n,r)}ow(t){const i=f(this.Nm),s=i.eu().pr().Tt(i);null!==s&&s.nt(t,!1)}_w(t){this.dw(t,Ns,Ss,this.ns().gd())}lw(t,i){const s=f(this.Nm),e=s.Dt(),h=s.ru();for(const s of h)this.dw(t,i,xs,s);for(const s of e)this.dw(t,i,xs,s);for(const s of h)this.dw(t,i,Ss,s);for(const s of e)this.dw(t,i,Ss,s)}dw(t,i,s,e){const h=f(this.Nm),n=h.Qt().pd(),r=null!==n&&n.hu===e,o=null!==n&&r&&void 0!==n.au?n.au.ie:void 0;Cs(i,(i=>s(i,t,r,o)),e,h)}jm(){if(null===this.Nm)return;const t=this.Lv,i=this.Nm.U_().N().visible,s=this.Nm.q_().N().visible;i||null===this.km||(this.Hm.removeChild(this.km.iv()),this.km.m(),this.km=null),s||null===this.Pm||(this.Um.removeChild(this.Pm.iv()),this.Pm.m(),this.Pm=null);const e=t.Qt().Nd();i&&null===this.km&&(this.km=new ks(this,t.N(),e,"left"),this.Hm.appendChild(this.km.iv())), s&&null===this.Pm&&(this.Pm=new ks(this,t.N(),e,"right"),this.Um.appendChild(this.Pm.iv()))}fw(t){return t.Np&&this.Em||null!==this.Am}Zm(t,i,s){t=Math.max(0,Math.min(t,this.Uv.width-1)),i=Math.max(0,Math.min(i,this.Uv.height-1)),this.ns().Ad(t,i,s,f(this.Nm))}sw(){this.ns().zd()}rw(){this.Lm&&(this.Am=null,this.sw())}iw(t,i,s){this.Am=t,this.Lm=!1,this.Zm(i.x,i.y,s);const e=this.ns().gd();this.zm={x:e.si(),y:e.ni()}}ns(){return this.Lv.Qt()}tw(t){if(!this.Dm)return;const i=this.ns(),s=this.cv();if(i.X_(s,s.Rs()),this.Rm=null,this.Dm=!1,i.Vd(),null!==this.Om){const t=performance.now(),s=i.Et();this.Om.fe(s.Cc(),t),this.Om.Ec(t)||i.vn(this.Om)}}Km(){this.Am=null}Gm(){if(this.Nm){if(this.ns().dn(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)f(document.activeElement).blur();else{const t=document.getSelection();null!==t&&t.removeAllRanges()}!this.Nm.Rs().Gi()&&this.ns().Et().Gi()}}Qm(t){if(null===this.Nm)return;const i=this.ns(),s=i.Et();if(s.Gi())return;const e=this.Lv.N(),h=e.handleScroll,n=e.kineticScroll;if((!h.pressedMouseMove||t.Np)&&(!h.horzTouchDrag&&!h.vertTouchDrag||!t.Np))return;const r=this.Nm.Rs(),o=performance.now();if(null!==this.Rm||this.fw(t)||(this.Rm={x:t.clientX,y:t.clientY,cf:o,pw:t.localX,mw:t.localY}),null!==this.Rm&&!this.Dm&&(this.Rm.x!==t.clientX||this.Rm.y!==t.clientY)){if(t.Np&&n.touch||!t.Np&&n.mouse){const t=s.ul();this.Om=new ws(.2/t,7/t,.997,15/t),this.Om.Dv(s.Cc(),this.Rm.cf)}else this.Om=null;r.Gi()||i.Z_(this.Nm,r,t.localY),i.Dd(t.localX),this.Dm=!0}this.Dm&&(r.Gi()||i.G_(this.Nm,r,t.localY),i.Id(t.localX),null!==this.Om&&this.Om.Dv(s.Cc(),o))}}class Is{constructor(t,i,s,h,n){this.xt=!0,this.Uv=e.size({width:0,height:0}),this.Zv=()=>this.pm(3),this.Jv="left"===t,this.hd=s.Nd,this.Ps=i,this.ww=h,this.gw=n,this.Jp=document.createElement("div"),this.Jp.style.width="25px",this.Jp.style.height="100%",this.Jp.style.overflow="hidden",this.sm=Ms(this.Jp,e.size({width:16,height:16})),this.sm.subscribeSuggestedBitmapSizeChanged(this.Zv)}m(){this.sm.unsubscribeSuggestedBitmapSizeChanged(this.Zv),ys(this.sm.canvasElement),this.sm.dispose()}iv(){return this.Jp}sv(){return this.Uv}dm(t){(0,e.equalSizes)(this.Uv,t)||(this.Uv=t,this.sm.resizeCanvasElement(t),this.Jp.style.width=`${t.width}px`,this.Jp.style.height=`${t.height}px`,this.xt=!0)}pm(t){if(t<3&&!this.xt)return;if(0===this.Uv.width||0===this.Uv.height)return;this.xt=!1,this.sm.applySuggestedBitmapSize();const i=(0,e.tryCreateCanvasRenderingTarget2D)(this.sm,{colorSpace:this.Ps.layout.colorSpace});null!==i&&i.useBitmapCoordinateSpace((t=>{this.wm(t),this.gm(t)}))}nv(){return this.sm.bitmapSize}ev(t,i,s){const e=this.nv();e.width>0&&e.height>0&&t.drawImage(this.sm.canvasElement,i,s)}gm({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:e}){if(!this.ww())return;t.fillStyle=this.Ps.timeScale.borderColor;const h=Math.floor(this.hd.N().S*s),n=Math.floor(this.hd.N().S*e),r=this.Jv?i.width-h:0;t.fillRect(r,0,h,n)}wm({context:t,bitmapSize:i}){V(t,0,0,i.width,i.height,this.gw())}} function js(t){return i=>i.Ka?.(t)??[]}const Rs=js("normal"),Fs=js("top"),Ws=js("bottom");class Vs{constructor(t,i){this.Mw=null,this.bw=null,this.M=null,this.Sw=!1,this.Uv=e.size({width:0,height:0}),this.xw=new m,this.qv=new nt(5),this.Kv=!1,this.Zv=()=>{this.Kv||this.Lv.Qt().dr()},this.Xv=()=>{this.Kv||this.Lv.Qt().dr()},this.Lv=t,this.cu=i,this.Ps=t.N().layout,this.Vv=document.createElement("tr"),this.Cw=document.createElement("td"),this.Cw.style.padding="0",this.yw=document.createElement("td"),this.yw.style.padding="0",this.Jp=document.createElement("td"),this.Jp.style.height="25px",this.Jp.style.padding="0",this.kw=document.createElement("div"),this.kw.style.width="100%",this.kw.style.height="100%",this.kw.style.position="relative",this.kw.style.overflow="hidden",this.Jp.appendChild(this.kw),this.sm=Ms(this.kw,e.size({width:16,height:16})),this.sm.subscribeSuggestedBitmapSizeChanged(this.Zv);const s=this.sm.canvasElement;s.style.position="absolute",s.style.zIndex="1",s.style.left="0",s.style.top="0",this.nm=Ms(this.kw,e.size({width:16,height:16})),this.nm.subscribeSuggestedBitmapSizeChanged(this.Xv);const h=this.nm.canvasElement;h.style.position="absolute",h.style.zIndex="2",h.style.left="0",h.style.top="0",this.Vv.appendChild(this.Cw),this.Vv.appendChild(this.Jp),this.Vv.appendChild(this.yw),this.Pw(),this.Lv.Qt().B_().i(this.Pw.bind(this),this),this.$p=new as(this.nm.canvasElement,this,{dp:()=>!0,fp:()=>!this.Lv.N().handleScroll.horzTouchDrag})}m(){this.$p.m(),null!==this.Mw&&this.Mw.m(),null!==this.bw&&this.bw.m(),this.nm.unsubscribeSuggestedBitmapSizeChanged(this.Xv),ys(this.nm.canvasElement),this.nm.dispose(),this.sm.unsubscribeSuggestedBitmapSizeChanged(this.Zv),ys(this.sm.canvasElement),this.sm.dispose()}iv(){return this.Vv}Tw(){return this.Mw}Rw(){return this.bw}Pp(t){if(this.Sw)return;this.Sw=!0;const i=this.Lv.Qt();!i.Et().Gi()&&this.Lv.N().handleScale.axisPressedMouseMove.time&&i.Pd(t.localX)}yp(t){this.Pp(t)}Tp(){const t=this.Lv.Qt();!t.Et().Gi()&&this.Sw&&(this.Sw=!1,this.Lv.N().handleScale.axisPressedMouseMove.time&&t.Ed())}mp(t){const i=this.Lv.Qt();!i.Et().Gi()&&this.Lv.N().handleScale.axisPressedMouseMove.time&&i.Bd(t.localX)}pp(t){this.mp(t)}bp(){this.Sw=!1;const t=this.Lv.Qt();t.Et().Gi()&&!this.Lv.N().handleScale.axisPressedMouseMove.time||t.Ed()}gp(){this.bp()}ip(){this.Lv.N().handleScale.axisDoubleClickReset.time&&this.Lv.Qt().wn()}Xf(){this.ip()}lp(){this.Lv.Qt().N().handleScale.axisPressedMouseMove.time&&this.Cm(1)}zp(){this.Cm(0)}sv(){return this.Uv}Dw(){return this.xw}Iw(t,i,s){(0,e.equalSizes)(this.Uv,t)||(this.Uv=t,this.Kv=!0,this.sm.resizeCanvasElement(t),this.nm.resizeCanvasElement(t),this.Kv=!1,this.Jp.style.width=`${t.width}px`,this.Jp.style.height=`${t.height}px`,this.xw.p(t)),null!==this.Mw&&this.Mw.dm(e.size({width:i,height:t.height})),null!==this.bw&&this.bw.dm(e.size({width:s,height:t.height}))}Vw(){const t=this.Bw();return Math.ceil(t.S+t.C+t.k+t.A+t.I+t.Ew)}kt(){this.Lv.Qt().Et().Vl()}nv(){return this.sm.bitmapSize}ev(t,i,s,e){const h=this.nv() ;if(h.width>0&&h.height>0&&(t.drawImage(this.sm.canvasElement,i,s),e)){const e=this.nm.canvasElement;t.drawImage(e,i,s)}}pm(t){if(0===t)return;const i={colorSpace:this.Ps.colorSpace};if(1!==t){this.sm.applySuggestedBitmapSize();const s=(0,e.tryCreateCanvasRenderingTarget2D)(this.sm,i);null!==s&&(s.useBitmapCoordinateSpace((t=>{this.wm(t),this.gm(t),this.Aw(s,Ws)})),this.bm(s),this.Aw(s,Rs)),null!==this.Mw&&this.Mw.pm(t),null!==this.bw&&this.bw.pm(t)}this.nm.applySuggestedBitmapSize();const s=(0,e.tryCreateCanvasRenderingTarget2D)(this.nm,i);null!==s&&(s.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Lw([...this.Lv.Qt().tn(),this.Lv.Qt().gd()],s),this.Aw(s,Fs))}Aw(t,i){const s=this.Lv.Qt().tn();for(const e of s)Cs(i,(i=>xs(i,t,!1,void 0)),e,void 0);for(const e of s)Cs(i,(i=>Ss(i,t,!1,void 0)),e,void 0)}wm({context:t,bitmapSize:i}){V(t,0,0,i.width,i.height,this.Lv.Qt().Kd())}gm({context:t,bitmapSize:i,verticalPixelRatio:s}){if(this.Lv.N().timeScale.borderVisible){t.fillStyle=this.zw();const e=Math.max(1,Math.floor(this.Bw().S*s));t.fillRect(0,0,i.width,e)}}bm(t){const i=this.Lv.Qt().Et(),s=i.Vl();if(!s||0===s.length)return;const e=this.cu.maxTickMarkWeight(s),h=this.Bw(),n=i.N();n.borderVisible&&n.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:i,verticalPixelRatio:e})=>{t.strokeStyle=this.zw(),t.fillStyle=this.zw();const n=Math.max(1,Math.floor(i)),r=Math.floor(.5*i);t.beginPath();const o=Math.round(h.C*e);for(let e=s.length;e--;){const h=Math.round(s[e].coord*i);t.rect(h-r,0,n,o)}t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{const i=h.S+h.C+h.A+h.k/2;t.textAlign="center",t.textBaseline="middle",t.fillStyle=this.H(),t.font=this._m();for(const h of s)if(h.weight=e){const s=h.needAlignCoordinate?this.Ow(t,h.coord,h.label):h.coord;t.fillText(h.label,s,i)}}))}Ow(t,i,s){const e=this.qv.Ii(t,s),h=e/2,n=Math.floor(i-h)+.5;return n<0?i+=Math.abs(0-n):n+e>this.Uv.width&&(i-=Math.abs(this.Uv.width-(n+e))),i}Lw(t,i){const s=this.Bw();for(const e of t)for(const t of e.fs())t.Tt().nt(i,s)}zw(){return this.Lv.N().timeScale.borderColor}H(){return this.Ps.textColor}F(){return this.Ps.fontSize}_m(){return C(this.F(),this.Ps.fontFamily)}Nw(){return C(this.F(),this.Ps.fontFamily,"bold")}Bw(){null===this.M&&(this.M={S:1,L:NaN,A:NaN,I:NaN,ts:NaN,C:5,k:NaN,P:"",Qi:new nt,Ew:0});const t=this.M,i=this._m();if(t.P!==i){const s=this.F();t.k=s,t.P=i,t.A=3*s/12,t.I=3*s/12,t.ts=9*s/12,t.L=0,t.Ew=4*s/12,t.Qi.On()}return this.M}Cm(t){this.Jp.style.cursor=1===t?"ew-resize":"default"}Pw(){const t=this.Lv.Qt(),i=t.N();i.leftPriceScale.visible||null===this.Mw||(this.Cw.removeChild(this.Mw.iv()),this.Mw.m(),this.Mw=null),i.rightPriceScale.visible||null===this.bw||(this.yw.removeChild(this.bw.iv()),this.bw.m(),this.bw=null);const s={Nd:this.Lv.Qt().Nd() },e=()=>i.leftPriceScale.borderVisible&&t.Et().N().borderVisible,h=()=>t.Kd();i.leftPriceScale.visible&&null===this.Mw&&(this.Mw=new Is("left",i,s,e,h),this.Cw.appendChild(this.Mw.iv())),i.rightPriceScale.visible&&null===this.bw&&(this.bw=new Is("right",i,s,e,h),this.yw.appendChild(this.bw.iv()))}}const As=!!ns&&!!navigator.userAgentData&&navigator.userAgentData.brands.some((t=>t.brand.includes("Chromium")))&&!!ns&&(navigator?.userAgentData?.platform?"Windows"===navigator.userAgentData.platform:navigator.userAgent.toLowerCase().indexOf("win")>=0);class Bs{constructor(t,i,s){var e;this.Fw=[],this.Ww=[],this.Hw=0,this.eo=0,this.S_=0,this.Uw=0,this.$w=0,this.qw=null,this.jw=!1,this.Im=new m,this.Vm=new m,this.nd=new m,this.Yw=null,this.Kw=null,this.Av=t,this.Ps=i,this.cu=s,this.Vv=document.createElement("div"),this.Vv.classList.add("tv-lightweight-charts"),this.Vv.style.overflow="hidden",this.Vv.style.direction="ltr",this.Vv.style.width="100%",this.Vv.style.height="100%",(e=this.Vv).style.userSelect="none",e.style.webkitUserSelect="none",e.style.msUserSelect="none",e.style.MozUserSelect="none",e.style.webkitTapHighlightColor="transparent",this.Zw=document.createElement("table"),this.Zw.setAttribute("cellspacing","0"),this.Vv.appendChild(this.Zw),this.Gw=this.Xw.bind(this),Ks(this.Ps)&&this.Jw(!0),this.ns=new Ki(this.rd.bind(this),this.Ps,s),this.Qt().Md().i(this.Qw.bind(this),this),this.tg=new Vs(this,this.cu),this.Zw.appendChild(this.tg.iv());const h=i.autoSize&&this.ig();let n=this.Ps.width,r=this.Ps.height;if(h||0===n||0===r){const i=t.getBoundingClientRect();n=n||i.width,r=r||i.height}this.sg(n,r),this.ng(),t.appendChild(this.Vv),this.eg(),this.ns.Et().Oc().i(this.ns.Ca.bind(this.ns),this),this.ns.B_().i(this.ns.Ca.bind(this.ns),this)}Qt(){return this.ns}N(){return this.Ps}Zp(){return this.Fw}rg(){return this.tg}m(){this.Jw(!1),0!==this.Hw&&window.cancelAnimationFrame(this.Hw),this.ns.Md().u(this),this.ns.Et().Oc().u(this),this.ns.B_().u(this),this.ns.m();for(const t of this.Fw)this.Zw.removeChild(t.iv()),t.nw().u(this),t.ew().u(this),t.m();this.Fw=[];for(const t of this.Ww)this.hg(t);this.Ww=[],f(this.tg).m(),null!==this.Vv.parentElement&&this.Vv.parentElement.removeChild(this.Vv),this.nd.m(),this.Im.m(),this.Vm.m(),this.ag()}sg(t,i,s=!1){if(this.eo===i&&this.S_===t)return;const h=function(t){const i=Math.floor(t.width),s=Math.floor(t.height);return e.size({width:i-i%2,height:s-s%2})}(e.size({width:t,height:i}));this.eo=h.height,this.S_=h.width;const n=this.eo+"px",r=this.S_+"px";f(this.Vv).style.height=n,f(this.Vv).style.width=r,this.Zw.style.height=n,this.Zw.style.width=r,s?this.lg(Q.yn(),performance.now()):this.ns.Ca()}pm(t){void 0===t&&(t=Q.yn());for(let i=0;i{t.kt()}))}_g(t){(void 0!==t.autoSize||!this.Yw||void 0===t.width&&void 0===t.height)&&(t.autoSize&&!this.Yw&&this.ig(),!1===t.autoSize&&null!==this.Yw&&this.ag(),t.autoSize||void 0===t.width&&void 0===t.height||this.sg(t.width||this.S_,t.height||this.eo))}cg(t,i){let s=0,h=0;const n=this.Fw[0],r=(s,e)=>{let h=0;for(let n=0;n{f("left"===i?this.tg.Tw():this.tg.Rw()).ev(f(t),s,e)};if(this.Ps.timeScale.visible){const s=this.tg.nv();if(null!==t){let e=0;this.fg()&&(o("left",e,h),e=f(n.uw()).nv().width),this.tg.ev(t,e,h,i),e+=s.width,this.pg()&&o("right",e,h)}h+=s.height}return e.size({width:s,height:h})}Mg(){let t=0,i=0,s=0;for(const e of this.Fw)this.fg()&&(i=Math.max(i,f(e.uw()).om(),this.Ps.leftPriceScale.minimumWidth)),this.pg()&&(s=Math.max(s,f(e.cw()).om(),this.Ps.rightPriceScale.minimumWidth)),t+=e.E_();i=ls(i),s=ls(s);const h=this.S_,n=this.eo,r=Math.max(h-i-s,0),o=1*this.Ww.length,l=this.Ps.timeScale.visible;let a=l?Math.max(this.tg.Vw(),this.Ps.timeScale.minimumHeight):0;var u;a=(u=a)+u%2;const c=o+a,d=n{t.Ym()})),3===this.qw?._n()&&(this.qw.Sn(t),this.Sg(),this.xg(this.qw),this.Cg(this.qw,i),t=this.qw,this.qw=null)),this.pm(t)}Cg(t,i){for(const s of t.bn())this.xn(s,i)}xg(t){const i=this.ns.Xs();for(let s=0;s{if(this.jw=!1,this.Hw=0,null!==this.qw){const i=this.qw;this.qw=null,this.lg(i,t);for(const s of i.bn())if(5===s.fn&&!s.Wt.Ec(t)){this.Qt().vn(s.Wt);break}}})))}Sg(){this.ng()}hg(t){this.Zw.removeChild(t.iv()),t.m()}ng(){const t=this.ns.Xs(),i=t.length,s=this.Fw.length;for(let t=i;t0){const t=new ps(this,e-1,e);this.Ww.push(t),this.Zw.insertBefore(t.iv(),this.tg.iv())}this.Zw.insertBefore(i.iv(),this.tg.iv())}for(let s=0;s{const s=i.qs().$s(t);null!==s&&h.set(i,s)})),null!==t){const i=this.ns.Et().es(t)?.originalTime;void 0!==i&&(n=i)}const r=this.Qt().pd(),o=null!==r&&r.hu instanceof qt?r.hu:void 0,l=null!==r&&void 0!==r.au?r.au.te:void 0,a=this.Tg(e);return{Gr:n,js:t??void 0,Rg:i??void 0,Dg:-1!==a?a:void 0,Ig:o,Vg:h,Bg:l,Eg:s??void 0}}Tg(t){let i=-1;if(t)i=this.Fw.indexOf(t);else{const t=this.Qt().gd().Gs();null!==t&&(i=this.Qt().Xs().indexOf(t))}return i}yg(t,i,s,e){this.Im.p((()=>this.Pg(i,s,e,t)))}kg(t,i,s,e){this.Vm.p((()=>this.Pg(i,s,e,t)))}Qw(t,i,s){this.mg(this.Qt().pd()?.ou??null),this.nd.p((()=>this.Pg(t,i,s)))}eg(){const t=this.Ps.timeScale.visible?"":"none";this.tg.iv().style.display=t}fg(){return this.Fw[0].cv().U_().N().visible}pg(){return this.Fw[0].cv().q_().N().visible}ig(){return"ResizeObserver"in window&&(this.Yw=new ResizeObserver((t=>{const i=t[t.length-1];i&&this.sg(i.contentRect.width,i.contentRect.height)})),this.Yw.observe(this.Av,{box:"border-box"}),!0)}ag(){null!==this.Yw&&this.Yw.disconnect(),this.Yw=null}}function Ks(t){return Boolean(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function Js(t){return void 0===t.open&&void 0===t.value}function Ys(t){return function(t){return void 0!==t.open}(t)||function(t){return void 0!==t.value}(t)}function Ds(t,i,s,e){const h=s.value,n={js:i,wt:t,Wt:[h,h,h,h],Gr:e};return void 0!==s.color&&(n.R=s.color),n }function Os(t,i,s,e){const h=s.value,n={js:i,wt:t,Wt:[h,h,h,h],Gr:e};return void 0!==s.lineColor&&(n.vt=s.lineColor),void 0!==s.topColor&&(n.eh=s.topColor),void 0!==s.bottomColor&&(n.rh=s.bottomColor),n}function $s(t,i,s,e){const h=s.value,n={js:i,wt:t,Wt:[h,h,h,h],Gr:e};return void 0!==s.topLineColor&&(n.hh=s.topLineColor),void 0!==s.bottomLineColor&&(n.ah=s.bottomLineColor),void 0!==s.topFillColor1&&(n.oh=s.topFillColor1),void 0!==s.topFillColor2&&(n._h=s.topFillColor2),void 0!==s.bottomFillColor1&&(n.uh=s.bottomFillColor1),void 0!==s.bottomFillColor2&&(n.dh=s.bottomFillColor2),n}function Us(t,i,s,e){const h={js:i,wt:t,Wt:[s.open,s.high,s.low,s.close],Gr:e};return void 0!==s.color&&(h.R=s.color),h}function Xs(t,i,s,e){const h={js:i,wt:t,Wt:[s.open,s.high,s.low,s.close],Gr:e};return void 0!==s.color&&(h.R=s.color),void 0!==s.borderColor&&(h.Ht=s.borderColor),void 0!==s.wickColor&&(h.nh=s.wickColor),h}function Gs(t,i,s,e,h){const n=c(h)(s),r=Math.max(...n),o=Math.min(...n),l=n[n.length-1],a=[l,r,o,l],{time:u,color:f,...d}=s;return{js:i,wt:t,Wt:a,Gr:e,le:d,R:f}}function Hs(t){return void 0!==t.Wt}function qs(t,i){return void 0!==i.customValues&&(t.Ag=i.customValues),t}function Qs(t){return(i,s,e,h,n,r)=>function(t,i){return i?i(t):Js(t)}(e,r)?qs({wt:i,js:s,Gr:h},e):qs(t(i,s,e,h,n),e)}function Zs(t){return{Candlestick:Qs(Xs),Bar:Qs(Us),Area:Qs(Os),Baseline:Qs($s),Histogram:Qs(Ds),Line:Qs(Ds),Custom:Qs(Gs)}[t]}function te(t){return{js:0,Lg:new Map,Ea:t}}function ie(t,i){if(void 0!==t&&0!==t.length)return{zg:i.key(t[0].wt),Og:i.key(t[t.length-1].wt)}}function se(t){let i;return t.forEach((t=>{void 0===i&&(i=t.Gr)})),c(i)}class ee{constructor(t){this.Ng=new Map,this.Fg=new Map,this.Wg=new Map,this.Hg=[],this.cu=t}m(){this.Ng.clear(),this.Fg.clear(),this.Wg.clear(),this.Hg=[]}Ug(t,i){let s=0!==this.Ng.size,e=!1;const h=this.Fg.get(t);if(void 0!==h)if(1===this.Fg.size)s=!1,e=!0,this.Ng.clear();else for(const i of this.Hg)i.pointData.Lg.delete(t)&&(e=!0);let n=[];if(0!==i.length){const s=i.map((t=>t.time)),h=this.cu.createConverterToInternalObj(i),r=Zs(t.wh()),o=t.rl(),l=t.hl();n=i.map(((i,n)=>{const a=h(i.time),u=this.cu.key(a);let c=this.Ng.get(u);void 0===c&&(c=te(a),this.Ng.set(u,c),e=!0);const f=r(a,c.js,i,s[n],o,l);return c.Lg.set(t,f),f}))}s&&this.$g(),this.qg(t,n);let r=-1;if(e){const t=[];this.Ng.forEach((i=>{t.push({timeWeight:0,time:i.Ea,pointData:i,originalTime:se(i.Lg)})})),t.sort(((t,i)=>this.cu.key(t.time)-this.cu.key(i.time))),r=this.jg(t)}return this.Yg(t,r,function(t,i,s){const e=ie(t,s),h=ie(i,s);if(void 0!==e&&void 0!==h)return{Kg:!1,Ta:e.Og>=h.Og&&e.zg>=h.zg}}(this.Fg.get(t),h,this.cu))}Hd(t){return this.Ug(t,[])}Zg(t,i,s){if(s&&t.La())throw new Error("Historical updates are not supported when conflation is enabled. Conflation requires data to be processed in order.");const e=i;!function(t){void 0===t.Gr&&(t.Gr=t.time)}(e),this.cu.preprocessData(i);const h=this.cu.createConverterToInternalObj([i])(i.time),n=this.Wg.get(t) ;if(!s&&void 0!==n&&this.cu.key(h)this.cu.key(t.time)this.cu.key(e.wt)?Hs(i)&&s.push(i):Hs(i)?s[s.length-1]=i:s.splice(-1,1),this.Wg.set(t,i.wt)}Gg(t,i,s){const e=this.Fg.get(t);if(void 0===e)return;const h=Et(e,s,((t,i)=>t.js{0!==i.length&&(t=Math.max(t,i[i.length-1].js))})),t}Yg(t,i,s){const e=this.Qg();if(-1!==i)this.Fg.forEach(((i,h)=>{e.F_.set(h,{le:i,iM:h===t?s:void 0})})),this.Fg.has(t)||e.F_.set(t,{le:[],iM:s}),e.Et.sM=this.Hg,e.Et.nM=i;else{const i=this.Fg.get(t);e.F_.set(t,{le:i||[],iM:s})}return e}Qg(){return{F_:new Map,Et:{vc:this.tM()}}}}function he(t,i){t.js=i,t.Lg.forEach((t=>{t.js=i}))}function ne(t,i){return t.wt0&&n=e&&(o=n-1),r>0&&r({...t,...this.ee.ga().gh(t.wt)})))}fM(){this.lM=null}uM(){const t=this.re.Et(),i=t.N().enableConflation?t.Hc():0;i!==this.oM&&(this.rM=!0,this.oM=i),this.rM&&(this.pM(),this.rM=!1),this.hM&&(this.dM(),this.hM=!1),this.eM&&(this.vM(),this.eM=!1)}vM(){const t=this.ee.Ft(),i=this.re.Et();if(this.fM(),i.Gi()||t.Gi())return;const s=i.Ie();if(null===s)return;if(0===this.ee.qs().yh())return;const e=this.ee.Lt();null!==e&&(this.lM=oe(this.aM,s,this._M),this.mM(t,i,e.Wt),this.wM())}}class ae{constructor(t,i){this.gM=t,this.Ki=i}nt(t,i,s){this.gM.draw(t,this.Ki,i,s)}}class ue extends le{constructor(t,i,s){super(t,i,!1),this.$h=s,this.cM=new ae(this.$h.renderer(),(i=>{const s=t.Lt();return null===s?null:t.Ft().Nt(i,s.Wt)}))}get ma(){return this.$h.conflationReducer}Oa(t){return this.$h.priceValueBuilder(t)}al(t){return this.$h.isWhitespace(t)}pM(){const t=this.ee.ga();this.aM=this.ee.Na().Dh().map((i=>({wt:i.js,_t:NaN,...t.gh(i.js),MM:i.le})))}mM(t,i){i.mc(this.aM,x(this.lM))}wM(){this.$h.update({bars:this.aM.map(ce),barSpacing:this.re.Et().ul(),visibleRange:this.lM,conflationFactor:this.re.Et().Hc()},this.ee.N())}}function ce(t){return{x:t._t,time:t.wt,originalData:t.MM,barColor:t.th}}const fe={color:"#2196f3"},de=(t,i,s)=>{const e=d(s);return new ue(t,i,e)};function me(t){const i={value:t.Wt[3],time:t.Gr};return void 0!==t.Ag&&(i.customValues=t.Ag),i}function pe(t){const i=me(t);return void 0!==t.R&&(i.color=t.R),i}function ge(t){const i=me(t);return void 0!==t.vt&&(i.lineColor=t.vt),void 0!==t.eh&&(i.topColor=t.eh),void 0!==t.rh&&(i.bottomColor=t.rh),i}function ve(t){const i=me(t);return void 0!==t.hh&&(i.topLineColor=t.hh),void 0!==t.ah&&(i.bottomLineColor=t.ah),void 0!==t.oh&&(i.topFillColor1=t.oh),void 0!==t._h&&(i.topFillColor2=t._h),void 0!==t.uh&&(i.bottomFillColor1=t.uh),void 0!==t.dh&&(i.bottomFillColor2=t.dh),i}function we(t){const i={open:t.Wt[0],high:t.Wt[1],low:t.Wt[2],close:t.Wt[3],time:t.Gr};return void 0!==t.Ag&&(i.customValues=t.Ag),i}function be(t){const i=we(t);return void 0!==t.R&&(i.color=t.R),i}function Me(t){const i=we(t),{R:s,Ht:e,nh:h}=t;return void 0!==s&&(i.color=s),void 0!==e&&(i.borderColor=e),void 0!==h&&(i.wickColor=h),i}function ye(t){return{Area:ge,Line:pe,Baseline:ve,Histogram:pe,Bar:be,Candlestick:Me,Custom:xe}[t]}function xe(t){const i=t.Gr;return{...t.le,time:i}}const Se={vertLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},horzLine:{color:"#9598A1",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:"#131722"},mode:1,doNotSnapToHiddenSeriesIndices:!1},Ce={vertLines:{color:"#D6DCDE",style:0,visible:!0},horzLines:{color:"#D6DCDE",style:0,visible:!0}},_e={background:{type:"solid",color:"#FFFFFF"},textColor:"#191919",fontSize:12,fontFamily:S,panes:{enableResize:!0,separatorColor:"#E0E3EB",separatorHoverColor:"rgba(178, 181, 189, 0.2)"}, attributionLogo:!0,colorSpace:"srgb",colorParsers:[]},Pe={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:"#2B2B43",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0,ensureEdgeTickMarksVisible:!1},ke={rightOffset:0,barSpacing:6,minBarSpacing:.5,maxBarSpacing:0,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:"#2B2B43",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0,allowBoldLabels:!0,ignoreWhitespaceIndices:!1,enableConflation:!1,conflationThresholdFactor:1,precomputeConflationOnInit:!1,precomputeConflationPriority:"background"};function Ee(){return{addDefaultPane:!0,width:0,height:0,autoSize:!1,layout:_e,crosshair:Se,grid:Ce,overlayPriceScales:{...Pe},leftPriceScale:{...Pe,visible:!1},rightPriceScale:{...Pe,visible:!0},timeScale:ke,localization:{locale:ns?navigator.language:"",dateFormat:"dd MMM 'yy"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Ne{constructor(t,i,s){this.Yp=t,this.bM=i,this.SM=s??0}applyOptions(t){this.Yp.Qt().md(this.bM,t,this.SM)}options(){return this.Ki().N()}width(){return q(this.bM)?this.Yp.dg(this.bM):0}setVisibleRange(t){this.setAutoScale(!1),this.Ki().$o(new vt(t.from,t.to))}getVisibleRange(){let t,i,s=this.Ki().er();if(null===s)return null;if(this.Ki().io()){const e=this.Ki().m_(),h=Ji(e);s=mi(s,this.Ki().no()),t=Number((Math.round(s.Ze()/e)*e).toFixed(h)),i=Number((Math.round(s.Ge()/e)*e).toFixed(h))}else t=s.Ze(),i=s.Ge();return{from:t,to:i}}setAutoScale(t){this.applyOptions({autoScale:t})}Ki(){return f(this.Yp.Qt().wd(this.bM,this.SM)).Ft}}class Te{constructor(t,i,s,e){this.Yp=t,this.yt=s,this.xM=i,this.CM=e}getHeight(){return this.yt.$t()}setHeight(t){const i=this.Yp.Qt(),s=i.Gd(this.yt);i.xd(s,t)}getStretchFactor(){return this.yt.E_()}setStretchFactor(t){this.yt.A_(t),this.Yp.Qt().Ca()}paneIndex(){return this.Yp.Qt().Gd(this.yt)}moveTo(t){const i=this.paneIndex();i!==t&&(u(t>=0&&tthis.xM(t)))??[]}getHTMLElement(){const t=this.Yp.Zp();return t&&0!==t.length&&t[this.paneIndex()]?t[this.paneIndex()].iv():null}attachPrimitive(t){this.yt.nl(t),t.attached&&t.attached({chart:this.CM,requestUpdate:()=>this.yt.Qt().Ca()})}detachPrimitive(t){this.yt.el(t)}priceScale(t){if(null===this.yt.V_(t))throw new Error(`Cannot find price scale with id: ${t}`);return new Ne(this.Yp,t,this.paneIndex())}setPreserveEmptyPane(t){this.yt.O_(t)}preserveEmptyPane(){return this.yt.N_()}addCustomSeries(t,i={},s=0){return this.CM.addCustomSeries(t,i,s)}addSeries(t,i={}){return this.CM.addSeries(t,i,this.paneIndex())}}const Le={ color:"#FF0000",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:"",axisLabelColor:"",axisLabelTextColor:""};class ze{constructor(t){this.hr=t}applyOptions(t){this.hr.cr(t)}options(){return this.hr.N()}yM(){return this.hr}}class Ie{constructor(t,i,s,e,h,n){this.kM=new m,this.ee=t,this.PM=i,this.TM=s,this.cu=h,this.CM=e,this.RM=n}m(){this.kM.m()}priceFormatter(){return this.ee.Xa()}priceToCoordinate(t){const i=this.ee.Lt();return null===i?null:this.ee.Ft().Nt(t,i.Wt)}coordinateToPrice(t){const i=this.ee.Lt();return null===i?null:this.ee.Ft().Ds(t,i.Wt)}barsInLogicalRange(t){if(null===t)return null;const i=new Ii(new Ti(t.from,t.to)).Ru(),s=this.ee.qs();if(s.Gi())return null;const e=s.$s(i.Aa(),1),h=s.$s(i.bi(),-1),n=f(s.kh()),r=f(s.sn());if(null!==e&&null!==h&&e.js>h.js)return{barsBefore:t.from-n,barsAfter:r-t.to};const o={barsBefore:null===e||e.js===n?t.from-n:e.js-n,barsAfter:null===h||h.js===r?r-t.to:r-h.js};return null!==e&&null!==h&&(o.from=e.Gr,o.to=h.Gr),o}setData(t){this.cu,this.ee.wh(),this.PM.DM(this.ee,t),this.IM("full")}update(t,i=!1){this.ee.wh(),this.PM.VM(this.ee,t,i),this.IM("update")}pop(t=1){const i=this.PM.BM(this.ee,t);0!==i.length&&this.IM("update");const s=ye(this.seriesType());return i.map((t=>s(t)))}dataByIndex(t,i){const s=this.ee.qs().$s(t,i);return null===s?null:ye(this.seriesType())(s)}data(){const t=ye(this.seriesType());return this.ee.qs().Dh().map((i=>t(i)))}subscribeDataChanged(t){this.kM.i(t)}unsubscribeDataChanged(t){this.kM._(t)}applyOptions(t){this.ee.cr(t)}options(){return M(this.ee.N())}priceScale(){return this.TM.priceScale(this.ee.Ft().ol(),this.getPane().paneIndex())}createPriceLine(t){const i=p(M(Le),t),s=this.ee.Da(i);return new ze(s)}removePriceLine(t){this.ee.Ia(t.yM())}priceLines(){return this.ee.Va().map((t=>new ze(t)))}seriesType(){return this.ee.wh()}lastValueData(t){const i=this.ee.Ve(t);return i.Be?{noData:!0}:{noData:!1,price:i.gt,color:i.R}}attachPrimitive(t){this.ee.nl(t),t.attached&&t.attached({chart:this.CM,series:this,requestUpdate:()=>this.ee.Qt().Ca(),horzScaleBehavior:this.cu})}detachPrimitive(t){this.ee.el(t),t.detached&&t.detached(),this.ee.Qt().Ca()}getPane(){const t=this.ee,i=f(this.ee.Qt().Kn(t));return this.RM(i)}moveToPane(t){this.ee.Qt().jd(this.ee,t)}seriesOrder(){const t=this.ee.Qt().Kn(this.ee);return null===t?-1:t.F_().indexOf(this.ee)}setSeriesOrder(t){const i=this.ee.Qt().Kn(this.ee);null!==i&&i.su(this.ee,t)}IM(t){this.kM.v()&&this.kM.p(t)}}class je{constructor(t,i,s){this.EM=new m,this.Nu=new m,this.xw=new m,this.ns=t,this.Jh=t.Et(),this.tg=i,this.Jh.Lc().i(this.AM.bind(this)),this.Jh.zc().i(this.LM.bind(this)),this.tg.Dw().i(this.zM.bind(this)),this.cu=s}m(){this.Jh.Lc().u(this),this.Jh.zc().u(this),this.tg.Dw().u(this),this.EM.m(),this.Nu.m(),this.xw.m()}scrollPosition(){return this.Jh.Cc()}scrollToPosition(t,i){i?this.Jh.Bc(t,1e3):this.ns.Mn(t)}scrollToRealTime(){this.Jh.Vc()}getVisibleRange(){const t=this.Jh.lc();return null===t?null:{from:t.from.originalTime,to:t.to.originalTime}}setVisibleRange(t){const i={ from:this.cu.convertHorzItemToInternal(t.from),to:this.cu.convertHorzItemToInternal(t.to)},s=this.Jh.cc(i);this.ns.$d(s)}getVisibleLogicalRange(){const t=this.Jh.ac();return null===t?null:{from:t.Aa(),to:t.bi()}}setVisibleLogicalRange(t){u(t.from<=t.to,"The from index cannot be after the to index."),this.ns.$d(t)}resetTimeScale(){this.ns.wn()}fitContent(){this.ns.Fc()}logicalToCoordinate(t){const i=this.ns.Et();return i.Gi()?null:i.qt(t)}coordinateToLogical(t){return this.Jh.Gi()?null:this.Jh.wc(t)}timeToIndex(t,i){const s=this.cu.convertHorzItemToInternal(t);return this.Jh.ec(s,i)}timeToCoordinate(t){const i=this.timeToIndex(t,!1);return null===i?null:this.Jh.qt(i)}coordinateToTime(t){const i=this.ns.Et(),s=i.wc(t),e=i.es(s);return null===e?null:e.originalTime}width(){return this.tg.sv().width}height(){return this.tg.sv().height}subscribeVisibleTimeRangeChange(t){this.EM.i(t)}unsubscribeVisibleTimeRangeChange(t){this.EM._(t)}subscribeVisibleLogicalRangeChange(t){this.Nu.i(t)}unsubscribeVisibleLogicalRangeChange(t){this.Nu._(t)}subscribeSizeChange(t){this.xw.i(t)}unsubscribeSizeChange(t){this.xw._(t)}applyOptions(t){this.Jh.cr(t)}options(){return{...M(this.Jh.N()),barSpacing:this.Jh.ul()}}AM(){this.EM.v()&&this.EM.p(this.getVisibleRange())}LM(){this.Nu.v()&&this.Nu.p(this.getVisibleLogicalRange())}zM(t){this.xw.p(t.width,t.height)}}function Re(t){return function(t){if(b(t.handleScale)){const i=t.handleScale;t.handleScale={axisDoubleClickReset:{time:i,price:i},axisPressedMouseMove:{time:i,price:i},mouseWheel:i,pinch:i}}else if(void 0!==t.handleScale){const{axisPressedMouseMove:i,axisDoubleClickReset:s}=t.handleScale;b(i)&&(t.handleScale.axisPressedMouseMove={time:i,price:i}),b(s)&&(t.handleScale.axisDoubleClickReset={time:s,price:s})}const i=t.handleScroll;b(i)&&(t.handleScroll={horzTouchDrag:i,vertTouchDrag:i,mouseWheel:i,pressedMouseMove:i})}(t),t}class Fe{constructor(t,i,s){this.OM=new Map,this.NM=new Map,this.FM=new m,this.WM=new m,this.HM=new m,this.Xc=new WeakMap,this.UM=new ee(i);const e=void 0===s?M(Ee()):p(M(Ee()),Re(s));this.$M=i,this.Yp=new Bs(t,e,i),this.Yp.nw().i((t=>{this.FM.v()&&this.FM.p(this.qM(t()))}),this),this.Yp.ew().i((t=>{this.WM.v()&&this.WM.p(this.qM(t()))}),this),this.Yp.Md().i((t=>{this.HM.v()&&this.HM.p(this.qM(t()))}),this);const h=this.Yp.Qt();this.jM=new je(h,this.Yp.rg(),this.$M)}remove(){this.Yp.nw().u(this),this.Yp.ew().u(this),this.Yp.Md().u(this),this.jM.m(),this.Yp.m(),this.OM.clear(),this.NM.clear(),this.FM.m(),this.WM.m(),this.HM.m(),this.UM.m()}resize(t,i,s){this.autoSizeActive()||this.Yp.sg(t,i,s)}addCustomSeries(t,i={},s=0){const e=(t=>({type:"Custom",isBuiltIn:!1,defaultOptions:{...fe,...t.defaultOptions()},YM:de,KM:t}))(d(t));return this.ZM(e,i,s)}addSeries(t,i={},s=0){return this.ZM(t,i,s)}removeSeries(t){const i=c(this.OM.get(t)),s=this.UM.Hd(i);this.Yp.Qt().Hd(i),this.GM(s),this.OM.delete(t),this.NM.delete(i)}DM(t,i){this.GM(this.UM.Ug(t,i))}VM(t,i,s){this.GM(this.UM.Zg(t,i,s))}BM(t,i){const[s,e]=this.UM.Jg(t,i);return 0!==s.length&&this.GM(e),s}subscribeClick(t){ this.FM.i(t)}unsubscribeClick(t){this.FM._(t)}subscribeCrosshairMove(t){this.HM.i(t)}unsubscribeCrosshairMove(t){this.HM._(t)}subscribeDblClick(t){this.WM.i(t)}unsubscribeDblClick(t){this.WM._(t)}priceScale(t,i=0){return new Ne(this.Yp,t,i)}timeScale(){return this.jM}applyOptions(t){this.Yp.cr(Re(t))}options(){return this.Yp.N()}takeScreenshot(t=!1,i=!1){let s,e;try{i||(s=this.Yp.Qt().N().crosshair.mode,this.Yp.cr({crosshair:{mode:2}})),e=this.Yp.ug(t)}finally{i||void 0===s||this.Yp.Qt().cr({crosshair:{mode:s}})}return e}addPane(t=!1){const i=this.Yp.Qt().Xd();return i.O_(t),this.XM(i)}removePane(t){this.Yp.Qt().Sd(t)}swapPanes(t,i){this.Yp.Qt().Cd(t,i)}autoSizeActive(){return this.Yp.vg()}chartElement(){return this.Yp.hv()}panes(){return this.Yp.Qt().Xs().map((t=>this.XM(t)))}paneSize(t=0){const i=this.Yp.gg(t);return{height:i.height,width:i.width}}setCrosshairPosition(t,i,s){const e=this.OM.get(s);if(void 0===e)return;const h=this.Yp.Qt().Kn(e);null!==h&&this.Yp.Qt().Ld(t,i,h)}clearCrosshairPosition(){this.Yp.Qt().zd(!0)}horzBehaviour(){return this.$M}ZM(t,i={},s=0){u(void 0!==t.YM),function(t){if(void 0===t||"custom"===t.type)return;const i=t;void 0!==i.minMove&&void 0===i.precision&&(i.precision=Ji(i.minMove))}(i.priceFormat),"Candlestick"===t.type&&function(t){void 0!==t.borderColor&&(t.borderUpColor=t.borderColor,t.borderDownColor=t.borderColor),void 0!==t.wickColor&&(t.wickUpColor=t.wickColor,t.wickDownColor=t.wickColor)}(i);const e=p(M(h),M(t.defaultOptions),i),n=t.YM,r=new qt(this.Yp.Qt(),t.type,e,n,t.KM);this.Yp.Qt().Fd(r,s);const o=new Ie(r,this,this,this,this.$M,(t=>this.XM(t)));return this.OM.set(o,r),this.NM.set(r,o),o}GM(t){const i=this.Yp.Qt();i.Od(t.Et.vc,t.Et.sM,t.Et.nM),t.F_.forEach(((t,i)=>i.ht(t.le,t.iM))),i.Et().Ju(),i.Sc()}JM(t){return c(this.NM.get(t))}qM(t){const i=new Map;t.Vg.forEach(((t,s)=>{const e=s.wh(),h=ye(e)(t);if("Custom"!==e)u(Ys(h));else{const t=s.hl();u(!t||!1===t(h))}i.set(this.JM(s),h)}));const s=void 0!==t.Ig&&this.NM.has(t.Ig)?this.JM(t.Ig):void 0;return{time:t.Gr,logical:t.js,point:t.Rg,paneIndex:t.Dg,hoveredSeries:s,hoveredObjectId:t.Bg,seriesData:i,sourceEvent:t.Eg}}XM(t){let i=this.Xc.get(t);return i||(i=new Te(this.Yp,(t=>this.JM(t)),t,this),this.Xc.set(t,i)),i}}function We(t){if(w(t)){const i=document.getElementById(t);return u(null!==i,`Cannot find element in DOM with id=${t}`),i}return t}function Ve(t,i,s){const e=We(t),h=new Fe(e,i,s);return i.setOptions(h.options()),h}function Ae(){return hs}class Be extends le{constructor(t,i){super(t,i,!0)}mM(t,i,s){i.mc(this.aM,x(this.lM)),t.Yo(this.aM,s,x(this.lM))}QM(t,i){return{wt:t,gt:i,_t:NaN,ut:NaN}}pM(){const t=this.ee.ga();this.aM=this.ee.Na().Dh().map((i=>{let s;if((i.jr??1)>1){const t=i.Wt[1],e=i.Wt[2],h=i.Wt[3];s=Math.abs(t-h)>Math.abs(e-h)?t:e}else s=i.Wt[3];return this.tb(i.js,s,t)}))}}function Ke(t,i,s,e,h,n,r){if(0===i.length||e.from>=i.length||e.to<=0)return;const{context:o,horizontalPixelRatio:l,verticalPixelRatio:a}=t,u=i[e.from];let c=n(t,u),f=u;if(e.to-e.from<2){const i=h/2;o.beginPath();const s={_t:u._t-i, ut:u.ut},e={_t:u._t+i,ut:u.ut};o.moveTo(s._t*l,s.ut*a),o.lineTo(e._t*l,e.ut*a),r(t,c,s,e)}else{const h=(i,s)=>{r(t,c,f,s),o.beginPath(),c=i,f=s};let d=f;o.beginPath(),o.moveTo(u._t*l,u.ut*a);for(let r=e.from+1;r=e.from;--s){const e=i[s];if(e){const i=h(t,e);i!==l&&(o.beginPath(),null!==l&&o.fill(),o.fillStyle=i,l=i);const s=Math.round(e._t*n)+a,c=e.ut*r;o.moveTo(s,c),o.arc(s,c,u,0,2*Math.PI)}}o.fill()}(t,i,o,s,u)}}class Xe extends Ue{eb(t,i){return i.vt}}class Ge extends Be{constructor(){super(...arguments),this.cM=new Xe}tb(t,i,s){return{...this.QM(t,i),...s.gh(t)}}wM(){const t=this.ee.N(),i={ot:this.aM,Zt:t.lineStyle,sb:t.lineVisible?t.lineType:void 0,ct:t.lineWidth,nb:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0,lt:this.lM,ib:this.re.Et().ul()};this.cM.ht(i)}}const He={type:"Line",isBuiltIn:!0,defaultOptions:{color:"#2196f3",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},YM:(t,i)=>new Ge(t,i)};function qe(t,i,s,e,h){const{context:n,horizontalPixelRatio:r,verticalPixelRatio:o}=i;n.lineTo(h._t*r,t*o),n.lineTo(e._t*r,t*o),n.closePath(),n.fillStyle=s,n.fill()}class Qe extends T{constructor(){super(...arguments),this.rt=null}ht(t){this.rt=t}et(t){if(null===this.rt)return;const{ot:i,lt:s,ib:e,ct:h,Zt:n,sb:r}=this.rt,o=this.rt.ub??(this.rt.cb?0:t.mediaSize.height);if(null===s)return;const a=t.context;a.lineCap="butt",a.lineJoin="round",a.lineWidth=h,l(a,n),a.lineWidth=1,Ke(t,i,r,s,e,this.fb.bind(this),qe.bind(null,o))}}class Ze{pb(t,i){const s=this.mb,{wb:e,gb:h,Mb:n,bb:r,ub:o,Sb:l,xb:a}=i;if(void 0===this.Cb||void 0===s||s.wb!==e||s.gb!==h||s.Mb!==n||s.bb!==r||s.ub!==o||s.Sb!==l||s.xb!==a){ const{verticalPixelRatio:s}=t,u=o||l>0?s:1,c=l*u,f=a===t.bitmapSize.height?a:a*u,d=(o??0)*u,m=t.context.createLinearGradient(0,c,0,f);if(m.addColorStop(0,e),null!=o){const t=ii((d-c)/(f-c),0,1);m.addColorStop(t,h),m.addColorStop(t,n)}m.addColorStop(1,r),this.Cb=m,this.mb=i}return this.Cb}}class th extends Qe{constructor(){super(...arguments),this.yb=new Ze}fb(t,i){const s=this.rt;return this.yb.pb(t,{wb:i.oh,gb:i._h,Mb:i.uh,bb:i.dh,ub:s.ub,Sb:s.Sb??0,xb:s.xb??t.bitmapSize.height})}}class ih extends Ue{constructor(){super(...arguments),this.kb=new Ze}eb(t,i){const s=this.rt;return this.kb.pb(t,{wb:i.hh,gb:i.hh,Mb:i.ah,bb:i.ah,ub:s.ub,Sb:s.Sb??0,xb:s.xb??t.bitmapSize.height})}}class sh extends Be{constructor(t,i){super(t,i),this.cM=new N,this.Pb=new th,this.Tb=new ih,this.cM.st([this.Pb,this.Tb])}tb(t,i,s){return{...this.QM(t,i),...s.gh(t)}}wM(){const t=this.ee.Lt();if(null===t)return;const i=this.ee.N(),s=this.ee.Ft().Nt(i.baseValue.price,t.Wt),e=this.re.Et().ul();if(null===this.lM||0===this.aM.length)return;let h,n;if(i.relativeGradient){h=this.aM[this.lM.from].ut,n=this.aM[this.lM.from].ut;for(let t=this.lM.from;tn&&(n=i.ut)}}this.Pb.ht({ot:this.aM,ct:i.lineWidth,Zt:i.lineStyle,sb:i.lineType,ub:s,Sb:h,xb:n,cb:!1,lt:this.lM,ib:e}),this.Tb.ht({ot:this.aM,ct:i.lineWidth,Zt:i.lineStyle,sb:i.lineVisible?i.lineType:void 0,nb:i.pointMarkersVisible?i.pointMarkersRadius||i.lineWidth/2+2:void 0,ub:s,Sb:h,xb:n,lt:this.lM,ib:e})}}const eh={type:"Baseline",isBuiltIn:!0,defaultOptions:{baseValue:{type:"price",price:0},relativeGradient:!1,topFillColor1:"rgba(38, 166, 154, 0.28)",topFillColor2:"rgba(38, 166, 154, 0.05)",topLineColor:"rgba(38, 166, 154, 1)",bottomFillColor1:"rgba(239, 83, 80, 0.05)",bottomFillColor2:"rgba(239, 83, 80, 0.28)",bottomLineColor:"rgba(239, 83, 80, 1)",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},YM:(t,i)=>new sh(t,i)};class hh extends Qe{constructor(){super(...arguments),this.yb=new Ze}fb(t,i){return this.yb.pb(t,{wb:i.eh,gb:"",Mb:"",bb:i.rh,Sb:this.rt?.Sb??0,xb:t.bitmapSize.height})}}class nh extends Be{constructor(t,i){super(t,i),this.cM=new N,this.Rb=new hh,this.Db=new Xe,this.cM.st([this.Rb,this.Db])}tb(t,i,s){return{...this.QM(t,i),...s.gh(t)}}wM(){const t=this.ee.N();if(null===this.lM||0===this.aM.length)return;let i;if(t.relativeGradient){i=this.aM[this.lM.from].ut;for(let t=this.lM.from;tnew nh(t,i)};class oh extends T{constructor(){super(...arguments),this.jt=null,this.Ib=0,this.Vb=0}ht(t){this.jt=t}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:s}){if(null===this.jt||0===this.jt.qs.length||null===this.jt.lt)return;this.Ib=this.Bb(i),this.Ib>=2&&Math.max(1,Math.floor(i))%2!=this.Ib%2&&this.Ib--,this.Vb=this.jt.Eb?Math.min(this.Ib,Math.floor(i)):this.Ib;let e=null;const h=this.Vb<=this.Ib&&this.jt.ul>=Math.floor(1.5*i);for(let n=this.jt.lt.from;nm+g-1&&(h=m+g-1,e=h-u+1),t.fillRect(i,e,a-i,h-e+1)}const i=l+v;let e=Math.max(m,Math.round(r.Qo*s)-o),h=e+u-1;h>m+g-1&&(h=m+g-1,e=h-u+1),t.fillRect(c+1,e,i-c,h-e+1)}}}Bb(t){const i=Math.floor(t);return Math.max(i,Math.floor(function(t,i){return Math.floor(.3*t*i)}(f(this.jt).ul,t)))}}class lh extends le{constructor(t,i){super(t,i,!1)}mM(t,i,s){i.mc(this.aM,x(this.lM)),t.Zo(this.aM,s,x(this.lM))}Lb(t,i,s){return{wt:t,Hr:i.Wt[0],Ur:i.Wt[1],$r:i.Wt[2],qr:i.Wt[3],_t:NaN,Go:NaN,Xo:NaN,Jo:NaN,Qo:NaN}}pM(){const t=this.ee.ga();this.aM=this.ee.Na().Dh().map((i=>this.tb(i.js,i,t)))}}class ah extends lh{constructor(){super(...arguments),this.cM=new oh}tb(t,i,s){return{...this.Lb(t,i,s),...s.gh(t)}}wM(){const t=this.ee.N();this.cM.ht({qs:this.aM,ul:this.re.Et().ul(),Ab:t.openVisible,Eb:t.thinBars,lt:this.lM})}}const uh={type:"Bar",isBuiltIn:!0,defaultOptions:{upColor:"#26a69a",downColor:"#ef5350",openVisible:!0,thinBars:!0},YM:(t,i)=>new ah(t,i)};class ch extends T{constructor(){super(...arguments),this.jt=null,this.Ib=0}ht(t){this.jt=t}et(t){if(null===this.jt||0===this.jt.qs.length||null===this.jt.lt)return;const{horizontalPixelRatio:i}=t;this.Ib=function(t,i){if(t>=2.5&&t<=4)return Math.floor(3*i);const s=1-.2*Math.atan(Math.max(4,t)-4)/(.5*Math.PI),e=Math.floor(t*s*i),h=Math.floor(t*i),n=Math.min(e,h);return Math.max(Math.floor(i),n)}(this.jt.ul,i),this.Ib>=2&&Math.floor(i)%2!=this.Ib%2&&this.Ib--;const s=this.jt.qs;this.jt.zb&&this.Ob(t,s,this.jt.lt),this.jt.Mi&&this.gm(t,s,this.jt.lt);const e=this.Nb(i);(!this.jt.Mi||this.Ib>2*e)&&this.Fb(t,s,this.jt.lt)}Ob(t,i,s){if(null===this.jt)return;const{context:e,horizontalPixelRatio:h,verticalPixelRatio:n}=t;let r="",o=Math.min(Math.floor(h),Math.floor(this.jt.ul*h));o=Math.max(Math.floor(h),Math.min(o,this.Ib));const l=Math.floor(.5*o);let a=null;for(let t=s.from;t2*o)W(e,a,c,u-a+1,f-c+1,o);else{const t=u-a+1;e.fillRect(a,c,t,f-c+1)}l=u}}Fb(t,i,s){if(null===this.jt)return;const{context:e,horizontalPixelRatio:h,verticalPixelRatio:n}=t;let r="";const o=this.Nb(h);for(let t=s.from;ta||e.fillRect(u,l,c-u+1,a-l+1)}}}class fh extends lh{constructor(){super(...arguments),this.cM=new ch}tb(t,i,s){return{...this.Lb(t,i,s),...s.gh(t)}}wM(){const t=this.ee.N();this.cM.ht({qs:this.aM,ul:this.re.Et().ul(),zb:t.wickVisible,Mi:t.borderVisible,lt:this.lM})}}const dh={type:"Candlestick",isBuiltIn:!0,defaultOptions:{upColor:"#26a69a",downColor:"#ef5350",wickVisible:!0,borderVisible:!0,borderColor:"#378658",borderUpColor:"#26a69a",borderDownColor:"#ef5350",wickColor:"#737375",wickUpColor:"#26a69a",wickDownColor:"#ef5350"},YM:(t,i)=>new fh(t,i)};class mh extends T{constructor(){super(...arguments),this.jt=null,this.Wb=[]}ht(t){this.jt=t,this.Wb=[]}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:s}){if(null===this.jt||0===this.jt.ot.length||null===this.jt.lt)return;this.Wb.length||this.Hb(i);const e=Math.max(1,Math.floor(s)),h=Math.round(this.jt.Ub*s)-Math.floor(e/2),n=h+e;for(let i=this.jt.lt.from;ie.oe?e.bi=s.Aa-i-1:s.Aa=e.bi+i+1)}let e=Math.ceil(this.jt.ul*t);for(let t=this.jt.lt.from;t0&&e<4)for(let t=this.jt.lt.from;te&&(i.$b>i.oe?i.bi-=1:i.Aa+=1)}}}class ph extends Be{constructor(){super(...arguments),this.cM=new mh}tb(t,i,s){return{...this.QM(t,i),...s.gh(t)}}wM(){const t={ot:this.aM,ul:this.re.Et().ul(),lt:this.lM,Ub:this.ee.Ft().Nt(this.ee.N().base,f(this.ee.Lt()).Wt)};this.cM.ht(t)}}const gh={type:"Histogram",isBuiltIn:!0,defaultOptions:{color:"#26a69a",base:0},YM:(t,i)=>new ph(t,i)};class vh{constructor(t,i){this.yt=t,this.qb=i,this.jb()}detach(){this.yt.detachPrimitive(this.qb)}getPane(){return this.yt}applyOptions(t){this.qb.cr?.(t)}jb(){this.yt.attachPrimitive(this.qb)}}const wh={visible:!0,horzAlign:"center",vertAlign:"center",lines:[]},bh={color:"rgba(0, 0, 0, 0.5)",fontSize:48,fontFamily:S,fontStyle:"",text:""};class Mh{constructor(t){this.Yb=new Map,this.jt=t}draw(t){t.useMediaCoordinateSpace((t=>{if(!this.jt.visible)return;const{context:i,mediaSize:s}=t;let e=0;for(const t of this.jt.lines){if(0===t.text.length)continue;i.font=t.P;const h=this.Kb(i,t.text);h>s.width?t.Rc=s.width/h:t.Rc=1,e+=t.lineHeight*t.Rc}let h=0;switch(this.jt.vertAlign){case"top":h=0;break;case"center":h=Math.max((s.height-e)/2,0);break;case"bottom":h=Math.max(s.height-e,0)}for(const t of this.jt.lines){i.save(),i.fillStyle=t.color;let e=0;switch(this.jt.horzAlign){case"left":i.textAlign="left",e=t.lineHeight/2;break;case"center":i.textAlign="center",e=s.width/2;break;case"right":i.textAlign="right",e=s.width-1-t.lineHeight/2}i.translate(e,h),i.textBaseline="top",i.font=t.P,i.scale(t.Rc,t.Rc),i.fillText(t.text,0,t.Zb),i.restore(),h+=t.lineHeight*t.Rc}}))}Kb(t,i){const s=this.Gb(t.font);let e=s.get(i);return void 0===e&&(e=t.measureText(i).width,s.set(i,e)),e}Gb(t){let i=this.Yb.get(t);return void 0===i&&(i=new Map,this.Yb.set(t,i)),i}}class yh{constructor(t){this.Ps=Sh(t)}kt(t){this.Ps=Sh(t)}renderer(){return new Mh(this.Ps)}}function xh(t){return{...t,P:C(t.fontSize,t.fontFamily,t.fontStyle),lineHeight:t.lineHeight||1.2*t.fontSize,Zb:0,Rc:0}}function Sh(t){return{...t,lines:t.lines.map(xh)}}function Ch(t){return{...bh,...t}}function _h(t){return{...wh,...t,lines:t.lines?.map(Ch)??[]}}class Ph{constructor(t){this.Ps=_h(t),this.Xb=[new yh(this.Ps)]}updateAllViews(){this.Xb.forEach((t=>t.kt(this.Ps)))}paneViews(){return this.Xb}attached({requestUpdate:t}){this.Jb=t}detached(){this.Jb=void 0}cr(t){this.Ps=_h({...this.Ps,...t}),this.Jb&&this.Jb()}}function kh(t,i){return new vh(t,new Ph(i))}const Eh={...h,color:"#2196f3"}}}]);