1 line
190 KiB
Plaintext
1 line
190 KiB
Plaintext
{"version":3,"file":"acf.js","mappings":";;;;;;;;;AAAA,CAAE,UAAWA,MAAM,EAAEC,SAAS,EAAG;EAChC,YAAY;;EAEZ;AACD;AACA;AACA;EACC,IAAIC,YAAY,GAAG,SAAAA,CAAA,EAAY;IAC9B;AACF;AACA;IACE,IAAIC,gBAAgB,GAAG;MACtBC,YAAY,EAAEA,YAAY;MAC1BC,YAAY,EAAEA,YAAY;MAC1BC,SAAS,EAAEA,SAAS;MACpBC,YAAY,EAAEA,YAAY;MAC1BC,QAAQ,EAAEA,QAAQ;MAClBC,SAAS,EAAEA,SAAS;MACpBC,OAAO,EAAEC;IACV,CAAC;;IAED;AACF;AACA;AACA;IACE,IAAIC,OAAO,GAAG;MACbC,OAAO,EAAE,CAAC,CAAC;MACXC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,SAASH,UAAUA,CAAA,EAAG;MACrB,OAAOC,OAAO;IACf;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IACE,SAASH,SAASA,CAAEM,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,OAAO,EAAG;MACzD,IACC,OAAOH,MAAM,KAAK,QAAQ,IAC1B,OAAOC,QAAQ,KAAK,UAAU,EAC7B;QACDC,QAAQ,GAAGE,QAAQ,CAAEF,QAAQ,IAAI,EAAE,EAAE,EAAG,CAAC;QACzCG,QAAQ,CAAE,SAAS,EAAEL,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,OAAQ,CAAC;MAC3D;MAEA,OAAOf,gBAAgB;IACxB;;IAEA;AACF;AACA;AACA;IACE,SAASK,QAAQA,CAAA,CAAC;IAAA,EAA+B;MAChD,IAAIa,IAAI,GAAGC,KAAK,CAACC,SAAS,CAACC,KAAK,CAACC,IAAI,CAAEC,SAAU,CAAC;MAClD,IAAIX,MAAM,GAAGM,IAAI,CAACM,KAAK,CAAC,CAAC;MAEzB,IAAK,OAAOZ,MAAM,KAAK,QAAQ,EAAG;QACjCa,QAAQ,CAAE,SAAS,EAAEb,MAAM,EAAEM,IAAK,CAAC;MACpC;MAEA,OAAOlB,gBAAgB;IACxB;;IAEA;AACF;AACA;AACA;AACA;AACA;IACE,SAASI,YAAYA,CAAEQ,MAAM,EAAEC,QAAQ,EAAG;MACzC,IAAK,OAAOD,MAAM,KAAK,QAAQ,EAAG;QACjCc,WAAW,CAAE,SAAS,EAAEd,MAAM,EAAEC,QAAS,CAAC;MAC3C;MAEA,OAAOb,gBAAgB;IACxB;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IACE,SAASG,SAASA,CAAEwB,MAAM,EAAEd,QAAQ,EAAEC,QAAQ,EAAEC,OAAO,EAAG;MACzD,IACC,OAAOY,MAAM,KAAK,QAAQ,IAC1B,OAAOd,QAAQ,KAAK,UAAU,EAC7B;QACDC,QAAQ,GAAGE,QAAQ,CAAEF,QAAQ,IAAI,EAAE,EAAE,EAAG,CAAC;QACzCG,QAAQ,CAAE,SAAS,EAAEU,MAAM,EAAEd,QAAQ,EAAEC,QAAQ,EAAEC,OAAQ,CAAC;MAC3D;MAEA,OAAOf,gBAAgB;IACxB;;IAEA;AACF;AACA;AACA;IACE,SAASE,YAAYA,CAAA,CAAC;IAAA,EAAuC;MAC5D,IAAIgB,IAAI,GAAGC,KAAK,CAACC,SAAS,CAACC,KAAK,CAACC,IAAI,CAAEC,SAAU,CAAC;MAClD,IAAII,MAAM,GAAGT,IAAI,CAACM,KAAK,CAAC,CAAC;MAEzB,IAAK,OAAOG,MAAM,KAAK,QAAQ,EAAG;QACjC,OAAOF,QAAQ,CAAE,SAAS,EAAEE,MAAM,EAAET,IAAK,CAAC;MAC3C;MAEA,OAAOlB,gBAAgB;IACxB;;IAEA;AACF;AACA;AACA;AACA;AACA;IACE,SAASC,YAAYA,CAAE0B,MAAM,EAAEd,QAAQ,EAAG;MACzC,IAAK,OAAOc,MAAM,KAAK,QAAQ,EAAG;QACjCD,WAAW,CAAE,SAAS,EAAEC,MAAM,EAAEd,QAAS,CAAC;MAC3C;MAEA,OAAOb,gBAAgB;IACxB;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;IACE,SAAS0B,WAAWA,CAAEE,IAAI,EAAEC,IAAI,EAAEhB,QAAQ,EAAEE,OAAO,EAAG;MACrD,IAAK,CAAEN,OAAO,CAAEmB,IAAI,CAAE,CAAEC,IAAI,CAAE,EAAG;QAChC;MACD;MACA,IAAK,CAAEhB,QAAQ,EAAG;QACjBJ,OAAO,CAAEmB,IAAI,CAAE,CAAEC,IAAI,CAAE,GAAG,EAAE;MAC7B,CAAC,MAAM;QACN,IAAIC,QAAQ,GAAGrB,OAAO,CAAEmB,IAAI,CAAE,CAAEC,IAAI,CAAE;QACtC,IAAIE,CAAC;QACL,IAAK,CAAEhB,OAAO,EAAG;UAChB,KAAMgB,CAAC,GAAGD,QAAQ,CAACE,MAAM,EAAED,CAAC,EAAE,GAAK;YAClC,IAAKD,QAAQ,CAAEC,CAAC,CAAE,CAAClB,QAAQ,KAAKA,QAAQ,EAAG;cAC1CiB,QAAQ,CAACG,MAAM,CAAEF,CAAC,EAAE,CAAE,CAAC;YACxB;UACD;QACD,CAAC,MAAM;UACN,KAAMA,CAAC,GAAGD,QAAQ,CAACE,MAAM,EAAED,CAAC,EAAE,GAAK;YAClC,IAAIG,OAAO,GAAGJ,QAAQ,CAAEC,CAAC,CAAE;YAC3B,IACCG,OAAO,CAACrB,QAAQ,KAAKA,QAAQ,IAC7BqB,OAAO,CAACnB,OAAO,KAAKA,OAAO,EAC1B;cACDe,QAAQ,CAACG,MAAM,CAAEF,CAAC,EAAE,CAAE,CAAC;YACxB;UACD;QACD;MACD;IACD;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACE,SAASd,QAAQA,CAAEW,IAAI,EAAEC,IAAI,EAAEhB,QAAQ,EAAEC,QAAQ,EAAEC,OAAO,EAAG;MAC5D,IAAIoB,UAAU,GAAG;QAChBtB,QAAQ,EAAEA,QAAQ;QAClBC,QAAQ,EAAEA,QAAQ;QAClBC,OAAO,EAAEA;MACV,CAAC;;MAED;MACA,IAAIqB,KAAK,GAAG3B,OAAO,CAAEmB,IAAI,CAAE,CAAEC,IAAI,CAAE;MACnC,IAAKO,KAAK,EAAG;QACZA,KAAK,CAACC,IAAI,CAAEF,UAAW,CAAC;QACxBC,KAAK,GAAGE,eAAe,CAAEF,KAAM,CAAC;MACjC,CAAC,MAAM;QACNA,KAAK,GAAG,CAAED,UAAU,CAAE;MACvB;MAEA1B,OAAO,CAAEmB,IAAI,CAAE,CAAEC,IAAI,CAAE,GAAGO,KAAK;IAChC;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;IACE,SAASE,eAAeA,CAAEF,KAAK,EAAG;MACjC,IAAIG,OAAO,EAAEC,CAAC,EAAEC,QAAQ;MACxB,KAAM,IAAIV,CAAC,GAAG,CAAC,EAAEW,GAAG,GAAGN,KAAK,CAACJ,MAAM,EAAED,CAAC,GAAGW,GAAG,EAAEX,CAAC,EAAE,EAAG;QACnDQ,OAAO,GAAGH,KAAK,CAAEL,CAAC,CAAE;QACpBS,CAAC,GAAGT,CAAC;QACL,OACC,CAAEU,QAAQ,GAAGL,KAAK,CAAEI,CAAC,GAAG,CAAC,CAAE,KAC3BC,QAAQ,CAAC3B,QAAQ,GAAGyB,OAAO,CAACzB,QAAQ,EACnC;UACDsB,KAAK,CAAEI,CAAC,CAAE,GAAGJ,KAAK,CAAEI,CAAC,GAAG,CAAC,CAAE;UAC3B,EAAEA,CAAC;QACJ;QACAJ,KAAK,CAAEI,CAAC,CAAE,GAAGD,OAAO;MACrB;MAEA,OAAOH,KAAK;IACb;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IACE,SAASX,QAAQA,CAAEG,IAAI,EAAEC,IAAI,EAAEX,IAAI,EAAG;MACrC,IAAIY,QAAQ,GAAGrB,OAAO,CAAEmB,IAAI,CAAE,CAAEC,IAAI,CAAE;MAEtC,IAAK,CAAEC,QAAQ,EAAG;QACjB,OAAOF,IAAI,KAAK,SAAS,GAAGV,IAAI,CAAE,CAAC,CAAE,GAAG,KAAK;MAC9C;MAEA,IAAIa,CAAC,GAAG,CAAC;QACRW,GAAG,GAAGZ,QAAQ,CAACE,MAAM;MACtB,IAAKJ,IAAI,KAAK,SAAS,EAAG;QACzB,OAAQG,CAAC,GAAGW,GAAG,EAAEX,CAAC,EAAE,EAAG;UACtBb,IAAI,CAAE,CAAC,CAAE,GAAGY,QAAQ,CAAEC,CAAC,CAAE,CAAClB,QAAQ,CAAC8B,KAAK,CACvCb,QAAQ,CAAEC,CAAC,CAAE,CAAChB,OAAO,EACrBG,IACD,CAAC;QACF;MACD,CAAC,MAAM;QACN,OAAQa,CAAC,GAAGW,GAAG,EAAEX,CAAC,EAAE,EAAG;UACtBD,QAAQ,CAAEC,CAAC,CAAE,CAAClB,QAAQ,CAAC8B,KAAK,CAAEb,QAAQ,CAAEC,CAAC,CAAE,CAAChB,OAAO,EAAEG,IAAK,CAAC;QAC5D;MACD;MAEA,OAAOU,IAAI,KAAK,SAAS,GAAGV,IAAI,CAAE,CAAC,CAAE,GAAG,IAAI;IAC7C;;IAEA;IACA,OAAOlB,gBAAgB;EACxB,CAAC;;EAED;EACA4C,GAAG,CAACR,KAAK,GAAG,IAAIrC,YAAY,CAAC,CAAC;AAC/B,CAAC,EAAIF,MAAO,CAAC;;;;;;;;;;ACrQb,CAAE,UAAWgD,CAAC,EAAE/C,SAAS,EAAG;EAC3B8C,GAAG,CAACE,MAAM,CAACC,KAAK,GAAGH,GAAG,CAACI,KAAK,CAACC,MAAM,CAAE;IACpCC,IAAI,EAAE;MACLC,KAAK,EAAE,EAAE;MACTC,OAAO,EAAE,EAAE;MACXC,OAAO,EAAE;IACV,CAAC;IACDC,MAAM,EAAE;MACP,wBAAwB,EAAE;IAC3B,CAAC;IACDC,KAAK,EAAE,SAAAA,CAAWC,KAAK,EAAG;MACzBX,CAAC,CAACI,MAAM,CAAE,IAAI,CAACC,IAAI,EAAEM,KAAM,CAAC;MAC5B,IAAI,CAACC,GAAG,GAAGZ,CAAC,CAAC,CAAC;MACd,IAAI,CAACa,MAAM,CAAC,CAAC;IACd,CAAC;IACDC,UAAU,EAAE,SAAAA,CAAA,EAAY;MACvB,IAAI,CAACC,IAAI,CAAC,CAAC;IACZ,CAAC;IACDF,MAAM,EAAE,SAAAA,CAAA,EAAY;MACnB;MACA,IAAIP,KAAK,GAAG,IAAI,CAACU,GAAG,CAAE,OAAQ,CAAC;MAC/B,IAAIT,OAAO,GAAG,IAAI,CAACS,GAAG,CAAE,SAAU,CAAC;MACnC,IAAIR,OAAO,GAAG,IAAI,CAACQ,GAAG,CAAE,SAAU,CAAC;;MAEnC;MACA,IAAIJ,GAAG,GAAGZ,CAAC,CACV,CACC,OAAO,EACP,yBAAyB,EACzB,+BAA+B,EAC/B,MAAM,GAAGM,KAAK,GAAG,OAAO,EACxB,qGAAqG,EACrG,QAAQ,EACR,iCAAiC,GAAGC,OAAO,GAAG,QAAQ,EACtD,iCAAiC,GAAGC,OAAO,GAAG,QAAQ,EACtD,QAAQ,EACR,wDAAwD,EACxD,QAAQ,CACR,CAACS,IAAI,CAAE,EAAG,CACZ,CAAC;;MAED;MACA,IAAK,IAAI,CAACL,GAAG,EAAG;QACf,IAAI,CAACA,GAAG,CAACM,WAAW,CAAEN,GAAI,CAAC;MAC5B;MACA,IAAI,CAACA,GAAG,GAAGA,GAAG;;MAEd;MACAb,GAAG,CAACvC,QAAQ,CAAE,QAAQ,EAAEoD,GAAI,CAAC;IAC9B,CAAC;IACDO,MAAM,EAAE,SAAAA,CAAWR,KAAK,EAAG;MAC1B,IAAI,CAACN,IAAI,GAAGN,GAAG,CAACqB,SAAS,CAAET,KAAK,EAAE,IAAI,CAACN,IAAK,CAAC;MAC7C,IAAI,CAACQ,MAAM,CAAC,CAAC;IACd,CAAC;IACDP,KAAK,EAAE,SAAAA,CAAWA,KAAK,EAAG;MACzB,IAAI,CAACN,CAAC,CAAE,qBAAsB,CAAC,CAACqB,IAAI,CAAEf,KAAM,CAAC;IAC9C,CAAC;IACDC,OAAO,EAAE,SAAAA,CAAWA,OAAO,EAAG;MAC7B,IAAI,CAACP,CAAC,CAAE,oBAAqB,CAAC,CAACqB,IAAI,CAAEd,OAAQ,CAAC;IAC/C,CAAC;IACDC,OAAO,EAAE,SAAAA,CAAWA,OAAO,EAAG;MAC7B,IAAI,CAACR,CAAC,CAAE,oBAAqB,CAAC,CAACqB,IAAI,CAAEb,OAAQ,CAAC;IAC/C,CAAC;IACDO,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjBf,CAAC,CAAE,MAAO,CAAC,CAACsB,MAAM,CAAE,IAAI,CAACV,GAAI,CAAC;IAC/B,CAAC;IACDW,KAAK,EAAE,SAAAA,CAAA,EAAY;MAClB,IAAI,CAACC,MAAM,CAAC,CAAC;IACd,CAAC;IACDC,YAAY,EAAE,SAAAA,CAAWC,CAAC,EAAEd,GAAG,EAAG;MACjCc,CAAC,CAACC,cAAc,CAAC,CAAC;MAClB,IAAI,CAACJ,KAAK,CAAC,CAAC;IACb,CAAC;IAED;AACF;AACA;IACEK,KAAK,EAAE,SAAAA,CAAA,EAAW;MACjB,IAAI,CAAChB,GAAG,CAACiB,IAAI,CAAE,WAAY,CAAC,CAACC,KAAK,CAAC,CAAC,CAACC,OAAO,CAAE,OAAQ,CAAC;IACxD,CAAC;IAED;AACF;AACA;AACA;AACA;IACEC,gBAAgB,EAAE,SAAAA,CAAUC,MAAM,EAAG;MACpC,IAAIC,YAAY,GAAGlC,CAAC,CAAE,SAAU,CAAC;MAEjC,IAAK,CAAEkC,YAAY,CAAC/C,MAAM,EAAG;QAC5B;MACD;MAEA+C,YAAY,CAAE,CAAC,CAAE,CAACC,KAAK,GAAGF,MAAM;MAChCC,YAAY,CAACE,IAAI,CAAE,aAAa,EAAEH,MAAO,CAAC;IAC3C,CAAC;IAED;AACF;AACA;AACA;IACEI,mBAAmB,EAAE,SAAAA,CAAA,EAAW;MAC/B,IACC,IAAI,CAAChC,IAAI,CAACiC,QAAQ,YAAYtC,CAAC,IAC5B,IAAI,CAACK,IAAI,CAACiC,QAAQ,CAACC,OAAO,CAAE,MAAO,CAAC,CAACpD,MAAM,GAAG,CAAC,EACjD;QACD,IAAI,CAACkB,IAAI,CAACiC,QAAQ,CAACP,OAAO,CAAE,OAAQ,CAAC;MACtC;IACD;EACD,CAAE,CAAC;;EAEH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACChC,GAAG,CAACyC,QAAQ,GAAG,UAAW7B,KAAK,EAAG;IACjC,OAAO,IAAIZ,GAAG,CAACE,MAAM,CAACC,KAAK,CAAES,KAAM,CAAC;EACrC,CAAC;AACF,CAAC,EAAI8B,MAAO,CAAC;;;;;;;;;;AC3Hb,CAAE,UAAWzC,CAAC,EAAE/C,SAAS,EAAG;EAC3B;EACA,IAAIyF,qBAAqB,GAAG,gBAAgB;;EAE5C;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC,IAAItC,MAAM,GAAG,SAAAA,CAAWuC,UAAU,EAAG;IACpC;IACA,IAAIC,MAAM,GAAG,IAAI;IACjB,IAAIC,KAAK;;IAET;IACA;IACA;IACA,IAAKF,UAAU,IAAIA,UAAU,CAACG,cAAc,CAAE,aAAc,CAAC,EAAG;MAC/DD,KAAK,GAAGF,UAAU,CAACI,WAAW;IAC/B,CAAC,MAAM;MACNF,KAAK,GAAG,SAAAA,CAAA,EAAY;QACnB,OAAOD,MAAM,CAAC9C,KAAK,CAAE,IAAI,EAAEpB,SAAU,CAAC;MACvC,CAAC;IACF;;IAEA;IACAsB,CAAC,CAACI,MAAM,CAAEyC,KAAK,EAAED,MAAO,CAAC;;IAEzB;IACA;IACAC,KAAK,CAACtE,SAAS,GAAGyE,MAAM,CAACC,MAAM,CAAEL,MAAM,CAACrE,SAAU,CAAC;IACnDyB,CAAC,CAACI,MAAM,CAAEyC,KAAK,CAACtE,SAAS,EAAEoE,UAAW,CAAC;IACvCE,KAAK,CAACtE,SAAS,CAACwE,WAAW,GAAGF,KAAK;;IAEnC;IACA;;IAEA;IACA,OAAOA,KAAK;EACb,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC,IAAI1C,KAAK,GAAKJ,GAAG,CAACI,KAAK,GAAG,YAAY;IACrC;IACA,IAAI,CAAC+C,GAAG,GAAGnD,GAAG,CAACoD,QAAQ,CAAE,KAAM,CAAC;;IAEhC;IACA,IAAI,CAAC9C,IAAI,GAAGL,CAAC,CAACI,MAAM,CAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAACC,IAAK,CAAC;;IAE3C;IACA,IAAI,CAACK,KAAK,CAACZ,KAAK,CAAE,IAAI,EAAEpB,SAAU,CAAC;;IAEnC;IACA,IAAK,IAAI,CAACkC,GAAG,IAAI,CAAE,IAAI,CAACA,GAAG,CAACP,IAAI,CAAE,KAAM,CAAC,EAAG;MAC3C,IAAI,CAACO,GAAG,CAACP,IAAI,CAAE,KAAK,EAAE,IAAK,CAAC;IAC7B;;IAEA;IACA,IAAIS,UAAU,GAAG,SAAAA,CAAA,EAAY;MAC5B,IAAI,CAACA,UAAU,CAAC,CAAC;MACjB,IAAI,CAACsC,SAAS,CAAC,CAAC;MAChB,IAAI,CAACC,UAAU,CAAC,CAAC;MACjB,IAAI,CAACC,UAAU,CAAC,CAAC;IAClB,CAAC;;IAED;IACA,IAAK,IAAI,CAACC,IAAI,IAAI,CAAExD,GAAG,CAACyD,SAAS,CAAE,IAAI,CAACD,IAAK,CAAC,EAAG;MAChD,IAAI,CAAC9F,SAAS,CAAE,IAAI,CAAC8F,IAAI,EAAEzC,UAAW,CAAC;;MAEvC;IACD,CAAC,MAAM;MACNA,UAAU,CAAChB,KAAK,CAAE,IAAK,CAAC;IACzB;EACD,CAAG;;EAEH;EACAE,CAAC,CAACI,MAAM,CAAED,KAAK,CAAC5B,SAAS,EAAE;IAC1B;IACAkF,EAAE,EAAE,EAAE;IAEN;IACAP,GAAG,EAAE,EAAE;IAEP;IACAtC,GAAG,EAAE,IAAI;IAET;IACAP,IAAI,EAAE,CAAC,CAAC;IAER;IACAqD,IAAI,EAAE,KAAK;IACXC,OAAO,EAAE,KAAK;IAEd;IACAlD,MAAM,EAAE,CAAC,CAAC;IACV5C,OAAO,EAAE,CAAC,CAAC;IACXC,OAAO,EAAE,CAAC,CAAC;IAEX;IACA8F,UAAU,EAAE,EAAE;IAEd;IACAL,IAAI,EAAE,KAAK;IAEX;IACAtF,QAAQ,EAAE,EAAE;IAEZ;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEE+C,GAAG,EAAE,SAAAA,CAAW6C,IAAI,EAAG;MACtB,OAAO,IAAI,CAACxD,IAAI,CAAEwD,IAAI,CAAE;IACzB,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEC,GAAG,EAAE,SAAAA,CAAWD,IAAI,EAAG;MACtB,OAAO,IAAI,CAAC7C,GAAG,CAAE6C,IAAK,CAAC,IAAI,IAAI;IAChC,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEE,GAAG,EAAE,SAAAA,CAAWF,IAAI,EAAEG,KAAK,EAAEC,MAAM,EAAG;MACrC;MACA,IAAIC,SAAS,GAAG,IAAI,CAAClD,GAAG,CAAE6C,IAAK,CAAC;MAChC,IAAKK,SAAS,IAAIF,KAAK,EAAG;QACzB,OAAO,IAAI;MACZ;;MAEA;MACA,IAAI,CAAC3D,IAAI,CAAEwD,IAAI,CAAE,GAAGG,KAAK;;MAEzB;MACA,IAAK,CAAEC,MAAM,EAAG;QACf,IAAI,CAACN,OAAO,GAAG,IAAI;QACnB,IAAI,CAAC5B,OAAO,CAAE,UAAU,GAAG8B,IAAI,EAAE,CAAEG,KAAK,EAAEE,SAAS,CAAG,CAAC;QACvD,IAAI,CAACnC,OAAO,CAAE,SAAS,EAAE,CAAE8B,IAAI,EAAEG,KAAK,EAAEE,SAAS,CAAG,CAAC;MACtD;;MAEA;MACA,OAAO,IAAI;IACZ,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEC,OAAO,EAAE,SAAAA,CAAW9D,IAAI,EAAG;MAC1B;MACA,IAAKA,IAAI,YAAYoC,MAAM,EAAG;QAC7BpC,IAAI,GAAGA,IAAI,CAACA,IAAI,CAAC,CAAC;MACnB;;MAEA;MACAL,CAAC,CAACI,MAAM,CAAE,IAAI,CAACC,IAAI,EAAEA,IAAK,CAAC;;MAE3B;MACA,OAAO,IAAI;IACZ,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEE+D,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjB,OAAO,IAAI,CAACxD,GAAG,CAACwD,IAAI,CAACtE,KAAK,CAAE,IAAI,CAACc,GAAG,EAAElC,SAAU,CAAC;IAClD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEgC,KAAK,EAAE,SAAAA,CAAWC,KAAK,EAAG;MACzBX,CAAC,CAACI,MAAM,CAAE,IAAI,EAAEO,KAAM,CAAC;IACxB,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEG,UAAU,EAAE,SAAAA,CAAA,EAAY,CAAC,CAAC;IAE1B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEuD,WAAW,EAAE,SAAAA,CAAWC,QAAQ,EAAG;MAClCA,QAAQ,GAAGA,QAAQ,IAAI,IAAI,CAACA,QAAQ,IAAI,IAAI;MAC5C,IAAK,CAAEA,QAAQ,IAAI,CAAEtB,MAAM,CAACuB,IAAI,CAAED,QAAS,CAAC,CAACnF,MAAM,EAAG,OAAO,KAAK;MAClE,KAAM,IAAID,CAAC,IAAIoF,QAAQ,EAAG;QACzB,IAAI,CAACE,UAAU,CAAEtF,CAAC,EAAEoF,QAAQ,CAAEpF,CAAC,CAAG,CAAC;MACpC;IACD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEsF,UAAU,EAAE,SAAAA,CAAWX,IAAI,EAAEY,QAAQ,EAAG;MACvC,IAAI,CAAE,GAAG,GAAGZ,IAAI,CAAE,GAAG,IAAI,CAAC7D,CAAC,CAAEyE,QAAS,CAAC;IACxC,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEErB,SAAS,EAAE,SAAAA,CAAW3C,MAAM,EAAG;MAC9BA,MAAM,GAAGA,MAAM,IAAI,IAAI,CAACA,MAAM,IAAI,IAAI;MACtC,IAAK,CAAEA,MAAM,EAAG,OAAO,KAAK;MAC5B,KAAM,IAAIiE,GAAG,IAAIjE,MAAM,EAAG;QACzB,IAAIkE,KAAK,GAAGD,GAAG,CAACC,KAAK,CAAEjC,qBAAsB,CAAC;QAC9C,IAAI,CAACkC,EAAE,CAAED,KAAK,CAAE,CAAC,CAAE,EAAEA,KAAK,CAAE,CAAC,CAAE,EAAElE,MAAM,CAAEiE,GAAG,CAAG,CAAC;MACjD;IACD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEG,YAAY,EAAE,SAAAA,CAAWpE,MAAM,EAAG;MACjCA,MAAM,GAAGA,MAAM,IAAI,IAAI,CAACA,MAAM,IAAI,IAAI;MACtC,IAAK,CAAEA,MAAM,EAAG,OAAO,KAAK;MAC5B,KAAM,IAAIiE,GAAG,IAAIjE,MAAM,EAAG;QACzB,IAAIkE,KAAK,GAAGD,GAAG,CAACC,KAAK,CAAEjC,qBAAsB,CAAC;QAC9C,IAAI,CAACoC,GAAG,CAAEH,KAAK,CAAE,CAAC,CAAE,EAAEA,KAAK,CAAE,CAAC,CAAE,EAAElE,MAAM,CAAEiE,GAAG,CAAG,CAAC;MAClD;IACD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEK,cAAc,EAAE,SAAAA,CAAWnE,GAAG,EAAEoE,KAAK,EAAG;MACvC,OAAOpE,GAAG,IAAI,IAAI,CAACA,GAAG,IAAIZ,CAAC,CAAEiF,QAAS,CAAC;IACxC,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEC,aAAa,EAAE,SAAAA,CAAWxD,CAAC,EAAG;MAC7B,IAAK,IAAI,CAACkC,UAAU,EAAG;QACtB,OAAO5D,CAAC,CAAE0B,CAAC,CAACyD,MAAO,CAAC,CAAC5C,OAAO,CAAE,IAAI,CAACqB,UAAW,CAAC,CAACwB,EAAE,CAAE,IAAI,CAACxE,GAAI,CAAC;MAC/D,CAAC,MAAM;QACN,OAAO,IAAI;MACZ;IACD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEyE,UAAU,EAAE,SAAAA,CAAWrH,QAAQ,EAAG;MACjC,OAAO,IAAI,CAACsH,KAAK,CAAE,UAAW5D,CAAC,EAAG;QACjC;QACA,IAAK,CAAE,IAAI,CAACwD,aAAa,CAAExD,CAAE,CAAC,EAAG;UAChC;QACD;;QAEA;QACA,IAAIrD,IAAI,GAAG0B,GAAG,CAACwF,SAAS,CAAE7G,SAAU,CAAC;QACrC,IAAI8G,SAAS,GAAGnH,IAAI,CAACG,KAAK,CAAE,CAAE,CAAC;QAC/B,IAAIiH,SAAS,GAAG,CAAE/D,CAAC,EAAE1B,CAAC,CAAE0B,CAAC,CAACgE,aAAc,CAAC,CAAE,CAACC,MAAM,CAAEH,SAAU,CAAC;;QAE/D;QACAxH,QAAQ,CAAC8B,KAAK,CAAE,IAAI,EAAE2F,SAAU,CAAC;MAClC,CAAE,CAAC;IACJ,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEb,EAAE,EAAE,SAAAA,CAAWgB,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAG;MAC/B;MACA,IAAInF,GAAG,EAAEoE,KAAK,EAAEP,QAAQ,EAAEzG,QAAQ,EAAEK,IAAI;;MAExC;MACA,IAAKuH,EAAE,YAAYnD,MAAM,EAAG;QAC3B;QACA,IAAKsD,EAAE,EAAG;UACTnF,GAAG,GAAGgF,EAAE;UACRZ,KAAK,GAAGa,EAAE;UACVpB,QAAQ,GAAGqB,EAAE;UACb9H,QAAQ,GAAG+H,EAAE;;UAEb;QACD,CAAC,MAAM;UACNnF,GAAG,GAAGgF,EAAE;UACRZ,KAAK,GAAGa,EAAE;UACV7H,QAAQ,GAAG8H,EAAE;QACd;MACD,CAAC,MAAM;QACN;QACA,IAAKA,EAAE,EAAG;UACTd,KAAK,GAAGY,EAAE;UACVnB,QAAQ,GAAGoB,EAAE;UACb7H,QAAQ,GAAG8H,EAAE;;UAEb;QACD,CAAC,MAAM;UACNd,KAAK,GAAGY,EAAE;UACV5H,QAAQ,GAAG6H,EAAE;QACd;MACD;;MAEA;MACAjF,GAAG,GAAG,IAAI,CAACmE,cAAc,CAAEnE,GAAI,CAAC;;MAEhC;MACA,IAAK,OAAO5C,QAAQ,KAAK,QAAQ,EAAG;QACnCA,QAAQ,GAAG,IAAI,CAACqH,UAAU,CAAE,IAAI,CAAErH,QAAQ,CAAG,CAAC;MAC/C;;MAEA;MACAgH,KAAK,GAAGA,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC9B,GAAG;;MAE9B;MACA,IAAKuB,QAAQ,EAAG;QACfpG,IAAI,GAAG,CAAE2G,KAAK,EAAEP,QAAQ,EAAEzG,QAAQ,CAAE;MACrC,CAAC,MAAM;QACNK,IAAI,GAAG,CAAE2G,KAAK,EAAEhH,QAAQ,CAAE;MAC3B;;MAEA;MACA4C,GAAG,CAACgE,EAAE,CAAC9E,KAAK,CAAEc,GAAG,EAAEvC,IAAK,CAAC;IAC1B,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEyG,GAAG,EAAE,SAAAA,CAAWc,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAG;MAC5B;MACA,IAAIlF,GAAG,EAAEoE,KAAK,EAAEP,QAAQ,EAAEpG,IAAI;;MAE9B;MACA,IAAKuH,EAAE,YAAYnD,MAAM,EAAG;QAC3B;QACA,IAAKqD,EAAE,EAAG;UACTlF,GAAG,GAAGgF,EAAE;UACRZ,KAAK,GAAGa,EAAE;UACVpB,QAAQ,GAAGqB,EAAE;;UAEb;QACD,CAAC,MAAM;UACNlF,GAAG,GAAGgF,EAAE;UACRZ,KAAK,GAAGa,EAAE;QACX;MACD,CAAC,MAAM;QACN;QACA,IAAKA,EAAE,EAAG;UACTb,KAAK,GAAGY,EAAE;UACVnB,QAAQ,GAAGoB,EAAE;;UAEb;QACD,CAAC,MAAM;UACNb,KAAK,GAAGY,EAAE;QACX;MACD;;MAEA;MACAhF,GAAG,GAAG,IAAI,CAACmE,cAAc,CAAEnE,GAAI,CAAC;;MAEhC;MACAoE,KAAK,GAAGA,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC9B,GAAG;;MAE9B;MACA,IAAKuB,QAAQ,EAAG;QACfpG,IAAI,GAAG,CAAE2G,KAAK,EAAEP,QAAQ,CAAE;MAC3B,CAAC,MAAM;QACNpG,IAAI,GAAG,CAAE2G,KAAK,CAAE;MACjB;;MAEA;MACApE,GAAG,CAACkE,GAAG,CAAChF,KAAK,CAAEc,GAAG,EAAEvC,IAAK,CAAC;IAC3B,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEE0D,OAAO,EAAE,SAAAA,CAAW8B,IAAI,EAAExF,IAAI,EAAE2H,OAAO,EAAG;MACzC,IAAIpF,GAAG,GAAG,IAAI,CAACmE,cAAc,CAAC,CAAC;MAC/B,IAAKiB,OAAO,EAAG;QACdpF,GAAG,CAACmB,OAAO,CAACjC,KAAK,CAAEc,GAAG,EAAElC,SAAU,CAAC;MACpC,CAAC,MAAM;QACNkC,GAAG,CAACqF,cAAc,CAACnG,KAAK,CAAEc,GAAG,EAAElC,SAAU,CAAC;MAC3C;MACA,OAAO,IAAI;IACZ,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEE2E,UAAU,EAAE,SAAAA,CAAWxF,OAAO,EAAG;MAChCA,OAAO,GAAGA,OAAO,IAAI,IAAI,CAACA,OAAO,IAAI,IAAI;MACzC,IAAK,CAAEA,OAAO,EAAG,OAAO,KAAK;MAC7B,KAAM,IAAIqB,CAAC,IAAIrB,OAAO,EAAG;QACxB,IAAI,CAACJ,SAAS,CAAEyB,CAAC,EAAErB,OAAO,CAAEqB,CAAC,CAAG,CAAC;MAClC;IACD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEgH,aAAa,EAAE,SAAAA,CAAWrI,OAAO,EAAG;MACnCA,OAAO,GAAGA,OAAO,IAAI,IAAI,CAACA,OAAO,IAAI,IAAI;MACzC,IAAK,CAAEA,OAAO,EAAG,OAAO,KAAK;MAC7B,KAAM,IAAIqB,CAAC,IAAIrB,OAAO,EAAG;QACxB,IAAI,CAACN,YAAY,CAAE2B,CAAC,EAAErB,OAAO,CAAEqB,CAAC,CAAG,CAAC;MACrC;IACD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEzB,SAAS,EAAE,SAAAA,CAAWoG,IAAI,EAAE7F,QAAQ,EAAEC,QAAQ,EAAG;MAChD;MACA;MACAA,QAAQ,GAAGA,QAAQ,IAAI,IAAI,CAACA,QAAQ;;MAEpC;MACA,IAAK,OAAOD,QAAQ,KAAK,QAAQ,EAAG;QACnCA,QAAQ,GAAG,IAAI,CAAEA,QAAQ,CAAE;MAC5B;;MAEA;MACA+B,GAAG,CAACtC,SAAS,CAAEoG,IAAI,EAAE7F,QAAQ,EAAEC,QAAQ,EAAE,IAAK,CAAC;IAChD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEV,YAAY,EAAE,SAAAA,CAAWsG,IAAI,EAAE7F,QAAQ,EAAG;MACzC+B,GAAG,CAACxC,YAAY,CAAEsG,IAAI,EAAE,IAAI,CAAE7F,QAAQ,CAAG,CAAC;IAC3C,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEsF,UAAU,EAAE,SAAAA,CAAWxF,OAAO,EAAG;MAChCA,OAAO,GAAGA,OAAO,IAAI,IAAI,CAACA,OAAO,IAAI,IAAI;MACzC,IAAK,CAAEA,OAAO,EAAG,OAAO,KAAK;MAC7B,KAAM,IAAIoB,CAAC,IAAIpB,OAAO,EAAG;QACxB,IAAI,CAACR,SAAS,CAAE4B,CAAC,EAAEpB,OAAO,CAAEoB,CAAC,CAAG,CAAC;MAClC;IACD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEE5B,SAAS,EAAE,SAAAA,CAAWuG,IAAI,EAAE7F,QAAQ,EAAEC,QAAQ,EAAG;MAChD;MACAA,QAAQ,GAAGA,QAAQ,IAAI,IAAI,CAACA,QAAQ;;MAEpC;MACA,IAAK,OAAOD,QAAQ,KAAK,QAAQ,EAAG;QACnCA,QAAQ,GAAG,IAAI,CAAEA,QAAQ,CAAE;MAC5B;;MAEA;MACA+B,GAAG,CAACzC,SAAS,CAAEuG,IAAI,EAAE7F,QAAQ,EAAEC,QAAQ,EAAE,IAAK,CAAC;IAChD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEkI,aAAa,EAAE,SAAAA,CAAWrI,OAAO,EAAG;MACnCA,OAAO,GAAGA,OAAO,IAAI,IAAI,CAACA,OAAO,IAAI,IAAI;MACzC,IAAK,CAAEA,OAAO,EAAG,OAAO,KAAK;MAC7B,KAAM,IAAIoB,CAAC,IAAIpB,OAAO,EAAG;QACxB,IAAI,CAACV,YAAY,CAAE8B,CAAC,EAAEpB,OAAO,CAAEoB,CAAC,CAAG,CAAC;MACrC;IACD,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEE9B,YAAY,EAAE,SAAAA,CAAWyG,IAAI,EAAE7F,QAAQ,EAAG;MACzC+B,GAAG,CAAC3C,YAAY,CAAEyG,IAAI,EAAE,IAAI,CAAE7F,QAAQ,CAAG,CAAC;IAC3C,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEgC,CAAC,EAAE,SAAAA,CAAWyE,QAAQ,EAAG;MACxB,OAAO,IAAI,CAAC7D,GAAG,CAACiB,IAAI,CAAE4C,QAAS,CAAC;IACjC,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEjD,MAAM,EAAE,SAAAA,CAAA,EAAY;MACnB,IAAI,CAACqD,YAAY,CAAC,CAAC;MACnB,IAAI,CAACqB,aAAa,CAAC,CAAC;MACpB,IAAI,CAACC,aAAa,CAAC,CAAC;MACpB,IAAI,CAACvF,GAAG,CAACY,MAAM,CAAC,CAAC;IAClB,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEE4E,UAAU,EAAE,SAAAA,CAAWpI,QAAQ,EAAEqI,YAAY,EAAG;MAC/C,OAAOD,UAAU,CAAE,IAAI,CAACd,KAAK,CAAEtH,QAAS,CAAC,EAAEqI,YAAa,CAAC;IAC1D,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEC,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjBC,OAAO,CAACD,IAAI,CAAE,IAAI,CAAC7C,EAAE,IAAI,IAAI,CAACP,GAAI,CAAC;IACpC,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEsD,OAAO,EAAE,SAAAA,CAAA,EAAY;MACpBD,OAAO,CAACC,OAAO,CAAE,IAAI,CAAC/C,EAAE,IAAI,IAAI,CAACP,GAAI,CAAC;IACvC,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEEuD,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjB1G,GAAG,CAAC0G,IAAI,CAAE,IAAI,CAAC7F,GAAI,CAAC;IACrB,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEE8F,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjB3G,GAAG,CAAC2G,IAAI,CAAE,IAAI,CAAC9F,GAAI,CAAC;IACrB,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEE0E,KAAK,EAAE,SAAAA,CAAWtH,QAAQ,EAAG;MAC5B,OAAOgC,CAAC,CAACsF,KAAK,CAAEtH,QAAQ,EAAE,IAAK,CAAC;IACjC;EACD,CAAE,CAAC;;EAEH;EACAmC,KAAK,CAACC,MAAM,GAAGA,MAAM;;EAErB;EACAL,GAAG,CAACE,MAAM,GAAG,CAAC,CAAC;;EAEf;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAECF,GAAG,CAAC4G,WAAW,GAAG,UAAW/F,GAAG,EAAG;IAClC,OAAOA,GAAG,CAACP,IAAI,CAAE,KAAM,CAAC;EACzB,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAECN,GAAG,CAAC6G,YAAY,GAAG,UAAWhG,GAAG,EAAG;IACnC,IAAIiG,SAAS,GAAG,EAAE;IAClBjG,GAAG,CAACkG,IAAI,CAAE,YAAY;MACrBD,SAAS,CAACrH,IAAI,CAAEO,GAAG,CAAC4G,WAAW,CAAE3G,CAAC,CAAE,IAAK,CAAE,CAAE,CAAC;IAC/C,CAAE,CAAC;IACH,OAAO6G,SAAS;EACjB,CAAC;AACF,CAAC,EAAIpE,MAAO,CAAC;;;;;;;;;;ACn4Bb,CAAE,UAAWzC,CAAC,EAAE/C,SAAS,EAAG;EAC3B,IAAI8J,MAAM,GAAGhH,GAAG,CAACI,KAAK,CAACC,MAAM,CAAE;IAC9BC,IAAI,EAAE;MACL2G,IAAI,EAAE,EAAE;MACRjI,IAAI,EAAE,EAAE;MACRkI,OAAO,EAAE,CAAC;MACVC,OAAO,EAAE,IAAI;MACb/B,MAAM,EAAE,KAAK;MACb5D,KAAK,EAAE,SAAAA,CAAA,EAAY,CAAC;IACrB,CAAC;IAEDd,MAAM,EAAE;MACP,2BAA2B,EAAE;IAC9B,CAAC;IAED0G,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjB,OAAO,gCAAgC;IACxC,CAAC;IAEDzG,KAAK,EAAE,SAAAA,CAAWC,KAAK,EAAG;MACzBX,CAAC,CAACI,MAAM,CAAE,IAAI,CAACC,IAAI,EAAEM,KAAM,CAAC;MAC5B,IAAI,CAACC,GAAG,GAAGZ,CAAC,CAAE,IAAI,CAACmH,IAAI,CAAC,CAAE,CAAC;IAC5B,CAAC;IAEDrG,UAAU,EAAE,SAAAA,CAAA,EAAY;MACvB;MACA,IAAI,CAACD,MAAM,CAAC,CAAC;;MAEb;MACA,IAAI,CAAC4F,IAAI,CAAC,CAAC;IACZ,CAAC;IAED5F,MAAM,EAAE,SAAAA,CAAA,EAAY;MACnB;MACA,IAAI,CAAC9B,IAAI,CAAE,IAAI,CAACiC,GAAG,CAAE,MAAO,CAAE,CAAC;;MAE/B;MACA,IAAI,CAACK,IAAI,CAAE,KAAK,GAAG,IAAI,CAACL,GAAG,CAAE,MAAO,CAAC,GAAG,MAAO,CAAC;;MAEhD;MACA,IAAK,IAAI,CAACA,GAAG,CAAE,SAAU,CAAC,EAAG;QAC5B,IAAI,CAACJ,GAAG,CAACU,MAAM,CACd,oEACD,CAAC;QACD,IAAI,CAACV,GAAG,CAACwG,QAAQ,CAAE,UAAW,CAAC;MAChC;;MAEA;MACA,IAAIH,OAAO,GAAG,IAAI,CAACjG,GAAG,CAAE,SAAU,CAAC;MACnC,IAAKiG,OAAO,EAAG;QACd,IAAI,CAACI,IAAI,CAAEJ,OAAQ,CAAC;MACrB;IACD,CAAC;IAED9F,MAAM,EAAE,SAAAA,CAAWR,KAAK,EAAG;MAC1B;MACAX,CAAC,CAACI,MAAM,CAAE,IAAI,CAACC,IAAI,EAAEM,KAAM,CAAC;;MAE5B;MACA,IAAI,CAACG,UAAU,CAAC,CAAC;;MAEjB;MACA,IAAI,CAAC+D,YAAY,CAAC,CAAC;MACnB,IAAI,CAACzB,SAAS,CAAC,CAAC;IACjB,CAAC;IAEDqD,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjB,IAAIa,OAAO,GAAG,IAAI,CAACtG,GAAG,CAAE,QAAS,CAAC;MAClC,IAAKsG,OAAO,EAAG;QACdA,OAAO,CAACC,OAAO,CAAE,IAAI,CAAC3G,GAAI,CAAC;MAC5B;IACD,CAAC;IAED8F,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjB,IAAI,CAAC9F,GAAG,CAACY,MAAM,CAAC,CAAC;IAClB,CAAC;IAED6F,IAAI,EAAE,SAAAA,CAAWJ,OAAO,EAAG;MAC1B,IAAI,CAACb,UAAU,CAAE,YAAY;QAC5BrG,GAAG,CAACyB,MAAM,CAAE,IAAI,CAACZ,GAAI,CAAC;MACvB,CAAC,EAAEqG,OAAQ,CAAC;IACb,CAAC;IAEDlI,IAAI,EAAE,SAAAA,CAAWA,IAAI,EAAG;MACvB;MACA,IAAIyI,QAAQ,GAAG,IAAI,CAACxG,GAAG,CAAE,MAAO,CAAC;MACjC,IAAKwG,QAAQ,EAAG;QACf,IAAI,CAAC5G,GAAG,CAAC6G,WAAW,CAAE,GAAG,GAAGD,QAAS,CAAC;MACvC;;MAEA;MACA,IAAI,CAAC5G,GAAG,CAACwG,QAAQ,CAAE,GAAG,GAAGrI,IAAK,CAAC;;MAE/B;MACA,IAAKA,IAAI,IAAI,OAAO,EAAG;QACtB,IAAI,CAAC6B,GAAG,CAACwG,QAAQ,CAAE,mBAAoB,CAAC;MACzC;IACD,CAAC;IAED/F,IAAI,EAAE,SAAAA,CAAWA,IAAI,EAAG;MACvB,IAAI,CAACT,GAAG,CAACS,IAAI,CAAEtB,GAAG,CAAC2H,OAAO,CAAErG,IAAK,CAAE,CAAC;IACrC,CAAC;IAED2F,IAAI,EAAE,SAAAA,CAAWA,IAAI,EAAG;MACvB,IAAI,CAAChH,CAAC,CAAE,GAAI,CAAC,CAACqB,IAAI,CAAEtB,GAAG,CAAC2H,OAAO,CAAEV,IAAK,CAAE,CAAC;IAC1C,CAAC;IAEDvF,YAAY,EAAE,SAAAA,CAAWC,CAAC,EAAEd,GAAG,EAAG;MACjCc,CAAC,CAACC,cAAc,CAAC,CAAC;MAClB,IAAI,CAACX,GAAG,CAAE,OAAQ,CAAC,CAAClB,KAAK,CAAE,IAAI,EAAEpB,SAAU,CAAC;MAC5C,IAAI,CAAC8C,MAAM,CAAC,CAAC;IACd;EACD,CAAE,CAAC;EAEHzB,GAAG,CAAC4H,SAAS,GAAG,UAAWhH,KAAK,EAAG;IAClC;IACA,IAAK,OAAOA,KAAK,KAAK,QAAQ,EAAG;MAChCA,KAAK,GAAG;QAAEqG,IAAI,EAAErG;MAAM,CAAC;IACxB;;IAEA;IACA,OAAO,IAAIoG,MAAM,CAAEpG,KAAM,CAAC;EAC3B,CAAC;EAED,IAAIiH,aAAa,GAAG,IAAI7H,GAAG,CAACI,KAAK,CAAE;IAClCoD,IAAI,EAAE,SAAS;IACftF,QAAQ,EAAE,CAAC;IACX6C,UAAU,EAAE,SAAAA,CAAA,EAAY;MACvB,MAAM+G,QAAQ,GAAG7H,CAAC,CAAE,mBAAoB,CAAC;MAEzC6H,QAAQ,CAACf,IAAI,CAAE,YAAW;QACzB,IAAK9G,CAAC,CAAE,IAAK,CAAC,CAACK,IAAI,CAAE,WAAY,CAAC,EAAG;UACpC,IAAIyH,SAAS,GAAG/H,GAAG,CAACgI,aAAa,CAAE,mBAAoB,CAAC;UAExD,IACCD,SAAS,IACT,OAAOA,SAAS,IAAI,QAAQ,IAC5BA,SAAS,CAACE,QAAQ,CAAEhI,CAAC,CAAE,IAAK,CAAC,CAACK,IAAI,CAAE,YAAa,CAAE,CAAC,EACnD;YACDL,CAAC,CAAE,IAAK,CAAC,CAACwB,MAAM,CAAC,CAAC;UACnB,CAAC,MAAM;YACNxB,CAAC,CAAE,IAAK,CAAC,CAACyG,IAAI,CAAC,CAAC;YAChBzG,CAAC,CAAE,IAAK,CAAC,CAAC4E,EAAE,CAAE,OAAO,EAAE,iBAAiB,EAAE,UAAWlD,CAAC,EAAG;cACxDoG,SAAS,GAAG/H,GAAG,CAACgI,aAAa,CAAE,mBAAoB,CAAC;cACpD,IAAK,CAAED,SAAS,IAAI,OAAOA,SAAS,IAAI,QAAQ,EAAG;gBAClDA,SAAS,GAAG,EAAE;cACf;cACAA,SAAS,CAACtI,IAAI,CAAEQ,CAAC,CAAE,IAAK,CAAC,CAACuC,OAAO,CAAE,mBAAoB,CAAC,CAAClC,IAAI,CAAE,YAAa,CAAE,CAAC;cAC/EN,GAAG,CAACkI,aAAa,CAAE,mBAAmB,EAAEH,SAAU,CAAC;YACpD,CAAE,CAAC;UACJ;QACD;MACD,CAAE,CAAC;IACJ;EACD,CAAE,CAAC;AACJ,CAAC,EAAIrF,MAAO,CAAC;;;;;;;;;;AC3Jb,CAAE,UAAWzC,CAAC,EAAE/C,SAAS,EAAG;EAC3B,IAAIiL,KAAK,GAAG,IAAInI,GAAG,CAACI,KAAK,CAAE;IAC1BM,MAAM,EAAE;MACP,wBAAwB,EAAE;IAC3B,CAAC;IAED0H,OAAO,EAAE,SAAAA,CAAWzG,CAAC,EAAEd,GAAG,EAAG;MAC5Bc,CAAC,CAACC,cAAc,CAAC,CAAC;MAClB,IAAI,CAACyG,MAAM,CAAExH,GAAG,CAACyH,MAAM,CAAC,CAAE,CAAC;IAC5B,CAAC;IAEDC,MAAM,EAAE,SAAAA,CAAW1H,GAAG,EAAG;MACxB,OAAOA,GAAG,CAAC2H,QAAQ,CAAE,OAAQ,CAAC;IAC/B,CAAC;IAEDH,MAAM,EAAE,SAAAA,CAAWxH,GAAG,EAAG;MACxB,IAAI,CAAC0H,MAAM,CAAE1H,GAAI,CAAC,GAAG,IAAI,CAACW,KAAK,CAAEX,GAAI,CAAC,GAAG,IAAI,CAACG,IAAI,CAAEH,GAAI,CAAC;IAC1D,CAAC;IAEDG,IAAI,EAAE,SAAAA,CAAWH,GAAG,EAAG;MACtBA,GAAG,CAACwG,QAAQ,CAAE,OAAQ,CAAC;MACvBxG,GAAG,CAACiB,IAAI,CAAE,oBAAqB,CAAC,CAACO,IAAI,CACpC,OAAO,EACP,gCACD,CAAC;IACF,CAAC;IAEDb,KAAK,EAAE,SAAAA,CAAWX,GAAG,EAAG;MACvBA,GAAG,CAAC6G,WAAW,CAAE,OAAQ,CAAC;MAC1B7G,GAAG,CAACiB,IAAI,CAAE,oBAAqB,CAAC,CAACO,IAAI,CACpC,OAAO,EACP,iCACD,CAAC;IACF;EACD,CAAE,CAAC;AACJ,CAAC,EAAIK,MAAO,CAAC;;;;;;;;;;ACnCb,CAAE,UAAWzC,CAAC,EAAE/C,SAAS,EAAG;EAC3B8C,GAAG,CAACE,MAAM,CAACuI,KAAK,GAAGzI,GAAG,CAACI,KAAK,CAACC,MAAM,CAAE;IACpCC,IAAI,EAAE;MACLC,KAAK,EAAE,EAAE;MACTC,OAAO,EAAE,EAAE;MACXkI,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACTC,OAAO,EAAE,KAAK;MACdrG,QAAQ,EAAE;IACX,CAAC;IAED7B,MAAM,EAAE;MACP,4BAA4B,EAAE,cAAc;MAC5C,wBAAwB,EAAE,cAAc;MACxC,SAAS,EAAE;IACZ,CAAC;IAEDC,KAAK,EAAE,SAAAA,CAAWC,KAAK,EAAG;MACzBX,CAAC,CAACI,MAAM,CAAE,IAAI,CAACC,IAAI,EAAEM,KAAM,CAAC;MAC5B,IAAI,CAACC,GAAG,GAAGZ,CAAC,CAAE,IAAI,CAACmH,IAAI,CAAC,CAAE,CAAC;IAC5B,CAAC;IAEDrG,UAAU,EAAE,SAAAA,CAAA,EAAY;MACvB,IAAI,CAACD,MAAM,CAAC,CAAC;MACb,IAAI,CAACE,IAAI,CAAC,CAAC;MACX,IAAI,CAACa,KAAK,CAAC,CAAC;MACZ,IAAI,CAACgH,gBAAgB,CAAE,IAAK,CAAC;IAC9B,CAAC;IAEDzB,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjB,OAAO,CACN,kDAAkD,EAClD,qCAAqC,EACrC,uGAAuG,GAAGpH,GAAG,CAAC8I,EAAE,CAAC,aAAa,CAAC,GAAG,cAAc,EAChJ,2BAA2B,EAC3B,wDAAwD,EACxD,QAAQ,EACR,2CAA2C,EAC3C,QAAQ,CACR,CAAC5H,IAAI,CAAE,EAAG,CAAC;IACb,CAAC;IAEDJ,MAAM,EAAE,SAAAA,CAAA,EAAY;MACnB;MACA,IAAIP,KAAK,GAAG,IAAI,CAACU,GAAG,CAAE,OAAQ,CAAC;MAC/B,IAAIT,OAAO,GAAG,IAAI,CAACS,GAAG,CAAE,SAAU,CAAC;MACnC,IAAI2H,OAAO,GAAG,IAAI,CAAC3H,GAAG,CAAE,SAAU,CAAC;MACnC,IAAIyH,KAAK,GAAG,IAAI,CAACzH,GAAG,CAAE,OAAQ,CAAC;MAC/B,IAAI0H,MAAM,GAAG,IAAI,CAAC1H,GAAG,CAAE,QAAS,CAAC;;MAEjC;MACA,IAAI,CAACV,KAAK,CAAEA,KAAM,CAAC;MACnB,IAAI,CAACC,OAAO,CAAEA,OAAQ,CAAC;MACvB,IAAKkI,KAAK,EAAG;QACZ,IAAI,CAACzI,CAAC,CAAE,gBAAiB,CAAC,CAAC8I,GAAG,CAAE,OAAO,EAAEL,KAAM,CAAC;MACjD;MACA,IAAKC,MAAM,EAAG;QACb,IAAI,CAAC1I,CAAC,CAAE,gBAAiB,CAAC,CAAC8I,GAAG,CAAE,YAAY,EAAEJ,MAAO,CAAC;MACvD;MACA,IAAI,CAACC,OAAO,CAAEA,OAAQ,CAAC;;MAEvB;MACA5I,GAAG,CAACvC,QAAQ,CAAE,QAAQ,EAAE,IAAI,CAACoD,GAAI,CAAC;IACnC,CAAC;IAED;AACF;AACA;IACEgB,KAAK,EAAE,SAAAA,CAAA,EAAW;MACjB,IAAI,CAAChB,GAAG,CAACiB,IAAI,CAAE,WAAY,CAAC,CAACC,KAAK,CAAC,CAAC,CAACC,OAAO,CAAE,OAAQ,CAAC;IACxD,CAAC;IAED;AACF;AACA;AACA;AACA;IACE6G,gBAAgB,EAAE,SAAAA,CAAU3G,MAAM,EAAG;MACpC,IAAIC,YAAY,GAAGlC,CAAC,CAAE,SAAU,CAAC;MAEjC,IAAK,CAAEkC,YAAY,CAAC/C,MAAM,EAAG;QAC5B;MACD;MAEA+C,YAAY,CAAE,CAAC,CAAE,CAACC,KAAK,GAAGF,MAAM;MAChCC,YAAY,CAACE,IAAI,CAAE,aAAa,EAAEH,MAAO,CAAC;IAC3C,CAAC;IAEDd,MAAM,EAAE,SAAAA,CAAWR,KAAK,EAAG;MAC1B,IAAI,CAACN,IAAI,GAAGN,GAAG,CAACqB,SAAS,CAAET,KAAK,EAAE,IAAI,CAACN,IAAK,CAAC;MAC7C,IAAI,CAACQ,MAAM,CAAC,CAAC;IACd,CAAC;IAEDP,KAAK,EAAE,SAAAA,CAAWA,KAAK,EAAG;MACzB,IAAI,CAACN,CAAC,CAAE,iBAAkB,CAAC,CAACqB,IAAI,CAAEf,KAAM,CAAC;IAC1C,CAAC;IAEDC,OAAO,EAAE,SAAAA,CAAWA,OAAO,EAAG;MAC7B,IAAI,CAACP,CAAC,CAAE,cAAe,CAAC,CAACqB,IAAI,CAAEd,OAAQ,CAAC;IACzC,CAAC;IAEDoI,OAAO,EAAE,SAAAA,CAAWlC,IAAI,EAAG;MAC1B,IAAIsC,QAAQ,GAAG,IAAI,CAAC/I,CAAC,CAAE,gBAAiB,CAAC;MACzCyG,IAAI,GAAGsC,QAAQ,CAACtC,IAAI,CAAC,CAAC,GAAGsC,QAAQ,CAACrC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED3F,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjBf,CAAC,CAAE,MAAO,CAAC,CAACsB,MAAM,CAAE,IAAI,CAACV,GAAI,CAAC;IAC/B,CAAC;IAEDW,KAAK,EAAE,SAAAA,CAAA,EAAY;MAClB,IAAI,CAACqH,gBAAgB,CAAE,KAAM,CAAC;MAC9B,IAAI,CAACvG,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACb,MAAM,CAAC,CAAC;IACd,CAAC;IAEDC,YAAY,EAAE,SAAAA,CAAWC,CAAC,EAAEd,GAAG,EAAG;MACjCc,CAAC,CAACC,cAAc,CAAC,CAAC;MAClB,IAAI,CAACJ,KAAK,CAAC,CAAC;IACb,CAAC;IAED;AACF;AACA;AACA;AACA;IACEyH,kBAAkB,EAAE,SAAAA,CAAUtH,CAAC,EAAG;MACjC,IAAKA,CAAC,CAACgD,GAAG,KAAK,QAAQ,EAAG;QACzB,IAAI,CAACnD,KAAK,CAAC,CAAC;MACb;IACD,CAAC;IAED;AACF;AACA;AACA;IACEc,mBAAmB,EAAE,SAAAA,CAAA,EAAW;MAC/B,IACC,IAAI,CAAChC,IAAI,CAACiC,QAAQ,YAAYtC,CAAC,IAC5B,IAAI,CAACK,IAAI,CAACiC,QAAQ,CAACC,OAAO,CAAE,MAAO,CAAC,CAACpD,MAAM,GAAG,CAAC,EACjD;QACD,IAAI,CAACkB,IAAI,CAACiC,QAAQ,CAACP,OAAO,CAAE,OAAQ,CAAC;MACtC;IACD;EAED,CAAE,CAAC;;EAEH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEChC,GAAG,CAACkJ,QAAQ,GAAG,UAAWtI,KAAK,EAAG;IACjC,OAAO,IAAIZ,GAAG,CAACE,MAAM,CAACuI,KAAK,CAAE7H,KAAM,CAAC;EACrC,CAAC;AACF,CAAC,EAAI8B,MAAO,CAAC;;;;;;;;;;AClKb,CAAE,UAAWzC,CAAC,EAAE/C,SAAS,EAAG;EAC3B8C,GAAG,CAACmJ,UAAU,GAAG,UAAWvI,KAAK,EAAG;IACnC;IACA,IAAK,OAAOA,KAAK,KAAK,QAAQ,EAAG;MAChCA,KAAK,GAAG;QAAEqG,IAAI,EAAErG;MAAM,CAAC;IACxB;;IAEA;IACA,IAAKA,KAAK,CAACwI,aAAa,KAAKlM,SAAS,EAAG;MACxC0D,KAAK,CAACyI,WAAW,GAAGrJ,GAAG,CAAC8I,EAAE,CAAE,QAAS,CAAC;MACtClI,KAAK,CAAC0I,UAAU,GAAGtJ,GAAG,CAAC8I,EAAE,CAAE,QAAS,CAAC;MACrC,OAAO,IAAIS,cAAc,CAAE3I,KAAM,CAAC;;MAElC;IACD,CAAC,MAAM,IAAKA,KAAK,CAAC4I,OAAO,KAAKtM,SAAS,EAAG;MACzC,OAAO,IAAIqM,cAAc,CAAE3I,KAAM,CAAC;;MAElC;IACD,CAAC,MAAM;MACN,OAAO,IAAI6I,OAAO,CAAE7I,KAAM,CAAC;IAC5B;EACD,CAAC;EAED,IAAI6I,OAAO,GAAGzJ,GAAG,CAACI,KAAK,CAACC,MAAM,CAAE;IAC/BC,IAAI,EAAE;MACL2G,IAAI,EAAE,EAAE;MACRC,OAAO,EAAE,CAAC;MACV9B,MAAM,EAAE;IACT,CAAC;IAEDgC,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjB,OAAO,iCAAiC;IACzC,CAAC;IAEDzG,KAAK,EAAE,SAAAA,CAAWC,KAAK,EAAG;MACzBX,CAAC,CAACI,MAAM,CAAE,IAAI,CAACC,IAAI,EAAEM,KAAM,CAAC;MAC5B,IAAI,CAACC,GAAG,GAAGZ,CAAC,CAAE,IAAI,CAACmH,IAAI,CAAC,CAAE,CAAC;IAC5B,CAAC;IAEDrG,UAAU,EAAE,SAAAA,CAAA,EAAY;MACvB;MACA,IAAI,CAACD,MAAM,CAAC,CAAC;;MAEb;MACA,IAAI,CAAC4F,IAAI,CAAC,CAAC;;MAEX;MACA,IAAI,CAACgD,QAAQ,CAAC,CAAC;;MAEf;MACA,IAAIxC,OAAO,GAAG,IAAI,CAACjG,GAAG,CAAE,SAAU,CAAC;MACnC,IAAKiG,OAAO,EAAG;QACdb,UAAU,CAAEpG,CAAC,CAACsF,KAAK,CAAE,IAAI,CAACoE,IAAI,EAAE,IAAK,CAAC,EAAEzC,OAAQ,CAAC;MAClD;IACD,CAAC;IAED9F,MAAM,EAAE,SAAAA,CAAWR,KAAK,EAAG;MAC1BX,CAAC,CAACI,MAAM,CAAE,IAAI,CAACC,IAAI,EAAEM,KAAM,CAAC;MAC5B,IAAI,CAACG,UAAU,CAAC,CAAC;IAClB,CAAC;IAEDD,MAAM,EAAE,SAAAA,CAAA,EAAY;MACnB,IAAI,CAACQ,IAAI,CAAE,IAAI,CAACL,GAAG,CAAE,MAAO,CAAE,CAAC;IAChC,CAAC;IAEDyF,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjBzG,CAAC,CAAE,MAAO,CAAC,CAACsB,MAAM,CAAE,IAAI,CAACV,GAAI,CAAC;IAC/B,CAAC;IAED8F,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjB,IAAI,CAAC9F,GAAG,CAACY,MAAM,CAAC,CAAC;IAClB,CAAC;IAEDkI,IAAI,EAAE,SAAAA,CAAA,EAAY;MACjB;MACA,IAAI,CAAC9I,GAAG,CAACwG,QAAQ,CAAE,aAAc,CAAC;;MAElC;MACA,IAAI,CAAChB,UAAU,CAAE,YAAY;QAC5B,IAAI,CAAC5E,MAAM,CAAC,CAAC;MACd,CAAC,EAAE,GAAI,CAAC;IACT,CAAC;IAEDH,IAAI,EAAE,SAAAA,CAAWA,IAAI,EAAG;MACvB,IAAI,CAACT,GAAG,CAACS,IAAI,CAAEA,IAAK,CAAC;IACtB,CAAC;IAEDoI,QAAQ,EAAE,SAAAA,CAAA,EAAY;MACrB;MACA,IAAIE,QAAQ,GAAG,IAAI,CAAC/I,GAAG;MACvB,IAAI0G,OAAO,GAAG,IAAI,CAACtG,GAAG,CAAE,QAAS,CAAC;MAClC,IAAK,CAAEsG,OAAO,EAAG;;MAEjB;MACAqC,QAAQ,CACNlC,WAAW,CAAE,uBAAwB,CAAC,CACtCqB,GAAG,CAAE;QAAEc,GAAG,EAAE,CAAC;QAAEC,IAAI,EAAE;MAAE,CAAE,CAAC;;MAE5B;MACA,IAAIC,SAAS,GAAG,EAAE;;MAElB;MACA,IAAIC,WAAW,GAAGzC,OAAO,CAAC0C,UAAU,CAAC,CAAC;MACtC,IAAIC,YAAY,GAAG3C,OAAO,CAAC4C,WAAW,CAAC,CAAC;MACxC,IAAIC,SAAS,GAAG7C,OAAO,CAAC8C,MAAM,CAAC,CAAC,CAACR,GAAG;MACpC,IAAIS,UAAU,GAAG/C,OAAO,CAAC8C,MAAM,CAAC,CAAC,CAACP,IAAI;;MAEtC;MACA,IAAIS,YAAY,GAAGX,QAAQ,CAACK,UAAU,CAAC,CAAC;MACxC,IAAIO,aAAa,GAAGZ,QAAQ,CAACO,WAAW,CAAC,CAAC;MAC1C,IAAIM,UAAU,GAAGb,QAAQ,CAACS,MAAM,CAAC,CAAC,CAACR,GAAG,CAAC,CAAC;;MAExC;MACA,IAAIA,GAAG,GAAGO,SAAS,GAAGI,aAAa,GAAGC,UAAU;MAChD,IAAIX,IAAI,GAAGQ,UAAU,GAAGN,WAAW,GAAG,CAAC,GAAGO,YAAY,GAAG,CAAC;;MAE1D;MACA,IAAKT,IAAI,GAAGC,SAAS,EAAG;QACvBH,QAAQ,CAACvC,QAAQ,CAAE,OAAQ,CAAC;QAC5ByC,IAAI,GAAGQ,UAAU,GAAGN,WAAW;QAC/BH,GAAG,GACFO,SAAS,GACTF,YAAY,GAAG,CAAC,GAChBM,aAAa,GAAG,CAAC,GACjBC,UAAU;;QAEX;MACD,CAAC,MAAM,IACNX,IAAI,GAAGS,YAAY,GAAGR,SAAS,GAC/B9J,CAAC,CAAEhD,MAAO,CAAC,CAACyL,KAAK,CAAC,CAAC,EAClB;QACDkB,QAAQ,CAACvC,QAAQ,CAAE,MAAO,CAAC;QAC3ByC,IAAI,GAAGQ,UAAU,GAAGC,YAAY;QAChCV,GAAG,GACFO,SAAS,GACTF,YAAY,GAAG,CAAC,GAChBM,aAAa,GAAG,CAAC,GACjBC,UAAU;;QAEX;MACD,CAAC,MAAM,IAAKZ,GAAG,GAAG5J,CAAC,CAAEhD,MAAO,CAAC,CAACyN,SAAS,CAAC,CAAC,GAAGX,SAAS,EAAG;QACvDH,QAAQ,CAACvC,QAAQ,CAAE,QAAS,CAAC;QAC7BwC,GAAG,GAAGO,SAAS,GAAGF,YAAY,GAAGO,UAAU;;QAE3C;MACD,CAAC,MAAM;QACNb,QAAQ,CAACvC,QAAQ,CAAE,KAAM,CAAC;MAC3B;;MAEA;MACAuC,QAAQ,CAACb,GAAG,CAAE;QAAEc,GAAG,EAAEA,GAAG;QAAEC,IAAI,EAAEA;MAAK,CAAE,CAAC;IACzC;EACD,CAAE,CAAC;EAEH,IAAIP,cAAc,GAAGE,OAAO,CAACpJ,MAAM,CAAE;IACpCC,IAAI,EAAE;MACL2G,IAAI,EAAE,EAAE;MACRoC,WAAW,EAAE,EAAE;MACfC,UAAU,EAAE,EAAE;MACdlE,MAAM,EAAE,IAAI;MACZuF,aAAa,EAAE,IAAI;MACnBnB,OAAO,EAAE,SAAAA,CAAA,EAAY,CAAC,CAAC;MACvBoB,MAAM,EAAE,SAAAA,CAAA,EAAY,CAAC,CAAC;MACtBzM,OAAO,EAAE;IACV,CAAC;IAEDuC,MAAM,EAAE;MACP,6BAA6B,EAAE,UAAU;MACzC,8BAA8B,EAAE;IACjC,CAAC;IAED2C,SAAS,EAAE,SAAAA,CAAA,EAAY;MACtB;MACArD,GAAG,CAACI,KAAK,CAAC5B,SAAS,CAAC6E,SAAS,CAACtD,KAAK,CAAE,IAAK,CAAC;;MAE3C;MACA,IAAI8K,SAAS,GAAG5K,CAAC,CAAEiF,QAAS,CAAC;MAC7B,IAAIqC,OAAO,GAAG,IAAI,CAACtG,GAAG,CAAE,QAAS,CAAC;;MAElC;MACA;MACA,IAAI,CAACoF,UAAU,CAAE,YAAY;QAC5B,IAAI,CAACxB,EAAE,CAAEgG,SAAS,EAAE,OAAO,EAAE,UAAW,CAAC;MAC1C,CAAE,CAAC;;MAEH;MACA;MACA,IAAK,IAAI,CAAC5J,GAAG,CAAE,eAAgB,CAAC,EAAG;QAClC,IAAI,CAAC4D,EAAE,CAAE0C,OAAO,EAAE,OAAO,EAAE,WAAY,CAAC;MACzC;IACD,CAAC;IAEDzC,YAAY,EAAE,SAAAA,CAAA,EAAY;MACzB;MACA9E,GAAG,CAACI,KAAK,CAAC5B,SAAS,CAACsG,YAAY,CAAC/E,KAAK,CAAE,IAAK,CAAC;;MAE9C;MACA,IAAI8K,SAAS,GAAG5K,CAAC,CAAEiF,QAAS,CAAC;MAC7B,IAAIqC,OAAO,GAAG,IAAI,CAACtG,GAAG,CAAE,QAAS,CAAC;;MAElC;MACA,IAAI,CAAC8D,GAAG,CAAE8F,SAAS,EAAE,OAAQ,CAAC;MAC9B,IAAI,CAAC9F,GAAG,CAAEwC,OAAO,EAAE,OAAQ,CAAC;IAC7B,CAAC;IAEDzG,MAAM,EAAE,SAAAA,CAAA,EAAY;MACnB;MACA,IAAImG,IAAI,GAAG,IAAI,CAAChG,GAAG,CAAE,MAAO,CAAC,IAAIjB,GAAG,CAAC8I,EAAE,CAAE,eAAgB,CAAC;MAC1D,IAAIO,WAAW,GAAG,IAAI,CAACpI,GAAG,CAAE,aAAc,CAAC,IAAIjB,GAAG,CAAC8I,EAAE,CAAE,KAAM,CAAC;MAC9D,IAAIQ,UAAU,GAAG,IAAI,CAACrI,GAAG,CAAE,YAAa,CAAC,IAAIjB,GAAG,CAAC8I,EAAE,CAAE,IAAK,CAAC;;MAE3D;MACA,IAAIxH,IAAI,GAAG,CACV2F,IAAI,EACJ,mCAAmC,GAAGoC,WAAW,GAAG,MAAM,EAC1D,kCAAkC,GAAGC,UAAU,GAAG,MAAM,CACxD,CAACpI,IAAI,CAAE,GAAI,CAAC;;MAEb;MACA,IAAI,CAACI,IAAI,CAAEA,IAAK,CAAC;;MAEjB;MACA,IAAI,CAACT,GAAG,CAACwG,QAAQ,CAAE,UAAW,CAAC;IAChC,CAAC;IAEDyD,QAAQ,EAAE,SAAAA,CAAWnJ,CAAC,EAAEd,GAAG,EAAG;MAC7B;MACAc,CAAC,CAACC,cAAc,CAAC,CAAC;MAClBD,CAAC,CAACoJ,wBAAwB,CAAC,CAAC;;MAE5B;MACA,IAAI9M,QAAQ,GAAG,IAAI,CAACgD,GAAG,CAAE,QAAS,CAAC;MACnC,IAAI9C,OAAO,GAAG,IAAI,CAAC8C,GAAG,CAAE,SAAU,CAAC,IAAI,IAAI;MAC3ChD,QAAQ,CAAC8B,KAAK,CAAE5B,OAAO,EAAEQ,SAAU,CAAC;;MAEpC;MACA,IAAI,CAAC8C,MAAM,CAAC,CAAC;IACd,CAAC;IAEDuJ,SAAS,EAAE,SAAAA,CAAWrJ,CAAC,EAAEd,GAAG,EAAG;MAC9B;MACAc,CAAC,CAACC,cAAc,CAAC,CAAC;MAClBD,CAAC,CAACoJ,wBAAwB,CAAC,CAAC;;MAE5B;MACA,IAAI9M,QAAQ,GAAG,IAAI,CAACgD,GAAG,CAAE,SAAU,CAAC;MACpC,IAAI9C,OAAO,GAAG,IAAI,CAAC8C,GAAG,CAAE,SAAU,CAAC,IAAI,IAAI;MAC3ChD,QAAQ,CAAC8B,KAAK,CAAE5B,OAAO,EAAEQ,SAAU,CAAC;;MAEpC;MACA,IAAI,CAAC8C,MAAM,CAAC,CAAC;IACd;EACD,CAAE,CAAC;;EAEH;EACAzB,GAAG,CAACE,MAAM,CAACuJ,OAAO,GAAGA,OAAO;EAC5BzJ,GAAG,CAACE,MAAM,CAACqJ,cAAc,GAAGA,cAAc;;EAE1C;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC,IAAI0B,kBAAkB,GAAG,IAAIjL,GAAG,CAACI,KAAK,CAAE;IACvC8K,OAAO,EAAE,KAAK;IAEdxK,MAAM,EAAE;MACP,4BAA4B,EAAE,WAAW;MACzC,yBAAyB,EAAE,WAAW;MACtC,4BAA4B,EAAE,WAAW;MACzC,uBAAuB,EAAE,WAAW;MACpC,sBAAsB,EAAE,WAAW;MACnC,uBAAuB,EAAE;IAC1B,CAAC;IAEDyK,SAAS,EAAE,SAAAA,CAAWxJ,CAAC,EAAEd,GAAG,EAAG;MAC9B;MACA,IAAIN,KAAK,GAAGM,GAAG,CAACwB,IAAI,CAAE,OAAQ,CAAC;;MAE/B;MACA,IAAK,CAAE9B,KAAK,EAAG;QACd;MACD;;MAEA;MACAM,GAAG,CAACwB,IAAI,CAAE,OAAO,EAAE,EAAG,CAAC;;MAEvB;MACA,IAAK,CAAE,IAAI,CAAC6I,OAAO,EAAG;QACrB,IAAI,CAACA,OAAO,GAAGlL,GAAG,CAACmJ,UAAU,CAAE;UAC9BlC,IAAI,EAAE1G,KAAK;UACX6E,MAAM,EAAEvE;QACT,CAAE,CAAC;;QAEH;MACD,CAAC,MAAM;QACN,IAAI,CAACqK,OAAO,CAAC9J,MAAM,CAAE;UACpB6F,IAAI,EAAE1G,KAAK;UACX6E,MAAM,EAAEvE;QACT,CAAE,CAAC;MACJ;IACD,CAAC;IAEDuK,SAAS,EAAE,SAAAA,CAAWzJ,CAAC,EAAEd,GAAG,EAAG;MAC9B;MACA,IAAI,CAACqK,OAAO,CAACvE,IAAI,CAAC,CAAC;;MAEnB;MACA9F,GAAG,CAACwB,IAAI,CAAE,OAAO,EAAE,IAAI,CAAC6I,OAAO,CAACjK,GAAG,CAAE,MAAO,CAAE,CAAC;IAChD,CAAC;IAEDoK,OAAO,EAAE,SAAAA,CAAU1J,CAAC,EAAEd,GAAG,EAAG;MAC3B,IAAK,QAAQ,KAAKc,CAAC,CAACgD,GAAG,EAAG;QACzB,IAAI,CAACyG,SAAS,CAAEzJ,CAAC,EAAEd,GAAI,CAAC;MACzB;IACD;EACD,CAAE,CAAC;AACJ,CAAC,EAAI6B,MAAO,CAAC;;;;;;;;;;ACpUb,CAAE,UAAWzC,CAAC,EAAE/C,SAAS,EAAG;EAC3B;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC;EACA,IAAI8C,GAAG,GAAG,CAAC,CAAC;;EAEZ;EACA/C,MAAM,CAAC+C,GAAG,GAAGA,GAAG;;EAEhB;EACAA,GAAG,CAACM,IAAI,GAAG,CAAC,CAAC;;EAEb;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAECN,GAAG,CAACiB,GAAG,GAAG,UAAW6C,IAAI,EAAG;IAC3B,OAAO,IAAI,CAACxD,IAAI,CAAEwD,IAAI,CAAE,IAAI,IAAI;EACjC,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC9D,GAAG,CAAC+D,GAAG,GAAG,UAAWD,IAAI,EAAG;IAC3B,OAAO,IAAI,CAAC7C,GAAG,CAAE6C,IAAK,CAAC,KAAK,IAAI;EACjC,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC9D,GAAG,CAACgE,GAAG,GAAG,UAAWF,IAAI,EAAEG,KAAK,EAAG;IAClC,IAAI,CAAC3D,IAAI,CAAEwD,IAAI,CAAE,GAAGG,KAAK;IACzB,OAAO,IAAI;EACZ,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC,IAAIqH,SAAS,GAAG,CAAC;EACjBtL,GAAG,CAACoD,QAAQ,GAAG,UAAWmI,MAAM,EAAG;IAClC,IAAI7H,EAAE,GAAG,EAAE4H,SAAS,GAAG,EAAE;IACzB,OAAOC,MAAM,GAAGA,MAAM,GAAG7H,EAAE,GAAGA,EAAE;EACjC,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC1D,GAAG,CAACwL,WAAW,GAAG,UAAWC,KAAK,EAAG;IACpC,SAASC,UAAUA,CAAEzH,KAAK,EAAE0H,KAAK,EAAEC,IAAI,EAAG;MACzC,OAAOA,IAAI,CAACC,OAAO,CAAE5H,KAAM,CAAC,KAAK0H,KAAK;IACvC;IACA,OAAOF,KAAK,CAAC1M,MAAM,CAAE2M,UAAW,CAAC;EAClC,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC,IAAII,UAAU,GAAG,EAAE;EACnB9L,GAAG,CAAC+L,MAAM,GAAG,UAAWR,MAAM,EAAES,WAAW,EAAG;IAC7C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAK,OAAOT,MAAM,KAAK,WAAW,EAAG;MACpCA,MAAM,GAAG,EAAE;IACZ;IAEA,IAAIU,KAAK;IACT,IAAIC,UAAU,GAAG,SAAAA,CAAWC,IAAI,EAAEC,QAAQ,EAAG;MAC5CD,IAAI,GAAG/N,QAAQ,CAAE+N,IAAI,EAAE,EAAG,CAAC,CAACE,QAAQ,CAAE,EAAG,CAAC,CAAC,CAAC;MAC5C,IAAKD,QAAQ,GAAGD,IAAI,CAAC/M,MAAM,EAAG;QAC7B;QACA,OAAO+M,IAAI,CAAC1N,KAAK,CAAE0N,IAAI,CAAC/M,MAAM,GAAGgN,QAAS,CAAC;MAC5C;MACA,IAAKA,QAAQ,GAAGD,IAAI,CAAC/M,MAAM,EAAG;QAC7B;QACA,OACCb,KAAK,CAAE,CAAC,IAAK6N,QAAQ,GAAGD,IAAI,CAAC/M,MAAM,CAAG,CAAC,CAAC8B,IAAI,CAAE,GAAI,CAAC,GAAGiL,IAAI;MAE5D;MACA,OAAOA,IAAI;IACZ,CAAC;IAED,IAAK,CAAEL,UAAU,EAAG;MACnB;MACAA,UAAU,GAAGQ,IAAI,CAACC,KAAK,CAAED,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,SAAU,CAAC;IACrD;IACAV,UAAU,EAAE;IAEZG,KAAK,GAAGV,MAAM,CAAC,CAAC;IAChBU,KAAK,IAAIC,UAAU,CAAE9N,QAAQ,CAAE,IAAIqO,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,EAAG,CAAC,EAAE,CAAE,CAAC;IACrET,KAAK,IAAIC,UAAU,CAAEJ,UAAU,EAAE,CAAE,CAAC,CAAC,CAAC;IACtC,IAAKE,WAAW,EAAG;MAClB;MACAC,KAAK,IAAI,CAAEK,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAGG,OAAO,CAAE,CAAE,CAAC,CAACN,QAAQ,CAAC,CAAC;IACxD;IAEA,OAAOJ,KAAK;EACb,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAECjM,GAAG,CAAC4M,UAAU,GAAG,UAAWC,MAAM,EAAEC,OAAO,EAAEC,OAAO,EAAG;IACtD,OAAOA,OAAO,CAACC,KAAK,CAAEH,MAAO,CAAC,CAAC3L,IAAI,CAAE4L,OAAQ,CAAC;EAC/C,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEC9M,GAAG,CAACiN,YAAY,GAAG,UAAWC,GAAG,EAAG;IACnC,IAAIC,OAAO,GAAGD,GAAG,CAACtI,KAAK,CAAE,iBAAkB,CAAC;IAC5C,OAAOuI,OAAO,GACXA,OAAO,CACNC,GAAG,CAAE,UAAWC,CAAC,EAAElO,CAAC,EAAG;MACvB,IAAImO,CAAC,GAAGD,CAAC,CAACE,MAAM,CAAE,CAAE,CAAC;MACrB,OACC,CAAEpO,CAAC,KAAK,CAAC,GAAGmO,CAAC,CAACE,WAAW,CAAC,CAAC,GAAGF,CAAC,CAACG,WAAW,CAAC,CAAC,IAC7CJ,CAAC,CAAC5O,KAAK,CAAE,CAAE,CAAC;IAEd,CAAE,CAAC,CACFyC,IAAI,CAAE,EAAG,CAAC,GACX,EAAE;EACN,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEClB,GAAG,CAAC0N,aAAa,GAAG,UAAWR,GAAG,EAAG;IACpC,IAAIS,KAAK,GAAG3N,GAAG,CAACiN,YAAY,CAAEC,GAAI,CAAC;IACnC,OAAOS,KAAK,CAACJ,MAAM,CAAE,CAAE,CAAC,CAACE,WAAW,CAAC,CAAC,GAAGE,KAAK,CAAClP,KAAK,CAAE,CAAE,CAAC;EAC1D,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAECuB,GAAG,CAAC4N,UAAU,GAAG,UAAWV,GAAG,EAAG;IACjC,OAAOlN,GAAG,CAAC4M,UAAU,CAAE,GAAG,EAAE,GAAG,EAAEM,GAAG,CAACM,WAAW,CAAC,CAAE,CAAC;EACrD,CAAC;EAEDxN,GAAG,CAAC6N,WAAW,GAAG,UAAWX,GAAG,EAAG;IAClC;IACA,IAAIE,GAAG,GAAG;MACTU,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,IAAI;MACPC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,IAAI;MACPC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,IAAI;MACPC,CAAC,EAAE,IAAI;MACPC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,IAAI;MACPC,CAAC,EAAE,IAAI;MACPC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACNC,CAAC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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-hooks.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-modal.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-model.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-notice.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-panel.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-popup.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-tooltip.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf.js","webpack://advanced-custom-fields-pro/webpack/bootstrap","webpack://advanced-custom-fields-pro/webpack/runtime/compat get default export","webpack://advanced-custom-fields-pro/webpack/runtime/define property getters","webpack://advanced-custom-fields-pro/webpack/runtime/hasOwnProperty shorthand","webpack://advanced-custom-fields-pro/webpack/runtime/make namespace object","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/acf.js"],"sourcesContent":["( function ( window, undefined ) {\n\t'use strict';\n\n\t/**\n\t * Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in\n\t * that, lowest priority hooks are fired first.\n\t */\n\tvar EventManager = function () {\n\t\t/**\n\t\t * Maintain a reference to the object scope so our public methods never get confusing.\n\t\t */\n\t\tvar MethodsAvailable = {\n\t\t\tremoveFilter: removeFilter,\n\t\t\tapplyFilters: applyFilters,\n\t\t\taddFilter: addFilter,\n\t\t\tremoveAction: removeAction,\n\t\t\tdoAction: doAction,\n\t\t\taddAction: addAction,\n\t\t\tstorage: getStorage,\n\t\t};\n\n\t\t/**\n\t\t * Contains the hooks that get registered with this EventManager. The array for storage utilizes a \"flat\"\n\t\t * object literal such that looking up the hook utilizes the native object literal hash.\n\t\t */\n\t\tvar STORAGE = {\n\t\t\tactions: {},\n\t\t\tfilters: {},\n\t\t};\n\n\t\tfunction getStorage() {\n\t\t\treturn STORAGE;\n\t\t}\n\n\t\t/**\n\t\t * Adds an action to the event manager.\n\t\t *\n\t\t * @param action Must contain namespace.identifier\n\t\t * @param callback Must be a valid callback function before this action is added\n\t\t * @param [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook\n\t\t * @param [context] Supply a value to be used for this\n\t\t */\n\t\tfunction addAction( action, callback, priority, context ) {\n\t\t\tif (\n\t\t\t\ttypeof action === 'string' &&\n\t\t\t\ttypeof callback === 'function'\n\t\t\t) {\n\t\t\t\tpriority = parseInt( priority || 10, 10 );\n\t\t\t\t_addHook( 'actions', action, callback, priority, context );\n\t\t\t}\n\n\t\t\treturn MethodsAvailable;\n\t\t}\n\n\t\t/**\n\t\t * Performs an action if it exists. You can pass as many arguments as you want to this function; the only rule is\n\t\t * that the first argument must always be the action.\n\t\t */\n\t\tfunction doAction(/* action, arg1, arg2, ... */) {\n\t\t\tvar args = Array.prototype.slice.call( arguments );\n\t\t\tvar action = args.shift();\n\n\t\t\tif ( typeof action === 'string' ) {\n\t\t\t\t_runHook( 'actions', action, args );\n\t\t\t}\n\n\t\t\treturn MethodsAvailable;\n\t\t}\n\n\t\t/**\n\t\t * Removes the specified action if it contains a namespace.identifier & exists.\n\t\t *\n\t\t * @param action The action to remove\n\t\t * @param [callback] Callback function to remove\n\t\t */\n\t\tfunction removeAction( action, callback ) {\n\t\t\tif ( typeof action === 'string' ) {\n\t\t\t\t_removeHook( 'actions', action, callback );\n\t\t\t}\n\n\t\t\treturn MethodsAvailable;\n\t\t}\n\n\t\t/**\n\t\t * Adds a filter to the event manager.\n\t\t *\n\t\t * @param filter Must contain namespace.identifier\n\t\t * @param callback Must be a valid callback function before this action is added\n\t\t * @param [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook\n\t\t * @param [context] Supply a value to be used for this\n\t\t */\n\t\tfunction addFilter( filter, callback, priority, context ) {\n\t\t\tif (\n\t\t\t\ttypeof filter === 'string' &&\n\t\t\t\ttypeof callback === 'function'\n\t\t\t) {\n\t\t\t\tpriority = parseInt( priority || 10, 10 );\n\t\t\t\t_addHook( 'filters', filter, callback, priority, context );\n\t\t\t}\n\n\t\t\treturn MethodsAvailable;\n\t\t}\n\n\t\t/**\n\t\t * Performs a filter if it exists. You should only ever pass 1 argument to be filtered. The only rule is that\n\t\t * the first argument must always be the filter.\n\t\t */\n\t\tfunction applyFilters(/* filter, filtered arg, arg2, ... */) {\n\t\t\tvar args = Array.prototype.slice.call( arguments );\n\t\t\tvar filter = args.shift();\n\n\t\t\tif ( typeof filter === 'string' ) {\n\t\t\t\treturn _runHook( 'filters', filter, args );\n\t\t\t}\n\n\t\t\treturn MethodsAvailable;\n\t\t}\n\n\t\t/**\n\t\t * Removes the specified filter if it contains a namespace.identifier & exists.\n\t\t *\n\t\t * @param filter The action to remove\n\t\t * @param [callback] Callback function to remove\n\t\t */\n\t\tfunction removeFilter( filter, callback ) {\n\t\t\tif ( typeof filter === 'string' ) {\n\t\t\t\t_removeHook( 'filters', filter, callback );\n\t\t\t}\n\n\t\t\treturn MethodsAvailable;\n\t\t}\n\n\t\t/**\n\t\t * Removes the specified hook by resetting the value of it.\n\t\t *\n\t\t * @param type Type of hook, either 'actions' or 'filters'\n\t\t * @param hook The hook (namespace.identifier) to remove\n\t\t * @private\n\t\t */\n\t\tfunction _removeHook( type, hook, callback, context ) {\n\t\t\tif ( ! STORAGE[ type ][ hook ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( ! callback ) {\n\t\t\t\tSTORAGE[ type ][ hook ] = [];\n\t\t\t} else {\n\t\t\t\tvar handlers = STORAGE[ type ][ hook ];\n\t\t\t\tvar i;\n\t\t\t\tif ( ! context ) {\n\t\t\t\t\tfor ( i = handlers.length; i--; ) {\n\t\t\t\t\t\tif ( handlers[ i ].callback === callback ) {\n\t\t\t\t\t\t\thandlers.splice( i, 1 );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor ( i = handlers.length; i--; ) {\n\t\t\t\t\t\tvar handler = handlers[ i ];\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\thandler.callback === callback &&\n\t\t\t\t\t\t\thandler.context === context\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thandlers.splice( i, 1 );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Adds the hook to the appropriate storage container\n\t\t *\n\t\t * @param type 'actions' or 'filters'\n\t\t * @param hook The hook (namespace.identifier) to add to our event manager\n\t\t * @param callback The function that will be called when the hook is executed.\n\t\t * @param priority The priority of this hook. Must be an integer.\n\t\t * @param [context] A value to be used for this\n\t\t * @private\n\t\t */\n\t\tfunction _addHook( type, hook, callback, priority, context ) {\n\t\t\tvar hookObject = {\n\t\t\t\tcallback: callback,\n\t\t\t\tpriority: priority,\n\t\t\t\tcontext: context,\n\t\t\t};\n\n\t\t\t// Utilize 'prop itself' : http://jsperf.com/hasownproperty-vs-in-vs-undefined/19\n\t\t\tvar hooks = STORAGE[ type ][ hook ];\n\t\t\tif ( hooks ) {\n\t\t\t\thooks.push( hookObject );\n\t\t\t\thooks = _hookInsertSort( hooks );\n\t\t\t} else {\n\t\t\t\thooks = [ hookObject ];\n\t\t\t}\n\n\t\t\tSTORAGE[ type ][ hook ] = hooks;\n\t\t}\n\n\t\t/**\n\t\t * Use an insert sort for keeping our hooks organized based on priority. This function is ridiculously faster\n\t\t * than bubble sort, etc: http://jsperf.com/javascript-sort\n\t\t *\n\t\t * @param hooks The custom array containing all of the appropriate hooks to perform an insert sort on.\n\t\t * @private\n\t\t */\n\t\tfunction _hookInsertSort( hooks ) {\n\t\t\tvar tmpHook, j, prevHook;\n\t\t\tfor ( var i = 1, len = hooks.length; i < len; i++ ) {\n\t\t\t\ttmpHook = hooks[ i ];\n\t\t\t\tj = i;\n\t\t\t\twhile (\n\t\t\t\t\t( prevHook = hooks[ j - 1 ] ) &&\n\t\t\t\t\tprevHook.priority > tmpHook.priority\n\t\t\t\t) {\n\t\t\t\t\thooks[ j ] = hooks[ j - 1 ];\n\t\t\t\t\t--j;\n\t\t\t\t}\n\t\t\t\thooks[ j ] = tmpHook;\n\t\t\t}\n\n\t\t\treturn hooks;\n\t\t}\n\n\t\t/**\n\t\t * Runs the specified hook. If it is an action, the value is not modified but if it is a filter, it is.\n\t\t *\n\t\t * @param type 'actions' or 'filters'\n\t\t * @param hook The hook ( namespace.identifier ) to be ran.\n\t\t * @param args Arguments to pass to the action/filter. If it's a filter, args is actually a single parameter.\n\t\t * @private\n\t\t */\n\t\tfunction _runHook( type, hook, args ) {\n\t\t\tvar handlers = STORAGE[ type ][ hook ];\n\n\t\t\tif ( ! handlers ) {\n\t\t\t\treturn type === 'filters' ? args[ 0 ] : false;\n\t\t\t}\n\n\t\t\tvar i = 0,\n\t\t\t\tlen = handlers.length;\n\t\t\tif ( type === 'filters' ) {\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\targs[ 0 ] = handlers[ i ].callback.apply(\n\t\t\t\t\t\thandlers[ i ].context,\n\t\t\t\t\t\targs\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\thandlers[ i ].callback.apply( handlers[ i ].context, args );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn type === 'filters' ? args[ 0 ] : true;\n\t\t}\n\n\t\t// return all of the publicly available methods\n\t\treturn MethodsAvailable;\n\t};\n\n\t// instantiate\n\tacf.hooks = new EventManager();\n} )( window );\n","( function ( $, undefined ) {\n\tacf.models.Modal = acf.Model.extend( {\n\t\tdata: {\n\t\t\ttitle: '',\n\t\t\tcontent: '',\n\t\t\ttoolbar: '',\n\t\t},\n\t\tevents: {\n\t\t\t'click .acf-modal-close': 'onClickClose',\n\t\t},\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t\tthis.$el = $();\n\t\t\tthis.render();\n\t\t},\n\t\tinitialize: function () {\n\t\t\tthis.open();\n\t\t},\n\t\trender: function () {\n\t\t\t// Extract vars.\n\t\t\tvar title = this.get( 'title' );\n\t\t\tvar content = this.get( 'content' );\n\t\t\tvar toolbar = this.get( 'toolbar' );\n\n\t\t\t// Create element.\n\t\t\tvar $el = $(\n\t\t\t\t[\n\t\t\t\t\t'<div>',\n\t\t\t\t\t'<div class=\"acf-modal\">',\n\t\t\t\t\t'<div class=\"acf-modal-title\">',\n\t\t\t\t\t'<h2>' + title + '</h2>',\n\t\t\t\t\t'<button class=\"acf-modal-close\" type=\"button\"><span class=\"dashicons dashicons-no\"></span></button>',\n\t\t\t\t\t'</div>',\n\t\t\t\t\t'<div class=\"acf-modal-content\">' + content + '</div>',\n\t\t\t\t\t'<div class=\"acf-modal-toolbar\">' + toolbar + '</div>',\n\t\t\t\t\t'</div>',\n\t\t\t\t\t'<div class=\"acf-modal-backdrop acf-modal-close\"></div>',\n\t\t\t\t\t'</div>',\n\t\t\t\t].join( '' )\n\t\t\t);\n\n\t\t\t// Update DOM.\n\t\t\tif ( this.$el ) {\n\t\t\t\tthis.$el.replaceWith( $el );\n\t\t\t}\n\t\t\tthis.$el = $el;\n\n\t\t\t// Trigger action.\n\t\t\tacf.doAction( 'append', $el );\n\t\t},\n\t\tupdate: function ( props ) {\n\t\t\tthis.data = acf.parseArgs( props, this.data );\n\t\t\tthis.render();\n\t\t},\n\t\ttitle: function ( title ) {\n\t\t\tthis.$( '.acf-modal-title h2' ).html( title );\n\t\t},\n\t\tcontent: function ( content ) {\n\t\t\tthis.$( '.acf-modal-content' ).html( content );\n\t\t},\n\t\ttoolbar: function ( toolbar ) {\n\t\t\tthis.$( '.acf-modal-toolbar' ).html( toolbar );\n\t\t},\n\t\topen: function () {\n\t\t\t$( 'body' ).append( this.$el );\n\t\t},\n\t\tclose: function () {\n\t\t\tthis.remove();\n\t\t},\n\t\tonClickClose: function ( e, $el ) {\n\t\t\te.preventDefault();\n\t\t\tthis.close();\n\t\t},\n\n\t\t/**\n\t\t * Places focus within the popup.\n\t\t */\n\t\tfocus: function() {\n\t\t\tthis.$el.find( '.acf-icon' ).first().trigger( 'focus' );\n\t\t},\n\n\t\t/**\n\t\t * Locks focus within the modal.\n\t\t *\n\t\t * @param {boolean} locked True to lock focus, false to unlock.\n\t\t */\n\t\tlockFocusToModal: function( locked ) {\n\t\t\tlet inertElement = $( '#wpwrap' );\n\n\t\t\tif ( ! inertElement.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tinertElement[ 0 ].inert = locked;\n\t\t\tinertElement.attr( 'aria-hidden', locked );\n\t\t},\n\n\t\t/**\n\t\t * Returns focus to the element that opened the popup\n\t\t * if it still exists in the DOM.\n\t\t */\n\t\treturnFocusToOrigin: function() {\n\t\t\tif (\n\t\t\t\tthis.data.openedBy instanceof $\n\t\t\t\t&& this.data.openedBy.closest( 'body' ).length > 0\n\t\t\t) {\n\t\t\t\tthis.data.openedBy.trigger( 'focus' );\n\t\t\t}\n\t\t}\n\t} );\n\n\t/**\n\t * Returns a new modal.\n\t *\n\t * @date\t21/4/20\n\t * @since\t5.9.0\n\t *\n\t * @param\tobject props The modal props.\n\t * @return\tobject\n\t */\n\tacf.newModal = function ( props ) {\n\t\treturn new acf.models.Modal( props );\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// Cached regex to split keys for `addEvent`.\n\tvar delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n\n\t/**\n\t * extend\n\t *\n\t * Helper function to correctly set up the prototype chain for subclasses\n\t * Heavily inspired by backbone.js\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tobject protoProps New properties for this object.\n\t * @return\tfunction.\n\t */\n\n\tvar extend = function ( protoProps ) {\n\t\t// vars\n\t\tvar Parent = this;\n\t\tvar Child;\n\n\t\t// The constructor function for the new subclass is either defined by you\n\t\t// (the \"constructor\" property in your `extend` definition), or defaulted\n\t\t// by us to simply call the parent constructor.\n\t\tif ( protoProps && protoProps.hasOwnProperty( 'constructor' ) ) {\n\t\t\tChild = protoProps.constructor;\n\t\t} else {\n\t\t\tChild = function () {\n\t\t\t\treturn Parent.apply( this, arguments );\n\t\t\t};\n\t\t}\n\n\t\t// Add static properties to the constructor function, if supplied.\n\t\t$.extend( Child, Parent );\n\n\t\t// Set the prototype chain to inherit from `parent`, without calling\n\t\t// `parent`'s constructor function and add the prototype properties.\n\t\tChild.prototype = Object.create( Parent.prototype );\n\t\t$.extend( Child.prototype, protoProps );\n\t\tChild.prototype.constructor = Child;\n\n\t\t// Set a convenience property in case the parent's prototype is needed later.\n\t\t//Child.prototype.__parent__ = Parent.prototype;\n\n\t\t// return\n\t\treturn Child;\n\t};\n\n\t/**\n\t * Model\n\t *\n\t * Base class for all inheritence\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tobject props\n\t * @return\tfunction.\n\t */\n\n\tvar Model = ( acf.Model = function () {\n\t\t// generate uique client id\n\t\tthis.cid = acf.uniqueId( 'acf' );\n\n\t\t// set vars to avoid modifying prototype\n\t\tthis.data = $.extend( true, {}, this.data );\n\n\t\t// pass props to setup function\n\t\tthis.setup.apply( this, arguments );\n\n\t\t// store on element (allow this.setup to create this.$el)\n\t\tif ( this.$el && ! this.$el.data( 'acf' ) ) {\n\t\t\tthis.$el.data( 'acf', this );\n\t\t}\n\n\t\t// initialize\n\t\tvar initialize = function () {\n\t\t\tthis.initialize();\n\t\t\tthis.addEvents();\n\t\t\tthis.addActions();\n\t\t\tthis.addFilters();\n\t\t};\n\n\t\t// initialize on action\n\t\tif ( this.wait && ! acf.didAction( this.wait ) ) {\n\t\t\tthis.addAction( this.wait, initialize );\n\n\t\t\t// initialize now\n\t\t} else {\n\t\t\tinitialize.apply( this );\n\t\t}\n\t} );\n\n\t// Attach all inheritable methods to the Model prototype.\n\t$.extend( Model.prototype, {\n\t\t// Unique model id\n\t\tid: '',\n\n\t\t// Unique client id\n\t\tcid: '',\n\n\t\t// jQuery element\n\t\t$el: null,\n\n\t\t// Data specific to this instance\n\t\tdata: {},\n\n\t\t// toggle used when changing data\n\t\tbusy: false,\n\t\tchanged: false,\n\n\t\t// Setup events hooks\n\t\tevents: {},\n\t\tactions: {},\n\t\tfilters: {},\n\n\t\t// class used to avoid nested event triggers\n\t\teventScope: '',\n\n\t\t// action to wait until initialize\n\t\twait: false,\n\n\t\t// action priority default\n\t\tpriority: 10,\n\n\t\t/**\n\t\t * get\n\t\t *\n\t\t * Gets a specific data value\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tstring name\n\t\t * @return\tmixed\n\t\t */\n\n\t\tget: function ( name ) {\n\t\t\treturn this.data[ name ];\n\t\t},\n\n\t\t/**\n\t\t * has\n\t\t *\n\t\t * Returns `true` if the data exists and is not null\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tstring name\n\t\t * @return\tboolean\n\t\t */\n\n\t\thas: function ( name ) {\n\t\t\treturn this.get( name ) != null;\n\t\t},\n\n\t\t/**\n\t\t * set\n\t\t *\n\t\t * Sets a specific data value\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tstring name\n\t\t * @param\tmixed value\n\t\t * @return\tthis\n\t\t */\n\n\t\tset: function ( name, value, silent ) {\n\t\t\t// bail if unchanged\n\t\t\tvar prevValue = this.get( name );\n\t\t\tif ( prevValue == value ) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// set data\n\t\t\tthis.data[ name ] = value;\n\n\t\t\t// trigger events\n\t\t\tif ( ! silent ) {\n\t\t\t\tthis.changed = true;\n\t\t\t\tthis.trigger( 'changed:' + name, [ value, prevValue ] );\n\t\t\t\tthis.trigger( 'changed', [ name, value, prevValue ] );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn this;\n\t\t},\n\n\t\t/**\n\t\t * inherit\n\t\t *\n\t\t * Inherits the data from a jQuery element\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tjQuery $el\n\t\t * @return\tthis\n\t\t */\n\n\t\tinherit: function ( data ) {\n\t\t\t// allow jQuery\n\t\t\tif ( data instanceof jQuery ) {\n\t\t\t\tdata = data.data();\n\t\t\t}\n\n\t\t\t// extend\n\t\t\t$.extend( this.data, data );\n\n\t\t\t// return\n\t\t\treturn this;\n\t\t},\n\n\t\t/**\n\t\t * prop\n\t\t *\n\t\t * mimics the jQuery prop function\n\t\t *\n\t\t * @date\t4/6/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\tprop: function () {\n\t\t\treturn this.$el.prop.apply( this.$el, arguments );\n\t\t},\n\n\t\t/**\n\t\t * setup\n\t\t *\n\t\t * Run during constructor function\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tn/a\n\t\t * @return\tn/a\n\t\t */\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this, props );\n\t\t},\n\n\t\t/**\n\t\t * initialize\n\t\t *\n\t\t * Also run during constructor function\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tn/a\n\t\t * @return\tn/a\n\t\t */\n\n\t\tinitialize: function () {},\n\n\t\t/**\n\t\t * addElements\n\t\t *\n\t\t * Adds multiple jQuery elements to this object\n\t\t *\n\t\t * @date\t9/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\taddElements: function ( elements ) {\n\t\t\telements = elements || this.elements || null;\n\t\t\tif ( ! elements || ! Object.keys( elements ).length ) return false;\n\t\t\tfor ( var i in elements ) {\n\t\t\t\tthis.addElement( i, elements[ i ] );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * addElement\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t9/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\taddElement: function ( name, selector ) {\n\t\t\tthis[ '$' + name ] = this.$( selector );\n\t\t},\n\n\t\t/**\n\t\t * addEvents\n\t\t *\n\t\t * Adds multiple event handlers\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tobject events {event1 : callback, event2 : callback, etc }\n\t\t * @return\tn/a\n\t\t */\n\n\t\taddEvents: function ( events ) {\n\t\t\tevents = events || this.events || null;\n\t\t\tif ( ! events ) return false;\n\t\t\tfor ( var key in events ) {\n\t\t\t\tvar match = key.match( delegateEventSplitter );\n\t\t\t\tthis.on( match[ 1 ], match[ 2 ], events[ key ] );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * removeEvents\n\t\t *\n\t\t * Removes multiple event handlers\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tobject events {event1 : callback, event2 : callback, etc }\n\t\t * @return\tn/a\n\t\t */\n\n\t\tremoveEvents: function ( events ) {\n\t\t\tevents = events || this.events || null;\n\t\t\tif ( ! events ) return false;\n\t\t\tfor ( var key in events ) {\n\t\t\t\tvar match = key.match( delegateEventSplitter );\n\t\t\t\tthis.off( match[ 1 ], match[ 2 ], events[ key ] );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * getEventTarget\n\t\t *\n\t\t * Returns a jQuery element to trigger an event on.\n\t\t *\n\t\t * @date\t5/6/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tjQuery $el\t\tThe default jQuery element. Optional.\n\t\t * @param\tstring event\tThe event name. Optional.\n\t\t * @return\tjQuery\n\t\t */\n\n\t\tgetEventTarget: function ( $el, event ) {\n\t\t\treturn $el || this.$el || $( document );\n\t\t},\n\n\t\t/**\n\t\t * validateEvent\n\t\t *\n\t\t * Returns true if the event target's closest $el is the same as this.$el\n\t\t * Requires both this.el and this.$el to be defined\n\t\t *\n\t\t * @date\t5/6/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\tvalidateEvent: function ( e ) {\n\t\t\tif ( this.eventScope ) {\n\t\t\t\treturn $( e.target ).closest( this.eventScope ).is( this.$el );\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * proxyEvent\n\t\t *\n\t\t * Returns a new event callback function scoped to this model\n\t\t *\n\t\t * @date\t29/3/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tfunction callback\n\t\t * @return\tfunction\n\t\t */\n\n\t\tproxyEvent: function ( callback ) {\n\t\t\treturn this.proxy( function ( e ) {\n\t\t\t\t// validate\n\t\t\t\tif ( ! this.validateEvent( e ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// construct args\n\t\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\t\tvar extraArgs = args.slice( 1 );\n\t\t\t\tvar eventArgs = [ e, $( e.currentTarget ) ].concat( extraArgs );\n\n\t\t\t\t// callback\n\t\t\t\tcallback.apply( this, eventArgs );\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * on\n\t\t *\n\t\t * Adds an event handler similar to jQuery\n\t\t * Uses the instance 'cid' to namespace event\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tstring name\n\t\t * @param\tstring callback\n\t\t * @return\tn/a\n\t\t */\n\n\t\ton: function ( a1, a2, a3, a4 ) {\n\t\t\t// vars\n\t\t\tvar $el, event, selector, callback, args;\n\n\t\t\t// find args\n\t\t\tif ( a1 instanceof jQuery ) {\n\t\t\t\t// 1. args( $el, event, selector, callback )\n\t\t\t\tif ( a4 ) {\n\t\t\t\t\t$el = a1;\n\t\t\t\t\tevent = a2;\n\t\t\t\t\tselector = a3;\n\t\t\t\t\tcallback = a4;\n\n\t\t\t\t\t// 2. args( $el, event, callback )\n\t\t\t\t} else {\n\t\t\t\t\t$el = a1;\n\t\t\t\t\tevent = a2;\n\t\t\t\t\tcallback = a3;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// 3. args( event, selector, callback )\n\t\t\t\tif ( a3 ) {\n\t\t\t\t\tevent = a1;\n\t\t\t\t\tselector = a2;\n\t\t\t\t\tcallback = a3;\n\n\t\t\t\t\t// 4. args( event, callback )\n\t\t\t\t} else {\n\t\t\t\t\tevent = a1;\n\t\t\t\t\tcallback = a2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// element\n\t\t\t$el = this.getEventTarget( $el );\n\n\t\t\t// modify callback\n\t\t\tif ( typeof callback === 'string' ) {\n\t\t\t\tcallback = this.proxyEvent( this[ callback ] );\n\t\t\t}\n\n\t\t\t// modify event\n\t\t\tevent = event + '.' + this.cid;\n\n\t\t\t// args\n\t\t\tif ( selector ) {\n\t\t\t\targs = [ event, selector, callback ];\n\t\t\t} else {\n\t\t\t\targs = [ event, callback ];\n\t\t\t}\n\n\t\t\t// on()\n\t\t\t$el.on.apply( $el, args );\n\t\t},\n\n\t\t/**\n\t\t * off\n\t\t *\n\t\t * Removes an event handler similar to jQuery\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tstring name\n\t\t * @param\tstring callback\n\t\t * @return\tn/a\n\t\t */\n\n\t\toff: function ( a1, a2, a3 ) {\n\t\t\t// vars\n\t\t\tvar $el, event, selector, args;\n\n\t\t\t// find args\n\t\t\tif ( a1 instanceof jQuery ) {\n\t\t\t\t// 1. args( $el, event, selector )\n\t\t\t\tif ( a3 ) {\n\t\t\t\t\t$el = a1;\n\t\t\t\t\tevent = a2;\n\t\t\t\t\tselector = a3;\n\n\t\t\t\t\t// 2. args( $el, event )\n\t\t\t\t} else {\n\t\t\t\t\t$el = a1;\n\t\t\t\t\tevent = a2;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// 3. args( event, selector )\n\t\t\t\tif ( a2 ) {\n\t\t\t\t\tevent = a1;\n\t\t\t\t\tselector = a2;\n\n\t\t\t\t\t// 4. args( event )\n\t\t\t\t} else {\n\t\t\t\t\tevent = a1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// element\n\t\t\t$el = this.getEventTarget( $el );\n\n\t\t\t// modify event\n\t\t\tevent = event + '.' + this.cid;\n\n\t\t\t// args\n\t\t\tif ( selector ) {\n\t\t\t\targs = [ event, selector ];\n\t\t\t} else {\n\t\t\t\targs = [ event ];\n\t\t\t}\n\n\t\t\t// off()\n\t\t\t$el.off.apply( $el, args );\n\t\t},\n\n\t\t/**\n\t\t * trigger\n\t\t *\n\t\t * Triggers an event similar to jQuery\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tstring name\n\t\t * @param\tstring callback\n\t\t * @return\tn/a\n\t\t */\n\n\t\ttrigger: function ( name, args, bubbles ) {\n\t\t\tvar $el = this.getEventTarget();\n\t\t\tif ( bubbles ) {\n\t\t\t\t$el.trigger.apply( $el, arguments );\n\t\t\t} else {\n\t\t\t\t$el.triggerHandler.apply( $el, arguments );\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\t/**\n\t\t * addActions\n\t\t *\n\t\t * Adds multiple action handlers\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tobject actions {action1 : callback, action2 : callback, etc }\n\t\t * @return\tn/a\n\t\t */\n\n\t\taddActions: function ( actions ) {\n\t\t\tactions = actions || this.actions || null;\n\t\t\tif ( ! actions ) return false;\n\t\t\tfor ( var i in actions ) {\n\t\t\t\tthis.addAction( i, actions[ i ] );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * removeActions\n\t\t *\n\t\t * Removes multiple action handlers\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tobject actions {action1 : callback, action2 : callback, etc }\n\t\t * @return\tn/a\n\t\t */\n\n\t\tremoveActions: function ( actions ) {\n\t\t\tactions = actions || this.actions || null;\n\t\t\tif ( ! actions ) return false;\n\t\t\tfor ( var i in actions ) {\n\t\t\t\tthis.removeAction( i, actions[ i ] );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * addAction\n\t\t *\n\t\t * Adds an action using the wp.hooks library\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tstring name\n\t\t * @param\tstring callback\n\t\t * @return\tn/a\n\t\t */\n\n\t\taddAction: function ( name, callback, priority ) {\n\t\t\t//console.log('addAction', name, priority);\n\t\t\t// defaults\n\t\t\tpriority = priority || this.priority;\n\n\t\t\t// modify callback\n\t\t\tif ( typeof callback === 'string' ) {\n\t\t\t\tcallback = this[ callback ];\n\t\t\t}\n\n\t\t\t// add\n\t\t\tacf.addAction( name, callback, priority, this );\n\t\t},\n\n\t\t/**\n\t\t * removeAction\n\t\t *\n\t\t * Remove an action using the wp.hooks library\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tstring name\n\t\t * @param\tstring callback\n\t\t * @return\tn/a\n\t\t */\n\n\t\tremoveAction: function ( name, callback ) {\n\t\t\tacf.removeAction( name, this[ callback ] );\n\t\t},\n\n\t\t/**\n\t\t * addFilters\n\t\t *\n\t\t * Adds multiple filter handlers\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tobject filters {filter1 : callback, filter2 : callback, etc }\n\t\t * @return\tn/a\n\t\t */\n\n\t\taddFilters: function ( filters ) {\n\t\t\tfilters = filters || this.filters || null;\n\t\t\tif ( ! filters ) return false;\n\t\t\tfor ( var i in filters ) {\n\t\t\t\tthis.addFilter( i, filters[ i ] );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * addFilter\n\t\t *\n\t\t * Adds a filter using the wp.hooks library\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tstring name\n\t\t * @param\tstring callback\n\t\t * @return\tn/a\n\t\t */\n\n\t\taddFilter: function ( name, callback, priority ) {\n\t\t\t// defaults\n\t\t\tpriority = priority || this.priority;\n\n\t\t\t// modify callback\n\t\t\tif ( typeof callback === 'string' ) {\n\t\t\t\tcallback = this[ callback ];\n\t\t\t}\n\n\t\t\t// add\n\t\t\tacf.addFilter( name, callback, priority, this );\n\t\t},\n\n\t\t/**\n\t\t * removeFilters\n\t\t *\n\t\t * Removes multiple filter handlers\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tobject filters {filter1 : callback, filter2 : callback, etc }\n\t\t * @return\tn/a\n\t\t */\n\n\t\tremoveFilters: function ( filters ) {\n\t\t\tfilters = filters || this.filters || null;\n\t\t\tif ( ! filters ) return false;\n\t\t\tfor ( var i in filters ) {\n\t\t\t\tthis.removeFilter( i, filters[ i ] );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * removeFilter\n\t\t *\n\t\t * Remove a filter using the wp.hooks library\n\t\t *\n\t\t * @date\t14/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\tstring name\n\t\t * @param\tstring callback\n\t\t * @return\tn/a\n\t\t */\n\n\t\tremoveFilter: function ( name, callback ) {\n\t\t\tacf.removeFilter( name, this[ callback ] );\n\t\t},\n\n\t\t/**\n\t\t * $\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t16/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t$: function ( selector ) {\n\t\t\treturn this.$el.find( selector );\n\t\t},\n\n\t\t/**\n\t\t * remove\n\t\t *\n\t\t * Removes the element and listenters\n\t\t *\n\t\t * @date\t19/12/17\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\tremove: function () {\n\t\t\tthis.removeEvents();\n\t\t\tthis.removeActions();\n\t\t\tthis.removeFilters();\n\t\t\tthis.$el.remove();\n\t\t},\n\n\t\t/**\n\t\t * setTimeout\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t16/1/18\n\t\t * @since\t5.6.5\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\tsetTimeout: function ( callback, milliseconds ) {\n\t\t\treturn setTimeout( this.proxy( callback ), milliseconds );\n\t\t},\n\n\t\t/**\n\t\t * time\n\t\t *\n\t\t * used for debugging\n\t\t *\n\t\t * @date\t7/3/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\ttime: function () {\n\t\t\tconsole.time( this.id || this.cid );\n\t\t},\n\n\t\t/**\n\t\t * timeEnd\n\t\t *\n\t\t * used for debugging\n\t\t *\n\t\t * @date\t7/3/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\ttimeEnd: function () {\n\t\t\tconsole.timeEnd( this.id || this.cid );\n\t\t},\n\n\t\t/**\n\t\t * show\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t15/3/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\tshow: function () {\n\t\t\tacf.show( this.$el );\n\t\t},\n\n\t\t/**\n\t\t * hide\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t15/3/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\thide: function () {\n\t\t\tacf.hide( this.$el );\n\t\t},\n\n\t\t/**\n\t\t * proxy\n\t\t *\n\t\t * Returns a new function scoped to this model\n\t\t *\n\t\t * @date\t29/3/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tfunction callback\n\t\t * @return\tfunction\n\t\t */\n\n\t\tproxy: function ( callback ) {\n\t\t\treturn $.proxy( callback, this );\n\t\t},\n\t} );\n\n\t// Set up inheritance for the model\n\tModel.extend = extend;\n\n\t// Global model storage\n\tacf.models = {};\n\n\t/**\n\t * acf.getInstance\n\t *\n\t * This function will get an instance from an element\n\t *\n\t * @date\t5/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getInstance = function ( $el ) {\n\t\treturn $el.data( 'acf' );\n\t};\n\n\t/**\n\t * acf.getInstances\n\t *\n\t * This function will get an array of instances from multiple elements\n\t *\n\t * @date\t5/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getInstances = function ( $el ) {\n\t\tvar instances = [];\n\t\t$el.each( function () {\n\t\t\tinstances.push( acf.getInstance( $( this ) ) );\n\t\t} );\n\t\treturn instances;\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Notice = acf.Model.extend( {\n\t\tdata: {\n\t\t\ttext: '',\n\t\t\ttype: '',\n\t\t\ttimeout: 0,\n\t\t\tdismiss: true,\n\t\t\ttarget: false,\n\t\t\tclose: function () {},\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .acf-notice-dismiss': 'onClickClose',\n\t\t},\n\n\t\ttmpl: function () {\n\t\t\treturn '<div class=\"acf-notice\"></div>';\n\t\t},\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t\tthis.$el = $( this.tmpl() );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// render\n\t\t\tthis.render();\n\n\t\t\t// show\n\t\t\tthis.show();\n\t\t},\n\n\t\trender: function () {\n\t\t\t// class\n\t\t\tthis.type( this.get( 'type' ) );\n\n\t\t\t// text\n\t\t\tthis.html( '<p>' + this.get( 'text' ) + '</p>' );\n\n\t\t\t// close\n\t\t\tif ( this.get( 'dismiss' ) ) {\n\t\t\t\tthis.$el.append(\n\t\t\t\t\t'<a href=\"#\" class=\"acf-notice-dismiss acf-icon -cancel small\"></a>'\n\t\t\t\t);\n\t\t\t\tthis.$el.addClass( '-dismiss' );\n\t\t\t}\n\n\t\t\t// timeout\n\t\t\tvar timeout = this.get( 'timeout' );\n\t\t\tif ( timeout ) {\n\t\t\t\tthis.away( timeout );\n\t\t\t}\n\t\t},\n\n\t\tupdate: function ( props ) {\n\t\t\t// update\n\t\t\t$.extend( this.data, props );\n\n\t\t\t// re-initialize\n\t\t\tthis.initialize();\n\n\t\t\t// refresh events\n\t\t\tthis.removeEvents();\n\t\t\tthis.addEvents();\n\t\t},\n\n\t\tshow: function () {\n\t\t\tvar $target = this.get( 'target' );\n\t\t\tif ( $target ) {\n\t\t\t\t$target.prepend( this.$el );\n\t\t\t}\n\t\t},\n\n\t\thide: function () {\n\t\t\tthis.$el.remove();\n\t\t},\n\n\t\taway: function ( timeout ) {\n\t\t\tthis.setTimeout( function () {\n\t\t\t\tacf.remove( this.$el );\n\t\t\t}, timeout );\n\t\t},\n\n\t\ttype: function ( type ) {\n\t\t\t// remove prev type\n\t\t\tvar prevType = this.get( 'type' );\n\t\t\tif ( prevType ) {\n\t\t\t\tthis.$el.removeClass( '-' + prevType );\n\t\t\t}\n\n\t\t\t// add new type\n\t\t\tthis.$el.addClass( '-' + type );\n\n\t\t\t// backwards compatibility\n\t\t\tif ( type == 'error' ) {\n\t\t\t\tthis.$el.addClass( 'acf-error-message' );\n\t\t\t}\n\t\t},\n\n\t\thtml: function ( html ) {\n\t\t\tthis.$el.html( acf.escHtml( html ) );\n\t\t},\n\n\t\ttext: function ( text ) {\n\t\t\tthis.$( 'p' ).html( acf.escHtml( text ) );\n\t\t},\n\n\t\tonClickClose: function ( e, $el ) {\n\t\t\te.preventDefault();\n\t\t\tthis.get( 'close' ).apply( this, arguments );\n\t\t\tthis.remove();\n\t\t},\n\t} );\n\n\tacf.newNotice = function ( props ) {\n\t\t// ensure object\n\t\tif ( typeof props !== 'object' ) {\n\t\t\tprops = { text: props };\n\t\t}\n\n\t\t// instantiate\n\t\treturn new Notice( props );\n\t};\n\n\tvar noticeManager = new acf.Model( {\n\t\twait: 'prepare',\n\t\tpriority: 1,\n\t\tinitialize: function () {\n\t\t\tconst $notices = $( '.acf-admin-notice' );\n\n\t\t\t$notices.each( function() {\n\t\t\t\tif ( $( this ).data( 'persisted' ) ) {\n\t\t\t\t\tlet dismissed = acf.getPreference( 'dismissed-notices' );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tdismissed &&\n\t\t\t\t\t\ttypeof dismissed == 'object' &&\n\t\t\t\t\t\tdismissed.includes( $( this ).data( 'persist-id' ) )\n\t\t\t\t\t) {\n\t\t\t\t\t\t$( this ).remove();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( this ).show();\n\t\t\t\t\t\t$( this ).on( 'click', '.notice-dismiss', function ( e ) {\n\t\t\t\t\t\t\tdismissed = acf.getPreference( 'dismissed-notices' );\n\t\t\t\t\t\t\tif ( ! dismissed || typeof dismissed != 'object' ) {\n\t\t\t\t\t\t\t\tdismissed = [];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdismissed.push( $( this ).closest( '.acf-admin-notice' ).data( 'persist-id' ) );\n\t\t\t\t\t\t\tacf.setPreference( 'dismissed-notices', dismissed );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar panel = new acf.Model( {\n\t\tevents: {\n\t\t\t'click .acf-panel-title': 'onClick',\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\te.preventDefault();\n\t\t\tthis.toggle( $el.parent() );\n\t\t},\n\n\t\tisOpen: function ( $el ) {\n\t\t\treturn $el.hasClass( '-open' );\n\t\t},\n\n\t\ttoggle: function ( $el ) {\n\t\t\tthis.isOpen( $el ) ? this.close( $el ) : this.open( $el );\n\t\t},\n\n\t\topen: function ( $el ) {\n\t\t\t$el.addClass( '-open' );\n\t\t\t$el.find( '.acf-panel-title i' ).attr(\n\t\t\t\t'class',\n\t\t\t\t'dashicons dashicons-arrow-down'\n\t\t\t);\n\t\t},\n\n\t\tclose: function ( $el ) {\n\t\t\t$el.removeClass( '-open' );\n\t\t\t$el.find( '.acf-panel-title i' ).attr(\n\t\t\t\t'class',\n\t\t\t\t'dashicons dashicons-arrow-right'\n\t\t\t);\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.models.Popup = acf.Model.extend( {\n\t\tdata: {\n\t\t\ttitle: '',\n\t\t\tcontent: '',\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\tloading: false,\n\t\t\topenedBy: null,\n\t\t},\n\n\t\tevents: {\n\t\t\t'click [data-event=\"close\"]': 'onClickClose',\n\t\t\t'click .acf-close-popup': 'onClickClose',\n\t\t\t'keydown': 'onPressEscapeClose',\n\t\t},\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t\tthis.$el = $( this.tmpl() );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.render();\n\t\t\tthis.open();\n\t\t\tthis.focus();\n\t\t\tthis.lockFocusToPopup( true );\n\t\t},\n\n\t\ttmpl: function () {\n\t\t\treturn [\n\t\t\t\t'<div id=\"acf-popup\" role=\"dialog\" tabindex=\"-1\">',\n\t\t\t\t'<div class=\"acf-popup-box acf-box\">',\n\t\t\t\t'<div class=\"title\"><h3></h3><a href=\"#\" class=\"acf-icon -cancel grey\" data-event=\"close\" aria-label=\"' + acf.__('Close modal') + '\"></a></div>',\n\t\t\t\t'<div class=\"inner\"></div>',\n\t\t\t\t'<div class=\"loading\"><i class=\"acf-loading\"></i></div>',\n\t\t\t\t'</div>',\n\t\t\t\t'<div class=\"bg\" data-event=\"close\"></div>',\n\t\t\t\t'</div>',\n\t\t\t].join( '' );\n\t\t},\n\n\t\trender: function () {\n\t\t\t// Extract Vars.\n\t\t\tvar title = this.get( 'title' );\n\t\t\tvar content = this.get( 'content' );\n\t\t\tvar loading = this.get( 'loading' );\n\t\t\tvar width = this.get( 'width' );\n\t\t\tvar height = this.get( 'height' );\n\n\t\t\t// Update.\n\t\t\tthis.title( title );\n\t\t\tthis.content( content );\n\t\t\tif ( width ) {\n\t\t\t\tthis.$( '.acf-popup-box' ).css( 'width', width );\n\t\t\t}\n\t\t\tif ( height ) {\n\t\t\t\tthis.$( '.acf-popup-box' ).css( 'min-height', height );\n\t\t\t}\n\t\t\tthis.loading( loading );\n\n\t\t\t// Trigger action.\n\t\t\tacf.doAction( 'append', this.$el );\n\t\t},\n\n\t\t/**\n\t\t * Places focus within the popup.\n\t\t */\n\t\tfocus: function() {\n\t\t\tthis.$el.find( '.acf-icon' ).first().trigger( 'focus' );\n\t\t},\n\n\t\t/**\n\t\t * Locks focus within the popup.\n\t\t *\n\t\t * @param {boolean} locked True to lock focus, false to unlock.\n\t\t */\n\t\tlockFocusToPopup: function( locked ) {\n\t\t\tlet inertElement = $( '#wpwrap' );\n\n\t\t\tif ( ! inertElement.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tinertElement[ 0 ].inert = locked;\n\t\t\tinertElement.attr( 'aria-hidden', locked );\n\t\t},\n\n\t\tupdate: function ( props ) {\n\t\t\tthis.data = acf.parseArgs( props, this.data );\n\t\t\tthis.render();\n\t\t},\n\n\t\ttitle: function ( title ) {\n\t\t\tthis.$( '.title:first h3' ).html( title );\n\t\t},\n\n\t\tcontent: function ( content ) {\n\t\t\tthis.$( '.inner:first' ).html( content );\n\t\t},\n\n\t\tloading: function ( show ) {\n\t\t\tvar $loading = this.$( '.loading:first' );\n\t\t\tshow ? $loading.show() : $loading.hide();\n\t\t},\n\n\t\topen: function () {\n\t\t\t$( 'body' ).append( this.$el );\n\t\t},\n\n\t\tclose: function () {\n\t\t\tthis.lockFocusToPopup( false );\n\t\t\tthis.returnFocusToOrigin();\n\t\t\tthis.remove();\n\t\t},\n\n\t\tonClickClose: function ( e, $el ) {\n\t\t\te.preventDefault();\n\t\t\tthis.close();\n\t\t},\n\n\t\t/**\n\t\t * Closes the popup when the escape key is pressed.\n\t\t *\n\t\t * @param {KeyboardEvent} e\n\t\t */\n\t\tonPressEscapeClose: function( e ) {\n\t\t\tif ( e.key === 'Escape' ) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Returns focus to the element that opened the popup\n\t\t * if it still exists in the DOM.\n\t\t */\n\t\treturnFocusToOrigin: function() {\n\t\t\tif (\n\t\t\t\tthis.data.openedBy instanceof $\n\t\t\t\t&& this.data.openedBy.closest( 'body' ).length > 0\n\t\t\t) {\n\t\t\t\tthis.data.openedBy.trigger( 'focus' );\n\t\t\t}\n\t\t}\n\n\t} );\n\n\t/**\n\t * newPopup\n\t *\n\t * Creates a new Popup with the supplied props\n\t *\n\t * @date\t17/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tobject props\n\t * @return\tobject\n\t */\n\n\tacf.newPopup = function ( props ) {\n\t\treturn new acf.models.Popup( props );\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.newTooltip = function ( props ) {\n\t\t// ensure object\n\t\tif ( typeof props !== 'object' ) {\n\t\t\tprops = { text: props };\n\t\t}\n\n\t\t// confirmRemove\n\t\tif ( props.confirmRemove !== undefined ) {\n\t\t\tprops.textConfirm = acf.__( 'Remove' );\n\t\t\tprops.textCancel = acf.__( 'Cancel' );\n\t\t\treturn new TooltipConfirm( props );\n\n\t\t\t// confirm\n\t\t} else if ( props.confirm !== undefined ) {\n\t\t\treturn new TooltipConfirm( props );\n\n\t\t\t// default\n\t\t} else {\n\t\t\treturn new Tooltip( props );\n\t\t}\n\t};\n\n\tvar Tooltip = acf.Model.extend( {\n\t\tdata: {\n\t\t\ttext: '',\n\t\t\ttimeout: 0,\n\t\t\ttarget: null,\n\t\t},\n\n\t\ttmpl: function () {\n\t\t\treturn '<div class=\"acf-tooltip\"></div>';\n\t\t},\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t\tthis.$el = $( this.tmpl() );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// render\n\t\t\tthis.render();\n\n\t\t\t// append\n\t\t\tthis.show();\n\n\t\t\t// position\n\t\t\tthis.position();\n\n\t\t\t// timeout\n\t\t\tvar timeout = this.get( 'timeout' );\n\t\t\tif ( timeout ) {\n\t\t\t\tsetTimeout( $.proxy( this.fade, this ), timeout );\n\t\t\t}\n\t\t},\n\n\t\tupdate: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t\tthis.initialize();\n\t\t},\n\n\t\trender: function () {\n\t\t\tthis.html( this.get( 'text' ) );\n\t\t},\n\n\t\tshow: function () {\n\t\t\t$( 'body' ).append( this.$el );\n\t\t},\n\n\t\thide: function () {\n\t\t\tthis.$el.remove();\n\t\t},\n\n\t\tfade: function () {\n\t\t\t// add class\n\t\t\tthis.$el.addClass( 'acf-fade-up' );\n\n\t\t\t// remove\n\t\t\tthis.setTimeout( function () {\n\t\t\t\tthis.remove();\n\t\t\t}, 250 );\n\t\t},\n\n\t\thtml: function ( html ) {\n\t\t\tthis.$el.html( html );\n\t\t},\n\n\t\tposition: function () {\n\t\t\t// vars\n\t\t\tvar $tooltip = this.$el;\n\t\t\tvar $target = this.get( 'target' );\n\t\t\tif ( ! $target ) return;\n\n\t\t\t// Reset position.\n\t\t\t$tooltip\n\t\t\t\t.removeClass( 'right left bottom top' )\n\t\t\t\t.css( { top: 0, left: 0 } );\n\n\t\t\t// Declare tollerance to edge of screen.\n\t\t\tvar tolerance = 10;\n\n\t\t\t// Find target position.\n\t\t\tvar targetWidth = $target.outerWidth();\n\t\t\tvar targetHeight = $target.outerHeight();\n\t\t\tvar targetTop = $target.offset().top;\n\t\t\tvar targetLeft = $target.offset().left;\n\n\t\t\t// Find tooltip position.\n\t\t\tvar tooltipWidth = $tooltip.outerWidth();\n\t\t\tvar tooltipHeight = $tooltip.outerHeight();\n\t\t\tvar tooltipTop = $tooltip.offset().top; // Should be 0, but WP media grid causes this to be 32 (toolbar padding).\n\n\t\t\t// Assume default top alignment.\n\t\t\tvar top = targetTop - tooltipHeight - tooltipTop;\n\t\t\tvar left = targetLeft + targetWidth / 2 - tooltipWidth / 2;\n\n\t\t\t// Check if too far left.\n\t\t\tif ( left < tolerance ) {\n\t\t\t\t$tooltip.addClass( 'right' );\n\t\t\t\tleft = targetLeft + targetWidth;\n\t\t\t\ttop =\n\t\t\t\t\ttargetTop +\n\t\t\t\t\ttargetHeight / 2 -\n\t\t\t\t\ttooltipHeight / 2 -\n\t\t\t\t\ttooltipTop;\n\n\t\t\t\t// Check if too far right.\n\t\t\t} else if (\n\t\t\t\tleft + tooltipWidth + tolerance >\n\t\t\t\t$( window ).width()\n\t\t\t) {\n\t\t\t\t$tooltip.addClass( 'left' );\n\t\t\t\tleft = targetLeft - tooltipWidth;\n\t\t\t\ttop =\n\t\t\t\t\ttargetTop +\n\t\t\t\t\ttargetHeight / 2 -\n\t\t\t\t\ttooltipHeight / 2 -\n\t\t\t\t\ttooltipTop;\n\n\t\t\t\t// Check if too far up.\n\t\t\t} else if ( top - $( window ).scrollTop() < tolerance ) {\n\t\t\t\t$tooltip.addClass( 'bottom' );\n\t\t\t\ttop = targetTop + targetHeight - tooltipTop;\n\n\t\t\t\t// No colision with edges.\n\t\t\t} else {\n\t\t\t\t$tooltip.addClass( 'top' );\n\t\t\t}\n\n\t\t\t// update css\n\t\t\t$tooltip.css( { top: top, left: left } );\n\t\t},\n\t} );\n\n\tvar TooltipConfirm = Tooltip.extend( {\n\t\tdata: {\n\t\t\ttext: '',\n\t\t\ttextConfirm: '',\n\t\t\ttextCancel: '',\n\t\t\ttarget: null,\n\t\t\ttargetConfirm: true,\n\t\t\tconfirm: function () {},\n\t\t\tcancel: function () {},\n\t\t\tcontext: false,\n\t\t},\n\n\t\tevents: {\n\t\t\t'click [data-event=\"cancel\"]': 'onCancel',\n\t\t\t'click [data-event=\"confirm\"]': 'onConfirm',\n\t\t},\n\n\t\taddEvents: function () {\n\t\t\t// add events\n\t\t\tacf.Model.prototype.addEvents.apply( this );\n\n\t\t\t// vars\n\t\t\tvar $document = $( document );\n\t\t\tvar $target = this.get( 'target' );\n\n\t\t\t// add global 'cancel' click event\n\t\t\t// - use timeout to avoid the current 'click' event triggering the onCancel function\n\t\t\tthis.setTimeout( function () {\n\t\t\t\tthis.on( $document, 'click', 'onCancel' );\n\t\t\t} );\n\n\t\t\t// add target 'confirm' click event\n\t\t\t// - allow setting to control this feature\n\t\t\tif ( this.get( 'targetConfirm' ) ) {\n\t\t\t\tthis.on( $target, 'click', 'onConfirm' );\n\t\t\t}\n\t\t},\n\n\t\tremoveEvents: function () {\n\t\t\t// remove events\n\t\t\tacf.Model.prototype.removeEvents.apply( this );\n\n\t\t\t// vars\n\t\t\tvar $document = $( document );\n\t\t\tvar $target = this.get( 'target' );\n\n\t\t\t// remove custom events\n\t\t\tthis.off( $document, 'click' );\n\t\t\tthis.off( $target, 'click' );\n\t\t},\n\n\t\trender: function () {\n\t\t\t// defaults\n\t\t\tvar text = this.get( 'text' ) || acf.__( 'Are you sure?' );\n\t\t\tvar textConfirm = this.get( 'textConfirm' ) || acf.__( 'Yes' );\n\t\t\tvar textCancel = this.get( 'textCancel' ) || acf.__( 'No' );\n\n\t\t\t// html\n\t\t\tvar html = [\n\t\t\t\ttext,\n\t\t\t\t'<a href=\"#\" data-event=\"confirm\">' + textConfirm + '</a>',\n\t\t\t\t'<a href=\"#\" data-event=\"cancel\">' + textCancel + '</a>',\n\t\t\t].join( ' ' );\n\n\t\t\t// html\n\t\t\tthis.html( html );\n\n\t\t\t// class\n\t\t\tthis.$el.addClass( '-confirm' );\n\t\t},\n\n\t\tonCancel: function ( e, $el ) {\n\t\t\t// prevent default\n\t\t\te.preventDefault();\n\t\t\te.stopImmediatePropagation();\n\n\t\t\t// callback\n\t\t\tvar callback = this.get( 'cancel' );\n\t\t\tvar context = this.get( 'context' ) || this;\n\t\t\tcallback.apply( context, arguments );\n\n\t\t\t//remove\n\t\t\tthis.remove();\n\t\t},\n\n\t\tonConfirm: function ( e, $el ) {\n\t\t\t// Prevent event from propagating completely to allow \"targetConfirm\" to be clicked.\n\t\t\te.preventDefault();\n\t\t\te.stopImmediatePropagation();\n\n\t\t\t// callback\n\t\t\tvar callback = this.get( 'confirm' );\n\t\t\tvar context = this.get( 'context' ) || this;\n\t\t\tcallback.apply( context, arguments );\n\n\t\t\t//remove\n\t\t\tthis.remove();\n\t\t},\n\t} );\n\n\t// storage\n\tacf.models.Tooltip = Tooltip;\n\tacf.models.TooltipConfirm = TooltipConfirm;\n\n\t/**\n\t * tooltipManager\n\t *\n\t * description\n\t *\n\t * @date\t17/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar tooltipHoverHelper = new acf.Model( {\n\t\ttooltip: false,\n\n\t\tevents: {\n\t\t\t'mouseenter .acf-js-tooltip': 'showTitle',\n\t\t\t'mouseup .acf-js-tooltip': 'hideTitle',\n\t\t\t'mouseleave .acf-js-tooltip': 'hideTitle',\n\t\t\t'focus .acf-js-tooltip': 'showTitle',\n\t\t\t'blur .acf-js-tooltip': 'hideTitle',\n\t\t\t'keyup .acf-js-tooltip': 'onKeyUp',\n\t\t},\n\n\t\tshowTitle: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar title = $el.attr( 'title' );\n\n\t\t\t// bail early if no title\n\t\t\tif ( ! title ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// clear title to avoid default browser tooltip\n\t\t\t$el.attr( 'title', '' );\n\n\t\t\t// create\n\t\t\tif ( ! this.tooltip ) {\n\t\t\t\tthis.tooltip = acf.newTooltip( {\n\t\t\t\t\ttext: title,\n\t\t\t\t\ttarget: $el,\n\t\t\t\t} );\n\n\t\t\t\t// update\n\t\t\t} else {\n\t\t\t\tthis.tooltip.update( {\n\t\t\t\t\ttext: title,\n\t\t\t\t\ttarget: $el,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\thideTitle: function ( e, $el ) {\n\t\t\t// hide tooltip\n\t\t\tthis.tooltip.hide();\n\n\t\t\t// restore title\n\t\t\t$el.attr( 'title', this.tooltip.get( 'text' ) );\n\t\t},\n\n\t\tonKeyUp: function( e, $el ) {\n\t\t\tif ( 'Escape' === e.key ) {\n\t\t\t\tthis.hideTitle( e, $el );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t// The global acf object\n\tvar acf = {};\n\n\t// Set as a browser global\n\twindow.acf = acf;\n\n\t/** @var object Data sent from PHP */\n\tacf.data = {};\n\n\t/**\n\t * get\n\t *\n\t * Gets a specific data value\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring name\n\t * @return\tmixed\n\t */\n\n\tacf.get = function ( name ) {\n\t\treturn this.data[ name ] || null;\n\t};\n\n\t/**\n\t * has\n\t *\n\t * Returns `true` if the data exists and is not null\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring name\n\t * @return\tboolean\n\t */\n\n\tacf.has = function ( name ) {\n\t\treturn this.get( name ) !== null;\n\t};\n\n\t/**\n\t * set\n\t *\n\t * Sets a specific data value\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring name\n\t * @param\tmixed value\n\t * @return\tthis\n\t */\n\n\tacf.set = function ( name, value ) {\n\t\tthis.data[ name ] = value;\n\t\treturn this;\n\t};\n\n\t/**\n\t * uniqueId\n\t *\n\t * Returns a unique ID\n\t *\n\t * @date\t9/11/17\n\t * @since\t5.6.3\n\t *\n\t * @param\tstring prefix Optional prefix.\n\t * @return\tstring\n\t */\n\n\tvar idCounter = 0;\n\tacf.uniqueId = function ( prefix ) {\n\t\tvar id = ++idCounter + '';\n\t\treturn prefix ? prefix + id : id;\n\t};\n\n\t/**\n\t * acf.uniqueArray\n\t *\n\t * Returns a new array with only unique values\n\t * Credit: https://stackoverflow.com/questions/1960473/get-all-unique-values-in-an-array-remove-duplicates\n\t *\n\t * @date\t23/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.uniqueArray = function ( array ) {\n\t\tfunction onlyUnique( value, index, self ) {\n\t\t\treturn self.indexOf( value ) === index;\n\t\t}\n\t\treturn array.filter( onlyUnique );\n\t};\n\n\t/**\n\t * uniqid\n\t *\n\t * Returns a unique ID (PHP version)\n\t *\n\t * @date\t9/11/17\n\t * @since\t5.6.3\n\t * @source\thttp://locutus.io/php/misc/uniqid/\n\t *\n\t * @param\tstring prefix Optional prefix.\n\t * @return\tstring\n\t */\n\n\tvar uniqidSeed = '';\n\tacf.uniqid = function ( prefix, moreEntropy ) {\n\t\t// discuss at: http://locutus.io/php/uniqid/\n\t\t// original by: Kevin van Zonneveld (http://kvz.io)\n\t\t// revised by: Kankrelune (http://www.webfaktory.info/)\n\t\t// note 1: Uses an internal counter (in locutus global) to avoid collision\n\t\t// example 1: var $id = uniqid()\n\t\t// example 1: var $result = $id.length === 13\n\t\t// returns 1: true\n\t\t// example 2: var $id = uniqid('foo')\n\t\t// example 2: var $result = $id.length === (13 + 'foo'.length)\n\t\t// returns 2: true\n\t\t// example 3: var $id = uniqid('bar', true)\n\t\t// example 3: var $result = $id.length === (23 + 'bar'.length)\n\t\t// returns 3: true\n\t\tif ( typeof prefix === 'undefined' ) {\n\t\t\tprefix = '';\n\t\t}\n\n\t\tvar retId;\n\t\tvar formatSeed = function ( seed, reqWidth ) {\n\t\t\tseed = parseInt( seed, 10 ).toString( 16 ); // to hex str\n\t\t\tif ( reqWidth < seed.length ) {\n\t\t\t\t// so long we split\n\t\t\t\treturn seed.slice( seed.length - reqWidth );\n\t\t\t}\n\t\t\tif ( reqWidth > seed.length ) {\n\t\t\t\t// so short we pad\n\t\t\t\treturn (\n\t\t\t\t\tArray( 1 + ( reqWidth - seed.length ) ).join( '0' ) + seed\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn seed;\n\t\t};\n\n\t\tif ( ! uniqidSeed ) {\n\t\t\t// init seed with big random int\n\t\t\tuniqidSeed = Math.floor( Math.random() * 0x75bcd15 );\n\t\t}\n\t\tuniqidSeed++;\n\n\t\tretId = prefix; // start with prefix, add current milliseconds hex string\n\t\tretId += formatSeed( parseInt( new Date().getTime() / 1000, 10 ), 8 );\n\t\tretId += formatSeed( uniqidSeed, 5 ); // add seed hex string\n\t\tif ( moreEntropy ) {\n\t\t\t// for more entropy we add a float lower to 10\n\t\t\tretId += ( Math.random() * 10 ).toFixed( 8 ).toString();\n\t\t}\n\n\t\treturn retId;\n\t};\n\n\t/**\n\t * strReplace\n\t *\n\t * Performs a string replace\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring search\n\t * @param\tstring replace\n\t * @param\tstring subject\n\t * @return\tstring\n\t */\n\n\tacf.strReplace = function ( search, replace, subject ) {\n\t\treturn subject.split( search ).join( replace );\n\t};\n\n\t/**\n\t * strCamelCase\n\t *\n\t * Converts a string into camelCase\n\t * Thanks to https://stackoverflow.com/questions/2970525/converting-any-string-into-camel-case\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring str\n\t * @return\tstring\n\t */\n\n\tacf.strCamelCase = function ( str ) {\n\t\tvar matches = str.match( /([a-zA-Z0-9]+)/g );\n\t\treturn matches\n\t\t\t? matches\n\t\t\t\t\t.map( function ( s, i ) {\n\t\t\t\t\t\tvar c = s.charAt( 0 );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t( i === 0 ? c.toLowerCase() : c.toUpperCase() ) +\n\t\t\t\t\t\t\ts.slice( 1 )\n\t\t\t\t\t\t);\n\t\t\t\t\t} )\n\t\t\t\t\t.join( '' )\n\t\t\t: '';\n\t};\n\n\t/**\n\t * strPascalCase\n\t *\n\t * Converts a string into PascalCase\n\t * Thanks to https://stackoverflow.com/questions/1026069/how-do-i-make-the-first-letter-of-a-string-uppercase-in-javascript\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring str\n\t * @return\tstring\n\t */\n\n\tacf.strPascalCase = function ( str ) {\n\t\tvar camel = acf.strCamelCase( str );\n\t\treturn camel.charAt( 0 ).toUpperCase() + camel.slice( 1 );\n\t};\n\n\t/**\n\t * acf.strSlugify\n\t *\n\t * Converts a string into a HTML class friendly slug\n\t *\n\t * @date\t21/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring str\n\t * @return\tstring\n\t */\n\n\tacf.strSlugify = function ( str ) {\n\t\treturn acf.strReplace( '_', '-', str.toLowerCase() );\n\t};\n\n\tacf.strSanitize = function ( str ) {\n\t\t// chars (https://jsperf.com/replace-foreign-characters)\n\t\tvar map = {\n\t\t\tÀ: 'A',\n\t\t\tÁ: 'A',\n\t\t\tÂ: 'A',\n\t\t\tÃ: 'A',\n\t\t\tÄ: 'A',\n\t\t\tÅ: 'A',\n\t\t\tÆ: 'AE',\n\t\t\tÇ: 'C',\n\t\t\tÈ: 'E',\n\t\t\tÉ: 'E',\n\t\t\tÊ: 'E',\n\t\t\tË: 'E',\n\t\t\tÌ: 'I',\n\t\t\tÍ: 'I',\n\t\t\tÎ: 'I',\n\t\t\tÏ: 'I',\n\t\t\tÐ: 'D',\n\t\t\tÑ: 'N',\n\t\t\tÒ: 'O',\n\t\t\tÓ: 'O',\n\t\t\tÔ: 'O',\n\t\t\tÕ: 'O',\n\t\t\tÖ: 'O',\n\t\t\tØ: 'O',\n\t\t\tÙ: 'U',\n\t\t\tÚ: 'U',\n\t\t\tÛ: 'U',\n\t\t\tÜ: 'U',\n\t\t\tÝ: 'Y',\n\t\t\tß: 's',\n\t\t\tà: 'a',\n\t\t\tá: 'a',\n\t\t\tâ: 'a',\n\t\t\tã: 'a',\n\t\t\tä: 'a',\n\t\t\tå: 'a',\n\t\t\tæ: 'ae',\n\t\t\tç: 'c',\n\t\t\tè: 'e',\n\t\t\té: 'e',\n\t\t\tê: 'e',\n\t\t\të: 'e',\n\t\t\tì: 'i',\n\t\t\tí: 'i',\n\t\t\tî: 'i',\n\t\t\tï: 'i',\n\t\t\tñ: 'n',\n\t\t\tò: 'o',\n\t\t\tó: 'o',\n\t\t\tô: 'o',\n\t\t\tõ: 'o',\n\t\t\tö: 'o',\n\t\t\tø: 'o',\n\t\t\tù: 'u',\n\t\t\tú: 'u',\n\t\t\tû: 'u',\n\t\t\tü: 'u',\n\t\t\tý: 'y',\n\t\t\tÿ: 'y',\n\t\t\tĀ: 'A',\n\t\t\tā: 'a',\n\t\t\tĂ: 'A',\n\t\t\tă: 'a',\n\t\t\tĄ: 'A',\n\t\t\tą: 'a',\n\t\t\tĆ: 'C',\n\t\t\tć: 'c',\n\t\t\tĈ: 'C',\n\t\t\tĉ: 'c',\n\t\t\tĊ: 'C',\n\t\t\tċ: 'c',\n\t\t\tČ: 'C',\n\t\t\tč: 'c',\n\t\t\tĎ: 'D',\n\t\t\tď: 'd',\n\t\t\tĐ: 'D',\n\t\t\tđ: 'd',\n\t\t\tĒ: 'E',\n\t\t\tē: 'e',\n\t\t\tĔ: 'E',\n\t\t\tĕ: 'e',\n\t\t\tĖ: 'E',\n\t\t\tė: 'e',\n\t\t\tĘ: 'E',\n\t\t\tę: 'e',\n\t\t\tĚ: 'E',\n\t\t\tě: 'e',\n\t\t\tĜ: 'G',\n\t\t\tĝ: 'g',\n\t\t\tĞ: 'G',\n\t\t\tğ: 'g',\n\t\t\tĠ: 'G',\n\t\t\tġ: 'g',\n\t\t\tĢ: 'G',\n\t\t\tģ: 'g',\n\t\t\tĤ: 'H',\n\t\t\tĥ: 'h',\n\t\t\tĦ: 'H',\n\t\t\tħ: 'h',\n\t\t\tĨ: 'I',\n\t\t\tĩ: 'i',\n\t\t\tĪ: 'I',\n\t\t\tī: 'i',\n\t\t\tĬ: 'I',\n\t\t\tĭ: 'i',\n\t\t\tĮ: 'I',\n\t\t\tį: 'i',\n\t\t\tİ: 'I',\n\t\t\tı: 'i',\n\t\t\tIJ: 'IJ',\n\t\t\tij: 'ij',\n\t\t\tĴ: 'J',\n\t\t\tĵ: 'j',\n\t\t\tĶ: 'K',\n\t\t\tķ: 'k',\n\t\t\tĹ: 'L',\n\t\t\tĺ: 'l',\n\t\t\tĻ: 'L',\n\t\t\tļ: 'l',\n\t\t\tĽ: 'L',\n\t\t\tľ: 'l',\n\t\t\tĿ: 'L',\n\t\t\tŀ: 'l',\n\t\t\tŁ: 'l',\n\t\t\tł: 'l',\n\t\t\tŃ: 'N',\n\t\t\tń: 'n',\n\t\t\tŅ: 'N',\n\t\t\tņ: 'n',\n\t\t\tŇ: 'N',\n\t\t\tň: 'n',\n\t\t\tʼn: 'n',\n\t\t\tŌ: 'O',\n\t\t\tō: 'o',\n\t\t\tŎ: 'O',\n\t\t\tŏ: 'o',\n\t\t\tŐ: 'O',\n\t\t\tő: 'o',\n\t\t\tŒ: 'OE',\n\t\t\tœ: 'oe',\n\t\t\tŔ: 'R',\n\t\t\tŕ: 'r',\n\t\t\tŖ: 'R',\n\t\t\tŗ: 'r',\n\t\t\tŘ: 'R',\n\t\t\tř: 'r',\n\t\t\tŚ: 'S',\n\t\t\tś: 's',\n\t\t\tŜ: 'S',\n\t\t\tŝ: 's',\n\t\t\tŞ: 'S',\n\t\t\tş: 's',\n\t\t\tŠ: 'S',\n\t\t\tš: 's',\n\t\t\tŢ: 'T',\n\t\t\tţ: 't',\n\t\t\tŤ: 'T',\n\t\t\tť: 't',\n\t\t\tŦ: 'T',\n\t\t\tŧ: 't',\n\t\t\tŨ: 'U',\n\t\t\tũ: 'u',\n\t\t\tŪ: 'U',\n\t\t\tū: 'u',\n\t\t\tŬ: 'U',\n\t\t\tŭ: 'u',\n\t\t\tŮ: 'U',\n\t\t\tů: 'u',\n\t\t\tŰ: 'U',\n\t\t\tű: 'u',\n\t\t\tŲ: 'U',\n\t\t\tų: 'u',\n\t\t\tŴ: 'W',\n\t\t\tŵ: 'w',\n\t\t\tŶ: 'Y',\n\t\t\tŷ: 'y',\n\t\t\tŸ: 'Y',\n\t\t\tŹ: 'Z',\n\t\t\tź: 'z',\n\t\t\tŻ: 'Z',\n\t\t\tż: 'z',\n\t\t\tŽ: 'Z',\n\t\t\tž: 'z',\n\t\t\tſ: 's',\n\t\t\tƒ: 'f',\n\t\t\tƠ: 'O',\n\t\t\tơ: 'o',\n\t\t\tƯ: 'U',\n\t\t\tư: 'u',\n\t\t\tǍ: 'A',\n\t\t\tǎ: 'a',\n\t\t\tǏ: 'I',\n\t\t\tǐ: 'i',\n\t\t\tǑ: 'O',\n\t\t\tǒ: 'o',\n\t\t\tǓ: 'U',\n\t\t\tǔ: 'u',\n\t\t\tǕ: 'U',\n\t\t\tǖ: 'u',\n\t\t\tǗ: 'U',\n\t\t\tǘ: 'u',\n\t\t\tǙ: 'U',\n\t\t\tǚ: 'u',\n\t\t\tǛ: 'U',\n\t\t\tǜ: 'u',\n\t\t\tǺ: 'A',\n\t\t\tǻ: 'a',\n\t\t\tǼ: 'AE',\n\t\t\tǽ: 'ae',\n\t\t\tǾ: 'O',\n\t\t\tǿ: 'o',\n\n\t\t\t// extra\n\t\t\t' ': '_',\n\t\t\t\"'\": '',\n\t\t\t'?': '',\n\t\t\t'/': '',\n\t\t\t'\\\\': '',\n\t\t\t'.': '',\n\t\t\t',': '',\n\t\t\t'`': '',\n\t\t\t'>': '',\n\t\t\t'<': '',\n\t\t\t'\"': '',\n\t\t\t'[': '',\n\t\t\t']': '',\n\t\t\t'|': '',\n\t\t\t'{': '',\n\t\t\t'}': '',\n\t\t\t'(': '',\n\t\t\t')': '',\n\t\t};\n\n\t\t// vars\n\t\tvar nonWord = /\\W/g;\n\t\tvar mapping = function ( c ) {\n\t\t\treturn map[ c ] !== undefined ? map[ c ] : c;\n\t\t};\n\n\t\t// replace\n\t\tstr = str.replace( nonWord, mapping );\n\n\t\t// lowercase\n\t\tstr = str.toLowerCase();\n\n\t\t// return\n\t\treturn str;\n\t};\n\n\t/**\n\t * acf.strMatch\n\t *\n\t * Returns the number of characters that match between two strings\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.strMatch = function ( s1, s2 ) {\n\t\t// vars\n\t\tvar val = 0;\n\t\tvar min = Math.min( s1.length, s2.length );\n\n\t\t// loop\n\t\tfor ( var i = 0; i < min; i++ ) {\n\t\t\tif ( s1[ i ] !== s2[ i ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tval++;\n\t\t}\n\n\t\t// return\n\t\treturn val;\n\t};\n\n\t/**\n\t * Escapes HTML entities from a string.\n\t *\n\t * @date\t08/06/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring string The input string.\n\t * @return\tstring\n\t */\n\tacf.strEscape = function ( string ) {\n\t\tvar htmlEscapes = {\n\t\t\t'&': '&',\n\t\t\t'<': '<',\n\t\t\t'>': '>',\n\t\t\t'\"': '"',\n\t\t\t\"'\": ''',\n\t\t};\n\t\treturn ( '' + string ).replace( /[&<>\"']/g, function ( chr ) {\n\t\t\treturn htmlEscapes[ chr ];\n\t\t} );\n\t};\n\n\t// Tests.\n\t//console.log( acf.strEscape('Test 1') );\n\t//console.log( acf.strEscape('Test & 1') );\n\t//console.log( acf.strEscape('Test\\'s & 1') );\n\t//console.log( acf.strEscape('<script>js</script>') );\n\n\t/**\n\t * Unescapes HTML entities from a string.\n\t *\n\t * @date\t08/06/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring string The input string.\n\t * @return\tstring\n\t */\n\tacf.strUnescape = function ( string ) {\n\t\tvar htmlUnescapes = {\n\t\t\t'&': '&',\n\t\t\t'<': '<',\n\t\t\t'>': '>',\n\t\t\t'"': '\"',\n\t\t\t''': \"'\",\n\t\t};\n\t\treturn ( '' + string ).replace(\n\t\t\t/&|<|>|"|'/g,\n\t\t\tfunction ( entity ) {\n\t\t\t\treturn htmlUnescapes[ entity ];\n\t\t\t}\n\t\t);\n\t};\n\n\t// Tests.\n\t//console.log( acf.strUnescape( acf.strEscape('Test 1') ) );\n\t//console.log( acf.strUnescape( acf.strEscape('Test & 1') ) );\n\t//console.log( acf.strUnescape( acf.strEscape('Test\\'s & 1') ) );\n\t//console.log( acf.strUnescape( acf.strEscape('<script>js</script>') ) );\n\n\t/**\n\t * Escapes HTML entities from a string.\n\t *\n\t * @date\t08/06/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring string The input string.\n\t * @return\tstring\n\t */\n\tacf.escAttr = acf.strEscape;\n\n\t/**\n\t * Encodes <script> tags for safe HTML output.\n\t *\n\t * @date\t08/06/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring string The input string.\n\t * @return\tstring\n\t */\n\tacf.escHtml = function ( string ) {\n\t\treturn ( '' + string ).replace(\n\t\t\t/<script|<\\/script/g,\n\t\t\tfunction ( html ) {\n\t\t\t\treturn acf.strEscape( html );\n\t\t\t}\n\t\t);\n\t};\n\n\t// Tests.\n\t//console.log( acf.escHtml('<script>js</script>') );\n\t//console.log( acf.escHtml( acf.strEscape('<script>js</script>') ) );\n\t//console.log( acf.escHtml( '<script>js1</script><script>js2</script>' ) );\n\n\t/**\n\t * acf.decode\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.decode = function ( string ) {\n\t\treturn $( '<textarea/>' ).html( string ).text();\n\t};\n\n\t/**\n\t * parseArgs\n\t *\n\t * Merges together defaults and args much like the WP wp_parse_args function\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tobject args\n\t * @param\tobject defaults\n\t * @return\tobject\n\t */\n\n\tacf.parseArgs = function ( args, defaults ) {\n\t\tif ( typeof args !== 'object' ) args = {};\n\t\tif ( typeof defaults !== 'object' ) defaults = {};\n\t\treturn $.extend( {}, defaults, args );\n\t};\n\n\t/**\n\t * __\n\t *\n\t * Retrieve the translation of $text.\n\t *\n\t * @date\t16/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring text Text to translate.\n\t * @return\tstring Translated text.\n\t */\n\n\tif ( window.acfL10n == undefined ) {\n\t\tacfL10n = {};\n\t}\n\n\tacf.__ = function ( text ) {\n\t\treturn acfL10n[ text ] || text;\n\t};\n\n\t/**\n\t * _x\n\t *\n\t * Retrieve translated string with gettext context.\n\t *\n\t * @date\t16/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring text Text to translate.\n\t * @param\tstring context Context information for the translators.\n\t * @return\tstring Translated text.\n\t */\n\n\tacf._x = function ( text, context ) {\n\t\treturn acfL10n[ text + '.' + context ] || acfL10n[ text ] || text;\n\t};\n\n\t/**\n\t * _n\n\t *\n\t * Retrieve the plural or single form based on the amount.\n\t *\n\t * @date\t16/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring single Single text to translate.\n\t * @param\tstring plural Plural text to translate.\n\t * @param\tint number The number to compare against.\n\t * @return\tstring Translated text.\n\t */\n\n\tacf._n = function ( single, plural, number ) {\n\t\tif ( number == 1 ) {\n\t\t\treturn acf.__( single );\n\t\t} else {\n\t\t\treturn acf.__( plural );\n\t\t}\n\t};\n\n\tacf.isArray = function ( a ) {\n\t\treturn Array.isArray( a );\n\t};\n\n\tacf.isObject = function ( a ) {\n\t\treturn typeof a === 'object';\n\t};\n\n\t/**\n\t * serialize\n\t *\n\t * description\n\t *\n\t * @date\t24/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar buildObject = function ( obj, name, value ) {\n\t\t// replace [] with placeholder\n\t\tname = name.replace( '[]', '[%%index%%]' );\n\n\t\t// vars\n\t\tvar keys = name.match( /([^\\[\\]])+/g );\n\t\tif ( ! keys ) return;\n\t\tvar length = keys.length;\n\t\tvar ref = obj;\n\n\t\t// loop\n\t\tfor ( var i = 0; i < length; i++ ) {\n\t\t\t// vars\n\t\t\tvar key = String( keys[ i ] );\n\n\t\t\t// value\n\t\t\tif ( i == length - 1 ) {\n\t\t\t\t// %%index%%\n\t\t\t\tif ( key === '%%index%%' ) {\n\t\t\t\t\tref.push( value );\n\n\t\t\t\t\t// default\n\t\t\t\t} else {\n\t\t\t\t\tref[ key ] = value;\n\t\t\t\t}\n\n\t\t\t\t// path\n\t\t\t} else {\n\t\t\t\t// array\n\t\t\t\tif ( keys[ i + 1 ] === '%%index%%' ) {\n\t\t\t\t\tif ( ! acf.isArray( ref[ key ] ) ) {\n\t\t\t\t\t\tref[ key ] = [];\n\t\t\t\t\t}\n\n\t\t\t\t\t// object\n\t\t\t\t} else {\n\t\t\t\t\tif ( ! acf.isObject( ref[ key ] ) ) {\n\t\t\t\t\t\tref[ key ] = {};\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// crawl\n\t\t\t\tref = ref[ key ];\n\t\t\t}\n\t\t}\n\t};\n\n\tacf.serialize = function ( $el, prefix ) {\n\t\t// vars\n\t\tvar obj = {};\n\t\tvar inputs = acf.serializeArray( $el );\n\n\t\t// prefix\n\t\tif ( prefix !== undefined ) {\n\t\t\t// filter and modify\n\t\t\tinputs = inputs\n\t\t\t\t.filter( function ( item ) {\n\t\t\t\t\treturn item.name.indexOf( prefix ) === 0;\n\t\t\t\t} )\n\t\t\t\t.map( function ( item ) {\n\t\t\t\t\titem.name = item.name.slice( prefix.length );\n\t\t\t\t\treturn item;\n\t\t\t\t} );\n\t\t}\n\n\t\t// loop\n\t\tfor ( var i = 0; i < inputs.length; i++ ) {\n\t\t\tbuildObject( obj, inputs[ i ].name, inputs[ i ].value );\n\t\t}\n\n\t\t// return\n\t\treturn obj;\n\t};\n\n\t/**\n\t * acf.serializeArray\n\t *\n\t * Similar to $.serializeArray() but works with a parent wrapping element.\n\t *\n\t * @date\t19/8/18\n\t * @since\t5.7.3\n\t *\n\t * @param\tjQuery $el The element or form to serialize.\n\t * @return\tarray\n\t */\n\n\tacf.serializeArray = function ( $el ) {\n\t\treturn $el.find( 'select, textarea, input' ).serializeArray();\n\t};\n\n\t/**\n\t * acf.serializeForAjax\n\t *\n\t * Returns an object containing name => value data ready to be encoded for Ajax.\n\t *\n\t * @date\t17/12/18\n\t * @since\t5.8.0\n\t *\n\t * @param\tjQUery $el The element or form to serialize.\n\t * @return\tobject\n\t */\n\tacf.serializeForAjax = function ( $el ) {\n\t\t// vars\n\t\tvar data = {};\n\t\tvar index = {};\n\n\t\t// Serialize inputs.\n\t\tvar inputs = acf.serializeArray( $el );\n\n\t\t// Loop over inputs and build data.\n\t\tinputs.map( function ( item ) {\n\t\t\t// Append to array.\n\t\t\tif ( item.name.slice( -2 ) === '[]' ) {\n\t\t\t\tdata[ item.name ] = data[ item.name ] || [];\n\t\t\t\tdata[ item.name ].push( item.value );\n\t\t\t\t// Append\n\t\t\t} else {\n\t\t\t\tdata[ item.name ] = item.value;\n\t\t\t}\n\t\t} );\n\n\t\t// return\n\t\treturn data;\n\t};\n\n\t/**\n\t * addAction\n\t *\n\t * Wrapper for acf.hooks.addAction\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tn/a\n\t * @return\tthis\n\t */\n\n\t/*\n\tvar prefixAction = function( action ){\n\t\treturn 'acf_' + action;\n\t}\n*/\n\n\tacf.addAction = function ( action, callback, priority, context ) {\n\t\t//action = prefixAction(action);\n\t\tacf.hooks.addAction.apply( this, arguments );\n\t\treturn this;\n\t};\n\n\t/**\n\t * removeAction\n\t *\n\t * Wrapper for acf.hooks.removeAction\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tn/a\n\t * @return\tthis\n\t */\n\n\tacf.removeAction = function ( action, callback ) {\n\t\t//action = prefixAction(action);\n\t\tacf.hooks.removeAction.apply( this, arguments );\n\t\treturn this;\n\t};\n\n\t/**\n\t * doAction\n\t *\n\t * Wrapper for acf.hooks.doAction\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tn/a\n\t * @return\tthis\n\t */\n\n\tvar actionHistory = {};\n\t//var currentAction = false;\n\tacf.doAction = function ( action ) {\n\t\t//action = prefixAction(action);\n\t\t//currentAction = action;\n\t\tactionHistory[ action ] = 1;\n\t\tacf.hooks.doAction.apply( this, arguments );\n\t\tactionHistory[ action ] = 0;\n\t\treturn this;\n\t};\n\n\t/**\n\t * doingAction\n\t *\n\t * Return true if doing action\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tn/a\n\t * @return\tthis\n\t */\n\n\tacf.doingAction = function ( action ) {\n\t\t//action = prefixAction(action);\n\t\treturn actionHistory[ action ] === 1;\n\t};\n\n\t/**\n\t * didAction\n\t *\n\t * Wrapper for acf.hooks.doAction\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tn/a\n\t * @return\tthis\n\t */\n\n\tacf.didAction = function ( action ) {\n\t\t//action = prefixAction(action);\n\t\treturn actionHistory[ action ] !== undefined;\n\t};\n\n\t/**\n\t * currentAction\n\t *\n\t * Wrapper for acf.hooks.doAction\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tn/a\n\t * @return\tthis\n\t */\n\n\tacf.currentAction = function () {\n\t\tfor ( var k in actionHistory ) {\n\t\t\tif ( actionHistory[ k ] ) {\n\t\t\t\treturn k;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\t/**\n\t * addFilter\n\t *\n\t * Wrapper for acf.hooks.addFilter\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tn/a\n\t * @return\tthis\n\t */\n\n\tacf.addFilter = function ( action ) {\n\t\t//action = prefixAction(action);\n\t\tacf.hooks.addFilter.apply( this, arguments );\n\t\treturn this;\n\t};\n\n\t/**\n\t * removeFilter\n\t *\n\t * Wrapper for acf.hooks.removeFilter\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tn/a\n\t * @return\tthis\n\t */\n\n\tacf.removeFilter = function ( action ) {\n\t\t//action = prefixAction(action);\n\t\tacf.hooks.removeFilter.apply( this, arguments );\n\t\treturn this;\n\t};\n\n\t/**\n\t * applyFilters\n\t *\n\t * Wrapper for acf.hooks.applyFilters\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tn/a\n\t * @return\tthis\n\t */\n\n\tacf.applyFilters = function ( action ) {\n\t\t//action = prefixAction(action);\n\t\treturn acf.hooks.applyFilters.apply( this, arguments );\n\t};\n\n\t/**\n\t * getArgs\n\t *\n\t * description\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.arrayArgs = function ( args ) {\n\t\treturn Array.prototype.slice.call( args );\n\t};\n\n\t/**\n\t * extendArgs\n\t *\n\t * description\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t/*\n\tacf.extendArgs = function( ){\n\t\tvar args = Array.prototype.slice.call( arguments );\n\t\tvar realArgs = args.shift();\n\t\t\t\n\t\tArray.prototype.push.call(arguments, 'bar')\n\t\treturn Array.prototype.push.apply( args, arguments );\n\t};\n*/\n\n\t// Preferences\n\t// - use try/catch to avoid JS error if cookies are disabled on front-end form\n\ttry {\n\t\tvar preferences = JSON.parse( localStorage.getItem( 'acf' ) ) || {};\n\t} catch ( e ) {\n\t\tvar preferences = {};\n\t}\n\n\t/**\n\t * getPreferenceName\n\t *\n\t * Gets the true preference name.\n\t * Converts \"this.thing\" to \"thing-123\" if editing post 123.\n\t *\n\t * @date\t11/11/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring name\n\t * @return\tstring\n\t */\n\n\tvar getPreferenceName = function ( name ) {\n\t\tif ( name.substr( 0, 5 ) === 'this.' ) {\n\t\t\tname = name.substr( 5 ) + '-' + acf.get( 'post_id' );\n\t\t}\n\t\treturn name;\n\t};\n\n\t/**\n\t * acf.getPreference\n\t *\n\t * Gets a preference setting or null if not set.\n\t *\n\t * @date\t11/11/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring name\n\t * @return\tmixed\n\t */\n\n\tacf.getPreference = function ( name ) {\n\t\tname = getPreferenceName( name );\n\t\treturn preferences[ name ] || null;\n\t};\n\n\t/**\n\t * acf.setPreference\n\t *\n\t * Sets a preference setting.\n\t *\n\t * @date\t11/11/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring name\n\t * @param\tmixed value\n\t * @return\tn/a\n\t */\n\n\tacf.setPreference = function ( name, value ) {\n\t\tname = getPreferenceName( name );\n\t\tif ( value === null ) {\n\t\t\tdelete preferences[ name ];\n\t\t} else {\n\t\t\tpreferences[ name ] = value;\n\t\t}\n\t\tlocalStorage.setItem( 'acf', JSON.stringify( preferences ) );\n\t};\n\n\t/**\n\t * acf.removePreference\n\t *\n\t * Removes a preference setting.\n\t *\n\t * @date\t11/11/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring name\n\t * @return\tn/a\n\t */\n\n\tacf.removePreference = function ( name ) {\n\t\tacf.setPreference( name, null );\n\t};\n\n\t/**\n\t * remove\n\t *\n\t * Removes an element with fade effect\n\t *\n\t * @date\t1/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.remove = function ( props ) {\n\t\t// allow jQuery\n\t\tif ( props instanceof jQuery ) {\n\t\t\tprops = {\n\t\t\t\ttarget: props,\n\t\t\t};\n\t\t}\n\n\t\t// defaults\n\t\tprops = acf.parseArgs( props, {\n\t\t\ttarget: false,\n\t\t\tendHeight: 0,\n\t\t\tcomplete: function () {},\n\t\t} );\n\n\t\t// action\n\t\tacf.doAction( 'remove', props.target );\n\n\t\t// tr\n\t\tif ( props.target.is( 'tr' ) ) {\n\t\t\tremoveTr( props );\n\n\t\t\t// div\n\t\t} else {\n\t\t\tremoveDiv( props );\n\t\t}\n\t};\n\n\t/**\n\t * removeDiv\n\t *\n\t * description\n\t *\n\t * @date\t16/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar removeDiv = function ( props ) {\n\t\t// vars\n\t\tvar $el = props.target;\n\t\tvar height = $el.height();\n\t\tvar width = $el.width();\n\t\tvar margin = $el.css( 'margin' );\n\t\tvar outerHeight = $el.outerHeight( true );\n\t\tvar style = $el.attr( 'style' ) + ''; // needed to copy\n\n\t\t// wrap\n\t\t$el.wrap(\n\t\t\t'<div class=\"acf-temp-remove\" style=\"height:' +\n\t\t\t\touterHeight +\n\t\t\t\t'px\"></div>'\n\t\t);\n\t\tvar $wrap = $el.parent();\n\n\t\t// set pos\n\t\t$el.css( {\n\t\t\theight: height,\n\t\t\twidth: width,\n\t\t\tmargin: margin,\n\t\t\tposition: 'absolute',\n\t\t} );\n\n\t\t// fade wrap\n\t\tsetTimeout( function () {\n\t\t\t$wrap.css( {\n\t\t\t\topacity: 0,\n\t\t\t\theight: props.endHeight,\n\t\t\t} );\n\t\t}, 50 );\n\n\t\t// remove\n\t\tsetTimeout( function () {\n\t\t\t$el.attr( 'style', style );\n\t\t\t$wrap.remove();\n\t\t\tprops.complete();\n\t\t}, 301 );\n\t};\n\n\t/**\n\t * removeTr\n\t *\n\t * description\n\t *\n\t * @date\t16/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar removeTr = function ( props ) {\n\t\t// vars\n\t\tvar $tr = props.target;\n\t\tvar height = $tr.height();\n\t\tvar children = $tr.children().length;\n\n\t\t// create dummy td\n\t\tvar $td = $(\n\t\t\t'<td class=\"acf-temp-remove\" style=\"padding:0; height:' +\n\t\t\t\theight +\n\t\t\t\t'px\" colspan=\"' +\n\t\t\t\tchildren +\n\t\t\t\t'\"></td>'\n\t\t);\n\n\t\t// fade away tr\n\t\t$tr.addClass( 'acf-remove-element' );\n\n\t\t// update HTML after fade animation\n\t\tsetTimeout( function () {\n\t\t\t$tr.html( $td );\n\t\t}, 251 );\n\n\t\t// allow .acf-temp-remove to exist before changing CSS\n\t\tsetTimeout( function () {\n\t\t\t// remove class\n\t\t\t$tr.removeClass( 'acf-remove-element' );\n\n\t\t\t// collapse\n\t\t\t$td.css( {\n\t\t\t\theight: props.endHeight,\n\t\t\t} );\n\t\t}, 300 );\n\n\t\t// remove\n\t\tsetTimeout( function () {\n\t\t\t$tr.remove();\n\t\t\tprops.complete();\n\t\t}, 451 );\n\t};\n\n\t/**\n\t * duplicate\n\t *\n\t * description\n\t *\n\t * @date\t3/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.duplicate = function ( args ) {\n\t\t// allow jQuery\n\t\tif ( args instanceof jQuery ) {\n\t\t\targs = {\n\t\t\t\ttarget: args,\n\t\t\t};\n\t\t}\n\n\t\t// defaults\n\t\targs = acf.parseArgs( args, {\n\t\t\ttarget: false,\n\t\t\tsearch: '',\n\t\t\treplace: '',\n\t\t\trename: true,\n\t\t\tbefore: function ( $el ) {},\n\t\t\tafter: function ( $el, $el2 ) {},\n\t\t\tappend: function ( $el, $el2 ) {\n\t\t\t\t$el.after( $el2 );\n\t\t\t},\n\t\t} );\n\n\t\t// compatibility\n\t\targs.target = args.target || args.$el;\n\n\t\t// vars\n\t\tvar $el = args.target;\n\n\t\t// search\n\t\targs.search = args.search || $el.attr( 'data-id' );\n\t\targs.replace = args.replace || acf.uniqid();\n\n\t\t// before\n\t\t// - allow acf to modify DOM\n\t\t// - fixes bug where select field option is not selected\n\t\targs.before( $el );\n\t\tacf.doAction( 'before_duplicate', $el );\n\n\t\t// clone\n\t\tvar $el2 = $el.clone();\n\n\t\t// rename\n\t\tif ( args.rename ) {\n\t\t\tacf.rename( {\n\t\t\t\ttarget: $el2,\n\t\t\t\tsearch: args.search,\n\t\t\t\treplace: args.replace,\n\t\t\t\treplacer:\n\t\t\t\t\ttypeof args.rename === 'function' ? args.rename : null,\n\t\t\t} );\n\t\t}\n\n\t\t// remove classes\n\t\t$el2.removeClass( 'acf-clone' );\n\t\t$el2.find( '.ui-sortable' ).removeClass( 'ui-sortable' );\n\n\t\t// remove any initialised select2s prevent the duplicated object stealing the previous select2.\n\t\t$el2.find( '[data-select2-id]' ).removeAttr( 'data-select2-id' );\n\t\t$el2.find( '.select2' ).remove();\n\n\t\t// subfield select2 renames happen after init and contain a duplicated ID. force change those IDs to prevent this.\n\t\t$el2.find( '.acf-is-subfields select[data-ui=\"1\"]' ).each( function () {\n\t\t\t$( this ).prop(\n\t\t\t\t'id',\n\t\t\t\t$( this )\n\t\t\t\t\t.prop( 'id' )\n\t\t\t\t\t.replace(\n\t\t\t\t\t\t'acf_fields',\n\t\t\t\t\t\tacf.uniqid( 'duplicated_' ) + '_acf_fields'\n\t\t\t\t\t)\n\t\t\t);\n\t\t} );\n\n\t\t// remove tab wrapper to ensure proper init\n\t\t$el2.find( '.acf-field-settings > .acf-tab-wrap' ).remove();\n\n\t\t// after\n\t\t// - allow acf to modify DOM\n\t\targs.after( $el, $el2 );\n\t\tacf.doAction( 'after_duplicate', $el, $el2 );\n\n\t\t// append\n\t\targs.append( $el, $el2 );\n\n\t\t/**\n\t\t * Fires after an element has been duplicated and appended to the DOM.\n\t\t *\n\t\t * @date\t30/10/19\n\t\t * @since\t5.8.7\n\t\t *\n\t\t * @param\tjQuery $el The original element.\n\t\t * @param\tjQuery $el2 The duplicated element.\n\t\t */\n\t\tacf.doAction( 'duplicate', $el, $el2 );\n\n\t\t// append\n\t\tacf.doAction( 'append', $el2 );\n\n\t\t// return\n\t\treturn $el2;\n\t};\n\n\t/**\n\t * rename\n\t *\n\t * description\n\t *\n\t * @date\t7/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.rename = function ( args ) {\n\t\t// Allow jQuery param.\n\t\tif ( args instanceof jQuery ) {\n\t\t\targs = {\n\t\t\t\ttarget: args,\n\t\t\t};\n\t\t}\n\n\t\t// Apply default args.\n\t\targs = acf.parseArgs( args, {\n\t\t\ttarget: false,\n\t\t\tdestructive: false,\n\t\t\tsearch: '',\n\t\t\treplace: '',\n\t\t\treplacer: null,\n\t\t} );\n\n\t\t// Extract args.\n\t\tvar $el = args.target;\n\n\t\t// Provide backup for empty args.\n\t\tif ( ! args.search ) {\n\t\t\targs.search = $el.attr( 'data-id' );\n\t\t}\n\t\tif ( ! args.replace ) {\n\t\t\targs.replace = acf.uniqid( 'acf' );\n\t\t}\n\t\tif ( ! args.replacer ) {\n\t\t\targs.replacer = function ( name, value, search, replace ) {\n\t\t\t\treturn value.replace( search, replace );\n\t\t\t};\n\t\t}\n\n\t\t// Callback function for jQuery replacing.\n\t\tvar withReplacer = function ( name ) {\n\t\t\treturn function ( i, value ) {\n\t\t\t\treturn args.replacer( name, value, args.search, args.replace );\n\t\t\t};\n\t\t};\n\n\t\t// Destructive Replace.\n\t\tif ( args.destructive ) {\n\t\t\tvar html = acf.strReplace(\n\t\t\t\targs.search,\n\t\t\t\targs.replace,\n\t\t\t\t$el.outerHTML()\n\t\t\t);\n\t\t\t$el.replaceWith( html );\n\n\t\t\t// Standard Replace.\n\t\t} else {\n\t\t\t$el.attr( 'data-id', args.replace );\n\t\t\t$el.find( '[id*=\"' + args.search + '\"]' ).attr(\n\t\t\t\t'id',\n\t\t\t\twithReplacer( 'id' )\n\t\t\t);\n\t\t\t$el.find( '[for*=\"' + args.search + '\"]' ).attr(\n\t\t\t\t'for',\n\t\t\t\twithReplacer( 'for' )\n\t\t\t);\n\t\t\t$el.find( '[name*=\"' + args.search + '\"]' ).attr(\n\t\t\t\t'name',\n\t\t\t\twithReplacer( 'name' )\n\t\t\t);\n\t\t}\n\n\t\t// return\n\t\treturn $el;\n\t};\n\n\t/**\n\t * acf.prepareForAjax\n\t *\n\t * description\n\t *\n\t * @date\t4/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.prepareForAjax = function ( data ) {\n\t\t// required\n\t\tdata.nonce = acf.get( 'nonce' );\n\t\tdata.post_id = acf.get( 'post_id' );\n\n\t\t// language\n\t\tif ( acf.has( 'language' ) ) {\n\t\t\tdata.lang = acf.get( 'language' );\n\t\t}\n\n\t\t// filter for 3rd party customization\n\t\tdata = acf.applyFilters( 'prepare_for_ajax', data );\n\n\t\t// return\n\t\treturn data;\n\t};\n\n\t/**\n\t * acf.startButtonLoading\n\t *\n\t * description\n\t *\n\t * @date\t5/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.startButtonLoading = function ( $el ) {\n\t\t$el.prop( 'disabled', true );\n\t\t$el.after( ' <i class=\"acf-loading\"></i>' );\n\t};\n\n\tacf.stopButtonLoading = function ( $el ) {\n\t\t$el.prop( 'disabled', false );\n\t\t$el.next( '.acf-loading' ).remove();\n\t};\n\n\t/**\n\t * acf.showLoading\n\t *\n\t * description\n\t *\n\t * @date\t12/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.showLoading = function ( $el ) {\n\t\t$el.append(\n\t\t\t'<div class=\"acf-loading-overlay\"><i class=\"acf-loading\"></i></div>'\n\t\t);\n\t};\n\n\tacf.hideLoading = function ( $el ) {\n\t\t$el.children( '.acf-loading-overlay' ).remove();\n\t};\n\n\t/**\n\t * acf.updateUserSetting\n\t *\n\t * description\n\t *\n\t * @date\t5/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.updateUserSetting = function ( name, value ) {\n\t\tvar ajaxData = {\n\t\t\taction: 'acf/ajax/user_setting',\n\t\t\tname: name,\n\t\t\tvalue: value,\n\t\t};\n\n\t\t$.ajax( {\n\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\ttype: 'post',\n\t\t\tdataType: 'html',\n\t\t} );\n\t};\n\n\t/**\n\t * acf.val\n\t *\n\t * description\n\t *\n\t * @date\t8/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.val = function ( $input, value, silent ) {\n\t\t// vars\n\t\tvar prevValue = $input.val();\n\n\t\t// bail if no change\n\t\tif ( value === prevValue ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// update value\n\t\t$input.val( value );\n\n\t\t// prevent select elements displaying blank value if option doesn't exist\n\t\tif ( $input.is( 'select' ) && $input.val() === null ) {\n\t\t\t$input.val( prevValue );\n\t\t\treturn false;\n\t\t}\n\n\t\t// update with trigger\n\t\tif ( silent !== true ) {\n\t\t\t$input.trigger( 'change' );\n\t\t}\n\n\t\t// return\n\t\treturn true;\n\t};\n\n\t/**\n\t * acf.show\n\t *\n\t * description\n\t *\n\t * @date\t9/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.show = function ( $el, lockKey ) {\n\t\t// unlock\n\t\tif ( lockKey ) {\n\t\t\tacf.unlock( $el, 'hidden', lockKey );\n\t\t}\n\n\t\t// bail early if $el is still locked\n\t\tif ( acf.isLocked( $el, 'hidden' ) ) {\n\t\t\t//console.log( 'still locked', getLocks( $el, 'hidden' ));\n\t\t\treturn false;\n\t\t}\n\n\t\t// $el is hidden, remove class and return true due to change in visibility\n\t\tif ( $el.hasClass( 'acf-hidden' ) ) {\n\t\t\t$el.removeClass( 'acf-hidden' );\n\t\t\treturn true;\n\n\t\t\t// $el is visible, return false due to no change in visibility\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/**\n\t * acf.hide\n\t *\n\t * description\n\t *\n\t * @date\t9/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.hide = function ( $el, lockKey ) {\n\t\t// lock\n\t\tif ( lockKey ) {\n\t\t\tacf.lock( $el, 'hidden', lockKey );\n\t\t}\n\n\t\t// $el is hidden, return false due to no change in visibility\n\t\tif ( $el.hasClass( 'acf-hidden' ) ) {\n\t\t\treturn false;\n\n\t\t\t// $el is visible, add class and return true due to change in visibility\n\t\t} else {\n\t\t\t$el.addClass( 'acf-hidden' );\n\t\t\treturn true;\n\t\t}\n\t};\n\n\t/**\n\t * acf.isHidden\n\t *\n\t * description\n\t *\n\t * @date\t9/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.isHidden = function ( $el ) {\n\t\treturn $el.hasClass( 'acf-hidden' );\n\t};\n\n\t/**\n\t * acf.isVisible\n\t *\n\t * description\n\t *\n\t * @date\t9/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.isVisible = function ( $el ) {\n\t\treturn ! acf.isHidden( $el );\n\t};\n\n\t/**\n\t * enable\n\t *\n\t * description\n\t *\n\t * @date\t12/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar enable = function ( $el, lockKey ) {\n\t\t// check class. Allow .acf-disabled to overrule all JS\n\t\tif ( $el.hasClass( 'acf-disabled' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// unlock\n\t\tif ( lockKey ) {\n\t\t\tacf.unlock( $el, 'disabled', lockKey );\n\t\t}\n\n\t\t// bail early if $el is still locked\n\t\tif ( acf.isLocked( $el, 'disabled' ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// $el is disabled, remove prop and return true due to change\n\t\tif ( $el.prop( 'disabled' ) ) {\n\t\t\t$el.prop( 'disabled', false );\n\t\t\treturn true;\n\n\t\t\t// $el is enabled, return false due to no change\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/**\n\t * acf.enable\n\t *\n\t * description\n\t *\n\t * @date\t9/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.enable = function ( $el, lockKey ) {\n\t\t// enable single input\n\t\tif ( $el.attr( 'name' ) ) {\n\t\t\treturn enable( $el, lockKey );\n\t\t}\n\n\t\t// find and enable child inputs\n\t\t// return true if any inputs have changed\n\t\tvar results = false;\n\t\t$el.find( '[name]' ).each( function () {\n\t\t\tvar result = enable( $( this ), lockKey );\n\t\t\tif ( result ) {\n\t\t\t\tresults = true;\n\t\t\t}\n\t\t} );\n\t\treturn results;\n\t};\n\n\t/**\n\t * disable\n\t *\n\t * description\n\t *\n\t * @date\t12/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar disable = function ( $el, lockKey ) {\n\t\t// lock\n\t\tif ( lockKey ) {\n\t\t\tacf.lock( $el, 'disabled', lockKey );\n\t\t}\n\n\t\t// $el is disabled, return false due to no change\n\t\tif ( $el.prop( 'disabled' ) ) {\n\t\t\treturn false;\n\n\t\t\t// $el is enabled, add prop and return true due to change\n\t\t} else {\n\t\t\t$el.prop( 'disabled', true );\n\t\t\treturn true;\n\t\t}\n\t};\n\n\t/**\n\t * acf.disable\n\t *\n\t * description\n\t *\n\t * @date\t9/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.disable = function ( $el, lockKey ) {\n\t\t// disable single input\n\t\tif ( $el.attr( 'name' ) ) {\n\t\t\treturn disable( $el, lockKey );\n\t\t}\n\n\t\t// find and enable child inputs\n\t\t// return true if any inputs have changed\n\t\tvar results = false;\n\t\t$el.find( '[name]' ).each( function () {\n\t\t\tvar result = disable( $( this ), lockKey );\n\t\t\tif ( result ) {\n\t\t\t\tresults = true;\n\t\t\t}\n\t\t} );\n\t\treturn results;\n\t};\n\n\t/**\n\t * acf.isset\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.isset = function ( obj /*, level1, level2, ... */ ) {\n\t\tfor ( var i = 1; i < arguments.length; i++ ) {\n\t\t\tif ( ! obj || ! obj.hasOwnProperty( arguments[ i ] ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tobj = obj[ arguments[ i ] ];\n\t\t}\n\t\treturn true;\n\t};\n\n\t/**\n\t * acf.isget\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.isget = function ( obj /*, level1, level2, ... */ ) {\n\t\tfor ( var i = 1; i < arguments.length; i++ ) {\n\t\t\tif ( ! obj || ! obj.hasOwnProperty( arguments[ i ] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tobj = obj[ arguments[ i ] ];\n\t\t}\n\t\treturn obj;\n\t};\n\n\t/**\n\t * acf.getFileInputData\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getFileInputData = function ( $input, callback ) {\n\t\t// vars\n\t\tvar value = $input.val();\n\n\t\t// bail early if no value\n\t\tif ( ! value ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// data\n\t\tvar data = {\n\t\t\turl: value,\n\t\t};\n\n\t\t// modern browsers\n\t\tvar file = $input[ 0 ].files.length\n\t\t\t? acf.isget( $input[ 0 ].files, 0 )\n\t\t\t: false;\n\t\tif ( file ) {\n\t\t\t// update data\n\t\t\tdata.size = file.size;\n\t\t\tdata.type = file.type;\n\n\t\t\t// image\n\t\t\tif ( file.type.indexOf( 'image' ) > -1 ) {\n\t\t\t\t// vars\n\t\t\t\tvar windowURL = window.URL || window.webkitURL;\n\t\t\t\tvar img = new Image();\n\n\t\t\t\timg.onload = function () {\n\t\t\t\t\t// update\n\t\t\t\t\tdata.width = this.width;\n\t\t\t\t\tdata.height = this.height;\n\n\t\t\t\t\tcallback( data );\n\t\t\t\t};\n\t\t\t\timg.src = windowURL.createObjectURL( file );\n\t\t\t} else {\n\t\t\t\tcallback( data );\n\t\t\t}\n\t\t} else {\n\t\t\tcallback( data );\n\t\t}\n\t};\n\n\t/**\n\t * acf.isAjaxSuccess\n\t *\n\t * description\n\t *\n\t * @date\t18/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.isAjaxSuccess = function ( json ) {\n\t\treturn json && json.success;\n\t};\n\n\t/**\n\t * acf.getAjaxMessage\n\t *\n\t * description\n\t *\n\t * @date\t18/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getAjaxMessage = function ( json ) {\n\t\treturn acf.isget( json, 'data', 'message' );\n\t};\n\n\t/**\n\t * acf.getAjaxError\n\t *\n\t * description\n\t *\n\t * @date\t18/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getAjaxError = function ( json ) {\n\t\treturn acf.isget( json, 'data', 'error' );\n\t};\n\n\t/**\n\t * Returns the error message from an XHR object.\n\t *\n\t * @date\t17/3/20\n\t * @since\t5.8.9\n\t *\n\t * @param\tobject xhr The XHR object.\n\t * @return\t(string)\n\t */\n\tacf.getXhrError = function ( xhr ) {\n\t\tif ( xhr.responseJSON ) {\n\t\t\t// Responses via `return new WP_Error();`\n\t\t\tif ( xhr.responseJSON.message ) {\n\t\t\t\treturn xhr.responseJSON.message;\n\t\t\t}\n\n\t\t\t// Responses via `wp_send_json_error();`.\n\t\t\tif ( xhr.responseJSON.data && xhr.responseJSON.data.error ) {\n\t\t\t\treturn xhr.responseJSON.data.error;\n\t\t\t}\n\t\t} else if ( xhr.statusText ) {\n\t\t\treturn xhr.statusText;\n\t\t}\n\n\t\treturn '';\n\t};\n\n\t/**\n\t * acf.renderSelect\n\t *\n\t * Renders the innter html for a select field.\n\t *\n\t * @date\t19/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tjQuery $select The select element.\n\t * @param\tarray choices An array of choices.\n\t * @return\tvoid\n\t */\n\n\tacf.renderSelect = function ( $select, choices ) {\n\t\t// vars\n\t\tvar value = $select.val();\n\t\tvar values = [];\n\n\t\t// callback\n\t\tvar crawl = function ( items ) {\n\t\t\t// vars\n\t\t\tvar itemsHtml = '';\n\n\t\t\t// loop\n\t\t\titems.map( function ( item ) {\n\t\t\t\t// vars\n\t\t\t\tvar text = item.text || item.label || '';\n\t\t\t\tvar id = item.id || item.value || '';\n\n\t\t\t\t// append\n\t\t\t\tvalues.push( id );\n\n\t\t\t\t// optgroup\n\t\t\t\tif ( item.children ) {\n\t\t\t\t\titemsHtml +=\n\t\t\t\t\t\t'<optgroup label=\"' +\n\t\t\t\t\t\tacf.escAttr( text ) +\n\t\t\t\t\t\t'\">' +\n\t\t\t\t\t\tcrawl( item.children ) +\n\t\t\t\t\t\t'</optgroup>';\n\n\t\t\t\t\t// option\n\t\t\t\t} else {\n\t\t\t\t\titemsHtml +=\n\t\t\t\t\t\t'<option value=\"' +\n\t\t\t\t\t\tacf.escAttr( id ) +\n\t\t\t\t\t\t'\"' +\n\t\t\t\t\t\t( item.disabled ? ' disabled=\"disabled\"' : '' ) +\n\t\t\t\t\t\t'>' +\n\t\t\t\t\t\tacf.strEscape( text ) +\n\t\t\t\t\t\t'</option>';\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn itemsHtml;\n\t\t};\n\n\t\t// update HTML\n\t\t$select.html( crawl( choices ) );\n\n\t\t// update value\n\t\tif ( values.indexOf( value ) > -1 ) {\n\t\t\t$select.val( value );\n\t\t}\n\n\t\t// return selected value\n\t\treturn $select.val();\n\t};\n\n\t/**\n\t * acf.lock\n\t *\n\t * Creates a \"lock\" on an element for a given type and key\n\t *\n\t * @date\t22/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tjQuery $el The element to lock.\n\t * @param\tstring type The type of lock such as \"condition\" or \"visibility\".\n\t * @param\tstring key The key that will be used to unlock.\n\t * @return\tvoid\n\t */\n\n\tvar getLocks = function ( $el, type ) {\n\t\treturn $el.data( 'acf-lock-' + type ) || [];\n\t};\n\n\tvar setLocks = function ( $el, type, locks ) {\n\t\t$el.data( 'acf-lock-' + type, locks );\n\t};\n\n\tacf.lock = function ( $el, type, key ) {\n\t\tvar locks = getLocks( $el, type );\n\t\tvar i = locks.indexOf( key );\n\t\tif ( i < 0 ) {\n\t\t\tlocks.push( key );\n\t\t\tsetLocks( $el, type, locks );\n\t\t}\n\t};\n\n\t/**\n\t * acf.unlock\n\t *\n\t * Unlocks a \"lock\" on an element for a given type and key\n\t *\n\t * @date\t22/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tjQuery $el The element to lock.\n\t * @param\tstring type The type of lock such as \"condition\" or \"visibility\".\n\t * @param\tstring key The key that will be used to unlock.\n\t * @return\tvoid\n\t */\n\n\tacf.unlock = function ( $el, type, key ) {\n\t\tvar locks = getLocks( $el, type );\n\t\tvar i = locks.indexOf( key );\n\t\tif ( i > -1 ) {\n\t\t\tlocks.splice( i, 1 );\n\t\t\tsetLocks( $el, type, locks );\n\t\t}\n\n\t\t// return true if is unlocked (no locks)\n\t\treturn locks.length === 0;\n\t};\n\n\t/**\n\t * acf.isLocked\n\t *\n\t * Returns true if a lock exists for a given type\n\t *\n\t * @date\t22/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tjQuery $el The element to lock.\n\t * @param\tstring type The type of lock such as \"condition\" or \"visibility\".\n\t * @return\tvoid\n\t */\n\n\tacf.isLocked = function ( $el, type ) {\n\t\treturn getLocks( $el, type ).length > 0;\n\t};\n\n\t/**\n\t * acf.isGutenberg\n\t *\n\t * Returns true if the Gutenberg editor is being used.\n\t *\n\t * @since\t5.8.0\n\t *\n\t * @return\tbool\n\t */\n\tacf.isGutenberg = function () {\n\t\treturn !! (\n\t\t\twindow.wp &&\n\t\t\twp.data &&\n\t\t\twp.data.select &&\n\t\t\twp.data.select( 'core/editor' )\n\t\t);\n\t};\n\n\t/**\n\t * acf.isGutenbergPostEditor\n\t *\n\t * Returns true if the Gutenberg post editor is being used.\n\t *\n\t * @since\t6.2.2\n\t *\n\t * @return\tbool\n\t */\n\tacf.isGutenbergPostEditor = function () {\n\t\treturn !! (\n\t\t\twindow.wp &&\n\t\t\twp.data &&\n\t\t\twp.data.select &&\n\t\t\twp.data.select( 'core/edit-post' )\n\t\t);\n\t};\n\n\t/**\n\t * acf.objectToArray\n\t *\n\t * Returns an array of items from the given object.\n\t *\n\t * @date\t20/11/18\n\t * @since\t5.8.0\n\t *\n\t * @param\tobject obj The object of items.\n\t * @return\tarray\n\t */\n\tacf.objectToArray = function ( obj ) {\n\t\treturn Object.keys( obj ).map( function ( key ) {\n\t\t\treturn obj[ key ];\n\t\t} );\n\t};\n\n\t/**\n\t * acf.debounce\n\t *\n\t * Returns a debounced version of the passed function which will postpone its execution until after `wait` milliseconds have elapsed since the last time it was invoked.\n\t *\n\t * @date\t28/8/19\n\t * @since\t5.8.1\n\t *\n\t * @param\tfunction callback The callback function.\n\t * @return\tint wait The number of milliseconds to wait.\n\t */\n\tacf.debounce = function ( callback, wait ) {\n\t\tvar timeout;\n\t\treturn function () {\n\t\t\tvar context = this;\n\t\t\tvar args = arguments;\n\t\t\tvar later = function () {\n\t\t\t\tcallback.apply( context, args );\n\t\t\t};\n\t\t\tclearTimeout( timeout );\n\t\t\ttimeout = setTimeout( later, wait );\n\t\t};\n\t};\n\n\t/**\n\t * acf.throttle\n\t *\n\t * Returns a throttled version of the passed function which will allow only one execution per `limit` time period.\n\t *\n\t * @date\t28/8/19\n\t * @since\t5.8.1\n\t *\n\t * @param\tfunction callback The callback function.\n\t * @return\tint wait The number of milliseconds to wait.\n\t */\n\tacf.throttle = function ( callback, limit ) {\n\t\tvar busy = false;\n\t\treturn function () {\n\t\t\tif ( busy ) return;\n\t\t\tbusy = true;\n\t\t\tsetTimeout( function () {\n\t\t\t\tbusy = false;\n\t\t\t}, limit );\n\t\t\tcallback.apply( this, arguments );\n\t\t};\n\t};\n\n\t/**\n\t * acf.isInView\n\t *\n\t * Returns true if the given element is in view.\n\t *\n\t * @date\t29/8/19\n\t * @since\t5.8.1\n\t *\n\t * @param\telem el The dom element to inspect.\n\t * @return\tbool\n\t */\n\tacf.isInView = function ( el ) {\n\t\tif ( el instanceof jQuery ) {\n\t\t\tel = el[ 0 ];\n\t\t}\n\t\tvar rect = el.getBoundingClientRect();\n\t\treturn (\n\t\t\trect.top !== rect.bottom &&\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <=\n\t\t\t\t( window.innerHeight ||\n\t\t\t\t\tdocument.documentElement.clientHeight ) &&\n\t\t\trect.right <=\n\t\t\t\t( window.innerWidth || document.documentElement.clientWidth )\n\t\t);\n\t};\n\n\t/**\n\t * acf.onceInView\n\t *\n\t * Watches for a dom element to become visible in the browser and then excecutes the passed callback.\n\t *\n\t * @date\t28/8/19\n\t * @since\t5.8.1\n\t *\n\t * @param\tdom el The dom element to inspect.\n\t * @param\tfunction callback The callback function.\n\t */\n\tacf.onceInView = ( function () {\n\t\t// Define list.\n\t\tvar items = [];\n\t\tvar id = 0;\n\n\t\t// Define check function.\n\t\tvar check = function () {\n\t\t\titems.forEach( function ( item ) {\n\t\t\t\tif ( acf.isInView( item.el ) ) {\n\t\t\t\t\titem.callback.apply( this );\n\t\t\t\t\tpop( item.id );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\n\t\t// And create a debounced version.\n\t\tvar debounced = acf.debounce( check, 300 );\n\n\t\t// Define add function.\n\t\tvar push = function ( el, callback ) {\n\t\t\t// Add event listener.\n\t\t\tif ( ! items.length ) {\n\t\t\t\t$( window )\n\t\t\t\t\t.on( 'scroll resize', debounced )\n\t\t\t\t\t.on( 'acfrefresh orientationchange', check );\n\t\t\t}\n\n\t\t\t// Append to list.\n\t\t\titems.push( { id: id++, el: el, callback: callback } );\n\t\t};\n\n\t\t// Define remove function.\n\t\tvar pop = function ( id ) {\n\t\t\t// Remove from list.\n\t\t\titems = items.filter( function ( item ) {\n\t\t\t\treturn item.id !== id;\n\t\t\t} );\n\n\t\t\t// Clean up listener.\n\t\t\tif ( ! items.length ) {\n\t\t\t\t$( window )\n\t\t\t\t\t.off( 'scroll resize', debounced )\n\t\t\t\t\t.off( 'acfrefresh orientationchange', check );\n\t\t\t}\n\t\t};\n\n\t\t// Define returned function.\n\t\treturn function ( el, callback ) {\n\t\t\t// Allow jQuery object.\n\t\t\tif ( el instanceof jQuery ) el = el[ 0 ];\n\n\t\t\t// Execute callback if already in view or add to watch list.\n\t\t\tif ( acf.isInView( el ) ) {\n\t\t\t\tcallback.apply( this );\n\t\t\t} else {\n\t\t\t\tpush( el, callback );\n\t\t\t}\n\t\t};\n\t} )();\n\n\t/**\n\t * acf.once\n\t *\n\t * Creates a function that is restricted to invoking `func` once.\n\t *\n\t * @date\t2/9/19\n\t * @since\t5.8.1\n\t *\n\t * @param\tfunction func The function to restrict.\n\t * @return\tfunction\n\t */\n\tacf.once = function ( func ) {\n\t\tvar i = 0;\n\t\treturn function () {\n\t\t\tif ( i++ > 0 ) {\n\t\t\t\treturn ( func = undefined );\n\t\t\t}\n\t\t\treturn func.apply( this, arguments );\n\t\t};\n\t};\n\n\t/**\n\t * Focuses attention to a specific element.\n\t *\n\t * @date\t05/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tjQuery $el The jQuery element to focus.\n\t * @return\tvoid\n\t */\n\tacf.focusAttention = function ( $el ) {\n\t\tvar wait = 1000;\n\n\t\t// Apply class to focus attention.\n\t\t$el.addClass( 'acf-attention -focused' );\n\n\t\t// Scroll to element if needed.\n\t\tvar scrollTime = 500;\n\t\tif ( ! acf.isInView( $el ) ) {\n\t\t\t$( 'body, html' ).animate(\n\t\t\t\t{\n\t\t\t\t\tscrollTop: $el.offset().top - $( window ).height() / 2,\n\t\t\t\t},\n\t\t\t\tscrollTime\n\t\t\t);\n\t\t\twait += scrollTime;\n\t\t}\n\n\t\t// Remove class after $wait amount of time.\n\t\tvar fadeTime = 250;\n\t\tsetTimeout( function () {\n\t\t\t$el.removeClass( '-focused' );\n\t\t\tsetTimeout( function () {\n\t\t\t\t$el.removeClass( 'acf-attention' );\n\t\t\t}, fadeTime );\n\t\t}, wait );\n\t};\n\n\t/**\n\t * Description\n\t *\n\t * @date\t05/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\ttype Var Description.\n\t * @return\ttype Description.\n\t */\n\tacf.onFocus = function ( $el, callback ) {\n\t\t// Only run once per element.\n\t\t// if( $el.data('acf.onFocus') ) {\n\t\t// \treturn false;\n\t\t// }\n\n\t\t// Vars.\n\t\tvar ignoreBlur = false;\n\t\tvar focus = false;\n\n\t\t// Functions.\n\t\tvar onFocus = function () {\n\t\t\tignoreBlur = true;\n\t\t\tsetTimeout( function () {\n\t\t\t\tignoreBlur = false;\n\t\t\t}, 1 );\n\t\t\tsetFocus( true );\n\t\t};\n\t\tvar onBlur = function () {\n\t\t\tif ( ! ignoreBlur ) {\n\t\t\t\tsetFocus( false );\n\t\t\t}\n\t\t};\n\t\tvar addEvents = function () {\n\t\t\t$( document ).on( 'click', onBlur );\n\t\t\t//$el.on('acfBlur', onBlur);\n\t\t\t$el.on( 'blur', 'input, select, textarea', onBlur );\n\t\t};\n\t\tvar removeEvents = function () {\n\t\t\t$( document ).off( 'click', onBlur );\n\t\t\t//$el.off('acfBlur', onBlur);\n\t\t\t$el.off( 'blur', 'input, select, textarea', onBlur );\n\t\t};\n\t\tvar setFocus = function ( value ) {\n\t\t\tif ( focus === value ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( value ) {\n\t\t\t\taddEvents();\n\t\t\t} else {\n\t\t\t\tremoveEvents();\n\t\t\t}\n\t\t\tfocus = value;\n\t\t\tcallback( value );\n\t\t};\n\n\t\t// Add events and set data.\n\t\t$el.on( 'click', onFocus );\n\t\t//$el.on('acfFocus', onFocus);\n\t\t$el.on( 'focus', 'input, select, textarea', onFocus );\n\t\t//$el.data('acf.onFocus', true);\n\t};\n\n\t/**\n\t * Disable form submit buttons\n\t *\n\t * @since 6.2.3\n\t *\n\t * @param event e\n\t * @returns void\n\t */\n\tacf.disableForm = function ( e ) {\n\t\t// Disable submit button.\n\t\tif ( e.submitter ) e.submitter.classList.add( 'disabled' );\n\t};\n\n\t/*\n\t * exists\n\t *\n\t * This function will return true if a jQuery selection exists\n\t *\n\t * @type\tfunction\n\t * @date\t8/09/2014\n\t * @since\t5.0.0\n\t *\n\t * @param\tn/a\n\t * @return\t(boolean)\n\t */\n\n\t$.fn.exists = function () {\n\t\treturn $( this ).length > 0;\n\t};\n\n\t/*\n\t * outerHTML\n\t *\n\t * This function will return a string containing the HTML of the selected element\n\t *\n\t * @type\tfunction\n\t * @date\t19/11/2013\n\t * @since\t5.0.0\n\t *\n\t * @param\t$.fn\n\t * @return\t(string)\n\t */\n\n\t$.fn.outerHTML = function () {\n\t\treturn $( this ).get( 0 ).outerHTML;\n\t};\n\n\t/*\n\t * indexOf\n\t *\n\t * This function will provide compatibility for ie8\n\t *\n\t * @type\tfunction\n\t * @date\t5/3/17\n\t * @since\t5.5.10\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\tif ( ! Array.prototype.indexOf ) {\n\t\tArray.prototype.indexOf = function ( val ) {\n\t\t\treturn $.inArray( val, this );\n\t\t};\n\t}\n\n\t/**\n\t * Returns true if value is a number or a numeric string.\n\t *\n\t * @date\t30/11/20\n\t * @since\t5.9.4\n\t * @link\thttps://stackoverflow.com/questions/9716468/pure-javascript-a-function-like-jquerys-isnumeric/9716488#9716488\n\t *\n\t * @param\tmixed n The variable being evaluated.\n\t * @return\tbool.\n\t */\n\tacf.isNumeric = function ( n ) {\n\t\treturn ! isNaN( parseFloat( n ) ) && isFinite( n );\n\t};\n\n\t/**\n\t * Triggers a \"refresh\" action used by various Components to redraw the DOM.\n\t *\n\t * @date\t26/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tacf.refresh = acf.debounce( function () {\n\t\t$( window ).trigger( 'acfrefresh' );\n\t\tacf.doAction( 'refresh' );\n\t}, 0 );\n\n\t// Set up actions from events\n\t$( document ).ready( function () {\n\t\tacf.doAction( 'ready' );\n\t} );\n\n\t$( window ).on( 'load', function () {\n\t\t// Use timeout to ensure action runs after Gutenberg has modified DOM elements during \"DOMContentLoaded\".\n\t\tsetTimeout( function () {\n\t\t\tacf.doAction( 'load' );\n\t\t} );\n\t} );\n\n\t$( window ).on( 'beforeunload', function () {\n\t\tacf.doAction( 'unload' );\n\t} );\n\n\t$( window ).on( 'resize', function () {\n\t\tacf.doAction( 'resize' );\n\t} );\n\n\t$( document ).on( 'sortstart', function ( event, ui ) {\n\t\tacf.doAction( 'sortstart', ui.item, ui.placeholder );\n\t} );\n\n\t$( document ).on( 'sortstop', function ( event, ui ) {\n\t\tacf.doAction( 'sortstop', ui.item, ui.placeholder );\n\t} );\n} )( jQuery );\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './_acf.js';\nimport './_acf-hooks.js';\nimport './_acf-model.js';\nimport './_acf-popup.js';\nimport './_acf-modal.js';\nimport './_acf-panel.js';\nimport './_acf-notice.js';\nimport './_acf-tooltip.js';\n"],"names":["window","undefined","EventManager","MethodsAvailable","removeFilter","applyFilters","addFilter","removeAction","doAction","addAction","storage","getStorage","STORAGE","actions","filters","action","callback","priority","context","parseInt","_addHook","args","Array","prototype","slice","call","arguments","shift","_runHook","_removeHook","filter","type","hook","handlers","i","length","splice","handler","hookObject","hooks","push","_hookInsertSort","tmpHook","j","prevHook","len","apply","acf","$","models","Modal","Model","extend","data","title","content","toolbar","events","setup","props","$el","render","initialize","open","get","join","replaceWith","update","parseArgs","html","append","close","remove","onClickClose","e","preventDefault","focus","find","first","trigger","lockFocusToModal","locked","inertElement","inert","attr","returnFocusToOrigin","openedBy","closest","newModal","jQuery","delegateEventSplitter","protoProps","Parent","Child","hasOwnProperty","constructor","Object","create","cid","uniqueId","addEvents","addActions","addFilters","wait","didAction","id","busy","changed","eventScope","name","has","set","value","silent","prevValue","inherit","prop","addElements","elements","keys","addElement","selector","key","match","on","removeEvents","off","getEventTarget","event","document","validateEvent","target","is","proxyEvent","proxy","arrayArgs","extraArgs","eventArgs","currentTarget","concat","a1","a2","a3","a4","bubbles","triggerHandler","removeActions","removeFilters","setTimeout","milliseconds","time","console","timeEnd","show","hide","getInstance","getInstances","instances","each","Notice","text","timeout","dismiss","tmpl","addClass","away","$target","prepend","prevType","removeClass","escHtml","newNotice","noticeManager","$notices","dismissed","getPreference","includes","setPreference","panel","onClick","toggle","parent","isOpen","hasClass","Popup","width","height","loading","lockFocusToPopup","__","css","$loading","onPressEscapeClose","newPopup","newTooltip","confirmRemove","textConfirm","textCancel","TooltipConfirm","confirm","Tooltip","position","fade","$tooltip","top","left","tolerance","targetWidth","outerWidth","targetHeight","outerHeight","targetTop","offset","targetLeft","tooltipWidth","tooltipHeight","tooltipTop","scrollTop","targetConfirm","cancel","$document","onCancel","stopImmediatePropagation","onConfirm","tooltipHoverHelper","tooltip","showTitle","hideTitle","onKeyUp","idCounter","prefix","uniqueArray","array","onlyUnique","index","self","indexOf","uniqidSeed","uniqid","moreEntropy","retId","formatSeed","seed","reqWidth","toString","Math","floor","random","Date","getTime","toFixed","strReplace","search","replace","subject","split","strCamelCase","str","matches","map","s","c","charAt","toLowerCase","toUpperCase","strPascalCase","camel","strSlugify","strSanitize","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","Ø","Ù","Ú","Û","Ü","Ý","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ñ","ò","ó","ô","õ","ö","ø","ù","ú","û","ü","ý","ÿ","Ā","ā","Ă","ă","Ą","ą","Ć","ć","Ĉ","ĉ","Ċ","ċ","Č","č","Ď","ď","Đ","đ","Ē","ē","Ĕ","ĕ","Ė","ė","Ę","ę","Ě","ě","Ĝ","ĝ","Ğ","ğ","Ġ","ġ","Ģ","ģ","Ĥ","ĥ","Ħ","ħ","Ĩ","ĩ","Ī","ī","Ĭ","ĭ","Į","į","İ","ı","IJ","ij","Ĵ","ĵ","Ķ","ķ","Ĺ","ĺ","Ļ","ļ","Ľ","ľ","Ŀ","ŀ","Ł","ł","Ń","ń","Ņ","ņ","Ň","ň","ʼn","Ō","ō","Ŏ","ŏ","Ő","ő","Œ","œ","Ŕ","ŕ","Ŗ","ŗ","Ř","ř","Ś","ś","Ŝ","ŝ","Ş","ş","Š","š","Ţ","ţ","Ť","ť","Ŧ","ŧ","Ũ","ũ","Ū","ū","Ŭ","ŭ","Ů","ů","Ű","ű","Ų","ų","Ŵ","ŵ","Ŷ","ŷ","Ÿ","Ź","ź","Ż","ż","Ž","ž","ſ","ƒ","Ơ","ơ","Ư","ư","Ǎ","ǎ","Ǐ","ǐ","Ǒ","ǒ","Ǔ","ǔ","Ǖ","ǖ","Ǘ","ǘ","Ǚ","ǚ","Ǜ","ǜ","Ǻ","ǻ","Ǽ","ǽ","Ǿ","ǿ","nonWord","mapping","strMatch","s1","s2","val","min","strEscape","string","htmlEscapes","chr","strUnescape","htmlUnescapes","entity","escAttr","decode","defaults","acfL10n","_x","_n","single","plural","number","isArray","a","isObject","buildObject","obj","ref","String","serialize","inputs","serializeArray","item","serializeForAjax","actionHistory","doingAction","currentAction","k","preferences","JSON","parse","localStorage","getItem","getPreferenceName","substr","setItem","stringify","removePreference","endHeight","complete","removeTr","removeDiv","margin","style","wrap","$wrap","opacity","$tr","children","$td","duplicate","rename","before","after","$el2","clone","replacer","removeAttr","destructive","withReplacer","outerHTML","prepareForAjax","nonce","post_id","lang","startButtonLoading","stopButtonLoading","next","showLoading","hideLoading","updateUserSetting","ajaxData","ajax","url","dataType","$input","lockKey","unlock","isLocked","lock","isHidden","isVisible","enable","results","result","disable","isset","isget","getFileInputData","file","files","size","windowURL","URL","webkitURL","img","Image","onload","src","createObjectURL","isAjaxSuccess","json","success","getAjaxMessage","getAjaxError","getXhrError","xhr","responseJSON","message","error","statusText","renderSelect","$select","choices","values","crawl","items","itemsHtml","label","disabled","getLocks","setLocks","locks","isGutenberg","wp","select","isGutenbergPostEditor","objectToArray","debounce","later","clearTimeout","throttle","limit","isInView","el","rect","getBoundingClientRect","bottom","innerHeight","documentElement","clientHeight","right","innerWidth","clientWidth","onceInView","check","forEach","pop","debounced","once","func","focusAttention","scrollTime","animate","fadeTime","onFocus","ignoreBlur","setFocus","onBlur","disableForm","submitter","classList","add","fn","exists","inArray","isNumeric","n","isNaN","parseFloat","isFinite","refresh","ready","ui","placeholder"],"sourceRoot":""} |