@stigmer/server-slim 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/console/404.html +1 -0
- package/console/__next.__PAGE__.txt +54 -0
- package/console/__next._full.txt +71 -0
- package/console/__next._index.txt +62 -0
- package/console/__next._tree.txt +6 -0
- package/console/_next/static/GjBokeF86FffwftazOhh6/_buildManifest.js +11 -0
- package/console/_next/static/GjBokeF86FffwftazOhh6/_clientMiddlewareManifest.js +1 -0
- package/console/_next/static/GjBokeF86FffwftazOhh6/_ssgManifest.js +1 -0
- package/console/_next/static/chunks/0376wi8qbsw94.js +1 -0
- package/console/_next/static/chunks/04cglffeuwumk.js +1 -0
- package/console/_next/static/chunks/04d276dp3qb52.js +1 -0
- package/console/_next/static/chunks/05526ws9tzwim.js +1 -0
- package/console/_next/static/chunks/05t5235u7o-c4.js +25 -0
- package/console/_next/static/chunks/06fz-g9t73bd6.js +4 -0
- package/console/_next/static/chunks/0789xt7opwvm-.js +24 -0
- package/console/_next/static/chunks/07twy5plc911w.js +1 -0
- package/console/_next/static/chunks/08-p5zefc1rea.js +1 -0
- package/console/_next/static/chunks/085db4op75mf5.js +1 -0
- package/console/_next/static/chunks/0923388wak11-.js +1 -0
- package/console/_next/static/chunks/0_7s7fzux7kiv.js +1 -0
- package/console/_next/static/chunks/0_bjj6hug8d9a.js +1 -0
- package/console/_next/static/chunks/0_zscrk6o0d0-.js +1 -0
- package/console/_next/static/chunks/0a4x97q7frgj3.js +1 -0
- package/console/_next/static/chunks/0ab5jlm8l0aud.js +1 -0
- package/console/_next/static/chunks/0c_c2b4z1yc02.js +1 -0
- package/console/_next/static/chunks/0cuyycns49hl4.js +1 -0
- package/console/_next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/console/_next/static/chunks/0d8f3-znyc_to.js +1 -0
- package/console/_next/static/chunks/0e-f1rkyz_u2k.js +1 -0
- package/console/_next/static/chunks/0ffx83gbnwq09.js +28 -0
- package/console/_next/static/chunks/0fyno0jk61txk.js +115 -0
- package/console/_next/static/chunks/0ggwoicp90w_s.js +1 -0
- package/console/_next/static/chunks/0h_7_i44vofe3.js +1 -0
- package/console/_next/static/chunks/0hagmppwo8s-f.js +1 -0
- package/console/_next/static/chunks/0hfvbn6c9k3pf.js +1 -0
- package/console/_next/static/chunks/0hw7vilkfpzlc.js +1 -0
- package/console/_next/static/chunks/0kb63xcvghh_3.js +1 -0
- package/console/_next/static/chunks/0ko5wsi6kukgd.js +1 -0
- package/console/_next/static/chunks/0kq99qin4db-q.js +1 -0
- package/console/_next/static/chunks/0kqg4u5n17gje.js +1 -0
- package/console/_next/static/chunks/0ky9qppyx1n57.js +62 -0
- package/console/_next/static/chunks/0og4_5pph-mhm.js +1 -0
- package/console/_next/static/chunks/0p7p-bpdrqx75.js +1 -0
- package/console/_next/static/chunks/0q2bnr94vvuc2.js +1 -0
- package/console/_next/static/chunks/0q3sxhnylk_gn.js +1 -0
- package/console/_next/static/chunks/0qg6l3tattq3j.js +1 -0
- package/console/_next/static/chunks/0qwyk_70quvjh.js +1 -0
- package/console/_next/static/chunks/0qzyqii8_m5r2.js +1 -0
- package/console/_next/static/chunks/0rlfx91598uvc.js +1 -0
- package/console/_next/static/chunks/0s9njms3lumhx.js +1 -0
- package/console/_next/static/chunks/0srualwd948m1.js +29 -0
- package/console/_next/static/chunks/0u4m2805tgi7x.js +1 -0
- package/console/_next/static/chunks/0udcs-1vq74rp.js +1 -0
- package/console/_next/static/chunks/0vno04lmwdchj.js +1 -0
- package/console/_next/static/chunks/0vt1_fu_q116n.js +1 -0
- package/console/_next/static/chunks/0vuq85gcb9zcl.js +1 -0
- package/console/_next/static/chunks/0wxazby0i4xu3.js +5 -0
- package/console/_next/static/chunks/0yeh2zqwmmec0.js +22 -0
- package/console/_next/static/chunks/0zvl88sijsrqk.js +1 -0
- package/console/_next/static/chunks/110bgpy30m6m6.js +1 -0
- package/console/_next/static/chunks/14ipylvs6qyyw.js +1 -0
- package/console/_next/static/chunks/1745jt9onokna.js +1 -0
- package/console/_next/static/chunks/177rfq0tsoku9.js +4 -0
- package/console/_next/static/chunks/17mfsiiquey1d.js +1 -0
- package/console/_next/static/chunks/197iuvi8udifl.js +1 -0
- package/console/_next/static/chunks/1_2-z0tjk0xio.js +1 -0
- package/console/_next/static/chunks/1_gh5a14dqnji.js +1 -0
- package/console/_next/static/chunks/1ame8n7x9g3xc.js +1 -0
- package/console/_next/static/chunks/1apepr-7dz16b.js +1 -0
- package/console/_next/static/chunks/1dtukwrl8nulc.js +1 -0
- package/console/_next/static/chunks/1e0br64ibniud.js +24 -0
- package/console/_next/static/chunks/1fm-45g777ifx.js +1 -0
- package/console/_next/static/chunks/1g_iha5barqef.js +1 -0
- package/console/_next/static/chunks/1glr_lki18csr.js +2 -0
- package/console/_next/static/chunks/1hl355w6m5bp5.js +1 -0
- package/console/_next/static/chunks/1id3p9v9v5knn.js +1 -0
- package/console/_next/static/chunks/1j6kp4gg0_ylt.js +80 -0
- package/console/_next/static/chunks/1jssq3ch7qgd6.js +60 -0
- package/console/_next/static/chunks/1jzfyfh-3gqlb.js +1 -0
- package/console/_next/static/chunks/1k3d5c49mpp-2.js +1 -0
- package/console/_next/static/chunks/1kte_bxw9m-ie.js +1 -0
- package/console/_next/static/chunks/1lw52jm27gon2.js +1 -0
- package/console/_next/static/chunks/1m9e28v8syzxx.js +34 -0
- package/console/_next/static/chunks/1mrmq_pigo_yb.js +1 -0
- package/console/_next/static/chunks/1muf1a96cgbv5.js +1 -0
- package/console/_next/static/chunks/1n1x0ykt8by6w.js +1 -0
- package/console/_next/static/chunks/1qu0tqybdtj0_.js +1 -0
- package/console/_next/static/chunks/1r8itpdfffwxa.js +1 -0
- package/console/_next/static/chunks/1r_opkrpbuykx.js +1 -0
- package/console/_next/static/chunks/1tl0h3c_bp62t.js +1 -0
- package/console/_next/static/chunks/1v1m1fr8f0yle.js +1 -0
- package/console/_next/static/chunks/1v34vj52v7q0g.js +1 -0
- package/console/_next/static/chunks/1wztfxoxnu5_9.js +1 -0
- package/console/_next/static/chunks/1x7exm5d_hhb8.js +153 -0
- package/console/_next/static/chunks/1xwdphzrhi9cn.js +1 -0
- package/console/_next/static/chunks/1yc4gdqzxa5ie.js +1 -0
- package/console/_next/static/chunks/1zunrzvni97zi.js +1 -0
- package/console/_next/static/chunks/1zv6mtmekep40.js +36 -0
- package/console/_next/static/chunks/2-jaie5wchnsy.js +1 -0
- package/console/_next/static/chunks/20aa5hen470pm.js +1 -0
- package/console/_next/static/chunks/2116ko93nwgx8.js +1 -0
- package/console/_next/static/chunks/23vk0ig36j0he.js +1 -0
- package/console/_next/static/chunks/245vlws7l85dk.js +1 -0
- package/console/_next/static/chunks/24__o4dkdytc8.js +1 -0
- package/console/_next/static/chunks/24iwqo9ejhxl8.js +127 -0
- package/console/_next/static/chunks/24o9ia1be2cze.js +1 -0
- package/console/_next/static/chunks/25aea0bgjydel.css +1 -0
- package/console/_next/static/chunks/26-p2jxr4f20d.js +1 -0
- package/console/_next/static/chunks/28c--yt2jaxxf.js +1 -0
- package/console/_next/static/chunks/28vym848oh1ng.js +1 -0
- package/console/_next/static/chunks/29ou6qb6p1lni.js +1 -0
- package/console/_next/static/chunks/2aalpmeu_tni-.js +3 -0
- package/console/_next/static/chunks/2c4ifddi2dal0.js +20 -0
- package/console/_next/static/chunks/2ckm4edha_gkb.js +43 -0
- package/console/_next/static/chunks/2d5ods6a8n6yd.js +1 -0
- package/console/_next/static/chunks/2dm5g7ylrulvb.js +15 -0
- package/console/_next/static/chunks/2dtosus35_o5k.js +1 -0
- package/console/_next/static/chunks/2e0_cm1_wv-b4.js +1 -0
- package/console/_next/static/chunks/2fh_0n31hibdi.js +226 -0
- package/console/_next/static/chunks/2fjsaw5pgjcqb.js +1 -0
- package/console/_next/static/chunks/2h5pk3yu15nwr.js +1 -0
- package/console/_next/static/chunks/2i7w4yyf77gzw.js +1 -0
- package/console/_next/static/chunks/2jo3q7mfk65kd.js +1 -0
- package/console/_next/static/chunks/2jutbapb-t64n.js +31 -0
- package/console/_next/static/chunks/2k6tx8-w1creu.js +148 -0
- package/console/_next/static/chunks/2kh_m5onqedc5.js +1 -0
- package/console/_next/static/chunks/2ltzdgpjq3v6a.js +1 -0
- package/console/_next/static/chunks/2o2ftjhtb8od3.js +2 -0
- package/console/_next/static/chunks/2pyn841-jq-oo.js +10 -0
- package/console/_next/static/chunks/2rn289343m-y_.js +139 -0
- package/console/_next/static/chunks/2t2l3h2w_04bb.js +1 -0
- package/console/_next/static/chunks/2v11hooq3xd5t.js +15 -0
- package/console/_next/static/chunks/2vsg5t3fnqmfn.js +1 -0
- package/console/_next/static/chunks/2wayafjfoiq7q.css +6 -0
- package/console/_next/static/chunks/2xsvteosdtsb-.js +1 -0
- package/console/_next/static/chunks/2y-x8nhnufxzb.js +1 -0
- package/console/_next/static/chunks/2za4b-si894xj.js +1 -0
- package/console/_next/static/chunks/3-igvp1-n4pxs.js +104 -0
- package/console/_next/static/chunks/3-k25f-adpe5f.js +1 -0
- package/console/_next/static/chunks/3-pzmot7dbrfa.js +1 -0
- package/console/_next/static/chunks/3-x5lrgs3wcpl.js +80 -0
- package/console/_next/static/chunks/30nrkrr9518_z.js +1 -0
- package/console/_next/static/chunks/316lh1-hzgnod.js +1 -0
- package/console/_next/static/chunks/31wj1au8smjge.js +1 -0
- package/console/_next/static/chunks/329o6uup9qmb3.js +1 -0
- package/console/_next/static/chunks/34_1w929-5o6r.js +287 -0
- package/console/_next/static/chunks/35szx1ga574xu.js +1 -0
- package/console/_next/static/chunks/36tg522pkl8hm.js +1 -0
- package/console/_next/static/chunks/37-y9fgnir35a.js +1 -0
- package/console/_next/static/chunks/39wss1g0ffaqt.js +1 -0
- package/console/_next/static/chunks/3_cv0gj1bm3l6.js +1 -0
- package/console/_next/static/chunks/3_f8gd_6816re.js +101 -0
- package/console/_next/static/chunks/3a4qfuhsxefh2.js +12 -0
- package/console/_next/static/chunks/3asb3ztrvogwl.js +1 -0
- package/console/_next/static/chunks/3bsxbw10qhvqo.js +1 -0
- package/console/_next/static/chunks/3by94g38ljxl1.js +1 -0
- package/console/_next/static/chunks/3c_6owv8m4rta.js +90 -0
- package/console/_next/static/chunks/3ea2eo8b5gmju.js +2 -0
- package/console/_next/static/chunks/3ercnb2rksl_a.js +1 -0
- package/console/_next/static/chunks/3esxfmmm0ypxb.js +2 -0
- package/console/_next/static/chunks/3exiw74xbmika.js +1 -0
- package/console/_next/static/chunks/3f88-tc5u2heg.js +1 -0
- package/console/_next/static/chunks/3f_axahrombdp.js +1 -0
- package/console/_next/static/chunks/3gz91kn_v2lfa.js +1 -0
- package/console/_next/static/chunks/3i9z3x7tka5x2.js +1 -0
- package/console/_next/static/chunks/3ih4kfufd47st.js +1 -0
- package/console/_next/static/chunks/3itfi41ayfopd.js +15 -0
- package/console/_next/static/chunks/3iwgig-fgcscf.js +15 -0
- package/console/_next/static/chunks/3jf8qh1ev3gb4.js +2 -0
- package/console/_next/static/chunks/3l6svfyqdsq6o.js +1 -0
- package/console/_next/static/chunks/3lj0i-qlb4ah2.js +64 -0
- package/console/_next/static/chunks/3lmx6tkunfd3u.js +1 -0
- package/console/_next/static/chunks/3lp4d64he__am.js +152 -0
- package/console/_next/static/chunks/3m_jz3b2j38nn.js +1 -0
- package/console/_next/static/chunks/3oe9w1b39nzmn.js +3 -0
- package/console/_next/static/chunks/3on7r_d8o-kna.js +1 -0
- package/console/_next/static/chunks/3pbpowf3kdu5z.js +119 -0
- package/console/_next/static/chunks/3pwwv0u29nk8c.js +23 -0
- package/console/_next/static/chunks/3rweyye6o1z6b.js +79 -0
- package/console/_next/static/chunks/3sdqgrmvxm_u4.js +201 -0
- package/console/_next/static/chunks/3t3vbs-x5hixj.js +1 -0
- package/console/_next/static/chunks/3thqnz0a5zy-h.js +9 -0
- package/console/_next/static/chunks/3udubdawo7583.js +1 -0
- package/console/_next/static/chunks/3uz4lg6e199sb.js +1 -0
- package/console/_next/static/chunks/3v2mkz_46uei2.js +1 -0
- package/console/_next/static/chunks/3w5crjmhb-3um.js +1 -0
- package/console/_next/static/chunks/3waxhrmr_82j5.js +93 -0
- package/console/_next/static/chunks/3zmlzef_jxopu.js +1 -0
- package/console/_next/static/chunks/3zqvalj8nr-1y.js +1 -0
- package/console/_next/static/chunks/40igag4gq4k0a.js +77 -0
- package/console/_next/static/chunks/40wq034qcdji_.js +1 -0
- package/console/_next/static/chunks/44crhetqymq_e.js +34 -0
- package/console/_next/static/chunks/44q2pv6a3w19q.js +1 -0
- package/console/_next/static/chunks/turbopack-2u1d16houkiyo.js +1 -0
- package/console/_next/static/media/GeistMono_Variable-s.p.21mfa-4xv0w3g.woff2 +0 -0
- package/console/_next/static/media/Geist_Variable-s.p.217kyf1h_p0cg.woff2 +0 -0
- package/console/_next/static/media/IBMPlexMono_Medium-s.2v25u5rd2tsaf.woff2 +0 -0
- package/console/_next/static/media/IBMPlexMono_Regular-s.09u63wo58kris.woff2 +0 -0
- package/console/_next/static/media/IBMPlexSans_Bold-s.3iicodgz0epim.woff2 +0 -0
- package/console/_next/static/media/IBMPlexSans_Light-s.3ntejfdcyftfg.woff2 +0 -0
- package/console/_next/static/media/IBMPlexSans_Medium-s.3n25cgfiu6qss.woff2 +0 -0
- package/console/_next/static/media/IBMPlexSans_Regular-s.2e_-c_m03txvi.woff2 +0 -0
- package/console/_next/static/media/IBMPlexSans_SemiBold-s.2sutjpuns2xc5.woff2 +0 -0
- package/console/_next/static/media/Inter_Variable-s.2-lfiv6s83kzn.woff2 +0 -0
- package/console/_next/static/media/Nunito_Variable-s.3r4_r9s3kxd_-.woff2 +0 -0
- package/console/_not-found/__next._full.txt +73 -0
- package/console/_not-found/__next._index.txt +62 -0
- package/console/_not-found/__next._not-found.__PAGE__.txt +61 -0
- package/console/_not-found/__next._tree.txt +5 -0
- package/console/_not-found.html +1 -0
- package/console/_not-found.txt +73 -0
- package/console/apple-touch-icon-dark.png +0 -0
- package/console/apple-touch-icon-light.png +0 -0
- package/console/auth/callback/__next._full.txt +82 -0
- package/console/auth/callback/__next._index.txt +62 -0
- package/console/auth/callback/__next._tree.txt +8 -0
- package/console/auth/callback/__next.auth.callback.__PAGE__.txt +67 -0
- package/console/auth/callback.html +1 -0
- package/console/auth/callback.txt +82 -0
- package/console/auth/oauth/callback/__next._full.txt +84 -0
- package/console/auth/oauth/callback/__next._index.txt +62 -0
- package/console/auth/oauth/callback/__next._tree.txt +9 -0
- package/console/auth/oauth/callback/__next.auth.oauth.callback.__PAGE__.txt +69 -0
- package/console/auth/oauth/callback.html +1 -0
- package/console/auth/oauth/callback.txt +84 -0
- package/console/brand-avatar.png +0 -0
- package/console/chat/__placeholder__/__next._full.txt +80 -0
- package/console/chat/__placeholder__/__next._index.txt +62 -0
- package/console/chat/__placeholder__/__next._tree.txt +8 -0
- package/console/chat/__placeholder__/__next.chat.$d$channel.__PAGE__.txt +65 -0
- package/console/chat/__placeholder__.html +1 -0
- package/console/chat/__placeholder__.txt +80 -0
- package/console/connect/__placeholder__/__next._full.txt +79 -0
- package/console/connect/__placeholder__/__next._index.txt +62 -0
- package/console/connect/__placeholder__/__next._tree.txt +8 -0
- package/console/connect/__placeholder__/__next.connect.$d$token.__PAGE__.txt +64 -0
- package/console/connect/__placeholder__.html +1 -0
- package/console/connect/__placeholder__.txt +79 -0
- package/console/conversations/__next._full.txt +79 -0
- package/console/conversations/__next._index.txt +62 -0
- package/console/conversations/__next._tree.txt +7 -0
- package/console/conversations/__next.conversations.__PAGE__.txt +64 -0
- package/console/conversations/__placeholder__/__placeholder__/__next._full.txt +83 -0
- package/console/conversations/__placeholder__/__placeholder__/__next._index.txt +62 -0
- package/console/conversations/__placeholder__/__placeholder__/__next._tree.txt +9 -0
- package/console/conversations/__placeholder__/__placeholder__/__next.conversations.$d$channelId.$d$key.__PAGE__.txt +68 -0
- package/console/conversations/__placeholder__/__placeholder__.html +1 -0
- package/console/conversations/__placeholder__/__placeholder__.txt +83 -0
- package/console/conversations.html +1 -0
- package/console/conversations.txt +79 -0
- package/console/dashboard/__next._full.txt +77 -0
- package/console/dashboard/__next._index.txt +62 -0
- package/console/dashboard/__next._tree.txt +7 -0
- package/console/dashboard/__next.dashboard.__PAGE__.txt +62 -0
- package/console/dashboard.html +1 -0
- package/console/dashboard.txt +77 -0
- package/console/desktop/billing/__next._full.txt +82 -0
- package/console/desktop/billing/__next._index.txt +62 -0
- package/console/desktop/billing/__next._tree.txt +8 -0
- package/console/desktop/billing/__next.desktop.billing.__PAGE__.txt +67 -0
- package/console/desktop/billing.html +1 -0
- package/console/desktop/billing.txt +82 -0
- package/console/embed.js +1 -0
- package/console/favicon-dark-16x16.png +0 -0
- package/console/favicon-dark-32x32.png +0 -0
- package/console/favicon-dark.ico +0 -0
- package/console/favicon-dark.svg +1 -0
- package/console/favicon-light-16x16.png +0 -0
- package/console/favicon-light-32x32.png +0 -0
- package/console/favicon-light.ico +0 -0
- package/console/favicon-light.svg +1 -0
- package/console/index.html +1 -0
- package/console/index.txt +71 -0
- package/console/invite/__placeholder__/__next._full.txt +80 -0
- package/console/invite/__placeholder__/__next._index.txt +62 -0
- package/console/invite/__placeholder__/__next._tree.txt +8 -0
- package/console/invite/__placeholder__/__next.invite.$d$token.__PAGE__.txt +65 -0
- package/console/invite/__placeholder__.html +1 -0
- package/console/invite/__placeholder__.txt +80 -0
- package/console/library/__next._full.txt +89 -0
- package/console/library/__next._index.txt +62 -0
- package/console/library/__next._tree.txt +7 -0
- package/console/library/__next.library.__PAGE__.txt +74 -0
- package/console/library/agents/__next._full.txt +94 -0
- package/console/library/agents/__next._index.txt +62 -0
- package/console/library/agents/__next._tree.txt +8 -0
- package/console/library/agents/__next.library.agents.__PAGE__.txt +79 -0
- package/console/library/agents/__placeholder__/__placeholder__/__next._full.txt +96 -0
- package/console/library/agents/__placeholder__/__placeholder__/__next._index.txt +62 -0
- package/console/library/agents/__placeholder__/__placeholder__/__next._tree.txt +10 -0
- package/console/library/agents/__placeholder__/__placeholder__/__next.library.agents.$d$org.$d$slug.__PAGE__.txt +81 -0
- package/console/library/agents/__placeholder__/__placeholder__.html +1 -0
- package/console/library/agents/__placeholder__/__placeholder__.txt +96 -0
- package/console/library/agents/new/__next._full.txt +99 -0
- package/console/library/agents/new/__next._index.txt +62 -0
- package/console/library/agents/new/__next._tree.txt +9 -0
- package/console/library/agents/new/__next.library.agents.new.__PAGE__.txt +84 -0
- package/console/library/agents/new.html +1 -0
- package/console/library/agents/new.txt +99 -0
- package/console/library/agents.html +1 -0
- package/console/library/agents.txt +94 -0
- package/console/library/environments/__next._full.txt +95 -0
- package/console/library/environments/__next._index.txt +62 -0
- package/console/library/environments/__next._tree.txt +8 -0
- package/console/library/environments/__next.library.environments.__PAGE__.txt +80 -0
- package/console/library/environments/__placeholder__/__placeholder__/__next._full.txt +97 -0
- package/console/library/environments/__placeholder__/__placeholder__/__next._index.txt +62 -0
- package/console/library/environments/__placeholder__/__placeholder__/__next._tree.txt +10 -0
- package/console/library/environments/__placeholder__/__placeholder__/__next.library.environments.$d$org.$d$slug.__PAGE__.txt +82 -0
- package/console/library/environments/__placeholder__/__placeholder__.html +1 -0
- package/console/library/environments/__placeholder__/__placeholder__.txt +97 -0
- package/console/library/environments/new/__next._full.txt +99 -0
- package/console/library/environments/new/__next._index.txt +62 -0
- package/console/library/environments/new/__next._tree.txt +9 -0
- package/console/library/environments/new/__next.library.environments.new.__PAGE__.txt +84 -0
- package/console/library/environments/new.html +1 -0
- package/console/library/environments/new.txt +99 -0
- package/console/library/environments.html +1 -0
- package/console/library/environments.txt +95 -0
- package/console/library/files/__next._full.txt +94 -0
- package/console/library/files/__next._index.txt +62 -0
- package/console/library/files/__next._tree.txt +8 -0
- package/console/library/files/__next.library.files.__PAGE__.txt +79 -0
- package/console/library/files.html +1 -0
- package/console/library/files.txt +94 -0
- package/console/library/plugins/__next._full.txt +94 -0
- package/console/library/plugins/__next._index.txt +62 -0
- package/console/library/plugins/__next._tree.txt +8 -0
- package/console/library/plugins/__next.library.plugins.__PAGE__.txt +79 -0
- package/console/library/plugins/__placeholder__/__placeholder__/__next._full.txt +97 -0
- package/console/library/plugins/__placeholder__/__placeholder__/__next._index.txt +62 -0
- package/console/library/plugins/__placeholder__/__placeholder__/__next._tree.txt +10 -0
- package/console/library/plugins/__placeholder__/__placeholder__/__next.library.plugins.$d$org.$d$slug.__PAGE__.txt +82 -0
- package/console/library/plugins/__placeholder__/__placeholder__.html +1 -0
- package/console/library/plugins/__placeholder__/__placeholder__.txt +97 -0
- package/console/library/plugins/upload/__next._full.txt +99 -0
- package/console/library/plugins/upload/__next._index.txt +62 -0
- package/console/library/plugins/upload/__next._tree.txt +9 -0
- package/console/library/plugins/upload/__next.library.plugins.upload.__PAGE__.txt +84 -0
- package/console/library/plugins/upload.html +1 -0
- package/console/library/plugins/upload.txt +99 -0
- package/console/library/plugins.html +1 -0
- package/console/library/plugins.txt +94 -0
- package/console/library/routines/__next._full.txt +94 -0
- package/console/library/routines/__next._index.txt +62 -0
- package/console/library/routines/__next._tree.txt +8 -0
- package/console/library/routines/__next.library.routines.__PAGE__.txt +79 -0
- package/console/library/routines/__placeholder__/__placeholder__/__next._full.txt +97 -0
- package/console/library/routines/__placeholder__/__placeholder__/__next._index.txt +62 -0
- package/console/library/routines/__placeholder__/__placeholder__/__next._tree.txt +10 -0
- package/console/library/routines/__placeholder__/__placeholder__/__next.library.routines.$d$org.$d$slug.__PAGE__.txt +82 -0
- package/console/library/routines/__placeholder__/__placeholder__.html +1 -0
- package/console/library/routines/__placeholder__/__placeholder__.txt +97 -0
- package/console/library/routines/new/__next._full.txt +98 -0
- package/console/library/routines/new/__next._index.txt +62 -0
- package/console/library/routines/new/__next._tree.txt +9 -0
- package/console/library/routines/new/__next.library.routines.new.__PAGE__.txt +83 -0
- package/console/library/routines/new.html +1 -0
- package/console/library/routines/new.txt +98 -0
- package/console/library/routines.html +1 -0
- package/console/library/routines.txt +94 -0
- package/console/library/skills/__next._full.txt +94 -0
- package/console/library/skills/__next._index.txt +62 -0
- package/console/library/skills/__next._tree.txt +8 -0
- package/console/library/skills/__next.library.skills.__PAGE__.txt +79 -0
- package/console/library/skills/__placeholder__/__placeholder__/__next._full.txt +96 -0
- package/console/library/skills/__placeholder__/__placeholder__/__next._index.txt +62 -0
- package/console/library/skills/__placeholder__/__placeholder__/__next._tree.txt +10 -0
- package/console/library/skills/__placeholder__/__placeholder__/__next.library.skills.$d$org.$d$slug.__PAGE__.txt +81 -0
- package/console/library/skills/__placeholder__/__placeholder__.html +1 -0
- package/console/library/skills/__placeholder__/__placeholder__.txt +96 -0
- package/console/library/skills/new/__next._full.txt +98 -0
- package/console/library/skills/new/__next._index.txt +62 -0
- package/console/library/skills/new/__next._tree.txt +9 -0
- package/console/library/skills/new/__next.library.skills.new.__PAGE__.txt +83 -0
- package/console/library/skills/new.html +1 -0
- package/console/library/skills/new.txt +98 -0
- package/console/library/skills.html +1 -0
- package/console/library/skills.txt +94 -0
- package/console/library.html +1 -0
- package/console/library.txt +89 -0
- package/console/login/__next._full.txt +81 -0
- package/console/login/__next._index.txt +62 -0
- package/console/login/__next._tree.txt +7 -0
- package/console/login/__next.login.__PAGE__.txt +66 -0
- package/console/login.html +1 -0
- package/console/login.txt +81 -0
- package/console/marketplace/__next._full.txt +81 -0
- package/console/marketplace/__next._index.txt +62 -0
- package/console/marketplace/__next._tree.txt +7 -0
- package/console/marketplace/__next.marketplace.__PAGE__.txt +66 -0
- package/console/marketplace.html +1 -0
- package/console/marketplace.txt +81 -0
- package/console/models/__next._full.txt +77 -0
- package/console/models/__next._index.txt +62 -0
- package/console/models/__next._tree.txt +7 -0
- package/console/models/__next.models.__PAGE__.txt +62 -0
- package/console/models.html +1 -0
- package/console/models.txt +77 -0
- package/console/oauth/slack/callback/__next._full.txt +84 -0
- package/console/oauth/slack/callback/__next._index.txt +62 -0
- package/console/oauth/slack/callback/__next._tree.txt +9 -0
- package/console/oauth/slack/callback/__next.oauth.slack.callback.__PAGE__.txt +69 -0
- package/console/oauth/slack/callback.html +1 -0
- package/console/oauth/slack/callback.txt +84 -0
- package/console/runs/__placeholder__/__next._full.txt +77 -0
- package/console/runs/__placeholder__/__next._index.txt +62 -0
- package/console/runs/__placeholder__/__next._tree.txt +8 -0
- package/console/runs/__placeholder__/__next.runs.$d$id.__PAGE__.txt +62 -0
- package/console/runs/__placeholder__.html +1 -0
- package/console/runs/__placeholder__.txt +77 -0
- package/console/sessions/__placeholder__/__next._full.txt +77 -0
- package/console/sessions/__placeholder__/__next._index.txt +62 -0
- package/console/sessions/__placeholder__/__next._tree.txt +8 -0
- package/console/sessions/__placeholder__/__next.sessions.$d$id.__PAGE__.txt +62 -0
- package/console/sessions/__placeholder__.html +1 -0
- package/console/sessions/__placeholder__.txt +77 -0
- package/console/settings/__next._full.txt +85 -0
- package/console/settings/__next._index.txt +62 -0
- package/console/settings/__next._tree.txt +7 -0
- package/console/settings/__next.settings.__PAGE__.txt +70 -0
- package/console/settings/access-history/__next._full.txt +87 -0
- package/console/settings/access-history/__next._index.txt +62 -0
- package/console/settings/access-history/__next._tree.txt +8 -0
- package/console/settings/access-history/__next.settings.access-history.__PAGE__.txt +72 -0
- package/console/settings/access-history.html +1 -0
- package/console/settings/access-history.txt +87 -0
- package/console/settings/account-preferences/__next._full.txt +87 -0
- package/console/settings/account-preferences/__next._index.txt +62 -0
- package/console/settings/account-preferences/__next._tree.txt +8 -0
- package/console/settings/account-preferences/__next.settings.account-preferences.__PAGE__.txt +72 -0
- package/console/settings/account-preferences.html +1 -0
- package/console/settings/account-preferences.txt +87 -0
- package/console/settings/api-keys/__next._full.txt +86 -0
- package/console/settings/api-keys/__next._index.txt +62 -0
- package/console/settings/api-keys/__next._tree.txt +8 -0
- package/console/settings/api-keys/__next.settings.api-keys.__PAGE__.txt +71 -0
- package/console/settings/api-keys.html +1 -0
- package/console/settings/api-keys.txt +86 -0
- package/console/settings/billing/__next._full.txt +89 -0
- package/console/settings/billing/__next._index.txt +62 -0
- package/console/settings/billing/__next._tree.txt +8 -0
- package/console/settings/billing/__next.settings.billing.__PAGE__.txt +74 -0
- package/console/settings/billing.html +1 -0
- package/console/settings/billing.txt +89 -0
- package/console/settings/channel-apps/__next._full.txt +87 -0
- package/console/settings/channel-apps/__next._index.txt +62 -0
- package/console/settings/channel-apps/__next._tree.txt +8 -0
- package/console/settings/channel-apps/__next.settings.channel-apps.__PAGE__.txt +72 -0
- package/console/settings/channel-apps.html +1 -0
- package/console/settings/channel-apps.txt +87 -0
- package/console/settings/federation-issuers/__next._full.txt +88 -0
- package/console/settings/federation-issuers/__next._index.txt +62 -0
- package/console/settings/federation-issuers/__next._tree.txt +8 -0
- package/console/settings/federation-issuers/__next.settings.federation-issuers.__PAGE__.txt +73 -0
- package/console/settings/federation-issuers.html +1 -0
- package/console/settings/federation-issuers.txt +88 -0
- package/console/settings/invitations/__next._full.txt +87 -0
- package/console/settings/invitations/__next._index.txt +62 -0
- package/console/settings/invitations/__next._tree.txt +8 -0
- package/console/settings/invitations/__next.settings.invitations.__PAGE__.txt +72 -0
- package/console/settings/invitations.html +1 -0
- package/console/settings/invitations.txt +87 -0
- package/console/settings/licenses/__next._full.txt +90 -0
- package/console/settings/licenses/__next._index.txt +62 -0
- package/console/settings/licenses/__next._tree.txt +8 -0
- package/console/settings/licenses/__next.settings.licenses.__PAGE__.txt +75 -0
- package/console/settings/licenses.html +1 -0
- package/console/settings/licenses.txt +90 -0
- package/console/settings/members/__next._full.txt +86 -0
- package/console/settings/members/__next._index.txt +62 -0
- package/console/settings/members/__next._tree.txt +8 -0
- package/console/settings/members/__next.settings.members.__PAGE__.txt +71 -0
- package/console/settings/members.html +1 -0
- package/console/settings/members.txt +86 -0
- package/console/settings/memory/__next._full.txt +86 -0
- package/console/settings/memory/__next._index.txt +62 -0
- package/console/settings/memory/__next._tree.txt +8 -0
- package/console/settings/memory/__next.settings.memory.__PAGE__.txt +71 -0
- package/console/settings/memory.html +1 -0
- package/console/settings/memory.txt +86 -0
- package/console/settings/model-catalog/__next._full.txt +89 -0
- package/console/settings/model-catalog/__next._index.txt +62 -0
- package/console/settings/model-catalog/__next._tree.txt +8 -0
- package/console/settings/model-catalog/__next.settings.model-catalog.__PAGE__.txt +74 -0
- package/console/settings/model-catalog.html +1 -0
- package/console/settings/model-catalog.txt +89 -0
- package/console/settings/notifications/__next._full.txt +89 -0
- package/console/settings/notifications/__next._index.txt +62 -0
- package/console/settings/notifications/__next._tree.txt +8 -0
- package/console/settings/notifications/__next.settings.notifications.__PAGE__.txt +74 -0
- package/console/settings/notifications.html +1 -0
- package/console/settings/notifications.txt +89 -0
- package/console/settings/oauth-apps/__next._full.txt +87 -0
- package/console/settings/oauth-apps/__next._index.txt +62 -0
- package/console/settings/oauth-apps/__next._tree.txt +8 -0
- package/console/settings/oauth-apps/__next.settings.oauth-apps.__PAGE__.txt +72 -0
- package/console/settings/oauth-apps.html +1 -0
- package/console/settings/oauth-apps.txt +87 -0
- package/console/settings/org-embedding/__next._full.txt +87 -0
- package/console/settings/org-embedding/__next._index.txt +62 -0
- package/console/settings/org-embedding/__next._tree.txt +8 -0
- package/console/settings/org-embedding/__next.settings.org-embedding.__PAGE__.txt +72 -0
- package/console/settings/org-embedding.html +1 -0
- package/console/settings/org-embedding.txt +87 -0
- package/console/settings/org-policies/__next._full.txt +87 -0
- package/console/settings/org-policies/__next._index.txt +62 -0
- package/console/settings/org-policies/__next._tree.txt +8 -0
- package/console/settings/org-policies/__next.settings.org-policies.__PAGE__.txt +72 -0
- package/console/settings/org-policies.html +1 -0
- package/console/settings/org-policies.txt +87 -0
- package/console/settings/org-preferences/__next._full.txt +87 -0
- package/console/settings/org-preferences/__next._index.txt +62 -0
- package/console/settings/org-preferences/__next._tree.txt +8 -0
- package/console/settings/org-preferences/__next.settings.org-preferences.__PAGE__.txt +72 -0
- package/console/settings/org-preferences.html +1 -0
- package/console/settings/org-preferences.txt +87 -0
- package/console/settings/org-profile/__next._full.txt +89 -0
- package/console/settings/org-profile/__next._index.txt +62 -0
- package/console/settings/org-profile/__next._tree.txt +8 -0
- package/console/settings/org-profile/__next.settings.org-profile.__PAGE__.txt +74 -0
- package/console/settings/org-profile.html +1 -0
- package/console/settings/org-profile.txt +89 -0
- package/console/settings/plans/__next._full.txt +89 -0
- package/console/settings/plans/__next._index.txt +62 -0
- package/console/settings/plans/__next._tree.txt +8 -0
- package/console/settings/plans/__next.settings.plans.__PAGE__.txt +74 -0
- package/console/settings/plans.html +1 -0
- package/console/settings/plans.txt +89 -0
- package/console/settings/service-accounts/__next._full.txt +87 -0
- package/console/settings/service-accounts/__next._index.txt +62 -0
- package/console/settings/service-accounts/__next._tree.txt +8 -0
- package/console/settings/service-accounts/__next.settings.service-accounts.__PAGE__.txt +72 -0
- package/console/settings/service-accounts.html +1 -0
- package/console/settings/service-accounts.txt +87 -0
- package/console/settings/teams/__next._full.txt +86 -0
- package/console/settings/teams/__next._index.txt +62 -0
- package/console/settings/teams/__next._tree.txt +8 -0
- package/console/settings/teams/__next.settings.teams.__PAGE__.txt +71 -0
- package/console/settings/teams.html +1 -0
- package/console/settings/teams.txt +86 -0
- package/console/settings/usage/__next._full.txt +86 -0
- package/console/settings/usage/__next._index.txt +62 -0
- package/console/settings/usage/__next._tree.txt +8 -0
- package/console/settings/usage/__next.settings.usage.__PAGE__.txt +71 -0
- package/console/settings/usage.html +1 -0
- package/console/settings/usage.txt +86 -0
- package/console/settings/vaults/__next._full.txt +86 -0
- package/console/settings/vaults/__next._index.txt +62 -0
- package/console/settings/vaults/__next._tree.txt +8 -0
- package/console/settings/vaults/__next.settings.vaults.__PAGE__.txt +71 -0
- package/console/settings/vaults.html +1 -0
- package/console/settings/vaults.txt +86 -0
- package/console/settings.html +1 -0
- package/console/settings.txt +85 -0
- package/main.js +1656 -0
- package/mappings.wasm +0 -0
- package/package.json +25 -0
- package/workflow-bundle-agent-execution.js +29297 -0
- package/workflow-bundle-evals.js +11997 -0
- package/workflow-bundle-grading.js +11155 -0
- package/workflow-bundle-routine.js +11300 -0
- package/workflow-worker-thread.cjs +111 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,891914,251634,e=>{"use strict";let t,s,n,i;var c,r,l,a,d,u,h,o,g,m,I,y=e.i(973971),p=e.i(631114),G=e.i(57897),b=e.i(800046),f=e.i(274217);function Z(e){return new A(e,e,[])}function C(e){let t=[];for(let s of e)switch(s.kind){case"field":case"oneof":t.length>0&&t.push("."),t.push(s.name);break;case"extension":t.push("[",s.typeName,"]");break;case"list_sub":t.push("[",s.index,"]");break;case"map_sub":"string"==typeof s.key?t.push('["',s.key.split("\\").join("\\\\").split('"').join('\\"').split("\r").join("\\r").split("\n").join("\\n"),'"]'):t.push("[",s.key,"]")}return t.join("")}class V extends Error{constructor(e,t,s){super(t),this.name="InvalidPathError",this.schema=e,this.path=s,Object.setPrototypeOf(this,new.target.prototype)}}class A{constructor(e,t,s){this.schema=e,this.left=t,this.path=s}getLeft(){return this.left}field(e){return this.push(e)}oneof(e){return this.push(e)}extension(e){return this.push(e)}list(e){return this.push({kind:"list_sub",index:e})}map(e){return this.push({kind:"map_sub",key:e})}add(e){let t=Array.isArray(e)?e:e.toPath(),s=this.path.length;try{for(let e of t)this.push(e)}catch(e){throw this.path.splice(s),e}return this}toPath(){return this.path.concat()}clone(){return new A(this.schema,this.left,this.path.concat())}push(e){switch(e.kind){case"field":if(!this.left||"message"!=this.left.kind||this.left.typeName!=e.parent.typeName)throw this.err("field access");return this.path.push(e),this.left="message"==e.fieldKind?e.message:"list"==e.fieldKind||"map"==e.fieldKind?e:void 0,this;case"oneof":if(!this.left||"message"!=this.left.kind||this.left.typeName!=e.parent.typeName)throw this.err("oneof access");return this.path.push(e),this.left=void 0,this;case"extension":if(!this.left||"message"!=this.left.kind||this.left.typeName!=e.extendee.typeName)throw this.err("extension access");return this.path.push(e),this.left="message"==e.fieldKind?e.message:void 0,this;case"list_sub":if(!this.left||"field"!=this.left.kind||"list"!=this.left.fieldKind)throw this.err("list access");if(e.index<0||!Number.isInteger(e.index))throw this.err("list index");return this.path.push(e),this.left="message"==this.left.listKind?this.left.message:void 0,this;case"map_sub":if(!this.left||"field"!=this.left.kind||"map"!=this.left.fieldKind)throw this.err("map access");if(!function(e,t){switch(t){case f.f.STRING:return"string"==typeof e;case f.f.INT32:case f.f.UINT32:case f.f.SINT32:case f.f.SFIXED32:case f.f.FIXED32:return"number"==typeof e;case f.f.UINT64:case f.f.INT64:case f.f.FIXED64:case f.f.SFIXED64:case f.f.SINT64:return"bigint"==typeof e;case f.f.BOOL:return"boolean"==typeof e}}(e.key,this.left.mapKey))throw this.err("map key");return this.path.push(e),this.left="message"==this.left.mapKind?this.left.message:void 0,this}}err(e){return new V(this.schema,"Invalid "+e,this.path)}}e.s(["l",0,Z,"$",0,C],251634);class X extends Error{constructor(e,t){super(e,t),this.name="CompilationError",Object.setPrototypeOf(this,new.target.prototype)}}class x extends Error{constructor(e,t){super(e,t),this.name="RuntimeError",Object.setPrototypeOf(this,new.target.prototype)}}class B extends Error{constructor(e){var t;super(0==(t=e).length?"validation failed":1==t.length?t[0].toString():t[0].toString()+`, and ${t.length-1} more violation${t.length>2?"s":""}`),this.name="ValidationError",Object.setPrototypeOf(this,new.target.prototype),this.violations=e}}class J{constructor(e,t,s,n,i){this.message=e,this.ruleId=t,this.field=s,this.rule=n,this.forKey=i}toString(){let e=C(this.field);return e.length>0&&(e+=": "),e+`${this.message} [${this.ruleId}]`}}class W{static create(e,t){return new W(e,t,[],Z(e))}constructor(e,t,s,n){this.root=e,this.failFast=t,this.violations=s,this.builder=n}get violated(){return this.violations.length>0}violate(e,t,s,n=!1){this.violations.push(new J(e,t,this.builder.toPath(),s,n)),this.failFast&&this.throwIfViolated()}throwIfViolated(){if(this.violated)throw new B(this.violations)}getPath(){return this.builder.toPath()}add(e){return this.cloneWith(this.builder.clone().add(e))}field(e){return this.cloneWith(this.builder.clone().field(e))}oneof(e){return this.cloneWith(this.builder.clone().oneof(e))}extension(e){return this.cloneWith(this.builder.clone().extension(e))}list(e){return this.cloneWith(this.builder.clone().list(e))}mapKey(e){return this.cloneWith(this.builder.clone().map(e))}cloneWith(e){return new W(this.root,this.failFast,this.violations,e)}}var v=e.i(647767),H=e.i(786477),R=e.i(48566);function Y(e,t,...s){if(0==s.length)return e.extensions[t];let n=s.pop();return s.reduce((e,t)=>e.nestedMessages[t],e.messages[t]).nestedExtensions[n]}e.i(261847);var S=e.i(424407),z=e.i(14156),E=e.i(81027),M=e.i(438422),F=e.i(732303);let w=(0,S.f)("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSKGAQoMTWVzc2FnZVJ1bGVzEhYKDmNlbF9leHByZXNzaW9uGAUgAygJEh8KA2NlbBgDIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlEi0KBW9uZW9mGAQgAygLMh4uYnVmLnZhbGlkYXRlLk1lc3NhZ2VPbmVvZlJ1bGVKBAgBEAJSCGRpc2FibGVkIjQKEE1lc3NhZ2VPbmVvZlJ1bGUSDgoGZmllbGRzGAEgAygJEhAKCHJlcXVpcmVkGAIgASgIIh4KCk9uZW9mUnVsZXMSEAoIcmVxdWlyZWQYASABKAgiiwkKCkZpZWxkUnVsZXMSFgoOY2VsX2V4cHJlc3Npb24YHSADKAkSHwoDY2VsGBcgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUSEAoIcmVxdWlyZWQYGSABKAgSJAoGaWdub3JlGBsgASgOMhQuYnVmLnZhbGlkYXRlLklnbm9yZRIpCgVmbG9hdBgBIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GbG9hdFJ1bGVzSAASKwoGZG91YmxlGAIgASgLMhkuYnVmLnZhbGlkYXRlLkRvdWJsZVJ1bGVzSAASKQoFaW50MzIYAyABKAsyGC5idWYudmFsaWRhdGUuSW50MzJSdWxlc0gAEikKBWludDY0GAQgASgLMhguYnVmLnZhbGlkYXRlLkludDY0UnVsZXNIABIrCgZ1aW50MzIYBSABKAsyGS5idWYudmFsaWRhdGUuVUludDMyUnVsZXNIABIrCgZ1aW50NjQYBiABKAsyGS5idWYudmFsaWRhdGUuVUludDY0UnVsZXNIABIrCgZzaW50MzIYByABKAsyGS5idWYudmFsaWRhdGUuU0ludDMyUnVsZXNIABIrCgZzaW50NjQYCCABKAsyGS5idWYudmFsaWRhdGUuU0ludDY0UnVsZXNIABItCgdmaXhlZDMyGAkgASgLMhouYnVmLnZhbGlkYXRlLkZpeGVkMzJSdWxlc0gAEi0KB2ZpeGVkNjQYCiABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQ2NFJ1bGVzSAASLwoIc2ZpeGVkMzIYCyABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkMzJSdWxlc0gAEi8KCHNmaXhlZDY0GAwgASgLMhsuYnVmLnZhbGlkYXRlLlNGaXhlZDY0UnVsZXNIABInCgRib29sGA0gASgLMhcuYnVmLnZhbGlkYXRlLkJvb2xSdWxlc0gAEisKBnN0cmluZxgOIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlc0gAEikKBWJ5dGVzGA8gASgLMhguYnVmLnZhbGlkYXRlLkJ5dGVzUnVsZXNIABInCgRlbnVtGBAgASgLMhcuYnVmLnZhbGlkYXRlLkVudW1SdWxlc0gAEi8KCHJlcGVhdGVkGBIgASgLMhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXNIABIlCgNtYXAYEyABKAsyFi5idWYudmFsaWRhdGUuTWFwUnVsZXNIABIlCgNhbnkYFCABKAsyFi5idWYudmFsaWRhdGUuQW55UnVsZXNIABIvCghkdXJhdGlvbhgVIAEoCzIbLmJ1Zi52YWxpZGF0ZS5EdXJhdGlvblJ1bGVzSAASMgoKZmllbGRfbWFzaxgcIAEoCzIcLmJ1Zi52YWxpZGF0ZS5GaWVsZE1hc2tSdWxlc0gAEjEKCXRpbWVzdGFtcBgWIAEoCzIcLmJ1Zi52YWxpZGF0ZS5UaW1lc3RhbXBSdWxlc0gAQgYKBHR5cGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSJVCg9QcmVkZWZpbmVkUnVsZXMSHwoDY2VsGAEgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSL4FgoKRmxvYXRSdWxlcxJ9CgVjb25zdBgBIAEoAkJuwkhrCmkKC2Zsb2F0LmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSmQEKAmx0GAIgASgCQooBwkiGAQqDAQoIZmxvYXQubHQadyFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASqQEKA2x0ZRgDIAEoAkKZAcJIlQEKkgEKCWZsb2F0Lmx0ZRqEASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEtAHCgJndBgEIAEoAkLBB8JIvQcKhgEKCGZsb2F0Lmd0GnohaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq9AQoLZmxvYXQuZ3RfbHQarQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrHAQoVZmxvYXQuZ3RfbHRfZXhjbHVzaXZlGq0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzQEKDGZsb2F0Lmd0X2x0ZRq8AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCtcBChZmbG9hdC5ndF9sdGVfZXhjbHVzaXZlGrwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARKcCAoDZ3RlGAUgASgCQowIwkiICAqVAQoJZmxvYXQuZ3RlGocBIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCswBCgxmbG9hdC5ndGVfbHQauwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtYBChZmbG9hdC5ndGVfbHRfZXhjbHVzaXZlGrsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrcAQoNZmxvYXQuZ3RlX2x0ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK5gEKF2Zsb2F0Lmd0ZV9sdGVfZXhjbHVzaXZlGsoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnkKAmluGAYgAygCQm3CSGoKaAoIZmxvYXQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnAKBm5vdF9pbhgHIAMoAkJgwkhdClsKDGZsb2F0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEm8KBmZpbml0ZRgIIAEoCEJfwkhcCloKDGZsb2F0LmZpbml0ZRpKcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAnbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSKwoHZXhhbXBsZRgJIAMoAkIawkgXChUKDWZsb2F0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIooXCgtEb3VibGVSdWxlcxJ+CgVjb25zdBgBIAEoAUJvwkhsCmoKDGRvdWJsZS5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEpoBCgJsdBgCIAEoAUKLAcJIhwEKhAEKCWRvdWJsZS5sdBp3IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCk/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKqAQoDbHRlGAMgASgBQpoBwkiWAQqTAQoKZG91YmxlLmx0ZRqEASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEtUHCgJndBgEIAEoAULGB8JIwgcKhwEKCWRvdWJsZS5ndBp6IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKvgEKDGRvdWJsZS5ndF9sdBqtAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsgBChZkb3VibGUuZ3RfbHRfZXhjbHVzaXZlGq0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzgEKDWRvdWJsZS5ndF9sdGUavAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrYAQoXZG91YmxlLmd0X2x0ZV9leGNsdXNpdmUavAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEqEICgNndGUYBSABKAFCkQjCSI0ICpYBCgpkb3VibGUuZ3RlGocBIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCs0BCg1kb3VibGUuZ3RlX2x0GrsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrXAQoXZG91YmxlLmd0ZV9sdF9leGNsdXNpdmUauwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCt0BCg5kb3VibGUuZ3RlX2x0ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK5wEKGGRvdWJsZS5ndGVfbHRlX2V4Y2x1c2l2ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoAUJuwkhrCmkKCWRvdWJsZS5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygBQmHCSF4KXAoNZG91YmxlLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEnAKBmZpbml0ZRgIIAEoCEJgwkhdClsKDWRvdWJsZS5maW5pdGUaSnJ1bGVzLmZpbml0ZSA/ICh0aGlzLmlzTmFuKCkgfHwgdGhpcy5pc0luZigpID8gJ211c3QgYmUgZmluaXRlJyA6ICcnKSA6ICcnEiwKB2V4YW1wbGUYCSADKAFCG8JIGAoWCg5kb3VibGUuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4isBQKCkludDMyUnVsZXMSfQoFY29uc3QYASABKAVCbsJIawppCgtpbnQzMi5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEoQBCgJsdBgCIAEoBUJ2wkhzCnEKCGludDMyLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpUBCgNsdGUYAyABKAVChQHCSIEBCn8KCWludDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAAS+QYKAmd0GAQgASgFQuoGwkjmBgp0CghpbnQzMi5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKrQEKC2ludDMyLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq1AQoVaW50MzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvQEKDGludDMyLmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKxQEKFmludDMyLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsUHCgNndGUYBSABKAVCtQfCSLEHCoIBCglpbnQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq8AQoMaW50MzIuZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsQBChZpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoNaW50MzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrUAQoXaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESeQoCaW4YBiADKAVCbcJIagpoCghpbnQzMi5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScAoGbm90X2luGAcgAygFQmDCSF0KWwoMaW50MzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSKwoHZXhhbXBsZRgIIAMoBUIawkgXChUKDWludDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIrAUCgpJbnQ2NFJ1bGVzEn0KBWNvbnN0GAEgASgDQm7CSGsKaQoLaW50NjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKEAQoCbHQYAiABKANCdsJIcwpxCghpbnQ2NC5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKVAQoDbHRlGAMgASgDQoUBwkiBAQp/CglpbnQ2NC5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEvkGCgJndBgEIAEoA0LqBsJI5gYKdAoIaW50NjQuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCq0BCgtpbnQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtQEKFWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BCgxpbnQ2NC5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCsUBChZpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLFBwoDZ3RlGAUgASgDQrUHwkixBwqCAQoJaW50NjQuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvAEKDGludDY0Lmd0ZV9sdBqrAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrEAQoWaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzAEKDWludDY0Lmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1AEKF2ludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGrgBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnkKAmluGAYgAygDQm3CSGoKaAoIaW50NjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnAKBm5vdF9pbhgHIAMoA0JgwkhdClsKDGludDY0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLCFAoLVUludDMyUnVsZXMSfgoFY29uc3QYASABKA1Cb8JIbApqCgx1aW50MzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKFAQoCbHQYAiABKA1Cd8JIdApyCgl1aW50MzIubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASlwEKA2x0ZRgDIAEoDUKHAcJIgwEKgAEKCnVpbnQzMi5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEv4GCgJndBgEIAEoDULvBsJI6wYKdQoJdWludDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwquAQoMdWludDMyLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq2AQoWdWludDMyLmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BCg11aW50MzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrGAQoXdWludDMyLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsoHCgNndGUYBSABKA1CugfCSLYHCoMBCgp1aW50MzIuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvQEKDXVpbnQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxQEKF3VpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoOdWludDMyLmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1QEKGHVpbnQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoDUJuwkhrCmkKCXVpbnQzMi5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygNQmHCSF4KXAoNdWludDMyLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKA1CG8JIGAoWCg51aW50MzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwhQKC1VJbnQ2NFJ1bGVzEn4KBWNvbnN0GAEgASgEQm/CSGwKagoMdWludDY0LmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycShQEKAmx0GAIgASgEQnfCSHQKcgoJdWludDY0Lmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpcBCgNsdGUYAyABKARChwHCSIMBCoABCgp1aW50NjQubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABL+BgoCZ3QYBCABKARC7wbCSOsGCnUKCXVpbnQ2NC5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKrgEKDHVpbnQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtgEKFnVpbnQ2NC5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoNdWludDY0Lmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKxgEKF3VpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLKBwoDZ3RlGAUgASgEQroHwki2BwqDAQoKdWludDY0Lmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr0BCg11aW50NjQuZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsUBChd1aW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKDnVpbnQ2NC5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtUBChh1aW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESegoCaW4YBiADKARCbsJIawppCgl1aW50NjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnEKBm5vdF9pbhgHIAMoBEJhwkheClwKDXVpbnQ2NC5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIsCgdleGFtcGxlGAggAygEQhvCSBgKFgoOdWludDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIsIUCgtTSW50MzJSdWxlcxJ+CgVjb25zdBgBIAEoEUJvwkhsCmoKDHNpbnQzMi5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEoUBCgJsdBgCIAEoEUJ3wkh0CnIKCXNpbnQzMi5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKXAQoDbHRlGAMgASgRQocBwkiDAQqAAQoKc2ludDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAAS/gYKAmd0GAQgASgRQu8GwkjrBgp1CglzaW50MzIuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCq4BCgxzaW50MzIuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrYBChZzaW50MzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvgEKDXNpbnQzMi5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCsYBChdzaW50MzIuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESygcKA2d0ZRgFIAEoEUK6B8JItgcKgwEKCnNpbnQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq9AQoNc2ludDMyLmd0ZV9sdBqrAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrFAQoXc2ludDMyLmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BCg5zaW50MzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrVAQoYc2ludDMyLmd0ZV9sdGVfZXhjbHVzaXZlGrgBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnoKAmluGAYgAygRQm7CSGsKaQoJc2ludDMyLmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJxCgZub3RfaW4YByADKBFCYcJIXgpcCg1zaW50MzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLCFAoLU0ludDY0UnVsZXMSfgoFY29uc3QYASABKBJCb8JIbApqCgxzaW50NjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKFAQoCbHQYAiABKBJCd8JIdApyCglzaW50NjQubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASlwEKA2x0ZRgDIAEoEkKHAcJIgwEKgAEKCnNpbnQ2NC5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEv4GCgJndBgEIAEoEkLvBsJI6wYKdQoJc2ludDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwquAQoMc2ludDY0Lmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq2AQoWc2ludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BCg1zaW50NjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrGAQoXc2ludDY0Lmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsoHCgNndGUYBSABKBJCugfCSLYHCoMBCgpzaW50NjQuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvQEKDXNpbnQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxQEKF3NpbnQ2NC5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoOc2ludDY0Lmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1QEKGHNpbnQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoEkJuwkhrCmkKCXNpbnQ2NC5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygSQmHCSF4KXAoNc2ludDY0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKBJCG8JIGAoWCg5zaW50NjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i0xQKDEZpeGVkMzJSdWxlcxJ/CgVjb25zdBgBIAEoB0JwwkhtCmsKDWZpeGVkMzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKGAQoCbHQYAiABKAdCeMJIdQpzCgpmaXhlZDMyLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpgBCgNsdGUYAyABKAdCiAHCSIQBCoEBCgtmaXhlZDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASgwcKAmd0GAQgASgHQvQGwkjwBgp2CgpmaXhlZDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqvAQoNZml4ZWQzMi5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtwEKF2ZpeGVkMzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvwEKDmZpeGVkMzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrHAQoYZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLPBwoDZ3RlGAUgASgHQr8Hwki7BwqEAQoLZml4ZWQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq+AQoOZml4ZWQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxgEKGGZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzgEKD2ZpeGVkMzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrWAQoZZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ7CgJpbhgGIAMoB0JvwkhsCmoKCmZpeGVkMzIuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnIKBm5vdF9pbhgHIAMoB0JiwkhfCl0KDmZpeGVkMzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoB0IcwkgZChcKD2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i0xQKDEZpeGVkNjRSdWxlcxJ/CgVjb25zdBgBIAEoBkJwwkhtCmsKDWZpeGVkNjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKGAQoCbHQYAiABKAZCeMJIdQpzCgpmaXhlZDY0Lmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpgBCgNsdGUYAyABKAZCiAHCSIQBCoEBCgtmaXhlZDY0Lmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASgwcKAmd0GAQgASgGQvQGwkjwBgp2CgpmaXhlZDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqvAQoNZml4ZWQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtwEKF2ZpeGVkNjQuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvwEKDmZpeGVkNjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrHAQoYZml4ZWQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLPBwoDZ3RlGAUgASgGQr8Hwki7BwqEAQoLZml4ZWQ2NC5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq+AQoOZml4ZWQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxgEKGGZpeGVkNjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzgEKD2ZpeGVkNjQuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrWAQoZZml4ZWQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ7CgJpbhgGIAMoBkJvwkhsCmoKCmZpeGVkNjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnIKBm5vdF9pbhgHIAMoBkJiwkhfCl0KDmZpeGVkNjQubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i5RQKDVNGaXhlZDMyUnVsZXMSgAEKBWNvbnN0GAEgASgPQnHCSG4KbAoOc2ZpeGVkMzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKHAQoCbHQYAiABKA9CecJIdgp0CgtzZml4ZWQzMi5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKZAQoDbHRlGAMgASgPQokBwkiFAQqCAQoMc2ZpeGVkMzIubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKIBwoCZ3QYBCABKA9C+QbCSPUGCncKC3NmaXhlZDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqwAQoOc2ZpeGVkMzIuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrgBChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrAAQoPc2ZpeGVkMzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrIAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES1AcKA2d0ZRgFIAEoD0LEB8JIwAcKhQEKDHNmaXhlZDMyLmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr8BCg9zZml4ZWQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxwEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs8BChBzZml4ZWQzMi5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtcBChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ8CgJpbhgGIAMoD0JwwkhtCmsKC3NmaXhlZDMyLmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJzCgZub3RfaW4YByADKA9CY8JIYApeCg9zZml4ZWQzMi5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIuCgdleGFtcGxlGAggAygPQh3CSBoKGAoQc2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i5RQKDVNGaXhlZDY0UnVsZXMSgAEKBWNvbnN0GAEgASgQQnHCSG4KbAoOc2ZpeGVkNjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKHAQoCbHQYAiABKBBCecJIdgp0CgtzZml4ZWQ2NC5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKZAQoDbHRlGAMgASgQQokBwkiFAQqCAQoMc2ZpeGVkNjQubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKIBwoCZ3QYBCABKBBC+QbCSPUGCncKC3NmaXhlZDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqwAQoOc2ZpeGVkNjQuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrgBChhzZml4ZWQ2NC5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrAAQoPc2ZpeGVkNjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrIAQoZc2ZpeGVkNjQuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES1AcKA2d0ZRgFIAEoEELEB8JIwAcKhQEKDHNmaXhlZDY0Lmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr8BCg9zZml4ZWQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxwEKGXNmaXhlZDY0Lmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs8BChBzZml4ZWQ2NC5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtcBChpzZml4ZWQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ8CgJpbhgGIAMoEEJwwkhtCmsKC3NmaXhlZDY0LmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJzCgZub3RfaW4YByADKBBCY8JIYApeCg9zZml4ZWQ2NC5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIuCgdleGFtcGxlGAggAygQQh3CSBoKGAoQc2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwAEKCUJvb2xSdWxlcxJ8CgVjb25zdBgBIAEoCEJtwkhqCmgKCmJvb2wuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIqCgdleGFtcGxlGAIgAygIQhnCSBYKFAoMYm9vbC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIi6jwKC1N0cmluZ1J1bGVzEoABCgVjb25zdBgBIAEoCUJxwkhuCmwKDHN0cmluZy5jb25zdBpcdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycScQoDbGVuGBMgASgEQmTCSGEKXwoKc3RyaW5nLmxlbhpRdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ211c3QgYmUgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5sZW5dKSA6ICcnEokBCgdtaW5fbGVuGAIgASgEQnjCSHUKcwoOc3RyaW5nLm1pbl9sZW4aYXVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX2xlbiA/ICdtdXN0IGJlIGF0IGxlYXN0ICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg5zdHJpbmcubWF4X2xlbhpgdWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfbGVuID8gJ211c3QgYmUgYXQgbW9zdCAlcyBjaGFyYWN0ZXJzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEosBCglsZW5fYnl0ZXMYFCABKARCeMJIdQpzChBzdHJpbmcubGVuX2J5dGVzGl91aW50KGJ5dGVzKHRoaXMpLnNpemUoKSkgIT0gcnVsZXMubGVuX2J5dGVzID8gJ211c3QgYmUgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubGVuX2J5dGVzXSkgOiAnJxKUAQoJbWluX2J5dGVzGAQgASgEQoABwkh9CnsKEHN0cmluZy5taW5fYnl0ZXMaZ3VpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9ieXRlcyA/ICdtdXN0IGJlIGF0IGxlYXN0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1pbl9ieXRlc10pIDogJycSkgEKCW1heF9ieXRlcxgFIAEoBEJ/wkh8CnoKEHN0cmluZy5tYXhfYnl0ZXMaZnVpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA+IHJ1bGVzLm1heF9ieXRlcyA/ICdtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2J5dGVzXSkgOiAnJxKHAQoHcGF0dGVybhgGIAEoCUJ2wkhzCnEKDnN0cmluZy5wYXR0ZXJuGl8hdGhpcy5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ2RvZXMgbm90IG1hdGNoIHJlZ2V4IHBhdHRlcm4gYCVzYCcuZm9ybWF0KFtydWxlcy5wYXR0ZXJuXSkgOiAnJxJ+CgZwcmVmaXgYByABKAlCbsJIawppCg1zdHJpbmcucHJlZml4GlghdGhpcy5zdGFydHNXaXRoKHJ1bGVzLnByZWZpeCkgPyAnZG9lcyBub3QgaGF2ZSBwcmVmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEnwKBnN1ZmZpeBgIIAEoCUJswkhpCmcKDXN0cmluZy5zdWZmaXgaViF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAnZG9lcyBub3QgaGF2ZSBzdWZmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEooBCghjb250YWlucxgJIAEoCUJ4wkh1CnMKD3N0cmluZy5jb250YWlucxpgIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ2RvZXMgbm90IGNvbnRhaW4gc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnEpEBCgxub3RfY29udGFpbnMYFyABKAlCe8JIeAp2ChNzdHJpbmcubm90X2NvbnRhaW5zGl90aGlzLmNvbnRhaW5zKHJ1bGVzLm5vdF9jb250YWlucykgPyAnY29udGFpbnMgc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMubm90X2NvbnRhaW5zXSkgOiAnJxJ6CgJpbhgKIAMoCUJuwkhrCmkKCXN0cmluZy5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAsgAygJQmHCSF4KXAoNc3RyaW5nLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEtkBCgVlbWFpbBgMIAEoCELHAcJIwwEKWwoMc3RyaW5nLmVtYWlsEh1tdXN0IGJlIGEgdmFsaWQgZW1haWwgYWRkcmVzcxosIXJ1bGVzLmVtYWlsIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0VtYWlsKCkKZAoSc3RyaW5nLmVtYWlsX2VtcHR5EjJ2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgZW1haWwgYWRkcmVzcxoaIXJ1bGVzLmVtYWlsIHx8IHRoaXMgIT0gJydIABLhAQoIaG9zdG5hbWUYDSABKAhCzAHCSMgBCl8KD3N0cmluZy5ob3N0bmFtZRIYbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lGjIhcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSG9zdG5hbWUoKQplChVzdHJpbmcuaG9zdG5hbWVfZW1wdHkSLXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBob3N0bmFtZRodIXJ1bGVzLmhvc3RuYW1lIHx8IHRoaXMgIT0gJydIABLBAQoCaXAYDiABKAhCsgHCSK4BCk8KCXN0cmluZy5pcBIabXVzdCBiZSBhIHZhbGlkIElQIGFkZHJlc3MaJiFydWxlcy5pcCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCgpClsKD3N0cmluZy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaFyFydWxlcy5pcCB8fCB0aGlzICE9ICcnSAAS0AEKBGlwdjQYDyABKAhCvwHCSLsBClYKC3N0cmluZy5pcHY0EhxtdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzGikhcnVsZXMuaXB2NCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg0KQphChFzdHJpbmcuaXB2NF9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjQgYWRkcmVzcxoZIXJ1bGVzLmlwdjQgfHwgdGhpcyAhPSAnJ0gAEtABCgRpcHY2GBAgASgIQr8Bwki7AQpWCgtzdHJpbmcuaXB2NhIcbXVzdCBiZSBhIHZhbGlkIElQdjYgYWRkcmVzcxopIXJ1bGVzLmlwdjYgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXAoNikKYQoRc3RyaW5nLmlwdjZfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3MaGSFydWxlcy5pcHY2IHx8IHRoaXMgIT0gJydIABK5AQoDdXJpGBEgASgIQqkBwkilAQpLCgpzdHJpbmcudXJpEhNtdXN0IGJlIGEgdmFsaWQgVVJJGighcnVsZXMudXJpIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc1VyaSgpClYKEHN0cmluZy51cmlfZW1wdHkSKHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVUkkaGCFydWxlcy51cmkgfHwgdGhpcyAhPSAnJ0gAEmoKB3VyaV9yZWYYEiABKAhCV8JIVApSCg5zdHJpbmcudXJpX3JlZhIdbXVzdCBiZSBhIHZhbGlkIFVSSSBSZWZlcmVuY2UaISFydWxlcy51cmlfcmVmIHx8IHRoaXMuaXNVcmlSZWYoKUgAEokCCgdhZGRyZXNzGBUgASgIQvUBwkjxAQp7Cg5zdHJpbmcuYWRkcmVzcxInbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lLCBvciBpcCBhZGRyZXNzGkAhcnVsZXMuYWRkcmVzcyB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpIHx8IHRoaXMuaXNJcCgpCnIKFHN0cmluZy5hZGRyZXNzX2VtcHR5Ejx2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaHCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgIT0gJydIABKSAgoEdXVpZBgWIAEoCEKBAsJI/QEKnwEKC3N0cmluZy51dWlkEhRtdXN0IGJlIGEgdmFsaWQgVVVJRBp6IXJ1bGVzLnV1aWQgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykKWQoRc3RyaW5nLnV1aWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVVUlEGhkhcnVsZXMudXVpZCB8fCB0aGlzICE9ICcnSAAS6gEKBXR1dWlkGCEgASgIQtgBwkjUAQptCgxzdHJpbmcudHV1aWQSHG11c3QgYmUgYSB2YWxpZCB0cmltbWVkIFVVSUQaPyFydWxlcy50dXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezMyfSQnKQpjChJzdHJpbmcudHV1aWRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCB0cmltbWVkIFVVSUQaGiFydWxlcy50dXVpZCB8fCB0aGlzICE9ICcnSAASkAIKEWlwX3dpdGhfcHJlZml4bGVuGBogASgIQvIBwkjuAQpyChhzdHJpbmcuaXBfd2l0aF9wcmVmaXhsZW4SGW11c3QgYmUgYSB2YWxpZCBJUCBwcmVmaXgaOyFydWxlcy5pcF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCgpCngKHnN0cmluZy5pcF93aXRoX3ByZWZpeGxlbl9lbXB0eRIudmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIHByZWZpeBomIXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLJAgoTaXB2NF93aXRoX3ByZWZpeGxlbhgbIAEoCEKpAsJIpQIKjQEKGnN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuEi9tdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBo+IXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCkKkgEKIHN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuX2VtcHR5EkR2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBooIXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEskCChNpcHY2X3dpdGhfcHJlZml4bGVuGBwgASgIQqkCwkilAgqNAQoac3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW4SL211c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2KQqSAQogc3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAAS7AEKCWlwX3ByZWZpeBgdIAEoCELWAcJI0gEKZgoQc3RyaW5nLmlwX3ByZWZpeBIZbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo3IXJ1bGVzLmlwX3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCh0cnVlKQpoChZzdHJpbmcuaXBfcHJlZml4X2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4Gh4hcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgIT0gJydIABL9AQoLaXB2NF9wcmVmaXgYHiABKAhC5QHCSOEBCm8KEnN0cmluZy5pcHY0X3ByZWZpeBIbbXVzdCBiZSBhIHZhbGlkIElQdjQgcHJlZml4GjwhcnVsZXMuaXB2NF9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjRfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBwcmVmaXgaICFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzICE9ICcnSAAS/QEKC2lwdjZfcHJlZml4GB8gASgIQuUBwkjhAQpvChJzdHJpbmcuaXB2Nl9wcmVmaXgSG211c3QgYmUgYSB2YWxpZCBJUHY2IHByZWZpeBo8IXJ1bGVzLmlwdjZfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYsIHRydWUpCm4KGHN0cmluZy5pcHY2X3ByZWZpeF9lbXB0eRIwdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgcHJlZml4GiAhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAEq8CCg1ob3N0X2FuZF9wb3J0GCAgASgIQpUCwkiRAgqTAQoUc3RyaW5nLmhvc3RfYW5kX3BvcnQSO211c3QgYmUgYSB2YWxpZCBob3N0IChob3N0bmFtZSBvciBJUCBhZGRyZXNzKSBhbmQgcG9ydCBwYWlyGj4hcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0QW5kUG9ydCh0cnVlKQp5ChpzdHJpbmcuaG9zdF9hbmRfcG9ydF9lbXB0eRI3dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3QgYW5kIHBvcnQgcGFpchoiIXJ1bGVzLmhvc3RfYW5kX3BvcnQgfHwgdGhpcyAhPSAnJ0gAEu4BCgR1bGlkGCMgASgIQt0BwkjZAQp8CgtzdHJpbmcudWxpZBIUbXVzdCBiZSBhIHZhbGlkIFVMSUQaVyFydWxlcy51bGlkIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeWzAtN11bMC05QS1ISktNTlAtVFYtWmEtaGprbW5wLXR2LXpdezI1fSQnKQpZChFzdHJpbmcudWxpZF9lbXB0eRIpdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVMSUQaGSFydWxlcy51bGlkIHx8IHRoaXMgIT0gJydIABLUAgoMcHJvdG9idWZfZnFuGCUgASgIQrsCwki3AgqvAQoTc3RyaW5nLnByb3RvYnVmX2ZxbhItbXVzdCBiZSBhIHZhbGlkIGZ1bGx5LXF1YWxpZmllZCBQcm90b2J1ZiBuYW1lGmkhcnVsZXMucHJvdG9idWZfZnFuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeW0EtWmEtel9dW0EtWmEtel8wLTldKihcXC5bQS1aYS16X11bQS1aYS16XzAtOV0qKSokJykKggEKGXN0cmluZy5wcm90b2J1Zl9mcW5fZW1wdHkSQnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBmdWxseS1xdWFsaWZpZWQgUHJvdG9idWYgbmFtZRohIXJ1bGVzLnByb3RvYnVmX2ZxbiB8fCB0aGlzICE9ICcnSAASkQMKEHByb3RvYnVmX2RvdF9mcW4YJiABKAhC9ALCSPACCs0BChdzdHJpbmcucHJvdG9idWZfZG90X2ZxbhJAbXVzdCBiZSBhIHZhbGlkIGZ1bGx5LXF1YWxpZmllZCBQcm90b2J1ZiBuYW1lIHdpdGggYSBsZWFkaW5nIGRvdBpwIXJ1bGVzLnByb3RvYnVmX2RvdF9mcW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15cXC5bQS1aYS16X11bQS1aYS16XzAtOV0qKFxcLltBLVphLXpfXVtBLVphLXpfMC05XSopKiQnKQqdAQodc3RyaW5nLnByb3RvYnVmX2RvdF9mcW5fZW1wdHkSVXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBmdWxseS1xdWFsaWZpZWQgUHJvdG9idWYgbmFtZSB3aXRoIGEgbGVhZGluZyBkb3QaJSFydWxlcy5wcm90b2J1Zl9kb3RfZnFuIHx8IHRoaXMgIT0gJydIABKcBQoQd2VsbF9rbm93bl9yZWdleBgYIAEoDjIYLmJ1Zi52YWxpZGF0ZS5Lbm93blJlZ2V4QuUEwkjhBArqAQojc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX25hbWUSIG11c3QgYmUgYSB2YWxpZCBIVFRQIGhlYWRlciBuYW1lGqABcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCFoYXMocnVsZXMuc3RyaWN0KSB8fCBydWxlcy5zdHJpY3QgPydeOj9bMC05YS16QS1aISMkJSZcJyorLS5eX3x+XHg2MF0rJCcgOideW15cdTAwMDBcdTAwMEFcdTAwMERdKyQnKQqNAQopc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX25hbWVfZW1wdHkSNXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBIVFRQIGhlYWRlciBuYW1lGilydWxlcy53ZWxsX2tub3duX3JlZ2V4ICE9IDEgfHwgdGhpcyAhPSAnJwrhAQokc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX3ZhbHVlEiFtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgdmFsdWUalQFydWxlcy53ZWxsX2tub3duX3JlZ2V4ICE9IDIgfHwgdGhpcy5tYXRjaGVzKCFoYXMocnVsZXMuc3RyaWN0KSB8fCBydWxlcy5zdHJpY3QgPydeW15cdTAwMDAtXHUwMDA4XHUwMDBBLVx1MDAxRlx1MDA3Rl0qJCcgOideW15cdTAwMDBcdTAwMEFcdTAwMERdKiQnKUgAEg4KBnN0cmljdBgZIAEoCBIsCgdleGFtcGxlGCIgAygJQhvCSBgKFgoOc3RyaW5nLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkIMCgp3ZWxsX2tub3duIt0RCgpCeXRlc1J1bGVzEnoKBWNvbnN0GAEgASgMQmvCSGgKZgoLYnl0ZXMuY29uc3QaV3RoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgYmUgJXgnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxJrCgNsZW4YDSABKARCXsJIWwpZCglieXRlcy5sZW4aTHVpbnQodGhpcy5zaXplKCkpICE9IHJ1bGVzLmxlbiA/ICdtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSgwEKB21pbl9sZW4YAiABKARCcsJIbwptCg1ieXRlcy5taW5fbGVuGlx1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAnbXVzdCBiZSBhdCBsZWFzdCAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5taW5fbGVuXSkgOiAnJxKCAQoHbWF4X2xlbhgDIAEoBEJxwkhuCmwKDWJ5dGVzLm1heF9sZW4aW3VpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2xlbiA/ICdtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2xlbl0pIDogJycSigEKB3BhdHRlcm4YBCABKAlCecJIdgp0Cg1ieXRlcy5wYXR0ZXJuGmMhc3RyaW5nKHRoaXMpLm1hdGNoZXMocnVsZXMucGF0dGVybikgPyAnbXVzdCBtYXRjaCByZWdleCBwYXR0ZXJuIGAlc2AnLmZvcm1hdChbcnVsZXMucGF0dGVybl0pIDogJycSewoGcHJlZml4GAUgASgMQmvCSGgKZgoMYnl0ZXMucHJlZml4GlYhdGhpcy5zdGFydHNXaXRoKHJ1bGVzLnByZWZpeCkgPyAnZG9lcyBub3QgaGF2ZSBwcmVmaXggJXgnLmZvcm1hdChbcnVsZXMucHJlZml4XSkgOiAnJxJ5CgZzdWZmaXgYBiABKAxCacJIZgpkCgxieXRlcy5zdWZmaXgaVCF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAnZG9lcyBub3QgaGF2ZSBzdWZmaXggJXgnLmZvcm1hdChbcnVsZXMuc3VmZml4XSkgOiAnJxJ9Cghjb250YWlucxgHIAEoDEJrwkhoCmYKDmJ5dGVzLmNvbnRhaW5zGlQhdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAnZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSoQEKAmluGAggAygMQpQBwkiQAQqNAQoIYnl0ZXMuaW4agAFnZXRGaWVsZChydWxlcywgJ2luJykuc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJwCgZub3RfaW4YCSADKAxCYMJIXQpbCgxieXRlcy5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLlAQoCaXAYCiABKAhC1gHCSNIBCm4KCGJ5dGVzLmlwEhptdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxpGIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNCB8fCB0aGlzLnNpemUoKSA9PSAxNgpgCg5ieXRlcy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaHSFydWxlcy5pcCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS3gEKBGlwdjQYCyABKAhCzQHCSMkBCl8KCmJ5dGVzLmlwdjQSHG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaMyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApmChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGh8hcnVsZXMuaXB2NCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS3wEKBGlwdjYYDCABKAhCzgHCSMoBCmAKCmJ5dGVzLmlwdjYSHG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaNCFydWxlcy5pcHY2IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKZgoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxofIXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgIT0gMEgAEs8BCgR1dWlkGA8gASgIQr4Bwki6AQpYCgpieXRlcy51dWlkEhRtdXN0IGJlIGEgdmFsaWQgVVVJRBo0IXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpeChBieXRlcy51dWlkX2VtcHR5Eil2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgVVVJRBofIXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgIT0gMEgAEisKB2V4YW1wbGUYDiADKAxCGsJIFwoVCg1ieXRlcy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLBAwoJRW51bVJ1bGVzEnwKBWNvbnN0GAEgASgFQm3CSGoKaAoKZW51bS5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEhQKDGRlZmluZWRfb25seRgCIAEoCBJ4CgJpbhgDIAMoBUJswkhpCmcKB2VudW0uaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEm8KBm5vdF9pbhgEIAMoBUJfwkhcCloKC2VudW0ubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSKgoHZXhhbXBsZRgFIAMoBUIZwkgWChQKDGVudW0uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACIu0DCg1SZXBlYXRlZFJ1bGVzEpYBCgltaW5faXRlbXMYASABKARCggHCSH8KfQoScmVwZWF0ZWQubWluX2l0ZW1zGmd1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9pdGVtcyA/ICdtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJWQgaXRlbShzKScuZm9ybWF0KFtydWxlcy5taW5faXRlbXNdKSA6ICcnEpwBCgltYXhfaXRlbXMYAiABKARCiAHCSIQBCoEBChJyZXBlYXRlZC5tYXhfaXRlbXMaa3VpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2l0ZW1zID8gJ211c3QgY29udGFpbiBubyBtb3JlIHRoYW4gJXMgaXRlbShzKScuZm9ybWF0KFtydWxlcy5tYXhfaXRlbXNdKSA6ICcnEnAKBnVuaXF1ZRgDIAEoCEJgwkhdClsKD3JlcGVhdGVkLnVuaXF1ZRIocmVwZWF0ZWQgdmFsdWUgbXVzdCBjb250YWluIHVuaXF1ZSBpdGVtcxoeIXJ1bGVzLnVuaXF1ZSB8fCB0aGlzLnVuaXF1ZSgpEicKBWl0ZW1zGAQgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXMqCQjoBxCAgICAAiKKAwoITWFwUnVsZXMSjwEKCW1pbl9wYWlycxgBIAEoBEJ8wkh5CncKDW1hcC5taW5fcGFpcnMaZnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IGxlYXN0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWluX3BhaXJzXSkgOiAnJxKOAQoJbWF4X3BhaXJzGAIgASgEQnvCSHgKdgoNbWFwLm1heF9wYWlycxpldWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfcGFpcnMgPyAnbWFwIG11c3QgYmUgYXQgbW9zdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1heF9wYWlyc10pIDogJycSJgoEa2V5cxgEIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzEigKBnZhbHVlcxgFIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzKgkI6AcQgICAgAIiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIr8WCg1EdXJhdGlvblJ1bGVzEpsBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJxwkhuCmwKDmR1cmF0aW9uLmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSogEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnnCSHYKdAoLZHVyYXRpb24ubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAAStAEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKJAcJIhQEKggEKDGR1cmF0aW9uLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASowcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQvkGwkj1Bgp3CgtkdXJhdGlvbi5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKsAEKDmR1cmF0aW9uLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq4AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwAEKD2R1cmF0aW9uLmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKyAEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu8HCgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CxAfCSMAHCoUBCgxkdXJhdGlvbi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq/AQoPZHVyYXRpb24uZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCscBChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrPAQoQZHVyYXRpb24uZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrXAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESlwEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnDCSG0KawoLZHVyYXRpb24uaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEo4BCgZub3RfaW4YCCADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CY8JIYApeCg9kdXJhdGlvbi5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJJCgdleGFtcGxlGAkgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQh3CSBoKGAoQZHVyYXRpb24uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i6wUKDkZpZWxkTWFza1J1bGVzErkBCgVjb25zdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCjQHCSIkBCoYBChBmaWVsZF9tYXNrLmNvbnN0GnJ0aGlzLnBhdGhzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRocyA/ICdtdXN0IGVxdWFsIHBhdGhzICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRoc10pIDogJycS0wEKAmluGAIgAygJQsYBwkjCAQq/AQoNZmllbGRfbWFzay5pbhqtASF0aGlzLnBhdGhzLmFsbChwLCBwIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ2luJykuZXhpc3RzKGYsIHAuc3RhcnRzV2l0aChmKycuJykpKSA/ICdtdXN0IG9ubHkgY29udGFpbiBwYXRocyBpbiAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEu0BCgZub3RfaW4YAyADKAlC3AHCSNgBCtUBChFmaWVsZF9tYXNrLm5vdF9pbhq/ASF0aGlzLnBhdGhzLmFsbChwLCAhKHAgaW4gZ2V0RmllbGQocnVsZXMsICdub3RfaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ25vdF9pbicpLmV4aXN0cyhmLCBwLnN0YXJ0c1dpdGgoZisnLicpKSkpID8gJ211c3Qgbm90IGNvbnRhaW4gYW55IHBhdGhzIGluICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnbm90X2luJyldKSA6ICcnEkwKB2V4YW1wbGUYBCADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQh/CSBwKGgoSZmllbGRfbWFzay5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIisBcKDlRpbWVzdGFtcFJ1bGVzEp0BCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCcsJIbwptCg90aW1lc3RhbXAuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKkAQoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnrCSHcKdQoMdGltZXN0YW1wLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAErYBCgNsdGUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQooBwkiGAQqDAQoNdGltZXN0YW1wLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASZgoGbHRfbm93GAcgASgIQlTCSFEKTwoQdGltZXN0YW1wLmx0X25vdxo7KHJ1bGVzLmx0X25vdyAmJiB0aGlzID4gbm93KSA/ICdtdXN0IGJlIGxlc3MgdGhhbiBub3cnIDogJydIABKpBwoCZ3QYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQv4Gwkj6Bgp4Cgx0aW1lc3RhbXAuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrEBCg90aW1lc3RhbXAuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrkBChl0aW1lc3RhbXAuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwQEKEHRpbWVzdGFtcC5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCskBChp0aW1lc3RhbXAuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES9QcKA2d0ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCyQfCSMUHCoYBCg10aW1lc3RhbXAuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwAEKEHRpbWVzdGFtcC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKyAEKGnRpbWVzdGFtcC5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrQAQoRdGltZXN0YW1wLmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2AEKG3RpbWVzdGFtcC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJpCgZndF9ub3cYCCABKAhCV8JIVApSChB0aW1lc3RhbXAuZ3Rfbm93Gj4ocnVsZXMuZ3Rfbm93ICYmIHRoaXMgPCBub3cpID8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG5vdycgOiAnJ0gBErEBCgZ3aXRoaW4YCSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25ChQHCSIEBCn8KEHRpbWVzdGFtcC53aXRoaW4aa3RoaXMgPCBub3ctcnVsZXMud2l0aGluIHx8IHRoaXMgPiBub3crcnVsZXMud2l0aGluID8gJ211c3QgYmUgd2l0aGluICVzIG9mIG5vdycuZm9ybWF0KFtydWxlcy53aXRoaW5dKSA6ICcnEksKB2V4YW1wbGUYCiADKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQh7CSBsKGQoRdGltZXN0YW1wLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIjkKClZpb2xhdGlvbnMSKwoKdmlvbGF0aW9ucxgBIAMoCzIXLmJ1Zi52YWxpZGF0ZS5WaW9sYXRpb24inwEKCVZpb2xhdGlvbhImCgVmaWVsZBgFIAEoCzIXLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGgSJQoEcnVsZRgGIAEoCzIXLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGgSDwoHcnVsZV9pZBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEg8KB2Zvcl9rZXkYBCABKAhKBAgBEAJSCmZpZWxkX3BhdGgiPQoJRmllbGRQYXRoEjAKCGVsZW1lbnRzGAEgAygLMh4uYnVmLnZhbGlkYXRlLkZpZWxkUGF0aEVsZW1lbnQi6QIKEEZpZWxkUGF0aEVsZW1lbnQSFAoMZmllbGRfbnVtYmVyGAEgASgFEhIKCmZpZWxkX25hbWUYAiABKAkSPgoKZmllbGRfdHlwZRgDIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEjwKCGtleV90eXBlGAQgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPgoKdmFsdWVfdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEg8KBWluZGV4GAYgASgESAASEgoIYm9vbF9rZXkYByABKAhIABIRCgdpbnRfa2V5GAggASgDSAASEgoIdWludF9rZXkYCSABKARIABIUCgpzdHJpbmdfa2V5GAogASgJSABCCwoJc3Vic2NyaXB0KqEBCgZJZ25vcmUSFgoSSUdOT1JFX1VOU1BFQ0lGSUVEEAASGAoUSUdOT1JFX0lGX1pFUk9fVkFMVUUQARIRCg1JR05PUkVfQUxXQVlTEAMiBAgCEAIqDElHTk9SRV9FTVBUWSoOSUdOT1JFX0RFRkFVTFQqF0lHTk9SRV9JRl9ERUZBVUxUX1ZBTFVFKhVJR05PUkVfSUZfVU5QT1BVTEFURUQqbgoKS25vd25SZWdleBIbChdLTk9XTl9SRUdFWF9VTlNQRUNJRklFRBAAEiAKHEtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX05BTUUQARIhCh1LTk9XTl9SRUdFWF9IVFRQX0hFQURFUl9WQUxVRRACOlYKB21lc3NhZ2USHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYhwkgASgLMhouYnVmLnZhbGlkYXRlLk1lc3NhZ2VSdWxlc1IHbWVzc2FnZTpOCgVvbmVvZhIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnMYhwkgASgLMhguYnVmLnZhbGlkYXRlLk9uZW9mUnVsZXNSBW9uZW9mOk4KBWZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiHCSABKAsyGC5idWYudmFsaWRhdGUuRmllbGRSdWxlc1IFZmllbGQ6XQoKcHJlZGVmaW5lZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYiAkgASgLMh0uYnVmLnZhbGlkYXRlLlByZWRlZmluZWRSdWxlc1IKcHJlZGVmaW5lZEJuChJidWlsZC5idWYudmFsaWRhdGVCDVZhbGlkYXRlUHJvdG9QAVpHYnVmLmJ1aWxkL2dlbi9nby9idWZidWlsZC9wcm90b3ZhbGlkYXRlL3Byb3RvY29sYnVmZmVycy9nby9idWYvdmFsaWRhdGU",[R.d,E.C,M.b,F.D]),K=(0,z.f)(w,0),L=(0,z.f)(w,4),Q=(0,z.f)(w,6),N=(0,z.f)(w,7),k=(0,z.f)(w,8),U=(0,z.f)(w,9),D=(0,z.f)(w,10),P=(0,z.f)(w,11),_=(0,z.f)(w,12),T=(0,z.f)(w,13),O=(0,z.f)(w,14),j=(0,z.f)(w,15),q=(0,z.f)(w,16),$=(0,z.f)(w,17),ee=(0,z.f)(w,18),et=(0,z.f)(w,19),es=(0,z.f)(w,20),en=(0,z.f)(w,21),ei=(0,z.f)(w,22),ec=(0,z.f)(w,23),er=(0,z.f)(w,24),el=(0,z.f)(w,25),ea=(0,z.f)(w,26),ed=(0,z.f)(w,27);(c=u||(u={}))[c.UNSPECIFIED=0]="UNSPECIFIED",c[c.IF_ZERO_VALUE=1]="IF_ZERO_VALUE",c[c.ALWAYS=3]="ALWAYS",(r=h||(h={}))[r.UNSPECIFIED=0]="UNSPECIFIED",r[r.HTTP_HEADER_NAME=1]="HTTP_HEADER_NAME",r[r.HTTP_HEADER_VALUE=2]="HTTP_HEADER_VALUE";let eu=Y(w,0),eh=Y(w,1),eo=Y(w,2),eg=Y(w,3);class em{static get(){return em.instance}eval(){}prune(){return!0}}em.instance=new em;class eI{constructor(...e){this.many=e.flat()}add(...e){return this.many.push(...e),this}eval(e,t){for(let s of this.many)s.eval(e,t)}prune(){return this.many=this.many.filter(e=>!e.prune()),0==this.many.length}}class ey{constructor(e,t){this.condition=e,this.pass=t}eval(e,t){for(let s=0;s<e.size;s++){let n=e.get(s);this.condition.check(n)&&this.pass.eval(n,t.list(s))}}prune(){return this.pass.prune()||this.condition.never}}class ep{constructor(e,t,s,n){this.keyCondition=e,this.key=t,this.valueCondition=s,this.value=n}eval(e,t){if(!this.keyCondition.never||!this.valueCondition.never)for(let[s,n]of e){let e=t.mapKey(s);this.keyCondition.check(s)&&this.key.eval(s,e),this.valueCondition.check(n)&&this.value.eval(n,e)}}prune(){let e=this.key.prune()||this.keyCondition.never,t=this.value.prune()||this.valueCondition.never;return e&&t}}class eG{constructor(e,t,s,n,i){this.field=e,this.required=t,this.legacyRequired=s,this.condition=n,this.pass=i}eval(e,t){if((this.required||this.legacyRequired)&&!e.isSet(this.field))return void(this.required?t.field(this.field).violate("value is required","required",[L.field.required]):t.field(this.field).violate("value is required","legacy_required",[]));if(this.condition.check(e)){let s=e.get(this.field);this.pass.eval(s,t.field(this.field))}}prune(){return this.condition.never&&!this.required&&!this.legacyRequired}}class eb{constructor(e){this.oneof=e}eval(e,t){this.oneof.fields.some(t=>e.isSet(t))||t.oneof(this.oneof).violate("exactly one field is required in oneof","required",[])}prune(){return!1}}class ef{constructor(e,t,s){this.rulePath=t,this.definedOnly=s.definedOnly?new Set(e.values.map(e=>e.number)):void 0}eval(e,t){void 0===this.definedOnly||this.definedOnly.has(e)||t.violate("value must be one of the defined enum values","enum.defined_only",this.rulePath.clone().field(en.field.definedOnly).toPath())}prune(){return void 0==this.definedOnly}}class eZ{constructor(e,t){this.rulePath=e,this.in=t.in,this.notIn=t.notIn}eval(e,t){let s=e.message;this.in.length>0&&!this.in.includes(s.typeUrl)&&t.violate("type URL must be in the allow list","any.in",this.rulePath.clone().field(er.field.in).toPath()),this.notIn.length>0&&this.notIn.includes(s.typeUrl)&&t.violate("type URL must not be in the block list","any.not_in",this.rulePath.clone().field(er.field.notIn).toPath())}prune(){return this.in.length+this.notIn.length==0}}class eC{constructor(e,t){this.fields=e,this.required=t}eval(e,t){let s=this.fields.filter(t=>e.isSet(t));if(s.length>1){let e=this.fields.map(e=>e.name).join(", ");t.violate(`only one of ${e} can be set`,"message.oneof",[])}if(this.required&&0==s.length){let e=this.fields.map(e=>e.name).join(", ");t.violate(`one of ${e} must be set`,"message.oneof",[])}}prune(){return 0==this.fields.length}}var eV=e.i(840305);let eA=(0,S.f)("Ch5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIcCgtEb3VibGVWYWx1ZRINCgV2YWx1ZRgBIAEoASIbCgpGbG9hdFZhbHVlEg0KBXZhbHVlGAEgASgCIhsKCkludDY0VmFsdWUSDQoFdmFsdWUYASABKAMiHAoLVUludDY0VmFsdWUSDQoFdmFsdWUYASABKAQiGwoKSW50MzJWYWx1ZRINCgV2YWx1ZRgBIAEoBSIcCgtVSW50MzJWYWx1ZRINCgV2YWx1ZRgBIAEoDSIaCglCb29sVmFsdWUSDQoFdmFsdWUYASABKAgiHAoLU3RyaW5nVmFsdWUSDQoFdmFsdWUYASABKAkiGwoKQnl0ZXNWYWx1ZRINCgV2YWx1ZRgBIAEoDEKDAQoTY29tLmdvb2dsZS5wcm90b2J1ZkINV3JhcHBlcnNQcm90b1ABWjFnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi93cmFwcGVyc3Bi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),eX=(0,z.f)(eA,0),ex=(0,z.f)(eA,1),eB=(0,z.f)(eA,2),eJ=(0,z.f)(eA,3),eW=(0,z.f)(eA,4),ev=(0,z.f)(eA,5),eH=(0,z.f)(eA,6),eR=(0,z.f)(eA,7),eY=(0,z.f)(eA,8),eS=new Map([[eV.H.typeName,"any"],[E.f.typeName,"duration"],[F.R.typeName,"timestamp"],[ex.typeName,"float"],[eX.typeName,"double"],[eW.typeName,"int32"],[eB.typeName,"int64"],[ev.typeName,"uint32"],[eJ.typeName,"uint64"],[eH.typeName,"bool"],[eR.typeName,"string"],[M.n.typeName,"fieldMask"],[eY.typeName,"bytes"]]),ez=new Map([[f.f.FLOAT,"float"],[f.f.DOUBLE,"double"],[f.f.INT32,"int32"],[f.f.INT64,"int64"],[f.f.UINT32,"uint32"],[f.f.UINT64,"uint64"],[f.f.SINT32,"sint32"],[f.f.SINT64,"sint64"],[f.f.FIXED32,"fixed32"],[f.f.FIXED64,"fixed64"],[f.f.SFIXED32,"sfixed32"],[f.f.SFIXED64,"sfixed64"],[f.f.BOOL,"bool"],[f.f.STRING,"string"],[f.f.BYTES,"bytes"]]),eE=new Map([[N.typeName,f.f.DOUBLE],[Q.typeName,f.f.FLOAT],[U.typeName,f.f.INT64],[P.typeName,f.f.UINT64],[k.typeName,f.f.INT32],[j.typeName,f.f.FIXED64],[O.typeName,f.f.FIXED32],[ee.typeName,f.f.BOOL],[es.typeName,f.f.BYTES],[D.typeName,f.f.UINT32],[q.typeName,f.f.SFIXED32],[$.typeName,f.f.SFIXED64],[_.typeName,f.f.SINT32],[T.typeName,f.f.SINT64]]);function eM(e){return eE.get(e.$typeName)}function eF(e,t){if(void 0==t)return e;let s=L.field[t];if(void 0==s)throw new X(`cannot find rule "${t}"`);return e.clone().field(s)}function ew(e,t,s){let n=e?.type.case;if(void 0!=e&&void 0!=n){if(n!=t)throw new X(void 0==t?`rule "${n}" cannot be used on ${s.toString()}`:`expected rule "${t}", got "${n}" on ${s.toString()}`);return e.type.value}}var eK=e.i(142245);let eL={check:()=>!0,always:!0,never:!1},eQ={check:()=>!1,always:!1,never:!0};function eN(e,t){switch(t){case void 0:case u.UNSPECIFIED:return eL;case u.IF_ZERO_VALUE:return new eT(e);case u.ALWAYS:return eQ}}function ek(e,t){if(t==u.ALWAYS)return eQ;if(e.presence==R._.IMPLICIT)switch(t){case void 0:case u.UNSPECIFIED:return eL;case u.IF_ZERO_VALUE:}return new eT(e)}function eU(e,t){switch(t){case void 0:case u.UNSPECIFIED:return eL;case u.IF_ZERO_VALUE:return new e_(f.f.INT32,e.values[0].number);case u.ALWAYS:return eQ}}function eD(e,t){switch(t){case void 0:case u.UNSPECIFIED:return eL;case u.IF_ZERO_VALUE:return new e_(e,(0,eK.b)(e,!1));case u.ALWAYS:return eQ}}function eP(e){switch(e){case void 0:case u.UNSPECIFIED:case u.IF_ZERO_VALUE:return eL;case u.ALWAYS:return eQ}}class e_{constructor(e,t){this.scalar=e,this.not=t,this.always=!1,this.never=!1}check(e){return!(0,eK.F)(this.scalar,this.not,e)}}class eT{constructor(e){this.field=e,this.always=!1,this.never=!1}check(e){return e.isSet(this.field)}}var eO=e.i(891287),ej=e.i(17616),eq=e.i(612221);let e$=(0,y.t)(F.R,E.f,eV.H,eA,eq.Q);function e0(...e){return(0,y.t)(e$,...e)}class e1{_name;_aliases;constructor(e=""){this._name=e,this._aliases=new Map}static ROOT=new e1;name(){return this._name}aliases(){return this._aliases}resolveCandidateNames(e){if(e.startsWith(".")){let t=e.substring(1),s=this.findAlias(t);return void 0!==s?[s]:[t]}let t=this.findAlias(e);if(void 0!==t)return[t];if(""===this.name())return[e];let s=this.name(),n=[s+"."+e];for(let t=s.lastIndexOf(".");t>=0;t=s.lastIndexOf("."))n.push((s=s.substring(0,t))+"."+e);return n.push(e),n}findAlias(e){let t=e,s="",n=e.indexOf(".");n>=0&&(t=e.substring(0,n),s=e.substring(n));let i=this._aliases.get(t);if(void 0!==i)return i+s}}let e5=Symbol.for("@bufbuild/cel/uint");function e3(e){return new e9(e)}function e2(e){return"object"==typeof e&&null!==e&&e5 in e}class e9{_value;[e5]={};constructor(e){this._value=e}get value(){return this._value}}var e4=e.i(231121);function e8(e,t){switch(e){case f.f.UINT32:case f.f.UINT64:case f.f.FIXED32:case f.f.FIXED64:return e3(BigInt(t));case f.f.INT32:case f.f.SINT32:case f.f.SFIXED32:return BigInt(t);default:return t}}let e6=Symbol.for("@bufbuild/cel/map");function e7(e){return(0,e4.B)(e)?new ts(e):new tt(e)}function te(e){return"object"==typeof e&&null!==e&&e6 in e}class tt{_map;[e6]={};constructor(e){this._map=e}get size(){return this._map.size}get(e){if(e2(e)&&(e=e.value),"number"==typeof e){if(!Number.isInteger(e))return;e=BigInt(e)}let t=this._map.get(e);if(void 0!==t)return tH(t);if("bigint"==typeof e){for(let t of this._map.keys())if(e2(t)&&t.value===e)return tH(this._map.get(t))}}has(e){return void 0!=this.get(e)}forEach(e,t){this._map.forEach((s,n,i)=>e.call(t,tH(s),n,this))}*entries(){for(let[e,t]of this._map.entries())yield[e,tH(t)]}keys(){return this._map.keys()}*values(){for(let e of this._map.values())yield tH(e)}[Symbol.iterator](){return this.entries()}}class ts{_map;[e6]={};constructor(e){this._map=e}get size(){return this._map.size}get(e){let t=this._map.get(tn(this._map.field(),e));if(void 0!==t)return tc(this._map.field(),t)}has(e){return this._map.has(tn(this._map.field(),e))}forEach(e,t){this._map.forEach((s,n,i)=>e.call(t,tc(this._map.field(),s),ti(this._map.field(),n),this))}*entries(){for(let[e,t]of this._map.entries())yield[ti(this._map.field(),e),tc(this._map.field(),t)]}*keys(){for(let e of this._map.keys())yield ti(this._map.field(),e)}*values(){for(let e of this._map.keys())yield tc(this._map.field(),e)}[Symbol.iterator](){return this.entries()}}function tn(e,t){switch(e2(t)&&(t=t.value),e.mapKey){case f.f.SINT32:case f.f.INT32:case f.f.FIXED32:case f.f.UINT32:case f.f.SFIXED32:if("bigint"==typeof t)return Number(t);return t;case f.f.SINT64:case f.f.INT64:case f.f.FIXED64:case f.f.UINT64:case f.f.SFIXED64:if("number"===t&&Number.isInteger(t))return BigInt(t);return t;default:return t}}function ti(e,t){return e8(e.mapKey,t)}function tc(e,t){switch(e.mapKind){case"enum":return BigInt(t);case"message":return tY(t);case"scalar":return e8(e.scalar,t)}}let tr=e7(new Map),tl=Symbol.for("@bufbuild/cel/list");function ta(e){return(0,e4.j)(e)?new th(e):new tu(e)}function td(e){return"object"==typeof e&&null!==e&&tl in e}class tu{_array;[tl]={};constructor(e){this._array=e}get size(){return this._array.length}get(e){if(!(e<0)&&!(e>=this.size))return tH(this._array[e])}*values(){for(let e of this._array.values())yield tH(e)}[Symbol.iterator](){return this.values()}}class th{_list;[tl]={};constructor(e){this._list=e}get size(){return this._list.size}get(e){let t=this._list.get(e);if(void 0!==t)return tg(this._list.field(),t)}*values(){for(let e of this._list)yield tg(this._list.field(),e)}[Symbol.iterator](){return this.values()}}class to{_lists;[tl]={};_size;constructor(e){this._lists=e;let t=0;for(let s of e)t+=s.size;this._size=t}get size(){return this._size}get(e){if(!(e<0)&&!(e>=this.size))for(let t of this._lists){if(e<t.size)return t.get(e);e-=t.size}}*values(){for(let e of this._lists)yield*e.values()}[Symbol.iterator](){return this.values()}}function tg(e,t){switch(e.listKind){case"enum":return BigInt(t);case"message":return tY(t);case"scalar":return e8(e.scalar,t)}}let tm=ta([]),tI=[];function ty(){if(0===tI.length)throw Error("cannot use `getEvalContext` outside of an evaluation");return tI[tI.length-1]}function tp(e){let t=ty().registry.getMessage(e);if(!t)throw Error(`Message ${e} not found in registry`);return t}var tG=e.i(971811),tb=e.i(95560);let tf=Symbol.for("@bufbuild/cel/type"),tZ={INT:tB("int"),UINT:tB("uint"),BOOL:tB("bool"),STRING:tB("string"),BYTES:tB("bytes"),DOUBLE:tB("double"),NULL:tB("null_type"),DYN:tB("dyn"),TYPE:tB("type")},tC=tx(F.R),tV=tx(E.f);function tA(e,t){return{[tf]:{},kind:"map",key:e,value:t,name:"map",toString:()=>`map(${e}, ${t})`}}function tX(e){return{[tf]:{},kind:"list",element:e,name:"list",toString:()=>`list(${e})`}}function tx(e){let t,s;return"string"==typeof e?(t=e,s=void 0):(t=e.typeName,s=e),{[tf]:{},kind:"object",desc:s,name:t,toString:()=>t}}function tB(e){return{[tf]:{},kind:"scalar",scalar:e,name:e,toString:()=>e}}function tJ(e){switch(typeof e){case"bigint":return tZ.INT;case"boolean":return tZ.BOOL;case"number":return tZ.DOUBLE;case"string":return tZ.STRING;case"object":switch(!0){case null===e:return tZ.NULL;case e instanceof Uint8Array:return tZ.BYTES;case(0,e4.t)(e):var t=e;let s=t.desc.typeName;if(t.desc.typeName===eV.H.typeName&&(s=function(e){let t=e.lastIndexOf("/"),s=t>=0?e.substring(t+1):e;if(!s.length)throw Error(`invalid type url: ${e}`);return s}(t.message.typeUrl))===eq.R.typeName){let e=(0,tG.Z)(t.message,eq.R);return e?tv(e):tZ.NULL}switch(s){case ex.typeName:case eX.typeName:return tZ.DOUBLE;case eJ.typeName:case ev.typeName:return tZ.UINT;case eW.typeName:case eB.typeName:return tZ.INT;case eR.typeName:return tZ.STRING;case eY.typeName:return tZ.BYTES;case eH.typeName:return tZ.BOOL;case eq.e.typeName:return tA(tZ.STRING,tZ.DYN);case eq.D.typeName:return tX(tZ.DYN);case eq.R.typeName:return tv(t.message)}return s===t.desc.typeName?tx(t.desc):tx(s);case td(e):return tX(tZ.DYN);case te(e):return tA(tZ.DYN,tZ.DYN);case e2(e):return tZ.UINT;default:if(tf in e)return tZ.TYPE}}throw Error(`Not a CEL value: ${e}`)}function tW(e){return"object"==typeof e&&null!==e&&tf in e}function tv(e){switch(e.kind.case){case"boolValue":return tZ.BOOL;case"listValue":return tX(tZ.DYN);case"nullValue":case void 0:return tZ.NULL;case"numberValue":return tZ.DOUBLE;case"stringValue":return tZ.STRING;case"structValue":return tA(tZ.STRING,tZ.DYN)}}function tH(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":return e;case"object":break;default:throw Error(`unsupported input ${typeof e}`)}switch(!0){case null===e:case e instanceof Uint8Array:case td(e):case te(e):case e2(e):case tW(e):return e}if(Array.isArray(e)||(0,e4.j)(e))return ta(e);if(e instanceof Map||(0,e4.B)(e))return e7(e);if((0,p.f)(e)){let t=tS(e);return void 0!==t?t:(0,G.v)(tp(e.$typeName),e)}if((0,e4.t)(e))return tY(e);if("Object"===e.constructor.name)return e7(new Map(Object.entries(e)));throw Error(`Unsupported input ${e}`)}function tR(e){var t;if(t=e,!(0,e4.t)(t,eV.H))return e;let s=(0,tG.Z)(e.message,ty().registry);if(void 0===s)throw Error(`invalid Any or ${e.message.typeUrl} not found in registry`);let n=tS(s);return void 0!==n?n:(0,G.v)(tp(s.$typeName),s)}function tY(e){let t=tS(e.message);return void 0!==t?t:e}function tS(e){return(0,tb.s)(e)?function(e){switch(e.$typeName){case eW.typeName:return BigInt(e.value);case ev.typeName:return e3(BigInt(e.value));case eJ.typeName:return e3(e.value)}return e.value}(e):function(e){switch(!0){case(0,p.f)(e,eq.e):return tz(e);case(0,p.f)(e,eq.R):return tE(e);case(0,p.f)(e,eq.D):return function(e){return ta(e.values)}(e)}}(e)}function tz(e){let t=new Map;for(let[s,n]of Object.entries(e.fields))t.set(s,tE(n));return e7(t)}function tE(e){switch(e.kind.case){case"boolValue":case"numberValue":case"stringValue":return e.kind.value;case"nullValue":case void 0:return null;case"structValue":return tz(e.kind.value);case"listValue":return ta(e.kind.value.values)}}let tM=Symbol.for("@bufbuild/cel/resolver");class tF{_groups;[tM]={};constructor(e){this._groups=e}*[Symbol.iterator](){for(let e of this._groups.values())yield*e}find(e){return this._groups.get(e)}}class tw{_name;_funcs;constructor(e,t){this._name=e,this._funcs=t}*[Symbol.iterator](){yield*this._funcs}get name(){return this._name}call(e,t,s){for(let n of(s=s.map(e=>tR(e)),this._funcs)){let i=n.call(e,t,s);if(void 0!==i)return i}}}var tK=e.i(667305),tL=e.i(414385);let tQ="_>=_",tN="_<=_",tk=-0x8000000000000000n;function tU(e=0n,t=0n){let s=1000000000n*e+BigInt(t);if(s>0x7fffffffffffffffn||s<tk)throw Error("duration out of range");return(0,eO.f)(E.f,{seconds:s/1000000000n,nanos:Number(s%1000000000n)})}let tD=Object.freeze({ns:1n,us:1000n,µs:1000n,ms:1000n*1000n,s:1000n*1000n*1000n,m:1000n*1000n*1000n*60n,h:1000n*1000n*1000n*60n*60n}),tP=/^\d+/,t_=RegExp(`^(${Object.keys(tD).join("|")})`);function tT(e){return Error(`Failed to parse duration: ${e}`)}let tO=-62135596800n;function tj(e=0n,t=0n){let s=1000000000n*e+BigInt(t),n=s%1000000000n<0n?1n:0n,i=s/1000000000n-n,c=Number(s%1000000000n+1000000000n*n);if(i>253402300799n||i<tO)throw Error("timestamp out of range");return(0,eO.f)(F.R,{seconds:i,nanos:c})}let tq=Symbol.for("@bufbuild/cel/error");function t$(e,t){return t1(e)?e:("number"==typeof t&&(t=BigInt(t)),e instanceof Error)?new t5(e.message,e,t):"string"==typeof e?new t5(e,void 0,t):new t5(`${e}`,e,t)}function t0(e,...t){return new t5(e.message,t,e.exprId)}function t1(e){return"object"==typeof e&&null!==e&&tq in e}class t5 extends Error{_cause;_exprId;[tq]={};constructor(e,t,s){super(e),this._cause=t,this._exprId=s}get exprId(){return this._exprId}get cause(){return this._cause}}var t3=e.i(705450);function t2(e,t){if(e===t)return!0;if(e2(e)&&(e=e.value),e2(t)&&(t=t.value),("number"==typeof e||"bigint"==typeof e)&&("number"==typeof t||"bigint"==typeof t))return e==t;switch(!0){case e instanceof Uint8Array:return t instanceof Uint8Array&&function(e,t){if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(e[s]!==t[s])return!1;return!0}(e,t);case td(e):return td(t)&&function(e,t){if(e.size!==t.size)return!1;for(let s=0;s<e.size;s++)if(!t2(e.get(s),t.get(s)))return!1;return!0}(e,t);case te(e):return te(t)&&function(e,t){if(e.size!==t.size)return!1;for(let[s,n]of e){let e=t.get(s);if(void 0===e||!t2(n,e))return!1}return!0}(e,t);case tW(e):return tW(t)&&t9(e,t)}return!!(0,e4.t)(e)&&!!(0,e4.t)(t)&&e.desc.typeName===t.desc.typeName&&(0,t3.f)(e.desc,e.message,t.message,{registry:ty().registry,unpackAny:!0,unknown:!0,extensions:!0})}function t9(e,t){return e.kind===t.kind&&e.name===t.name}let t4=Symbol.for("@bufbuild/cel/func");function t8(e,t,s,n){return new se(e,void 0,t,s,n)}function t6(e,t,s,n,i){return new st(e,t,s,n,i)}class t7{_name;_target;_args;_result;_impl;_id;[t4]={};constructor(e,t,s,n,i,c=""){this._name=e,this._target=t,this._args=s,this._result=n,this._impl=i,this._id=c}get id(){if(""===this._id){let e=this.target?`${this.target.name}.`:"";this._id=`${e}${this.name}(${this.arguments.map(e=>e.name).join(",")})`}return this._id}get name(){return this._name}get target(){return this._target}get arguments(){return this._args}get result(){return this._result}call(e,t,s){if(s.length==this.arguments.length){for(let e=0;e<s.length;e++)if(!ss(s[e],this.arguments[e]))return;try{return tH(this._impl.apply(t,s))}catch(t){return t$(t,e)}}}}class se extends t7{call(e,t,s){if(void 0===t)return super.call(e,void 0,s)}}class st extends t7{call(e,t,s){if(void 0!==t&&ss(t,this.target))return super.call(e,t,s)}}function ss(e,t){return t===tZ.DYN||t9(tJ(e),t)}let sn=-0x8000000000000000n;function si(e,t="type conversion"){let s="string"==typeof e?BigInt(e):e;if("bigint"==typeof s){if(s>=sn&&s<=0x7fffffffffffffffn)return s}else if(Number.isFinite(s)&&s>Number(sn)&&s<Number(0x7fffffffffffffffn))return BigInt(Math.trunc(s));throw t$(`int overflow during ${t}`)}function sc(e,t="type conversion"){let s="string"==typeof e?BigInt(e):e;if("bigint"==typeof s||Number.isFinite(s)){let e="number"==typeof s?BigInt(Math.trunc(s)):s;if(s>=0&&e<=0xffffffffffffffffn)return e3(e)}throw t$(`uint overflow during ${t}`)}function sr(e,t){return tj(e.message.seconds+t.message.seconds,e.message.nanos+t.message.nanos)}function sl(e,t){return tU(e.message.seconds-t.message.seconds,e.message.nanos-t.message.nanos)}function sa(e,t,s){if(0n===s)throw t$(`${e.name} divide by zero`);return si(t/s,`divide by ${s}`)}function sd(e,t,s){if(0n===s)throw t$(`${e.name} modulus by zero`);return t%s}let su=tX(tZ.DYN),{BYTES:sh,DOUBLE:so,INT:sg,STRING:sm,UINT:sI}=tZ,sy=[t8("_+_",[sg,sg],sg,(e,t)=>si(e+t,"_+_")),t8("_+_",[sI,sI],sI,(e,t)=>sc(e.value+t.value,"_+_")),t8("_+_",[so,so],so,(e,t)=>e+t),t8("_+_",[tV,tV],tV,function(e,t){return tU(e.message.seconds+t.message.seconds,e.message.nanos+t.message.nanos)}),t8("_+_",[tC,tV],tC,sr),t8("_+_",[tV,tC],tC,sr),t8("_+_",[sm,sm],sm,(e,t)=>e+t),t8("_+_",[sh,sh],sh,function(e,t){let s=new Uint8Array(e.length+t.length);return s.set(e),s.set(t,e.length),s}),t8("_+_",[su,su],su,function(...e){return new to(e)}),t8("_-_",[sg,sg],sg,(e,t)=>si(e-t,"_-_")),t8("_-_",[sI,sI],sI,(e,t)=>sc(e.value-t.value,"_-_")),t8("_-_",[so,so],so,(e,t)=>e-t),t8("_-_",[tC,tC],tV,sl),t8("_-_",[tV,tV],tV,sl),t8("_-_",[tC,tV],tC,function(e,t){return tj(e.message.seconds-t.message.seconds,e.message.nanos-t.message.nanos)}),t8("_*_",[sg,sg],sg,(e,t)=>si(e*t,"_*_")),t8("_*_",[sI,sI],sI,(e,t)=>sc(e.value*t.value,"_*_")),t8("_*_",[so,so],so,(e,t)=>e*t),t8("_/_",[sg,sg],sg,(e,t)=>sa(sg,e,t)),t8("_/_",[sI,sI],sI,(e,t)=>e3(sa(sI,e.value,t.value))),t8("_/_",[so,so],so,(e,t)=>e/t),t8("_%_",[sg,sg],sg,(e,t)=>sd(sg,e,t)),t8("_%_",[sI,sI],sI,(e,t)=>e3(sd(sI,e.value,t.value))),t8("-_",[sg],sg,e=>si(-e)),t8("-_",[so],so,e=>-e)],sp=new TextEncoder,sG=new TextDecoder(void 0,{fatal:!0});function sb(e){return e}let{BOOL:sf,BYTES:sZ,DOUBLE:sC,DYN:sV,INT:sA,STRING:sX,TYPE:sx,UINT:sB}=tZ,sJ=[t8("int",[sA],sA,sb),t8("int",[sB],sA,e=>si(e.value)),t8("int",[sC],sA,si),t8("int",[sX],sA,si),t8("int",[tC],sA,e=>si(e.message.seconds)),t8("int",[tV],sA,e=>si(e.message.seconds)),t8("uint",[sB],sB,sb),t8("uint",[sA],sB,sc),t8("uint",[sC],sB,sc),t8("uint",[sX],sB,sc),t8("double",[sC],sC,sb),t8("double",[sA],sC,e=>Number(e)),t8("double",[sB],sC,e=>Number(e.value)),t8("double",[sX],sC,e=>Number(e)),t8("bool",[sf],sf,sb),t8("bool",[sX],sf,function(e){switch(e){case"true":case"True":case"TRUE":case"t":case"1":return!0;case"false":case"False":case"FALSE":case"f":case"0":return!1}throw Error(`Unable to convert string '${e}' to bool`)}),t8("bytes",[sZ],sZ,sb),t8("bytes",[sX],sZ,e=>sp.encode(e)),t8("string",[sX],sX,sb),t8("string",[sf],sX,e=>e.toString()),t8("string",[sA],sX,e=>e.toString()),t8("string",[sB],sX,e=>e.value.toString()),t8("string",[sC],sX,e=>e.toString()),t8("string",[sZ],sX,function(e){try{return sG.decode(e)}catch(e){throw Error(`Failed to decode bytes as string: ${e}`)}}),t8("string",[tC],sX,e=>(0,tL.Z)(F.R,e.message)),t8("string",[tV],sX,e=>(0,tL.Z)(E.f,e.message)),t8("timestamp",[tC],tC,sb),t8("timestamp",[sX],tC,function(e){try{return(0,tK.z)(F.R,e)}catch(e){throw Error(`Failed to parse timestamp: ${e}`)}}),t8("timestamp",[sA],tC,e=>(0,ej.x)(Number(e))),t8("duration",[tV],tV,sb),t8("duration",[sX],tV,function(e){if(e.length>128)throw tT("duration string exceeds 128 characters");if(/^[-+]?0$/.test(e))return tU();let[t,s]=/^[+-]/.test(e)?["+"===e[0]?1n:-1n,e.slice(1)]:[1n,e],n=0n,i=s;for(;i.length>0;){let e=tP.exec(i)?.[0];"."===(i=i.slice(e?.length??0))[0]&&(i=i.slice(1));let t=tP.exec(i)?.[0];i=i.slice(t?.length??0);let s=t_.exec(i)?.[0];if(i=i.slice(s?.length??0),(e??t)===void 0||void 0===s)throw tT("invalid syntax");let c=tD[s];n+=BigInt(e??0)*c,n+=BigInt(t??0)*c/10n**BigInt(t?.length??0)}return tU(0n,t*n)}),t8("duration",[sA],tV,e=>(0,eO.f)(E.f,{seconds:e})),t8("type",[sV],sx,function(e){return(0,p.f)(e)?tx(tp(e.$typeName)):tJ(e)}),t8("dyn",[sV],sV,sb)],sW="size",sv="getHours",sH="getMilliseconds",sR="getMinutes",sY="getSeconds",sS=[/\\[1-9]/,/\\k<.>/,/\(\?\=/,/\(\?\!/,/\(\?\<\=/,/\(\?\<\!/,/\\c[A-Z]/,/\\u[0-9a-fA-F]{4}/,/\\0(?!\d)/,/\[\\b.*\]/],sz=new RegExp(/^\(\?(?<flags>[ims\-]+)\)/);function sE(e,t){let s=e.message.seconds-t.message.seconds;return 0n==s?e.message.nanos-t.message.nanos:s<0n?-1:1}function sM(e,t){let s=e.message.seconds-t.message.seconds;return 0n==s?e.message.nanos-t.message.nanos:s<0n?-1:1}function sF(e,t){let s=Math.min(e.length,t.length);for(let n=0;n<s;n++){if(e[n]<t[n])return -1;if(e[n]>t[n])return 1}return e.length-t.length}function sw(e,t){return t.has(e)}let{BOOL:sK,BYTES:sL,DOUBLE:sQ,DYN:sN,INT:sk,STRING:sU,UINT:sD}=tZ,sP=tX(tZ.DYN),s_=tA(tZ.DYN,tZ.DYN),sT=[t8("!_",[sK],sK,e=>!e),t8("_==_",[sN,sN],sK,t2),t8("_!=_",[sN,sN],sK,(e,t)=>!t2(e,t)),t8("_<_",[sK,sK],sK,(e,t)=>e<t),t8("_<_",[sL,sL],sK,(e,t)=>0>sF(e,t)),t8("_<_",[sQ,sQ],sK,(e,t)=>e<t),t8("_<_",[sU,sU],sK,(e,t)=>e<t),t8("_<_",[sk,sk],sK,(e,t)=>e<t),t8("_<_",[sk,sD],sK,(e,t)=>e<t.value),t8("_<_",[sD,sk],sK,(e,t)=>e.value<t),t8("_<_",[sD,sD],sK,(e,t)=>e.value<t.value),t8("_<_",[sk,sQ],sK,(e,t)=>Number(e)<t),t8("_<_",[sQ,sk],sK,(e,t)=>e<Number(t)),t8("_<_",[sQ,sD],sK,(e,t)=>e<Number(t.value)),t8("_<_",[sD,sQ],sK,(e,t)=>Number(e.value)<t),t8("_<_",[tV,tV],sK,(e,t)=>0>sE(e,t)),t8("_<_",[tC,tC],sK,(e,t)=>0>sM(e,t)),t8(tN,[sK,sK],sK,(e,t)=>e<=t),t8(tN,[sL,sL],sK,(e,t)=>0>=sF(e,t)),t8(tN,[sQ,sQ],sK,(e,t)=>e<=t),t8(tN,[sU,sU],sK,(e,t)=>e<=t),t8(tN,[sk,sk],sK,(e,t)=>e<=t),t8(tN,[sk,sD],sK,(e,t)=>e<=t.value),t8(tN,[sD,sk],sK,(e,t)=>e.value<=t),t8(tN,[sD,sD],sK,(e,t)=>e.value<=t.value),t8(tN,[sk,sQ],sK,(e,t)=>Number(e)<=t),t8(tN,[sQ,sk],sK,(e,t)=>e<=Number(t)),t8(tN,[sQ,sD],sK,(e,t)=>e<=Number(t.value)),t8(tN,[sD,sQ],sK,(e,t)=>Number(e.value)<=t),t8(tN,[tV,tV],sK,(e,t)=>0>=sE(e,t)),t8(tN,[tC,tC],sK,(e,t)=>0>=sM(e,t)),t8("_>_",[sK,sK],sK,(e,t)=>e>t),t8("_>_",[sL,sL],sK,(e,t)=>sF(e,t)>0),t8("_>_",[sQ,sQ],sK,(e,t)=>e>t),t8("_>_",[sU,sU],sK,(e,t)=>e>t),t8("_>_",[sk,sk],sK,(e,t)=>e>t),t8("_>_",[sk,sD],sK,(e,t)=>e>t.value),t8("_>_",[sD,sk],sK,(e,t)=>e.value>t),t8("_>_",[sD,sD],sK,(e,t)=>e.value>t.value),t8("_>_",[sk,sQ],sK,(e,t)=>Number(e)>t),t8("_>_",[sQ,sk],sK,(e,t)=>e>Number(t)),t8("_>_",[sQ,sD],sK,(e,t)=>e>Number(t.value)),t8("_>_",[sD,sQ],sK,(e,t)=>Number(e.value)>t),t8("_>_",[tV,tV],sK,(e,t)=>sE(e,t)>0),t8("_>_",[tC,tC],sK,(e,t)=>sM(e,t)>0),t8(tQ,[sK,sK],sK,(e,t)=>e>=t),t8(tQ,[sL,sL],sK,(e,t)=>sF(e,t)>=0),t8(tQ,[sQ,sQ],sK,(e,t)=>e>=t),t8(tQ,[sU,sU],sK,(e,t)=>e>=t),t8(tQ,[sk,sk],sK,(e,t)=>e>=t),t8(tQ,[sk,sD],sK,(e,t)=>e>=t.value),t8(tQ,[sD,sk],sK,(e,t)=>e.value>=t),t8(tQ,[sD,sD],sK,(e,t)=>e.value>=t.value),t8(tQ,[sk,sQ],sK,(e,t)=>Number(e)>=t),t8(tQ,[sQ,sk],sK,(e,t)=>e>=Number(t)),t8(tQ,[sQ,sD],sK,(e,t)=>e>=Number(t.value)),t8(tQ,[sD,sQ],sK,(e,t)=>Number(e.value)>=t),t8(tQ,[tV,tV],sK,(e,t)=>sE(e,t)>=0),t8(tQ,[tC,tC],sK,(e,t)=>sM(e,t)>=0),t8(sW,[sL],sk,e=>BigInt(e.length)),t8(sW,[sP],sk,e=>BigInt(e.size)),t8(sW,[sU],sk,e=>BigInt([...e].length)),t8(sW,[s_],sk,e=>BigInt(e.size)),t6(sW,sL,[],sk,function(){return BigInt(this.length)}),t6(sW,sP,[],sk,function(){return BigInt(this.size)}),t6(sW,sU,[],sk,function(){return BigInt([...this].length)}),t6(sW,s_,[],sk,function(){return BigInt(this.size)}),t8("@in",[sN,sP],sK,function(e,t){for(let s of t)if(t2(s,e))return!0;return!1}),t8("@in",[sU,s_],sK,sw),t8("@in",[sQ,s_],sK,sw),t8("@in",[sk,s_],sK,sw),t8("@in",[sK,s_],sK,sw),t8("@in",[sD,s_],sK,sw),t6("contains",sU,[sU],sK,String.prototype.includes),t6("endsWith",sU,[sU],sK,String.prototype.endsWith),t6("startsWith",sU,[sU],sK,String.prototype.startsWith),t6("matches",sU,[sU],sK,function(e){for(let t of sS)if(t.test(e))throw Error(`Error evaluating pattern ${e}, invalid RE2 syntax`);let t="",s=e.match(sz);if(s){for(let e of s?.groups?.flags??""){if("-"==e)break;t+=e}e=e.substring(s[0].length)}return new RegExp(e,t).test(this)})],{STRING:sO,INT:sj}=tZ;function sq(e,t){function s(e){let s=function(e,t){let s,n,i,c,r,l,a=e.message,d=(0,ej.S)(a);if(void 0===t)return new Date(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate(),d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds());let u=t.match(/^(?<sign>[+-]?)(?<hours>\d\d):(?<minutes>\d\d)$/);if(u?.groups){let e="-"==u.groups.sign?1:-1,t=parseInt(u.groups.hours),s=parseInt(u.groups.minutes);return new Date((d=new Date(d.getTime()-e*(60*t*6e4+60*s*1e3))).getUTCFullYear(),d.getUTCMonth(),d.getUTCDate(),d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds())}for(let e of new Intl.DateTimeFormat("en-US",{hourCycle:"h23",hour12:!1,timeZone:t,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).formatToParts(d))switch(e.type){case"year":s=parseInt(e.value);break;case"month":n=parseInt(e.value)-1;break;case"day":i=parseInt(e.value);break;case"hour":c=parseInt(e.value);break;case"minute":r=parseInt(e.value);break;case"second":l=parseInt(e.value)}if(void 0===s||void 0===n||void 0===i||void 0===c||void 0===r||void 0===l)throw Error(`Error converting ${(0,tL.Z)(F.R,a)} to IANA timezone ${t}`);return new Date(s,n,i,c,r,l,d.getUTCMilliseconds())}(this,e),n=t(s);try{return BigInt(n)}catch(e){throw Error(`Error converting ${n} of ${String(s)} of ${(0,tL.Z)(F.R,this.message)} to BigInt`)}}return[t6(e,tC,[],sj,s),t6(e,tC,[sO],sj,s)]}let s$=[t6(sY,tV,[],sj,function(){return this.message.seconds}),t6(sR,tV,[],sj,function(){return this.message.seconds/60n}),t6(sv,tV,[],sj,function(){return this.message.seconds/3600n}),t6(sH,tV,[],sj,function(){return BigInt(this.message.nanos)/1000000n}),...sq("getFullYear",e=>e.getFullYear()),...sq("getMonth",e=>e.getMonth()),...sq("getDate",e=>e.getDate()),...sq("getDayOfMonth",e=>e.getDate()-1),...sq("getDayOfWeek",e=>e.getDay()),...sq("getDayOfYear",e=>{let t;return(t=new Date(0,0,1)).setFullYear(e.getFullYear()),Math.floor((e.getTime()-t.getTime())/864e5)}),...sq(sY,e=>e.getSeconds()),...sq(sR,e=>e.getMinutes()),...sq(sv,e=>e.getHours()),...sq(sH,e=>e.getMilliseconds())],s0=Symbol.for("@bufbuild/cel/env");class s1{_namespace;_registry;_funcs;[s0]={};constructor(e,t,s){this._namespace=e,this._registry=t,this._funcs=s}get namespace(){return this._namespace}get registry(){return this._registry}get funcs(){return this._funcs}}let s5=(0,S.f)("ChVjZWwvZXhwci9zeW50YXgucHJvdG8SCGNlbC5leHByIlUKClBhcnNlZEV4cHISHAoEZXhwchgCIAEoCzIOLmNlbC5leHByLkV4cHISKQoLc291cmNlX2luZm8YAyABKAsyFC5jZWwuZXhwci5Tb3VyY2VJbmZvItoICgRFeHByEgoKAmlkGAIgASgDEigKCmNvbnN0X2V4cHIYAyABKAsyEi5jZWwuZXhwci5Db25zdGFudEgAEioKCmlkZW50X2V4cHIYBCABKAsyFC5jZWwuZXhwci5FeHByLklkZW50SAASLAoLc2VsZWN0X2V4cHIYBSABKAsyFS5jZWwuZXhwci5FeHByLlNlbGVjdEgAEigKCWNhbGxfZXhwchgGIAEoCzITLmNlbC5leHByLkV4cHIuQ2FsbEgAEi4KCWxpc3RfZXhwchgHIAEoCzIZLmNlbC5leHByLkV4cHIuQ3JlYXRlTGlzdEgAEjIKC3N0cnVjdF9leHByGAggASgLMhsuY2VsLmV4cHIuRXhwci5DcmVhdGVTdHJ1Y3RIABI6ChJjb21wcmVoZW5zaW9uX2V4cHIYCSABKAsyHC5jZWwuZXhwci5FeHByLkNvbXByZWhlbnNpb25IABoVCgVJZGVudBIMCgRuYW1lGAEgASgJGksKBlNlbGVjdBIfCgdvcGVyYW5kGAEgASgLMg4uY2VsLmV4cHIuRXhwchINCgVmaWVsZBgCIAEoCRIRCgl0ZXN0X29ubHkYAyABKAgaVgoEQ2FsbBIeCgZ0YXJnZXQYASABKAsyDi5jZWwuZXhwci5FeHByEhAKCGZ1bmN0aW9uGAIgASgJEhwKBGFyZ3MYAyADKAsyDi5jZWwuZXhwci5FeHByGkgKCkNyZWF0ZUxpc3QSIAoIZWxlbWVudHMYASADKAsyDi5jZWwuZXhwci5FeHByEhgKEG9wdGlvbmFsX2luZGljZXMYAiADKAUa6QEKDENyZWF0ZVN0cnVjdBIUCgxtZXNzYWdlX25hbWUYASABKAkSMgoHZW50cmllcxgCIAMoCzIhLmNlbC5leHByLkV4cHIuQ3JlYXRlU3RydWN0LkVudHJ5Go4BCgVFbnRyeRIKCgJpZBgBIAEoAxITCglmaWVsZF9rZXkYAiABKAlIABIhCgdtYXBfa2V5GAMgASgLMg4uY2VsLmV4cHIuRXhwckgAEh0KBXZhbHVlGAQgASgLMg4uY2VsLmV4cHIuRXhwchIWCg5vcHRpb25hbF9lbnRyeRgFIAEoCEIKCghrZXlfa2luZBr4AQoNQ29tcHJlaGVuc2lvbhIQCghpdGVyX3ZhchgBIAEoCRIRCglpdGVyX3ZhcjIYCCABKAkSIgoKaXRlcl9yYW5nZRgCIAEoCzIOLmNlbC5leHByLkV4cHISEAoIYWNjdV92YXIYAyABKAkSIQoJYWNjdV9pbml0GAQgASgLMg4uY2VsLmV4cHIuRXhwchImCg5sb29wX2NvbmRpdGlvbhgFIAEoCzIOLmNlbC5leHByLkV4cHISIQoJbG9vcF9zdGVwGAYgASgLMg4uY2VsLmV4cHIuRXhwchIeCgZyZXN1bHQYByABKAsyDi5jZWwuZXhwci5FeHByQgsKCWV4cHJfa2luZCLNAgoIQ29uc3RhbnQSMAoKbnVsbF92YWx1ZRgBIAEoDjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWVIABIUCgpib29sX3ZhbHVlGAIgASgISAASFQoLaW50NjRfdmFsdWUYAyABKANIABIWCgx1aW50NjRfdmFsdWUYBCABKARIABIWCgxkb3VibGVfdmFsdWUYBSABKAFIABIWCgxzdHJpbmdfdmFsdWUYBiABKAlIABIVCgtieXRlc192YWx1ZRgHIAEoDEgAEjcKDmR1cmF0aW9uX3ZhbHVlGAggASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQgIYAUgAEjkKD3RpbWVzdGFtcF92YWx1ZRgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCAhgBSABCDwoNY29uc3RhbnRfa2luZCKcBQoKU291cmNlSW5mbxIWCg5zeW50YXhfdmVyc2lvbhgBIAEoCRIQCghsb2NhdGlvbhgCIAEoCRIUCgxsaW5lX29mZnNldHMYAyADKAUSNgoJcG9zaXRpb25zGAQgAygLMiMuY2VsLmV4cHIuU291cmNlSW5mby5Qb3NpdGlvbnNFbnRyeRI5CgttYWNyb19jYWxscxgFIAMoCzIkLmNlbC5leHByLlNvdXJjZUluZm8uTWFjcm9DYWxsc0VudHJ5EjIKCmV4dGVuc2lvbnMYBiADKAsyHi5jZWwuZXhwci5Tb3VyY2VJbmZvLkV4dGVuc2lvbhowCg5Qb3NpdGlvbnNFbnRyeRILCgNrZXkYASABKAMSDQoFdmFsdWUYAiABKAU6AjgBGkEKD01hY3JvQ2FsbHNFbnRyeRILCgNrZXkYASABKAMSHQoFdmFsdWUYAiABKAsyDi5jZWwuZXhwci5FeHByOgI4ARqxAgoJRXh0ZW5zaW9uEgoKAmlkGAEgASgJEkUKE2FmZmVjdGVkX2NvbXBvbmVudHMYAiADKA4yKC5jZWwuZXhwci5Tb3VyY2VJbmZvLkV4dGVuc2lvbi5Db21wb25lbnQSNwoHdmVyc2lvbhgDIAEoCzImLmNlbC5leHByLlNvdXJjZUluZm8uRXh0ZW5zaW9uLlZlcnNpb24aJwoHVmVyc2lvbhINCgVtYWpvchgBIAEoAxINCgVtaW5vchgCIAEoAyJvCglDb21wb25lbnQSGQoVQ09NUE9ORU5UX1VOU1BFQ0lGSUVEEAASFAoQQ09NUE9ORU5UX1BBUlNFUhABEhoKFkNPTVBPTkVOVF9UWVBFX0NIRUNLRVIQAhIVChFDT01QT05FTlRfUlVOVElNRRADQi4KDGRldi5jZWwuZXhwckILU3ludGF4UHJvdG9QAVoMY2VsLmRldi9leHBy+AEBYgZwcm90bzM",[E.C,eq.Q,F.D]),s3=(0,z.f)(s5,0),s2=(0,z.f)(s5,1);(l=o||(o={}))[l.UNSPECIFIED=0]="UNSPECIFIED",l[l.PARSER=1]="PARSER",l[l.TYPE_CHECKER=2]="TYPE_CHECKER",l[l.RUNTIME=3]="RUNTIME";class s9{builder;function;terms;ops;variadicASTs;constructor(e,t,s,n){this.builder=e,this.function=t,this.terms=[s],this.ops=[],this.variadicASTs=n}static newVariadicLogicManager(e,t,s){return new s9(e,t,s,!0)}static newBalancingLogicManager(e,t,s){return new s9(e,t,s,!1)}addTerm(e,t){this.terms.push(t),this.ops.push(e)}toExpr(){return 1===this.terms.length?this.terms[0]:this.variadicASTs?this.builder.nextExpr(this.ops[0],{case:"callExpr",value:{$typeName:"cel.expr.Expr.Call",function:this.function,args:this.terms}}):this.balancedTree(0,this.ops.length-1)}balancedTree(e,t){let s,n,i=Math.floor((e+t+1)/2);return s=i===e?this.terms[i]:this.balancedTree(e,i-1),n=i===t?this.terms[i+1]:this.balancedTree(i+1,t),this.builder.nextExpr(this.ops[i],{case:"callExpr",value:{$typeName:"cel.expr.Expr.Call",function:this.function,args:[s,n]}})}}let s4=new TextEncoder,s8="@result";var s6=g||(g={});function s7(e,t){let s=1;for(let n=0;n<t;n++)"\r"===e[n]?("\n"===e[n+1]&&n++,s++):"\n"===e[n]&&s++;return s}function ne(e,t){let s=1;for(let n=t;n>0&&!["\n","\r"].includes(e[n-1]);n--)s++;return s}s6.GrammarLocation=class e{source;start;constructor(e,t){this.source=e,this.start=t}toString(){return String(this.source)}offset(e){return{line:e.line+this.start.line-1,column:1===e.line?e.column+this.start.column-1:e.column,offset:e.offset+this.start.offset}}static offsetStart(t){return t.source instanceof e?t.source.offset(t.start):t.start}static offsetEnd(t){return t.source instanceof e?t.source.offset(t.end):t.end}},s6.padEnd=function(e,t,s){return(s=s||" ",e.length>t)?e:(t-=e.length,e+(s+=s.repeat(t)).slice(0,t))},s6.ParseFailure=class{},s6.isFailure=function(e){return!e.success},s6.getLocation=function(e,t,s,n){return{source:e,start:{offset:t.length-s.length,line:s7(t,t.length-s.length),column:ne(t,t.length-s.length)},end:{offset:t.length-n.length,line:s7(t,t.length-n.length),column:ne(t,t.length-n.length)}}},s6.getRange=function(e,t,s,n){return{source:e,start:t.length-s.length,end:t.length-n.length}},s6.getText=function(e,t){return e.slice(0,t.length>0?-t.length:void 0)};class nt extends Error{rawMessage;location;constructor(e,t,s="parse error"){super(nt.#e(e,t)),this.name=s,this.rawMessage=e,this.location=t}static #e(e,t){let s=void 0!==t.source?String(t.source):"<input>";return`${s}:${t.start.line}:${t.start.column}: `+e}}class ns extends nt{expected;found;constructor(e,t,s,n="syntax error"){super(ns.#e(e,t),s,n),this.expected=e,this.found=t}static #e(e,t){return"found "+(1===t.length?t:"end of input")+" but expecting "+function(e){let t=[...new Set(e.map(e=>"literal"===e.type?"'"+e.value.replace(/[\\\x07\b\f\n\r\t\v']/g,e=>{switch(e){case"\\":return"\\\\";case"\x07":return"\\x07";case"\b":return"\\b";case"\f":return"\\f";case"\n":return"\\n";case"\r":return"\\r";case" ":return"\\t";case"\v":return"\\v";case"'":return"\\'";default:throw Error("Unexpected string encoding replacement character. This should be an unreachable error.")}})+"'":e.value))];switch(t.sort(),t.length){case 1:return t[0];case 2:return`${t[0]} or ${t[1]}`;default:return t.slice(0,-1).join(", ")+", or "+t[t.length-1]}}(e)}}let nn=new class{#t=0n;sourceInfo={$typeName:"cel.expr.SourceInfo",syntaxVersion:"",location:"",lineOffsets:[],positions:{},macroCalls:{},extensions:[]};nextExpr(e,t){return this.sourceInfo.positions[(++this.#t).toString()]=e,{$typeName:"cel.expr.Expr",id:this.#t,exprKind:t}}nextEntry(e,t,s){return this.sourceInfo.positions[(++this.#t).toString()]=e,{$typeName:"cel.expr.Expr.CreateStruct.Entry",id:this.#t,keyKind:t,value:s,optionalEntry:!1}}newConstExpr(e,t){return this.nextExpr(e,{case:"constExpr",value:{$typeName:"cel.expr.Constant",constantKind:t}})}newCallExpr(e,t,s){if("has"===t&&1===s.length&&s[0].exprKind?.case==="selectExpr")return this.expandHasMacro(e,s[0]);if(("_||_"===t||"_&&_"===t)&&s.length>1){let n=s9.newBalancingLogicManager(this,t,s[0]);for(let t=1;t<s.length;t+=1)n.addTerm(e,s[t]);return n.toExpr()}return this.nextExpr(e,{case:"callExpr",value:{$typeName:"cel.expr.Expr.Call",function:t,args:s}})}newMemberCallExpr(e,t,s,n){return this.maybeExpand(e,this.nextExpr(e,{case:"callExpr",value:{$typeName:"cel.expr.Expr.Call",function:s,target:t,args:n}}))}newStringExpr(e,t){return this.newConstExpr(e,{case:"stringValue",value:t.reduce((e,t)=>{if("string"!=typeof t){if(t.some(e=>e>=55296&&e<57344))throw Error("surrogate code points are not allowed");return e+String.fromCodePoint(...t)}return e+t},"")})}newBytesExpr(e,t){let s=[],n=0;for(let e of t){let t="string"==typeof e?s4.encode(e):e;s.push(t),n+=t.length}let i=new Uint8Array(n),c=0;for(let e of s)i.set(e,c),c+=e.length;return this.newConstExpr(e,{case:"bytesValue",value:i})}newBoolExpr(e,t){return this.newConstExpr(e,{case:"boolValue",value:"true"===t})}newInt64Expr(e,t){return this.newConstExpr(e,{case:"int64Value",value:"-"===t[0]?-BigInt(t.slice(1)):BigInt(t)})}newUnsignedInt64Expr(e,t){return this.newConstExpr(e,{case:"uint64Value",value:BigInt(t)})}newDoubleExpr(e,t){return this.newConstExpr(e,{case:"doubleValue",value:parseFloat(t)})}newNullExpr(e){return this.newConstExpr(e,{case:"nullValue",value:0})}newIdentExpr(e,t){return this.nextExpr(e,{case:"identExpr",value:{$typeName:"cel.expr.Expr.Ident",name:t}})}newInfixExpr(e,t,s){return this.newCallExpr(e,"in"===t?"@in":`_${t}_`,s)}newSelectExpr(e,t,s){return this.nextExpr(e,{case:"selectExpr",value:{$typeName:"cel.expr.Expr.Select",operand:t,field:s,testOnly:!1}})}newIndexExpr(e,t,s){return this.newCallExpr(e,"_[_]",[t,s])}expandHasMacro(e,t){return"selectExpr"!==t.exprKind.case?this.newCallExpr(e,"has",[t]):(t.exprKind.value.testOnly=!0,t)}newListExpr(e,t){return this.nextExpr(e,{case:"listExpr",value:{$typeName:"cel.expr.Expr.CreateList",elements:t,optionalIndices:[]}})}newBoolMacro(e,t,s,n,i,c){return this.nextExpr(e,{case:"comprehensionExpr",value:{$typeName:"cel.expr.Expr.Comprehension",accuVar:s8,accuInit:this.newConstExpr(e,{case:"boolValue",value:n}),iterVar:s,iterVar2:"",iterRange:t,loopStep:i,loopCondition:c,result:this.newIdentExpr(e,s8)}})}newListMacro(e,t,s,n){return this.nextExpr(e,{case:"comprehensionExpr",value:{$typeName:"cel.expr.Expr.Comprehension",accuVar:s8,accuInit:this.newListExpr(e,[]),iterVar:s,iterVar2:"",iterRange:t,loopCondition:this.newConstExpr(e,{case:"boolValue",value:!0}),loopStep:n,result:this.newIdentExpr(e,s8)}})}expandExistsMacro(e,t,s,n){return this.newBoolMacro(e,t,s,!1,this.newCallExpr(e,"_||_",[this.newIdentExpr(e,s8),n]),this.newCallExpr(e,"@not_strictly_false",[this.newCallExpr(e,"!_",[this.newIdentExpr(e,s8)])]))}expandAllMacro(e,t,s,n){return this.newBoolMacro(e,t,s,!0,this.newCallExpr(e,"_&&_",[this.newIdentExpr(e,s8),n]),this.newCallExpr(e,"@not_strictly_false",[this.newIdentExpr(e,s8)]))}expandMapMacro(e,t,s,n){return this.newListMacro(e,t,s,this.newCallExpr(e,"_+_",[this.newIdentExpr(e,s8),this.newListExpr(e,[n])]))}expandMapFilterMacro(e,t,s,n,i){return this.newListMacro(e,t,s,this.newCallExpr(e,"_?_:_",[n,this.newCallExpr(e,"_+_",[this.newIdentExpr(e,s8),this.newListExpr(e,[i])]),this.newIdentExpr(e,s8)]))}expandFilterMacro(e,t,s,n){return this.newListMacro(e,t,s,this.newCallExpr(e,"_?_:_",[n,this.newCallExpr(e,"_+_",[this.newIdentExpr(e,s8),this.newListExpr(e,[this.newIdentExpr(e,s)])]),this.newIdentExpr(e,s8)]))}expandExistsOne(e,t,s,n){return this.nextExpr(e,{case:"comprehensionExpr",value:{$typeName:"cel.expr.Expr.Comprehension",accuVar:s8,accuInit:this.newConstExpr(e,{case:"int64Value",value:BigInt(0)}),iterVar:s,iterVar2:"",iterRange:t,loopCondition:this.newConstExpr(e,{case:"boolValue",value:!0}),loopStep:this.newCallExpr(e,"_?_:_",[n,this.newCallExpr(e,"_+_",[this.newIdentExpr(e,s8),this.newConstExpr(e,{case:"int64Value",value:BigInt(1)})]),this.newIdentExpr(e,s8)]),result:this.newCallExpr(e,"_==_",[this.newIdentExpr(e,s8),this.newConstExpr(e,{case:"int64Value",value:BigInt(1)})])}})}maybeExpand(e,t){if("callExpr"===t.exprKind.case){let s=t.exprKind.value,n=s.args[0];if(void 0!==n&&void 0!==t.exprKind.value.target&&n.exprKind?.case==="identExpr"){if(2===s.args.length)switch(s.function){case"exists":return this.expandExistsMacro(e,t.exprKind.value.target,n.exprKind.value.name,t.exprKind.value.args[1]);case"all":return this.expandAllMacro(e,t.exprKind.value.target,n.exprKind.value.name,t.exprKind.value.args[1]);case"map":return this.expandMapMacro(e,t.exprKind.value.target,n.exprKind.value.name,t.exprKind.value.args[1]);case"filter":return this.expandFilterMacro(e,t.exprKind.value.target,n.exprKind.value.name,t.exprKind.value.args[1]);case"exists_one":case"existsOne":return this.expandExistsOne(e,t.exprKind.value.target,n.exprKind.value.name,t.exprKind.value.args[1])}if(3===s.args.length&&"map"==s.function)return this.expandMapFilterMacro(e,t.exprKind.value.target,n.exprKind.value.name,t.exprKind.value.args[1],t.exprKind.value.args[2])}}return t}newMapEntry(e,t,s){return this.nextEntry(e,{case:"mapKey",value:t},s)}newStructExpr(e,t,s=""){return this.nextExpr(e,{case:"structExpr",value:{$typeName:"cel.expr.Expr.CreateStruct",entries:t,messageName:s}})}newStructEntry(e,t,s){return this.nextEntry(e,{case:"fieldKey",value:t},s)}},ni={type:"any",value:"any character"},nc={type:"class",value:"/^[\\t\\n\\f\\r ]/g"},nr={type:"other",value:"whitespace"},nl={type:"literal",value:"//"},na={type:"class",value:"/^[^\\r\\n]/g"},nd={type:"class",value:"/^[\\r\\n]/g"},nu={type:"other",value:"new line"},nh={type:"other",value:"comment"},no={type:"literal",value:"-"},ng={type:"other",value:"digit"},nm={type:"literal",value:"."},nI={type:"class",value:"/^[+\\-]/g"},ny={type:"other",value:"float literal"},np={type:"literal",value:"0x"},nG={type:"class",value:"/^[uU]/g"},nb={type:"other",value:"unsigned integer literal"},nf={type:"other",value:"integer literal"},nZ={type:"class",value:"/^[rR]/g"},nC={type:"literal",value:'"""'},nV={type:"literal",value:"'''"},nA={type:"literal",value:'"'},nX={type:"literal",value:"'"},nx={type:"literal",value:"\\"},nB={type:"class",value:"/^[xX]/g"},nJ={type:"other",value:"byte value"},nW={type:"literal",value:"\\u"},nv={type:"literal",value:"\\U"},nH={type:"class",value:"/^[0-3]/g"},nR={type:"other",value:"escaped bytes"},nY={type:"other",value:"byte sequence"},nS={type:"class",value:"/^[abfnrtv]/g"},nz={type:"class",value:"/^[\"'`\\\\?]/g"},nE={type:"other",value:"escaped character"},nM={type:"other",value:"quoted character sequence"},nF={type:"other",value:"string literal"},nw={type:"class",value:"/^[bB]/g"},nK={type:"other",value:"bytes literal"},nL={type:"literal",value:"true"},nQ={type:"literal",value:"false"},nN={type:"other",value:"boolean literal"},nk={type:"literal",value:"null"},nU={type:"other",value:"null literal"},nD={type:"class",value:"/^[_a-zA-Z]/g"},nP={type:"other",value:"identifier"},n_={type:"literal",value:"("},nT={type:"literal",value:","},nO={type:"literal",value:")"},nj={type:"other",value:"selector"},nq={type:"literal",value:"{"},n$={type:"literal",value:":"},n0={type:"literal",value:"}"},n1={type:"literal",value:"["},n5={type:"literal",value:"]"},n3={type:"literal",value:"!"},n2={type:"class",value:"/^[*\\/%]/g"},n9={type:"literal",value:"<="},n4={type:"literal",value:"<"},n8={type:"literal",value:">="},n6={type:"literal",value:">"},n7={type:"literal",value:"=="},ie={type:"literal",value:"!="},it={type:"literal",value:"in"},is={type:"other",value:"relational operator"},ii={type:"literal",value:"&&"},ic={type:"literal",value:"||"},ir={type:"literal",value:"?"},il={type:"end",value:"end of input"};var ia=e.i(988646);let id=(0,S.f)("ChZjZWwvZXhwci9jaGVja2VkLnByb3RvEghjZWwuZXhwciLsAgoLQ2hlY2tlZEV4cHISPgoNcmVmZXJlbmNlX21hcBgCIAMoCzInLmNlbC5leHByLkNoZWNrZWRFeHByLlJlZmVyZW5jZU1hcEVudHJ5EjQKCHR5cGVfbWFwGAMgAygLMiIuY2VsLmV4cHIuQ2hlY2tlZEV4cHIuVHlwZU1hcEVudHJ5EikKC3NvdXJjZV9pbmZvGAUgASgLMhQuY2VsLmV4cHIuU291cmNlSW5mbxIUCgxleHByX3ZlcnNpb24YBiABKAkSHAoEZXhwchgEIAEoCzIOLmNlbC5leHByLkV4cHIaSAoRUmVmZXJlbmNlTWFwRW50cnkSCwoDa2V5GAEgASgDEiIKBXZhbHVlGAIgASgLMhMuY2VsLmV4cHIuUmVmZXJlbmNlOgI4ARo+CgxUeXBlTWFwRW50cnkSCwoDa2V5GAEgASgDEh0KBXZhbHVlGAIgASgLMg4uY2VsLmV4cHIuVHlwZToCOAEioggKBFR5cGUSJQoDZHluGAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5SAASKgoEbnVsbBgCIAEoDjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWVIABIxCglwcmltaXRpdmUYAyABKA4yHC5jZWwuZXhwci5UeXBlLlByaW1pdGl2ZVR5cGVIABIvCgd3cmFwcGVyGAQgASgOMhwuY2VsLmV4cHIuVHlwZS5QcmltaXRpdmVUeXBlSAASMgoKd2VsbF9rbm93bhgFIAEoDjIcLmNlbC5leHByLlR5cGUuV2VsbEtub3duVHlwZUgAEiwKCWxpc3RfdHlwZRgGIAEoCzIXLmNlbC5leHByLlR5cGUuTGlzdFR5cGVIABIqCghtYXBfdHlwZRgHIAEoCzIWLmNlbC5leHByLlR5cGUuTWFwVHlwZUgAEi8KCGZ1bmN0aW9uGAggASgLMhsuY2VsLmV4cHIuVHlwZS5GdW5jdGlvblR5cGVIABIWCgxtZXNzYWdlX3R5cGUYCSABKAlIABIUCgp0eXBlX3BhcmFtGAogASgJSAASHgoEdHlwZRgLIAEoCzIOLmNlbC5leHByLlR5cGVIABInCgVlcnJvchgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eUgAEjQKDWFic3RyYWN0X3R5cGUYDiABKAsyGy5jZWwuZXhwci5UeXBlLkFic3RyYWN0VHlwZUgAGi0KCExpc3RUeXBlEiEKCWVsZW1fdHlwZRgBIAEoCzIOLmNlbC5leHByLlR5cGUaTwoHTWFwVHlwZRIgCghrZXlfdHlwZRgBIAEoCzIOLmNlbC5leHByLlR5cGUSIgoKdmFsdWVfdHlwZRgCIAEoCzIOLmNlbC5leHByLlR5cGUaVgoMRnVuY3Rpb25UeXBlEiMKC3Jlc3VsdF90eXBlGAEgASgLMg4uY2VsLmV4cHIuVHlwZRIhCglhcmdfdHlwZXMYAiADKAsyDi5jZWwuZXhwci5UeXBlGkUKDEFic3RyYWN0VHlwZRIMCgRuYW1lGAEgASgJEicKD3BhcmFtZXRlcl90eXBlcxgCIAMoCzIOLmNlbC5leHByLlR5cGUicwoNUHJpbWl0aXZlVHlwZRIeChpQUklNSVRJVkVfVFlQRV9VTlNQRUNJRklFRBAAEggKBEJPT0wQARIJCgVJTlQ2NBACEgoKBlVJTlQ2NBADEgoKBkRPVUJMRRAEEgoKBlNUUklORxAFEgkKBUJZVEVTEAYiVgoNV2VsbEtub3duVHlwZRIfChtXRUxMX0tOT1dOX1RZUEVfVU5TUEVDSUZJRUQQABIHCgNBTlkQARINCglUSU1FU1RBTVAQAhIMCghEVVJBVElPThADQgsKCXR5cGVfa2luZCLWAwoERGVjbBIMCgRuYW1lGAEgASgJEikKBWlkZW50GAIgASgLMhguY2VsLmV4cHIuRGVjbC5JZGVudERlY2xIABIvCghmdW5jdGlvbhgDIAEoCzIbLmNlbC5leHByLkRlY2wuRnVuY3Rpb25EZWNsSAAaWQoJSWRlbnREZWNsEhwKBHR5cGUYASABKAsyDi5jZWwuZXhwci5UeXBlEiEKBXZhbHVlGAIgASgLMhIuY2VsLmV4cHIuQ29uc3RhbnQSCwoDZG9jGAMgASgJGvsBCgxGdW5jdGlvbkRlY2wSNwoJb3ZlcmxvYWRzGAEgAygLMiQuY2VsLmV4cHIuRGVjbC5GdW5jdGlvbkRlY2wuT3ZlcmxvYWQSCwoDZG9jGAIgASgJGqQBCghPdmVybG9hZBITCgtvdmVybG9hZF9pZBgBIAEoCRIeCgZwYXJhbXMYAiADKAsyDi5jZWwuZXhwci5UeXBlEhMKC3R5cGVfcGFyYW1zGAMgAygJEiMKC3Jlc3VsdF90eXBlGAQgASgLMg4uY2VsLmV4cHIuVHlwZRIcChRpc19pbnN0YW5jZV9mdW5jdGlvbhgFIAEoCBILCgNkb2MYBiABKAlCCwoJZGVjbF9raW5kIlEKCVJlZmVyZW5jZRIMCgRuYW1lGAEgASgJEhMKC292ZXJsb2FkX2lkGAMgAygJEiEKBXZhbHVlGAQgASgLMhIuY2VsLmV4cHIuQ29uc3RhbnRCLAoMZGV2LmNlbC5leHByQglEZWNsUHJvdG9QAVoMY2VsLmRldi9leHBy+AEBYgZwcm90bzM",[s5,ia.D,eq.Q]),iu=(0,z.f)(id,0);function ih(e,t){if("object"==typeof e&&null!==e){if(te(e))return e.get(t);if(td(e))return e.get(Number(t))}}function io(e,t){if("object"!=typeof e||null===e)return;if(te(e))return e.get(t);if(e=tR(e),!(0,e4.t)(e))return;let s=e.desc.fields.find(e=>e.name===t);if(s)switch(s.fieldKind){case"enum":return BigInt(e.get(s));case"list":return ta(e.get(s));case"map":return e7(e.get(s));case"scalar":return e8(s.scalar,e.get(s));case"message":if(e.isSet(s))return tY(e.get(s));if((0,tb.U)(s.message))return null;switch(s.message.typeName){case eq.e.typeName:return tr;case eq.D.typeName:return tm;case eq.R.typeName:return null}return(0,G.v)(s.message)}}function ig(e,t,s,n){let i=n.resolve(t);return void 0===i?void 0:t1(i)?i:e.newAccess(n.id,i,n.isOptional()).access(t,s)}function im(e,t,s,n){let i=n.resolve(t);return void 0!==i&&(t1(i)?i:e.newAccess(n.id,i,n.isOptional()).isPresent(t,s))}function iI(e,t,s,n,i){let c=n.resolve(t);return void 0===c?void 0:t1(c)?c:e.newAccess(n.id,c,n.isOptional()).accessIfPresent(t,s,i)}function iy(e,t,s){if(0===s.length)return t;let n=t;for(let t of s){let s=t.access(e,n);if(void 0===s)return;if(t1(s))return s;n=s}return n}(a=m||(m={}))[a.PRIMITIVE_TYPE_UNSPECIFIED=0]="PRIMITIVE_TYPE_UNSPECIFIED",a[a.BOOL=1]="BOOL",a[a.INT64=2]="INT64",a[a.UINT64=3]="UINT64",a[a.DOUBLE=4]="DOUBLE",a[a.STRING=5]="STRING",a[a.BYTES=6]="BYTES",(d=I||(I={}))[d.WELL_KNOWN_TYPE_UNSPECIFIED=0]="WELL_KNOWN_TYPE_UNSPECIFIED",d[d.ANY=1]="ANY",d[d.TIMESTAMP=2]="TIMESTAMP",d[d.DURATION=3]="DURATION";class ip{id;nsNames;accesses_;registry;factory;constructor(e,t,s,n,i){if(this.id=e,this.nsNames=t,this.accesses_=s,this.registry=n,this.factory=i,0===t.length)throw Error("No names provided")}isOptional(){return!1}addAccess(e){this.accesses_.push(e)}candidateNames(){return this.nsNames}accesses(){return this.accesses_}access(e,t){return ig(this.factory,e,t,this)}isPresent(e,t){return im(this.factory,e,t,this)}accessIfPresent(e,t,s){return iI(this.factory,e,t,this,s)}resolve(e){for(let t of this.nsNames){let s=e.resolve(t);if(void 0!==s){if(t1(s))return s;return iy(e,s,this.accesses_)}let n=this.findIdent(t);if(void 0!==n&&0===this.accesses_.length)return n}}findIdent(e){let t=this.registry.getMessage(e);if(t)return tx(t);if(e.indexOf(".")>1){let t=e.lastIndexOf("."),s=e.substring(0,t),n=e.substring(t+1),i=this.registry.getEnum(s);if(i){let e=i.values.find(e=>e.name===n);if(e)return BigInt(e.number)}}switch(e){case"int":return tZ.INT;case"uint":return tZ.UINT;case"double":return tZ.DOUBLE;case"bool":return tZ.BOOL;case"string":return tZ.STRING;case"bytes":return tZ.BYTES;case"list":return tX(tZ.DYN);case"map":return tA(tZ.DYN,tZ.DYN);case"null_type":return tZ.NULL;case"type":return tZ.TYPE;default:return}}}class iG{id;cond;t;f;factory;constructor(e,t,s,n,i){this.id=e,this.cond=t,this.t=s,this.f=n,this.factory=i}isOptional(){return!1}addAccess(e){this.t.addAccess(e),this.f.addAccess(e)}access(e,t){return ig(this.factory,e,t,this)}isPresent(e,t){return im(this.factory,e,t,this)}accessIfPresent(e,t,s){return iI(this.factory,e,t,this,s)}resolve(e){let t=this.cond.eval(e);switch(!0){case!0===t:return this.t.resolve(e);case!1===t:return this.f.resolve(e);case t1(t):return t}return t$(`found no matching overload for _?_:_ applied to '(${tJ(t).name})'`,this.id)}}class ib{id;attrs;factory;constructor(e,t,s){this.id=e,this.attrs=t,this.factory=s}isOptional(){return!1}addAccess(e){let t,s=[];for(let n of(e instanceof iC&&(t=e.name),this.attrs)){if(void 0!==t&&0===n.accesses().length)for(let e of n.candidateNames())s.push(e+"."+t);n.addAccess(e)}if(s.length>0){let e=this.factory.createAbsolute(this.id,s);this.attrs.unshift(e)}}access(e,t){return ig(this.factory,e,t,this)}isPresent(e,t){return im(this.factory,e,t,this)}accessIfPresent(e,t,s){return iI(this.factory,e,t,this,s)}resolve(e){for(let t of this.attrs){let s=t.resolve(e);if(void 0!==s)return s}}}class iZ{id;operand;accesses_;factory;constructor(e,t,s,n){this.id=e,this.operand=t,this.accesses_=s,this.factory=n}isOptional(){return!1}addAccess(e){this.accesses_.push(e)}access(e,t){return ig(this.factory,e,t,this)}isPresent(e,t){return im(this.factory,e,t,this)}accessIfPresent(e,t,s){return iI(this.factory,e,t,this,s)}resolve(e){let t=this.operand.eval(e);return t1(t)?t:iy(e,t,this.accesses_)}}class iC{id;name;celVal;optional;constructor(e,t,s,n){this.id=e,this.name=t,this.celVal=s,this.optional=n}isOptional(){return this.optional}access(e,t){let s=io(t,this.name);return void 0!==s||this.optional?s:iW(this.id,this.name)}isPresent(e,t){let s=function(e,t){if("object"!=typeof e||null===e)return!1;if(te(e))return e.has(t);if(e=tR(e),(0,e4.t)(e)){let s=e.desc.fields.find(e=>e.name===t);if(!s)return;return e.isSet(s)}return!1}(t,this.name);return void 0===s?iW(this.id,this.name):s}accessIfPresent(e,t,s){let n=io(t,this.name);return void 0!==n||this.optional||s?n:iW(this.id,this.name)}}class iV{id;index;optional;constructor(e,t,s){this.id=e,this.index=t,this.optional=s}isOptional(){return this.optional}access(e,t){if(void 0===t)return t;let s=ih(t,this.index);return void 0!==s||this.optional?s:iW(this.id,this.index)}isPresent(e,t){return void 0!==ih(t,this.index)||!!this.optional||iW(this.id,this.index)}accessIfPresent(e,t,s){let n=ih(t,this.index);return void 0!==n||this.optional?n:iW(this.id,this.index)}}class iA{id;index;celVal;optional;constructor(e,t,s,n){this.id=e,this.index=t,this.celVal=s,this.optional=n}isOptional(){return this.optional}access(e,t){if(void 0===t)return t;let s=ih(t,this.index);return void 0!==s||this.optional?s:iv(this.id,this.index,-1)}isPresent(e,t){return void 0!==ih(t,this.index)||!!this.optional||iv(this.id,this.index,-1)}accessIfPresent(e,t,s){let n=ih(t,this.index);return void 0!==n||this.optional?n:iv(this.id,this.index,-1)}}class iX{id;index;celVal;optional;constructor(e,t,s,n){this.id=e,this.index=t,this.celVal=s,this.optional=n}access(e,t){if(void 0===t)return t;let s=ih(t,this.index);return void 0!==s||this.optional?s:iv(this.id,Number(this.index),-1)}isPresent(e,t){return void 0!==ih(t,this.index)||!!this.optional||iv(this.id,Number(this.index),-1)}accessIfPresent(e,t,s){let n=ih(t,this.index);return void 0!==n||this.optional?n:iv(this.id,Number(this.index),-1)}isOptional(){return this.optional}}class ix{id;error;opt;constructor(e,t,s){this.id=e,this.error=t,this.opt=s}addAccess(e){}resolve(e){return this.error}isOptional(){return this.opt}access(e,t){return this.error}isPresent(e,t){return this.error}accessIfPresent(e,t,s){return this.error}}class iB{id;key;factory;optional;constructor(e,t,s,n){this.id=e,this.key=t,this.factory=s,this.optional=n}access(e,t){if(void 0===t)return t;let s=this.key.eval(e);return t1(s)?s:this.factory.newAccess(this.id,s,this.optional).access(e,t)}isPresent(e,t){if(void 0===t)return!1;let s=this.key.eval(e);return t1(s)?s:this.factory.newAccess(this.id,s,this.optional).isPresent(e,t)}accessIfPresent(e,t,s){let n=this.key.eval(e);return t1(n)?n:this.factory.newAccess(this.id,n,this.optional).accessIfPresent(e,t,s)}isOptional(){return this.optional}}class iJ{registry;container;constructor(e,t){this.registry=e,this.container=t}createAbsolute(e,t){return new ip(e,t,[],this.registry,this)}createConditional(e,t,s,n){return new iG(e,t,s,n,this)}createMaybe(e,t){return new ib(e,[this.createAbsolute(e,this.container.resolveCandidateNames(t))],this)}createRelative(e,t){return new iZ(e,t,[],this)}newAccess(e,t,s){switch(typeof t){case"boolean":return new iV(e,t,s);case"number":return new iA(e,t,t,s);case"bigint":return new iX(e,t,t,s);case"string":return new iC(e,t,t,s);case"object":if(t instanceof i_)return new iB(e,t,this,s);if(e2(t))return new iX(e,t.value,t,s)}return new ix(e,t$("unsupported key type",e),s)}}function iW(e,t){return t$(`field not found: ${String(t)}`,e)}function iv(e,t,s){return t$(`index ${t} out of bounds [0, ${s})`,e)}class iH{data;constructor(e){this.data=e}resolve(e){let t=this.data[e];if(void 0!==t)return t1(t)?t:tH(t)}}class iR{name;value;parent;constructor(e,t,s){this.name=e,this.value=t,this.parent=s}resolve(e){return e===this.name?this.value:this.parent.resolve(e)}}let iY={resolve(){}};var iS=e.i(577755),iz=e.i(601564);function iE(e,t){if("bigint"!=typeof t)throw iQ(e,"int",t);return iN(t)}function iM(e,t){switch(e.message.typeName){case eV.H.typeName:if((0,e4.t)(t,eV.H))return t;return(0,G.v)(eV.H,function(e){switch(typeof e){case"string":return(0,tG.u)(eR,(0,eO.f)(eR,{value:e}));case"boolean":return(0,tG.u)(eH,(0,eO.f)(eH,{value:e}));case"bigint":return(0,tG.u)(eB,(0,eO.f)(eB,{value:e}));case"number":return(0,tG.u)(eX,(0,eO.f)(eX,{value:e}));default:switch(!0){case e instanceof Uint8Array:return(0,tG.u)(eY,(0,eO.f)(eY,{value:e}));case null==e:return(0,tG.u)(eq.R,(0,eO.f)(eq.R,{kind:{case:"nullValue",value:eq.M.NULL_VALUE}}));case td(e):return(0,tG.u)(eq.D,iw(e));case te(e):return(0,tG.u)(eq.e,iK(e));case e2(e):return(0,tG.u)(eJ,(0,eO.f)(eJ,{value:e.value}));case(0,e4.t)(e):return(0,tG.u)(e.desc,e.message);default:throw Error(`type cannot be converted ${eV.H}`)}}}(t));case eq.R.typeName:return(0,G.v)(eq.R,iF(t));case eq.e.typeName:if(!te(t))throw iQ(e,"map",t);return(0,G.v)(eq.e,iK(t));case eq.D.typeName:if(!td(t))throw iQ(e,"list",t);return(0,G.v)(eq.D,iw(t))}if(null===t)return null;if((0,tb.U)(e.message)){let s=(0,G.v)(e.message,void 0,!1);return s.set(e.message.fields[0],iL(e.message.fields[0],e.message.fields[0].scalar,t)),s}if(!(0,e4.t)(t,e.message))throw iQ(e,e.message.typeName,t);return t}function iF(e){let t=(0,eO.f)(eq.R);switch(typeof e){case"string":t.kind={case:"stringValue",value:e};break;case"boolean":t.kind={case:"boolValue",value:e};break;case"bigint":e>BigInt(Number.MAX_SAFE_INTEGER)||e<BigInt(Number.MIN_SAFE_INTEGER)?t.kind={case:"stringValue",value:e.toString()}:t.kind={case:"numberValue",value:Number(e)};break;case"number":Number.isNaN(e)?t.kind={case:"stringValue",value:"NaN"}:1/0===e?t.kind={case:"stringValue",value:"Infinity"}:-1/0===e?t.kind={case:"stringValue",value:"-Infinity"}:t.kind={case:"numberValue",value:Number(e)};break;default:switch(!0){case e instanceof Uint8Array:t.kind={case:"stringValue",value:(0,iS.w)(e)};break;case null==e:t.kind={case:"nullValue",value:eq.M.NULL_VALUE};break;case td(e):t.kind={case:"listValue",value:iw(e)};break;case te(e):t.kind={case:"structValue",value:iK(e)};break;case e2(e):e.value>BigInt(Number.MAX_SAFE_INTEGER)?t.kind={case:"stringValue",value:e.value.toString()}:t.kind={case:"numberValue",value:Number(e.value)};break;case(0,e4.t)(e):return(0,tK.z)(eq.R,(0,tL.Z)(e.desc,e.message));default:throw Error(`type cannot be converted ${eq.R}`)}}return t}function iw(e){let t=(0,eO.f)(eq.D);for(let s of e)t.values.push(iF(s));return t}function iK(e){let t=(0,eO.f)(eq.e);for(let[s,n]of e.entries()){if("string"!=typeof s)throw Error(`Invalid key type: ${typeof s} for google.protobuf.Struct, expected string`);t.fields[s]=iF(n)}return t}function iL(e,t,s){switch(e2(s)&&(s=s.value),t){case f.f.UINT32:case f.f.FIXED32:if("bigint"!=typeof s)throw iQ(e,"int",s);var n=s;if(n<0||n>iz.Q)throw Error("uint32 out of range");return Number(n);case f.f.INT32:case f.f.SINT32:case f.f.SFIXED32:if("bigint"!=typeof s)throw iQ(e,"int",s);return iN(s);case f.f.UINT64:case f.f.FIXED64:case f.f.INT64:case f.f.SINT64:case f.f.SFIXED64:if("bigint"!=typeof s)throw iQ(e,"int",s);return s;case f.f.FLOAT:if("number"!=typeof s)throw iQ(e,"double",s);return Math.fround(s);case f.f.DOUBLE:if("number"!=typeof s)throw iQ(e,"double",s);return s;case f.f.STRING:if("string"!=typeof s)throw iQ(e,"string",s);return s;case f.f.BOOL:if("boolean"!=typeof s)throw iQ(e,"bool",s);return s;case f.f.BYTES:if(!(s instanceof Uint8Array))throw iQ(e,"bytes",s);return s}}function iQ(e,t,s){return Error(`Expected ${t} but got ${tJ(s)} for ${e.parent}.${e.name}`)}function iN(e){if(e<iz.H||e>iz.N)throw Error("int32 out of range");return Number(e)}class ik{functions;registry;namespace;factory;constructor(e,t,s=e1.ROOT){this.functions=e,this.registry=t,this.namespace=s,this.factory=new iJ(this.registry,this.namespace)}plan(e){let t=Number(e.id);switch(e.exprKind.case){case"identExpr":return new i_(this.factory.createMaybe(t,e.exprKind.value.name),!1);case"constExpr":return new iP(t,this.constVal(e.exprKind.value));case"callExpr":return this.planCall(t,e.exprKind.value);case"listExpr":return this.planCreateList(t,e.exprKind.value);case"structExpr":return this.planCreateStruct(t,e.exprKind.value);case"selectExpr":return this.planSelect(t,e.exprKind.value);case"comprehensionExpr":return this.planComprehension(t,e.exprKind.value);default:return new iD(t,"invalid expression")}}planComprehension(e,t){if(void 0===t.accuInit||void 0===t.iterRange||void 0===t.loopCondition||void 0===t.loopStep||void 0===t.result)throw Error("invalid comprehension");let s=this.plan(t.accuInit),n=this.plan(t.iterRange),i=this.plan(t.loopCondition),c=this.plan(t.loopStep),r=this.plan(t.result);return new i$(e,t.accuVar,t.iterVar,n,s,i,c,r)}planSelect(e,t){if(void 0===t.operand)throw Error("invalid select");let s=this.plan(t.operand),n=this.relativeAttr(e,s,!1),i=this.factory.newAccess(e,t.field,!1);if(i instanceof ix)throw Error(`invalid select: ${i.error.message}`);return t.testOnly?new iU(e,n,i,t.field):(n.addAccess(i),n)}planCreateObj(e,t){let s,n=this.resolveType(t.messageName);if(void 0===n)return new iD(e,"unknown type: "+t.messageName);let i=[],c=[];for(let e=0;e<t.entries.length;e++){let n=t.entries[e];switch(n.optionalEntry&&(void 0===s&&(s=Array(t.entries.length).fill(!1)),s[e]=!0),n.keyKind.case){case"fieldKey":i.push(n.keyKind.value);break;case"mapKey":throw Error("invalid entry")}if(void 0===n.value)throw Error("invalid entry");c.push(this.plan(n.value))}return new iO(e,n,i,c,s)}planCreateStruct(e,t){let s;if(""!==t.messageName)return this.planCreateObj(e,t);let n=[],i=[];for(let c=0;c<t.entries.length;c++){let r=t.entries[c];switch(r.optionalEntry&&(void 0===s&&(s=Array(t.entries.length).fill(!1)),s[c]=!0),r.keyKind.case){case"fieldKey":throw Error("unimplemented");case"mapKey":n.push(this.plan(r.keyKind.value))}if(void 0===r.value)return new iD(e,"map entry missing value");i.push(this.plan(r.value))}return new iq(e,n,i,s)}planCreateList(e,t){if(t.optionalIndices.length>0){let e=Array(t.elements.length).fill(!1);for(let s=0;s<t.optionalIndices.length;s++){let n=t.optionalIndices[s];if(n<0||n>=t.elements.length)throw Error("invalid optional index");e[n]=!0}}return new ij(e,t.elements.map(e=>this.plan(e)),void 0)}planCall(e,t){if(void 0!==t.target){let s=function e(t){switch(t.exprKind.case){case"identExpr":return t.exprKind.value.name;case"selectExpr":{if(t.exprKind.value.testOnly||void 0===t.exprKind.value.operand)return;let s=e(t.exprKind.value.operand);if(void 0===s)return;return s+"."+t.exprKind.value.field}default:return}}(t.target);if(void 0!==s){let n=s+"."+t.function;for(let s of this.namespace.resolveCandidateNames(n)){let n=this.functions.find(s);if(void 0!==n)return new iT(e,s,"",void 0,n,t.args.map(e=>this.plan(e)))}}}let s=t.args.map(e=>this.plan(e));switch(t.target&&(s=[this.plan(t.target),...s]),t.function){case"_[_]":return this.planCallIndex(t,s,!1);case"_[?_]":case"_?._":return this.planCallIndex(t,s,!0);case"_?_:_":return this.planCallConditional(e,t,s);case"_&&_":return new i0(e,s);case"_||_":return new i1(e,s);case"@not_strictly_false":case"__not_strictly_false__":return new i5(e,s[0]);default:return new iT(e,t.function,"",t.target?s[0]:void 0,this.functions.find(t.function),t.target?s.slice(1):s)}}planCallConditional(e,t,s){let n=s[0],i=s[1],c=s[2],r=this.relativeAttr(i.id,i,!1),l=this.relativeAttr(c.id,c,!1);return new i_(this.factory.createConditional(e,n,r,l),!1)}planCallIndex(e,t,s){let n,i=t[0],c=t[1],r=this.relativeAttr(i.id,i,!1);return n=c instanceof iP?this.factory.newAccess(i.id,c.value,s):c instanceof i_?this.factory.newAccess(i.id,c,s):this.relativeAttr(i.id,c,s),r.addAccess(n),r}constVal(e){switch(e.constantKind.case){case"stringValue":case"bytesValue":case"doubleValue":case"boolValue":case"int64Value":return e.constantKind.value;case"uint64Value":return e3(e.constantKind.value);case"nullValue":return null;case void 0:throw Error("invalid constant");default:throw Error(`unimplemented: ${e.constantKind.case}`)}}relativeAttr(e,t,s){return t instanceof i_?t:new i_(this.factory.createRelative(e,t),s)}resolveType(e){for(let t of this.namespace.resolveCandidateNames(e))if(this.isKnownType(t))return t}isKnownType(e){switch(e){case"google.protobuf.Value":case"google.protobuf.Struct":case"google.protobuf.ListValue":case"google.protobuf.NullValue":case"google.protobuf.BoolValue":case"google.protobuf.UInt32Value":case"google.protobuf.UInt64Value":case"google.protobuf.Int32Value":case"google.protobuf.Int64Value":case"google.protobuf.FloatValue":case"google.protobuf.DoubleValue":case"google.protobuf.StringValue":case"google.protobuf.BytesValue":case"google.protobuf.Timestamp":case"google.protobuf.Duration":case"google.protobuf.Any":return!0;default:return void 0!==this.registry.getMessage(e)}}}class iU{id;attr;access;field;constructor(e,t,s,n){this.id=e,this.attr=t,this.access=s,this.field=n}eval(e){let t=this.attr.resolve(e);return void 0!==t&&(t1(t)?t:this.access.isPresent(e,t))}}class iD{id;msg;constructor(e,t){this.id=e,this.msg=t}eval(e){return t$(this.msg,this.id)}}class iP{id;value;constructor(e,t){this.id=e,this.value=t}eval(e){return this.value}}class i_{attr;opt;id;constructor(e,t){this.attr=e,this.opt=t,this.id=e.id}access(e,t){return this.attr.access(e,t)}isPresent(e,t){return this.attr.isPresent(e,t)}accessIfPresent(e,t,s){return this.attr.accessIfPresent(e,t,s)}isOptional(){return this.opt}eval(e){let t=this.attr.resolve(e);return void 0===t?t$("unresolved attribute",this.id):(t1(t),t)}resolve(e){return this.attr.resolve(e)}addAccess(e){this.attr.addAccess(e)}}class iT{id;name;overload;target;func;args;constructor(e,t,s,n,i,c){this.id=e,this.name=t,this.overload=s,this.target=n,this.func=i,this.args=c}eval(e){if(void 0===this.func)return t$(`unbound function: ${this.name}`,this.id);let t=this.target?.eval(e);if(t1(t))return t;let s=[];for(let t of this.args){let n=t.eval(e);if(t1(n))return n;s.push(n)}let n=this.func.call(this.id,t,s);return void 0!==n?n:t$(`found no matching overload for '${this.name}' applied to '${void 0!==t?`${tJ(t)}.`:""}(${s.map(e=>tJ(e)).map(e=>e.name).join(", ")})'`,this.id)}}class iO{id;typeName;fields;values;optionals;constructor(e,t,s,n,i){this.id=e,this.typeName=t,this.fields=s,this.values=n,this.optionals=i}args(){return this.values}eval(e){let t=function(e){let t=[];for(let s=0;s<e.length;s++){let n=e[s];t1(n)&&t.push(n)}return t.length>0?t0(t[0],...t.slice(1)):e}(this.values.map(t=>t.eval(e)));if(t1(t))return t;let s=new Map;for(let e=0;e<t.length;e++){if(s.has(this.fields[e]))return t$(`map key conflict: ${this.fields[e]}`,this.id);s.set(this.fields[e],t[e])}try{return function(e,t){let s=tp(e),n=(0,G.v)(s);for(let[i,c]of t.entries()){let t=s.fields.find(e=>e.name===i);if(void 0===t)throw Error(`Unknown field ${i} for ${e}`);!function(e,t,s){switch(t.fieldKind){case"list":if(!td(s))throw iQ(t,"list",s);let n=(0,G.f)(t,void 0,!1);(function(e,t){let s=e.field();for(let n of t)switch(s.listKind){case"enum":e.add(iE(s,n));break;case"message":e.add(iM(s,n));break;case"scalar":e.add(iL(s,s.scalar,n))}})(n,s),e.set(t,n);return;case"map":if(!te(s))throw iQ(t,"map",s);let i=(0,G.X)(t,void 0,!1);(function(e,t){let s=e.field();for(let[n,i]of t.entries()){let t=iL(s,s.mapKey,n);switch(s.mapKind){case"enum":e.set(t,iE(s,i));break;case"scalar":e.set(t,iL(s,s.scalar,i));break;case"message":e.set(t,iM(s,i))}}})(i,s),e.set(t,i);return;case"enum":e.set(t,iE(t,s));return;case"message":let c=iM(t,s);null!==c&&e.set(t,c);return}e.set(t,iL(t,t.scalar,s))}(n,t,c)}return tY(n)}(this.typeName,s)}catch(e){return e instanceof Error&&(e=e.message),t$(`${e}`,this.id)}}}class ij{id;elems;constructor(e,t,s){this.id=e,this.elems=t}eval(e){if(0===this.elems.length)return tm;let t=this.elems[0].eval(e);if(t1(t))return t;let s=[t];for(let t=1;t<this.elems.length;t++){let n=this.elems[t].eval(e);if(t1(n))return n;s.push(n)}return ta(s)}args(){return this.elems}}class iq{id;keys;values;constructor(e,t,s,n){this.id=e,this.keys=t,this.values=s}args(){return this.keys.concat(this.values)}eval(e){if(0===this.keys.length)return tr;let t=new Map,s=this.mapKeyOrError(this.keys[0].eval(e));if(t1(s))return s;let n=this.values[0].eval(e);if(t1(n))return n;if("number"==typeof s&&!Number.isInteger(s))return i3(this.id);t.set(s,n);for(let s=1;s<this.keys.length;s++){let n=this.mapKeyOrError(this.keys[s].eval(e));if(t1(n))return n;let i=this.values[s].eval(e);if(t1(i))return i;if(t.has(n))return t$(`map key conflict: ${n}`,this.id);if("number"==typeof n&&!Number.isInteger(n))return i3(this.id);t.set(n,i)}return e7(t)}mapKeyOrError(e){switch(typeof e){case"boolean":case"bigint":case"string":return e;case"object":if(e2(e))return e;return i3(this.id);case"number":if(Number.isInteger(e))return BigInt(e);return i3(this.id);default:return i3(this.id)}}}class i${id;accuVar;iterVar;iterRange;accu;cond;step;result;constructor(e,t,s,n,i,c,r,l){this.id=e,this.accuVar=t,this.iterVar=s,this.iterRange=n,this.accu=i,this.cond=c,this.step=r,this.result=l}eval(e){let t=this.accu.eval(e);if(t1(t))return t;let s=new iR(this.accuVar,t,e),n=this.iterRange.eval(e);if(t1(n))return n;let i=[];if(te(n))i=Array.from(n.keys());else{if(!td(n))return t$(`type mismatch: iterable vs ${tJ(n)}`,this.id);i=Array.from(n)}for(let e of i){if(t1(e))return e;let t=new iR(this.iterVar,e,s),n=this.cond.eval(t);if(t1(n))return n;if(!0!==n)break;s.value=this.step.eval(t)}return this.result.eval(s)}}class i0{id;args;constructor(e,t){this.id=e,this.args=t}eval(e){let t=[];for(let s of this.args){let n=s.eval(e);if("boolean"==typeof n){if(!n)return!1;continue}t1(n)?t.push(n):t.push(t$(`type mismatch: expected bool, got ${tJ(n)}`,this.id))}return!(t.length>0)||t0(t[0],...t.slice(1))}}class i1{id;args;constructor(e,t){this.id=e,this.args=t}eval(e){let t=[];for(let s of this.args){let n=s.eval(e);if("boolean"==typeof n){if(n)return!0;continue}t1(n)?t.push(n):t.push(t$(`type mismatch: expected bool, got ${tJ(n)}`,this.id))}return t.length>0&&t0(t[0],...t.slice(1))}}class i5{id;arg;constructor(e,t){this.id=e,this.arg=t}eval(e){return!1!==this.arg.eval(e)}}function i3(e){return t$("unsupported key type",e)}let i2=new WeakMap;function i9(e){return e??(e=0),e>=0&&this===1/0||e<=0&&this===-1/0}function i4(e){return 6==e?new i7(this).address():4==e?new i6(this).address():(void 0===e||0==e)&&(new i6(this).address()||new i7(this).address())}function i8(e,t=!1){if(6==e){let e=new i7(this);return e.addressPrefix()&&(!t||e.isPrefixOnly())}if(4==e){let e=new i6(this);return e.addressPrefix()&&(!t||e.isPrefixOnly())}return(void 0===e||0==e)&&(i8.call(this,6,t)||i8.call(this,4,t))}class i6{constructor(e){this.i=0,this.octets=[],this.prefixLen=0,this.str=e,this.l=e.length}getBits(){return 4!=this.octets.length?0:(this.octets[0]<<24|this.octets[1]<<16|this.octets[2]<<8|this.octets[3])>>>0}isPrefixOnly(){let e=this.getBits();return e==(e&(32==this.prefixLen?0xffffffff:~(0xffffffff>>>this.prefixLen)>>>0))>>>0}address(){return this.addressPart()&&this.i==this.l}addressPrefix(){return this.addressPart()&&this.take("/")&&this.prefixLength()&&this.i==this.l}prefixLength(){let e=this.i;for(;this.digit();)if(this.i-e>2)return!1;let t=this.str.substring(e,this.i);if(0==t.length||t.length>1&&"0"==t[0])return!1;let s=parseInt(t);return!(s>32)&&(this.prefixLen=s,!0)}addressPart(){let e=this.i;return!!(this.decOctet()&&this.take(".")&&this.decOctet()&&this.take(".")&&this.decOctet()&&this.take(".")&&this.decOctet())||(this.i=e,!1)}decOctet(){let e=this.i;for(;this.digit();)if(this.i-e>3)return!1;let t=this.str.substring(e,this.i);if(0==t.length||t.length>1&&"0"==t[0])return!1;let s=parseInt(t,10);return!(s>255)&&(this.octets.push(s),!0)}digit(){let e=this.str[this.i];return"0"<=e&&e<="9"&&(this.i++,!0)}take(e){return this.str[this.i]==e&&(this.i++,!0)}}class i7{constructor(e){this.i=0,this.pieces=[],this.doubleColonAt=-1,this.doubleColonSeen=!1,this.dottedRaw="",this.zoneIdFound=!1,this.prefixLen=0,this.str=e,this.l=e.length}getBits(){let e=this.pieces;if(void 0!==this.dottedAddr){let t=this.dottedAddr.getBits();e.push(t>>>16),e.push(65535&t)}if(this.doubleColonSeen)for(;e.length<8;)e.splice(this.doubleColonAt,0,0);return 8!=e.length?[0,0,0,0]:[(e[0]<<16|e[1])>>>0,(e[2]<<16|e[3])>>>0,(e[4]<<16|e[5])>>>0,(e[6]<<16|e[7])>>>0]}isPrefixOnly(){for(let[e,t]of this.getBits().entries()){let s=this.prefixLen-32*e,n=(t&(s>=32?0xffffffff:s<0?0:~(0xffffffff>>>s)>>>0))>>>0;if(t!==n)return!1}return!0}address(){return this.addressPart()&&this.i==this.l}addressPrefix(){return this.addressPart()&&!this.zoneIdFound&&this.take("/")&&this.prefixLength()&&this.i==this.l}prefixLength(){let e=this.i;for(;this.digit();)if(this.i-e>3)return!1;let t=this.str.substring(e,this.i);if(0==t.length||t.length>1&&"0"==t[0])return!1;let s=parseInt(t,10);return!(s>128)&&(this.prefixLen=s,!0)}addressPart(){for(;this.i<this.l;){if((this.doubleColonSeen||6==this.pieces.length)&&this.dotted()){let e=new i6(this.dottedRaw);if(e.address())return this.dottedAddr=e,!0;return!1}let e=this.h16();if("error"===e)return!1;if(!e){if(this.take(":")){if(this.take(":")){if(this.doubleColonSeen||(this.doubleColonSeen=!0,this.doubleColonAt=this.pieces.length,this.take(":")))return!1}else if(1===this.i||this.i===this.str.length)return!1;continue}if("%"==this.str[this.i]&&!this.zoneId())return!1;break}}return this.doubleColonSeen?this.pieces.length<8:8==this.pieces.length}zoneId(){let e=this.i;return this.take("%")&&this.l-this.i>0?(this.i=this.l,this.zoneIdFound=!0,!0):(this.i=e,this.zoneIdFound=!1,!1)}dotted(){let e=this.i;for(this.dottedRaw="";this.digit()||this.take("."););return this.i-e>=7?(this.dottedRaw=this.str.substring(e,this.i),!0):(this.i=e,!1)}h16(){let e=this.i;for(;this.hexdig(););let t=this.str.substring(e,this.i);return 0!=t.length&&(t.length>4?"error":(this.pieces.push(parseInt(t,16)),!0))}hexdig(){let e=this.str[this.i];return("0"<=e&&e<="9"||"a"<=e&&e<="f"||"A"<=e&&e<="F"||"0"<=e&&e<="9")&&(this.i++,!0)}digit(){let e=this.str[this.i];return"0"<=e&&e<="9"&&(this.i++,!0)}take(e){return this.str[this.i]==e&&(this.i++,!0)}}function ce(){if(this.length>253)return!1;let e=this.endsWith(".")?this.substring(0,this.length-1):this,t=!1;for(let s of e.split(".")){t=!0;let e=s.length;if(0==e||e>63||s.startsWith("-")||s.endsWith("-"))return!1;for(let e of s.split("")){if((e<"a"||e>"z")&&(e<"A"||e>"Z")&&(e<"0"||e>"9")&&"-"!=e)return!1;t=t&&e>="0"&&e<="9"}}return!t}function ct(e){if(0==e.length)return!1;for(let t=0;t<e.length;t++){let s=e[t];if(!("0"<=s)||!(s<="9"))return!1}return(!(e.length>1)||"0"!==e[0])&&65535>=parseInt(e)}class cs{constructor(e){this.i=0,this.pctEncodedFound=!1,this.str=e,this.l=e.length}uri(){let e=this.i;return this.scheme()&&this.take(":")&&this.hierPart()?!(this.take("?")&&!this.query()||this.take("#")&&!this.fragment())&&(this.i==this.l||(this.i=e,!1)):(this.i=e,!1)}hierPart(){let e=this.i;return!!(this.take("/")&&this.take("/")&&this.authority()&&this.pathAbempty())||(this.i=e,this.pathAbsolute()||this.pathRootless()||this.pathEmpty())}uriReference(){return this.uri()||this.relativeRef()}relativeRef(){let e=this.i;return!!this.relativePart()&&(!(this.take("?")&&!this.query()||this.take("#")&&!this.fragment())&&this.i==this.l||(this.i=e,!1))}relativePart(){let e=this.i;return!!(this.take("/")&&this.take("/")&&this.authority()&&this.pathAbempty())||(this.i=e,this.pathAbsolute()||this.pathNoscheme()||this.pathEmpty())}scheme(){let e=this.i;if(this.alpha()){for(;this.alpha()||this.digit()||this.take("+")||this.take("-")||this.take("."););if(":"==this.str[this.i])return!0}return this.i=e,!1}authority(){let e=this.i;return!(this.userinfo()&&!this.take("@")||!this.host()||this.take(":")&&!this.port())&&!!this.isAuthorityEnd()||(this.i=e,!1)}isAuthorityEnd(){return"?"==this.str[this.i]||"#"==this.str[this.i]||"/"==this.str[this.i]||this.i>=this.l}userinfo(){let e=this.i;for(;;)if(!(this.unreserved()||this.pctEncoded()||this.subDelims()||this.take(":"))){if("@"==this.str[this.i])return!0;return this.i=e,!1}}host(){let e=this.i;if(this.pctEncodedFound=!1,"["==this.str[this.i]&&this.ipLiteral()||this.regName()){if(this.pctEncodedFound){let t=this.str.substring(e,this.i);try{decodeURIComponent(t)}catch(e){return!1}}return!0}return!1}port(){let e=this.i;for(;;)if(!this.digit()){if(this.isAuthorityEnd())return!0;return this.i=e,!1}}ipLiteral(){let e=this.i;if(this.take("[")){let e=this.i;if(this.ipv6Address()&&this.take("]")||(this.i=e,this.ipv6addrz()&&this.take("]"))||(this.i=e,this.ipvFuture()&&this.take("]")))return!0}return this.i=e,!1}ipv6Address(){let e=this.i;for(;this.hexdig()||this.take(":"););return!!i4.call(this.str.substring(e,this.i),6)||(this.i=e,!1)}ipv6addrz(){let e=this.i;return!!(this.ipv6Address()&&this.take("%")&&this.take("2")&&this.take("5")&&this.zoneId())||(this.i=e,!1)}zoneId(){let e=this.i;for(;this.unreserved()||this.pctEncoded(););return this.i-e>0||(this.i=e,!1)}ipvFuture(){let e=this.i;if(this.take("v")&&this.hexdig()){for(;this.hexdig(););if(this.take(".")){let e=0;for(;this.unreserved()||this.subDelims()||this.take(":");)e++;if(e>=1)return!0}}return this.i=e,!1}regName(){let e=this.i;for(;;)if(!(this.unreserved()||this.pctEncoded()||this.subDelims())){if(":"==this.str[this.i]||this.isAuthorityEnd())return!0;return this.i=e,!1}}isPathEnd(){return"?"==this.str[this.i]||"#"==this.str[this.i]||this.i>=this.l}pathAbempty(){let e=this.i;for(;this.take("/")&&this.segment(););return!!this.isPathEnd()||(this.i=e,!1)}pathAbsolute(){let e=this.i;if(this.take("/")){if(this.segmentNz())for(;this.take("/")&&this.segment(););if(this.isPathEnd())return!0}return this.i=e,!1}pathNoscheme(){let e=this.i;if(this.segmentNzNc()){for(;this.take("/")&&this.segment(););if(this.isPathEnd())return!0}return this.i=e,!1}pathRootless(){let e=this.i;if(this.segmentNz()){for(;this.take("/")&&this.segment(););if(this.isPathEnd())return!0}return this.i=e,!1}pathEmpty(){return this.isPathEnd()}segment(){for(;this.pchar(););return!0}segmentNz(){let e=this.i;if(this.pchar()){for(;this.pchar(););return!0}return this.i=e,!1}segmentNzNc(){let e=this.i;for(;this.unreserved()||this.pctEncoded()||this.subDelims()||this.take("@"););return this.i-e>0||(this.i=e,!1)}pchar(){return this.unreserved()||this.pctEncoded()||this.subDelims()||this.take(":")||this.take("@")}query(){let e=this.i;for(;;)if(!(this.pchar()||this.take("/")||this.take("?"))){if("#"==this.str[this.i]||this.i==this.l)return!0;return this.i=e,!1}}fragment(){let e=this.i;for(;;)if(!(this.pchar()||this.take("/")||this.take("?"))){if(this.i==this.l)return!0;return this.i=e,!1}}pctEncoded(){let e=this.i;return this.take("%")&&this.hexdig()&&this.hexdig()?(this.pctEncodedFound=!0,!0):(this.i=e,!1)}unreserved(){return this.alpha()||this.digit()||this.take("-")||this.take("_")||this.take(".")||this.take("~")}subDelims(){return this.take("!")||this.take("$")||this.take("&")||this.take("'")||this.take("(")||this.take(")")||this.take("*")||this.take("+")||this.take(",")||this.take(";")||this.take("=")}alpha(){let e=this.str[this.i];return("A"<=e&&e<="Z"||"a"<=e&&e<="z")&&(this.i++,!0)}digit(){let e=this.str[this.i];return"0"<=e&&e<="9"&&(this.i++,!0)}hexdig(){let e=this.str[this.i];return("0"<=e&&e<="9"||"a"<=e&&e<="f"||"A"<=e&&e<="F"||"0"<=e&&e<="9")&&(this.i++,!0)}take(e){return this.str[this.i]==e&&(this.i++,!0)}}function cn(){return Array.from(this.values()).every((e,t,s)=>{if(e2(e)){for(let n=0;n<s.length;n++){if(n==t)continue;let i=s[n];if(e2(i)&&i.value===e.value)return!1}return!0}if(e instanceof Uint8Array){for(let n=0;n<s.length;n++){if(n==t)continue;let i=s[n];if(i instanceof Uint8Array&&(0,eK.F)(f.f.BYTES,i,e))return!1}return!0}return s.indexOf(e)===t})}let ci=t6("isNan",tZ.DOUBLE,[],tZ.BOOL,function(){return Number.isNaN(this)}),cc=[t6("isInf",tZ.DOUBLE,[],tZ.BOOL,i9),t6("isInf",tZ.DOUBLE,[tZ.INT],tZ.BOOL,i9)],cr=t6("isHostname",tZ.STRING,[],tZ.BOOL,ce),cl=t6("isHostAndPort",tZ.STRING,[tZ.BOOL],tZ.BOOL,function(e){if(0==this.length)return!1;let t=this.lastIndexOf(":");if("["==this[0]){let s=this.lastIndexOf("]");switch(s+1){case this.length:return!e&&i4.call(this.substring(1,s),6);case t:return i4.call(this.substring(1,s),6)&&ct(this.substring(t+1));default:return!1}}if(t<0)return!e&&(ce.call(this)||i4.call(this,4));let s=this.substring(0,t),n=this.substring(t+1);return(ce.call(s)||i4.call(s,4))&&ct(n)}),ca=t6("isEmail",tZ.STRING,[],tZ.BOOL,function(){return/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(this)}),cd=[t6("isIp",tZ.STRING,[],tZ.BOOL,i4),t6("isIp",tZ.STRING,[tZ.INT],tZ.BOOL,i4)],cu=[t6("isIpPrefix",tZ.STRING,[],tZ.BOOL,i8),t6("isIpPrefix",tZ.STRING,[tZ.INT],tZ.BOOL,i8),t6("isIpPrefix",tZ.STRING,[tZ.BOOL],tZ.BOOL,function(e){return i8.call(this,void 0,e)}),t6("isIpPrefix",tZ.STRING,[tZ.INT,tZ.BOOL],tZ.BOOL,i8)],ch=t6("isUri",tZ.STRING,[],tZ.BOOL,function(){return new cs(this).uri()}),co=t6("isUriRef",tZ.STRING,[],tZ.BOOL,function(){return new cs(this).uriReference()}),cg=[tZ.UINT,tZ.INT,tZ.STRING,tZ.BOOL,tZ.DOUBLE,tZ.BYTES].map(e=>t6("unique",tX(e),[],tZ.BOOL,cn)),cm=t8("getField",[tZ.DYN,tZ.STRING],tZ.DYN,(e,t)=>{if(!(0,e4.t)(e))throw Error("getField can only be applied to messages");let s=e.fields.find(e=>e.name===t);if(void 0===s)throw Error(`field ${t} not found on ${e.desc}`);switch(s.fieldKind){case"list":case"map":return e.get(s);case"enum":return BigInt(e.get(s));case"scalar":return e8(s.scalar,e.get(s));case"message":if(e.isSet(s))return e.get(s);if((0,tb.U)(s.message))return null;return(0,eO.f)(s.message)}}),cI=[t6("contains",tZ.BYTES,[tZ.BYTES],tZ.BOOL,function(e){if(0===e.length)return!0;if(e.length>this.length)return!1;for(let t=0;t<this.length-e.length+1;t++){let s=!0;for(let n=0;n<e.length;n++)if(this[t+n]!=e[n]){s=!1;break}if(s)return!0}return!1}),t6("contains",tZ.STRING,[tZ.STRING],tZ.BOOL,String.prototype.includes)],cy=[t6("endsWith",tZ.BYTES,[tZ.BYTES],tZ.BOOL,function(e){if(e.length>this.length||this.length<e.length)return!1;for(let t=0;t<e.length;t++)if(e[e.length-t-1]!=this[this.length-t-1])return!1;return!0}),t6("endsWith",tZ.STRING,[tZ.STRING],tZ.BOOL,String.prototype.endsWith)],cp=[t6("startsWith",tZ.BYTES,[tZ.BYTES],tZ.BOOL,function(e){if(e.length>this.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!=this[t])return!1;return!0}),t6("startsWith",tZ.STRING,[tZ.STRING],tZ.BOOL,String.prototype.startsWith)];function cG(e,t){if(void 0===t)return BigInt(this.indexOf(e));let s=Number(t);if(s<0||s>=this.length)throw cR(s,this.length);return BigInt(this.indexOf(e,s))}function cb(e,t){if(void 0===t)return BigInt(this.lastIndexOf(e));let s=Number(t);if(s<0||s>=this.length)throw cR(s,this.length);return BigInt(this.lastIndexOf(e,s))}function cf(e,t,s){let n=void 0===s?this.length:Number(s),i=this,c=0,r=n,l=i.indexOf(e,c);for(;r>0&&-1!==l;)i=i.substring(0,l)+t+i.substring(l+e.length),c=l+t.length,r--,l=i.indexOf(e,c);return i}function cZ(e,t){let s=void 0===t?void 0:Number(t);return 1===s?ta([this]):ta(this.split(e,s))}function cC(e,t){if(void 0===t){let t=Number(e);if(t<0||t>this.length)throw cR(t,this.length);return this.substring(t)}let s=Number(e),n=Number(t);if(s<0||s>this.length)throw cR(s,this.length);if(n<0||n>this.length)throw cR(n,this.length);if(s>n)throw cH("substring","start > end");return this.substring(s,n)}let cV=new Set([32,9,10,11,12,13,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288]);function cA(e=""){let t="";for(let s=0;s<this.size;s++){let n=this.get(s);if("string"!=typeof n)throw cH("join","list contains non-string value");s>0&&(t+=e),t+=n}return t}let cX=new Map([[0,"\\0"],[7,"\\a"],[8,"\\b"],[9,"\\t"],[10,"\\n"],[11,"\\v"],[12,"\\f"],[13,"\\r"],[34,'\\"'],[92,"\\\\"]]);function cx(e){switch(e){case"Infinity":case"-Infinity":case"NaN":return e;default:throw cH("format","invalid floating point value")}}function cB(e,t){switch(!0){case"number"==typeof e:if(!Number.isFinite(e)||void 0===t)return e.toString();return new Intl.NumberFormat("en-US",{maximumFractionDigits:t,minimumFractionDigits:t,notation:"standard",roundingMode:"halfEven",useGrouping:!1}).format(e);case"string"==typeof e:return cx(e);default:throw cH("format","fixed-point clause can only be used on doubles")}}function cJ(e){switch(!0){case"bigint"==typeof e:return e.toString(10);case e2(e):return e.value.toString(10);case"number"==typeof e&&!Number.isFinite(e):return e.toString();default:throw cH("format","invalid integer value")}}function cW(e){let t="";for(let s=0;s<e.length;s++)t+=e[s].toString(16).padStart(2,"0");return t}function cv(e){switch(!0){case"bigint"==typeof e:return e.toString(16);case e2(e):return e.value.toString(16);case"string"==typeof e:return cW(new TextEncoder().encode(e));case e instanceof Uint8Array:return cW(e);default:throw cH("format","only integers, byte buffers, and strings can be formatted as hex")}}function cH(e,t){return Error(`invalid argument to function ${e}: ${t}`)}function cR(e,t){return Error(`index ${e} out of bounds [0, ${t})`)}let{STRING:cY,INT:cS,DYN:cz}=tZ,cE=tX(cz),cM=tX(cz),cF=[t8("strings.quote",[cY],cY,function(e){let t='"';for(let s=0;s<e.length;s++){let n=e.charCodeAt(s);t+=cX.get(n)??e.charAt(s)}return t+'"'}),t6("charAt",cY,[cS],cY,function(e){let t=Number(e);if(t<0||t>this.length)throw cR(t,this.length);return this.charAt(t)}),t6("indexOf",cY,[cY],cS,cG),t6("indexOf",cY,[cY,cS],cS,cG),t6("lastIndexOf",cY,[cY],cS,cb),t6("lastIndexOf",cY,[cY,cS],cS,cb),t6("lowerAscii",cY,[],cY,function(){let e="";for(let t=0;t<this.length;t++){let s=this.charCodeAt(t);s>=65&&s<=90?e+=String.fromCharCode(s+32):e+=this.charAt(t)}return e}),t6("upperAscii",cY,[],cY,function(){let e="";for(let t=0;t<this.length;t++){let s=this.charCodeAt(t);s>=97&&s<=122?e+=String.fromCharCode(s-32):e+=this.charAt(t)}return e}),t6("replace",cY,[cY,cY],cY,cf),t6("replace",cY,[cY,cY,cS],cY,cf),t6("split",cY,[cY],cM,cZ),t6("split",cY,[cY,cS],cM,cZ),t6("substring",cY,[cS],cY,cC),t6("substring",cY,[cS,cS],cY,cC),t6("trim",cY,[],cY,function(){let e=0,t=this.length-1;for(;e<this.length&&cV.has(this.charCodeAt(e));)e++;for(;t>e&&cV.has(this.charCodeAt(t));)t--;return this.substring(e,t+1)}),t6("join",cM,[],cY,cA),t6("join",cM,[cY],cY,cA),t6("format",cY,[cE],cY,function(e){let t="",s=0,n=0;for(;s<this.length;){if("%"!==this.charAt(s)){t+=this.charAt(s),s++;continue}if(s+1>=this.length)throw cH("format","invalid format string");let i=this.charAt(s+1);if(s+=2,"%"===i){t+="%";continue}let c=6;if("."===i){for(c=0;s<this.length&&this.charAt(s)>="0"&&"9">=this.charAt(s);)c=10*c+Number(this.charAt(s)),s++;if(s>=this.length)throw cH("format","invalid format string");i=this.charAt(s),s++}let r=e.get(n++);if(void 0===r)throw cH("format","too few arguments for format string");t+=function(e,t,s){switch(e){case"e":switch(!0){case"number"==typeof t:if(!Number.isFinite(t))return t.toString();let n=t.toExponential(s),i=n.lastIndexOf("+");return i===n.length-2&&(n=`${n.substring(0,i+1)}0${n.substring(i+1)}`),n;case"string"==typeof t:return cx(t);default:throw cH("format","scientific clause can only be used on doubles")}case"f":return cB(t,s);case"b":switch(!0){case"boolean"==typeof t:return t?"1":"0";case"bigint"==typeof t:return t.toString(2);case e2(t):return t.value.toString(2);default:throw cH("format","only integers and bools can be formatted as binary")}case"d":return cJ(t);case"s":return function e(t){switch(typeof t){case"boolean":return t?"true":"false";case"bigint":return cJ(t);case"number":return cB(t,void 0);case"string":return t;case"object":switch(!0){case null===t:return"null";case tW(t):return t.name;case e2(t):return t.value.toString();case(0,e4.t)(t,F.R):return(0,tL.Z)(F.R,t.message);case(0,e4.t)(t,E.f):return(0,tL.Z)(E.f,t.message);case t instanceof Uint8Array:return new TextDecoder().decode(t);case td(t):let s="[";for(let n=0;n<t.size;n++)n>0&&(s+=", "),s+=e(t.get(n));return s+"]";case te(t):let n=Array(t.size),i=0;for(let[s,c]of t)n[i]=[e(s),e(c)],i++;let c="{",r="";for(let[e,t]of n.sort((e,t)=>e[0].localeCompare(t[0])))c+=r+e+": "+t,r=", ";return c+"}"}}throw cH("format","invalid string value")}(t);case"x":return cv(t);case"X":let c;return"string"!=typeof(c=cv(t))?c:c.toUpperCase();case"o":switch(!0){case"bigint"==typeof t:return t.toString(8);case e2(t):return t.value.toString(8);default:throw cH("format","invalid integer value")}default:throw cH("format",`could not parse formatting clause: unrecognized formatting clause: ${e}`)}}(i,r,c)}if(n<e.size)throw cH("format","too many arguments for format string");return t})];class cw{constructor(e,t,s){this.celMan=e,this.forMapKey=t,this.thisScalarType=s,this.children=[]}add(e,t){this.children.push({compiled:e,rulePath:t})}eval(e,t){for(let s of(this.celMan.setEnv("this",cQ(e,this.thisScalarType)),this.celMan.setEnv("rules",void 0),this.celMan.setEnv("rule",void 0),this.children)){let e=this.celMan.eval(s.compiled);e&&t.violate(e.message,e.ruleId,s.rulePath,this.forMapKey)}}prune(){return 0==this.children.length}}class cK{constructor(e,t,s){this.celMan=e,this.rules=t,this.forMapKey=s,this.children=[],this.thisScalarType=eM(t)}add(e,t,s,n){this.children.push({compiled:e,rulePath:t,ruleCelValue:cQ(s,n)})}eval(e,t){for(let s of(this.celMan.setEnv("rules",this.rules),this.celMan.setEnv("this",cQ(e,this.thisScalarType)),this.children)){this.celMan.setEnv("rule",s.ruleCelValue);let e=this.celMan.eval(s.compiled);e&&t.violate(e.message,e.ruleId,s.rulePath,this.forMapKey)}}prune(){return 0==this.children.length}}class cL{constructor(e,t,s){this.celMan=e,this.rules=t,this.forMapKey=s,this.children=[],this.thisScalarType=eM(t)}add(e,t){this.children.push({compiled:e,rulePath:t})}eval(e,t){for(let s of(this.celMan.setEnv("this",cQ(e,this.thisScalarType)),this.celMan.setEnv("rules",this.rules),this.celMan.setEnv("rule",void 0),this.children)){let e=this.celMan.eval(s.compiled);e&&t.violate(e.message,e.ruleId,s.rulePath,this.forMapKey)}}prune(){return 0==this.children.length}}function cQ(e,t){return(0,e4.t)(e)?e:t?e8(t,e):e}let cN=(t=(0,y.P)(w),s=(void 0)??!1,i=new class e{constructor(e,t){this.celMan=e,this.legacyRequired=t,this.messageCache=new Map}plan(e){let t=this.messageCache.get(e);if(t)return t;let s=(0,v.R)(e,eu),n=new eI;this.messageCache.set(e,n);try{n.add(this.fields(s.oneof,e.fields)),n.add(this.messageCel(s)),n.add(this.messageOneofs(e,s.oneof)),n.add(this.oneofs(e.oneofs)),n.prune()}catch(t){throw this.messageCache.delete(e),t}return n}oneofs(e){return new eI(...e.filter(e=>(0,v.R)(e,eh).required).map(e=>new eb(e)))}messageOneofs(e,t){return new eI(...t.map(t=>{if(0==t.fields.length)throw new X(`at least one field must be specified in oneof rule for the ${e}`);let s=new Set;return new eC(t.fields.map(t=>{if(s.has(t))throw new X(`duplicate ${t} in oneof rule for the ${e}`);s.add(t);let n=e.fields.find(e=>e.name===t);if(!n)throw new X(`field "${t}" not found in ${e}`);return n}),t.required)}))}fields(e,t){let s=new eI;for(let n of t){let t=(0,v.R)(n,eo),i=t.ignore;!(0,H.f)(t,L.field.ignore)&&e.some(e=>e.fields.includes(n.name))&&(i=u.IF_ZERO_VALUE);let c=t.required&&i!==u.ALWAYS,r=this.legacyRequired&&n.presence==R._.LEGACY_REQUIRED,l=Z(L);switch(n.fieldKind){case"message":s.add(new eG(n,c,r,function(e,t){switch(t){case void 0:case u.UNSPECIFIED:case u.IF_ZERO_VALUE:return new eT(e);case u.ALWAYS:return eQ}}(n,i),this.message(n.message,t,l,n)));break;case"list":s.add(new eG(n,c,r,eN(n,i),this.planList(n,t,l)));break;case"map":s.add(new eG(n,c,r,eN(n,i),this.map(n,t,l)));break;case"enum":s.add(new eG(n,c,r,ek(n,i),this.enumeration(n.enum,t,l,n)));break;case"scalar":s.add(new eG(n,c,r,ek(n,i),this.scalar(n.scalar,t,l,!1,n)))}}return s}planList(e,t,s){let n,i=new eI(this.fieldCel(t,s,!1,void 0)),[c,r,l]=(n=eF(s,"repeated"),[ew(t,"repeated",e),n,n.clone().field(ei.field.items)]);c&&i.add(this.rules(c,r,!1));let a=c?.items;switch(e.listKind){case"enum":i.add(new ey(eU(e.enum,a?.ignore),this.enumeration(e.enum,a,l,e)));break;case"scalar":i.add(new ey(eD(e.scalar,a?.ignore),this.scalar(e.scalar,a,l,!1,e)));break;case"message":i.add(new ey(eP(a?.ignore),this.message(e.message,a,l,e)))}return i}map(e,t,s){let n,i=new eI(this.fieldCel(t,s,!1,void 0)),[c,r,l,a]=(n=eF(s,"map"),[ew(t,"map",e),n,n.clone().field(ec.field.keys),n.clone().field(ec.field.values)]);c&&i.add(this.rules(c,r,!1));let d=eD(e.mapKey,c?.keys?.ignore),u=this.scalar(e.mapKey,c?.keys,l,!0,e),h=c?.values;switch(e.mapKind){case"message":i.add(new ep(d,u,eP(h?.ignore),this.message(e.message,h,a,e)));break;case"enum":i.add(new ep(d,u,eU(e.enum,h?.ignore),this.enumeration(e.enum,h,a,e)));break;case"scalar":i.add(new ep(d,u,eD(e.scalar,h?.ignore),this.scalar(e.scalar,h,a,!1,e)))}return i}enumeration(e,t,s,n){let i=new eI(this.fieldCel(t,s,!1,f.f.INT32)),[c,r]=[ew(t,"enum",n),eF(s,"enum")];return c&&(i.add(new ef(e,r,c)),i.add(this.rules(c,r,!1))),i}scalar(e,t,s,n,i){let c,r=new eI(this.fieldCel(t,s,n,e)),[l,a]=[ew(t,c=ez.get(e),i),eF(s,c)];return l&&r.add(this.rules(l,a,n)),r}message(e,t,s,n){let i,c=new eI(this.fieldCel(t,s,!1,void 0));c.add(this.plan(e));let[r,l]=[ew(t,i=eS.get(e.typeName),n),eF(s,i)];return r&&((0,p.f)(r,er)&&c.add(new eZ(l,r)),c.add(this.rules(r,l,!1))),c}rules(e,t,s){let n=function(e){for(let t of[Q,N,k,U,D,P,_,T,O,j,q,$,ee,et,es,en,ei,ec,er,el,ea,ed])if(e==t.typeName)return t;throw Error(`unable to find descriptor for ${e}`)}(e.$typeName),i=this.celMan.compileRules(n),c=new cL(this.celMan,e,s);for(let s of i.standard)(0,H.f)(e,s.field)&&c.add(s.compiled,t.clone().field(s.field).toPath());let r=new cK(this.celMan,e,s);if(e.$unknown)for(let s of e.$unknown){let n=i.extensions.get(s.no);if(!n)throw new X(`Unknown extension for ${e.$typeName} with number ${s.no}. If this is a predefined rule, register the extension with a registry in createValidator().`);for(let s of n)r.add(s.compiled,t.clone().extension(s.ext).toPath(),(0,v.h)(e,s.ext),"scalar"==s.ext.fieldKind?s.ext.scalar:void 0)}return new eI(c,r)}messageCel(e){let t=new cw(this.celMan,!1,void 0);for(let s of[...e.celExpression,...e.cel])t.add(this.celMan.compileRule(s),[]);return t}fieldCel(e,t,s,n){if(!e)return em.get();let i=new cw(this.celMan,s,n);for(let[s,n]of[[L.field.cel,e.cel],[L.field.celExpression,e.celExpression]])for(let[e,c]of n.entries()){let n=t.clone().field(s).list(e).toPath();i.add(this.celMan.compileRule(c),n)}return i}}(n=new class e{constructor(e,t){var s;let n;this.registry=e,this.rulesCache=new Map,this.bindings={},this.env=(s={registry:e,funcs:[...cF,...(n=[ci,...cc,cr,cl,ca,...cd,...cu,ch,co,...cg,cm,...cI,...cy,...cp],t&&n.push(t6("matches",tZ.STRING,[tZ.STRING],tZ.BOOL,function(e){return t(e,this)})),n)]},new s1(s?.namespace?new e1(s?.namespace):void 0,s?.registry?e0(s.registry):e0(),function(...e){let t=new Map;for(let n of e){var s;for(let e of"object"==typeof(s=n)&&null!==s&&tM in s||Array.isArray(n)?n:[n]){let s=t.get(e.name);void 0===s&&(s=[],t.set(e.name,s)),s.push(e)}}return new tF(new Map(Array(...t.entries()).map(([e,t])=>[e,function(e,t){let s=[];for(let e of t){for(let t=0;t<s.length;t++)if(e.id===s[t].id){s.splice(t,1);break}s.push(e)}return new tw(e,s)}(e,t)])))}(sy,sJ,s$,sT,s?.funcs??[]))),this.bindings.now=(0,ej.H)()}updateCelNow(){this.bindings.now=(0,ej.H)()}setEnv(e,t){void 0===t?delete this.bindings[e]:this.bindings[e]=t}eval(e){if("compilation_error"==e.kind)throw e.error;let t=e.rule,s=e.interpretable(this.bindings);if("string"==typeof s||"boolean"==typeof s){if("boolean"==typeof s?s:0==s.length)return;let e=t.message;return""===e&&(e="string"==typeof s?s:`"${t.expression}" returned false`),{message:e,ruleId:t.id}}if(t1(s))throw new x(s.message,{cause:s});throw new x(`expression ${t.id} outputs ${typeof s}, wanted either bool or string`)}compileRule(e){let t="string"==typeof e?(0,eO.f)(K,{id:e,expression:e}):e;try{var s,n,i,c,r;let e,l,a,d;return{kind:"interpretable",interpretable:(n=this.env,s=t.expression,i=(0,eO.f)(s3,{expr:function(e,t={}){let s,n=t.grammarSource,i=!0===(s=l(e)).success?0===s.remainder.length?s:{success:!1,remainder:s.remainder,failedExpectations:[{expectation:il,remainder:s.remainder}]}:s;if(!0===i.success)return i.value;let c=e,r=[];for(let e of i.failedExpectations)e.remainder.length<c.length&&(c=e.remainder,r=[]),e.remainder.length===c.length&&r.push(e);throw new ns(r.map(e=>e.expectation),c.slice(0,1),g.getLocation(n,e,c,c));function l(t){let s=function(e){var t;let s,n=[],i=e,c=a(i);if(n.push(...c.failedExpectations),!1===c.success)return{success:!1,remainder:c.remainder,failedExpectations:n};let r=(i=c.remainder).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(n.push({expectation:nr,remainder:i},{expectation:nh,remainder:i}),r?.length!==1)return{success:!1,remainder:i,failedExpectations:n};let d=!0===(s=function(e){let t=function(e){let t=[],s=e,n=s.match(/^\?/g);if(t.push({expectation:ir,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=a(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),c?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let r=(s=s.slice(c[0].length)).match(/^:/g);if(t.push({expectation:n$,remainder:s}),r?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let d=l(s=s.slice(r[0].length));if(t.push(...d.failedExpectations),!1===d.success)return{success:!1,remainder:d.remainder,failedExpectations:t};let u=(s=d.remainder).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);return(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),u?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(u[0].length),{success:!0,value:[i.value,d.value],remainder:s,failedExpectations:t})}(e);if(!0===t.success)return{success:!0,value:[t.value[0],t.value[1]],remainder:t.remainder,failedExpectations:[]};return t}(t=i=i.slice(r[0].length))).success?s:{success:!0,value:null,remainder:t,failedExpectations:s.failedExpectations};return(n.push(...d.failedExpectations),!1===d.success)?{success:!1,remainder:d.remainder,failedExpectations:n}:(i=d.remainder,{success:!0,value:[c.value,d.value],remainder:i,failedExpectations:n})}(t);if(!0===s.success){var n,i,c;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],null===(c=s.value[1])?i:nn.newCallExpr(n(),"_?_:_",[i,...c])),remainder:s.remainder,failedExpectations:[]}}return s}function a(t){let s=function(t){let s=[],n=[],i=t;for(;;){let t=i;if(s.length>0){let e=function(e){let t=e.match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?\|\|/g);return t?.length===1?{success:!0,value:t[0],remainder:e.slice(t[0].length),failedExpectations:[]}:{success:!1,remainder:e,failedExpectations:[{expectation:nr,remainder:e},{expectation:nh,remainder:e},{expectation:ic,remainder:e}]}}(t);if(n.push(...e.failedExpectations),!1===e.success)break;t=e.remainder}let c=function(t){let s=function(t){let s=[],n=[],i=t;for(;;){let t=i;if(s.length>0){let e=function(e){let t=e.match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?&&/g);return t?.length===1?{success:!0,value:t[0],remainder:e.slice(t[0].length),failedExpectations:[]}:{success:!1,remainder:e,failedExpectations:[{expectation:nr,remainder:e},{expectation:nh,remainder:e},{expectation:ii,remainder:e}]}}(t);if(n.push(...e.failedExpectations),!1===e.success)break;t=e.remainder}let c=function(t){let s=function(t){let s=[],n=t,i=d(n);if(s.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:s};let c=function(t){let s=function(t){let s=[],n=[],i=t;for(;;){let t=function(t){let s=function(e){let t=[],s=e,n=s.match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=function(e){let t=[el,ea],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(e);return!0===t.success?t:{success:!1,remainder:t.remainder,failedExpectations:[{expectation:is,remainder:t.remainder}]}}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=d(s=i.remainder);return(t.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:t}:(s=c.remainder,{success:!0,value:[i.value,c.value],remainder:s,failedExpectations:t})}(t);if(!0===s.success){var n,i,c;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],c=s.value[1],e=>nn.newCallExpr(n(),i,[e,c])),remainder:s.remainder,failedExpectations:[]}}return s}(i);if(n.push(...t.failedExpectations),!1===t.success)break;i=t.remainder,s.push(t.value)}return s.length<1?{success:!1,remainder:t,failedExpectations:n}:{success:!0,value:s,remainder:i,failedExpectations:n}}(t);return!0===s.success?s:{success:!0,value:null,remainder:t,failedExpectations:s.failedExpectations}}(n=i.remainder);return(s.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:s}:(n=c.remainder,{success:!0,value:[i.value,c.value],remainder:n,failedExpectations:s})}(t);if(!0===s.success){var n,i;return{success:!0,value:(n=s.value[0],null===(i=s.value[1])?n:i.reduce((e,t)=>t(e),n)),remainder:s.remainder,failedExpectations:[]}}return s}(t);if(n.push(...c.failedExpectations),!1===c.success)break;i=c.remainder,s.push(c.value)}return s.length<1?{success:!1,remainder:t,failedExpectations:n}:{success:!0,value:s,remainder:i,failedExpectations:n}}(t);return!0===s.success?{success:!0,value:function(e,t){if(1===t.length)return t[0];let s=s9.newBalancingLogicManager(nn,"_&&_",t[0]);for(let n=1;n<t.length;n+=1)s.addTerm(e(),t[n]);return s.toExpr()}(()=>e.length-t.length,s.value),remainder:s.remainder,failedExpectations:[]}:s}(t);if(n.push(...c.failedExpectations),!1===c.success)break;i=c.remainder,s.push(c.value)}return s.length<1?{success:!1,remainder:t,failedExpectations:n}:{success:!0,value:s,remainder:i,failedExpectations:n}}(t);return!0===s.success?{success:!0,value:function(e,t){if(1===t.length)return t[0];let s=s9.newBalancingLogicManager(nn,"_||_",t[0]);for(let n=1;n<t.length;n+=1)s.addTerm(e(),t[n]);return s.toExpr()}(()=>e.length-t.length,s.value),remainder:s.remainder,failedExpectations:[]}:s}function d(t){let s=function(t){var s;let n,i=[],c=t,r=u(c);if(i.push(...r.failedExpectations),!1===r.success)return{success:!1,remainder:r.remainder,failedExpectations:i};let l=!0===(n=function(t){let s=[],n=[],i=t;for(;;){let t=function(t){let s=function(e){let t=[],s=e,n=s.match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){var t,s;let n=(t=e,/^[+\-]/g.test(t)?{success:!0,value:t.slice(0,1),remainder:t.slice(1),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:nI,remainder:t}]});if(!0===n.success){return{success:!0,value:(s=n.value,`_${s}_`),remainder:n.remainder,failedExpectations:[]}}return n}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=u(s=i.remainder);return(t.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:t}:(s=c.remainder,{success:!0,value:[i.value,c.value],remainder:s,failedExpectations:t})}(t);if(!0===s.success){var n,i,c;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],c=s.value[1],e=>nn.newCallExpr(n(),i,[e,c])),remainder:s.remainder,failedExpectations:[]}}return s}(i);if(n.push(...t.failedExpectations),!1===t.success)break;i=t.remainder,s.push(t.value)}return s.length<1?{success:!1,remainder:t,failedExpectations:n}:{success:!0,value:s,remainder:i,failedExpectations:n}}(s=c=r.remainder)).success?n:{success:!0,value:null,remainder:s,failedExpectations:n.failedExpectations};return(i.push(...l.failedExpectations),!1===l.success)?{success:!1,remainder:l.remainder,failedExpectations:i}:(c=l.remainder,{success:!0,value:[r.value,l.value],remainder:c,failedExpectations:i})}(t);if(!0===s.success){var n,i;return{success:!0,value:(n=s.value[0],null===(i=s.value[1])?n:i.reduce((e,t)=>t(e),n)),remainder:s.remainder,failedExpectations:[]}}return s}function u(t){let s=function(t){var s;let n,i=[],c=t,r=h(c);if(i.push(...r.failedExpectations),!1===r.success)return{success:!1,remainder:r.remainder,failedExpectations:i};let l=!0===(n=function(t){let s=[],n=[],i=t;for(;;){let t=function(t){let s=function(e){let t=[],s=e,n=s.match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){var t,s;let n=(t=e,/^[*\/%]/g.test(t)?{success:!0,value:t.slice(0,1),remainder:t.slice(1),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:n2,remainder:t}]});if(!0===n.success){return{success:!0,value:(s=n.value,`_${s}_`),remainder:n.remainder,failedExpectations:[]}}return n}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=h(s=i.remainder);return(t.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:t}:(s=c.remainder,{success:!0,value:[i.value,c.value],remainder:s,failedExpectations:t})}(t);if(!0===s.success){var n,i,c;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],c=s.value[1],e=>nn.newCallExpr(n(),i,[e,c])),remainder:s.remainder,failedExpectations:[]}}return s}(i);if(n.push(...t.failedExpectations),!1===t.success)break;i=t.remainder,s.push(t.value)}return s.length<1?{success:!1,remainder:t,failedExpectations:n}:{success:!0,value:s,remainder:i,failedExpectations:n}}(s=c=r.remainder)).success?n:{success:!0,value:null,remainder:s,failedExpectations:n.failedExpectations};return(i.push(...l.failedExpectations),!1===l.success)?{success:!1,remainder:l.remainder,failedExpectations:i}:(c=l.remainder,{success:!0,value:[r.value,l.value],remainder:c,failedExpectations:i})}(t);if(!0===s.success){var n,i;return{success:!0,value:(n=s.value[0],null===(i=s.value[1])?n:i.reduce((e,t)=>t(e),n)),remainder:s.remainder,failedExpectations:[]}}return s}function h(e){let t=[o,er],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}function o(e){let t=function(e){let t=[],s=e,n=s.match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=[y,T,j,$,ee,et,es],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=function(e){let t=[],s=[],n=e;for(;;){let e=function(e){let t=[],s=e,n=s.match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=[en,ei,ec],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(s=s.slice(n[0].length));return(t.push(...i.failedExpectations),!1===i.success)?{success:!1,remainder:i.remainder,failedExpectations:t}:(s=i.remainder,{success:!0,value:i.value,remainder:s,failedExpectations:t})}(n);if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return{success:!0,value:t,remainder:n,failedExpectations:s}}(s=i.remainder);return(t.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:t}:(s=c.remainder,{success:!0,value:[i.value,c.value],remainder:s,failedExpectations:t})}(e);if(!0===t.success){var s,n;return{success:!0,value:(s=t.value[0],0===(n=t.value[1]).length?s:n.reduce((e,t)=>t(e),s)),remainder:t.remainder,failedExpectations:[]}}return t}function m(e){var t,s,n;let i,c,r,l,a=[],d=e,u=!0===(i=I(t=d)).success?i:{success:!0,value:null,remainder:t,failedExpectations:i.failedExpectations};if(a.push(...u.failedExpectations),!1===u.success)return{success:!1,remainder:u.remainder,failedExpectations:a};let h=!0===(r=!0===(c=function(e){var t;let s,n=[],i=e,c=(t=i).startsWith("//")?{success:!0,value:"//",remainder:t.slice(2),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:nl,remainder:t}]};if(n.push(...c.failedExpectations),!1===c.success)return{success:!1,remainder:c.remainder,failedExpectations:n};let r=function(e){let t=[],s=[],n=e;for(;;){var i;let e=(i=n,/^[^\r\n]/g.test(i)?{success:!0,value:i.slice(0,1),remainder:i.slice(1),failedExpectations:[]}:{success:!1,remainder:i,failedExpectations:[{expectation:na,remainder:i}]});if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return{success:!0,value:t,remainder:n,failedExpectations:s}}(i=c.remainder);if(n.push(...r.failedExpectations),!1===r.success)return{success:!1,remainder:r.remainder,failedExpectations:n};let l=!0===(s=function(e){let t=[],s=[],n=e;for(;;){var i;let e=(i=n,/^[\r\n]/g.test(i)?{success:!0,value:i.slice(0,1),remainder:i.slice(1),failedExpectations:[]}:{success:!1,remainder:i,failedExpectations:[{expectation:nd,remainder:i}]});if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return t.length<1?{success:!1,remainder:e,failedExpectations:s}:{success:!0,value:t,remainder:n,failedExpectations:s}}(i=r.remainder)).success?s:{success:!1,remainder:s.remainder,failedExpectations:[{expectation:nu,remainder:s.remainder}]};return(n.push(...l.failedExpectations),!1===l.success)?{success:!1,remainder:l.remainder,failedExpectations:n}:(i=l.remainder,{success:!0,value:[c.value,r.value,l.value],remainder:i,failedExpectations:n})}(s=d=u.remainder)).success?c:{success:!1,remainder:c.remainder,failedExpectations:[{expectation:nh,remainder:c.remainder}]}).success?r:{success:!0,value:null,remainder:s,failedExpectations:r.failedExpectations};if(a.push(...h.failedExpectations),!1===h.success)return{success:!1,remainder:h.remainder,failedExpectations:a};let o=!0===(l=I(n=d=h.remainder)).success?l:{success:!0,value:null,remainder:n,failedExpectations:l.failedExpectations};return(a.push(...o.failedExpectations),!1===o.success)?{success:!1,remainder:o.remainder,failedExpectations:a}:(d=o.remainder,{success:!0,value:[u.value,h.value,o.value],remainder:d,failedExpectations:a})}function I(e){var t;let s,n=(s=(t=e).match(/^([\t\n\f\r ])+/g),s?.length===1?{success:!0,value:s[0],remainder:t.slice(s[0].length),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:nc,remainder:t}]});return!0===n.success?n:{success:!1,remainder:n.remainder,failedExpectations:[{expectation:nr,remainder:n.remainder}]}}function y(e){let t=[p,G,b,f,k,U,_],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}function p(t){let s=function(t){var s,n,i;let c,r=(c=(s=t).match(/^((-)?([0-9])*\.([0-9])+([eE]([+\-])?([0-9])+)?|(-)?([0-9])+[eE]([+\-])?([0-9])+)/g),c?.length===1?{success:!0,value:c[0],remainder:s.slice(c[0].length),failedExpectations:[]}:{success:!1,remainder:s,failedExpectations:[{expectation:no,remainder:s},{expectation:ng,remainder:s},{expectation:nm,remainder:s}]});if(!0===r.success){return{success:!0,value:(n=()=>e.length-t.length,i=r.value,nn.newDoubleExpr(n(),i)),remainder:r.remainder,failedExpectations:[]}}return r}(t);return!0===s.success?s:{success:!1,remainder:s.remainder,failedExpectations:[{expectation:ny,remainder:s.remainder}]}}function G(t){let s=function(t){let s=function(e){var t;let s,n=[],i=e,c=(s=(t=i).match(/^(0x([0-9abcdefABCDEF])+|([0-9])+)/g),s?.length===1?{success:!0,value:s[0],remainder:t.slice(s[0].length),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:np,remainder:t},{expectation:ng,remainder:t}]});if(n.push(...c.failedExpectations),!1===c.success)return{success:!1,remainder:c.remainder,failedExpectations:n};let r=(i=c.remainder).match(/^[uU]/g);return(n.push({expectation:nG,remainder:i}),r?.length!==1)?{success:!1,remainder:i,failedExpectations:n}:(i=i.slice(r[0].length),{success:!0,value:[c.value],remainder:i,failedExpectations:n})}(t);if(!0===s.success){var n,i;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],nn.newUnsignedInt64Expr(n(),i)),remainder:s.remainder,failedExpectations:[]}}return s}(t);return!0===s.success?s:{success:!1,remainder:s.remainder,failedExpectations:[{expectation:nb,remainder:s.remainder}]}}function b(t){let s=function(t){var s,n,i;let c,r=(c=(s=t).match(/^(-)?(0x([0-9abcdefABCDEF])+|([0-9])+)/g),c?.length===1?{success:!0,value:c[0],remainder:s.slice(c[0].length),failedExpectations:[]}:{success:!1,remainder:s,failedExpectations:[{expectation:no,remainder:s},{expectation:np,remainder:s},{expectation:ng,remainder:s}]});if(!0===r.success){return{success:!0,value:(n=()=>e.length-t.length,i=r.value,nn.newInt64Expr(n(),i)),remainder:r.remainder,failedExpectations:[]}}return r}(t);return!0===s.success?s:{success:!1,remainder:s.remainder,failedExpectations:[{expectation:nf,remainder:s.remainder}]}}function f(t){let s=function(t){let s=Z(t);if(!0===s.success){var n,i;return{success:!0,value:(n=()=>e.length-t.length,i=s.value,nn.newStringExpr(n(),i)),remainder:s.remainder,failedExpectations:[]}}return s}(t);return!0===s.success?s:{success:!1,remainder:s.remainder,failedExpectations:[{expectation:nF,remainder:s.remainder}]}}function Z(e){let t=function(e){let t=[C,B],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(e);return!0===t.success?t:{success:!1,remainder:t.remainder,failedExpectations:[{expectation:nM,remainder:t.remainder}]}}function C(e){let t=[],s=e,n=s.match(/^[rR]/g);if(t.push({expectation:nZ,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=[V,A,X,x],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(s=s.slice(n[0].length));return(t.push(...i.failedExpectations),!1===i.success)?{success:!1,remainder:i.remainder,failedExpectations:t}:(s=i.remainder,{success:!0,value:i.value,remainder:s,failedExpectations:t})}function V(e){let t=[],s=e,n=s.match(/^"""/g);if(t.push({expectation:nC,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=[],s=[],n=e;for(;;){let e=function(e){var t;let s=[],n=e,i=n.match(/^(?!""")/g);if(s.push(),i?.length!==1)return{success:!1,remainder:n,failedExpectations:s};let c=(t=n=n.slice(i[0].length)).length>0?{success:!0,value:t.slice(0,1),remainder:t.slice(1),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:ni,remainder:t}]};return(s.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:s}:(n=c.remainder,{success:!0,value:c.value,remainder:n,failedExpectations:s})}(n);if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return{success:!0,value:t,remainder:n,failedExpectations:s}}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^"""/g);return(t.push({expectation:nC,remainder:s}),c?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(c[0].length),{success:!0,value:i.value,remainder:s,failedExpectations:t})}function A(e){let t=[],s=e,n=s.match(/^'''/g);if(t.push({expectation:nV,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=[],s=[],n=e;for(;;){let e=function(e){var t;let s=[],n=e,i=n.match(/^(?!''')/g);if(s.push(),i?.length!==1)return{success:!1,remainder:n,failedExpectations:s};let c=(t=n=n.slice(i[0].length)).length>0?{success:!0,value:t.slice(0,1),remainder:t.slice(1),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:ni,remainder:t}]};return(s.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:s}:(n=c.remainder,{success:!0,value:c.value,remainder:n,failedExpectations:s})}(n);if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return{success:!0,value:t,remainder:n,failedExpectations:s}}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^'''/g);return(t.push({expectation:nV,remainder:s}),c?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(c[0].length),{success:!0,value:i.value,remainder:s,failedExpectations:t})}function X(e){let t=[],s=e,n=s.match(/^"/g);if(t.push({expectation:nA,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=[],s=[],n=e;for(;;){let e=function(e){var t;let s=[],n=e,i=n.match(/^(?!("|([\r\n])+))/g);if(s.push(),i?.length!==1)return{success:!1,remainder:n,failedExpectations:s};let c=(t=n=n.slice(i[0].length)).length>0?{success:!0,value:t.slice(0,1),remainder:t.slice(1),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:ni,remainder:t}]};return(s.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:s}:(n=c.remainder,{success:!0,value:c.value,remainder:n,failedExpectations:s})}(n);if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return{success:!0,value:t,remainder:n,failedExpectations:s}}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^"/g);return(t.push({expectation:nA,remainder:s}),c?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(c[0].length),{success:!0,value:i.value,remainder:s,failedExpectations:t})}function x(e){let t=[],s=e,n=s.match(/^'/g);if(t.push({expectation:nX,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=[],s=[],n=e;for(;;){let e=function(e){var t;let s=[],n=e,i=n.match(/^(?!('|([\r\n])+))/g);if(s.push(),i?.length!==1)return{success:!1,remainder:n,failedExpectations:s};let c=(t=n=n.slice(i[0].length)).length>0?{success:!0,value:t.slice(0,1),remainder:t.slice(1),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:ni,remainder:t}]};return(s.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:s}:(n=c.remainder,{success:!0,value:c.value,remainder:n,failedExpectations:s})}(n);if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return{success:!0,value:t,remainder:n,failedExpectations:s}}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^'/g);return(t.push({expectation:nX,remainder:s}),c?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(c[0].length),{success:!0,value:i.value,remainder:s,failedExpectations:t})}function B(e){let t=[J,F,K,Q],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}function J(e){let t=[],s=e,n=s.match(/^"""/g);if(t.push({expectation:nC,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=[],s=[],n=e;for(;;){let e=function(e){let t=[W,M],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(n);if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return{success:!0,value:t,remainder:n,failedExpectations:s}}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^"""/g);return(t.push({expectation:nC,remainder:s}),c?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(c[0].length),{success:!0,value:i.value,remainder:s,failedExpectations:t})}function W(e){let t=function(e){let t=[v,z,E],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(e);return!0===t.success?t:{success:!1,remainder:t.remainder,failedExpectations:[{expectation:nE,remainder:t.remainder}]}}function v(e){let t=function(e){let t=[],s=[],n=e;for(;;){let e=function(e){let t=function(e){let t=[H,R,Y,S],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(e);return!0===t.success?t:{success:!1,remainder:t.remainder,failedExpectations:[{expectation:nR,remainder:t.remainder}]}}(n);if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return t.length<1?{success:!1,remainder:e,failedExpectations:s}:{success:!0,value:t,remainder:n,failedExpectations:s}}(e);return!0===t.success?t:{success:!1,remainder:t.remainder,failedExpectations:[{expectation:nY,remainder:t.remainder}]}}function H(e){let t=function(e){var t;let s,n=[],i=e,c=i.match(/^\\/g);if(n.push({expectation:nx,remainder:i}),c?.length!==1)return{success:!1,remainder:i,failedExpectations:n};let r=(i=i.slice(c[0].length)).match(/^[xX]/g);if(n.push({expectation:nB,remainder:i}),r?.length!==1)return{success:!1,remainder:i,failedExpectations:n};let l=(s=(t=i=i.slice(r[0].length)).match(/^([0-9abcdefABCDEF][0-9abcdefABCDEF]){0,1}/g),s?.length===1?{success:!0,value:s[0],remainder:t.slice(s[0].length),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:nJ,remainder:t}]});return(n.push(...l.failedExpectations),!1===l.success)?{success:!1,remainder:l.remainder,failedExpectations:n}:(i=l.remainder,{success:!0,value:[l.value],remainder:i,failedExpectations:n})}(e);return!0===t.success?{success:!0,value:parseInt(t.value[0],16),remainder:t.remainder,failedExpectations:[]}:t}function R(e){let t=function(e){var t;let s,n=[],i=e,c=i.match(/^\\u/g);if(n.push({expectation:nW,remainder:i}),c?.length!==1)return{success:!1,remainder:i,failedExpectations:n};let r=(s=(t=i=i.slice(c[0].length)).match(/^([0-9abcdefABCDEF][0-9abcdefABCDEF]){0,2}/g),s?.length===1?{success:!0,value:s[0],remainder:t.slice(s[0].length),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:nJ,remainder:t}]});return(n.push(...r.failedExpectations),!1===r.success)?{success:!1,remainder:r.remainder,failedExpectations:n}:(i=r.remainder,{success:!0,value:[r.value],remainder:i,failedExpectations:n})}(e);return!0===t.success?{success:!0,value:parseInt(t.value[0],16),remainder:t.remainder,failedExpectations:[]}:t}function Y(e){let t=function(e){var t;let s,n=[],i=e,c=i.match(/^\\U/g);if(n.push({expectation:nv,remainder:i}),c?.length!==1)return{success:!1,remainder:i,failedExpectations:n};let r=(s=(t=i=i.slice(c[0].length)).match(/^([0-9abcdefABCDEF][0-9abcdefABCDEF]){0,4}/g),s?.length===1?{success:!0,value:s[0],remainder:t.slice(s[0].length),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:nJ,remainder:t}]});return(n.push(...r.failedExpectations),!1===r.success)?{success:!1,remainder:r.remainder,failedExpectations:n}:(i=r.remainder,{success:!0,value:[r.value],remainder:i,failedExpectations:n})}(e);return!0===t.success?{success:!0,value:parseInt(t.value[0],16),remainder:t.remainder,failedExpectations:[]}:t}function S(e){let t=function(e){var t;let s,n=[],i=e,c=i.match(/^\\/g);if(n.push({expectation:nx,remainder:i}),c?.length!==1)return{success:!1,remainder:i,failedExpectations:n};let r=(s=(t=i=i.slice(c[0].length)).match(/^[0-3][0-7][0-7]/g),s?.length===1?{success:!0,value:s[0],remainder:t.slice(s[0].length),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:nH,remainder:t}]});return(n.push(...r.failedExpectations),!1===r.success)?{success:!1,remainder:r.remainder,failedExpectations:n}:(i=r.remainder,{success:!0,value:[r.value],remainder:i,failedExpectations:n})}(e);return!0===t.success?{success:!0,value:parseInt(t.value[0],8),remainder:t.remainder,failedExpectations:[]}:t}function z(e){let t=function(e){var t;let s=[],n=e,i=n.match(/^\\/g);if(s.push({expectation:nx,remainder:n}),i?.length!==1)return{success:!1,remainder:n,failedExpectations:s};let c=(t=n=n.slice(i[0].length),/^[abfnrtv]/g.test(t)?{success:!0,value:t.slice(0,1),remainder:t.slice(1),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:nS,remainder:t}]});return(s.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:s}:(n=c.remainder,{success:!0,value:[c.value],remainder:n,failedExpectations:s})}(e);return!0===t.success?{success:!0,value:function(e){switch(e){case"a":return"\x07";case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return" ";case"v":return"\v"}throw Error()}(t.value[0]),remainder:t.remainder,failedExpectations:[]}:t}function E(e){var t;let s=[],n=e,i=n.match(/^\\/g);if(s.push({expectation:nx,remainder:n}),i?.length!==1)return{success:!1,remainder:n,failedExpectations:s};let c=(t=n=n.slice(i[0].length),/^["'`\\?]/g.test(t)?{success:!0,value:t.slice(0,1),remainder:t.slice(1),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:nz,remainder:t}]});return(s.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:s}:(n=c.remainder,{success:!0,value:c.value,remainder:n,failedExpectations:s})}function M(e){let t=e.match(/^(?!""")[\s\S]/g);return t?.length===1?{success:!0,value:t[0],remainder:e.slice(t[0].length),failedExpectations:[]}:{success:!1,remainder:e,failedExpectations:[{expectation:ni,remainder:e}]}}function F(e){let t=[],s=e,n=s.match(/^'''/g);if(t.push({expectation:nV,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=[],s=[],n=e;for(;;){let e=function(e){let t=[W,w],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(n);if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return{success:!0,value:t,remainder:n,failedExpectations:s}}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^'''/g);return(t.push({expectation:nV,remainder:s}),c?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(c[0].length),{success:!0,value:i.value,remainder:s,failedExpectations:t})}function w(e){let t=e.match(/^(?!''')[\s\S]/g);return t?.length===1?{success:!0,value:t[0],remainder:e.slice(t[0].length),failedExpectations:[]}:{success:!1,remainder:e,failedExpectations:[{expectation:ni,remainder:e}]}}function K(e){let t=[],s=e,n=s.match(/^"/g);if(t.push({expectation:nA,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=[],s=[],n=e;for(;;){let e=function(e){let t=[W,L],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(n);if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return{success:!0,value:t,remainder:n,failedExpectations:s}}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^"/g);return(t.push({expectation:nA,remainder:s}),c?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(c[0].length),{success:!0,value:i.value,remainder:s,failedExpectations:t})}function L(e){let t=e.match(/^(?!("|([\r\n])+))[\s\S]/g);return t?.length===1?{success:!0,value:t[0],remainder:e.slice(t[0].length),failedExpectations:[]}:{success:!1,remainder:e,failedExpectations:[{expectation:ni,remainder:e}]}}function Q(e){let t=[],s=e,n=s.match(/^'/g);if(t.push({expectation:nX,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=function(e){let t=[],s=[],n=e;for(;;){let e=function(e){let t=[W,N],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(n);if(s.push(...e.failedExpectations),!1===e.success)break;n=e.remainder,t.push(e.value)}return{success:!0,value:t,remainder:n,failedExpectations:s}}(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^'/g);return(t.push({expectation:nX,remainder:s}),c?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(c[0].length),{success:!0,value:i.value,remainder:s,failedExpectations:t})}function N(e){let t=e.match(/^(?!('|([\r\n])+))[\s\S]/g);return t?.length===1?{success:!0,value:t[0],remainder:e.slice(t[0].length),failedExpectations:[]}:{success:!1,remainder:e,failedExpectations:[{expectation:ni,remainder:e}]}}function k(t){let s=function(t){let s=function(e){let t=[],s=e,n=s.match(/^[bB]/g);if(t.push({expectation:nw,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=Z(s=s.slice(n[0].length));return(t.push(...i.failedExpectations),!1===i.success)?{success:!1,remainder:i.remainder,failedExpectations:t}:(s=i.remainder,{success:!0,value:[i.value],remainder:s,failedExpectations:t})}(t);if(!0===s.success){var n,i;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],nn.newBytesExpr(n(),i)),remainder:s.remainder,failedExpectations:[]}}return s}(t);return!0===s.success?s:{success:!1,remainder:s.remainder,failedExpectations:[{expectation:nK,remainder:s.remainder}]}}function U(t){let s=function(t){let s=function(e){let t=[D,P],s=[];for(let n=t.shift();void 0!==n;n=t.shift()){let t=n(e);if(s.push(...t.failedExpectations),!0===t.success)return{success:!0,value:t.value,remainder:t.remainder,failedExpectations:s}}return{success:!1,remainder:e,failedExpectations:s}}(t);if(!0===s.success){var n,i;return{success:!0,value:(n=()=>e.length-t.length,i=s.value,nn.newBoolExpr(n(),i)),remainder:s.remainder,failedExpectations:[]}}return s}(t);return!0===s.success?s:{success:!1,remainder:s.remainder,failedExpectations:[{expectation:nN,remainder:s.remainder}]}}function D(e){return e.startsWith("true")?{success:!0,value:"true",remainder:e.slice(4),failedExpectations:[]}:{success:!1,remainder:e,failedExpectations:[{expectation:nL,remainder:e}]}}function P(e){return e.startsWith("false")?{success:!0,value:"false",remainder:e.slice(5),failedExpectations:[]}:{success:!1,remainder:e,failedExpectations:[{expectation:nQ,remainder:e}]}}function _(t){let s=function(t){let s=function(e){let t=[],s=e,n=s.match(/^null/g);if(t.push({expectation:nk,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=(s=s.slice(n[0].length)).match(/^(?![_a-zA-Z0-9])/g);return(t.push(),i?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:{success:!0,value:[],remainder:s=s.slice(i[0].length),failedExpectations:t}}(t);if(!0===s.success){var n;return{success:!0,value:(n=()=>e.length-t.length,nn.newNullExpr(n())),remainder:s.remainder,failedExpectations:[]}}return s}(t);return!0===s.success?s:{success:!1,remainder:s.remainder,failedExpectations:[{expectation:nU,remainder:s.remainder}]}}function T(t){let s=function(t){let s,i=[],c=t,r=c.match(/^(\.)?/g);if(i.push({expectation:nm,remainder:c}),r?.length!==1)return{success:!1,remainder:c,failedExpectations:i};let l=(c=c.slice(r[0].length)).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(i.push({expectation:nr,remainder:c},{expectation:nh,remainder:c}),l?.length!==1)return{success:!1,remainder:c,failedExpectations:i};let a=!0===(s=function(t){var s,i,c;let r,l=(r=(s=t).match(/^[_a-zA-Z]([_a-zA-Z0-9])*/g),r?.length===1?{success:!0,value:r[0],remainder:s.slice(r[0].length),failedExpectations:[]}:{success:!1,remainder:s,failedExpectations:[{expectation:nD,remainder:s}]});if(!0===l.success){return{success:!0,value:(i=(s,i=g.getLocation(n,e,t,l.remainder),c)=>{throw new nt(s,i,c)},["true","false","null","in","as","break","const","continue","else","for","function","if","import","let","loop","package","namespace","return","var","void","while"].includes(c=l.value)&&i("reserved identifier"),c),remainder:l.remainder,failedExpectations:[]}}return l}(c=c.slice(l[0].length))).success?s:{success:!1,remainder:s.remainder,failedExpectations:[{expectation:nP,remainder:s.remainder}]};if(i.push(...a.failedExpectations),!1===a.success)return{success:!1,remainder:a.remainder,failedExpectations:i};let d=(c=a.remainder).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(i.push({expectation:nr,remainder:c},{expectation:nh,remainder:c}),d?.length!==1)return{success:!1,remainder:c,failedExpectations:i};let u=(c=c.slice(d[0].length)).match(/^\(/g);if(i.push({expectation:n_,remainder:c}),u?.length!==1)return{success:!1,remainder:c,failedExpectations:i};let h=O(c=c.slice(u[0].length));if(i.push(...h.failedExpectations),!1===h.success)return{success:!1,remainder:h.remainder,failedExpectations:i};let o=(c=h.remainder).match(/^\)/g);return(i.push({expectation:nO,remainder:c}),o?.length!==1)?{success:!1,remainder:c,failedExpectations:i}:(c=c.slice(o[0].length),{success:!0,value:[a.value,h.value],remainder:c,failedExpectations:i})}(t);if(!0===s.success){var i,c,r;return{success:!0,value:(i=()=>e.length-t.length,c=s.value[0],r=s.value[1],nn.newCallExpr(i(),c,r)),remainder:s.remainder,failedExpectations:[]}}return s}function O(e){let t=[],s=[],n=e;for(;;){let e=n;if(t.length>0){var i;let t=(i=e).startsWith(",")?{success:!0,value:",",remainder:i.slice(1),failedExpectations:[]}:{success:!1,remainder:i,failedExpectations:[{expectation:nT,remainder:i}]};if(s.push(...t.failedExpectations),!1===t.success)break;e=t.remainder}let c=l(e);if(s.push(...c.failedExpectations),!1===c.success)break;n=c.remainder,t.push(c.value)}return{success:!0,value:t,remainder:n,failedExpectations:s}}function j(t){let s=function(t){var s,n;let i,c=[],r=t,a=!0===(i=(n=s=r).startsWith(".")?{success:!0,value:".",remainder:n.slice(1),failedExpectations:[]}:{success:!1,remainder:n,failedExpectations:[{expectation:nm,remainder:n}]}).success?i:{success:!0,value:null,remainder:s,failedExpectations:i.failedExpectations};if(c.push(...a.failedExpectations),!1===a.success)return{success:!1,remainder:a.remainder,failedExpectations:c};let d=(r=a.remainder).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(c.push({expectation:nr,remainder:r},{expectation:nh,remainder:r}),d?.length!==1)return{success:!1,remainder:r,failedExpectations:c};let u=function(e){let t=[],s=[],n=e;for(;;){let e=n;if(t.length>0){let t=function(e){var t;let s=[],n=e,i=m(n);if(s.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:s};let c=(t=n=i.remainder).startsWith(".")?{success:!0,value:".",remainder:t.slice(1),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:nm,remainder:t}]};if(s.push(...c.failedExpectations),!1===c.success)return{success:!1,remainder:c.remainder,failedExpectations:s};let r=m(n=c.remainder);return(s.push(...r.failedExpectations),!1===r.success)?{success:!1,remainder:r.remainder,failedExpectations:s}:(n=r.remainder,{success:!0,value:[i.value,c.value,i.value],remainder:n,failedExpectations:s})}(e);if(s.push(...t.failedExpectations),!1===t.success)break;e=t.remainder}let i=q(e);if(s.push(...i.failedExpectations),!1===i.success)break;n=i.remainder,t.push(i.value)}return t.length<1?{success:!1,remainder:e,failedExpectations:s}:{success:!0,value:t,remainder:n,failedExpectations:s}}(r=r.slice(d[0].length));if(c.push(...u.failedExpectations),!1===u.success)return{success:!1,remainder:u.remainder,failedExpectations:c};let h=(r=u.remainder).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(c.push({expectation:nr,remainder:r},{expectation:nh,remainder:r}),h?.length!==1)return{success:!1,remainder:r,failedExpectations:c};let o=(r=r.slice(h[0].length)).match(/^\{/g);if(c.push({expectation:nq,remainder:r}),o?.length!==1)return{success:!1,remainder:r,failedExpectations:c};let g=function(t){let s=[],n=[],i=t;for(;;){let t=i;if(s.length>0){var c;let e=(c=t).startsWith(",")?{success:!0,value:",",remainder:c.slice(1),failedExpectations:[]}:{success:!1,remainder:c,failedExpectations:[{expectation:nT,remainder:c}]};if(n.push(...e.failedExpectations),!1===e.success)break;t=e.remainder}let r=function(t){let s=function(e){let t=[],s=e,n=s.match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=q(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?:/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s},{expectation:n$,remainder:s}),c?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let r=l(s=s.slice(c[0].length));return(t.push(...r.failedExpectations),!1===r.success)?{success:!1,remainder:r.remainder,failedExpectations:t}:(s=r.remainder,{success:!0,value:[i.value,r.value],remainder:s,failedExpectations:t})}(t);if(!0===s.success){var n,i,c;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],c=s.value[1],nn.newStructEntry(n(),i,c)),remainder:s.remainder,failedExpectations:[]}}return s}(t);if(n.push(...r.failedExpectations),!1===r.success)break;i=r.remainder,s.push(r.value)}return{success:!0,value:s,remainder:i,failedExpectations:n}}(r=r.slice(o[0].length));if(c.push(...g.failedExpectations),!1===g.success)return{success:!1,remainder:g.remainder,failedExpectations:c};let I=(r=g.remainder).match(/^(,)?/g);if(c.push({expectation:nT,remainder:r}),I?.length!==1)return{success:!1,remainder:r,failedExpectations:c};let y=(r=r.slice(I[0].length)).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(c.push({expectation:nr,remainder:r},{expectation:nh,remainder:r}),y?.length!==1)return{success:!1,remainder:r,failedExpectations:c};let p=(r=r.slice(y[0].length)).match(/^\}/g);return(c.push({expectation:n0,remainder:r}),p?.length!==1)?{success:!1,remainder:r,failedExpectations:c}:(r=r.slice(p[0].length),{success:!0,value:[a.value,u.value,g.value],remainder:r,failedExpectations:c})}(t);if(!0===s.success){var n,i,c,r;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],c=s.value[1],r=s.value[2],nn.newStructExpr(n(),r,(null!==i?i:"")+c.join("."))),remainder:s.remainder,failedExpectations:[]}}return s}function q(t){let s=function(t){var s,i,c;let r,l=(r=(s=t).match(/^[_a-zA-Z]([_a-zA-Z0-9])*/g),r?.length===1?{success:!0,value:r[0],remainder:s.slice(r[0].length),failedExpectations:[]}:{success:!1,remainder:s,failedExpectations:[{expectation:nD,remainder:s}]});if(!0===l.success){return{success:!0,value:(i=(s,i=g.getLocation(n,e,t,l.remainder),c)=>{throw new nt(s,i,c)},["true","false","null","in"].includes(c=l.value)&&i("reserved keyword"),c),remainder:l.remainder,failedExpectations:[]}}return l}(t);return!0===s.success?s:{success:!1,remainder:s.remainder,failedExpectations:[{expectation:nj,remainder:s.remainder}]}}function $(t){let s=function(e){let t=[],s=e,n=s.match(/^(\.)?/g);if(t.push({expectation:nm,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=(s=s.slice(n[0].length)).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),i?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let c=q(s=s.slice(i[0].length));return(t.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:t}:(s=c.remainder,{success:!0,value:[c.value],remainder:s,failedExpectations:t})}(t);if(!0===s.success){var n,i;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],nn.newIdentExpr(n(),i)),remainder:s.remainder,failedExpectations:[]}}return s}function ee(e){let t=[],s=e,n=s.match(/^\(/g);if(t.push({expectation:n_,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=l(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^\)/g);return(t.push({expectation:nO,remainder:s}),c?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(c[0].length),{success:!0,value:i.value,remainder:s,failedExpectations:t})}function et(t){let s=function(e){let t=[],s=e,n=s.match(/^\[/g);if(t.push({expectation:n1,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=O(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^(,)?/g);if(t.push({expectation:nT,remainder:s}),c?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let r=(s=s.slice(c[0].length)).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),r?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let l=(s=s.slice(r[0].length)).match(/^\]/g);return(t.push({expectation:n5,remainder:s}),l?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(l[0].length),{success:!0,value:i.value,remainder:s,failedExpectations:t})}(t);if(!0===s.success){var n,i;return{success:!0,value:(n=()=>e.length-t.length,i=s.value,nn.newListExpr(n(),i)),remainder:s.remainder,failedExpectations:[]}}return s}function es(t){let s=function(t){let s=[],n=t,i=n.match(/^\{/g);if(s.push({expectation:nq,remainder:n}),i?.length!==1)return{success:!1,remainder:n,failedExpectations:s};let c=function(t){let s=[],n=[],i=t;for(;;){let t=i;if(s.length>0){var c;let e=(c=t).startsWith(",")?{success:!0,value:",",remainder:c.slice(1),failedExpectations:[]}:{success:!1,remainder:c,failedExpectations:[{expectation:nT,remainder:c}]};if(n.push(...e.failedExpectations),!1===e.success)break;t=e.remainder}let r=function(t){let s=function(e){let t=[],s=e,n=l(s);if(t.push(...n.failedExpectations),!1===n.success)return{success:!1,remainder:n.remainder,failedExpectations:t};let i=(s=n.remainder).match(/^:/g);if(t.push({expectation:n$,remainder:s}),i?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let c=l(s=s.slice(i[0].length));return(t.push(...c.failedExpectations),!1===c.success)?{success:!1,remainder:c.remainder,failedExpectations:t}:(s=c.remainder,{success:!0,value:[n.value,c.value],remainder:s,failedExpectations:t})}(t);if(!0===s.success){var n,i,c;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],c=s.value[1],nn.newMapEntry(n(),i,c)),remainder:s.remainder,failedExpectations:[]}}return s}(t);if(n.push(...r.failedExpectations),!1===r.success)break;i=r.remainder,s.push(r.value)}return{success:!0,value:s,remainder:i,failedExpectations:n}}(n=n.slice(i[0].length));if(s.push(...c.failedExpectations),!1===c.success)return{success:!1,remainder:c.remainder,failedExpectations:s};let r=(n=c.remainder).match(/^(,)?(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?\}/g);return(s.push({expectation:nT,remainder:n},{expectation:nr,remainder:n},{expectation:nh,remainder:n},{expectation:n0,remainder:n}),r?.length!==1)?{success:!1,remainder:n,failedExpectations:s}:(n=n.slice(r[0].length),{success:!0,value:c.value,remainder:n,failedExpectations:s})}(t);if(!0===s.success){var n,i;return{success:!0,value:(n=()=>e.length-t.length,i=s.value,nn.newStructExpr(n(),i)),remainder:s.remainder,failedExpectations:[]}}return s}function en(t){let s=function(e){let t=[],s=e,n=s.match(/^\./g);if(t.push({expectation:nm,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=(s=s.slice(n[0].length)).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),i?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let c=q(s=s.slice(i[0].length));if(t.push(...c.failedExpectations),!1===c.success)return{success:!1,remainder:c.remainder,failedExpectations:t};let r=(s=c.remainder).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),r?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let l=(s=s.slice(r[0].length)).match(/^(?![(])/g);return(t.push(),l?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(l[0].length),{success:!0,value:[c.value],remainder:s,failedExpectations:t})}(t);if(!0===s.success){var n,i;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],e=>nn.newSelectExpr(n(),e,i)),remainder:s.remainder,failedExpectations:[]}}return s}function ei(t){let s=function(e){let t=[],s=e,n=s.match(/^\./g);if(t.push({expectation:nm,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=(s=s.slice(n[0].length)).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),i?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let c=q(s=s.slice(i[0].length));if(t.push(...c.failedExpectations),!1===c.success)return{success:!1,remainder:c.remainder,failedExpectations:t};let r=(s=c.remainder).match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(t.push({expectation:nr,remainder:s},{expectation:nh,remainder:s}),r?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let l=(s=s.slice(r[0].length)).match(/^\(/g);if(t.push({expectation:n_,remainder:s}),l?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let a=O(s=s.slice(l[0].length));if(t.push(...a.failedExpectations),!1===a.success)return{success:!1,remainder:a.remainder,failedExpectations:t};let d=(s=a.remainder).match(/^\)/g);return(t.push({expectation:nO,remainder:s}),d?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(d[0].length),{success:!0,value:[c.value,a.value],remainder:s,failedExpectations:t})}(t);if(!0===s.success){var n,i,c;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],c=s.value[1],e=>nn.newMemberCallExpr(n(),e,i,c)),remainder:s.remainder,failedExpectations:[]}}return s}function ec(t){let s=function(e){let t=[],s=e,n=s.match(/^\[/g);if(t.push({expectation:n1,remainder:s}),n?.length!==1)return{success:!1,remainder:s,failedExpectations:t};let i=l(s=s.slice(n[0].length));if(t.push(...i.failedExpectations),!1===i.success)return{success:!1,remainder:i.remainder,failedExpectations:t};let c=(s=i.remainder).match(/^\]/g);return(t.push({expectation:n5,remainder:s}),c?.length!==1)?{success:!1,remainder:s,failedExpectations:t}:(s=s.slice(c[0].length),{success:!0,value:[i.value],remainder:s,failedExpectations:t})}(t);if(!0===s.success){var n,i;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],e=>nn.newCallExpr(n(),"_[_]",[e,i])),remainder:s.remainder,failedExpectations:[]}}return s}function er(t){let s=function(e){var t;let s,n=[],i=e,c=i.match(/^(([\t\n\f\r ])+)?(\/\/([^\r\n])*([\r\n])+)?(([\t\n\f\r ])+)?/g);if(n.push({expectation:nr,remainder:i},{expectation:nh,remainder:i}),c?.length!==1)return{success:!1,remainder:i,failedExpectations:n};let r=(s=(t=i=i.slice(c[0].length)).match(/^((!)+|(-)+)/g),s?.length===1?{success:!0,value:s[0],remainder:t.slice(s[0].length),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:n3,remainder:t},{expectation:no,remainder:t}]});if(n.push(...r.failedExpectations),!1===r.success)return{success:!1,remainder:r.remainder,failedExpectations:n};let l=o(i=r.remainder);return(n.push(...l.failedExpectations),!1===l.success)?{success:!1,remainder:l.remainder,failedExpectations:n}:(i=l.remainder,{success:!0,value:[r.value,l.value],remainder:i,failedExpectations:n})}(t);if(!0===s.success){var n,i,c;return{success:!0,value:(n=()=>e.length-t.length,i=s.value[0],c=s.value[1],i.length%2==0?c:"callExpr"===c.exprKind.case&&c.exprKind.value.function===`${i[0]}_`?c.exprKind.value.args[0]:nn.newCallExpr(n(),`${i[0]}_`,[c])),remainder:s.remainder,failedExpectations:[]}}return s}function el(e){var t,s;let n,i=(n=(t=e).match(/^(<=|<|>=|>|==|!=)/g),n?.length===1?{success:!0,value:n[0],remainder:t.slice(n[0].length),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:n9,remainder:t},{expectation:n4,remainder:t},{expectation:n8,remainder:t},{expectation:n6,remainder:t},{expectation:n7,remainder:t},{expectation:ie,remainder:t}]});if(!0===i.success){return{success:!0,value:(s=i.value,`_${s}_`),remainder:i.remainder,failedExpectations:[]}}return i}function ea(e){var t;let s=(t=e).startsWith("in")?{success:!0,value:"in",remainder:t.slice(2),failedExpectations:[]}:{success:!1,remainder:t,failedExpectations:[{expectation:it,remainder:t}]};return!0===s.success?{success:!0,value:"@in",remainder:s.remainder,failedExpectations:[]}:s}}(s)}),l=i2.get(n),void 0===l&&(l=new ik(n.funcs,n.registry,n.namespace),i2.set(n,l)),e=(0,p.f)(i,iu)||(0,p.f)(i,s3)?i.expr:i,a=l.plan(e??(0,eO.f)(s2)),c={registry:n.registry},d={id:(r={id:a.id,eval(e){try{let t=a.eval(e);if(t1(t))return t;return tR(t)}catch(e){return t$(e,a.id)}}}).id,eval(e){let t=(tI.push(c),()=>tI.pop());try{return r.eval(e)}finally{t()}}},e=>d.eval(void 0!==e?new iH(e):iY)),rule:t}}catch(e){return{kind:"compilation_error",error:new X(`failed to compile ${t.id}: ${String(e)}`,{cause:e})}}}compileRules(e){let t=this.rulesCache.get(e.typeName);return t||(t=this.compileRulesUncached(e),this.rulesCache.set(e.typeName,t)),t}compileRulesUncached(e){let t=[],s=new Map;for(let s of e.fields)if((0,v.S)(s,eg))for(let e of(0,v.R)(s,eg).cel)t.push({field:s,rule:e,compiled:this.compileRule(e)});for(let t of function(e,t){let s=[];for(let n of e)"extension"==n.kind&&n.extendee.typeName==t.typeName&&s.push(n);return s}(this.registry,e)){if(!(0,v.S)(t,eg))continue;let e=s.get(t.number);for(let n of(e||(e=[],s.set(t.number,e)),(0,v.R)(t,eg).cel))e.push({ext:t,rule:n,compiled:this.compileRule(n)})}return{standard:t,extensions:s}}}(t,void 0),(void 0)??!1),{validate(e,c){try{var r=t,l=n,a=i,d=e,u=c,h=s;let o=u.$typeName;if(!(0,p.f)(u,d))throw new x(`Cannot validate message ${o} with schema ${d.typeName}`);if(!r.get(d.typeName))for(let e of(r.add(d),(0,b.U)(d)))r.add(e);let g=a.plan(d),m=(0,G.v)(d,u),I=W.create(d,h);l.updateCelNow(),g.eval(m,I),I.throwIfViolated()}catch(e){if(e instanceof B)return{kind:"invalid",message:c,error:e,violations:e.violations};if(e instanceof X||e instanceof x)return{kind:"error",message:c,error:e};return{kind:"error",message:c,error:new x("unexpected error: "+e,{cause:e})}}return{kind:"valid",message:c}}});e.s(["u",0,function(e,t){for(let s of e)if(C(s.field)===t)return s.message;return null},"N",0,function(e,t){let s=cN.validate(e,t);return"invalid"===s.kind?s.violations:[]}],891914)}]);
|