Banner image
🌍 New Feature

We can now identify exact visitors in 173+ countries including the US, Canada, Australia, and more!

View global coverage

Feature — Follow-up Engine

Multi-step outbound that actually lands

Write once. Personalise at scale. Follow up seven times without sounding like a robot. The Happierleads Follow-up Engine is the drip engine that sits on top of our 175M contact graph and Inbox Engine — so every touch is personalised, deliverable, and stopped the second someone replies.

Included on all plans. Unlimited sequences. Unlimited contacts.

98%
Inbox deliverability
175M+
Verified B2B contacts
7
Average touch sequence
3.1×
Reply-rate uplift
What makes it different

A sequencer built around deliverability, not templates

Most sequencers are glorified template libraries. Ours is wired to our verification waterfall, our Inbox Engine, and our scoring — so every send is earned, not blasted.

auto_awesome

AI personalisation

Spin tags, dynamic intros, first-line generation from the prospect's LinkedIn, company news, and page behaviour — all natively, no Zapier.

schedule_send

Smart throttling

Per-mailbox daily caps, send-time optimisation by timezone, and a deliverability-aware ramp-up — so your domains stay warm for years, not weeks.

mark_email_read

Reply & opt-out detection

Natural-language reply classification kills the sequence, notifies the rep, and updates your CRM — without you writing a single regex.

01 — The builder

Drag, drop, launch in 10 minutes.

No code, no config files. Happierleads gives you a visual builder, so anyone on your team — not just RevOps — can put a campaign live before lunch.

  • check_circle
    Visual step editor. Email, wait, branch, notify — arranged on a canvas with instant preview.
  • check_circle
    Templates library. Ship-ready 3-, 5-, 7- and 9-touch plays by industry, role, and funnel stage.
  • check_circle
    Personalisation tokens. 60+ out of the box — firmographic, page-behaviour, LinkedIn, news, tech stack.
  • check_circle
    Live variable preview. See each send rendered with real prospect data before a single email flies.
view_kanbanSequence builder
Draft · Tech pricing flow
drag_indicatorDrag mailEmail scheduleWait fork_rightBranch notifications_activeNotify
mail
Email
Day 1 · Intro
schedule
Wait
3 days
fork_right
Branch
Opened?
mail
Email
Day 4 · Case
notifications_active
Notify
Slack · AE
preview
Live preview · 5 steps wired
Tokens resolved · test-send ready
checkReady
10-min launch · no code, no config boltTemplate applied
02 — AI personalisation

Every email reads like you wrote it yourself.

Generic {first_name} merge tags stopped converting years ago. Happierleads pulls live context on each prospect — their LinkedIn, recent company news, pages they visited, tech they use — and writes a first line that sounds like you actually did the research.

  • check_circle
    AI first-line generator. One click produces a prospect-specific intro grounded in verified data, not hallucinated.
  • check_circle
    Spin tags. Rotate openings, closings, and subject lines automatically — keeps spam filters guessing and inboxes happy.
  • check_circle
    Page-behaviour tokens. "Saw you spent 2m 10s on our pricing page" — referenced cleanly, never creepy.
  • check_circle
    Role-based variants. Different messaging for VPs vs. operators vs. founders — one sequence, three voices.
hubLinkedIn · VP Ops newspaperNews · Series B visibilityPricing · 2m 10s memoryTech · Segment, HubSpot business120 FTE · Logistics
auto_awesomeAI first-line · grounded
Composing
mail
To: sarah.chen@northwind-logistics.com
Scaling ops during a Series B ramp
Hi Sarah,
Congrats on the Series B — noticed you spent a few minutes on our pricing page and you're already on Segment + HubSpot.
Worth a 15-min chat on how VPs of Ops in logistics are tying visitor signals back into HubSpot?
verifiedGrounded in verified data · no hallucinations
checkReady to send
03 — Deliverability-first

98% of your emails actually land in the inbox.

Every design decision in this product is judged against one thing: do more emails land in the primary inbox? Throttling, mailbox rotation, warm-up, content checks — they all exist to push that one number up.

  • check_circle
    Mailbox rotation. One campaign, many mailboxes. We distribute sends to keep each inbox's reputation intact.
  • check_circle
    Deliverability-aware throttling. Sending limits auto-adjust based on open, bounce, and reply signals — no manual babysitting.
  • check_circle
    Verification on send, not on upload. Every email re-checked at dispatch — so stale lists don't trash your domain.
  • check_circle
    Spam-trigger scanner. Copy is checked for risky language and too-many-links before the first send ever leaves.
Inbox Engine · Live sending
98.4% inbox placement
IN
Primary inbox
Warm, authenticated, on-brand
Delivered
98.4%
Inbox rate
0.2%
Spam rate
100%
Warmed
04 — Triggers & CRM

Sequences triggered by behaviour, synced to your CRM.

Your best sequences shouldn't start from a static list. Happierleads fires them the moment a prospect hits a scoring threshold, visits a page, or changes jobs — and writes every activity back to your CRM.

  • check_circle
    Behaviour triggers. Pricing-page visit + ICP fit ≥ 80 → auto-enrol. No manual list pulling.
  • check_circle
    HubSpot + Salesforce sync. Every send, open, reply, and meeting logged as a native activity.
  • check_circle
    A/B test everything. Subject lines, CTAs, send times — lifted with statistical significance, not vibes.
  • check_circle
    Webhooks + API. Pipe sequence events to Slack, Zapier, n8n, or your own data warehouse in real time.
1
Trigger fires
ICP fit ≥ 80 on pricing page
Done
2
Slack ping to AE
Acme · Jamie Lin · score 92
Done
3
CRM deal created
Auto-enriched · Stage: Inbound
Done
4
Sequence enrolled
5 touches · personalised
Done

Stop blasting. Start sequencing.

Spin up a 7-touch campaign on warmed infrastructure — personalised, throttled, and CRM-synced in under 10 minutes.

Why teams switch to Happierleads

Everything a sequencer should do. None of the bolt-ons.

verified

Deliverable by default

Sequences run on warmed mailboxes from our Inbox Engine — verified with our waterfall at dispatch — so 98%+ of your touches actually reach the primary inbox.

tune

No per-seat tax

Unlike Outreach or Salesloft, pricing scales with volume — not rep count. Add teammates freely.

alt_route

Branching logic built-in

Opened? Clicked? Replied? Branch the journey natively — no hacky Zapier bridges.

chat

Unified inbox

Every reply across every mailbox in one view. Assign, snooze, meeting-book in one click.

extension

Plays with your stack

HubSpot, Salesforce, Pipedrive, Close, Slack, Teams, Zapier, webhooks, open API.

rocket_launch

Live in one afternoon

Copy a template, tweak the pitch, connect a mailbox — first sequence out the door in under an hour.

From zero to live sequence

How it works

1

Pick a template

Or start from a blank canvas — 3- to 9-touch plays included.

2

Add your audience

Import a list, pull from the 175M graph, or auto-enrol by score.

3

Connect mailboxes

Your own, or spin up warmed ones via Inbox Engine in minutes.

4

Launch & iterate

A/B test subject lines and timings — watch replies climb.

What customers see

Real uplift inside 30 days

3.1×

Reply-rate uplift

AI personalisation + deliverability = conversations, not pitches into the void.

98%

Inbox placement

Measured weekly against Postmaster — not self-reported marketing fluff.

−45%

Rep hours per meeting

Automation eats the busy work — reps spend time on calls, not sequence admin.

See why people like you choose Happierleads

Customer profile images
Star rating
4.8
from hundreads reviews on G2
See your Web Visitors 100% Free
G2 Logo Star rating

Great tool for capturing web visitors

"It allows us to identify visitors and rate them for quality, then it allows us to capture their contact detail and setup email automations."

Profile Pircture
Andrew J.
Fractional Fractional Chief AI Officer (CAIO)
G2 Logo Star rating

Learn who's browsing your website!

"I can automate my marketing and reaching efforts with ease. You set it up one and the platform does it all for you with minimum input from you. "

Profile image
Savin D
Creative Director
G2 Logo Star rating

Get more leads with your website!

"Happierleads provide accurate data about the website that visits my website. Knowing who is visiting my website is gold and I can spend less in ads.."

Jana M.
Robin H.
Head Of Growth at Swapcard
testi background
faqs

Website Identification FAQs

Does Happierleads have a Free trial?

We show you who is visiting your website for free for 30 days. If you’d like to keep using it afterward—and export a CSV or send emails via our built-in Email Automation app or your CRM—the cost is $99/month.

What is Happierleads?

HappierLeads is the only solution that enables you to identify, qualify, and engage with your anonymous B2B website visitors—all within a single tool. No additional licenses or integrations with other outreach automation tools are necessary.

Who typically uses Happierleads?

Happierleads is used by Sales, Growth, and Marketing teams across various industries. If you are a B2B company, we are the solution for you. Sales teams use the platform to turn anonymous traffic into opportunities and increase productivity. While on the other hand, Marketers use the platform to automate lead generation, increase conversions.

How is this different from Clearbit, 6Sense, or DemandBase’s Website Identity Solutions?

Most companies rely on ‘Reverse IP Lookup’ technology to connect IP addresses with company names. At Happierleads, we use a completely different approach—our fully-permissioned, proprietary publisher network—allowing us to identify the exact individuals visiting your website. Discover more about how we identify your site visitors here.

Why is Happierleads ranked number #1 for data quality on G2 and Capterra?

Happierleads offers an advanced feature that automatically filters out bots, ISPs, and other non-qualifying traffic sources to ensure you receive only high-quality leads. Additionally, unlike other tools, Happierleads provides the flexibility for you to manually remove leads as needed.

What about U.S. state privacy laws, like the California CCPA and CPRA?

If you are compliant with these state-level regulations, the use of our product will not change that compliance status. We can now identify exact visitors in 173+ countries including the US, Canada, Australia, and many more. For GDPR-restricted countries (primarily EU member states), we use reverse IP lookup which only provides company information to adhere with GDPR requirements.
light pre footer
") .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" ); function oA(e) { if (!Zx(e) || Qx(e)) return !1; var t = $x(e) ? sA : tA; return t.test(Jx(e)); } Uc.exports = oA; }); var Kc = _((_W, Xc) => { function lA(e, t) { return e?.[t]; } Xc.exports = lA; }); var bt = _((SW, Yc) => { var uA = jc(), cA = Kc(); function hA(e, t) { var r = cA(e, t); return uA(r) ? r : void 0; } Yc.exports = hA; }); var In = _((TW, $c) => { var fA = bt(), pA = Ke(), dA = fA(pA, "Map"); $c.exports = dA; }); var Rr = _((IW, Qc) => { var mA = bt(), gA = mA(Object, "create"); Qc.exports = gA; }); var eh = _((xW, Jc) => { var Zc = Rr(); function yA() { (this.__data__ = Zc ? Zc(null) : {}), (this.size = 0); } Jc.exports = yA; }); var rh = _((AW, th) => { function vA(e) { var t = this.has(e) && delete this.__data__[e]; return (this.size -= t ? 1 : 0), t; } th.exports = vA; }); var ih = _((PW, nh) => { var EA = Rr(), bA = "__lodash_hash_undefined__", _A = Object.prototype, SA = _A.hasOwnProperty; function TA(e) { var t = this.__data__; if (EA) { var r = t[e]; return r === bA ? void 0 : r; } return SA.call(t, e) ? t[e] : void 0; } nh.exports = TA; }); var sh = _((CW, ah) => { var IA = Rr(), xA = Object.prototype, AA = xA.hasOwnProperty; function PA(e) { var t = this.__data__; return IA ? t[e] !== void 0 : AA.call(t, e); } ah.exports = PA; }); var lh = _((wW, oh) => { var CA = Rr(), wA = "__lodash_hash_undefined__"; function OA(e, t) { var r = this.__data__; return (this.size += this.has(e) ? 0 : 1), (r[e] = CA && t === void 0 ? wA : t), this; } oh.exports = OA; }); var ch = _((OW, uh) => { var MA = eh(), DA = rh(), RA = ih(), FA = sh(), LA = lh(); function or(e) { var t = -1, r = e == null ? 0 : e.length; for (this.clear(); ++t < r;) { var n = e[t]; this.set(n[0], n[1]); } } or.prototype.clear = MA; or.prototype.delete = DA; or.prototype.get = RA; or.prototype.has = FA; or.prototype.set = LA; uh.exports = or; }); var ph = _((MW, fh) => { var hh = ch(), kA = Dr(), NA = In(); function qA() { (this.size = 0), (this.__data__ = { hash: new hh(), map: new (NA || kA)(), string: new hh() }); } fh.exports = qA; }); var mh = _((DW, dh) => { function BA(e) { var t = typeof e; return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null; } dh.exports = BA; }); var Fr = _((RW, gh) => { var VA = mh(); function GA(e, t) { var r = e.__data__; return VA(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map; } gh.exports = GA; }); var vh = _((FW, yh) => { var zA = Fr(); function HA(e) { var t = zA(this, e).delete(e); return (this.size -= t ? 1 : 0), t; } yh.exports = HA; }); var bh = _((LW, Eh) => { var WA = Fr(); function UA(e) { return WA(this, e).get(e); } Eh.exports = UA; }); var Sh = _((kW, _h) => { var jA = Fr(); function XA(e) { return jA(this, e).has(e); } _h.exports = XA; }); var Ih = _((NW, Th) => { var KA = Fr(); function YA(e, t) { var r = KA(this, e), n = r.size; return r.set(e, t), (this.size += r.size == n ? 0 : 1), this; } Th.exports = YA; }); var xn = _((qW, xh) => { var $A = ph(), QA = vh(), ZA = bh(), JA = Sh(), eP = Ih(); function lr(e) { var t = -1, r = e == null ? 0 : e.length; for (this.clear(); ++t < r;) { var n = e[t]; this.set(n[0], n[1]); } } lr.prototype.clear = $A; lr.prototype.delete = QA; lr.prototype.get = ZA; lr.prototype.has = JA; lr.prototype.set = eP; xh.exports = lr; }); var Ph = _((BW, Ah) => { var tP = Dr(), rP = In(), nP = xn(), iP = 200; function aP(e, t) { var r = this.__data__; if (r instanceof tP) { var n = r.__data__; if (!rP || n.length < iP - 1) return n.push([e, t]), (this.size = ++r.size), this; r = this.__data__ = new nP(n); } return r.set(e, t), (this.size = r.size), this; } Ah.exports = aP; }); var Da = _((VW, Ch) => { var sP = Dr(), oP = Oc(), lP = Dc(), uP = Fc(), cP = kc(), hP = Ph(); function ur(e) { var t = (this.__data__ = new sP(e)); this.size = t.size; } ur.prototype.clear = oP; ur.prototype.delete = lP; ur.prototype.get = uP; ur.prototype.has = cP; ur.prototype.set = hP; Ch.exports = ur; }); var Oh = _((GW, wh) => { var fP = "__lodash_hash_undefined__"; function pP(e) { return this.__data__.set(e, fP), this; } wh.exports = pP; }); var Dh = _((zW, Mh) => { function dP(e) { return this.__data__.has(e); } Mh.exports = dP; }); var Fh = _((HW, Rh) => { var mP = xn(), gP = Oh(), yP = Dh(); function An(e) { var t = -1, r = e == null ? 0 : e.length; for (this.__data__ = new mP(); ++t < r;) this.add(e[t]); } An.prototype.add = An.prototype.push = gP; An.prototype.has = yP; Rh.exports = An; }); var kh = _((WW, Lh) => { function vP(e, t) { for (var r = -1, n = e == null ? 0 : e.length; ++r < n;) if (t(e[r], r, e)) return !0; return !1; } Lh.exports = vP; }); var qh = _((UW, Nh) => { function EP(e, t) { return e.has(t); } Nh.exports = EP; }); var Ra = _((jW, Bh) => { var bP = Fh(), _P = kh(), SP = qh(), TP = 1, IP = 2; function xP(e, t, r, n, i, a) { var s = r & TP, o = e.length, l = t.length; if (o != l && !(s && l > o)) return !1; var p = a.get(e), c = a.get(t); if (p && c) return p == t && c == e; var h = -1, g = !0, d = r & IP ? new bP() : void 0; for (a.set(e, t), a.set(t, e); ++h < o;) { var f = e[h], m = t[h]; if (n) var u = s ? n(m, f, h, t, e, a) : n(f, m, h, e, t, a); if (u !== void 0) { if (u) continue; g = !1; break; } if (d) { if ( !_P(t, function (y, v) { if (!SP(d, v) && (f === y || i(f, y, r, n, a))) return d.push(v); }) ) { g = !1; break; } } else if (!(f === m || i(f, m, r, n, a))) { g = !1; break; } } return a.delete(e), a.delete(t), g; } Bh.exports = xP; }); var Gh = _((XW, Vh) => { var AP = Ke(), PP = AP.Uint8Array; Vh.exports = PP; }); var Hh = _((KW, zh) => { function CP(e) { var t = -1, r = Array(e.size); return ( e.forEach(function (n, i) { r[++t] = [i, n]; }), r ); } zh.exports = CP; }); var Uh = _((YW, Wh) => { function wP(e) { var t = -1, r = Array(e.size); return ( e.forEach(function (n) { r[++t] = n; }), r ); } Wh.exports = wP; }); var $h = _(($W, Yh) => { var jh = rr(), Xh = Gh(), OP = Tn(), MP = Ra(), DP = Hh(), RP = Uh(), FP = 1, LP = 2, kP = "[object Boolean]", NP = "[object Date]", qP = "[object Error]", BP = "[object Map]", VP = "[object Number]", GP = "[object RegExp]", zP = "[object Set]", HP = "[object String]", WP = "[object Symbol]", UP = "[object ArrayBuffer]", jP = "[object DataView]", Kh = jh ? jh.prototype : void 0, Fa = Kh ? Kh.valueOf : void 0; function XP(e, t, r, n, i, a, s) { switch (r) { case jP: if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1; (e = e.buffer), (t = t.buffer); case UP: return !(e.byteLength != t.byteLength || !a(new Xh(e), new Xh(t))); case kP: case NP: case VP: return OP(+e, +t); case qP: return e.name == t.name && e.message == t.message; case GP: case HP: return e == t + ""; case BP: var o = DP; case zP: var l = n & FP; if ((o || (o = RP), e.size != t.size && !l)) return !1; var p = s.get(e); if (p) return p == t; (n |= LP), s.set(e, t); var c = MP(o(e), o(t), n, i, a, s); return s.delete(e), c; case WP: if (Fa) return Fa.call(e) == Fa.call(t); } return !1; } Yh.exports = XP; }); var Pn = _((QW, Qh) => { function KP(e, t) { for (var r = -1, n = t.length, i = e.length; ++r < n;) e[i + r] = t[r]; return e; } Qh.exports = KP; }); var Pe = _((ZW, Zh) => { var YP = Array.isArray; Zh.exports = YP; }); var La = _((JW, Jh) => { var $P = Pn(), QP = Pe(); function ZP(e, t, r) { var n = t(e); return QP(e) ? n : $P(n, r(e)); } Jh.exports = ZP; }); var tf = _((eU, ef) => { function JP(e, t) { for (var r = -1, n = e == null ? 0 : e.length, i = 0, a = []; ++r < n;) { var s = e[r]; t(s, r, e) && (a[i++] = s); } return a; } ef.exports = JP; }); var ka = _((tU, rf) => { function eC() { return []; } rf.exports = eC; }); var Na = _((rU, af) => { var tC = tf(), rC = ka(), nC = Object.prototype, iC = nC.propertyIsEnumerable, nf = Object.getOwnPropertySymbols, aC = nf ? function (e) { return e == null ? [] : ((e = Object(e)), tC(nf(e), function (t) { return iC.call(e, t); })); } : rC; af.exports = aC; }); var of = _((nU, sf) => { function sC(e, t) { for (var r = -1, n = Array(e); ++r < e;) n[r] = t(r); return n; } sf.exports = sC; }); var uf = _((iU, lf) => { var oC = Et(), lC = ct(), uC = "[object Arguments]"; function cC(e) { return lC(e) && oC(e) == uC; } lf.exports = cC; }); var Lr = _((aU, ff) => { var cf = uf(), hC = ct(), hf = Object.prototype, fC = hf.hasOwnProperty, pC = hf.propertyIsEnumerable, dC = cf( (function () { return arguments; })() ) ? cf : function (e) { return hC(e) && fC.call(e, "callee") && !pC.call(e, "callee"); }; ff.exports = dC; }); var df = _((sU, pf) => { function mC() { return !1; } pf.exports = mC; }); var Cn = _((kr, cr) => { var gC = Ke(), yC = df(), yf = typeof kr == "object" && kr && !kr.nodeType && kr, mf = yf && typeof cr == "object" && cr && !cr.nodeType && cr, vC = mf && mf.exports === yf, gf = vC ? gC.Buffer : void 0, EC = gf ? gf.isBuffer : void 0, bC = EC || yC; cr.exports = bC; }); var wn = _((oU, vf) => { var _C = 9007199254740991, SC = /^(?:0|[1-9]\d*)$/; function TC(e, t) { var r = typeof e; return (t = t ?? _C), !!t && (r == "number" || (r != "symbol" && SC.test(e))) && e > -1 && e % 1 == 0 && e < t; } vf.exports = TC; }); var On = _((lU, Ef) => { var IC = 9007199254740991; function xC(e) { return typeof e == "number" && e > -1 && e % 1 == 0 && e <= IC; } Ef.exports = xC; }); var _f = _((uU, bf) => { var AC = Et(), PC = On(), CC = ct(), wC = "[object Arguments]", OC = "[object Array]", MC = "[object Boolean]", DC = "[object Date]", RC = "[object Error]", FC = "[object Function]", LC = "[object Map]", kC = "[object Number]", NC = "[object Object]", qC = "[object RegExp]", BC = "[object Set]", VC = "[object String]", GC = "[object WeakMap]", zC = "[object ArrayBuffer]", HC = "[object DataView]", WC = "[object Float32Array]", UC = "[object Float64Array]", jC = "[object Int8Array]", XC = "[object Int16Array]", KC = "[object Int32Array]", YC = "[object Uint8Array]", $C = "[object Uint8ClampedArray]", QC = "[object Uint16Array]", ZC = "[object Uint32Array]", Ee = {}; Ee[WC] = Ee[UC] = Ee[jC] = Ee[XC] = Ee[KC] = Ee[YC] = Ee[$C] = Ee[QC] = Ee[ZC] = !0; Ee[wC] = Ee[OC] = Ee[zC] = Ee[MC] = Ee[HC] = Ee[DC] = Ee[RC] = Ee[FC] = Ee[LC] = Ee[kC] = Ee[NC] = Ee[qC] = Ee[BC] = Ee[VC] = Ee[GC] = !1; function JC(e) { return CC(e) && PC(e.length) && !!Ee[AC(e)]; } bf.exports = JC; }); var Tf = _((cU, Sf) => { function ew(e) { return function (t) { return e(t); }; } Sf.exports = ew; }); var xf = _((Nr, hr) => { var tw = ra(), If = typeof Nr == "object" && Nr && !Nr.nodeType && Nr, qr = If && typeof hr == "object" && hr && !hr.nodeType && hr, rw = qr && qr.exports === If, qa = rw && tw.process, nw = (function () { try { var e = qr && qr.require && qr.require("util").types; return e || (qa && qa.binding && qa.binding("util")); } catch { } })(); hr.exports = nw; }); var Mn = _((hU, Cf) => { var iw = _f(), aw = Tf(), Af = xf(), Pf = Af && Af.isTypedArray, sw = Pf ? aw(Pf) : iw; Cf.exports = sw; }); var Ba = _((fU, wf) => { var ow = of(), lw = Lr(), uw = Pe(), cw = Cn(), hw = wn(), fw = Mn(), pw = Object.prototype, dw = pw.hasOwnProperty; function mw(e, t) { var r = uw(e), n = !r && lw(e), i = !r && !n && cw(e), a = !r && !n && !i && fw(e), s = r || n || i || a, o = s ? ow(e.length, String) : [], l = o.length; for (var p in e) (t || dw.call(e, p)) && !(s && (p == "length" || (i && (p == "offset" || p == "parent")) || (a && (p == "buffer" || p == "byteLength" || p == "byteOffset")) || hw(p, l))) && o.push(p); return o; } wf.exports = mw; }); var Dn = _((pU, Of) => { var gw = Object.prototype; function yw(e) { var t = e && e.constructor, r = (typeof t == "function" && t.prototype) || gw; return e === r; } Of.exports = yw; }); var Df = _((dU, Mf) => { var vw = na(), Ew = vw(Object.keys, Object); Mf.exports = Ew; }); var Rn = _((mU, Rf) => { var bw = Dn(), _w = Df(), Sw = Object.prototype, Tw = Sw.hasOwnProperty; function Iw(e) { if (!bw(e)) return _w(e); var t = []; for (var r in Object(e)) Tw.call(e, r) && r != "constructor" && t.push(r); return t; } Rf.exports = Iw; }); var Lt = _((gU, Ff) => { var xw = wa(), Aw = On(); function Pw(e) { return e != null && Aw(e.length) && !xw(e); } Ff.exports = Pw; }); var Br = _((yU, Lf) => { var Cw = Ba(), ww = Rn(), Ow = Lt(); function Mw(e) { return Ow(e) ? Cw(e) : ww(e); } Lf.exports = Mw; }); var Nf = _((vU, kf) => { var Dw = La(), Rw = Na(), Fw = Br(); function Lw(e) { return Dw(e, Fw, Rw); } kf.exports = Lw; }); var Vf = _((EU, Bf) => { var qf = Nf(), kw = 1, Nw = Object.prototype, qw = Nw.hasOwnProperty; function Bw(e, t, r, n, i, a) { var s = r & kw, o = qf(e), l = o.length, p = qf(t), c = p.length; if (l != c && !s) return !1; for (var h = l; h--;) { var g = o[h]; if (!(s ? g in t : qw.call(t, g))) return !1; } var d = a.get(e), f = a.get(t); if (d && f) return d == t && f == e; var m = !0; a.set(e, t), a.set(t, e); for (var u = s; ++h < l;) { g = o[h]; var y = e[g], v = t[g]; if (n) var E = s ? n(v, y, g, t, e, a) : n(y, v, g, e, t, a); if (!(E === void 0 ? y === v || i(y, v, r, n, a) : E)) { m = !1; break; } u || (u = g == "constructor"); } if (m && !u) { var b = e.constructor, T = t.constructor; b != T && "constructor" in e && "constructor" in t && !(typeof b == "function" && b instanceof b && typeof T == "function" && T instanceof T) && (m = !1); } return a.delete(e), a.delete(t), m; } Bf.exports = Bw; }); var zf = _((bU, Gf) => { var Vw = bt(), Gw = Ke(), zw = Vw(Gw, "DataView"); Gf.exports = zw; }); var Wf = _((_U, Hf) => { var Hw = bt(), Ww = Ke(), Uw = Hw(Ww, "Promise"); Hf.exports = Uw; }); var jf = _((SU, Uf) => { var jw = bt(), Xw = Ke(), Kw = jw(Xw, "Set"); Uf.exports = Kw; }); var Va = _((TU, Xf) => { var Yw = bt(), $w = Ke(), Qw = Yw($w, "WeakMap"); Xf.exports = Qw; }); var Fn = _((IU, ep) => { var Ga = zf(), za = In(), Ha = Wf(), Wa = jf(), Ua = Va(), Jf = Et(), fr = Ma(), Kf = "[object Map]", Zw = "[object Object]", Yf = "[object Promise]", $f = "[object Set]", Qf = "[object WeakMap]", Zf = "[object DataView]", Jw = fr(Ga), eO = fr(za), tO = fr(Ha), rO = fr(Wa), nO = fr(Ua), kt = Jf; ((Ga && kt(new Ga(new ArrayBuffer(1))) != Zf) || (za && kt(new za()) != Kf) || (Ha && kt(Ha.resolve()) != Yf) || (Wa && kt(new Wa()) != $f) || (Ua && kt(new Ua()) != Qf)) && (kt = function (e) { var t = Jf(e), r = t == Zw ? e.constructor : void 0, n = r ? fr(r) : ""; if (n) switch (n) { case Jw: return Zf; case eO: return Kf; case tO: return Yf; case rO: return $f; case nO: return Qf; } return t; }); ep.exports = kt; }); var lp = _((xU, op) => { var ja = Da(), iO = Ra(), aO = $h(), sO = Vf(), tp = Fn(), rp = Pe(), np = Cn(), oO = Mn(), lO = 1, ip = "[object Arguments]", ap = "[object Array]", Ln = "[object Object]", uO = Object.prototype, sp = uO.hasOwnProperty; function cO(e, t, r, n, i, a) { var s = rp(e), o = rp(t), l = s ? ap : tp(e), p = o ? ap : tp(t); (l = l == ip ? Ln : l), (p = p == ip ? Ln : p); var c = l == Ln, h = p == Ln, g = l == p; if (g && np(e)) { if (!np(t)) return !1; (s = !0), (c = !1); } if (g && !c) return a || (a = new ja()), s || oO(e) ? iO(e, t, r, n, i, a) : aO(e, t, l, r, n, i, a); if (!(r & lO)) { var d = c && sp.call(e, "__wrapped__"), f = h && sp.call(t, "__wrapped__"); if (d || f) { var m = d ? e.value() : e, u = f ? t.value() : t; return a || (a = new ja()), i(m, u, r, n, a); } } return g ? (a || (a = new ja()), sO(e, t, r, n, i, a)) : !1; } op.exports = cO; }); var Xa = _((AU, hp) => { var hO = lp(), up = ct(); function cp(e, t, r, n, i) { return e === t ? !0 : e == null || t == null || (!up(e) && !up(t)) ? e !== e && t !== t : hO(e, t, r, n, cp, i); } hp.exports = cp; }); var pp = _((PU, fp) => { var fO = Da(), pO = Xa(), dO = 1, mO = 2; function gO(e, t, r, n) { var i = r.length, a = i, s = !n; if (e == null) return !a; for (e = Object(e); i--;) { var o = r[i]; if (s && o[2] ? o[1] !== e[o[0]] : !(o[0] in e)) return !1; } for (; ++i < a;) { o = r[i]; var l = o[0], p = e[l], c = o[1]; if (s && o[2]) { if (p === void 0 && !(l in e)) return !1; } else { var h = new fO(); if (n) var g = n(p, c, l, e, t, h); if (!(g === void 0 ? pO(c, p, dO | mO, n, h) : g)) return !1; } } return !0; } fp.exports = gO; }); var Ka = _((CU, dp) => { var yO = et(); function vO(e) { return e === e && !yO(e); } dp.exports = vO; }); var gp = _((wU, mp) => { var EO = Ka(), bO = Br(); function _O(e) { for (var t = bO(e), r = t.length; r--;) { var n = t[r], i = e[n]; t[r] = [n, i, EO(i)]; } return t; } mp.exports = _O; }); var Ya = _((OU, yp) => { function SO(e, t) { return function (r) { return r == null ? !1 : r[e] === t && (t !== void 0 || e in Object(r)); }; } yp.exports = SO; }); var Ep = _((MU, vp) => { var TO = pp(), IO = gp(), xO = Ya(); function AO(e) { var t = IO(e); return t.length == 1 && t[0][2] ? xO(t[0][0], t[0][1]) : function (r) { return r === e || TO(r, e, t); }; } vp.exports = AO; }); var Vr = _((DU, bp) => { var PO = Et(), CO = ct(), wO = "[object Symbol]"; function OO(e) { return typeof e == "symbol" || (CO(e) && PO(e) == wO); } bp.exports = OO; }); var kn = _((RU, _p) => { var MO = Pe(), DO = Vr(), RO = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, FO = /^\w*$/; function LO(e, t) { if (MO(e)) return !1; var r = typeof e; return r == "number" || r == "symbol" || r == "boolean" || e == null || DO(e) ? !0 : FO.test(e) || !RO.test(e) || (t != null && e in Object(t)); } _p.exports = LO; }); var Ip = _((FU, Tp) => { var Sp = xn(), kO = "Expected a function"; function $a(e, t) { if (typeof e != "function" || (t != null && typeof t != "function")) throw new TypeError(kO); var r = function () { var n = arguments, i = t ? t.apply(this, n) : n[0], a = r.cache; if (a.has(i)) return a.get(i); var s = e.apply(this, n); return (r.cache = a.set(i, s) || a), s; }; return (r.cache = new ($a.Cache || Sp)()), r; } $a.Cache = Sp; Tp.exports = $a; }); var Ap = _((LU, xp) => { var NO = Ip(), qO = 500; function BO(e) { var t = NO(e, function (n) { return r.size === qO && r.clear(), n; }), r = t.cache; return t; } xp.exports = BO; }); var Cp = _((kU, Pp) => { var VO = Ap(), GO = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, zO = /\\(\\)?/g, HO = VO(function (e) { var t = []; return ( e.charCodeAt(0) === 46 && t.push(""), e.replace(GO, function (r, n, i, a) { t.push(i ? a.replace(zO, "$1") : n || r); }), t ); }); Pp.exports = HO; }); var Qa = _((NU, wp) => { function WO(e, t) { for (var r = -1, n = e == null ? 0 : e.length, i = Array(n); ++r < n;) i[r] = t(e[r], r, e); return i; } wp.exports = WO; }); var Lp = _((qU, Fp) => { var Op = rr(), UO = Qa(), jO = Pe(), XO = Vr(), KO = 1 / 0, Mp = Op ? Op.prototype : void 0, Dp = Mp ? Mp.toString : void 0; function Rp(e) { if (typeof e == "string") return e; if (jO(e)) return UO(e, Rp) + ""; if (XO(e)) return Dp ? Dp.call(e) : ""; var t = e + ""; return t == "0" && 1 / e == -KO ? "-0" : t; } Fp.exports = Rp; }); var Np = _((BU, kp) => { var YO = Lp(); function $O(e) { return e == null ? "" : YO(e); } kp.exports = $O; }); var Gr = _((VU, qp) => { var QO = Pe(), ZO = kn(), JO = Cp(), eM = Np(); function tM(e, t) { return QO(e) ? e : ZO(e, t) ? [e] : JO(eM(e)); } qp.exports = tM; }); var pr = _((GU, Bp) => { var rM = Vr(), nM = 1 / 0; function iM(e) { if (typeof e == "string" || rM(e)) return e; var t = e + ""; return t == "0" && 1 / e == -nM ? "-0" : t; } Bp.exports = iM; }); var Nn = _((zU, Vp) => { var aM = Gr(), sM = pr(); function oM(e, t) { t = aM(t, e); for (var r = 0, n = t.length; e != null && r < n;) e = e[sM(t[r++])]; return r && r == n ? e : void 0; } Vp.exports = oM; }); var qn = _((HU, Gp) => { var lM = Nn(); function uM(e, t, r) { var n = e == null ? void 0 : lM(e, t); return n === void 0 ? r : n; } Gp.exports = uM; }); var Hp = _((WU, zp) => { function cM(e, t) { return e != null && t in Object(e); } zp.exports = cM; }); var Up = _((UU, Wp) => { var hM = Gr(), fM = Lr(), pM = Pe(), dM = wn(), mM = On(), gM = pr(); function yM(e, t, r) { t = hM(t, e); for (var n = -1, i = t.length, a = !1; ++n < i;) { var s = gM(t[n]); if (!(a = e != null && r(e, s))) break; e = e[s]; } return a || ++n != i ? a : ((i = e == null ? 0 : e.length), !!i && mM(i) && dM(s, i) && (pM(e) || fM(e))); } Wp.exports = yM; }); var Xp = _((jU, jp) => { var vM = Hp(), EM = Up(); function bM(e, t) { return e != null && EM(e, t, vM); } jp.exports = bM; }); var Yp = _((XU, Kp) => { var _M = Xa(), SM = qn(), TM = Xp(), IM = kn(), xM = Ka(), AM = Ya(), PM = pr(), CM = 1, wM = 2; function OM(e, t) { return IM(e) && xM(t) ? AM(PM(e), t) : function (r) { var n = SM(r, e); return n === void 0 && n === t ? TM(r, e) : _M(t, n, CM | wM); }; } Kp.exports = OM; }); var Bn = _((KU, $p) => { function MM(e) { return e; } $p.exports = MM; }); var Za = _((YU, Qp) => { function DM(e) { return function (t) { return t?.[e]; }; } Qp.exports = DM; }); var Jp = _(($U, Zp) => { var RM = Nn(); function FM(e) { return function (t) { return RM(t, e); }; } Zp.exports = FM; }); var td = _((QU, ed) => { var LM = Za(), kM = Jp(), NM = kn(), qM = pr(); function BM(e) { return NM(e) ? LM(qM(e)) : kM(e); } ed.exports = BM; }); var _t = _((ZU, rd) => { var VM = Ep(), GM = Yp(), zM = Bn(), HM = Pe(), WM = td(); function UM(e) { return typeof e == "function" ? e : e == null ? zM : typeof e == "object" ? (HM(e) ? GM(e[0], e[1]) : VM(e)) : WM(e); } rd.exports = UM; }); var Ja = _((JU, nd) => { var jM = _t(), XM = Lt(), KM = Br(); function YM(e) { return function (t, r, n) { var i = Object(t); if (!XM(t)) { var a = jM(r, 3); (t = KM(t)), (r = function (o) { return a(i[o], o, i); }); } var s = e(t, r, n); return s > -1 ? i[a ? t[s] : s] : void 0; }; } nd.exports = YM; }); var es = _((e7, id) => { function $M(e, t, r, n) { for (var i = e.length, a = r + (n ? 1 : -1); n ? a-- : ++a < i;) if (t(e[a], a, e)) return a; return -1; } id.exports = $M; }); var sd = _((t7, ad) => { var QM = /\s/; function ZM(e) { for (var t = e.length; t-- && QM.test(e.charAt(t));); return t; } ad.exports = ZM; }); var ld = _((r7, od) => { var JM = sd(), eD = /^\s+/; function tD(e) { return e && e.slice(0, JM(e) + 1).replace(eD, ""); } od.exports = tD; }); var Vn = _((n7, hd) => { var rD = ld(), ud = et(), nD = Vr(), cd = 0 / 0, iD = /^[-+]0x[0-9a-f]+$/i, aD = /^0b[01]+$/i, sD = /^0o[0-7]+$/i, oD = parseInt; function lD(e) { if (typeof e == "number") return e; if (nD(e)) return cd; if (ud(e)) { var t = typeof e.valueOf == "function" ? e.valueOf() : e; e = ud(t) ? t + "" : t; } if (typeof e != "string") return e === 0 ? e : +e; e = rD(e); var r = aD.test(e); return r || sD.test(e) ? oD(e.slice(2), r ? 2 : 8) : iD.test(e) ? cd : +e; } hd.exports = lD; }); var dd = _((i7, pd) => { var uD = Vn(), fd = 1 / 0, cD = 17976931348623157e292; function hD(e) { if (!e) return e === 0 ? e : 0; if (((e = uD(e)), e === fd || e === -fd)) { var t = e < 0 ? -1 : 1; return t * cD; } return e === e ? e : 0; } pd.exports = hD; }); var ts = _((a7, md) => { var fD = dd(); function pD(e) { var t = fD(e), r = t % 1; return t === t ? (r ? t - r : t) : 0; } md.exports = pD; }); var rs = _((s7, gd) => { var dD = es(), mD = _t(), gD = ts(), yD = Math.max; function vD(e, t, r) { var n = e == null ? 0 : e.length; if (!n) return -1; var i = r == null ? 0 : gD(r); return i < 0 && (i = yD(n + i, 0)), dD(e, mD(t, 3), i); } gd.exports = vD; }); var ns = _((o7, yd) => { var ED = Ja(), bD = rs(), _D = ED(bD); yd.exports = _D; }); var zn = _((is) => { "use strict"; Object.defineProperty(is, "__esModule", { value: !0 }); function SD(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } SD(is, { ELEMENT_MATCHES: function () { return xD; }, FLEX_PREFIXED: function () { return AD; }, IS_BROWSER_ENV: function () { return Ed; }, TRANSFORM_PREFIXED: function () { return bd; }, TRANSFORM_STYLE_PREFIXED: function () { return PD; }, withBrowser: function () { return Gn; }, }); var TD = ID(ns()); function ID(e) { return e && e.__esModule ? e : { default: e }; } var Ed = typeof window < "u", Gn = (e, t) => (Ed ? e() : t), xD = Gn(() => (0, TD.default)(["matches", "matchesSelector", "mozMatchesSelector", "msMatchesSelector", "oMatchesSelector", "webkitMatchesSelector"], (e) => e in Element.prototype)), AD = Gn(() => { let e = document.createElement("i"), t = ["flex", "-webkit-flex", "-ms-flexbox", "-moz-box", "-webkit-box"], r = ""; try { let { length: n } = t; for (let i = 0; i < n; i++) { let a = t[i]; if (((e.style.display = a), e.style.display === a)) return a; } return r; } catch { return r; } }, "flex"), bd = Gn(() => { let e = document.createElement("i"); if (e.style.transform == null) { let t = ["Webkit", "Moz", "ms"], r = "Transform", { length: n } = t; for (let i = 0; i < n; i++) { let a = t[i] + r; if (e.style[a] !== void 0) return a; } } return "transform"; }, "transform"), vd = bd.split("transform")[0], PD = vd ? vd + "TransformStyle" : "transformStyle"; }); var as = _((u7, xd) => { var CD = 4, wD = 0.001, OD = 1e-7, MD = 10, zr = 11, Hn = 1 / (zr - 1), DD = typeof Float32Array == "function"; function _d(e, t) { return 1 - 3 * t + 3 * e; } function Sd(e, t) { return 3 * t - 6 * e; } function Td(e) { return 3 * e; } function Wn(e, t, r) { return ((_d(t, r) * e + Sd(t, r)) * e + Td(t)) * e; } function Id(e, t, r) { return 3 * _d(t, r) * e * e + 2 * Sd(t, r) * e + Td(t); } function RD(e, t, r, n, i) { var a, s, o = 0; do (s = t + (r - t) / 2), (a = Wn(s, n, i) - e), a > 0 ? (r = s) : (t = s); while (Math.abs(a) > OD && ++o < MD); return s; } function FD(e, t, r, n) { for (var i = 0; i < CD; ++i) { var a = Id(t, r, n); if (a === 0) return t; var s = Wn(t, r, n) - e; t -= s / a; } return t; } xd.exports = function (t, r, n, i) { if (!(0 <= t && t <= 1 && 0 <= n && n <= 1)) throw new Error("bezier x values must be in [0, 1] range"); var a = DD ? new Float32Array(zr) : new Array(zr); if (t !== r || n !== i) for (var s = 0; s < zr; ++s) a[s] = Wn(s * Hn, t, n); function o(l) { for (var p = 0, c = 1, h = zr - 1; c !== h && a[c] <= l; ++c) p += Hn; --c; var g = (l - a[c]) / (a[c + 1] - a[c]), d = p + g * Hn, f = Id(d, t, n); return f >= wD ? FD(l, d, t, n) : f === 0 ? d : RD(l, p, p + Hn, t, n); } return function (p) { return t === r && n === i ? p : p === 0 ? 0 : p === 1 ? 1 : Wn(o(p), r, i); }; }; }); var os = _((ss) => { "use strict"; Object.defineProperty(ss, "__esModule", { value: !0 }); function LD(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } LD(ss, { bounce: function () { return vR; }, bouncePast: function () { return ER; }, ease: function () { return ND; }, easeIn: function () { return qD; }, easeInOut: function () { return VD; }, easeOut: function () { return BD; }, inBack: function () { return uR; }, inCirc: function () { return aR; }, inCubic: function () { return WD; }, inElastic: function () { return fR; }, inExpo: function () { return rR; }, inOutBack: function () { return hR; }, inOutCirc: function () { return oR; }, inOutCubic: function () { return jD; }, inOutElastic: function () { return dR; }, inOutExpo: function () { return iR; }, inOutQuad: function () { return HD; }, inOutQuart: function () { return YD; }, inOutQuint: function () { return ZD; }, inOutSine: function () { return tR; }, inQuad: function () { return GD; }, inQuart: function () { return XD; }, inQuint: function () { return $D; }, inSine: function () { return JD; }, outBack: function () { return cR; }, outBounce: function () { return lR; }, outCirc: function () { return sR; }, outCubic: function () { return UD; }, outElastic: function () { return pR; }, outExpo: function () { return nR; }, outQuad: function () { return zD; }, outQuart: function () { return KD; }, outQuint: function () { return QD; }, outSine: function () { return eR; }, swingFrom: function () { return gR; }, swingFromTo: function () { return mR; }, swingTo: function () { return yR; }, }); var Un = kD(as()); function kD(e) { return e && e.__esModule ? e : { default: e }; } var ht = 1.70158, ND = (0, Un.default)(0.25, 0.1, 0.25, 1), qD = (0, Un.default)(0.42, 0, 1, 1), BD = (0, Un.default)(0, 0, 0.58, 1), VD = (0, Un.default)(0.42, 0, 0.58, 1); function GD(e) { return Math.pow(e, 2); } function zD(e) { return -(Math.pow(e - 1, 2) - 1); } function HD(e) { return (e /= 0.5) < 1 ? 0.5 * Math.pow(e, 2) : -0.5 * ((e -= 2) * e - 2); } function WD(e) { return Math.pow(e, 3); } function UD(e) { return Math.pow(e - 1, 3) + 1; } function jD(e) { return (e /= 0.5) < 1 ? 0.5 * Math.pow(e, 3) : 0.5 * (Math.pow(e - 2, 3) + 2); } function XD(e) { return Math.pow(e, 4); } function KD(e) { return -(Math.pow(e - 1, 4) - 1); } function YD(e) { return (e /= 0.5) < 1 ? 0.5 * Math.pow(e, 4) : -0.5 * ((e -= 2) * Math.pow(e, 3) - 2); } function $D(e) { return Math.pow(e, 5); } function QD(e) { return Math.pow(e - 1, 5) + 1; } function ZD(e) { return (e /= 0.5) < 1 ? 0.5 * Math.pow(e, 5) : 0.5 * (Math.pow(e - 2, 5) + 2); } function JD(e) { return -Math.cos(e * (Math.PI / 2)) + 1; } function eR(e) { return Math.sin(e * (Math.PI / 2)); } function tR(e) { return -0.5 * (Math.cos(Math.PI * e) - 1); } function rR(e) { return e === 0 ? 0 : Math.pow(2, 10 * (e - 1)); } function nR(e) { return e === 1 ? 1 : -Math.pow(2, -10 * e) + 1; } function iR(e) { return e === 0 ? 0 : e === 1 ? 1 : (e /= 0.5) < 1 ? 0.5 * Math.pow(2, 10 * (e - 1)) : 0.5 * (-Math.pow(2, -10 * --e) + 2); } function aR(e) { return -(Math.sqrt(1 - e * e) - 1); } function sR(e) { return Math.sqrt(1 - Math.pow(e - 1, 2)); } function oR(e) { return (e /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - e * e) - 1) : 0.5 * (Math.sqrt(1 - (e -= 2) * e) + 1); } function lR(e) { return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 7.5625 * (e -= 1.5 / 2.75) * e + 0.75 : e < 2.5 / 2.75 ? 7.5625 * (e -= 2.25 / 2.75) * e + 0.9375 : 7.5625 * (e -= 2.625 / 2.75) * e + 0.984375; } function uR(e) { let t = ht; return e * e * ((t + 1) * e - t); } function cR(e) { let t = ht; return (e -= 1) * e * ((t + 1) * e + t) + 1; } function hR(e) { let t = ht; return (e /= 0.5) < 1 ? 0.5 * (e * e * (((t *= 1.525) + 1) * e - t)) : 0.5 * ((e -= 2) * e * (((t *= 1.525) + 1) * e + t) + 2); } function fR(e) { let t = ht, r = 0, n = 1; return e === 0 ? 0 : e === 1 ? 1 : (r || (r = 0.3), n < 1 ? ((n = 1), (t = r / 4)) : (t = (r / (2 * Math.PI)) * Math.asin(1 / n)), -(n * Math.pow(2, 10 * (e -= 1)) * Math.sin(((e - t) * (2 * Math.PI)) / r))); } function pR(e) { let t = ht, r = 0, n = 1; return e === 0 ? 0 : e === 1 ? 1 : (r || (r = 0.3), n < 1 ? ((n = 1), (t = r / 4)) : (t = (r / (2 * Math.PI)) * Math.asin(1 / n)), n * Math.pow(2, -10 * e) * Math.sin(((e - t) * (2 * Math.PI)) / r) + 1); } function dR(e) { let t = ht, r = 0, n = 1; return e === 0 ? 0 : (e /= 1 / 2) === 2 ? 1 : (r || (r = 0.3 * 1.5), n < 1 ? ((n = 1), (t = r / 4)) : (t = (r / (2 * Math.PI)) * Math.asin(1 / n)), e < 1 ? -0.5 * (n * Math.pow(2, 10 * (e -= 1)) * Math.sin(((e - t) * (2 * Math.PI)) / r)) : n * Math.pow(2, -10 * (e -= 1)) * Math.sin(((e - t) * (2 * Math.PI)) / r) * 0.5 + 1); } function mR(e) { let t = ht; return (e /= 0.5) < 1 ? 0.5 * (e * e * (((t *= 1.525) + 1) * e - t)) : 0.5 * ((e -= 2) * e * (((t *= 1.525) + 1) * e + t) + 2); } function gR(e) { let t = ht; return e * e * ((t + 1) * e - t); } function yR(e) { let t = ht; return (e -= 1) * e * ((t + 1) * e + t) + 1; } function vR(e) { return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 7.5625 * (e -= 1.5 / 2.75) * e + 0.75 : e < 2.5 / 2.75 ? 7.5625 * (e -= 2.25 / 2.75) * e + 0.9375 : 7.5625 * (e -= 2.625 / 2.75) * e + 0.984375; } function ER(e) { return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 2 - (7.5625 * (e -= 1.5 / 2.75) * e + 0.75) : e < 2.5 / 2.75 ? 2 - (7.5625 * (e -= 2.25 / 2.75) * e + 0.9375) : 2 - (7.5625 * (e -= 2.625 / 2.75) * e + 0.984375); } }); var cs = _((us) => { "use strict"; Object.defineProperty(us, "__esModule", { value: !0 }); function bR(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } bR(us, { applyEasing: function () { return xR; }, createBezierEasing: function () { return IR; }, optimizeFloat: function () { return ls; }, }); var Ad = TR(os()), _R = SR(as()); function SR(e) { return e && e.__esModule ? e : { default: e }; } function Pd(e) { if (typeof WeakMap != "function") return null; var t = new WeakMap(), r = new WeakMap(); return (Pd = function (n) { return n ? r : t; })(e); } function TR(e, t) { if (!t && e && e.__esModule) return e; if (e === null || (typeof e != "object" && typeof e != "function")) return { default: e }; var r = Pd(t); if (r && r.has(e)) return r.get(e); var n = { __proto__: null }, i = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var a in e) if (a !== "default" && Object.prototype.hasOwnProperty.call(e, a)) { var s = i ? Object.getOwnPropertyDescriptor(e, a) : null; s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]); } return (n.default = e), r && r.set(e, n), n; } function ls(e, t = 5, r = 10) { let n = Math.pow(r, t), i = Number(Math.round(e * n) / n); return Math.abs(i) > 1e-4 ? i : 0; } function IR(e) { return (0, _R.default)(...e); } function xR(e, t, r) { return t === 0 ? 0 : t === 1 ? 1 : ls(r ? (t > 0 ? r(t) : t) : t > 0 && e && Ad[e] ? Ad[e](t) : t); } }); var Md = _((fs) => { "use strict"; Object.defineProperty(fs, "__esModule", { value: !0 }); function AR(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } AR(fs, { createElementState: function () { return Od; }, ixElements: function () { return VR; }, mergeActionState: function () { return hs; }, }); var jn = ar(), wd = Ne(), { HTML_ELEMENT: f7, PLAIN_OBJECT: PR, ABSTRACT_NODE: p7, CONFIG_X_VALUE: CR, CONFIG_Y_VALUE: wR, CONFIG_Z_VALUE: OR, CONFIG_VALUE: MR, CONFIG_X_UNIT: DR, CONFIG_Y_UNIT: RR, CONFIG_Z_UNIT: FR, CONFIG_UNIT: LR, } = wd.IX2EngineConstants, { IX2_SESSION_STOPPED: kR, IX2_INSTANCE_ADDED: NR, IX2_ELEMENT_STATE_CHANGED: qR } = wd.IX2EngineActionTypes, Cd = {}, BR = "refState", VR = (e = Cd, t = {}) => { switch (t.type) { case kR: return Cd; case NR: { let { elementId: r, element: n, origin: i, actionItem: a, refType: s } = t.payload, { actionTypeId: o } = a, l = e; return (0, jn.getIn)(l, [r, n]) !== n && (l = Od(l, n, s, r, a)), hs(l, r, o, i, a); } case qR: { let { elementId: r, actionTypeId: n, current: i, actionItem: a } = t.payload; return hs(e, r, n, i, a); } default: return e; } }; function Od(e, t, r, n, i) { let a = r === PR ? (0, jn.getIn)(i, ["config", "target", "objectId"]) : null; return (0, jn.mergeIn)(e, [n], { id: n, ref: t, refId: a, refType: r }); } function hs(e, t, r, n, i) { let a = zR(i), s = [t, BR, r]; return (0, jn.mergeIn)(e, s, n, a); } var GR = [ [CR, DR], [wR, RR], [OR, FR], [MR, LR], ]; function zR(e) { let { config: t } = e; return GR.reduce((r, n) => { let i = n[0], a = n[1], s = t[i], o = t[a]; return s != null && o != null && (r[a] = o), r; }, {}); } }); var Dd = _((ps) => { "use strict"; Object.defineProperty(ps, "__esModule", { value: !0 }); function HR(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } HR(ps, { clearPlugin: function () { return $R; }, createPluginInstance: function () { return KR; }, getPluginConfig: function () { return WR; }, getPluginDestination: function () { return XR; }, getPluginDuration: function () { return UR; }, getPluginOrigin: function () { return jR; }, renderPlugin: function () { return YR; }, }); var WR = (e) => e.value, UR = (e, t) => { if (t.config.duration !== "auto") return null; let r = parseFloat(e.getAttribute("data-duration")); return r > 0 ? r * 1e3 : parseFloat(e.getAttribute("data-default-duration")) * 1e3; }, jR = (e) => e || { value: 0 }, XR = (e) => ({ value: e.value }), KR = (e) => { let t = window.Webflow.require("lottie").createInstance(e); return t.stop(), t.setSubframe(!0), t; }, YR = (e, t, r) => { if (!e) return; let n = t[r.actionTypeId].value / 100; e.goToFrame(e.frames * n); }, $R = (e) => { window.Webflow.require("lottie").createInstance(e).stop(); }; }); var Fd = _((ds) => { "use strict"; Object.defineProperty(ds, "__esModule", { value: !0 }); function QR(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } QR(ds, { clearPlugin: function () { return oF; }, createPluginInstance: function () { return aF; }, getPluginConfig: function () { return tF; }, getPluginDestination: function () { return iF; }, getPluginDuration: function () { return rF; }, getPluginOrigin: function () { return nF; }, renderPlugin: function () { return sF; }, }); var ZR = (e) => document.querySelector(`[data-w-id="${e}"]`), JR = () => window.Webflow.require("spline"), eF = (e, t) => e.filter((r) => !t.includes(r)), tF = (e, t) => e.value[t], rF = () => null, Rd = Object.freeze({ positionX: 0, positionY: 0, positionZ: 0, rotationX: 0, rotationY: 0, rotationZ: 0, scaleX: 1, scaleY: 1, scaleZ: 1 }), nF = (e, t) => { let r = t.config.value, n = Object.keys(r); if (e) { let a = Object.keys(e), s = eF(n, a); return s.length ? s.reduce((l, p) => ((l[p] = Rd[p]), l), e) : e; } return n.reduce((a, s) => ((a[s] = Rd[s]), a), {}); }, iF = (e) => e.value, aF = (e, t) => { let r = t?.config?.target?.pluginElement; return r ? ZR(r) : null; }, sF = (e, t, r) => { let n = JR(), i = n.getInstance(e), a = r.config.target.objectId, s = (o) => { if (!o) throw new Error("Invalid spline app passed to renderSpline"); let l = a && o.findObjectById(a); if (!l) return; let { PLUGIN_SPLINE: p } = t; p.positionX != null && (l.position.x = p.positionX), p.positionY != null && (l.position.y = p.positionY), p.positionZ != null && (l.position.z = p.positionZ), p.rotationX != null && (l.rotation.x = p.rotationX), p.rotationY != null && (l.rotation.y = p.rotationY), p.rotationZ != null && (l.rotation.z = p.rotationZ), p.scaleX != null && (l.scale.x = p.scaleX), p.scaleY != null && (l.scale.y = p.scaleY), p.scaleZ != null && (l.scale.z = p.scaleZ); }; i ? s(i.spline) : n.setLoadHandler(e, s); }, oF = () => null; }); var Ld = _((ys) => { "use strict"; Object.defineProperty(ys, "__esModule", { value: !0 }); function lF(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } lF(ys, { clearPlugin: function () { return yF; }, createPluginInstance: function () { return mF; }, getPluginConfig: function () { return hF; }, getPluginDestination: function () { return dF; }, getPluginDuration: function () { return fF; }, getPluginOrigin: function () { return pF; }, renderPlugin: function () { return gF; }, }); var ms = "--wf-rive-fit", gs = "--wf-rive-alignment", uF = (e) => document.querySelector(`[data-w-id="${e}"]`), cF = () => window.Webflow.require("rive"), hF = (e, t) => e.value.inputs[t], fF = () => null, pF = (e, t) => { if (e) return e; let r = {}, { inputs: n = {} } = t.config.value; for (let i in n) n[i] == null && (r[i] = 0); return r; }, dF = (e) => e.value.inputs ?? {}, mF = (e, t) => { if ((t.config?.target?.selectorGuids || []).length > 0) return e; let n = t?.config?.target?.pluginElement; return n ? uF(n) : null; }, gF = (e, { PLUGIN_RIVE: t }, r) => { let n = cF(), i = n.getInstance(e), a = n.rive.StateMachineInputType, { name: s, inputs: o = {} } = r.config.value || {}; function l(p) { if (p.loaded) c(); else { let h = () => { c(), p?.off("load", h); }; p?.on("load", h); } function c() { let h = p.stateMachineInputs(s); if (h != null) { if ((p.isPlaying || p.play(s, !1), ms in o || gs in o)) { let g = p.layout, d = o[ms] ?? g.fit, f = o[gs] ?? g.alignment; (d !== g.fit || f !== g.alignment) && (p.layout = g.copyWith({ fit: d, alignment: f })); } for (let g in o) { if (g === ms || g === gs) continue; let d = h.find((f) => f.name === g); if (d != null) switch (d.type) { case a.Boolean: { if (o[g] != null) { let f = !!o[g]; d.value = f; } break; } case a.Number: { let f = t[g]; f != null && (d.value = f); break; } case a.Trigger: { o[g] && d.fire(); break; } } } } } } i?.rive ? l(i.rive) : n.setLoadHandler(e, l); }, yF = (e, t) => null; }); var Es = _((vs) => { "use strict"; Object.defineProperty(vs, "__esModule", { value: !0 }); Object.defineProperty(vs, "normalizeColor", { enumerable: !0, get: function () { return vF; }, }); var kd = { aliceblue: "#F0F8FF", antiquewhite: "#FAEBD7", aqua: "#00FFFF", aquamarine: "#7FFFD4", azure: "#F0FFFF", beige: "#F5F5DC", bisque: "#FFE4C4", black: "#000000", blanchedalmond: "#FFEBCD", blue: "#0000FF", blueviolet: "#8A2BE2", brown: "#A52A2A", burlywood: "#DEB887", cadetblue: "#5F9EA0", chartreuse: "#7FFF00", chocolate: "#D2691E", coral: "#FF7F50", cornflowerblue: "#6495ED", cornsilk: "#FFF8DC", crimson: "#DC143C", cyan: "#00FFFF", darkblue: "#00008B", darkcyan: "#008B8B", darkgoldenrod: "#B8860B", darkgray: "#A9A9A9", darkgreen: "#006400", darkgrey: "#A9A9A9", darkkhaki: "#BDB76B", darkmagenta: "#8B008B", darkolivegreen: "#556B2F", darkorange: "#FF8C00", darkorchid: "#9932CC", darkred: "#8B0000", darksalmon: "#E9967A", darkseagreen: "#8FBC8F", darkslateblue: "#483D8B", darkslategray: "#2F4F4F", darkslategrey: "#2F4F4F", darkturquoise: "#00CED1", darkviolet: "#9400D3", deeppink: "#FF1493", deepskyblue: "#00BFFF", dimgray: "#696969", dimgrey: "#696969", dodgerblue: "#1E90FF", firebrick: "#B22222", floralwhite: "#FFFAF0", forestgreen: "#228B22", fuchsia: "#FF00FF", gainsboro: "#DCDCDC", ghostwhite: "#F8F8FF", gold: "#FFD700", goldenrod: "#DAA520", gray: "#808080", green: "#008000", greenyellow: "#ADFF2F", grey: "#808080", honeydew: "#F0FFF0", hotpink: "#FF69B4", indianred: "#CD5C5C", indigo: "#4B0082", ivory: "#FFFFF0", khaki: "#F0E68C", lavender: "#E6E6FA", lavenderblush: "#FFF0F5", lawngreen: "#7CFC00", lemonchiffon: "#FFFACD", lightblue: "#ADD8E6", lightcoral: "#F08080", lightcyan: "#E0FFFF", lightgoldenrodyellow: "#FAFAD2", lightgray: "#D3D3D3", lightgreen: "#90EE90", lightgrey: "#D3D3D3", lightpink: "#FFB6C1", lightsalmon: "#FFA07A", lightseagreen: "#20B2AA", lightskyblue: "#87CEFA", lightslategray: "#778899", lightslategrey: "#778899", lightsteelblue: "#B0C4DE", lightyellow: "#FFFFE0", lime: "#00FF00", limegreen: "#32CD32", linen: "#FAF0E6", magenta: "#FF00FF", maroon: "#800000", mediumaquamarine: "#66CDAA", mediumblue: "#0000CD", mediumorchid: "#BA55D3", mediumpurple: "#9370DB", mediumseagreen: "#3CB371", mediumslateblue: "#7B68EE", mediumspringgreen: "#00FA9A", mediumturquoise: "#48D1CC", mediumvioletred: "#C71585", midnightblue: "#191970", mintcream: "#F5FFFA", mistyrose: "#FFE4E1", moccasin: "#FFE4B5", navajowhite: "#FFDEAD", navy: "#000080", oldlace: "#FDF5E6", olive: "#808000", olivedrab: "#6B8E23", orange: "#FFA500", orangered: "#FF4500", orchid: "#DA70D6", palegoldenrod: "#EEE8AA", palegreen: "#98FB98", paleturquoise: "#AFEEEE", palevioletred: "#DB7093", papayawhip: "#FFEFD5", peachpuff: "#FFDAB9", peru: "#CD853F", pink: "#FFC0CB", plum: "#DDA0DD", powderblue: "#B0E0E6", purple: "#800080", rebeccapurple: "#663399", red: "#FF0000", rosybrown: "#BC8F8F", royalblue: "#4169E1", saddlebrown: "#8B4513", salmon: "#FA8072", sandybrown: "#F4A460", seagreen: "#2E8B57", seashell: "#FFF5EE", sienna: "#A0522D", silver: "#C0C0C0", skyblue: "#87CEEB", slateblue: "#6A5ACD", slategray: "#708090", slategrey: "#708090", snow: "#FFFAFA", springgreen: "#00FF7F", steelblue: "#4682B4", tan: "#D2B48C", teal: "#008080", thistle: "#D8BFD8", tomato: "#FF6347", turquoise: "#40E0D0", violet: "#EE82EE", wheat: "#F5DEB3", white: "#FFFFFF", whitesmoke: "#F5F5F5", yellow: "#FFFF00", yellowgreen: "#9ACD32", }; function vF(e) { let t, r, n, i = 1, a = e.replace(/\s/g, "").toLowerCase(), o = (typeof kd[a] == "string" ? kd[a].toLowerCase() : null) || a; if (o.startsWith("#")) { let l = o.substring(1); l.length === 3 || l.length === 4 ? ((t = parseInt(l[0] + l[0], 16)), (r = parseInt(l[1] + l[1], 16)), (n = parseInt(l[2] + l[2], 16)), l.length === 4 && (i = parseInt(l[3] + l[3], 16) / 255)) : (l.length === 6 || l.length === 8) && ((t = parseInt(l.substring(0, 2), 16)), (r = parseInt(l.substring(2, 4), 16)), (n = parseInt(l.substring(4, 6), 16)), l.length === 8 && (i = parseInt(l.substring(6, 8), 16) / 255)); } else if (o.startsWith("rgba")) { let l = o.match(/rgba\(([^)]+)\)/)[1].split(","); (t = parseInt(l[0], 10)), (r = parseInt(l[1], 10)), (n = parseInt(l[2], 10)), (i = parseFloat(l[3])); } else if (o.startsWith("rgb")) { let l = o.match(/rgb\(([^)]+)\)/)[1].split(","); (t = parseInt(l[0], 10)), (r = parseInt(l[1], 10)), (n = parseInt(l[2], 10)); } else if (o.startsWith("hsla")) { let l = o.match(/hsla\(([^)]+)\)/)[1].split(","), p = parseFloat(l[0]), c = parseFloat(l[1].replace("%", "")) / 100, h = parseFloat(l[2].replace("%", "")) / 100; i = parseFloat(l[3]); let g = (1 - Math.abs(2 * h - 1)) * c, d = g * (1 - Math.abs(((p / 60) % 2) - 1)), f = h - g / 2, m, u, y; p >= 0 && p < 60 ? ((m = g), (u = d), (y = 0)) : p >= 60 && p < 120 ? ((m = d), (u = g), (y = 0)) : p >= 120 && p < 180 ? ((m = 0), (u = g), (y = d)) : p >= 180 && p < 240 ? ((m = 0), (u = d), (y = g)) : p >= 240 && p < 300 ? ((m = d), (u = 0), (y = g)) : ((m = g), (u = 0), (y = d)), (t = Math.round((m + f) * 255)), (r = Math.round((u + f) * 255)), (n = Math.round((y + f) * 255)); } else if (o.startsWith("hsl")) { let l = o.match(/hsl\(([^)]+)\)/)[1].split(","), p = parseFloat(l[0]), c = parseFloat(l[1].replace("%", "")) / 100, h = parseFloat(l[2].replace("%", "")) / 100, g = (1 - Math.abs(2 * h - 1)) * c, d = g * (1 - Math.abs(((p / 60) % 2) - 1)), f = h - g / 2, m, u, y; p >= 0 && p < 60 ? ((m = g), (u = d), (y = 0)) : p >= 60 && p < 120 ? ((m = d), (u = g), (y = 0)) : p >= 120 && p < 180 ? ((m = 0), (u = g), (y = d)) : p >= 180 && p < 240 ? ((m = 0), (u = d), (y = g)) : p >= 240 && p < 300 ? ((m = d), (u = 0), (y = g)) : ((m = g), (u = 0), (y = d)), (t = Math.round((m + f) * 255)), (r = Math.round((u + f) * 255)), (n = Math.round((y + f) * 255)); } if (Number.isNaN(t) || Number.isNaN(r) || Number.isNaN(n)) throw new Error(`Invalid color in [ix2/shared/utils/normalizeColor.js] '${e}'`); return { red: t, green: r, blue: n, alpha: i }; } }); var Nd = _((bs) => { "use strict"; Object.defineProperty(bs, "__esModule", { value: !0 }); function EF(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } EF(bs, { clearPlugin: function () { return CF; }, createPluginInstance: function () { return xF; }, getPluginConfig: function () { return _F; }, getPluginDestination: function () { return IF; }, getPluginDuration: function () { return SF; }, getPluginOrigin: function () { return TF; }, renderPlugin: function () { return PF; }, }); var bF = Es(), _F = (e, t) => e.value[t], SF = () => null, TF = (e, t) => { if (e) return e; let r = t.config.value, n = t.config.target.objectId, i = getComputedStyle(document.documentElement).getPropertyValue(n); if (r.size != null) return { size: parseInt(i, 10) }; if (r.unit === "%" || r.unit === "-") return { size: parseFloat(i) }; if (r.red != null && r.green != null && r.blue != null) return (0, bF.normalizeColor)(i); }, IF = (e) => e.value, xF = () => null, AF = { color: { match: ({ red: e, green: t, blue: r, alpha: n }) => [e, t, r, n].every((i) => i != null), getValue: ({ red: e, green: t, blue: r, alpha: n }) => `rgba(${e}, ${t}, ${r}, ${n})` }, size: { match: ({ size: e }) => e != null, getValue: ({ size: e }, t) => { switch (t) { case "-": return e; default: return `${e}${t}`; } }, }, }, PF = (e, t, r) => { let { target: { objectId: n }, value: { unit: i }, } = r.config, a = t.PLUGIN_VARIABLE, s = Object.values(AF).find((o) => o.match(a, i)); s && document.documentElement.style.setProperty(n, s.getValue(a, i)); }, CF = (e, t) => { let r = t.config.target.objectId; document.documentElement.style.removeProperty(r); }; }); var Bd = _((_s) => { "use strict"; Object.defineProperty(_s, "__esModule", { value: !0 }); Object.defineProperty(_s, "pluginMethodMap", { enumerable: !0, get: function () { return RF; }, }); var Xn = Ne(), wF = Kn(Dd()), OF = Kn(Fd()), MF = Kn(Ld()), DF = Kn(Nd()); function qd(e) { if (typeof WeakMap != "function") return null; var t = new WeakMap(), r = new WeakMap(); return (qd = function (n) { return n ? r : t; })(e); } function Kn(e, t) { if (!t && e && e.__esModule) return e; if (e === null || (typeof e != "object" && typeof e != "function")) return { default: e }; var r = qd(t); if (r && r.has(e)) return r.get(e); var n = { __proto__: null }, i = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var a in e) if (a !== "default" && Object.prototype.hasOwnProperty.call(e, a)) { var s = i ? Object.getOwnPropertyDescriptor(e, a) : null; s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]); } return (n.default = e), r && r.set(e, n), n; } var RF = new Map([ [Xn.ActionTypeConsts.PLUGIN_LOTTIE, { ...wF }], [Xn.ActionTypeConsts.PLUGIN_SPLINE, { ...OF }], [Xn.ActionTypeConsts.PLUGIN_RIVE, { ...MF }], [Xn.ActionTypeConsts.PLUGIN_VARIABLE, { ...DF }], ]); }); var Ts = _((Ss) => { "use strict"; Object.defineProperty(Ss, "__esModule", { value: !0 }); function FF(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } FF(Ss, { clearPlugin: function () { return HF; }, createPluginInstance: function () { return GF; }, getPluginConfig: function () { return NF; }, getPluginDestination: function () { return VF; }, getPluginDuration: function () { return BF; }, getPluginOrigin: function () { return qF; }, isPluginType: function () { return kF; }, renderPlugin: function () { return zF; }, }); var LF = zn(), Vd = Bd(); function kF(e) { return Vd.pluginMethodMap.has(e); } var Nt = (e) => (t) => { if (!LF.IS_BROWSER_ENV) return () => null; let r = Vd.pluginMethodMap.get(t); if (!r) throw new Error(`IX2 no plugin configured for: ${t}`); let n = r[e]; if (!n) throw new Error(`IX2 invalid plugin method: ${e}`); return n; }, NF = Nt("getPluginConfig"), qF = Nt("getPluginOrigin"), BF = Nt("getPluginDuration"), VF = Nt("getPluginDestination"), GF = Nt("createPluginInstance"), zF = Nt("renderPlugin"), HF = Nt("clearPlugin"); }); var zd = _((S7, Gd) => { function WF(e, t) { return e == null || e !== e ? t : e; } Gd.exports = WF; }); var Wd = _((T7, Hd) => { function UF(e, t, r, n) { var i = -1, a = e == null ? 0 : e.length; for (n && a && (r = e[++i]); ++i < a;) r = t(r, e[i], i, e); return r; } Hd.exports = UF; }); var jd = _((I7, Ud) => { function jF(e) { return function (t, r, n) { for (var i = -1, a = Object(t), s = n(t), o = s.length; o--;) { var l = s[e ? o : ++i]; if (r(a[l], l, a) === !1) break; } return t; }; } Ud.exports = jF; }); var Kd = _((x7, Xd) => { var XF = jd(), KF = XF(); Xd.exports = KF; }); var Is = _((A7, Yd) => { var YF = Kd(), $F = Br(); function QF(e, t) { return e && YF(e, t, $F); } Yd.exports = QF; }); var Qd = _((P7, $d) => { var ZF = Lt(); function JF(e, t) { return function (r, n) { if (r == null) return r; if (!ZF(r)) return e(r, n); for (var i = r.length, a = t ? i : -1, s = Object(r); (t ? a-- : ++a < i) && n(s[a], a, s) !== !1;); return r; }; } $d.exports = JF; }); var xs = _((C7, Zd) => { var e2 = Is(), t2 = Qd(), r2 = t2(e2); Zd.exports = r2; }); var em = _((w7, Jd) => { function n2(e, t, r, n, i) { return ( i(e, function (a, s, o) { r = n ? ((n = !1), a) : t(r, a, s, o); }), r ); } Jd.exports = n2; }); var rm = _((O7, tm) => { var i2 = Wd(), a2 = xs(), s2 = _t(), o2 = em(), l2 = Pe(); function u2(e, t, r) { var n = l2(e) ? i2 : o2, i = arguments.length < 3; return n(e, s2(t, 4), r, i, a2); } tm.exports = u2; }); var im = _((M7, nm) => { var c2 = es(), h2 = _t(), f2 = ts(), p2 = Math.max, d2 = Math.min; function m2(e, t, r) { var n = e == null ? 0 : e.length; if (!n) return -1; var i = n - 1; return r !== void 0 && ((i = f2(r)), (i = r < 0 ? p2(n + i, 0) : d2(i, n - 1))), c2(e, h2(t, 3), i, !0); } nm.exports = m2; }); var sm = _((D7, am) => { var g2 = Ja(), y2 = im(), v2 = g2(y2); am.exports = v2; }); var lm = _((As) => { "use strict"; Object.defineProperty(As, "__esModule", { value: !0 }); Object.defineProperty(As, "default", { enumerable: !0, get: function () { return b2; }, }); function om(e, t) { return e === t ? e !== 0 || t !== 0 || 1 / e === 1 / t : e !== e && t !== t; } function E2(e, t) { if (om(e, t)) return !0; if (typeof e != "object" || e === null || typeof t != "object" || t === null) return !1; let r = Object.keys(e), n = Object.keys(t); if (r.length !== n.length) return !1; for (let i = 0; i < r.length; i++) if (!Object.hasOwn(t, r[i]) || !om(e[r[i]], t[r[i]])) return !1; return !0; } var b2 = E2; }); var Pm = _((Ls) => { "use strict"; Object.defineProperty(Ls, "__esModule", { value: !0 }); function _2(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } _2(Ls, { cleanupHTMLElement: function () { return bL; }, clearAllStyles: function () { return EL; }, clearObjectCache: function () { return V2; }, getActionListProgress: function () { return SL; }, getAffectedElements: function () { return Rs; }, getComputedStyle: function () { return K2; }, getDestinationValues: function () { return tL; }, getElementId: function () { return W2; }, getInstanceId: function () { return z2; }, getInstanceOrigin: function () { return Q2; }, getItemConfigByKey: function () { return eL; }, getMaxDurationItemIndex: function () { return Am; }, getNamespacedParameterId: function () { return xL; }, getRenderType: function () { return Tm; }, getStyleProp: function () { return rL; }, mediaQueriesEqual: function () { return PL; }, observeStore: function () { return X2; }, reduceListToGroup: function () { return TL; }, reifyState: function () { return U2; }, renderHTMLElement: function () { return nL; }, shallowEqual: function () { return gm.default; }, shouldAllowMediaQuery: function () { return AL; }, shouldNamespaceEventParameter: function () { return IL; }, stringifyTarget: function () { return CL; }, }); var St = Zn(zd()), ws = Zn(rm()), Cs = Zn(sm()), um = ar(), qt = Ne(), gm = Zn(lm()), S2 = cs(), T2 = Es(), nt = Ts(), De = zn(); function Zn(e) { return e && e.__esModule ? e : { default: e }; } var { BACKGROUND: I2, TRANSFORM: x2, TRANSLATE_3D: A2, SCALE_3D: P2, ROTATE_X: C2, ROTATE_Y: w2, ROTATE_Z: O2, SKEW: M2, PRESERVE_3D: D2, FLEX: R2, OPACITY: $n, FILTER: Hr, FONT_VARIATION_SETTINGS: Wr, WIDTH: tt, HEIGHT: rt, BACKGROUND_COLOR: ym, BORDER_COLOR: F2, COLOR: L2, CHILDREN: cm, IMMEDIATE_CHILDREN: k2, SIBLINGS: hm, PARENT: N2, DISPLAY: Qn, WILL_CHANGE: dr, AUTO: Tt, COMMA_DELIMITER: Ur, COLON_DELIMITER: q2, BAR_DELIMITER: Ps, RENDER_TRANSFORM: vm, RENDER_GENERAL: Os, RENDER_STYLE: Ms, RENDER_PLUGIN: Em, } = qt.IX2EngineConstants, { TRANSFORM_MOVE: mr, TRANSFORM_SCALE: gr, TRANSFORM_ROTATE: yr, TRANSFORM_SKEW: jr, STYLE_OPACITY: bm, STYLE_FILTER: Xr, STYLE_FONT_VARIATION: Kr, STYLE_SIZE: vr, STYLE_BACKGROUND_COLOR: Er, STYLE_BORDER: br, STYLE_TEXT_COLOR: _r, GENERAL_DISPLAY: Jn, OBJECT_VALUE: B2, } = qt.ActionTypeConsts, _m = (e) => e.trim(), Ds = Object.freeze({ [Er]: ym, [br]: F2, [_r]: L2 }), Sm = Object.freeze({ [De.TRANSFORM_PREFIXED]: x2, [ym]: I2, [$n]: $n, [Hr]: Hr, [tt]: tt, [rt]: rt, [Wr]: Wr }), Yn = new Map(); function V2() { Yn.clear(); } var G2 = 1; function z2() { return "i" + G2++; } var H2 = 1; function W2(e, t) { for (let r in e) { let n = e[r]; if (n && n.ref === t) return n.id; } return "e" + H2++; } function U2({ events: e, actionLists: t, site: r } = {}) { let n = (0, ws.default)( e, (s, o) => { let { eventTypeId: l } = o; return s[l] || (s[l] = {}), (s[l][o.id] = o), s; }, {} ), i = r && r.mediaQueries, a = []; return i ? (a = i.map((s) => s.key)) : ((i = []), console.warn("IX2 missing mediaQueries in site data")), { ixData: { events: e, actionLists: t, eventTypeMap: n, mediaQueries: i, mediaQueryKeys: a } }; } var j2 = (e, t) => e === t; function X2({ store: e, select: t, onChange: r, comparator: n = j2 }) { let { getState: i, subscribe: a } = e, s = a(l), o = t(i()); function l() { let p = t(i()); if (p == null) { s(); return; } n(p, o) || ((o = p), r(o, e)); } return s; } function fm(e) { let t = typeof e; if (t === "string") return { id: e }; if (e != null && t === "object") { let { id: r, objectId: n, selector: i, selectorGuids: a, appliesTo: s, useEventTarget: o } = e; return { id: r, objectId: n, selector: i, selectorGuids: a, appliesTo: s, useEventTarget: o }; } return {}; } function Rs({ config: e, event: t, eventTarget: r, elementRoot: n, elementApi: i }) { if (!i) throw new Error("IX2 missing elementApi"); let { targets: a } = e; if (Array.isArray(a) && a.length > 0) return a.reduce((L, O) => L.concat(Rs({ config: { target: O }, event: t, eventTarget: r, elementRoot: n, elementApi: i })), []); let { getValidDocument: s, getQuerySelector: o, queryDocument: l, getChildElements: p, getSiblingElements: c, matchSelector: h, elementContains: g, isSiblingNode: d } = i, { target: f } = e; if (!f) return []; let { id: m, objectId: u, selector: y, selectorGuids: v, appliesTo: E, useEventTarget: b } = fm(f); if (u) return [Yn.has(u) ? Yn.get(u) : Yn.set(u, {}).get(u)]; if (E === qt.EventAppliesTo.PAGE) { let L = s(m); return L ? [L] : []; } let A = (t?.action?.config?.affectedElements ?? {})[m || y] || {}, x = !!(A.id || A.selector), C, k, D, I = t && o(fm(t.target)); if ((x ? ((C = A.limitAffectedElements), (k = I), (D = o(A))) : (k = D = o({ id: m, selector: y, selectorGuids: v })), t && b)) { let L = r && (D || b === !0) ? [r] : l(I); if (D) { if (b === N2) return l(D).filter((O) => L.some((R) => g(O, R))); if (b === cm) return l(D).filter((O) => L.some((R) => g(R, O))); if (b === hm) return l(D).filter((O) => L.some((R) => d(R, O))); } return L; } return k == null || D == null ? [] : De.IS_BROWSER_ENV && n ? l(D).filter((L) => n.contains(L)) : C === cm ? l(k, D) : C === k2 ? p(l(k)).filter(h(D)) : C === hm ? c(l(k)).filter(h(D)) : l(D); } function K2({ element: e, actionItem: t }) { if (!De.IS_BROWSER_ENV) return {}; let { actionTypeId: r } = t; switch (r) { case vr: case Er: case br: case _r: case Jn: return window.getComputedStyle(e); default: return {}; } } var pm = /px/, Y2 = (e, t) => t.reduce((r, n) => (r[n.type] == null && (r[n.type] = iL[n.type]), r), e || {}), $2 = (e, t) => t.reduce((r, n) => (r[n.type] == null && (r[n.type] = aL[n.type] || n.defaultValue || 0), r), e || {}); function Q2(e, t = {}, r = {}, n, i) { let { getStyle: a } = i, { actionTypeId: s } = n; if ((0, nt.isPluginType)(s)) return (0, nt.getPluginOrigin)(s)(t[s], n); switch (n.actionTypeId) { case mr: case gr: case yr: case jr: return t[n.actionTypeId] || Fs[n.actionTypeId]; case Xr: return Y2(t[n.actionTypeId], n.config.filters); case Kr: return $2(t[n.actionTypeId], n.config.fontVariations); case bm: return { value: (0, St.default)(parseFloat(a(e, $n)), 1) }; case vr: { let o = a(e, tt), l = a(e, rt), p, c; return ( n.config.widthUnit === Tt ? (p = pm.test(o) ? parseFloat(o) : parseFloat(r.width)) : (p = (0, St.default)(parseFloat(o), parseFloat(r.width))), n.config.heightUnit === Tt ? (c = pm.test(l) ? parseFloat(l) : parseFloat(r.height)) : (c = (0, St.default)(parseFloat(l), parseFloat(r.height))), { widthValue: p, heightValue: c } ); } case Er: case br: case _r: return gL({ element: e, actionTypeId: n.actionTypeId, computedStyle: r, getStyle: a }); case Jn: return { value: (0, St.default)(a(e, Qn), r.display) }; case B2: return t[n.actionTypeId] || { value: 0 }; default: return; } } var Z2 = (e, t) => (t && (e[t.type] = t.value || 0), e), J2 = (e, t) => (t && (e[t.type] = t.value || 0), e), eL = (e, t, r) => { if ((0, nt.isPluginType)(e)) return (0, nt.getPluginConfig)(e)(r, t); switch (e) { case Xr: { let n = (0, Cs.default)(r.filters, ({ type: i }) => i === t); return n ? n.value : 0; } case Kr: { let n = (0, Cs.default)(r.fontVariations, ({ type: i }) => i === t); return n ? n.value : 0; } default: return r[t]; } }; function tL({ element: e, actionItem: t, elementApi: r }) { if ((0, nt.isPluginType)(t.actionTypeId)) return (0, nt.getPluginDestination)(t.actionTypeId)(t.config); switch (t.actionTypeId) { case mr: case gr: case yr: case jr: { let { xValue: n, yValue: i, zValue: a } = t.config; return { xValue: n, yValue: i, zValue: a }; } case vr: { let { getStyle: n, setStyle: i, getProperty: a } = r, { widthUnit: s, heightUnit: o } = t.config, { widthValue: l, heightValue: p } = t.config; if (!De.IS_BROWSER_ENV) return { widthValue: l, heightValue: p }; if (s === Tt) { let c = n(e, tt); i(e, tt, ""), (l = a(e, "offsetWidth")), i(e, tt, c); } if (o === Tt) { let c = n(e, rt); i(e, rt, ""), (p = a(e, "offsetHeight")), i(e, rt, c); } return { widthValue: l, heightValue: p }; } case Er: case br: case _r: { let { rValue: n, gValue: i, bValue: a, aValue: s, globalSwatchId: o } = t.config; if (o && o.startsWith("--")) { let { getStyle: l } = r, p = l(e, o), c = (0, T2.normalizeColor)(p); return { rValue: c.red, gValue: c.green, bValue: c.blue, aValue: c.alpha }; } return { rValue: n, gValue: i, bValue: a, aValue: s }; } case Xr: return t.config.filters.reduce(Z2, {}); case Kr: return t.config.fontVariations.reduce(J2, {}); default: { let { value: n } = t.config; return { value: n }; } } } function Tm(e) { if (/^TRANSFORM_/.test(e)) return vm; if (/^STYLE_/.test(e)) return Ms; if (/^GENERAL_/.test(e)) return Os; if (/^PLUGIN_/.test(e)) return Em; } function rL(e, t) { return e === Ms ? t.replace("STYLE_", "").toLowerCase() : null; } function nL(e, t, r, n, i, a, s, o, l) { switch (o) { case vm: return lL(e, t, r, i, s); case Ms: return yL(e, t, r, i, a, s); case Os: return vL(e, i, s); case Em: { let { actionTypeId: p } = i; if ((0, nt.isPluginType)(p)) return (0, nt.renderPlugin)(p)(l, t, i); } } } var Fs = { [mr]: Object.freeze({ xValue: 0, yValue: 0, zValue: 0 }), [gr]: Object.freeze({ xValue: 1, yValue: 1, zValue: 1 }), [yr]: Object.freeze({ xValue: 0, yValue: 0, zValue: 0 }), [jr]: Object.freeze({ xValue: 0, yValue: 0 }), }, iL = Object.freeze({ blur: 0, "hue-rotate": 0, invert: 0, grayscale: 0, saturate: 100, sepia: 0, contrast: 100, brightness: 100 }), aL = Object.freeze({ wght: 0, opsz: 0, wdth: 0, slnt: 0 }), sL = (e, t) => { let r = (0, Cs.default)(t.filters, ({ type: n }) => n === e); if (r && r.unit) return r.unit; switch (e) { case "blur": return "px"; case "hue-rotate": return "deg"; default: return "%"; } }, oL = Object.keys(Fs); function lL(e, t, r, n, i) { let a = oL .map((o) => { let l = Fs[o], { xValue: p = l.xValue, yValue: c = l.yValue, zValue: h = l.zValue, xUnit: g = "", yUnit: d = "", zUnit: f = "" } = t[o] || {}; switch (o) { case mr: return `${A2}(${p}${g}, ${c}${d}, ${h}${f})`; case gr: return `${P2}(${p}${g}, ${c}${d}, ${h}${f})`; case yr: return `${C2}(${p}${g}) ${w2}(${c}${d}) ${O2}(${h}${f})`; case jr: return `${M2}(${p}${g}, ${c}${d})`; default: return ""; } }) .join(" "), { setStyle: s } = i; Bt(e, De.TRANSFORM_PREFIXED, i), s(e, De.TRANSFORM_PREFIXED, a), hL(n, r) && s(e, De.TRANSFORM_STYLE_PREFIXED, D2); } function uL(e, t, r, n) { let i = (0, ws.default)(t, (s, o, l) => `${s} ${l}(${o}${sL(l, r)})`, ""), { setStyle: a } = n; Bt(e, Hr, n), a(e, Hr, i); } function cL(e, t, r, n) { let i = (0, ws.default)(t, (s, o, l) => (s.push(`"${l}" ${o}`), s), []).join(", "), { setStyle: a } = n; Bt(e, Wr, n), a(e, Wr, i); } function hL({ actionTypeId: e }, { xValue: t, yValue: r, zValue: n }) { return (e === mr && n !== void 0) || (e === gr && n !== void 0) || (e === yr && (t !== void 0 || r !== void 0)); } var fL = "\\(([^)]+)\\)", pL = /^rgb/, dL = RegExp(`rgba?${fL}`); function mL(e, t) { let r = e.exec(t); return r ? r[1] : ""; } function gL({ element: e, actionTypeId: t, computedStyle: r, getStyle: n }) { let i = Ds[t], a = n(e, i), s = pL.test(a) ? a : r[i], o = mL(dL, s).split(Ur); return { rValue: (0, St.default)(parseInt(o[0], 10), 255), gValue: (0, St.default)(parseInt(o[1], 10), 255), bValue: (0, St.default)(parseInt(o[2], 10), 255), aValue: (0, St.default)(parseFloat(o[3]), 1) }; } function yL(e, t, r, n, i, a) { let { setStyle: s } = a; switch (n.actionTypeId) { case vr: { let { widthUnit: o = "", heightUnit: l = "" } = n.config, { widthValue: p, heightValue: c } = r; p !== void 0 && (o === Tt && (o = "px"), Bt(e, tt, a), s(e, tt, p + o)), c !== void 0 && (l === Tt && (l = "px"), Bt(e, rt, a), s(e, rt, c + l)); break; } case Xr: { uL(e, r, n.config, a); break; } case Kr: { cL(e, r, n.config, a); break; } case Er: case br: case _r: { let o = Ds[n.actionTypeId], l = Math.round(r.rValue), p = Math.round(r.gValue), c = Math.round(r.bValue), h = r.aValue; Bt(e, o, a), s(e, o, h >= 1 ? `rgb(${l},${p},${c})` : `rgba(${l},${p},${c},${h})`); break; } default: { let { unit: o = "" } = n.config; Bt(e, i, a), s(e, i, r.value + o); break; } } } function vL(e, t, r) { let { setStyle: n } = r; switch (t.actionTypeId) { case Jn: { let { value: i } = t.config; i === R2 && De.IS_BROWSER_ENV ? n(e, Qn, De.FLEX_PREFIXED) : n(e, Qn, i); return; } } } function Bt(e, t, r) { if (!De.IS_BROWSER_ENV) return; let n = Sm[t]; if (!n) return; let { getStyle: i, setStyle: a } = r, s = i(e, dr); if (!s) { a(e, dr, n); return; } let o = s.split(Ur).map(_m); o.indexOf(n) === -1 && a(e, dr, o.concat(n).join(Ur)); } function Im(e, t, r) { if (!De.IS_BROWSER_ENV) return; let n = Sm[t]; if (!n) return; let { getStyle: i, setStyle: a } = r, s = i(e, dr); !s || s.indexOf(n) === -1 || a( e, dr, s .split(Ur) .map(_m) .filter((o) => o !== n) .join(Ur) ); } function EL({ store: e, elementApi: t }) { let { ixData: r } = e.getState(), { events: n = {}, actionLists: i = {} } = r; Object.keys(n).forEach((a) => { let s = n[a], { config: o } = s.action, { actionListId: l } = o, p = i[l]; p && dm({ actionList: p, event: s, elementApi: t }); }), Object.keys(i).forEach((a) => { dm({ actionList: i[a], elementApi: t }); }); } function dm({ actionList: e = {}, event: t, elementApi: r }) { let { actionItemGroups: n, continuousParameterGroups: i } = e; n && n.forEach((a) => { mm({ actionGroup: a, event: t, elementApi: r }); }), i && i.forEach((a) => { let { continuousActionGroups: s } = a; s.forEach((o) => { mm({ actionGroup: o, event: t, elementApi: r }); }); }); } function mm({ actionGroup: e, event: t, elementApi: r }) { let { actionItems: n } = e; n.forEach((i) => { let { actionTypeId: a, config: s } = i, o; (0, nt.isPluginType)(a) ? (o = (l) => (0, nt.clearPlugin)(a)(l, i)) : (o = xm({ effect: _L, actionTypeId: a, elementApi: r })), Rs({ config: s, event: t, elementApi: r }).forEach(o); }); } function bL(e, t, r) { let { setStyle: n, getStyle: i } = r, { actionTypeId: a } = t; if (a === vr) { let { config: s } = t; s.widthUnit === Tt && n(e, tt, ""), s.heightUnit === Tt && n(e, rt, ""); } i(e, dr) && xm({ effect: Im, actionTypeId: a, elementApi: r })(e); } var xm = ({ effect: e, actionTypeId: t, elementApi: r }) => (n) => { switch (t) { case mr: case gr: case yr: case jr: e(n, De.TRANSFORM_PREFIXED, r); break; case Xr: e(n, Hr, r); break; case Kr: e(n, Wr, r); break; case bm: e(n, $n, r); break; case vr: e(n, tt, r), e(n, rt, r); break; case Er: case br: case _r: e(n, Ds[t], r); break; case Jn: e(n, Qn, r); break; } }; function _L(e, t, r) { let { setStyle: n } = r; Im(e, t, r), n(e, t, ""), t === De.TRANSFORM_PREFIXED && n(e, De.TRANSFORM_STYLE_PREFIXED, ""); } function Am(e) { let t = 0, r = 0; return ( e.forEach((n, i) => { let { config: a } = n, s = a.delay + a.duration; s >= t && ((t = s), (r = i)); }), r ); } function SL(e, t) { let { actionItemGroups: r, useFirstGroupAsInitialState: n } = e, { actionItem: i, verboseTimeElapsed: a = 0 } = t, s = 0, o = 0; return ( r.forEach((l, p) => { if (n && p === 0) return; let { actionItems: c } = l, h = c[Am(c)], { config: g, actionTypeId: d } = h; i.id === h.id && (o = s + a); let f = Tm(d) === Os ? 0 : g.duration; s += g.delay + f; }), s > 0 ? (0, S2.optimizeFloat)(o / s) : 0 ); } function TL({ actionList: e, actionItemId: t, rawData: r }) { let { actionItemGroups: n, continuousParameterGroups: i } = e, a = [], s = (o) => (a.push((0, um.mergeIn)(o, ["config"], { delay: 0, duration: 0 })), o.id === t); return ( n && n.some(({ actionItems: o }) => o.some(s)), i && i.some((o) => { let { continuousActionGroups: l } = o; return l.some(({ actionItems: p }) => p.some(s)); }), (0, um.setIn)(r, ["actionLists"], { [e.id]: { id: e.id, actionItemGroups: [{ actionItems: a }] } }) ); } function IL(e, { basedOn: t }) { return (e === qt.EventTypeConsts.SCROLLING_IN_VIEW && (t === qt.EventBasedOn.ELEMENT || t == null)) || (e === qt.EventTypeConsts.MOUSE_MOVE && t === qt.EventBasedOn.ELEMENT); } function xL(e, t) { return e + q2 + t; } function AL(e, t) { return t == null ? !0 : e.indexOf(t) !== -1; } function PL(e, t) { return (0, gm.default)(e && e.sort(), t && t.sort()); } function CL(e) { if (typeof e == "string") return e; if (e.pluginElement && e.objectId) return e.pluginElement + Ps + e.objectId; if (e.objectId) return e.objectId; let { id: t = "", selector: r = "", useEventTarget: n = "" } = e; return t + Ps + r + Ps + n; } }); var Vt = _((ks) => { "use strict"; Object.defineProperty(ks, "__esModule", { value: !0 }); function wL(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } wL(ks, { IX2BrowserSupport: function () { return OL; }, IX2EasingUtils: function () { return DL; }, IX2Easings: function () { return ML; }, IX2ElementsReducer: function () { return RL; }, IX2VanillaPlugins: function () { return FL; }, IX2VanillaUtils: function () { return LL; }, }); var OL = Sr(zn()), ML = Sr(os()), DL = Sr(cs()), RL = Sr(Md()), FL = Sr(Ts()), LL = Sr(Pm()); function Cm(e) { if (typeof WeakMap != "function") return null; var t = new WeakMap(), r = new WeakMap(); return (Cm = function (n) { return n ? r : t; })(e); } function Sr(e, t) { if (!t && e && e.__esModule) return e; if (e === null || (typeof e != "object" && typeof e != "function")) return { default: e }; var r = Cm(t); if (r && r.has(e)) return r.get(e); var n = { __proto__: null }, i = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var a in e) if (a !== "default" && Object.prototype.hasOwnProperty.call(e, a)) { var s = i ? Object.getOwnPropertyDescriptor(e, a) : null; s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]); } return (n.default = e), r && r.set(e, n), n; } }); var Dm = _((qs) => { "use strict"; Object.defineProperty(qs, "__esModule", { value: !0 }); Object.defineProperty(qs, "ixInstances", { enumerable: !0, get: function () { return KL; }, }); var wm = Ne(), Om = Vt(), Tr = ar(), { IX2_RAW_DATA_IMPORTED: kL, IX2_SESSION_STOPPED: NL, IX2_INSTANCE_ADDED: qL, IX2_INSTANCE_STARTED: BL, IX2_INSTANCE_REMOVED: VL, IX2_ANIMATION_FRAME_CHANGED: GL } = wm.IX2EngineActionTypes, { optimizeFloat: ei, applyEasing: Mm, createBezierEasing: zL } = Om.IX2EasingUtils, { RENDER_GENERAL: HL } = wm.IX2EngineConstants, { getItemConfigByKey: Ns, getRenderType: WL, getStyleProp: UL } = Om.IX2VanillaUtils, jL = (e, t) => { let { position: r, parameterId: n, actionGroups: i, destinationKeys: a, smoothing: s, restingValue: o, actionTypeId: l, customEasingFn: p, skipMotion: c, skipToValue: h } = e, { parameters: g } = t.payload, d = Math.max(1 - s, 0.01), f = g[n]; f == null && ((d = 1), (f = o)); let m = Math.max(f, 0) || 0, u = ei(m - r), y = c ? h : ei(r + u * d), v = y * 100; if (y === r && e.current) return e; let E, b, T, A; for (let C = 0, { length: k } = i; C < k; C++) { let { keyframe: D, actionItems: I } = i[C]; if ((C === 0 && (E = I[0]), v >= D)) { E = I[0]; let L = i[C + 1], O = L && v !== D; (b = O ? L.actionItems[0] : null), O && ((T = D / 100), (A = (L.keyframe - D) / 100)); } } let x = {}; if (E && !b) for (let C = 0, { length: k } = a; C < k; C++) { let D = a[C]; x[D] = Ns(l, D, E.config); } else if (E && b && T !== void 0 && A !== void 0) { let C = (y - T) / A, k = E.config.easing, D = Mm(k, C, p); for (let I = 0, { length: L } = a; I < L; I++) { let O = a[I], R = Ns(l, O, E.config), te = (Ns(l, O, b.config) - R) * D + R; x[O] = te; } } return (0, Tr.merge)(e, { position: y, current: x }); }, XL = (e, t) => { let { active: r, origin: n, start: i, immediate: a, renderType: s, verbose: o, actionItem: l, destination: p, destinationKeys: c, pluginDuration: h, instanceDelay: g, customEasingFn: d, skipMotion: f } = e, m = l.config.easing, { duration: u, delay: y } = l.config; h != null && (u = h), (y = g ?? y), s === HL ? (u = 0) : (a || f) && (u = y = 0); let { now: v } = t.payload; if (r && n) { let E = v - (i + y); if (o) { let C = v - i, k = u + y, D = ei(Math.min(Math.max(0, C / k), 1)); e = (0, Tr.set)(e, "verboseTimeElapsed", k * D); } if (E < 0) return e; let b = ei(Math.min(Math.max(0, E / u), 1)), T = Mm(m, b, d), A = {}, x = null; return ( c.length && (x = c.reduce((C, k) => { let D = p[k], I = parseFloat(n[k]) || 0, O = (parseFloat(D) - I) * T + I; return (C[k] = O), C; }, {})), (A.current = x), (A.position = b), b === 1 && ((A.active = !1), (A.complete = !0)), (0, Tr.merge)(e, A) ); } return e; }, KL = (e = Object.freeze({}), t) => { switch (t.type) { case kL: return t.payload.ixInstances || Object.freeze({}); case NL: return Object.freeze({}); case qL: { let { instanceId: r, elementId: n, actionItem: i, eventId: a, eventTarget: s, eventStateKey: o, actionListId: l, groupIndex: p, isCarrier: c, origin: h, destination: g, immediate: d, verbose: f, continuous: m, parameterId: u, actionGroups: y, smoothing: v, restingValue: E, pluginInstance: b, pluginDuration: T, instanceDelay: A, skipMotion: x, skipToValue: C, } = t.payload, { actionTypeId: k } = i, D = WL(k), I = UL(D, k), L = Object.keys(g).filter((R) => g[R] != null && typeof g[R] != "string"), { easing: O } = i.config; return (0, Tr.set)(e, r, { id: r, elementId: n, active: !1, position: 0, start: 0, origin: h, destination: g, destinationKeys: L, immediate: d, verbose: f, current: null, actionItem: i, actionTypeId: k, eventId: a, eventTarget: s, eventStateKey: o, actionListId: l, groupIndex: p, renderType: D, isCarrier: c, styleProp: I, continuous: m, parameterId: u, actionGroups: y, smoothing: v, restingValue: E, pluginInstance: b, pluginDuration: T, instanceDelay: A, skipMotion: x, skipToValue: C, customEasingFn: Array.isArray(O) && O.length === 4 ? zL(O) : void 0, }); } case BL: { let { instanceId: r, time: n } = t.payload; return (0, Tr.mergeIn)(e, [r], { active: !0, complete: !1, start: n }); } case VL: { let { instanceId: r } = t.payload; if (!e[r]) return e; let n = {}, i = Object.keys(e), { length: a } = i; for (let s = 0; s < a; s++) { let o = i[s]; o !== r && (n[o] = e[o]); } return n; } case GL: { let r = e, n = Object.keys(e), { length: i } = n; for (let a = 0; a < i; a++) { let s = n[a], o = e[s], l = o.continuous ? jL : XL; r = (0, Tr.set)(r, s, l(o, t)); } return r; } default: return e; } }; }); var Rm = _((Bs) => { "use strict"; Object.defineProperty(Bs, "__esModule", { value: !0 }); Object.defineProperty(Bs, "ixParameters", { enumerable: !0, get: function () { return JL; }, }); var YL = Ne(), { IX2_RAW_DATA_IMPORTED: $L, IX2_SESSION_STOPPED: QL, IX2_PARAMETER_CHANGED: ZL } = YL.IX2EngineActionTypes, JL = (e = {}, t) => { switch (t.type) { case $L: return t.payload.ixParameters || {}; case QL: return {}; case ZL: { let { key: r, value: n } = t.payload; return (e[r] = n), e; } default: return e; } }; }); var Fm = _((Vs) => { "use strict"; Object.defineProperty(Vs, "__esModule", { value: !0 }); Object.defineProperty(Vs, "default", { enumerable: !0, get: function () { return lk; }, }); var ek = ya(), tk = Ku(), rk = pc(), nk = mc(), ik = Vt(), ak = Dm(), sk = Rm(), { ixElements: ok } = ik.IX2ElementsReducer, lk = (0, ek.combineReducers)({ ixData: tk.ixData, ixRequest: rk.ixRequest, ixSession: nk.ixSession, ixElements: ok, ixInstances: ak.ixInstances, ixParameters: sk.ixParameters }); }); var km = _((B7, Lm) => { var uk = Et(), ck = Pe(), hk = ct(), fk = "[object String]"; function pk(e) { return typeof e == "string" || (!ck(e) && hk(e) && uk(e) == fk); } Lm.exports = pk; }); var qm = _((V7, Nm) => { var dk = Za(), mk = dk("length"); Nm.exports = mk; }); var Vm = _((G7, Bm) => { var gk = "\\ud800-\\udfff", yk = "\\u0300-\\u036f", vk = "\\ufe20-\\ufe2f", Ek = "\\u20d0-\\u20ff", bk = yk + vk + Ek, _k = "\\ufe0e\\ufe0f", Sk = "\\u200d", Tk = RegExp("[" + Sk + gk + bk + _k + "]"); function Ik(e) { return Tk.test(e); } Bm.exports = Ik; }); var Ym = _((z7, Km) => { var zm = "\\ud800-\\udfff", xk = "\\u0300-\\u036f", Ak = "\\ufe20-\\ufe2f", Pk = "\\u20d0-\\u20ff", Ck = xk + Ak + Pk, wk = "\\ufe0e\\ufe0f", Ok = "[" + zm + "]", Gs = "[" + Ck + "]", zs = "\\ud83c[\\udffb-\\udfff]", Mk = "(?:" + Gs + "|" + zs + ")", Hm = "[^" + zm + "]", Wm = "(?:\\ud83c[\\udde6-\\uddff]){2}", Um = "[\\ud800-\\udbff][\\udc00-\\udfff]", Dk = "\\u200d", jm = Mk + "?", Xm = "[" + wk + "]?", Rk = "(?:" + Dk + "(?:" + [Hm, Wm, Um].join("|") + ")" + Xm + jm + ")*", Fk = Xm + jm + Rk, Lk = "(?:" + [Hm + Gs + "?", Gs, Wm, Um, Ok].join("|") + ")", Gm = RegExp(zs + "(?=" + zs + ")|" + Lk + Fk, "g"); function kk(e) { for (var t = (Gm.lastIndex = 0); Gm.test(e);) ++t; return t; } Km.exports = kk; }); var Qm = _((H7, $m) => { var Nk = qm(), qk = Vm(), Bk = Ym(); function Vk(e) { return qk(e) ? Bk(e) : Nk(e); } $m.exports = Vk; }); var Jm = _((W7, Zm) => { var Gk = Rn(), zk = Fn(), Hk = Lt(), Wk = km(), Uk = Qm(), jk = "[object Map]", Xk = "[object Set]"; function Kk(e) { if (e == null) return 0; if (Hk(e)) return Wk(e) ? Uk(e) : e.length; var t = zk(e); return t == jk || t == Xk ? e.size : Gk(e).length; } Zm.exports = Kk; }); var tg = _((U7, eg) => { var Yk = "Expected a function"; function $k(e) { if (typeof e != "function") throw new TypeError(Yk); return function () { var t = arguments; switch (t.length) { case 0: return !e.call(this); case 1: return !e.call(this, t[0]); case 2: return !e.call(this, t[0], t[1]); case 3: return !e.call(this, t[0], t[1], t[2]); } return !e.apply(this, t); }; } eg.exports = $k; }); var Hs = _((j7, rg) => { var Qk = bt(), Zk = (function () { try { var e = Qk(Object, "defineProperty"); return e({}, "", {}), e; } catch { } })(); rg.exports = Zk; }); var Ws = _((X7, ig) => { var ng = Hs(); function Jk(e, t, r) { t == "__proto__" && ng ? ng(e, t, { configurable: !0, enumerable: !0, value: r, writable: !0 }) : (e[t] = r); } ig.exports = Jk; }); var sg = _((K7, ag) => { var eN = Ws(), tN = Tn(), rN = Object.prototype, nN = rN.hasOwnProperty; function iN(e, t, r) { var n = e[t]; (!(nN.call(e, t) && tN(n, r)) || (r === void 0 && !(t in e))) && eN(e, t, r); } ag.exports = iN; }); var ug = _((Y7, lg) => { var aN = sg(), sN = Gr(), oN = wn(), og = et(), lN = pr(); function uN(e, t, r, n) { if (!og(e)) return e; t = sN(t, e); for (var i = -1, a = t.length, s = a - 1, o = e; o != null && ++i < a;) { var l = lN(t[i]), p = r; if (l === "__proto__" || l === "constructor" || l === "prototype") return e; if (i != s) { var c = o[l]; (p = n ? n(c, l, o) : void 0), p === void 0 && (p = og(c) ? c : oN(t[i + 1]) ? [] : {}); } aN(o, l, p), (o = o[l]); } return e; } lg.exports = uN; }); var hg = _(($7, cg) => { var cN = Nn(), hN = ug(), fN = Gr(); function pN(e, t, r) { for (var n = -1, i = t.length, a = {}; ++n < i;) { var s = t[n], o = cN(e, s); r(o, s) && hN(a, fN(s, e), o); } return a; } cg.exports = pN; }); var pg = _((Q7, fg) => { var dN = Pn(), mN = ia(), gN = Na(), yN = ka(), vN = Object.getOwnPropertySymbols, EN = vN ? function (e) { for (var t = []; e;) dN(t, gN(e)), (e = mN(e)); return t; } : yN; fg.exports = EN; }); var mg = _((Z7, dg) => { function bN(e) { var t = []; if (e != null) for (var r in Object(e)) t.push(r); return t; } dg.exports = bN; }); var yg = _((J7, gg) => { var _N = et(), SN = Dn(), TN = mg(), IN = Object.prototype, xN = IN.hasOwnProperty; function AN(e) { if (!_N(e)) return TN(e); var t = SN(e), r = []; for (var n in e) (n == "constructor" && (t || !xN.call(e, n))) || r.push(n); return r; } gg.exports = AN; }); var Eg = _((ej, vg) => { var PN = Ba(), CN = yg(), wN = Lt(); function ON(e) { return wN(e) ? PN(e, !0) : CN(e); } vg.exports = ON; }); var _g = _((tj, bg) => { var MN = La(), DN = pg(), RN = Eg(); function FN(e) { return MN(e, RN, DN); } bg.exports = FN; }); var Tg = _((rj, Sg) => { var LN = Qa(), kN = _t(), NN = hg(), qN = _g(); function BN(e, t) { if (e == null) return {}; var r = LN(qN(e), function (n) { return [n]; }); return ( (t = kN(t)), NN(e, r, function (n, i) { return t(n, i[0]); }) ); } Sg.exports = BN; }); var xg = _((nj, Ig) => { var VN = _t(), GN = tg(), zN = Tg(); function HN(e, t) { return zN(e, GN(VN(t))); } Ig.exports = HN; }); var Pg = _((ij, Ag) => { var WN = Rn(), UN = Fn(), jN = Lr(), XN = Pe(), KN = Lt(), YN = Cn(), $N = Dn(), QN = Mn(), ZN = "[object Map]", JN = "[object Set]", eq = Object.prototype, tq = eq.hasOwnProperty; function rq(e) { if (e == null) return !0; if (KN(e) && (XN(e) || typeof e == "string" || typeof e.splice == "function" || YN(e) || QN(e) || jN(e))) return !e.length; var t = UN(e); if (t == ZN || t == JN) return !e.size; if ($N(e)) return !WN(e).length; for (var r in e) if (tq.call(e, r)) return !1; return !0; } Ag.exports = rq; }); var wg = _((aj, Cg) => { var nq = Ws(), iq = Is(), aq = _t(); function sq(e, t) { var r = {}; return ( (t = aq(t, 3)), iq(e, function (n, i, a) { nq(r, i, t(n, i, a)); }), r ); } Cg.exports = sq; }); var Mg = _((sj, Og) => { function oq(e, t) { for (var r = -1, n = e == null ? 0 : e.length; ++r < n && t(e[r], r, e) !== !1;); return e; } Og.exports = oq; }); var Rg = _((oj, Dg) => { var lq = Bn(); function uq(e) { return typeof e == "function" ? e : lq; } Dg.exports = uq; }); var Lg = _((lj, Fg) => { var cq = Mg(), hq = xs(), fq = Rg(), pq = Pe(); function dq(e, t) { var r = pq(e) ? cq : hq; return r(e, fq(t)); } Fg.exports = dq; }); var Ng = _((uj, kg) => { var mq = Ke(), gq = function () { return mq.Date.now(); }; kg.exports = gq; }); var Vg = _((cj, Bg) => { var yq = et(), Us = Ng(), qg = Vn(), vq = "Expected a function", Eq = Math.max, bq = Math.min; function _q(e, t, r) { var n, i, a, s, o, l, p = 0, c = !1, h = !1, g = !0; if (typeof e != "function") throw new TypeError(vq); (t = qg(t) || 0), yq(r) && ((c = !!r.leading), (h = "maxWait" in r), (a = h ? Eq(qg(r.maxWait) || 0, t) : a), (g = "trailing" in r ? !!r.trailing : g)); function d(A) { var x = n, C = i; return (n = i = void 0), (p = A), (s = e.apply(C, x)), s; } function f(A) { return (p = A), (o = setTimeout(y, t)), c ? d(A) : s; } function m(A) { var x = A - l, C = A - p, k = t - x; return h ? bq(k, a - C) : k; } function u(A) { var x = A - l, C = A - p; return l === void 0 || x >= t || x < 0 || (h && C >= a); } function y() { var A = Us(); if (u(A)) return v(A); o = setTimeout(y, m(A)); } function v(A) { return (o = void 0), g && n ? d(A) : ((n = i = void 0), s); } function E() { o !== void 0 && clearTimeout(o), (p = 0), (n = l = i = o = void 0); } function b() { return o === void 0 ? s : v(Us()); } function T() { var A = Us(), x = u(A); if (((n = arguments), (i = this), (l = A), x)) { if (o === void 0) return f(l); if (h) return clearTimeout(o), (o = setTimeout(y, t)), d(l); } return o === void 0 && (o = setTimeout(y, t)), s; } return (T.cancel = E), (T.flush = b), T; } Bg.exports = _q; }); var zg = _((hj, Gg) => { var Sq = Vg(), Tq = et(), Iq = "Expected a function"; function xq(e, t, r) { var n = !0, i = !0; if (typeof e != "function") throw new TypeError(Iq); return Tq(r) && ((n = "leading" in r ? !!r.leading : n), (i = "trailing" in r ? !!r.trailing : i)), Sq(e, t, { leading: n, maxWait: t, trailing: i }); } Gg.exports = xq; }); var ti = _((js) => { "use strict"; Object.defineProperty(js, "__esModule", { value: !0 }); function Aq(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } Aq(js, { actionListPlaybackChanged: function () { return fB; }, animationFrameChanged: function () { return sB; }, clearRequested: function () { return rB; }, elementStateChanged: function () { return hB; }, eventListenerAdded: function () { return nB; }, eventStateChanged: function () { return aB; }, instanceAdded: function () { return lB; }, instanceRemoved: function () { return cB; }, instanceStarted: function () { return uB; }, mediaQueriesDefined: function () { return dB; }, parameterChanged: function () { return oB; }, playbackRequested: function () { return eB; }, previewRequested: function () { return Jq; }, rawDataImported: function () { return Yq; }, sessionInitialized: function () { return $q; }, sessionStarted: function () { return Qq; }, sessionStopped: function () { return Zq; }, stopRequested: function () { return tB; }, testFrameRendered: function () { return iB; }, viewportWidthChanged: function () { return pB; }, }); var Hg = Ne(), Pq = Vt(), { IX2_RAW_DATA_IMPORTED: Cq, IX2_SESSION_INITIALIZED: wq, IX2_SESSION_STARTED: Oq, IX2_SESSION_STOPPED: Mq, IX2_PREVIEW_REQUESTED: Dq, IX2_PLAYBACK_REQUESTED: Rq, IX2_STOP_REQUESTED: Fq, IX2_CLEAR_REQUESTED: Lq, IX2_EVENT_LISTENER_ADDED: kq, IX2_TEST_FRAME_RENDERED: Nq, IX2_EVENT_STATE_CHANGED: qq, IX2_ANIMATION_FRAME_CHANGED: Bq, IX2_PARAMETER_CHANGED: Vq, IX2_INSTANCE_ADDED: Gq, IX2_INSTANCE_STARTED: zq, IX2_INSTANCE_REMOVED: Hq, IX2_ELEMENT_STATE_CHANGED: Wq, IX2_ACTION_LIST_PLAYBACK_CHANGED: Uq, IX2_VIEWPORT_WIDTH_CHANGED: jq, IX2_MEDIA_QUERIES_DEFINED: Xq, } = Hg.IX2EngineActionTypes, { reifyState: Kq } = Pq.IX2VanillaUtils, Yq = (e) => ({ type: Cq, payload: { ...Kq(e) } }), $q = ({ hasBoundaryNodes: e, reducedMotion: t }) => ({ type: wq, payload: { hasBoundaryNodes: e, reducedMotion: t } }), Qq = () => ({ type: Oq }), Zq = () => ({ type: Mq }), Jq = ({ rawData: e, defer: t }) => ({ type: Dq, payload: { defer: t, rawData: e } }), eB = ({ actionTypeId: e = Hg.ActionTypeConsts.GENERAL_START_ACTION, actionListId: t, actionItemId: r, eventId: n, allowEvents: i, immediate: a, testManual: s, verbose: o, rawData: l }) => ({ type: Rq, payload: { actionTypeId: e, actionListId: t, actionItemId: r, testManual: s, eventId: n, allowEvents: i, immediate: a, verbose: o, rawData: l }, }), tB = (e) => ({ type: Fq, payload: { actionListId: e } }), rB = () => ({ type: Lq }), nB = (e, t) => ({ type: kq, payload: { target: e, listenerParams: t } }), iB = (e = 1) => ({ type: Nq, payload: { step: e } }), aB = (e, t) => ({ type: qq, payload: { stateKey: e, newState: t } }), sB = (e, t) => ({ type: Bq, payload: { now: e, parameters: t } }), oB = (e, t) => ({ type: Vq, payload: { key: e, value: t } }), lB = (e) => ({ type: Gq, payload: { ...e } }), uB = (e, t) => ({ type: zq, payload: { instanceId: e, time: t } }), cB = (e) => ({ type: Hq, payload: { instanceId: e } }), hB = (e, t, r, n) => ({ type: Wq, payload: { elementId: e, actionTypeId: t, current: r, actionItem: n } }), fB = ({ actionListId: e, isPlaying: t }) => ({ type: Uq, payload: { actionListId: e, isPlaying: t } }), pB = ({ width: e, mediaQueries: t }) => ({ type: jq, payload: { width: e, mediaQueries: t } }), dB = () => ({ type: Xq }); }); var jg = _((Ks) => { "use strict"; Object.defineProperty(Ks, "__esModule", { value: !0 }); function mB(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } mB(Ks, { elementContains: function () { return PB; }, getChildElements: function () { return wB; }, getClosestElement: function () { return MB; }, getProperty: function () { return SB; }, getQuerySelector: function () { return IB; }, getRefType: function () { return DB; }, getSiblingElements: function () { return OB; }, getStyle: function () { return _B; }, getValidDocument: function () { return xB; }, isSiblingNode: function () { return CB; }, matchSelector: function () { return TB; }, queryDocument: function () { return AB; }, setStyle: function () { return bB; }, }); var gB = Vt(), yB = Ne(), { ELEMENT_MATCHES: Xs } = gB.IX2BrowserSupport, { IX2_ID_DELIMITER: Wg, HTML_ELEMENT: vB, PLAIN_OBJECT: EB, WF_PAGE: Ug } = yB.IX2EngineConstants; function bB(e, t, r) { e.style[t] = r; } function _B(e, t) { if (t.startsWith("--")) return window.getComputedStyle(document.documentElement).getPropertyValue(t); if (e.style instanceof CSSStyleDeclaration) return e.style[t]; } function SB(e, t) { return e[t]; } function TB(e) { return (t) => t[Xs](e); } function IB({ id: e, selector: t }) { if (e) { let r = e; if (e.indexOf(Wg) !== -1) { let n = e.split(Wg), i = n[0]; if (((r = n[1]), i !== document.documentElement.getAttribute(Ug))) return null; } return `[data-w-id="${r}"], [data-w-id^="${r}_instance"]`; } return t; } function xB(e) { return e == null || e === document.documentElement.getAttribute(Ug) ? document : null; } function AB(e, t) { return Array.prototype.slice.call(document.querySelectorAll(t ? e + " " + t : e)); } function PB(e, t) { return e.contains(t); } function CB(e, t) { return e !== t && e.parentNode === t.parentNode; } function wB(e) { let t = []; for (let r = 0, { length: n } = e || []; r < n; r++) { let { children: i } = e[r], { length: a } = i; if (a) for (let s = 0; s < a; s++) t.push(i[s]); } return t; } function OB(e = []) { let t = [], r = []; for (let n = 0, { length: i } = e; n < i; n++) { let { parentNode: a } = e[n]; if (!a || !a.children || !a.children.length || r.indexOf(a) !== -1) continue; r.push(a); let s = a.firstElementChild; for (; s != null;) e.indexOf(s) === -1 && t.push(s), (s = s.nextElementSibling); } return t; } var MB = Element.prototype.closest ? (e, t) => (document.documentElement.contains(e) ? e.closest(t) : null) : (e, t) => { if (!document.documentElement.contains(e)) return null; let r = e; do { if (r[Xs] && r[Xs](t)) return r; r = r.parentNode; } while (r != null); return null; }; function DB(e) { return e != null && typeof e == "object" ? (e instanceof Element ? vB : EB) : null; } }); var Ys = _((dj, Kg) => { var RB = et(), Xg = Object.create, FB = (function () { function e() { } return function (t) { if (!RB(t)) return {}; if (Xg) return Xg(t); e.prototype = t; var r = new e(); return (e.prototype = void 0), r; }; })(); Kg.exports = FB; }); var ri = _((mj, Yg) => { function LB() { } Yg.exports = LB; }); var ii = _((gj, $g) => { var kB = Ys(), NB = ri(); function ni(e, t) { (this.__wrapped__ = e), (this.__actions__ = []), (this.__chain__ = !!t), (this.__index__ = 0), (this.__values__ = void 0); } ni.prototype = kB(NB.prototype); ni.prototype.constructor = ni; $g.exports = ni; }); var ey = _((yj, Jg) => { var Qg = rr(), qB = Lr(), BB = Pe(), Zg = Qg ? Qg.isConcatSpreadable : void 0; function VB(e) { return BB(e) || qB(e) || !!(Zg && e && e[Zg]); } Jg.exports = VB; }); var ny = _((vj, ry) => { var GB = Pn(), zB = ey(); function ty(e, t, r, n, i) { var a = -1, s = e.length; for (r || (r = zB), i || (i = []); ++a < s;) { var o = e[a]; t > 0 && r(o) ? (t > 1 ? ty(o, t - 1, r, n, i) : GB(i, o)) : n || (i[i.length] = o); } return i; } ry.exports = ty; }); var ay = _((Ej, iy) => { var HB = ny(); function WB(e) { var t = e == null ? 0 : e.length; return t ? HB(e, 1) : []; } iy.exports = WB; }); var oy = _((bj, sy) => { function UB(e, t, r) { switch (r.length) { case 0: return e.call(t); case 1: return e.call(t, r[0]); case 2: return e.call(t, r[0], r[1]); case 3: return e.call(t, r[0], r[1], r[2]); } return e.apply(t, r); } sy.exports = UB; }); var cy = _((_j, uy) => { var jB = oy(), ly = Math.max; function XB(e, t, r) { return ( (t = ly(t === void 0 ? e.length - 1 : t, 0)), function () { for (var n = arguments, i = -1, a = ly(n.length - t, 0), s = Array(a); ++i < a;) s[i] = n[t + i]; i = -1; for (var o = Array(t + 1); ++i < t;) o[i] = n[i]; return (o[t] = r(s)), jB(e, this, o); } ); } uy.exports = XB; }); var fy = _((Sj, hy) => { function KB(e) { return function () { return e; }; } hy.exports = KB; }); var my = _((Tj, dy) => { var YB = fy(), py = Hs(), $B = Bn(), QB = py ? function (e, t) { return py(e, "toString", { configurable: !0, enumerable: !1, value: YB(t), writable: !0 }); } : $B; dy.exports = QB; }); var yy = _((Ij, gy) => { var ZB = 800, JB = 16, e3 = Date.now; function t3(e) { var t = 0, r = 0; return function () { var n = e3(), i = JB - (n - r); if (((r = n), i > 0)) { if (++t >= ZB) return arguments[0]; } else t = 0; return e.apply(void 0, arguments); }; } gy.exports = t3; }); var Ey = _((xj, vy) => { var r3 = my(), n3 = yy(), i3 = n3(r3); vy.exports = i3; }); var _y = _((Aj, by) => { var a3 = ay(), s3 = cy(), o3 = Ey(); function l3(e) { return o3(s3(e, void 0, a3), e + ""); } by.exports = l3; }); var Iy = _((Pj, Ty) => { var Sy = Va(), u3 = Sy && new Sy(); Ty.exports = u3; }); var Ay = _((Cj, xy) => { function c3() { } xy.exports = c3; }); var $s = _((wj, Cy) => { var Py = Iy(), h3 = Ay(), f3 = Py ? function (e) { return Py.get(e); } : h3; Cy.exports = f3; }); var Oy = _((Oj, wy) => { var p3 = {}; wy.exports = p3; }); var Qs = _((Mj, Dy) => { var My = Oy(), d3 = Object.prototype, m3 = d3.hasOwnProperty; function g3(e) { for (var t = e.name + "", r = My[t], n = m3.call(My, t) ? r.length : 0; n--;) { var i = r[n], a = i.func; if (a == null || a == e) return i.name; } return t; } Dy.exports = g3; }); var si = _((Dj, Ry) => { var y3 = Ys(), v3 = ri(), E3 = 4294967295; function ai(e) { (this.__wrapped__ = e), (this.__actions__ = []), (this.__dir__ = 1), (this.__filtered__ = !1), (this.__iteratees__ = []), (this.__takeCount__ = E3), (this.__views__ = []); } ai.prototype = y3(v3.prototype); ai.prototype.constructor = ai; Ry.exports = ai; }); var Ly = _((Rj, Fy) => { function b3(e, t) { var r = -1, n = e.length; for (t || (t = Array(n)); ++r < n;) t[r] = e[r]; return t; } Fy.exports = b3; }); var Ny = _((Fj, ky) => { var _3 = si(), S3 = ii(), T3 = Ly(); function I3(e) { if (e instanceof _3) return e.clone(); var t = new S3(e.__wrapped__, e.__chain__); return (t.__actions__ = T3(e.__actions__)), (t.__index__ = e.__index__), (t.__values__ = e.__values__), t; } ky.exports = I3; }); var Vy = _((Lj, By) => { var x3 = si(), qy = ii(), A3 = ri(), P3 = Pe(), C3 = ct(), w3 = Ny(), O3 = Object.prototype, M3 = O3.hasOwnProperty; function oi(e) { if (C3(e) && !P3(e) && !(e instanceof x3)) { if (e instanceof qy) return e; if (M3.call(e, "__wrapped__")) return w3(e); } return new qy(e); } oi.prototype = A3.prototype; oi.prototype.constructor = oi; By.exports = oi; }); var zy = _((kj, Gy) => { var D3 = si(), R3 = $s(), F3 = Qs(), L3 = Vy(); function k3(e) { var t = F3(e), r = L3[t]; if (typeof r != "function" || !(t in D3.prototype)) return !1; if (e === r) return !0; var n = R3(r); return !!n && e === n[0]; } Gy.exports = k3; }); var jy = _((Nj, Uy) => { var Hy = ii(), N3 = _y(), q3 = $s(), Zs = Qs(), B3 = Pe(), Wy = zy(), V3 = "Expected a function", G3 = 8, z3 = 32, H3 = 128, W3 = 256; function U3(e) { return N3(function (t) { var r = t.length, n = r, i = Hy.prototype.thru; for (e && t.reverse(); n--;) { var a = t[n]; if (typeof a != "function") throw new TypeError(V3); if (i && !s && Zs(a) == "wrapper") var s = new Hy([], !0); } for (n = s ? n : r; ++n < r;) { a = t[n]; var o = Zs(a), l = o == "wrapper" ? q3(a) : void 0; l && Wy(l[0]) && l[1] == (H3 | G3 | z3 | W3) && !l[4].length && l[9] == 1 ? (s = s[Zs(l[0])].apply(s, l[3])) : (s = a.length == 1 && Wy(a) ? s[o]() : s.thru(a)); } return function () { var p = arguments, c = p[0]; if (s && p.length == 1 && B3(c)) return s.plant(c).value(); for (var h = 0, g = r ? t[h].apply(this, p) : c; ++h < r;) g = t[h].call(this, g); return g; }; }); } Uy.exports = U3; }); var Ky = _((qj, Xy) => { var j3 = jy(), X3 = j3(); Xy.exports = X3; }); var $y = _((Bj, Yy) => { function K3(e, t, r) { return e === e && (r !== void 0 && (e = e <= r ? e : r), t !== void 0 && (e = e >= t ? e : t)), e; } Yy.exports = K3; }); var Zy = _((Vj, Qy) => { var Y3 = $y(), Js = Vn(); function $3(e, t, r) { return r === void 0 && ((r = t), (t = void 0)), r !== void 0 && ((r = Js(r)), (r = r === r ? r : 0)), t !== void 0 && ((t = Js(t)), (t = t === t ? t : 0)), Y3(Js(e), t, r); } Qy.exports = $3; }); var gv = _((ao) => { "use strict"; Object.defineProperty(ao, "__esModule", { value: !0 }); Object.defineProperty(ao, "default", { enumerable: !0, get: function () { return DV; }, }); var Q3 = io(Ky()), Z3 = io(qn()), J3 = io(Zy()), Gt = Ne(), eo = so(), li = ti(), eV = Vt(); function io(e) { return e && e.__esModule ? e : { default: e }; } var { MOUSE_CLICK: tV, MOUSE_SECOND_CLICK: rV, MOUSE_DOWN: nV, MOUSE_UP: iV, MOUSE_OVER: aV, MOUSE_OUT: sV, DROPDOWN_CLOSE: oV, DROPDOWN_OPEN: lV, SLIDER_ACTIVE: uV, SLIDER_INACTIVE: cV, TAB_ACTIVE: hV, TAB_INACTIVE: fV, NAVBAR_CLOSE: pV, NAVBAR_OPEN: dV, MOUSE_MOVE: mV, PAGE_SCROLL_DOWN: ov, SCROLL_INTO_VIEW: lv, SCROLL_OUT_OF_VIEW: gV, PAGE_SCROLL_UP: yV, SCROLLING_IN_VIEW: vV, PAGE_FINISH: uv, ECOMMERCE_CART_CLOSE: EV, ECOMMERCE_CART_OPEN: bV, PAGE_START: cv, PAGE_SCROLL: _V, } = Gt.EventTypeConsts, to = "COMPONENT_ACTIVE", hv = "COMPONENT_INACTIVE", { COLON_DELIMITER: Jy } = Gt.IX2EngineConstants, { getNamespacedParameterId: ev } = eV.IX2VanillaUtils, fv = (e) => (t) => (typeof t == "object" && e(t) ? !0 : t), $r = fv(({ element: e, nativeEvent: t }) => e === t.target), SV = fv(({ element: e, nativeEvent: t }) => e.contains(t.target)), it = (0, Q3.default)([$r, SV]), pv = (e, t) => { if (t) { let { ixData: r } = e.getState(), { events: n } = r, i = n[t]; if (i && !IV[i.eventTypeId]) return i; } return null; }, TV = ({ store: e, event: t }) => { let { action: r } = t, { autoStopEventId: n } = r.config; return !!pv(e, n); }, Be = ({ store: e, event: t, element: r, eventStateKey: n }, i) => { let { action: a, id: s } = t, { actionListId: o, autoStopEventId: l } = a.config, p = pv(e, l); return ( p && (0, eo.stopActionGroup)({ store: e, eventId: l, eventTarget: r, eventStateKey: l + Jy + n.split(Jy)[1], actionListId: (0, Z3.default)(p, "action.config.actionListId") }), (0, eo.stopActionGroup)({ store: e, eventId: s, eventTarget: r, eventStateKey: n, actionListId: o }), (0, eo.startActionGroup)({ store: e, eventId: s, eventTarget: r, eventStateKey: n, actionListId: o }), i ); }, Ye = (e, t) => (r, n) => (e(r, n) === !0 ? t(r, n) : n), Qr = { handler: Ye(it, Be) }, dv = { ...Qr, types: [to, hv].join(" ") }, ro = [ { target: window, types: "resize orientationchange", throttle: !0 }, { target: document, types: "scroll wheel readystatechange IX2_PAGE_UPDATE", throttle: !0 }, ], tv = "mouseover mouseout", no = { types: ro }, IV = { PAGE_START: cv, PAGE_FINISH: uv }, Yr = (() => { let e = window.pageXOffset !== void 0, r = document.compatMode === "CSS1Compat" ? document.documentElement : document.body; return () => ({ scrollLeft: e ? window.pageXOffset : r.scrollLeft, scrollTop: e ? window.pageYOffset : r.scrollTop, stiffScrollTop: (0, J3.default)(e ? window.pageYOffset : r.scrollTop, 0, r.scrollHeight - window.innerHeight), scrollWidth: r.scrollWidth, scrollHeight: r.scrollHeight, clientWidth: r.clientWidth, clientHeight: r.clientHeight, innerWidth: window.innerWidth, innerHeight: window.innerHeight, }); })(), xV = (e, t) => !(e.left > t.right || e.right < t.left || e.top > t.bottom || e.bottom < t.top), AV = ({ element: e, nativeEvent: t }) => { let { type: r, target: n, relatedTarget: i } = t, a = e.contains(n); if (r === "mouseover" && a) return !0; let s = e.contains(i); return !!(r === "mouseout" && a && s); }, PV = (e) => { let { element: t, event: { config: r }, } = e, { clientWidth: n, clientHeight: i } = Yr(), a = r.scrollOffsetValue, l = r.scrollOffsetUnit === "PX" ? a : (i * (a || 0)) / 100; return xV(t.getBoundingClientRect(), { left: 0, top: l, right: n, bottom: i - l }); }, mv = (e) => (t, r) => { let { type: n } = t.nativeEvent, i = [to, hv].indexOf(n) !== -1 ? n === to : r.isActive, a = { ...r, isActive: i }; return ((!r || a.isActive !== r.isActive) && e(t, a)) || a; }, rv = (e) => (t, r) => { let n = { elementHovered: AV(t) }; return ((r ? n.elementHovered !== r.elementHovered : n.elementHovered) && e(t, n)) || n; }, CV = (e) => (t, r) => { let n = { ...r, elementVisible: PV(t) }; return ((r ? n.elementVisible !== r.elementVisible : n.elementVisible) && e(t, n)) || n; }, nv = (e) => (t, r = {}) => { let { stiffScrollTop: n, scrollHeight: i, innerHeight: a } = Yr(), { event: { config: s, eventTypeId: o }, } = t, { scrollOffsetValue: l, scrollOffsetUnit: p } = s, c = p === "PX", h = i - a, g = Number((n / h).toFixed(2)); if (r && r.percentTop === g) return r; let d = (c ? l : (a * (l || 0)) / 100) / h, f, m, u = 0; r && ((f = g > r.percentTop), (m = r.scrollingDown !== f), (u = m ? g : r.anchorTop)); let y = o === ov ? g >= u + d : g <= u - d, v = { ...r, percentTop: g, inBounds: y, anchorTop: u, scrollingDown: f }; return (r && y && (m || v.inBounds !== r.inBounds) && e(t, v)) || v; }, wV = (e, t) => e.left > t.left && e.left < t.right && e.top > t.top && e.top < t.bottom, OV = (e) => (t, r) => { let n = { finished: document.readyState === "complete" }; return n.finished && !(r && r.finshed) && e(t), n; }, MV = (e) => (t, r) => { let n = { started: !0 }; return r || e(t), n; }, iv = (e) => (t, r = { clickCount: 0 }) => { let n = { clickCount: (r.clickCount % 2) + 1 }; return (n.clickCount !== r.clickCount && e(t, n)) || n; }, ui = (e = !0) => ({ ...dv, handler: Ye( e ? it : $r, mv((t, r) => (r.isActive ? Qr.handler(t, r) : r)) ), }), ci = (e = !0) => ({ ...dv, handler: Ye( e ? it : $r, mv((t, r) => (r.isActive ? r : Qr.handler(t, r))) ), }), av = { ...no, handler: CV((e, t) => { let { elementVisible: r } = t, { event: n, store: i } = e, { ixData: a } = i.getState(), { events: s } = a; return !s[n.action.config.autoStopEventId] && t.triggered ? t : (n.eventTypeId === lv) === r ? (Be(e), { ...t, triggered: !0 }) : t; }), }, sv = 0.05, DV = { [uV]: ui(), [cV]: ci(), [lV]: ui(), [oV]: ci(), [dV]: ui(!1), [pV]: ci(!1), [hV]: ui(), [fV]: ci(), [bV]: { types: "ecommerce-cart-open", handler: Ye(it, Be) }, [EV]: { types: "ecommerce-cart-close", handler: Ye(it, Be) }, [tV]: { types: "click", handler: Ye( it, iv((e, { clickCount: t }) => { TV(e) ? t === 1 && Be(e) : Be(e); }) ), }, [rV]: { types: "click", handler: Ye( it, iv((e, { clickCount: t }) => { t === 2 && Be(e); }) ), }, [nV]: { ...Qr, types: "mousedown" }, [iV]: { ...Qr, types: "mouseup" }, [aV]: { types: tv, handler: Ye( it, rv((e, t) => { t.elementHovered && Be(e); }) ), }, [sV]: { types: tv, handler: Ye( it, rv((e, t) => { t.elementHovered || Be(e); }) ), }, [mV]: { types: "mousemove mouseout scroll", handler: ({ store: e, element: t, eventConfig: r, nativeEvent: n, eventStateKey: i }, a = { clientX: 0, clientY: 0, pageX: 0, pageY: 0 }) => { let { basedOn: s, selectedAxis: o, continuousParameterGroupId: l, reverse: p, restingState: c = 0 } = r, { clientX: h = a.clientX, clientY: g = a.clientY, pageX: d = a.pageX, pageY: f = a.pageY } = n, m = o === "X_AXIS", u = n.type === "mouseout", y = c / 100, v = l, E = !1; switch (s) { case Gt.EventBasedOn.VIEWPORT: { y = m ? Math.min(h, window.innerWidth) / window.innerWidth : Math.min(g, window.innerHeight) / window.innerHeight; break; } case Gt.EventBasedOn.PAGE: { let { scrollLeft: b, scrollTop: T, scrollWidth: A, scrollHeight: x } = Yr(); y = m ? Math.min(b + d, A) / A : Math.min(T + f, x) / x; break; } case Gt.EventBasedOn.ELEMENT: default: { v = ev(i, l); let b = n.type.indexOf("mouse") === 0; if (b && it({ element: t, nativeEvent: n }) !== !0) break; let T = t.getBoundingClientRect(), { left: A, top: x, width: C, height: k } = T; if (!b && !wV({ left: h, top: g }, T)) break; (E = !0), (y = m ? (h - A) / C : (g - x) / k); break; } } return ( u && (y > 1 - sv || y < sv) && (y = Math.round(y)), (s !== Gt.EventBasedOn.ELEMENT || E || E !== a.elementHovered) && ((y = p ? 1 - y : y), e.dispatch((0, li.parameterChanged)(v, y))), { elementHovered: E, clientX: h, clientY: g, pageX: d, pageY: f } ); }, }, [_V]: { types: ro, handler: ({ store: e, eventConfig: t }) => { let { continuousParameterGroupId: r, reverse: n } = t, { scrollTop: i, scrollHeight: a, clientHeight: s } = Yr(), o = i / (a - s); (o = n ? 1 - o : o), e.dispatch((0, li.parameterChanged)(r, o)); }, }, [vV]: { types: ro, handler: ({ element: e, store: t, eventConfig: r, eventStateKey: n }, i = { scrollPercent: 0 }) => { let { scrollLeft: a, scrollTop: s, scrollWidth: o, scrollHeight: l, clientHeight: p } = Yr(), { basedOn: c, selectedAxis: h, continuousParameterGroupId: g, startsEntering: d, startsExiting: f, addEndOffset: m, addStartOffset: u, addOffsetValue: y = 0, endOffsetValue: v = 0 } = r, E = h === "X_AXIS"; if (c === Gt.EventBasedOn.VIEWPORT) { let b = E ? a / o : s / l; return b !== i.scrollPercent && t.dispatch((0, li.parameterChanged)(g, b)), { scrollPercent: b }; } else { let b = ev(n, g), T = e.getBoundingClientRect(), A = (u ? y : 0) / 100, x = (m ? v : 0) / 100; (A = d ? A : 1 - A), (x = f ? x : 1 - x); let C = T.top + Math.min(T.height * A, p), D = T.top + T.height * x - C, I = Math.min(p + D, l), O = Math.min(Math.max(0, p - C), I) / I; return O !== i.scrollPercent && t.dispatch((0, li.parameterChanged)(b, O)), { scrollPercent: O }; } }, }, [lv]: av, [gV]: av, [ov]: { ...no, handler: nv((e, t) => { t.scrollingDown && Be(e); }), }, [yV]: { ...no, handler: nv((e, t) => { t.scrollingDown || Be(e); }), }, [uv]: { types: "readystatechange IX2_PAGE_UPDATE", handler: Ye($r, OV(Be)) }, [cv]: { types: "readystatechange IX2_PAGE_UPDATE", handler: Ye($r, MV(Be)) }, }; }); var so = _((go) => { "use strict"; Object.defineProperty(go, "__esModule", { value: !0 }); function RV(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } RV(go, { observeRequests: function () { return o5; }, startActionGroup: function () { return fo; }, startEngine: function () { return mi; }, stopActionGroup: function () { return ho; }, stopAllActionGroups: function () { return Av; }, stopEngine: function () { return gi; }, }); var FV = ft(ns()), It = ft(qn()), LV = ft(Jm()), kV = ft(xg()), NV = ft(Pg()), qV = ft(wg()), Zr = ft(Lg()), BV = ft(zg()), ze = Ne(), Ev = Vt(), Te = ti(), xe = GV(jg()), VV = ft(gv()); function ft(e) { return e && e.__esModule ? e : { default: e }; } function bv(e) { if (typeof WeakMap != "function") return null; var t = new WeakMap(), r = new WeakMap(); return (bv = function (n) { return n ? r : t; })(e); } function GV(e, t) { if (!t && e && e.__esModule) return e; if (e === null || (typeof e != "object" && typeof e != "function")) return { default: e }; var r = bv(t); if (r && r.has(e)) return r.get(e); var n = { __proto__: null }, i = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var a in e) if (a !== "default" && Object.prototype.hasOwnProperty.call(e, a)) { var s = i ? Object.getOwnPropertyDescriptor(e, a) : null; s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]); } return (n.default = e), r && r.set(e, n), n; } var zV = Object.keys(ze.QuickEffectIds), oo = (e) => zV.includes(e), { COLON_DELIMITER: lo, BOUNDARY_SELECTOR: hi, HTML_ELEMENT: _v, RENDER_GENERAL: HV, W_MOD_IX: yv } = ze.IX2EngineConstants, { getAffectedElements: fi, getElementId: WV, getDestinationValues: uo, observeStore: zt, getInstanceId: UV, renderHTMLElement: jV, clearAllStyles: Sv, getMaxDurationItemIndex: XV, getComputedStyle: KV, getInstanceOrigin: YV, reduceListToGroup: $V, shouldNamespaceEventParameter: QV, getNamespacedParameterId: ZV, shouldAllowMediaQuery: pi, cleanupHTMLElement: JV, clearObjectCache: e5, stringifyTarget: t5, mediaQueriesEqual: r5, shallowEqual: n5, } = Ev.IX2VanillaUtils, { isPluginType: di, createPluginInstance: co, getPluginDuration: i5 } = Ev.IX2VanillaPlugins, vv = navigator.userAgent, a5 = vv.match(/iPad/i) || vv.match(/iPhone/), s5 = 12; function o5(e) { zt({ store: e, select: ({ ixRequest: t }) => t.preview, onChange: c5 }), zt({ store: e, select: ({ ixRequest: t }) => t.playback, onChange: h5 }), zt({ store: e, select: ({ ixRequest: t }) => t.stop, onChange: f5 }), zt({ store: e, select: ({ ixRequest: t }) => t.clear, onChange: p5 }); } function l5(e) { zt({ store: e, select: ({ ixSession: t }) => t.mediaQueryKey, onChange: () => { gi(e), Sv({ store: e, elementApi: xe }), mi({ store: e, allowEvents: !0 }), Tv(); }, }); } function u5(e, t) { let r = zt({ store: e, select: ({ ixSession: n }) => n.tick, onChange: (n) => { t(n), r(); }, }); } function c5({ rawData: e, defer: t }, r) { let n = () => { mi({ store: r, rawData: e, allowEvents: !0 }), Tv(); }; t ? setTimeout(n, 0) : n(); } function Tv() { document.dispatchEvent(new CustomEvent("IX2_PAGE_UPDATE")); } function h5(e, t) { let { actionTypeId: r, actionListId: n, actionItemId: i, eventId: a, allowEvents: s, immediate: o, testManual: l, verbose: p = !0 } = e, { rawData: c } = e; if (n && i && c && o) { let h = c.actionLists[n]; h && (c = $V({ actionList: h, actionItemId: i, rawData: c })); } if ((mi({ store: t, rawData: c, allowEvents: s, testManual: l }), (n && r === ze.ActionTypeConsts.GENERAL_START_ACTION) || oo(r))) { ho({ store: t, actionListId: n }), xv({ store: t, actionListId: n, eventId: a }); let h = fo({ store: t, eventId: a, actionListId: n, immediate: o, verbose: p }); p && h && t.dispatch((0, Te.actionListPlaybackChanged)({ actionListId: n, isPlaying: !o })); } } function f5({ actionListId: e }, t) { e ? ho({ store: t, actionListId: e }) : Av({ store: t }), gi(t); } function p5(e, t) { gi(t), Sv({ store: t, elementApi: xe }); } function mi({ store: e, rawData: t, allowEvents: r, testManual: n }) { let { ixSession: i } = e.getState(); t && e.dispatch((0, Te.rawDataImported)(t)), i.active || (e.dispatch((0, Te.sessionInitialized)({ hasBoundaryNodes: !!document.querySelector(hi), reducedMotion: document.body.hasAttribute("data-wf-ix-vacation") && window.matchMedia("(prefers-reduced-motion)").matches })), r && (E5(e), d5(), e.getState().ixSession.hasDefinedMediaQueries && l5(e)), e.dispatch((0, Te.sessionStarted)()), m5(e, n)); } function d5() { let { documentElement: e } = document; e.className.indexOf(yv) === -1 && (e.className += ` ${yv}`); } function m5(e, t) { let r = (n) => { let { ixSession: i, ixParameters: a } = e.getState(); i.active && (e.dispatch((0, Te.animationFrameChanged)(n, a)), t ? u5(e, r) : requestAnimationFrame(r)); }; r(window.performance.now()); } function gi(e) { let { ixSession: t } = e.getState(); if (t.active) { let { eventListeners: r } = t; r.forEach(g5), e5(), e.dispatch((0, Te.sessionStopped)()); } } function g5({ target: e, listenerParams: t }) { e.removeEventListener.apply(e, t); } function y5({ store: e, eventStateKey: t, eventTarget: r, eventId: n, eventConfig: i, actionListId: a, parameterGroup: s, smoothing: o, restingValue: l }) { let { ixData: p, ixSession: c } = e.getState(), { events: h } = p, g = h[n], { eventTypeId: d } = g, f = {}, m = {}, u = [], { continuousActionGroups: y } = s, { id: v } = s; QV(d, i) && (v = ZV(t, v)); let E = c.hasBoundaryNodes && r ? xe.getClosestElement(r, hi) : null; y.forEach((b) => { let { keyframe: T, actionItems: A } = b; A.forEach((x) => { let { actionTypeId: C } = x, { target: k } = x.config; if (!k) return; let D = k.boundaryMode ? E : null, I = t5(k) + lo + C; if (((m[I] = v5(m[I], T, x)), !f[I])) { f[I] = !0; let { config: L } = x; fi({ config: L, event: g, eventTarget: r, elementRoot: D, elementApi: xe }).forEach((O) => { u.push({ element: O, key: I }); }); } }); }), u.forEach(({ element: b, key: T }) => { let A = m[T], x = (0, It.default)(A, "[0].actionItems[0]", {}), { actionTypeId: C } = x, D = (C === ze.ActionTypeConsts.PLUGIN_RIVE ? (x.config?.target?.selectorGuids || []).length === 0 : di(C)) ? co(C)(b, x) : null, I = uo({ element: b, actionItem: x, elementApi: xe }, D); po({ store: e, element: b, eventId: n, actionListId: a, actionItem: x, destination: I, continuous: !0, parameterId: v, actionGroups: A, smoothing: o, restingValue: l, pluginInstance: D }); }); } function v5(e = [], t, r) { let n = [...e], i; return n.some((a, s) => (a.keyframe === t ? ((i = s), !0) : !1)), i == null && ((i = n.length), n.push({ keyframe: t, actionItems: [] })), n[i].actionItems.push(r), n; } function E5(e) { let { ixData: t } = e.getState(), { eventTypeMap: r } = t; Iv(e), (0, Zr.default)(r, (i, a) => { let s = VV.default[a]; if (!s) { console.warn(`IX2 event type not configured: ${a}`); return; } x5({ logic: s, store: e, events: i }); }); let { ixSession: n } = e.getState(); n.eventListeners.length && _5(e); } var b5 = ["resize", "orientationchange"]; function _5(e) { let t = () => { Iv(e); }; b5.forEach((r) => { window.addEventListener(r, t), e.dispatch((0, Te.eventListenerAdded)(window, [r, t])); }), t(); } function Iv(e) { let { ixSession: t, ixData: r } = e.getState(), n = window.innerWidth; if (n !== t.viewportWidth) { let { mediaQueries: i } = r; e.dispatch((0, Te.viewportWidthChanged)({ width: n, mediaQueries: i })); } } var S5 = (e, t) => (0, kV.default)((0, qV.default)(e, t), NV.default), T5 = (e, t) => { (0, Zr.default)(e, (r, n) => { r.forEach((i, a) => { let s = n + lo + a; t(i, n, s); }); }); }, I5 = (e) => { let t = { target: e.target, targets: e.targets }; return fi({ config: t, elementApi: xe }); }; function x5({ logic: e, store: t, events: r }) { A5(r); let { types: n, handler: i } = e, { ixData: a } = t.getState(), { actionLists: s } = a, o = S5(r, I5); if (!(0, LV.default)(o)) return; (0, Zr.default)(o, (h, g) => { let d = r[g], { action: f, id: m, mediaQueries: u = a.mediaQueryKeys } = d, { actionListId: y } = f.config; r5(u, a.mediaQueryKeys) || t.dispatch((0, Te.mediaQueriesDefined)()), f.actionTypeId === ze.ActionTypeConsts.GENERAL_CONTINUOUS_ACTION && (Array.isArray(d.config) ? d.config : [d.config]).forEach((E) => { let { continuousParameterGroupId: b } = E, T = (0, It.default)(s, `${y}.continuousParameterGroups`, []), A = (0, FV.default)(T, ({ id: k }) => k === b), x = (E.smoothing || 0) / 100, C = (E.restingState || 0) / 100; A && h.forEach((k, D) => { let I = m + lo + D; y5({ store: t, eventStateKey: I, eventTarget: k, eventId: m, eventConfig: E, actionListId: y, parameterGroup: A, smoothing: x, restingValue: C }); }); }), (f.actionTypeId === ze.ActionTypeConsts.GENERAL_START_ACTION || oo(f.actionTypeId)) && xv({ store: t, actionListId: y, eventId: m }); }); let l = (h) => { let { ixSession: g } = t.getState(); T5(o, (d, f, m) => { let u = r[f], y = g.eventState[m], { action: v, mediaQueries: E = a.mediaQueryKeys } = u; if (!pi(E, g.mediaQueryKey)) return; let b = (T = {}) => { let A = i({ store: t, element: d, event: u, eventConfig: T, nativeEvent: h, eventStateKey: m }, y); n5(A, y) || t.dispatch((0, Te.eventStateChanged)(m, A)); }; v.actionTypeId === ze.ActionTypeConsts.GENERAL_CONTINUOUS_ACTION ? (Array.isArray(u.config) ? u.config : [u.config]).forEach(b) : b(); }); }, p = (0, BV.default)(l, s5), c = ({ target: h = document, types: g, throttle: d }) => { g.split(" ") .filter(Boolean) .forEach((f) => { let m = d ? p : l; h.addEventListener(f, m), t.dispatch((0, Te.eventListenerAdded)(h, [f, m])); }); }; Array.isArray(n) ? n.forEach(c) : typeof n == "string" && c(e); } function A5(e) { if (!a5) return; let t = {}, r = ""; for (let n in e) { let { eventTypeId: i, target: a } = e[n], s = xe.getQuerySelector(a); t[s] || ((i === ze.EventTypeConsts.MOUSE_CLICK || i === ze.EventTypeConsts.MOUSE_SECOND_CLICK) && ((t[s] = !0), (r += s + "{cursor: pointer;touch-action: manipulation;}"))); } if (r) { let n = document.createElement("style"); (n.textContent = r), document.body.appendChild(n); } } function xv({ store: e, actionListId: t, eventId: r }) { let { ixData: n, ixSession: i } = e.getState(), { actionLists: a, events: s } = n, o = s[r], l = a[t]; if (l && l.useFirstGroupAsInitialState) { let p = (0, It.default)(l, "actionItemGroups[0].actionItems", []), c = (0, It.default)(o, "mediaQueries", n.mediaQueryKeys); if (!pi(c, i.mediaQueryKey)) return; p.forEach((h) => { let { config: g, actionTypeId: d } = h, f = g?.target?.useEventTarget === !0 && g?.target?.objectId == null ? { target: o.target, targets: o.targets } : g, m = fi({ config: f, event: o, elementApi: xe }), u = di(d); m.forEach((y) => { let v = u ? co(d)(y, h) : null; po({ destination: uo({ element: y, actionItem: h, elementApi: xe }, v), immediate: !0, store: e, element: y, eventId: r, actionItem: h, actionListId: t, pluginInstance: v }); }); }); } } function Av({ store: e }) { let { ixInstances: t } = e.getState(); (0, Zr.default)(t, (r) => { if (!r.continuous) { let { actionListId: n, verbose: i } = r; mo(r, e), i && e.dispatch((0, Te.actionListPlaybackChanged)({ actionListId: n, isPlaying: !1 })); } }); } function ho({ store: e, eventId: t, eventTarget: r, eventStateKey: n, actionListId: i }) { let { ixInstances: a, ixSession: s } = e.getState(), o = s.hasBoundaryNodes && r ? xe.getClosestElement(r, hi) : null; (0, Zr.default)(a, (l) => { let p = (0, It.default)(l, "actionItem.config.target.boundaryMode"), c = n ? l.eventStateKey === n : !0; if (l.actionListId === i && l.eventId === t && c) { if (o && p && !xe.elementContains(o, l.element)) return; mo(l, e), l.verbose && e.dispatch((0, Te.actionListPlaybackChanged)({ actionListId: i, isPlaying: !1 })); } }); } function fo({ store: e, eventId: t, eventTarget: r, eventStateKey: n, actionListId: i, groupIndex: a = 0, immediate: s, verbose: o }) { let { ixData: l, ixSession: p } = e.getState(), { events: c } = l, h = c[t] || {}, { mediaQueries: g = l.mediaQueryKeys } = h, d = (0, It.default)(l, `actionLists.${i}`, {}), { actionItemGroups: f, useFirstGroupAsInitialState: m } = d; if (!f || !f.length) return !1; a >= f.length && (0, It.default)(h, "config.loop") && (a = 0), a === 0 && m && a++; let y = (a === 0 || (a === 1 && m)) && oo(h.action?.actionTypeId) ? h.config.delay : void 0, v = (0, It.default)(f, [a, "actionItems"], []); if (!v.length || !pi(g, p.mediaQueryKey)) return !1; let E = p.hasBoundaryNodes && r ? xe.getClosestElement(r, hi) : null, b = XV(v), T = !1; return ( v.forEach((A, x) => { let { config: C, actionTypeId: k } = A, D = di(k), { target: I } = C; if (!I) return; let L = I.boundaryMode ? E : null; fi({ config: C, event: h, eventTarget: r, elementRoot: L, elementApi: xe }).forEach((R, B) => { let j = D ? co(k)(R, A) : null, te = D ? i5(k)(R, A) : null; T = !0; let P = b === x && B === 0, W = KV({ element: R, actionItem: A }), K = uo({ element: R, actionItem: A, elementApi: xe }, j); po({ store: e, element: R, actionItem: A, eventId: t, eventTarget: r, eventStateKey: n, actionListId: i, groupIndex: a, isCarrier: P, computedStyle: W, destination: K, immediate: s, verbose: o, pluginInstance: j, pluginDuration: te, instanceDelay: y, }); }); }), T ); } function po(e) { let { store: t, computedStyle: r, ...n } = e, { element: i, actionItem: a, immediate: s, pluginInstance: o, continuous: l, restingValue: p, eventId: c } = n, h = !l, g = UV(), { ixElements: d, ixSession: f, ixData: m } = t.getState(), u = WV(d, i), { refState: y } = d[u] || {}, v = xe.getRefType(i), E = f.reducedMotion && ze.ReducedMotionTypes[a.actionTypeId], b; if (E && l) switch (m.events[c]?.eventTypeId) { case ze.EventTypeConsts.MOUSE_MOVE: case ze.EventTypeConsts.MOUSE_MOVE_IN_VIEWPORT: b = p; break; default: b = 0.5; break; } let T = YV(i, y, r, a, xe, o); if ((t.dispatch((0, Te.instanceAdded)({ instanceId: g, elementId: u, origin: T, refType: v, skipMotion: E, skipToValue: b, ...n })), Pv(document.body, "ix2-animation-started", g), s)) { P5(t, g); return; } zt({ store: t, select: ({ ixInstances: A }) => A[g], onChange: Cv }), h && t.dispatch((0, Te.instanceStarted)(g, f.tick)); } function mo(e, t) { Pv(document.body, "ix2-animation-stopping", { instanceId: e.id, state: t.getState() }); let { elementId: r, actionItem: n } = e, { ixElements: i } = t.getState(), { ref: a, refType: s } = i[r] || {}; s === _v && JV(a, n, xe), t.dispatch((0, Te.instanceRemoved)(e.id)); } function Pv(e, t, r) { let n = document.createEvent("CustomEvent"); n.initCustomEvent(t, !0, !0, r), e.dispatchEvent(n); } function P5(e, t) { let { ixParameters: r } = e.getState(); e.dispatch((0, Te.instanceStarted)(t, 0)), e.dispatch((0, Te.animationFrameChanged)(performance.now(), r)); let { ixInstances: n } = e.getState(); Cv(n[t], e); } function Cv(e, t) { let { active: r, continuous: n, complete: i, elementId: a, actionItem: s, actionTypeId: o, renderType: l, current: p, groupIndex: c, eventId: h, eventTarget: g, eventStateKey: d, actionListId: f, isCarrier: m, styleProp: u, verbose: y, pluginInstance: v, } = e, { ixData: E, ixSession: b } = t.getState(), { events: T } = E, A = T && T[h] ? T[h] : {}, { mediaQueries: x = E.mediaQueryKeys } = A; if (pi(x, b.mediaQueryKey) && (n || r || i)) { if (p || (l === HV && i)) { t.dispatch((0, Te.elementStateChanged)(a, o, p, s)); let { ixElements: C } = t.getState(), { ref: k, refType: D, refState: I } = C[a] || {}, L = I && I[o]; (D === _v || di(o)) && jV(k, I, L, h, s, u, xe, l, v); } if (i) { if (m) { let C = fo({ store: t, eventId: h, eventTarget: g, eventStateKey: d, actionListId: f, groupIndex: c + 1, verbose: y }); y && !C && t.dispatch((0, Te.actionListPlaybackChanged)({ actionListId: f, isPlaying: !1 })); } mo(e, t); } } } }); var Mv = _((vo) => { "use strict"; Object.defineProperty(vo, "__esModule", { value: !0 }); function C5(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } C5(vo, { actions: function () { return M5; }, destroy: function () { return Ov; }, init: function () { return L5; }, setEnv: function () { return F5; }, store: function () { return yi; }, }); var w5 = ya(), O5 = D5(Fm()), yo = so(), M5 = R5(ti()); function D5(e) { return e && e.__esModule ? e : { default: e }; } function wv(e) { if (typeof WeakMap != "function") return null; var t = new WeakMap(), r = new WeakMap(); return (wv = function (n) { return n ? r : t; })(e); } function R5(e, t) { if (!t && e && e.__esModule) return e; if (e === null || (typeof e != "object" && typeof e != "function")) return { default: e }; var r = wv(t); if (r && r.has(e)) return r.get(e); var n = { __proto__: null }, i = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var a in e) if (a !== "default" && Object.prototype.hasOwnProperty.call(e, a)) { var s = i ? Object.getOwnPropertyDescriptor(e, a) : null; s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]); } return (n.default = e), r && r.set(e, n), n; } var yi = (0, w5.createStore)(O5.default); function F5(e) { e() && (0, yo.observeRequests)(yi); } function L5(e) { Ov(), (0, yo.startEngine)({ store: yi, rawData: e, allowEvents: !0 }); } function Ov() { (0, yo.stopEngine)(yi); } }); var Lv = _((Wj, Fv) => { "use strict"; var Dv = Ae(), Rv = Mv(); Rv.setEnv(Dv.env); Dv.define( "ix2", (Fv.exports = function () { return Rv; }) ); }); var qv = _((Uj, Nv) => { "use strict"; var Eo = window.jQuery, at = {}, vi = [], kv = ".w-ix", Ei = { reset: function (e, t) { t.__wf_intro = null; }, intro: function (e, t) { t.__wf_intro || ((t.__wf_intro = !0), Eo(t).triggerHandler(at.types.INTRO)); }, outro: function (e, t) { t.__wf_intro && ((t.__wf_intro = null), Eo(t).triggerHandler(at.types.OUTRO)); }, }; at.triggers = {}; at.types = { INTRO: "w-ix-intro" + kv, OUTRO: "w-ix-outro" + kv }; at.init = function () { for (var e = vi.length, t = 0; t < e; t++) { var r = vi[t]; r[0](0, r[1]); } (vi = []), Eo.extend(at.triggers, Ei); }; at.async = function () { for (var e in Ei) { var t = Ei[e]; Ei.hasOwnProperty(e) && (at.triggers[e] = function (r, n) { vi.push([t, n]); }); } }; at.async(); Nv.exports = at; }); var Ir = _((jj, Gv) => { "use strict"; var bo = qv(); function Bv(e, t) { var r = document.createEvent("CustomEvent"); r.initCustomEvent(t, !0, !0, null), e.dispatchEvent(r); } var k5 = window.jQuery, bi = {}, Vv = ".w-ix", N5 = { reset: function (e, t) { bo.triggers.reset(e, t); }, intro: function (e, t) { bo.triggers.intro(e, t), Bv(t, "COMPONENT_ACTIVE"); }, outro: function (e, t) { bo.triggers.outro(e, t), Bv(t, "COMPONENT_INACTIVE"); }, }; bi.triggers = {}; bi.types = { INTRO: "w-ix-intro" + Vv, OUTRO: "w-ix-outro" + Vv }; k5.extend(bi.triggers, N5); Gv.exports = bi; }); var Wv = _((Xj, Hv) => { "use strict"; var Ht = Ae(), q5 = Ir(), $e = { ARROW_LEFT: 37, ARROW_UP: 38, ARROW_RIGHT: 39, ARROW_DOWN: 40, ESCAPE: 27, SPACE: 32, ENTER: 13, HOME: 36, END: 35 }, zv = !0, B5 = /^#[a-zA-Z0-9\-_]+$/; Ht.define( "dropdown", (Hv.exports = function (e, t) { var r = t.debounce, n = {}, i = Ht.env(), a = !1, s, o = Ht.env.touch, l = ".w-dropdown", p = "w--open", c = q5.triggers, h = 900, g = "focusout" + l, d = "keydown" + l, f = "mouseenter" + l, m = "mousemove" + l, u = "mouseleave" + l, y = (o ? "click" : "mouseup") + l, v = "w-close" + l, E = "setting" + l, b = e(document), T; (n.ready = A), (n.design = function () { a && O(), (a = !1), A(); }), (n.preview = function () { (a = !0), A(); }); function A() { (s = i && Ht.env("design")), (T = b.find(l)), T.each(x); } function x(S, V) { var z = e(V), G = e.data(V, l); G || (G = e.data(V, l, { open: !1, el: z, config: {}, selectedIdx: -1 })), (G.toggle = G.el.children(".w-dropdown-toggle")), (G.list = G.el.children(".w-dropdown-list")), (G.links = G.list.find("a:not(.w-dropdown .w-dropdown a)")), (G.complete = j(G)), (G.mouseLeave = P(G)), (G.mouseUpOutside = B(G)), (G.mouseMoveOutside = W(G)), C(G); var Q = G.toggle.attr("id"), ie = G.list.attr("id"); Q || (Q = "w-dropdown-toggle-" + S), ie || (ie = "w-dropdown-list-" + S), G.toggle.attr("id", Q), G.toggle.attr("aria-controls", ie), G.toggle.attr("aria-haspopup", "menu"), G.toggle.attr("aria-expanded", "false"), G.toggle.find(".w-icon-dropdown-toggle").attr("aria-hidden", "true"), G.toggle.prop("tagName") !== "BUTTON" && (G.toggle.attr("role", "button"), G.toggle.attr("tabindex") || G.toggle.attr("tabindex", "0")), G.list.attr("id", ie), G.list.attr("aria-labelledby", Q), G.links.each(function (F, J) { J.hasAttribute("tabindex") || J.setAttribute("tabindex", "0"), B5.test(J.hash) && J.addEventListener("click", L.bind(null, G)); }), G.el.off(l), G.toggle.off(l), G.nav && G.nav.off(l); var ee = D(G, zv); s && G.el.on(E, k(G)), s || (i && ((G.hovering = !1), L(G)), G.config.hover && G.toggle.on(f, te(G)), G.el.on(v, ee), G.el.on(d, K(G)), G.el.on(g, w(G)), G.toggle.on(y, ee), G.toggle.on(d, q(G)), (G.nav = G.el.closest(".w-nav")), G.nav.on(v, ee)); } function C(S) { var V = Number(S.el.css("z-index")); (S.manageZ = V === h || V === h + 1), (S.config = { hover: S.el.attr("data-hover") === "true" && !o, delay: S.el.attr("data-delay") }); } function k(S) { return function (V, z) { (z = z || {}), C(S), z.open === !0 && I(S), z.open === !1 && L(S, { immediate: !0 }); }; } function D(S, V) { return r(function (z) { if (S.open || (z && z.type === "w-close")) return L(S, { forceClose: V }); I(S); }); } function I(S) { if (!S.open) { R(S), (S.open = !0), S.list.addClass(p), S.toggle.addClass(p), S.toggle.attr("aria-expanded", "true"), c.intro(0, S.el[0]), Ht.redraw.up(), S.manageZ && S.el.css("z-index", h + 1); var V = Ht.env("editor"); s || b.on(y, S.mouseUpOutside), S.hovering && !V && S.el.on(u, S.mouseLeave), S.hovering && V && b.on(m, S.mouseMoveOutside), window.clearTimeout(S.delayId); } } function L(S, { immediate: V, forceClose: z } = {}) { if (S.open && !(S.config.hover && S.hovering && !z)) { S.toggle.attr("aria-expanded", "false"), (S.open = !1); var G = S.config; if ((c.outro(0, S.el[0]), b.off(y, S.mouseUpOutside), b.off(m, S.mouseMoveOutside), S.el.off(u, S.mouseLeave), window.clearTimeout(S.delayId), !G.delay || V)) return S.complete(); S.delayId = window.setTimeout(S.complete, G.delay); } } function O() { b.find(l).each(function (S, V) { e(V).triggerHandler(v); }); } function R(S) { var V = S.el[0]; T.each(function (z, G) { var Q = e(G); Q.is(V) || Q.has(V).length || Q.triggerHandler(v); }); } function B(S) { return ( S.mouseUpOutside && b.off(y, S.mouseUpOutside), r(function (V) { if (S.open) { var z = e(V.target); if (!z.closest(".w-dropdown-toggle").length) { var G = e.inArray(S.el[0], z.parents(l)) === -1, Q = Ht.env("editor"); if (G) { if (Q) { var ie = z.parents().length === 1 && z.parents("svg").length === 1, ee = z.parents(".w-editor-bem-EditorHoverControls").length; if (ie || ee) return; } L(S); } } } }) ); } function j(S) { return function () { S.list.removeClass(p), S.toggle.removeClass(p), S.manageZ && S.el.css("z-index", ""); }; } function te(S) { return function () { (S.hovering = !0), I(S); }; } function P(S) { return function () { (S.hovering = !1), S.links.is(":focus") || L(S); }; } function W(S) { return r(function (V) { if (S.open) { var z = e(V.target), G = e.inArray(S.el[0], z.parents(l)) === -1; if (G) { var Q = z.parents(".w-editor-bem-EditorHoverControls").length, ie = z.parents(".w-editor-bem-RTToolbar").length, ee = e(".w-editor-bem-EditorOverlay"), F = ee.find(".w-editor-edit-outline").length || ee.find(".w-editor-bem-RTToolbar").length; if (Q || ie || F) return; (S.hovering = !1), L(S); } } }); } function K(S) { return function (V) { if (!(s || !S.open)) switch (((S.selectedIdx = S.links.index(document.activeElement)), V.keyCode)) { case $e.HOME: return S.open ? ((S.selectedIdx = 0), N(S), V.preventDefault()) : void 0; case $e.END: return S.open ? ((S.selectedIdx = S.links.length - 1), N(S), V.preventDefault()) : void 0; case $e.ESCAPE: return L(S), S.toggle.focus(), V.stopPropagation(); case $e.ARROW_RIGHT: case $e.ARROW_DOWN: return (S.selectedIdx = Math.min(S.links.length - 1, S.selectedIdx + 1)), N(S), V.preventDefault(); case $e.ARROW_LEFT: case $e.ARROW_UP: return (S.selectedIdx = Math.max(-1, S.selectedIdx - 1)), N(S), V.preventDefault(); } }; } function N(S) { S.links[S.selectedIdx] && S.links[S.selectedIdx].focus(); } function q(S) { var V = D(S, zv); return function (z) { if (!s) { if (!S.open) switch (z.keyCode) { case $e.ARROW_UP: case $e.ARROW_DOWN: return z.stopPropagation(); } switch (z.keyCode) { case $e.SPACE: case $e.ENTER: return V(), z.stopPropagation(), z.preventDefault(); } } }; } function w(S) { return r(function (V) { var { relatedTarget: z, target: G } = V, Q = S.el[0], ie = Q.contains(z) || Q.contains(G); return ie || L(S), V.stopPropagation(); }); } return n; }) ); }); var Xv = _((Kj, jv) => { "use strict"; var xt = Ae(), V5 = Ir(), st = { ARROW_LEFT: 37, ARROW_UP: 38, ARROW_RIGHT: 39, ARROW_DOWN: 40, SPACE: 32, ENTER: 13, HOME: 36, END: 35 }, Uv = 'a[href], area[href], [role="button"], input, select, textarea, button, iframe, object, embed, *[tabindex], *[contenteditable]'; xt.define( "slider", (jv.exports = function (e, t) { var r = {}, n = e.tram, i = e(document), a, s, o = xt.env(), l = ".w-slider", p = '
', c = '
', h = "w-slider-force-show", g = V5.triggers, d, f = !1; (r.ready = function () { (s = xt.env("design")), m(); }), (r.design = function () { (s = !0), setTimeout(m, 1e3); }), (r.preview = function () { (s = !1), m(); }), (r.redraw = function () { (f = !0), m(), (f = !1); }), (r.destroy = u); function m() { (a = i.find(l)), a.length && (a.each(E), !d && (u(), y())); } function u() { xt.resize.off(v), xt.redraw.off(r.redraw); } function y() { xt.resize.on(v), xt.redraw.on(r.redraw); } function v() { a.filter(":visible").each(j); } function E(N, q) { var w = e(q), S = e.data(q, l); S || (S = e.data(q, l, { index: 0, depth: 1, hasFocus: { keyboard: !1, mouse: !1 }, el: w, config: {} })), (S.mask = w.children(".w-slider-mask")), (S.left = w.children(".w-slider-arrow-left")), (S.right = w.children(".w-slider-arrow-right")), (S.nav = w.children(".w-slider-nav")), (S.slides = S.mask.children(".w-slide")), S.slides.each(g.reset), f && (S.maskWidth = 0), w.attr("role") === void 0 && w.attr("role", "region"), w.attr("aria-label") === void 0 && w.attr("aria-label", "carousel"); var V = S.mask.attr("id"); if ( (V || ((V = "w-slider-mask-" + N), S.mask.attr("id", V)), !s && !S.ariaLiveLabel && (S.ariaLiveLabel = e(c).appendTo(S.mask)), S.left.attr("role", "button"), S.left.attr("tabindex", "0"), S.left.attr("aria-controls", V), S.left.attr("aria-label") === void 0 && S.left.attr("aria-label", "previous slide"), S.right.attr("role", "button"), S.right.attr("tabindex", "0"), S.right.attr("aria-controls", V), S.right.attr("aria-label") === void 0 && S.right.attr("aria-label", "next slide"), !n.support.transform) ) { S.left.hide(), S.right.hide(), S.nav.hide(), (d = !0); return; } S.el.off(l), S.left.off(l), S.right.off(l), S.nav.off(l), b(S), s ? (S.el.on("setting" + l, O(S)), L(S), (S.hasTimer = !1)) : (S.el.on("swipe" + l, O(S)), S.left.on("click" + l, C(S)), S.right.on("click" + l, k(S)), S.left.on("keydown" + l, x(S, C)), S.right.on("keydown" + l, x(S, k)), S.nav.on("keydown" + l, "> div", O(S)), S.config.autoplay && !S.hasTimer && ((S.hasTimer = !0), (S.timerCount = 1), I(S)), S.el.on("mouseenter" + l, A(S, !0, "mouse")), S.el.on("focusin" + l, A(S, !0, "keyboard")), S.el.on("mouseleave" + l, A(S, !1, "mouse")), S.el.on("focusout" + l, A(S, !1, "keyboard"))), S.nav.on("click" + l, "> div", O(S)), o || S.mask .contents() .filter(function () { return this.nodeType === 3; }) .remove(); var z = w.filter(":hidden"); z.addClass(h); var G = w.parents(":hidden"); G.addClass(h), f || j(N, q), z.removeClass(h), G.removeClass(h); } function b(N) { var q = {}; (q.crossOver = 0), (q.animation = N.el.attr("data-animation") || "slide"), q.animation === "outin" && ((q.animation = "cross"), (q.crossOver = 0.5)), (q.easing = N.el.attr("data-easing") || "ease"); var w = N.el.attr("data-duration"); if ( ((q.duration = w != null ? parseInt(w, 10) : 500), T(N.el.attr("data-infinite")) && (q.infinite = !0), T(N.el.attr("data-disable-swipe")) && (q.disableSwipe = !0), T(N.el.attr("data-hide-arrows")) ? (q.hideArrows = !0) : N.config.hideArrows && (N.left.show(), N.right.show()), T(N.el.attr("data-autoplay"))) ) { (q.autoplay = !0), (q.delay = parseInt(N.el.attr("data-delay"), 10) || 2e3), (q.timerMax = parseInt(N.el.attr("data-autoplay-limit"), 10)); var S = "mousedown" + l + " touchstart" + l; s || N.el.off(S).one(S, function () { L(N); }); } var V = N.right.width(); (q.edge = V ? V + 40 : 100), (N.config = q); } function T(N) { return N === "1" || N === "true"; } function A(N, q, w) { return function (S) { if (q) N.hasFocus[w] = q; else if (e.contains(N.el.get(0), S.relatedTarget) || ((N.hasFocus[w] = q), (N.hasFocus.mouse && w === "keyboard") || (N.hasFocus.keyboard && w === "mouse"))) return; q ? (N.ariaLiveLabel.attr("aria-live", "polite"), N.hasTimer && L(N)) : (N.ariaLiveLabel.attr("aria-live", "off"), N.hasTimer && I(N)); }; } function x(N, q) { return function (w) { switch (w.keyCode) { case st.SPACE: case st.ENTER: return q(N)(), w.preventDefault(), w.stopPropagation(); } }; } function C(N) { return function () { B(N, { index: N.index - 1, vector: -1 }); }; } function k(N) { return function () { B(N, { index: N.index + 1, vector: 1 }); }; } function D(N, q) { var w = null; q === N.slides.length && (m(), te(N)), t.each(N.anchors, function (S, V) { e(S.els).each(function (z, G) { e(G).index() === q && (w = V); }); }), w != null && B(N, { index: w, immediate: !0 }); } function I(N) { L(N); var q = N.config, w = q.timerMax; (w && N.timerCount++ > w) || (N.timerId = window.setTimeout(function () { N.timerId == null || s || (k(N)(), I(N)); }, q.delay)); } function L(N) { window.clearTimeout(N.timerId), (N.timerId = null); } function O(N) { return function (q, w) { w = w || {}; var S = N.config; if (s && q.type === "setting") { if (w.select === "prev") return C(N)(); if (w.select === "next") return k(N)(); if ((b(N), te(N), w.select == null)) return; D(N, w.select); return; } if (q.type === "swipe") return S.disableSwipe || xt.env("editor") ? void 0 : w.direction === "left" ? k(N)() : w.direction === "right" ? C(N)() : void 0; if (N.nav.has(q.target).length) { var V = e(q.target).index(); if ((q.type === "click" && B(N, { index: V }), q.type === "keydown")) switch (q.keyCode) { case st.ENTER: case st.SPACE: { B(N, { index: V }), q.preventDefault(); break; } case st.ARROW_LEFT: case st.ARROW_UP: { R(N.nav, Math.max(V - 1, 0)), q.preventDefault(); break; } case st.ARROW_RIGHT: case st.ARROW_DOWN: { R(N.nav, Math.min(V + 1, N.pages)), q.preventDefault(); break; } case st.HOME: { R(N.nav, 0), q.preventDefault(); break; } case st.END: { R(N.nav, N.pages), q.preventDefault(); break; } default: return; } } }; } function R(N, q) { var w = N.children().eq(q).focus(); N.children().not(w); } function B(N, q) { q = q || {}; var w = N.config, S = N.anchors; N.previous = N.index; var V = q.index, z = {}; V < 0 ? ((V = S.length - 1), w.infinite && ((z.x = -N.endX), (z.from = 0), (z.to = S[0].width))) : V >= S.length && ((V = 0), w.infinite && ((z.x = S[S.length - 1].width), (z.from = -S[S.length - 1].x), (z.to = z.from - z.x))), (N.index = V); var G = N.nav.children().eq(V).addClass("w-active").attr("aria-pressed", "true").attr("tabindex", "0"); N.nav.children().not(G).removeClass("w-active").attr("aria-pressed", "false").attr("tabindex", "-1"), w.hideArrows && (N.index === S.length - 1 ? N.right.hide() : N.right.show(), N.index === 0 ? N.left.hide() : N.left.show()); var Q = N.offsetX || 0, ie = (N.offsetX = -S[N.index].x), ee = { x: ie, opacity: 1, visibility: "" }, F = e(S[N.index].els), J = e(S[N.previous] && S[N.previous].els), ne = N.slides.not(F), Y = w.animation, he = w.easing, ye = Math.round(w.duration), be = q.vector || (N.index > N.previous ? 1 : -1), M = "opacity " + ye + "ms " + he, H = "transform " + ye + "ms " + he; if ( (F.find(Uv).removeAttr("tabindex"), F.removeAttr("aria-hidden"), F.find("*").removeAttr("aria-hidden"), ne.find(Uv).attr("tabindex", "-1"), ne.attr("aria-hidden", "true"), ne.find("*").attr("aria-hidden", "true"), s || (F.each(g.intro), ne.each(g.outro)), q.immediate && !f) ) { n(F).set(ee), Z(); return; } if (N.index === N.previous) return; if ((s || N.ariaLiveLabel.text(`Slide ${V + 1} of ${S.length}.`), Y === "cross")) { var U = Math.round(ye - ye * w.crossOver), X = Math.round(ye - U); (M = "opacity " + U + "ms " + he), n(J).set({ visibility: "" }).add(M).start({ opacity: 0 }), n(F) .set({ visibility: "", x: ie, opacity: 0, zIndex: N.depth++ }) .add(M) .wait(X) .then({ opacity: 1 }) .then(Z); return; } if (Y === "fade") { n(J).set({ visibility: "" }).stop(), n(F) .set({ visibility: "", x: ie, opacity: 0, zIndex: N.depth++ }) .add(M) .start({ opacity: 1 }) .then(Z); return; } if (Y === "over") { (ee = { x: N.endX }), n(J).set({ visibility: "" }).stop(), n(F) .set({ visibility: "", zIndex: N.depth++, x: ie + S[N.index].width * be }) .add(H) .start({ x: ie }) .then(Z); return; } w.infinite && z.x ? (n(N.slides.not(J)).set({ visibility: "", x: z.x }).add(H).start({ x: ie }), n(J).set({ visibility: "", x: z.from }).add(H).start({ x: z.to }), (N.shifted = J)) : (w.infinite && N.shifted && (n(N.shifted).set({ visibility: "", x: Q }), (N.shifted = null)), n(N.slides).set({ visibility: "" }).add(H).start({ x: ie })); function Z() { (F = e(S[N.index].els)), (ne = N.slides.not(F)), Y !== "slide" && (ee.visibility = "hidden"), n(ne).set(ee); } } function j(N, q) { var w = e.data(q, l); if (w) { if (W(w)) return te(w); s && K(w) && te(w); } } function te(N) { var q = 1, w = 0, S = 0, V = 0, z = N.maskWidth, G = z - N.config.edge; G < 0 && (G = 0), (N.anchors = [{ els: [], x: 0, width: 0 }]), N.slides.each(function (ie, ee) { S - w > G && (q++, (w += z), (N.anchors[q - 1] = { els: [], x: S, width: 0 })), (V = e(ee).outerWidth(!0)), (S += V), (N.anchors[q - 1].width += V), N.anchors[q - 1].els.push(ee); var F = ie + 1 + " of " + N.slides.length; e(ee).attr("aria-label", F), e(ee).attr("role", "group"); }), (N.endX = S), s && (N.pages = null), N.nav.length && N.pages !== q && ((N.pages = q), P(N)); var Q = N.index; Q >= q && (Q = q - 1), B(N, { immediate: !0, index: Q }); } function P(N) { var q = [], w, S = N.el.attr("data-nav-spacing"); S && (S = parseFloat(S) + "px"); for (var V = 0, z = N.pages; V < z; V++) (w = e(p)), w .attr("aria-label", "Show slide " + (V + 1) + " of " + z) .attr("aria-pressed", "false") .attr("role", "button") .attr("tabindex", "-1"), N.nav.hasClass("w-num") && w.text(V + 1), S != null && w.css({ "margin-left": S, "margin-right": S }), q.push(w); N.nav.empty().append(q); } function W(N) { var q = N.mask.width(); return N.maskWidth !== q ? ((N.maskWidth = q), !0) : !1; } function K(N) { var q = 0; return ( N.slides.each(function (w, S) { q += e(S).outerWidth(!0); }), N.slidesWidth !== q ? ((N.slidesWidth = q), !0) : !1 ); } return r; }) ); }); var Kv = _((_o) => { "use strict"; Object.defineProperty(_o, "__esModule", { value: !0 }); Object.defineProperty(_o, "default", { enumerable: !0, get: function () { return G5; }, }); function G5(e, t, r, n, i, a, s, o, l, p, c, h, g) { return function (d) { e(d); var f = d.form, m = { name: f.attr("data-name") || f.attr("name") || "Untitled Form", pageId: f.attr("data-wf-page-id") || "", elementId: f.attr("data-wf-element-id") || "", domain: h("html").attr("data-wf-domain") || null, source: t.href, test: r.env(), fields: {}, fileUploads: {}, dolphin: /pass[\s-_]?(word|code)|secret|login|credentials/i.test(f.html()), trackingCookies: n(), }; let u = f.attr("data-wf-flow"); u && (m.wfFlow = u), i(d); var y = a(f, m.fields); if (y) return s(y); if (((m.fileUploads = o(f)), l(d), !p)) { c(d); return; } h.ajax({ url: g, type: "POST", data: m, dataType: "json", crossDomain: !0 }) .done(function (v) { v && v.code === 200 && (d.success = !0), c(d); }) .fail(function () { c(d); }); }; } }); var $v = _(($j, Yv) => { "use strict"; var _i = Ae(), z5 = (e, t, r, n) => { let i = document.createElement("div"); t.appendChild(i), turnstile.render(i, { sitekey: e, callback: function (a) { r(a); }, "error-callback": function () { n(); }, }); }; _i.define( "forms", (Yv.exports = function (e, t) { let r = "TURNSTILE_LOADED"; var n = {}, i = e(document), a, s = window.location, o = window.XDomainRequest && !window.atob, l = ".w-form", p, c = /e(-)?mail/i, h = /^\S+@\S+$/, g = window.alert, d = _i.env(), f, m, u; let y = i.find("[data-turnstile-sitekey]").data("turnstile-sitekey"), v; var E = /list-manage[1-9]?.com/i, b = t.debounce(function () { g("Oops! This page has improperly configured forms. Please contact your website administrator to fix this issue."); }, 100); n.ready = n.design = n.preview = function () { A(), T(), !d && !f && C(); }; function T() { (p = e("html").attr("data-wf-site")), (m = "https://webflow.com/api/v1/form/" + p), o && m.indexOf("https://webflow.com") >= 0 && (m = m.replace("https://webflow.com", "https://formdata.webflow.com")), (u = `${m}/signFile`), (a = e(l + " form")), a.length && a.each(x); } function A() { y && ((v = document.createElement("script")), (v.src = "https://challenges.cloudflare.com/turnstile/v0/api.js"), document.head.appendChild(v), (v.onload = () => { i.trigger(r); })); } function x(w, S) { var V = e(S), z = e.data(S, l); z || (z = e.data(S, l, { form: V })), k(z); var G = V.closest("div.w-form"); (z.done = G.find("> .w-form-done")), (z.fail = G.find("> .w-form-fail")), (z.fileUploads = G.find(".w-file-upload")), z.fileUploads.each(function (ee) { K(ee, z); }), y && ((z.wait = !1), D(z), i.on(typeof turnstile < "u" ? "ready" : r, function () { z5( y, S, (ee) => { (z.turnstileToken = ee), k(z); }, () => { D(z); } ); })); var Q = z.form.attr("aria-label") || z.form.attr("data-name") || "Form"; z.done.attr("aria-label") || z.form.attr("aria-label", Q), z.done.attr("tabindex", "-1"), z.done.attr("role", "region"), z.done.attr("aria-label") || z.done.attr("aria-label", Q + " success"), z.fail.attr("tabindex", "-1"), z.fail.attr("role", "region"), z.fail.attr("aria-label") || z.fail.attr("aria-label", Q + " failure"); var ie = (z.action = V.attr("action")); if (((z.handler = null), (z.redirect = V.attr("data-redirect")), E.test(ie))) { z.handler = te; return; } if (!ie) { if (p) { z.handler = (() => { let ee = Kv().default; return ee(k, s, _i, R, W, I, g, L, D, p, P, e, m); })(); return; } b(); } } function C() { (f = !0), i.on("submit", l + " form", function (ee) { var F = e.data(this, l); F.handler && ((F.evt = ee), F.handler(F)); }); let w = ".w-checkbox-input", S = ".w-radio-input", V = "w--redirected-checked", z = "w--redirected-focus", G = "w--redirected-focus-visible", Q = ":focus-visible, [data-wf-focus-visible]", ie = [ ["checkbox", w], ["radio", S], ]; i.on("change", l + ' form input[type="checkbox"]:not(' + w + ")", (ee) => { e(ee.target).siblings(w).toggleClass(V); }), i.on("change", l + ' form input[type="radio"]', (ee) => { e(`input[name="${ee.target.name}"]:not(${w})`).map((J, ne) => e(ne).siblings(S).removeClass(V)); let F = e(ee.target); F.hasClass("w-radio-input") || F.siblings(S).addClass(V); }), ie.forEach(([ee, F]) => { i.on("focus", l + ` form input[type="${ee}"]:not(` + F + ")", (J) => { e(J.target).siblings(F).addClass(z), e(J.target).filter(Q).siblings(F).addClass(G); }), i.on("blur", l + ` form input[type="${ee}"]:not(` + F + ")", (J) => { e(J.target).siblings(F).removeClass(`${z} ${G}`); }); }); } function k(w) { var S = (w.btn = w.form.find(':input[type="submit"]')); (w.wait = w.btn.attr("data-wait") || null), (w.success = !1), S.prop("disabled", !!(y && !w.turnstileToken)), w.label && S.val(w.label); } function D(w) { var S = w.btn, V = w.wait; S.prop("disabled", !0), V && ((w.label = S.val()), S.val(V)); } function I(w, S) { var V = null; return ( (S = S || {}), w.find(':input:not([type="submit"]):not([type="file"])').each(function (z, G) { var Q = e(G), ie = Q.attr("type"), ee = Q.attr("data-name") || Q.attr("name") || "Field " + (z + 1); ee = encodeURIComponent(ee); var F = Q.val(); if (ie === "checkbox") F = Q.is(":checked"); else if (ie === "radio") { if (S[ee] === null || typeof S[ee] == "string") return; F = w.find('input[name="' + Q.attr("name") + '"]:checked').val() || null; } typeof F == "string" && (F = e.trim(F)), (S[ee] = F), (V = V || B(Q, ie, ee, F)); }), V ); } function L(w) { var S = {}; return ( w.find(':input[type="file"]').each(function (V, z) { var G = e(z), Q = G.attr("data-name") || G.attr("name") || "File " + (V + 1), ie = G.attr("data-value"); typeof ie == "string" && (ie = e.trim(ie)), (S[Q] = ie); }), S ); } let O = { _mkto_trk: "marketo" }; function R() { return document.cookie.split("; ").reduce(function (S, V) { let z = V.split("="), G = z[0]; if (G in O) { let Q = O[G], ie = z.slice(1).join("="); S[Q] = ie; } return S; }, {}); } function B(w, S, V, z) { var G = null; return ( S === "password" ? (G = "Passwords cannot be submitted.") : w.attr("required") ? z ? c.test(w.attr("type")) && (h.test(z) || (G = "Please enter a valid email address for: " + V)) : (G = "Please fill out the required field: " + V) : V === "g-recaptcha-response" && !z && (G = "Please confirm you\u2019re not a robot."), G ); } function j(w) { W(w), P(w); } function te(w) { k(w); var S = w.form, V = {}; if (/^https/.test(s.href) && !/^https/.test(w.action)) { S.attr("method", "post"); return; } W(w); var z = I(S, V); if (z) return g(z); D(w); var G; t.each(V, function (F, J) { c.test(J) && (V.EMAIL = F), /^((full[ _-]?)?name)$/i.test(J) && (G = F), /^(first[ _-]?name)$/i.test(J) && (V.FNAME = F), /^(last[ _-]?name)$/i.test(J) && (V.LNAME = F); }), G && !V.FNAME && ((G = G.split(" ")), (V.FNAME = G[0]), (V.LNAME = V.LNAME || G[1])); var Q = w.action.replace("/post?", "/post-json?") + "&c=?", ie = Q.indexOf("u=") + 2; ie = Q.substring(ie, Q.indexOf("&", ie)); var ee = Q.indexOf("id=") + 3; (ee = Q.substring(ee, Q.indexOf("&", ee))), (V["b_" + ie + "_" + ee] = ""), e .ajax({ url: Q, data: V, dataType: "jsonp" }) .done(function (F) { (w.success = F.result === "success" || /already/.test(F.msg)), w.success || console.info("MailChimp error: " + F.msg), P(w); }) .fail(function () { P(w); }); } function P(w) { var S = w.form, V = w.redirect, z = w.success; if (z && V) { _i.location(V); return; } w.done.toggle(z), w.fail.toggle(!z), z ? w.done.focus() : w.fail.focus(), S.toggle(!z), k(w); } function W(w) { w.evt && w.evt.preventDefault(), (w.evt = null); } function K(w, S) { if (!S.fileUploads || !S.fileUploads[w]) return; var V, z = e(S.fileUploads[w]), G = z.find("> .w-file-upload-default"), Q = z.find("> .w-file-upload-uploading"), ie = z.find("> .w-file-upload-success"), ee = z.find("> .w-file-upload-error"), F = G.find(".w-file-upload-input"), J = G.find(".w-file-upload-label"), ne = J.children(), Y = ee.find(".w-file-upload-error-msg"), he = ie.find(".w-file-upload-file"), ye = ie.find(".w-file-remove-link"), be = he.find(".w-file-upload-file-name"), M = Y.attr("data-w-size-error"), H = Y.attr("data-w-type-error"), U = Y.attr("data-w-generic-error"); if ( (d || J.on("click keydown", function (se) { (se.type === "keydown" && se.which !== 13 && se.which !== 32) || (se.preventDefault(), F.click()); }), J.find(".w-icon-file-upload-icon").attr("aria-hidden", "true"), ye.find(".w-icon-file-upload-remove").attr("aria-hidden", "true"), d) ) F.on("click", function (se) { se.preventDefault(); }), J.on("click", function (se) { se.preventDefault(); }), ne.on("click", function (se) { se.preventDefault(); }); else { ye.on("click keydown", function (se) { if (se.type === "keydown") { if (se.which !== 13 && se.which !== 32) return; se.preventDefault(); } F.removeAttr("data-value"), F.val(""), be.html(""), G.toggle(!0), ie.toggle(!1), J.focus(); }), F.on("change", function (se) { (V = se.target && se.target.files && se.target.files[0]), V && (G.toggle(!1), ee.toggle(!1), Q.toggle(!0), Q.focus(), be.text(V.name), oe() || D(S), (S.fileUploads[w].uploading = !0), N(V, $)); }); var X = J.outerHeight(); F.height(X), F.width(1); } function Z(se) { var re = se.responseJSON && se.responseJSON.msg, ue = U; typeof re == "string" && re.indexOf("InvalidFileTypeError") === 0 ? (ue = H) : typeof re == "string" && re.indexOf("MaxFileSizeError") === 0 && (ue = M), Y.text(ue), F.removeAttr("data-value"), F.val(""), Q.toggle(!1), G.toggle(!0), ee.toggle(!0), ee.focus(), (S.fileUploads[w].uploading = !1), oe() || k(S); } function $(se, re) { if (se) return Z(se); var ue = re.fileName, ce = re.postData, ve = re.fileId, Ve = re.s3Url; F.attr("data-value", ve), q(Ve, ce, V, ue, ae); } function ae(se) { if (se) return Z(se); Q.toggle(!1), ie.css("display", "inline-block"), ie.focus(), (S.fileUploads[w].uploading = !1), oe() || k(S); } function oe() { var se = (S.fileUploads && S.fileUploads.toArray()) || []; return se.some(function (re) { return re.uploading; }); } } function N(w, S) { var V = new URLSearchParams({ name: w.name, size: w.size }); e.ajax({ type: "GET", url: `${u}?${V}`, crossDomain: !0 }) .done(function (z) { S(null, z); }) .fail(function (z) { S(z); }); } function q(w, S, V, z, G) { var Q = new FormData(); for (var ie in S) Q.append(ie, S[ie]); Q.append("file", V, z), e .ajax({ type: "POST", url: w, data: Q, processData: !1, contentType: !1 }) .done(function () { G(null); }) .fail(function (ee) { G(ee); }); } return n; }) ); }); var Zv = _((Qj, Qv) => { "use strict"; var At = Ae(), H5 = Ir(), Ce = { ARROW_LEFT: 37, ARROW_UP: 38, ARROW_RIGHT: 39, ARROW_DOWN: 40, ESCAPE: 27, SPACE: 32, ENTER: 13, HOME: 36, END: 35 }; At.define( "navbar", (Qv.exports = function (e, t) { var r = {}, n = e.tram, i = e(window), a = e(document), s = t.debounce, o, l, p, c, h = At.env(), g = '
', d = ".w-nav", f = "w--open", m = "w--nav-dropdown-open", u = "w--nav-dropdown-toggle-open", y = "w--nav-dropdown-list-open", v = "w--nav-link-open", E = H5.triggers, b = e(); (r.ready = r.design = r.preview = T), (r.destroy = function () { (b = e()), A(), l && l.length && l.each(D); }); function T() { (p = h && At.env("design")), (c = At.env("editor")), (o = e(document.body)), (l = a.find(d)), l.length && (l.each(k), A(), x()); } function A() { At.resize.off(C); } function x() { At.resize.on(C); } function C() { l.each(w); } function k(F, J) { var ne = e(J), Y = e.data(J, d); Y || (Y = e.data(J, d, { open: !1, el: ne, config: {}, selectedIdx: -1 })), (Y.menu = ne.find(".w-nav-menu")), (Y.links = Y.menu.find(".w-nav-link")), (Y.dropdowns = Y.menu.find(".w-dropdown")), (Y.dropdownToggle = Y.menu.find(".w-dropdown-toggle")), (Y.dropdownList = Y.menu.find(".w-dropdown-list")), (Y.button = ne.find(".w-nav-button")), (Y.container = ne.find(".w-container")), (Y.overlayContainerId = "w-nav-overlay-" + F), (Y.outside = N(Y)); var he = ne.find(".w-nav-brand"); he && he.attr("href") === "/" && he.attr("aria-label") == null && he.attr("aria-label", "home"), Y.button.attr("style", "-webkit-user-select: text;"), Y.button.attr("aria-label") == null && Y.button.attr("aria-label", "menu"), Y.button.attr("role", "button"), Y.button.attr("tabindex", "0"), Y.button.attr("aria-controls", Y.overlayContainerId), Y.button.attr("aria-haspopup", "menu"), Y.button.attr("aria-expanded", "false"), Y.el.off(d), Y.button.off(d), Y.menu.off(d), O(Y), p ? (I(Y), Y.el.on("setting" + d, R(Y))) : (L(Y), Y.button.on("click" + d, W(Y)), Y.menu.on("click" + d, "a", K(Y)), Y.button.on("keydown" + d, B(Y)), Y.el.on("keydown" + d, j(Y))), w(F, J); } function D(F, J) { var ne = e.data(J, d); ne && (I(ne), e.removeData(J, d)); } function I(F) { F.overlay && (ee(F, !0), F.overlay.remove(), (F.overlay = null)); } function L(F) { F.overlay || ((F.overlay = e(g).appendTo(F.el)), F.overlay.attr("id", F.overlayContainerId), (F.parent = F.menu.parent()), ee(F, !0)); } function O(F) { var J = {}, ne = F.config || {}, Y = (J.animation = F.el.attr("data-animation") || "default"); (J.animOver = /^over/.test(Y)), (J.animDirect = /left$/.test(Y) ? -1 : 1), ne.animation !== Y && F.open && t.defer(P, F), (J.easing = F.el.attr("data-easing") || "ease"), (J.easing2 = F.el.attr("data-easing2") || "ease"); var he = F.el.attr("data-duration"); (J.duration = he != null ? Number(he) : 400), (J.docHeight = F.el.attr("data-doc-height")), (F.config = J); } function R(F) { return function (J, ne) { ne = ne || {}; var Y = i.width(); O(F), ne.open === !0 && Q(F, !0), ne.open === !1 && ee(F, !0), F.open && t.defer(function () { Y !== i.width() && P(F); }); }; } function B(F) { return function (J) { switch (J.keyCode) { case Ce.SPACE: case Ce.ENTER: return W(F)(), J.preventDefault(), J.stopPropagation(); case Ce.ESCAPE: return ee(F), J.preventDefault(), J.stopPropagation(); case Ce.ARROW_RIGHT: case Ce.ARROW_DOWN: case Ce.HOME: case Ce.END: return F.open ? (J.keyCode === Ce.END ? (F.selectedIdx = F.links.length - 1) : (F.selectedIdx = 0), te(F), J.preventDefault(), J.stopPropagation()) : (J.preventDefault(), J.stopPropagation()); } }; } function j(F) { return function (J) { if (F.open) switch (((F.selectedIdx = F.links.index(document.activeElement)), J.keyCode)) { case Ce.HOME: case Ce.END: return J.keyCode === Ce.END ? (F.selectedIdx = F.links.length - 1) : (F.selectedIdx = 0), te(F), J.preventDefault(), J.stopPropagation(); case Ce.ESCAPE: return ee(F), F.button.focus(), J.preventDefault(), J.stopPropagation(); case Ce.ARROW_LEFT: case Ce.ARROW_UP: return (F.selectedIdx = Math.max(-1, F.selectedIdx - 1)), te(F), J.preventDefault(), J.stopPropagation(); case Ce.ARROW_RIGHT: case Ce.ARROW_DOWN: return (F.selectedIdx = Math.min(F.links.length - 1, F.selectedIdx + 1)), te(F), J.preventDefault(), J.stopPropagation(); } }; } function te(F) { if (F.links[F.selectedIdx]) { var J = F.links[F.selectedIdx]; J.focus(), K(J); } } function P(F) { F.open && (ee(F, !0), Q(F, !0)); } function W(F) { return s(function () { F.open ? ee(F) : Q(F); }); } function K(F) { return function (J) { var ne = e(this), Y = ne.attr("href"); if (!At.validClick(J.currentTarget)) { J.preventDefault(); return; } Y && Y.indexOf("#") === 0 && F.open && ee(F); }; } function N(F) { return ( F.outside && a.off("click" + d, F.outside), function (J) { var ne = e(J.target); (c && ne.closest(".w-editor-bem-EditorOverlay").length) || q(F, ne); } ); } var q = s(function (F, J) { if (F.open) { var ne = J.closest(".w-nav-menu"); F.menu.is(ne) || ee(F); } }); function w(F, J) { var ne = e.data(J, d), Y = (ne.collapsed = ne.button.css("display") !== "none"); if ((ne.open && !Y && !p && ee(ne, !0), ne.container.length)) { var he = V(ne); ne.links.each(he), ne.dropdowns.each(he); } ne.open && ie(ne); } var S = "max-width"; function V(F) { var J = F.container.css(S); return ( J === "none" && (J = ""), function (ne, Y) { (Y = e(Y)), Y.css(S, ""), Y.css(S) === "none" && Y.css(S, J); } ); } function z(F, J) { J.setAttribute("data-nav-menu-open", ""); } function G(F, J) { J.removeAttribute("data-nav-menu-open"); } function Q(F, J) { if (F.open) return; (F.open = !0), F.menu.each(z), F.links.addClass(v), F.dropdowns.addClass(m), F.dropdownToggle.addClass(u), F.dropdownList.addClass(y), F.button.addClass(f); var ne = F.config, Y = ne.animation; (Y === "none" || !n.support.transform || ne.duration <= 0) && (J = !0); var he = ie(F), ye = F.menu.outerHeight(!0), be = F.menu.outerWidth(!0), M = F.el.height(), H = F.el[0]; if ((w(0, H), E.intro(0, H), At.redraw.up(), p || a.on("click" + d, F.outside), J)) { Z(); return; } var U = "transform " + ne.duration + "ms " + ne.easing; if ((F.overlay && ((b = F.menu.prev()), F.overlay.show().append(F.menu)), ne.animOver)) { n(F.menu) .add(U) .set({ x: ne.animDirect * be, height: he }) .start({ x: 0 }) .then(Z), F.overlay && F.overlay.width(be); return; } var X = M + ye; n(F.menu).add(U).set({ y: -X }).start({ y: 0 }).then(Z); function Z() { F.button.attr("aria-expanded", "true"); } } function ie(F) { var J = F.config, ne = J.docHeight ? a.height() : o.height(); return J.animOver ? F.menu.height(ne) : F.el.css("position") !== "fixed" && (ne -= F.el.outerHeight(!0)), F.overlay && F.overlay.height(ne), ne; } function ee(F, J) { if (!F.open) return; (F.open = !1), F.button.removeClass(f); var ne = F.config; if (((ne.animation === "none" || !n.support.transform || ne.duration <= 0) && (J = !0), E.outro(0, F.el[0]), a.off("click" + d, F.outside), J)) { n(F.menu).stop(), H(); return; } var Y = "transform " + ne.duration + "ms " + ne.easing2, he = F.menu.outerHeight(!0), ye = F.menu.outerWidth(!0), be = F.el.height(); if (ne.animOver) { n(F.menu) .add(Y) .start({ x: ye * ne.animDirect }) .then(H); return; } var M = be + he; n(F.menu).add(Y).start({ y: -M }).then(H); function H() { F.menu.height(""), n(F.menu).set({ x: 0, y: 0 }), F.menu.each(G), F.links.removeClass(v), F.dropdowns.removeClass(m), F.dropdownToggle.removeClass(u), F.dropdownList.removeClass(y), F.overlay && F.overlay.children().length && (b.length ? F.menu.insertAfter(b) : F.menu.prependTo(F.parent), F.overlay.attr("style", "").hide()), F.el.triggerHandler("w-close"), F.button.attr("aria-expanded", "false"); } } return r; }) ); }); var e0 = _((Zj, Jv) => { "use strict"; var Pt = Ae(), W5 = Ir(); Pt.define( "tabs", (Jv.exports = function (e) { var t = {}, r = e.tram, n = e(document), i, a, s = Pt.env, o = s.safari, l = s(), p = "data-w-tab", c = "data-w-pane", h = ".w-tabs", g = "w--current", d = "w--tab-active", f = W5.triggers, m = !1; (t.ready = t.design = t.preview = u), (t.redraw = function () { (m = !0), u(), (m = !1); }), (t.destroy = function () { (i = n.find(h)), i.length && (i.each(E), y()); }); function u() { (a = l && Pt.env("design")), (i = n.find(h)), i.length && (i.each(b), Pt.env("preview") && !m && i.each(E), y(), v()); } function y() { Pt.redraw.off(t.redraw); } function v() { Pt.redraw.on(t.redraw); } function E(I, L) { var O = e.data(L, h); O && (O.links && O.links.each(f.reset), O.panes && O.panes.each(f.reset)); } function b(I, L) { var O = h.substr(1) + "-" + I, R = e(L), B = e.data(L, h); if ( (B || (B = e.data(L, h, { el: R, config: {} })), (B.current = null), (B.tabIdentifier = O + "-" + p), (B.paneIdentifier = O + "-" + c), (B.menu = R.children(".w-tab-menu")), (B.links = B.menu.children(".w-tab-link")), (B.content = R.children(".w-tab-content")), (B.panes = B.content.children(".w-tab-pane")), B.el.off(h), B.links.off(h), B.menu.attr("role", "tablist"), B.links.attr("tabindex", "-1"), T(B), !a) ) { B.links.on("click" + h, x(B)), B.links.on("keydown" + h, C(B)); var j = B.links.filter("." + g), te = j.attr(p); te && k(B, { tab: te, immediate: !0 }); } } function T(I) { var L = {}; L.easing = I.el.attr("data-easing") || "ease"; var O = parseInt(I.el.attr("data-duration-in"), 10); O = L.intro = O === O ? O : 0; var R = parseInt(I.el.attr("data-duration-out"), 10); (R = L.outro = R === R ? R : 0), (L.immediate = !O && !R), (I.config = L); } function A(I) { var L = I.current; return Array.prototype.findIndex.call(I.links, (O) => O.getAttribute(p) === L, null); } function x(I) { return function (L) { L.preventDefault(); var O = L.currentTarget.getAttribute(p); O && k(I, { tab: O }); }; } function C(I) { return function (L) { var O = A(I), R = L.key, B = { ArrowLeft: O - 1, ArrowUp: O - 1, ArrowRight: O + 1, ArrowDown: O + 1, End: I.links.length - 1, Home: 0 }; if (R in B) { L.preventDefault(); var j = B[R]; j === -1 && (j = I.links.length - 1), j === I.links.length && (j = 0); var te = I.links[j], P = te.getAttribute(p); P && k(I, { tab: P }); } }; } function k(I, L) { L = L || {}; var O = I.config, R = O.easing, B = L.tab; if (B !== I.current) { I.current = B; var j; I.links.each(function (w, S) { var V = e(S); if (L.immediate || O.immediate) { var z = I.panes[w]; S.id || (S.id = I.tabIdentifier + "-" + w), z.id || (z.id = I.paneIdentifier + "-" + w), (S.href = "#" + z.id), S.setAttribute("role", "tab"), S.setAttribute("aria-controls", z.id), S.setAttribute("aria-selected", "false"), z.setAttribute("role", "tabpanel"), z.setAttribute("aria-labelledby", S.id); } S.getAttribute(p) === B ? ((j = S), V.addClass(g).removeAttr("tabindex").attr({ "aria-selected": "true" }).each(f.intro)) : V.hasClass(g) && V.removeClass(g).attr({ tabindex: "-1", "aria-selected": "false" }).each(f.outro); }); var te = [], P = []; I.panes.each(function (w, S) { var V = e(S); S.getAttribute(p) === B ? te.push(S) : V.hasClass(d) && P.push(S); }); var W = e(te), K = e(P); if (L.immediate || O.immediate) { W.addClass(d).each(f.intro), K.removeClass(d), m || Pt.redraw.up(); return; } else { var N = window.scrollX, q = window.scrollY; j.focus(), window.scrollTo(N, q); } K.length && O.outro ? (K.each(f.outro), r(K) .add("opacity " + O.outro + "ms " + R, { fallback: o }) .start({ opacity: 0 }) .then(() => D(O, K, W))) : D(O, K, W); } } function D(I, L, O) { if ((L.removeClass(d).css({ opacity: "", transition: "", transform: "", width: "", height: "" }), O.addClass(d).each(f.intro), Pt.redraw.up(), !I.intro)) return r(O).set({ opacity: 1 }); r(O) .set({ opacity: 0 }) .redraw() .add("opacity " + I.intro + "ms " + I.easing, { fallback: o }) .start({ opacity: 1 }); } return t; }) ); }); var pe = _((Jj, t0) => { var Si = function (e) { return e && e.Math == Math && e; }; t0.exports = Si(typeof globalThis == "object" && globalThis) || Si(typeof window == "object" && window) || Si(typeof self == "object" && self) || Si(typeof global == "object" && global) || (function () { return this; })() || Function("return this")(); }); var Ct = _((eX, r0) => { r0.exports = function (e) { try { return !!e(); } catch { return !0; } }; }); var pt = _((tX, n0) => { var U5 = Ct(); n0.exports = !U5(function () { return ( Object.defineProperty({}, 1, { get: function () { return 7; }, })[1] != 7 ); }); }); var Wt = _((rX, i0) => { var Jr = Function.prototype.call; i0.exports = Jr.bind ? Jr.bind(Jr) : function () { return Jr.apply(Jr, arguments); }; }); var l0 = _((o0) => { "use strict"; var a0 = {}.propertyIsEnumerable, s0 = Object.getOwnPropertyDescriptor, j5 = s0 && !a0.call({ 1: 2 }, 1); o0.f = j5 ? function (t) { var r = s0(this, t); return !!r && r.enumerable; } : a0; }); var So = _((iX, u0) => { u0.exports = function (e, t) { return { enumerable: !(e & 1), configurable: !(e & 2), writable: !(e & 4), value: t }; }; }); var we = _((aX, h0) => { var c0 = Function.prototype, To = c0.bind, Io = c0.call, X5 = To && To.bind(Io); h0.exports = To ? function (e) { return e && X5(Io, e); } : function (e) { return ( e && function () { return Io.apply(e, arguments); } ); }; }); var Ti = _((sX, p0) => { var f0 = we(), K5 = f0({}.toString), Y5 = f0("".slice); p0.exports = function (e) { return Y5(K5(e), 8, -1); }; }); var Ii = _((oX, d0) => { var $5 = pe(), Q5 = we(), Z5 = Ct(), J5 = Ti(), xo = $5.Object, eG = Q5("".split); d0.exports = Z5(function () { return !xo("z").propertyIsEnumerable(0); }) ? function (e) { return J5(e) == "String" ? eG(e, "") : xo(e); } : xo; }); var Ao = _((lX, m0) => { var tG = pe(), rG = tG.TypeError; m0.exports = function (e) { if (e == null) throw rG("Can't call method on " + e); return e; }; }); var en = _((uX, g0) => { var nG = Ii(), iG = Ao(); g0.exports = function (e) { return nG(iG(e)); }; }); var Re = _((cX, y0) => { y0.exports = function (e) { return typeof e == "function"; }; }); var Ut = _((hX, v0) => { var aG = Re(); v0.exports = function (e) { return typeof e == "object" ? e !== null : aG(e); }; }); var ot = _((fX, E0) => { var Po = pe(), sG = Re(), oG = function (e) { return sG(e) ? e : void 0; }; E0.exports = function (e, t) { return arguments.length < 2 ? oG(Po[e]) : Po[e] && Po[e][t]; }; }); var _0 = _((pX, b0) => { var lG = we(); b0.exports = lG({}.isPrototypeOf); }); var T0 = _((dX, S0) => { var uG = ot(); S0.exports = uG("navigator", "userAgent") || ""; }); var O0 = _((mX, w0) => { var C0 = pe(), Co = T0(), I0 = C0.process, x0 = C0.Deno, A0 = (I0 && I0.versions) || (x0 && x0.version), P0 = A0 && A0.v8, Qe, xi; P0 && ((Qe = P0.split(".")), (xi = Qe[0] > 0 && Qe[0] < 4 ? 1 : +(Qe[0] + Qe[1]))); !xi && Co && ((Qe = Co.match(/Edge\/(\d+)/)), (!Qe || Qe[1] >= 74) && ((Qe = Co.match(/Chrome\/(\d+)/)), Qe && (xi = +Qe[1]))); w0.exports = xi; }); var wo = _((gX, D0) => { var M0 = O0(), cG = Ct(); D0.exports = !!Object.getOwnPropertySymbols && !cG(function () { var e = Symbol(); return !String(e) || !(Object(e) instanceof Symbol) || (!Symbol.sham && M0 && M0 < 41); }); }); var Oo = _((yX, R0) => { var hG = wo(); R0.exports = hG && !Symbol.sham && typeof Symbol.iterator == "symbol"; }); var Mo = _((vX, F0) => { var fG = pe(), pG = ot(), dG = Re(), mG = _0(), gG = Oo(), yG = fG.Object; F0.exports = gG ? function (e) { return typeof e == "symbol"; } : function (e) { var t = pG("Symbol"); return dG(t) && mG(t.prototype, yG(e)); }; }); var Do = _((EX, L0) => { var vG = pe(), EG = vG.String; L0.exports = function (e) { try { return EG(e); } catch { return "Object"; } }; }); var xr = _((bX, k0) => { var bG = pe(), _G = Re(), SG = Do(), TG = bG.TypeError; k0.exports = function (e) { if (_G(e)) return e; throw TG(SG(e) + " is not a function"); }; }); var jt = _((_X, N0) => { var IG = xr(); N0.exports = function (e, t) { var r = e[t]; return r == null ? void 0 : IG(r); }; }); var B0 = _((SX, q0) => { var xG = pe(), Ro = Wt(), Fo = Re(), Lo = Ut(), AG = xG.TypeError; q0.exports = function (e, t) { var r, n; if ((t === "string" && Fo((r = e.toString)) && !Lo((n = Ro(r, e)))) || (Fo((r = e.valueOf)) && !Lo((n = Ro(r, e)))) || (t !== "string" && Fo((r = e.toString)) && !Lo((n = Ro(r, e))))) return n; throw AG("Can't convert object to primitive value"); }; }); var ko = _((TX, V0) => { V0.exports = !1; }); var Ai = _((IX, z0) => { var G0 = pe(), PG = Object.defineProperty; z0.exports = function (e, t) { try { PG(G0, e, { value: t, configurable: !0, writable: !0 }); } catch { G0[e] = t; } return t; }; }); var tn = _((xX, W0) => { var CG = pe(), wG = Ai(), H0 = "__core-js_shared__", OG = CG[H0] || wG(H0, {}); W0.exports = OG; }); var No = _((AX, j0) => { var MG = ko(), U0 = tn(); (j0.exports = function (e, t) { return U0[e] || (U0[e] = t !== void 0 ? t : {}); })("versions", []).push({ version: "3.19.0", mode: MG ? "pure" : "global", copyright: "\xA9 2021 Denis Pushkarev (zloirock.ru)" }); }); var dt = _((PX, X0) => { var DG = pe(), RG = Ao(), FG = DG.Object; X0.exports = function (e) { return FG(RG(e)); }; }); var mt = _((CX, K0) => { var LG = we(), kG = dt(), NG = LG({}.hasOwnProperty); K0.exports = Object.hasOwn || function (t, r) { return NG(kG(t), r); }; }); var qo = _((wX, Y0) => { var qG = we(), BG = 0, VG = Math.random(), GG = qG((1).toString); Y0.exports = function (e) { return "Symbol(" + (e === void 0 ? "" : e) + ")_" + GG(++BG + VG, 36); }; }); var lt = _((OX, eE) => { var zG = pe(), HG = No(), $0 = mt(), WG = qo(), Q0 = wo(), J0 = Oo(), Ar = HG("wks"), Xt = zG.Symbol, Z0 = Xt && Xt.for, UG = J0 ? Xt : (Xt && Xt.withoutSetter) || WG; eE.exports = function (e) { if (!$0(Ar, e) || !(Q0 || typeof Ar[e] == "string")) { var t = "Symbol." + e; Q0 && $0(Xt, e) ? (Ar[e] = Xt[e]) : J0 && Z0 ? (Ar[e] = Z0(t)) : (Ar[e] = UG(t)); } return Ar[e]; }; }); var iE = _((MX, nE) => { var jG = pe(), XG = Wt(), tE = Ut(), rE = Mo(), KG = jt(), YG = B0(), $G = lt(), QG = jG.TypeError, ZG = $G("toPrimitive"); nE.exports = function (e, t) { if (!tE(e) || rE(e)) return e; var r = KG(e, ZG), n; if (r) { if ((t === void 0 && (t = "default"), (n = XG(r, e, t)), !tE(n) || rE(n))) return n; throw QG("Can't convert object to primitive value"); } return t === void 0 && (t = "number"), YG(e, t); }; }); var Pi = _((DX, aE) => { var JG = iE(), e6 = Mo(); aE.exports = function (e) { var t = JG(e, "string"); return e6(t) ? t : t + ""; }; }); var Vo = _((RX, oE) => { var t6 = pe(), sE = Ut(), Bo = t6.document, r6 = sE(Bo) && sE(Bo.createElement); oE.exports = function (e) { return r6 ? Bo.createElement(e) : {}; }; }); var Go = _((FX, lE) => { var n6 = pt(), i6 = Ct(), a6 = Vo(); lE.exports = !n6 && !i6(function () { return ( Object.defineProperty(a6("div"), "a", { get: function () { return 7; }, }).a != 7 ); }); }); var zo = _((cE) => { var s6 = pt(), o6 = Wt(), l6 = l0(), u6 = So(), c6 = en(), h6 = Pi(), f6 = mt(), p6 = Go(), uE = Object.getOwnPropertyDescriptor; cE.f = s6 ? uE : function (t, r) { if (((t = c6(t)), (r = h6(r)), p6)) try { return uE(t, r); } catch { } if (f6(t, r)) return u6(!o6(l6.f, t, r), t[r]); }; }); var gt = _((kX, fE) => { var hE = pe(), d6 = Ut(), m6 = hE.String, g6 = hE.TypeError; fE.exports = function (e) { if (d6(e)) return e; throw g6(m6(e) + " is not an object"); }; }); var Kt = _((mE) => { var y6 = pe(), v6 = pt(), E6 = Go(), pE = gt(), b6 = Pi(), _6 = y6.TypeError, dE = Object.defineProperty; mE.f = v6 ? dE : function (t, r, n) { if ((pE(t), (r = b6(r)), pE(n), E6)) try { return dE(t, r, n); } catch { } if ("get" in n || "set" in n) throw _6("Accessors not supported"); return "value" in n && (t[r] = n.value), t; }; }); var Ci = _((qX, gE) => { var S6 = pt(), T6 = Kt(), I6 = So(); gE.exports = S6 ? function (e, t, r) { return T6.f(e, t, I6(1, r)); } : function (e, t, r) { return (e[t] = r), e; }; }); var wi = _((BX, yE) => { var x6 = we(), A6 = Re(), Ho = tn(), P6 = x6(Function.toString); A6(Ho.inspectSource) || (Ho.inspectSource = function (e) { return P6(e); }); yE.exports = Ho.inspectSource; }); var bE = _((VX, EE) => { var C6 = pe(), w6 = Re(), O6 = wi(), vE = C6.WeakMap; EE.exports = w6(vE) && /native code/.test(O6(vE)); }); var Oi = _((GX, SE) => { var M6 = No(), D6 = qo(), _E = M6("keys"); SE.exports = function (e) { return _E[e] || (_E[e] = D6(e)); }; }); var Mi = _((zX, TE) => { TE.exports = {}; }); var Yo = _((HX, CE) => { var R6 = bE(), PE = pe(), Wo = we(), F6 = Ut(), L6 = Ci(), Uo = mt(), jo = tn(), k6 = Oi(), N6 = Mi(), IE = "Object already initialized", Ko = PE.TypeError, q6 = PE.WeakMap, Di, rn, Ri, B6 = function (e) { return Ri(e) ? rn(e) : Di(e, {}); }, V6 = function (e) { return function (t) { var r; if (!F6(t) || (r = rn(t)).type !== e) throw Ko("Incompatible receiver, " + e + " required"); return r; }; }; R6 || jo.state ? ((wt = jo.state || (jo.state = new q6())), (xE = Wo(wt.get)), (Xo = Wo(wt.has)), (AE = Wo(wt.set)), (Di = function (e, t) { if (Xo(wt, e)) throw new Ko(IE); return (t.facade = e), AE(wt, e, t), t; }), (rn = function (e) { return xE(wt, e) || {}; }), (Ri = function (e) { return Xo(wt, e); })) : ((Yt = k6("state")), (N6[Yt] = !0), (Di = function (e, t) { if (Uo(e, Yt)) throw new Ko(IE); return (t.facade = e), L6(e, Yt, t), t; }), (rn = function (e) { return Uo(e, Yt) ? e[Yt] : {}; }), (Ri = function (e) { return Uo(e, Yt); })); var wt, xE, Xo, AE, Yt; CE.exports = { set: Di, get: rn, has: Ri, enforce: B6, getterFor: V6 }; }); var ME = _((WX, OE) => { var $o = pt(), G6 = mt(), wE = Function.prototype, z6 = $o && Object.getOwnPropertyDescriptor, Qo = G6(wE, "name"), H6 = Qo && function () { }.name === "something", W6 = Qo && (!$o || ($o && z6(wE, "name").configurable)); OE.exports = { EXISTS: Qo, PROPER: H6, CONFIGURABLE: W6 }; }); var Fi = _((UX, LE) => { var U6 = pe(), DE = Re(), j6 = mt(), RE = Ci(), X6 = Ai(), K6 = wi(), FE = Yo(), Y6 = ME().CONFIGURABLE, $6 = FE.get, Q6 = FE.enforce, Z6 = String(String).split("String"); (LE.exports = function (e, t, r, n) { var i = n ? !!n.unsafe : !1, a = n ? !!n.enumerable : !1, s = n ? !!n.noTargetGet : !1, o = n && n.name !== void 0 ? n.name : t, l; if ( (DE(r) && (String(o).slice(0, 7) === "Symbol(" && (o = "[" + String(o).replace(/^Symbol\(([^)]*)\)/, "$1") + "]"), (!j6(r, "name") || (Y6 && r.name !== o)) && RE(r, "name", o), (l = Q6(r)), l.source || (l.source = Z6.join(typeof o == "string" ? o : ""))), e === U6) ) { a ? (e[t] = r) : X6(t, r); return; } else i ? !s && e[t] && (a = !0) : delete e[t]; a ? (e[t] = r) : RE(e, t, r); })(Function.prototype, "toString", function () { return (DE(this) && $6(this).source) || K6(this); }); }); var Zo = _((jX, kE) => { var J6 = Math.ceil, ez = Math.floor; kE.exports = function (e) { var t = +e; return t !== t || t === 0 ? 0 : (t > 0 ? ez : J6)(t); }; }); var qE = _((XX, NE) => { var tz = Zo(), rz = Math.max, nz = Math.min; NE.exports = function (e, t) { var r = tz(e); return r < 0 ? rz(r + t, 0) : nz(r, t); }; }); var VE = _((KX, BE) => { var iz = Zo(), az = Math.min; BE.exports = function (e) { return e > 0 ? az(iz(e), 9007199254740991) : 0; }; }); var $t = _((YX, GE) => { var sz = VE(); GE.exports = function (e) { return sz(e.length); }; }); var WE = _(($X, HE) => { var oz = en(), lz = qE(), uz = $t(), zE = function (e) { return function (t, r, n) { var i = oz(t), a = uz(i), s = lz(n, a), o; if (e && r != r) { for (; a > s;) if (((o = i[s++]), o != o)) return !0; } else for (; a > s; s++) if ((e || s in i) && i[s] === r) return e || s || 0; return !e && -1; }; }; HE.exports = { includes: zE(!0), indexOf: zE(!1) }; }); var el = _((QX, jE) => { var cz = we(), Jo = mt(), hz = en(), fz = WE().indexOf, pz = Mi(), UE = cz([].push); jE.exports = function (e, t) { var r = hz(e), n = 0, i = [], a; for (a in r) !Jo(pz, a) && Jo(r, a) && UE(i, a); for (; t.length > n;) Jo(r, (a = t[n++])) && (~fz(i, a) || UE(i, a)); return i; }; }); var Li = _((ZX, XE) => { XE.exports = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"]; }); var YE = _((KE) => { var dz = el(), mz = Li(), gz = mz.concat("length", "prototype"); KE.f = Object.getOwnPropertyNames || function (t) { return dz(t, gz); }; }); var QE = _(($E) => { $E.f = Object.getOwnPropertySymbols; }); var JE = _((tK, ZE) => { var yz = ot(), vz = we(), Ez = YE(), bz = QE(), _z = gt(), Sz = vz([].concat); ZE.exports = yz("Reflect", "ownKeys") || function (t) { var r = Ez.f(_z(t)), n = bz.f; return n ? Sz(r, n(t)) : r; }; }); var t1 = _((rK, e1) => { var Tz = mt(), Iz = JE(), xz = zo(), Az = Kt(); e1.exports = function (e, t) { for (var r = Iz(t), n = Az.f, i = xz.f, a = 0; a < r.length; a++) { var s = r[a]; Tz(e, s) || n(e, s, i(t, s)); } }; }); var n1 = _((nK, r1) => { var Pz = Ct(), Cz = Re(), wz = /#|\.prototype\./, nn = function (e, t) { var r = Mz[Oz(e)]; return r == Rz ? !0 : r == Dz ? !1 : Cz(t) ? Pz(t) : !!t; }, Oz = (nn.normalize = function (e) { return String(e).replace(wz, ".").toLowerCase(); }), Mz = (nn.data = {}), Dz = (nn.NATIVE = "N"), Rz = (nn.POLYFILL = "P"); r1.exports = nn; }); var Qt = _((iK, i1) => { var tl = pe(), Fz = zo().f, Lz = Ci(), kz = Fi(), Nz = Ai(), qz = t1(), Bz = n1(); i1.exports = function (e, t) { var r = e.target, n = e.global, i = e.stat, a, s, o, l, p, c; if ((n ? (s = tl) : i ? (s = tl[r] || Nz(r, {})) : (s = (tl[r] || {}).prototype), s)) for (o in t) { if (((p = t[o]), e.noTargetGet ? ((c = Fz(s, o)), (l = c && c.value)) : (l = s[o]), (a = Bz(n ? o : r + (i ? "." : "#") + o, e.forced)), !a && l !== void 0)) { if (typeof p == typeof l) continue; qz(p, l); } (e.sham || (l && l.sham)) && Lz(p, "sham", !0), kz(s, o, p, e); } }; }); var ki = _((aK, o1) => { var a1 = we(), Vz = xr(), s1 = a1(a1.bind); o1.exports = function (e, t) { return ( Vz(e), t === void 0 ? e : s1 ? s1(e, t) : function () { return e.apply(t, arguments); } ); }; }); var c1 = _((sK, u1) => { var Gz = lt(), zz = Gz("toStringTag"), l1 = {}; l1[zz] = "z"; u1.exports = String(l1) === "[object z]"; }); var rl = _((oK, h1) => { var Hz = pe(), Wz = c1(), Uz = Re(), Ni = Ti(), jz = lt(), Xz = jz("toStringTag"), Kz = Hz.Object, Yz = Ni( (function () { return arguments; })() ) == "Arguments", $z = function (e, t) { try { return e[t]; } catch { } }; h1.exports = Wz ? Ni : function (e) { var t, r, n; return e === void 0 ? "Undefined" : e === null ? "Null" : typeof (r = $z((t = Kz(e)), Xz)) == "string" ? r : Yz ? Ni(t) : (n = Ni(t)) == "Object" && Uz(t.callee) ? "Arguments" : n; }; }); var il = _((lK, m1) => { var Qz = we(), Zz = Ct(), f1 = Re(), Jz = rl(), e4 = ot(), t4 = wi(), p1 = function () { }, r4 = [], d1 = e4("Reflect", "construct"), nl = /^\s*(?:class|function)\b/, n4 = Qz(nl.exec), i4 = !nl.exec(p1), an = function (e) { if (!f1(e)) return !1; try { return d1(p1, r4, e), !0; } catch { return !1; } }, a4 = function (e) { if (!f1(e)) return !1; switch (Jz(e)) { case "AsyncFunction": case "GeneratorFunction": case "AsyncGeneratorFunction": return !1; } return i4 || !!n4(nl, t4(e)); }; m1.exports = !d1 || Zz(function () { var e; return ( an(an.call) || !an(Object) || !an(function () { e = !0; }) || e ); }) ? a4 : an; }); var E1 = _((uK, v1) => { var al = Function.prototype, g1 = al.apply, s4 = al.bind, y1 = al.call; v1.exports = (typeof Reflect == "object" && Reflect.apply) || (s4 ? y1.bind(g1) : function () { return y1.apply(g1, arguments); }); }); var _1 = _((cK, b1) => { var o4 = el(), l4 = Li(); b1.exports = Object.keys || function (t) { return o4(t, l4); }; }); var T1 = _((hK, S1) => { var u4 = pt(), c4 = Kt(), h4 = gt(), f4 = en(), p4 = _1(); S1.exports = u4 ? Object.defineProperties : function (t, r) { h4(t); for (var n = f4(r), i = p4(r), a = i.length, s = 0, o; a > s;) c4.f(t, (o = i[s++]), n[o]); return t; }; }); var x1 = _((fK, I1) => { var d4 = ot(); I1.exports = d4("document", "documentElement"); }); var sn = _((pK, D1) => { var m4 = gt(), g4 = T1(), A1 = Li(), y4 = Mi(), v4 = x1(), E4 = Vo(), b4 = Oi(), P1 = ">", C1 = "<", ol = "prototype", ll = "script", O1 = b4("IE_PROTO"), sl = function () { }, M1 = function (e) { return C1 + ll + P1 + e + C1 + "/" + ll + P1; }, w1 = function (e) { e.write(M1("")), e.close(); var t = e.parentWindow.Object; return (e = null), t; }, _4 = function () { var e = E4("iframe"), t = "java" + ll + ":", r; return (e.style.display = "none"), v4.appendChild(e), (e.src = String(t)), (r = e.contentWindow.document), r.open(), r.write(M1("document.F=Object")), r.close(), r.F; }, qi, Bi = function () { try { qi = new ActiveXObject("htmlfile"); } catch { } Bi = typeof document < "u" ? (document.domain && qi ? w1(qi) : _4()) : w1(qi); for (var e = A1.length; e--;) delete Bi[ol][A1[e]]; return Bi(); }; y4[O1] = !0; D1.exports = Object.create || function (t, r) { var n; return t !== null ? ((sl[ol] = m4(t)), (n = new sl()), (sl[ol] = null), (n[O1] = t)) : (n = Bi()), r === void 0 ? n : g4(n, r); }; }); var F1 = _((dK, R1) => { var S4 = Fi(); R1.exports = function (e, t, r) { for (var n in t) S4(e, n, t[n], r); return e; }; }); var k1 = _((mK, L1) => { var T4 = Ct(); L1.exports = !T4(function () { function e() { } return (e.prototype.constructor = null), Object.getPrototypeOf(new e()) !== e.prototype; }); }); var B1 = _((gK, q1) => { var I4 = pe(), x4 = mt(), A4 = Re(), P4 = dt(), C4 = Oi(), w4 = k1(), N1 = C4("IE_PROTO"), ul = I4.Object, O4 = ul.prototype; q1.exports = w4 ? ul.getPrototypeOf : function (e) { var t = P4(e); if (x4(t, N1)) return t[N1]; var r = t.constructor; return A4(r) && t instanceof r ? r.prototype : t instanceof ul ? O4 : null; }; }); var K1 = _((yK, X1) => { var W1 = pe(), U1 = tn(), j1 = Re(), M4 = sn(), Vi = B1(), D4 = Fi(), R4 = lt(), F4 = ko(), V1 = "USE_FUNCTION_CONSTRUCTOR", G1 = R4("asyncIterator"), z1 = W1.AsyncIterator, H1 = U1.AsyncIteratorPrototype, ut, cl; if (H1) ut = H1; else if (j1(z1)) ut = z1.prototype; else if (U1[V1] || W1[V1]) try { (cl = Vi(Vi(Vi(Function("return async function*(){}()")())))), Vi(cl) === Object.prototype && (ut = cl); } catch { } ut ? F4 && (ut = M4(ut)) : (ut = {}); j1(ut[G1]) || D4(ut, G1, function () { return this; }); X1.exports = ut; }); var dl = _((vK, Z1) => { "use strict"; var hl = E1(), Gi = gt(), L4 = sn(), Y1 = jt(), k4 = F1(), $1 = Yo(), N4 = ot(), q4 = K1(), zi = N4("Promise"), B4 = $1.set, fl = $1.get, pl = function (e, t, r) { var n = e.done; zi.resolve(e.value).then(function (i) { t({ done: n, value: i }); }, r); }, Q1 = function (t) { B4(this, { iterator: Gi(t), next: t.next }); }; Q1.prototype = k4(L4(q4), { next: function (t) { var r = fl(this), n = !!arguments.length; return new zi(function (i, a) { var s = Gi(hl(r.next, r.iterator, n ? [t] : [])); pl(s, i, a); }); }, return: function (e) { var t = fl(this).iterator, r = !!arguments.length; return new zi(function (n, i) { var a = Y1(t, "return"); if (a === void 0) return n({ done: !0, value: e }); var s = Gi(hl(a, t, r ? [e] : [])); pl(s, n, i); }); }, throw: function (e) { var t = fl(this).iterator, r = !!arguments.length; return new zi(function (n, i) { var a = Y1(t, "throw"); if (a === void 0) return i(e); var s = Gi(hl(a, t, r ? [e] : [])); pl(s, n, i); }); }, }); Z1.exports = Q1; }); var eb = _((EK, J1) => { J1.exports = {}; }); var ml = _((bK, rb) => { var V4 = rl(), tb = jt(), G4 = eb(), z4 = lt(), H4 = z4("iterator"); rb.exports = function (e) { if (e != null) return tb(e, H4) || tb(e, "@@iterator") || G4[V4(e)]; }; }); var gl = _((_K, nb) => { var W4 = pe(), U4 = Wt(), j4 = xr(), X4 = gt(), K4 = Do(), Y4 = ml(), $4 = W4.TypeError; nb.exports = function (e, t) { var r = arguments.length < 2 ? Y4(e) : t; if (j4(r)) return X4(U4(r, e)); throw $4(K4(e) + " is not iterable"); }; }); var ab = _((SK, ib) => { var Q4 = Wt(), Z4 = dl(), J4 = gt(), e8 = gl(), t8 = jt(), r8 = lt(), n8 = r8("asyncIterator"); ib.exports = function (e, t) { var r = arguments.length < 2 ? t8(e, n8) : t; return r ? J4(Q4(r, e)) : new Z4(e8(e)); }; }); var lb = _((TK, sb) => { var i8 = pe(); sb.exports = function (e) { return i8[e].prototype; }; }); var fb = _((IK, hb) => { "use strict"; var a8 = pe(), ub = Wt(), cb = xr(), yl = gt(), s8 = ot(), o8 = jt(), l8 = 9007199254740991, u8 = a8.TypeError, on = function (e) { var t = e == 0, r = e == 1, n = e == 2, i = e == 3; return function (a, s, o) { yl(a); var l = s8("Promise"), p = cb(a.next), c = 0, h = s !== void 0; return ( (h || !t) && cb(s), new l(function (g, d) { var f = function (y, v) { try { var E = o8(a, "return"); if (E) return l.resolve(ub(E, a)).then( function () { y(v); }, function (b) { d(b); } ); } catch (b) { return d(b); } y(v); }, m = function (y) { f(d, y); }, u = function () { try { if (t && c > l8 && h) throw u8("The allowed number of iterations has been exceeded"); l.resolve(yl(ub(p, a))).then(function (y) { try { if (yl(y).done) t ? ((o.length = c), g(o)) : g(i ? !1 : n || void 0); else { var v = y.value; h ? l.resolve(t ? s(v, c) : s(v)).then(function (E) { r ? u() : n ? (E ? u() : f(g, !1)) : t ? ((o[c++] = E), u()) : E ? f(g, i || v) : u(); }, m) : ((o[c++] = v), u()); } } catch (E) { m(E); } }, m); } catch (y) { m(y); } }; u(); }) ); }; }; hb.exports = { toArray: on(0), forEach: on(1), every: on(2), some: on(3), find: on(4) }; }); var db = _((xK, pb) => { "use strict"; var c8 = ki(), h8 = dt(), f8 = il(), p8 = ab(), d8 = gl(), m8 = ml(), g8 = jt(), y8 = lb(), v8 = ot(), E8 = lt(), b8 = dl(), _8 = fb().toArray, S8 = E8("asyncIterator"), T8 = y8("Array").values; pb.exports = function (t) { var r = this, n = arguments.length, i = n > 1 ? arguments[1] : void 0, a = n > 2 ? arguments[2] : void 0; return new (v8("Promise"))(function (s) { var o = h8(t); i !== void 0 && (i = c8(i, a)); var l = g8(o, S8), p = l ? void 0 : m8(o) || T8, c = f8(r) ? new r() : [], h = l ? p8(o, l) : new b8(d8(o, p)); s(_8(h, i, c)); }); }; }); var mb = _(() => { var I8 = Qt(), x8 = db(); I8({ target: "Array", stat: !0 }, { fromAsync: x8 }); }); var vl = _((CK, gb) => { var A8 = Ti(); gb.exports = Array.isArray || function (t) { return A8(t) == "Array"; }; }); var El = _((wK, Eb) => { var P8 = pe(), yb = vl(), C8 = il(), w8 = Ut(), O8 = lt(), M8 = O8("species"), vb = P8.Array; Eb.exports = function (e) { var t; return yb(e) && ((t = e.constructor), C8(t) && (t === vb || yb(t.prototype)) ? (t = void 0) : w8(t) && ((t = t[M8]), t === null && (t = void 0))), t === void 0 ? vb : t; }; }); var bl = _((OK, bb) => { var D8 = El(); bb.exports = function (e, t) { return new (D8(e))(t === 0 ? 0 : t); }; }); var _l = _((MK, Sb) => { var R8 = ki(), F8 = we(), L8 = Ii(), k8 = dt(), N8 = $t(), q8 = bl(), _b = F8([].push), Ot = function (e) { var t = e == 1, r = e == 2, n = e == 3, i = e == 4, a = e == 6, s = e == 7, o = e == 5 || a; return function (l, p, c, h) { for (var g = k8(l), d = L8(g), f = R8(p, c), m = N8(d), u = 0, y = h || q8, v = t ? y(l, m) : r || s ? y(l, 0) : void 0, E, b; m > u; u++) if ((o || u in d) && ((E = d[u]), (b = f(E, u, g)), e)) if (t) v[u] = b; else if (b) switch (e) { case 3: return !0; case 5: return E; case 6: return u; case 2: _b(v, E); } else switch (e) { case 4: return !1; case 7: _b(v, E); } return a ? -1 : n || i ? i : v; }; }; Sb.exports = { forEach: Ot(0), map: Ot(1), filter: Ot(2), some: Ot(3), every: Ot(4), find: Ot(5), findIndex: Ot(6), filterReject: Ot(7) }; }); var Zt = _((DK, Tb) => { var B8 = lt(), V8 = sn(), G8 = Kt(), Sl = B8("unscopables"), Tl = Array.prototype; Tl[Sl] == null && G8.f(Tl, Sl, { configurable: !0, value: V8(null) }); Tb.exports = function (e) { Tl[Sl][e] = !0; }; }); var Ib = _(() => { "use strict"; var z8 = Qt(), H8 = _l().filterReject, W8 = Zt(); z8( { target: "Array", proto: !0 }, { filterOut: function (t) { return H8(this, t, arguments.length > 1 ? arguments[1] : void 0); }, } ); W8("filterOut"); }); var xb = _(() => { "use strict"; var U8 = Qt(), j8 = _l().filterReject, X8 = Zt(); U8( { target: "Array", proto: !0 }, { filterReject: function (t) { return j8(this, t, arguments.length > 1 ? arguments[1] : void 0); }, } ); X8("filterReject"); }); var Pb = _((NK, Ab) => { Ab.exports = function (e, t) { for (var r = 0, n = t.length, i = new e(n); n > r;) i[r] = t[r++]; return i; }; }); var wb = _((qK, Cb) => { var K8 = pe(), Y8 = ki(), $8 = we(), Q8 = Ii(), Z8 = dt(), J8 = Pi(), eH = $t(), tH = sn(), rH = Pb(), nH = K8.Array, iH = $8([].push); Cb.exports = function (e, t, r, n) { for (var i = Z8(e), a = Q8(i), s = Y8(t, r), o = tH(null), l = eH(a), p = 0, c, h, g; l > p; p++) (g = a[p]), (h = J8(s(g, p, i))), h in o ? iH(o[h], g) : (o[h] = [g]); if (n && ((c = n(i)), c !== nH)) for (h in o) o[h] = rH(c, o[h]); return o; }; }); var Ob = _(() => { "use strict"; var aH = Qt(), sH = wb(), oH = El(), lH = Zt(); aH( { target: "Array", proto: !0 }, { groupBy: function (t) { var r = arguments.length > 1 ? arguments[1] : void 0; return sH(this, t, r, oH); }, } ); lH("groupBy"); }); var Rb = _(() => { var uH = Qt(), cH = vl(), Mb = Object.isFrozen, Db = function (e, t) { if (!Mb || !cH(e) || !Mb(e)) return !1; for (var r = 0, n = e.length, i; r < n;) if (((i = e[r++]), !(typeof i == "string" || (t && typeof i > "u")))) return !1; return n !== 0; }; uH( { target: "Array", stat: !0 }, { isTemplateObject: function (t) { if (!Db(t, !0)) return !1; var r = t.raw; return !(r.length !== t.length || !Db(r, !1)); }, } ); }); var Fb = _(() => { "use strict"; var hH = pt(), fH = Zt(), pH = dt(), dH = $t(), mH = Kt().f; hH && !("lastIndex" in []) && (mH(Array.prototype, "lastIndex", { configurable: !0, get: function () { var t = pH(this), r = dH(t); return r == 0 ? 0 : r - 1; }, }), fH("lastIndex")); }); var Nb = _(() => { "use strict"; var gH = pt(), yH = Zt(), Lb = dt(), kb = $t(), vH = Kt().f; gH && !("lastItem" in []) && (vH(Array.prototype, "lastItem", { configurable: !0, get: function () { var t = Lb(this), r = kb(t); return r == 0 ? void 0 : t[r - 1]; }, set: function (t) { var r = Lb(this), n = kb(r); return (r[n == 0 ? 0 : n - 1] = t); }, }), yH("lastItem")); }); var Vb = _((XK, Bb) => { "use strict"; var EH = ot(), Hi = we(), bH = xr(), _H = $t(), SH = dt(), TH = bl(), qb = EH("Map"), Il = qb.prototype, IH = Hi(Il.forEach), xH = Hi(Il.has), AH = Hi(Il.set), PH = Hi([].push); Bb.exports = function (t) { var r = SH(this), n = _H(r), i = TH(r, 0), a = new qb(), s = t != null ? bH(t) : function (c) { return c; }, o, l, p; for (o = 0; o < n; o++) (l = r[o]), (p = s(l)), xH(a, p) || AH(a, p, l); return ( IH(a, function (c) { PH(i, c); }), i ); }; }); var Gb = _(() => { "use strict"; var CH = Qt(), wH = Zt(), OH = Vb(); CH({ target: "Array", proto: !0 }, { uniqueBy: OH }); wH("uniqueBy"); }); var a_ = _((Ol) => { "use strict"; Object.defineProperty(Ol, "__esModule", { value: !0 }); function MH(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } MH(Ol, { strFromU8: function () { return i_; }, unzip: function () { return WH; }, }); var zb = {}, DH = function (e, t, r, n, i) { let a = new Worker(zb[t] || (zb[t] = URL.createObjectURL(new Blob([e + ';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'], { type: "text/javascript" })))); return ( (a.onmessage = function (s) { let o = s.data, l = o.$e$; if (l) { let p = new Error(l[0]); (p.code = l[1]), (p.stack = l[2]), i(p, null); } else i(null, o); }), a.postMessage(r, n), a ); }, Le = Uint8Array, Dt = Uint16Array, xl = Uint32Array, Al = new Le([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0]), Pl = new Le([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0]), jb = new Le([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), Xb = function (e, t) { let r = new Dt(31); for (var n = 0; n < 31; ++n) r[n] = t += 1 << e[n - 1]; let i = new xl(r[30]); for (n = 1; n < 30; ++n) for (let a = r[n]; a < r[n + 1]; ++a) i[a] = ((a - r[n]) << 5) | n; return [r, i]; }, Kb = Xb(Al, 2), Cl = Kb[0], RH = Kb[1]; (Cl[28] = 258), (RH[258] = 28); var FH = Xb(Pl, 0), Yb = FH[0], Xi = new Dt(32768); for (ge = 0; ge < 32768; ++ge) { let e = ((43690 & ge) >>> 1) | ((21845 & ge) << 1); (e = ((52428 & e) >>> 2) | ((13107 & e) << 2)), (e = ((61680 & e) >>> 4) | ((3855 & e) << 4)), (Xi[ge] = (((65280 & e) >>> 8) | ((255 & e) << 8)) >>> 1); } var ge, Pr = function (e, t, r) { let n = e.length, i = 0, a = new Dt(t); for (; i < n; ++i) e[i] && ++a[e[i] - 1]; let s = new Dt(t); for (i = 0; i < t; ++i) s[i] = (s[i - 1] + a[i - 1]) << 1; let o; if (r) { o = new Dt(1 << t); let l = 15 - t; for (i = 0; i < n; ++i) if (e[i]) { let p = (i << 4) | e[i], c = t - e[i], h = s[e[i] - 1]++ << c; for (let g = h | ((1 << c) - 1); h <= g; ++h) o[Xi[h] >>> l] = p; } } else for (o = new Dt(n), i = 0; i < n; ++i) e[i] && (o[i] = Xi[s[e[i] - 1]++] >>> (15 - e[i])); return o; }, ln = new Le(288); for (ge = 0; ge < 144; ++ge) ln[ge] = 8; for (ge = 144; ge < 256; ++ge) ln[ge] = 9; for (ge = 256; ge < 280; ++ge) ln[ge] = 7; for (ge = 280; ge < 288; ++ge) ln[ge] = 8; var $b = new Le(32); for (ge = 0; ge < 32; ++ge) $b[ge] = 5; var Qb = Pr(ln, 9, 1), Zb = Pr($b, 5, 1), Ui = function (e) { let t = e[0]; for (let r = 1; r < e.length; ++r) e[r] > t && (t = e[r]); return t; }, He = function (e, t, r) { let n = (t / 8) | 0; return ((e[n] | (e[n + 1] << 8)) >> (7 & t)) & r; }, ji = function (e, t) { let r = (t / 8) | 0; return (e[r] | (e[r + 1] << 8) | (e[r + 2] << 16)) >> (7 & t); }, Jb = function (e) { return ((e + 7) / 8) | 0; }, Ki = function (e, t, r) { (t == null || t < 0) && (t = 0), (r == null || r > e.length) && (r = e.length); let n = new (e.BYTES_PER_ELEMENT === 2 ? Dt : e.BYTES_PER_ELEMENT === 4 ? xl : Le)(r - t); return n.set(e.subarray(t, r)), n; }, e_ = [ "unexpected EOF", "invalid block type", "invalid length/literal", "invalid distance", "stream finished", "no stream handler", , "no callback", "invalid UTF-8 data", "extra field too long", "date not in range 1980-2099", "filename too long", "stream finishing", "invalid zip data", ], Fe = function (e, t, r) { let n = new Error(t || e_[e]); if (((n.code = e), Error.captureStackTrace && Error.captureStackTrace(n, Fe), !r)) throw n; return n; }, t_ = function (e, t, r) { let n = e.length; if (!n || (r && r.f && !r.l)) return t || new Le(0); let i = !t || r, a = !r || r.i; r || (r = {}), t || (t = new Le(3 * n)); let s = function (b) { let T = t.length; if (b > T) { let A = new Le(Math.max(2 * T, b)); A.set(t), (t = A); } }, o = r.f || 0, l = r.p || 0, p = r.b || 0, c = r.l, h = r.d, g = r.m, d = r.n, f = 8 * n; do { if (!c) { o = He(e, l, 1); let x = He(e, l + 1, 3); if (((l += 3), !x)) { let C = e[(u = Jb(l) + 4) - 4] | (e[u - 3] << 8), k = u + C; if (k > n) { a && Fe(0); break; } i && s(p + C), t.set(e.subarray(u, k), p), (r.b = p += C), (r.p = l = 8 * k), (r.f = o); continue; } if (x === 1) (c = Qb), (h = Zb), (g = 9), (d = 5); else if (x === 2) { let C = He(e, l, 31) + 257, k = He(e, l + 10, 15) + 4, D = C + He(e, l + 5, 31) + 1; l += 14; let I = new Le(D), L = new Le(19); for (var m = 0; m < k; ++m) L[jb[m]] = He(e, l + 3 * m, 7); l += 3 * k; let O = Ui(L), R = (1 << O) - 1, B = Pr(L, O, 1); for (m = 0; m < D;) { let te = B[He(e, l, R)]; var u; if (((l += 15 & te), (u = te >>> 4) < 16)) I[m++] = u; else { var y = 0; let P = 0; for (u === 16 ? ((P = 3 + He(e, l, 3)), (l += 2), (y = I[m - 1])) : u === 17 ? ((P = 3 + He(e, l, 7)), (l += 3)) : u === 18 && ((P = 11 + He(e, l, 127)), (l += 7)); P--;) I[m++] = y; } } let j = I.subarray(0, C); var v = I.subarray(C); (g = Ui(j)), (d = Ui(v)), (c = Pr(j, g, 1)), (h = Pr(v, d, 1)); } else Fe(1); if (l > f) { a && Fe(0); break; } } i && s(p + 131072); let b = (1 << g) - 1, T = (1 << d) - 1, A = l; for (; ; A = l) { let x = (y = c[ji(e, l) & b]) >>> 4; if (((l += 15 & y), l > f)) { a && Fe(0); break; } if ((y || Fe(2), x < 256)) t[p++] = x; else { if (x === 256) { (A = l), (c = null); break; } { let C = x - 254; if (x > 264) { var E = Al[(m = x - 257)]; (C = He(e, l, (1 << E) - 1) + Cl[m]), (l += E); } let k = h[ji(e, l) & T], D = k >>> 4; if ((k || Fe(3), (l += 15 & k), (v = Yb[D]), D > 3 && ((E = Pl[D]), (v += ji(e, l) & ((1 << E) - 1)), (l += E)), l > f)) { a && Fe(0); break; } i && s(p + 131072); let I = p + C; for (; p < I; p += 4) (t[p] = t[p - v]), (t[p + 1] = t[p + 1 - v]), (t[p + 2] = t[p + 2 - v]), (t[p + 3] = t[p + 3 - v]); p = I; } } } (r.l = c), (r.p = A), (r.b = p), (r.f = o), c && ((o = 1), (r.m = g), (r.d = h), (r.n = d)); } while (!o); return p === t.length ? t : Ki(t, 0, p); }, LH = function (e, t) { let r = {}; for (var n in e) r[n] = e[n]; for (var n in t) r[n] = t[n]; return r; }, Hb = function (e, t, r) { let n = e(), i = e.toString(), a = i .slice(i.indexOf("[") + 1, i.lastIndexOf("]")) .replace(/\s+/g, "") .split(","); for (let s = 0; s < n.length; ++s) { let o = n[s], l = a[s]; if (typeof o == "function") { t += ";" + l + "="; let p = o.toString(); if (o.prototype) if (p.indexOf("[native code]") !== -1) { let c = p.indexOf(" ", 8) + 1; t += p.slice(c, p.indexOf("(", c)); } else { t += p; for (let c in o.prototype) t += ";" + l + ".prototype." + c + "=" + o.prototype[c].toString(); } else t += p; } else r[l] = o; } return [t, r]; }, Wi = [], kH = function (e) { let t = []; for (let r in e) e[r].buffer && t.push((e[r] = new e[r].constructor(e[r])).buffer); return t; }, NH = function (e, t, r, n) { let i; if (!Wi[r]) { let s = "", o = {}, l = e.length - 1; for (let p = 0; p < l; ++p) (i = Hb(e[p], s, o)), (s = i[0]), (o = i[1]); Wi[r] = Hb(e[l], s, o); } let a = LH({}, Wi[r][1]); return DH(Wi[r][0] + ";onmessage=function(e){for(var kz in e.data)self[kz]=e.data[kz];onmessage=" + t.toString() + "}", r, a, kH(a), n); }, qH = function () { return [Le, Dt, xl, Al, Pl, jb, Cl, Yb, Qb, Zb, Xi, e_, Pr, Ui, He, ji, Jb, Ki, Fe, t_, wl, r_, n_]; }, r_ = function (e) { return postMessage(e, [e.buffer]); }, n_ = function (e) { return e && e.size && new Le(e.size); }, BH = function (e, t, r, n, i, a) { var s = NH(r, n, i, function (o, l) { s.terminate(), a(o, l); }); return ( s.postMessage([e, t], t.consume ? [e.buffer] : []), function () { s.terminate(); } ); }, Mt = function (e, t) { return e[t] | (e[t + 1] << 8); }, yt = function (e, t) { return (e[t] | (e[t + 1] << 8) | (e[t + 2] << 16) | (e[t + 3] << 24)) >>> 0; }; function VH(e, t, r) { return ( r || ((r = t), (t = {})), typeof r != "function" && Fe(7), BH( e, t, [qH], function (n) { return r_(wl(n.data[0], n_(n.data[1]))); }, 1, r ) ); } function wl(e, t) { return t_(e, t); } var Wb = typeof TextDecoder < "u" && new TextDecoder(), GH = function (e) { for (let t = "", r = 0; ;) { let n = e[r++], i = (n > 127) + (n > 223) + (n > 239); if (r + i > e.length) return [t, Ki(e, r - 1)]; i ? i === 3 ? ((n = (((15 & n) << 18) | ((63 & e[r++]) << 12) | ((63 & e[r++]) << 6) | (63 & e[r++])) - 65536), (t += String.fromCharCode(55296 | (n >> 10), 56320 | (1023 & n)))) : (t += 1 & i ? String.fromCharCode(((31 & n) << 6) | (63 & e[r++])) : String.fromCharCode(((15 & n) << 12) | ((63 & e[r++]) << 6) | (63 & e[r++]))) : (t += String.fromCharCode(n)); } }; function i_(e, t) { if (t) { let r = ""; for (let n = 0; n < e.length; n += 16384) r += String.fromCharCode.apply(null, e.subarray(n, n + 16384)); return r; } if (Wb) return Wb.decode(e); { let r = GH(e), n = r[0]; return r[1].length && Fe(8), n; } } var zH = function (e, t) { return t + 30 + Mt(e, t + 26) + Mt(e, t + 28); }, HH = function (e, t, r) { let n = Mt(e, t + 28), i = i_(e.subarray(t + 46, t + 46 + n), !(2048 & Mt(e, t + 8))), a = t + 46 + n, s = yt(e, t + 20), o = r && s === 4294967295 ? z64e(e, a) : [s, yt(e, t + 24), yt(e, t + 42)], l = o[0], p = o[1], c = o[2]; return [Mt(e, t + 10), l, p, i, a + Mt(e, t + 365) + Mt(e, t + 32), c]; }, Ub = typeof queueMicrotask == "function" ? queueMicrotask : typeof setTimeout == "function" ? setTimeout : function (e) { e(); }; function WH(e, t, r) { r || ((r = t), (t = {})), typeof r != "function" && Fe(7); let n = [], i = function () { for (let p = 0; p < n.length; ++p) n[p](); }, a = {}, s = function (p, c) { Ub(function () { r(p, c); }); }; Ub(function () { s = r; }); let o = e.length - 22; for (; yt(e, o) !== 101010256; --o) if (!o || e.length - o > 65558) return s(Fe(13, 0, 1), null), i; let l = Mt(e, o + 8); if (l) { let p = l, c = yt(e, o + 16), h = c === 4294967295 || p === 65535; if (h) { let f = yt(e, o - 12); (h = yt(e, f) === 101075792), h && ((p = l = yt(e, f + 32)), (c = yt(e, f + 48))); } let g = t && t.filter, d = function () { let f = HH(e, c, h), m = f[0], u = f[1], y = f[2], v = f[3], E = f[4], b = f[5], T = zH(e, b); c = E; let A = function (x, C) { x ? (i(), s(x, null)) : (C && (a[v] = C), --l || s(null, a)); }; if (!g || g({ name: v, size: u, originalSize: y, compression: m })) if (m) if (m === 8) { let x = e.subarray(T, T + u); if (u < 32e4) try { A(null, wl(x, new Le(y))); } catch (C) { A(C, null); } else n.push(VH(x, { size: y }, A)); } else A(Fe(14, "unknown compression type " + m, 1), null); else A(null, Ki(e, T, T + u)); else A(null, null); }; for (let f = 0; f < p; ++f) d(f); } else s(null, {}); return i; } }); var l_ = _((Ml) => { "use strict"; Object.defineProperty(Ml, "__esModule", { value: !0 }); function UH(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } UH(Ml, { fetchLottie: function () { return ZH; }, unZipDotLottie: function () { return o_; }, }); var s_ = a_(); function jH(e) { let t = JSON.parse(e); if (!("animations" in t)) throw new Error("Manifest not found"); if (t.animations.length === 0) throw new Error("No animations listed in the manifest"); return t; } function XH(e) { let t = new Uint8Array(e, 0, 32); return t[0] === 80 && t[1] === 75 && t[2] === 3 && t[3] === 4; } async function KH(e) { return await fetch(new URL(e, window?.location?.href).href).then((t) => t.arrayBuffer()); } async function YH(e) { return ( await new Promise((r) => { let n = new FileReader(); n.readAsDataURL(new Blob([e])), (n.onload = () => r(n.result)); }) ).split(",", 2)[1]; } async function $H(e) { let t = new Uint8Array(e), r = await new Promise((n, i) => { (0, s_.unzip)(t, (a, s) => (a ? i(a) : n(s))); }); return { read: (n) => (0, s_.strFromU8)(r[n]), readB64: async (n) => await YH(r[n]) }; } async function QH(e, t) { if (!("assets" in e)) return e; async function r(i) { let { p: a } = i; if (a == null || t.read(`images/${a}`) == null) return i; let s = a.split(".").pop(), o = await t.readB64(`images/${a}`); if (s?.startsWith("data:")) return (i.p = s), (i.e = 1), i; switch (s) { case "svg": case "svg+xml": i.p = `data:image/svg+xml;base64,${o}`; break; case "png": case "jpg": case "jpeg": case "gif": case "webp": i.p = `data:image/${s};base64,${o}`; break; default: i.p = `data:;base64,${o}`; } return (i.e = 1), i; } return ( (await Promise.all(e.assets.map(r))).map((i, a) => { e.assets[a] = i; }), e ); } async function o_(e) { let t = await $H(e), r = jH(t.read("manifest.json")); return ( await Promise.all( r.animations.map((i) => { let a = JSON.parse(t.read(`animations/${i.id}.json`)); return QH(a, t); }) ) )[0]; } async function ZH(e) { let t = await KH(e); return XH(t) ? await o_(t) : JSON.parse(new TextDecoder().decode(t)); } }); var p_ = _((kl) => { "use strict"; Object.defineProperty(kl, "__esModule", { value: !0 }); function JH(e, t) { for (var r in t) Object.defineProperty(e, r, { enumerable: !0, get: t[r] }); } JH(kl, { cleanupElement: function () { return Ll; }, createInstance: function () { return h_; }, destroy: function () { return i9; }, init: function () { return f_; }, ready: function () { return a9; }, }); mb(); Ib(); xb(); Ob(); Rb(); Fb(); Nb(); Gb(); var Dl = t9(rs()), e9 = l_(); function t9(e) { return e && e.__esModule ? e : { default: e }; } var r9 = (e) => e.Webflow.require("lottie").lottie, n9 = (e) => !!(e.Webflow.env("design") || e.Webflow.env("preview")), un = { Playing: "playing", Stopped: "stopped" }, Rl = class { _cache = []; set(t, r) { let n = (0, Dl.default)(this._cache, ({ wrapper: i }) => i === t); n !== -1 && this._cache.splice(n, 1), this._cache.push({ wrapper: t, instance: r }); } delete(t) { let r = (0, Dl.default)(this._cache, ({ wrapper: n }) => n === t); r !== -1 && this._cache.splice(r, 1); } get(t) { let r = (0, Dl.default)(this._cache, ({ wrapper: n }) => n === t); return r !== -1 ? this._cache[r].instance : null; } }, Yi = new Rl(), u_ = {}, Fl = class { config = null; currentState = un.Stopped; animationItem; handlers = { enterFrame: [], complete: [], loop: [], dataReady: [], destroy: [], error: [] }; load(t) { let n = (t.dataset || u_).src || ""; n.endsWith(".lottie") ? (0, e9.fetchLottie)(n).then((i) => { this._loadAnimation(t, i); }) : this._loadAnimation(t, void 0), Yi.set(t, this), (this.container = t); } _loadAnimation(t, r) { let n = t.dataset || u_, i = n.src || "", a = n.preserveAspectRatio || "xMidYMid meet", s = n.renderer || "svg", o = parseFloat(n.loop) === 1, l = parseFloat(n.direction) || 1, p = parseFloat(n.autoplay) === 1, c = parseFloat(n.duration) || 0, h = parseFloat(n.isIx2Target) === 1, g = parseFloat(n.ix2InitialState); isNaN(g) && (g = null); let d = { src: i, loop: o, autoplay: p, renderer: s, direction: l, duration: c, hasIx2: h, ix2InitialValue: g, preserveAspectRatio: a }; if (this.animationItem && this.config && this.config.src === i && s === this.config.renderer && a === this.config.preserveAspectRatio) { if ( (o !== this.config.loop && this.setLooping(o), h || (l !== this.config.direction && this.setDirection(l), c !== this.config.duration && (c > 0 && c !== this.duration ? this.setSpeed(this.duration / c) : this.setSpeed(1))), p && this.play(), g && g !== this.config.ix2InitialValue) ) { let u = g / 100; this.goToFrame(this.frames * u); } this.config = d; return; } let f = { container: t, loop: o, autoplay: p, renderer: s, rendererSettings: { preserveAspectRatio: a, progressiveLoad: !0, hideOnTransparent: !0 } }, m = t.ownerDocument.defaultView; try { this.animationItem && this.destroy(), (this.animationItem = r9(m).loadAnimation({ ...f, ...(r ? { animationData: r } : { path: i }) })); } catch (u) { this.handlers.error.forEach((y) => y(u)); return; } this.animationItem && (n9(m) && (this.animationItem.addEventListener("enterFrame", () => { if (!this.isPlaying) return; let { currentFrame: u, totalFrames: y, playDirection: v } = this.animationItem, E = (u / y) * 100, b = Math.round(v === 1 ? E : 100 - E); this.handlers.enterFrame.forEach((T) => T(b, u)); }), this.animationItem.addEventListener("complete", () => { if (this.currentState !== un.Playing) { this.handlers.complete.forEach((u) => u()); return; } if (!this.animationItem.loop) { this.handlers.complete.forEach((u) => u()); return; } this.currentState = un.Stopped; }), this.animationItem.addEventListener("loopComplete", (u) => { this.handlers.loop.forEach((y) => y(u)); }), this.animationItem.addEventListener("data_failed", (u) => { this.handlers.error.forEach((y) => y(u)); }), this.animationItem.addEventListener("error", (u) => { this.handlers.error.forEach((y) => y(u)); })), this.isLoaded ? (this.handlers.dataReady.forEach((u) => u()), p && this.play()) : this.animationItem.addEventListener("data_ready", () => { if ((this.handlers.dataReady.forEach((u) => u()), h || (this.setDirection(l), c > 0 && c !== this.duration && this.setSpeed(this.duration / c), p && this.play()), g)) { let u = g / 100; this.goToFrame(this.frames * u); } }), (this.config = d)); } onFrameChange(t) { this.handlers.enterFrame.indexOf(t) === -1 && this.handlers.enterFrame.push(t); } onPlaybackComplete(t) { this.handlers.complete.indexOf(t) === -1 && this.handlers.complete.push(t); } onLoopComplete(t) { this.handlers.loop.indexOf(t) === -1 && this.handlers.loop.push(t); } onDestroy(t) { this.handlers.destroy.indexOf(t) === -1 && this.handlers.destroy.push(t); } onDataReady(t) { this.handlers.dataReady.indexOf(t) === -1 && this.handlers.dataReady.push(t); } onError(t) { this.handlers.error.indexOf(t) === -1 && this.handlers.error.push(t); } play() { if (!this.animationItem) return; let t = this.animationItem.playDirection === 1 ? 0 : this.frames; this.animationItem.goToAndPlay(t, !0), (this.currentState = un.Playing); } stop() { if (this.animationItem) { if (this.isPlaying) { let { playDirection: t } = this.animationItem, r = t === 1 ? 0 : this.frames; this.animationItem.goToAndStop(r, !0); } this.currentState = un.Stopped; } } destroy() { this.animationItem && (this.isPlaying && this.stop(), this.handlers.destroy.forEach((t) => t()), this.container && Yi.delete(this.container), this.animationItem.destroy(), Object.keys(this.handlers).forEach((t) => (this.handlers[t].length = 0)), (this.animationItem = null), (this.container = null), (this.config = null)); } get isPlaying() { return this.animationItem ? !this.animationItem.isPaused : !1; } get isPaused() { return this.animationItem ? this.animationItem.isPaused : !1; } get duration() { return this.animationItem ? this.animationItem.getDuration() : 0; } get frames() { return this.animationItem ? this.animationItem.totalFrames : 0; } get direction() { return this.animationItem ? this.animationItem.playDirection : 1; } get isLoaded() { return this.animationItem, this.animationItem.isLoaded; } get ix2InitialValue() { return this.config ? this.config.ix2InitialValue : null; } goToFrame(t) { this.animationItem && this.animationItem.setCurrentRawFrameValue(t); } setSubframe(t) { this.animationItem && this.animationItem.setSubframe(t); } setSpeed(t = 1) { this.animationItem && (this.isPlaying && this.stop(), this.animationItem.setSpeed(t)); } setLooping(t) { this.animationItem && (this.isPlaying && this.stop(), (this.animationItem.loop = t)); } setDirection(t) { this.animationItem && (this.isPlaying && this.stop(), this.animationItem.setDirection(t), this.goToFrame(t === 1 ? 0 : this.frames)); } }, c_ = () => Array.from(document.querySelectorAll('[data-animation-type="lottie"]')), h_ = (e) => { let t = Yi.get(e); return t == null && (t = new Fl()), t.load(e), t; }, Ll = (e) => { let t = Yi.get(e); t && t.destroy(); }, f_ = () => { c_().forEach((e) => { parseFloat(e.getAttribute("data-is-ix2-target")) === 1 || Ll(e), h_(e); }); }, i9 = () => { c_().forEach(Ll); }, a9 = f_; }); var d_ = _((exports, module) => { typeof navigator < "u" && (function (e, t) { typeof exports == "object" && typeof module < "u" ? (module.exports = t()) : typeof define == "function" && define.amd ? define(t) : ((e = typeof globalThis < "u" ? globalThis : e || self).lottie = t()); })(exports, function () { "use strict"; var svgNS = "http://www.w3.org/2000/svg", locationHref = "", _useWebWorker = !1, initialDefaultFrame = -999999, setWebWorker = function (e) { _useWebWorker = !!e; }, getWebWorker = function () { return _useWebWorker; }, setLocationHref = function (e) { locationHref = e; }, getLocationHref = function () { return locationHref; }; function createTag(e) { return document.createElement(e); } function extendPrototype(e, t) { var r, n, i = e.length; for (r = 0; r < i; r += 1) for (var a in (n = e[r].prototype)) Object.prototype.hasOwnProperty.call(n, a) && (t.prototype[a] = n[a]); } function getDescriptor(e, t) { return Object.getOwnPropertyDescriptor(e, t); } function createProxyFunction(e) { function t() { } return (t.prototype = e), t; } var audioControllerFactory = (function () { function e(t) { (this.audios = []), (this.audioFactory = t), (this._volume = 1), (this._isMuted = !1); } return ( (e.prototype = { addAudio: function (t) { this.audios.push(t); }, pause: function () { var t, r = this.audios.length; for (t = 0; t < r; t += 1) this.audios[t].pause(); }, resume: function () { var t, r = this.audios.length; for (t = 0; t < r; t += 1) this.audios[t].resume(); }, setRate: function (t) { var r, n = this.audios.length; for (r = 0; r < n; r += 1) this.audios[r].setRate(t); }, createAudio: function (t) { return this.audioFactory ? this.audioFactory(t) : window.Howl ? new window.Howl({ src: [t] }) : { isPlaying: !1, play: function () { this.isPlaying = !0; }, seek: function () { this.isPlaying = !1; }, playing: function () { }, rate: function () { }, setVolume: function () { }, }; }, setAudioFactory: function (t) { this.audioFactory = t; }, setVolume: function (t) { (this._volume = t), this._updateVolume(); }, mute: function () { (this._isMuted = !0), this._updateVolume(); }, unmute: function () { (this._isMuted = !1), this._updateVolume(); }, getVolume: function () { return this._volume; }, _updateVolume: function () { var t, r = this.audios.length; for (t = 0; t < r; t += 1) this.audios[t].volume(this._volume * (this._isMuted ? 0 : 1)); }, }), function () { return new e(); } ); })(), createTypedArray = (function () { function e(t, r) { var n, i = 0, a = []; switch (t) { case "int16": case "uint8c": n = 1; break; default: n = 1.1; } for (i = 0; i < r; i += 1) a.push(n); return a; } return typeof Uint8ClampedArray == "function" && typeof Float32Array == "function" ? function (t, r) { return t === "float32" ? new Float32Array(r) : t === "int16" ? new Int16Array(r) : t === "uint8c" ? new Uint8ClampedArray(r) : e(t, r); } : e; })(); function createSizedArray(e) { return Array.apply(null, { length: e }); } function _typeof$6(e) { return ( (_typeof$6 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function (t) { return typeof t; } : function (t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }), _typeof$6(e) ); } var subframeEnabled = !0, expressionsPlugin = null, expressionsInterfaces = null, idPrefix$1 = "", isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent), _shouldRoundValues = !1, bmPow = Math.pow, bmSqrt = Math.sqrt, bmFloor = Math.floor, bmMax = Math.max, bmMin = Math.min, BMMath = {}; function ProjectInterface$1() { return {}; } (function () { var e, t = [ "abs", "acos", "acosh", "asin", "asinh", "atan", "atanh", "atan2", "ceil", "cbrt", "expm1", "clz32", "cos", "cosh", "exp", "floor", "fround", "hypot", "imul", "log", "log1p", "log2", "log10", "max", "min", "pow", "random", "round", "sign", "sin", "sinh", "sqrt", "tan", "tanh", "trunc", "E", "LN10", "LN2", "LOG10E", "LOG2E", "PI", "SQRT1_2", "SQRT2", ], r = t.length; for (e = 0; e < r; e += 1) BMMath[t[e]] = Math[t[e]]; })(), (BMMath.random = Math.random), (BMMath.abs = function (e) { if (_typeof$6(e) === "object" && e.length) { var t, r = createSizedArray(e.length), n = e.length; for (t = 0; t < n; t += 1) r[t] = Math.abs(e[t]); return r; } return Math.abs(e); }); var defaultCurveSegments = 150, degToRads = Math.PI / 180, roundCorner = 0.5519; function roundValues(e) { _shouldRoundValues = !!e; } function bmRnd(e) { return _shouldRoundValues ? Math.round(e) : e; } function styleDiv(e) { (e.style.position = "absolute"), (e.style.top = 0), (e.style.left = 0), (e.style.display = "block"), (e.style.transformOrigin = "0 0"), (e.style.webkitTransformOrigin = "0 0"), (e.style.backfaceVisibility = "visible"), (e.style.webkitBackfaceVisibility = "visible"), (e.style.transformStyle = "preserve-3d"), (e.style.webkitTransformStyle = "preserve-3d"), (e.style.mozTransformStyle = "preserve-3d"); } function BMEnterFrameEvent(e, t, r, n) { (this.type = e), (this.currentTime = t), (this.totalTime = r), (this.direction = n < 0 ? -1 : 1); } function BMCompleteEvent(e, t) { (this.type = e), (this.direction = t < 0 ? -1 : 1); } function BMCompleteLoopEvent(e, t, r, n) { (this.type = e), (this.currentLoop = r), (this.totalLoops = t), (this.direction = n < 0 ? -1 : 1); } function BMSegmentStartEvent(e, t, r) { (this.type = e), (this.firstFrame = t), (this.totalFrames = r); } function BMDestroyEvent(e, t) { (this.type = e), (this.target = t); } function BMRenderFrameErrorEvent(e, t) { (this.type = "renderFrameError"), (this.nativeError = e), (this.currentTime = t); } function BMConfigErrorEvent(e) { (this.type = "configError"), (this.nativeError = e); } function BMAnimationConfigErrorEvent(e, t) { (this.type = e), (this.nativeError = t); } var createElementID = ((_count = 0), function () { return idPrefix$1 + "__lottie_element_" + (_count += 1); }), _count; function HSVtoRGB(e, t, r) { var n, i, a, s, o, l, p, c; switch (((l = r * (1 - t)), (p = r * (1 - (o = 6 * e - (s = Math.floor(6 * e))) * t)), (c = r * (1 - (1 - o) * t)), s % 6)) { case 0: (n = r), (i = c), (a = l); break; case 1: (n = p), (i = r), (a = l); break; case 2: (n = l), (i = r), (a = c); break; case 3: (n = l), (i = p), (a = r); break; case 4: (n = c), (i = l), (a = r); break; case 5: (n = r), (i = l), (a = p); } return [n, i, a]; } function RGBtoHSV(e, t, r) { var n, i = Math.max(e, t, r), a = Math.min(e, t, r), s = i - a, o = i === 0 ? 0 : s / i, l = i / 255; switch (i) { case a: n = 0; break; case e: (n = t - r + s * (t < r ? 6 : 0)), (n /= 6 * s); break; case t: (n = r - e + 2 * s), (n /= 6 * s); break; case r: (n = e - t + 4 * s), (n /= 6 * s); } return [n, o, l]; } function addSaturationToRGB(e, t) { var r = RGBtoHSV(255 * e[0], 255 * e[1], 255 * e[2]); return (r[1] += t), r[1] > 1 ? (r[1] = 1) : r[1] <= 0 && (r[1] = 0), HSVtoRGB(r[0], r[1], r[2]); } function addBrightnessToRGB(e, t) { var r = RGBtoHSV(255 * e[0], 255 * e[1], 255 * e[2]); return (r[2] += t), r[2] > 1 ? (r[2] = 1) : r[2] < 0 && (r[2] = 0), HSVtoRGB(r[0], r[1], r[2]); } function addHueToRGB(e, t) { var r = RGBtoHSV(255 * e[0], 255 * e[1], 255 * e[2]); return (r[0] += t / 360), r[0] > 1 ? (r[0] -= 1) : r[0] < 0 && (r[0] += 1), HSVtoRGB(r[0], r[1], r[2]); } var rgbToHex = (function () { var e, t, r = []; for (e = 0; e < 256; e += 1) (t = e.toString(16)), (r[e] = t.length === 1 ? "0" + t : t); return function (n, i, a) { return n < 0 && (n = 0), i < 0 && (i = 0), a < 0 && (a = 0), "#" + r[n] + r[i] + r[a]; }; })(), setSubframeEnabled = function (e) { subframeEnabled = !!e; }, getSubframeEnabled = function () { return subframeEnabled; }, setExpressionsPlugin = function (e) { expressionsPlugin = e; }, getExpressionsPlugin = function () { return expressionsPlugin; }, setExpressionInterfaces = function (e) { expressionsInterfaces = e; }, getExpressionInterfaces = function () { return expressionsInterfaces; }, setDefaultCurveSegments = function (e) { defaultCurveSegments = e; }, getDefaultCurveSegments = function () { return defaultCurveSegments; }, setIdPrefix = function (e) { idPrefix$1 = e; }, getIdPrefix = function () { return idPrefix$1; }; function createNS(e) { return document.createElementNS(svgNS, e); } function _typeof$5(e) { return ( (_typeof$5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function (t) { return typeof t; } : function (t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }), _typeof$5(e) ); } var dataManager = (function () { var e, t, r = 1, n = [], i = { onmessage: function () { }, postMessage: function (l) { e({ data: l }); }, }, a = { postMessage: function (l) { i.onmessage({ data: l }); }, }; function s() { t || ((t = (function (l) { if (window.Worker && window.Blob && getWebWorker()) { var p = new Blob(["var _workerSelf = self; self.onmessage = ", l.toString()], { type: "text/javascript" }), c = URL.createObjectURL(p); return new Worker(c); } return (e = l), i; })(function (l) { if ( (a.dataManager || (a.dataManager = (function () { function c(x, C) { var k, D, I, L, O, R, B = x.length; for (D = 0; D < B; D += 1) if ("ks" in (k = x[D]) && !k.completed) { if (((k.completed = !0), k.hasMask)) { var j = k.masksProperties; for (L = j.length, I = 0; I < L; I += 1) if (j[I].pt.k.i) d(j[I].pt.k); else for (R = j[I].pt.k.length, O = 0; O < R; O += 1) j[I].pt.k[O].s && d(j[I].pt.k[O].s[0]), j[I].pt.k[O].e && d(j[I].pt.k[O].e[0]); } k.ty === 0 ? ((k.layers = h(k.refId, C)), c(k.layers, C)) : k.ty === 4 ? g(k.shapes) : k.ty === 5 && T(k); } } function h(x, C) { var k = (function (D, I) { for (var L = 0, O = I.length; L < O;) { if (I[L].id === D) return I[L]; L += 1; } return null; })(x, C); return k ? (k.layers.__used ? JSON.parse(JSON.stringify(k.layers)) : ((k.layers.__used = !0), k.layers)) : null; } function g(x) { var C, k, D; for (C = x.length - 1; C >= 0; C -= 1) if (x[C].ty === "sh") if (x[C].ks.k.i) d(x[C].ks.k); else for (D = x[C].ks.k.length, k = 0; k < D; k += 1) x[C].ks.k[k].s && d(x[C].ks.k[k].s[0]), x[C].ks.k[k].e && d(x[C].ks.k[k].e[0]); else x[C].ty === "gr" && g(x[C].it); } function d(x) { var C, k = x.i.length; for (C = 0; C < k; C += 1) (x.i[C][0] += x.v[C][0]), (x.i[C][1] += x.v[C][1]), (x.o[C][0] += x.v[C][0]), (x.o[C][1] += x.v[C][1]); } function f(x, C) { var k = C ? C.split(".") : [100, 100, 100]; return x[0] > k[0] || (!(k[0] > x[0]) && (x[1] > k[1] || (!(k[1] > x[1]) && (x[2] > k[2] || (!(k[2] > x[2]) && null))))); } var m, u = (function () { var x = [4, 4, 14]; function C(k) { var D, I, L, O = k.length; for (D = 0; D < O; D += 1) k[D].ty === 5 && ((L = void 0), (L = (I = k[D]).t.d), (I.t.d = { k: [{ s: L, t: 0 }] })); } return function (k) { if (f(x, k.v) && (C(k.layers), k.assets)) { var D, I = k.assets.length; for (D = 0; D < I; D += 1) k.assets[D].layers && C(k.assets[D].layers); } }; })(), y = ((m = [4, 7, 99]), function (x) { if (x.chars && !f(m, x.v)) { var C, k = x.chars.length; for (C = 0; C < k; C += 1) { var D = x.chars[C]; D.data && D.data.shapes && (g(D.data.shapes), (D.data.ip = 0), (D.data.op = 99999), (D.data.st = 0), (D.data.sr = 1), (D.data.ks = { p: { k: [0, 0], a: 0 }, s: { k: [100, 100], a: 0 }, a: { k: [0, 0], a: 0 }, r: { k: 0, a: 0 }, o: { k: 100, a: 0 } }), x.chars[C].t || (D.data.shapes.push({ ty: "no" }), D.data.shapes[0].it.push({ p: { k: [0, 0], a: 0 }, s: { k: [100, 100], a: 0 }, a: { k: [0, 0], a: 0 }, r: { k: 0, a: 0 }, o: { k: 100, a: 0 }, sk: { k: 0, a: 0 }, sa: { k: 0, a: 0 }, ty: "tr", }))); } } }), v = (function () { var x = [5, 7, 15]; function C(k) { var D, I, L = k.length; for (D = 0; D < L; D += 1) k[D].ty === 5 && ((I = void 0), typeof (I = k[D].t.p).a == "number" && (I.a = { a: 0, k: I.a }), typeof I.p == "number" && (I.p = { a: 0, k: I.p }), typeof I.r == "number" && (I.r = { a: 0, k: I.r })); } return function (k) { if (f(x, k.v) && (C(k.layers), k.assets)) { var D, I = k.assets.length; for (D = 0; D < I; D += 1) k.assets[D].layers && C(k.assets[D].layers); } }; })(), E = (function () { var x = [4, 1, 9]; function C(D) { var I, L, O, R = D.length; for (I = 0; I < R; I += 1) if (D[I].ty === "gr") C(D[I].it); else if (D[I].ty === "fl" || D[I].ty === "st") if (D[I].c.k && D[I].c.k[0].i) for (O = D[I].c.k.length, L = 0; L < O; L += 1) D[I].c.k[L].s && ((D[I].c.k[L].s[0] /= 255), (D[I].c.k[L].s[1] /= 255), (D[I].c.k[L].s[2] /= 255), (D[I].c.k[L].s[3] /= 255)), D[I].c.k[L].e && ((D[I].c.k[L].e[0] /= 255), (D[I].c.k[L].e[1] /= 255), (D[I].c.k[L].e[2] /= 255), (D[I].c.k[L].e[3] /= 255)); else (D[I].c.k[0] /= 255), (D[I].c.k[1] /= 255), (D[I].c.k[2] /= 255), (D[I].c.k[3] /= 255); } function k(D) { var I, L = D.length; for (I = 0; I < L; I += 1) D[I].ty === 4 && C(D[I].shapes); } return function (D) { if (f(x, D.v) && (k(D.layers), D.assets)) { var I, L = D.assets.length; for (I = 0; I < L; I += 1) D.assets[I].layers && k(D.assets[I].layers); } }; })(), b = (function () { var x = [4, 4, 18]; function C(D) { var I, L, O; for (I = D.length - 1; I >= 0; I -= 1) if (D[I].ty === "sh") if (D[I].ks.k.i) D[I].ks.k.c = D[I].closed; else for (O = D[I].ks.k.length, L = 0; L < O; L += 1) D[I].ks.k[L].s && (D[I].ks.k[L].s[0].c = D[I].closed), D[I].ks.k[L].e && (D[I].ks.k[L].e[0].c = D[I].closed); else D[I].ty === "gr" && C(D[I].it); } function k(D) { var I, L, O, R, B, j, te = D.length; for (L = 0; L < te; L += 1) { if ((I = D[L]).hasMask) { var P = I.masksProperties; for (R = P.length, O = 0; O < R; O += 1) if (P[O].pt.k.i) P[O].pt.k.c = P[O].cl; else for (j = P[O].pt.k.length, B = 0; B < j; B += 1) P[O].pt.k[B].s && (P[O].pt.k[B].s[0].c = P[O].cl), P[O].pt.k[B].e && (P[O].pt.k[B].e[0].c = P[O].cl); } I.ty === 4 && C(I.shapes); } } return function (D) { if (f(x, D.v) && (k(D.layers), D.assets)) { var I, L = D.assets.length; for (I = 0; I < L; I += 1) D.assets[I].layers && k(D.assets[I].layers); } }; })(); function T(x) { x.t.a.length === 0 && x.t.p; } var A = { completeData: function (x) { x.__complete || (E(x), u(x), y(x), v(x), b(x), c(x.layers, x.assets), (function (C, k) { if (C) { var D = 0, I = C.length; for (D = 0; D < I; D += 1) C[D].t === 1 && ((C[D].data.layers = h(C[D].data.refId, k)), c(C[D].data.layers, k)); } })(x.chars, x.assets), (x.__complete = !0)); }, }; return (A.checkColors = E), (A.checkChars = y), (A.checkPathProperties = v), (A.checkShapes = b), (A.completeLayers = c), A; })()), a.assetLoader || (a.assetLoader = (function () { function c(h) { var g = h.getResponseHeader("content-type"); return (g && h.responseType === "json" && g.indexOf("json") !== -1) || (h.response && _typeof$5(h.response) === "object") ? h.response : h.response && typeof h.response == "string" ? JSON.parse(h.response) : h.responseText ? JSON.parse(h.responseText) : null; } return { load: function (h, g, d, f) { var m, u = new XMLHttpRequest(); try { u.responseType = "json"; } catch { } u.onreadystatechange = function () { if (u.readyState === 4) if (u.status === 200) (m = c(u)), d(m); else try { (m = c(u)), d(m); } catch (y) { f && f(y); } }; try { u.open(["G", "E", "T"].join(""), h, !0); } catch { u.open(["G", "E", "T"].join(""), g + "/" + h, !0); } u.send(); }, }; })()), l.data.type === "loadAnimation") ) a.assetLoader.load( l.data.path, l.data.fullPath, function (c) { a.dataManager.completeData(c), a.postMessage({ id: l.data.id, payload: c, status: "success" }); }, function () { a.postMessage({ id: l.data.id, status: "error" }); } ); else if (l.data.type === "complete") { var p = l.data.animation; a.dataManager.completeData(p), a.postMessage({ id: l.data.id, payload: p, status: "success" }); } else l.data.type === "loadData" && a.assetLoader.load( l.data.path, l.data.fullPath, function (c) { a.postMessage({ id: l.data.id, payload: c, status: "success" }); }, function () { a.postMessage({ id: l.data.id, status: "error" }); } ); })), (t.onmessage = function (l) { var p = l.data, c = p.id, h = n[c]; (n[c] = null), p.status === "success" ? h.onComplete(p.payload) : h.onError && h.onError(); })); } function o(l, p) { var c = "processId_" + (r += 1); return (n[c] = { onComplete: l, onError: p }), c; } return { loadAnimation: function (l, p, c) { s(); var h = o(p, c); t.postMessage({ type: "loadAnimation", path: l, fullPath: window.location.origin + window.location.pathname, id: h }); }, loadData: function (l, p, c) { s(); var h = o(p, c); t.postMessage({ type: "loadData", path: l, fullPath: window.location.origin + window.location.pathname, id: h }); }, completeAnimation: function (l, p, c) { s(); var h = o(p, c); t.postMessage({ type: "complete", animation: l, id: h }); }, }; })(), ImagePreloader = (function () { var e = (function () { var o = createTag("canvas"); (o.width = 1), (o.height = 1); var l = o.getContext("2d"); return (l.fillStyle = "rgba(0,0,0,0)"), l.fillRect(0, 0, 1, 1), o; })(); function t() { (this.loadedAssets += 1), this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null); } function r() { (this.loadedFootagesCount += 1), this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null); } function n(o, l, p) { var c = ""; if (o.e) c = o.p; else if (l) { var h = o.p; h.indexOf("images/") !== -1 && (h = h.split("/")[1]), (c = l + h); } else (c = p), (c += o.u ? o.u : ""), (c += o.p); return c; } function i(o) { var l = 0, p = setInterval( function () { (o.getBBox().width || l > 500) && (this._imageLoaded(), clearInterval(p)), (l += 1); }.bind(this), 50 ); } function a(o) { var l = { assetData: o }, p = n(o, this.assetsPath, this.path); return ( dataManager.loadData( p, function (c) { (l.img = c), this._footageLoaded(); }.bind(this), function () { (l.img = {}), this._footageLoaded(); }.bind(this) ), l ); } function s() { (this._imageLoaded = t.bind(this)), (this._footageLoaded = r.bind(this)), (this.testImageLoaded = i.bind(this)), (this.createFootageData = a.bind(this)), (this.assetsPath = ""), (this.path = ""), (this.totalImages = 0), (this.totalFootages = 0), (this.loadedAssets = 0), (this.loadedFootagesCount = 0), (this.imagesLoadedCb = null), (this.images = []); } return ( (s.prototype = { loadAssets: function (o, l) { var p; this.imagesLoadedCb = l; var c = o.length; for (p = 0; p < c; p += 1) o[p].layers || (o[p].t && o[p].t !== "seq" ? o[p].t === 3 && ((this.totalFootages += 1), this.images.push(this.createFootageData(o[p]))) : ((this.totalImages += 1), this.images.push(this._createImageData(o[p])))); }, setAssetsPath: function (o) { this.assetsPath = o || ""; }, setPath: function (o) { this.path = o || ""; }, loadedImages: function () { return this.totalImages === this.loadedAssets; }, loadedFootages: function () { return this.totalFootages === this.loadedFootagesCount; }, destroy: function () { (this.imagesLoadedCb = null), (this.images.length = 0); }, getAsset: function (o) { for (var l = 0, p = this.images.length; l < p;) { if (this.images[l].assetData === o) return this.images[l].img; l += 1; } return null; }, createImgData: function (o) { var l = n(o, this.assetsPath, this.path), p = createTag("img"); (p.crossOrigin = "anonymous"), p.addEventListener("load", this._imageLoaded, !1), p.addEventListener( "error", function () { (c.img = e), this._imageLoaded(); }.bind(this), !1 ), (p.src = l); var c = { img: p, assetData: o }; return c; }, createImageData: function (o) { var l = n(o, this.assetsPath, this.path), p = createNS("image"); isSafari ? this.testImageLoaded(p) : p.addEventListener("load", this._imageLoaded, !1), p.addEventListener( "error", function () { (c.img = e), this._imageLoaded(); }.bind(this), !1 ), p.setAttributeNS("http://www.w3.org/1999/xlink", "href", l), this._elementHelper.append ? this._elementHelper.append(p) : this._elementHelper.appendChild(p); var c = { img: p, assetData: o }; return c; }, imageLoaded: t, footageLoaded: r, setCacheType: function (o, l) { o === "svg" ? ((this._elementHelper = l), (this._createImageData = this.createImageData.bind(this))) : (this._createImageData = this.createImgData.bind(this)); }, }), s ); })(); function BaseEvent() { } BaseEvent.prototype = { triggerEvent: function (e, t) { if (this._cbs[e]) for (var r = this._cbs[e], n = 0; n < r.length; n += 1) r[n](t); }, addEventListener: function (e, t) { return ( this._cbs[e] || (this._cbs[e] = []), this._cbs[e].push(t), function () { this.removeEventListener(e, t); }.bind(this) ); }, removeEventListener: function (e, t) { if (t) { if (this._cbs[e]) { for (var r = 0, n = this._cbs[e].length; r < n;) this._cbs[e][r] === t && (this._cbs[e].splice(r, 1), (r -= 1), (n -= 1)), (r += 1); this._cbs[e].length || (this._cbs[e] = null); } } else this._cbs[e] = null; }, }; var markerParser = (function () { function e(t) { for ( var r, n = t.split(`\r `), i = {}, a = 0, s = 0; s < n.length; s += 1 ) (r = n[s].split(":")).length === 2 && ((i[r[0]] = r[1].trim()), (a += 1)); if (a === 0) throw new Error(); return i; } return function (t) { for (var r = [], n = 0; n < t.length; n += 1) { var i = t[n], a = { time: i.tm, duration: i.dr }; try { a.payload = JSON.parse(t[n].cm); } catch { try { a.payload = e(t[n].cm); } catch { a.payload = { name: t[n].cm }; } } r.push(a); } return r; }; })(), ProjectInterface = (function () { function e(t) { this.compositions.push(t); } return function () { function t(r) { for (var n = 0, i = this.compositions.length; n < i;) { if (this.compositions[n].data && this.compositions[n].data.nm === r) return this.compositions[n].prepareFrame && this.compositions[n].data.xt && this.compositions[n].prepareFrame(this.currentFrame), this.compositions[n].compInterface; n += 1; } return null; } return (t.compositions = []), (t.currentFrame = 0), (t.registerComposition = e), t; }; })(), renderers = {}, registerRenderer = function (e, t) { renderers[e] = t; }; function getRenderer(e) { return renderers[e]; } function getRegisteredRenderer() { if (renderers.canvas) return "canvas"; for (var e in renderers) if (renderers[e]) return e; return ""; } function _typeof$4(e) { return ( (_typeof$4 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function (t) { return typeof t; } : function (t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }), _typeof$4(e) ); } var AnimationItem = function () { (this._cbs = []), (this.name = ""), (this.path = ""), (this.isLoaded = !1), (this.currentFrame = 0), (this.currentRawFrame = 0), (this.firstFrame = 0), (this.totalFrames = 0), (this.frameRate = 0), (this.frameMult = 0), (this.playSpeed = 1), (this.playDirection = 1), (this.playCount = 0), (this.animationData = {}), (this.assets = []), (this.isPaused = !0), (this.autoplay = !1), (this.loop = !0), (this.renderer = null), (this.animationID = createElementID()), (this.assetsPath = ""), (this.timeCompleted = 0), (this.segmentPos = 0), (this.isSubframeEnabled = getSubframeEnabled()), (this.segments = []), (this._idle = !0), (this._completedLoop = !1), (this.projectInterface = ProjectInterface()), (this.imagePreloader = new ImagePreloader()), (this.audioController = audioControllerFactory()), (this.markers = []), (this.configAnimation = this.configAnimation.bind(this)), (this.onSetupError = this.onSetupError.bind(this)), (this.onSegmentComplete = this.onSegmentComplete.bind(this)), (this.drawnFrameEvent = new BMEnterFrameEvent("drawnFrame", 0, 0, 0)), (this.expressionsPlugin = getExpressionsPlugin()); }; extendPrototype([BaseEvent], AnimationItem), (AnimationItem.prototype.setParams = function (e) { (e.wrapper || e.container) && (this.wrapper = e.wrapper || e.container); var t = "svg"; e.animType ? (t = e.animType) : e.renderer && (t = e.renderer); var r = getRenderer(t); (this.renderer = new r(this, e.rendererSettings)), this.imagePreloader.setCacheType(t, this.renderer.globalData.defs), this.renderer.setProjectInterface(this.projectInterface), (this.animType = t), e.loop === "" || e.loop === null || e.loop === void 0 || e.loop === !0 ? (this.loop = !0) : e.loop === !1 ? (this.loop = !1) : (this.loop = parseInt(e.loop, 10)), (this.autoplay = !("autoplay" in e) || e.autoplay), (this.name = e.name ? e.name : ""), (this.autoloadSegments = !Object.prototype.hasOwnProperty.call(e, "autoloadSegments") || e.autoloadSegments), (this.assetsPath = e.assetsPath), (this.initialSegment = e.initialSegment), e.audioFactory && this.audioController.setAudioFactory(e.audioFactory), e.animationData ? this.setupAnimation(e.animationData) : e.path && (e.path.lastIndexOf("\\") !== -1 ? (this.path = e.path.substr(0, e.path.lastIndexOf("\\") + 1)) : (this.path = e.path.substr(0, e.path.lastIndexOf("/") + 1)), (this.fileName = e.path.substr(e.path.lastIndexOf("/") + 1)), (this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf(".json"))), dataManager.loadAnimation(e.path, this.configAnimation, this.onSetupError)); }), (AnimationItem.prototype.onSetupError = function () { this.trigger("data_failed"); }), (AnimationItem.prototype.setupAnimation = function (e) { dataManager.completeAnimation(e, this.configAnimation); }), (AnimationItem.prototype.setData = function (e, t) { t && _typeof$4(t) !== "object" && (t = JSON.parse(t)); var r = { wrapper: e, animationData: t }, n = e.attributes; (r.path = n.getNamedItem("data-animation-path") ? n.getNamedItem("data-animation-path").value : n.getNamedItem("data-bm-path") ? n.getNamedItem("data-bm-path").value : n.getNamedItem("bm-path") ? n.getNamedItem("bm-path").value : ""), (r.animType = n.getNamedItem("data-anim-type") ? n.getNamedItem("data-anim-type").value : n.getNamedItem("data-bm-type") ? n.getNamedItem("data-bm-type").value : n.getNamedItem("bm-type") ? n.getNamedItem("bm-type").value : n.getNamedItem("data-bm-renderer") ? n.getNamedItem("data-bm-renderer").value : n.getNamedItem("bm-renderer") ? n.getNamedItem("bm-renderer").value : getRegisteredRenderer() || "canvas"); var i = n.getNamedItem("data-anim-loop") ? n.getNamedItem("data-anim-loop").value : n.getNamedItem("data-bm-loop") ? n.getNamedItem("data-bm-loop").value : n.getNamedItem("bm-loop") ? n.getNamedItem("bm-loop").value : ""; i === "false" ? (r.loop = !1) : i === "true" ? (r.loop = !0) : i !== "" && (r.loop = parseInt(i, 10)); var a = n.getNamedItem("data-anim-autoplay") ? n.getNamedItem("data-anim-autoplay").value : n.getNamedItem("data-bm-autoplay") ? n.getNamedItem("data-bm-autoplay").value : !n.getNamedItem("bm-autoplay") || n.getNamedItem("bm-autoplay").value; (r.autoplay = a !== "false"), (r.name = n.getNamedItem("data-name") ? n.getNamedItem("data-name").value : n.getNamedItem("data-bm-name") ? n.getNamedItem("data-bm-name").value : n.getNamedItem("bm-name") ? n.getNamedItem("bm-name").value : ""), (n.getNamedItem("data-anim-prerender") ? n.getNamedItem("data-anim-prerender").value : n.getNamedItem("data-bm-prerender") ? n.getNamedItem("data-bm-prerender").value : n.getNamedItem("bm-prerender") ? n.getNamedItem("bm-prerender").value : "") === "false" && (r.prerender = !1), r.path ? this.setParams(r) : this.trigger("destroy"); }), (AnimationItem.prototype.includeLayers = function (e) { e.op > this.animationData.op && ((this.animationData.op = e.op), (this.totalFrames = Math.floor(e.op - this.animationData.ip))); var t, r, n = this.animationData.layers, i = n.length, a = e.layers, s = a.length; for (r = 0; r < s; r += 1) for (t = 0; t < i;) { if (n[t].id === a[r].id) { n[t] = a[r]; break; } t += 1; } if (((e.chars || e.fonts) && (this.renderer.globalData.fontManager.addChars(e.chars), this.renderer.globalData.fontManager.addFonts(e.fonts, this.renderer.globalData.defs)), e.assets)) for (i = e.assets.length, t = 0; t < i; t += 1) this.animationData.assets.push(e.assets[t]); (this.animationData.__complete = !1), dataManager.completeAnimation(this.animationData, this.onSegmentComplete); }), (AnimationItem.prototype.onSegmentComplete = function (e) { this.animationData = e; var t = getExpressionsPlugin(); t && t.initExpressions(this), this.loadNextSegment(); }), (AnimationItem.prototype.loadNextSegment = function () { var e = this.animationData.segments; if (!e || e.length === 0 || !this.autoloadSegments) return this.trigger("data_ready"), void (this.timeCompleted = this.totalFrames); var t = e.shift(); this.timeCompleted = t.time * this.frameRate; var r = this.path + this.fileName + "_" + this.segmentPos + ".json"; (this.segmentPos += 1), dataManager.loadData( r, this.includeLayers.bind(this), function () { this.trigger("data_failed"); }.bind(this) ); }), (AnimationItem.prototype.loadSegments = function () { this.animationData.segments || (this.timeCompleted = this.totalFrames), this.loadNextSegment(); }), (AnimationItem.prototype.imagesLoaded = function () { this.trigger("loaded_images"), this.checkLoaded(); }), (AnimationItem.prototype.preloadImages = function () { this.imagePreloader.setAssetsPath(this.assetsPath), this.imagePreloader.setPath(this.path), this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this)); }), (AnimationItem.prototype.configAnimation = function (e) { if (this.renderer) try { (this.animationData = e), this.initialSegment ? ((this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0])), (this.firstFrame = Math.round(this.initialSegment[0]))) : ((this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip)), (this.firstFrame = Math.round(this.animationData.ip))), this.renderer.configAnimation(e), e.assets || (e.assets = []), (this.assets = this.animationData.assets), (this.frameRate = this.animationData.fr), (this.frameMult = this.animationData.fr / 1e3), this.renderer.searchExtraCompositions(e.assets), (this.markers = markerParser(e.markers || [])), this.trigger("config_ready"), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded(), this.isPaused && this.audioController.pause(); } catch (t) { this.triggerConfigError(t); } }), (AnimationItem.prototype.waitForFontsLoaded = function () { this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20)); }), (AnimationItem.prototype.checkLoaded = function () { if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== "canvas") && this.imagePreloader.loadedFootages()) { this.isLoaded = !0; var e = getExpressionsPlugin(); e && e.initExpressions(this), this.renderer.initItems(), setTimeout( function () { this.trigger("DOMLoaded"); }.bind(this), 0 ), this.gotoFrame(), this.autoplay && this.play(); } }), (AnimationItem.prototype.resize = function (e, t) { var r = typeof e == "number" ? e : void 0, n = typeof t == "number" ? t : void 0; this.renderer.updateContainerSize(r, n); }), (AnimationItem.prototype.setSubframe = function (e) { this.isSubframeEnabled = !!e; }), (AnimationItem.prototype.gotoFrame = function () { (this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame), this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted && (this.currentFrame = this.timeCompleted), this.trigger("enterFrame"), this.renderFrame(), this.trigger("drawnFrame"); }), (AnimationItem.prototype.renderFrame = function () { if (this.isLoaded !== !1 && this.renderer) try { this.expressionsPlugin && this.expressionsPlugin.resetFrame(), this.renderer.renderFrame(this.currentFrame + this.firstFrame); } catch (e) { this.triggerRenderFrameError(e); } }), (AnimationItem.prototype.play = function (e) { (e && this.name !== e) || (this.isPaused === !0 && ((this.isPaused = !1), this.trigger("_play"), this.audioController.resume(), this._idle && ((this._idle = !1), this.trigger("_active")))); }), (AnimationItem.prototype.pause = function (e) { (e && this.name !== e) || (this.isPaused === !1 && ((this.isPaused = !0), this.trigger("_pause"), (this._idle = !0), this.trigger("_idle"), this.audioController.pause())); }), (AnimationItem.prototype.togglePause = function (e) { (e && this.name !== e) || (this.isPaused === !0 ? this.play() : this.pause()); }), (AnimationItem.prototype.stop = function (e) { (e && this.name !== e) || (this.pause(), (this.playCount = 0), (this._completedLoop = !1), this.setCurrentRawFrameValue(0)); }), (AnimationItem.prototype.getMarkerData = function (e) { for (var t, r = 0; r < this.markers.length; r += 1) if ((t = this.markers[r]).payload && t.payload.name === e) return t; return null; }), (AnimationItem.prototype.goToAndStop = function (e, t, r) { if (!r || this.name === r) { var n = Number(e); if (isNaN(n)) { var i = this.getMarkerData(e); i && this.goToAndStop(i.time, !0); } else t ? this.setCurrentRawFrameValue(e) : this.setCurrentRawFrameValue(e * this.frameModifier); this.pause(); } }), (AnimationItem.prototype.goToAndPlay = function (e, t, r) { if (!r || this.name === r) { var n = Number(e); if (isNaN(n)) { var i = this.getMarkerData(e); i && (i.duration ? this.playSegments([i.time, i.time + i.duration], !0) : this.goToAndStop(i.time, !0)); } else this.goToAndStop(n, t, r); this.play(); } }), (AnimationItem.prototype.advanceTime = function (e) { if (this.isPaused !== !0 && this.isLoaded !== !1) { var t = this.currentRawFrame + e * this.frameModifier, r = !1; t >= this.totalFrames - 1 && this.frameModifier > 0 ? this.loop && this.playCount !== this.loop ? t >= this.totalFrames ? ((this.playCount += 1), this.checkSegments(t % this.totalFrames) || (this.setCurrentRawFrameValue(t % this.totalFrames), (this._completedLoop = !0), this.trigger("loopComplete"))) : this.setCurrentRawFrameValue(t) : this.checkSegments(t > this.totalFrames ? t % this.totalFrames : 0) || ((r = !0), (t = this.totalFrames - 1)) : t < 0 ? this.checkSegments(t % this.totalFrames) || (!this.loop || (this.playCount-- <= 0 && this.loop !== !0) ? ((r = !0), (t = 0)) : (this.setCurrentRawFrameValue(this.totalFrames + (t % this.totalFrames)), this._completedLoop ? this.trigger("loopComplete") : (this._completedLoop = !0))) : this.setCurrentRawFrameValue(t), r && (this.setCurrentRawFrameValue(t), this.pause(), this.trigger("complete")); } }), (AnimationItem.prototype.adjustSegment = function (e, t) { (this.playCount = 0), e[1] < e[0] ? (this.frameModifier > 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(-1)), (this.totalFrames = e[0] - e[1]), (this.timeCompleted = this.totalFrames), (this.firstFrame = e[1]), this.setCurrentRawFrameValue(this.totalFrames - 0.001 - t)) : e[1] > e[0] && (this.frameModifier < 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(1)), (this.totalFrames = e[1] - e[0]), (this.timeCompleted = this.totalFrames), (this.firstFrame = e[0]), this.setCurrentRawFrameValue(0.001 + t)), this.trigger("segmentStart"); }), (AnimationItem.prototype.setSegment = function (e, t) { var r = -1; this.isPaused && (this.currentRawFrame + this.firstFrame < e ? (r = e) : this.currentRawFrame + this.firstFrame > t && (r = t - e)), (this.firstFrame = e), (this.totalFrames = t - e), (this.timeCompleted = this.totalFrames), r !== -1 && this.goToAndStop(r, !0); }), (AnimationItem.prototype.playSegments = function (e, t) { if ((t && (this.segments.length = 0), _typeof$4(e[0]) === "object")) { var r, n = e.length; for (r = 0; r < n; r += 1) this.segments.push(e[r]); } else this.segments.push(e); this.segments.length && t && this.adjustSegment(this.segments.shift(), 0), this.isPaused && this.play(); }), (AnimationItem.prototype.resetSegments = function (e) { (this.segments.length = 0), this.segments.push([this.animationData.ip, this.animationData.op]), e && this.checkSegments(0); }), (AnimationItem.prototype.checkSegments = function (e) { return !!this.segments.length && (this.adjustSegment(this.segments.shift(), e), !0); }), (AnimationItem.prototype.destroy = function (e) { (e && this.name !== e) || !this.renderer || (this.renderer.destroy(), this.imagePreloader.destroy(), this.trigger("destroy"), (this._cbs = null), (this.onEnterFrame = null), (this.onLoopComplete = null), (this.onComplete = null), (this.onSegmentStart = null), (this.onDestroy = null), (this.renderer = null), (this.expressionsPlugin = null), (this.imagePreloader = null), (this.projectInterface = null)); }), (AnimationItem.prototype.setCurrentRawFrameValue = function (e) { (this.currentRawFrame = e), this.gotoFrame(); }), (AnimationItem.prototype.setSpeed = function (e) { (this.playSpeed = e), this.updaFrameModifier(); }), (AnimationItem.prototype.setDirection = function (e) { (this.playDirection = e < 0 ? -1 : 1), this.updaFrameModifier(); }), (AnimationItem.prototype.setLoop = function (e) { this.loop = e; }), (AnimationItem.prototype.setVolume = function (e, t) { (t && this.name !== t) || this.audioController.setVolume(e); }), (AnimationItem.prototype.getVolume = function () { return this.audioController.getVolume(); }), (AnimationItem.prototype.mute = function (e) { (e && this.name !== e) || this.audioController.mute(); }), (AnimationItem.prototype.unmute = function (e) { (e && this.name !== e) || this.audioController.unmute(); }), (AnimationItem.prototype.updaFrameModifier = function () { (this.frameModifier = this.frameMult * this.playSpeed * this.playDirection), this.audioController.setRate(this.playSpeed * this.playDirection); }), (AnimationItem.prototype.getPath = function () { return this.path; }), (AnimationItem.prototype.getAssetsPath = function (e) { var t = ""; if (e.e) t = e.p; else if (this.assetsPath) { var r = e.p; r.indexOf("images/") !== -1 && (r = r.split("/")[1]), (t = this.assetsPath + r); } else (t = this.path), (t += e.u ? e.u : ""), (t += e.p); return t; }), (AnimationItem.prototype.getAssetData = function (e) { for (var t = 0, r = this.assets.length; t < r;) { if (e === this.assets[t].id) return this.assets[t]; t += 1; } return null; }), (AnimationItem.prototype.hide = function () { this.renderer.hide(); }), (AnimationItem.prototype.show = function () { this.renderer.show(); }), (AnimationItem.prototype.getDuration = function (e) { return e ? this.totalFrames : this.totalFrames / this.frameRate; }), (AnimationItem.prototype.updateDocumentData = function (e, t, r) { try { this.renderer.getElementByPath(e).updateDocumentData(t, r); } catch { } }), (AnimationItem.prototype.trigger = function (e) { if (this._cbs && this._cbs[e]) switch (e) { case "enterFrame": this.triggerEvent(e, new BMEnterFrameEvent(e, this.currentFrame, this.totalFrames, this.frameModifier)); break; case "drawnFrame": (this.drawnFrameEvent.currentTime = this.currentFrame), (this.drawnFrameEvent.totalTime = this.totalFrames), (this.drawnFrameEvent.direction = this.frameModifier), this.triggerEvent(e, this.drawnFrameEvent); break; case "loopComplete": this.triggerEvent(e, new BMCompleteLoopEvent(e, this.loop, this.playCount, this.frameMult)); break; case "complete": this.triggerEvent(e, new BMCompleteEvent(e, this.frameMult)); break; case "segmentStart": this.triggerEvent(e, new BMSegmentStartEvent(e, this.firstFrame, this.totalFrames)); break; case "destroy": this.triggerEvent(e, new BMDestroyEvent(e, this)); break; default: this.triggerEvent(e); } e === "enterFrame" && this.onEnterFrame && this.onEnterFrame.call(this, new BMEnterFrameEvent(e, this.currentFrame, this.totalFrames, this.frameMult)), e === "loopComplete" && this.onLoopComplete && this.onLoopComplete.call(this, new BMCompleteLoopEvent(e, this.loop, this.playCount, this.frameMult)), e === "complete" && this.onComplete && this.onComplete.call(this, new BMCompleteEvent(e, this.frameMult)), e === "segmentStart" && this.onSegmentStart && this.onSegmentStart.call(this, new BMSegmentStartEvent(e, this.firstFrame, this.totalFrames)), e === "destroy" && this.onDestroy && this.onDestroy.call(this, new BMDestroyEvent(e, this)); }), (AnimationItem.prototype.triggerRenderFrameError = function (e) { var t = new BMRenderFrameErrorEvent(e, this.currentFrame); this.triggerEvent("error", t), this.onError && this.onError.call(this, t); }), (AnimationItem.prototype.triggerConfigError = function (e) { var t = new BMConfigErrorEvent(e, this.currentFrame); this.triggerEvent("error", t), this.onError && this.onError.call(this, t); }); var animationManager = (function () { var e = {}, t = [], r = 0, n = 0, i = 0, a = !0, s = !1; function o(m) { for (var u = 0, y = m.target; u < n;) t[u].animation === y && (t.splice(u, 1), (u -= 1), (n -= 1), y.isPaused || c()), (u += 1); } function l(m, u) { if (!m) return null; for (var y = 0; y < n;) { if (t[y].elem === m && t[y].elem !== null) return t[y].animation; y += 1; } var v = new AnimationItem(); return h(v, m), v.setData(m, u), v; } function p() { (i += 1), f(); } function c() { i -= 1; } function h(m, u) { m.addEventListener("destroy", o), m.addEventListener("_active", p), m.addEventListener("_idle", c), t.push({ elem: u, animation: m }), (n += 1); } function g(m) { var u, y = m - r; for (u = 0; u < n; u += 1) t[u].animation.advanceTime(y); (r = m), i && !s ? window.requestAnimationFrame(g) : (a = !0); } function d(m) { (r = m), window.requestAnimationFrame(g); } function f() { !s && i && a && (window.requestAnimationFrame(d), (a = !1)); } return ( (e.registerAnimation = l), (e.loadAnimation = function (m) { var u = new AnimationItem(); return h(u, null), u.setParams(m), u; }), (e.setSpeed = function (m, u) { var y; for (y = 0; y < n; y += 1) t[y].animation.setSpeed(m, u); }), (e.setDirection = function (m, u) { var y; for (y = 0; y < n; y += 1) t[y].animation.setDirection(m, u); }), (e.play = function (m) { var u; for (u = 0; u < n; u += 1) t[u].animation.play(m); }), (e.pause = function (m) { var u; for (u = 0; u < n; u += 1) t[u].animation.pause(m); }), (e.stop = function (m) { var u; for (u = 0; u < n; u += 1) t[u].animation.stop(m); }), (e.togglePause = function (m) { var u; for (u = 0; u < n; u += 1) t[u].animation.togglePause(m); }), (e.searchAnimations = function (m, u, y) { var v, E = [].concat([].slice.call(document.getElementsByClassName("lottie")), [].slice.call(document.getElementsByClassName("bodymovin"))), b = E.length; for (v = 0; v < b; v += 1) y && E[v].setAttribute("data-bm-type", y), l(E[v], m); if (u && b === 0) { y || (y = "svg"); var T = document.getElementsByTagName("body")[0]; T.innerText = ""; var A = createTag("div"); (A.style.width = "100%"), (A.style.height = "100%"), A.setAttribute("data-bm-type", y), T.appendChild(A), l(A, m); } }), (e.resize = function () { var m; for (m = 0; m < n; m += 1) t[m].animation.resize(); }), (e.goToAndStop = function (m, u, y) { var v; for (v = 0; v < n; v += 1) t[v].animation.goToAndStop(m, u, y); }), (e.destroy = function (m) { var u; for (u = n - 1; u >= 0; u -= 1) t[u].animation.destroy(m); }), (e.freeze = function () { s = !0; }), (e.unfreeze = function () { (s = !1), f(); }), (e.setVolume = function (m, u) { var y; for (y = 0; y < n; y += 1) t[y].animation.setVolume(m, u); }), (e.mute = function (m) { var u; for (u = 0; u < n; u += 1) t[u].animation.mute(m); }), (e.unmute = function (m) { var u; for (u = 0; u < n; u += 1) t[u].animation.unmute(m); }), (e.getRegisteredAnimations = function () { var m, u = t.length, y = []; for (m = 0; m < u; m += 1) y.push(t[m].animation); return y; }), e ); })(), BezierFactory = (function () { var e = { getBezierEasing: function (c, h, g, d, f) { var m = f || ("bez_" + c + "_" + h + "_" + g + "_" + d).replace(/\./g, "p"); if (t[m]) return t[m]; var u = new p([c, h, g, d]); return (t[m] = u), u; }, }, t = {}, r = 0.1, n = typeof Float32Array == "function"; function i(c, h) { return 1 - 3 * h + 3 * c; } function a(c, h) { return 3 * h - 6 * c; } function s(c) { return 3 * c; } function o(c, h, g) { return ((i(h, g) * c + a(h, g)) * c + s(h)) * c; } function l(c, h, g) { return 3 * i(h, g) * c * c + 2 * a(h, g) * c + s(h); } function p(c) { (this._p = c), (this._mSampleValues = n ? new Float32Array(11) : new Array(11)), (this._precomputed = !1), (this.get = this.get.bind(this)); } return ( (p.prototype = { get: function (c) { var h = this._p[0], g = this._p[1], d = this._p[2], f = this._p[3]; return this._precomputed || this._precompute(), h === g && d === f ? c : c === 0 ? 0 : c === 1 ? 1 : o(this._getTForX(c), g, f); }, _precompute: function () { var c = this._p[0], h = this._p[1], g = this._p[2], d = this._p[3]; (this._precomputed = !0), (c === h && g === d) || this._calcSampleValues(); }, _calcSampleValues: function () { for (var c = this._p[0], h = this._p[2], g = 0; g < 11; ++g) this._mSampleValues[g] = o(g * r, c, h); }, _getTForX: function (c) { for (var h = this._p[0], g = this._p[2], d = this._mSampleValues, f = 0, m = 1; m !== 10 && d[m] <= c; ++m) f += r; var u = f + ((c - d[--m]) / (d[m + 1] - d[m])) * r, y = l(u, h, g); return y >= 0.001 ? (function (v, E, b, T) { for (var A = 0; A < 4; ++A) { var x = l(E, b, T); if (x === 0) return E; E -= (o(E, b, T) - v) / x; } return E; })(c, u, h, g) : y === 0 ? u : (function (v, E, b, T, A) { var x, C, k = 0; do (x = o((C = E + (b - E) / 2), T, A) - v) > 0 ? (b = C) : (E = C); while (Math.abs(x) > 1e-7 && ++k < 10); return C; })(c, f, f + r, h, g); }, }), e ); })(), pooling = { double: function (e) { return e.concat(createSizedArray(e.length)); }, }, poolFactory = function (e, t, r) { var n = 0, i = e, a = createSizedArray(i); return { newElement: function () { return n ? a[(n -= 1)] : t(); }, release: function (s) { n === i && ((a = pooling.double(a)), (i *= 2)), r && r(s), (a[n] = s), (n += 1); }, }; }, bezierLengthPool = poolFactory(8, function () { return { addedLength: 0, percents: createTypedArray("float32", getDefaultCurveSegments()), lengths: createTypedArray("float32", getDefaultCurveSegments()) }; }), segmentsLengthPool = poolFactory( 8, function () { return { lengths: [], totalLength: 0 }; }, function (e) { var t, r = e.lengths.length; for (t = 0; t < r; t += 1) bezierLengthPool.release(e.lengths[t]); e.lengths.length = 0; } ); function bezFunction() { var e = Math; function t(p, c, h, g, d, f) { var m = p * g + c * d + h * f - d * g - f * p - h * c; return m > -0.001 && m < 0.001; } var r = function (p, c, h, g) { var d, f, m, u, y, v, E = getDefaultCurveSegments(), b = 0, T = [], A = [], x = bezierLengthPool.newElement(); for (m = h.length, d = 0; d < E; d += 1) { for (y = d / (E - 1), v = 0, f = 0; f < m; f += 1) (u = bmPow(1 - y, 3) * p[f] + 3 * bmPow(1 - y, 2) * y * h[f] + 3 * (1 - y) * bmPow(y, 2) * g[f] + bmPow(y, 3) * c[f]), (T[f] = u), A[f] !== null && (v += bmPow(T[f] - A[f], 2)), (A[f] = T[f]); v && (b += v = bmSqrt(v)), (x.percents[d] = y), (x.lengths[d] = b); } return (x.addedLength = b), x; }; function n(p) { (this.segmentLength = 0), (this.points = new Array(p)); } function i(p, c) { (this.partialLength = p), (this.point = c); } var a, s = ((a = {}), function (p, c, h, g) { var d = (p[0] + "_" + p[1] + "_" + c[0] + "_" + c[1] + "_" + h[0] + "_" + h[1] + "_" + g[0] + "_" + g[1]).replace(/\./g, "p"); if (!a[d]) { var f, m, u, y, v, E, b, T = getDefaultCurveSegments(), A = 0, x = null; p.length === 2 && (p[0] !== c[0] || p[1] !== c[1]) && t(p[0], p[1], c[0], c[1], p[0] + h[0], p[1] + h[1]) && t(p[0], p[1], c[0], c[1], c[0] + g[0], c[1] + g[1]) && (T = 2); var C = new n(T); for (u = h.length, f = 0; f < T; f += 1) { for (b = createSizedArray(u), v = f / (T - 1), E = 0, m = 0; m < u; m += 1) (y = bmPow(1 - v, 3) * p[m] + 3 * bmPow(1 - v, 2) * v * (p[m] + h[m]) + 3 * (1 - v) * bmPow(v, 2) * (c[m] + g[m]) + bmPow(v, 3) * c[m]), (b[m] = y), x !== null && (E += bmPow(b[m] - x[m], 2)); (A += E = bmSqrt(E)), (C.points[f] = new i(E, b)), (x = b); } (C.segmentLength = A), (a[d] = C); } return a[d]; }); function o(p, c) { var h = c.percents, g = c.lengths, d = h.length, f = bmFloor((d - 1) * p), m = p * c.addedLength, u = 0; if (f === d - 1 || f === 0 || m === g[f]) return h[f]; for (var y = g[f] > m ? -1 : 1, v = !0; v;) if ((g[f] <= m && g[f + 1] > m ? ((u = (m - g[f]) / (g[f + 1] - g[f])), (v = !1)) : (f += y), f < 0 || f >= d - 1)) { if (f === d - 1) return h[f]; v = !1; } return h[f] + (h[f + 1] - h[f]) * u; } var l = createTypedArray("float32", 8); return { getSegmentsLength: function (p) { var c, h = segmentsLengthPool.newElement(), g = p.c, d = p.v, f = p.o, m = p.i, u = p._length, y = h.lengths, v = 0; for (c = 0; c < u - 1; c += 1) (y[c] = r(d[c], d[c + 1], f[c], m[c + 1])), (v += y[c].addedLength); return g && u && ((y[c] = r(d[c], d[0], f[c], m[0])), (v += y[c].addedLength)), (h.totalLength = v), h; }, getNewSegment: function (p, c, h, g, d, f, m) { d < 0 ? (d = 0) : d > 1 && (d = 1); var u, y = o(d, m), v = o((f = f > 1 ? 1 : f), m), E = p.length, b = 1 - y, T = 1 - v, A = b * b * b, x = y * b * b * 3, C = y * y * b * 3, k = y * y * y, D = b * b * T, I = y * b * T + b * y * T + b * b * v, L = y * y * T + b * y * v + y * b * v, O = y * y * v, R = b * T * T, B = y * T * T + b * v * T + b * T * v, j = y * v * T + b * v * v + y * T * v, te = y * v * v, P = T * T * T, W = v * T * T + T * v * T + T * T * v, K = v * v * T + T * v * v + v * T * v, N = v * v * v; for (u = 0; u < E; u += 1) (l[4 * u] = e.round(1e3 * (A * p[u] + x * h[u] + C * g[u] + k * c[u])) / 1e3), (l[4 * u + 1] = e.round(1e3 * (D * p[u] + I * h[u] + L * g[u] + O * c[u])) / 1e3), (l[4 * u + 2] = e.round(1e3 * (R * p[u] + B * h[u] + j * g[u] + te * c[u])) / 1e3), (l[4 * u + 3] = e.round(1e3 * (P * p[u] + W * h[u] + K * g[u] + N * c[u])) / 1e3); return l; }, getPointInSegment: function (p, c, h, g, d, f) { var m = o(d, f), u = 1 - m; return [ e.round(1e3 * (u * u * u * p[0] + (m * u * u + u * m * u + u * u * m) * h[0] + (m * m * u + u * m * m + m * u * m) * g[0] + m * m * m * c[0])) / 1e3, e.round(1e3 * (u * u * u * p[1] + (m * u * u + u * m * u + u * u * m) * h[1] + (m * m * u + u * m * m + m * u * m) * g[1] + m * m * m * c[1])) / 1e3, ]; }, buildBezierData: s, pointOnLine2D: t, pointOnLine3D: function (p, c, h, g, d, f, m, u, y) { if (h === 0 && f === 0 && y === 0) return t(p, c, g, d, m, u); var v, E = e.sqrt(e.pow(g - p, 2) + e.pow(d - c, 2) + e.pow(f - h, 2)), b = e.sqrt(e.pow(m - p, 2) + e.pow(u - c, 2) + e.pow(y - h, 2)), T = e.sqrt(e.pow(m - g, 2) + e.pow(u - d, 2) + e.pow(y - f, 2)); return (v = E > b ? (E > T ? E - b - T : T - b - E) : T > b ? T - b - E : b - E - T) > -1e-4 && v < 1e-4; }, }; } var bez = bezFunction(), initFrame = initialDefaultFrame, mathAbs = Math.abs; function interpolateValue(e, t) { var r, n = this.offsetTime; this.propType === "multidimensional" && (r = createTypedArray("float32", this.pv.length)); for (var i, a, s, o, l, p, c, h, g, d = t.lastIndex, f = d, m = this.keyframes.length - 1, u = !0; u;) { if (((i = this.keyframes[f]), (a = this.keyframes[f + 1]), f === m - 1 && e >= a.t - n)) { i.h && (i = a), (d = 0); break; } if (a.t - n > e) { d = f; break; } f < m - 1 ? (f += 1) : ((d = 0), (u = !1)); } s = this.keyframesMetadata[f] || {}; var y, v = a.t - n, E = i.t - n; if (i.to) { s.bezierData || (s.bezierData = bez.buildBezierData(i.s, a.s || i.e, i.to, i.ti)); var b = s.bezierData; if (e >= v || e < E) { var T = e >= v ? b.points.length - 1 : 0; for (l = b.points[T].point.length, o = 0; o < l; o += 1) r[o] = b.points[T].point[o]; } else { s.__fnct ? (g = s.__fnct) : ((g = BezierFactory.getBezierEasing(i.o.x, i.o.y, i.i.x, i.i.y, i.n).get), (s.__fnct = g)), (p = g((e - E) / (v - E))); var A, x = b.segmentLength * p, C = t.lastFrame < e && t._lastKeyframeIndex === f ? t._lastAddedLength : 0; for (h = t.lastFrame < e && t._lastKeyframeIndex === f ? t._lastPoint : 0, u = !0, c = b.points.length; u;) { if (((C += b.points[h].partialLength), x === 0 || p === 0 || h === b.points.length - 1)) { for (l = b.points[h].point.length, o = 0; o < l; o += 1) r[o] = b.points[h].point[o]; break; } if (x >= C && x < C + b.points[h + 1].partialLength) { for (A = (x - C) / b.points[h + 1].partialLength, l = b.points[h].point.length, o = 0; o < l; o += 1) r[o] = b.points[h].point[o] + (b.points[h + 1].point[o] - b.points[h].point[o]) * A; break; } h < c - 1 ? (h += 1) : (u = !1); } (t._lastPoint = h), (t._lastAddedLength = C - b.points[h].partialLength), (t._lastKeyframeIndex = f); } } else { var k, D, I, L, O; if (((m = i.s.length), (y = a.s || i.e), this.sh && i.h !== 1)) e >= v ? ((r[0] = y[0]), (r[1] = y[1]), (r[2] = y[2])) : e <= E ? ((r[0] = i.s[0]), (r[1] = i.s[1]), (r[2] = i.s[2])) : quaternionToEuler(r, slerp(createQuaternion(i.s), createQuaternion(y), (e - E) / (v - E))); else for (f = 0; f < m; f += 1) i.h !== 1 && (e >= v ? (p = 1) : e < E ? (p = 0) : (i.o.x.constructor === Array ? (s.__fnct || (s.__fnct = []), s.__fnct[f] ? (g = s.__fnct[f]) : ((k = i.o.x[f] === void 0 ? i.o.x[0] : i.o.x[f]), (D = i.o.y[f] === void 0 ? i.o.y[0] : i.o.y[f]), (I = i.i.x[f] === void 0 ? i.i.x[0] : i.i.x[f]), (L = i.i.y[f] === void 0 ? i.i.y[0] : i.i.y[f]), (g = BezierFactory.getBezierEasing(k, D, I, L).get), (s.__fnct[f] = g))) : s.__fnct ? (g = s.__fnct) : ((k = i.o.x), (D = i.o.y), (I = i.i.x), (L = i.i.y), (g = BezierFactory.getBezierEasing(k, D, I, L).get), (i.keyframeMetadata = g)), (p = g((e - E) / (v - E))))), (y = a.s || i.e), (O = i.h === 1 ? i.s[f] : i.s[f] + (y[f] - i.s[f]) * p), this.propType === "multidimensional" ? (r[f] = O) : (r = O); } return (t.lastIndex = d), r; } function slerp(e, t, r) { var n, i, a, s, o, l = [], p = e[0], c = e[1], h = e[2], g = e[3], d = t[0], f = t[1], m = t[2], u = t[3]; return ( (i = p * d + c * f + h * m + g * u) < 0 && ((i = -i), (d = -d), (f = -f), (m = -m), (u = -u)), 1 - i > 1e-6 ? ((n = Math.acos(i)), (a = Math.sin(n)), (s = Math.sin((1 - r) * n) / a), (o = Math.sin(r * n) / a)) : ((s = 1 - r), (o = r)), (l[0] = s * p + o * d), (l[1] = s * c + o * f), (l[2] = s * h + o * m), (l[3] = s * g + o * u), l ); } function quaternionToEuler(e, t) { var r = t[0], n = t[1], i = t[2], a = t[3], s = Math.atan2(2 * n * a - 2 * r * i, 1 - 2 * n * n - 2 * i * i), o = Math.asin(2 * r * n + 2 * i * a), l = Math.atan2(2 * r * a - 2 * n * i, 1 - 2 * r * r - 2 * i * i); (e[0] = s / degToRads), (e[1] = o / degToRads), (e[2] = l / degToRads); } function createQuaternion(e) { var t = e[0] * degToRads, r = e[1] * degToRads, n = e[2] * degToRads, i = Math.cos(t / 2), a = Math.cos(r / 2), s = Math.cos(n / 2), o = Math.sin(t / 2), l = Math.sin(r / 2), p = Math.sin(n / 2); return [o * l * s + i * a * p, o * a * s + i * l * p, i * l * s - o * a * p, i * a * s - o * l * p]; } function getValueAtCurrentTime() { var e = this.comp.renderedFrame - this.offsetTime, t = this.keyframes[0].t - this.offsetTime, r = this.keyframes[this.keyframes.length - 1].t - this.offsetTime; if (!(e === this._caching.lastFrame || (this._caching.lastFrame !== initFrame && ((this._caching.lastFrame >= r && e >= r) || (this._caching.lastFrame < t && e < t))))) { this._caching.lastFrame >= e && ((this._caching._lastKeyframeIndex = -1), (this._caching.lastIndex = 0)); var n = this.interpolateValue(e, this._caching); this.pv = n; } return (this._caching.lastFrame = e), this.pv; } function setVValue(e) { var t; if (this.propType === "unidimensional") (t = e * this.mult), mathAbs(this.v - t) > 1e-5 && ((this.v = t), (this._mdf = !0)); else for (var r = 0, n = this.v.length; r < n;) (t = e[r] * this.mult), mathAbs(this.v[r] - t) > 1e-5 && ((this.v[r] = t), (this._mdf = !0)), (r += 1); } function processEffectsSequence() { if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length) if (this.lock) this.setVValue(this.pv); else { var e; (this.lock = !0), (this._mdf = this._isFirstFrame); var t = this.effectsSequence.length, r = this.kf ? this.pv : this.data.k; for (e = 0; e < t; e += 1) r = this.effectsSequence[e](r); this.setVValue(r), (this._isFirstFrame = !1), (this.lock = !1), (this.frameId = this.elem.globalData.frameId); } } function addEffect(e) { this.effectsSequence.push(e), this.container.addDynamicProperty(this); } function ValueProperty(e, t, r, n) { (this.propType = "unidimensional"), (this.mult = r || 1), (this.data = t), (this.v = r ? t.k * r : t.k), (this.pv = t.k), (this._mdf = !1), (this.elem = e), (this.container = n), (this.comp = e.comp), (this.k = !1), (this.kf = !1), (this.vel = 0), (this.effectsSequence = []), (this._isFirstFrame = !0), (this.getValue = processEffectsSequence), (this.setVValue = setVValue), (this.addEffect = addEffect); } function MultiDimensionalProperty(e, t, r, n) { var i; (this.propType = "multidimensional"), (this.mult = r || 1), (this.data = t), (this._mdf = !1), (this.elem = e), (this.container = n), (this.comp = e.comp), (this.k = !1), (this.kf = !1), (this.frameId = -1); var a = t.k.length; for (this.v = createTypedArray("float32", a), this.pv = createTypedArray("float32", a), this.vel = createTypedArray("float32", a), i = 0; i < a; i += 1) (this.v[i] = t.k[i] * this.mult), (this.pv[i] = t.k[i]); (this._isFirstFrame = !0), (this.effectsSequence = []), (this.getValue = processEffectsSequence), (this.setVValue = setVValue), (this.addEffect = addEffect); } function KeyframedValueProperty(e, t, r, n) { (this.propType = "unidimensional"), (this.keyframes = t.k), (this.keyframesMetadata = []), (this.offsetTime = e.data.st), (this.frameId = -1), (this._caching = { lastFrame: initFrame, lastIndex: 0, value: 0, _lastKeyframeIndex: -1 }), (this.k = !0), (this.kf = !0), (this.data = t), (this.mult = r || 1), (this.elem = e), (this.container = n), (this.comp = e.comp), (this.v = initFrame), (this.pv = initFrame), (this._isFirstFrame = !0), (this.getValue = processEffectsSequence), (this.setVValue = setVValue), (this.interpolateValue = interpolateValue), (this.effectsSequence = [getValueAtCurrentTime.bind(this)]), (this.addEffect = addEffect); } function KeyframedMultidimensionalProperty(e, t, r, n) { var i; this.propType = "multidimensional"; var a, s, o, l, p = t.k.length; for (i = 0; i < p - 1; i += 1) t.k[i].to && t.k[i].s && t.k[i + 1] && t.k[i + 1].s && ((a = t.k[i].s), (s = t.k[i + 1].s), (o = t.k[i].to), (l = t.k[i].ti), ((a.length === 2 && (a[0] !== s[0] || a[1] !== s[1]) && bez.pointOnLine2D(a[0], a[1], s[0], s[1], a[0] + o[0], a[1] + o[1]) && bez.pointOnLine2D(a[0], a[1], s[0], s[1], s[0] + l[0], s[1] + l[1])) || (a.length === 3 && (a[0] !== s[0] || a[1] !== s[1] || a[2] !== s[2]) && bez.pointOnLine3D(a[0], a[1], a[2], s[0], s[1], s[2], a[0] + o[0], a[1] + o[1], a[2] + o[2]) && bez.pointOnLine3D(a[0], a[1], a[2], s[0], s[1], s[2], s[0] + l[0], s[1] + l[1], s[2] + l[2]))) && ((t.k[i].to = null), (t.k[i].ti = null)), a[0] === s[0] && a[1] === s[1] && o[0] === 0 && o[1] === 0 && l[0] === 0 && l[1] === 0 && (a.length === 2 || (a[2] === s[2] && o[2] === 0 && l[2] === 0)) && ((t.k[i].to = null), (t.k[i].ti = null))); (this.effectsSequence = [getValueAtCurrentTime.bind(this)]), (this.data = t), (this.keyframes = t.k), (this.keyframesMetadata = []), (this.offsetTime = e.data.st), (this.k = !0), (this.kf = !0), (this._isFirstFrame = !0), (this.mult = r || 1), (this.elem = e), (this.container = n), (this.comp = e.comp), (this.getValue = processEffectsSequence), (this.setVValue = setVValue), (this.interpolateValue = interpolateValue), (this.frameId = -1); var c = t.k[0].s.length; for (this.v = createTypedArray("float32", c), this.pv = createTypedArray("float32", c), i = 0; i < c; i += 1) (this.v[i] = initFrame), (this.pv[i] = initFrame); (this._caching = { lastFrame: initFrame, lastIndex: 0, value: createTypedArray("float32", c) }), (this.addEffect = addEffect); } var PropertyFactory = { getProp: function (e, t, r, n, i) { var a; if ((t.sid && (t = e.globalData.slotManager.getProp(t)), t.k.length)) if (typeof t.k[0] == "number") a = new MultiDimensionalProperty(e, t, n, i); else switch (r) { case 0: a = new KeyframedValueProperty(e, t, n, i); break; case 1: a = new KeyframedMultidimensionalProperty(e, t, n, i); } else a = new ValueProperty(e, t, n, i); return a.effectsSequence.length && i.addDynamicProperty(a), a; }, }; function DynamicPropertyContainer() { } DynamicPropertyContainer.prototype = { addDynamicProperty: function (e) { this.dynamicProperties.indexOf(e) === -1 && (this.dynamicProperties.push(e), this.container.addDynamicProperty(this), (this._isAnimated = !0)); }, iterateDynamicProperties: function () { var e; this._mdf = !1; var t = this.dynamicProperties.length; for (e = 0; e < t; e += 1) this.dynamicProperties[e].getValue(), this.dynamicProperties[e]._mdf && (this._mdf = !0); }, initDynamicPropertyContainer: function (e) { (this.container = e), (this.dynamicProperties = []), (this._mdf = !1), (this._isAnimated = !1); }, }; var pointPool = poolFactory(8, function () { return createTypedArray("float32", 2); }); function ShapePath() { (this.c = !1), (this._length = 0), (this._maxLength = 8), (this.v = createSizedArray(this._maxLength)), (this.o = createSizedArray(this._maxLength)), (this.i = createSizedArray(this._maxLength)); } (ShapePath.prototype.setPathData = function (e, t) { (this.c = e), this.setLength(t); for (var r = 0; r < t;) (this.v[r] = pointPool.newElement()), (this.o[r] = pointPool.newElement()), (this.i[r] = pointPool.newElement()), (r += 1); }), (ShapePath.prototype.setLength = function (e) { for (; this._maxLength < e;) this.doubleArrayLength(); this._length = e; }), (ShapePath.prototype.doubleArrayLength = function () { (this.v = this.v.concat(createSizedArray(this._maxLength))), (this.i = this.i.concat(createSizedArray(this._maxLength))), (this.o = this.o.concat(createSizedArray(this._maxLength))), (this._maxLength *= 2); }), (ShapePath.prototype.setXYAt = function (e, t, r, n, i) { var a; switch (((this._length = Math.max(this._length, n + 1)), this._length >= this._maxLength && this.doubleArrayLength(), r)) { case "v": a = this.v; break; case "i": a = this.i; break; case "o": a = this.o; break; default: a = []; } (!a[n] || (a[n] && !i)) && (a[n] = pointPool.newElement()), (a[n][0] = e), (a[n][1] = t); }), (ShapePath.prototype.setTripleAt = function (e, t, r, n, i, a, s, o) { this.setXYAt(e, t, "v", s, o), this.setXYAt(r, n, "o", s, o), this.setXYAt(i, a, "i", s, o); }), (ShapePath.prototype.reverse = function () { var e = new ShapePath(); e.setPathData(this.c, this._length); var t = this.v, r = this.o, n = this.i, i = 0; this.c && (e.setTripleAt(t[0][0], t[0][1], n[0][0], n[0][1], r[0][0], r[0][1], 0, !1), (i = 1)); var a, s = this._length - 1, o = this._length; for (a = i; a < o; a += 1) e.setTripleAt(t[s][0], t[s][1], n[s][0], n[s][1], r[s][0], r[s][1], a, !1), (s -= 1); return e; }), (ShapePath.prototype.length = function () { return this._length; }); var shapePool = ((factory = poolFactory( 4, function () { return new ShapePath(); }, function (e) { var t, r = e._length; for (t = 0; t < r; t += 1) pointPool.release(e.v[t]), pointPool.release(e.i[t]), pointPool.release(e.o[t]), (e.v[t] = null), (e.i[t] = null), (e.o[t] = null); (e._length = 0), (e.c = !1); } )), (factory.clone = function (e) { var t, r = factory.newElement(), n = e._length === void 0 ? e.v.length : e._length; for (r.setLength(n), r.c = e.c, t = 0; t < n; t += 1) r.setTripleAt(e.v[t][0], e.v[t][1], e.o[t][0], e.o[t][1], e.i[t][0], e.i[t][1], t); return r; }), factory), factory; function ShapeCollection() { (this._length = 0), (this._maxLength = 4), (this.shapes = createSizedArray(this._maxLength)); } (ShapeCollection.prototype.addShape = function (e) { this._length === this._maxLength && ((this.shapes = this.shapes.concat(createSizedArray(this._maxLength))), (this._maxLength *= 2)), (this.shapes[this._length] = e), (this._length += 1); }), (ShapeCollection.prototype.releaseShapes = function () { var e; for (e = 0; e < this._length; e += 1) shapePool.release(this.shapes[e]); this._length = 0; }); var shapeCollectionPool = ((ob = { newShapeCollection: function () { return _length ? pool[(_length -= 1)] : new ShapeCollection(); }, release: function (e) { var t, r = e._length; for (t = 0; t < r; t += 1) shapePool.release(e.shapes[t]); (e._length = 0), _length === _maxLength && ((pool = pooling.double(pool)), (_maxLength *= 2)), (pool[_length] = e), (_length += 1); }, }), (_length = 0), (_maxLength = 4), (pool = createSizedArray(_maxLength)), ob), ob, _length, _maxLength, pool, ShapePropertyFactory = (function () { var e = -999999; function t(d, f, m) { var u, y, v, E, b, T, A, x, C, k = m.lastIndex, D = this.keyframes; if (d < D[0].t - this.offsetTime) (u = D[0].s[0]), (v = !0), (k = 0); else if (d >= D[D.length - 1].t - this.offsetTime) (u = D[D.length - 1].s ? D[D.length - 1].s[0] : D[D.length - 2].e[0]), (v = !0); else { for (var I, L, O, R = k, B = D.length - 1, j = !0; j && ((I = D[R]), !((L = D[R + 1]).t - this.offsetTime > d));) R < B - 1 ? (R += 1) : (j = !1); if (((O = this.keyframesMetadata[R] || {}), (k = R), !(v = I.h === 1))) { if (d >= L.t - this.offsetTime) x = 1; else if (d < I.t - this.offsetTime) x = 0; else { var te; O.__fnct ? (te = O.__fnct) : ((te = BezierFactory.getBezierEasing(I.o.x, I.o.y, I.i.x, I.i.y).get), (O.__fnct = te)), (x = te((d - (I.t - this.offsetTime)) / (L.t - this.offsetTime - (I.t - this.offsetTime)))); } y = L.s ? L.s[0] : I.e[0]; } u = I.s[0]; } for (T = f._length, A = u.i[0].length, m.lastIndex = k, E = 0; E < T; E += 1) for (b = 0; b < A; b += 1) (C = v ? u.i[E][b] : u.i[E][b] + (y.i[E][b] - u.i[E][b]) * x), (f.i[E][b] = C), (C = v ? u.o[E][b] : u.o[E][b] + (y.o[E][b] - u.o[E][b]) * x), (f.o[E][b] = C), (C = v ? u.v[E][b] : u.v[E][b] + (y.v[E][b] - u.v[E][b]) * x), (f.v[E][b] = C); } function r() { var d = this.comp.renderedFrame - this.offsetTime, f = this.keyframes[0].t - this.offsetTime, m = this.keyframes[this.keyframes.length - 1].t - this.offsetTime, u = this._caching.lastFrame; return ( (u !== e && ((u < f && d < f) || (u > m && d > m))) || ((this._caching.lastIndex = u < d ? this._caching.lastIndex : 0), this.interpolateShape(d, this.pv, this._caching)), (this._caching.lastFrame = d), this.pv ); } function n() { this.paths = this.localShapeCollection; } function i(d) { (function (f, m) { if (f._length !== m._length || f.c !== m.c) return !1; var u, y = f._length; for (u = 0; u < y; u += 1) if (f.v[u][0] !== m.v[u][0] || f.v[u][1] !== m.v[u][1] || f.o[u][0] !== m.o[u][0] || f.o[u][1] !== m.o[u][1] || f.i[u][0] !== m.i[u][0] || f.i[u][1] !== m.i[u][1]) return !1; return !0; })(this.v, d) || ((this.v = shapePool.clone(d)), this.localShapeCollection.releaseShapes(), this.localShapeCollection.addShape(this.v), (this._mdf = !0), (this.paths = this.localShapeCollection)); } function a() { if (this.elem.globalData.frameId !== this.frameId) if (this.effectsSequence.length) if (this.lock) this.setVValue(this.pv); else { var d, f; (this.lock = !0), (this._mdf = !1), (d = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k); var m = this.effectsSequence.length; for (f = 0; f < m; f += 1) d = this.effectsSequence[f](d); this.setVValue(d), (this.lock = !1), (this.frameId = this.elem.globalData.frameId); } else this._mdf = !1; } function s(d, f, m) { (this.propType = "shape"), (this.comp = d.comp), (this.container = d), (this.elem = d), (this.data = f), (this.k = !1), (this.kf = !1), (this._mdf = !1); var u = m === 3 ? f.pt.k : f.ks.k; (this.v = shapePool.clone(u)), (this.pv = shapePool.clone(this.v)), (this.localShapeCollection = shapeCollectionPool.newShapeCollection()), (this.paths = this.localShapeCollection), this.paths.addShape(this.v), (this.reset = n), (this.effectsSequence = []); } function o(d) { this.effectsSequence.push(d), this.container.addDynamicProperty(this); } function l(d, f, m) { (this.propType = "shape"), (this.comp = d.comp), (this.elem = d), (this.container = d), (this.offsetTime = d.data.st), (this.keyframes = m === 3 ? f.pt.k : f.ks.k), (this.keyframesMetadata = []), (this.k = !0), (this.kf = !0); var u = this.keyframes[0].s[0].i.length; (this.v = shapePool.newElement()), this.v.setPathData(this.keyframes[0].s[0].c, u), (this.pv = shapePool.clone(this.v)), (this.localShapeCollection = shapeCollectionPool.newShapeCollection()), (this.paths = this.localShapeCollection), this.paths.addShape(this.v), (this.lastFrame = e), (this.reset = n), (this._caching = { lastFrame: e, lastIndex: 0 }), (this.effectsSequence = [r.bind(this)]); } (s.prototype.interpolateShape = t), (s.prototype.getValue = a), (s.prototype.setVValue = i), (s.prototype.addEffect = o), (l.prototype.getValue = a), (l.prototype.interpolateShape = t), (l.prototype.setVValue = i), (l.prototype.addEffect = o); var p = (function () { var d = roundCorner; function f(m, u) { (this.v = shapePool.newElement()), this.v.setPathData(!0, 4), (this.localShapeCollection = shapeCollectionPool.newShapeCollection()), (this.paths = this.localShapeCollection), this.localShapeCollection.addShape(this.v), (this.d = u.d), (this.elem = m), (this.comp = m.comp), (this.frameId = -1), this.initDynamicPropertyContainer(m), (this.p = PropertyFactory.getProp(m, u.p, 1, 0, this)), (this.s = PropertyFactory.getProp(m, u.s, 1, 0, this)), this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertEllToPath()); } return ( (f.prototype = { reset: n, getValue: function () { this.elem.globalData.frameId !== this.frameId && ((this.frameId = this.elem.globalData.frameId), this.iterateDynamicProperties(), this._mdf && this.convertEllToPath()); }, convertEllToPath: function () { var m = this.p.v[0], u = this.p.v[1], y = this.s.v[0] / 2, v = this.s.v[1] / 2, E = this.d !== 3, b = this.v; (b.v[0][0] = m), (b.v[0][1] = u - v), (b.v[1][0] = E ? m + y : m - y), (b.v[1][1] = u), (b.v[2][0] = m), (b.v[2][1] = u + v), (b.v[3][0] = E ? m - y : m + y), (b.v[3][1] = u), (b.i[0][0] = E ? m - y * d : m + y * d), (b.i[0][1] = u - v), (b.i[1][0] = E ? m + y : m - y), (b.i[1][1] = u - v * d), (b.i[2][0] = E ? m + y * d : m - y * d), (b.i[2][1] = u + v), (b.i[3][0] = E ? m - y : m + y), (b.i[3][1] = u + v * d), (b.o[0][0] = E ? m + y * d : m - y * d), (b.o[0][1] = u - v), (b.o[1][0] = E ? m + y : m - y), (b.o[1][1] = u + v * d), (b.o[2][0] = E ? m - y * d : m + y * d), (b.o[2][1] = u + v), (b.o[3][0] = E ? m - y : m + y), (b.o[3][1] = u - v * d); }, }), extendPrototype([DynamicPropertyContainer], f), f ); })(), c = (function () { function d(f, m) { (this.v = shapePool.newElement()), this.v.setPathData(!0, 0), (this.elem = f), (this.comp = f.comp), (this.data = m), (this.frameId = -1), (this.d = m.d), this.initDynamicPropertyContainer(f), m.sy === 1 ? ((this.ir = PropertyFactory.getProp(f, m.ir, 0, 0, this)), (this.is = PropertyFactory.getProp(f, m.is, 0, 0.01, this)), (this.convertToPath = this.convertStarToPath)) : (this.convertToPath = this.convertPolygonToPath), (this.pt = PropertyFactory.getProp(f, m.pt, 0, 0, this)), (this.p = PropertyFactory.getProp(f, m.p, 1, 0, this)), (this.r = PropertyFactory.getProp(f, m.r, 0, degToRads, this)), (this.or = PropertyFactory.getProp(f, m.or, 0, 0, this)), (this.os = PropertyFactory.getProp(f, m.os, 0, 0.01, this)), (this.localShapeCollection = shapeCollectionPool.newShapeCollection()), this.localShapeCollection.addShape(this.v), (this.paths = this.localShapeCollection), this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertToPath()); } return ( (d.prototype = { reset: n, getValue: function () { this.elem.globalData.frameId !== this.frameId && ((this.frameId = this.elem.globalData.frameId), this.iterateDynamicProperties(), this._mdf && this.convertToPath()); }, convertStarToPath: function () { var f, m, u, y, v = 2 * Math.floor(this.pt.v), E = (2 * Math.PI) / v, b = !0, T = this.or.v, A = this.ir.v, x = this.os.v, C = this.is.v, k = (2 * Math.PI * T) / (2 * v), D = (2 * Math.PI * A) / (2 * v), I = -Math.PI / 2; I += this.r.v; var L = this.data.d === 3 ? -1 : 1; for (this.v._length = 0, f = 0; f < v; f += 1) { (u = b ? x : C), (y = b ? k : D); var O = (m = b ? T : A) * Math.cos(I), R = m * Math.sin(I), B = O === 0 && R === 0 ? 0 : R / Math.sqrt(O * O + R * R), j = O === 0 && R === 0 ? 0 : -O / Math.sqrt(O * O + R * R); (O += +this.p.v[0]), (R += +this.p.v[1]), this.v.setTripleAt(O, R, O - B * y * u * L, R - j * y * u * L, O + B * y * u * L, R + j * y * u * L, f, !0), (b = !b), (I += E * L); } }, convertPolygonToPath: function () { var f, m = Math.floor(this.pt.v), u = (2 * Math.PI) / m, y = this.or.v, v = this.os.v, E = (2 * Math.PI * y) / (4 * m), b = 0.5 * -Math.PI, T = this.data.d === 3 ? -1 : 1; for (b += this.r.v, this.v._length = 0, f = 0; f < m; f += 1) { var A = y * Math.cos(b), x = y * Math.sin(b), C = A === 0 && x === 0 ? 0 : x / Math.sqrt(A * A + x * x), k = A === 0 && x === 0 ? 0 : -A / Math.sqrt(A * A + x * x); (A += +this.p.v[0]), (x += +this.p.v[1]), this.v.setTripleAt(A, x, A - C * E * v * T, x - k * E * v * T, A + C * E * v * T, x + k * E * v * T, f, !0), (b += u * T); } (this.paths.length = 0), (this.paths[0] = this.v); }, }), extendPrototype([DynamicPropertyContainer], d), d ); })(), h = (function () { function d(f, m) { (this.v = shapePool.newElement()), (this.v.c = !0), (this.localShapeCollection = shapeCollectionPool.newShapeCollection()), this.localShapeCollection.addShape(this.v), (this.paths = this.localShapeCollection), (this.elem = f), (this.comp = f.comp), (this.frameId = -1), (this.d = m.d), this.initDynamicPropertyContainer(f), (this.p = PropertyFactory.getProp(f, m.p, 1, 0, this)), (this.s = PropertyFactory.getProp(f, m.s, 1, 0, this)), (this.r = PropertyFactory.getProp(f, m.r, 0, 0, this)), this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertRectToPath()); } return ( (d.prototype = { convertRectToPath: function () { var f = this.p.v[0], m = this.p.v[1], u = this.s.v[0] / 2, y = this.s.v[1] / 2, v = bmMin(u, y, this.r.v), E = v * (1 - roundCorner); (this.v._length = 0), this.d === 2 || this.d === 1 ? (this.v.setTripleAt(f + u, m - y + v, f + u, m - y + v, f + u, m - y + E, 0, !0), this.v.setTripleAt(f + u, m + y - v, f + u, m + y - E, f + u, m + y - v, 1, !0), v !== 0 ? (this.v.setTripleAt(f + u - v, m + y, f + u - v, m + y, f + u - E, m + y, 2, !0), this.v.setTripleAt(f - u + v, m + y, f - u + E, m + y, f - u + v, m + y, 3, !0), this.v.setTripleAt(f - u, m + y - v, f - u, m + y - v, f - u, m + y - E, 4, !0), this.v.setTripleAt(f - u, m - y + v, f - u, m - y + E, f - u, m - y + v, 5, !0), this.v.setTripleAt(f - u + v, m - y, f - u + v, m - y, f - u + E, m - y, 6, !0), this.v.setTripleAt(f + u - v, m - y, f + u - E, m - y, f + u - v, m - y, 7, !0)) : (this.v.setTripleAt(f - u, m + y, f - u + E, m + y, f - u, m + y, 2), this.v.setTripleAt(f - u, m - y, f - u, m - y + E, f - u, m - y, 3))) : (this.v.setTripleAt(f + u, m - y + v, f + u, m - y + E, f + u, m - y + v, 0, !0), v !== 0 ? (this.v.setTripleAt(f + u - v, m - y, f + u - v, m - y, f + u - E, m - y, 1, !0), this.v.setTripleAt(f - u + v, m - y, f - u + E, m - y, f - u + v, m - y, 2, !0), this.v.setTripleAt(f - u, m - y + v, f - u, m - y + v, f - u, m - y + E, 3, !0), this.v.setTripleAt(f - u, m + y - v, f - u, m + y - E, f - u, m + y - v, 4, !0), this.v.setTripleAt(f - u + v, m + y, f - u + v, m + y, f - u + E, m + y, 5, !0), this.v.setTripleAt(f + u - v, m + y, f + u - E, m + y, f + u - v, m + y, 6, !0), this.v.setTripleAt(f + u, m + y - v, f + u, m + y - v, f + u, m + y - E, 7, !0)) : (this.v.setTripleAt(f - u, m - y, f - u + E, m - y, f - u, m - y, 1, !0), this.v.setTripleAt(f - u, m + y, f - u, m + y - E, f - u, m + y, 2, !0), this.v.setTripleAt(f + u, m + y, f + u - E, m + y, f + u, m + y, 3, !0))); }, getValue: function () { this.elem.globalData.frameId !== this.frameId && ((this.frameId = this.elem.globalData.frameId), this.iterateDynamicProperties(), this._mdf && this.convertRectToPath()); }, reset: n, }), extendPrototype([DynamicPropertyContainer], d), d ); })(), g = { getShapeProp: function (d, f, m) { var u; return ( m === 3 || m === 4 ? (u = (m === 3 ? f.pt : f.ks).k.length ? new l(d, f, m) : new s(d, f, m)) : m === 5 ? (u = new h(d, f)) : m === 6 ? (u = new p(d, f)) : m === 7 && (u = new c(d, f)), u.k && d.addDynamicProperty(u), u ); }, getConstructorFunction: function () { return s; }, getKeyframedConstructorFunction: function () { return l; }, }; return g; })(), Matrix = (function () { var e = Math.cos, t = Math.sin, r = Math.tan, n = Math.round; function i() { return ( (this.props[0] = 1), (this.props[1] = 0), (this.props[2] = 0), (this.props[3] = 0), (this.props[4] = 0), (this.props[5] = 1), (this.props[6] = 0), (this.props[7] = 0), (this.props[8] = 0), (this.props[9] = 0), (this.props[10] = 1), (this.props[11] = 0), (this.props[12] = 0), (this.props[13] = 0), (this.props[14] = 0), (this.props[15] = 1), this ); } function a(P) { if (P === 0) return this; var W = e(P), K = t(P); return this._t(W, -K, 0, 0, K, W, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); } function s(P) { if (P === 0) return this; var W = e(P), K = t(P); return this._t(1, 0, 0, 0, 0, W, -K, 0, 0, K, W, 0, 0, 0, 0, 1); } function o(P) { if (P === 0) return this; var W = e(P), K = t(P); return this._t(W, 0, K, 0, 0, 1, 0, 0, -K, 0, W, 0, 0, 0, 0, 1); } function l(P) { if (P === 0) return this; var W = e(P), K = t(P); return this._t(W, -K, 0, 0, K, W, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); } function p(P, W) { return this._t(1, W, P, 1, 0, 0); } function c(P, W) { return this.shear(r(P), r(W)); } function h(P, W) { var K = e(W), N = t(W); return this._t(K, N, 0, 0, -N, K, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, r(P), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(K, -N, 0, 0, N, K, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); } function g(P, W, K) { return K || K === 0 || (K = 1), P === 1 && W === 1 && K === 1 ? this : this._t(P, 0, 0, 0, 0, W, 0, 0, 0, 0, K, 0, 0, 0, 0, 1); } function d(P, W, K, N, q, w, S, V, z, G, Q, ie, ee, F, J, ne) { return ( (this.props[0] = P), (this.props[1] = W), (this.props[2] = K), (this.props[3] = N), (this.props[4] = q), (this.props[5] = w), (this.props[6] = S), (this.props[7] = V), (this.props[8] = z), (this.props[9] = G), (this.props[10] = Q), (this.props[11] = ie), (this.props[12] = ee), (this.props[13] = F), (this.props[14] = J), (this.props[15] = ne), this ); } function f(P, W, K) { return (K = K || 0), P !== 0 || W !== 0 || K !== 0 ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, P, W, K, 1) : this; } function m(P, W, K, N, q, w, S, V, z, G, Q, ie, ee, F, J, ne) { var Y = this.props; if (P === 1 && W === 0 && K === 0 && N === 0 && q === 0 && w === 1 && S === 0 && V === 0 && z === 0 && G === 0 && Q === 1 && ie === 0) return (Y[12] = Y[12] * P + Y[15] * ee), (Y[13] = Y[13] * w + Y[15] * F), (Y[14] = Y[14] * Q + Y[15] * J), (Y[15] *= ne), (this._identityCalculated = !1), this; var he = Y[0], ye = Y[1], be = Y[2], M = Y[3], H = Y[4], U = Y[5], X = Y[6], Z = Y[7], $ = Y[8], ae = Y[9], oe = Y[10], se = Y[11], re = Y[12], ue = Y[13], ce = Y[14], ve = Y[15]; return ( (Y[0] = he * P + ye * q + be * z + M * ee), (Y[1] = he * W + ye * w + be * G + M * F), (Y[2] = he * K + ye * S + be * Q + M * J), (Y[3] = he * N + ye * V + be * ie + M * ne), (Y[4] = H * P + U * q + X * z + Z * ee), (Y[5] = H * W + U * w + X * G + Z * F), (Y[6] = H * K + U * S + X * Q + Z * J), (Y[7] = H * N + U * V + X * ie + Z * ne), (Y[8] = $ * P + ae * q + oe * z + se * ee), (Y[9] = $ * W + ae * w + oe * G + se * F), (Y[10] = $ * K + ae * S + oe * Q + se * J), (Y[11] = $ * N + ae * V + oe * ie + se * ne), (Y[12] = re * P + ue * q + ce * z + ve * ee), (Y[13] = re * W + ue * w + ce * G + ve * F), (Y[14] = re * K + ue * S + ce * Q + ve * J), (Y[15] = re * N + ue * V + ce * ie + ve * ne), (this._identityCalculated = !1), this ); } function u(P) { var W = P.props; return this.transform(W[0], W[1], W[2], W[3], W[4], W[5], W[6], W[7], W[8], W[9], W[10], W[11], W[12], W[13], W[14], W[15]); } function y() { return ( this._identityCalculated || ((this._identity = !( this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1 )), (this._identityCalculated = !0)), this._identity ); } function v(P) { for (var W = 0; W < 16;) { if (P.props[W] !== this.props[W]) return !1; W += 1; } return !0; } function E(P) { var W; for (W = 0; W < 16; W += 1) P.props[W] = this.props[W]; return P; } function b(P) { var W; for (W = 0; W < 16; W += 1) this.props[W] = P[W]; } function T(P, W, K) { return { x: P * this.props[0] + W * this.props[4] + K * this.props[8] + this.props[12], y: P * this.props[1] + W * this.props[5] + K * this.props[9] + this.props[13], z: P * this.props[2] + W * this.props[6] + K * this.props[10] + this.props[14], }; } function A(P, W, K) { return P * this.props[0] + W * this.props[4] + K * this.props[8] + this.props[12]; } function x(P, W, K) { return P * this.props[1] + W * this.props[5] + K * this.props[9] + this.props[13]; } function C(P, W, K) { return P * this.props[2] + W * this.props[6] + K * this.props[10] + this.props[14]; } function k() { var P = this.props[0] * this.props[5] - this.props[1] * this.props[4], W = this.props[5] / P, K = -this.props[1] / P, N = -this.props[4] / P, q = this.props[0] / P, w = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / P, S = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / P, V = new Matrix(); return (V.props[0] = W), (V.props[1] = K), (V.props[4] = N), (V.props[5] = q), (V.props[12] = w), (V.props[13] = S), V; } function D(P) { return this.getInverseMatrix().applyToPointArray(P[0], P[1], P[2] || 0); } function I(P) { var W, K = P.length, N = []; for (W = 0; W < K; W += 1) N[W] = D(P[W]); return N; } function L(P, W, K) { var N = createTypedArray("float32", 6); if (this.isIdentity()) (N[0] = P[0]), (N[1] = P[1]), (N[2] = W[0]), (N[3] = W[1]), (N[4] = K[0]), (N[5] = K[1]); else { var q = this.props[0], w = this.props[1], S = this.props[4], V = this.props[5], z = this.props[12], G = this.props[13]; (N[0] = P[0] * q + P[1] * S + z), (N[1] = P[0] * w + P[1] * V + G), (N[2] = W[0] * q + W[1] * S + z), (N[3] = W[0] * w + W[1] * V + G), (N[4] = K[0] * q + K[1] * S + z), (N[5] = K[0] * w + K[1] * V + G); } return N; } function O(P, W, K) { return this.isIdentity() ? [P, W, K] : [ P * this.props[0] + W * this.props[4] + K * this.props[8] + this.props[12], P * this.props[1] + W * this.props[5] + K * this.props[9] + this.props[13], P * this.props[2] + W * this.props[6] + K * this.props[10] + this.props[14], ]; } function R(P, W) { if (this.isIdentity()) return P + "," + W; var K = this.props; return Math.round(100 * (P * K[0] + W * K[4] + K[12])) / 100 + "," + Math.round(100 * (P * K[1] + W * K[5] + K[13])) / 100; } function B() { for (var P = 0, W = this.props, K = "matrix3d("; P < 16;) (K += n(1e4 * W[P]) / 1e4), (K += P === 15 ? ")" : ","), (P += 1); return K; } function j(P) { return (P < 1e-6 && P > 0) || (P > -1e-6 && P < 0) ? n(1e4 * P) / 1e4 : P; } function te() { var P = this.props; return "matrix(" + j(P[0]) + "," + j(P[1]) + "," + j(P[4]) + "," + j(P[5]) + "," + j(P[12]) + "," + j(P[13]) + ")"; } return function () { (this.reset = i), (this.rotate = a), (this.rotateX = s), (this.rotateY = o), (this.rotateZ = l), (this.skew = c), (this.skewFromAxis = h), (this.shear = p), (this.scale = g), (this.setTransform = d), (this.translate = f), (this.transform = m), (this.multiply = u), (this.applyToPoint = T), (this.applyToX = A), (this.applyToY = x), (this.applyToZ = C), (this.applyToPointArray = O), (this.applyToTriplePoints = L), (this.applyToPointStringified = R), (this.toCSS = B), (this.to2dCSS = te), (this.clone = E), (this.cloneFromProps = b), (this.equals = v), (this.inversePoints = I), (this.inversePoint = D), (this.getInverseMatrix = k), (this._t = this.transform), (this.isIdentity = y), (this._identity = !0), (this._identityCalculated = !1), (this.props = createTypedArray("float32", 16)), this.reset(); }; })(); function _typeof$3(e) { return ( (_typeof$3 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function (t) { return typeof t; } : function (t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }), _typeof$3(e) ); } var lottie = {}, standalone = "__[STANDALONE]__", animationData = "__[ANIMATIONDATA]__", renderer = ""; function setLocation(e) { setLocationHref(e); } function searchAnimations() { standalone === !0 ? animationManager.searchAnimations(animationData, standalone, renderer) : animationManager.searchAnimations(); } function setSubframeRendering(e) { setSubframeEnabled(e); } function setPrefix(e) { setIdPrefix(e); } function loadAnimation(e) { return standalone === !0 && (e.animationData = JSON.parse(animationData)), animationManager.loadAnimation(e); } function setQuality(e) { if (typeof e == "string") switch (e) { case "high": setDefaultCurveSegments(200); break; default: case "medium": setDefaultCurveSegments(50); break; case "low": setDefaultCurveSegments(10); } else !isNaN(e) && e > 1 && setDefaultCurveSegments(e); getDefaultCurveSegments() >= 50 ? roundValues(!1) : roundValues(!0); } function inBrowser() { return typeof navigator < "u"; } function installPlugin(e, t) { e === "expressions" && setExpressionsPlugin(t); } function getFactory(e) { switch (e) { case "propertyFactory": return PropertyFactory; case "shapePropertyFactory": return ShapePropertyFactory; case "matrix": return Matrix; default: return null; } } function checkReady() { document.readyState === "complete" && (clearInterval(readyStateCheckInterval), searchAnimations()); } function getQueryVariable(e) { for (var t = queryString.split("&"), r = 0; r < t.length; r += 1) { var n = t[r].split("="); if (decodeURIComponent(n[0]) == e) return decodeURIComponent(n[1]); } return null; } (lottie.play = animationManager.play), (lottie.pause = animationManager.pause), (lottie.setLocationHref = setLocation), (lottie.togglePause = animationManager.togglePause), (lottie.setSpeed = animationManager.setSpeed), (lottie.setDirection = animationManager.setDirection), (lottie.stop = animationManager.stop), (lottie.searchAnimations = searchAnimations), (lottie.registerAnimation = animationManager.registerAnimation), (lottie.loadAnimation = loadAnimation), (lottie.setSubframeRendering = setSubframeRendering), (lottie.resize = animationManager.resize), (lottie.goToAndStop = animationManager.goToAndStop), (lottie.destroy = animationManager.destroy), (lottie.setQuality = setQuality), (lottie.inBrowser = inBrowser), (lottie.installPlugin = installPlugin), (lottie.freeze = animationManager.freeze), (lottie.unfreeze = animationManager.unfreeze), (lottie.setVolume = animationManager.setVolume), (lottie.mute = animationManager.mute), (lottie.unmute = animationManager.unmute), (lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations), (lottie.useWebWorker = setWebWorker), (lottie.setIDPrefix = setPrefix), (lottie.__getFactory = getFactory), (lottie.version = "5.12.2"); var queryString = ""; if (standalone) { var scripts = document.getElementsByTagName("script"), index = scripts.length - 1, myScript = scripts[index] || { src: "" }; (queryString = myScript.src ? myScript.src.replace(/^[^\?]+\??/, "") : ""), (renderer = getQueryVariable("renderer")); } var readyStateCheckInterval = setInterval(checkReady, 100); try { ((typeof exports > "u" ? "undefined" : _typeof$3(exports)) === "object" && typeof module < "u") || (typeof define == "function" && define.amd) || (window.bodymovin = lottie); } catch (e) { } var ShapeModifiers = (function () { var e = {}, t = {}; return ( (e.registerModifier = function (r, n) { t[r] || (t[r] = n); }), (e.getModifier = function (r, n, i) { return new t[r](n, i); }), e ); })(); function ShapeModifier() { } function TrimModifier() { } function PuckerAndBloatModifier() { } (ShapeModifier.prototype.initModifierProperties = function () { }), (ShapeModifier.prototype.addShapeToModifier = function () { }), (ShapeModifier.prototype.addShape = function (e) { if (!this.closed) { e.sh.container.addDynamicProperty(e.sh); var t = { shape: e.sh, data: e, localShapeCollection: shapeCollectionPool.newShapeCollection() }; this.shapes.push(t), this.addShapeToModifier(t), this._isAnimated && e.setAsAnimated(); } }), (ShapeModifier.prototype.init = function (e, t) { (this.shapes = []), (this.elem = e), this.initDynamicPropertyContainer(e), this.initModifierProperties(e, t), (this.frameId = initialDefaultFrame), (this.closed = !1), (this.k = !1), this.dynamicProperties.length ? (this.k = !0) : this.getValue(!0); }), (ShapeModifier.prototype.processKeys = function () { this.elem.globalData.frameId !== this.frameId && ((this.frameId = this.elem.globalData.frameId), this.iterateDynamicProperties()); }), extendPrototype([DynamicPropertyContainer], ShapeModifier), extendPrototype([ShapeModifier], TrimModifier), (TrimModifier.prototype.initModifierProperties = function (e, t) { (this.s = PropertyFactory.getProp(e, t.s, 0, 0.01, this)), (this.e = PropertyFactory.getProp(e, t.e, 0, 0.01, this)), (this.o = PropertyFactory.getProp(e, t.o, 0, 0, this)), (this.sValue = 0), (this.eValue = 0), (this.getValue = this.processKeys), (this.m = t.m), (this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length); }), (TrimModifier.prototype.addShapeToModifier = function (e) { e.pathsData = []; }), (TrimModifier.prototype.calculateShapeEdges = function (e, t, r, n, i) { var a = []; t <= 1 ? a.push({ s: e, e: t }) : e >= 1 ? a.push({ s: e - 1, e: t - 1 }) : (a.push({ s: e, e: 1 }), a.push({ s: 0, e: t - 1 })); var s, o, l = [], p = a.length; for (s = 0; s < p; s += 1) { var c, h; (o = a[s]).e * i < n || o.s * i > n + r || ((c = o.s * i <= n ? 0 : (o.s * i - n) / r), (h = o.e * i >= n + r ? 1 : (o.e * i - n) / r), l.push([c, h])); } return l.length || l.push([0, 0]), l; }), (TrimModifier.prototype.releasePathsData = function (e) { var t, r = e.length; for (t = 0; t < r; t += 1) segmentsLengthPool.release(e[t]); return (e.length = 0), e; }), (TrimModifier.prototype.processShapes = function (e) { var t, r, n, i; if (this._mdf || e) { var a = (this.o.v % 360) / 360; if ((a < 0 && (a += 1), (t = this.s.v > 1 ? 1 + a : this.s.v < 0 ? 0 + a : this.s.v + a) > (r = this.e.v > 1 ? 1 + a : this.e.v < 0 ? 0 + a : this.e.v + a))) { var s = t; (t = r), (r = s); } (t = 1e-4 * Math.round(1e4 * t)), (r = 1e-4 * Math.round(1e4 * r)), (this.sValue = t), (this.eValue = r); } else (t = this.sValue), (r = this.eValue); var o, l, p, c, h, g = this.shapes.length, d = 0; if (r === t) for (i = 0; i < g; i += 1) this.shapes[i].localShapeCollection.releaseShapes(), (this.shapes[i].shape._mdf = !0), (this.shapes[i].shape.paths = this.shapes[i].localShapeCollection), this._mdf && (this.shapes[i].pathsData.length = 0); else if ((r === 1 && t === 0) || (r === 0 && t === 1)) { if (this._mdf) for (i = 0; i < g; i += 1) (this.shapes[i].pathsData.length = 0), (this.shapes[i].shape._mdf = !0); } else { var f, m, u = []; for (i = 0; i < g; i += 1) if ((f = this.shapes[i]).shape._mdf || this._mdf || e || this.m === 2) { if (((l = (n = f.shape.paths)._length), (h = 0), !f.shape._mdf && f.pathsData.length)) h = f.totalShapeLength; else { for (p = this.releasePathsData(f.pathsData), o = 0; o < l; o += 1) (c = bez.getSegmentsLength(n.shapes[o])), p.push(c), (h += c.totalLength); (f.totalShapeLength = h), (f.pathsData = p); } (d += h), (f.shape._mdf = !0); } else f.shape.paths = f.localShapeCollection; var y, v = t, E = r, b = 0; for (i = g - 1; i >= 0; i -= 1) if ((f = this.shapes[i]).shape._mdf) { for ( (m = f.localShapeCollection).releaseShapes(), this.m === 2 && g > 1 ? ((y = this.calculateShapeEdges(t, r, f.totalShapeLength, b, d)), (b += f.totalShapeLength)) : (y = [[v, E]]), l = y.length, o = 0; o < l; o += 1 ) { (v = y[o][0]), (E = y[o][1]), (u.length = 0), E <= 1 ? u.push({ s: f.totalShapeLength * v, e: f.totalShapeLength * E }) : v >= 1 ? u.push({ s: f.totalShapeLength * (v - 1), e: f.totalShapeLength * (E - 1) }) : (u.push({ s: f.totalShapeLength * v, e: f.totalShapeLength }), u.push({ s: 0, e: f.totalShapeLength * (E - 1) })); var T = this.addShapes(f, u[0]); if (u[0].s !== u[0].e) { if (u.length > 1) if (f.shape.paths.shapes[f.shape.paths._length - 1].c) { var A = T.pop(); this.addPaths(T, m), (T = this.addShapes(f, u[1], A)); } else this.addPaths(T, m), (T = this.addShapes(f, u[1])); this.addPaths(T, m); } } f.shape.paths = m; } } }), (TrimModifier.prototype.addPaths = function (e, t) { var r, n = e.length; for (r = 0; r < n; r += 1) t.addShape(e[r]); }), (TrimModifier.prototype.addSegment = function (e, t, r, n, i, a, s) { i.setXYAt(t[0], t[1], "o", a), i.setXYAt(r[0], r[1], "i", a + 1), s && i.setXYAt(e[0], e[1], "v", a), i.setXYAt(n[0], n[1], "v", a + 1); }), (TrimModifier.prototype.addSegmentFromArray = function (e, t, r, n) { t.setXYAt(e[1], e[5], "o", r), t.setXYAt(e[2], e[6], "i", r + 1), n && t.setXYAt(e[0], e[4], "v", r), t.setXYAt(e[3], e[7], "v", r + 1); }), (TrimModifier.prototype.addShapes = function (e, t, r) { var n, i, a, s, o, l, p, c, h = e.pathsData, g = e.shape.paths.shapes, d = e.shape.paths._length, f = 0, m = [], u = !0; for (r ? ((o = r._length), (c = r._length)) : ((r = shapePool.newElement()), (o = 0), (c = 0)), m.push(r), n = 0; n < d; n += 1) { for (l = h[n].lengths, r.c = g[n].c, a = g[n].c ? l.length : l.length + 1, i = 1; i < a; i += 1) if (f + (s = l[i - 1]).addedLength < t.s) (f += s.addedLength), (r.c = !1); else { if (f > t.e) { r.c = !1; break; } t.s <= f && t.e >= f + s.addedLength ? (this.addSegment(g[n].v[i - 1], g[n].o[i - 1], g[n].i[i], g[n].v[i], r, o, u), (u = !1)) : ((p = bez.getNewSegment(g[n].v[i - 1], g[n].v[i], g[n].o[i - 1], g[n].i[i], (t.s - f) / s.addedLength, (t.e - f) / s.addedLength, l[i - 1])), this.addSegmentFromArray(p, r, o, u), (u = !1), (r.c = !1)), (f += s.addedLength), (o += 1); } if (g[n].c && l.length) { if (((s = l[i - 1]), f <= t.e)) { var y = l[i - 1].addedLength; t.s <= f && t.e >= f + y ? (this.addSegment(g[n].v[i - 1], g[n].o[i - 1], g[n].i[0], g[n].v[0], r, o, u), (u = !1)) : ((p = bez.getNewSegment(g[n].v[i - 1], g[n].v[0], g[n].o[i - 1], g[n].i[0], (t.s - f) / y, (t.e - f) / y, l[i - 1])), this.addSegmentFromArray(p, r, o, u), (u = !1), (r.c = !1)); } else r.c = !1; (f += s.addedLength), (o += 1); } if ((r._length && (r.setXYAt(r.v[c][0], r.v[c][1], "i", c), r.setXYAt(r.v[r._length - 1][0], r.v[r._length - 1][1], "o", r._length - 1)), f > t.e)) break; n < d - 1 && ((r = shapePool.newElement()), (u = !0), m.push(r), (o = 0)); } return m; }), extendPrototype([ShapeModifier], PuckerAndBloatModifier), (PuckerAndBloatModifier.prototype.initModifierProperties = function (e, t) { (this.getValue = this.processKeys), (this.amount = PropertyFactory.getProp(e, t.a, 0, null, this)), (this._isAnimated = !!this.amount.effectsSequence.length); }), (PuckerAndBloatModifier.prototype.processPath = function (e, t) { var r = t / 100, n = [0, 0], i = e._length, a = 0; for (a = 0; a < i; a += 1) (n[0] += e.v[a][0]), (n[1] += e.v[a][1]); (n[0] /= i), (n[1] /= i); var s, o, l, p, c, h, g = shapePool.newElement(); for (g.c = e.c, a = 0; a < i; a += 1) (s = e.v[a][0] + (n[0] - e.v[a][0]) * r), (o = e.v[a][1] + (n[1] - e.v[a][1]) * r), (l = e.o[a][0] + (n[0] - e.o[a][0]) * -r), (p = e.o[a][1] + (n[1] - e.o[a][1]) * -r), (c = e.i[a][0] + (n[0] - e.i[a][0]) * -r), (h = e.i[a][1] + (n[1] - e.i[a][1]) * -r), g.setTripleAt(s, o, l, p, c, h, a); return g; }), (PuckerAndBloatModifier.prototype.processShapes = function (e) { var t, r, n, i, a, s, o = this.shapes.length, l = this.amount.v; if (l !== 0) for (r = 0; r < o; r += 1) { if (((s = (a = this.shapes[r]).localShapeCollection), a.shape._mdf || this._mdf || e)) for (s.releaseShapes(), a.shape._mdf = !0, t = a.shape.paths.shapes, i = a.shape.paths._length, n = 0; n < i; n += 1) s.addShape(this.processPath(t[n], l)); a.shape.paths = a.localShapeCollection; } this.dynamicProperties.length || (this._mdf = !1); }); var TransformPropertyFactory = (function () { var e = [0, 0]; function t(r, n, i) { if ( ((this.elem = r), (this.frameId = -1), (this.propType = "transform"), (this.data = n), (this.v = new Matrix()), (this.pre = new Matrix()), (this.appliedTransformations = 0), this.initDynamicPropertyContainer(i || r), n.p && n.p.s ? ((this.px = PropertyFactory.getProp(r, n.p.x, 0, 0, this)), (this.py = PropertyFactory.getProp(r, n.p.y, 0, 0, this)), n.p.z && (this.pz = PropertyFactory.getProp(r, n.p.z, 0, 0, this))) : (this.p = PropertyFactory.getProp(r, n.p || { k: [0, 0, 0] }, 1, 0, this)), n.rx) ) { if ( ((this.rx = PropertyFactory.getProp(r, n.rx, 0, degToRads, this)), (this.ry = PropertyFactory.getProp(r, n.ry, 0, degToRads, this)), (this.rz = PropertyFactory.getProp(r, n.rz, 0, degToRads, this)), n.or.k[0].ti) ) { var a, s = n.or.k.length; for (a = 0; a < s; a += 1) (n.or.k[a].to = null), (n.or.k[a].ti = null); } (this.or = PropertyFactory.getProp(r, n.or, 1, degToRads, this)), (this.or.sh = !0); } else this.r = PropertyFactory.getProp(r, n.r || { k: 0 }, 0, degToRads, this); n.sk && ((this.sk = PropertyFactory.getProp(r, n.sk, 0, degToRads, this)), (this.sa = PropertyFactory.getProp(r, n.sa, 0, degToRads, this))), (this.a = PropertyFactory.getProp(r, n.a || { k: [0, 0, 0] }, 1, 0, this)), (this.s = PropertyFactory.getProp(r, n.s || { k: [100, 100, 100] }, 1, 0.01, this)), n.o ? (this.o = PropertyFactory.getProp(r, n.o, 0, 0.01, r)) : (this.o = { _mdf: !1, v: 1 }), (this._isDirty = !0), this.dynamicProperties.length || this.getValue(!0); } return ( (t.prototype = { applyToMatrix: function (r) { var n = this._mdf; this.iterateDynamicProperties(), (this._mdf = this._mdf || n), this.a && r.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.s && r.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && r.skewFromAxis(-this.sk.v, this.sa.v), this.r ? r.rotate(-this.r.v) : r.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.data.p.s ? (this.data.p.z ? r.translate(this.px.v, this.py.v, -this.pz.v) : r.translate(this.px.v, this.py.v, 0)) : r.translate(this.p.v[0], this.p.v[1], -this.p.v[2]); }, getValue: function (r) { if (this.elem.globalData.frameId !== this.frameId) { if ((this._isDirty && (this.precalculateMatrix(), (this._isDirty = !1)), this.iterateDynamicProperties(), this._mdf || r)) { var n; if ( (this.v.cloneFromProps(this.pre.props), this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v), this.r && this.appliedTransformations < 4 ? this.v.rotate(-this.r.v) : !this.r && this.appliedTransformations < 4 && this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.autoOriented) ) { var i, a; if (((n = this.elem.globalData.frameRate), this.p && this.p.keyframes && this.p.getValueAtTime)) this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t ? ((i = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / n, 0)), (a = this.p.getValueAtTime(this.p.keyframes[0].t / n, 0))) : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t ? ((i = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / n, 0)), (a = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / n, 0))) : ((i = this.p.pv), (a = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / n, this.p.offsetTime))); else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) { (i = []), (a = []); var s = this.px, o = this.py; s._caching.lastFrame + s.offsetTime <= s.keyframes[0].t ? ((i[0] = s.getValueAtTime((s.keyframes[0].t + 0.01) / n, 0)), (i[1] = o.getValueAtTime((o.keyframes[0].t + 0.01) / n, 0)), (a[0] = s.getValueAtTime(s.keyframes[0].t / n, 0)), (a[1] = o.getValueAtTime(o.keyframes[0].t / n, 0))) : s._caching.lastFrame + s.offsetTime >= s.keyframes[s.keyframes.length - 1].t ? ((i[0] = s.getValueAtTime(s.keyframes[s.keyframes.length - 1].t / n, 0)), (i[1] = o.getValueAtTime(o.keyframes[o.keyframes.length - 1].t / n, 0)), (a[0] = s.getValueAtTime((s.keyframes[s.keyframes.length - 1].t - 0.01) / n, 0)), (a[1] = o.getValueAtTime((o.keyframes[o.keyframes.length - 1].t - 0.01) / n, 0))) : ((i = [s.pv, o.pv]), (a[0] = s.getValueAtTime((s._caching.lastFrame + s.offsetTime - 0.01) / n, s.offsetTime)), (a[1] = o.getValueAtTime((o._caching.lastFrame + o.offsetTime - 0.01) / n, o.offsetTime))); } else i = a = e; this.v.rotate(-Math.atan2(i[1] - a[1], i[0] - a[0])); } this.data.p && this.data.p.s ? this.data.p.z ? this.v.translate(this.px.v, this.py.v, -this.pz.v) : this.v.translate(this.px.v, this.py.v, 0) : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]); } this.frameId = this.elem.globalData.frameId; } }, precalculateMatrix: function () { if ( ((this.appliedTransformations = 0), this.pre.reset(), !this.a.effectsSequence.length && (this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), (this.appliedTransformations = 1), !this.s.effectsSequence.length)) ) { if ((this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]), (this.appliedTransformations = 2), this.sk)) { if (this.sk.effectsSequence.length || this.sa.effectsSequence.length) return; this.pre.skewFromAxis(-this.sk.v, this.sa.v), (this.appliedTransformations = 3); } this.r ? this.r.effectsSequence.length || (this.pre.rotate(-this.r.v), (this.appliedTransformations = 4)) : this.rz.effectsSequence.length || this.ry.effectsSequence.length || this.rx.effectsSequence.length || this.or.effectsSequence.length || (this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), (this.appliedTransformations = 4)); } }, autoOrient: function () { }, }), extendPrototype([DynamicPropertyContainer], t), (t.prototype.addDynamicProperty = function (r) { this._addDynamicProperty(r), this.elem.addDynamicProperty(r), (this._isDirty = !0); }), (t.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty), { getTransformProperty: function (r, n, i) { return new t(r, n, i); }, } ); })(); function RepeaterModifier() { } function RoundCornersModifier() { } function floatEqual(e, t) { return 1e5 * Math.abs(e - t) <= Math.min(Math.abs(e), Math.abs(t)); } function floatZero(e) { return Math.abs(e) <= 1e-5; } function lerp(e, t, r) { return e * (1 - r) + t * r; } function lerpPoint(e, t, r) { return [lerp(e[0], t[0], r), lerp(e[1], t[1], r)]; } function quadRoots(e, t, r) { if (e === 0) return []; var n = t * t - 4 * e * r; if (n < 0) return []; var i = -t / (2 * e); if (n === 0) return [i]; var a = Math.sqrt(n) / (2 * e); return [i - a, i + a]; } function polynomialCoefficients(e, t, r, n) { return [3 * t - e - 3 * r + n, 3 * e - 6 * t + 3 * r, -3 * e + 3 * t, e]; } function singlePoint(e) { return new PolynomialBezier(e, e, e, e, !1); } function PolynomialBezier(e, t, r, n, i) { i && pointEqual(e, t) && (t = lerpPoint(e, n, 1 / 3)), i && pointEqual(r, n) && (r = lerpPoint(e, n, 2 / 3)); var a = polynomialCoefficients(e[0], t[0], r[0], n[0]), s = polynomialCoefficients(e[1], t[1], r[1], n[1]); (this.a = [a[0], s[0]]), (this.b = [a[1], s[1]]), (this.c = [a[2], s[2]]), (this.d = [a[3], s[3]]), (this.points = [e, t, r, n]); } function extrema(e, t) { var r = e.points[0][t], n = e.points[e.points.length - 1][t]; if (r > n) { var i = n; (n = r), (r = i); } for (var a = quadRoots(3 * e.a[t], 2 * e.b[t], e.c[t]), s = 0; s < a.length; s += 1) if (a[s] > 0 && a[s] < 1) { var o = e.point(a[s])[t]; o < r ? (r = o) : o > n && (n = o); } return { min: r, max: n }; } function intersectData(e, t, r) { var n = e.boundingBox(); return { cx: n.cx, cy: n.cy, width: n.width, height: n.height, bez: e, t: (t + r) / 2, t1: t, t2: r }; } function splitData(e) { var t = e.bez.split(0.5); return [intersectData(t[0], e.t1, e.t), intersectData(t[1], e.t, e.t2)]; } function boxIntersect(e, t) { return 2 * Math.abs(e.cx - t.cx) < e.width + t.width && 2 * Math.abs(e.cy - t.cy) < e.height + t.height; } function intersectsImpl(e, t, r, n, i, a) { if (boxIntersect(e, t)) if (r >= a || (e.width <= n && e.height <= n && t.width <= n && t.height <= n)) i.push([e.t, t.t]); else { var s = splitData(e), o = splitData(t); intersectsImpl(s[0], o[0], r + 1, n, i, a), intersectsImpl(s[0], o[1], r + 1, n, i, a), intersectsImpl(s[1], o[0], r + 1, n, i, a), intersectsImpl(s[1], o[1], r + 1, n, i, a); } } function crossProduct(e, t) { return [e[1] * t[2] - e[2] * t[1], e[2] * t[0] - e[0] * t[2], e[0] * t[1] - e[1] * t[0]]; } function lineIntersection(e, t, r, n) { var i = [e[0], e[1], 1], a = [t[0], t[1], 1], s = [r[0], r[1], 1], o = [n[0], n[1], 1], l = crossProduct(crossProduct(i, a), crossProduct(s, o)); return floatZero(l[2]) ? null : [l[0] / l[2], l[1] / l[2]]; } function polarOffset(e, t, r) { return [e[0] + Math.cos(t) * r, e[1] - Math.sin(t) * r]; } function pointDistance(e, t) { return Math.hypot(e[0] - t[0], e[1] - t[1]); } function pointEqual(e, t) { return floatEqual(e[0], t[0]) && floatEqual(e[1], t[1]); } function ZigZagModifier() { } function setPoint(e, t, r, n, i, a, s) { var o = r - Math.PI / 2, l = r + Math.PI / 2, p = t[0] + Math.cos(r) * n * i, c = t[1] - Math.sin(r) * n * i; e.setTripleAt(p, c, p + Math.cos(o) * a, c - Math.sin(o) * a, p + Math.cos(l) * s, c - Math.sin(l) * s, e.length()); } function getPerpendicularVector(e, t) { var r = [t[0] - e[0], t[1] - e[1]], n = 0.5 * -Math.PI; return [Math.cos(n) * r[0] - Math.sin(n) * r[1], Math.sin(n) * r[0] + Math.cos(n) * r[1]]; } function getProjectingAngle(e, t) { var r = t === 0 ? e.length() - 1 : t - 1, n = (t + 1) % e.length(), i = getPerpendicularVector(e.v[r], e.v[n]); return Math.atan2(0, 1) - Math.atan2(i[1], i[0]); } function zigZagCorner(e, t, r, n, i, a, s) { var o = getProjectingAngle(t, r), l = t.v[r % t._length], p = t.v[r === 0 ? t._length - 1 : r - 1], c = t.v[(r + 1) % t._length], h = a === 2 ? Math.sqrt(Math.pow(l[0] - p[0], 2) + Math.pow(l[1] - p[1], 2)) : 0, g = a === 2 ? Math.sqrt(Math.pow(l[0] - c[0], 2) + Math.pow(l[1] - c[1], 2)) : 0; setPoint(e, t.v[r % t._length], o, s, n, g / (2 * (i + 1)), h / (2 * (i + 1)), a); } function zigZagSegment(e, t, r, n, i, a) { for (var s = 0; s < n; s += 1) { var o = (s + 1) / (n + 1), l = i === 2 ? Math.sqrt(Math.pow(t.points[3][0] - t.points[0][0], 2) + Math.pow(t.points[3][1] - t.points[0][1], 2)) : 0, p = t.normalAngle(o); setPoint(e, t.point(o), p, a, r, l / (2 * (n + 1)), l / (2 * (n + 1)), i), (a = -a); } return a; } function linearOffset(e, t, r) { var n = Math.atan2(t[0] - e[0], t[1] - e[1]); return [polarOffset(e, n, r), polarOffset(t, n, r)]; } function offsetSegment(e, t) { var r, n, i, a, s, o, l; (r = (l = linearOffset(e.points[0], e.points[1], t))[0]), (n = l[1]), (i = (l = linearOffset(e.points[1], e.points[2], t))[0]), (a = l[1]), (s = (l = linearOffset(e.points[2], e.points[3], t))[0]), (o = l[1]); var p = lineIntersection(r, n, i, a); p === null && (p = n); var c = lineIntersection(s, o, i, a); return c === null && (c = s), new PolynomialBezier(r, p, c, o); } function joinLines(e, t, r, n, i) { var a = t.points[3], s = r.points[0]; if (n === 3 || pointEqual(a, s)) return a; if (n === 2) { var o = -t.tangentAngle(1), l = -r.tangentAngle(0) + Math.PI, p = lineIntersection(a, polarOffset(a, o + Math.PI / 2, 100), s, polarOffset(s, o + Math.PI / 2, 100)), c = p ? pointDistance(p, a) : pointDistance(a, s) / 2, h = polarOffset(a, o, 2 * c * roundCorner); return e.setXYAt(h[0], h[1], "o", e.length() - 1), (h = polarOffset(s, l, 2 * c * roundCorner)), e.setTripleAt(s[0], s[1], s[0], s[1], h[0], h[1], e.length()), s; } var g = lineIntersection(pointEqual(a, t.points[2]) ? t.points[0] : t.points[2], a, s, pointEqual(s, r.points[1]) ? r.points[3] : r.points[1]); return g && pointDistance(g, a) < i ? (e.setTripleAt(g[0], g[1], g[0], g[1], g[0], g[1], e.length()), g) : a; } function getIntersection(e, t) { var r = e.intersections(t); return r.length && floatEqual(r[0][0], 1) && r.shift(), r.length ? r[0] : null; } function pruneSegmentIntersection(e, t) { var r = e.slice(), n = t.slice(), i = getIntersection(e[e.length - 1], t[0]); return ( i && ((r[e.length - 1] = e[e.length - 1].split(i[0])[0]), (n[0] = t[0].split(i[1])[1])), e.length > 1 && t.length > 1 && (i = getIntersection(e[0], t[t.length - 1])) ? [[e[0].split(i[0])[0]], [t[t.length - 1].split(i[1])[1]]] : [r, n] ); } function pruneIntersections(e) { for (var t, r = 1; r < e.length; r += 1) (t = pruneSegmentIntersection(e[r - 1], e[r])), (e[r - 1] = t[0]), (e[r] = t[1]); return e.length > 1 && ((t = pruneSegmentIntersection(e[e.length - 1], e[0])), (e[e.length - 1] = t[0]), (e[0] = t[1])), e; } function offsetSegmentSplit(e, t) { var r, n, i, a, s = e.inflectionPoints(); if (s.length === 0) return [offsetSegment(e, t)]; if (s.length === 1 || floatEqual(s[1], 1)) return (r = (i = e.split(s[0]))[0]), (n = i[1]), [offsetSegment(r, t), offsetSegment(n, t)]; r = (i = e.split(s[0]))[0]; var o = (s[1] - s[0]) / (1 - s[0]); return (a = (i = i[1].split(o))[0]), (n = i[1]), [offsetSegment(r, t), offsetSegment(a, t), offsetSegment(n, t)]; } function OffsetPathModifier() { } function getFontProperties(e) { for (var t = e.fStyle ? e.fStyle.split(" ") : [], r = "normal", n = "normal", i = t.length, a = 0; a < i; a += 1) switch (t[a].toLowerCase()) { case "italic": n = "italic"; break; case "bold": r = "700"; break; case "black": r = "900"; break; case "medium": r = "500"; break; case "regular": case "normal": r = "400"; break; case "light": case "thin": r = "200"; } return { style: n, weight: e.fWeight || r }; } extendPrototype([ShapeModifier], RepeaterModifier), (RepeaterModifier.prototype.initModifierProperties = function (e, t) { (this.getValue = this.processKeys), (this.c = PropertyFactory.getProp(e, t.c, 0, null, this)), (this.o = PropertyFactory.getProp(e, t.o, 0, null, this)), (this.tr = TransformPropertyFactory.getTransformProperty(e, t.tr, this)), (this.so = PropertyFactory.getProp(e, t.tr.so, 0, 0.01, this)), (this.eo = PropertyFactory.getProp(e, t.tr.eo, 0, 0.01, this)), (this.data = t), this.dynamicProperties.length || this.getValue(!0), (this._isAnimated = !!this.dynamicProperties.length), (this.pMatrix = new Matrix()), (this.rMatrix = new Matrix()), (this.sMatrix = new Matrix()), (this.tMatrix = new Matrix()), (this.matrix = new Matrix()); }), (RepeaterModifier.prototype.applyTransforms = function (e, t, r, n, i, a) { var s = a ? -1 : 1, o = n.s.v[0] + (1 - n.s.v[0]) * (1 - i), l = n.s.v[1] + (1 - n.s.v[1]) * (1 - i); e.translate(n.p.v[0] * s * i, n.p.v[1] * s * i, n.p.v[2]), t.translate(-n.a.v[0], -n.a.v[1], n.a.v[2]), t.rotate(-n.r.v * s * i), t.translate(n.a.v[0], n.a.v[1], n.a.v[2]), r.translate(-n.a.v[0], -n.a.v[1], n.a.v[2]), r.scale(a ? 1 / o : o, a ? 1 / l : l), r.translate(n.a.v[0], n.a.v[1], n.a.v[2]); }), (RepeaterModifier.prototype.init = function (e, t, r, n) { for ( this.elem = e, this.arr = t, this.pos = r, this.elemsData = n, this._currentCopies = 0, this._elements = [], this._groups = [], this.frameId = -1, this.initDynamicPropertyContainer(e), this.initModifierProperties(e, t[r]); r > 0; ) (r -= 1), this._elements.unshift(t[r]); this.dynamicProperties.length ? (this.k = !0) : this.getValue(!0); }), (RepeaterModifier.prototype.resetElements = function (e) { var t, r = e.length; for (t = 0; t < r; t += 1) (e[t]._processed = !1), e[t].ty === "gr" && this.resetElements(e[t].it); }), (RepeaterModifier.prototype.cloneElements = function (e) { var t = JSON.parse(JSON.stringify(e)); return this.resetElements(t), t; }), (RepeaterModifier.prototype.changeGroupRender = function (e, t) { var r, n = e.length; for (r = 0; r < n; r += 1) (e[r]._render = t), e[r].ty === "gr" && this.changeGroupRender(e[r].it, t); }), (RepeaterModifier.prototype.processShapes = function (e) { var t, r, n, i, a, s = !1; if (this._mdf || e) { var o, l = Math.ceil(this.c.v); if (this._groups.length < l) { for (; this._groups.length < l;) { var p = { it: this.cloneElements(this._elements), ty: "gr" }; p.it.push({ a: { a: 0, ix: 1, k: [0, 0] }, nm: "Transform", o: { a: 0, ix: 7, k: 100 }, p: { a: 0, ix: 2, k: [0, 0] }, r: { a: 1, ix: 6, k: [ { s: 0, e: 0, t: 0 }, { s: 0, e: 0, t: 1 }, ], }, s: { a: 0, ix: 3, k: [100, 100] }, sa: { a: 0, ix: 5, k: 0 }, sk: { a: 0, ix: 4, k: 0 }, ty: "tr", }), this.arr.splice(0, 0, p), this._groups.splice(0, 0, p), (this._currentCopies += 1); } this.elem.reloadShapes(), (s = !0); } for (a = 0, n = 0; n <= this._groups.length - 1; n += 1) { if (((o = a < l), (this._groups[n]._render = o), this.changeGroupRender(this._groups[n].it, o), !o)) { var c = this.elemsData[n].it, h = c[c.length - 1]; h.transform.op.v !== 0 ? ((h.transform.op._mdf = !0), (h.transform.op.v = 0)) : (h.transform.op._mdf = !1); } a += 1; } this._currentCopies = l; var g = this.o.v, d = g % 1, f = g > 0 ? Math.floor(g) : Math.ceil(g), m = this.pMatrix.props, u = this.rMatrix.props, y = this.sMatrix.props; this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset(); var v, E, b = 0; if (g > 0) { for (; b < f;) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), (b += 1); d && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, d, !1), (b += d)); } else if (g < 0) { for (; b > f;) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0), (b -= 1); d && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -d, !0), (b -= d)); } for (n = this.data.m === 1 ? 0 : this._currentCopies - 1, i = this.data.m === 1 ? 1 : -1, a = this._currentCopies; a;) { if ( ((E = (r = (t = this.elemsData[n].it)[t.length - 1].transform.mProps.v.props).length), (t[t.length - 1].transform.mProps._mdf = !0), (t[t.length - 1].transform.op._mdf = !0), (t[t.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (n / (this._currentCopies - 1))), b !== 0) ) { for ( ((n !== 0 && i === 1) || (n !== this._currentCopies - 1 && i === -1)) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), this.matrix.transform(u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], u[11], u[12], u[13], u[14], u[15]), this.matrix.transform(y[0], y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], y[10], y[11], y[12], y[13], y[14], y[15]), this.matrix.transform(m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9], m[10], m[11], m[12], m[13], m[14], m[15]), v = 0; v < E; v += 1 ) r[v] = this.matrix.props[v]; this.matrix.reset(); } else for (this.matrix.reset(), v = 0; v < E; v += 1) r[v] = this.matrix.props[v]; (b += 1), (a -= 1), (n += i); } } else for (a = this._currentCopies, n = 0, i = 1; a;) (r = (t = this.elemsData[n].it)[t.length - 1].transform.mProps.v.props), (t[t.length - 1].transform.mProps._mdf = !1), (t[t.length - 1].transform.op._mdf = !1), (a -= 1), (n += i); return s; }), (RepeaterModifier.prototype.addShape = function () { }), extendPrototype([ShapeModifier], RoundCornersModifier), (RoundCornersModifier.prototype.initModifierProperties = function (e, t) { (this.getValue = this.processKeys), (this.rd = PropertyFactory.getProp(e, t.r, 0, null, this)), (this._isAnimated = !!this.rd.effectsSequence.length); }), (RoundCornersModifier.prototype.processPath = function (e, t) { var r, n = shapePool.newElement(); n.c = e.c; var i, a, s, o, l, p, c, h, g, d, f, m, u = e._length, y = 0; for (r = 0; r < u; r += 1) (i = e.v[r]), (s = e.o[r]), (a = e.i[r]), i[0] === s[0] && i[1] === s[1] && i[0] === a[0] && i[1] === a[1] ? (r !== 0 && r !== u - 1) || e.c ? ((o = r === 0 ? e.v[u - 1] : e.v[r - 1]), (p = (l = Math.sqrt(Math.pow(i[0] - o[0], 2) + Math.pow(i[1] - o[1], 2))) ? Math.min(l / 2, t) / l : 0), (c = f = i[0] + (o[0] - i[0]) * p), (h = m = i[1] - (i[1] - o[1]) * p), (g = c - (c - i[0]) * roundCorner), (d = h - (h - i[1]) * roundCorner), n.setTripleAt(c, h, g, d, f, m, y), (y += 1), (o = r === u - 1 ? e.v[0] : e.v[r + 1]), (p = (l = Math.sqrt(Math.pow(i[0] - o[0], 2) + Math.pow(i[1] - o[1], 2))) ? Math.min(l / 2, t) / l : 0), (c = g = i[0] + (o[0] - i[0]) * p), (h = d = i[1] + (o[1] - i[1]) * p), (f = c - (c - i[0]) * roundCorner), (m = h - (h - i[1]) * roundCorner), n.setTripleAt(c, h, g, d, f, m, y), (y += 1)) : (n.setTripleAt(i[0], i[1], s[0], s[1], a[0], a[1], y), (y += 1)) : (n.setTripleAt(e.v[r][0], e.v[r][1], e.o[r][0], e.o[r][1], e.i[r][0], e.i[r][1], y), (y += 1)); return n; }), (RoundCornersModifier.prototype.processShapes = function (e) { var t, r, n, i, a, s, o = this.shapes.length, l = this.rd.v; if (l !== 0) for (r = 0; r < o; r += 1) { if (((s = (a = this.shapes[r]).localShapeCollection), a.shape._mdf || this._mdf || e)) for (s.releaseShapes(), a.shape._mdf = !0, t = a.shape.paths.shapes, i = a.shape.paths._length, n = 0; n < i; n += 1) s.addShape(this.processPath(t[n], l)); a.shape.paths = a.localShapeCollection; } this.dynamicProperties.length || (this._mdf = !1); }), (PolynomialBezier.prototype.point = function (e) { return [((this.a[0] * e + this.b[0]) * e + this.c[0]) * e + this.d[0], ((this.a[1] * e + this.b[1]) * e + this.c[1]) * e + this.d[1]]; }), (PolynomialBezier.prototype.derivative = function (e) { return [(3 * e * this.a[0] + 2 * this.b[0]) * e + this.c[0], (3 * e * this.a[1] + 2 * this.b[1]) * e + this.c[1]]; }), (PolynomialBezier.prototype.tangentAngle = function (e) { var t = this.derivative(e); return Math.atan2(t[1], t[0]); }), (PolynomialBezier.prototype.normalAngle = function (e) { var t = this.derivative(e); return Math.atan2(t[0], t[1]); }), (PolynomialBezier.prototype.inflectionPoints = function () { var e = this.a[1] * this.b[0] - this.a[0] * this.b[1]; if (floatZero(e)) return []; var t = (-0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1])) / e, r = t * t - ((1 / 3) * (this.b[1] * this.c[0] - this.b[0] * this.c[1])) / e; if (r < 0) return []; var n = Math.sqrt(r); return floatZero(n) ? n > 0 && n < 1 ? [t] : [] : [t - n, t + n].filter(function (i) { return i > 0 && i < 1; }); }), (PolynomialBezier.prototype.split = function (e) { if (e <= 0) return [singlePoint(this.points[0]), this]; if (e >= 1) return [this, singlePoint(this.points[this.points.length - 1])]; var t = lerpPoint(this.points[0], this.points[1], e), r = lerpPoint(this.points[1], this.points[2], e), n = lerpPoint(this.points[2], this.points[3], e), i = lerpPoint(t, r, e), a = lerpPoint(r, n, e), s = lerpPoint(i, a, e); return [new PolynomialBezier(this.points[0], t, i, s, !0), new PolynomialBezier(s, a, n, this.points[3], !0)]; }), (PolynomialBezier.prototype.bounds = function () { return { x: extrema(this, 0), y: extrema(this, 1) }; }), (PolynomialBezier.prototype.boundingBox = function () { var e = this.bounds(); return { left: e.x.min, right: e.x.max, top: e.y.min, bottom: e.y.max, width: e.x.max - e.x.min, height: e.y.max - e.y.min, cx: (e.x.max + e.x.min) / 2, cy: (e.y.max + e.y.min) / 2 }; }), (PolynomialBezier.prototype.intersections = function (e, t, r) { t === void 0 && (t = 2), r === void 0 && (r = 7); var n = []; return intersectsImpl(intersectData(this, 0, 1), intersectData(e, 0, 1), 0, t, n, r), n; }), (PolynomialBezier.shapeSegment = function (e, t) { var r = (t + 1) % e.length(); return new PolynomialBezier(e.v[t], e.o[t], e.i[r], e.v[r], !0); }), (PolynomialBezier.shapeSegmentInverted = function (e, t) { var r = (t + 1) % e.length(); return new PolynomialBezier(e.v[r], e.i[r], e.o[t], e.v[t], !0); }), extendPrototype([ShapeModifier], ZigZagModifier), (ZigZagModifier.prototype.initModifierProperties = function (e, t) { (this.getValue = this.processKeys), (this.amplitude = PropertyFactory.getProp(e, t.s, 0, null, this)), (this.frequency = PropertyFactory.getProp(e, t.r, 0, null, this)), (this.pointsType = PropertyFactory.getProp(e, t.pt, 0, null, this)), (this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0); }), (ZigZagModifier.prototype.processPath = function (e, t, r, n) { var i = e._length, a = shapePool.newElement(); if (((a.c = e.c), e.c || (i -= 1), i === 0)) return a; var s = -1, o = PolynomialBezier.shapeSegment(e, 0); zigZagCorner(a, e, 0, t, r, n, s); for (var l = 0; l < i; l += 1) (s = zigZagSegment(a, o, t, r, n, -s)), (o = l !== i - 1 || e.c ? PolynomialBezier.shapeSegment(e, (l + 1) % i) : null), zigZagCorner(a, e, l + 1, t, r, n, s); return a; }), (ZigZagModifier.prototype.processShapes = function (e) { var t, r, n, i, a, s, o = this.shapes.length, l = this.amplitude.v, p = Math.max(0, Math.round(this.frequency.v)), c = this.pointsType.v; if (l !== 0) for (r = 0; r < o; r += 1) { if (((s = (a = this.shapes[r]).localShapeCollection), a.shape._mdf || this._mdf || e)) for (s.releaseShapes(), a.shape._mdf = !0, t = a.shape.paths.shapes, i = a.shape.paths._length, n = 0; n < i; n += 1) s.addShape(this.processPath(t[n], l, p, c)); a.shape.paths = a.localShapeCollection; } this.dynamicProperties.length || (this._mdf = !1); }), extendPrototype([ShapeModifier], OffsetPathModifier), (OffsetPathModifier.prototype.initModifierProperties = function (e, t) { (this.getValue = this.processKeys), (this.amount = PropertyFactory.getProp(e, t.a, 0, null, this)), (this.miterLimit = PropertyFactory.getProp(e, t.ml, 0, null, this)), (this.lineJoin = t.lj), (this._isAnimated = this.amount.effectsSequence.length !== 0); }), (OffsetPathModifier.prototype.processPath = function (e, t, r, n) { var i = shapePool.newElement(); i.c = e.c; var a, s, o, l = e.length(); e.c || (l -= 1); var p = []; for (a = 0; a < l; a += 1) (o = PolynomialBezier.shapeSegment(e, a)), p.push(offsetSegmentSplit(o, t)); if (!e.c) for (a = l - 1; a >= 0; a -= 1) (o = PolynomialBezier.shapeSegmentInverted(e, a)), p.push(offsetSegmentSplit(o, t)); p = pruneIntersections(p); var c = null, h = null; for (a = 0; a < p.length; a += 1) { var g = p[a]; for (h && (c = joinLines(i, h, g[0], r, n)), h = g[g.length - 1], s = 0; s < g.length; s += 1) (o = g[s]), c && pointEqual(o.points[0], c) ? i.setXYAt(o.points[1][0], o.points[1][1], "o", i.length() - 1) : i.setTripleAt(o.points[0][0], o.points[0][1], o.points[1][0], o.points[1][1], o.points[0][0], o.points[0][1], i.length()), i.setTripleAt(o.points[3][0], o.points[3][1], o.points[3][0], o.points[3][1], o.points[2][0], o.points[2][1], i.length()), (c = o.points[3]); } return p.length && joinLines(i, h, p[0][0], r, n), i; }), (OffsetPathModifier.prototype.processShapes = function (e) { var t, r, n, i, a, s, o = this.shapes.length, l = this.amount.v, p = this.miterLimit.v, c = this.lineJoin; if (l !== 0) for (r = 0; r < o; r += 1) { if (((s = (a = this.shapes[r]).localShapeCollection), a.shape._mdf || this._mdf || e)) for (s.releaseShapes(), a.shape._mdf = !0, t = a.shape.paths.shapes, i = a.shape.paths._length, n = 0; n < i; n += 1) s.addShape(this.processPath(t[n], l, c, p)); a.shape.paths = a.localShapeCollection; } this.dynamicProperties.length || (this._mdf = !1); }); var FontManager = (function () { var e = { w: 0, size: 0, shapes: [], data: { shapes: [] } }, t = []; t = t.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]); var r = 127988, n = ["d83cdffb", "d83cdffc", "d83cdffd", "d83cdffe", "d83cdfff"]; function i(c, h) { var g = createTag("span"); g.setAttribute("aria-hidden", !0), (g.style.fontFamily = h); var d = createTag("span"); (d.innerText = "giItT1WQy@!-/#"), (g.style.position = "absolute"), (g.style.left = "-10000px"), (g.style.top = "-10000px"), (g.style.fontSize = "300px"), (g.style.fontVariant = "normal"), (g.style.fontStyle = "normal"), (g.style.fontWeight = "normal"), (g.style.letterSpacing = "0"), g.appendChild(d), document.body.appendChild(g); var f = d.offsetWidth; return ( (d.style.fontFamily = (function (m) { var u, y = m.split(","), v = y.length, E = []; for (u = 0; u < v; u += 1) y[u] !== "sans-serif" && y[u] !== "monospace" && E.push(y[u]); return E.join(","); })(c) + ", " + h), { node: d, w: f, parent: g } ); } function a(c, h) { var g, d = document.body && h ? "svg" : "canvas", f = getFontProperties(c); if (d === "svg") { var m = createNS("text"); (m.style.fontSize = "100px"), m.setAttribute("font-family", c.fFamily), m.setAttribute("font-style", f.style), m.setAttribute("font-weight", f.weight), (m.textContent = "1"), c.fClass ? ((m.style.fontFamily = "inherit"), m.setAttribute("class", c.fClass)) : (m.style.fontFamily = c.fFamily), h.appendChild(m), (g = m); } else { var u = new OffscreenCanvas(500, 500).getContext("2d"); (u.font = f.style + " " + f.weight + " 100px " + c.fFamily), (g = u); } return { measureText: function (y) { return d === "svg" ? ((g.textContent = y), g.getComputedTextLength()) : g.measureText(y).width; }, }; } function s(c) { var h = 0, g = c.charCodeAt(0); if (g >= 55296 && g <= 56319) { var d = c.charCodeAt(1); d >= 56320 && d <= 57343 && (h = 1024 * (g - 55296) + d - 56320 + 65536); } return h; } function o(c) { var h = s(c); return h >= 127462 && h <= 127487; } var l = function () { (this.fonts = []), (this.chars = null), (this.typekitLoaded = 0), (this.isLoaded = !1), (this._warned = !1), (this.initTime = Date.now()), (this.setIsLoadedBinded = this.setIsLoaded.bind(this)), (this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this)); }; (l.isModifier = function (c, h) { var g = c.toString(16) + h.toString(16); return n.indexOf(g) !== -1; }), (l.isZeroWidthJoiner = function (c) { return c === 8205; }), (l.isFlagEmoji = function (c) { return o(c.substr(0, 2)) && o(c.substr(2, 2)); }), (l.isRegionalCode = o), (l.isCombinedCharacter = function (c) { return t.indexOf(c) !== -1; }), (l.isRegionalFlag = function (c, h) { var g = s(c.substr(h, 2)); if (g !== r) return !1; var d = 0; for (h += 2; d < 5;) { if ((g = s(c.substr(h, 2))) < 917601 || g > 917626) return !1; (d += 1), (h += 2); } return s(c.substr(h, 2)) === 917631; }), (l.isVariationSelector = function (c) { return c === 65039; }), (l.BLACK_FLAG_CODE_POINT = r); var p = { addChars: function (c) { if (c) { var h; this.chars || (this.chars = []); var g, d, f = c.length, m = this.chars.length; for (h = 0; h < f; h += 1) { for (g = 0, d = !1; g < m;) this.chars[g].style === c[h].style && this.chars[g].fFamily === c[h].fFamily && this.chars[g].ch === c[h].ch && (d = !0), (g += 1); d || (this.chars.push(c[h]), (m += 1)); } } }, addFonts: function (c, h) { if (c) { if (this.chars) return (this.isLoaded = !0), void (this.fonts = c.list); if (!document.body) return ( (this.isLoaded = !0), c.list.forEach(function (A) { (A.helper = a(A)), (A.cache = {}); }), void (this.fonts = c.list) ); var g, d = c.list, f = d.length, m = f; for (g = 0; g < f; g += 1) { var u, y, v = !0; if (((d[g].loaded = !1), (d[g].monoCase = i(d[g].fFamily, "monospace")), (d[g].sansCase = i(d[g].fFamily, "sans-serif")), d[g].fPath)) { if (d[g].fOrigin === "p" || d[g].origin === 3) { if (((u = document.querySelectorAll('style[f-forigin="p"][f-family="' + d[g].fFamily + '"], style[f-origin="3"][f-family="' + d[g].fFamily + '"]')).length > 0 && (v = !1), v)) { var E = createTag("style"); E.setAttribute("f-forigin", d[g].fOrigin), E.setAttribute("f-origin", d[g].origin), E.setAttribute("f-family", d[g].fFamily), (E.type = "text/css"), (E.innerText = "@font-face {font-family: " + d[g].fFamily + "; font-style: normal; src: url('" + d[g].fPath + "');}"), h.appendChild(E); } } else if (d[g].fOrigin === "g" || d[g].origin === 1) { for (u = document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'), y = 0; y < u.length; y += 1) u[y].href.indexOf(d[g].fPath) !== -1 && (v = !1); if (v) { var b = createTag("link"); b.setAttribute("f-forigin", d[g].fOrigin), b.setAttribute("f-origin", d[g].origin), (b.type = "text/css"), (b.rel = "stylesheet"), (b.href = d[g].fPath), document.body.appendChild(b); } } else if (d[g].fOrigin === "t" || d[g].origin === 2) { for (u = document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'), y = 0; y < u.length; y += 1) d[g].fPath === u[y].src && (v = !1); if (v) { var T = createTag("link"); T.setAttribute("f-forigin", d[g].fOrigin), T.setAttribute("f-origin", d[g].origin), T.setAttribute("rel", "stylesheet"), T.setAttribute("href", d[g].fPath), h.appendChild(T); } } } else (d[g].loaded = !0), (m -= 1); (d[g].helper = a(d[g], h)), (d[g].cache = {}), this.fonts.push(d[g]); } m === 0 ? (this.isLoaded = !0) : setTimeout(this.checkLoadedFonts.bind(this), 100); } else this.isLoaded = !0; }, getCharData: function (c, h, g) { for (var d = 0, f = this.chars.length; d < f;) { if (this.chars[d].ch === c && this.chars[d].style === h && this.chars[d].fFamily === g) return this.chars[d]; d += 1; } return ((typeof c == "string" && c.charCodeAt(0) !== 13) || !c) && console && console.warn && !this._warned && ((this._warned = !0), console.warn("Missing character from exported characters list: ", c, h, g)), e; }, getFontByName: function (c) { for (var h = 0, g = this.fonts.length; h < g;) { if (this.fonts[h].fName === c) return this.fonts[h]; h += 1; } return this.fonts[0]; }, measureText: function (c, h, g) { var d = this.getFontByName(h), f = c; if (!d.cache[f]) { var m = d.helper; if (c === " ") { var u = m.measureText("|" + c + "|"), y = m.measureText("||"); d.cache[f] = (u - y) / 100; } else d.cache[f] = m.measureText(c) / 100; } return d.cache[f] * g; }, checkLoadedFonts: function () { var c, h, g, d = this.fonts.length, f = d; for (c = 0; c < d; c += 1) this.fonts[c].loaded ? (f -= 1) : this.fonts[c].fOrigin === "n" || this.fonts[c].origin === 0 ? (this.fonts[c].loaded = !0) : ((h = this.fonts[c].monoCase.node), (g = this.fonts[c].monoCase.w), h.offsetWidth !== g ? ((f -= 1), (this.fonts[c].loaded = !0)) : ((h = this.fonts[c].sansCase.node), (g = this.fonts[c].sansCase.w), h.offsetWidth !== g && ((f -= 1), (this.fonts[c].loaded = !0))), this.fonts[c].loaded && (this.fonts[c].sansCase.parent.parentNode.removeChild(this.fonts[c].sansCase.parent), this.fonts[c].monoCase.parent.parentNode.removeChild(this.fonts[c].monoCase.parent))); f !== 0 && Date.now() - this.initTime < 5e3 ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10); }, setIsLoaded: function () { this.isLoaded = !0; }, }; return (l.prototype = p), l; })(); function SlotManager(e) { this.animationData = e; } function slotFactory(e) { return new SlotManager(e); } function RenderableElement() { } (SlotManager.prototype.getProp = function (e) { return this.animationData.slots && this.animationData.slots[e.sid] ? Object.assign(e, this.animationData.slots[e.sid].p) : e; }), (RenderableElement.prototype = { initRenderable: function () { (this.isInRange = !1), (this.hidden = !1), (this.isTransparent = !1), (this.renderableComponents = []); }, addRenderableComponent: function (e) { this.renderableComponents.indexOf(e) === -1 && this.renderableComponents.push(e); }, removeRenderableComponent: function (e) { this.renderableComponents.indexOf(e) !== -1 && this.renderableComponents.splice(this.renderableComponents.indexOf(e), 1); }, prepareRenderableFrame: function (e) { this.checkLayerLimits(e); }, checkTransparency: function () { this.finalTransform.mProp.o.v <= 0 ? !this.isTransparent && this.globalData.renderConfig.hideOnTransparent && ((this.isTransparent = !0), this.hide()) : this.isTransparent && ((this.isTransparent = !1), this.show()); }, checkLayerLimits: function (e) { this.data.ip - this.data.st <= e && this.data.op - this.data.st > e ? this.isInRange !== !0 && ((this.globalData._mdf = !0), (this._mdf = !0), (this.isInRange = !0), this.show()) : this.isInRange !== !1 && ((this.globalData._mdf = !0), (this.isInRange = !1), this.hide()); }, renderRenderable: function () { var e, t = this.renderableComponents.length; for (e = 0; e < t; e += 1) this.renderableComponents[e].renderFrame(this._isFirstFrame); }, sourceRectAtTime: function () { return { top: 0, left: 0, width: 100, height: 100 }; }, getLayerSize: function () { return this.data.ty === 5 ? { w: this.data.textData.width, h: this.data.textData.height } : { w: this.data.width, h: this.data.height }; }, }); var getBlendMode = ((blendModeEnums = { 0: "source-over", 1: "multiply", 2: "screen", 3: "overlay", 4: "darken", 5: "lighten", 6: "color-dodge", 7: "color-burn", 8: "hard-light", 9: "soft-light", 10: "difference", 11: "exclusion", 12: "hue", 13: "saturation", 14: "color", 15: "luminosity", }), function (e) { return blendModeEnums[e] || ""; }), blendModeEnums; function SliderEffect(e, t, r) { this.p = PropertyFactory.getProp(t, e.v, 0, 0, r); } function AngleEffect(e, t, r) { this.p = PropertyFactory.getProp(t, e.v, 0, 0, r); } function ColorEffect(e, t, r) { this.p = PropertyFactory.getProp(t, e.v, 1, 0, r); } function PointEffect(e, t, r) { this.p = PropertyFactory.getProp(t, e.v, 1, 0, r); } function LayerIndexEffect(e, t, r) { this.p = PropertyFactory.getProp(t, e.v, 0, 0, r); } function MaskIndexEffect(e, t, r) { this.p = PropertyFactory.getProp(t, e.v, 0, 0, r); } function CheckboxEffect(e, t, r) { this.p = PropertyFactory.getProp(t, e.v, 0, 0, r); } function NoValueEffect() { this.p = {}; } function EffectsManager(e, t) { var r, n = e.ef || []; this.effectElements = []; var i, a = n.length; for (r = 0; r < a; r += 1) (i = new GroupEffect(n[r], t)), this.effectElements.push(i); } function GroupEffect(e, t) { this.init(e, t); } function BaseElement() { } function FrameElement() { } function FootageElement(e, t, r) { this.initFrame(), this.initRenderable(), (this.assetData = t.getAssetData(e.refId)), (this.footageData = t.imageLoader.getAsset(this.assetData)), this.initBaseData(e, t, r); } function AudioElement(e, t, r) { this.initFrame(), this.initRenderable(), (this.assetData = t.getAssetData(e.refId)), this.initBaseData(e, t, r), (this._isPlaying = !1), (this._canPlay = !1); var n = this.globalData.getAssetsPath(this.assetData); (this.audio = this.globalData.audioController.createAudio(n)), (this._currentTime = 0), this.globalData.audioController.addAudio(this), (this._volumeMultiplier = 1), (this._volume = 1), (this._previousVolume = null), (this.tm = e.tm ? PropertyFactory.getProp(this, e.tm, 0, t.frameRate, this) : { _placeholder: !0 }), (this.lv = PropertyFactory.getProp(this, e.au && e.au.lv ? e.au.lv : { k: [100] }, 1, 0.01, this)); } function BaseRenderer() { } extendPrototype([DynamicPropertyContainer], GroupEffect), (GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties), (GroupEffect.prototype.init = function (e, t) { var r; (this.data = e), (this.effectElements = []), this.initDynamicPropertyContainer(t); var n, i = this.data.ef.length, a = this.data.ef; for (r = 0; r < i; r += 1) { switch (((n = null), a[r].ty)) { case 0: n = new SliderEffect(a[r], t, this); break; case 1: n = new AngleEffect(a[r], t, this); break; case 2: n = new ColorEffect(a[r], t, this); break; case 3: n = new PointEffect(a[r], t, this); break; case 4: case 7: n = new CheckboxEffect(a[r], t, this); break; case 10: n = new LayerIndexEffect(a[r], t, this); break; case 11: n = new MaskIndexEffect(a[r], t, this); break; case 5: n = new EffectsManager(a[r], t, this); break; default: n = new NoValueEffect(a[r], t, this); } n && this.effectElements.push(n); } }), (BaseElement.prototype = { checkMasks: function () { if (!this.data.hasMask) return !1; for (var e = 0, t = this.data.masksProperties.length; e < t;) { if (this.data.masksProperties[e].mode !== "n" && this.data.masksProperties[e].cl !== !1) return !0; e += 1; } return !1; }, initExpressions: function () { var e = getExpressionInterfaces(); if (e) { var t = e("layer"), r = e("effects"), n = e("shape"), i = e("text"), a = e("comp"); (this.layerInterface = t(this)), this.data.hasMask && this.maskManager && this.layerInterface.registerMaskInterface(this.maskManager); var s = r.createEffectsInterface(this, this.layerInterface); this.layerInterface.registerEffectsInterface(s), this.data.ty === 0 || this.data.xt ? (this.compInterface = a(this)) : this.data.ty === 4 ? ((this.layerInterface.shapeInterface = n(this.shapesData, this.itemsData, this.layerInterface)), (this.layerInterface.content = this.layerInterface.shapeInterface)) : this.data.ty === 5 && ((this.layerInterface.textInterface = i(this)), (this.layerInterface.text = this.layerInterface.textInterface)); } }, setBlendMode: function () { var e = getBlendMode(this.data.bm); (this.baseElement || this.layerElement).style["mix-blend-mode"] = e; }, initBaseData: function (e, t, r) { (this.globalData = t), (this.comp = r), (this.data = e), (this.layerId = createElementID()), this.data.sr || (this.data.sr = 1), (this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties)); }, getType: function () { return this.type; }, sourceRectAtTime: function () { }, }), (FrameElement.prototype = { initFrame: function () { (this._isFirstFrame = !1), (this.dynamicProperties = []), (this._mdf = !1); }, prepareProperties: function (e, t) { var r, n = this.dynamicProperties.length; for (r = 0; r < n; r += 1) (t || (this._isParent && this.dynamicProperties[r].propType === "transform")) && (this.dynamicProperties[r].getValue(), this.dynamicProperties[r]._mdf && ((this.globalData._mdf = !0), (this._mdf = !0))); }, addDynamicProperty: function (e) { this.dynamicProperties.indexOf(e) === -1 && this.dynamicProperties.push(e); }, }), (FootageElement.prototype.prepareFrame = function () { }), extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement), (FootageElement.prototype.getBaseElement = function () { return null; }), (FootageElement.prototype.renderFrame = function () { }), (FootageElement.prototype.destroy = function () { }), (FootageElement.prototype.initExpressions = function () { var e = getExpressionInterfaces(); if (e) { var t = e("footage"); this.layerInterface = t(this); } }), (FootageElement.prototype.getFootageData = function () { return this.footageData; }), (AudioElement.prototype.prepareFrame = function (e) { if ((this.prepareRenderableFrame(e, !0), this.prepareProperties(e, !0), this.tm._placeholder)) this._currentTime = e / this.data.sr; else { var t = this.tm.v; this._currentTime = t; } this._volume = this.lv.v[0]; var r = this._volume * this._volumeMultiplier; this._previousVolume !== r && ((this._previousVolume = r), this.audio.volume(r)); }), extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement), (AudioElement.prototype.renderFrame = function () { this.isInRange && this._canPlay && (this._isPlaying ? (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) && this.audio.seek(this._currentTime / this.globalData.frameRate) : (this.audio.play(), this.audio.seek(this._currentTime / this.globalData.frameRate), (this._isPlaying = !0))); }), (AudioElement.prototype.show = function () { }), (AudioElement.prototype.hide = function () { this.audio.pause(), (this._isPlaying = !1); }), (AudioElement.prototype.pause = function () { this.audio.pause(), (this._isPlaying = !1), (this._canPlay = !1); }), (AudioElement.prototype.resume = function () { this._canPlay = !0; }), (AudioElement.prototype.setRate = function (e) { this.audio.rate(e); }), (AudioElement.prototype.volume = function (e) { (this._volumeMultiplier = e), (this._previousVolume = e * this._volume), this.audio.volume(this._previousVolume); }), (AudioElement.prototype.getBaseElement = function () { return null; }), (AudioElement.prototype.destroy = function () { }), (AudioElement.prototype.sourceRectAtTime = function () { }), (AudioElement.prototype.initExpressions = function () { }), (BaseRenderer.prototype.checkLayers = function (e) { var t, r, n = this.layers.length; for (this.completeLayers = !0, t = n - 1; t >= 0; t -= 1) this.elements[t] || ((r = this.layers[t]).ip - r.st <= e - this.layers[t].st && r.op - r.st > e - this.layers[t].st && this.buildItem(t)), (this.completeLayers = !!this.elements[t] && this.completeLayers); this.checkPendingElements(); }), (BaseRenderer.prototype.createItem = function (e) { switch (e.ty) { case 2: return this.createImage(e); case 0: return this.createComp(e); case 1: return this.createSolid(e); case 3: default: return this.createNull(e); case 4: return this.createShape(e); case 5: return this.createText(e); case 6: return this.createAudio(e); case 13: return this.createCamera(e); case 15: return this.createFootage(e); } }), (BaseRenderer.prototype.createCamera = function () { throw new Error("You're using a 3d camera. Try the html renderer."); }), (BaseRenderer.prototype.createAudio = function (e) { return new AudioElement(e, this.globalData, this); }), (BaseRenderer.prototype.createFootage = function (e) { return new FootageElement(e, this.globalData, this); }), (BaseRenderer.prototype.buildAllItems = function () { var e, t = this.layers.length; for (e = 0; e < t; e += 1) this.buildItem(e); this.checkPendingElements(); }), (BaseRenderer.prototype.includeLayers = function (e) { var t; this.completeLayers = !1; var r, n = e.length, i = this.layers.length; for (t = 0; t < n; t += 1) for (r = 0; r < i;) { if (this.layers[r].id === e[t].id) { this.layers[r] = e[t]; break; } r += 1; } }), (BaseRenderer.prototype.setProjectInterface = function (e) { this.globalData.projectInterface = e; }), (BaseRenderer.prototype.initItems = function () { this.globalData.progressiveLoad || this.buildAllItems(); }), (BaseRenderer.prototype.buildElementParenting = function (e, t, r) { for (var n = this.elements, i = this.layers, a = 0, s = i.length; a < s;) i[a].ind == t && (n[a] && n[a] !== !0 ? (r.push(n[a]), n[a].setAsParent(), i[a].parent !== void 0 ? this.buildElementParenting(e, i[a].parent, r) : e.setHierarchy(r)) : (this.buildItem(a), this.addPendingElement(e))), (a += 1); }), (BaseRenderer.prototype.addPendingElement = function (e) { this.pendingElements.push(e); }), (BaseRenderer.prototype.searchExtraCompositions = function (e) { var t, r = e.length; for (t = 0; t < r; t += 1) if (e[t].xt) { var n = this.createComp(e[t]); n.initExpressions(), this.globalData.projectInterface.registerComposition(n); } }), (BaseRenderer.prototype.getElementById = function (e) { var t, r = this.elements.length; for (t = 0; t < r; t += 1) if (this.elements[t].data.ind === e) return this.elements[t]; return null; }), (BaseRenderer.prototype.getElementByPath = function (e) { var t, r = e.shift(); if (typeof r == "number") t = this.elements[r]; else { var n, i = this.elements.length; for (n = 0; n < i; n += 1) if (this.elements[n].data.nm === r) { t = this.elements[n]; break; } } return e.length === 0 ? t : t.getElementByPath(e); }), (BaseRenderer.prototype.setupGlobalData = function (e, t) { (this.globalData.fontManager = new FontManager()), (this.globalData.slotManager = slotFactory(e)), this.globalData.fontManager.addChars(e.chars), this.globalData.fontManager.addFonts(e.fonts, t), (this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem)), (this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem)), (this.globalData.imageLoader = this.animationItem.imagePreloader), (this.globalData.audioController = this.animationItem.audioController), (this.globalData.frameId = 0), (this.globalData.frameRate = e.fr), (this.globalData.nm = e.nm), (this.globalData.compSize = { w: e.w, h: e.h }); }); var effectTypes = { TRANSFORM_EFFECT: "transformEFfect" }; function TransformElement() { } function MaskElement(e, t, r) { (this.data = e), (this.element = t), (this.globalData = r), (this.storedData = []), (this.masksProperties = this.data.masksProperties || []), (this.maskElement = null); var n, i, a = this.globalData.defs, s = this.masksProperties ? this.masksProperties.length : 0; (this.viewData = createSizedArray(s)), (this.solidPath = ""); var o, l, p, c, h, g, d = this.masksProperties, f = 0, m = [], u = createElementID(), y = "clipPath", v = "clip-path"; for (n = 0; n < s; n += 1) if ( (((d[n].mode !== "a" && d[n].mode !== "n") || d[n].inv || d[n].o.k !== 100 || d[n].o.x) && ((y = "mask"), (v = "mask")), (d[n].mode !== "s" && d[n].mode !== "i") || f !== 0 ? (p = null) : ((p = createNS("rect")).setAttribute("fill", "#ffffff"), p.setAttribute("width", this.element.comp.data.w || 0), p.setAttribute("height", this.element.comp.data.h || 0), m.push(p)), (i = createNS("path")), d[n].mode === "n") ) (this.viewData[n] = { op: PropertyFactory.getProp(this.element, d[n].o, 0, 0.01, this.element), prop: ShapePropertyFactory.getShapeProp(this.element, d[n], 3), elem: i, lastPath: "" }), a.appendChild(i); else { var E; if ( ((f += 1), i.setAttribute("fill", d[n].mode === "s" ? "#000000" : "#ffffff"), i.setAttribute("clip-rule", "nonzero"), d[n].x.k !== 0 ? ((y = "mask"), (v = "mask"), (g = PropertyFactory.getProp(this.element, d[n].x, 0, null, this.element)), (E = createElementID()), (c = createNS("filter")).setAttribute("id", E), (h = createNS("feMorphology")).setAttribute("operator", "erode"), h.setAttribute("in", "SourceGraphic"), h.setAttribute("radius", "0"), c.appendChild(h), a.appendChild(c), i.setAttribute("stroke", d[n].mode === "s" ? "#000000" : "#ffffff")) : ((h = null), (g = null)), (this.storedData[n] = { elem: i, x: g, expan: h, lastPath: "", lastOperator: "", filterId: E, lastRadius: 0 }), d[n].mode === "i") ) { l = m.length; var b = createNS("g"); for (o = 0; o < l; o += 1) b.appendChild(m[o]); var T = createNS("mask"); T.setAttribute("mask-type", "alpha"), T.setAttribute("id", u + "_" + f), T.appendChild(i), a.appendChild(T), b.setAttribute("mask", "url(" + getLocationHref() + "#" + u + "_" + f + ")"), (m.length = 0), m.push(b); } else m.push(i); d[n].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), (this.viewData[n] = { elem: i, lastPath: "", op: PropertyFactory.getProp(this.element, d[n].o, 0, 0.01, this.element), prop: ShapePropertyFactory.getShapeProp(this.element, d[n], 3), invRect: p }), this.viewData[n].prop.k || this.drawPath(d[n], this.viewData[n].prop.v, this.viewData[n]); } for (this.maskElement = createNS(y), s = m.length, n = 0; n < s; n += 1) this.maskElement.appendChild(m[n]); f > 0 && (this.maskElement.setAttribute("id", u), this.element.maskedElement.setAttribute(v, "url(" + getLocationHref() + "#" + u + ")"), a.appendChild(this.maskElement)), this.viewData.length && this.element.addRenderableComponent(this); } (TransformElement.prototype = { initTransform: function () { var e = new Matrix(); (this.finalTransform = { mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : { o: 0 }, _matMdf: !1, _localMatMdf: !1, _opMdf: !1, mat: e, localMat: e, localOpacity: 1 }), this.data.ao && (this.finalTransform.mProp.autoOriented = !0), this.data.ty; }, renderTransform: function () { if (((this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame), (this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame), this.hierarchy)) { var e, t = this.finalTransform.mat, r = 0, n = this.hierarchy.length; if (!this.finalTransform._matMdf) for (; r < n;) { if (this.hierarchy[r].finalTransform.mProp._mdf) { this.finalTransform._matMdf = !0; break; } r += 1; } if (this.finalTransform._matMdf) for (e = this.finalTransform.mProp.v.props, t.cloneFromProps(e), r = 0; r < n; r += 1) t.multiply(this.hierarchy[r].finalTransform.mProp.v); } this.finalTransform._matMdf && (this.finalTransform._localMatMdf = this.finalTransform._matMdf), this.finalTransform._opMdf && (this.finalTransform.localOpacity = this.finalTransform.mProp.o.v); }, renderLocalTransform: function () { if (this.localTransforms) { var e = 0, t = this.localTransforms.length; if (((this.finalTransform._localMatMdf = this.finalTransform._matMdf), !this.finalTransform._localMatMdf || !this.finalTransform._opMdf)) for (; e < t;) this.localTransforms[e]._mdf && (this.finalTransform._localMatMdf = !0), this.localTransforms[e]._opMdf && !this.finalTransform._opMdf && ((this.finalTransform.localOpacity = this.finalTransform.mProp.o.v), (this.finalTransform._opMdf = !0)), (e += 1); if (this.finalTransform._localMatMdf) { var r = this.finalTransform.localMat; for (this.localTransforms[0].matrix.clone(r), e = 1; e < t; e += 1) { var n = this.localTransforms[e].matrix; r.multiply(n); } r.multiply(this.finalTransform.mat); } if (this.finalTransform._opMdf) { var i = this.finalTransform.localOpacity; for (e = 0; e < t; e += 1) i *= 0.01 * this.localTransforms[e].opacity; this.finalTransform.localOpacity = i; } } }, searchEffectTransforms: function () { if (this.renderableEffectsManager) { var e = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT); if (e.length) { (this.localTransforms = []), (this.finalTransform.localMat = new Matrix()); var t = 0, r = e.length; for (t = 0; t < r; t += 1) this.localTransforms.push(e[t]); } } }, globalToLocal: function (e) { var t = []; t.push(this.finalTransform); for (var r, n = !0, i = this.comp; n;) i.finalTransform ? (i.data.hasMask && t.splice(0, 0, i.finalTransform), (i = i.comp)) : (n = !1); var a, s = t.length; for (r = 0; r < s; r += 1) (a = t[r].mat.applyToPointArray(0, 0, 0)), (e = [e[0] - a[0], e[1] - a[1], 0]); return e; }, mHelper: new Matrix(), }), (MaskElement.prototype.getMaskProperty = function (e) { return this.viewData[e].prop; }), (MaskElement.prototype.renderFrame = function (e) { var t, r = this.element.finalTransform.mat, n = this.masksProperties.length; for (t = 0; t < n; t += 1) if ( ((this.viewData[t].prop._mdf || e) && this.drawPath(this.masksProperties[t], this.viewData[t].prop.v, this.viewData[t]), (this.viewData[t].op._mdf || e) && this.viewData[t].elem.setAttribute("fill-opacity", this.viewData[t].op.v), this.masksProperties[t].mode !== "n" && (this.viewData[t].invRect && (this.element.finalTransform.mProp._mdf || e) && this.viewData[t].invRect.setAttribute("transform", r.getInverseMatrix().to2dCSS()), this.storedData[t].x && (this.storedData[t].x._mdf || e))) ) { var i = this.storedData[t].expan; this.storedData[t].x.v < 0 ? (this.storedData[t].lastOperator !== "erode" && ((this.storedData[t].lastOperator = "erode"), this.storedData[t].elem.setAttribute("filter", "url(" + getLocationHref() + "#" + this.storedData[t].filterId + ")")), i.setAttribute("radius", -this.storedData[t].x.v)) : (this.storedData[t].lastOperator !== "dilate" && ((this.storedData[t].lastOperator = "dilate"), this.storedData[t].elem.setAttribute("filter", null)), this.storedData[t].elem.setAttribute("stroke-width", 2 * this.storedData[t].x.v)); } }), (MaskElement.prototype.getMaskelement = function () { return this.maskElement; }), (MaskElement.prototype.createLayerSolidPath = function () { var e = "M0,0 "; return (e += " h" + this.globalData.compSize.w), (e += " v" + this.globalData.compSize.h), (e += " h-" + this.globalData.compSize.w), (e += " v-" + this.globalData.compSize.h + " "); }), (MaskElement.prototype.drawPath = function (e, t, r) { var n, i, a = " M" + t.v[0][0] + "," + t.v[0][1]; for (i = t._length, n = 1; n < i; n += 1) a += " C" + t.o[n - 1][0] + "," + t.o[n - 1][1] + " " + t.i[n][0] + "," + t.i[n][1] + " " + t.v[n][0] + "," + t.v[n][1]; if ((t.c && i > 1 && (a += " C" + t.o[n - 1][0] + "," + t.o[n - 1][1] + " " + t.i[0][0] + "," + t.i[0][1] + " " + t.v[0][0] + "," + t.v[0][1]), r.lastPath !== a)) { var s = ""; r.elem && (t.c && (s = e.inv ? this.solidPath + a : a), r.elem.setAttribute("d", s)), (r.lastPath = a); } }), (MaskElement.prototype.destroy = function () { (this.element = null), (this.globalData = null), (this.maskElement = null), (this.data = null), (this.masksProperties = null); }); var filtersFactory = (function () { var e = {}; return ( (e.createFilter = function (t, r) { var n = createNS("filter"); return ( n.setAttribute("id", t), r !== !0 && (n.setAttribute("filterUnits", "objectBoundingBox"), n.setAttribute("x", "0%"), n.setAttribute("y", "0%"), n.setAttribute("width", "100%"), n.setAttribute("height", "100%")), n ); }), (e.createAlphaToLuminanceFilter = function () { var t = createNS("feColorMatrix"); return t.setAttribute("type", "matrix"), t.setAttribute("color-interpolation-filters", "sRGB"), t.setAttribute("values", "0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"), t; }), e ); })(), featureSupport = (function () { var e = { maskType: !0, svgLumaHidden: !0, offscreenCanvas: typeof OffscreenCanvas < "u" }; return ( (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\/\d./i.test(navigator.userAgent)) && (e.maskType = !1), /firefox/i.test(navigator.userAgent) && (e.svgLumaHidden = !1), e ); })(), registeredEffects$1 = {}, idPrefix = "filter_result_"; function SVGEffects(e) { var t, r, n = "SourceGraphic", i = e.data.ef ? e.data.ef.length : 0, a = createElementID(), s = filtersFactory.createFilter(a, !0), o = 0; for (this.filters = [], t = 0; t < i; t += 1) { r = null; var l = e.data.ef[t].ty; registeredEffects$1[l] && ((r = new registeredEffects$1[l].effect(s, e.effectsManager.effectElements[t], e, idPrefix + o, n)), (n = idPrefix + o), registeredEffects$1[l].countsAsEffect && (o += 1)), r && this.filters.push(r); } o && (e.globalData.defs.appendChild(s), e.layerElement.setAttribute("filter", "url(" + getLocationHref() + "#" + a + ")")), this.filters.length && e.addRenderableComponent(this); } function registerEffect$1(e, t, r) { registeredEffects$1[e] = { effect: t, countsAsEffect: r }; } function SVGBaseElement() { } function HierarchyElement() { } function RenderableDOMElement() { } function IImageElement(e, t, r) { (this.assetData = t.getAssetData(e.refId)), this.assetData && this.assetData.sid && (this.assetData = t.slotManager.getProp(this.assetData)), this.initElement(e, t, r), (this.sourceRect = { top: 0, left: 0, width: this.assetData.w, height: this.assetData.h }); } function ProcessedElement(e, t) { (this.elem = e), (this.pos = t); } function IShapeElement() { } (SVGEffects.prototype.renderFrame = function (e) { var t, r = this.filters.length; for (t = 0; t < r; t += 1) this.filters[t].renderFrame(e); }), (SVGEffects.prototype.getEffects = function (e) { var t, r = this.filters.length, n = []; for (t = 0; t < r; t += 1) this.filters[t].type === e && n.push(this.filters[t]); return n; }), (SVGBaseElement.prototype = { initRendererElement: function () { this.layerElement = createNS("g"); }, createContainerElements: function () { (this.matteElement = createNS("g")), (this.transformedElement = this.layerElement), (this.maskedElement = this.layerElement), (this._sizeChanged = !1); var e = null; if (this.data.td) { this.matteMasks = {}; var t = createNS("g"); t.setAttribute("id", this.layerId), t.appendChild(this.layerElement), (e = t), this.globalData.defs.appendChild(t); } else this.data.tt ? (this.matteElement.appendChild(this.layerElement), (e = this.matteElement), (this.baseElement = this.matteElement)) : (this.baseElement = this.layerElement); if ((this.data.ln && this.layerElement.setAttribute("id", this.data.ln), this.data.cl && this.layerElement.setAttribute("class", this.data.cl), this.data.ty === 0 && !this.data.hd)) { var r = createNS("clipPath"), n = createNS("path"); n.setAttribute("d", "M0,0 L" + this.data.w + ",0 L" + this.data.w + "," + this.data.h + " L0," + this.data.h + "z"); var i = createElementID(); if ((r.setAttribute("id", i), r.appendChild(n), this.globalData.defs.appendChild(r), this.checkMasks())) { var a = createNS("g"); a.setAttribute("clip-path", "url(" + getLocationHref() + "#" + i + ")"), a.appendChild(this.layerElement), (this.transformedElement = a), e ? e.appendChild(this.transformedElement) : (this.baseElement = this.transformedElement); } else this.layerElement.setAttribute("clip-path", "url(" + getLocationHref() + "#" + i + ")"); } this.data.bm !== 0 && this.setBlendMode(); }, renderElement: function () { this.finalTransform._localMatMdf && this.transformedElement.setAttribute("transform", this.finalTransform.localMat.to2dCSS()), this.finalTransform._opMdf && this.transformedElement.setAttribute("opacity", this.finalTransform.localOpacity); }, destroyBaseElement: function () { (this.layerElement = null), (this.matteElement = null), this.maskManager.destroy(); }, getBaseElement: function () { return this.data.hd ? null : this.baseElement; }, createRenderableComponents: function () { (this.maskManager = new MaskElement(this.data, this, this.globalData)), (this.renderableEffectsManager = new SVGEffects(this)), this.searchEffectTransforms(); }, getMatte: function (e) { if ((this.matteMasks || (this.matteMasks = {}), !this.matteMasks[e])) { var t, r, n, i, a = this.layerId + "_" + e; if (e === 1 || e === 3) { var s = createNS("mask"); s.setAttribute("id", a), s.setAttribute("mask-type", e === 3 ? "luminance" : "alpha"), (n = createNS("use")).setAttributeNS("http://www.w3.org/1999/xlink", "href", "#" + this.layerId), s.appendChild(n), this.globalData.defs.appendChild(s), featureSupport.maskType || e !== 1 || (s.setAttribute("mask-type", "luminance"), (t = createElementID()), (r = filtersFactory.createFilter(t)), this.globalData.defs.appendChild(r), r.appendChild(filtersFactory.createAlphaToLuminanceFilter()), (i = createNS("g")).appendChild(n), s.appendChild(i), i.setAttribute("filter", "url(" + getLocationHref() + "#" + t + ")")); } else if (e === 2) { var o = createNS("mask"); o.setAttribute("id", a), o.setAttribute("mask-type", "alpha"); var l = createNS("g"); o.appendChild(l), (t = createElementID()), (r = filtersFactory.createFilter(t)); var p = createNS("feComponentTransfer"); p.setAttribute("in", "SourceGraphic"), r.appendChild(p); var c = createNS("feFuncA"); c.setAttribute("type", "table"), c.setAttribute("tableValues", "1.0 0.0"), p.appendChild(c), this.globalData.defs.appendChild(r); var h = createNS("rect"); h.setAttribute("width", this.comp.data.w), h.setAttribute("height", this.comp.data.h), h.setAttribute("x", "0"), h.setAttribute("y", "0"), h.setAttribute("fill", "#ffffff"), h.setAttribute("opacity", "0"), l.setAttribute("filter", "url(" + getLocationHref() + "#" + t + ")"), l.appendChild(h), (n = createNS("use")).setAttributeNS("http://www.w3.org/1999/xlink", "href", "#" + this.layerId), l.appendChild(n), featureSupport.maskType || (o.setAttribute("mask-type", "luminance"), r.appendChild(filtersFactory.createAlphaToLuminanceFilter()), (i = createNS("g")), l.appendChild(h), i.appendChild(this.layerElement), l.appendChild(i)), this.globalData.defs.appendChild(o); } this.matteMasks[e] = a; } return this.matteMasks[e]; }, setMatte: function (e) { this.matteElement && this.matteElement.setAttribute("mask", "url(" + getLocationHref() + "#" + e + ")"); }, }), (HierarchyElement.prototype = { initHierarchy: function () { (this.hierarchy = []), (this._isParent = !1), this.checkParenting(); }, setHierarchy: function (e) { this.hierarchy = e; }, setAsParent: function () { this._isParent = !0; }, checkParenting: function () { this.data.parent !== void 0 && this.comp.buildElementParenting(this, this.data.parent, []); }, }), extendPrototype( [ RenderableElement, createProxyFunction({ initElement: function (e, t, r) { this.initFrame(), this.initBaseData(e, t, r), this.initTransform(e, t, r), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(); }, hide: function () { this.hidden || (this.isInRange && !this.isTransparent) || (((this.baseElement || this.layerElement).style.display = "none"), (this.hidden = !0)); }, show: function () { this.isInRange && !this.isTransparent && (this.data.hd || ((this.baseElement || this.layerElement).style.display = "block"), (this.hidden = !1), (this._isFirstFrame = !0)); }, renderFrame: function () { this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderLocalTransform(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1)); }, renderInnerContent: function () { }, prepareFrame: function (e) { (this._mdf = !1), this.prepareRenderableFrame(e), this.prepareProperties(e, this.isInRange), this.checkTransparency(); }, destroy: function () { (this.innerElem = null), this.destroyBaseElement(); }, }), ], RenderableDOMElement ), extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement), (IImageElement.prototype.createContent = function () { var e = this.globalData.getAssetsPath(this.assetData); (this.innerElem = createNS("image")), this.innerElem.setAttribute("width", this.assetData.w + "px"), this.innerElem.setAttribute("height", this.assetData.h + "px"), this.innerElem.setAttribute("preserveAspectRatio", this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio), this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink", "href", e), this.layerElement.appendChild(this.innerElem); }), (IImageElement.prototype.sourceRectAtTime = function () { return this.sourceRect; }), (IShapeElement.prototype = { addShapeToModifiers: function (e) { var t, r = this.shapeModifiers.length; for (t = 0; t < r; t += 1) this.shapeModifiers[t].addShape(e); }, isShapeInAnimatedModifiers: function (e) { for (var t = this.shapeModifiers.length; 0 < t;) if (this.shapeModifiers[0].isAnimatedWithShape(e)) return !0; return !1; }, renderModifiers: function () { if (this.shapeModifiers.length) { var e, t = this.shapes.length; for (e = 0; e < t; e += 1) this.shapes[e].sh.reset(); for (e = (t = this.shapeModifiers.length) - 1; e >= 0 && !this.shapeModifiers[e].processShapes(this._isFirstFrame); e -= 1); } }, searchProcessedElement: function (e) { for (var t = this.processedElements, r = 0, n = t.length; r < n;) { if (t[r].elem === e) return t[r].pos; r += 1; } return 0; }, addProcessedElement: function (e, t) { for (var r = this.processedElements, n = r.length; n;) if (r[(n -= 1)].elem === e) return void (r[n].pos = t); r.push(new ProcessedElement(e, t)); }, prepareFrame: function (e) { this.prepareRenderableFrame(e), this.prepareProperties(e, this.isInRange); }, }); var lineCapEnum = { 1: "butt", 2: "round", 3: "square" }, lineJoinEnum = { 1: "miter", 2: "round", 3: "bevel" }; function SVGShapeData(e, t, r) { (this.caches = []), (this.styles = []), (this.transformers = e), (this.lStr = ""), (this.sh = r), (this.lvl = t), (this._isAnimated = !!r.k); for (var n = 0, i = e.length; n < i;) { if (e[n].mProps.dynamicProperties.length) { this._isAnimated = !0; break; } n += 1; } } function SVGStyleData(e, t) { (this.data = e), (this.type = e.ty), (this.d = ""), (this.lvl = t), (this._mdf = !1), (this.closed = e.hd === !0), (this.pElem = createNS("path")), (this.msElem = null); } function DashProperty(e, t, r, n) { var i; (this.elem = e), (this.frameId = -1), (this.dataProps = createSizedArray(t.length)), (this.renderer = r), (this.k = !1), (this.dashStr = ""), (this.dashArray = createTypedArray("float32", t.length ? t.length - 1 : 0)), (this.dashoffset = createTypedArray("float32", 1)), this.initDynamicPropertyContainer(n); var a, s = t.length || 0; for (i = 0; i < s; i += 1) (a = PropertyFactory.getProp(e, t[i].v, 0, 0, this)), (this.k = a.k || this.k), (this.dataProps[i] = { n: t[i].n, p: a }); this.k || this.getValue(!0), (this._isAnimated = this.k); } function SVGStrokeStyleData(e, t, r) { this.initDynamicPropertyContainer(e), (this.getValue = this.iterateDynamicProperties), (this.o = PropertyFactory.getProp(e, t.o, 0, 0.01, this)), (this.w = PropertyFactory.getProp(e, t.w, 0, null, this)), (this.d = new DashProperty(e, t.d || {}, "svg", this)), (this.c = PropertyFactory.getProp(e, t.c, 1, 255, this)), (this.style = r), (this._isAnimated = !!this._isAnimated); } function SVGFillStyleData(e, t, r) { this.initDynamicPropertyContainer(e), (this.getValue = this.iterateDynamicProperties), (this.o = PropertyFactory.getProp(e, t.o, 0, 0.01, this)), (this.c = PropertyFactory.getProp(e, t.c, 1, 255, this)), (this.style = r); } function SVGNoStyleData(e, t, r) { this.initDynamicPropertyContainer(e), (this.getValue = this.iterateDynamicProperties), (this.style = r); } function GradientProperty(e, t, r) { (this.data = t), (this.c = createTypedArray("uint8c", 4 * t.p)); var n = t.k.k[0].s ? t.k.k[0].s.length - 4 * t.p : t.k.k.length - 4 * t.p; (this.o = createTypedArray("float32", n)), (this._cmdf = !1), (this._omdf = !1), (this._collapsable = this.checkCollapsable()), (this._hasOpacity = n), this.initDynamicPropertyContainer(r), (this.prop = PropertyFactory.getProp(e, t.k, 1, null, this)), (this.k = this.prop.k), this.getValue(!0); } function SVGGradientFillStyleData(e, t, r) { this.initDynamicPropertyContainer(e), (this.getValue = this.iterateDynamicProperties), this.initGradientData(e, t, r); } function SVGGradientStrokeStyleData(e, t, r) { this.initDynamicPropertyContainer(e), (this.getValue = this.iterateDynamicProperties), (this.w = PropertyFactory.getProp(e, t.w, 0, null, this)), (this.d = new DashProperty(e, t.d || {}, "svg", this)), this.initGradientData(e, t, r), (this._isAnimated = !!this._isAnimated); } function ShapeGroupData() { (this.it = []), (this.prevViewData = []), (this.gr = createNS("g")); } function SVGTransformData(e, t, r) { (this.transform = { mProps: e, op: t, container: r }), (this.elements = []), (this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length); } (SVGShapeData.prototype.setAsAnimated = function () { this._isAnimated = !0; }), (SVGStyleData.prototype.reset = function () { (this.d = ""), (this._mdf = !1); }), (DashProperty.prototype.getValue = function (e) { if ((this.elem.globalData.frameId !== this.frameId || e) && ((this.frameId = this.elem.globalData.frameId), this.iterateDynamicProperties(), (this._mdf = this._mdf || e), this._mdf)) { var t = 0, r = this.dataProps.length; for (this.renderer === "svg" && (this.dashStr = ""), t = 0; t < r; t += 1) this.dataProps[t].n !== "o" ? (this.renderer === "svg" ? (this.dashStr += " " + this.dataProps[t].p.v) : (this.dashArray[t] = this.dataProps[t].p.v)) : (this.dashoffset[0] = this.dataProps[t].p.v); } }), extendPrototype([DynamicPropertyContainer], DashProperty), extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData), extendPrototype([DynamicPropertyContainer], SVGFillStyleData), extendPrototype([DynamicPropertyContainer], SVGNoStyleData), (GradientProperty.prototype.comparePoints = function (e, t) { for (var r = 0, n = this.o.length / 2; r < n;) { if (Math.abs(e[4 * r] - e[4 * t + 2 * r]) > 0.01) return !1; r += 1; } return !0; }), (GradientProperty.prototype.checkCollapsable = function () { if (this.o.length / 2 != this.c.length / 4) return !1; if (this.data.k.k[0].s) for (var e = 0, t = this.data.k.k.length; e < t;) { if (!this.comparePoints(this.data.k.k[e].s, this.data.p)) return !1; e += 1; } else if (!this.comparePoints(this.data.k.k, this.data.p)) return !1; return !0; }), (GradientProperty.prototype.getValue = function (e) { if ((this.prop.getValue(), (this._mdf = !1), (this._cmdf = !1), (this._omdf = !1), this.prop._mdf || e)) { var t, r, n, i = 4 * this.data.p; for (t = 0; t < i; t += 1) (r = t % 4 == 0 ? 100 : 255), (n = Math.round(this.prop.v[t] * r)), this.c[t] !== n && ((this.c[t] = n), (this._cmdf = !e)); if (this.o.length) for (i = this.prop.v.length, t = 4 * this.data.p; t < i; t += 1) (r = t % 2 == 0 ? 100 : 1), (n = t % 2 == 0 ? Math.round(100 * this.prop.v[t]) : this.prop.v[t]), this.o[t - 4 * this.data.p] !== n && ((this.o[t - 4 * this.data.p] = n), (this._omdf = !e)); this._mdf = !e; } }), extendPrototype([DynamicPropertyContainer], GradientProperty), (SVGGradientFillStyleData.prototype.initGradientData = function (e, t, r) { (this.o = PropertyFactory.getProp(e, t.o, 0, 0.01, this)), (this.s = PropertyFactory.getProp(e, t.s, 1, null, this)), (this.e = PropertyFactory.getProp(e, t.e, 1, null, this)), (this.h = PropertyFactory.getProp(e, t.h || { k: 0 }, 0, 0.01, this)), (this.a = PropertyFactory.getProp(e, t.a || { k: 0 }, 0, degToRads, this)), (this.g = new GradientProperty(e, t.g, this)), (this.style = r), (this.stops = []), this.setGradientData(r.pElem, t), this.setGradientOpacity(t, r), (this._isAnimated = !!this._isAnimated); }), (SVGGradientFillStyleData.prototype.setGradientData = function (e, t) { var r = createElementID(), n = createNS(t.t === 1 ? "linearGradient" : "radialGradient"); n.setAttribute("id", r), n.setAttribute("spreadMethod", "pad"), n.setAttribute("gradientUnits", "userSpaceOnUse"); var i, a, s, o = []; for (s = 4 * t.g.p, a = 0; a < s; a += 4) (i = createNS("stop")), n.appendChild(i), o.push(i); e.setAttribute(t.ty === "gf" ? "fill" : "stroke", "url(" + getLocationHref() + "#" + r + ")"), (this.gf = n), (this.cst = o); }), (SVGGradientFillStyleData.prototype.setGradientOpacity = function (e, t) { if (this.g._hasOpacity && !this.g._collapsable) { var r, n, i, a = createNS("mask"), s = createNS("path"); a.appendChild(s); var o = createElementID(), l = createElementID(); a.setAttribute("id", l); var p = createNS(e.t === 1 ? "linearGradient" : "radialGradient"); p.setAttribute("id", o), p.setAttribute("spreadMethod", "pad"), p.setAttribute("gradientUnits", "userSpaceOnUse"), (i = e.g.k.k[0].s ? e.g.k.k[0].s.length : e.g.k.k.length); var c = this.stops; for (n = 4 * e.g.p; n < i; n += 2) (r = createNS("stop")).setAttribute("stop-color", "rgb(255,255,255)"), p.appendChild(r), c.push(r); s.setAttribute(e.ty === "gf" ? "fill" : "stroke", "url(" + getLocationHref() + "#" + o + ")"), e.ty === "gs" && (s.setAttribute("stroke-linecap", lineCapEnum[e.lc || 2]), s.setAttribute("stroke-linejoin", lineJoinEnum[e.lj || 2]), e.lj === 1 && s.setAttribute("stroke-miterlimit", e.ml)), (this.of = p), (this.ms = a), (this.ost = c), (this.maskId = l), (t.msElem = s); } }), extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData), extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData); var buildShapeString = function (e, t, r, n) { if (t === 0) return ""; var i, a = e.o, s = e.i, o = e.v, l = " M" + n.applyToPointStringified(o[0][0], o[0][1]); for (i = 1; i < t; i += 1) l += " C" + n.applyToPointStringified(a[i - 1][0], a[i - 1][1]) + " " + n.applyToPointStringified(s[i][0], s[i][1]) + " " + n.applyToPointStringified(o[i][0], o[i][1]); return r && t && ((l += " C" + n.applyToPointStringified(a[i - 1][0], a[i - 1][1]) + " " + n.applyToPointStringified(s[0][0], s[0][1]) + " " + n.applyToPointStringified(o[0][0], o[0][1])), (l += "z")), l; }, SVGElementsRenderer = (function () { var e = new Matrix(), t = new Matrix(); function r(p, c, h) { (h || c.transform.op._mdf) && c.transform.container.setAttribute("opacity", c.transform.op.v), (h || c.transform.mProps._mdf) && c.transform.container.setAttribute("transform", c.transform.mProps.v.to2dCSS()); } function n() { } function i(p, c, h) { var g, d, f, m, u, y, v, E, b, T, A = c.styles.length, x = c.lvl; for (y = 0; y < A; y += 1) { if (((m = c.sh._mdf || h), c.styles[y].lvl < x)) { for (E = t.reset(), b = x - c.styles[y].lvl, T = c.transformers.length - 1; !m && b > 0;) (m = c.transformers[T].mProps._mdf || m), (b -= 1), (T -= 1); if (m) for (b = x - c.styles[y].lvl, T = c.transformers.length - 1; b > 0;) E.multiply(c.transformers[T].mProps.v), (b -= 1), (T -= 1); } else E = e; if (((d = (v = c.sh.paths)._length), m)) { for (f = "", g = 0; g < d; g += 1) (u = v.shapes[g]) && u._length && (f += buildShapeString(u, u._length, u.c, E)); c.caches[y] = f; } else f = c.caches[y]; (c.styles[y].d += p.hd === !0 ? "" : f), (c.styles[y]._mdf = m || c.styles[y]._mdf); } } function a(p, c, h) { var g = c.style; (c.c._mdf || h) && g.pElem.setAttribute("fill", "rgb(" + bmFloor(c.c.v[0]) + "," + bmFloor(c.c.v[1]) + "," + bmFloor(c.c.v[2]) + ")"), (c.o._mdf || h) && g.pElem.setAttribute("fill-opacity", c.o.v); } function s(p, c, h) { o(p, c, h), l(p, c, h); } function o(p, c, h) { var g, d, f, m, u, y = c.gf, v = c.g._hasOpacity, E = c.s.v, b = c.e.v; if (c.o._mdf || h) { var T = p.ty === "gf" ? "fill-opacity" : "stroke-opacity"; c.style.pElem.setAttribute(T, c.o.v); } if (c.s._mdf || h) { var A = p.t === 1 ? "x1" : "cx", x = A === "x1" ? "y1" : "cy"; y.setAttribute(A, E[0]), y.setAttribute(x, E[1]), v && !c.g._collapsable && (c.of.setAttribute(A, E[0]), c.of.setAttribute(x, E[1])); } if (c.g._cmdf || h) { g = c.cst; var C = c.g.c; for (f = g.length, d = 0; d < f; d += 1) (m = g[d]).setAttribute("offset", C[4 * d] + "%"), m.setAttribute("stop-color", "rgb(" + C[4 * d + 1] + "," + C[4 * d + 2] + "," + C[4 * d + 3] + ")"); } if (v && (c.g._omdf || h)) { var k = c.g.o; for (f = (g = c.g._collapsable ? c.cst : c.ost).length, d = 0; d < f; d += 1) (m = g[d]), c.g._collapsable || m.setAttribute("offset", k[2 * d] + "%"), m.setAttribute("stop-opacity", k[2 * d + 1]); } if (p.t === 1) (c.e._mdf || h) && (y.setAttribute("x2", b[0]), y.setAttribute("y2", b[1]), v && !c.g._collapsable && (c.of.setAttribute("x2", b[0]), c.of.setAttribute("y2", b[1]))); else if ( ((c.s._mdf || c.e._mdf || h) && ((u = Math.sqrt(Math.pow(E[0] - b[0], 2) + Math.pow(E[1] - b[1], 2))), y.setAttribute("r", u), v && !c.g._collapsable && c.of.setAttribute("r", u)), c.e._mdf || c.h._mdf || c.a._mdf || h) ) { u || (u = Math.sqrt(Math.pow(E[0] - b[0], 2) + Math.pow(E[1] - b[1], 2))); var D = Math.atan2(b[1] - E[1], b[0] - E[0]), I = c.h.v; I >= 1 ? (I = 0.99) : I <= -1 && (I = -0.99); var L = u * I, O = Math.cos(D + c.a.v) * L + E[0], R = Math.sin(D + c.a.v) * L + E[1]; y.setAttribute("fx", O), y.setAttribute("fy", R), v && !c.g._collapsable && (c.of.setAttribute("fx", O), c.of.setAttribute("fy", R)); } } function l(p, c, h) { var g = c.style, d = c.d; d && (d._mdf || h) && d.dashStr && (g.pElem.setAttribute("stroke-dasharray", d.dashStr), g.pElem.setAttribute("stroke-dashoffset", d.dashoffset[0])), c.c && (c.c._mdf || h) && g.pElem.setAttribute("stroke", "rgb(" + bmFloor(c.c.v[0]) + "," + bmFloor(c.c.v[1]) + "," + bmFloor(c.c.v[2]) + ")"), (c.o._mdf || h) && g.pElem.setAttribute("stroke-opacity", c.o.v), (c.w._mdf || h) && (g.pElem.setAttribute("stroke-width", c.w.v), g.msElem && g.msElem.setAttribute("stroke-width", c.w.v)); } return { createRenderFunction: function (p) { switch (p.ty) { case "fl": return a; case "gf": return o; case "gs": return s; case "st": return l; case "sh": case "el": case "rc": case "sr": return i; case "tr": return r; case "no": return n; default: return null; } }, }; })(); function SVGShapeElement(e, t, r) { (this.shapes = []), (this.shapesData = e.shapes), (this.stylesList = []), (this.shapeModifiers = []), (this.itemsData = []), (this.processedElements = []), (this.animatedContents = []), this.initElement(e, t, r), (this.prevViewData = []); } function LetterProps(e, t, r, n, i, a) { (this.o = e), (this.sw = t), (this.sc = r), (this.fc = n), (this.m = i), (this.p = a), (this._mdf = { o: !0, sw: !!t, sc: !!r, fc: !!n, m: !0, p: !0 }); } function TextProperty(e, t) { (this._frameId = initialDefaultFrame), (this.pv = ""), (this.v = ""), (this.kf = !1), (this._isFirstFrame = !0), (this._mdf = !1), t.d && t.d.sid && (t.d = e.globalData.slotManager.getProp(t.d)), (this.data = t), (this.elem = e), (this.comp = this.elem.comp), (this.keysIndex = 0), (this.canResize = !1), (this.minimumFontSize = 1), (this.effectsSequence = []), (this.currentData = { ascent: 0, boxWidth: this.defaultBoxWidth, f: "", fStyle: "", fWeight: "", fc: "", j: "", justifyOffset: "", l: [], lh: 0, lineWidths: [], ls: "", of: "", s: "", sc: "", sw: 0, t: 0, tr: 0, sz: 0, ps: null, fillColorAnim: !1, strokeColorAnim: !1, strokeWidthAnim: !1, yOffset: 0, finalSize: 0, finalText: [], finalLineHeight: 0, __complete: !1, }), this.copyData(this.currentData, this.data.d.k[0].s), this.searchProperty() || this.completeTextData(this.currentData); } extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement), (SVGShapeElement.prototype.initSecondaryElement = function () { }), (SVGShapeElement.prototype.identityMatrix = new Matrix()), (SVGShapeElement.prototype.buildExpressionInterface = function () { }), (SVGShapeElement.prototype.createContent = function () { this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes(); }), (SVGShapeElement.prototype.filterUniqueShapes = function () { var e, t, r, n, i = this.shapes.length, a = this.stylesList.length, s = [], o = !1; for (r = 0; r < a; r += 1) { for (n = this.stylesList[r], o = !1, s.length = 0, e = 0; e < i; e += 1) (t = this.shapes[e]).styles.indexOf(n) !== -1 && (s.push(t), (o = t._isAnimated || o)); s.length > 1 && o && this.setShapesAsAnimated(s); } }), (SVGShapeElement.prototype.setShapesAsAnimated = function (e) { var t, r = e.length; for (t = 0; t < r; t += 1) e[t].setAsAnimated(); }), (SVGShapeElement.prototype.createStyleElement = function (e, t) { var r, n = new SVGStyleData(e, t), i = n.pElem; return ( e.ty === "st" ? (r = new SVGStrokeStyleData(this, e, n)) : e.ty === "fl" ? (r = new SVGFillStyleData(this, e, n)) : e.ty === "gf" || e.ty === "gs" ? ((r = new (e.ty === "gf" ? SVGGradientFillStyleData : SVGGradientStrokeStyleData)(this, e, n)), this.globalData.defs.appendChild(r.gf), r.maskId && (this.globalData.defs.appendChild(r.ms), this.globalData.defs.appendChild(r.of), i.setAttribute("mask", "url(" + getLocationHref() + "#" + r.maskId + ")"))) : e.ty === "no" && (r = new SVGNoStyleData(this, e, n)), (e.ty !== "st" && e.ty !== "gs") || (i.setAttribute("stroke-linecap", lineCapEnum[e.lc || 2]), i.setAttribute("stroke-linejoin", lineJoinEnum[e.lj || 2]), i.setAttribute("fill-opacity", "0"), e.lj === 1 && i.setAttribute("stroke-miterlimit", e.ml)), e.r === 2 && i.setAttribute("fill-rule", "evenodd"), e.ln && i.setAttribute("id", e.ln), e.cl && i.setAttribute("class", e.cl), e.bm && (i.style["mix-blend-mode"] = getBlendMode(e.bm)), this.stylesList.push(n), this.addToAnimatedContents(e, r), r ); }), (SVGShapeElement.prototype.createGroupElement = function (e) { var t = new ShapeGroupData(); return e.ln && t.gr.setAttribute("id", e.ln), e.cl && t.gr.setAttribute("class", e.cl), e.bm && (t.gr.style["mix-blend-mode"] = getBlendMode(e.bm)), t; }), (SVGShapeElement.prototype.createTransformElement = function (e, t) { var r = TransformPropertyFactory.getTransformProperty(this, e, this), n = new SVGTransformData(r, r.o, t); return this.addToAnimatedContents(e, n), n; }), (SVGShapeElement.prototype.createShapeElement = function (e, t, r) { var n = 4; e.ty === "rc" ? (n = 5) : e.ty === "el" ? (n = 6) : e.ty === "sr" && (n = 7); var i = new SVGShapeData(t, r, ShapePropertyFactory.getShapeProp(this, e, n, this)); return this.shapes.push(i), this.addShapeToModifiers(i), this.addToAnimatedContents(e, i), i; }), (SVGShapeElement.prototype.addToAnimatedContents = function (e, t) { for (var r = 0, n = this.animatedContents.length; r < n;) { if (this.animatedContents[r].element === t) return; r += 1; } this.animatedContents.push({ fn: SVGElementsRenderer.createRenderFunction(e), element: t, data: e }); }), (SVGShapeElement.prototype.setElementStyles = function (e) { var t, r = e.styles, n = this.stylesList.length; for (t = 0; t < n; t += 1) this.stylesList[t].closed || r.push(this.stylesList[t]); }), (SVGShapeElement.prototype.reloadShapes = function () { var e; this._isFirstFrame = !0; var t = this.itemsData.length; for (e = 0; e < t; e += 1) this.prevViewData[e] = this.itemsData[e]; for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes(), t = this.dynamicProperties.length, e = 0; e < t; e += 1) this.dynamicProperties[e].getValue(); this.renderModifiers(); }), (SVGShapeElement.prototype.searchShapes = function (e, t, r, n, i, a, s) { var o, l, p, c, h, g, d = [].concat(a), f = e.length - 1, m = [], u = []; for (o = f; o >= 0; o -= 1) { if (((g = this.searchProcessedElement(e[o])) ? (t[o] = r[g - 1]) : (e[o]._render = s), e[o].ty === "fl" || e[o].ty === "st" || e[o].ty === "gf" || e[o].ty === "gs" || e[o].ty === "no")) g ? (t[o].style.closed = !1) : (t[o] = this.createStyleElement(e[o], i)), e[o]._render && t[o].style.pElem.parentNode !== n && n.appendChild(t[o].style.pElem), m.push(t[o].style); else if (e[o].ty === "gr") { if (g) for (p = t[o].it.length, l = 0; l < p; l += 1) t[o].prevViewData[l] = t[o].it[l]; else t[o] = this.createGroupElement(e[o]); this.searchShapes(e[o].it, t[o].it, t[o].prevViewData, t[o].gr, i + 1, d, s), e[o]._render && t[o].gr.parentNode !== n && n.appendChild(t[o].gr); } else e[o].ty === "tr" ? (g || (t[o] = this.createTransformElement(e[o], n)), (c = t[o].transform), d.push(c)) : e[o].ty === "sh" || e[o].ty === "rc" || e[o].ty === "el" || e[o].ty === "sr" ? (g || (t[o] = this.createShapeElement(e[o], d, i)), this.setElementStyles(t[o])) : e[o].ty === "tm" || e[o].ty === "rd" || e[o].ty === "ms" || e[o].ty === "pb" || e[o].ty === "zz" || e[o].ty === "op" ? (g ? ((h = t[o]).closed = !1) : ((h = ShapeModifiers.getModifier(e[o].ty)).init(this, e[o]), (t[o] = h), this.shapeModifiers.push(h)), u.push(h)) : e[o].ty === "rp" && (g ? ((h = t[o]).closed = !0) : ((h = ShapeModifiers.getModifier(e[o].ty)), (t[o] = h), h.init(this, e, o, t), this.shapeModifiers.push(h), (s = !1)), u.push(h)); this.addProcessedElement(e[o], o + 1); } for (f = m.length, o = 0; o < f; o += 1) m[o].closed = !0; for (f = u.length, o = 0; o < f; o += 1) u[o].closed = !0; }), (SVGShapeElement.prototype.renderInnerContent = function () { var e; this.renderModifiers(); var t = this.stylesList.length; for (e = 0; e < t; e += 1) this.stylesList[e].reset(); for (this.renderShape(), e = 0; e < t; e += 1) (this.stylesList[e]._mdf || this._isFirstFrame) && (this.stylesList[e].msElem && (this.stylesList[e].msElem.setAttribute("d", this.stylesList[e].d), (this.stylesList[e].d = "M0 0" + this.stylesList[e].d)), this.stylesList[e].pElem.setAttribute("d", this.stylesList[e].d || "M0 0")); }), (SVGShapeElement.prototype.renderShape = function () { var e, t, r = this.animatedContents.length; for (e = 0; e < r; e += 1) (t = this.animatedContents[e]), (this._isFirstFrame || t.element._isAnimated) && t.data !== !0 && t.fn(t.data, t.element, this._isFirstFrame); }), (SVGShapeElement.prototype.destroy = function () { this.destroyBaseElement(), (this.shapesData = null), (this.itemsData = null); }), (LetterProps.prototype.update = function (e, t, r, n, i, a) { (this._mdf.o = !1), (this._mdf.sw = !1), (this._mdf.sc = !1), (this._mdf.fc = !1), (this._mdf.m = !1), (this._mdf.p = !1); var s = !1; return ( this.o !== e && ((this.o = e), (this._mdf.o = !0), (s = !0)), this.sw !== t && ((this.sw = t), (this._mdf.sw = !0), (s = !0)), this.sc !== r && ((this.sc = r), (this._mdf.sc = !0), (s = !0)), this.fc !== n && ((this.fc = n), (this._mdf.fc = !0), (s = !0)), this.m !== i && ((this.m = i), (this._mdf.m = !0), (s = !0)), !a.length || (this.p[0] === a[0] && this.p[1] === a[1] && this.p[4] === a[4] && this.p[5] === a[5] && this.p[12] === a[12] && this.p[13] === a[13]) || ((this.p = a), (this._mdf.p = !0), (s = !0)), s ); }), (TextProperty.prototype.defaultBoxWidth = [0, 0]), (TextProperty.prototype.copyData = function (e, t) { for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]); return e; }), (TextProperty.prototype.setCurrentData = function (e) { e.__complete || this.completeTextData(e), (this.currentData = e), (this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth), (this._mdf = !0); }), (TextProperty.prototype.searchProperty = function () { return this.searchKeyframes(); }), (TextProperty.prototype.searchKeyframes = function () { return (this.kf = this.data.d.k.length > 1), this.kf && this.addEffect(this.getKeyframeValue.bind(this)), this.kf; }), (TextProperty.prototype.addEffect = function (e) { this.effectsSequence.push(e), this.elem.addDynamicProperty(this); }), (TextProperty.prototype.getValue = function (e) { if ((this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length) || e) { this.currentData.t = this.data.d.k[this.keysIndex].s.t; var t = this.currentData, r = this.keysIndex; if (this.lock) this.setCurrentData(this.currentData); else { var n; (this.lock = !0), (this._mdf = !1); var i = this.effectsSequence.length, a = e || this.data.d.k[this.keysIndex].s; for (n = 0; n < i; n += 1) a = r !== this.keysIndex ? this.effectsSequence[n](a, a.t) : this.effectsSequence[n](this.currentData, a.t); t !== a && this.setCurrentData(a), (this.v = this.currentData), (this.pv = this.v), (this.lock = !1), (this.frameId = this.elem.globalData.frameId); } } }), (TextProperty.prototype.getKeyframeValue = function () { for (var e = this.data.d.k, t = this.elem.comp.renderedFrame, r = 0, n = e.length; r <= n - 1 && !(r === n - 1 || e[r + 1].t > t);) r += 1; return this.keysIndex !== r && (this.keysIndex = r), this.data.d.k[this.keysIndex].s; }), (TextProperty.prototype.buildFinalText = function (e) { for (var t, r, n = [], i = 0, a = e.length, s = !1, o = !1, l = ""; i < a;) (s = o), (o = !1), (t = e.charCodeAt(i)), (l = e.charAt(i)), FontManager.isCombinedCharacter(t) ? (s = !0) : t >= 55296 && t <= 56319 ? FontManager.isRegionalFlag(e, i) ? (l = e.substr(i, 14)) : (r = e.charCodeAt(i + 1)) >= 56320 && r <= 57343 && (FontManager.isModifier(t, r) ? ((l = e.substr(i, 2)), (s = !0)) : (l = FontManager.isFlagEmoji(e.substr(i, 4)) ? e.substr(i, 4) : e.substr(i, 2))) : t > 56319 ? ((r = e.charCodeAt(i + 1)), FontManager.isVariationSelector(t) && (s = !0)) : FontManager.isZeroWidthJoiner(t) && ((s = !0), (o = !0)), s ? ((n[n.length - 1] += l), (s = !1)) : n.push(l), (i += l.length); return n; }), (TextProperty.prototype.completeTextData = function (e) { e.__complete = !0; var t, r, n, i, a, s, o, l = this.elem.globalData.fontManager, p = this.data, c = [], h = 0, g = p.m.g, d = 0, f = 0, m = 0, u = [], y = 0, v = 0, E = l.getFontByName(e.f), b = 0, T = getFontProperties(E); (e.fWeight = T.weight), (e.fStyle = T.style), (e.finalSize = e.s), (e.finalText = this.buildFinalText(e.t)), (r = e.finalText.length), (e.finalLineHeight = e.lh); var A, x = (e.tr / 1e3) * e.finalSize; if (e.sz) for (var C, k, D = !0, I = e.sz[0], L = e.sz[1]; D;) { (C = 0), (y = 0), (r = (k = this.buildFinalText(e.t)).length), (x = (e.tr / 1e3) * e.finalSize); var O = -1; for (t = 0; t < r; t += 1) (A = k[t].charCodeAt(0)), (n = !1), k[t] === " " ? (O = t) : (A !== 13 && A !== 3) || ((y = 0), (n = !0), (C += e.finalLineHeight || 1.2 * e.finalSize)), l.chars ? ((o = l.getCharData(k[t], E.fStyle, E.fFamily)), (b = n ? 0 : (o.w * e.finalSize) / 100)) : (b = l.measureText(k[t], e.f, e.finalSize)), y + b > I && k[t] !== " " ? (O === -1 ? (r += 1) : (t = O), (C += e.finalLineHeight || 1.2 * e.finalSize), k.splice(t, O === t ? 1 : 0, "\r"), (O = -1), (y = 0)) : ((y += b), (y += x)); (C += (E.ascent * e.finalSize) / 100), this.canResize && e.finalSize > this.minimumFontSize && L < C ? ((e.finalSize -= 1), (e.finalLineHeight = (e.finalSize * e.lh) / e.s)) : ((e.finalText = k), (r = e.finalText.length), (D = !1)); } (y = -x), (b = 0); var R, B = 0; for (t = 0; t < r; t += 1) if ( ((n = !1), (A = (R = e.finalText[t]).charCodeAt(0)) === 13 || A === 3 ? ((B = 0), u.push(y), (v = y > v ? y : v), (y = -2 * x), (i = ""), (n = !0), (m += 1)) : (i = R), l.chars ? ((o = l.getCharData(R, E.fStyle, l.getFontByName(e.f).fFamily)), (b = n ? 0 : (o.w * e.finalSize) / 100)) : (b = l.measureText(i, e.f, e.finalSize)), R === " " ? (B += b + x) : ((y += b + x + B), (B = 0)), c.push({ l: b, an: b, add: d, n, anIndexes: [], val: i, line: m, animatorJustifyOffset: 0 }), g == 2) ) { if (((d += b), i === "" || i === " " || t === r - 1)) { for ((i !== "" && i !== " ") || (d -= b); f <= t;) (c[f].an = d), (c[f].ind = h), (c[f].extra = b), (f += 1); (h += 1), (d = 0); } } else if (g == 3) { if (((d += b), i === "" || t === r - 1)) { for (i === "" && (d -= b); f <= t;) (c[f].an = d), (c[f].ind = h), (c[f].extra = b), (f += 1); (d = 0), (h += 1); } } else (c[h].ind = h), (c[h].extra = 0), (h += 1); if (((e.l = c), (v = y > v ? y : v), u.push(y), e.sz)) (e.boxWidth = e.sz[0]), (e.justifyOffset = 0); else switch (((e.boxWidth = v), e.j)) { case 1: e.justifyOffset = -e.boxWidth; break; case 2: e.justifyOffset = -e.boxWidth / 2; break; default: e.justifyOffset = 0; } e.lineWidths = u; var j, te, P, W, K = p.a; s = K.length; var N = []; for (a = 0; a < s; a += 1) { for ((j = K[a]).a.sc && (e.strokeColorAnim = !0), j.a.sw && (e.strokeWidthAnim = !0), (j.a.fc || j.a.fh || j.a.fs || j.a.fb) && (e.fillColorAnim = !0), W = 0, P = j.s.b, t = 0; t < r; t += 1) ((te = c[t]).anIndexes[a] = W), ((P == 1 && te.val !== "") || (P == 2 && te.val !== "" && te.val !== " ") || (P == 3 && (te.n || te.val == " " || t == r - 1)) || (P == 4 && (te.n || t == r - 1))) && (j.s.rn === 1 && N.push(W), (W += 1)); p.a[a].s.totalChars = W; var q, w = -1; if (j.s.rn === 1) for (t = 0; t < r; t += 1) w != (te = c[t]).anIndexes[a] && ((w = te.anIndexes[a]), (q = N.splice(Math.floor(Math.random() * N.length), 1)[0])), (te.anIndexes[a] = q); } (e.yOffset = e.finalLineHeight || 1.2 * e.finalSize), (e.ls = e.ls || 0), (e.ascent = (E.ascent * e.finalSize) / 100); }), (TextProperty.prototype.updateDocumentData = function (e, t) { t = t === void 0 ? this.keysIndex : t; var r = this.copyData({}, this.data.d.k[t].s); (r = this.copyData(r, e)), (this.data.d.k[t].s = r), this.recalculate(t), this.setCurrentData(r), this.elem.addDynamicProperty(this); }), (TextProperty.prototype.recalculate = function (e) { var t = this.data.d.k[e].s; (t.__complete = !1), (this.keysIndex = 0), (this._isFirstFrame = !0), this.getValue(t); }), (TextProperty.prototype.canResizeFont = function (e) { (this.canResize = e), this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this); }), (TextProperty.prototype.setMinimumFontSize = function (e) { (this.minimumFontSize = Math.floor(e) || 1), this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this); }); var TextSelectorProp = (function () { var e = Math.max, t = Math.min, r = Math.floor; function n(i, a) { (this._currentTextLength = -1), (this.k = !1), (this.data = a), (this.elem = i), (this.comp = i.comp), (this.finalS = 0), (this.finalE = 0), this.initDynamicPropertyContainer(i), (this.s = PropertyFactory.getProp(i, a.s || { k: 0 }, 0, 0, this)), (this.e = "e" in a ? PropertyFactory.getProp(i, a.e, 0, 0, this) : { v: 100 }), (this.o = PropertyFactory.getProp(i, a.o || { k: 0 }, 0, 0, this)), (this.xe = PropertyFactory.getProp(i, a.xe || { k: 0 }, 0, 0, this)), (this.ne = PropertyFactory.getProp(i, a.ne || { k: 0 }, 0, 0, this)), (this.sm = PropertyFactory.getProp(i, a.sm || { k: 100 }, 0, 0, this)), (this.a = PropertyFactory.getProp(i, a.a, 0, 0.01, this)), this.dynamicProperties.length || this.getValue(); } return ( (n.prototype = { getMult: function (i) { this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue(); var a = 0, s = 0, o = 1, l = 1; this.ne.v > 0 ? (a = this.ne.v / 100) : (s = -this.ne.v / 100), this.xe.v > 0 ? (o = 1 - this.xe.v / 100) : (l = 1 + this.xe.v / 100); var p = BezierFactory.getBezierEasing(a, s, o, l).get, c = 0, h = this.finalS, g = this.finalE, d = this.data.sh; if (d === 2) c = p((c = g === h ? (i >= g ? 1 : 0) : e(0, t(0.5 / (g - h) + (i - h) / (g - h), 1)))); else if (d === 3) c = p((c = g === h ? (i >= g ? 0 : 1) : 1 - e(0, t(0.5 / (g - h) + (i - h) / (g - h), 1)))); else if (d === 4) g === h ? (c = 0) : (c = e(0, t(0.5 / (g - h) + (i - h) / (g - h), 1))) < 0.5 ? (c *= 2) : (c = 1 - 2 * (c - 0.5)), (c = p(c)); else if (d === 5) { if (g === h) c = 0; else { var f = g - h, m = -f / 2 + (i = t(e(0, i + 0.5 - h), g - h)), u = f / 2; c = Math.sqrt(1 - (m * m) / (u * u)); } c = p(c); } else d === 6 ? (g === h ? (c = 0) : ((i = t(e(0, i + 0.5 - h), g - h)), (c = (1 + Math.cos(Math.PI + (2 * Math.PI * i) / (g - h))) / 2)), (c = p(c))) : (i >= r(h) && (c = e(0, t(i - h < 0 ? t(g, 1) - (h - i) : g - i, 1))), (c = p(c))); if (this.sm.v !== 100) { var y = 0.01 * this.sm.v; y === 0 && (y = 1e-8); var v = 0.5 - 0.5 * y; c < v ? (c = 0) : (c = (c - v) / y) > 1 && (c = 1); } return c * this.a.v; }, getValue: function (i) { this.iterateDynamicProperties(), (this._mdf = i || this._mdf), (this._currentTextLength = this.elem.textProperty.currentData.l.length || 0), i && this.data.r === 2 && (this.e.v = this._currentTextLength); var a = this.data.r === 2 ? 1 : 100 / this.data.totalChars, s = this.o.v / a, o = this.s.v / a + s, l = this.e.v / a + s; if (o > l) { var p = o; (o = l), (l = p); } (this.finalS = o), (this.finalE = l); }, }), extendPrototype([DynamicPropertyContainer], n), { getTextSelectorProp: function (i, a, s) { return new n(i, a, s); }, } ); })(); function TextAnimatorDataProperty(e, t, r) { var n = { propType: !1 }, i = PropertyFactory.getProp, a = t.a; (this.a = { r: a.r ? i(e, a.r, 0, degToRads, r) : n, rx: a.rx ? i(e, a.rx, 0, degToRads, r) : n, ry: a.ry ? i(e, a.ry, 0, degToRads, r) : n, sk: a.sk ? i(e, a.sk, 0, degToRads, r) : n, sa: a.sa ? i(e, a.sa, 0, degToRads, r) : n, s: a.s ? i(e, a.s, 1, 0.01, r) : n, a: a.a ? i(e, a.a, 1, 0, r) : n, o: a.o ? i(e, a.o, 0, 0.01, r) : n, p: a.p ? i(e, a.p, 1, 0, r) : n, sw: a.sw ? i(e, a.sw, 0, 0, r) : n, sc: a.sc ? i(e, a.sc, 1, 0, r) : n, fc: a.fc ? i(e, a.fc, 1, 0, r) : n, fh: a.fh ? i(e, a.fh, 0, 0, r) : n, fs: a.fs ? i(e, a.fs, 0, 0.01, r) : n, fb: a.fb ? i(e, a.fb, 0, 0.01, r) : n, t: a.t ? i(e, a.t, 0, 0, r) : n, }), (this.s = TextSelectorProp.getTextSelectorProp(e, t.s, r)), (this.s.t = t.s.t); } function TextAnimatorProperty(e, t, r) { (this._isFirstFrame = !0), (this._hasMaskedPath = !1), (this._frameId = -1), (this._textData = e), (this._renderType = t), (this._elem = r), (this._animatorsData = createSizedArray(this._textData.a.length)), (this._pathData = {}), (this._moreOptions = { alignment: {} }), (this.renderedLetters = []), (this.lettersChangedFlag = !1), this.initDynamicPropertyContainer(r); } function ITextElement() { } (TextAnimatorProperty.prototype.searchProperties = function () { var e, t, r = this._textData.a.length, n = PropertyFactory.getProp; for (e = 0; e < r; e += 1) (t = this._textData.a[e]), (this._animatorsData[e] = new TextAnimatorDataProperty(this._elem, t, this)); this._textData.p && "m" in this._textData.p ? ((this._pathData = { a: n(this._elem, this._textData.p.a, 0, 0, this), f: n(this._elem, this._textData.p.f, 0, 0, this), l: n(this._elem, this._textData.p.l, 0, 0, this), r: n(this._elem, this._textData.p.r, 0, 0, this), p: n(this._elem, this._textData.p.p, 0, 0, this), m: this._elem.maskManager.getMaskProperty(this._textData.p.m), }), (this._hasMaskedPath = !0)) : (this._hasMaskedPath = !1), (this._moreOptions.alignment = n(this._elem, this._textData.m.a, 1, 0, this)); }), (TextAnimatorProperty.prototype.getMeasures = function (e, t) { if (((this.lettersChangedFlag = t), this._mdf || this._isFirstFrame || t || (this._hasMaskedPath && this._pathData.m._mdf))) { this._isFirstFrame = !1; var r, n, i, a, s, o, l, p, c, h, g, d, f, m, u, y, v, E, b, T = this._moreOptions.alignment.v, A = this._animatorsData, x = this._textData, C = this.mHelper, k = this._renderType, D = this.renderedLetters.length, I = e.l; if (this._hasMaskedPath) { if (((b = this._pathData.m), !this._pathData.n || this._pathData._mdf)) { var L, O = b.v; for (this._pathData.r.v && (O = O.reverse()), s = { tLength: 0, segments: [] }, a = O._length - 1, y = 0, i = 0; i < a; i += 1) (L = bez.buildBezierData(O.v[i], O.v[i + 1], [O.o[i][0] - O.v[i][0], O.o[i][1] - O.v[i][1]], [O.i[i + 1][0] - O.v[i + 1][0], O.i[i + 1][1] - O.v[i + 1][1]])), (s.tLength += L.segmentLength), s.segments.push(L), (y += L.segmentLength); (i = a), b.v.c && ((L = bez.buildBezierData(O.v[i], O.v[0], [O.o[i][0] - O.v[i][0], O.o[i][1] - O.v[i][1]], [O.i[0][0] - O.v[0][0], O.i[0][1] - O.v[0][1]])), (s.tLength += L.segmentLength), s.segments.push(L), (y += L.segmentLength)), (this._pathData.pi = s); } if (((s = this._pathData.pi), (o = this._pathData.f.v), (g = 0), (h = 1), (p = 0), (c = !0), (m = s.segments), o < 0 && b.v.c)) for (s.tLength < Math.abs(o) && (o = -Math.abs(o) % s.tLength), h = (f = m[(g = m.length - 1)].points).length - 1; o < 0;) (o += f[h].partialLength), (h -= 1) < 0 && (h = (f = m[(g -= 1)].points).length - 1); (d = (f = m[g].points)[h - 1]), (u = (l = f[h]).partialLength); } (a = I.length), (r = 0), (n = 0); var R, B, j, te, P, W = 1.2 * e.finalSize * 0.714, K = !0; j = A.length; var N, q, w, S, V, z, G, Q, ie, ee, F, J, ne = -1, Y = o, he = g, ye = h, be = -1, M = "", H = this.defaultPropsArray; if (e.j === 2 || e.j === 1) { var U = 0, X = 0, Z = e.j === 2 ? -0.5 : -1, $ = 0, ae = !0; for (i = 0; i < a; i += 1) if (I[i].n) { for (U && (U += X); $ < i;) (I[$].animatorJustifyOffset = U), ($ += 1); (U = 0), (ae = !0); } else { for (B = 0; B < j; B += 1) (R = A[B].a).t.propType && (ae && e.j === 2 && (X += R.t.v * Z), (P = A[B].s.getMult(I[i].anIndexes[B], x.a[B].s.totalChars)).length ? (U += R.t.v * P[0] * Z) : (U += R.t.v * P * Z)); ae = !1; } for (U && (U += X); $ < i;) (I[$].animatorJustifyOffset = U), ($ += 1); } for (i = 0; i < a; i += 1) { if ((C.reset(), (S = 1), I[i].n)) (r = 0), (n += e.yOffset), (n += K ? 1 : 0), (o = Y), (K = !1), this._hasMaskedPath && ((h = ye), (d = (f = m[(g = he)].points)[h - 1]), (u = (l = f[h]).partialLength), (p = 0)), (M = ""), (F = ""), (ie = ""), (J = ""), (H = this.defaultPropsArray); else { if (this._hasMaskedPath) { if (be !== I[i].line) { switch (e.j) { case 1: o += y - e.lineWidths[I[i].line]; break; case 2: o += (y - e.lineWidths[I[i].line]) / 2; } be = I[i].line; } ne !== I[i].ind && (I[ne] && (o += I[ne].extra), (o += I[i].an / 2), (ne = I[i].ind)), (o += T[0] * I[i].an * 0.005); var oe = 0; for (B = 0; B < j; B += 1) (R = A[B].a).p.propType && ((P = A[B].s.getMult(I[i].anIndexes[B], x.a[B].s.totalChars)).length ? (oe += R.p.v[0] * P[0]) : (oe += R.p.v[0] * P)), R.a.propType && ((P = A[B].s.getMult(I[i].anIndexes[B], x.a[B].s.totalChars)).length ? (oe += R.a.v[0] * P[0]) : (oe += R.a.v[0] * P)); for (c = !0, this._pathData.a.v && ((o = 0.5 * I[0].an + ((y - this._pathData.f.v - 0.5 * I[0].an - 0.5 * I[I.length - 1].an) * ne) / (a - 1)), (o += this._pathData.f.v)); c;) p + u >= o + oe || !f ? ((v = (o + oe - p) / l.partialLength), (q = d.point[0] + (l.point[0] - d.point[0]) * v), (w = d.point[1] + (l.point[1] - d.point[1]) * v), C.translate(-T[0] * I[i].an * 0.005, -T[1] * W * 0.01), (c = !1)) : f && ((p += l.partialLength), (h += 1) >= f.length && ((h = 0), m[(g += 1)] ? (f = m[g].points) : b.v.c ? ((h = 0), (f = m[(g = 0)].points)) : ((p -= l.partialLength), (f = null))), f && ((d = l), (u = (l = f[h]).partialLength))); (N = I[i].an / 2 - I[i].add), C.translate(-N, 0, 0); } else (N = I[i].an / 2 - I[i].add), C.translate(-N, 0, 0), C.translate(-T[0] * I[i].an * 0.005, -T[1] * W * 0.01, 0); for (B = 0; B < j; B += 1) (R = A[B].a).t.propType && ((P = A[B].s.getMult(I[i].anIndexes[B], x.a[B].s.totalChars)), (r === 0 && e.j === 0) || (this._hasMaskedPath ? (P.length ? (o += R.t.v * P[0]) : (o += R.t.v * P)) : P.length ? (r += R.t.v * P[0]) : (r += R.t.v * P))); for (e.strokeWidthAnim && (z = e.sw || 0), e.strokeColorAnim && (V = e.sc ? [e.sc[0], e.sc[1], e.sc[2]] : [0, 0, 0]), e.fillColorAnim && e.fc && (G = [e.fc[0], e.fc[1], e.fc[2]]), B = 0; B < j; B += 1) (R = A[B].a).a.propType && ((P = A[B].s.getMult(I[i].anIndexes[B], x.a[B].s.totalChars)).length ? C.translate(-R.a.v[0] * P[0], -R.a.v[1] * P[1], R.a.v[2] * P[2]) : C.translate(-R.a.v[0] * P, -R.a.v[1] * P, R.a.v[2] * P)); for (B = 0; B < j; B += 1) (R = A[B].a).s.propType && ((P = A[B].s.getMult(I[i].anIndexes[B], x.a[B].s.totalChars)).length ? C.scale(1 + (R.s.v[0] - 1) * P[0], 1 + (R.s.v[1] - 1) * P[1], 1) : C.scale(1 + (R.s.v[0] - 1) * P, 1 + (R.s.v[1] - 1) * P, 1)); for (B = 0; B < j; B += 1) { if ( ((R = A[B].a), (P = A[B].s.getMult(I[i].anIndexes[B], x.a[B].s.totalChars)), R.sk.propType && (P.length ? C.skewFromAxis(-R.sk.v * P[0], R.sa.v * P[1]) : C.skewFromAxis(-R.sk.v * P, R.sa.v * P)), R.r.propType && (P.length ? C.rotateZ(-R.r.v * P[2]) : C.rotateZ(-R.r.v * P)), R.ry.propType && (P.length ? C.rotateY(R.ry.v * P[1]) : C.rotateY(R.ry.v * P)), R.rx.propType && (P.length ? C.rotateX(R.rx.v * P[0]) : C.rotateX(R.rx.v * P)), R.o.propType && (P.length ? (S += (R.o.v * P[0] - S) * P[0]) : (S += (R.o.v * P - S) * P)), e.strokeWidthAnim && R.sw.propType && (P.length ? (z += R.sw.v * P[0]) : (z += R.sw.v * P)), e.strokeColorAnim && R.sc.propType) ) for (Q = 0; Q < 3; Q += 1) P.length ? (V[Q] += (R.sc.v[Q] - V[Q]) * P[0]) : (V[Q] += (R.sc.v[Q] - V[Q]) * P); if (e.fillColorAnim && e.fc) { if (R.fc.propType) for (Q = 0; Q < 3; Q += 1) P.length ? (G[Q] += (R.fc.v[Q] - G[Q]) * P[0]) : (G[Q] += (R.fc.v[Q] - G[Q]) * P); R.fh.propType && (G = P.length ? addHueToRGB(G, R.fh.v * P[0]) : addHueToRGB(G, R.fh.v * P)), R.fs.propType && (G = P.length ? addSaturationToRGB(G, R.fs.v * P[0]) : addSaturationToRGB(G, R.fs.v * P)), R.fb.propType && (G = P.length ? addBrightnessToRGB(G, R.fb.v * P[0]) : addBrightnessToRGB(G, R.fb.v * P)); } } for (B = 0; B < j; B += 1) (R = A[B].a).p.propType && ((P = A[B].s.getMult(I[i].anIndexes[B], x.a[B].s.totalChars)), this._hasMaskedPath ? P.length ? C.translate(0, R.p.v[1] * P[0], -R.p.v[2] * P[1]) : C.translate(0, R.p.v[1] * P, -R.p.v[2] * P) : P.length ? C.translate(R.p.v[0] * P[0], R.p.v[1] * P[1], -R.p.v[2] * P[2]) : C.translate(R.p.v[0] * P, R.p.v[1] * P, -R.p.v[2] * P)); if ( (e.strokeWidthAnim && (ie = z < 0 ? 0 : z), e.strokeColorAnim && (ee = "rgb(" + Math.round(255 * V[0]) + "," + Math.round(255 * V[1]) + "," + Math.round(255 * V[2]) + ")"), e.fillColorAnim && e.fc && (F = "rgb(" + Math.round(255 * G[0]) + "," + Math.round(255 * G[1]) + "," + Math.round(255 * G[2]) + ")"), this._hasMaskedPath) ) { if ((C.translate(0, -e.ls), C.translate(0, T[1] * W * 0.01 + n, 0), this._pathData.p.v)) { E = (l.point[1] - d.point[1]) / (l.point[0] - d.point[0]); var se = (180 * Math.atan(E)) / Math.PI; l.point[0] < d.point[0] && (se += 180), C.rotate((-se * Math.PI) / 180); } C.translate(q, w, 0), (o -= T[0] * I[i].an * 0.005), I[i + 1] && ne !== I[i + 1].ind && ((o += I[i].an / 2), (o += 0.001 * e.tr * e.finalSize)); } else { switch ((C.translate(r, n, 0), e.ps && C.translate(e.ps[0], e.ps[1] + e.ascent, 0), e.j)) { case 1: C.translate(I[i].animatorJustifyOffset + e.justifyOffset + (e.boxWidth - e.lineWidths[I[i].line]), 0, 0); break; case 2: C.translate(I[i].animatorJustifyOffset + e.justifyOffset + (e.boxWidth - e.lineWidths[I[i].line]) / 2, 0, 0); } C.translate(0, -e.ls), C.translate(N, 0, 0), C.translate(T[0] * I[i].an * 0.005, T[1] * W * 0.01, 0), (r += I[i].l + 0.001 * e.tr * e.finalSize); } k === "html" ? (M = C.toCSS()) : k === "svg" ? (M = C.to2dCSS()) : (H = [ C.props[0], C.props[1], C.props[2], C.props[3], C.props[4], C.props[5], C.props[6], C.props[7], C.props[8], C.props[9], C.props[10], C.props[11], C.props[12], C.props[13], C.props[14], C.props[15], ]), (J = S); } D <= i ? ((te = new LetterProps(J, ie, ee, F, M, H)), this.renderedLetters.push(te), (D += 1), (this.lettersChangedFlag = !0)) : ((te = this.renderedLetters[i]), (this.lettersChangedFlag = te.update(J, ie, ee, F, M, H) || this.lettersChangedFlag)); } } }), (TextAnimatorProperty.prototype.getValue = function () { this._elem.globalData.frameId !== this._frameId && ((this._frameId = this._elem.globalData.frameId), this.iterateDynamicProperties()); }), (TextAnimatorProperty.prototype.mHelper = new Matrix()), (TextAnimatorProperty.prototype.defaultPropsArray = []), extendPrototype([DynamicPropertyContainer], TextAnimatorProperty), (ITextElement.prototype.initElement = function (e, t, r) { (this.lettersChangedFlag = !0), this.initFrame(), this.initBaseData(e, t, r), (this.textProperty = new TextProperty(this, e.t, this.dynamicProperties)), (this.textAnimator = new TextAnimatorProperty(e.t, this.renderType, this)), this.initTransform(e, t, r), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(), this.textAnimator.searchProperties(this.dynamicProperties); }), (ITextElement.prototype.prepareFrame = function (e) { (this._mdf = !1), this.prepareRenderableFrame(e), this.prepareProperties(e, this.isInRange); }), (ITextElement.prototype.createPathShape = function (e, t) { var r, n, i = t.length, a = ""; for (r = 0; r < i; r += 1) t[r].ty === "sh" && ((n = t[r].ks.k), (a += buildShapeString(n, n.i.length, !0, e))); return a; }), (ITextElement.prototype.updateDocumentData = function (e, t) { this.textProperty.updateDocumentData(e, t); }), (ITextElement.prototype.canResizeFont = function (e) { this.textProperty.canResizeFont(e); }), (ITextElement.prototype.setMinimumFontSize = function (e) { this.textProperty.setMinimumFontSize(e); }), (ITextElement.prototype.applyTextPropertiesToMatrix = function (e, t, r, n, i) { switch ((e.ps && t.translate(e.ps[0], e.ps[1] + e.ascent, 0), t.translate(0, -e.ls, 0), e.j)) { case 1: t.translate(e.justifyOffset + (e.boxWidth - e.lineWidths[r]), 0, 0); break; case 2: t.translate(e.justifyOffset + (e.boxWidth - e.lineWidths[r]) / 2, 0, 0); } t.translate(n, i, 0); }), (ITextElement.prototype.buildColor = function (e) { return "rgb(" + Math.round(255 * e[0]) + "," + Math.round(255 * e[1]) + "," + Math.round(255 * e[2]) + ")"; }), (ITextElement.prototype.emptyProp = new LetterProps()), (ITextElement.prototype.destroy = function () { }), (ITextElement.prototype.validateText = function () { (this.textProperty._mdf || this.textProperty._isFirstFrame) && (this.buildNewText(), (this.textProperty._isFirstFrame = !1), (this.textProperty._mdf = !1)); }); var emptyShapeData = { shapes: [] }; function SVGTextLottieElement(e, t, r) { (this.textSpans = []), (this.renderType = "svg"), this.initElement(e, t, r); } function ISolidElement(e, t, r) { this.initElement(e, t, r); } function NullElement(e, t, r) { this.initFrame(), this.initBaseData(e, t, r), this.initFrame(), this.initTransform(e, t, r), this.initHierarchy(); } function SVGRendererBase() { } function ICompElement() { } function SVGCompElement(e, t, r) { (this.layers = e.layers), (this.supports3d = !0), (this.completeLayers = !1), (this.pendingElements = []), (this.elements = this.layers ? createSizedArray(this.layers.length) : []), this.initElement(e, t, r), (this.tm = e.tm ? PropertyFactory.getProp(this, e.tm, 0, t.frameRate, this) : { _placeholder: !0 }); } function SVGRenderer(e, t) { (this.animationItem = e), (this.layers = null), (this.renderedFrame = -1), (this.svgElement = createNS("svg")); var r = ""; if (t && t.title) { var n = createNS("title"), i = createElementID(); n.setAttribute("id", i), (n.textContent = t.title), this.svgElement.appendChild(n), (r += i); } if (t && t.description) { var a = createNS("desc"), s = createElementID(); a.setAttribute("id", s), (a.textContent = t.description), this.svgElement.appendChild(a), (r += " " + s); } r && this.svgElement.setAttribute("aria-labelledby", r); var o = createNS("defs"); this.svgElement.appendChild(o); var l = createNS("g"); this.svgElement.appendChild(l), (this.layerElement = l), (this.renderConfig = { preserveAspectRatio: (t && t.preserveAspectRatio) || "xMidYMid meet", imagePreserveAspectRatio: (t && t.imagePreserveAspectRatio) || "xMidYMid slice", contentVisibility: (t && t.contentVisibility) || "visible", progressiveLoad: (t && t.progressiveLoad) || !1, hideOnTransparent: !(t && t.hideOnTransparent === !1), viewBoxOnly: (t && t.viewBoxOnly) || !1, viewBoxSize: (t && t.viewBoxSize) || !1, className: (t && t.className) || "", id: (t && t.id) || "", focusable: t && t.focusable, filterSize: { width: (t && t.filterSize && t.filterSize.width) || "100%", height: (t && t.filterSize && t.filterSize.height) || "100%", x: (t && t.filterSize && t.filterSize.x) || "0%", y: (t && t.filterSize && t.filterSize.y) || "0%", }, width: t && t.width, height: t && t.height, runExpressions: !t || t.runExpressions === void 0 || t.runExpressions, }), (this.globalData = { _mdf: !1, frameNum: -1, defs: o, renderConfig: this.renderConfig }), (this.elements = []), (this.pendingElements = []), (this.destroyed = !1), (this.rendererType = "svg"); } function ShapeTransformManager() { (this.sequences = {}), (this.sequenceList = []), (this.transform_key_count = 0); } extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement), (SVGTextLottieElement.prototype.createContent = function () { this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = createNS("text")); }), (SVGTextLottieElement.prototype.buildTextContents = function (e) { for (var t = 0, r = e.length, n = [], i = ""; t < r;) e[t] === String.fromCharCode(13) || e[t] === String.fromCharCode(3) ? (n.push(i), (i = "")) : (i += e[t]), (t += 1); return n.push(i), n; }), (SVGTextLottieElement.prototype.buildShapeData = function (e, t) { if (e.shapes && e.shapes.length) { var r = e.shapes[0]; if (r.it) { var n = r.it[r.it.length - 1]; n.s && ((n.s.k[0] = t), (n.s.k[1] = t)); } } return e; }), (SVGTextLottieElement.prototype.buildNewText = function () { var e, t; this.addDynamicProperty(this); var r = this.textProperty.currentData; (this.renderedLetters = createSizedArray(r ? r.l.length : 0)), r.fc ? this.layerElement.setAttribute("fill", this.buildColor(r.fc)) : this.layerElement.setAttribute("fill", "rgba(0,0,0,0)"), r.sc && (this.layerElement.setAttribute("stroke", this.buildColor(r.sc)), this.layerElement.setAttribute("stroke-width", r.sw)), this.layerElement.setAttribute("font-size", r.finalSize); var n = this.globalData.fontManager.getFontByName(r.f); if (n.fClass) this.layerElement.setAttribute("class", n.fClass); else { this.layerElement.setAttribute("font-family", n.fFamily); var i = r.fWeight, a = r.fStyle; this.layerElement.setAttribute("font-style", a), this.layerElement.setAttribute("font-weight", i); } this.layerElement.setAttribute("aria-label", r.t); var s, o = r.l || [], l = !!this.globalData.fontManager.chars; t = o.length; var p = this.mHelper, c = this.data.singleShape, h = 0, g = 0, d = !0, f = 0.001 * r.tr * r.finalSize; if (!c || l || r.sz) { var m, u = this.textSpans.length; for (e = 0; e < t; e += 1) { if ((this.textSpans[e] || (this.textSpans[e] = { span: null, childSpan: null, glyph: null }), !l || !c || e === 0)) { if (((s = u > e ? this.textSpans[e].span : createNS(l ? "g" : "text")), u <= e)) { if ((s.setAttribute("stroke-linecap", "butt"), s.setAttribute("stroke-linejoin", "round"), s.setAttribute("stroke-miterlimit", "4"), (this.textSpans[e].span = s), l)) { var y = createNS("g"); s.appendChild(y), (this.textSpans[e].childSpan = y); } (this.textSpans[e].span = s), this.layerElement.appendChild(s); } s.style.display = "inherit"; } if ((p.reset(), c && (o[e].n && ((h = -f), (g += r.yOffset), (g += d ? 1 : 0), (d = !1)), this.applyTextPropertiesToMatrix(r, p, o[e].line, h, g), (h += o[e].l || 0), (h += f)), l)) { var v; if ((m = this.globalData.fontManager.getCharData(r.finalText[e], n.fStyle, this.globalData.fontManager.getFontByName(r.f).fFamily)).t === 1) v = new SVGCompElement(m.data, this.globalData, this); else { var E = emptyShapeData; m.data && m.data.shapes && (E = this.buildShapeData(m.data, r.finalSize)), (v = new SVGShapeElement(E, this.globalData, this)); } if (this.textSpans[e].glyph) { var b = this.textSpans[e].glyph; this.textSpans[e].childSpan.removeChild(b.layerElement), b.destroy(); } (this.textSpans[e].glyph = v), (v._debug = !0), v.prepareFrame(0), v.renderFrame(), this.textSpans[e].childSpan.appendChild(v.layerElement), m.t === 1 && this.textSpans[e].childSpan.setAttribute("transform", "scale(" + r.finalSize / 100 + "," + r.finalSize / 100 + ")"); } else c && s.setAttribute("transform", "translate(" + p.props[12] + "," + p.props[13] + ")"), (s.textContent = o[e].val), s.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"); } c && s && s.setAttribute("d", ""); } else { var T = this.textContainer, A = "start"; switch (r.j) { case 1: A = "end"; break; case 2: A = "middle"; break; default: A = "start"; } T.setAttribute("text-anchor", A), T.setAttribute("letter-spacing", f); var x = this.buildTextContents(r.finalText); for (t = x.length, g = r.ps ? r.ps[1] + r.ascent : 0, e = 0; e < t; e += 1) ((s = this.textSpans[e].span || createNS("tspan")).textContent = x[e]), s.setAttribute("x", 0), s.setAttribute("y", g), (s.style.display = "inherit"), T.appendChild(s), this.textSpans[e] || (this.textSpans[e] = { span: null, glyph: null }), (this.textSpans[e].span = s), (g += r.finalLineHeight); this.layerElement.appendChild(T); } for (; e < this.textSpans.length;) (this.textSpans[e].span.style.display = "none"), (e += 1); this._sizeChanged = !0; }), (SVGTextLottieElement.prototype.sourceRectAtTime = function () { if ((this.prepareFrame(this.comp.renderedFrame - this.data.st), this.renderInnerContent(), this._sizeChanged)) { this._sizeChanged = !1; var e = this.layerElement.getBBox(); this.bbox = { top: e.y, left: e.x, width: e.width, height: e.height }; } return this.bbox; }), (SVGTextLottieElement.prototype.getValue = function () { var e, t, r = this.textSpans.length; for (this.renderedFrame = this.comp.renderedFrame, e = 0; e < r; e += 1) (t = this.textSpans[e].glyph) && (t.prepareFrame(this.comp.renderedFrame - this.data.st), t._mdf && (this._mdf = !0)); }), (SVGTextLottieElement.prototype.renderInnerContent = function () { if ( (this.validateText(), (!this.data.singleShape || this._mdf) && (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) ) { var e, t; this._sizeChanged = !0; var r, n, i, a = this.textAnimator.renderedLetters, s = this.textProperty.currentData.l; for (t = s.length, e = 0; e < t; e += 1) s[e].n || ((r = a[e]), (n = this.textSpans[e].span), (i = this.textSpans[e].glyph) && i.renderFrame(), r._mdf.m && n.setAttribute("transform", r.m), r._mdf.o && n.setAttribute("opacity", r.o), r._mdf.sw && n.setAttribute("stroke-width", r.sw), r._mdf.sc && n.setAttribute("stroke", r.sc), r._mdf.fc && n.setAttribute("fill", r.fc)); } }), extendPrototype([IImageElement], ISolidElement), (ISolidElement.prototype.createContent = function () { var e = createNS("rect"); e.setAttribute("width", this.data.sw), e.setAttribute("height", this.data.sh), e.setAttribute("fill", this.data.sc), this.layerElement.appendChild(e); }), (NullElement.prototype.prepareFrame = function (e) { this.prepareProperties(e, !0); }), (NullElement.prototype.renderFrame = function () { }), (NullElement.prototype.getBaseElement = function () { return null; }), (NullElement.prototype.destroy = function () { }), (NullElement.prototype.sourceRectAtTime = function () { }), (NullElement.prototype.hide = function () { }), extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement), extendPrototype([BaseRenderer], SVGRendererBase), (SVGRendererBase.prototype.createNull = function (e) { return new NullElement(e, this.globalData, this); }), (SVGRendererBase.prototype.createShape = function (e) { return new SVGShapeElement(e, this.globalData, this); }), (SVGRendererBase.prototype.createText = function (e) { return new SVGTextLottieElement(e, this.globalData, this); }), (SVGRendererBase.prototype.createImage = function (e) { return new IImageElement(e, this.globalData, this); }), (SVGRendererBase.prototype.createSolid = function (e) { return new ISolidElement(e, this.globalData, this); }), (SVGRendererBase.prototype.configAnimation = function (e) { this.svgElement.setAttribute("xmlns", "http://www.w3.org/2000/svg"), this.svgElement.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), this.renderConfig.viewBoxSize ? this.svgElement.setAttribute("viewBox", this.renderConfig.viewBoxSize) : this.svgElement.setAttribute("viewBox", "0 0 " + e.w + " " + e.h), this.renderConfig.viewBoxOnly || (this.svgElement.setAttribute("width", e.w), this.svgElement.setAttribute("height", e.h), (this.svgElement.style.width = "100%"), (this.svgElement.style.height = "100%"), (this.svgElement.style.transform = "translate3d(0,0,0)"), (this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility)), this.renderConfig.width && this.svgElement.setAttribute("width", this.renderConfig.width), this.renderConfig.height && this.svgElement.setAttribute("height", this.renderConfig.height), this.renderConfig.className && this.svgElement.setAttribute("class", this.renderConfig.className), this.renderConfig.id && this.svgElement.setAttribute("id", this.renderConfig.id), this.renderConfig.focusable !== void 0 && this.svgElement.setAttribute("focusable", this.renderConfig.focusable), this.svgElement.setAttribute("preserveAspectRatio", this.renderConfig.preserveAspectRatio), this.animationItem.wrapper.appendChild(this.svgElement); var t = this.globalData.defs; this.setupGlobalData(e, t), (this.globalData.progressiveLoad = this.renderConfig.progressiveLoad), (this.data = e); var r = createNS("clipPath"), n = createNS("rect"); n.setAttribute("width", e.w), n.setAttribute("height", e.h), n.setAttribute("x", 0), n.setAttribute("y", 0); var i = createElementID(); r.setAttribute("id", i), r.appendChild(n), this.layerElement.setAttribute("clip-path", "url(" + getLocationHref() + "#" + i + ")"), t.appendChild(r), (this.layers = e.layers), (this.elements = createSizedArray(e.layers.length)); }), (SVGRendererBase.prototype.destroy = function () { var e; this.animationItem.wrapper && (this.animationItem.wrapper.innerText = ""), (this.layerElement = null), (this.globalData.defs = null); var t = this.layers ? this.layers.length : 0; for (e = 0; e < t; e += 1) this.elements[e] && this.elements[e].destroy && this.elements[e].destroy(); (this.elements.length = 0), (this.destroyed = !0), (this.animationItem = null); }), (SVGRendererBase.prototype.updateContainerSize = function () { }), (SVGRendererBase.prototype.findIndexByInd = function (e) { var t = 0, r = this.layers.length; for (t = 0; t < r; t += 1) if (this.layers[t].ind === e) return t; return -1; }), (SVGRendererBase.prototype.buildItem = function (e) { var t = this.elements; if (!t[e] && this.layers[e].ty !== 99) { t[e] = !0; var r = this.createItem(this.layers[e]); if (((t[e] = r), getExpressionsPlugin() && (this.layers[e].ty === 0 && this.globalData.projectInterface.registerComposition(r), r.initExpressions()), this.appendElementInPos(r, e), this.layers[e].tt)) { var n = "tp" in this.layers[e] ? this.findIndexByInd(this.layers[e].tp) : e - 1; if (n === -1) return; if (this.elements[n] && this.elements[n] !== !0) { var i = t[n].getMatte(this.layers[e].tt); r.setMatte(i); } else this.buildItem(n), this.addPendingElement(r); } } }), (SVGRendererBase.prototype.checkPendingElements = function () { for (; this.pendingElements.length;) { var e = this.pendingElements.pop(); if ((e.checkParenting(), e.data.tt)) for (var t = 0, r = this.elements.length; t < r;) { if (this.elements[t] === e) { var n = "tp" in e.data ? this.findIndexByInd(e.data.tp) : t - 1, i = this.elements[n].getMatte(this.layers[t].tt); e.setMatte(i); break; } t += 1; } } }), (SVGRendererBase.prototype.renderFrame = function (e) { if (this.renderedFrame !== e && !this.destroyed) { var t; e === null ? (e = this.renderedFrame) : (this.renderedFrame = e), (this.globalData.frameNum = e), (this.globalData.frameId += 1), (this.globalData.projectInterface.currentFrame = e), (this.globalData._mdf = !1); var r = this.layers.length; for (this.completeLayers || this.checkLayers(e), t = r - 1; t >= 0; t -= 1) (this.completeLayers || this.elements[t]) && this.elements[t].prepareFrame(e - this.layers[t].st); if (this.globalData._mdf) for (t = 0; t < r; t += 1) (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame(); } }), (SVGRendererBase.prototype.appendElementInPos = function (e, t) { var r = e.getBaseElement(); if (r) { for (var n, i = 0; i < t;) this.elements[i] && this.elements[i] !== !0 && this.elements[i].getBaseElement() && (n = this.elements[i].getBaseElement()), (i += 1); n ? this.layerElement.insertBefore(r, n) : this.layerElement.appendChild(r); } }), (SVGRendererBase.prototype.hide = function () { this.layerElement.style.display = "none"; }), (SVGRendererBase.prototype.show = function () { this.layerElement.style.display = "block"; }), extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement), (ICompElement.prototype.initElement = function (e, t, r) { this.initFrame(), this.initBaseData(e, t, r), this.initTransform(e, t, r), this.initRenderable(), this.initHierarchy(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), (!this.data.xt && t.progressiveLoad) || this.buildAllItems(), this.hide(); }), (ICompElement.prototype.prepareFrame = function (e) { if (((this._mdf = !1), this.prepareRenderableFrame(e), this.prepareProperties(e, this.isInRange), this.isInRange || this.data.xt)) { if (this.tm._placeholder) this.renderedFrame = e / this.data.sr; else { var t = this.tm.v; t === this.data.op && (t = this.data.op - 1), (this.renderedFrame = t); } var r, n = this.elements.length; for (this.completeLayers || this.checkLayers(this.renderedFrame), r = n - 1; r >= 0; r -= 1) (this.completeLayers || this.elements[r]) && (this.elements[r].prepareFrame(this.renderedFrame - this.layers[r].st), this.elements[r]._mdf && (this._mdf = !0)); } }), (ICompElement.prototype.renderInnerContent = function () { var e, t = this.layers.length; for (e = 0; e < t; e += 1) (this.completeLayers || this.elements[e]) && this.elements[e].renderFrame(); }), (ICompElement.prototype.setElements = function (e) { this.elements = e; }), (ICompElement.prototype.getElements = function () { return this.elements; }), (ICompElement.prototype.destroyElements = function () { var e, t = this.layers.length; for (e = 0; e < t; e += 1) this.elements[e] && this.elements[e].destroy(); }), (ICompElement.prototype.destroy = function () { this.destroyElements(), this.destroyBaseElement(); }), extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement), (SVGCompElement.prototype.createComp = function (e) { return new SVGCompElement(e, this.globalData, this); }), extendPrototype([SVGRendererBase], SVGRenderer), (SVGRenderer.prototype.createComp = function (e) { return new SVGCompElement(e, this.globalData, this); }), (ShapeTransformManager.prototype = { addTransformSequence: function (e) { var t, r = e.length, n = "_"; for (t = 0; t < r; t += 1) n += e[t].transform.key + "_"; var i = this.sequences[n]; return i || ((i = { transforms: [].concat(e), finalTransform: new Matrix(), _mdf: !1 }), (this.sequences[n] = i), this.sequenceList.push(i)), i; }, processSequence: function (e, t) { for (var r = 0, n = e.transforms.length, i = t; r < n && !t;) { if (e.transforms[r].transform.mProps._mdf) { i = !0; break; } r += 1; } if (i) for (e.finalTransform.reset(), r = n - 1; r >= 0; r -= 1) e.finalTransform.multiply(e.transforms[r].transform.mProps.v); e._mdf = i; }, processSequences: function (e) { var t, r = this.sequenceList.length; for (t = 0; t < r; t += 1) this.processSequence(this.sequenceList[t], e); }, getNewKey: function () { return (this.transform_key_count += 1), "_" + this.transform_key_count; }, }); var lumaLoader = function () { var e = "__lottie_element_luma_buffer", t = null, r = null, n = null; function i() { var a, s, o; t || ((a = createNS("svg")), (s = createNS("filter")), (o = createNS("feColorMatrix")), s.setAttribute("id", e), o.setAttribute("type", "matrix"), o.setAttribute("color-interpolation-filters", "sRGB"), o.setAttribute("values", "0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0"), s.appendChild(o), a.appendChild(s), a.setAttribute("id", e + "_svg"), featureSupport.svgLumaHidden && (a.style.display = "none"), (n = a), document.body.appendChild(n), (t = createTag("canvas")), ((r = t.getContext("2d")).filter = "url(#" + e + ")"), (r.fillStyle = "rgba(0,0,0,0)"), r.fillRect(0, 0, 1, 1)); } return { load: i, get: function (a) { return t || i(), (t.width = a.width), (t.height = a.height), (r.filter = "url(#" + e + ")"), t; }, }; }; function createCanvas(e, t) { if (featureSupport.offscreenCanvas) return new OffscreenCanvas(e, t); var r = createTag("canvas"); return (r.width = e), (r.height = t), r; } var assetLoader = { loadLumaCanvas: lumaLoader.load, getLumaCanvas: lumaLoader.get, createCanvas }, registeredEffects = {}; function CVEffects(e) { var t, r, n = e.data.ef ? e.data.ef.length : 0; for (this.filters = [], t = 0; t < n; t += 1) { r = null; var i = e.data.ef[t].ty; registeredEffects[i] && (r = new registeredEffects[i].effect(e.effectsManager.effectElements[t], e)), r && this.filters.push(r); } this.filters.length && e.addRenderableComponent(this); } function registerEffect(e, t) { registeredEffects[e] = { effect: t }; } function CVMaskElement(e, t) { var r; (this.data = e), (this.element = t), (this.masksProperties = this.data.masksProperties || []), (this.viewData = createSizedArray(this.masksProperties.length)); var n = this.masksProperties.length, i = !1; for (r = 0; r < n; r += 1) this.masksProperties[r].mode !== "n" && (i = !0), (this.viewData[r] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[r], 3)); (this.hasMasks = i), i && this.element.addRenderableComponent(this); } function CVBaseElement() { } (CVEffects.prototype.renderFrame = function (e) { var t, r = this.filters.length; for (t = 0; t < r; t += 1) this.filters[t].renderFrame(e); }), (CVEffects.prototype.getEffects = function (e) { var t, r = this.filters.length, n = []; for (t = 0; t < r; t += 1) this.filters[t].type === e && n.push(this.filters[t]); return n; }), (CVMaskElement.prototype.renderFrame = function () { if (this.hasMasks) { var e, t, r, n, i = this.element.finalTransform.mat, a = this.element.canvasContext, s = this.masksProperties.length; for (a.beginPath(), e = 0; e < s; e += 1) if (this.masksProperties[e].mode !== "n") { var o; this.masksProperties[e].inv && (a.moveTo(0, 0), a.lineTo(this.element.globalData.compSize.w, 0), a.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h), a.lineTo(0, this.element.globalData.compSize.h), a.lineTo(0, 0)), (n = this.viewData[e].v), (t = i.applyToPointArray(n.v[0][0], n.v[0][1], 0)), a.moveTo(t[0], t[1]); var l = n._length; for (o = 1; o < l; o += 1) (r = i.applyToTriplePoints(n.o[o - 1], n.i[o], n.v[o])), a.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5]); (r = i.applyToTriplePoints(n.o[o - 1], n.i[0], n.v[0])), a.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5]); } this.element.globalData.renderer.save(!0), a.clip(); } }), (CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty), (CVMaskElement.prototype.destroy = function () { this.element = null; }); var operationsMap = { 1: "source-in", 2: "source-out", 3: "source-in", 4: "source-out" }; function CVShapeData(e, t, r, n) { (this.styledShapes = []), (this.tr = [0, 0, 0, 0, 0, 0]); var i, a = 4; t.ty === "rc" ? (a = 5) : t.ty === "el" ? (a = 6) : t.ty === "sr" && (a = 7), (this.sh = ShapePropertyFactory.getShapeProp(e, t, a, e)); var s, o = r.length; for (i = 0; i < o; i += 1) r[i].closed || ((s = { transforms: n.addTransformSequence(r[i].transforms), trNodes: [] }), this.styledShapes.push(s), r[i].elements.push(s)); } function CVShapeElement(e, t, r) { (this.shapes = []), (this.shapesData = e.shapes), (this.stylesList = []), (this.itemsData = []), (this.prevViewData = []), (this.shapeModifiers = []), (this.processedElements = []), (this.transformsManager = new ShapeTransformManager()), this.initElement(e, t, r); } function CVTextElement(e, t, r) { (this.textSpans = []), (this.yOffset = 0), (this.fillColorAnim = !1), (this.strokeColorAnim = !1), (this.strokeWidthAnim = !1), (this.stroke = !1), (this.fill = !1), (this.justifyOffset = 0), (this.currentRender = null), (this.renderType = "canvas"), (this.values = { fill: "rgba(0,0,0,0)", stroke: "rgba(0,0,0,0)", sWidth: 0, fValue: "" }), this.initElement(e, t, r); } function CVImageElement(e, t, r) { (this.assetData = t.getAssetData(e.refId)), (this.img = t.imageLoader.getAsset(this.assetData)), this.initElement(e, t, r); } function CVSolidElement(e, t, r) { this.initElement(e, t, r); } function CanvasRendererBase() { } function CanvasContext() { (this.opacity = -1), (this.transform = createTypedArray("float32", 16)), (this.fillStyle = ""), (this.strokeStyle = ""), (this.lineWidth = ""), (this.lineCap = ""), (this.lineJoin = ""), (this.miterLimit = ""), (this.id = Math.random()); } function CVContextData() { var e; for (this.stack = [], this.cArrPos = 0, this.cTr = new Matrix(), e = 0; e < 15; e += 1) { var t = new CanvasContext(); this.stack[e] = t; } (this._length = 15), (this.nativeContext = null), (this.transformMat = new Matrix()), (this.currentOpacity = 1), (this.currentFillStyle = ""), (this.appliedFillStyle = ""), (this.currentStrokeStyle = ""), (this.appliedStrokeStyle = ""), (this.currentLineWidth = ""), (this.appliedLineWidth = ""), (this.currentLineCap = ""), (this.appliedLineCap = ""), (this.currentLineJoin = ""), (this.appliedLineJoin = ""), (this.appliedMiterLimit = ""), (this.currentMiterLimit = ""); } function CVCompElement(e, t, r) { (this.completeLayers = !1), (this.layers = e.layers), (this.pendingElements = []), (this.elements = createSizedArray(this.layers.length)), this.initElement(e, t, r), (this.tm = e.tm ? PropertyFactory.getProp(this, e.tm, 0, t.frameRate, this) : { _placeholder: !0 }); } function CanvasRenderer(e, t) { (this.animationItem = e), (this.renderConfig = { clearCanvas: !t || t.clearCanvas === void 0 || t.clearCanvas, context: (t && t.context) || null, progressiveLoad: (t && t.progressiveLoad) || !1, preserveAspectRatio: (t && t.preserveAspectRatio) || "xMidYMid meet", imagePreserveAspectRatio: (t && t.imagePreserveAspectRatio) || "xMidYMid slice", contentVisibility: (t && t.contentVisibility) || "visible", className: (t && t.className) || "", id: (t && t.id) || "", runExpressions: !t || t.runExpressions === void 0 || t.runExpressions, }), (this.renderConfig.dpr = (t && t.dpr) || 1), this.animationItem.wrapper && (this.renderConfig.dpr = (t && t.dpr) || window.devicePixelRatio || 1), (this.renderedFrame = -1), (this.globalData = { frameNum: -1, _mdf: !1, renderConfig: this.renderConfig, currentGlobalAlpha: -1 }), (this.contextData = new CVContextData()), (this.elements = []), (this.pendingElements = []), (this.transformMat = new Matrix()), (this.completeLayers = !1), (this.rendererType = "canvas"), this.renderConfig.clearCanvas && ((this.ctxTransform = this.contextData.transform.bind(this.contextData)), (this.ctxOpacity = this.contextData.opacity.bind(this.contextData)), (this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData)), (this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData)), (this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData)), (this.ctxLineCap = this.contextData.lineCap.bind(this.contextData)), (this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData)), (this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData)), (this.ctxFill = this.contextData.fill.bind(this.contextData)), (this.ctxFillRect = this.contextData.fillRect.bind(this.contextData)), (this.ctxStroke = this.contextData.stroke.bind(this.contextData)), (this.save = this.contextData.save.bind(this.contextData))); } function HBaseElement() { } function HSolidElement(e, t, r) { this.initElement(e, t, r); } function HShapeElement(e, t, r) { (this.shapes = []), (this.shapesData = e.shapes), (this.stylesList = []), (this.shapeModifiers = []), (this.itemsData = []), (this.processedElements = []), (this.animatedContents = []), (this.shapesContainer = createNS("g")), this.initElement(e, t, r), (this.prevViewData = []), (this.currentBBox = { x: 999999, y: -999999, h: 0, w: 0 }); } function HTextElement(e, t, r) { (this.textSpans = []), (this.textPaths = []), (this.currentBBox = { x: 999999, y: -999999, h: 0, w: 0 }), (this.renderType = "svg"), (this.isMasked = !1), this.initElement(e, t, r); } function HCameraElement(e, t, r) { this.initFrame(), this.initBaseData(e, t, r), this.initHierarchy(); var n = PropertyFactory.getProp; if ( ((this.pe = n(this, e.pe, 0, 0, this)), e.ks.p.s ? ((this.px = n(this, e.ks.p.x, 1, 0, this)), (this.py = n(this, e.ks.p.y, 1, 0, this)), (this.pz = n(this, e.ks.p.z, 1, 0, this))) : (this.p = n(this, e.ks.p, 1, 0, this)), e.ks.a && (this.a = n(this, e.ks.a, 1, 0, this)), e.ks.or.k.length && e.ks.or.k[0].to) ) { var i, a = e.ks.or.k.length; for (i = 0; i < a; i += 1) (e.ks.or.k[i].to = null), (e.ks.or.k[i].ti = null); } (this.or = n(this, e.ks.or, 1, degToRads, this)), (this.or.sh = !0), (this.rx = n(this, e.ks.rx, 0, degToRads, this)), (this.ry = n(this, e.ks.ry, 0, degToRads, this)), (this.rz = n(this, e.ks.rz, 0, degToRads, this)), (this.mat = new Matrix()), (this._prevMat = new Matrix()), (this._isFirstFrame = !0), (this.finalTransform = { mProp: this }); } function HImageElement(e, t, r) { (this.assetData = t.getAssetData(e.refId)), this.initElement(e, t, r); } function HybridRendererBase(e, t) { (this.animationItem = e), (this.layers = null), (this.renderedFrame = -1), (this.renderConfig = { className: (t && t.className) || "", imagePreserveAspectRatio: (t && t.imagePreserveAspectRatio) || "xMidYMid slice", hideOnTransparent: !(t && t.hideOnTransparent === !1), filterSize: { width: (t && t.filterSize && t.filterSize.width) || "400%", height: (t && t.filterSize && t.filterSize.height) || "400%", x: (t && t.filterSize && t.filterSize.x) || "-100%", y: (t && t.filterSize && t.filterSize.y) || "-100%", }, }), (this.globalData = { _mdf: !1, frameNum: -1, renderConfig: this.renderConfig }), (this.pendingElements = []), (this.elements = []), (this.threeDElements = []), (this.destroyed = !1), (this.camera = null), (this.supports3d = !0), (this.rendererType = "html"); } function HCompElement(e, t, r) { (this.layers = e.layers), (this.supports3d = !e.hasMask), (this.completeLayers = !1), (this.pendingElements = []), (this.elements = this.layers ? createSizedArray(this.layers.length) : []), this.initElement(e, t, r), (this.tm = e.tm ? PropertyFactory.getProp(this, e.tm, 0, t.frameRate, this) : { _placeholder: !0 }); } function HybridRenderer(e, t) { (this.animationItem = e), (this.layers = null), (this.renderedFrame = -1), (this.renderConfig = { className: (t && t.className) || "", imagePreserveAspectRatio: (t && t.imagePreserveAspectRatio) || "xMidYMid slice", hideOnTransparent: !(t && t.hideOnTransparent === !1), filterSize: { width: (t && t.filterSize && t.filterSize.width) || "400%", height: (t && t.filterSize && t.filterSize.height) || "400%", x: (t && t.filterSize && t.filterSize.x) || "-100%", y: (t && t.filterSize && t.filterSize.y) || "-100%", }, runExpressions: !t || t.runExpressions === void 0 || t.runExpressions, }), (this.globalData = { _mdf: !1, frameNum: -1, renderConfig: this.renderConfig }), (this.pendingElements = []), (this.elements = []), (this.threeDElements = []), (this.destroyed = !1), (this.camera = null), (this.supports3d = !0), (this.rendererType = "html"); } (CVBaseElement.prototype = { createElements: function () { }, initRendererElement: function () { }, createContainerElements: function () { if (this.data.tt >= 1) { this.buffers = []; var e = this.globalData.canvasContext, t = assetLoader.createCanvas(e.canvas.width, e.canvas.height); this.buffers.push(t); var r = assetLoader.createCanvas(e.canvas.width, e.canvas.height); this.buffers.push(r), this.data.tt >= 3 && !document._isProxy && assetLoader.loadLumaCanvas(); } (this.canvasContext = this.globalData.canvasContext), (this.transformCanvas = this.globalData.transformCanvas), (this.renderableEffectsManager = new CVEffects(this)), this.searchEffectTransforms(); }, createContent: function () { }, setBlendMode: function () { var e = this.globalData; if (e.blendMode !== this.data.bm) { e.blendMode = this.data.bm; var t = getBlendMode(this.data.bm); e.canvasContext.globalCompositeOperation = t; } }, createRenderableComponents: function () { (this.maskManager = new CVMaskElement(this.data, this)), (this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)); }, hideElement: function () { this.hidden || (this.isInRange && !this.isTransparent) || (this.hidden = !0); }, showElement: function () { this.isInRange && !this.isTransparent && ((this.hidden = !1), (this._isFirstFrame = !0), (this.maskManager._isFirstFrame = !0)); }, clearCanvas: function (e) { e.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy); }, prepareLayer: function () { if (this.data.tt >= 1) { var e = this.buffers[0].getContext("2d"); this.clearCanvas(e), e.drawImage(this.canvasContext.canvas, 0, 0), (this.currentTransform = this.canvasContext.getTransform()), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.setTransform(this.currentTransform); } }, exitLayer: function () { if (this.data.tt >= 1) { var e = this.buffers[1], t = e.getContext("2d"); if ( (this.clearCanvas(t), t.drawImage(this.canvasContext.canvas, 0, 0), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.setTransform(this.currentTransform), this.comp.getElementById("tp" in this.data ? this.data.tp : this.data.ind - 1).renderFrame(!0), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.data.tt >= 3 && !document._isProxy) ) { var r = assetLoader.getLumaCanvas(this.canvasContext.canvas); r.getContext("2d").drawImage(this.canvasContext.canvas, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.drawImage(r, 0, 0); } (this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt]), this.canvasContext.drawImage(e, 0, 0), (this.canvasContext.globalCompositeOperation = "destination-over"), this.canvasContext.drawImage(this.buffers[0], 0, 0), this.canvasContext.setTransform(this.currentTransform), (this.canvasContext.globalCompositeOperation = "source-over"); } }, renderFrame: function (e) { if (!this.hidden && !this.data.hd && (this.data.td !== 1 || e)) { this.renderTransform(), this.renderRenderable(), this.renderLocalTransform(), this.setBlendMode(); var t = this.data.ty === 0; this.prepareLayer(), this.globalData.renderer.save(t), this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props), this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity), this.renderInnerContent(), this.globalData.renderer.restore(t), this.exitLayer(), this.maskManager.hasMasks && this.globalData.renderer.restore(!0), this._isFirstFrame && (this._isFirstFrame = !1); } }, destroy: function () { (this.canvasContext = null), (this.data = null), (this.globalData = null), this.maskManager.destroy(); }, mHelper: new Matrix(), }), (CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement), (CVBaseElement.prototype.show = CVBaseElement.prototype.showElement), (CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated), extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement), (CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement), (CVShapeElement.prototype.transformHelper = { opacity: 1, _opMdf: !1 }), (CVShapeElement.prototype.dashResetter = []), (CVShapeElement.prototype.createContent = function () { this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []); }), (CVShapeElement.prototype.createStyleElement = function (e, t) { var r = { data: e, type: e.ty, preTransforms: this.transformsManager.addTransformSequence(t), transforms: [], elements: [], closed: e.hd === !0 }, n = {}; if ( (e.ty === "fl" || e.ty === "st" ? ((n.c = PropertyFactory.getProp(this, e.c, 1, 255, this)), n.c.k || (r.co = "rgb(" + bmFloor(n.c.v[0]) + "," + bmFloor(n.c.v[1]) + "," + bmFloor(n.c.v[2]) + ")")) : (e.ty !== "gf" && e.ty !== "gs") || ((n.s = PropertyFactory.getProp(this, e.s, 1, null, this)), (n.e = PropertyFactory.getProp(this, e.e, 1, null, this)), (n.h = PropertyFactory.getProp(this, e.h || { k: 0 }, 0, 0.01, this)), (n.a = PropertyFactory.getProp(this, e.a || { k: 0 }, 0, degToRads, this)), (n.g = new GradientProperty(this, e.g, this))), (n.o = PropertyFactory.getProp(this, e.o, 0, 0.01, this)), e.ty === "st" || e.ty === "gs") ) { if (((r.lc = lineCapEnum[e.lc || 2]), (r.lj = lineJoinEnum[e.lj || 2]), e.lj == 1 && (r.ml = e.ml), (n.w = PropertyFactory.getProp(this, e.w, 0, null, this)), n.w.k || (r.wi = n.w.v), e.d)) { var i = new DashProperty(this, e.d, "canvas", this); (n.d = i), n.d.k || ((r.da = n.d.dashArray), (r.do = n.d.dashoffset[0])); } } else r.r = e.r === 2 ? "evenodd" : "nonzero"; return this.stylesList.push(r), (n.style = r), n; }), (CVShapeElement.prototype.createGroupElement = function () { return { it: [], prevViewData: [] }; }), (CVShapeElement.prototype.createTransformElement = function (e) { return { transform: { opacity: 1, _opMdf: !1, key: this.transformsManager.getNewKey(), op: PropertyFactory.getProp(this, e.o, 0, 0.01, this), mProps: TransformPropertyFactory.getTransformProperty(this, e, this) } }; }), (CVShapeElement.prototype.createShapeElement = function (e) { var t = new CVShapeData(this, e, this.stylesList, this.transformsManager); return this.shapes.push(t), this.addShapeToModifiers(t), t; }), (CVShapeElement.prototype.reloadShapes = function () { var e; this._isFirstFrame = !0; var t = this.itemsData.length; for (e = 0; e < t; e += 1) this.prevViewData[e] = this.itemsData[e]; for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []), t = this.dynamicProperties.length, e = 0; e < t; e += 1) this.dynamicProperties[e].getValue(); this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame); }), (CVShapeElement.prototype.addTransformToStyleList = function (e) { var t, r = this.stylesList.length; for (t = 0; t < r; t += 1) this.stylesList[t].closed || this.stylesList[t].transforms.push(e); }), (CVShapeElement.prototype.removeTransformFromStyleList = function () { var e, t = this.stylesList.length; for (e = 0; e < t; e += 1) this.stylesList[e].closed || this.stylesList[e].transforms.pop(); }), (CVShapeElement.prototype.closeStyles = function (e) { var t, r = e.length; for (t = 0; t < r; t += 1) e[t].closed = !0; }), (CVShapeElement.prototype.searchShapes = function (e, t, r, n, i) { var a, s, o, l, p, c, h = e.length - 1, g = [], d = [], f = [].concat(i); for (a = h; a >= 0; a -= 1) { if (((l = this.searchProcessedElement(e[a])) ? (t[a] = r[l - 1]) : (e[a]._shouldRender = n), e[a].ty === "fl" || e[a].ty === "st" || e[a].ty === "gf" || e[a].ty === "gs")) l ? (t[a].style.closed = !1) : (t[a] = this.createStyleElement(e[a], f)), g.push(t[a].style); else if (e[a].ty === "gr") { if (l) for (o = t[a].it.length, s = 0; s < o; s += 1) t[a].prevViewData[s] = t[a].it[s]; else t[a] = this.createGroupElement(e[a]); this.searchShapes(e[a].it, t[a].it, t[a].prevViewData, n, f); } else e[a].ty === "tr" ? (l || ((c = this.createTransformElement(e[a])), (t[a] = c)), f.push(t[a]), this.addTransformToStyleList(t[a])) : e[a].ty === "sh" || e[a].ty === "rc" || e[a].ty === "el" || e[a].ty === "sr" ? l || (t[a] = this.createShapeElement(e[a])) : e[a].ty === "tm" || e[a].ty === "rd" || e[a].ty === "pb" || e[a].ty === "zz" || e[a].ty === "op" ? (l ? ((p = t[a]).closed = !1) : ((p = ShapeModifiers.getModifier(e[a].ty)).init(this, e[a]), (t[a] = p), this.shapeModifiers.push(p)), d.push(p)) : e[a].ty === "rp" && (l ? ((p = t[a]).closed = !0) : ((p = ShapeModifiers.getModifier(e[a].ty)), (t[a] = p), p.init(this, e, a, t), this.shapeModifiers.push(p), (n = !1)), d.push(p)); this.addProcessedElement(e[a], a + 1); } for (this.removeTransformFromStyleList(), this.closeStyles(g), h = d.length, a = 0; a < h; a += 1) d[a].closed = !0; }), (CVShapeElement.prototype.renderInnerContent = function () { (this.transformHelper.opacity = 1), (this.transformHelper._opMdf = !1), this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame), this.renderShape(this.transformHelper, this.shapesData, this.itemsData, !0); }), (CVShapeElement.prototype.renderShapeTransform = function (e, t) { (e._opMdf || t.op._mdf || this._isFirstFrame) && ((t.opacity = e.opacity), (t.opacity *= t.op.v), (t._opMdf = !0)); }), (CVShapeElement.prototype.drawLayer = function () { var e, t, r, n, i, a, s, o, l, p = this.stylesList.length, c = this.globalData.renderer, h = this.globalData.canvasContext; for (e = 0; e < p; e += 1) if ((((o = (l = this.stylesList[e]).type) !== "st" && o !== "gs") || l.wi !== 0) && l.data._shouldRender && l.coOp !== 0 && this.globalData.currentGlobalAlpha !== 0) { for ( c.save(), a = l.elements, o === "st" || o === "gs" ? (c.ctxStrokeStyle(o === "st" ? l.co : l.grd), c.ctxLineWidth(l.wi), c.ctxLineCap(l.lc), c.ctxLineJoin(l.lj), c.ctxMiterLimit(l.ml || 0)) : c.ctxFillStyle(o === "fl" ? l.co : l.grd), c.ctxOpacity(l.coOp), o !== "st" && o !== "gs" && h.beginPath(), c.ctxTransform(l.preTransforms.finalTransform.props), r = a.length, t = 0; t < r; t += 1 ) { for ((o !== "st" && o !== "gs") || (h.beginPath(), l.da && (h.setLineDash(l.da), (h.lineDashOffset = l.do))), i = (s = a[t].trNodes).length, n = 0; n < i; n += 1) s[n].t === "m" ? h.moveTo(s[n].p[0], s[n].p[1]) : s[n].t === "c" ? h.bezierCurveTo(s[n].pts[0], s[n].pts[1], s[n].pts[2], s[n].pts[3], s[n].pts[4], s[n].pts[5]) : h.closePath(); (o !== "st" && o !== "gs") || (c.ctxStroke(), l.da && h.setLineDash(this.dashResetter)); } o !== "st" && o !== "gs" && this.globalData.renderer.ctxFill(l.r), c.restore(); } }), (CVShapeElement.prototype.renderShape = function (e, t, r, n) { var i, a; for (a = e, i = t.length - 1; i >= 0; i -= 1) t[i].ty === "tr" ? ((a = r[i].transform), this.renderShapeTransform(e, a)) : t[i].ty === "sh" || t[i].ty === "el" || t[i].ty === "rc" || t[i].ty === "sr" ? this.renderPath(t[i], r[i]) : t[i].ty === "fl" ? this.renderFill(t[i], r[i], a) : t[i].ty === "st" ? this.renderStroke(t[i], r[i], a) : t[i].ty === "gf" || t[i].ty === "gs" ? this.renderGradientFill(t[i], r[i], a) : t[i].ty === "gr" ? this.renderShape(a, t[i].it, r[i].it) : t[i].ty; n && this.drawLayer(); }), (CVShapeElement.prototype.renderStyledShape = function (e, t) { if (this._isFirstFrame || t._mdf || e.transforms._mdf) { var r, n, i, a = e.trNodes, s = t.paths, o = s._length; a.length = 0; var l = e.transforms.finalTransform; for (i = 0; i < o; i += 1) { var p = s.shapes[i]; if (p && p.v) { for (n = p._length, r = 1; r < n; r += 1) r === 1 && a.push({ t: "m", p: l.applyToPointArray(p.v[0][0], p.v[0][1], 0) }), a.push({ t: "c", pts: l.applyToTriplePoints(p.o[r - 1], p.i[r], p.v[r]) }); n === 1 && a.push({ t: "m", p: l.applyToPointArray(p.v[0][0], p.v[0][1], 0) }), p.c && n && (a.push({ t: "c", pts: l.applyToTriplePoints(p.o[r - 1], p.i[0], p.v[0]) }), a.push({ t: "z" })); } } e.trNodes = a; } }), (CVShapeElement.prototype.renderPath = function (e, t) { if (e.hd !== !0 && e._shouldRender) { var r, n = t.styledShapes.length; for (r = 0; r < n; r += 1) this.renderStyledShape(t.styledShapes[r], t.sh); } }), (CVShapeElement.prototype.renderFill = function (e, t, r) { var n = t.style; (t.c._mdf || this._isFirstFrame) && (n.co = "rgb(" + bmFloor(t.c.v[0]) + "," + bmFloor(t.c.v[1]) + "," + bmFloor(t.c.v[2]) + ")"), (t.o._mdf || r._opMdf || this._isFirstFrame) && (n.coOp = t.o.v * r.opacity); }), (CVShapeElement.prototype.renderGradientFill = function (e, t, r) { var n, i = t.style; if (!i.grd || t.g._mdf || t.s._mdf || t.e._mdf || (e.t !== 1 && (t.h._mdf || t.a._mdf))) { var a, s = this.globalData.canvasContext, o = t.s.v, l = t.e.v; if (e.t === 1) n = s.createLinearGradient(o[0], o[1], l[0], l[1]); else { var p = Math.sqrt(Math.pow(o[0] - l[0], 2) + Math.pow(o[1] - l[1], 2)), c = Math.atan2(l[1] - o[1], l[0] - o[0]), h = t.h.v; h >= 1 ? (h = 0.99) : h <= -1 && (h = -0.99); var g = p * h, d = Math.cos(c + t.a.v) * g + o[0], f = Math.sin(c + t.a.v) * g + o[1]; n = s.createRadialGradient(d, f, 0, o[0], o[1], p); } var m = e.g.p, u = t.g.c, y = 1; for (a = 0; a < m; a += 1) t.g._hasOpacity && t.g._collapsable && (y = t.g.o[2 * a + 1]), n.addColorStop(u[4 * a] / 100, "rgba(" + u[4 * a + 1] + "," + u[4 * a + 2] + "," + u[4 * a + 3] + "," + y + ")"); i.grd = n; } i.coOp = t.o.v * r.opacity; }), (CVShapeElement.prototype.renderStroke = function (e, t, r) { var n = t.style, i = t.d; i && (i._mdf || this._isFirstFrame) && ((n.da = i.dashArray), (n.do = i.dashoffset[0])), (t.c._mdf || this._isFirstFrame) && (n.co = "rgb(" + bmFloor(t.c.v[0]) + "," + bmFloor(t.c.v[1]) + "," + bmFloor(t.c.v[2]) + ")"), (t.o._mdf || r._opMdf || this._isFirstFrame) && (n.coOp = t.o.v * r.opacity), (t.w._mdf || this._isFirstFrame) && (n.wi = t.w.v); }), (CVShapeElement.prototype.destroy = function () { (this.shapesData = null), (this.globalData = null), (this.canvasContext = null), (this.stylesList.length = 0), (this.itemsData.length = 0); }), extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement), (CVTextElement.prototype.tHelper = createTag("canvas").getContext("2d")), (CVTextElement.prototype.buildNewText = function () { var e = this.textProperty.currentData; this.renderedLetters = createSizedArray(e.l ? e.l.length : 0); var t = !1; e.fc ? ((t = !0), (this.values.fill = this.buildColor(e.fc))) : (this.values.fill = "rgba(0,0,0,0)"), (this.fill = t); var r = !1; e.sc && ((r = !0), (this.values.stroke = this.buildColor(e.sc)), (this.values.sWidth = e.sw)); var n, i, a, s, o, l, p, c, h, g, d, f, m = this.globalData.fontManager.getFontByName(e.f), u = e.l, y = this.mHelper; (this.stroke = r), (this.values.fValue = e.finalSize + "px " + this.globalData.fontManager.getFontByName(e.f).fFamily), (i = e.finalText.length); var v = this.data.singleShape, E = 0.001 * e.tr * e.finalSize, b = 0, T = 0, A = !0, x = 0; for (n = 0; n < i; n += 1) { (s = ((a = this.globalData.fontManager.getCharData(e.finalText[n], m.fStyle, this.globalData.fontManager.getFontByName(e.f).fFamily)) && a.data) || {}), y.reset(), v && u[n].n && ((b = -E), (T += e.yOffset), (T += A ? 1 : 0), (A = !1)), (h = (p = s.shapes ? s.shapes[0].it : []).length), y.scale(e.finalSize / 100, e.finalSize / 100), v && this.applyTextPropertiesToMatrix(e, y, u[n].line, b, T), (d = createSizedArray(h - 1)); var C = 0; for (c = 0; c < h; c += 1) if (p[c].ty === "sh") { for (l = p[c].ks.k.i.length, g = p[c].ks.k, f = [], o = 1; o < l; o += 1) o === 1 && f.push(y.applyToX(g.v[0][0], g.v[0][1], 0), y.applyToY(g.v[0][0], g.v[0][1], 0)), f.push( y.applyToX(g.o[o - 1][0], g.o[o - 1][1], 0), y.applyToY(g.o[o - 1][0], g.o[o - 1][1], 0), y.applyToX(g.i[o][0], g.i[o][1], 0), y.applyToY(g.i[o][0], g.i[o][1], 0), y.applyToX(g.v[o][0], g.v[o][1], 0), y.applyToY(g.v[o][0], g.v[o][1], 0) ); f.push( y.applyToX(g.o[o - 1][0], g.o[o - 1][1], 0), y.applyToY(g.o[o - 1][0], g.o[o - 1][1], 0), y.applyToX(g.i[0][0], g.i[0][1], 0), y.applyToY(g.i[0][0], g.i[0][1], 0), y.applyToX(g.v[0][0], g.v[0][1], 0), y.applyToY(g.v[0][0], g.v[0][1], 0) ), (d[C] = f), (C += 1); } v && ((b += u[n].l), (b += E)), this.textSpans[x] ? (this.textSpans[x].elem = d) : (this.textSpans[x] = { elem: d }), (x += 1); } }), (CVTextElement.prototype.renderInnerContent = function () { var e, t, r, n, i, a; this.validateText(), (this.canvasContext.font = this.values.fValue), this.globalData.renderer.ctxLineCap("butt"), this.globalData.renderer.ctxLineJoin("miter"), this.globalData.renderer.ctxMiterLimit(4), this.data.singleShape || this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag); var s, o = this.textAnimator.renderedLetters, l = this.textProperty.currentData.l; t = l.length; var p, c, h = null, g = null, d = null, f = this.globalData.renderer; for (e = 0; e < t; e += 1) if (!l[e].n) { if (((s = o[e]) && (f.save(), f.ctxTransform(s.p), f.ctxOpacity(s.o)), this.fill)) { for ( s && s.fc ? h !== s.fc && (f.ctxFillStyle(s.fc), (h = s.fc)) : h !== this.values.fill && ((h = this.values.fill), f.ctxFillStyle(this.values.fill)), n = (p = this.textSpans[e].elem).length, this.globalData.canvasContext.beginPath(), r = 0; r < n; r += 1 ) for (a = (c = p[r]).length, this.globalData.canvasContext.moveTo(c[0], c[1]), i = 2; i < a; i += 6) this.globalData.canvasContext.bezierCurveTo(c[i], c[i + 1], c[i + 2], c[i + 3], c[i + 4], c[i + 5]); this.globalData.canvasContext.closePath(), f.ctxFill(); } if (this.stroke) { for ( s && s.sw ? d !== s.sw && ((d = s.sw), f.ctxLineWidth(s.sw)) : d !== this.values.sWidth && ((d = this.values.sWidth), f.ctxLineWidth(this.values.sWidth)), s && s.sc ? g !== s.sc && ((g = s.sc), f.ctxStrokeStyle(s.sc)) : g !== this.values.stroke && ((g = this.values.stroke), f.ctxStrokeStyle(this.values.stroke)), n = (p = this.textSpans[e].elem).length, this.globalData.canvasContext.beginPath(), r = 0; r < n; r += 1 ) for (a = (c = p[r]).length, this.globalData.canvasContext.moveTo(c[0], c[1]), i = 2; i < a; i += 6) this.globalData.canvasContext.bezierCurveTo(c[i], c[i + 1], c[i + 2], c[i + 3], c[i + 4], c[i + 5]); this.globalData.canvasContext.closePath(), f.ctxStroke(); } s && this.globalData.renderer.restore(); } }), extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement), (CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement), (CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame), (CVImageElement.prototype.createContent = function () { if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) { var e = createTag("canvas"); (e.width = this.assetData.w), (e.height = this.assetData.h); var t, r, n = e.getContext("2d"), i = this.img.width, a = this.img.height, s = i / a, o = this.assetData.w / this.assetData.h, l = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio; (s > o && l === "xMidYMid slice") || (s < o && l !== "xMidYMid slice") ? (t = (r = a) * o) : (r = (t = i) / o), n.drawImage(this.img, (i - t) / 2, (a - r) / 2, t, r, 0, 0, this.assetData.w, this.assetData.h), (this.img = e); } }), (CVImageElement.prototype.renderInnerContent = function () { this.canvasContext.drawImage(this.img, 0, 0); }), (CVImageElement.prototype.destroy = function () { this.img = null; }), extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement), (CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement), (CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame), (CVSolidElement.prototype.renderInnerContent = function () { this.globalData.renderer.ctxFillStyle(this.data.sc), this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh); }), extendPrototype([BaseRenderer], CanvasRendererBase), (CanvasRendererBase.prototype.createShape = function (e) { return new CVShapeElement(e, this.globalData, this); }), (CanvasRendererBase.prototype.createText = function (e) { return new CVTextElement(e, this.globalData, this); }), (CanvasRendererBase.prototype.createImage = function (e) { return new CVImageElement(e, this.globalData, this); }), (CanvasRendererBase.prototype.createSolid = function (e) { return new CVSolidElement(e, this.globalData, this); }), (CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull), (CanvasRendererBase.prototype.ctxTransform = function (e) { (e[0] === 1 && e[1] === 0 && e[4] === 0 && e[5] === 1 && e[12] === 0 && e[13] === 0) || this.canvasContext.transform(e[0], e[1], e[4], e[5], e[12], e[13]); }), (CanvasRendererBase.prototype.ctxOpacity = function (e) { this.canvasContext.globalAlpha *= e < 0 ? 0 : e; }), (CanvasRendererBase.prototype.ctxFillStyle = function (e) { this.canvasContext.fillStyle = e; }), (CanvasRendererBase.prototype.ctxStrokeStyle = function (e) { this.canvasContext.strokeStyle = e; }), (CanvasRendererBase.prototype.ctxLineWidth = function (e) { this.canvasContext.lineWidth = e; }), (CanvasRendererBase.prototype.ctxLineCap = function (e) { this.canvasContext.lineCap = e; }), (CanvasRendererBase.prototype.ctxLineJoin = function (e) { this.canvasContext.lineJoin = e; }), (CanvasRendererBase.prototype.ctxMiterLimit = function (e) { this.canvasContext.miterLimit = e; }), (CanvasRendererBase.prototype.ctxFill = function (e) { this.canvasContext.fill(e); }), (CanvasRendererBase.prototype.ctxFillRect = function (e, t, r, n) { this.canvasContext.fillRect(e, t, r, n); }), (CanvasRendererBase.prototype.ctxStroke = function () { this.canvasContext.stroke(); }), (CanvasRendererBase.prototype.reset = function () { this.renderConfig.clearCanvas ? this.contextData.reset() : this.canvasContext.restore(); }), (CanvasRendererBase.prototype.save = function () { this.canvasContext.save(); }), (CanvasRendererBase.prototype.restore = function (e) { this.renderConfig.clearCanvas ? (e && (this.globalData.blendMode = "source-over"), this.contextData.restore(e)) : this.canvasContext.restore(); }), (CanvasRendererBase.prototype.configAnimation = function (e) { if (this.animationItem.wrapper) { this.animationItem.container = createTag("canvas"); var t = this.animationItem.container.style; (t.width = "100%"), (t.height = "100%"); var r = "0px 0px 0px"; (t.transformOrigin = r), (t.mozTransformOrigin = r), (t.webkitTransformOrigin = r), (t["-webkit-transform"] = r), (t.contentVisibility = this.renderConfig.contentVisibility), this.animationItem.wrapper.appendChild(this.animationItem.container), (this.canvasContext = this.animationItem.container.getContext("2d")), this.renderConfig.className && this.animationItem.container.setAttribute("class", this.renderConfig.className), this.renderConfig.id && this.animationItem.container.setAttribute("id", this.renderConfig.id); } else this.canvasContext = this.renderConfig.context; this.contextData.setContext(this.canvasContext), (this.data = e), (this.layers = e.layers), (this.transformCanvas = { w: e.w, h: e.h, sx: 0, sy: 0, tx: 0, ty: 0 }), this.setupGlobalData(e, document.body), (this.globalData.canvasContext = this.canvasContext), (this.globalData.renderer = this), (this.globalData.isDashed = !1), (this.globalData.progressiveLoad = this.renderConfig.progressiveLoad), (this.globalData.transformCanvas = this.transformCanvas), (this.elements = createSizedArray(e.layers.length)), this.updateContainerSize(); }), (CanvasRendererBase.prototype.updateContainerSize = function (e, t) { var r, n, i, a; if ( (this.reset(), e ? ((r = e), (n = t), (this.canvasContext.canvas.width = r), (this.canvasContext.canvas.height = n)) : (this.animationItem.wrapper && this.animationItem.container ? ((r = this.animationItem.wrapper.offsetWidth), (n = this.animationItem.wrapper.offsetHeight)) : ((r = this.canvasContext.canvas.width), (n = this.canvasContext.canvas.height)), (this.canvasContext.canvas.width = r * this.renderConfig.dpr), (this.canvasContext.canvas.height = n * this.renderConfig.dpr)), this.renderConfig.preserveAspectRatio.indexOf("meet") !== -1 || this.renderConfig.preserveAspectRatio.indexOf("slice") !== -1) ) { var s = this.renderConfig.preserveAspectRatio.split(" "), o = s[1] || "meet", l = s[0] || "xMidYMid", p = l.substr(0, 4), c = l.substr(4); (i = r / n), ((a = this.transformCanvas.w / this.transformCanvas.h) > i && o === "meet") || (a < i && o === "slice") ? ((this.transformCanvas.sx = r / (this.transformCanvas.w / this.renderConfig.dpr)), (this.transformCanvas.sy = r / (this.transformCanvas.w / this.renderConfig.dpr))) : ((this.transformCanvas.sx = n / (this.transformCanvas.h / this.renderConfig.dpr)), (this.transformCanvas.sy = n / (this.transformCanvas.h / this.renderConfig.dpr))), (this.transformCanvas.tx = p === "xMid" && ((a < i && o === "meet") || (a > i && o === "slice")) ? ((r - this.transformCanvas.w * (n / this.transformCanvas.h)) / 2) * this.renderConfig.dpr : p === "xMax" && ((a < i && o === "meet") || (a > i && o === "slice")) ? (r - this.transformCanvas.w * (n / this.transformCanvas.h)) * this.renderConfig.dpr : 0), (this.transformCanvas.ty = c === "YMid" && ((a > i && o === "meet") || (a < i && o === "slice")) ? ((n - this.transformCanvas.h * (r / this.transformCanvas.w)) / 2) * this.renderConfig.dpr : c === "YMax" && ((a > i && o === "meet") || (a < i && o === "slice")) ? (n - this.transformCanvas.h * (r / this.transformCanvas.w)) * this.renderConfig.dpr : 0); } else this.renderConfig.preserveAspectRatio === "none" ? ((this.transformCanvas.sx = r / (this.transformCanvas.w / this.renderConfig.dpr)), (this.transformCanvas.sy = n / (this.transformCanvas.h / this.renderConfig.dpr)), (this.transformCanvas.tx = 0), (this.transformCanvas.ty = 0)) : ((this.transformCanvas.sx = this.renderConfig.dpr), (this.transformCanvas.sy = this.renderConfig.dpr), (this.transformCanvas.tx = 0), (this.transformCanvas.ty = 0)); (this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1]), this.ctxTransform(this.transformCanvas.props), this.canvasContext.beginPath(), this.canvasContext.rect(0, 0, this.transformCanvas.w, this.transformCanvas.h), this.canvasContext.closePath(), this.canvasContext.clip(), this.renderFrame(this.renderedFrame, !0); }), (CanvasRendererBase.prototype.destroy = function () { var e; for (this.renderConfig.clearCanvas && this.animationItem.wrapper && (this.animationItem.wrapper.innerText = ""), e = (this.layers ? this.layers.length : 0) - 1; e >= 0; e -= 1) this.elements[e] && this.elements[e].destroy && this.elements[e].destroy(); (this.elements.length = 0), (this.globalData.canvasContext = null), (this.animationItem.container = null), (this.destroyed = !0); }), (CanvasRendererBase.prototype.renderFrame = function (e, t) { if ((this.renderedFrame !== e || this.renderConfig.clearCanvas !== !0 || t) && !this.destroyed && e !== -1) { var r; (this.renderedFrame = e), (this.globalData.frameNum = e - this.animationItem._isFirstFrame), (this.globalData.frameId += 1), (this.globalData._mdf = !this.renderConfig.clearCanvas || t), (this.globalData.projectInterface.currentFrame = e); var n = this.layers.length; for (this.completeLayers || this.checkLayers(e), r = n - 1; r >= 0; r -= 1) (this.completeLayers || this.elements[r]) && this.elements[r].prepareFrame(e - this.layers[r].st); if (this.globalData._mdf) { for (this.renderConfig.clearCanvas === !0 ? this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h) : this.save(), r = n - 1; r >= 0; r -= 1) (this.completeLayers || this.elements[r]) && this.elements[r].renderFrame(); this.renderConfig.clearCanvas !== !0 && this.restore(); } } }), (CanvasRendererBase.prototype.buildItem = function (e) { var t = this.elements; if (!t[e] && this.layers[e].ty !== 99) { var r = this.createItem(this.layers[e], this, this.globalData); (t[e] = r), r.initExpressions(); } }), (CanvasRendererBase.prototype.checkPendingElements = function () { for (; this.pendingElements.length;) this.pendingElements.pop().checkParenting(); }), (CanvasRendererBase.prototype.hide = function () { this.animationItem.container.style.display = "none"; }), (CanvasRendererBase.prototype.show = function () { this.animationItem.container.style.display = "block"; }), (CVContextData.prototype.duplicate = function () { var e = 2 * this._length, t = 0; for (t = this._length; t < e; t += 1) this.stack[t] = new CanvasContext(); this._length = e; }), (CVContextData.prototype.reset = function () { (this.cArrPos = 0), this.cTr.reset(), (this.stack[this.cArrPos].opacity = 1); }), (CVContextData.prototype.restore = function (e) { this.cArrPos -= 1; var t, r = this.stack[this.cArrPos], n = r.transform, i = this.cTr.props; for (t = 0; t < 16; t += 1) i[t] = n[t]; if (e) { this.nativeContext.restore(); var a = this.stack[this.cArrPos + 1]; (this.appliedFillStyle = a.fillStyle), (this.appliedStrokeStyle = a.strokeStyle), (this.appliedLineWidth = a.lineWidth), (this.appliedLineCap = a.lineCap), (this.appliedLineJoin = a.lineJoin), (this.appliedMiterLimit = a.miterLimit); } this.nativeContext.setTransform(n[0], n[1], n[4], n[5], n[12], n[13]), (e || (r.opacity !== -1 && this.currentOpacity !== r.opacity)) && ((this.nativeContext.globalAlpha = r.opacity), (this.currentOpacity = r.opacity)), (this.currentFillStyle = r.fillStyle), (this.currentStrokeStyle = r.strokeStyle), (this.currentLineWidth = r.lineWidth), (this.currentLineCap = r.lineCap), (this.currentLineJoin = r.lineJoin), (this.currentMiterLimit = r.miterLimit); }), (CVContextData.prototype.save = function (e) { e && this.nativeContext.save(); var t = this.cTr.props; this._length <= this.cArrPos && this.duplicate(); var r, n = this.stack[this.cArrPos]; for (r = 0; r < 16; r += 1) n.transform[r] = t[r]; this.cArrPos += 1; var i = this.stack[this.cArrPos]; (i.opacity = n.opacity), (i.fillStyle = n.fillStyle), (i.strokeStyle = n.strokeStyle), (i.lineWidth = n.lineWidth), (i.lineCap = n.lineCap), (i.lineJoin = n.lineJoin), (i.miterLimit = n.miterLimit); }), (CVContextData.prototype.setOpacity = function (e) { this.stack[this.cArrPos].opacity = e; }), (CVContextData.prototype.setContext = function (e) { this.nativeContext = e; }), (CVContextData.prototype.fillStyle = function (e) { this.stack[this.cArrPos].fillStyle !== e && ((this.currentFillStyle = e), (this.stack[this.cArrPos].fillStyle = e)); }), (CVContextData.prototype.strokeStyle = function (e) { this.stack[this.cArrPos].strokeStyle !== e && ((this.currentStrokeStyle = e), (this.stack[this.cArrPos].strokeStyle = e)); }), (CVContextData.prototype.lineWidth = function (e) { this.stack[this.cArrPos].lineWidth !== e && ((this.currentLineWidth = e), (this.stack[this.cArrPos].lineWidth = e)); }), (CVContextData.prototype.lineCap = function (e) { this.stack[this.cArrPos].lineCap !== e && ((this.currentLineCap = e), (this.stack[this.cArrPos].lineCap = e)); }), (CVContextData.prototype.lineJoin = function (e) { this.stack[this.cArrPos].lineJoin !== e && ((this.currentLineJoin = e), (this.stack[this.cArrPos].lineJoin = e)); }), (CVContextData.prototype.miterLimit = function (e) { this.stack[this.cArrPos].miterLimit !== e && ((this.currentMiterLimit = e), (this.stack[this.cArrPos].miterLimit = e)); }), (CVContextData.prototype.transform = function (e) { this.transformMat.cloneFromProps(e); var t = this.cTr; this.transformMat.multiply(t), t.cloneFromProps(this.transformMat.props); var r = t.props; this.nativeContext.setTransform(r[0], r[1], r[4], r[5], r[12], r[13]); }), (CVContextData.prototype.opacity = function (e) { var t = this.stack[this.cArrPos].opacity; (t *= e < 0 ? 0 : e), this.stack[this.cArrPos].opacity !== t && (this.currentOpacity !== e && ((this.nativeContext.globalAlpha = e), (this.currentOpacity = e)), (this.stack[this.cArrPos].opacity = t)); }), (CVContextData.prototype.fill = function (e) { this.appliedFillStyle !== this.currentFillStyle && ((this.appliedFillStyle = this.currentFillStyle), (this.nativeContext.fillStyle = this.appliedFillStyle)), this.nativeContext.fill(e); }), (CVContextData.prototype.fillRect = function (e, t, r, n) { this.appliedFillStyle !== this.currentFillStyle && ((this.appliedFillStyle = this.currentFillStyle), (this.nativeContext.fillStyle = this.appliedFillStyle)), this.nativeContext.fillRect(e, t, r, n); }), (CVContextData.prototype.stroke = function () { this.appliedStrokeStyle !== this.currentStrokeStyle && ((this.appliedStrokeStyle = this.currentStrokeStyle), (this.nativeContext.strokeStyle = this.appliedStrokeStyle)), this.appliedLineWidth !== this.currentLineWidth && ((this.appliedLineWidth = this.currentLineWidth), (this.nativeContext.lineWidth = this.appliedLineWidth)), this.appliedLineCap !== this.currentLineCap && ((this.appliedLineCap = this.currentLineCap), (this.nativeContext.lineCap = this.appliedLineCap)), this.appliedLineJoin !== this.currentLineJoin && ((this.appliedLineJoin = this.currentLineJoin), (this.nativeContext.lineJoin = this.appliedLineJoin)), this.appliedMiterLimit !== this.currentMiterLimit && ((this.appliedMiterLimit = this.currentMiterLimit), (this.nativeContext.miterLimit = this.appliedMiterLimit)), this.nativeContext.stroke(); }), extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement), (CVCompElement.prototype.renderInnerContent = function () { var e, t = this.canvasContext; for (t.beginPath(), t.moveTo(0, 0), t.lineTo(this.data.w, 0), t.lineTo(this.data.w, this.data.h), t.lineTo(0, this.data.h), t.lineTo(0, 0), t.clip(), e = this.layers.length - 1; e >= 0; e -= 1) (this.completeLayers || this.elements[e]) && this.elements[e].renderFrame(); }), (CVCompElement.prototype.destroy = function () { var e; for (e = this.layers.length - 1; e >= 0; e -= 1) this.elements[e] && this.elements[e].destroy(); (this.layers = null), (this.elements = null); }), (CVCompElement.prototype.createComp = function (e) { return new CVCompElement(e, this.globalData, this); }), extendPrototype([CanvasRendererBase], CanvasRenderer), (CanvasRenderer.prototype.createComp = function (e) { return new CVCompElement(e, this.globalData, this); }), (HBaseElement.prototype = { checkBlendMode: function () { }, initRendererElement: function () { (this.baseElement = createTag(this.data.tg || "div")), this.data.hasMask ? ((this.svgElement = createNS("svg")), (this.layerElement = createNS("g")), (this.maskedElement = this.layerElement), this.svgElement.appendChild(this.layerElement), this.baseElement.appendChild(this.svgElement)) : (this.layerElement = this.baseElement), styleDiv(this.baseElement); }, createContainerElements: function () { (this.renderableEffectsManager = new CVEffects(this)), (this.transformedElement = this.baseElement), (this.maskedElement = this.layerElement), this.data.ln && this.layerElement.setAttribute("id", this.data.ln), this.data.cl && this.layerElement.setAttribute("class", this.data.cl), this.data.bm !== 0 && this.setBlendMode(); }, renderElement: function () { var e = this.transformedElement ? this.transformedElement.style : {}; if (this.finalTransform._matMdf) { var t = this.finalTransform.mat.toCSS(); (e.transform = t), (e.webkitTransform = t); } this.finalTransform._opMdf && (e.opacity = this.finalTransform.mProp.o.v); }, renderFrame: function () { this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1)); }, destroy: function () { (this.layerElement = null), (this.transformedElement = null), this.matteElement && (this.matteElement = null), this.maskManager && (this.maskManager.destroy(), (this.maskManager = null)); }, createRenderableComponents: function () { this.maskManager = new MaskElement(this.data, this, this.globalData); }, addEffects: function () { }, setMatte: function () { }, }), (HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement), (HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy), (HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting), extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement), (HSolidElement.prototype.createContent = function () { var e; this.data.hasMask ? ((e = createNS("rect")).setAttribute("width", this.data.sw), e.setAttribute("height", this.data.sh), e.setAttribute("fill", this.data.sc), this.svgElement.setAttribute("width", this.data.sw), this.svgElement.setAttribute("height", this.data.sh)) : (((e = createTag("div")).style.width = this.data.sw + "px"), (e.style.height = this.data.sh + "px"), (e.style.backgroundColor = this.data.sc)), this.layerElement.appendChild(e); }), extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement), (HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent), (HShapeElement.prototype.createContent = function () { var e; if (((this.baseElement.style.fontSize = 0), this.data.hasMask)) this.layerElement.appendChild(this.shapesContainer), (e = this.svgElement); else { e = createNS("svg"); var t = this.comp.data ? this.comp.data : this.globalData.compSize; e.setAttribute("width", t.w), e.setAttribute("height", t.h), e.appendChild(this.shapesContainer), this.layerElement.appendChild(e); } this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], !0), this.filterUniqueShapes(), (this.shapeCont = e); }), (HShapeElement.prototype.getTransformedPoint = function (e, t) { var r, n = e.length; for (r = 0; r < n; r += 1) t = e[r].mProps.v.applyToPointArray(t[0], t[1], 0); return t; }), (HShapeElement.prototype.calculateShapeBoundingBox = function (e, t) { var r, n, i, a, s, o = e.sh.v, l = e.transformers, p = o._length; if (!(p <= 1)) { for (r = 0; r < p - 1; r += 1) (n = this.getTransformedPoint(l, o.v[r])), (i = this.getTransformedPoint(l, o.o[r])), (a = this.getTransformedPoint(l, o.i[r + 1])), (s = this.getTransformedPoint(l, o.v[r + 1])), this.checkBounds(n, i, a, s, t); o.c && ((n = this.getTransformedPoint(l, o.v[r])), (i = this.getTransformedPoint(l, o.o[r])), (a = this.getTransformedPoint(l, o.i[0])), (s = this.getTransformedPoint(l, o.v[0])), this.checkBounds(n, i, a, s, t)); } }), (HShapeElement.prototype.checkBounds = function (e, t, r, n, i) { this.getBoundsOfCurve(e, t, r, n); var a = this.shapeBoundingBox; (i.x = bmMin(a.left, i.x)), (i.xMax = bmMax(a.right, i.xMax)), (i.y = bmMin(a.top, i.y)), (i.yMax = bmMax(a.bottom, i.yMax)); }), (HShapeElement.prototype.shapeBoundingBox = { left: 0, right: 0, top: 0, bottom: 0 }), (HShapeElement.prototype.tempBoundingBox = { x: 0, xMax: 0, y: 0, yMax: 0, width: 0, height: 0 }), (HShapeElement.prototype.getBoundsOfCurve = function (e, t, r, n) { for ( var i, a, s, o, l, p, c, h = [ [e[0], n[0]], [e[1], n[1]], ], g = 0; g < 2; ++g ) (a = 6 * e[g] - 12 * t[g] + 6 * r[g]), (i = -3 * e[g] + 9 * t[g] - 9 * r[g] + 3 * n[g]), (s = 3 * t[g] - 3 * e[g]), (a |= 0), (s |= 0), ((i |= 0) === 0 && a === 0) || (i === 0 ? (o = -s / a) > 0 && o < 1 && h[g].push(this.calculateF(o, e, t, r, n, g)) : (l = a * a - 4 * s * i) >= 0 && ((p = (-a + bmSqrt(l)) / (2 * i)) > 0 && p < 1 && h[g].push(this.calculateF(p, e, t, r, n, g)), (c = (-a - bmSqrt(l)) / (2 * i)) > 0 && c < 1 && h[g].push(this.calculateF(c, e, t, r, n, g)))); (this.shapeBoundingBox.left = bmMin.apply(null, h[0])), (this.shapeBoundingBox.top = bmMin.apply(null, h[1])), (this.shapeBoundingBox.right = bmMax.apply(null, h[0])), (this.shapeBoundingBox.bottom = bmMax.apply(null, h[1])); }), (HShapeElement.prototype.calculateF = function (e, t, r, n, i, a) { return bmPow(1 - e, 3) * t[a] + 3 * bmPow(1 - e, 2) * e * r[a] + 3 * (1 - e) * bmPow(e, 2) * n[a] + bmPow(e, 3) * i[a]; }), (HShapeElement.prototype.calculateBoundingBox = function (e, t) { var r, n = e.length; for (r = 0; r < n; r += 1) e[r] && e[r].sh ? this.calculateShapeBoundingBox(e[r], t) : e[r] && e[r].it ? this.calculateBoundingBox(e[r].it, t) : e[r] && e[r].style && e[r].w && this.expandStrokeBoundingBox(e[r].w, t); }), (HShapeElement.prototype.expandStrokeBoundingBox = function (e, t) { var r = 0; if (e.keyframes) { for (var n = 0; n < e.keyframes.length; n += 1) { var i = e.keyframes[n].s; i > r && (r = i); } r *= e.mult; } else r = e.v * e.mult; (t.x -= r), (t.xMax += r), (t.y -= r), (t.yMax += r); }), (HShapeElement.prototype.currentBoxContains = function (e) { return this.currentBBox.x <= e.x && this.currentBBox.y <= e.y && this.currentBBox.width + this.currentBBox.x >= e.x + e.width && this.currentBBox.height + this.currentBBox.y >= e.y + e.height; }), (HShapeElement.prototype.renderInnerContent = function () { if ((this._renderShapeFrame(), !this.hidden && (this._isFirstFrame || this._mdf))) { var e = this.tempBoundingBox, t = 999999; if ( ((e.x = t), (e.xMax = -t), (e.y = t), (e.yMax = -t), this.calculateBoundingBox(this.itemsData, e), (e.width = e.xMax < e.x ? 0 : e.xMax - e.x), (e.height = e.yMax < e.y ? 0 : e.yMax - e.y), this.currentBoxContains(e)) ) return; var r = !1; if ( (this.currentBBox.w !== e.width && ((this.currentBBox.w = e.width), this.shapeCont.setAttribute("width", e.width), (r = !0)), this.currentBBox.h !== e.height && ((this.currentBBox.h = e.height), this.shapeCont.setAttribute("height", e.height), (r = !0)), r || this.currentBBox.x !== e.x || this.currentBBox.y !== e.y) ) { (this.currentBBox.w = e.width), (this.currentBBox.h = e.height), (this.currentBBox.x = e.x), (this.currentBBox.y = e.y), this.shapeCont.setAttribute("viewBox", this.currentBBox.x + " " + this.currentBBox.y + " " + this.currentBBox.w + " " + this.currentBBox.h); var n = this.shapeCont.style, i = "translate(" + this.currentBBox.x + "px," + this.currentBBox.y + "px)"; (n.transform = i), (n.webkitTransform = i); } } }), extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement), (HTextElement.prototype.createContent = function () { if (((this.isMasked = this.checkMasks()), this.isMasked)) { (this.renderType = "svg"), (this.compW = this.comp.data.w), (this.compH = this.comp.data.h), this.svgElement.setAttribute("width", this.compW), this.svgElement.setAttribute("height", this.compH); var e = createNS("g"); this.maskedElement.appendChild(e), (this.innerElem = e); } else (this.renderType = "html"), (this.innerElem = this.layerElement); this.checkParenting(); }), (HTextElement.prototype.buildNewText = function () { var e = this.textProperty.currentData; this.renderedLetters = createSizedArray(e.l ? e.l.length : 0); var t = this.innerElem.style, r = e.fc ? this.buildColor(e.fc) : "rgba(0,0,0,0)"; (t.fill = r), (t.color = r), e.sc && ((t.stroke = this.buildColor(e.sc)), (t.strokeWidth = e.sw + "px")); var n, i, a = this.globalData.fontManager.getFontByName(e.f); if (!this.globalData.fontManager.chars) if (((t.fontSize = e.finalSize + "px"), (t.lineHeight = e.finalSize + "px"), a.fClass)) this.innerElem.className = a.fClass; else { t.fontFamily = a.fFamily; var s = e.fWeight, o = e.fStyle; (t.fontStyle = o), (t.fontWeight = s); } var l, p, c, h = e.l; i = h.length; var g, d = this.mHelper, f = "", m = 0; for (n = 0; n < i; n += 1) { if ( (this.globalData.fontManager.chars ? (this.textPaths[m] ? (l = this.textPaths[m]) : ((l = createNS("path")).setAttribute("stroke-linecap", lineCapEnum[1]), l.setAttribute("stroke-linejoin", lineJoinEnum[2]), l.setAttribute("stroke-miterlimit", "4")), this.isMasked || (this.textSpans[m] ? (c = (p = this.textSpans[m]).children[0]) : (((p = createTag("div")).style.lineHeight = 0), (c = createNS("svg")).appendChild(l), styleDiv(p)))) : this.isMasked ? (l = this.textPaths[m] ? this.textPaths[m] : createNS("text")) : this.textSpans[m] ? ((p = this.textSpans[m]), (l = this.textPaths[m])) : (styleDiv((p = createTag("span"))), styleDiv((l = createTag("span"))), p.appendChild(l)), this.globalData.fontManager.chars) ) { var u, y = this.globalData.fontManager.getCharData(e.finalText[n], a.fStyle, this.globalData.fontManager.getFontByName(e.f).fFamily); if ( ((u = y ? y.data : null), d.reset(), u && u.shapes && u.shapes.length && ((g = u.shapes[0].it), d.scale(e.finalSize / 100, e.finalSize / 100), (f = this.createPathShape(d, g)), l.setAttribute("d", f)), this.isMasked) ) this.innerElem.appendChild(l); else { if ((this.innerElem.appendChild(p), u && u.shapes)) { document.body.appendChild(c); var v = c.getBBox(); c.setAttribute("width", v.width + 2), c.setAttribute("height", v.height + 2), c.setAttribute("viewBox", v.x - 1 + " " + (v.y - 1) + " " + (v.width + 2) + " " + (v.height + 2)); var E = c.style, b = "translate(" + (v.x - 1) + "px," + (v.y - 1) + "px)"; (E.transform = b), (E.webkitTransform = b), (h[n].yOffset = v.y - 1); } else c.setAttribute("width", 1), c.setAttribute("height", 1); p.appendChild(c); } } else if (((l.textContent = h[n].val), l.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), this.isMasked)) this.innerElem.appendChild(l); else { this.innerElem.appendChild(p); var T = l.style, A = "translate3d(0," + -e.finalSize / 1.2 + "px,0)"; (T.transform = A), (T.webkitTransform = A); } this.isMasked ? (this.textSpans[m] = l) : (this.textSpans[m] = p), (this.textSpans[m].style.display = "block"), (this.textPaths[m] = l), (m += 1); } for (; m < this.textSpans.length;) (this.textSpans[m].style.display = "none"), (m += 1); }), (HTextElement.prototype.renderInnerContent = function () { var e; if ((this.validateText(), this.data.singleShape)) { if (!this._isFirstFrame && !this.lettersChangedFlag) return; if (this.isMasked && this.finalTransform._matMdf) { this.svgElement.setAttribute("viewBox", -this.finalTransform.mProp.p.v[0] + " " + -this.finalTransform.mProp.p.v[1] + " " + this.compW + " " + this.compH), (e = this.svgElement.style); var t = "translate(" + -this.finalTransform.mProp.p.v[0] + "px," + -this.finalTransform.mProp.p.v[1] + "px)"; (e.transform = t), (e.webkitTransform = t); } } if ((this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) { var r, n, i, a, s, o = 0, l = this.textAnimator.renderedLetters, p = this.textProperty.currentData.l; for (n = p.length, r = 0; r < n; r += 1) p[r].n ? (o += 1) : ((a = this.textSpans[r]), (s = this.textPaths[r]), (i = l[o]), (o += 1), i._mdf.m && (this.isMasked ? a.setAttribute("transform", i.m) : ((a.style.webkitTransform = i.m), (a.style.transform = i.m))), (a.style.opacity = i.o), i.sw && i._mdf.sw && s.setAttribute("stroke-width", i.sw), i.sc && i._mdf.sc && s.setAttribute("stroke", i.sc), i.fc && i._mdf.fc && (s.setAttribute("fill", i.fc), (s.style.color = i.fc))); if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) { var c = this.innerElem.getBBox(); if ( (this.currentBBox.w !== c.width && ((this.currentBBox.w = c.width), this.svgElement.setAttribute("width", c.width)), this.currentBBox.h !== c.height && ((this.currentBBox.h = c.height), this.svgElement.setAttribute("height", c.height)), this.currentBBox.w !== c.width + 2 || this.currentBBox.h !== c.height + 2 || this.currentBBox.x !== c.x - 1 || this.currentBBox.y !== c.y - 1) ) { (this.currentBBox.w = c.width + 2), (this.currentBBox.h = c.height + 2), (this.currentBBox.x = c.x - 1), (this.currentBBox.y = c.y - 1), this.svgElement.setAttribute("viewBox", this.currentBBox.x + " " + this.currentBBox.y + " " + this.currentBBox.w + " " + this.currentBBox.h), (e = this.svgElement.style); var h = "translate(" + this.currentBBox.x + "px," + this.currentBBox.y + "px)"; (e.transform = h), (e.webkitTransform = h); } } } }), extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement), (HCameraElement.prototype.setup = function () { var e, t, r, n, i = this.comp.threeDElements.length; for (e = 0; e < i; e += 1) if ((t = this.comp.threeDElements[e]).type === "3d") { (r = t.perspectiveElem.style), (n = t.container.style); var a = this.pe.v + "px", s = "0px 0px 0px", o = "matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)"; (r.perspective = a), (r.webkitPerspective = a), (n.transformOrigin = s), (n.mozTransformOrigin = s), (n.webkitTransformOrigin = s), (r.transform = o), (r.webkitTransform = o); } }), (HCameraElement.prototype.createElements = function () { }), (HCameraElement.prototype.hide = function () { }), (HCameraElement.prototype.renderFrame = function () { var e, t, r = this._isFirstFrame; if (this.hierarchy) for (t = this.hierarchy.length, e = 0; e < t; e += 1) r = this.hierarchy[e].finalTransform.mProp._mdf || r; if (r || this.pe._mdf || (this.p && this.p._mdf) || (this.px && (this.px._mdf || this.py._mdf || this.pz._mdf)) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || (this.a && this.a._mdf)) { if ((this.mat.reset(), this.hierarchy)) for (e = t = this.hierarchy.length - 1; e >= 0; e -= 1) { var n = this.hierarchy[e].finalTransform.mProp; this.mat.translate(-n.p.v[0], -n.p.v[1], n.p.v[2]), this.mat.rotateX(-n.or.v[0]).rotateY(-n.or.v[1]).rotateZ(n.or.v[2]), this.mat.rotateX(-n.rx.v).rotateY(-n.ry.v).rotateZ(n.rz.v), this.mat.scale(1 / n.s.v[0], 1 / n.s.v[1], 1 / n.s.v[2]), this.mat.translate(n.a.v[0], n.a.v[1], n.a.v[2]); } if ((this.p ? this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]) : this.mat.translate(-this.px.v, -this.py.v, this.pz.v), this.a)) { var i; i = this.p ? [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]] : [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]]; var a = Math.sqrt(Math.pow(i[0], 2) + Math.pow(i[1], 2) + Math.pow(i[2], 2)), s = [i[0] / a, i[1] / a, i[2] / a], o = Math.sqrt(s[2] * s[2] + s[0] * s[0]), l = Math.atan2(s[1], o), p = Math.atan2(s[0], -s[2]); this.mat.rotateY(p).rotateX(-l); } this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v), this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]), this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0), this.mat.translate(0, 0, this.pe.v); var c = !this._prevMat.equals(this.mat); if ((c || this.pe._mdf) && this.comp.threeDElements) { var h, g, d; for (t = this.comp.threeDElements.length, e = 0; e < t; e += 1) if ((h = this.comp.threeDElements[e]).type === "3d") { if (c) { var f = this.mat.toCSS(); ((d = h.container.style).transform = f), (d.webkitTransform = f); } this.pe._mdf && (((g = h.perspectiveElem.style).perspective = this.pe.v + "px"), (g.webkitPerspective = this.pe.v + "px")); } this.mat.clone(this._prevMat); } } this._isFirstFrame = !1; }), (HCameraElement.prototype.prepareFrame = function (e) { this.prepareProperties(e, !0); }), (HCameraElement.prototype.destroy = function () { }), (HCameraElement.prototype.getBaseElement = function () { return null; }), extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement), (HImageElement.prototype.createContent = function () { var e = this.globalData.getAssetsPath(this.assetData), t = new Image(); this.data.hasMask ? ((this.imageElem = createNS("image")), this.imageElem.setAttribute("width", this.assetData.w + "px"), this.imageElem.setAttribute("height", this.assetData.h + "px"), this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink", "href", e), this.layerElement.appendChild(this.imageElem), this.baseElement.setAttribute("width", this.assetData.w), this.baseElement.setAttribute("height", this.assetData.h)) : this.layerElement.appendChild(t), (t.crossOrigin = "anonymous"), (t.src = e), this.data.ln && this.baseElement.setAttribute("id", this.data.ln); }), extendPrototype([BaseRenderer], HybridRendererBase), (HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem), (HybridRendererBase.prototype.checkPendingElements = function () { for (; this.pendingElements.length;) this.pendingElements.pop().checkParenting(); }), (HybridRendererBase.prototype.appendElementInPos = function (e, t) { var r = e.getBaseElement(); if (r) { var n = this.layers[t]; if (n.ddd && this.supports3d) this.addTo3dContainer(r, t); else if (this.threeDElements) this.addTo3dContainer(r, t); else { for (var i, a, s = 0; s < t;) this.elements[s] && this.elements[s] !== !0 && this.elements[s].getBaseElement && ((a = this.elements[s]), (i = (this.layers[s].ddd ? this.getThreeDContainerByPos(s) : a.getBaseElement()) || i)), (s += 1); i ? (n.ddd && this.supports3d) || this.layerElement.insertBefore(r, i) : (n.ddd && this.supports3d) || this.layerElement.appendChild(r); } } }), (HybridRendererBase.prototype.createShape = function (e) { return this.supports3d ? new HShapeElement(e, this.globalData, this) : new SVGShapeElement(e, this.globalData, this); }), (HybridRendererBase.prototype.createText = function (e) { return this.supports3d ? new HTextElement(e, this.globalData, this) : new SVGTextLottieElement(e, this.globalData, this); }), (HybridRendererBase.prototype.createCamera = function (e) { return (this.camera = new HCameraElement(e, this.globalData, this)), this.camera; }), (HybridRendererBase.prototype.createImage = function (e) { return this.supports3d ? new HImageElement(e, this.globalData, this) : new IImageElement(e, this.globalData, this); }), (HybridRendererBase.prototype.createSolid = function (e) { return this.supports3d ? new HSolidElement(e, this.globalData, this) : new ISolidElement(e, this.globalData, this); }), (HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull), (HybridRendererBase.prototype.getThreeDContainerByPos = function (e) { for (var t = 0, r = this.threeDElements.length; t < r;) { if (this.threeDElements[t].startPos <= e && this.threeDElements[t].endPos >= e) return this.threeDElements[t].perspectiveElem; t += 1; } return null; }), (HybridRendererBase.prototype.createThreeDContainer = function (e, t) { var r, n, i = createTag("div"); styleDiv(i); var a = createTag("div"); if ((styleDiv(a), t === "3d")) { ((r = i.style).width = this.globalData.compSize.w + "px"), (r.height = this.globalData.compSize.h + "px"); var s = "50% 50%"; (r.webkitTransformOrigin = s), (r.mozTransformOrigin = s), (r.transformOrigin = s); var o = "matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)"; ((n = a.style).transform = o), (n.webkitTransform = o); } i.appendChild(a); var l = { container: a, perspectiveElem: i, startPos: e, endPos: e, type: t }; return this.threeDElements.push(l), l; }), (HybridRendererBase.prototype.build3dContainers = function () { var e, t, r = this.layers.length, n = ""; for (e = 0; e < r; e += 1) this.layers[e].ddd && this.layers[e].ty !== 3 ? (n !== "3d" && ((n = "3d"), (t = this.createThreeDContainer(e, "3d"))), (t.endPos = Math.max(t.endPos, e))) : (n !== "2d" && ((n = "2d"), (t = this.createThreeDContainer(e, "2d"))), (t.endPos = Math.max(t.endPos, e))); for (e = (r = this.threeDElements.length) - 1; e >= 0; e -= 1) this.resizerElem.appendChild(this.threeDElements[e].perspectiveElem); }), (HybridRendererBase.prototype.addTo3dContainer = function (e, t) { for (var r = 0, n = this.threeDElements.length; r < n;) { if (t <= this.threeDElements[r].endPos) { for (var i, a = this.threeDElements[r].startPos; a < t;) this.elements[a] && this.elements[a].getBaseElement && (i = this.elements[a].getBaseElement()), (a += 1); i ? this.threeDElements[r].container.insertBefore(e, i) : this.threeDElements[r].container.appendChild(e); break; } r += 1; } }), (HybridRendererBase.prototype.configAnimation = function (e) { var t = createTag("div"), r = this.animationItem.wrapper, n = t.style; (n.width = e.w + "px"), (n.height = e.h + "px"), (this.resizerElem = t), styleDiv(t), (n.transformStyle = "flat"), (n.mozTransformStyle = "flat"), (n.webkitTransformStyle = "flat"), this.renderConfig.className && t.setAttribute("class", this.renderConfig.className), r.appendChild(t), (n.overflow = "hidden"); var i = createNS("svg"); i.setAttribute("width", "1"), i.setAttribute("height", "1"), styleDiv(i), this.resizerElem.appendChild(i); var a = createNS("defs"); i.appendChild(a), (this.data = e), this.setupGlobalData(e, i), (this.globalData.defs = a), (this.layers = e.layers), (this.layerElement = this.resizerElem), this.build3dContainers(), this.updateContainerSize(); }), (HybridRendererBase.prototype.destroy = function () { var e; this.animationItem.wrapper && (this.animationItem.wrapper.innerText = ""), (this.animationItem.container = null), (this.globalData.defs = null); var t = this.layers ? this.layers.length : 0; for (e = 0; e < t; e += 1) this.elements[e] && this.elements[e].destroy && this.elements[e].destroy(); (this.elements.length = 0), (this.destroyed = !0), (this.animationItem = null); }), (HybridRendererBase.prototype.updateContainerSize = function () { var e, t, r, n, i = this.animationItem.wrapper.offsetWidth, a = this.animationItem.wrapper.offsetHeight, s = i / a; this.globalData.compSize.w / this.globalData.compSize.h > s ? ((e = i / this.globalData.compSize.w), (t = i / this.globalData.compSize.w), (r = 0), (n = (a - this.globalData.compSize.h * (i / this.globalData.compSize.w)) / 2)) : ((e = a / this.globalData.compSize.h), (t = a / this.globalData.compSize.h), (r = (i - this.globalData.compSize.w * (a / this.globalData.compSize.h)) / 2), (n = 0)); var o = this.resizerElem.style; (o.webkitTransform = "matrix3d(" + e + ",0,0,0,0," + t + ",0,0,0,0,1,0," + r + "," + n + ",0,1)"), (o.transform = o.webkitTransform); }), (HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame), (HybridRendererBase.prototype.hide = function () { this.resizerElem.style.display = "none"; }), (HybridRendererBase.prototype.show = function () { this.resizerElem.style.display = "block"; }), (HybridRendererBase.prototype.initItems = function () { if ((this.buildAllItems(), this.camera)) this.camera.setup(); else { var e, t = this.globalData.compSize.w, r = this.globalData.compSize.h, n = this.threeDElements.length; for (e = 0; e < n; e += 1) { var i = this.threeDElements[e].perspectiveElem.style; (i.webkitPerspective = Math.sqrt(Math.pow(t, 2) + Math.pow(r, 2)) + "px"), (i.perspective = i.webkitPerspective); } } }), (HybridRendererBase.prototype.searchExtraCompositions = function (e) { var t, r = e.length, n = createTag("div"); for (t = 0; t < r; t += 1) if (e[t].xt) { var i = this.createComp(e[t], n, this.globalData.comp, null); i.initExpressions(), this.globalData.projectInterface.registerComposition(i); } }), extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement), (HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements), (HCompElement.prototype.createContainerElements = function () { this._createBaseContainerElements(), this.data.hasMask ? (this.svgElement.setAttribute("width", this.data.w), this.svgElement.setAttribute("height", this.data.h), (this.transformedElement = this.baseElement)) : (this.transformedElement = this.layerElement); }), (HCompElement.prototype.addTo3dContainer = function (e, t) { for (var r, n = 0; n < t;) this.elements[n] && this.elements[n].getBaseElement && (r = this.elements[n].getBaseElement()), (n += 1); r ? this.layerElement.insertBefore(e, r) : this.layerElement.appendChild(e); }), (HCompElement.prototype.createComp = function (e) { return this.supports3d ? new HCompElement(e, this.globalData, this) : new SVGCompElement(e, this.globalData, this); }), extendPrototype([HybridRendererBase], HybridRenderer), (HybridRenderer.prototype.createComp = function (e) { return this.supports3d ? new HCompElement(e, this.globalData, this) : new SVGCompElement(e, this.globalData, this); }); var CompExpressionInterface = function (e) { function t(r) { for (var n = 0, i = e.layers.length; n < i;) { if (e.layers[n].nm === r || e.layers[n].ind === r) return e.elements[n].layerInterface; n += 1; } return null; } return ( Object.defineProperty(t, "_name", { value: e.data.nm }), (t.layer = t), (t.pixelAspect = 1), (t.height = e.data.h || e.globalData.compSize.h), (t.width = e.data.w || e.globalData.compSize.w), (t.pixelAspect = 1), (t.frameDuration = 1 / e.globalData.frameRate), (t.displayStartTime = 0), (t.numLayers = e.layers.length), t ); }; function _typeof$2(e) { return ( (_typeof$2 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function (t) { return typeof t; } : function (t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }), _typeof$2(e) ); } function seedRandom(e, t) { var r, n = this, i = 256, a = t.pow(i, 6), s = t.pow(2, 52), o = 2 * s, l = 255; function p(f) { var m, u = f.length, y = this, v = 0, E = (y.i = y.j = 0), b = (y.S = []); for (u || (f = [u++]); v < i;) b[v] = v++; for (v = 0; v < i; v++) (b[v] = b[(E = l & (E + f[v % u] + (m = b[v])))]), (b[E] = m); y.g = function (T) { for (var A, x = 0, C = y.i, k = y.j, D = y.S; T--;) (A = D[(C = l & (C + 1))]), (x = x * i + D[l & ((D[C] = D[(k = l & (k + A))]) + (D[k] = A))]); return (y.i = C), (y.j = k), x; }; } function c(f, m) { return (m.i = f.i), (m.j = f.j), (m.S = f.S.slice()), m; } function h(f, m) { var u, y = [], v = _typeof$2(f); if (m && v == "object") for (u in f) try { y.push(h(f[u], m - 1)); } catch { } return y.length ? y : v == "string" ? f : f + "\0"; } function g(f, m) { for (var u, y = f + "", v = 0; v < y.length;) m[l & v] = l & ((u ^= 19 * m[l & v]) + y.charCodeAt(v++)); return d(m); } function d(f) { return String.fromCharCode.apply(0, f); } (t.seedrandom = function (f, m, u) { var y = [], v = g( h( (m = m === !0 ? { entropy: !0 } : m || {}).entropy ? [f, d(e)] : f === null ? (function () { try { var T = new Uint8Array(i); return (n.crypto || n.msCrypto).getRandomValues(T), d(T); } catch { var A = n.navigator, x = A && A.plugins; return [+new Date(), n, x, n.screen, d(e)]; } })() : f, 3 ), y ), E = new p(y), b = function () { for (var T = E.g(6), A = a, x = 0; T < s;) (T = (T + x) * i), (A *= i), (x = E.g(1)); for (; T >= o;) (T /= 2), (A /= 2), (x >>>= 1); return (T + x) / A; }; return ( (b.int32 = function () { return 0 | E.g(4); }), (b.quick = function () { return E.g(4) / 4294967296; }), (b.double = b), g(d(E.S), e), ( m.pass || u || function (T, A, x, C) { return ( C && (C.S && c(C, E), (T.state = function () { return c(E, {}); })), x ? ((t.random = T), A) : T ); } )(b, v, "global" in m ? m.global : this == t, m.state) ); }), g(t.random(), e); } function initialize$2(e) { seedRandom([], e); } var propTypes = { SHAPE: "shape" }; function _typeof$1(e) { return ( (_typeof$1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function (t) { return typeof t; } : function (t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }), _typeof$1(e) ); } var ExpressionManager = (function () { var ob = {}, Math = BMMath, window = null, document = null, XMLHttpRequest = null, fetch = null, frames = null, _lottieGlobal = {}; function resetFrame() { _lottieGlobal = {}; } function $bm_isInstanceOfArray(e) { return e.constructor === Array || e.constructor === Float32Array; } function isNumerable(e, t) { return e === "number" || t instanceof Number || e === "boolean" || e === "string"; } function $bm_neg(e) { var t = _typeof$1(e); if (t === "number" || e instanceof Number || t === "boolean") return -e; if ($bm_isInstanceOfArray(e)) { var r, n = e.length, i = []; for (r = 0; r < n; r += 1) i[r] = -e[r]; return i; } return e.propType ? e.v : -e; } initialize$2(BMMath); var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, "easeIn").get, easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, "easeOut").get, easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, "easeInOut").get; function sum(e, t) { var r = _typeof$1(e), n = _typeof$1(t); if ((isNumerable(r, e) && isNumerable(n, t)) || r === "string" || n === "string") return e + t; if ($bm_isInstanceOfArray(e) && isNumerable(n, t)) return ((e = e.slice(0))[0] += t), e; if (isNumerable(r, e) && $bm_isInstanceOfArray(t)) return ((t = t.slice(0))[0] = e + t[0]), t; if ($bm_isInstanceOfArray(e) && $bm_isInstanceOfArray(t)) { for (var i = 0, a = e.length, s = t.length, o = []; i < a || i < s;) (typeof e[i] == "number" || e[i] instanceof Number) && (typeof t[i] == "number" || t[i] instanceof Number) ? (o[i] = e[i] + t[i]) : (o[i] = t[i] === void 0 ? e[i] : e[i] || t[i]), (i += 1); return o; } return 0; } var add = sum; function sub(e, t) { var r = _typeof$1(e), n = _typeof$1(t); if (isNumerable(r, e) && isNumerable(n, t)) return r === "string" && (e = parseInt(e, 10)), n === "string" && (t = parseInt(t, 10)), e - t; if ($bm_isInstanceOfArray(e) && isNumerable(n, t)) return ((e = e.slice(0))[0] -= t), e; if (isNumerable(r, e) && $bm_isInstanceOfArray(t)) return ((t = t.slice(0))[0] = e - t[0]), t; if ($bm_isInstanceOfArray(e) && $bm_isInstanceOfArray(t)) { for (var i = 0, a = e.length, s = t.length, o = []; i < a || i < s;) (typeof e[i] == "number" || e[i] instanceof Number) && (typeof t[i] == "number" || t[i] instanceof Number) ? (o[i] = e[i] - t[i]) : (o[i] = t[i] === void 0 ? e[i] : e[i] || t[i]), (i += 1); return o; } return 0; } function mul(e, t) { var r, n, i, a = _typeof$1(e), s = _typeof$1(t); if (isNumerable(a, e) && isNumerable(s, t)) return e * t; if ($bm_isInstanceOfArray(e) && isNumerable(s, t)) { for (i = e.length, r = createTypedArray("float32", i), n = 0; n < i; n += 1) r[n] = e[n] * t; return r; } if (isNumerable(a, e) && $bm_isInstanceOfArray(t)) { for (i = t.length, r = createTypedArray("float32", i), n = 0; n < i; n += 1) r[n] = e * t[n]; return r; } return 0; } function div(e, t) { var r, n, i, a = _typeof$1(e), s = _typeof$1(t); if (isNumerable(a, e) && isNumerable(s, t)) return e / t; if ($bm_isInstanceOfArray(e) && isNumerable(s, t)) { for (i = e.length, r = createTypedArray("float32", i), n = 0; n < i; n += 1) r[n] = e[n] / t; return r; } if (isNumerable(a, e) && $bm_isInstanceOfArray(t)) { for (i = t.length, r = createTypedArray("float32", i), n = 0; n < i; n += 1) r[n] = e / t[n]; return r; } return 0; } function mod(e, t) { return typeof e == "string" && (e = parseInt(e, 10)), typeof t == "string" && (t = parseInt(t, 10)), e % t; } var $bm_sum = sum, $bm_sub = sub, $bm_mul = mul, $bm_div = div, $bm_mod = mod; function clamp(e, t, r) { if (t > r) { var n = r; (r = t), (t = n); } return Math.min(Math.max(e, t), r); } function radiansToDegrees(e) { return e / degToRads; } var radians_to_degrees = radiansToDegrees; function degreesToRadians(e) { return e * degToRads; } var degrees_to_radians = radiansToDegrees, helperLengthArray = [0, 0, 0, 0, 0, 0]; function length(e, t) { if (typeof e == "number" || e instanceof Number) return (t = t || 0), Math.abs(e - t); var r; t || (t = helperLengthArray); var n = Math.min(e.length, t.length), i = 0; for (r = 0; r < n; r += 1) i += Math.pow(t[r] - e[r], 2); return Math.sqrt(i); } function normalize(e) { return div(e, length(e)); } function rgbToHsl(e) { var t, r, n = e[0], i = e[1], a = e[2], s = Math.max(n, i, a), o = Math.min(n, i, a), l = (s + o) / 2; if (s === o) (t = 0), (r = 0); else { var p = s - o; switch (((r = l > 0.5 ? p / (2 - s - o) : p / (s + o)), s)) { case n: t = (i - a) / p + (i < a ? 6 : 0); break; case i: t = (a - n) / p + 2; break; case a: t = (n - i) / p + 4; } t /= 6; } return [t, r, l, e[3]]; } function hue2rgb(e, t, r) { return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? e + 6 * (t - e) * r : r < 0.5 ? t : r < 2 / 3 ? e + (t - e) * (2 / 3 - r) * 6 : e; } function hslToRgb(e) { var t, r, n, i = e[0], a = e[1], s = e[2]; if (a === 0) (t = s), (n = s), (r = s); else { var o = s < 0.5 ? s * (1 + a) : s + a - s * a, l = 2 * s - o; (t = hue2rgb(l, o, i + 1 / 3)), (r = hue2rgb(l, o, i)), (n = hue2rgb(l, o, i - 1 / 3)); } return [t, r, n, e[3]]; } function linear(e, t, r, n, i) { if (((n !== void 0 && i !== void 0) || ((n = t), (i = r), (t = 0), (r = 1)), r < t)) { var a = r; (r = t), (t = a); } if (e <= t) return n; if (e >= r) return i; var s, o = r === t ? 0 : (e - t) / (r - t); if (!n.length) return n + (i - n) * o; var l = n.length, p = createTypedArray("float32", l); for (s = 0; s < l; s += 1) p[s] = n[s] + (i[s] - n[s]) * o; return p; } function random(e, t) { if ((t === void 0 && (e === void 0 ? ((e = 0), (t = 1)) : ((t = e), (e = void 0))), t.length)) { var r, n = t.length; e || (e = createTypedArray("float32", n)); var i = createTypedArray("float32", n), a = BMMath.random(); for (r = 0; r < n; r += 1) i[r] = e[r] + a * (t[r] - e[r]); return i; } return e === void 0 && (e = 0), e + BMMath.random() * (t - e); } function createPath(e, t, r, n) { var i, a = e.length, s = shapePool.newElement(); s.setPathData(!!n, a); var o, l, p = [0, 0]; for (i = 0; i < a; i += 1) (o = t && t[i] ? t[i] : p), (l = r && r[i] ? r[i] : p), s.setTripleAt(e[i][0], e[i][1], l[0] + e[i][0], l[1] + e[i][1], o[0] + e[i][0], o[1] + e[i][1], i, !0); return s; } function initiateExpression(elem, data, property) { function noOp(e) { return e; } if (!elem.globalData.renderConfig.runExpressions) return noOp; var val = data.x, needsVelocity = /velocity(?![\w\d])/.test(val), _needsRandom = val.indexOf("random") !== -1, elemType = elem.data.ty, transform, $bm_transform, content, effect, thisProperty = property; (thisProperty.valueAtTime = thisProperty.getValueAtTime), Object.defineProperty(thisProperty, "value", { get: function () { return thisProperty.v; }, }), (elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate), (elem.comp.displayStartTime = 0); var inPoint = elem.data.ip / elem.comp.globalData.frameRate, outPoint = elem.data.op / elem.comp.globalData.frameRate, width = elem.data.sw ? elem.data.sw : 0, height = elem.data.sh ? elem.data.sh : 0, name = elem.data.nm, loopIn, loop_in, loopOut, loop_out, smooth, toWorld, fromWorld, fromComp, toComp, fromCompToSurface, position, rotation, anchorPoint, scale, thisLayer, thisComp, mask, valueAtTime, velocityAtTime, scoped_bm_rt, expression_function = eval("[function _expression_function(){" + val + ";scoped_bm_rt=$bm_rt}]")[0], numKeys = property.kf ? data.k.length : 0, active = !this.data || this.data.hd !== !0, wiggle = function (e, t) { var r, n, i = this.pv.length ? this.pv.length : 1, a = createTypedArray("float32", i), s = Math.floor(5 * time); for (r = 0, n = 0; r < s;) { for (n = 0; n < i; n += 1) a[n] += -t + 2 * t * BMMath.random(); r += 1; } var o = 5 * time, l = o - Math.floor(o), p = createTypedArray("float32", i); if (i > 1) { for (n = 0; n < i; n += 1) p[n] = this.pv[n] + a[n] + (-t + 2 * t * BMMath.random()) * l; return p; } return this.pv + a[0] + (-t + 2 * t * BMMath.random()) * l; }.bind(this); function loopInDuration(e, t) { return loopIn(e, t, !0); } function loopOutDuration(e, t) { return loopOut(e, t, !0); } thisProperty.loopIn && ((loopIn = thisProperty.loopIn.bind(thisProperty)), (loop_in = loopIn)), thisProperty.loopOut && ((loopOut = thisProperty.loopOut.bind(thisProperty)), (loop_out = loopOut)), thisProperty.smooth && (smooth = thisProperty.smooth.bind(thisProperty)), this.getValueAtTime && (valueAtTime = this.getValueAtTime.bind(this)), this.getVelocityAtTime && (velocityAtTime = this.getVelocityAtTime.bind(this)); var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface), time, velocity, value, text, textIndex, textTotal, selectorValue; function lookAt(e, t) { var r = [t[0] - e[0], t[1] - e[1], t[2] - e[2]], n = Math.atan2(r[0], Math.sqrt(r[1] * r[1] + r[2] * r[2])) / degToRads; return [-Math.atan2(r[1], r[2]) / degToRads, n, 0]; } function easeOut(e, t, r, n, i) { return applyEase(easeOutBez, e, t, r, n, i); } function easeIn(e, t, r, n, i) { return applyEase(easeInBez, e, t, r, n, i); } function ease(e, t, r, n, i) { return applyEase(easeInOutBez, e, t, r, n, i); } function applyEase(e, t, r, n, i, a) { i === void 0 ? ((i = r), (a = n)) : (t = (t - r) / (n - r)), t > 1 ? (t = 1) : t < 0 && (t = 0); var s = e(t); if ($bm_isInstanceOfArray(i)) { var o, l = i.length, p = createTypedArray("float32", l); for (o = 0; o < l; o += 1) p[o] = (a[o] - i[o]) * s + i[o]; return p; } return (a - i) * s + i; } function nearestKey(e) { var t, r, n, i = data.k.length; if (data.k.length && typeof data.k[0] != "number") if (((r = -1), (e *= elem.comp.globalData.frameRate) < data.k[0].t)) (r = 1), (n = data.k[0].t); else { for (t = 0; t < i - 1; t += 1) { if (e === data.k[t].t) { (r = t + 1), (n = data.k[t].t); break; } if (e > data.k[t].t && e < data.k[t + 1].t) { e - data.k[t].t > data.k[t + 1].t - e ? ((r = t + 2), (n = data.k[t + 1].t)) : ((r = t + 1), (n = data.k[t].t)); break; } } r === -1 && ((r = t + 1), (n = data.k[t].t)); } else (r = 0), (n = 0); var a = {}; return (a.index = r), (a.time = n / elem.comp.globalData.frameRate), a; } function key(e) { var t, r, n; if (!data.k.length || typeof data.k[0] == "number") throw new Error("The property has no keyframe at index " + e); (e -= 1), (t = { time: data.k[e].t / elem.comp.globalData.frameRate, value: [] }); var i = Object.prototype.hasOwnProperty.call(data.k[e], "s") ? data.k[e].s : data.k[e - 1].e; for (n = i.length, r = 0; r < n; r += 1) (t[r] = i[r]), (t.value[r] = i[r]); return t; } function framesToTime(e, t) { return t || (t = elem.comp.globalData.frameRate), e / t; } function timeToFrames(e, t) { return e || e === 0 || (e = time), t || (t = elem.comp.globalData.frameRate), e * t; } function seedRandom(e) { BMMath.seedrandom(randSeed + e); } function sourceRectAtTime() { return elem.sourceRectAtTime(); } function substring(e, t) { return typeof value == "string" ? (t === void 0 ? value.substring(e) : value.substring(e, t)) : ""; } function substr(e, t) { return typeof value == "string" ? (t === void 0 ? value.substr(e) : value.substr(e, t)) : ""; } function posterizeTime(e) { (time = e === 0 ? 0 : Math.floor(time * e) / e), (value = valueAtTime(time)); } var index = elem.data.ind, hasParent = !(!elem.hierarchy || !elem.hierarchy.length), parent, randSeed = Math.floor(1e6 * Math.random()), globalData = elem.globalData; function executeExpression(e) { return ( (value = e), this.frameExpressionId === elem.globalData.frameId && this.propType !== "textSelector" ? value : (this.propType === "textSelector" && ((textIndex = this.textIndex), (textTotal = this.textTotal), (selectorValue = this.selectorValue)), thisLayer || ((text = elem.layerInterface.text), (thisLayer = elem.layerInterface), (thisComp = elem.comp.compInterface), (toWorld = thisLayer.toWorld.bind(thisLayer)), (fromWorld = thisLayer.fromWorld.bind(thisLayer)), (fromComp = thisLayer.fromComp.bind(thisLayer)), (toComp = thisLayer.toComp.bind(thisLayer)), (mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null), (fromCompToSurface = fromComp)), transform || ((transform = elem.layerInterface("ADBE Transform Group")), ($bm_transform = transform), transform && (anchorPoint = transform.anchorPoint)), elemType !== 4 || content || (content = thisLayer("ADBE Root Vectors Group")), effect || (effect = thisLayer(4)), (hasParent = !(!elem.hierarchy || !elem.hierarchy.length)) && !parent && (parent = elem.hierarchy[0].layerInterface), (time = this.comp.renderedFrame / this.comp.globalData.frameRate), _needsRandom && seedRandom(randSeed + time), needsVelocity && (velocity = velocityAtTime(time)), expression_function(), (this.frameExpressionId = elem.globalData.frameId), (scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt)) ); } return ( (executeExpression.__preventDeadCodeRemoval = [ $bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData, ]), executeExpression ); } return ( (ob.initiateExpression = initiateExpression), (ob.__preventDeadCodeRemoval = [ window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal, ]), (ob.resetFrame = resetFrame), ob ); })(), Expressions = (function () { var e = {}; return ( (e.initExpressions = function (t) { var r = 0, n = []; (t.renderer.compInterface = CompExpressionInterface(t.renderer)), t.renderer.globalData.projectInterface.registerComposition(t.renderer), (t.renderer.globalData.pushExpression = function () { r += 1; }), (t.renderer.globalData.popExpression = function () { (r -= 1) == 0 && (function () { var i, a = n.length; for (i = 0; i < a; i += 1) n[i].release(); n.length = 0; })(); }), (t.renderer.globalData.registerExpressionProperty = function (i) { n.indexOf(i) === -1 && n.push(i); }); }), (e.resetFrame = ExpressionManager.resetFrame), e ); })(), MaskManagerInterface = (function () { function e(t, r) { (this._mask = t), (this._data = r); } return ( Object.defineProperty(e.prototype, "maskPath", { get: function () { return this._mask.prop.k && this._mask.prop.getValue(), this._mask.prop; }, }), Object.defineProperty(e.prototype, "maskOpacity", { get: function () { return this._mask.op.k && this._mask.op.getValue(), 100 * this._mask.op.v; }, }), function (t) { var r, n = createSizedArray(t.viewData.length), i = t.viewData.length; for (r = 0; r < i; r += 1) n[r] = new e(t.viewData[r], t.masksProperties[r]); return function (a) { for (r = 0; r < i;) { if (t.masksProperties[r].nm === a) return n[r]; r += 1; } return null; }; } ); })(), ExpressionPropertyInterface = (function () { var e = { pv: 0, v: 0, mult: 1 }, t = { pv: [0, 0, 0], v: [0, 0, 0], mult: 1 }; function r(i, a, s) { Object.defineProperty(i, "velocity", { get: function () { return a.getVelocityAtTime(a.comp.currentFrame); }, }), (i.numKeys = a.keyframes ? a.keyframes.length : 0), (i.key = function (o) { if (!i.numKeys) return 0; var l = ""; l = "s" in a.keyframes[o - 1] ? a.keyframes[o - 1].s : "e" in a.keyframes[o - 2] ? a.keyframes[o - 2].e : a.keyframes[o - 2].s; var p = s === "unidimensional" ? new Number(l) : Object.assign({}, l); return (p.time = a.keyframes[o - 1].t / a.elem.comp.globalData.frameRate), (p.value = s === "unidimensional" ? l[0] : l), p; }), (i.valueAtTime = a.getValueAtTime), (i.speedAtTime = a.getSpeedAtTime), (i.velocityAtTime = a.getVelocityAtTime), (i.propertyGroup = a.propertyGroup); } function n() { return e; } return function (i) { return i ? i.propType === "unidimensional" ? (function (a) { (a && "pv" in a) || (a = e); var s = 1 / a.mult, o = a.pv * s, l = new Number(o); return ( (l.value = o), r(l, a, "unidimensional"), function () { return a.k && a.getValue(), (o = a.v * s), l.value !== o && (((l = new Number(o)).value = o), r(l, a, "unidimensional")), l; } ); })(i) : (function (a) { (a && "pv" in a) || (a = t); var s = 1 / a.mult, o = (a.data && a.data.l) || a.pv.length, l = createTypedArray("float32", o), p = createTypedArray("float32", o); return ( (l.value = p), r(l, a, "multidimensional"), function () { a.k && a.getValue(); for (var c = 0; c < o; c += 1) (p[c] = a.v[c] * s), (l[c] = p[c]); return l; } ); })(i) : n; }; })(), TransformExpressionInterface = function (e) { function t(s) { switch (s) { case "scale": case "Scale": case "ADBE Scale": case 6: return t.scale; case "rotation": case "Rotation": case "ADBE Rotation": case "ADBE Rotate Z": case 10: return t.rotation; case "ADBE Rotate X": return t.xRotation; case "ADBE Rotate Y": return t.yRotation; case "position": case "Position": case "ADBE Position": case 2: return t.position; case "ADBE Position_0": return t.xPosition; case "ADBE Position_1": return t.yPosition; case "ADBE Position_2": return t.zPosition; case "anchorPoint": case "AnchorPoint": case "Anchor Point": case "ADBE AnchorPoint": case 1: return t.anchorPoint; case "opacity": case "Opacity": case 11: return t.opacity; default: return null; } } var r, n, i, a; return ( Object.defineProperty(t, "rotation", { get: ExpressionPropertyInterface(e.r || e.rz) }), Object.defineProperty(t, "zRotation", { get: ExpressionPropertyInterface(e.rz || e.r) }), Object.defineProperty(t, "xRotation", { get: ExpressionPropertyInterface(e.rx) }), Object.defineProperty(t, "yRotation", { get: ExpressionPropertyInterface(e.ry) }), Object.defineProperty(t, "scale", { get: ExpressionPropertyInterface(e.s) }), e.p ? (a = ExpressionPropertyInterface(e.p)) : ((r = ExpressionPropertyInterface(e.px)), (n = ExpressionPropertyInterface(e.py)), e.pz && (i = ExpressionPropertyInterface(e.pz))), Object.defineProperty(t, "position", { get: function () { return e.p ? a() : [r(), n(), i ? i() : 0]; }, }), Object.defineProperty(t, "xPosition", { get: ExpressionPropertyInterface(e.px) }), Object.defineProperty(t, "yPosition", { get: ExpressionPropertyInterface(e.py) }), Object.defineProperty(t, "zPosition", { get: ExpressionPropertyInterface(e.pz) }), Object.defineProperty(t, "anchorPoint", { get: ExpressionPropertyInterface(e.a) }), Object.defineProperty(t, "opacity", { get: ExpressionPropertyInterface(e.o) }), Object.defineProperty(t, "skew", { get: ExpressionPropertyInterface(e.sk) }), Object.defineProperty(t, "skewAxis", { get: ExpressionPropertyInterface(e.sa) }), Object.defineProperty(t, "orientation", { get: ExpressionPropertyInterface(e.or) }), t ); }, LayerExpressionInterface = (function () { function e(p) { var c = new Matrix(); return p !== void 0 ? this._elem.finalTransform.mProp.getValueAtTime(p).clone(c) : this._elem.finalTransform.mProp.applyToMatrix(c), c; } function t(p, c) { var h = this.getMatrix(c); return (h.props[12] = 0), (h.props[13] = 0), (h.props[14] = 0), this.applyPoint(h, p); } function r(p, c) { var h = this.getMatrix(c); return this.applyPoint(h, p); } function n(p, c) { var h = this.getMatrix(c); return (h.props[12] = 0), (h.props[13] = 0), (h.props[14] = 0), this.invertPoint(h, p); } function i(p, c) { var h = this.getMatrix(c); return this.invertPoint(h, p); } function a(p, c) { if (this._elem.hierarchy && this._elem.hierarchy.length) { var h, g = this._elem.hierarchy.length; for (h = 0; h < g; h += 1) this._elem.hierarchy[h].finalTransform.mProp.applyToMatrix(p); } return p.applyToPointArray(c[0], c[1], c[2] || 0); } function s(p, c) { if (this._elem.hierarchy && this._elem.hierarchy.length) { var h, g = this._elem.hierarchy.length; for (h = 0; h < g; h += 1) this._elem.hierarchy[h].finalTransform.mProp.applyToMatrix(p); } return p.inversePoint(c); } function o(p) { var c = new Matrix(); if ((c.reset(), this._elem.finalTransform.mProp.applyToMatrix(c), this._elem.hierarchy && this._elem.hierarchy.length)) { var h, g = this._elem.hierarchy.length; for (h = 0; h < g; h += 1) this._elem.hierarchy[h].finalTransform.mProp.applyToMatrix(c); return c.inversePoint(p); } return c.inversePoint(p); } function l() { return [1, 1, 1, 1]; } return function (p) { var c; function h(d) { switch (d) { case "ADBE Root Vectors Group": case "Contents": case 2: return h.shapeInterface; case 1: case 6: case "Transform": case "transform": case "ADBE Transform Group": return c; case 4: case "ADBE Effect Parade": case "effects": case "Effects": return h.effect; case "ADBE Text Properties": return h.textInterface; default: return null; } } (h.getMatrix = e), (h.invertPoint = s), (h.applyPoint = a), (h.toWorld = r), (h.toWorldVec = t), (h.fromWorld = i), (h.fromWorldVec = n), (h.toComp = r), (h.fromComp = o), (h.sampleImage = l), (h.sourceRectAtTime = p.sourceRectAtTime.bind(p)), (h._elem = p); var g = getDescriptor((c = TransformExpressionInterface(p.finalTransform.mProp)), "anchorPoint"); return ( Object.defineProperties(h, { hasParent: { get: function () { return p.hierarchy.length; }, }, parent: { get: function () { return p.hierarchy[0].layerInterface; }, }, rotation: getDescriptor(c, "rotation"), scale: getDescriptor(c, "scale"), position: getDescriptor(c, "position"), opacity: getDescriptor(c, "opacity"), anchorPoint: g, anchor_point: g, transform: { get: function () { return c; }, }, active: { get: function () { return p.isInRange; }, }, }), (h.startTime = p.data.st), (h.index = p.data.ind), (h.source = p.data.refId), (h.height = p.data.ty === 0 ? p.data.h : 100), (h.width = p.data.ty === 0 ? p.data.w : 100), (h.inPoint = p.data.ip / p.comp.globalData.frameRate), (h.outPoint = p.data.op / p.comp.globalData.frameRate), (h._name = p.data.nm), (h.registerMaskInterface = function (d) { h.mask = new MaskManagerInterface(d, p); }), (h.registerEffectsInterface = function (d) { h.effect = d; }), h ); }; })(), propertyGroupFactory = function (e, t) { return function (r) { return (r = r === void 0 ? 1 : r) <= 0 ? e : t(r - 1); }; }, PropertyInterface = function (e, t) { var r = { _name: e }; return function (n) { return (n = n === void 0 ? 1 : n) <= 0 ? r : t(n - 1); }; }, EffectsExpressionInterface = (function () { function e(r, n, i, a) { function s(h) { for (var g = r.ef, d = 0, f = g.length; d < f;) { if (h === g[d].nm || h === g[d].mn || h === g[d].ix) return g[d].ty === 5 ? p[d] : p[d](); d += 1; } throw new Error(); } var o, l = propertyGroupFactory(s, i), p = [], c = r.ef.length; for (o = 0; o < c; o += 1) r.ef[o].ty === 5 ? p.push(e(r.ef[o], n.effectElements[o], n.effectElements[o].propertyGroup, a)) : p.push(t(n.effectElements[o], r.ef[o].ty, a, l)); return ( r.mn === "ADBE Color Control" && Object.defineProperty(s, "color", { get: function () { return p[0](); }, }), Object.defineProperties(s, { numProperties: { get: function () { return r.np; }, }, _name: { value: r.nm }, propertyGroup: { value: l }, }), (s.enabled = r.en !== 0), (s.active = s.enabled), s ); } function t(r, n, i, a) { var s = ExpressionPropertyInterface(r.p); return ( r.p.setGroupProperty && r.p.setGroupProperty(PropertyInterface("", a)), function () { return n === 10 ? i.comp.compInterface(r.p.v) : s(); } ); } return { createEffectsInterface: function (r, n) { if (r.effectsManager) { var i, a = [], s = r.data.ef, o = r.effectsManager.effectElements.length; for (i = 0; i < o; i += 1) a.push(e(s[i], r.effectsManager.effectElements[i], n, r)); var l = r.data.ef || [], p = function (c) { for (i = 0, o = l.length; i < o;) { if (c === l[i].nm || c === l[i].mn || c === l[i].ix) return a[i]; i += 1; } return null; }; return ( Object.defineProperty(p, "numProperties", { get: function () { return l.length; }, }), p ); } return null; }, }; })(), ShapePathInterface = function (e, t, r) { var n = t.sh; function i(s) { return s === "Shape" || s === "shape" || s === "Path" || s === "path" || s === "ADBE Vector Shape" || s === 2 ? i.path : null; } var a = propertyGroupFactory(i, r); return ( n.setGroupProperty(PropertyInterface("Path", a)), Object.defineProperties(i, { path: { get: function () { return n.k && n.getValue(), n; }, }, shape: { get: function () { return n.k && n.getValue(), n; }, }, _name: { value: e.nm }, ix: { value: e.ix }, propertyIndex: { value: e.ix }, mn: { value: e.mn }, propertyGroup: { value: r }, }), i ); }, ShapeExpressionInterface = (function () { function e(d, f, m) { var u, y = [], v = d ? d.length : 0; for (u = 0; u < v; u += 1) d[u].ty === "gr" ? y.push(t(d[u], f[u], m)) : d[u].ty === "fl" ? y.push(r(d[u], f[u], m)) : d[u].ty === "st" ? y.push(a(d[u], f[u], m)) : d[u].ty === "tm" ? y.push(s(d[u], f[u], m)) : d[u].ty === "tr" || (d[u].ty === "el" ? y.push(l(d[u], f[u], m)) : d[u].ty === "sr" ? y.push(p(d[u], f[u], m)) : d[u].ty === "sh" ? y.push(ShapePathInterface(d[u], f[u], m)) : d[u].ty === "rc" ? y.push(c(d[u], f[u], m)) : d[u].ty === "rd" ? y.push(h(d[u], f[u], m)) : d[u].ty === "rp" ? y.push(g(d[u], f[u], m)) : d[u].ty === "gf" ? y.push(n(d[u], f[u], m)) : y.push(i(d[u], f[u]))); return y; } function t(d, f, m) { var u = function (E) { switch (E) { case "ADBE Vectors Group": case "Contents": case 2: return u.content; default: return u.transform; } }; u.propertyGroup = propertyGroupFactory(u, m); var y = (function (E, b, T) { var A, x = function (k) { for (var D = 0, I = A.length; D < I;) { if (A[D]._name === k || A[D].mn === k || A[D].propertyIndex === k || A[D].ix === k || A[D].ind === k) return A[D]; D += 1; } return typeof k == "number" ? A[k - 1] : null; }; (x.propertyGroup = propertyGroupFactory(x, T)), (A = e(E.it, b.it, x.propertyGroup)), (x.numProperties = A.length); var C = o(E.it[E.it.length - 1], b.it[b.it.length - 1], x.propertyGroup); return (x.transform = C), (x.propertyIndex = E.cix), (x._name = E.nm), x; })(d, f, u.propertyGroup), v = o(d.it[d.it.length - 1], f.it[f.it.length - 1], u.propertyGroup); return ( (u.content = y), (u.transform = v), Object.defineProperty(u, "_name", { get: function () { return d.nm; }, }), (u.numProperties = d.np), (u.propertyIndex = d.ix), (u.nm = d.nm), (u.mn = d.mn), u ); } function r(d, f, m) { function u(y) { return y === "Color" || y === "color" ? u.color : y === "Opacity" || y === "opacity" ? u.opacity : null; } return ( Object.defineProperties(u, { color: { get: ExpressionPropertyInterface(f.c) }, opacity: { get: ExpressionPropertyInterface(f.o) }, _name: { value: d.nm }, mn: { value: d.mn } }), f.c.setGroupProperty(PropertyInterface("Color", m)), f.o.setGroupProperty(PropertyInterface("Opacity", m)), u ); } function n(d, f, m) { function u(y) { return y === "Start Point" || y === "start point" ? u.startPoint : y === "End Point" || y === "end point" ? u.endPoint : y === "Opacity" || y === "opacity" ? u.opacity : null; } return ( Object.defineProperties(u, { startPoint: { get: ExpressionPropertyInterface(f.s) }, endPoint: { get: ExpressionPropertyInterface(f.e) }, opacity: { get: ExpressionPropertyInterface(f.o) }, type: { get: function () { return "a"; }, }, _name: { value: d.nm }, mn: { value: d.mn }, }), f.s.setGroupProperty(PropertyInterface("Start Point", m)), f.e.setGroupProperty(PropertyInterface("End Point", m)), f.o.setGroupProperty(PropertyInterface("Opacity", m)), u ); } function i() { return function () { return null; }; } function a(d, f, m) { var u, y = propertyGroupFactory(A, m), v = propertyGroupFactory(T, y); function E(x) { Object.defineProperty(T, d.d[x].nm, { get: ExpressionPropertyInterface(f.d.dataProps[x].p) }); } var b = d.d ? d.d.length : 0, T = {}; for (u = 0; u < b; u += 1) E(u), f.d.dataProps[u].p.setGroupProperty(v); function A(x) { return x === "Color" || x === "color" ? A.color : x === "Opacity" || x === "opacity" ? A.opacity : x === "Stroke Width" || x === "stroke width" ? A.strokeWidth : null; } return ( Object.defineProperties(A, { color: { get: ExpressionPropertyInterface(f.c) }, opacity: { get: ExpressionPropertyInterface(f.o) }, strokeWidth: { get: ExpressionPropertyInterface(f.w) }, dash: { get: function () { return T; }, }, _name: { value: d.nm }, mn: { value: d.mn }, }), f.c.setGroupProperty(PropertyInterface("Color", y)), f.o.setGroupProperty(PropertyInterface("Opacity", y)), f.w.setGroupProperty(PropertyInterface("Stroke Width", y)), A ); } function s(d, f, m) { function u(v) { return v === d.e.ix || v === "End" || v === "end" ? u.end : v === d.s.ix ? u.start : v === d.o.ix ? u.offset : null; } var y = propertyGroupFactory(u, m); return ( (u.propertyIndex = d.ix), f.s.setGroupProperty(PropertyInterface("Start", y)), f.e.setGroupProperty(PropertyInterface("End", y)), f.o.setGroupProperty(PropertyInterface("Offset", y)), (u.propertyIndex = d.ix), (u.propertyGroup = m), Object.defineProperties(u, { start: { get: ExpressionPropertyInterface(f.s) }, end: { get: ExpressionPropertyInterface(f.e) }, offset: { get: ExpressionPropertyInterface(f.o) }, _name: { value: d.nm } }), (u.mn = d.mn), u ); } function o(d, f, m) { function u(v) { return d.a.ix === v || v === "Anchor Point" ? u.anchorPoint : d.o.ix === v || v === "Opacity" ? u.opacity : d.p.ix === v || v === "Position" ? u.position : d.r.ix === v || v === "Rotation" || v === "ADBE Vector Rotation" ? u.rotation : d.s.ix === v || v === "Scale" ? u.scale : (d.sk && d.sk.ix === v) || v === "Skew" ? u.skew : (d.sa && d.sa.ix === v) || v === "Skew Axis" ? u.skewAxis : null; } var y = propertyGroupFactory(u, m); return ( f.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity", y)), f.transform.mProps.p.setGroupProperty(PropertyInterface("Position", y)), f.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point", y)), f.transform.mProps.s.setGroupProperty(PropertyInterface("Scale", y)), f.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation", y)), f.transform.mProps.sk && (f.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew", y)), f.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle", y))), f.transform.op.setGroupProperty(PropertyInterface("Opacity", y)), Object.defineProperties(u, { opacity: { get: ExpressionPropertyInterface(f.transform.mProps.o) }, position: { get: ExpressionPropertyInterface(f.transform.mProps.p) }, anchorPoint: { get: ExpressionPropertyInterface(f.transform.mProps.a) }, scale: { get: ExpressionPropertyInterface(f.transform.mProps.s) }, rotation: { get: ExpressionPropertyInterface(f.transform.mProps.r) }, skew: { get: ExpressionPropertyInterface(f.transform.mProps.sk) }, skewAxis: { get: ExpressionPropertyInterface(f.transform.mProps.sa) }, _name: { value: d.nm }, }), (u.ty = "tr"), (u.mn = d.mn), (u.propertyGroup = m), u ); } function l(d, f, m) { function u(E) { return d.p.ix === E ? u.position : d.s.ix === E ? u.size : null; } var y = propertyGroupFactory(u, m); u.propertyIndex = d.ix; var v = f.sh.ty === "tm" ? f.sh.prop : f.sh; return ( v.s.setGroupProperty(PropertyInterface("Size", y)), v.p.setGroupProperty(PropertyInterface("Position", y)), Object.defineProperties(u, { size: { get: ExpressionPropertyInterface(v.s) }, position: { get: ExpressionPropertyInterface(v.p) }, _name: { value: d.nm } }), (u.mn = d.mn), u ); } function p(d, f, m) { function u(E) { return d.p.ix === E ? u.position : d.r.ix === E ? u.rotation : d.pt.ix === E ? u.points : d.or.ix === E || E === "ADBE Vector Star Outer Radius" ? u.outerRadius : d.os.ix === E ? u.outerRoundness : !d.ir || (d.ir.ix !== E && E !== "ADBE Vector Star Inner Radius") ? d.is && d.is.ix === E ? u.innerRoundness : null : u.innerRadius; } var y = propertyGroupFactory(u, m), v = f.sh.ty === "tm" ? f.sh.prop : f.sh; return ( (u.propertyIndex = d.ix), v.or.setGroupProperty(PropertyInterface("Outer Radius", y)), v.os.setGroupProperty(PropertyInterface("Outer Roundness", y)), v.pt.setGroupProperty(PropertyInterface("Points", y)), v.p.setGroupProperty(PropertyInterface("Position", y)), v.r.setGroupProperty(PropertyInterface("Rotation", y)), d.ir && (v.ir.setGroupProperty(PropertyInterface("Inner Radius", y)), v.is.setGroupProperty(PropertyInterface("Inner Roundness", y))), Object.defineProperties(u, { position: { get: ExpressionPropertyInterface(v.p) }, rotation: { get: ExpressionPropertyInterface(v.r) }, points: { get: ExpressionPropertyInterface(v.pt) }, outerRadius: { get: ExpressionPropertyInterface(v.or) }, outerRoundness: { get: ExpressionPropertyInterface(v.os) }, innerRadius: { get: ExpressionPropertyInterface(v.ir) }, innerRoundness: { get: ExpressionPropertyInterface(v.is) }, _name: { value: d.nm }, }), (u.mn = d.mn), u ); } function c(d, f, m) { function u(E) { return d.p.ix === E ? u.position : d.r.ix === E ? u.roundness : d.s.ix === E || E === "Size" || E === "ADBE Vector Rect Size" ? u.size : null; } var y = propertyGroupFactory(u, m), v = f.sh.ty === "tm" ? f.sh.prop : f.sh; return ( (u.propertyIndex = d.ix), v.p.setGroupProperty(PropertyInterface("Position", y)), v.s.setGroupProperty(PropertyInterface("Size", y)), v.r.setGroupProperty(PropertyInterface("Rotation", y)), Object.defineProperties(u, { position: { get: ExpressionPropertyInterface(v.p) }, roundness: { get: ExpressionPropertyInterface(v.r) }, size: { get: ExpressionPropertyInterface(v.s) }, _name: { value: d.nm }, }), (u.mn = d.mn), u ); } function h(d, f, m) { function u(E) { return d.r.ix === E || E === "Round Corners 1" ? u.radius : null; } var y = propertyGroupFactory(u, m), v = f; return ( (u.propertyIndex = d.ix), v.rd.setGroupProperty(PropertyInterface("Radius", y)), Object.defineProperties(u, { radius: { get: ExpressionPropertyInterface(v.rd) }, _name: { value: d.nm } }), (u.mn = d.mn), u ); } function g(d, f, m) { function u(E) { return d.c.ix === E || E === "Copies" ? u.copies : d.o.ix === E || E === "Offset" ? u.offset : null; } var y = propertyGroupFactory(u, m), v = f; return ( (u.propertyIndex = d.ix), v.c.setGroupProperty(PropertyInterface("Copies", y)), v.o.setGroupProperty(PropertyInterface("Offset", y)), Object.defineProperties(u, { copies: { get: ExpressionPropertyInterface(v.c) }, offset: { get: ExpressionPropertyInterface(v.o) }, _name: { value: d.nm } }), (u.mn = d.mn), u ); } return function (d, f, m) { var u; function y(v) { if (typeof v == "number") return (v = v === void 0 ? 1 : v) === 0 ? m : u[v - 1]; for (var E = 0, b = u.length; E < b;) { if (u[E]._name === v) return u[E]; E += 1; } return null; } return ( (y.propertyGroup = propertyGroupFactory(y, function () { return m; })), (u = e(d, f, y.propertyGroup)), (y.numProperties = u.length), (y._name = "Contents"), y ); }; })(), TextExpressionInterface = function (e) { var t; function r(n) { return n === "ADBE Text Document" ? r.sourceText : null; } return ( Object.defineProperty(r, "sourceText", { get: function () { e.textProperty.getValue(); var n = e.textProperty.currentData.t; return ( (t && n === t.value) || (((t = new String(n)).value = n || new String(n)), Object.defineProperty(t, "style", { get: function () { return { fillColor: e.textProperty.currentData.fc }; }, })), t ); }, }), r ); }; function _typeof(e) { return ( (_typeof = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function (t) { return typeof t; } : function (t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }), _typeof(e) ); } var FootageInterface = ((dataInterfaceFactory = function (e) { function t(r) { return r === "Outline" ? t.outlineInterface() : null; } return ( (t._name = "Outline"), (t.outlineInterface = (function (r) { var n = "", i = r.getFootageData(); function a(s) { if (i[s]) return (n = s), _typeof((i = i[s])) === "object" ? a : i; var o = s.indexOf(n); if (o !== -1) { var l = parseInt(s.substr(o + n.length), 10); return _typeof((i = i[l])) === "object" ? a : i; } return ""; } return function () { return (n = ""), (i = r.getFootageData()), a; }; })(e)), t ); }), function (e) { function t(r) { return r === "Data" ? t.dataInterface : null; } return (t._name = "Data"), (t.dataInterface = dataInterfaceFactory(e)), t; }), dataInterfaceFactory, interfaces = { layer: LayerExpressionInterface, effects: EffectsExpressionInterface, comp: CompExpressionInterface, shape: ShapeExpressionInterface, text: TextExpressionInterface, footage: FootageInterface }; function getInterface(e) { return interfaces[e] || null; } var expressionHelpers = { searchExpressions: function (e, t, r) { t.x && ((r.k = !0), (r.x = !0), (r.initiateExpression = ExpressionManager.initiateExpression), r.effectsSequence.push(r.initiateExpression(e, t, r).bind(r))); }, getSpeedAtTime: function (e) { var t = this.getValueAtTime(e), r = this.getValueAtTime(e + -0.01), n = 0; if (t.length) { var i; for (i = 0; i < t.length; i += 1) n += Math.pow(r[i] - t[i], 2); n = 100 * Math.sqrt(n); } else n = 0; return n; }, getVelocityAtTime: function (e) { if (this.vel !== void 0) return this.vel; var t, r, n = -0.001, i = this.getValueAtTime(e), a = this.getValueAtTime(e + n); if (i.length) for (t = createTypedArray("float32", i.length), r = 0; r < i.length; r += 1) t[r] = (a[r] - i[r]) / n; else t = (a - i) / n; return t; }, getValueAtTime: function (e) { return ( (e *= this.elem.globalData.frameRate), (e -= this.offsetTime) !== this._cachingAtTime.lastFrame && ((this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < e ? this._cachingAtTime.lastIndex : 0), (this._cachingAtTime.value = this.interpolateValue(e, this._cachingAtTime)), (this._cachingAtTime.lastFrame = e)), this._cachingAtTime.value ); }, getStaticValueAtTime: function () { return this.pv; }, setGroupProperty: function (e) { this.propertyGroup = e; }, }; function addPropertyDecorator() { function e(h, g, d) { if (!this.k || !this.keyframes) return this.pv; h = h ? h.toLowerCase() : ""; var f, m, u, y, v, E = this.comp.renderedFrame, b = this.keyframes, T = b[b.length - 1].t; if (E <= T) return this.pv; if ( (d ? (m = T - (f = g ? Math.abs(T - this.elem.comp.globalData.frameRate * g) : Math.max(0, T - this.elem.data.ip))) : ((!g || g > b.length - 1) && (g = b.length - 1), (f = T - (m = b[b.length - 1 - g].t))), h === "pingpong") ) { if (Math.floor((E - m) / f) % 2 != 0) return this.getValueAtTime((f - ((E - m) % f) + m) / this.comp.globalData.frameRate, 0); } else { if (h === "offset") { var A = this.getValueAtTime(m / this.comp.globalData.frameRate, 0), x = this.getValueAtTime(T / this.comp.globalData.frameRate, 0), C = this.getValueAtTime((((E - m) % f) + m) / this.comp.globalData.frameRate, 0), k = Math.floor((E - m) / f); if (this.pv.length) { for (y = (v = new Array(A.length)).length, u = 0; u < y; u += 1) v[u] = (x[u] - A[u]) * k + C[u]; return v; } return (x - A) * k + C; } if (h === "continue") { var D = this.getValueAtTime(T / this.comp.globalData.frameRate, 0), I = this.getValueAtTime((T - 0.001) / this.comp.globalData.frameRate, 0); if (this.pv.length) { for (y = (v = new Array(D.length)).length, u = 0; u < y; u += 1) v[u] = D[u] + ((D[u] - I[u]) * ((E - T) / this.comp.globalData.frameRate)) / 5e-4; return v; } return D + ((E - T) / 0.001) * (D - I); } } return this.getValueAtTime((((E - m) % f) + m) / this.comp.globalData.frameRate, 0); } function t(h, g, d) { if (!this.k) return this.pv; h = h ? h.toLowerCase() : ""; var f, m, u, y, v, E = this.comp.renderedFrame, b = this.keyframes, T = b[0].t; if (E >= T) return this.pv; if ((d ? (m = T + (f = g ? Math.abs(this.elem.comp.globalData.frameRate * g) : Math.max(0, this.elem.data.op - T))) : ((!g || g > b.length - 1) && (g = b.length - 1), (f = (m = b[g].t) - T)), h === "pingpong")) { if (Math.floor((T - E) / f) % 2 == 0) return this.getValueAtTime((((T - E) % f) + T) / this.comp.globalData.frameRate, 0); } else { if (h === "offset") { var A = this.getValueAtTime(T / this.comp.globalData.frameRate, 0), x = this.getValueAtTime(m / this.comp.globalData.frameRate, 0), C = this.getValueAtTime((f - ((T - E) % f) + T) / this.comp.globalData.frameRate, 0), k = Math.floor((T - E) / f) + 1; if (this.pv.length) { for (y = (v = new Array(A.length)).length, u = 0; u < y; u += 1) v[u] = C[u] - (x[u] - A[u]) * k; return v; } return C - (x - A) * k; } if (h === "continue") { var D = this.getValueAtTime(T / this.comp.globalData.frameRate, 0), I = this.getValueAtTime((T + 0.001) / this.comp.globalData.frameRate, 0); if (this.pv.length) { for (y = (v = new Array(D.length)).length, u = 0; u < y; u += 1) v[u] = D[u] + ((D[u] - I[u]) * (T - E)) / 0.001; return v; } return D + ((D - I) * (T - E)) / 0.001; } } return this.getValueAtTime((f - (((T - E) % f) + T)) / this.comp.globalData.frameRate, 0); } function r(h, g) { if (!this.k) return this.pv; if (((h = 0.5 * (h || 0.4)), (g = Math.floor(g || 5)) <= 1)) return this.pv; var d, f, m = this.comp.renderedFrame / this.comp.globalData.frameRate, u = m - h, y = g > 1 ? (m + h - u) / (g - 1) : 1, v = 0, E = 0; for (d = this.pv.length ? createTypedArray("float32", this.pv.length) : 0; v < g;) { if (((f = this.getValueAtTime(u + v * y)), this.pv.length)) for (E = 0; E < this.pv.length; E += 1) d[E] += f[E]; else d += f; v += 1; } if (this.pv.length) for (E = 0; E < this.pv.length; E += 1) d[E] /= g; else d /= g; return d; } function n(h) { this._transformCachingAtTime || (this._transformCachingAtTime = { v: new Matrix() }); var g = this._transformCachingAtTime.v; if ((g.cloneFromProps(this.pre.props), this.appliedTransformations < 1)) { var d = this.a.getValueAtTime(h); g.translate(-d[0] * this.a.mult, -d[1] * this.a.mult, d[2] * this.a.mult); } if (this.appliedTransformations < 2) { var f = this.s.getValueAtTime(h); g.scale(f[0] * this.s.mult, f[1] * this.s.mult, f[2] * this.s.mult); } if (this.sk && this.appliedTransformations < 3) { var m = this.sk.getValueAtTime(h), u = this.sa.getValueAtTime(h); g.skewFromAxis(-m * this.sk.mult, u * this.sa.mult); } if (this.r && this.appliedTransformations < 4) { var y = this.r.getValueAtTime(h); g.rotate(-y * this.r.mult); } else if (!this.r && this.appliedTransformations < 4) { var v = this.rz.getValueAtTime(h), E = this.ry.getValueAtTime(h), b = this.rx.getValueAtTime(h), T = this.or.getValueAtTime(h); g.rotateZ(-v * this.rz.mult) .rotateY(E * this.ry.mult) .rotateX(b * this.rx.mult) .rotateZ(-T[2] * this.or.mult) .rotateY(T[1] * this.or.mult) .rotateX(T[0] * this.or.mult); } if (this.data.p && this.data.p.s) { var A = this.px.getValueAtTime(h), x = this.py.getValueAtTime(h); if (this.data.p.z) { var C = this.pz.getValueAtTime(h); g.translate(A * this.px.mult, x * this.py.mult, -C * this.pz.mult); } else g.translate(A * this.px.mult, x * this.py.mult, 0); } else { var k = this.p.getValueAtTime(h); g.translate(k[0] * this.p.mult, k[1] * this.p.mult, -k[2] * this.p.mult); } return g; } function i() { return this.v.clone(new Matrix()); } var a = TransformPropertyFactory.getTransformProperty; TransformPropertyFactory.getTransformProperty = function (h, g, d) { var f = a(h, g, d); return f.dynamicProperties.length ? (f.getValueAtTime = n.bind(f)) : (f.getValueAtTime = i.bind(f)), (f.setGroupProperty = expressionHelpers.setGroupProperty), f; }; var s = PropertyFactory.getProp; PropertyFactory.getProp = function (h, g, d, f, m) { var u = s(h, g, d, f, m); u.kf ? (u.getValueAtTime = expressionHelpers.getValueAtTime.bind(u)) : (u.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(u)), (u.setGroupProperty = expressionHelpers.setGroupProperty), (u.loopOut = e), (u.loopIn = t), (u.smooth = r), (u.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(u)), (u.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(u)), (u.numKeys = g.a === 1 ? g.k.length : 0), (u.propertyIndex = g.ix); var y = 0; return ( d !== 0 && (y = createTypedArray("float32", g.a === 1 ? g.k[0].s.length : g.k.length)), (u._cachingAtTime = { lastFrame: initialDefaultFrame, lastIndex: 0, value: y }), expressionHelpers.searchExpressions(h, g, u), u.k && m.addDynamicProperty(u), u ); }; var o = ShapePropertyFactory.getConstructorFunction(), l = ShapePropertyFactory.getKeyframedConstructorFunction(); function p() { } (p.prototype = { vertices: function (h, g) { this.k && this.getValue(); var d, f = this.v; g !== void 0 && (f = this.getValueAtTime(g, 0)); var m = f._length, u = f[h], y = f.v, v = createSizedArray(m); for (d = 0; d < m; d += 1) v[d] = h === "i" || h === "o" ? [u[d][0] - y[d][0], u[d][1] - y[d][1]] : [u[d][0], u[d][1]]; return v; }, points: function (h) { return this.vertices("v", h); }, inTangents: function (h) { return this.vertices("i", h); }, outTangents: function (h) { return this.vertices("o", h); }, isClosed: function () { return this.v.c; }, pointOnPath: function (h, g) { var d = this.v; g !== void 0 && (d = this.getValueAtTime(g, 0)), this._segmentsLength || (this._segmentsLength = bez.getSegmentsLength(d)); for (var f, m = this._segmentsLength, u = m.lengths, y = m.totalLength * h, v = 0, E = u.length, b = 0; v < E;) { if (b + u[v].addedLength > y) { var T = v, A = d.c && v === E - 1 ? 0 : v + 1, x = (y - b) / u[v].addedLength; f = bez.getPointInSegment(d.v[T], d.v[A], d.o[T], d.i[A], x, u[v]); break; } (b += u[v].addedLength), (v += 1); } return f || (f = d.c ? [d.v[0][0], d.v[0][1]] : [d.v[d._length - 1][0], d.v[d._length - 1][1]]), f; }, vectorOnPath: function (h, g, d) { h == 1 ? (h = this.v.c) : h == 0 && (h = 0.999); var f = this.pointOnPath(h, g), m = this.pointOnPath(h + 0.001, g), u = m[0] - f[0], y = m[1] - f[1], v = Math.sqrt(Math.pow(u, 2) + Math.pow(y, 2)); return v === 0 ? [0, 0] : d === "tangent" ? [u / v, y / v] : [-y / v, u / v]; }, tangentOnPath: function (h, g) { return this.vectorOnPath(h, g, "tangent"); }, normalOnPath: function (h, g) { return this.vectorOnPath(h, g, "normal"); }, setGroupProperty: expressionHelpers.setGroupProperty, getValueAtTime: expressionHelpers.getStaticValueAtTime, }), extendPrototype([p], o), extendPrototype([p], l), (l.prototype.getValueAtTime = function (h) { return ( this._cachingAtTime || (this._cachingAtTime = { shapeValue: shapePool.clone(this.pv), lastIndex: 0, lastTime: initialDefaultFrame }), (h *= this.elem.globalData.frameRate), (h -= this.offsetTime) !== this._cachingAtTime.lastTime && ((this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < h ? this._caching.lastIndex : 0), (this._cachingAtTime.lastTime = h), this.interpolateShape(h, this._cachingAtTime.shapeValue, this._cachingAtTime)), this._cachingAtTime.shapeValue ); }), (l.prototype.initiateExpression = ExpressionManager.initiateExpression); var c = ShapePropertyFactory.getShapeProp; ShapePropertyFactory.getShapeProp = function (h, g, d, f, m) { var u = c(h, g, d, f, m); return (u.propertyIndex = g.ix), (u.lock = !1), d === 3 ? expressionHelpers.searchExpressions(h, g.pt, u) : d === 4 && expressionHelpers.searchExpressions(h, g.ks, u), u.k && h.addDynamicProperty(u), u; }; } function initialize$1() { addPropertyDecorator(); } function addDecorator() { (TextProperty.prototype.getExpressionValue = function (e, t) { var r = this.calculateExpression(t); if (e.t !== r) { var n = {}; return this.copyData(n, e), (n.t = r.toString()), (n.__complete = !1), n; } return e; }), (TextProperty.prototype.searchProperty = function () { var e = this.searchKeyframes(), t = this.searchExpressions(); return (this.kf = e || t), this.kf; }), (TextProperty.prototype.searchExpressions = function () { return this.data.d.x ? ((this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this)), this.addEffect(this.getExpressionValue.bind(this)), !0) : null; }); } function initialize() { addDecorator(); } function SVGComposableEffect() { } SVGComposableEffect.prototype = { createMergeNode: function (e, t) { var r, n, i = createNS("feMerge"); for (i.setAttribute("result", e), n = 0; n < t.length; n += 1) (r = createNS("feMergeNode")).setAttribute("in", t[n]), i.appendChild(r), i.appendChild(r); return i; }, }; var linearFilterValue = "0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0"; function SVGTintFilter(e, t, r, n, i) { this.filterManager = t; var a = createNS("feColorMatrix"); a.setAttribute("type", "matrix"), a.setAttribute("color-interpolation-filters", "linearRGB"), a.setAttribute("values", linearFilterValue + " 1 0"), (this.linearFilter = a), a.setAttribute("result", n + "_tint_1"), e.appendChild(a), (a = createNS("feColorMatrix")).setAttribute("type", "matrix"), a.setAttribute("color-interpolation-filters", "sRGB"), a.setAttribute("values", "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"), a.setAttribute("result", n + "_tint_2"), e.appendChild(a), (this.matrixFilter = a); var s = this.createMergeNode(n, [i, n + "_tint_1", n + "_tint_2"]); e.appendChild(s); } function SVGFillFilter(e, t, r, n) { this.filterManager = t; var i = createNS("feColorMatrix"); i.setAttribute("type", "matrix"), i.setAttribute("color-interpolation-filters", "sRGB"), i.setAttribute("values", "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"), i.setAttribute("result", n), e.appendChild(i), (this.matrixFilter = i); } function SVGStrokeEffect(e, t, r) { (this.initialized = !1), (this.filterManager = t), (this.elem = r), (this.paths = []); } function SVGTritoneFilter(e, t, r, n) { this.filterManager = t; var i = createNS("feColorMatrix"); i.setAttribute("type", "matrix"), i.setAttribute("color-interpolation-filters", "linearRGB"), i.setAttribute("values", "0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"), e.appendChild(i); var a = createNS("feComponentTransfer"); a.setAttribute("color-interpolation-filters", "sRGB"), a.setAttribute("result", n), (this.matrixFilter = a); var s = createNS("feFuncR"); s.setAttribute("type", "table"), a.appendChild(s), (this.feFuncR = s); var o = createNS("feFuncG"); o.setAttribute("type", "table"), a.appendChild(o), (this.feFuncG = o); var l = createNS("feFuncB"); l.setAttribute("type", "table"), a.appendChild(l), (this.feFuncB = l), e.appendChild(a); } function SVGProLevelsFilter(e, t, r, n) { this.filterManager = t; var i = this.filterManager.effectElements, a = createNS("feComponentTransfer"); (i[10].p.k || i[10].p.v !== 0 || i[11].p.k || i[11].p.v !== 1 || i[12].p.k || i[12].p.v !== 1 || i[13].p.k || i[13].p.v !== 0 || i[14].p.k || i[14].p.v !== 1) && (this.feFuncR = this.createFeFunc("feFuncR", a)), (i[17].p.k || i[17].p.v !== 0 || i[18].p.k || i[18].p.v !== 1 || i[19].p.k || i[19].p.v !== 1 || i[20].p.k || i[20].p.v !== 0 || i[21].p.k || i[21].p.v !== 1) && (this.feFuncG = this.createFeFunc("feFuncG", a)), (i[24].p.k || i[24].p.v !== 0 || i[25].p.k || i[25].p.v !== 1 || i[26].p.k || i[26].p.v !== 1 || i[27].p.k || i[27].p.v !== 0 || i[28].p.k || i[28].p.v !== 1) && (this.feFuncB = this.createFeFunc("feFuncB", a)), (i[31].p.k || i[31].p.v !== 0 || i[32].p.k || i[32].p.v !== 1 || i[33].p.k || i[33].p.v !== 1 || i[34].p.k || i[34].p.v !== 0 || i[35].p.k || i[35].p.v !== 1) && (this.feFuncA = this.createFeFunc("feFuncA", a)), (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) && (a.setAttribute("color-interpolation-filters", "sRGB"), e.appendChild(a)), (i[3].p.k || i[3].p.v !== 0 || i[4].p.k || i[4].p.v !== 1 || i[5].p.k || i[5].p.v !== 1 || i[6].p.k || i[6].p.v !== 0 || i[7].p.k || i[7].p.v !== 1) && ((a = createNS("feComponentTransfer")).setAttribute("color-interpolation-filters", "sRGB"), a.setAttribute("result", n), e.appendChild(a), (this.feFuncRComposed = this.createFeFunc("feFuncR", a)), (this.feFuncGComposed = this.createFeFunc("feFuncG", a)), (this.feFuncBComposed = this.createFeFunc("feFuncB", a))); } function SVGDropShadowEffect(e, t, r, n, i) { var a = t.container.globalData.renderConfig.filterSize, s = t.data.fs || a; e.setAttribute("x", s.x || a.x), e.setAttribute("y", s.y || a.y), e.setAttribute("width", s.width || a.width), e.setAttribute("height", s.height || a.height), (this.filterManager = t); var o = createNS("feGaussianBlur"); o.setAttribute("in", "SourceAlpha"), o.setAttribute("result", n + "_drop_shadow_1"), o.setAttribute("stdDeviation", "0"), (this.feGaussianBlur = o), e.appendChild(o); var l = createNS("feOffset"); l.setAttribute("dx", "25"), l.setAttribute("dy", "0"), l.setAttribute("in", n + "_drop_shadow_1"), l.setAttribute("result", n + "_drop_shadow_2"), (this.feOffset = l), e.appendChild(l); var p = createNS("feFlood"); p.setAttribute("flood-color", "#00ff00"), p.setAttribute("flood-opacity", "1"), p.setAttribute("result", n + "_drop_shadow_3"), (this.feFlood = p), e.appendChild(p); var c = createNS("feComposite"); c.setAttribute("in", n + "_drop_shadow_3"), c.setAttribute("in2", n + "_drop_shadow_2"), c.setAttribute("operator", "in"), c.setAttribute("result", n + "_drop_shadow_4"), e.appendChild(c); var h = this.createMergeNode(n, [n + "_drop_shadow_4", i]); e.appendChild(h); } extendPrototype([SVGComposableEffect], SVGTintFilter), (SVGTintFilter.prototype.renderFrame = function (e) { if (e || this.filterManager._mdf) { var t = this.filterManager.effectElements[0].p.v, r = this.filterManager.effectElements[1].p.v, n = this.filterManager.effectElements[2].p.v / 100; this.linearFilter.setAttribute("values", linearFilterValue + " " + n + " 0"), this.matrixFilter.setAttribute("values", r[0] - t[0] + " 0 0 0 " + t[0] + " " + (r[1] - t[1]) + " 0 0 0 " + t[1] + " " + (r[2] - t[2]) + " 0 0 0 " + t[2] + " 0 0 0 1 0"); } }), (SVGFillFilter.prototype.renderFrame = function (e) { if (e || this.filterManager._mdf) { var t = this.filterManager.effectElements[2].p.v, r = this.filterManager.effectElements[6].p.v; this.matrixFilter.setAttribute("values", "0 0 0 0 " + t[0] + " 0 0 0 0 " + t[1] + " 0 0 0 0 " + t[2] + " 0 0 0 " + r + " 0"); } }), (SVGStrokeEffect.prototype.initialize = function () { var e, t, r, n, i = this.elem.layerElement.children || this.elem.layerElement.childNodes; for ( this.filterManager.effectElements[1].p.v === 1 ? ((n = this.elem.maskManager.masksProperties.length), (r = 0)) : (n = (r = this.filterManager.effectElements[0].p.v - 1) + 1), (t = createNS("g")).setAttribute("fill", "none"), t.setAttribute("stroke-linecap", "round"), t.setAttribute("stroke-dashoffset", 1); r < n; r += 1 ) (e = createNS("path")), t.appendChild(e), this.paths.push({ p: e, m: r }); if (this.filterManager.effectElements[10].p.v === 3) { var a = createNS("mask"), s = createElementID(); a.setAttribute("id", s), a.setAttribute("mask-type", "alpha"), a.appendChild(t), this.elem.globalData.defs.appendChild(a); var o = createNS("g"); for (o.setAttribute("mask", "url(" + getLocationHref() + "#" + s + ")"); i[0];) o.appendChild(i[0]); this.elem.layerElement.appendChild(o), (this.masker = a), t.setAttribute("stroke", "#fff"); } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) { if (this.filterManager.effectElements[10].p.v === 2) for (i = this.elem.layerElement.children || this.elem.layerElement.childNodes; i.length;) this.elem.layerElement.removeChild(i[0]); this.elem.layerElement.appendChild(t), this.elem.layerElement.removeAttribute("mask"), t.setAttribute("stroke", "#fff"); } (this.initialized = !0), (this.pathMasker = t); }), (SVGStrokeEffect.prototype.renderFrame = function (e) { var t; this.initialized || this.initialize(); var r, n, i = this.paths.length; for (t = 0; t < i; t += 1) if ( this.paths[t].m !== -1 && ((r = this.elem.maskManager.viewData[this.paths[t].m]), (n = this.paths[t].p), (e || this.filterManager._mdf || r.prop._mdf) && n.setAttribute("d", r.lastPath), e || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || r.prop._mdf) ) { var a; if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) { var s = 0.01 * Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v), o = 0.01 * Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v), l = n.getTotalLength(); a = "0 0 0 " + l * s + " "; var p, c = l * (o - s), h = 1 + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * 0.01, g = Math.floor(c / h); for (p = 0; p < g; p += 1) a += "1 " + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * 0.01 + " "; a += "0 " + 10 * l + " 0 0"; } else a = "1 " + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * 0.01; n.setAttribute("stroke-dasharray", a); } if ( ((e || this.filterManager.effectElements[4].p._mdf) && this.pathMasker.setAttribute("stroke-width", 2 * this.filterManager.effectElements[4].p.v), (e || this.filterManager.effectElements[6].p._mdf) && this.pathMasker.setAttribute("opacity", this.filterManager.effectElements[6].p.v), (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) && (e || this.filterManager.effectElements[3].p._mdf)) ) { var d = this.filterManager.effectElements[3].p.v; this.pathMasker.setAttribute("stroke", "rgb(" + bmFloor(255 * d[0]) + "," + bmFloor(255 * d[1]) + "," + bmFloor(255 * d[2]) + ")"); } }), (SVGTritoneFilter.prototype.renderFrame = function (e) { if (e || this.filterManager._mdf) { var t = this.filterManager.effectElements[0].p.v, r = this.filterManager.effectElements[1].p.v, n = this.filterManager.effectElements[2].p.v, i = n[0] + " " + r[0] + " " + t[0], a = n[1] + " " + r[1] + " " + t[1], s = n[2] + " " + r[2] + " " + t[2]; this.feFuncR.setAttribute("tableValues", i), this.feFuncG.setAttribute("tableValues", a), this.feFuncB.setAttribute("tableValues", s); } }), (SVGProLevelsFilter.prototype.createFeFunc = function (e, t) { var r = createNS(e); return r.setAttribute("type", "table"), t.appendChild(r), r; }), (SVGProLevelsFilter.prototype.getTableValue = function (e, t, r, n, i) { for (var a, s, o = 0, l = Math.min(e, t), p = Math.max(e, t), c = Array.call(null, { length: 256 }), h = 0, g = i - n, d = t - e; o <= 256;) (s = (a = o / 256) <= l ? (d < 0 ? i : n) : a >= p ? (d < 0 ? n : i) : n + g * Math.pow((a - e) / d, 1 / r)), (c[h] = s), (h += 1), (o += 256 / 255); return c.join(" "); }), (SVGProLevelsFilter.prototype.renderFrame = function (e) { if (e || this.filterManager._mdf) { var t, r = this.filterManager.effectElements; this.feFuncRComposed && (e || r[3].p._mdf || r[4].p._mdf || r[5].p._mdf || r[6].p._mdf || r[7].p._mdf) && ((t = this.getTableValue(r[3].p.v, r[4].p.v, r[5].p.v, r[6].p.v, r[7].p.v)), this.feFuncRComposed.setAttribute("tableValues", t), this.feFuncGComposed.setAttribute("tableValues", t), this.feFuncBComposed.setAttribute("tableValues", t)), this.feFuncR && (e || r[10].p._mdf || r[11].p._mdf || r[12].p._mdf || r[13].p._mdf || r[14].p._mdf) && ((t = this.getTableValue(r[10].p.v, r[11].p.v, r[12].p.v, r[13].p.v, r[14].p.v)), this.feFuncR.setAttribute("tableValues", t)), this.feFuncG && (e || r[17].p._mdf || r[18].p._mdf || r[19].p._mdf || r[20].p._mdf || r[21].p._mdf) && ((t = this.getTableValue(r[17].p.v, r[18].p.v, r[19].p.v, r[20].p.v, r[21].p.v)), this.feFuncG.setAttribute("tableValues", t)), this.feFuncB && (e || r[24].p._mdf || r[25].p._mdf || r[26].p._mdf || r[27].p._mdf || r[28].p._mdf) && ((t = this.getTableValue(r[24].p.v, r[25].p.v, r[26].p.v, r[27].p.v, r[28].p.v)), this.feFuncB.setAttribute("tableValues", t)), this.feFuncA && (e || r[31].p._mdf || r[32].p._mdf || r[33].p._mdf || r[34].p._mdf || r[35].p._mdf) && ((t = this.getTableValue(r[31].p.v, r[32].p.v, r[33].p.v, r[34].p.v, r[35].p.v)), this.feFuncA.setAttribute("tableValues", t)); } }), extendPrototype([SVGComposableEffect], SVGDropShadowEffect), (SVGDropShadowEffect.prototype.renderFrame = function (e) { if (e || this.filterManager._mdf) { if (((e || this.filterManager.effectElements[4].p._mdf) && this.feGaussianBlur.setAttribute("stdDeviation", this.filterManager.effectElements[4].p.v / 4), e || this.filterManager.effectElements[0].p._mdf)) { var t = this.filterManager.effectElements[0].p.v; this.feFlood.setAttribute("flood-color", rgbToHex(Math.round(255 * t[0]), Math.round(255 * t[1]), Math.round(255 * t[2]))); } if ( ((e || this.filterManager.effectElements[1].p._mdf) && this.feFlood.setAttribute("flood-opacity", this.filterManager.effectElements[1].p.v / 255), e || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) ) { var r = this.filterManager.effectElements[3].p.v, n = (this.filterManager.effectElements[2].p.v - 90) * degToRads, i = r * Math.cos(n), a = r * Math.sin(n); this.feOffset.setAttribute("dx", i), this.feOffset.setAttribute("dy", a); } } }); var _svgMatteSymbols = []; function SVGMatte3Effect(e, t, r) { (this.initialized = !1), (this.filterManager = t), (this.filterElem = e), (this.elem = r), (r.matteElement = createNS("g")), r.matteElement.appendChild(r.layerElement), r.matteElement.appendChild(r.transformedElement), (r.baseElement = r.matteElement); } function SVGGaussianBlurEffect(e, t, r, n) { e.setAttribute("x", "-100%"), e.setAttribute("y", "-100%"), e.setAttribute("width", "300%"), e.setAttribute("height", "300%"), (this.filterManager = t); var i = createNS("feGaussianBlur"); i.setAttribute("result", n), e.appendChild(i), (this.feGaussianBlur = i); } function TransformEffect() { } function SVGTransformEffect(e, t) { this.init(t); } function CVTransformEffect(e) { this.init(e); } return ( (SVGMatte3Effect.prototype.findSymbol = function (e) { for (var t = 0, r = _svgMatteSymbols.length; t < r;) { if (_svgMatteSymbols[t] === e) return _svgMatteSymbols[t]; t += 1; } return null; }), (SVGMatte3Effect.prototype.replaceInParent = function (e, t) { var r = e.layerElement.parentNode; if (r) { for (var n, i = r.children, a = 0, s = i.length; a < s && i[a] !== e.layerElement;) a += 1; a <= s - 2 && (n = i[a + 1]); var o = createNS("use"); o.setAttribute("href", "#" + t), n ? r.insertBefore(o, n) : r.appendChild(o); } }), (SVGMatte3Effect.prototype.setElementAsMask = function (e, t) { if (!this.findSymbol(t)) { var r = createElementID(), n = createNS("mask"); n.setAttribute("id", t.layerId), n.setAttribute("mask-type", "alpha"), _svgMatteSymbols.push(t); var i = e.globalData.defs; i.appendChild(n); var a = createNS("symbol"); a.setAttribute("id", r), this.replaceInParent(t, r), a.appendChild(t.layerElement), i.appendChild(a); var s = createNS("use"); s.setAttribute("href", "#" + r), n.appendChild(s), (t.data.hd = !1), t.show(); } e.setMatte(t.layerId); }), (SVGMatte3Effect.prototype.initialize = function () { for (var e = this.filterManager.effectElements[0].p.v, t = this.elem.comp.elements, r = 0, n = t.length; r < n;) t[r] && t[r].data.ind === e && this.setElementAsMask(this.elem, t[r]), (r += 1); this.initialized = !0; }), (SVGMatte3Effect.prototype.renderFrame = function () { this.initialized || this.initialize(); }), (SVGGaussianBlurEffect.prototype.renderFrame = function (e) { if (e || this.filterManager._mdf) { var t = 0.3 * this.filterManager.effectElements[0].p.v, r = this.filterManager.effectElements[1].p.v, n = r == 3 ? 0 : t, i = r == 2 ? 0 : t; this.feGaussianBlur.setAttribute("stdDeviation", n + " " + i); var a = this.filterManager.effectElements[2].p.v == 1 ? "wrap" : "duplicate"; this.feGaussianBlur.setAttribute("edgeMode", a); } }), (TransformEffect.prototype.init = function (e) { (this.effectsManager = e), (this.type = effectTypes.TRANSFORM_EFFECT), (this.matrix = new Matrix()), (this.opacity = -1), (this._mdf = !1), (this._opMdf = !1); }), (TransformEffect.prototype.renderFrame = function (e) { if (((this._opMdf = !1), (this._mdf = !1), e || this.effectsManager._mdf)) { var t = this.effectsManager.effectElements, r = t[0].p.v, n = t[1].p.v, i = t[2].p.v === 1, a = t[3].p.v, s = i ? a : t[4].p.v, o = t[5].p.v, l = t[6].p.v, p = t[7].p.v; this.matrix.reset(), this.matrix.translate(-r[0], -r[1], r[2]), this.matrix.scale(0.01 * s, 0.01 * a, 1), this.matrix.rotate(-p * degToRads), this.matrix.skewFromAxis(-o * degToRads, (l + 90) * degToRads), this.matrix.translate(n[0], n[1], 0), (this._mdf = !0), this.opacity !== t[8].p.v && ((this.opacity = t[8].p.v), (this._opMdf = !0)); } }), extendPrototype([TransformEffect], SVGTransformEffect), extendPrototype([TransformEffect], CVTransformEffect), registerRenderer("canvas", CanvasRenderer), registerRenderer("html", HybridRenderer), registerRenderer("svg", SVGRenderer), ShapeModifiers.registerModifier("tm", TrimModifier), ShapeModifiers.registerModifier("pb", PuckerAndBloatModifier), ShapeModifiers.registerModifier("rp", RepeaterModifier), ShapeModifiers.registerModifier("rd", RoundCornersModifier), ShapeModifiers.registerModifier("zz", ZigZagModifier), ShapeModifiers.registerModifier("op", OffsetPathModifier), setExpressionsPlugin(Expressions), setExpressionInterfaces(getInterface), initialize$1(), initialize(), registerEffect$1(20, SVGTintFilter, !0), registerEffect$1(21, SVGFillFilter, !0), registerEffect$1(22, SVGStrokeEffect, !1), registerEffect$1(23, SVGTritoneFilter, !0), registerEffect$1(24, SVGProLevelsFilter, !0), registerEffect$1(25, SVGDropShadowEffect, !0), registerEffect$1(28, SVGMatte3Effect, !1), registerEffect$1(29, SVGGaussianBlurEffect, !0), registerEffect$1(35, SVGTransformEffect, !1), registerEffect(35, CVTransformEffect), lottie ); }); }); var g_ = _((JK, m_) => { "use strict"; var s9 = Ae(), cn = p_(), o9 = d_(); s9.define( "lottie", (m_.exports = function () { return { lottie: o9, createInstance: cn.createInstance, cleanupElement: cn.cleanupElement, init: cn.init, destroy: cn.destroy, ready: cn.ready }; }) ); }); var E_ = _((eY, v_) => { "use strict"; var Nl = Ae(), y_ = "w-condition-invisible", l9 = "." + y_; function u9(e) { return e.filter(function (t) { return !fn(t); }); } function fn(e) { return !!(e.$el && e.$el.closest(l9).length); } function ql(e, t) { for (var r = e; r >= 0; r--) if (!fn(t[r])) return r; return -1; } function Bl(e, t) { for (var r = e; r <= t.length - 1; r++) if (!fn(t[r])) return r; return -1; } function c9(e, t) { return ql(e - 1, t) === -1; } function h9(e, t) { return Bl(e + 1, t) === -1; } function hn(e, t) { e.attr("aria-label") || e.attr("aria-label", t); } function f9(e, t, r, n) { var i = r.tram, a = Array.isArray, s = "w-lightbox", o = s + "-", l = /(^|\s+)/g, p = [], c, h, g, d = []; function f(q, w) { return ( (p = a(q) ? q : [q]), h || f.build(), u9(p).length > 1 && ((h.items = h.empty), p.forEach(function (S, V) { var z = K("thumbnail"), G = K("item").prop("tabIndex", 0).attr("aria-controls", "w-lightbox-view").attr("role", "tab").append(z); hn(G, `show item ${V + 1} of ${p.length}`), fn(S) && G.addClass(y_), (h.items = h.items.add(G)), D(S.thumbnailUrl || S.url, function (Q) { Q.prop("width") > Q.prop("height") ? j(Q, "wide") : j(Q, "tall"), z.append(j(Q, "thumbnail-image")); }); }), h.strip.empty().append(h.items), j(h.content, "group")), i(te(h.lightbox, "hide").trigger("focus")).add("opacity .3s").start({ opacity: 1 }), j(h.html, "noscroll"), f.show(w || 0) ); } (f.build = function () { return ( f.destroy(), (h = { html: r(t.documentElement), empty: r() }), (h.arrowLeft = K("control left inactive").attr("role", "button").attr("aria-hidden", !0).attr("aria-controls", "w-lightbox-view")), (h.arrowRight = K("control right inactive").attr("role", "button").attr("aria-hidden", !0).attr("aria-controls", "w-lightbox-view")), (h.close = K("control close").attr("role", "button")), hn(h.arrowLeft, "previous image"), hn(h.arrowRight, "next image"), hn(h.close, "close lightbox"), (h.spinner = K("spinner") .attr("role", "progressbar") .attr("aria-live", "polite") .attr("aria-hidden", !1) .attr("aria-busy", !0) .attr("aria-valuemin", 0) .attr("aria-valuemax", 100) .attr("aria-valuenow", 0) .attr("aria-valuetext", "Loading image")), (h.strip = K("strip").attr("role", "tablist")), (g = new O(h.spinner, R("hide"))), (h.content = K("content").append(h.spinner, h.arrowLeft, h.arrowRight, h.close)), (h.container = K("container").append(h.content, h.strip)), (h.lightbox = K("backdrop hide").append(h.container)), h.strip.on("click", B("item"), E), h.content.on("swipe", b).on("click", B("left"), u).on("click", B("right"), y).on("click", B("close"), v).on("click", B("image, caption"), y), h.container.on("click", B("view"), v).on("dragstart", B("img"), A), h.lightbox.on("keydown", x).on("focusin", T), r(n).append(h.lightbox), f ); }), (f.destroy = function () { h && (te(h.html, "noscroll"), h.lightbox.remove(), (h = void 0)); }), (f.show = function (q) { if (q !== c) { var w = p[q]; if (!w) return f.hide(); if (fn(w)) { if (q < c) { var S = ql(q - 1, p); q = S > -1 ? S : q; } else { var V = Bl(q + 1, p); q = V > -1 ? V : q; } w = p[q]; } var z = c; (c = q), h.spinner.attr("aria-hidden", !1).attr("aria-busy", !0).attr("aria-valuenow", 0).attr("aria-valuetext", "Loading image"), g.show(); var G = (w.html && N(w.width, w.height)) || w.url; return ( D(G, function (Q) { if (q !== c) return; var ie = K("figure", "figure").append(j(Q, "image")), ee = K("frame").append(ie), F = K("view").prop("tabIndex", 0).attr("id", "w-lightbox-view").append(ee), J, ne; w.html && ((J = r(w.html)), (ne = J.is("iframe")), ne && J.on("load", Y), ie.append(j(J, "embed"))), w.caption && ie.append(K("caption", "figcaption").text(w.caption)), h.spinner.before(F), ne || Y(); function Y() { if ((h.spinner.attr("aria-hidden", !0).attr("aria-busy", !1).attr("aria-valuenow", 100).attr("aria-valuetext", "Loaded image"), g.hide(), q !== c)) { F.remove(); return; } let he = c9(q, p); P(h.arrowLeft, "inactive", he), W(h.arrowLeft, he), he && h.arrowLeft.is(":focus") && h.arrowRight.focus(); let ye = h9(q, p); if ( (P(h.arrowRight, "inactive", ye), W(h.arrowRight, ye), ye && h.arrowRight.is(":focus") && h.arrowLeft.focus(), h.view ? (i(h.view).add("opacity .3s").start({ opacity: 0 }).then(I(h.view)), i(F) .add("opacity .3s") .add("transform .3s") .set({ x: q > z ? "80px" : "-80px" }) .start({ opacity: 1, x: 0 })) : F.css("opacity", 1), (h.view = F), h.view.prop("tabIndex", 0), h.items) ) { te(h.items, "active"), h.items.removeAttr("aria-selected"); var be = h.items.eq(q); j(be, "active"), be.attr("aria-selected", !0), L(be); } } }), h.close.prop("tabIndex", 0), r(":focus").addClass("active-lightbox"), d.length === 0 && (r("body") .children() .each(function () { r(this).hasClass("w-lightbox-backdrop") || r(this).is("script") || (d.push({ node: r(this), hidden: r(this).attr("aria-hidden"), tabIndex: r(this).attr("tabIndex") }), r(this).attr("aria-hidden", !0).attr("tabIndex", -1)); }), h.close.focus()), f ); } }), (f.hide = function () { return i(h.lightbox).add("opacity .3s").start({ opacity: 0 }).then(k), f; }), (f.prev = function () { var q = ql(c - 1, p); q > -1 && f.show(q); }), (f.next = function () { var q = Bl(c + 1, p); q > -1 && f.show(q); }); function m(q) { return function (w) { this === w.target && (w.stopPropagation(), w.preventDefault(), q()); }; } var u = m(f.prev), y = m(f.next), v = m(f.hide), E = function (q) { var w = r(this).index(); q.preventDefault(), f.show(w); }, b = function (q, w) { q.preventDefault(), w.direction === "left" ? f.next() : w.direction === "right" && f.prev(); }, T = function () { this.focus(); }; function A(q) { q.preventDefault(); } function x(q) { var w = q.keyCode; w === 27 || C(w, "close") ? f.hide() : w === 37 || C(w, "left") ? f.prev() : w === 39 || C(w, "right") ? f.next() : C(w, "item") && r(":focus").click(); } function C(q, w) { if (q !== 13 && q !== 32) return !1; var S = r(":focus").attr("class"), V = R(w).trim(); return S.includes(V); } function k() { h && (h.strip.scrollLeft(0).empty(), te(h.html, "noscroll"), j(h.lightbox, "hide"), h.view && h.view.remove(), te(h.content, "group"), j(h.arrowLeft, "inactive"), j(h.arrowRight, "inactive"), (c = h.view = void 0), d.forEach(function (q) { var w = q.node; w && (q.hidden ? w.attr("aria-hidden", q.hidden) : w.removeAttr("aria-hidden"), q.tabIndex ? w.attr("tabIndex", q.tabIndex) : w.removeAttr("tabIndex")); }), (d = []), r(".active-lightbox").removeClass("active-lightbox").focus()); } function D(q, w) { var S = K("img", "img"); return ( S.one("load", function () { w(S); }), S.attr("src", q), S ); } function I(q) { return function () { q.remove(); }; } function L(q) { var w = q.get(0), S = h.strip.get(0), V = w.offsetLeft, z = w.clientWidth, G = S.scrollLeft, Q = S.clientWidth, ie = S.scrollWidth - Q, ee; V < G ? (ee = Math.max(0, V + z - Q)) : V + z > Q + G && (ee = Math.min(V, ie)), ee != null && i(h.strip).add("scroll-left 500ms").start({ "scroll-left": ee }); } function O(q, w, S) { (this.$element = q), (this.className = w), (this.delay = S || 200), this.hide(); } (O.prototype.show = function () { var q = this; q.timeoutId || (q.timeoutId = setTimeout(function () { q.$element.removeClass(q.className), delete q.timeoutId; }, q.delay)); }), (O.prototype.hide = function () { var q = this; if (q.timeoutId) { clearTimeout(q.timeoutId), delete q.timeoutId; return; } q.$element.addClass(q.className); }); function R(q, w) { return q.replace(l, (w ? " ." : " ") + o); } function B(q) { return R(q, !0); } function j(q, w) { return q.addClass(R(w)); } function te(q, w) { return q.removeClass(R(w)); } function P(q, w, S) { return q.toggleClass(R(w), S); } function W(q, w) { return q.attr("aria-hidden", w).attr("tabIndex", w ? -1 : 0); } function K(q, w) { return j(r(t.createElement(w || "div")), q); } function N(q, w) { var S = ''; return "data:image/svg+xml;charset=utf-8," + encodeURI(S); } return ( (function () { var q = e.navigator.userAgent, w = /(iPhone|iPad|iPod);[^OS]*OS (\d)/, S = q.match(w), V = q.indexOf("Android ") > -1 && q.indexOf("Chrome") === -1; if (!V && (!S || S[2] > 7)) return; var z = t.createElement("style"); t.head.appendChild(z), e.addEventListener("resize", G, !0); function G() { var Q = e.innerHeight, ie = e.innerWidth, ee = ".w-lightbox-content, .w-lightbox-view, .w-lightbox-view:before {height:" + Q + "px}.w-lightbox-view {width:" + ie + "px}.w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-view:before {height:" + 0.86 * Q + "px}.w-lightbox-image {max-width:" + ie + "px;max-height:" + Q + "px}.w-lightbox-group .w-lightbox-image {max-height:" + 0.86 * Q + "px}.w-lightbox-strip {padding: 0 " + 0.01 * Q + "px}.w-lightbox-item {width:" + 0.1 * Q + "px;padding:" + 0.02 * Q + "px " + 0.01 * Q + "px}.w-lightbox-thumbnail {height:" + 0.1 * Q + "px}@media (min-width: 768px) {.w-lightbox-content, .w-lightbox-view, .w-lightbox-view:before {height:" + 0.96 * Q + "px}.w-lightbox-content {margin-top:" + 0.02 * Q + "px}.w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-view:before {height:" + 0.84 * Q + "px}.w-lightbox-image {max-width:" + 0.96 * ie + "px;max-height:" + 0.96 * Q + "px}.w-lightbox-group .w-lightbox-image {max-width:" + 0.823 * ie + "px;max-height:" + 0.84 * Q + "px}}"; z.textContent = ee; } G(); })(), f ); } Nl.define( "lightbox", (v_.exports = function (e) { var t = {}, r = Nl.env(), n = f9(window, document, e, r ? "#lightbox-mountpoint" : "body"), i = e(document), a, s, o = ".w-lightbox", l; t.ready = t.design = t.preview = p; function p() { (s = r && Nl.env("design")), n.destroy(), (l = {}), (a = i.find(o)), a.webflowLightBox(), a.each(function () { hn(e(this), "open lightbox"), e(this).attr("aria-haspopup", "dialog"); }); } jQuery.fn.extend({ webflowLightBox: function () { var d = this; e.each(d, function (f, m) { var u = e.data(m, o); u || (u = e.data(m, o, { el: e(m), mode: "images", images: [], embed: "" })), u.el.off(o), c(u), s ? u.el.on("setting" + o, c.bind(null, u)) : u.el.on("click" + o, h(u)).on("click" + o, function (y) { y.preventDefault(); }); }); }, }); function c(d) { var f = d.el.children(".w-json").html(), m, u; if (!f) { d.items = []; return; } try { f = JSON.parse(f); } catch (y) { console.error("Malformed lightbox JSON configuration.", y); } g(f), f.items.forEach(function (y) { y.$el = d.el; }), (m = f.group), m ? ((u = l[m]), u || (u = l[m] = []), (d.items = u), f.items.length && ((d.index = u.length), u.push.apply(u, f.items))) : ((d.items = f.items), (d.index = 0)); } function h(d) { return function () { d.items.length && n(d.items, d.index || 0); }; } function g(d) { d.images && (d.images.forEach(function (f) { f.type = "image"; }), (d.items = d.images)), d.embed && ((d.embed.type = "video"), (d.items = [d.embed])), d.groupId && (d.group = d.groupId); } return t; }) ); }); Zl(); eu(); ru(); au(); ou(); uu(); hu(); Lv(); Ir(); Wv(); Xv(); $v(); Zv(); e0(); g_(); E_(); Webflow.require("ix2").init({ events: { "e-1249": { id: "e-1249", name: "", animationType: "preset", eventTypeId: "SCROLL_INTO_VIEW", action: { id: "", actionTypeId: "SLIDE_EFFECT", instant: !1, config: { actionListId: "slideInBottom", autoStopEventId: "e-1250" } }, mediaQueries: ["main", "medium", "small", "tiny"], target: { selector: ".production-feature-image-main", originalId: "65e89895c5a4b8d764c0d712|1b713b2d-6de4-ee93-ac6a-a2cd95177e2a", appliesTo: "CLASS" }, targets: [{ selector: ".production-feature-image-main", originalId: "65e89895c5a4b8d764c0d712|1b713b2d-6de4-ee93-ac6a-a2cd95177e2a", appliesTo: "CLASS" }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: 10, scrollOffsetUnit: "%", delay: 0, direction: "BOTTOM", effectIn: !0 }, createdOn: 1642374764466, }, "e-2184": { id: "e-2184", name: "", animationType: "preset", eventTypeId: "SCROLL_INTO_VIEW", action: { id: "", actionTypeId: "SLIDE_EFFECT", instant: !1, config: { actionListId: "slideInBottom", autoStopEventId: "e-2185" } }, mediaQueries: ["main", "medium", "small", "tiny"], target: { id: "65e89895c5a4b8d764c0dc4c|795b4fd4-5715-2b8c-bbe6-45a7b14dea56", appliesTo: "ELEMENT", styleBlockIds: [] }, targets: [{ id: "65e89895c5a4b8d764c0dc4c|795b4fd4-5715-2b8c-bbe6-45a7b14dea56", appliesTo: "ELEMENT", styleBlockIds: [] }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: 10, scrollOffsetUnit: "%", delay: 0, direction: "BOTTOM", effectIn: !0 }, createdOn: 1647960985181, }, "e-2186": { id: "e-2186", name: "", animationType: "preset", eventTypeId: "SCROLL_INTO_VIEW", action: { id: "", actionTypeId: "SLIDE_EFFECT", instant: !1, config: { actionListId: "slideInBottom", autoStopEventId: "e-2187" } }, mediaQueries: ["main", "medium", "small", "tiny"], target: { id: "65e89895c5a4b8d764c0dc4c|795b4fd4-5715-2b8c-bbe6-45a7b14dea4e", appliesTo: "ELEMENT", styleBlockIds: [] }, targets: [{ id: "65e89895c5a4b8d764c0dc4c|795b4fd4-5715-2b8c-bbe6-45a7b14dea4e", appliesTo: "ELEMENT", styleBlockIds: [] }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: 10, scrollOffsetUnit: "%", delay: 0, direction: "BOTTOM", effectIn: !0 }, createdOn: 1647960985181, }, "e-6459": { id: "e-6459", name: "", animationType: "custom", eventTypeId: "DROPDOWN_OPEN", action: { id: "", actionTypeId: "GENERAL_START_ACTION", config: { delay: 0, easing: "", duration: 0, actionListId: "a-482", affectedElements: {}, playInReverse: !1, autoStopEventId: "e-6460" } }, mediaQueries: ["small", "tiny"], target: { selector: ".voiceover-form-dropdown-wrapper", originalId: "65e89895c5a4b8d764c0da60|186eddfe-0998-7ad2-417e-c292d3367f73", appliesTo: "CLASS" }, targets: [{ selector: ".voiceover-form-dropdown-wrapper", originalId: "65e89895c5a4b8d764c0da60|186eddfe-0998-7ad2-417e-c292d3367f73", appliesTo: "CLASS" }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: null, scrollOffsetUnit: null, delay: null, direction: null, effectIn: null }, createdOn: 1693495641856, }, "e-6460": { id: "e-6460", name: "", animationType: "custom", eventTypeId: "DROPDOWN_CLOSE", action: { id: "", actionTypeId: "GENERAL_START_ACTION", config: { delay: 0, easing: "", duration: 0, actionListId: "a-483", affectedElements: {}, playInReverse: !1, autoStopEventId: "e-6459" } }, mediaQueries: ["small", "tiny"], target: { selector: ".voiceover-form-dropdown-wrapper", originalId: "65e89895c5a4b8d764c0da60|186eddfe-0998-7ad2-417e-c292d3367f73", appliesTo: "CLASS" }, targets: [{ selector: ".voiceover-form-dropdown-wrapper", originalId: "65e89895c5a4b8d764c0da60|186eddfe-0998-7ad2-417e-c292d3367f73", appliesTo: "CLASS" }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: null, scrollOffsetUnit: null, delay: null, direction: null, effectIn: null }, createdOn: 1693495641862, }, "e-7400": { id: "e-7400", name: "", animationType: "custom", eventTypeId: "SCROLLING_IN_VIEW", action: { id: "", actionTypeId: "GENERAL_CONTINUOUS_ACTION", config: { actionListId: "a-610", affectedElements: {}, duration: 0 } }, mediaQueries: ["main", "medium", "small", "tiny"], target: { selector: ".section_career-hero", originalId: "71bdb6b2-00fb-a90e-86d3-0e8c0e0db5f0", appliesTo: "CLASS" }, targets: [{ id: "71bdb6b2-00fb-a90e-86d3-0e8c0e0db5f0", appliesTo: "ELEMENT", styleBlockIds: [] }], config: [{ continuousParameterGroupId: "a-610-p", smoothing: 84, startsEntering: !0, addStartOffset: !1, addOffsetValue: 50, startsExiting: !1, addEndOffset: !1, endOffsetValue: 50 }], createdOn: 1698139739291, }, "e-7408": { id: "e-7408", name: "", animationType: "preset", eventTypeId: "SCROLL_INTO_VIEW", action: { id: "", actionTypeId: "FADE_EFFECT", instant: !1, config: { actionListId: "fadeIn", autoStopEventId: "e-7409" } }, mediaQueries: ["main", "medium", "small", "tiny"], target: { id: "65e89895c5a4b8d764c0db79|83a3d017-d404-9ad1-b09f-8d245967d65c", appliesTo: "ELEMENT", styleBlockIds: [] }, targets: [{ id: "65e89895c5a4b8d764c0db79|83a3d017-d404-9ad1-b09f-8d245967d65c", appliesTo: "ELEMENT", styleBlockIds: [] }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: 20, scrollOffsetUnit: "%", delay: 0, direction: null, effectIn: !0 }, createdOn: 1698242871884, }, "e-7416": { id: "e-7416", name: "", animationType: "preset", eventTypeId: "SCROLL_INTO_VIEW", action: { id: "", actionTypeId: "FADE_EFFECT", instant: !1, config: { actionListId: "fadeIn", autoStopEventId: "e-7417" } }, mediaQueries: ["main", "medium", "small", "tiny"], target: { id: "65e89895c5a4b8d764c0db79|d3b8b754-6d85-9869-09d7-dc12422eb986", appliesTo: "ELEMENT", styleBlockIds: [] }, targets: [{ id: "65e89895c5a4b8d764c0db79|d3b8b754-6d85-9869-09d7-dc12422eb986", appliesTo: "ELEMENT", styleBlockIds: [] }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: 20, scrollOffsetUnit: "%", delay: 150, direction: null, effectIn: !0 }, createdOn: 1698242894764, }, "e-7418": { id: "e-7418", name: "", animationType: "preset", eventTypeId: "SCROLL_INTO_VIEW", action: { id: "", actionTypeId: "FADE_EFFECT", instant: !1, config: { actionListId: "fadeIn", autoStopEventId: "e-7419" } }, mediaQueries: ["main", "medium", "small", "tiny"], target: { id: "65e89895c5a4b8d764c0db79|356e000d-4ce7-788d-ac9c-d5ce1154bebc", appliesTo: "ELEMENT", styleBlockIds: [] }, targets: [{ id: "65e89895c5a4b8d764c0db79|356e000d-4ce7-788d-ac9c-d5ce1154bebc", appliesTo: "ELEMENT", styleBlockIds: [] }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: 20, scrollOffsetUnit: "%", delay: 300, direction: null, effectIn: !0 }, createdOn: 1698242908488, }, "e-9369": { id: "e-9369", name: "", animationType: "custom", eventTypeId: "PAGE_SCROLL", action: { id: "", actionTypeId: "GENERAL_CONTINUOUS_ACTION", config: { actionListId: "a-526", affectedElements: {}, duration: 0 } }, mediaQueries: ["main", "medium", "small", "tiny"], target: { id: "65e89895c5a4b8d764c0dc67", appliesTo: "PAGE", styleBlockIds: [] }, targets: [{ id: "65e89895c5a4b8d764c0dc67", appliesTo: "PAGE", styleBlockIds: [] }], config: [{ continuousParameterGroupId: "a-526-p", smoothing: 50, startsEntering: !0, addStartOffset: !1, addOffsetValue: 50, startsExiting: !1, addEndOffset: !1, endOffsetValue: 50 }], createdOn: 1708421355057, }, "e-9520": { id: "e-9520", name: "", animationType: "preset", eventTypeId: "PAGE_SCROLL", action: { id: "", actionTypeId: "GENERAL_CONTINUOUS_ACTION", config: { actionListId: "a-526", affectedElements: {}, duration: 0 } }, mediaQueries: ["main", "medium", "small", "tiny"], target: { id: "6666fd5cac4b650669bedb29", appliesTo: "PAGE", styleBlockIds: [] }, targets: [{ id: "6666fd5cac4b650669bedb29", appliesTo: "PAGE", styleBlockIds: [] }], config: [{ continuousParameterGroupId: "a-526-p", smoothing: 50, startsEntering: !0, addStartOffset: !1, addOffsetValue: 50, startsExiting: !1, addEndOffset: !1, endOffsetValue: 50 }], createdOn: 1718025565103, }, "e-9583": { id: "e-9583", name: "", animationType: "custom", eventTypeId: "SLIDER_ACTIVE", action: { id: "", actionTypeId: "GENERAL_START_ACTION", config: { delay: 0, easing: "", duration: 0, actionListId: "a-719", affectedElements: {}, playInReverse: !1, autoStopEventId: "e-9584" } }, mediaQueries: ["main"], target: { selector: ".custom-avatar-slide", originalId: "66cd9e2f545a114c73069dfb|1983a38a-df2c-330e-43ee-e9a6c736e0c9", appliesTo: "CLASS" }, targets: [{ selector: ".custom-avatar-slide", originalId: "66cd9e2f545a114c73069dfb|1983a38a-df2c-330e-43ee-e9a6c736e0c9", appliesTo: "CLASS" }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: null, scrollOffsetUnit: null, delay: null, direction: null, effectIn: null }, createdOn: 1725026211685, }, "e-9584": { id: "e-9584", name: "", animationType: "custom", eventTypeId: "SLIDER_INACTIVE", action: { id: "", actionTypeId: "GENERAL_START_ACTION", config: { delay: 0, easing: "", duration: 0, actionListId: "a-720", affectedElements: {}, playInReverse: !1, autoStopEventId: "e-9583" } }, mediaQueries: ["main"], target: { selector: ".custom-avatar-slide", originalId: "66cd9e2f545a114c73069dfb|1983a38a-df2c-330e-43ee-e9a6c736e0c9", appliesTo: "CLASS" }, targets: [{ selector: ".custom-avatar-slide", originalId: "66cd9e2f545a114c73069dfb|1983a38a-df2c-330e-43ee-e9a6c736e0c9", appliesTo: "CLASS" }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: null, scrollOffsetUnit: null, delay: null, direction: null, effectIn: null }, createdOn: 1725026211688, }, "e-9585": { id: "e-9585", name: "", animationType: "custom", eventTypeId: "SLIDER_ACTIVE", action: { id: "", actionTypeId: "GENERAL_START_ACTION", config: { delay: 0, easing: "", duration: 0, actionListId: "a-721", affectedElements: {}, playInReverse: !1, autoStopEventId: "e-9586" } }, mediaQueries: ["medium", "small", "tiny"], target: { selector: ".custom-avatar-slide", originalId: "66cd9e2f545a114c73069dfb|1983a38a-df2c-330e-43ee-e9a6c736e0c9", appliesTo: "CLASS" }, targets: [{ selector: ".custom-avatar-slide", originalId: "66cd9e2f545a114c73069dfb|1983a38a-df2c-330e-43ee-e9a6c736e0c9", appliesTo: "CLASS" }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: null, scrollOffsetUnit: null, delay: null, direction: null, effectIn: null }, createdOn: 1725035330572, }, "e-9586": { id: "e-9586", name: "", animationType: "custom", eventTypeId: "SLIDER_INACTIVE", action: { id: "", actionTypeId: "GENERAL_START_ACTION", config: { delay: 0, easing: "", duration: 0, actionListId: "a-722", affectedElements: {}, playInReverse: !1, autoStopEventId: "e-9585" } }, mediaQueries: ["medium", "small", "tiny"], target: { selector: ".custom-avatar-slide", originalId: "66cd9e2f545a114c73069dfb|1983a38a-df2c-330e-43ee-e9a6c736e0c9", appliesTo: "CLASS" }, targets: [{ selector: ".custom-avatar-slide", originalId: "66cd9e2f545a114c73069dfb|1983a38a-df2c-330e-43ee-e9a6c736e0c9", appliesTo: "CLASS" }], config: { loop: !1, playInReverse: !1, scrollOffsetValue: null, scrollOffsetUnit: null, delay: null, direction: null, effectIn: null }, createdOn: 1725035330573, }, }, actionLists: { "a-482": { id: "a-482", title: "voiceover-form-dropdown-open", actionItemGroups: [ { actionItems: [ { id: "a-482-n", actionTypeId: "TRANSFORM_ROTATE", config: { delay: 0, easing: "", duration: 500, target: { useEventTarget: "CHILDREN", selector: ".icon-16", selectorGuids: ["0e547fe2-5bd2-4fcc-659d-82d5dce6abf9"] }, zValue: 0, xUnit: "DEG", yUnit: "DEG", zUnit: "deg", }, }, ], }, { actionItems: [ { id: "a-482-n-2", actionTypeId: "TRANSFORM_ROTATE", config: { delay: 0, easing: "ease", duration: 300, target: { useEventTarget: "CHILDREN", selector: ".icon-16", selectorGuids: ["0e547fe2-5bd2-4fcc-659d-82d5dce6abf9"] }, zValue: -180, xUnit: "DEG", yUnit: "DEG", zUnit: "deg", }, }, ], }, ], useFirstGroupAsInitialState: !0, createdOn: 1693495661562, }, "a-483": { id: "a-483", title: "voiceover-form-dropdown-close", actionItemGroups: [ { actionItems: [ { id: "a-483-n", actionTypeId: "TRANSFORM_ROTATE", config: { delay: 0, easing: "ease", duration: 300, target: { useEventTarget: "CHILDREN", selector: ".icon-16", selectorGuids: ["0e547fe2-5bd2-4fcc-659d-82d5dce6abf9"] }, zValue: 0, xUnit: "DEG", yUnit: "DEG", zUnit: "deg", }, }, ], }, ], useFirstGroupAsInitialState: !1, createdOn: 1693495661562, }, "a-610": { id: "a-610", title: "Career Hero Image Parralax", continuousParameterGroups: [ { id: "a-610-p", type: "SCROLL_PROGRESS", parameterLabel: "Scroll", continuousActionGroups: [ { keyframe: 0, actionItems: [ { id: "a-610-n", actionTypeId: "TRANSFORM_MOVE", config: { delay: 0, easing: "", duration: 500, target: { useEventTarget: "CHILDREN", selector: ".header76_image-list", selectorGuids: ["402ae819-fe22-02df-eadf-c5d2034185af"] }, yValue: 0, xUnit: "PX", yUnit: "px", zUnit: "PX", }, }, { id: "a-610-n-4", actionTypeId: "TRANSFORM_MOVE", config: { delay: 0, easing: "", duration: 500, target: { useEventTarget: "CHILDREN", selector: ".header76_image-list-right", selectorGuids: ["402ae819-fe22-02df-eadf-c5d2034185b2"] }, yValue: 0, xUnit: "PX", yUnit: "px", zUnit: "PX", }, }, ], }, { keyframe: 50, actionItems: [ { id: "a-610-n-3", actionTypeId: "TRANSFORM_MOVE", config: { delay: 0, easing: "", duration: 500, target: { useEventTarget: "CHILDREN", selector: ".header76_image-list", selectorGuids: ["402ae819-fe22-02df-eadf-c5d2034185af"] }, yValue: 50, xUnit: "PX", yUnit: "px", zUnit: "PX", }, }, { id: "a-610-n-5", actionTypeId: "TRANSFORM_MOVE", config: { delay: 0, easing: "", duration: 500, target: { useEventTarget: "CHILDREN", selector: ".header76_image-list-right", selectorGuids: ["402ae819-fe22-02df-eadf-c5d2034185b2"] }, yValue: -120, xUnit: "PX", yUnit: "px", zUnit: "PX", }, }, ], }, { keyframe: 100, actionItems: [ { id: "a-610-n-2", actionTypeId: "TRANSFORM_MOVE", config: { delay: 0, easing: "", duration: 500, target: { useEventTarget: "CHILDREN", selector: ".header76_image-list", selectorGuids: ["402ae819-fe22-02df-eadf-c5d2034185af"] }, yValue: 200, xUnit: "PX", yUnit: "px", zUnit: "PX", }, }, { id: "a-610-n-6", actionTypeId: "TRANSFORM_MOVE", config: { delay: 0, easing: "", duration: 500, target: { useEventTarget: "CHILDREN", selector: ".header76_image-list-right", selectorGuids: ["402ae819-fe22-02df-eadf-c5d2034185b2"] }, yValue: -300, xUnit: "PX", yUnit: "px", zUnit: "PX", }, }, ], }, ], }, ], createdOn: 1698136040178, }, "a-526": { id: "a-526", title: "Show - Back to top button", continuousParameterGroups: [ { id: "a-526-p", type: "SCROLL_PROGRESS", parameterLabel: "Scroll", continuousActionGroups: [ { keyframe: 0, actionItems: [ { id: "a-526-n", actionTypeId: "STYLE_OPACITY", config: { delay: 0, easing: "", duration: 500, target: { selector: ".back-to-top", selectorGuids: ["1b6fb925-b81a-da51-6b8d-82157f0b313d"] }, value: 0, unit: "" }, }, { id: "a-526-n-3", actionTypeId: "TRANSFORM_MOVE", config: { delay: 0, easing: "", duration: 500, target: { selector: ".back-to-top", selectorGuids: ["1b6fb925-b81a-da51-6b8d-82157f0b313d"] }, yValue: -300, xUnit: "PX", yUnit: "px", zUnit: "PX" }, }, ], }, { keyframe: 10, actionItems: [ { id: "a-526-n-2", actionTypeId: "STYLE_OPACITY", config: { delay: 0, easing: "", duration: 500, target: { selector: ".back-to-top", selectorGuids: ["1b6fb925-b81a-da51-6b8d-82157f0b313d"] }, value: 1, unit: "" }, }, { id: "a-526-n-4", actionTypeId: "TRANSFORM_MOVE", config: { delay: 0, easing: "", duration: 500, target: { selector: ".back-to-top", selectorGuids: ["1b6fb925-b81a-da51-6b8d-82157f0b313d"] }, yValue: 0, xUnit: "PX", yUnit: "px", zUnit: "PX" }, }, ], }, ], }, ], createdOn: 1695805974907, }, "a-719": { id: "a-719", title: "Slide in view desktop", actionItemGroups: [ { actionItems: [ { id: "a-719-n", actionTypeId: "TRANSFORM_SCALE", config: { delay: 0, easing: "outQuart", duration: 700, target: { useEventTarget: "CHILDREN", selector: ".border-radius-xlarge.height-100-percent", selectorGuids: ["483c2b3b-b905-8fed-fbd6-89827be40cc1", "d7f71c5a-c63d-7757-097b-cadcb305a2fd"] }, xValue: 1, yValue: 1, locked: !0, }, }, ], }, ], useFirstGroupAsInitialState: !1, createdOn: 1725026220323, }, "a-720": { id: "a-720", title: "Slide out of view desktop", actionItemGroups: [ { actionItems: [ { id: "a-720-n", actionTypeId: "TRANSFORM_SCALE", config: { delay: 0, easing: "outQuart", duration: 700, target: { useEventTarget: "CHILDREN", selector: ".border-radius-xlarge.height-100-percent", selectorGuids: ["483c2b3b-b905-8fed-fbd6-89827be40cc1", "d7f71c5a-c63d-7757-097b-cadcb305a2fd"] }, xValue: 0.8, yValue: 0.8, locked: !0, }, }, ], }, ], useFirstGroupAsInitialState: !1, createdOn: 1725026293806, }, "a-721": { id: "a-721", title: "Slide in view tablet", actionItemGroups: [ { actionItems: [ { id: "a-721-n", actionTypeId: "TRANSFORM_SCALE", config: { delay: 0, easing: "outQuart", duration: 700, target: { useEventTarget: "CHILDREN", selector: ".border-radius-xlarge.height-100-percent", selectorGuids: ["483c2b3b-b905-8fed-fbd6-89827be40cc1", "d7f71c5a-c63d-7757-097b-cadcb305a2fd"] }, xValue: 1, yValue: 1, locked: !0, }, }, ], }, ], useFirstGroupAsInitialState: !1, createdOn: 1725035335740, }, "a-722": { id: "a-722", title: "Slide out of view tablet", actionItemGroups: [ { actionItems: [ { id: "a-722-n", actionTypeId: "TRANSFORM_SCALE", config: { delay: 0, easing: "outQuart", duration: 700, target: { useEventTarget: "CHILDREN", selector: ".border-radius-xlarge.height-100-percent", selectorGuids: ["483c2b3b-b905-8fed-fbd6-89827be40cc1", "d7f71c5a-c63d-7757-097b-cadcb305a2fd"] }, xValue: 0.9, yValue: 0.9, locked: !0, }, }, ], }, ], useFirstGroupAsInitialState: !1, createdOn: 1725035501560, }, slideInBottom: { id: "slideInBottom", useFirstGroupAsInitialState: !0, actionItemGroups: [ { actionItems: [{ actionTypeId: "STYLE_OPACITY", config: { delay: 0, duration: 0, target: { id: "N/A", appliesTo: "TRIGGER_ELEMENT", useEventTarget: !0 }, value: 0 } }] }, { actionItems: [ { actionTypeId: "TRANSFORM_MOVE", config: { delay: 0, duration: 0, target: { id: "N/A", appliesTo: "TRIGGER_ELEMENT", useEventTarget: !0 }, xValue: 0, yValue: 100, xUnit: "PX", yUnit: "PX", zUnit: "PX" } }, ], }, { actionItems: [ { actionTypeId: "TRANSFORM_MOVE", config: { delay: 0, easing: "outQuart", duration: 1e3, target: { id: "N/A", appliesTo: "TRIGGER_ELEMENT", useEventTarget: !0 }, xValue: 0, yValue: 0, xUnit: "PX", yUnit: "PX", zUnit: "PX" }, }, { actionTypeId: "STYLE_OPACITY", config: { delay: 0, easing: "outQuart", duration: 1e3, target: { id: "N/A", appliesTo: "TRIGGER_ELEMENT", useEventTarget: !0 }, value: 1 } }, ], }, ], }, fadeIn: { id: "fadeIn", useFirstGroupAsInitialState: !0, actionItemGroups: [ { actionItems: [{ actionTypeId: "STYLE_OPACITY", config: { delay: 0, duration: 0, target: { id: "N/A", appliesTo: "TRIGGER_ELEMENT", useEventTarget: !0 }, value: 0 } }] }, { actionItems: [{ actionTypeId: "STYLE_OPACITY", config: { delay: 0, easing: "outQuart", duration: 1e3, target: { id: "N/A", appliesTo: "TRIGGER_ELEMENT", useEventTarget: !0 }, value: 1 } }] }, ], }, }, site: { mediaQueries: [ { key: "main", min: 992, max: 1e4 }, { key: "medium", min: 768, max: 991 }, { key: "small", min: 480, max: 767 }, { key: "tiny", min: 0, max: 479 }, ], }, }); })(); /*! * tram.js v0.8.2-global * Cross-browser CSS3 transitions in JavaScript * https://github.com/bkwld/tram * MIT License */ /*! * Webflow._ (aka) Underscore.js 1.6.0 (custom build) * * http://underscorejs.org * (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Underscore may be freely distributed under the MIT license. * @license MIT */ /*! Bundled license information: timm/lib/timm.js: (*! * Timm * * Immutability helpers with fast reads and acceptable writes. * * @copyright Guillermo Grau Panea 2016 * @license MIT *) */