/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { DomainChart } from "./DomainChart";
import { HorizontalAlignment_$type } from "igniteui-react-core/ES2015/HorizontalAlignment";
import { VerticalAlignment_$type } from "igniteui-react-core/ES2015/VerticalAlignment";
import { Visibility_$type } from "igniteui-react-core/ES2015/Visibility";
import { AxisLabelsLocation_$type } from "./AxisLabelsLocation";
import { fromEnum, enumGetBox, markType } from "igniteui-react-core/ES2015/type";
import { AxisLabelSettings } from "./AxisLabelSettings";
import { TitleSettings } from "./TitleSettings";
import { ScalerParams } from "./ScalerParams";
export class XYChart extends DomainChart {
    constructor() {
        super();
        this.gm = null;
        this.gn = null;
        this.gz = 0;
        this.g1 = 5;
        this.g0 = 0;
        this.gy = 5;
        this.hg = 5;
        this.hi = 0;
        this.hh = 5;
        this.hf = 0;
        this.lw = null;
        this.l3 = null;
        this.ha = 0;
        this.hr = 0;
        this.g9 = NaN;
        this.hq = NaN;
        this.hc = NaN;
        this.ht = NaN;
        this.hb = NaN;
        this.hs = NaN;
        this.g8 = NaN;
        this.hp = NaN;
        this.l2 = null;
        this.l9 = null;
        this.i2 = null;
        this.i5 = null;
        this.i4 = null;
        this.i7 = null;
        this.iy = null;
        this.iz = null;
        this.lx = null;
        this.l4 = null;
        this.g2 = 1;
        this.hj = 1;
        this.g3 = 1;
        this.hk = 0;
        this.lz = null;
        this.l6 = null;
        this.l0 = null;
        this.l7 = null;
        this.g4 = 1;
        this.hl = 1;
        this.g5 = 5;
        this.hm = 0;
        this.l1 = null;
        this.l8 = null;
        this.g6 = 2;
        this.hn = 2;
        this.i3 = null;
        this.i6 = null;
        this.ly = null;
        this.l5 = null;
        this.gx = 0;
        this.he = 0;
        this.gw = NaN;
        this.hd = NaN;
        this.g7 = 0;
        this.ho = -90;
        this.gs = false;
        this.gt = false;
        this.lr = 1;
        this.mq = 1;
        this.lq = 1;
        this.ls = 2;
        this.mo = 0;
        this.mp = 1;
        this.mu = 0;
        this.mv = 0;
        this.gq = 2;
    }
    provideContainer(a) {
        if (a != null) {
            let b = this.gk();
            let c = this.gl();
            if (b != null) {
                b.provideRenderer(a);
            }
            if (c != null) {
                c.provideRenderer(a);
            }
        }
        super.provideContainer(a);
    }
    e1() {
        super.e1();
        let a = this.gk();
        let b = this.gl();
        if (a != null && a.aw != null) {
            this.ma = a.aw.textColor;
        }
        if (b != null && b.aw != null) {
            this.mh = b.aw.textColor;
        }
    }
    fk(a, b, c) {
        super.fk(a, b, c);
        switch (a) {
            case "XAxisLabelLeftMargin":
                this.lk((d) => d.leftMargin = this.h1);
                break;
            case "XAxisLabelTopMargin":
                this.lk((d) => d.topMargin = this.h3);
                break;
            case "XAxisLabelRightMargin":
                this.lk((d) => d.rightMargin = this.h2);
                break;
            case "XAxisLabelBottomMargin":
                this.lk((d) => d.bottomMargin = this.h0);
                break;
            case "YAxisLabelLeftMargin":
                this.lo((d) => d.leftMargin = this.ij);
                break;
            case "YAxisLabelTopMargin":
                this.lo((d) => d.topMargin = this.il);
                break;
            case "YAxisLabelRightMargin":
                this.lo((d) => d.rightMargin = this.ik);
                break;
            case "YAxisLabelBottomMargin":
                this.lo((d) => d.bottomMargin = this.ii);
                break;
            case "XAxisLabelTextColor":
                this.lk((d) => d.textColor = this.ma);
                break;
            case "YAxisLabelTextColor":
                this.lo((d) => d.textColor = this.mh);
                break;
            case "XAxisTitleMargin":
                this.ll((d) => d.margin = this.ic);
                break;
            case "YAxisTitleMargin":
                this.lp((d) => d.margin = this.iv);
                break;
            case "XAxisTitleLeftMargin":
                this.ll((d) => d.leftMargin = this.ib);
                break;
            case "YAxisTitleLeftMargin":
                this.lp((d) => d.leftMargin = this.iu);
                break;
            case "XAxisTitleTopMargin":
                this.ll((d) => d.topMargin = this.ie);
                break;
            case "YAxisTitleTopMargin":
                this.lp((d) => d.topMargin = this.ix);
                break;
            case "XAxisTitleRightMargin":
                this.ll((d) => d.rightMargin = this.id);
                break;
            case "YAxisTitleRightMargin":
                this.lp((d) => d.rightMargin = this.iw);
                break;
            case "XAxisTitleBottomMargin":
                this.ll((d) => d.bottomMargin = this.ia);
                break;
            case "YAxisTitleBottomMargin":
                this.lp((d) => d.bottomMargin = this.it);
                break;
            case "XAxisTitleTextColor":
                this.ll((d) => d.textColor = this.mg);
                break;
            case "YAxisTitleTextColor":
                this.lp((d) => d.textColor = this.mn);
                break;
            case "XAxisFormatLabel":
                this.li((d) => d.ar = this.go);
                break;
            case "YAxisFormatLabel":
                this.lm((d) => d.ar = this.gp);
                break;
        }
    }
    get go() {
        return this.gm;
    }
    set go(a) {
        let b = this.go;
        if (a != b) {
            this.gm = a;
            this.fj("XAxisFormatLabel", b, this.go);
        }
    }
    get gp() {
        return this.gn;
    }
    set gp(a) {
        let b = this.gp;
        if (a != b) {
            this.gn = a;
            this.fj("YAxisFormatLabel", b, this.gp);
        }
    }
    get h1() {
        return this.gz;
    }
    set h1(a) {
        let b = this.h1;
        if (a != b) {
            this.gz = a;
            this.fj("XAxisLabelLeftMargin", b, this.h1);
        }
    }
    get h3() {
        return this.g1;
    }
    set h3(a) {
        let b = this.h3;
        if (a != b) {
            this.g1 = a;
            this.fj("XAxisLabelTopMargin", b, this.h3);
        }
    }
    get h2() {
        return this.g0;
    }
    set h2(a) {
        let b = this.h2;
        if (a != b) {
            this.g0 = a;
            this.fj("XAxisLabelRightMargin", b, this.h2);
        }
    }
    get h0() {
        return this.gy;
    }
    set h0(a) {
        let b = this.h0;
        if (a != b) {
            this.gy = a;
            this.fj("XAxisLabelBottomMargin", b, this.h0);
        }
    }
    get ij() {
        return this.hg;
    }
    set ij(a) {
        let b = this.ij;
        if (a != b) {
            this.hg = a;
            this.fj("YAxisLabelLeftMargin", b, this.ij);
        }
    }
    get il() {
        return this.hi;
    }
    set il(a) {
        let b = this.il;
        if (a != b) {
            this.hi = a;
            this.fj("YAxisLabelTopMargin", b, this.il);
        }
    }
    get ik() {
        return this.hh;
    }
    set ik(a) {
        let b = this.ik;
        if (a != b) {
            this.hh = a;
            this.fj("YAxisLabelRightMargin", b, this.ik);
        }
    }
    get ii() {
        return this.hf;
    }
    set ii(a) {
        let b = this.ii;
        if (a != b) {
            this.hf = a;
            this.fj("YAxisLabelBottomMargin", b, this.ii);
        }
    }
    get ma() {
        return this.lw;
    }
    set ma(a) {
        let b = this.ma;
        if (a != b) {
            this.lw = a;
            this.fj("XAxisLabelTextColor", b, this.ma);
        }
    }
    get mh() {
        return this.l3;
    }
    set mh(a) {
        let b = this.mh;
        if (a != b) {
            this.l3 = a;
            this.fj("YAxisLabelTextColor", b, this.mh);
        }
    }
    get ic() {
        return this.ha;
    }
    set ic(a) {
        let b = this.ic;
        if (a != b) {
            this.ha = a;
            this.fj("XAxisTitleMargin", b, this.ic);
        }
    }
    get iv() {
        return this.hr;
    }
    set iv(a) {
        let b = this.iv;
        if (a != b) {
            this.hr = a;
            this.fj("YAxisTitleMargin", b, this.iv);
        }
    }
    get ib() {
        return this.g9;
    }
    set ib(a) {
        let b = this.ib;
        if (a != b) {
            this.g9 = a;
            this.fj("XAxisTitleLeftMargin", b, this.ib);
        }
    }
    get iu() {
        return this.hq;
    }
    set iu(a) {
        let b = this.iu;
        if (a != b) {
            this.hq = a;
            this.fj("YAxisTitleLeftMargin", b, this.iu);
        }
    }
    get ie() {
        return this.hc;
    }
    set ie(a) {
        let b = this.ie;
        if (a != b) {
            this.hc = a;
            this.fj("XAxisTitleTopMargin", b, this.ie);
        }
    }
    get ix() {
        return this.ht;
    }
    set ix(a) {
        let b = this.ix;
        if (a != b) {
            this.ht = a;
            this.fj("YAxisTitleTopMargin", b, this.ix);
        }
    }
    get id() {
        return this.hb;
    }
    set id(a) {
        let b = this.id;
        if (a != b) {
            this.hb = a;
            this.fj("XAxisTitleRightMargin", b, this.id);
        }
    }
    get iw() {
        return this.hs;
    }
    set iw(a) {
        let b = this.iw;
        if (a != b) {
            this.hs = a;
            this.fj("YAxisTitleRightMargin", b, this.iw);
        }
    }
    get ia() {
        return this.g8;
    }
    set ia(a) {
        let b = this.ia;
        if (a != b) {
            this.g8 = a;
            this.fj("XAxisTitleBottomMargin", b, this.ia);
        }
    }
    get it() {
        return this.hp;
    }
    set it(a) {
        let b = this.it;
        if (a != b) {
            this.hp = a;
            this.fj("YAxisTitleBottomMargin", b, this.it);
        }
    }
    get mg() {
        return this.l2;
    }
    set mg(a) {
        let b = this.mg;
        if (a != b) {
            this.l2 = a;
            this.fj("XAxisTitleTextColor", b, this.mg);
        }
    }
    get mn() {
        return this.l9;
    }
    set mn(a) {
        let b = this.mn;
        if (a != b) {
            this.l9 = a;
            this.fj("YAxisTitleTextColor", b, this.mn);
        }
    }
    fl(a, b, c) {
        super.fl(a, b, c);
        switch (a) {
            case "XAxisLabelTextStyle":
                this.lk((d) => d.textStyle = this.jj);
                break;
            case "YAxisLabelTextStyle":
                this.lo((d) => d.textStyle = this.kl);
                break;
            case "XAxisTitleTextStyle":
                this.ll((d) => d.textStyle = this.j7);
                break;
            case "YAxisTitleTextStyle":
                this.lp((d) => d.textStyle = this.k9);
                break;
        }
    }
    get jj() {
        return this.i2;
    }
    set jj(a) {
        let b = this.jj;
        if (a != b) {
            this.i2 = a;
            this.fj("XAxisLabelTextStyle", b, this.jj);
        }
    }
    get kl() {
        return this.i5;
    }
    set kl(a) {
        let b = this.kl;
        if (a != b) {
            this.i5 = a;
            this.fj("YAxisLabelTextStyle", b, this.kl);
        }
    }
    get j7() {
        return this.i4;
    }
    set j7(a) {
        let b = this.j7;
        if (a != b) {
            this.i4 = a;
            this.fj("XAxisTitleTextStyle", b, this.j7);
        }
    }
    get k9() {
        return this.i7;
    }
    set k9(a) {
        let b = this.k9;
        if (a != b) {
            this.i7 = a;
            this.fj("YAxisTitleTextStyle", b, this.k9);
        }
    }
    lf(a) {
        this.lc(a, (b) => b.leftMargin = this.h1);
        this.lc(a, (b) => b.topMargin = this.h3);
        this.lc(a, (b) => b.rightMargin = this.h2);
        this.lc(a, (b) => b.bottomMargin = this.h0);
        this.lc(a, (b) => b.textColor = this.ma);
        this.ld(a, (b) => b.textColor = this.mg);
        this.ld(a, (b) => b.leftMargin = this.ib);
        this.ld(a, (b) => b.topMargin = this.ie);
        this.ld(a, (b) => b.rightMargin = this.id);
        this.ld(a, (b) => b.bottomMargin = this.ia);
        this.lc(a, (b) => b.textStyle = this.jj);
        this.ld(a, (b) => b.textStyle = this.j7);
    }
    lh(a) {
        this.lc(a, (b) => b.leftMargin = this.ij);
        this.lc(a, (b) => b.topMargin = this.il);
        this.lc(a, (b) => b.rightMargin = this.ik);
        this.lc(a, (b) => b.bottomMargin = this.ii);
        this.lc(a, (b) => b.textColor = this.mh);
        this.ld(a, (b) => b.textColor = this.mn);
        this.ld(a, (b) => b.leftMargin = this.iu);
        this.ld(a, (b) => b.topMargin = this.ix);
        this.ld(a, (b) => b.rightMargin = this.iw);
        this.ld(a, (b) => b.bottomMargin = this.it);
        this.lc(a, (b) => b.textStyle = this.kl);
        this.ld(a, (b) => b.textStyle = this.k9);
    }
    fy(a) {
        let b = this.r(a);
        let c = this.ag(a, b);
        if (c == null) {
            return;
        }
        c.itemsSource = a.data;
        c.name = this.c5(a);
        c.fo = this.c6(a, b);
        this.dataChart.series.add(c);
    }
    li(a) {
        this.lj(a, null);
    }
    lj(a, b) {
        a(this.gk());
    }
    ln(a, b) {
        a(this.gl());
    }
    lm(a) {
        this.ln(a, true);
    }
    ll(a) {
        this.ld(this.gk(), a);
    }
    lp(a) {
        this.ld(this.gl(), a);
    }
    lo(a) {
        this.lc(this.gl(), a);
    }
    lk(a) {
        this.lc(this.gk(), a);
    }
    hu(a) {
        return this.gk().dt(a, new ScalerParams(1, this.gj, this.gi, this.gk().b8));
    }
    hw(a) {
        return this.gk().dw(a, new ScalerParams(1, this.gj, this.gi, this.gk().b8));
    }
    hv(a) {
        return this.gl().dt(a, new ScalerParams(1, this.gj, this.gi, this.gl().b8));
    }
    hx(a) {
        return this.gl().dw(a, new ScalerParams(1, this.gj, this.gi, this.gl().b8));
    }
    fw(a) {
        if (a == null) {
            return;
        }
        if (a.axes != null) {
            let b = this.gk();
            let c = this.gl();
            if (a.axes.contains(b)) {
                a.axes.remove(b);
            }
            if (a.axes.contains(c)) {
                a.axes.remove(c);
            }
        }
    }
    static i8(a, b) {
        for (let c of fromEnum(b)) {
            let d = c.findMatchingHint(16);
            if (d != null) {
                let e = d.path;
                return e;
            }
        }
        return null;
    }
    ew(a) {
        super.ew(a);
        if (a == this.dataChart) {
            this.dataChart.axes.add(this.gk());
            this.dataChart.axes.add(this.gl());
        }
    }
    e2(a, b) {
        super.e2(a, b);
    }
    le(a) {
        if (a != null && this.cm != null && a.eo == null) {
            a.provideRenderer(this.cm);
        }
        a.ib = this.mb;
        a.d0 = this.h4;
        a.ic = this.mc;
        a.d3 = this.h5;
        a.ie = this.me;
        a.ek = this.h6;
        a.id = this.md;
        a.el = this.h7;
        a.ig = this.mf;
        a.em = this.h8;
        a.cn = true;
        let b = a == this.gk();
        if (b) {
            a.f0 = this.jy;
        }
        this.lc(a, (c) => c.angle = this.hz);
        this.lc(a, (c) => {
            if (c.extent != this.hy) {
                c.extent = this.hy;
            }
        });
        this.lc(a, (c) => c.horizontalAlignment = this.lt);
        this.lc(a, (c) => c.verticalAlignment = this.mr);
        this.lc(a, (c) => c.visibility = this.mw);
        this.ld(a, (c) => c.horizontalAlignment = this.lu);
        this.ld(a, (c) => c.angle = this.h9);
        this.lf(a);
    }
    lg(a) {
        if (a == null) {
            return;
        }
        if (this.cm != null && a.eo == null) {
            a.provideRenderer(this.cm);
        }
        this.lc(a, (b) => b.angle = this.ih);
        this.lc(a, (b) => {
            if (b.extent != this.ig) {
                b.extent = this.ig;
            }
        });
        this.lc(a, (b) => b.horizontalAlignment = this.lv);
        this.lc(a, (b) => b.verticalAlignment = this.ms);
        this.lc(a, (b) => b.visibility = this.mx);
        this.lc(a, (b) => b.location = this.gr);
        this.ld(a, (b) => b.verticalAlignment = this.mt);
        this.ld(a, (b) => b.angle = this.is);
        a.ib = this.mi;
        a.d0 = this.im;
        a.ic = this.mj;
        a.d3 = this.io;
        a.ie = this.ml;
        a.ek = this.ip;
        a.id = this.mk;
        a.el = this.iq;
        a.ig = this.mm;
        a.em = this.ir;
        let b = a == this.gl();
        if (b) {
            a.f0 = this.k0;
        }
        this.lh(a);
    }
    et() {
        super.et();
        this.le(this.gk());
        this.lg(this.gl());
    }
    lc(a, b) {
        if (a == null) {
            return;
        }
        if (a.aw == null) {
            a.aw = new AxisLabelSettings();
            a.aw.angle = a.dh();
            a.aw.bottomMargin = a.di();
            a.aw.leftMargin = a.dj();
            a.aw.rightMargin = a.dk();
            a.aw.topMargin = a.dl();
            a.aw.horizontalAlignment = a.h6();
            a.aw.location = a.ax();
            a.aw.verticalAlignment = a.i0();
        }
        b(a.aw);
    }
    ld(a, b) {
        if (a == null) {
            return;
        }
        if (a.bc == null) {
            a.bc = new TitleSettings();
            a.bc.bottomMargin = a.dn();
            a.bc.leftMargin = a.dp();
            a.bc.rightMargin = a.dq();
            a.bc.topMargin = a.dr();
            a.bc.location = a.ay();
            a.bc.angle = a.dm();
            a.bc.horizontalAlignment = a.h7();
            a.bc.verticalAlignment = a.i1();
        }
        b(a.bc);
    }
    fj(a, b, c) {
        super.fj(a, b, c);
        switch (a) {
            case "XAxisLabelAngle":
                this.lk((d) => d.angle = this.hz);
                break;
            case "YAxisLabelAngle":
                this.lo((d) => d.angle = this.ih);
                break;
            case "XAxisLabelHorizontalAlignment":
                this.lk((d) => d.horizontalAlignment = this.lt);
                break;
            case "YAxisLabelHorizontalAlignment":
                this.lo((d) => d.horizontalAlignment = this.lv);
                break;
            case "XAxisLabelVerticalAlignment":
                this.lk((d) => d.verticalAlignment = this.mr);
                break;
            case "YAxisLabelVerticalAlignment":
                this.lo((d) => d.verticalAlignment = this.ms);
                break;
            case "XAxisLabelVisibility":
                this.lk((d) => d.visibility = this.mw);
                break;
            case "YAxisLabelVisibility":
                this.lo((d) => d.visibility = this.mx);
                break;
            case "XAxisLabel":
                this.li((d) => d.e1 = this.i0);
                break;
            case "YAxisLabel":
                this.lm((d) => d.e1 = this.i1);
                break;
            case "XAxisTitleAngle":
                this.ll((d) => d.angle = this.h9);
                break;
            case "YAxisTitleAngle":
                this.lp((d) => d.angle = this.is);
                break;
            case "XAxisTitleAlignment":
                this.ll((d) => d.horizontalAlignment = this.lu);
                break;
            case "YAxisTitleAlignment":
                this.lp((d) => d.verticalAlignment = this.mt);
                break;
            case "XAxisTitle":
                this.li((d) => d.f0 = this.jy);
                break;
            case "YAxisTitle":
                this.ln((d) => d.f0 = this.k0, false);
                break;
            case "XAxisMajorStroke":
                this.lj((d) => d.ib = this.mb, a);
                break;
            case "YAxisMajorStroke":
                this.lm((d) => d.ib = this.mi);
                break;
            case "XAxisMajorStrokeThickness":
                this.lj((d) => d.d0 = this.h4, a);
                break;
            case "YAxisMajorStrokeThickness":
                this.lm((d) => d.d0 = this.im);
                break;
            case "XAxisMinorStroke":
                this.li((d) => d.ic = this.mc);
                break;
            case "YAxisMinorStroke":
                this.lm((d) => d.ic = this.mj);
                break;
            case "XAxisMinorStrokeThickness":
                this.li((d) => d.d3 = this.h5);
                break;
            case "YAxisMinorStrokeThickness":
                this.lm((d) => d.d3 = this.io);
                break;
            case "XAxisTickLength":
                this.li((d) => d.el = this.h7);
                break;
            case "YAxisTickLength":
                this.lm((d) => d.el = this.iq);
                break;
            case "XAxisTickStroke":
                this.li((d) => d.ig = this.mf);
                break;
            case "YAxisTickStroke":
                this.lm((d) => d.ig = this.mm);
                break;
            case "XAxisTickStrokeThickness":
                this.li((d) => d.em = this.h8);
                break;
            case "YAxisTickStrokeThickness":
                this.lm((d) => d.em = this.ir);
                break;
            case "XAxisStroke":
                this.li((d) => d.ie = this.me);
                break;
            case "YAxisStroke":
                this.lm((d) => d.ie = this.ml);
                break;
            case "XAxisStrokeThickness":
                this.li((d) => d.ek = this.h6);
                break;
            case "YAxisStrokeThickness":
                this.lm((d) => d.ek = this.ip);
                break;
            case "XAxisExtent":
                this.lk((d) => d.extent = this.hy);
                break;
            case "YAxisExtent":
                this.lo((d) => d.extent = this.ig);
                break;
            case "XAxisStrip":
                this.li((d) => d.id = this.md);
                break;
            case "YAxisStrip":
                this.lm((d) => d.id = this.mk);
                break;
            case "XAxisInverted":
                this.li((d) => d.b8 = this.gu);
                break;
            case "YAxisInverted":
                this.lm((d) => d.b8 = this.gv);
                break;
            case "YAxisLabelLocation":
                this.lo((d) => d.location = this.gr);
                break;
        }
    }
    get i0() {
        return this.iy;
    }
    set i0(a) {
        let b = this.i0;
        if (a != b) {
            this.iy = a;
            this.fj("XAxisLabel", b, this.i0);
        }
    }
    get i1() {
        return this.iz;
    }
    set i1(a) {
        let b = this.i1;
        if (a != b) {
            this.iz = a;
            this.fj("YAxisLabel", b, this.i1);
        }
    }
    get mb() {
        return this.lx;
    }
    set mb(a) {
        let b = this.mb;
        if (a != b) {
            this.lx = a;
            this.fj("XAxisMajorStroke", b, this.mb);
        }
    }
    get mi() {
        return this.l4;
    }
    set mi(a) {
        let b = this.mi;
        if (a != b) {
            this.l4 = a;
            this.fj("YAxisMajorStroke", b, this.mi);
        }
    }
    get h4() {
        return this.g2;
    }
    set h4(a) {
        let b = this.h4;
        if (a != b) {
            this.g2 = a;
            this.fj("XAxisMajorStrokeThickness", b, this.h4);
        }
    }
    get im() {
        return this.hj;
    }
    set im(a) {
        let b = this.im;
        if (a != b) {
            this.hj = a;
            this.fj("YAxisMajorStrokeThickness", b, this.im);
        }
    }
    get h5() {
        return this.g3;
    }
    set h5(a) {
        let b = this.h5;
        if (a != b) {
            this.g3 = a;
            this.fj("XAxisMinorStrokeThickness", b, this.h5);
        }
    }
    get io() {
        return this.hk;
    }
    set io(a) {
        let b = this.io;
        if (a != b) {
            this.hk = a;
            this.fj("YAxisMinorStrokeThickness", b, this.io);
        }
    }
    get md() {
        return this.lz;
    }
    set md(a) {
        let b = this.md;
        if (a != b) {
            this.lz = a;
            this.fj("XAxisStrip", b, this.md);
        }
    }
    get mk() {
        return this.l6;
    }
    set mk(a) {
        let b = this.mk;
        if (a != b) {
            this.l6 = a;
            this.fj("YAxisStrip", b, this.mk);
        }
    }
    get me() {
        return this.l0;
    }
    set me(a) {
        let b = this.me;
        if (a != b) {
            this.l0 = a;
            this.fj("XAxisStroke", b, this.me);
        }
    }
    get ml() {
        return this.l7;
    }
    set ml(a) {
        let b = this.ml;
        if (a != b) {
            this.l7 = a;
            this.fj("YAxisStroke", b, this.ml);
        }
    }
    get h6() {
        return this.g4;
    }
    set h6(a) {
        let b = this.h6;
        if (a != b) {
            this.g4 = a;
            this.fj("XAxisStrokeThickness", b, this.h6);
        }
    }
    get ip() {
        return this.hl;
    }
    set ip(a) {
        let b = this.ip;
        if (a != b) {
            this.hl = a;
            this.fj("YAxisStrokeThickness", b, this.ip);
        }
    }
    get h7() {
        return this.g5;
    }
    set h7(a) {
        let b = this.h7;
        if (a != b) {
            this.g5 = a;
            this.fj("XAxisTickLength", b, this.h7);
        }
    }
    get iq() {
        return this.hm;
    }
    set iq(a) {
        let b = this.iq;
        if (a != b) {
            this.hm = a;
            this.fj("YAxisTickLength", b, this.iq);
        }
    }
    get mf() {
        return this.l1;
    }
    set mf(a) {
        let b = this.mf;
        if (a != b) {
            this.l1 = a;
            this.fj("XAxisTickStroke", b, this.mf);
        }
    }
    get mm() {
        return this.l8;
    }
    set mm(a) {
        let b = this.mm;
        if (a != b) {
            this.l8 = a;
            this.fj("YAxisTickStroke", b, this.mm);
        }
    }
    get h8() {
        return this.g6;
    }
    set h8(a) {
        let b = this.h8;
        if (a != b) {
            this.g6 = a;
            this.fj("XAxisTickStrokeThickness", b, this.h8);
        }
    }
    get ir() {
        return this.hn;
    }
    set ir(a) {
        let b = this.ir;
        if (a != b) {
            this.hn = a;
            this.fj("YAxisTickStrokeThickness", b, this.ir);
        }
    }
    get jy() {
        return this.i3;
    }
    set jy(a) {
        let b = this.jy;
        if (a != b) {
            this.i3 = a;
            this.fj("XAxisTitle", b, this.jy);
        }
    }
    get k0() {
        return this.i6;
    }
    set k0(a) {
        let b = this.k0;
        if (a != b) {
            this.i6 = a;
            this.fj("YAxisTitle", b, this.k0);
        }
    }
    get mc() {
        return this.ly;
    }
    set mc(a) {
        let b = this.mc;
        if (a != b) {
            this.ly = a;
            this.fj("XAxisMinorStroke", b, this.mc);
        }
    }
    get mj() {
        return this.l5;
    }
    set mj(a) {
        let b = this.mj;
        if (a != b) {
            this.l5 = a;
            this.fj("YAxisMinorStroke", b, this.mj);
        }
    }
    get hz() {
        return this.gx;
    }
    set hz(a) {
        let b = this.hz;
        if (a != b) {
            this.gx = a;
            this.fj("XAxisLabelAngle", b, this.hz);
        }
    }
    get ih() {
        return this.he;
    }
    set ih(a) {
        let b = this.ih;
        if (a != b) {
            this.he = a;
            this.fj("YAxisLabelAngle", b, this.ih);
        }
    }
    get hy() {
        return this.gw;
    }
    set hy(a) {
        let b = this.hy;
        if (a != b) {
            this.gw = a;
            this.fj("XAxisExtent", b, this.hy);
        }
    }
    get ig() {
        return this.hd;
    }
    set ig(a) {
        let b = this.ig;
        if (a != b) {
            this.hd = a;
            this.fj("YAxisExtent", b, this.ig);
        }
    }
    get h9() {
        return this.g7;
    }
    set h9(a) {
        let b = this.h9;
        if (a != b) {
            this.g7 = a;
            this.fj("XAxisTitleAngle", b, this.h9);
        }
    }
    get is() {
        return this.ho;
    }
    set is(a) {
        let b = this.is;
        if (a != b) {
            this.ho = a;
            this.fj("YAxisTitleAngle", b, this.is);
        }
    }
    get gu() {
        return this.gs;
    }
    set gu(a) {
        let b = this.gu;
        if (a != b) {
            this.gs = a;
            this.fj("XAxisInverted", b, this.gu);
        }
    }
    get gv() {
        return this.gt;
    }
    set gv(a) {
        let b = this.gv;
        if (a != b) {
            this.gt = a;
            this.fj("YAxisInverted", b, this.gv);
        }
    }
    get lu() {
        return this.lr;
    }
    set lu(a) {
        let b = this.lu;
        if (a != b) {
            this.lr = a;
            this.fj("XAxisTitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.lu));
        }
    }
    get mt() {
        return this.mq;
    }
    set mt(a) {
        let b = this.mt;
        if (a != b) {
            this.mq = a;
            this.fj("YAxisTitleAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.mt));
        }
    }
    get lt() {
        return this.lq;
    }
    set lt(a) {
        let b = this.lt;
        if (a != b) {
            this.lq = a;
            this.fj("XAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.lt));
        }
    }
    get_lv() {
        return this.ls;
    }
    set_lv(a) {
        let b = this.lv;
        if (a != b) {
            this.ls = a;
            this.fj("YAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.lv));
        }
    }
    get lv() {
        return this.get_lv();
    }
    set lv(a) {
        this.set_lv(a);
    }
    get mr() {
        return this.mo;
    }
    set mr(a) {
        let b = this.mr;
        if (a != b) {
            this.mo = a;
            this.fj("XAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.mr));
        }
    }
    get ms() {
        return this.mp;
    }
    set ms(a) {
        let b = this.ms;
        if (a != b) {
            this.mp = a;
            this.fj("YAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.ms));
        }
    }
    get mw() {
        return this.mu;
    }
    set mw(a) {
        let b = this.mw;
        if (a != b) {
            this.mu = a;
            this.fj("XAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.mw));
        }
    }
    get mx() {
        return this.mv;
    }
    set mx(a) {
        let b = this.mx;
        if (a != b) {
            this.mv = a;
            this.fj("YAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.mx));
        }
    }
    get_gr() {
        return this.gq;
    }
    set_gr(a) {
        let b = this.gr;
        if (a != b) {
            this.gq = a;
            this.fj("YAxisLabelLocation", enumGetBox(AxisLabelsLocation_$type, b), enumGetBox(AxisLabelsLocation_$type, this.gr));
        }
    }
    get gr() {
        return this.get_gr();
    }
    set gr(a) {
        this.set_gr(a);
    }
}
XYChart.$t = markType(XYChart, 'XYChart', DomainChart.$);
