/*
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 { fromEnum, enumGetBox, markType } from "igniteui-angular-core";
import { HorizontalAlignment_$type } from "igniteui-angular-core";
import { VerticalAlignment_$type } from "igniteui-angular-core";
import { Visibility_$type } from "igniteui-angular-core";
import { YAxisLabelLocation_$type } from "./YAxisLabelLocation";
import { XAxisLabelLocation_$type } from "./XAxisLabelLocation";
import { AxisLabelSettings } from "./AxisLabelSettings";
import { AxisDefaults } from "./AxisDefaults";
import { TitleSettings } from "./TitleSettings";
import { ScalerParams } from "./ScalerParams";
import { DeviceUtils } from "igniteui-angular-core";
/**
 * @hidden
 */
export let XYChart = /*@__PURE__*/ (() => {
    class XYChart extends DomainChart {
        constructor() {
            super(...arguments);
            this.z4 = null;
            this.z5 = null;
            this.aal = 0;
            this.aan = 5;
            this.aam = 0;
            this.aak = 5;
            this.aa2 = 5;
            this.aa4 = 0;
            this.aa3 = 5;
            this.aa1 = 0;
            this.afv = null;
            this.af2 = null;
            this.aft = null;
            this.afu = null;
            this.aaw = 0;
            this.abd = 0;
            this.aav = NaN;
            this.abc = NaN;
            this.aay = NaN;
            this.abf = NaN;
            this.aax = NaN;
            this.abe = NaN;
            this.aau = NaN;
            this.abb = NaN;
            this.af1 = null;
            this.af8 = null;
            this.acn = null;
            this.acr = null;
            this.acp = null;
            this.act = null;
            this.aci = null;
            this.acj = null;
            this.afw = null;
            this.af3 = null;
            this.aao = DeviceUtils.g(1);
            this.aa5 = DeviceUtils.g(1);
            this.aap = DeviceUtils.g(1);
            this.aa6 = DeviceUtils.g(1);
            this.afy = null;
            this.af5 = null;
            this.afz = null;
            this.af6 = null;
            this.aaq = DeviceUtils.g(1);
            this.aa7 = DeviceUtils.g(1);
            this.aar = DeviceUtils.g(8);
            this.aa8 = 0;
            this.af0 = null;
            this.af7 = null;
            this.aas = DeviceUtils.g(1);
            this.aa9 = DeviceUtils.g(1);
            this.aco = null;
            this.acs = null;
            this.afx = null;
            this.af4 = null;
            this.aaj = 0;
            this.aa0 = 0;
            this.aai = NaN;
            this.aaz = NaN;
            this.aat = 0;
            this.aba = -90;
            this.aae = false;
            this.aaf = false;
            this.afo = 1;
            this.agr = 1;
            this.afn = 1;
            this.afp = 2;
            this.agp = 0;
            this.agq = 1;
            this.agv = 0;
            this.agw = 0;
            this.aac = 4;
            this.aaa = 4;
            this.acm = null;
            this.zy = null;
            this.acq = null;
            this.zz = null;
        }
        provideContainer(a) {
            if (a != null) {
                let b = this.z2();
                let c = this.z3();
                if (b != null) {
                    b.provideRenderer(a);
                }
                if (c != null) {
                    c.provideRenderer(a);
                }
            }
            super.provideContainer(a);
        }
        u5() {
            super.u5();
            let a = this.z2();
            let b = this.z3();
            if (a != null && a.az != null) {
                this.agb = a.az.textColor;
            }
            if (b != null && b.az != null) {
                this.agi = b.az.textColor;
            }
            this.agg = AxisDefaults.j;
            this.agn = AxisDefaults.j;
            this.agc = AxisDefaults.h;
            this.agj = AxisDefaults.h;
            this.agf = AxisDefaults.g;
            this.agm = AxisDefaults.g;
        }
        vx(a, b, c) {
            super.vx(a, b, c);
            switch (a) {
                case "XAxisLabelLeftMargin":
                    this.aff((d) => d.leftMargin = this.abn);
                    break;
                case "XAxisLabelTopMargin":
                    this.aff((d) => d.topMargin = this.abp);
                    break;
                case "XAxisLabelRightMargin":
                    this.aff((d) => d.rightMargin = this.abo);
                    break;
                case "XAxisLabelBottomMargin":
                    this.aff((d) => d.bottomMargin = this.abm);
                    break;
                case "YAxisLabelLeftMargin":
                    this.afk((d) => d.leftMargin = this.ab4);
                    break;
                case "YAxisLabelTopMargin":
                    this.afk((d) => d.topMargin = this.ab6);
                    break;
                case "YAxisLabelRightMargin":
                    this.afk((d) => d.rightMargin = this.ab5);
                    break;
                case "YAxisLabelBottomMargin":
                    this.afk((d) => d.bottomMargin = this.ab3);
                    break;
                case "ActualItemsSource":
                case "ShouldDisplayMockData":
                case "ShouldUseSkeletonStyleForMockData":
                    this.af9 = this.yw(this.agb);
                    this.aga = this.yw(this.agi);
                    break;
                case "XAxisLabelTextColor":
                    this.af9 = this.yw(this.agb);
                    break;
                case "YAxisLabelTextColor":
                    this.aga = this.yw(this.agi);
                    break;
                case "ActualXAxisLabelTextColor":
                    this.aff((d) => d.textColor = this.af9);
                    break;
                case "ActualYAxisLabelTextColor":
                    this.afk((d) => d.textColor = this.aga);
                    break;
                case "XAxisTitleMargin":
                    this.afh((d) => d.margin = this.aby);
                    break;
                case "YAxisTitleMargin":
                    this.afm((d) => d.margin = this.acf);
                    break;
                case "XAxisTitleLeftMargin":
                    this.afh((d) => d.leftMargin = this.abx);
                    break;
                case "YAxisTitleLeftMargin":
                    this.afm((d) => d.leftMargin = this.ace);
                    break;
                case "XAxisTitleTopMargin":
                    this.afh((d) => d.topMargin = this.ab0);
                    break;
                case "YAxisTitleTopMargin":
                    this.afm((d) => d.topMargin = this.ach);
                    break;
                case "XAxisTitleRightMargin":
                    this.afh((d) => d.rightMargin = this.abz);
                    break;
                case "YAxisTitleRightMargin":
                    this.afm((d) => d.rightMargin = this.acg);
                    break;
                case "XAxisTitleBottomMargin":
                    this.afh((d) => d.bottomMargin = this.abw);
                    break;
                case "YAxisTitleBottomMargin":
                    this.afm((d) => d.bottomMargin = this.acd);
                    break;
                case "XAxisTitleTextColor":
                    this.afh((d) => d.textColor = this.agh);
                    break;
                case "YAxisTitleTextColor":
                    this.afm((d) => d.textColor = this.ago);
                    break;
                case "XAxisFormatLabel":
                    this.afd((d) => d.au = this.z6);
                    break;
                case "YAxisFormatLabel":
                    this.afi((d) => d.au = this.z7);
                    break;
            }
        }
        get z6() {
            return this.z4;
        }
        set z6(a) {
            let b = this.z6;
            if (a != b) {
                this.z4 = a;
                this.vu("XAxisFormatLabel", b, this.z6);
            }
        }
        get z7() {
            return this.z5;
        }
        set z7(a) {
            let b = this.z7;
            if (a != b) {
                this.z5 = a;
                this.vu("YAxisFormatLabel", b, this.z7);
            }
        }
        get abn() {
            return this.aal;
        }
        set abn(a) {
            let b = this.abn;
            if (a != b) {
                this.aal = a;
                this.vu("XAxisLabelLeftMargin", b, this.abn);
            }
        }
        get abp() {
            return this.aan;
        }
        set abp(a) {
            let b = this.abp;
            if (a != b) {
                this.aan = a;
                this.vu("XAxisLabelTopMargin", b, this.abp);
            }
        }
        get abo() {
            return this.aam;
        }
        set abo(a) {
            let b = this.abo;
            if (a != b) {
                this.aam = a;
                this.vu("XAxisLabelRightMargin", b, this.abo);
            }
        }
        get abm() {
            return this.aak;
        }
        set abm(a) {
            let b = this.abm;
            if (a != b) {
                this.aak = a;
                this.vu("XAxisLabelBottomMargin", b, this.abm);
            }
        }
        get ab4() {
            return this.aa2;
        }
        set ab4(a) {
            let b = this.ab4;
            if (a != b) {
                this.aa2 = a;
                this.vu("YAxisLabelLeftMargin", b, this.ab4);
            }
        }
        get ab6() {
            return this.aa4;
        }
        set ab6(a) {
            let b = this.ab6;
            if (a != b) {
                this.aa4 = a;
                this.vu("YAxisLabelTopMargin", b, this.ab6);
            }
        }
        get ab5() {
            return this.aa3;
        }
        set ab5(a) {
            let b = this.ab5;
            if (a != b) {
                this.aa3 = a;
                this.vu("YAxisLabelRightMargin", b, this.ab5);
            }
        }
        get ab3() {
            return this.aa1;
        }
        set ab3(a) {
            let b = this.ab3;
            if (a != b) {
                this.aa1 = a;
                this.vu("YAxisLabelBottomMargin", b, this.ab3);
            }
        }
        get agb() {
            return this.afv;
        }
        set agb(a) {
            let b = this.agb;
            if (a != b) {
                this.afv = a;
                this.vu("XAxisLabelTextColor", b, this.agb);
            }
        }
        get agi() {
            return this.af2;
        }
        set agi(a) {
            let b = this.agi;
            if (a != b) {
                this.af2 = a;
                this.vu("YAxisLabelTextColor", b, this.agi);
            }
        }
        get af9() {
            return this.aft;
        }
        set af9(a) {
            let b = this.aft;
            if (a != b) {
                this.aft = a;
                this.vu("ActualXAxisLabelTextColor", b, this.af9);
            }
        }
        get aga() {
            return this.afu;
        }
        set aga(a) {
            let b = this.afu;
            if (a != b) {
                this.afu = a;
                this.vu("ActualYAxisLabelTextColor", b, this.aga);
            }
        }
        get aby() {
            return this.aaw;
        }
        set aby(a) {
            let b = this.aby;
            if (a != b) {
                this.aaw = a;
                this.vu("XAxisTitleMargin", b, this.aby);
            }
        }
        get acf() {
            return this.abd;
        }
        set acf(a) {
            let b = this.acf;
            if (a != b) {
                this.abd = a;
                this.vu("YAxisTitleMargin", b, this.acf);
            }
        }
        get abx() {
            return this.aav;
        }
        set abx(a) {
            let b = this.abx;
            if (a != b) {
                this.aav = a;
                this.vu("XAxisTitleLeftMargin", b, this.abx);
            }
        }
        get ace() {
            return this.abc;
        }
        set ace(a) {
            let b = this.ace;
            if (a != b) {
                this.abc = a;
                this.vu("YAxisTitleLeftMargin", b, this.ace);
            }
        }
        get ab0() {
            return this.aay;
        }
        set ab0(a) {
            let b = this.ab0;
            if (a != b) {
                this.aay = a;
                this.vu("XAxisTitleTopMargin", b, this.ab0);
            }
        }
        get ach() {
            return this.abf;
        }
        set ach(a) {
            let b = this.ach;
            if (a != b) {
                this.abf = a;
                this.vu("YAxisTitleTopMargin", b, this.ach);
            }
        }
        get abz() {
            return this.aax;
        }
        set abz(a) {
            let b = this.abz;
            if (a != b) {
                this.aax = a;
                this.vu("XAxisTitleRightMargin", b, this.abz);
            }
        }
        get acg() {
            return this.abe;
        }
        set acg(a) {
            let b = this.acg;
            if (a != b) {
                this.abe = a;
                this.vu("YAxisTitleRightMargin", b, this.acg);
            }
        }
        get abw() {
            return this.aau;
        }
        set abw(a) {
            let b = this.abw;
            if (a != b) {
                this.aau = a;
                this.vu("XAxisTitleBottomMargin", b, this.abw);
            }
        }
        get acd() {
            return this.abb;
        }
        set acd(a) {
            let b = this.acd;
            if (a != b) {
                this.abb = a;
                this.vu("YAxisTitleBottomMargin", b, this.acd);
            }
        }
        get agh() {
            return this.af1;
        }
        set agh(a) {
            let b = this.agh;
            if (a != b) {
                this.af1 = a;
                this.vu("XAxisTitleTextColor", b, this.agh);
            }
        }
        get ago() {
            return this.af8;
        }
        set ago(a) {
            let b = this.ago;
            if (a != b) {
                this.af8 = a;
                this.vu("YAxisTitleTextColor", b, this.ago);
            }
        }
        vy(a, b, c) {
            super.vy(a, b, c);
            switch (a) {
                case "XAxisLabelTextStyle":
                    this.aff((d) => d.textStyle = this.adb);
                    break;
                case "YAxisLabelTextStyle":
                    this.afk((d) => d.textStyle = this.aeg);
                    break;
                case "XAxisTitleTextStyle":
                    this.afh((d) => d.textStyle = this.adz);
                    break;
                case "YAxisTitleTextStyle":
                    this.afm((d) => d.textStyle = this.ae4);
                    break;
            }
        }
        get adb() {
            return this.acn;
        }
        set adb(a) {
            let b = this.adb;
            if (a != b) {
                this.acn = a;
                this.vu("XAxisLabelTextStyle", b, this.adb);
            }
        }
        get aeg() {
            return this.acr;
        }
        set aeg(a) {
            let b = this.aeg;
            if (a != b) {
                this.acr = a;
                this.vu("YAxisLabelTextStyle", b, this.aeg);
            }
        }
        get adz() {
            return this.acp;
        }
        set adz(a) {
            let b = this.adz;
            if (a != b) {
                this.acp = a;
                this.vu("XAxisTitleTextStyle", b, this.adz);
            }
        }
        get ae4() {
            return this.act;
        }
        set ae4(a) {
            let b = this.ae4;
            if (a != b) {
                this.act = a;
                this.vu("YAxisTitleTextStyle", b, this.ae4);
            }
        }
        afa(a) {
            this.ae7(a, (b) => b.leftMargin = this.abn);
            this.ae7(a, (b) => b.topMargin = this.abp);
            this.ae7(a, (b) => b.rightMargin = this.abo);
            this.ae7(a, (b) => b.bottomMargin = this.abm);
            this.ae7(a, (b) => b.textColor = this.af9);
            this.ae8(a, (b) => b.textColor = this.agh);
            this.ae8(a, (b) => b.leftMargin = this.abx);
            this.ae8(a, (b) => b.topMargin = this.ab0);
            this.ae8(a, (b) => b.rightMargin = this.abz);
            this.ae8(a, (b) => b.bottomMargin = this.abw);
            this.ae7(a, (b) => b.textStyle = this.adb);
            this.ae8(a, (b) => b.textStyle = this.adz);
        }
        afc(a) {
            this.ae7(a, (b) => b.leftMargin = this.ab4);
            this.ae7(a, (b) => b.topMargin = this.ab6);
            this.ae7(a, (b) => b.rightMargin = this.ab5);
            this.ae7(a, (b) => b.bottomMargin = this.ab3);
            this.ae7(a, (b) => b.textColor = this.aga);
            this.ae8(a, (b) => b.textColor = this.ago);
            this.ae8(a, (b) => b.leftMargin = this.ace);
            this.ae8(a, (b) => b.topMargin = this.ach);
            this.ae8(a, (b) => b.rightMargin = this.acg);
            this.ae8(a, (b) => b.bottomMargin = this.acd);
            this.ae7(a, (b) => b.textStyle = this.aeg);
            this.ae8(a, (b) => b.textStyle = this.ae4);
        }
        wo(a) {
            let b = this.be(a);
            let c = this.dc(a, b);
            if (c == null) {
                return;
            }
            c.itemsSource = this.h1(a);
            if (a.highlightedData != null) {
                c.highlightedItemsSource = this.h2(a);
            }
            c.name = this.qo(a);
            c.title = this.qp(a, b);
            this.dataChart.series.add(c);
        }
        afd(a) {
            this.afe(a, null);
        }
        afe(a, b) {
            a(this.z2());
        }
        afj(a, b) {
            a(this.z3());
        }
        afi(a) {
            this.afj(a, true);
        }
        uo(a, b) {
            this.afd(a);
            this.afj(a, b);
        }
        afh(a) {
            this.ae8(this.z2(), a);
        }
        afm(a) {
            this.ae8(this.z3(), a);
        }
        afk(a) {
            this.ae7(this.z3(), a);
        }
        aff(a) {
            this.ae7(this.z2(), a);
        }
        abg(a) {
            let b = this.z2();
            return b.el(a, new ScalerParams(1, this.y5, this.y4, b.ch));
        }
        abi(a) {
            let b = this.z2();
            return b.eo(a, new ScalerParams(1, this.y5, this.y4, b.ch));
        }
        abh(a) {
            let b = this.z3();
            return b.el(a, new ScalerParams(1, this.y5, this.y4, b.ch));
        }
        abj(a) {
            let b = this.z3();
            return b.eo(a, new ScalerParams(1, this.y5, this.y4, b.ch));
        }
        wl(a) {
            super.wl(a);
            if (a == null) {
                return;
            }
            if (a.axes != null) {
                let b = this.z2();
                let c = this.z3();
                if (a.axes.contains(b)) {
                    a.axes.remove(b);
                }
                if (a.axes.contains(c)) {
                    a.axes.remove(c);
                }
            }
        }
        static acw(a, b) {
            for (let c of fromEnum(b)) {
                let d = c.findMatchingHint(16);
                if (d != null) {
                    let e = d.path;
                    return e;
                }
            }
            return null;
        }
        u0(a, b) {
            super.u0(a, b);
            if (a == this.dataChart) {
                this.dataChart.axes.add(this.z2());
                this.dataChart.axes.add(this.z3());
            }
        }
        ae9(a) {
            if (a != null && this.lt != null && a.fn == null) {
                a.provideRenderer(this.lt);
            }
            a.jz = this.agc;
            a.et = this.abq;
            a.j0 = this.agd;
            a.ew = this.abr;
            a.j2 = this.agf;
            a.fi = this.abs;
            a.j1 = this.age;
            a.fj = this.abt;
            a.j3 = this.agg;
            a.fk = this.abu;
            a.c4 = true;
            a.cu = this.shouldAvoidAxisAnnotationCollisions;
            a.cw = this.shouldAvoidAxisAnnotationCollisions;
            let b = a == this.z2();
            if (b) {
                a.g8 = this.adq;
            }
            a.f2 = this.ack;
            a.gi = this.ac2;
            a.ah = this.z0;
            this.ae7(a, (c) => c.angle = this.abl);
            this.ae7(a, (c) => {
                if (c.extent != this.abk) {
                    c.extent = this.abk;
                }
            });
            this.ae7(a, (c) => c.horizontalAlignment = this.afq);
            this.ae7(a, (c) => c.verticalAlignment = this.ags);
            this.ae7(a, (c) => c.visibility = this.agx);
            this.ae7(a, (c) => c.location = this.z8(this.aab));
            this.ae8(a, (c) => c.horizontalAlignment = this.afr);
            this.ae8(a, (c) => c.angle = this.abv);
            this.afa(a);
        }
        afb(a) {
            if (a == null) {
                return;
            }
            if (this.lt != null && a.fn == null) {
                a.provideRenderer(this.lt);
            }
            a.cu = this.shouldAvoidAxisAnnotationCollisions;
            a.cw = this.shouldAvoidAxisAnnotationCollisions;
            this.ae7(a, (b) => b.angle = this.ab2);
            this.ae7(a, (b) => {
                if (b.extent != this.ab1) {
                    b.extent = this.ab1;
                }
            });
            this.ae7(a, (b) => b.horizontalAlignment = this.afs);
            this.ae7(a, (b) => b.verticalAlignment = this.agt);
            this.ae7(a, (b) => b.visibility = this.agy);
            this.ae7(a, (b) => b.location = this.z9(this.aad));
            this.ae8(a, (b) => b.verticalAlignment = this.agu);
            this.ae8(a, (b) => b.angle = this.acc);
            a.jz = this.agj;
            a.et = this.ab7;
            a.j0 = this.agk;
            a.ew = this.ab8;
            a.j2 = this.agm;
            a.fi = this.ab9;
            a.j1 = this.agl;
            a.fj = this.aca;
            a.j3 = this.agn;
            a.fk = this.acb;
            let b = a == this.z3();
            if (b) {
                a.g8 = this.aev;
            }
            a.gi = this.ad7;
            a.ah = this.z1;
            this.afc(a);
        }
        ux() {
            super.ux();
            this.ae9(this.z2());
            this.afb(this.z3());
        }
        ae7(a, b) {
            if (a == null) {
                return;
            }
            if (a.az == null) {
                a.az = new AxisLabelSettings();
                a.az.angle = a.d7();
                a.az.bottomMargin = a.d8();
                a.az.leftMargin = a.d9();
                a.az.rightMargin = a.ea();
                a.az.topMargin = a.eb();
                a.az.horizontalAlignment = a.ju();
                a.az.location = a.a0();
                a.az.verticalAlignment = a.ko();
            }
            b(a.az);
        }
        ae8(a, b) {
            if (a == null) {
                return;
            }
            if (a.bf == null) {
                a.bf = new TitleSettings();
                a.bf.bottomMargin = a.ed();
                a.bf.leftMargin = a.ee();
                a.bf.rightMargin = a.ef();
                a.bf.topMargin = a.eg();
                a.bf.location = a.a1();
                a.bf.angle = a.ec();
                a.bf.horizontalAlignment = a.jv();
                a.bf.verticalAlignment = a.kp();
            }
            b(a.bf);
        }
        vu(a, b, c) {
            super.vu(a, b, c);
            switch (a) {
                case "XAxisLabelAngle":
                    this.aff((d) => d.angle = this.abl);
                    break;
                case "YAxisLabelAngle":
                    this.afk((d) => d.angle = this.ab2);
                    break;
                case "XAxisLabelHorizontalAlignment":
                    this.aff((d) => d.horizontalAlignment = this.afq);
                    break;
                case "YAxisLabelHorizontalAlignment":
                    this.afk((d) => d.horizontalAlignment = this.afs);
                    break;
                case "XAxisLabelVerticalAlignment":
                    this.aff((d) => d.verticalAlignment = this.ags);
                    break;
                case "YAxisLabelVerticalAlignment":
                    this.afk((d) => d.verticalAlignment = this.agt);
                    break;
                case "XAxisLabelVisibility":
                    this.aff((d) => d.visibility = this.agx);
                    break;
                case "YAxisLabelVisibility":
                    this.afk((d) => d.visibility = this.agy);
                    break;
                case "XAxisLabel":
                    this.afd((d) => d.f2 = this.ack);
                    break;
                case "YAxisLabel":
                    this.afi((d) => d.f2 = this.acl);
                    break;
                case "XAxisLabelFormat":
                    this.afd((d) => d.gi = this.ac2);
                    break;
                case "XAxisLabelFormatSpecifiers":
                    this.afd((d) => d.ah = this.z0);
                    break;
                case "YAxisLabelFormat":
                    this.afi((d) => d.gi = this.ad7);
                    break;
                case "YAxisLabelFormatSpecifiers":
                    this.afi((d) => d.ah = this.z1);
                    break;
                case "XAxisTitleAngle":
                    this.afh((d) => d.angle = this.abv);
                    break;
                case "YAxisTitleAngle":
                    this.afm((d) => d.angle = this.acc);
                    break;
                case "XAxisTitleAlignment":
                    this.afh((d) => d.horizontalAlignment = this.afr);
                    break;
                case "YAxisTitleAlignment":
                    this.afm((d) => d.verticalAlignment = this.agu);
                    break;
                case "XAxisTitle":
                    this.afd((d) => d.g8 = this.adq);
                    break;
                case "YAxisTitle":
                    this.afj((d) => d.g8 = this.aev, false);
                    break;
                case "XAxisMajorStroke":
                    this.afe((d) => d.jz = this.agc, a);
                    break;
                case "YAxisMajorStroke":
                    this.afi((d) => d.jz = this.agj);
                    break;
                case "XAxisMajorStrokeThickness":
                    this.afe((d) => d.et = this.abq, a);
                    break;
                case "YAxisMajorStrokeThickness":
                    this.afi((d) => d.et = this.ab7);
                    break;
                case "XAxisMinorStroke":
                    this.afd((d) => d.j0 = this.agd);
                    break;
                case "YAxisMinorStroke":
                    this.afi((d) => d.j0 = this.agk);
                    break;
                case "XAxisMinorStrokeThickness":
                    this.afd((d) => d.ew = this.abr);
                    break;
                case "YAxisMinorStrokeThickness":
                    this.afi((d) => d.ew = this.ab8);
                    break;
                case "XAxisTickLength":
                    this.afd((d) => d.fj = this.abt);
                    break;
                case "YAxisTickLength":
                    this.afi((d) => d.fj = this.aca);
                    break;
                case "XAxisTickStroke":
                    this.afd((d) => d.j3 = this.agg);
                    break;
                case "YAxisTickStroke":
                    this.afi((d) => d.j3 = this.agn);
                    break;
                case "XAxisTickStrokeThickness":
                    this.afd((d) => d.fk = this.abu);
                    break;
                case "YAxisTickStrokeThickness":
                    this.afi((d) => d.fk = this.acb);
                    break;
                case "XAxisStroke":
                    this.afd((d) => d.j2 = this.agf);
                    break;
                case "YAxisStroke":
                    this.afi((d) => d.j2 = this.agm);
                    break;
                case "XAxisStrokeThickness":
                    this.afd((d) => d.fi = this.abs);
                    break;
                case "YAxisStrokeThickness":
                    this.afi((d) => d.fi = this.ab9);
                    break;
                case "XAxisExtent":
                    this.aff((d) => d.extent = this.abk);
                    break;
                case "YAxisExtent":
                    this.afk((d) => d.extent = this.ab1);
                    break;
                case "XAxisStrip":
                    this.afd((d) => d.j1 = this.age);
                    break;
                case "YAxisStrip":
                    this.afi((d) => d.j1 = this.agl);
                    break;
                case "XAxisInverted":
                    this.afd((d) => d.ch = this.aag);
                    break;
                case "YAxisInverted":
                    this.afi((d) => d.ch = this.aah);
                    break;
                case "YAxisLabelLocation":
                    this.afl();
                    break;
                case "XAxisLabelLocation":
                    this.afg();
                    break;
            }
        }
        afl() {
            let a = this.z9(this.aad);
            if (a == 2 || a == 7) {
                this.afs = 2;
            }
            else {
                this.afs = 0;
            }
            this.afk((b) => b.location = a);
        }
        afg() {
            let a = this.z8(this.aab);
            if (a == 1 || a == 5) {
                this.ags = 0;
            }
            else {
                this.ags = 2;
            }
            this.aff((b) => b.location = a);
        }
        z9(a) {
            if (a == 0) {
                return 2;
            }
            else if (a == 1) {
                return 3;
            }
            else if (a == 3) {
                return 7;
            }
            else if (a == 2) {
                return 6;
            }
            else {
                if (this.cb == 1) {
                    return 3;
                }
                else {
                    return 2;
                }
            }
        }
        z8(a) {
            if (a == 1) {
                return 1;
            }
            else if (a == 0) {
                return 0;
            }
            else if (a == 3) {
                return 5;
            }
            else if (a == 2) {
                return 4;
            }
            else {
                return 1;
            }
        }
        get ack() {
            return this.aci;
        }
        set ack(a) {
            let b = this.ack;
            if (a != b) {
                this.aci = a;
                this.vu("XAxisLabel", b, this.ack);
            }
        }
        get acl() {
            return this.acj;
        }
        set acl(a) {
            let b = this.acl;
            if (a != b) {
                this.acj = a;
                this.vu("YAxisLabel", b, this.acl);
            }
        }
        get agc() {
            return this.afw;
        }
        set agc(a) {
            let b = this.agc;
            if (a != b) {
                this.afw = a;
                this.vu("XAxisMajorStroke", b, this.agc);
            }
        }
        get agj() {
            return this.af3;
        }
        set agj(a) {
            let b = this.agj;
            if (a != b) {
                this.af3 = a;
                this.vu("YAxisMajorStroke", b, this.agj);
            }
        }
        get abq() {
            return this.aao;
        }
        set abq(a) {
            let b = this.abq;
            if (a != b) {
                this.aao = a;
                this.vu("XAxisMajorStrokeThickness", b, this.abq);
            }
        }
        get ab7() {
            return this.aa5;
        }
        set ab7(a) {
            let b = this.ab7;
            if (a != b) {
                this.aa5 = a;
                this.vu("YAxisMajorStrokeThickness", b, this.ab7);
            }
        }
        get abr() {
            return this.aap;
        }
        set abr(a) {
            let b = this.abr;
            if (a != b) {
                this.aap = a;
                this.vu("XAxisMinorStrokeThickness", b, this.abr);
            }
        }
        get ab8() {
            return this.aa6;
        }
        set ab8(a) {
            let b = this.ab8;
            if (a != b) {
                this.aa6 = a;
                this.vu("YAxisMinorStrokeThickness", b, this.ab8);
            }
        }
        get age() {
            return this.afy;
        }
        set age(a) {
            let b = this.age;
            if (a != b) {
                this.afy = a;
                this.vu("XAxisStrip", b, this.age);
            }
        }
        get agl() {
            return this.af5;
        }
        set agl(a) {
            let b = this.agl;
            if (a != b) {
                this.af5 = a;
                this.vu("YAxisStrip", b, this.agl);
            }
        }
        get agf() {
            return this.afz;
        }
        set agf(a) {
            let b = this.agf;
            if (a != b) {
                this.afz = a;
                this.vu("XAxisStroke", b, this.agf);
            }
        }
        get agm() {
            return this.af6;
        }
        set agm(a) {
            let b = this.agm;
            if (a != b) {
                this.af6 = a;
                this.vu("YAxisStroke", b, this.agm);
            }
        }
        get abs() {
            return this.aaq;
        }
        set abs(a) {
            let b = this.abs;
            if (a != b) {
                this.aaq = a;
                this.vu("XAxisStrokeThickness", b, this.abs);
            }
        }
        get ab9() {
            return this.aa7;
        }
        set ab9(a) {
            let b = this.ab9;
            if (a != b) {
                this.aa7 = a;
                this.vu("YAxisStrokeThickness", b, this.ab9);
            }
        }
        get abt() {
            return this.aar;
        }
        set abt(a) {
            let b = this.abt;
            if (a != b) {
                this.aar = a;
                this.vu("XAxisTickLength", b, this.abt);
            }
        }
        get aca() {
            return this.aa8;
        }
        set aca(a) {
            let b = this.aca;
            if (a != b) {
                this.aa8 = a;
                this.vu("YAxisTickLength", b, this.aca);
            }
        }
        get agg() {
            return this.af0;
        }
        set agg(a) {
            let b = this.agg;
            if (a != b) {
                this.af0 = a;
                this.vu("XAxisTickStroke", b, this.agg);
            }
        }
        get agn() {
            return this.af7;
        }
        set agn(a) {
            let b = this.agn;
            if (a != b) {
                this.af7 = a;
                this.vu("YAxisTickStroke", b, this.agn);
            }
        }
        get abu() {
            return this.aas;
        }
        set abu(a) {
            let b = this.abu;
            if (a != b) {
                this.aas = a;
                this.vu("XAxisTickStrokeThickness", b, this.abu);
            }
        }
        get acb() {
            return this.aa9;
        }
        set acb(a) {
            let b = this.acb;
            if (a != b) {
                this.aa9 = a;
                this.vu("YAxisTickStrokeThickness", b, this.acb);
            }
        }
        get adq() {
            return this.aco;
        }
        set adq(a) {
            let b = this.adq;
            if (a != b) {
                this.aco = a;
                this.vu("XAxisTitle", b, this.adq);
            }
        }
        get aev() {
            return this.acs;
        }
        set aev(a) {
            let b = this.aev;
            if (a != b) {
                this.acs = a;
                this.vu("YAxisTitle", b, this.aev);
            }
        }
        get agd() {
            return this.afx;
        }
        set agd(a) {
            let b = this.agd;
            if (a != b) {
                this.afx = a;
                this.vu("XAxisMinorStroke", b, this.agd);
            }
        }
        get agk() {
            return this.af4;
        }
        set agk(a) {
            let b = this.agk;
            if (a != b) {
                this.af4 = a;
                this.vu("YAxisMinorStroke", b, this.agk);
            }
        }
        get abl() {
            return this.aaj;
        }
        set abl(a) {
            let b = this.abl;
            if (a != b) {
                this.aaj = a;
                this.vu("XAxisLabelAngle", b, this.abl);
            }
        }
        get ab2() {
            return this.aa0;
        }
        set ab2(a) {
            let b = this.ab2;
            if (a != b) {
                this.aa0 = a;
                this.vu("YAxisLabelAngle", b, this.ab2);
            }
        }
        get abk() {
            return this.aai;
        }
        set abk(a) {
            let b = this.abk;
            if (a != b) {
                this.aai = a;
                this.vu("XAxisExtent", b, this.abk);
            }
        }
        get ab1() {
            return this.aaz;
        }
        set ab1(a) {
            let b = this.ab1;
            if (a != b) {
                this.aaz = a;
                this.vu("YAxisExtent", b, this.ab1);
            }
        }
        get abv() {
            return this.aat;
        }
        set abv(a) {
            let b = this.abv;
            if (a != b) {
                this.aat = a;
                this.vu("XAxisTitleAngle", b, this.abv);
            }
        }
        get acc() {
            return this.aba;
        }
        set acc(a) {
            let b = this.acc;
            if (a != b) {
                this.aba = a;
                this.vu("YAxisTitleAngle", b, this.acc);
            }
        }
        get aag() {
            return this.aae;
        }
        set aag(a) {
            let b = this.aag;
            if (a != b) {
                this.aae = a;
                this.vu("XAxisInverted", b, this.aag);
            }
        }
        get aah() {
            return this.aaf;
        }
        set aah(a) {
            let b = this.aah;
            if (a != b) {
                this.aaf = a;
                this.vu("YAxisInverted", b, this.aah);
            }
        }
        get afr() {
            return this.afo;
        }
        set afr(a) {
            let b = this.afr;
            if (a != b) {
                this.afo = a;
                this.vu("XAxisTitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.afr));
            }
        }
        get agu() {
            return this.agr;
        }
        set agu(a) {
            let b = this.agu;
            if (a != b) {
                this.agr = a;
                this.vu("YAxisTitleAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.agu));
            }
        }
        get afq() {
            return this.afn;
        }
        set afq(a) {
            let b = this.afq;
            if (a != b) {
                this.afn = a;
                this.vu("XAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.afq));
            }
        }
        get_afs() {
            return this.afp;
        }
        set_afs(a) {
            let b = this.afs;
            if (a != b) {
                this.afp = a;
                this.vu("YAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.afs));
            }
        }
        get afs() {
            return this.get_afs();
        }
        set afs(a) {
            this.set_afs(a);
        }
        get ags() {
            return this.agp;
        }
        set ags(a) {
            let b = this.ags;
            if (a != b) {
                this.agp = a;
                this.vu("XAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.ags));
            }
        }
        get agt() {
            return this.agq;
        }
        set agt(a) {
            let b = this.agt;
            if (a != b) {
                this.agq = a;
                this.vu("YAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.agt));
            }
        }
        get agx() {
            return this.agv;
        }
        set agx(a) {
            let b = this.agx;
            if (a != b) {
                this.agv = a;
                this.vu("XAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.agx));
            }
        }
        get agy() {
            return this.agw;
        }
        set agy(a) {
            let b = this.agy;
            if (a != b) {
                this.agw = a;
                this.vu("YAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.agy));
            }
        }
        get_aad() {
            return this.aac;
        }
        set_aad(a) {
            let b = this.aad;
            if (a != b) {
                this.aac = a;
                this.vu("YAxisLabelLocation", enumGetBox(YAxisLabelLocation_$type, b), enumGetBox(YAxisLabelLocation_$type, this.aad));
            }
        }
        get aad() {
            return this.get_aad();
        }
        set aad(a) {
            this.set_aad(a);
        }
        get_aab() {
            return this.aaa;
        }
        set_aab(a) {
            let b = this.aab;
            if (a != b) {
                this.aaa = a;
                this.vu("XAxisLabelLocation", enumGetBox(XAxisLabelLocation_$type, b), enumGetBox(XAxisLabelLocation_$type, this.aab));
            }
        }
        get aab() {
            return this.get_aab();
        }
        set aab(a) {
            this.set_aab(a);
        }
        get ac2() {
            return this.acm;
        }
        set ac2(a) {
            let b = this.acm;
            if (a != b) {
                this.acm = a;
                this.vu("XAxisLabelFormat", b, this.acm);
            }
        }
        get z0() {
            return this.zy;
        }
        set z0(a) {
            let b = this.zy;
            if (a != b) {
                this.zy = a;
                this.vu("XAxisLabelFormatSpecifiers", b, this.zy);
            }
        }
        get ad7() {
            return this.acq;
        }
        set ad7(a) {
            let b = this.acq;
            if (a != b) {
                this.acq = a;
                this.vu("YAxisLabelFormat", b, this.acq);
            }
        }
        get z1() {
            return this.zz;
        }
        set z1(a) {
            let b = this.zz;
            if (a != b) {
                this.zz = a;
                this.vu("YAxisLabelFormatSpecifiers", b, this.zz);
            }
        }
    }
    XYChart.$t = markType(XYChart, 'XYChart', DomainChart.$);
    return XYChart;
})();
