!function(y, X, R) { "use strict"; var E = "ht" , L = E + ".widget." , p = y[E] , Q = p.Color , i = p.widget , l = Q.widgetBorder , G = Q.widgetBackground , M = Q.widgetIconBorder , w = Q.transparent , f = Q.background , P = Q.highlight , $ = p.Default , q = $.def , B = $.widgetRowHeight , o = $.removeHTML , e = $.drawText , s = $.getTextSize , J = $.isLeftButton , j = $.getWindowInfo , V = $.getImage , S = $.drawCenterImage , C = $.preventDefault , Y = $.getLogicalPoint , Z = $.labelFont , W = $.labelColor , r = $.labelSelectColor , T = $.widgetIndent , g = $.startDragging , d = $.createElement , v = $.getClientPoint , N = $.scrollBarInteractiveSize , k = $.getInternal() , u = (k.createView, k.createDiv) , h = k.createCanvas , c = k.createImage , F = k.setCanvas , A = k.initContext , z = k.translateAndScale , O = k.isString , m = k.drawBorder , I = k.getImageWidth , U = k.getImageHeight , t = k.fillRect , x = k.layout , H = k.formatNumber , _ = k.addMethod , n = k.isH , b = $.isTouchable , K = Math.round , D = "readonly" , a = b ? "touchstart" : "mousedown" , oe = { x: 0, y: 0, width: 0, height: 0 } , vg = function(c) { var $ = c.touches[0]; return $ ? $ : c.changedTouches[0] } , ap = function(m, G) { return m.querySelector(G) } , jj = function(H, x) { var y = $.getLogicalPoint(x, H._canvas || H._view); return y.x >= 0 && y.y >= 0 && y.x <= H.getWidth() && y.y <= H.getHeight() }; _($, { textFieldFont: Z, textFieldColor: W, textFieldBorderColor: l, textAreaFont: Z, textAreaColor: W, textAreaBorderColor: l, radioButtonLabelFont: Z, radioButtonLabelColor: W, radioButtonPressBackground: l, checkBoxLabelFont: Z, checkBoxLabelColor: W, checkBoxPressBackground: l, buttonLabelFont: Z, buttonLabelColor: W, buttonLabelSelectColor: r, buttonBackground: G, buttonBorderColor: l, buttonSelectBackground: P, sliderBackground: Q.widgetIconBackground, sliderLeftBackground: Q.widgetIconHighlight, sliderThickness: 3, sliderPadding: 4, sliderButton: c(14, 14, { type: "circle", rect: [0, 0, 14, 14], borderWidth: 1, borderColor: M, gradient: "linear.northeast", gradientColor: Q.widgetIconGradient, background: G }), comboBoxMaxHeight: -1, comboBoxLabelFont: Z, comboBoxLabelColor: W, comboBoxLabelSelectColor: r, comboBoxShadowColor: w, comboBoxBorderColor: l, comboBoxBackground: f, comboBoxSelectBackground: P, comboBoxDropDownIcon: c(12, 16, { type: "shape", points: [1, 5, 6, 11, 11, 5], borderWidth: 2, borderColor: M }), imageBorderColor: R, imageBackground: R, formPaneLabelColor: W, formPaneLabelFont: Z, formPaneLabelAlign: "left", formPaneLabelVAlign: "middle", formPaneHPadding: 8, formPaneVPadding: 8, formPaneLabelHPadding: 2, formPaneLabelVPadding: 0, formPaneHGap: 6, formPaneVGap: 6 }, !0); var rk = function(W, J) { var U = this; (U._view = k.createView(null, U)).appendChild(U._element = d(W, J)), U.setHeight(B), U.setWidth(80), U.iv() }; q(rk, X, { ms_v: 1, ms_fire: 1, ms_tip: 1, ms_ac: ["toolTip"], onPropertyChanged: function() { this.iv() }, getToolTip: function() { return this._toolTip || this.getText() }, getElement: function() { return this._element }, getText: function() { return this._element.value }, setText: function(l) { this._element.value = l }, getValue: function() { return this.getText() }, setValue: function(S) { this.setText(S) }, getColor: function() { return this._element.style.color }, setColor: function(g) { this._element.style.color = g }, getBackground: function() { return this._element.style.background }, setBackground: function(g) { this._element.style.background = g }, getBorder: function() { return this._element.style.border }, setBorder: function(o) { this._element.style.border = o }, getFont: function() { return this._element.style.font }, setFont: function(A) { this._element.style.font = A }, isEditable: function() { return this._element.hasAttribute(D) }, setEditable: function(l) { var g = this._element; l ? g.removeAttribute(D) : g.setAttribute(D, !0) }, validateImpl: function() { var y = this; x(y._element, 0, 0, y.getWidth(), y.getHeight()) }, setFocus: function() { return $.setFocus(this._element), this.fireViewEvent("focus"), !0 } }), i.TextField = function() { i.TextField.superClass.constructor.call(this, "input", $.textFieldBorderColor), this.setColor($.textFieldLabelColor), this.setFont($.textFieldLabelFont) } , q(L + "TextField", rk, { getType: function() { return this._element.getAttribute("type") }, setType: function(x) { var U = this._element , J = $.numberListener; U.setAttribute("type", x), U.removeEventListener("keydown", J, !1), "number" === x && U.addEventListener("keydown", J, !1) } }), i.TextArea = function() { i.TextArea.superClass.constructor.call(this, "textarea", $.textAreaBorderColor), this.setColor($.textAreaLabelColor), this.setFont($.textAreaLabelFont) } , q(L + "TextArea", rk, {}), i.Button = function() { var F = this , A = F._view = k.createView(null, F); F.setHeight(B), F.setWidth(80), F._canvas = h(A), new Iq(F), F.iv() } , q(L + "Button", X, { ms_v: 1, ms_fire: 1, ms_tip: 1, ms_ac: ["groupId", "label", "icon", "iconColor", "orientation", "toolTip", "labelFont", "labelColor", "labelSelectColor", "borderColor", "background", "selectBackground", "togglable", "selected", "pressed", "clickable"], _clickable: !0, _togglable: !1, _selected: !1, _pressed: !1, _orientation: "h", _labelFont: $.buttonLabelFont, _labelColor: $.buttonLabelColor, _labelSelectColor: $.buttonLabelSelectColor, _borderColor: $.buttonBorderColor, _background: $.buttonBackground, _selectBackground: $.buttonSelectBackground, onClicked: function() {}, onSelectedChanged: function() {}, onValueChanged: function() {}, onPropertyChanged: function(h) { var X = this , L = X._view.parentNode; X.iv(), "selected" === h.property && (null != X.getGroupId() && L && L.handleGroupSelectedChanged && L.handleGroupSelectedChanged(X), X.onSelectedChanged(), X.onValueChanged(h.oldValue, h.newValue)) }, getToolTip: function() { return this._toolTip || this._label }, validateImpl: function() { var o = this , K = o._canvas , l = o.getWidth() , b = o.getHeight() , c = o._pressed || o._selected , h = c ? o._selectBackground : o._background; F(K, l, b); var v = A(K); z(v, 0, 0, 1), v.clearRect(0, 0, l, b), h && t(v, 0, 0, l, b, h), m(v, o._borderColor, 0, 0, l, b); var R = o._iconColor , i = V(o._icon, R) , T = I(i) , O = U(i) , q = o._label , E = o.getLabelFont() , W = c ? o._labelSelectColor : o._labelColor , M = null == q ? oe : s(E, q) , g = M.width , u = M.height; n(o) ? (T && S(v, i, l / 2 - (T + g) / 2 + T / 2, b / 2, o, o, R), g && e(v, q, E, W, l / 2 - (T + g) / 2 + T, 0, g, b, "center")) : (T && S(v, i, l / 2, b / 2 - (O + u) / 2 + O / 2, o, o, R), g && e(v, q, E, W, l / 2 - g / 2, b / 2 - (O + u) / 2 + O, g, u, "center")), v.restore() } }); var Iq = function(X) { this.button = X, this.addListeners() }; q(Iq, X, { ms_listener: 1, getView: function() { return this.button._view }, handle_mousedown: function(w) { J(w) && this.handle_touchstart(w) }, handleWindowMouseMove: function(s) { this.handleWindowTouchMove(s) }, handleWindowMouseUp: function(d) { this.handleWindowTouchEnd(d) }, handle_touchstart: function(o) { C(o), this.button.isClickable() && (g(this, o), this.button.setPressed(!0)) }, handleWindowTouchMove: function() {}, handleWindowTouchEnd: function(E) { var p = this , Z = p.button; Z.setPressed(!1), jj(Z, E) && (Z.isTogglable() && (null != Z.getGroupId() ? Z.setSelected(!0) : Z.setSelected(!Z.isSelected())), Z.onClicked(E)) } }); var up = function() { var K = this , s = K._view = k.createView(null, K); K.setHeight(B), K.setWidth(80), K._canvas = h(s), new Oj(K), K.iv() }; q(up, X, { ms_v: 1, ms_fire: 1, ms_tip: 1, ms_ac: ["label", "labelFont", "labelColor", "toolTip", "icon", "iconColor", "selected", "pressed", "pressBackground", "padding"], _padding: 0, _selected: !1, _pressed: !1, onClicked: function() {}, onSelectedChanged: function() {}, onValueChanged: function() {}, getValue: function() { return this.isSelected() }, setValue: function(H) { this.setSelected(H) }, onPropertyChanged: function(e) { var V = this; V.iv(), "selected" === e.property && (V.onSelectedChanged(), V.onValueChanged(e.oldvalue, e.newValue)) }, getToolTip: function() { return this._toolTip || this._label }, validateImpl: function() { var x = this , K = x._canvas , Q = x.getWidth() , B = x.getHeight() , k = x.getCheckIcon; F(K, Q, B); var Z = A(K); z(Z, 0, 0, 1), Z.clearRect(0, 0, Q, B); var s = x._padding , b = x._iconColor , $ = V(k ? x.getCheckIcon() : x.getRadioIcon()) , X = I($) , v = U($); x._pressed && (Z.fillStyle = x._pressBackground, Z.beginPath(), k ? Z.rect(s, B / 2 - v / 2, X, v) : Z.arc(s + X / 2, B / 2, Math.min(X, v) / 2, 0, 2 * Math.PI, !0), Z.fill()), S(Z, $, s + X / 2, B / 2, x, x), s += X + 1, $ = V(x.getIcon(), b), X = I($), S(Z, $, s + X / 2, B / 2, x, x, b), s += X, e(Z, x._label, x._labelFont, x._labelColor, s, 0, 0, B), Z.restore() } }); var Oj = function(h) { this.c = h, this.addListeners() }; q(Oj, X, { ms_listener: 1, getView: function() { return this.c._view }, handle_mousedown: function(q) { J(q) && this.handle_touchstart(q) }, handleWindowMouseMove: function(Q) { this.handleWindowTouchMove(Q) }, handleWindowMouseUp: function(a) { this.handleWindowTouchEnd(a) }, handle_touchstart: function(M) { C(M), g(this, M), this.c.setPressed(!0) }, handleWindowTouchMove: function() {}, handleWindowTouchEnd: function(C) { var u = this , K = u.c; K.setPressed(!1), jj(K, C) && (K.handleClick(C), K.onClicked(C)) } }), i.CheckBox = function() { i.CheckBox.superClass.constructor.call(this) } , q(L + "CheckBox", up, { _labelFont: $.checkBoxLabelFont, _labelColor: $.checkBoxLabelColor, _pressBackground: $.checkBoxPressBackground, getCheckIcon: function() { return this._selected ? "check" : "uncheck" }, handleClick: function() { this.setSelected(!this.isSelected()) } }), i.RadioButton = function() { i.RadioButton.superClass.constructor.call(this) } , q(L + "RadioButton", up, { ms_ac: ["groupId"], _pressBackground: $.radioButtonPressBackground, _labelFont: $.radioButtonLabelFont, _labelColor: $.radioButtonLabelColor, getRadioIcon: function() { return this._selected ? "radioOn" : "radioOff" }, onPropertyChanged: function(s) { var H = this , V = H._view.parentNode; H.iv(), null != H.getGroupId() && "selected" === s.property && (V && V.handleGroupSelectedChanged && V.handleGroupSelectedChanged(H), H.onSelectedChanged(), H.onValueChanged(s.oldValue, s.newValue)) }, handleClick: function() { this.setSelected(!0) } }), i.Slider = function() { var g = this , c = g._view = k.createView(null, g); g.setHeight(B), g.setWidth(80), g._canvas = h(c), new Mk(g), g.iv(), g.enableToolTip() } , q(L + "Slider", X, { ms_v: 1, ms_fire: 1, ms_tip: 1, ms_ac: ["value", "min", "max", "step", "button", "toolTip", "instant", "thickness", "padding", "background", "leftBackground"], _min: 0, _max: 100, _value: 50, _step: R, _instant: !0, _button: $.sliderButton, _thickness: $.sliderThickness, _padding: $.sliderPadding, _background: $.sliderBackground, _leftBackground: $.sliderLeftBackground, onPropertyChanged: function(M) { var z = this , n = M.property; ("min" === n || "max" === n || "step" === n) && z.setValue(z._value), z.iv() }, adjustValue: function(M) { null == M && (M = 0); var X = this , J = X._min , e = X._max , V = X._step; return J > M && (M = J), M > e && (M = e), V > 0 && (M = Math.floor((M - J) / V) * V + J), M }, getToolTip: function() { return this._toolTip || H(this._value) }, getValue: function() { return this._value }, setValue: function(s) { var T = this , H = T._value; s = T.adjustValue(s), H !== s && (T._value = s, T.fp("value", H, s), T.onValueChanged(H, s)) }, onValueChanged: function() {}, onEndValueChanged: function() {}, drawBackground: function(p, C, v, U, W) { t(p, C, v, U, W, this.getBackground()) }, drawLeftBackground: function(T, h, m, n, H) { var S = this.getLeftBackground(); S && t(T, h, m, n, H, S) }, drawButton: function(N, c, E, z, I) { S(N, V(this._button), c + z / 2, E + I / 2, this, this) }, getButtonWidth: function() { var s = V(this._button); return s ? s.width : 0 }, validateImpl: function() { var X = this , P = X._canvas , d = X._min , L = X._max , K = X._value , W = X._padding , o = X._thickness , q = X.getWidth() , Z = X.getHeight() , x = X.getButtonWidth() , v = (Z - o) / 2 , h = x / 2 + (K - d) / (L - d) * (q - 2 * W - x); F(P, q, Z); var J = A(P); z(J, 0, 0, 1), J.clearRect(0, 0, q, Z), X.drawBackground(J, W, v, q - 2 * W, o), X.drawLeftBackground(J, W, v, h, o), X.drawButton(J, W + h - x / 2, 0, x, Z), J.restore() } }); var Mk = function(f) { this.slider = f, this.addListeners() }; q(Mk, X, { ms_listener: 1, getView: function() { return this.slider._view }, handle_mousedown: function(K) { J(K) && this.handle_touchstart(K) }, handleWindowMouseMove: function(B) { this.handleWindowTouchMove(B) }, handleWindowMouseUp: function(E) { this.handleWindowTouchEnd(E) }, setValue: function(c) { var C = this.slider , p = C.getPadding() + C.getButtonWidth() / 2 , A = C.getMin(); C.setValue(A + (Y(c, C._canvas).x - p) / (C.getWidth() - 2 * p) * (C.getMax() - A)) }, handle_touchstart: function(P) { var L = this; C(P), L.setValue(P), g(L, P), $.showToolTip(P, L.slider.getToolTip(P)) }, handleWindowTouchMove: function(w) { this.setValue(w), $.showToolTip(w, this.slider.getToolTip(w)) }, handleWindowTouchEnd: function(q) { this.setValue(q), this.slider.onEndValueChanged(), $.hideToolTip() } }), i.ComboBox = function() { var Y = this , _ = Y._view = k.createView(null, Y) , N = Y._listView = new i.ListView , e = Y._canvas = h(_) , t = N._view , c = N.sm(); Y.setHeight(B), Y.setWidth(80), c.setSelectionMode("single"), N.drawRow = function(L, C, c, p, i, V, n) { Y.drawRow(L, C, c, p, i, V, n) } , _.style.display = "inline-block", k.setBorder(_, $.comboBoxBorderColor), t.style.boxShadow = "0px 0px 10px " + $.comboBoxShadowColor, null != $.baseZIndex && (t.style.zIndex = parseInt($.baseZIndex) + 1 + ""), t.addEventListener("mousemove", function(C) { c.ss(N.getDataAt(C)) }, !1), t.addEventListener("keydown", function(r) { if (k.isEnter(r)) { var H = c.ld(); H && (Y.setValue(H.value), Y.close()) } k.isEsc(r) && Y.close() }, !1), _.addEventListener("keydown", function(U) { (k.isDown(U) || k.isUp(U)) && Y.open() }, !1), N.onDataClicked = function(C) { Y.setValue(C.value), Y.close() } , _.addEventListener(a, function(w) { if (J(w)) { var O = w.target; (O === e || O === _) && (C(w), Y.toggle()) } }, !1), Y._handleWindowClick = function(R) { if (J(R)) { var X = R.target; X === Y._input || t.contains(X) || X === _ || Y.close() } } , Y.iv() } , $.def(L + "ComboBox", X, { ms_v: 1, ms_fire: 1, ms_tip: 1, ms_ac: ["dropDownIcon", "dropDownWidth", "toolTip", "strict", "indent", "background", "labelFont", "labelColor", "labelSelectColor", "maxHeight", "selectBackground", "value", "values", "labels", "icons", "editable"], _strict: !0, _editable: !1, _maxHeight: $.comboBoxMaxHeight, _labelFont: $.comboBoxLabelFont, _labelColor: $.comboBoxLabelColor, _labelSelectColor: $.comboBoxLabelSelectColor, _background: $.comboBoxBackground, _dropDownWidth: R, _dropDownIcon: $.comboBoxDropDownIcon, _selectBackground: $.comboBoxSelectBackground, _indent: T, getListView: function() { return this._listView }, onPropertyChanged: function(G) { this.iv(), "value" === G.property && this.onValueChanged(G.oldValue, G.newValue) }, onValueChanged: function() {}, getToolTip: function() { return this._toolTip || this.toLabel(this._value) }, getLabelColor: function(U, i) { return i ? this._labelSelectColor : this._labelColor }, isEqual: function(V, s) { return this._strict ? V === s : V == s }, toLabel: function(v) { var t = this , U = t._values , k = t._labels; if (k && U && k.length === U.length) for (var $ = 0; $ < U.length; $++) if (t.isEqual(U[$], v)) return k[$]; return null == v ? "" : v + "" }, toIcon: function(Q) { var S = this , v = S._values , W = S._icons; if (W && v && W.length === v.length) for (var Y = 0; Y < v.length; Y++) if (S.isEqual(v[Y], Q)) return W[Y]; return null }, drawValue: function(D, p, $, T, M, K, j) { var d = this , z = d._indent , r = d.toLabel(p) , P = V(d.toIcon(p)); P && (S(D, P, T + z / 2, M + j / 2), T += z), r && e(D, r, d.getLabelFont(p, $), d.getLabelColor(p, $), T, M, 0, j) }, drawRow: function(e, J, H, v, W, V, O) { var X = this , y = J.value , Z = X._indent; H && t(e, v, W, V, O, X._selectBackground), X.drawValue(e, y, H, v, W, V - Z, O) }, validateImpl: function() { var c = this , _ = c._canvas , m = c._indent , M = c.getWidth() , o = c.getHeight() , G = M - m , d = c._background || "" , ld = c._dropDownBackground || d; c._view.style.background = d, c._listView._view.style.background = ld, F(_, M, o); var X = A(_); z(X, 0, 0, 1), X.clearRect(0, 0, M, o), S(X, V(c._dropDownIcon), G + m / 2, o / 2, c, c), X.beginPath(), X.rect(0, 0, G, o), X.clip(), c.drawValue(X, c._value, !1, 0, 0, G, o), X.restore() }, isOpened: function() { return !!this._listView._view.parentNode }, open: function() { var G = this , S = G._listView , Q = S.dm() , h = G._values || [] , r = h.length; if (!G.isOpened()) { Q.clear(); for (var A = 0; r > A; A++) { var u = new p.Data , R = h[A]; u.setName(G.toLabel(R)), u.value = R, Q.add(u), G.isEqual(R, G._value) && Q.sm().ss(u) } var o = j() , W = o.left , V = o.top , n = o.height , F = G._view.getBoundingClientRect() , J = F.left + W , g = F.top + V , m = F.height , f = G.getIndent() , K = G.getWidth() , w = G.getHeight() , E = J + 1 , s = g + m , M = G.getDropDownWidth() || K , e = r * w; if (G._maxHeight > 0 && (e = Math.min(e, G._maxHeight)), S.setRowHeight(w), s + e > V + n && (g - V > V + n - g - m ? (e = Math.min(e, g - V), s = g - e) : e = V + n - s), G._editable) { var L = G._input = $.createElement("input", G.getSelectBackground(), G.getLabelFont(), G.toLabel(G._value)); document.body.appendChild(L), x(L, J, g + 1, K - f, w), L.addEventListener("keydown", function(W) { k.isEnter(W) ? G.setInputValue(L) : k.isEsc(W) && G.close() }, !1), G.onInputCreated(L) } document.body.appendChild(S.getView()), x(S, E, s, M, e), S.setFocus(), p.Default.callLater(function() { y.addEventListener(a, G._handleWindowClick, !1) }), G.onOpened && G.onOpened(), k.closePopup(G) } }, onInputCreated: function() {}, setInputValue: function(M) { var c = this , p = c._labels , u = c._values , j = M.value; if (p) for (var P = 0; P < p.length; P++) j === p[P] && (j = u[P]); "string" == typeof j && u && u.length && "number" == typeof u[0] && (j = parseFloat(j)), c.setValue(j), c.close() }, close: function() { var w = this; w.isOpened() && (o(w._listView._view), w._input && (o(w._input), delete w._input), y.removeEventListener(a, w._handleWindowClick, !1), w.onClosed && w.onClosed(), $.popup === w && delete $.popup), w.setFocus() }, toggle: function() { var H = this; H.isOpened() ? H.close() : H.open() } }), i.BaseDropDownTemplate = function(L) { this._master = L } , $.def(L + "BaseDropDownTemplate", X, { ms_ac: ["master"], getView: function() {}, onOpened: function() {}, onClosed: function() {}, getValue: function() {}, getWidth: function() {}, getHeight: function() {} }), i.MultiComboBox = function() { var f = this , l = f._view = k.createView(null, f) , N = f._canvas = h(l); f.setHeight(B), f.setWidth(80), l.style.display = "inline-block", k.setBorder(l, $.comboBoxBorderColor), l.addEventListener("keydown", function(w) { (k.isDown(w) || k.isUp(w)) && f.open() }, !1), l.addEventListener(a, function(u) { if (J(u)) { var o = u.target; (o === N || o === l) && (C(u), f.toggle()) } }, !1), f._handleWindowClick = function(H) { if (J(H)) { var I = H.target , G = f._dropDownComponentInstanceView; I === f._input || I === l || G && G.contains(I) || f.close() } } , f.iv() } , $.def(L + "MultiComboBox", X, { ms_v: 1, ms_fire: 1, ms_tip: 1, ms_ac: ["dropDownIcon", "toolTip", "background", "labelFont", "labelColor", "value", "editable", "indent", "dropDownComponent"], _editable: !1, _background: $.comboBoxBackground, _dropDownIcon: $.comboBoxDropDownIcon, _indent: T, _labelFont: $.comboBoxLabelFont, _labelColor: $.comboBoxLabelColor, onPropertyChanged: function(E) { var p = this; p.iv(), "value" === E.property && p.onValueChanged(E.oldValue, E.newValue) }, onValueChanged: function() {}, getDropDownComponentInstance: function() { return this._dropDownComponentInstance }, getToolTip: function() { return this._toolTip }, validateImpl: function() { var u = this , c = u._canvas , t = u._indent , g = u.getWidth() , E = u.getHeight() , Q = g - t , G = u._background || ""; u._view.style.background = G, F(c, g, E); var v = A(c); z(v, 0, 0, 1), v.clearRect(0, 0, g, E), S(v, V(u._dropDownIcon), Q + t / 2, E / 2, u, u), v.beginPath(), v.rect(0, 0, Q, E), v.clip(), this.drawValue(v, 0, 0, Q, E), u._input && u._input.value !== u._value && (u._input.value = null == u._value ? "" : u._value), v.restore() }, drawValue: function(J, i, I, M, m) { e(J, this._value, this.getLabelFont(), this.getLabelColor(), i + 1, I, 0, m) }, isOpened: function() { var w = this , j = w._dropDownComponentInstanceView; return !!j }, open: function() { var _ = this; if (!_.isOpened()) { var N = $.getClass(_._dropDownComponent) , u = _._dropDownComponentInstance = new N(_) , M = _._dropDownComponentInstanceView = u.getView() , F = j() , d = F.left , n = F.top , T = F.width , G = F.height , W = _._view.getBoundingClientRect() , m = W.left + d , O = W.top + n , i = (W.width, W.height) , g = _.getIndent() , Q = _.getWidth() , o = _.getHeight() , R = m , s = O + i , D = u.getWidth() || Q , v = u.getHeight(); if (s + v > n + G && O - n > n + G - O - i && (s = O - v), R + D > d + T && (R -= R + D - d - T), _._editable) { var b = _._input = $.createElement("input", $.comboBoxSelectBackground, _.getLabelFont(), _._value); document.body.appendChild(b), x(b, m, O + 1, Q - g, o), b.addEventListener("keydown", function(E) { k.isEnter(E) ? (_.setValue(b.value), _.close(!0)) : k.isEsc(E) && _.close(!0) }, !1), _.onInputCreated(b) } M.style.boxShadow = "0px 0px 10px " + $.toolTipShadowColor, M.style.position = "absolute", null != $.baseZIndex && (M.style.zIndex = parseInt($.baseZIndex) + 1 + ""), document.body.appendChild(M), M.focus(), x(u, R, s, D, v), u.onOpened && u.onOpened(_._value), y.addEventListener(a, _._handleWindowClick, !1), _.onOpened && _.onOpened(), k.closePopup(_) } }, onInputCreated: function() {}, close: function(I) { var v = this; if (v.isOpened()) { I || v.setValue(v._dropDownComponentInstance.getValue()); var L = v._dropDownComponentInstance , e = v._dropDownComponentInstanceView; L.onClosed && L.onClosed(), o(e), delete v._dropDownComponentInstanceView, delete v._dropDownComponentInstance, v._input && (o(v._input), delete v._input), y.removeEventListener(a, v._handleWindowClick, !1), v.onClosed && v.onClosed(), $.popup === v && delete $.popup } v.setFocus() }, toggle: function() { var J = this; J.isOpened() ? J.close() : J.open() } }), i.Image = function() { var w = this , c = w._view = k.createView(null, w); c.onmousedown = C, w.setHeight(B), w.setWidth(80), w._canvas = h(c), new bp(w), w.iv() } , q(L + "Image", X, { ms_v: 1, ms_fire: 1, ms_tip: 1, ms_ac: ["icon", "iconColor", "stretch", "toolTip", "borderColor", "background"], _borderColor: $.imageBorderColor, _background: $.imageBackground, _stretch: "centerUniform", onClicked: function() {}, onPropertyChanged: function() { this.iv() }, validateImpl: function() { var a = this , I = a._canvas , X = a.getWidth() , D = a.getHeight() , R = a._iconColor , u = V(a._icon, R) , J = a._background; F(I, X, D); var W = A(I); z(W, 0, 0, 1), W.clearRect(0, 0, X, D), J && t(W, 0, 0, X, D, J), this.drawImage(W, u, 0, 0, X, D, R), m(W, a._borderColor, 0, 0, X, D), W.restore() }, drawImage: function(U, A, z, B, Z, R, m) { A && $.drawStretchImage(U, A, this._stretch, z, B, Z, R, null, this, m) } }); var bp = function(I) { this.image = I, this.addListeners() }; q(bp, X, { ms_listener: 1, getView: function() { return this.image._view }, handle_mousedown: function(l) { J(l) && this.handle_touchstart(l) }, handleWindowMouseMove: function(G) { this.handleWindowTouchMove(G) }, handleWindowMouseUp: function(s) { this.handleWindowTouchEnd(s) }, handle_touchstart: function(f) { C(f), g(this, f) }, handleWindowTouchMove: function() {}, handleWindowTouchEnd: function(p) { var N = this , Y = N.image; jj(Y, p) && Y.onClicked(p) } }); var Sn = "data:image/png;base64,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" , Up = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAEACAIAAABdw+MhAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALBJREFUeNrs2sEJgDAQRNGJBPuvV5R4FAuYnF4aeGRv+9mx0n0zOQEAAAAAAAAAAAAAAABsAsbK0/3Bk6MLXO1WAQAAAAAAAAAAAAAAAOBLCUn3bGCWWwgAAAAAAAAAAAAAAACA36Z/rzKw7vKIcgEAAAAAAAAAAAAAAADYBIzyzUBmuYUAAAAAAAAAAAAAAAAA2AmM8s1AZrmFAAAAAAAAAAAAAAAAAPht+uWU8AowAGyEi9doBGciAAAAAElFTkSuQmCC" , Pf = "data:image/png;base64,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" , Qp = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA6SURBVChTY/iPCk6DwRkYoKv0sWPHjiIBBohyCADKQVXBAIr0kSNHoMIwwAC1BAyApkGFYYAS6f//AVzgDAPz1XkAAAAAAElFTkSuQmCC" , $q = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAACXBIWXMAAAsTAAALEwEAmpwYAAABNmlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarY6xSsNQFEDPi6LiUCsEcXB4kygotupgxqQtRRCs1SHJ1qShSmkSXl7VfoSjWwcXd7/AyVFwUPwC/0Bx6uAQIYODCJ7p3MPlcsGo2HWnYZRhEGvVbjrS9Xw5+8QMUwDQCbPUbrUOAOIkjvjB5ysC4HnTrjsN/sZ8mCoNTIDtbpSFICpA/0KnGsQYMIN+qkHcAaY6addAPAClXu4vQCnI/Q0oKdfzQXwAZs/1fDDmADPIfQUwdXSpAWpJOlJnvVMtq5ZlSbubBJE8HmU6GmRyPw4TlSaqo6MukP8HwGK+2G46cq1qWXvr/DOu58vc3o8QgFh6LFpBOFTn3yqMnd/n4sZ4GQ5vYXpStN0ruNmAheuirVahvAX34y/Axk/96FpPYgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6AAAUggAARVYAAA6lwAAF2/XWh+QAAAANUlEQVR42myNsQ0AMAzC8P9Hu0sjpU3YkLFADWBmIInqQsgDAar8kCY6zDtYzfUzte5ROQMAeFAiAMRBE+oAAAAASUVORK5CYII="; i.ColorPicker = function() { var v = this; i.ColorPicker.superClass.constructor.call(v), v.setEditable(!0), v.setDropDownComponent(i.ColorPickerTemp) } , q(L + "ColorPicker", i.MultiComboBox, { ms_ac: ["instant", "clearButtonVisible"], _clearButtonVisible: !0, setValue: function(M) { var m = this; if (M !== R) { var v = m._value; m._value = M, m.fp("value", v, M) } }, drawValue: function($, r, S, K, W) { this._value && ($.beginPath(), $.rect(r + 2, S + 2, 20, W - 4), $.fillStyle = this._value, $.fill()), e($, this._value, this.getLabelFont(), this.getLabelColor(), r + 23, S, 0, W) } }), i.ColorPickerTemp = function(J) { var y = this , _ = "px" , x = y._view = k.createView(null, y) , P = y.$10o = document.createElement("div") , t = y.$11o = u() , a = y.$12o = u() , z = P.style; y._h = 360, y._s = 100, y._v = 100, x.className = "colorPickerPopup", x.style.position = "absolute", x.style.background = "white", i.ColorPickerTemp.superClass.constructor.call(y, J); var g = '