You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

2591 lines
75 KiB

(window.webpackJsonp = window.webpackJsonp || []).push([
[25], {
"+5L9": function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none"><path stroke="currentColor" d="M8 5l3.5 3.5L8 12"/></svg>'
},
"1pWb": function(e, t, n) {
"use strict";
function r(e) {
return !1
}
n.d(t, "b", (function() {
return r
})), n.d(t, "a", (function() {
return "###"
}))
},
"2gjO": function(e, t, n) {
e.exports = {
wrap: "wrap-1LtT-c03",
item: "item-1LtT-c03",
small: "small-1LtT-c03",
text: "text-1LtT-c03",
exchange: "exchange-1LtT-c03"
}
},
"6rj1": function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 121" width="120" height="121" fill="none"><path fill="#F0F3FA" fill-rule="evenodd" clip-rule="evenodd" d="M26.01 81.72c10.54 13.42 34.92 11.87 54.46-3.47 19.55-15.34 26.85-38.66 16.31-52.08-10.54-13.42-34.92-11.87-54.46 3.47-9.2 7.22-15.68 16.2-18.87 25.09-.68 1.89-2.57 3.06-4.53 3.48a9.7 9.7 0 0 0-3.96 1.86C10.5 63.57 9.91 70.26 13.64 75a11.24 11.24 0 0 0 7.82 4.31 6.2 6.2 0 0 1 4.55 2.4z"/><path fill="url(#as2qxyr1y)" fill-rule="evenodd" clip-rule="evenodd" d="M38.3 46.18c1.8 3.43 12.08 10.65 25.62 16.89 6.36 2.93 12.38 5.3 17.37 6.92a172.7 172.7 0 0 0-18-12.68C48.7 48.2 38.32 44.9 38.32 44.9c-.18.3-.19.72-.01 1.27z"/><path stroke="#1E222D" stroke-width="1.5" d="M96.25 82.01c-.19.3-.54.55-1.17.7a7.8 7.8 0 0 1-2.56.08c-2.14-.22-5-1-8.4-2.28-6.78-2.57-15.53-7.12-24.64-13.05-9.12-5.94-16.82-12.1-21.92-17.26-2.55-2.58-4.41-4.89-5.48-6.76a7.8 7.8 0 0 1-.96-2.37c-.12-.64-.03-1.06.16-1.35.2-.29.54-.54 1.17-.7a7.79 7.79 0 0 1 2.56-.08c2.14.22 5 1 8.4 2.28 6.78 2.57 15.53 7.13 24.64 13.06 9.12 5.93 16.82 12.1 21.92 17.25 2.55 2.59 4.42 4.89 5.48 6.76.54.94.85 1.73.96 2.37.12.64.03 1.06-.16 1.35z"/><path stroke="#1E222D" stroke-linecap="round" stroke-width="1.5" d="M38.96 45.25c1.99.57 4.47 1.55 7.3 2.86l12.2 6.52c2.16 1.3 4.4 2.68 6.66 4.16 10.56 6.87 19.12 13.85 22.97 18.44"/><path stroke="#1E222D" stroke-width="1.5" d="M93.79 76.21c6.77-14.14 1.41-32-13.05-41.42-14.46-9.41-32.96-7.09-43.15 4.83M84.96 31.87a6.08 6.08 0 0 1-2.58 2.29c-.9.39-1.69.35-2.23 0s-.9-1.05-.9-2.04a6.08 6.08 0 0 1 1.05-3.28 6.08 6.08 0 0 1 2.58-2.3c.9-.39 1.69-.35 2.23 0 .54.36.9 1.05.9 2.04.01.99-.32 2.17-1.05 3.29z"/><path stroke="#1E222D" stroke-linecap="round" stroke-width="1.5" d="M52.7 34.25c1.25-.31 4.56-1.32 8.92-1.3M90.14 94.7c-3.64-.05-15.75-.08-30.14-.08s-26.5.03-30.14.08M34.7 69.95l5.77 5.33M42.05 66.68l.84 3.27"/><defs><linearGradient gradientUnits="userSpaceOnUse" x1="59.73" x2="59.73" y1="44.91" y2="69.99" id="as2qxyr1y"><stop stop-color="#2962FF"/><stop offset="1" stop-color="#2962FF"/></linearGradient></defs></svg>'
},
"8q1k": function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M3 10l7-7M3 3l7 7"/></svg>'
},
"952j": function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return c
})), n.d(t, "b", (function() {
return l
}));
var r = n("Kxc7"),
a = n("1pWb");
const o = r.enabled("charting_library_base") ?
/(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0370-\u1FFF_\u2E80-\uFFFF^])(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0020\u0370-\u1FFF_\u2E80-\uFFFF_!:.&])*|'.+?'/ :
/(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0370-\u1FFF_\u2E80-\uFFFF])(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0020\u0370-\u1FFF_\u2E80-\uFFFF_!|:.&])*|'.+?'/,
c = /[+\-/*]/,
s = {
number: /\d+(?:\.\d*|(?![a-zA-Z0-9_!:.&]))|\.\d+/,
incompleteNumber: /\./,
symbol: o,
incompleteSymbol: /'[^']*/,
separatorPrefix: a.a,
openBrace: "(",
closeBrace: ")",
plus: "+",
minus: "-",
multiply: "*",
divide: "/",
power: "^",
whitespace: /[\0-\x20\s]+/,
unparsed: null
},
i = new RegExp(Object.values(s).map(e => {
return null === e ? "" :
`(${"string"==typeof e?(t=e,t.replace(/[\^$()[\]{}*+?|\\]/g,"\\$&")):e.source})`;
var t
}).filter(e => "" !== e).concat(".").join("|"), "g");
function l(e) {
if (!e) return [];
const t = [],
n = Object.keys(s);
let r;
for (; r = i.exec(e);) {
let e = !1;
for (let a = n.length; a--;)
if (r[a + 1]) {
n[a] && t.push({
value: r[a + 1],
type: n[a],
precedence: 0,
offset: r.index
}), e = !0;
break
} e || t.push({
value: r[0],
type: "unparsed",
precedence: 0,
offset: r.index
})
}
return t
}
},
CJov: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return a
}));
var r = n("q1tI");
const a = n.n(r).a.createContext(null)
},
EBrf: function(e, t, n) {
"use strict";
n.r(t), n.d(t, "splitThousands", (function() {
return a
}));
var r = n("ivNn");
function a(e, t = "&nbsp;") {
let n = e + ""; - 1 !== n.indexOf("e") && (n = function(e) {
return Object(r.fixComputationError)(e).toFixed(10).replace(/\.?0+$/, "")
}(Number(e)));
const a = n.split(".");
return a[0].replace(/\B(?=(\d{3})+(?!\d))/g, t) + (a[1] ? "." + a[1] : "")
}
},
FadI: function(e, t, n) {
"use strict";
function r(e) {
if (!c(e)) throw e
}
function a(e) {
return (null == e ? void 0 : e.aborted) ? Promise.reject(o()) : new Promise((t, n) => {
null == e || e.addEventListener("abort", () => n(o()), {
once: !0
})
})
}
function o() {
return new DOMException("Aborted", "AbortError")
}
function c(e) {
return e instanceof Error && "AbortError" === e.name
}
function s(e, t) {
return Promise.race([a(e), t])
}
async function i(e, t) {
let n;
try {
await s(e, new Promise(e => {
n = setTimeout(e, t)
}))
} finally {
clearTimeout(n)
}
}
n.d(t, "c", (function() {
return r
})), n.d(t, "b", (function() {
return s
})), n.d(t, "a", (function() {
return i
}))
},
G4pG: function(e, t, n) {
e.exports = {
flagWrap: "flagWrap-1Xy6iEIs",
icon: "icon-1Xy6iEIs",
caret: "caret-1Xy6iEIs",
title: "title-1Xy6iEIs"
}
},
GWR5: function(e, t, n) {
e.exports = {
wrap: "wrap-2TpXRNRX",
libAllExchange: "libAllExchange-2TpXRNRX",
container: "container-2TpXRNRX",
iconWrap: "iconWrap-2TpXRNRX",
icon: "icon-2TpXRNRX",
title: "title-2TpXRNRX",
highlighted: "highlighted-2TpXRNRX",
description: "description-2TpXRNRX",
mobile: "mobile-2TpXRNRX",
allExchange: "allExchange-2TpXRNRX",
desktop: "desktop-2TpXRNRX",
allExchangesIcon: "allExchangesIcon-2TpXRNRX",
selected: "selected-2TpXRNRX",
titleWithoutDesc: "titleWithoutDesc-2TpXRNRX",
textBlock: "textBlock-2TpXRNRX",
bordered: "bordered-2TpXRNRX"
}
},
Gtzb: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return r
})), n.d(t, "b", (function() {
return a
}));
class r {
constructor() {
this._storage = new Map
}
setAsOpened(e, t) {
this._storage.set(e, t)
}
setAsClosed(e) {
this._storage.delete(e)
}
isOpened(e) {
return this._storage.has(e)
}
getDialogPayload(e) {
return this._storage.get(e)
}
}
const a = new r
},
Iruf: function(e, t, n) {
e.exports = {
container: "container-oVVv2l_M",
contentList: "contentList-oVVv2l_M",
contentListDesktop: "contentListDesktop-oVVv2l_M",
exchangeItemsContainer: "exchangeItemsContainer-oVVv2l_M",
exchangeItemsContainerDesktop: "exchangeItemsContainerDesktop-oVVv2l_M",
groupTitleDesktop: "groupTitleDesktop-oVVv2l_M",
emptyText: "emptyText-oVVv2l_M",
noResultsDesktop: "noResultsDesktop-oVVv2l_M"
}
},
"ML8+": function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return i
}));
var r = n("q1tI"),
a = n("TSYQ"),
o = n("Iivm"),
c = n("cvzQ"),
s = n("R4+T");
function i(e) {
const {
dropped: t,
className: n
} = e;
return r.createElement(o.a, {
className: a(n, c.icon, {
[c.dropped]: t
}),
icon: s
})
}
},
OWoh: function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M3 7l3.5-3.5L10 7"/></svg>'
},
OoQL: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return o
}));
var r = n("q1tI"),
a = n("Eyy1");
function o(e) {
return Object(a.ensureNotNull)(Object(r.useContext)(e))
}
},
Pdm7: function(e, t, n) {
e.exports = {
actions: "actions-3cho5KDh",
actionButton: "actionButton-3cho5KDh"
}
},
"R4+T": function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 8" width="16" height="8"><path fill="currentColor" d="M0 1.475l7.396 6.04.596.485.593-.49L16 1.39 14.807 0 7.393 6.122 8.58 6.12 1.186.08z"/></svg>'
},
SAe1: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return c
}));
var r = n("q1tI"),
a = n("rzV7"),
o = n.n(a);
class c extends r.Component {
constructor(e) {
super(e), this._handleMediaChange = () => {
const e = i(this.state.queries, (e, t) => t.matches);
let t = !1;
for (const n in e)
if (e.hasOwnProperty(n) && this.state.matches[n] !== e[n]) {
t = !0;
break
} t && this.setState({
matches: e
})
};
const {
rules: t
} = this.props;
this.state = s(t)
}
shouldComponentUpdate(e, t) {
return !o()(e, this.props) || (!o()(t.rules, this.state.rules) || !o()(t
.matches, this.state.matches))
}
componentDidMount() {
this._migrate(null, this.state.queries)
}
componentDidUpdate(e, t) {
o()(e.rules, this.props.rules) || this._migrate(t.queries, this.state.queries)
}
componentWillUnmount() {
this._migrate(this.state.queries, null)
}
render() {
return this.props.children(this.state.matches)
}
static getDerivedStateFromProps(e, t) {
if (o()(e.rules, t.rules)) return null;
const {
rules: n
} = e;
return s(n)
}
_migrate(e, t) {
null !== e && i(e, (e, t) => {
t.removeListener(this._handleMediaChange)
}), null !== t && i(t, (e, t) => {
t.addListener(this._handleMediaChange)
})
}
}
function s(e) {
const t = i(e, (e, t) => window.matchMedia(t));
return {
queries: t,
matches: i(t, (e, t) => t.matches),
rules: {
...e
}
}
}
function i(e, t) {
const n = {};
for (const r in e) e.hasOwnProperty(r) && (n[r] = t(r, e[r]));
return n
}
},
TgrR: function(e, t, n) {
"use strict";
function r(e) {
if (e.fullName) return e.fullName;
let t;
return t = e.prefix || e.exchange ? (e.prefix || e.exchange) + ":" + e.name : e.name, t
.replace(/<\/?[^>]+(>|$)/g, "")
}
function a(e) {
return "" === e.value
}
function o() {
const e = s();
return e.find(a) || e[0] || null
}
function c() {
return s()
}
function s() {
return window.ChartApiInstance.supportedExchangesList().map(e => ({
...e,
country: "",
providerId: "",
flag: ""
}))
}
function i() {
return window.ChartApiInstance.supportedSymbolsTypes()
}
function l() {
return ""
}
function u() {
return !1
}
n.d(t, "f", (function() {
return r
})), n.d(t, "g", (function() {
return a
})), n.d(t, "e", (function() {
return o
})), n.d(t, "c", (function() {
return c
})), n.d(t, "d", (function() {
return i
})), n.d(t, "b", (function() {
return l
})), n.d(t, "a", (function() {
return u
}))
},
U0JK: function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentcolor" stroke-width="1.2" d="M17 21l-7.5-7.5L17 6"/></svg>'
},
UEVQ: function(e, t, n) {
e.exports = {
bubbles: "bubbles-1cEBkyVM",
multiLine: "multiLine-1cEBkyVM",
bubble: "bubble-1cEBkyVM"
}
},
UN6M: function(e, t, n) {
e.exports = {
childrenWrapper: "childrenWrapper-th__KurO",
container: "container-th__KurO"
}
},
VogD: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return a
}));
var r = n("q1tI");
const a = n.n(r).a.createContext(null)
},
XDHQ: function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M2.5 6.5h8"/></svg>'
},
Y8Rb: function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M2.5 6.5h8m-4-4v8"/></svg>'
},
ZrzP: function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M2.5 6.5h9"/><circle fill="currentColor" cx="7" cy="3" r="1"/><circle fill="currentColor" cx="7" cy="10" r="1"/></svg>'
},
anmh: function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><g fill="none" fill-rule="evenodd" stroke="currentColor"><path stroke-linecap="square" stroke-linejoin="round" d="M3.5 10V2.5L1 5"/><path stroke-linecap="square" d="M1.5 10.5h4"/><path d="M8 12l3-11"/></g></svg>'
},
bQ7Y: function(e, t, n) {
e.exports = {
button: "button-2Vpz_LXc",
hover: "hover-2Vpz_LXc",
isInteractive: "isInteractive-2Vpz_LXc",
isGrouped: "isGrouped-2Vpz_LXc",
isActive: "isActive-2Vpz_LXc",
isOpened: "isOpened-2Vpz_LXc",
isDisabled: "isDisabled-2Vpz_LXc",
text: "text-2Vpz_LXc",
icon: "icon-2Vpz_LXc"
}
},
cvzQ: function(e, t, n) {
e.exports = {
icon: "icon-19OjtB6A",
dropped: "dropped-19OjtB6A"
}
},
eIOu: function(e, t, n) {
e.exports = {
"tablet-small-breakpoint": "screen and (max-width: 428px)",
itemRow: "itemRow-ZzQNZGNo",
multiLine: "multiLine-ZzQNZGNo",
cell: "cell-ZzQNZGNo",
itemInfoCell: "itemInfoCell-ZzQNZGNo",
description: "description-ZzQNZGNo",
symbolDescription: "symbolDescription-ZzQNZGNo",
flag: "flag-ZzQNZGNo",
exchangeDescription: "exchangeDescription-ZzQNZGNo",
marketType: "marketType-ZzQNZGNo",
exchangeName: "exchangeName-ZzQNZGNo",
expandHandleWrap: "expandHandleWrap-ZzQNZGNo",
expandHandle: "expandHandle-ZzQNZGNo",
hover: "hover-ZzQNZGNo",
selected: "selected-ZzQNZGNo",
active: "active-ZzQNZGNo",
highlighted: "highlighted-ZzQNZGNo",
light: "light-ZzQNZGNo",
"highlight-animation-theme-light": "highlight-animation-theme-light-ZzQNZGNo",
dark: "dark-ZzQNZGNo",
"highlight-animation-theme-dark": "highlight-animation-theme-dark-ZzQNZGNo",
offset: "offset-ZzQNZGNo",
exchangeCell: "exchangeCell-ZzQNZGNo",
expanded: "expanded-ZzQNZGNo",
symbolTitle: "symbolTitle-ZzQNZGNo",
invalid: "invalid-ZzQNZGNo",
noDescription: "noDescription-ZzQNZGNo",
highlightedText: "highlightedText-ZzQNZGNo",
icon: "icon-ZzQNZGNo",
dataMode: "dataMode-ZzQNZGNo",
actionsCell: "actionsCell-ZzQNZGNo",
action: "action-ZzQNZGNo",
targetAction: "targetAction-ZzQNZGNo",
removeAction: "removeAction-ZzQNZGNo",
addAction: "addAction-ZzQNZGNo"
}
},
gla1: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return a
}));
var r = n("q1tI");
const a = () => {
const [, e] = Object(r.useReducer)((e, t) => e + 1, 0);
return e
}
},
"h9B/": function(e, t, n) {
e.exports = {
wrap: "wrap-2WiKHt6t",
watchlist: "watchlist-2WiKHt6t",
noFeed: "noFeed-2WiKHt6t",
scrollContainer: "scrollContainer-2WiKHt6t",
listContainer: "listContainer-2WiKHt6t",
multiLineItemsContainer: "multiLineItemsContainer-2WiKHt6t"
}
},
hYF9: function(e, t, n) {
e.exports = {
button: "button-P2GOgq9R",
desktop: "desktop-P2GOgq9R"
}
},
jPOK: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return c
}));
var r = n("q1tI"),
a = n("TSYQ"),
o = n("Owlf");
n("SzKR");
function c(e) {
const t = a("tv-spinner", "tv-spinner--shown", "tv-spinner--size_" + (e.size || o.a));
return r.createElement("div", {
className: t,
style: e.style,
role: "progressbar"
}, r.createElement("div", {
className: "tv-spinner__spinner-layer"
}, r.createElement("div", {
className: "tv-spinner__background tv-spinner__width_element"
}), r.createElement("div", {
className: "tv-spinner__circle-clipper tv-spinner__width_element tv-spinner__circle-clipper--left"
}), r.createElement("div", {
className: "tv-spinner__circle-clipper tv-spinner__width_element tv-spinner__circle-clipper--right"
})))
}
},
ki38: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return a
}));
var r = n("q1tI");
const a = n.n(r).a.createContext(null)
},
mHCH: function(e, t, n) {
e.exports = {
bubble: "bubble-3MTPKAgt",
animated: "animated-3MTPKAgt",
content: "content-3MTPKAgt",
"appearance-default": "appearance-default-3MTPKAgt",
active: "active-3MTPKAgt",
red: "red-3MTPKAgt",
blue: "blue-3MTPKAgt",
green: "green-3MTPKAgt",
orange: "orange-3MTPKAgt",
purple: "purple-3MTPKAgt",
cyan: "cyan-3MTPKAgt",
pink: "pink-3MTPKAgt",
"appearance-text": "appearance-text-3MTPKAgt",
"size-m": "size-m-3MTPKAgt",
"size-l": "size-l-3MTPKAgt"
}
},
mdyz: function(e, t, n) {
e.exports = {
search: "search-Hsmn_0WX",
upperCase: "upperCase-Hsmn_0WX",
symbolType: "symbolType-Hsmn_0WX",
spinnerWrap: "spinnerWrap-Hsmn_0WX",
emptyText: "emptyText-Hsmn_0WX",
noResultsDesktop: "noResultsDesktop-Hsmn_0WX",
brokerCheckboxWrap: "brokerCheckboxWrap-Hsmn_0WX"
}
},
ozXl: function(e, t, n) {
e.exports = {
dialog: "dialog-1LLxyYSM",
tabletDialog: "tabletDialog-1LLxyYSM",
desktopDialog: "desktopDialog-1LLxyYSM"
}
},
p04v: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return u
}));
var r = n("q1tI"),
a = n.n(r),
o = n("i8i4"),
c = n("+EG+"),
s = n("CJov"),
i = n("Gtzb"),
l = n("uTDg");
function u(e) {
const {
initialMode: t = "symbolSearch",
autofocus: n = !0,
defaultValue: r,
showSpreadActions: u,
selectSearchOnInit: d,
onSearchComplete: p,
onSearchFeedReady: m,
dialogTitle: f,
placeholder: h,
fullscreen: b,
initialScreen: v,
wrapper: g,
dialog: y,
contentItem: E,
onClose: x,
footer: O,
symbolTypes: k,
searchInput: N,
emptyState: w,
dialogWidth: S = "auto",
manager: C
} = e;
if (i.b.isOpened("SymbolSearch") || i.b.isOpened("ChangeIntervalDialog")) return;
const T = document.createElement("div"),
j = a.a.createElement(c.b.Provider, {
value: null != C ? C : null
}, a.a.createElement(s.a.Provider, {
value: null
}, a.a.createElement(l.a, {
onClose: I,
initialMode: t,
defaultValue: r,
showSpreadActions: u,
onSearchFeedReady: m,
selectSearchOnInit: d,
onSearchComplete: p,
dialogTitle: f,
placeholder: h,
fullscreen: b,
initialScreen: v,
wrapper: g,
dialog: y,
contentItem: E,
footer: O,
symbolTypes: k,
searchInput: N,
emptyState: w,
autofocus: n,
dialogWidth: S
})));
function I() {
o.unmountComponentAtNode(T), i.b.setAsClosed("SymbolSearch"), x && x()
}
return o.render(j, T), i.b.setAsOpened("SymbolSearch"), {
close: I
}
}
},
poJS: function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 121" width="120" height="121" fill="none"><g clip-path="url(#afzoeckcd)"><path fill="#2A2E39" fill-rule="evenodd" clip-rule="evenodd" d="M26.01 81.72c10.54 13.42 34.92 11.87 54.46-3.47 19.55-15.34 26.85-38.66 16.31-52.08-10.54-13.42-34.92-11.87-54.46 3.47-9.2 7.22-15.68 16.2-18.87 25.09-.68 1.89-2.57 3.06-4.53 3.48a9.7 9.7 0 0 0-3.96 1.86C10.5 63.57 9.91 70.26 13.64 75a11.24 11.24 0 0 0 7.82 4.31 6.2 6.2 0 0 1 4.55 2.4z"/><path fill="#1848CC" fill-rule="evenodd" clip-rule="evenodd" d="M38.3 46.18c1.8 3.43 12.08 10.65 25.62 16.89 6.36 2.93 12.38 5.3 17.37 6.92a172.71 172.71 0 0 0-18-12.68C48.7 48.2 38.32 44.9 38.32 44.9c-.18.3-.19.72-.01 1.27z"/><path stroke="#B2B5BE" stroke-width="1.5" d="M96.25 82.01c-.19.3-.54.55-1.17.7a7.8 7.8 0 0 1-2.56.08c-2.14-.22-5-1-8.4-2.28-6.78-2.57-15.53-7.12-24.64-13.05-9.12-5.94-16.82-12.1-21.92-17.26-2.55-2.58-4.41-4.89-5.48-6.76a7.8 7.8 0 0 1-.96-2.37c-.12-.64-.03-1.06.16-1.35.2-.29.54-.54 1.17-.7a7.79 7.79 0 0 1 2.56-.08c2.14.22 5 1 8.4 2.28 6.78 2.57 15.53 7.13 24.64 13.06 9.12 5.93 16.82 12.1 21.92 17.25 2.55 2.59 4.42 4.89 5.48 6.76.54.94.85 1.73.96 2.37.12.64.03 1.06-.16 1.35z"/><path stroke="#B2B5BE" stroke-linecap="round" stroke-width="1.5" d="M38.96 45.25c1.99.57 4.47 1.55 7.3 2.86l12.2 6.52c2.16 1.3 4.4 2.68 6.66 4.16 10.56 6.87 19.12 13.85 22.97 18.44"/><path stroke="#B2B5BE" stroke-width="1.5" d="M93.79 76.21c6.77-14.14 1.41-32-13.05-41.42-14.46-9.41-32.96-7.09-43.15 4.83M84.96 31.87a6.08 6.08 0 0 1-2.58 2.29c-.9.39-1.69.35-2.23 0s-.9-1.05-.9-2.04a6.08 6.08 0 0 1 1.05-3.28 6.08 6.08 0 0 1 2.58-2.3c.9-.39 1.69-.35 2.23 0 .54.36.9 1.05.9 2.04.01.99-.32 2.17-1.05 3.29z"/><path stroke="#B2B5BE" stroke-linecap="round" stroke-width="1.5" d="M52.7 34.25c1.25-.31 4.56-1.32 8.92-1.3M90.14 94.7c-3.64-.05-15.75-.08-30.14-.08s-26.5.03-30.14.08M34.7 69.95l5.77 5.33M42.05 66.68l.84 3.27"/></g><defs><clipPath id="afzoeckcd"><path fill="#fff" d="M10 10.62h100v100H10v-100z"/></clipPath></defs></svg>'
},
qC62: function(e, t, n) {
"use strict";
n.d(t, "b", (function() {
return c
})), n.d(t, "a", (function() {
return r
}));
var r, a = n("Eyy1"),
o = n("Kxc7");
n("TgrR");
function c(e) {
return e
}! function(e) {
function t(e) {
return e.pro_name
}
function n(e) {
{
const t = o.enabled("pay_attention_to_ticker_not_symbol") ? e.ticker : e.full_name;
return Object(a.ensureDefined)(t)
}
}
e.fromQuotesResponse = function(e) {
const {
values: n,
symbolname: r,
status: a
} = e;
return "error" === a && r ? r : t(n)
}, e.fromQuotes = t, e.fromSymbolSearchResult = function(e, t) {
{
const {
ticker: n,
full_name: r
} = null != t ? t : e;
return o.enabled("pay_attention_to_ticker_not_symbol") ? Object(a.ensureDefined)
(null != n ? n : r) : Object(a.ensureDefined)(r)
}
}, e.fromSymbolInfo = n, e.fromSymbolMessage = function(e, t) {
return "symbol_resolved" === t.method ? n(t.params[1]) : e
}
}(r || (r = {}))
},
"rC+j": function(e, t, n) {
"use strict";
n.d(t, "h", (function() {
return c
})), n.d(t, "a", (function() {
return s
})), n.d(t, "g", (function() {
return i
})), n.d(t, "e", (function() {
return u
})), n.d(t, "f", (function() {
return p
})), n.d(t, "c", (function() {
return m
})), n.d(t, "d", (function() {
return h
})), n.d(t, "b", (function() {
return b
}));
var r = n("Kxc7"),
a = n("952j"),
o = n("TgrR");
function c(e) {
const t = {
braceBalance: 0,
currentState: "var",
warnings: [],
errors: []
};
if (r.enabled("charting_library_base") && !r.enabled("show_spread_operators")) return t;
let n = "init";
const a = [];
for (let r = 0; r < e.length; r++) {
const o = e[r];
if ("whitespace" !== o.type) {
if ("incompleteSymbol" === o.type || "incompleteNumber" === o.type) {
const n = r !== e.length - 1,
a = {
status: n ? "error" : "incomplete",
reason: "incomplete_token",
offset: o.offset,
token: o
};
if (n ? t.errors.push(a) : t.warnings.push(a), n) continue
}
switch (o.type) {
case "symbol":
case "number":
if ("var" === n) {
t.errors.push({
status: "error",
reason: "unexpected_token",
offset: o.offset,
token: o
});
continue
}
n = "var";
break;
case "plus":
case "minus":
case "multiply":
case "divide":
case "power":
if ("var" !== n) {
t.errors.push({
status: "error",
reason: "unexpected_token",
offset: o.offset,
token: o
});
continue
}
n = "operator";
break;
case "openBrace":
if ("var" === n) {
t.errors.push({
status: "error",
reason: "unexpected_token",
offset: o.offset,
token: o
});
continue
}
a.push(o), n = "init";
break;
case "closeBrace":
if ("var" !== n) {
t.errors.push({
status: "error",
reason: "unexpected_token",
offset: o.offset,
token: o
});
continue
}
a.pop() || t.errors.push({
status: "error",
reason: "unbalanced_brace",
offset: o.offset,
token: o
}), n = "var";
break;
case "unparsed":
t.errors.push({
status: "error",
reason: "unparsed_entity",
offset: o.offset,
token: o
})
}
}
}
for (t.braceBalance = a.length, "var" !== n && t.warnings.push({
status: "incomplete",
token: e[e.length - 1]
}); a.length;) {
const e = a.pop();
e && t.warnings.push({
status: "incomplete",
reason: "unbalanced_brace",
offset: e.offset,
token: e
})
}
return t.currentState = n, t
}
function s(e) {
const t = function(e) {
let t, n = 0,
r = 0;
for (let a = 0; a < e.length; a++) {
const o = e[a];
if ("whitespace" !== o.type) switch (n) {
case 0:
if ("number" !== o.type || 1 != +o.value) return [];
n = 1;
break;
case 1:
if (1 !== n || "divide" !== o.type) return [];
n = 2, t = a + 1;
break;
case 2:
if ("openBrace" === o.type) n = 3, r = 1;
else if (l(o.type)) return [];
break;
case 3:
"openBrace" === o.type ? r++ : "closeBrace" === o.type && (r--, r <=
0 && (n = 2))
}
}
return e.slice(t)
}(e);
return t.length ? d(t) : d(Object(a.b)("1/(" + i(e) + ")"))
}
function i(e) {
return e.reduce((e, t) => "symbol" === t.type && a.a.test(t.value) ? e + `'${t.value}'` :
e + t.value, "")
}
function l(e) {
return "plus" === e || "minus" === e || "multiply" === e || "divide" === e || "power" === e
}
function u(e) {
return e.length > 1 && e.some(e => l(e.type))
}
function d(e) {
e = function(e) {
const t = [];
for (const n of e) "whitespace" !== n.type && t.push(n);
return t
}(e);
const t = [],
n = [];
let r;
for (let a = 0; a < e.length; a++) {
const o = e[a];
switch (o.type) {
case "plus":
case "minus":
case "multiply":
case "divide":
case "power":
n.length && n[n.length - 1].minPrecedence > o.precedence && (n[n.length - 1]
.minPrecedence = o.precedence);
break;
case "openBrace":
r = {
minPrecedence: 1 / 0,
openBraceIndex: a
}, n.push(r);
break;
case "closeBrace": {
if (r = n.pop(), !r) break;
const o = e[r.openBraceIndex - 1],
c = e[a + 1],
s = o && ("plus" === o.type || "multiply" === o.type);
(!l(null == c ? void 0 : c.type) || (null == c ? void 0 : c.precedence) <= r
.minPrecedence) && (!l(null == o ? void 0 : o.type) || (null == o ? void 0 :
o.precedence) < (null == r ? void 0 : r.minPrecedence) || (null == o ?
void 0 : o.precedence) === (null == r ? void 0 : r.minPrecedence) && s) && (
t.unshift(r.openBraceIndex), t.push(a), n.length && n[n.length - 1]
.minPrecedence > r.minPrecedence && (n[n.length - 1].minPrecedence = r
.minPrecedence))
}
}
}
for (let n = t.length; n--;) e.splice(t[n], 1);
return e
}
function p(e) {
return d(Object(a.b)(e)).reduce((e, t) => {
if ("symbol" !== t.type) return e + t.value;
const [, n] = f(t);
return n ? e + n : e
}, "")
}
function m(e) {
const t = function(e) {
const t = Object(a.b)(e),
n = [];
return t.forEach(e => {
if ("symbol" !== e.type) return;
const [t] = f(e);
t && n.push(t)
}), n
}(e);
if (1 === t.length) return t[0]
}
function f(e) {
const t = /^'?(?:([A-Z0-9_]+):)?(.*?)'?$/i.exec(e.value);
return null === t ? [void 0, void 0] : [t[1], t[2]]
}
function h(e, t, n) {
const r = e.value,
[c, s] = b(e, n),
i = Object(o.f)(t),
l = a.a.test(i) ? `'${i}'` : i;
return [r.substr(0, s) + l + r.substr(s + c.length), s + l.length]
}
function b(e, t) {
const {
value: n,
selectionStart: r
} = e, o = Object(a.b)(t ? n.toUpperCase() : n), c = function(e, t) {
for (let n = 0; n < e.length; n++) {
const r = e[n],
a = "symbol" === r.type || "incompleteSymbol" === r.type || "number" === r
.type;
if (r.offset <= t && t <= r.offset + r.value.length && a) return r
}
return null
}(o, r || 0);
return [(null == c ? void 0 : c.value) || "", c ? c.offset : n.length, o]
}
},
rzV7: function(e, t, n) {
"use strict";
var r = Object.prototype.hasOwnProperty;
function a(e, t) {
return e === t ? 0 !== e || 0 !== t || 1 / e == 1 / t : e != e && t != t
}
e.exports = function(e, t) {
if (a(e, t)) return !0;
if ("object" != typeof e || null === e || "object" != typeof t || null === t) return !1;
var n = Object.keys(e),
o = Object.keys(t);
if (n.length !== o.length) return !1;
for (var c = 0; c < n.length; c++)
if (!r.call(t, n[c]) || !a(e[n[c]], t[n[c]])) return !1;
return !0
}
},
tU7i: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return s
})), n.d(t, "b", (function() {
return i
}));
var r = n("q1tI"),
a = n("TSYQ"),
o = n("Iivm"),
c = n("bQ7Y");
const s = c,
i = r.forwardRef((e, t) => {
const {
icon: n,
isActive: s,
isOpened: i,
isDisabled: l,
isGrouped: u,
isHovered: d,
onClick: p,
text: m,
textBeforeIcon: f,
title: h,
theme: b = c,
className: v,
forceInteractive: g,
"data-name": y,
...E
} = e, x = a(v, b.button, h && "apply-common-tooltip", {
[b.isActive]: s,
[b.isOpened]: i,
[b.isInteractive]: (g || Boolean(p)) && !l,
[b.isDisabled]: l,
[b.isGrouped]: u,
[b.hover]: d
}), O = n && ("string" == typeof n ? r.createElement(o.a, {
className: b.icon,
icon: n
}) : r.cloneElement(n, {
className: a(b.icon, n.props.className)
}));
return r.createElement("div", {
...E,
ref: t,
"data-role": "button",
className: x,
onClick: l ? void 0 : p,
title: h,
"data-name": y
}, f && m && r.createElement("div", {
className: a("js-button-text", b.text)
}, m), O, !f && m && r.createElement("div", {
className: a("js-button-text", b.text)
}, m))
})
},
uTDg: function(e, t, n) {
"use strict";
var r = n("q1tI"),
a = n.n(r),
o = n("TSYQ"),
c = n.n(o),
s = n("YFKU"),
i = (n("+GxX"), n("952j")),
l = n("rC+j"),
u = n("SAe1"),
d = n("Kxc7"),
p = n("uhCe"),
m = n("g89m"),
f = n("Eyy1"),
h = n("Iivm"),
b = n("VogD"),
v = n("QHWU"),
g = n("TgrR"),
y = n("UN6M");
function E(e) {
const {
children: t,
className: n
} = e;
return a.a.createElement("div", {
className: c()(y.container, n)
}, a.a.createElement("div", {
className: y.childrenWrapper
}, t))
}
var x = n("1LIl"),
O = n("H9Gg"),
k = n("wy57"),
N = n("GWR5");
function w(e) {
const {
country: t,
providerId: n,
flag: o,
title: s,
description: i,
isActive: l,
isAllExchanges: u,
isMobile: d,
onClick: p,
queryString: m
} = e, f = Object(r.useMemo)(() => Object(O.a)(m), [m]), b = i && !u, v = c()(N.container,
d ? N.mobile : N.desktop, l && N.selected, u && N.allExchange, u && N
.libAllExchange, !u && d && N.bordered);
return a.a.createElement("div", {
className: c()(!d && N.wrap, u && N.libAllExchange),
onClick: p
}, a.a.createElement("div", {
className: v
}, a.a.createElement("div", {
className: N.iconWrap
}, !!u && a.a.createElement(h.a, {
className: c()(N.icon, N.allExchangesIcon),
icon: k
})), a.a.createElement("div", {
className: N.textBlock
}, a.a.createElement("div", {
className: c()(N.title, !b && !d && N.titleWithoutDesc)
}, a.a.createElement(x.a, {
className: c()(l && N.highlighted),
queryString: m,
text: s,
rules: f
})), b && a.a.createElement("div", {
className: N.description
}, a.a.createElement(x.a, {
className: N.highlighted,
queryString: m,
rules: f,
text: i
})))))
}
var S = n("vqb8"),
C = n("OoQL"),
T = n("oiZD"),
j = n("zM7N"),
I = n("ki38"),
R = n("poJS"),
M = n("6rj1"),
_ = n("Iruf");
const L = {
emptyTextClassName: _.emptyText
};
function D(e) {
const {
exchanges: t
} = e, {
selectedExchange: n,
setSelectedExchange: o,
setMode: i,
isMobile: l,
emptyState: u,
autofocus: d
} = Object(C.a)(b.a), p = Object(S.a)({
watchedValue: T.watchedTheme
}) === j.a.Dark ? R : M, [m, y] = Object(r.useState)(""), x = Object(r.useCallback)(e =>
e.name.toLowerCase().includes(m.toLowerCase()) || e.desc.toLowerCase().includes(m
.toLowerCase()), [m]), O = Object(r.useMemo)(() => [
[...t]
], [t]), k = Object(r.useMemo)(() => {
const e = O.filter(e => e.some(x));
return e
}, [O, x]), N = Object(f.ensureNotNull)(n).value, D = Object(r.useRef)(null), A =
Object(r.useRef)(null);
Object(r.useLayoutEffect)(() => {
var e;
d && (null === (e = null == D ? void 0 : D.current) || void 0 === e || e
.focus())
}, []);
const z = u ? a.a.createElement(u, null) : a.a.createElement(E, {
className: _.noResultsDesktop
}, a.a.createElement(h.a, {
icon: p
}), a.a.createElement("div", {
className: _.emptyText
}, Object(s.t)("No exchanges match your criteria")));
return a.a.createElement(I.a.Provider, {
value: L
}, a.a.createElement(v.a, {
placeholder: Object(s.t)("Search"),
onChange: function(e) {
y(e.target.value), A && A.current && (A.current.scrollTop = 0)
},
reference: D
}), k.length ? a.a.createElement("div", {
ref: A,
className: c()(_.contentList, !l && _.contentListDesktop),
onTouchStart: function() {
var e;
null === (e = D.current) || void 0 === e || e.blur()
}
}, k.map(e => {
const {
name: t,
group: n
} = e[0];
return a.a.createElement(a.a.Fragment, {
key: t
}, !1, a.a.createElement("div", {
className: c()(_.exchangeItemsContainer, !l && _
.exchangeItemsContainerDesktop)
}, e.filter(x).map(e => {
const t = Object(g.g)(e);
return a.a.createElement(w, {
key: e.desc,
country: e.country,
flag: e.flag,
providerId: e.providerId,
title: t ? Object(s.t)("All sources") :
e.name,
description: e.desc,
isActive: e.value === N,
isAllExchanges: t,
isMobile: l,
queryString: m,
onClick: P.bind(null, e)
})
})))
})) : z);
function P(e) {
o(e), i("symbolSearch")
}
}
var A, z, P, B, Z, V, F, G, W, X, K, Q = n("i8i4"),
q = n("FadI");
n("Wt0y"), n("wVAQ"), n("ivNn"), n("nc0P");
! function(e) {
e[e.CONNECTED = 1] = "CONNECTED", e[e.CONNECTING = 2] = "CONNECTING", e[e.DISCONNECTED =
3] = "DISCONNECTED", e[e.ERROR = 4] = "ERROR"
}(A || (A = {})),
function(e) {
e[e.LIMIT = 1] = "LIMIT", e[e.MARKET = 2] = "MARKET", e[e.STOP = 3] = "STOP", e[e
.STOPLIMIT = 4] = "STOPLIMIT"
}(z || (z = {})),
function(e) {
e[e.BUY = 1] = "BUY", e[e.SELL = -1] = "SELL"
}(P || (P = {})),
function(e) {
e[e.CANCELED = 1] = "CANCELED", e[e.FILLED = 2] = "FILLED", e[e.INACTIVE = 3] = "INACTIVE",
e[e.PLACING = 4] = "PLACING", e[e.REJECTED = 5] = "REJECTED", e[e.WORKING = 6] =
"WORKING"
}(B || (B = {})),
function(e) {
e[e.ALL = 0] = "ALL", e[e.CANCELED = 1] = "CANCELED", e[e.FILLED = 2] = "FILLED", e[e
.INACTIVE = 3] = "INACTIVE", e[e.REJECTED = 5] = "REJECTED", e[e.WORKING = 6] =
"WORKING"
}(Z || (Z = {})),
function(e) {
e[e.ORDER = 1] = "ORDER", e[e.POSITION = 2] = "POSITION"
}(V || (V = {})),
function(e) {
e[e.LIMITPRICE = 1] = "LIMITPRICE", e[e.STOPPRICE = 2] = "STOPPRICE", e[e.TAKEPROFIT = 3] =
"TAKEPROFIT", e[e.STOPLOSS = 4] = "STOPLOSS"
}(F || (F = {})),
function(e) {
e[e.ERROR = 0] = "ERROR", e[e.SUCCESS = 1] = "SUCCESS"
}(G || (G = {})),
function(e) {
e.Information = "information", e.Warning = "warning", e.Error = "error"
}(W || (W = {})),
function(e) {
e.Demo = "demo", e.Live = "live"
}(X || (X = {})),
function(e) {
e[e.LogOut = 0] = "LogOut", e[e.FailedRestoring = 1] = "FailedRestoring", e[e.Offline = 2] =
"Offline", e[e.APIError = 3] = "APIError", e[e.TwoFactorRequired = 4] =
"TwoFactorRequired"
}(K || (K = {}));
n("EBrf"), n("ogJP");
var H = n("txPx");
n("25b6");
Error;
Object(H.getLogger)("Trading.Utils");
Object(s.t)("Failed to login");
function U(e) {
return e.hasOwnProperty("exchange")
}
async function Y(e) {
return new Promise(t => {
window.ChartApiInstance.searchSymbols(e.text || "", e.exchange || "", e
.type || "", "", !1, !0, "", !0, "", e => {
t(e)
})
})
}
var $ = n("K5cv"),
J = n("JWMC"),
ee = n("/3z9"),
te = n("tU7i"),
ne = n("ZrzP"),
re = n("XDHQ"),
ae = n("Y8Rb"),
oe = n("8q1k"),
ce = n("OWoh"),
se = n("anmh"),
ie = n("Pdm7");
function le(e) {
var t;
const {
state: n,
update: o
} = e, {
searchRef: c,
forceUpdate: s,
upperCaseEnabled: u
} = Object(f.ensureNotNull)(Object(r.useContext)(b.a)), p = Object(i.b)(null === (t = c
.current) || void 0 === t ? void 0 : t.value), m = Object(l.h)(p);
let h = [{
icon: ne,
insert: "/",
type: "binaryOp",
name: "division"
}, {
icon: re,
insert: "-",
type: "binaryOp",
name: "subtraction"
}, {
icon: ae,
insert: "+",
type: "binaryOp",
name: "addition"
}, {
icon: oe,
insert: "*",
type: "binaryOp",
name: "multiplication"
}];
return d.enabled("hide_exponentiation_spread_operator") || (h = h.concat([{
icon: ce,
insert: "^",
type: "binaryOp",
name: "exponentiation"
}])),
d.enabled("hide_reciprocal_spread_operator") || (h = h.concat([{
icon: se,
type: "complete",
name: "1/x",
callback: () => {
!c.current || m.errors.length || m.warnings.length || (c.current
.value = Object(l.g)(Object(l.a)(p)), s())
}
}])), a.a.createElement("div", {
className: ie.actions
}, h.map(e => a.a.createElement(te.b, {
className: ie.actionButton,
icon: e.icon,
key: e.name,
isDisabled: ue(e, m),
onClick: () => function(e) {
var t;
if (!ue(e, m)) {
if (e.insert && c.current) {
const t = c.current.value + e.insert;
c.current.value = t, c.current.setSelectionRange(t
.length, t.length);
const [r, , a] = Object(l.b)(c.current, u);
n.current && (n.current.selectedIndexValue = -1, n
.current.searchSpreadsValue = Object(l.e)(a), n
.current.searchTokenValue = r), s(), o()
}
e.callback && e.callback(), null === (t = c.current) ||
void 0 === t || t.focus(), Object(J.trackEvent)("GUI",
"SS", e.name)
}
}(e)
})))
}
function ue(e, t) {
let n = !1;
if (!t.errors.length) switch (e.type) {
case "binaryOp":
n = "var" === t.currentState;
break;
case "openBrace":
n = "var" !== t.currentState;
break;
case "closeBrace":
n = "var" === t.currentState && t.braceBalance > 0;
break;
case "complete":
n = !t.errors.length && !t.warnings.length
}
return !n
}
var de = n("ijHL"),
pe = n("mHCH");
function me(e) {
const {
isActive: t,
isAnimated: n,
activeColor: r,
size: a = "m",
appearance: o = "default",
className: s
} = e;
return c()(pe.bubble, t && pe.active, r && pe[r], a && pe["size-" + a], o && pe[
"appearance-" + o], n && pe.animated, s)
}
function fe(e) {
const {
id: t,
title: n,
tabIndex: r,
role: o,
contentClassName: s,
children: i,
onClick: l,
onMouseDown: u,
...d
} = e;
return a.a.createElement("span", {
...Object(de.a)(d),
...Object(de.b)(d),
id: t,
title: n,
tabIndex: r,
role: o,
className: me(e),
onClick: l,
onMouseDown: u
}, a.a.createElement("span", {
className: c()(pe.content, s)
}, i))
}
var he = n("UEVQ");
function be(e) {
const {
className: t,
itemClassName: n,
itemContentClassName: r,
items: c,
getItemTitle: s,
getItemKey: i,
checkItemIsActive: l,
getItemColor: u,
onBubbleClick: d,
multiline: p,
children: m
} = e;
return a.a.createElement("div", {
className: o(t, he.bubbles, p && he.multiLine)
}, c.map((e, t) => a.a.createElement(fe, {
key: i ? i(e) : t,
className: o(he.bubble, n),
contentClassName: r,
onClick: function() {
d(e)
},
onMouseDown: function(e) {
e.preventDefault()
},
isActive: !!l && l(e),
activeColor: u ? u(e) : void 0
}, s(e))), m)
}
var ve = n("jPOK"),
ge = n("iR1w"),
ye = n("cvc5"),
Ee = n.n(ye),
xe = n("ML8+"),
Oe = n("G4pG");
function ke(e) {
const {
mode: t,
setMode: n,
searchRef: o,
cachedInputValue: i,
selectedExchange: l,
upperCaseEnabled: u
} = Object(f.ensureNotNull)(Object(r.useContext)(b.a)), d = Object(f.ensureNotNull)(l), p =
"symbolSearch" === t, m = Object(g.g)(d), {
country: v,
providerId: y,
flag: E
} = d;
return p ? a.a.createElement("div", {
className: c()(Oe.flagWrap, "apply-common-tooltip"),
title: Object(s.t)("Select source"),
onClick: function() {
o.current && (i.current = u ? o.current.value.toUpperCase() : o.current
.value);
n("exchange")
}
}, !!m && a.a.createElement(h.a, {
className: Oe.icon,
icon: k
}), a.a.createElement("div", {
className: Oe.title
}, m ? Object(s.t)("All sources") : d.name), a.a.createElement(xe.a, {
className: Oe.caret,
dropped: !1
})) : null
}
var Ne = n("2gjO");
const we = Object(g.c)();
function Se(e) {
const {
isSmallWidth: t,
selectedExchange: n
} = Object(f.ensureNotNull)(Object(r.useContext)(b.a)), o = n && we.length > 1 && !Object(g
.a)();
return a.a.createElement("div", {
className: c()(Ne.wrap, t && Ne.small)
}, a.a.createElement("div", {
className: Ne.item
}, a.a.createElement("div", {
className: Ne.text
}, t ? Object(s.t)("Symbol & description") : Object(s.t)("Symbol"))), a.a
.createElement("div", {
className: Ne.item
}, !t && a.a.createElement("div", {
className: Ne.text
}, Object(s.t)("Description")), o && a.a.createElement("div", {
className: Ne.exchange
}, a.a.createElement(ke, null))))
}
var Ce = n("Ialn"),
Te = n("h9B/");
function je(e) {
const {
onTouchMove: t,
listRef: n,
className: o,
listWrapRef: s,
virtualListKey: i,
items: l,
getItemSize: u,
hideFeed: d
} = e, {
mode: p,
isSmallWidth: m,
handleListWidth: h
} = Object(C.a)(b.a), [v, g] = Object(r.useState)(null), y = Object(r.useCallback)(e => {
const {
index: t,
style: n
} = e;
return a.a.createElement("div", {
style: n
}, l[t])
}, [l]), E = Object(r.useCallback)(e => Object(f.ensure)(l[e].key), [l]), x =
"watchlist" === p && null !== v;
return a.a.createElement(Ee.a, {
onMeasure: function(e) {
g(e.height), h(e.width)
}
}, a.a.createElement("div", {
ref: s,
className: c()(Te.wrap, x && Te.watchlist, d && Te.noFeed, o),
onTouchMove: t
}, a.a.createElement("div", {
className: c()(Te.scrollContainer, d && Te.noFeed)
}, x ? a.a.createElement(ge.b, {
key: i,
ref: n,
className: Te.listContainer,
width: "100%",
height: Object(f.ensureNotNull)(v),
itemCount: l.length,
itemSize: u,
children: y,
itemKey: E,
overscanCount: 20,
direction: Object(Ce.isRtl)() ? "rtl" : "ltr"
}) : a.a.createElement("div", {
className: c()(Te.listContainer, m && Te.multiLineItemsContainer)
}, a.a.createElement(Se, null), l))))
}
var Ie = n("zjoO"),
Re = n("mdyz");
function Me(e) {
const {
token: t,
state: n,
otherSymbolsCount: o,
onChangeSymbolTypeFilter: c,
onResetFilters: s,
onListTouchMove: i,
brokerTitle: l,
isBrokerChecked: u,
onBrokerCheckboxChange: d,
listRef: p,
listWrapRef: m
} = e, {
mode: f,
isMobile: h,
selectedExchange: v,
selectedSymbolType: g,
symbolTypes: y,
feedItems: E,
contentItem: x,
emptyState: O = _e
} = Object(C.a)(b.a), k = l && a.a.createElement(BrokerCheckbox, {
brokerTitle: l,
checked: u,
onCheckboxChange: d
}), N = "symbolSearch" === f && "good" === n, w = null != x ? x : Ie.a, S = Object(r
.useMemo)(() => E.map(e => a.a.createElement(w, {
...e,
searchToken: t
})), [E]);
return a.a.createElement(a.a.Fragment, null, "symbolSearch" === f && a.a.createElement(a.a
.Fragment, null, y.length > 0 && a.a.createElement(be, {
itemClassName: Re.symbolType,
items: y,
getItemTitle: e => e.name,
getItemKey: e => e.value,
checkItemIsActive: e => e.value === g,
onBubbleClick: c,
multiline: !h
}, k), !1), a.a.createElement(je, {
listRef: p,
listWrapRef: m,
onTouchMove: i,
items: S,
getItemSize: () => De,
hideFeed: !N
}), "loading" === n && a.a.createElement("div", {
className: Re.spinnerWrap
}, a.a.createElement(ve.a, null)), "symbolSearch" === f && a.a.createElement(a.a
.Fragment, null, !1, "empty" === n && a.a.createElement(O, null)))
}
function _e(e) {
const t = Object(S.a)({
watchedValue: T.watchedTheme
}) === j.a.Dark ? R : M;
return a.a.createElement(E, {
className: Re.noResultsDesktop
}, a.a.createElement(h.a, {
icon: t
}), a.a.createElement("div", {
className: Re.emptyText
}, Object(s.t)("No symbols match your criteria")))
}
const Le = Object(g.e)(),
De = 52;
function Ae(e) {
const {
mode: t,
setMode: n,
setSelectedIndex: o,
isMobile: i,
selectedExchange: u,
setSelectedExchange: p,
selectedSymbolType: m,
setSelectedSymbolType: f,
setRenderSymbolSearchList: h,
searchRef: y,
cachedInputValue: E,
setSearchSpreads: x,
showSpreadActions: O,
selectedItem: k,
onSearchFeedReady: N,
forceUpdate: w,
placeholder: S,
initialScreen: T,
footer: j,
searchInput: R,
upperCaseEnabled: M,
externalInput: _,
handleKeyDown: L
} = Object(C.a)(b.a), D = Object(r.useRef)(t);
D.current = t;
const A = Object(r.useRef)(new AbortController),
[z, P] = Object(r.useState)(0),
[B, Z] = Object(r.useState)("noop"),
V = Object(r.useRef)(0),
[F, G] = Object(r.useState)(E.current),
W = Object(r.useRef)(null),
X = Object(r.useRef)(null),
K = Object(r.useRef)({
selectedIndexValue: -1,
searchTokenValue: "",
searchSpreadsValue: !0
}),
H = Object(r.useRef)(null),
te = Object(r.useRef)(null),
{
broker: ne = null,
brokerId: re,
brokerTitle: ae,
isBrokerChecked: oe = !1,
setIsBrokerChecked: ce = (() => {}),
unhideSymbolSearchGroups: se = ""
} = {
brokerId: void 0,
brokerTitle: void 0
};
Object(r.useEffect)(() => {
(null == y ? void 0 : y.current) && G(y.current.value)
}, []), Object(r.useEffect)(() => {
const e = y.current;
if (e) return e.addEventListener("input", be), e.addEventListener("focus", Ee),
e.addEventListener("select", he), e.addEventListener("click", he), e
.addEventListener("keyup", xe), _ && L && e.addEventListener("keydown",
L), () => {
e && (e.removeEventListener("input", be), e.removeEventListener(
"focus", Ee), e.removeEventListener("select", he), e
.removeEventListener("click", he), e.removeEventListener(
"keyup", xe), _ && L && e.removeEventListener("keydown",
L))
}
}, [L]), Object(r.useEffect)(() => {
Boolean(T) && "" === F.trim() || (ge(F, m, null == u ? void 0 : u.value), W
.current && (W.current.scrollTop = 0))
}, [F, m, u, oe, T]), Object(r.useEffect)(() => {
if (!k || !y.current) return;
if (!d.enabled("show_spread_operators")) return y.current.value = k.symbol,
void w();
const e = U(k) ? k.exchange : k.parent.exchange,
t = {
name: k.symbol,
exchange: e,
prefix: k.prefix,
fullName: k.full_name
},
[n, r] = Object(l.d)(y.current, t, M);
y.current.value = n, y.current.setSelectionRange(r, r), w()
}, [k]);
const ie = Object(r.useCallback)(e => N ? N(e) : e, [N]),
ue = null != T ? T : "div",
de = Boolean(T) && "symbolSearch" !== t,
pe = null != R ? R : v.a,
me = Object(r.useMemo)(() => ({
listRef: X,
resetRecommends: ye,
updateRecommends: ge,
searchToken: F,
emptyTextClassName: Re.emptyText,
isBrokerChecked: oe,
symbolSearchState: B,
currentMode: D
}), [X, F, oe, B, D]);
return a.a.createElement(I.a.Provider, {
value: me
}, !(_ && "symbolSearch" === t) && a.a.createElement(pe, {
reference: y,
className: c()(Re.search, M && Re.upperCase),
placeholder: S || Object(s.t)("Search")
}, O && a.a.createElement(le, {
state: K,
update: ve
})), de ? a.a.createElement(ue, null) : a.a.createElement(Me, {
token: F,
state: B,
otherSymbolsCount: z,
onListTouchMove: function() {
var e;
null === (e = y.current) || void 0 === e || e.blur()
},
onChangeSymbolTypeFilter: function(e) {
const {
value: t
} = e;
f(t), o(-1)
},
onResetFilters: function() {
var e;
f(Object(g.b)()), Le && p(Le);
ce(!1), i || null === (e = y.current) || void 0 === e || e.focus()
},
brokerTitle: ae,
isBrokerChecked: oe,
onBrokerCheckboxChange: function(e) {
ce("on" !== e)
},
listRef: X,
listWrapRef: W
}), j);
function fe() {
if (!y.current) return;
const [e, t, n] = Object(l.b)(y.current, M);
V.current = t,
K.current = {
selectedIndexValue: -1,
searchSpreadsValue: Object(l.e)(n),
searchTokenValue: e
}, H.current || (H.current = setTimeout(ve, 0))
}
function he() {
if (!y.current) return;
const [, e] = Object(l.b)(y.current, M);
e !== V.current && fe()
}
function be() {
d.enabled("show_spread_operators") ? fe() : y.current && (K.current = {
selectedIndexValue: -1,
searchSpreadsValue: !1,
searchTokenValue: y.current.value
}, H.current || (H.current = setTimeout(ve, 0)))
}
function ve() {
const {
selectedIndexValue: e,
searchTokenValue: t,
searchSpreadsValue: n
} = K.current;
H.current = null, Object(Q.unstable_batchedUpdates)(() => {
x(n), o(e), G(M ? t.toUpperCase() : t)
})
}
async function ge(e, t, n) {
try {
"noop" === B ? Z("loading") : (Oe(), te.current = setTimeout(() => {
Z("loading")
}, 500)), ke();
const r = await async function(e, t, n, r) {
var a, o, c;
const s = d.enabled("show_spread_operators") ? Object(l.f)(t) :
null === (a = y.current) || void 0 === a ? void 0 : a.value;
let i;
if (oe && ne) {
const t = await Object(q.b)(e, ne.accountMetainfo());
i = t.prefix
}
const p = d.enabled("show_spread_operators") ? null !== (c =
null !== (o = Object(l.c)(t)) && void 0 !== o ? o : i) &&
void 0 !== c ? c : r : null == u ? void 0 : u.value,
m = {
serverHighlight: !1,
text: s,
exchange: p,
type: n,
lang: window.language || "",
brokerId: re,
onlyTradable: Boolean(re) && oe,
unhideSymbolSearchGroups: se,
signal: e
},
f = Object($.getSearchRequestDelay)();
void 0 !== f && await Object(q.a)(e, f);
return Y(m)
}(A.current.signal, e, t, n), a = ie(function(e, t = window
.ChartApiInstance.symbolsGrouping()) {
var n;
const r = {},
a = [];
for (let o = 0; o < e.length; ++o) {
const c = e[o];
if (c.prefix || Array.isArray(c.contracts)) return e;
const s = t[c.type];
if (void 0 === s) {
a.push(c);
continue
}
const i = s.exec(c.symbol);
if (i) {
const e = i[1];
let t;
r.hasOwnProperty(e) ? t = r[e] : (t = a.length, r[e] =
t, a.push({
type: c.type,
symbol: e,
exchange: c.exchange,
description: c.description,
full_name: c.exchange + ":" + e,
contracts: []
})), null === (n = a[t].contracts) || void 0 ===
n || n.push(c)
} else a.push(c)
}
return a
}(r));
if (!a.length) return Oe(), void Z("empty");
Oe(), h(a), Z("good")
} catch (e) {
Object(q.c)(e)
}
}
function ye() {
ke(), Z("empty"), G(""), x(!1), Oe()
}
function Ee() {
"watchlist" === D.current && (n("symbolSearch"), Object(J.trackEvent)("Watchlist",
"Mobile SS", "Go to SS page"))
}
function xe(e) {
switch (Object(ee.hashFromEvent)(e)) {
case 37:
case 39:
he()
}
}
function Oe() {
te.current && clearTimeout(te.current)
}
function ke() {
A.current.abort(), A.current = new AbortController
}
}
var ze = n("U0JK"),
Pe = n("hYF9");
function Be(e) {
const {
theme: t = Pe
} = e, {
setMode: n,
isMobile: r
} = Object(C.a)(b.a);
return a.a.createElement(h.a, {
className: c()(e.className, t.button, !r && t.desktop),
icon: ze,
onClick: function() {
n("symbolSearch")
}
})
}
var Ze = n("w3Pp"),
Ve = n("qC62"),
Fe = n("Vdly");
function Ge(e) {
const [t, n] = Object(r.useState)(() => {
const t = Fe.getValue("symboledit.exchangefilter", "");
return e.exchanges.find(e => e.value === t) || e.defaultExchange
});
return [t, Object(r.useCallback)(e => {
var t;
n(e), t = e, Fe.setValue("symboledit.exchangefilter", t.value)
}, [])]
}
function We(e) {
const [t, n] = Object(r.useState)(() => {
if (1 === e.types.length) return e.types[0].value;
const t = Fe.getValue("symboledit.filter", Object(g.b)());
return e.types.find(e => e.value === t) ? t : Object(g.b)()
});
return [t, Object(r.useCallback)(e => {
var t;
n(e), t = e, Fe.setValue("symboledit.filter", t)
}, [])]
}
var Xe = n("gla1"),
Ke = n("ozXl");
n.d(t, "a", (function() {
return Ue
}));
const Qe = Object(g.c)(),
qe = Object(g.e)(),
He = d.enabled("uppercase_instrument_names");
function Ue(e) {
var t;
const {
onClose: n,
initialMode: o,
defaultValue: c = "",
showSpreadActions: m,
selectSearchOnInit: f = !0,
onSearchComplete: h,
onSearchFeedReady: v,
dialogTitle: y = Object(s.t)("Symbol Search"),
placeholder: E,
fullscreen: x,
initialScreen: O,
wrapper: k,
dialog: N,
contentItem: w,
footer: S,
symbolTypes: C = Object(g.d)(),
searchInput: T,
emptyState: j,
autofocus: I,
dialogWidth: R,
onKeyDown: M,
exchangeScreen: _
} = e, L = void 0 !== e.input, [A, z] = Object(r.useState)(o), P = Object(r.useRef)(c), [B,
Z
] = Ge({
exchanges: Qe,
defaultExchange: qe
}), [V, F] = We({
types: C
}), [G, W] = Object(r.useState)([]), [X, K] = Object(r.useState)(!1), [Q, q] = Object(r
.useState)(-1), H = Object(r.useRef)(null !== (t = e.input) && void 0 !== t ? t :
null), [$, J] = Object(r.useState)(!1), te = Object(Xe.a)(), [ne, re] = Object(r
.useState)(new Set), {
broker: ae = null,
brokerId: oe,
unhideSymbolSearchGroups: ce = "",
displayBrokerSymbol: se = !1
} = {
brokerId: void 0
};
Object(r.useLayoutEffect)(() => {
var e;
!(null == H ? void 0 : H.current) || !L && Boolean(null === (e = H.current) ||
void 0 === e ? void 0 : e.value) || (L || "compare" === A || (H.current
.value = P.current), !I || L && "symbolSearch" !== A || H.current
.focus())
}, [A]), Object(r.useEffect)(() => {
(null == H ? void 0 : H.current) && f && I && H.current.select()
}, []);
const ie = Object(r.useMemo)(() => G.reduce((e, t) => {
const n = Je(t),
r = ne.has(n);
return e.push(t), r && t.contracts && e.push(...t.contracts.map(e => ({
...e,
parent: t
}))), e
}, []), [G, ne]),
le = Object(r.useRef)(null);
Object(r.useEffect)(() => {
var e; - 1 !== Q && (null === (e = le.current) || void 0 === e || e
.scrollIntoView({
block: "nearest"
}))
}, [Q, le]);
const ue = Object(r.useMemo)(() => ie.map((e, t) => {
var n, r, a, o;
if (U(e)) {
const a = Je(e),
o = e.contracts ? ne.has(a) : void 0,
c = t === Q;
return {
key: t,
id: a,
title: $e(e, se),
description: e.description,
isOffset: !1,
onClick: ve.bind(null, e),
providerId: e.provider_id,
country: null === (n = e.country) || void 0 === n ? void 0 : n
.toLocaleLowerCase(),
type: e.type,
exchangeName: e.exchange,
marketType: Object(Ze.marketType)(e.type, e.typespecs),
isEod: null === (r = e.params) || void 0 === r ? void 0 : r
.includes("eod"),
isExpanded: o,
onExpandClick: e.contracts ? ge.bind(null, a) : void 0,
fullSymbolName: Ve.a.fromSymbolSearchResult(e),
itemRef: c ? le : void 0,
isSelected: t === Q,
item: e
}
} {
const {
parent: n
} = e, r = Je(n), c = t === Q;
return {
key: t,
id: r + e.symbol,
dangerousTitleHTML: $e(e, se),
dangerousDescriptionHTML: `${n.description} (${e.description})`,
isOffset: !0,
isEod: null === (a = e.params) || void 0 === a ? void 0 : a
.includes("eod"),
onClick: ye.bind(null, e.parent, e),
providerId: n.provider_id,
country: null === (o = n.country) || void 0 === o ? void 0 : o
.toLowerCase(),
type: n.type,
exchangeName: n.exchange,
marketType: Object(Ze.marketType)(n.type, e.typespecs),
fullSymbolName: Ve.a.fromSymbolSearchResult(e.parent, e),
itemRef: c ? le : void 0,
isSelected: c,
item: e
}
}
}), [G, ne, A, Q, M]),
de = null != N ? N : tt,
pe = de !== tt && !L,
me = (e, t) => ({
mode: A,
setMode: z,
selectedExchange: B,
setSelectedExchange: Z,
selectedSymbolType: V,
setSelectedSymbolType: F,
selectedIndex: Q,
setSelectedIndex: q,
onClose: n,
setRenderSymbolSearchList: W,
searchRef: H,
cachedInputValue: P,
searchSpreads: X,
setSearchSpreads: K,
handleListWidth: Ee,
isSmallWidth: $,
feedItems: ue,
isMobile: e,
showSpreadActions: m,
selectSearchOnInit: f,
isTablet: t,
selectedItem: ie[Q],
onSearchFeedReady: v,
forceUpdate: te,
placeholder: E,
initialScreen: O,
toggleExpand: ge,
openedItems: ne,
onSubmit: ke,
onSearchComplete: h,
footer: S,
symbolTypes: C,
contentItem: w,
searchInput: T,
emptyState: j,
autofocus: I,
upperCaseEnabled: He,
externalInput: L,
handleKeyDown: pe ? void 0 : Oe
}),
fe = null != _ ? _ : D,
he = "exchange" === A ? {
title: Object(s.t)("Sources"),
dataName: "exchanges-search",
render: () => a.a.createElement(fe, {
exchanges: Qe
}),
additionalHeaderElement: a.a.createElement(Be, null),
additionalElementPos: "before"
} : {
title: y,
dataName: "symbol-search-items-dialog",
render: () => a.a.createElement(Ae, null),
additionalElementPos: "after"
},
be = null != k ? k : "div";
return a.a.createElement(be, null, a.a.createElement(u.a, {
rules: p.a
}, ({
TabletSmall: e,
TabletNormal: t
}) => a.a.createElement(b.a.Provider, {
value: me(e, t)
}, a.a.createElement(de, {
...he,
fullScreen: x,
onClose: n,
onClickOutside: n,
onKeyDown: pe ? void 0 : Oe,
isOpened: !0
}))));
function ve(e) {
e.contracts ? ge(Je(e)) : ye(e)
}
function ge(e) {
const t = new Set(ne);
t.has(e) ? t.delete(e) : t.add(e), re(t)
}
function ye(e, t) {
const r = t || e,
{
exchange: a
} = e;
if (d.enabled("show_spread_operators")) {
const e = {
name: r.symbol,
exchange: a,
prefix: r.prefix,
fullName: r.full_name
};
if (X) return xe(e), void te();
if (H.current && H.current.value.includes(",")) return void xe(e)
}
const o = [{
resolved: !0,
symbol: Ve.a.fromSymbolSearchResult(e, t),
result: r
}];
h(o), n()
}
function Ee(e) {
J("fixed" === R || e <= 640)
}
function xe(e) {
if (!H.current) return;
const [t, n] = Object(l.d)(H.current, e, He);
H.current.value = t, H.current.setSelectionRange(n, n), H.current.focus()
}
function Oe(e) {
switch (Object(ee.hashFromEvent)(e)) {
case 38:
if (e.preventDefault(), 0 === Q) return;
if (-1 === Q) return void q(0);
q(Q - 1);
break;
case 40:
if (e.preventDefault(), Q === ue.length - 1) return;
q(Q + 1);
break;
case 37: {
if (-1 === Q) return;
const t = ue[Q],
{
id: n,
isOffset: r,
onExpandClick: a
} = t;
!r && n && ne.has(n) && Boolean(a) && (e.preventDefault(), ge(n));
break
}
case 39: {
if (-1 === Q) return;
const t = ue[Q],
{
id: n,
isOffset: r,
onExpandClick: a
} = t;
!r && n && !ne.has(n) && Boolean(a) && (e.preventDefault(), ge(n));
break
}
case 13:
ke(!0);
break;
case 27:
e.preventDefault(), n()
}
null == M || M(e)
}
function ke(e) {
if (!H.current) return;
const t = H.current.value;
if (d.enabled("show_spread_operators") && X && t) {
if (t.includes(",")) {
const r = et(t);
if (r.some(e => !Ne(e))) return;
return h(r.map(Ye)), void(e && n())
}
if (!Ne(t)) return;
return h([{
symbol: He ? t.toUpperCase() : t,
resolved: !1
}]), void(e && n())
}
if (t.includes(",")) return h(et(t).map(Ye)), void(e && n());
if (-1 !== Q) {
ue[Q].onClick()
} else {
const r = He ? t.toUpperCase() : t;
if (r && "" !== r.trim()) {
const e = et(r);
if (void 0 !== oe && -1 === r.indexOf(":"))(function(e) {
let t = !1;
return Promise.all(e.map(e => -1 !== e.indexOf(":") || t ? Promise
.resolve({
symbol: e,
resolved: !1
}) : (t = !0, async function(e) {
var t;
null === (t = await (null == ae ? void 0 :
ae.accountMetainfo())) || void 0 ===
t || t.prefix;
const n = await Y({
strictMatch: !0,
serverHighlight: !1,
text: e,
lang: window.language || "",
brokerId: oe,
onlyTradable: !0,
unhideSymbolSearchGroups: ce,
exchange: void 0
});
if (0 !== n.length) {
const e = n[0],
{
contracts: t
} = e,
r = t && t.length > 0 ? t[0] :
void 0,
a = e.prefix || e.exchange,
o = r ? r.symbol : e.symbol;
if (a && o) return {
symbol: Ve.a
.fromSymbolSearchResult(e,
r),
resolved: !0,
result: e
}
}
return {
symbol: e,
resolved: !1
}
}(e))))
})(e).then(e => h(e));
else {
const t = e.map(Ye);
h(t)
}
}
e && n()
}
}
function Ne(e) {
const t = Object(i.b)(e),
n = Object(l.h)(t);
if (n.errors.length || n.warnings.length) return !1;
const r = ue[Q];
return !r || void 0 === r.isExpanded || (r.onClick(), !1)
}
}
function Ye(e) {
return {
symbol: He ? e.toUpperCase() : e,
resolved: !1
}
}
function $e(e, t) {
const {
broker_symbol: n,
symbol: r
} = e;
return `${r}${t&&n?` (${n})`:""}`
}
function Je(e) {
return e.symbol + e.exchange + e.description
}
function et(e) {
return e.split(",").map(e => e.trim()).filter(e => "" !== e)
}
function tt(e) {
const {
isMobile: t,
isTablet: n
} = Object(C.a)(b.a);
return a.a.createElement(m.a, {
...e,
className: c()(Ke.dialog, !t && (n ? Ke.tabletDialog : Ke.desktopDialog)),
backdrop: !0,
draggable: !1
})
}
},
vqb8: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return a
}));
var r = n("q1tI");
const a = e => {
const t = "watchedValue" in e ? e.watchedValue : void 0,
n = "defaultValue" in e ? e.defaultValue : e.watchedValue.value(),
[a, o] = Object(r.useState)(t ? t.value() : n);
return Object(r.useEffect)(() => {
if (t) {
o(t.value());
const e = e => o(e);
return t.subscribe(e), () => t.unsubscribe(e)
}
return () => {}
}, [t]), a
}
},
w3Pp: function(e, t, n) {
"use strict";
n.r(t), n.d(t, "marketType", (function() {
return i
}));
var r = n("YFKU");
n("HbRj");
const a = new Map,
o = {
context: "market_type"
},
c = {
cfd: Object(r.t)("cfd", o),
bitcoin: Object(r.t)("crypto", o),
crypto: Object(r.t)("crypto", o),
dr: Object(r.t)("dr", o),
forex: Object(r.t)("forex", o),
futures: Object(r.t)("futures", o),
index: Object(r.t)("index", o),
stock: Object(r.t)("stock", o)
},
s = new Set(["cfd", "spreadbet", "defi"]);
function i(e, t = []) {
const n = t.filter(e => s.has(e)),
i = `${e}_${n.sort().join("_")}`,
l = a.get(i);
if (void 0 !== l) return l;
const u = Boolean(t.length) ? Object(r.t)(e, o) + " " + n.join(" ") : c[e] || e;
return a.set(i, u), u
}
},
wy57: function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M2.5 14.5c1.68-1.26 3.7-2 6.5-2s4.91.74 6.5 2m-13-11c1.68 1.26 3.7 2 6.5 2s4.91-.74 6.5-2"/><circle stroke="currentColor" cx="9" cy="9" r="8.5"/><path stroke="currentColor" d="M13.5 9c0 2.42-.55 4.58-1.4 6.12-.87 1.56-1.98 2.38-3.1 2.38s-2.23-.82-3.1-2.38c-.85-1.54-1.4-3.7-1.4-6.12s.55-4.58 1.4-6.12C6.77 1.32 7.88.5 9 .5s2.23.82 3.1 2.38c.85 1.54 1.4 3.7 1.4 6.12z"/></svg>'
},
zjoO: function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return g
}));
var r = n("q1tI"),
a = n.n(r),
o = n("TSYQ"),
c = n.n(o),
s = n("Eyy1"),
i = n("Iivm"),
l = n("1LIl"),
u = n("H9Gg"),
d = n("VogD"),
p = n("FZIs"),
m = n("vqb8"),
f = n("oiZD"),
h = n("8+VR"),
b = n("+5L9"),
v = n("eIOu");
function g(e) {
const {
dangerousTitleHTML: t,
title: n,
dangerousDescriptionHTML: o,
description: g,
searchToken: y,
exchangeName: E,
marketType: x,
onClick: O,
isSelected: k,
isEod: N = !1,
isActive: w = !1,
isOffset: S = !1,
invalid: C = !1,
isHighlighted: T = !1,
hideExchange: j = !1,
onExpandClick: I,
isExpanded: R,
hoverComponent: M,
country: _,
providerId: L,
type: D,
flag: A,
itemRef: z,
onMouseOut: P,
onMouseOver: B,
className: Z,
actions: V,
reference: F
} = e, {
isSmallWidth: G,
isMobile: W
} = Object(s.ensureNotNull)(Object(r.useContext)(d.a)), X = Boolean(M), K = !C && !j && (
W || !X), Q = Object(m.a)({
watchedValue: f.watchedTheme
}) === p.a.Dark ? v.dark : v.light, q = M;
return a.a.createElement("div", {
className: c()(v.itemRow, G && v.multiLine, T && v.highlighted, T && Q, k && v
.selected, w && v.active, C && v.invalid, !W && h.mobiletouch && X && v
.hover, Z),
onClick: function(e, t) {
if (!e || t.defaultPrevented) return;
t.preventDefault(), e(t)
}.bind(null, O),
"data-role": e["data-role"] || "list-item",
"data-active": w,
"data-name": "symbol-search-dialog-content-item",
onMouseOut: P,
onMouseOver: B,
ref: F
}, a.a.createElement("div", {
ref: z,
className: c()(v.itemInfoCell, v.cell, S && v.offset)
}, a.a.createElement("div", {
className: v.expandHandleWrap,
onClick: function(e) {
if (!I || e.defaultPrevented) return;
e.preventDefault(), I(e)
}
}, I && a.a.createElement(i.a, {
className: c()(v.expandHandle, R && v.expanded),
icon: b
})), a.a.createElement("div", {
className: v.description
}, n && a.a.createElement("div", {
className: c()(v.symbolTitle, w && v.active, C && v.invalid, !
Boolean(o) && v.noDescription),
"data-name": "list-item-title"
}, "string" == typeof n && y ? a.a.createElement(l.a, {
className: v.highlightedText,
text: n,
queryString: y,
rules: Object(u.a)(y)
}) : n, N && a.a.createElement("span", {
className: v.dataMode
}, "E")), !n && t && a.a.createElement("div", {
className: c()(v.symbolTitle, w && v.active, C && v.invalid),
"data-name": "list-item-title"
}, a.a.createElement("span", {
dangerouslySetInnerHTML: {
__html: t
}
}), N && a.a.createElement("span", {
className: v.dataMode
}, "E")), G && H())), !G && H(), q ? a.a.createElement(q, {
...e,
className: v.cell,
onMouseOver: void 0,
onMouseOut: void 0
}) : null, K && a.a.createElement("div", {
className: c()(v.exchangeCell, v.cell)
}, a.a.createElement("div", {
className: c()(v.exchangeDescription)
}, a.a.createElement("div", {
className: c()(v.marketType, w && v.active)
}, x), a.a.createElement("div", {
className: c()(v.exchangeName, w && v.active)
}, E)), !1), a.a.createElement("div", {
className: c()(v.cell, Boolean(V) && v.actionsCell)
}, V));
function H() {
if (C) return null;
const e = c()(v.symbolDescription, !G && v.cell, w && v.active, !h.mobiletouch &&
"apply-overflow-tooltip apply-overflow-tooltip--allow-text");
return g ? a.a.createElement("div", {
className: e
}, y ? a.a.createElement(l.a, {
className: v.highlightedText,
text: g,
queryString: y,
rules: Object(u.a)(y)
}) : g) : o ? a.a.createElement("div", {
className: e,
dangerouslySetInnerHTML: {
__html: o
}
}) : null
}
}
}
}
]);