commit 7c7c7da4b5e155b000f9b03f75da962bbfebe9db parent ca26f91f2d06a5abdc5e2071018599064148fbbe Author: MTRNord <MTRNord@users.noreply.github.com> Date: Mon, 18 Apr 2022 20:33:28 +0000 deploy: MTRNord/matrix-art@94a20a3636e42d5a4e18929b7abcd3ccbe85f8ab Diffstat:
22 files changed, 351 insertions(+), 0 deletions(-)
diff --git a/pr-121/.well-known/security.txt b/pr-121/.well-known/security.txt @@ -0,0 +1,6 @@ +Contact: mailto:mtrnord@nordgedanken.dev +Contact: matrix:u/mtrnord:nordgedanken.dev +Contact: https://matrix.to/#/@mtrnord:nordgedanken.dev +Expires: 2176-02-14T11:04:00.000Z +Preferred-Languages: en +Canonical: https://art.midnightthoughts.space/.well-known/security.txt diff --git a/pr-121/Logo.svg b/pr-121/Logo.svg @@ -0,0 +1,11 @@ +<svg width="400" height="82" viewBox="0 0 400 82" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M105.578 67.4062C101.016 76.5312 94.5312 81.0938 86.125 81.0938C77.7812 81.0938 71.8125 75.4688 68.2188 64.2188C65.8438 56.7812 64.6562 47.7188 64.6562 37.0312C64.6562 33.0625 64.8125 28.8594 65.125 24.4219C59 36.3906 54.2344 48.2188 50.8281 59.9062H32.875L32.9219 24.3281C26.8594 36.3281 22.2031 48.1875 18.9531 59.9062H0.015625C12.6094 41.1875 22.5312 21.3125 29.7812 0.28125H48.5312C46.7188 11.5938 45.7656 23.4375 45.6719 35.8125C51.6719 23.4688 57.1406 11.625 62.0781 0.28125H83.4062C80.0625 8.84375 78.3906 17.9688 78.3906 27.6562C78.3906 28.875 78.4375 30.3906 78.5312 32.2031C78.8438 38.4844 79.2969 43.2031 79.8906 46.3594C80.7656 51.0469 82.2344 55.5156 84.2969 59.7656C87.7031 66.7656 91.7344 70.2656 96.3906 70.2656C101.141 70.2656 104.203 69.3125 105.578 67.4062Z" fill="black"/> +<path d="M132.062 18.8438C126.781 32.5312 122.609 46.2188 119.547 59.9062H103.844L104.547 57.6094C101.516 59.3281 98.4062 60.1875 95.2188 60.1875C91 60.1875 87.7031 58.7344 85.3281 55.8281C83.1094 53.1406 82 49.6406 82 45.3281C82 38.7656 84.1562 32.75 88.4688 27.2812C93.0938 21.4375 98.5781 18.5156 104.922 18.5156C109.578 18.5156 112.969 20 115.094 22.9688L116.359 18.8438H132.062ZM110.547 33.8906C110.547 30.6094 108.938 28.9688 105.719 28.9688C103.438 28.9688 101.422 29.9375 99.6719 31.875C97.9219 33.8125 97.0469 35.9375 97.0469 38.25C97.0469 41.6875 98.75 43.4062 102.156 43.4062C104.562 43.4062 106.594 42.4062 108.25 40.4062C109.781 38.5312 110.547 36.3594 110.547 33.8906Z" fill="black"/> +<path d="M167.547 18.5156L163.656 31.4531C160.344 31.3281 157.141 31.2188 154.047 31.125C151.234 40.4062 148.953 50 147.203 59.9062H130C132.844 52.625 136.016 43.0156 139.516 31.0781C136.234 31.1719 133.062 31.2969 130 31.4531L133.938 18.5156C136.844 18.6719 139.891 18.7812 143.078 18.8438C144.453 13.8438 145.891 8.5 147.391 2.8125H164.734C162.328 8.09375 160.141 13.4375 158.172 18.8438C161.172 18.75 164.297 18.6406 167.547 18.5156Z" fill="black"/> +<path d="M206.641 29.2969C204.828 28.3906 201.641 27.9375 197.078 27.9375C193.484 27.9375 190.469 28.9688 188.031 31.0312C185.344 33.3125 181.656 42.6875 176.969 59.1562H176.922L176.688 59.9062H160.984L173.453 18.8438H180.391C182.297 18.0312 184.531 17.625 187.094 17.625C192.312 17.625 198.828 21.5156 206.641 29.2969Z" fill="black"/> +<path d="M231.812 9.65625C231.812 11.8125 230.531 13.5469 227.969 14.8594C225.906 15.9219 223.672 16.4531 221.266 16.4531C218.828 16.4531 216.547 15.9219 214.422 14.8594C211.859 13.5781 210.578 11.8281 210.578 9.60938C210.578 7.39062 211.953 5.64062 214.703 4.35938C216.891 3.32812 219.234 2.8125 221.734 2.8125C224.203 2.8125 226.391 3.32812 228.297 4.35938C230.641 5.64062 231.812 7.40625 231.812 9.65625ZM226.375 18.8438L213.906 59.9062H198.203L210.672 18.8438H226.375Z" fill="black"/> +<path d="M271.188 18.8438L250.141 39.9375L258.672 59.9062H244.562L240.203 49.8281L230.125 59.9062H214.469L235.562 38.8594L226.984 18.8438H241.141L245.453 28.9688L255.578 18.8438H271.188Z" fill="black"/> +<path d="M345.344 67.4062C340.781 76.5312 334.312 81.0938 325.938 81.0938C318.719 81.0938 313.266 77.25 309.578 69.5625C306.984 64.1562 305.375 57.1719 304.75 48.6094H294.297C292.953 52.4219 291.719 56.1875 290.594 59.9062H272.078C283.859 38.7188 293.797 18.8438 301.891 0.28125H323.219C319.844 8.875 318.156 18 318.156 27.6562C318.156 28.875 318.203 30.3906 318.297 32.2031C318.609 38.5469 319.062 43.2656 319.656 46.3594C320.531 51.0156 322 55.4844 324.062 59.7656C327.438 66.7656 331.469 70.2656 336.156 70.2656C340.906 70.2656 343.969 69.3125 345.344 67.4062ZM304.984 24.2344C302.766 28.5156 300.734 32.7969 298.891 37.0781H304.469C304.5 33.0781 304.672 28.7969 304.984 24.2344Z" fill="black"/> +<path d="M366.203 29.2969C364.391 28.3906 361.203 27.9375 356.641 27.9375C353.047 27.9375 350.031 28.9688 347.594 31.0312C344.906 33.3125 341.219 42.6875 336.531 59.1562H336.484L336.25 59.9062H320.547L333.016 18.8438H339.953C341.859 18.0312 344.094 17.625 346.656 17.625C351.875 17.625 358.391 21.5156 366.203 29.2969Z" fill="black"/> +<path d="M399.766 18.5156L395.875 31.4531C392.562 31.3281 389.359 31.2188 386.266 31.125C383.453 40.4062 381.172 50 379.422 59.9062H362.219C365.062 52.625 368.234 43.0156 371.734 31.0781C368.453 31.1719 365.281 31.2969 362.219 31.4531L366.156 18.5156C369.062 18.6719 372.109 18.7812 375.297 18.8438C376.672 13.8438 378.109 8.5 379.609 2.8125H396.953C394.547 8.09375 392.359 13.4375 390.391 18.8438C393.391 18.75 396.516 18.6406 399.766 18.5156Z" fill="black"/> +</svg> diff --git a/pr-121/Logo_colored.svg b/pr-121/Logo_colored.svg @@ -0,0 +1,93 @@ +<svg width="400" height="87" viewBox="20 10 400 87" fill="none" xmlns="http://www.w3.org/2000/svg"> + <g filter="url(#filter0_ddd_7_98)"> + <path + d="M125.562 77.1249C121 86.2499 114.516 90.8126 106.109 90.8126C97.7656 90.8126 91.7969 85.1876 88.2032 73.9376C85.8282 66.5 84.6406 57.4376 84.6406 46.75C84.6406 42.7813 84.7969 38.5781 85.1094 34.1406C78.9844 46.1094 74.2188 57.9376 70.8125 69.625H52.8594L52.9063 34.0469C46.8438 46.0469 42.1875 57.9062 38.9375 69.625H20C32.5938 50.9062 42.5156 31.0312 49.7656 10H68.5156C66.7032 21.3125 65.75 33.1562 65.6563 45.5312C71.6563 33.1875 77.125 21.3438 82.0625 10H103.391C100.047 18.5625 98.375 27.6876 98.375 37.375C98.375 38.5938 98.4219 40.1093 98.5156 41.9218C98.8282 48.2031 99.2813 52.9219 99.875 56.0782C100.75 60.7657 102.219 65.2343 104.281 69.4843C107.687 76.4843 111.719 79.9844 116.375 79.9844C121.125 79.9844 124.187 79.0312 125.562 77.1249Z" + fill="url(#paint0_linear_7_98)" /> + <path + d="M152.046 28.5625C146.765 42.2499 142.593 55.9376 139.531 69.625H123.828L124.531 67.3282C121.5 69.0469 118.391 69.9062 115.203 69.9062C110.984 69.9062 107.687 68.4532 105.312 65.5469C103.094 62.8594 101.984 59.3593 101.984 55.0468C101.984 48.4843 104.141 42.4688 108.453 37C113.078 31.1563 118.562 28.2344 124.906 28.2344C129.562 28.2344 132.953 29.7187 135.078 32.6875L136.343 28.5625H152.046ZM130.531 43.6093C130.531 40.3281 128.922 38.6875 125.703 38.6875C123.422 38.6875 121.406 39.6562 119.656 41.5938C117.906 43.5312 117.031 45.6562 117.031 47.9688C117.031 51.4062 118.734 53.125 122.14 53.125C124.546 53.125 126.578 52.125 128.234 50.125C129.765 48.25 130.531 46.0781 130.531 43.6093Z" + fill="url(#paint1_linear_7_98)" /> + <path + d="M187.531 28.2344L183.64 41.1719C180.328 41.0469 177.125 40.9376 174.031 40.8438C171.218 50.125 168.937 59.7188 167.187 69.625H149.984C152.828 62.3438 156 52.7344 159.5 40.7969C156.218 40.8907 153.046 41.0157 149.984 41.1719L153.922 28.2344C156.828 28.3907 159.875 28.4999 163.062 28.5625C164.437 23.5625 165.875 18.2188 167.375 12.5312H184.718C182.312 17.8125 180.125 23.1562 178.156 28.5625C181.156 28.4687 184.281 28.3594 187.531 28.2344Z" + fill="url(#paint2_linear_7_98)" /> + <path + d="M226.625 39.0156C224.812 38.1093 221.625 37.6562 217.062 37.6562C213.468 37.6562 210.453 38.6876 208.015 40.75C205.328 43.0313 201.64 52.4062 196.953 68.875H196.906L196.672 69.625H180.968L193.437 28.5625H200.375C202.281 27.7499 204.515 27.3438 207.078 27.3438C212.296 27.3438 218.812 31.2343 226.625 39.0156Z" + fill="url(#paint3_linear_7_98)" /> + <path + d="M251.796 19.375C251.796 21.5312 250.515 23.2656 247.953 24.5781C245.89 25.6406 243.656 26.1719 241.25 26.1719C238.812 26.1719 236.531 25.6406 234.406 24.5781C231.843 23.2968 230.562 21.5468 230.562 19.3281C230.562 17.1094 231.937 15.3594 234.687 14.0781C236.875 13.0469 239.218 12.5312 241.718 12.5312C244.187 12.5312 246.375 13.0469 248.281 14.0781C250.625 15.3594 251.796 17.125 251.796 19.375ZM246.359 28.5625L233.89 69.625H218.187L230.656 28.5625H246.359Z" + fill="url(#paint4_linear_7_98)" /> + <path + d="M291.172 28.5625L270.125 49.6562L278.656 69.625H264.546L260.187 59.5468L250.109 69.625H234.453L255.546 48.5782L246.968 28.5625H261.125L265.437 38.6875L275.562 28.5625H291.172Z" + fill="url(#paint5_linear_7_98)" /> + <path + d="M365.328 77.1249C360.765 86.2499 354.296 90.8126 345.922 90.8126C338.703 90.8126 333.25 86.9688 329.562 79.2812C326.968 73.8749 325.359 66.8907 324.734 58.3282H314.281C312.937 62.1407 311.703 65.9063 310.578 69.625H292.062C303.843 48.4375 313.781 28.5625 321.875 10H343.203C339.828 18.5938 338.14 27.7188 338.14 37.375C338.14 38.5938 338.187 40.1093 338.281 41.9218C338.593 48.2656 339.046 52.9844 339.64 56.0782C340.515 60.7344 341.984 65.2031 344.046 69.4843C347.422 76.4843 351.453 79.9844 356.14 79.9844C360.89 79.9844 363.953 79.0312 365.328 77.1249ZM324.968 33.9531C322.75 38.2343 320.718 42.5156 318.875 46.7968H324.453C324.484 42.7968 324.656 38.5156 324.968 33.9531Z" + fill="url(#paint6_linear_7_98)" /> + <path + d="M386.187 39.0156C384.375 38.1093 381.187 37.6562 376.625 37.6562C373.031 37.6562 370.015 38.6876 367.578 40.75C364.89 43.0313 361.203 52.4062 356.515 68.875H356.468L356.234 69.625H340.531L353 28.5625H359.937C361.843 27.7499 364.078 27.3438 366.64 27.3438C371.859 27.3438 378.375 31.2343 386.187 39.0156Z" + fill="url(#paint7_linear_7_98)" /> + <path + d="M419.75 28.2344L415.859 41.1719C412.546 41.0469 409.343 40.9376 406.25 40.8438C403.437 50.125 401.156 59.7188 399.406 69.625H382.203C385.046 62.3438 388.218 52.7344 391.718 40.7969C388.437 40.8907 385.265 41.0157 382.203 41.1719L386.14 28.2344C389.046 28.3907 392.093 28.4999 395.281 28.5625C396.656 23.5625 398.093 18.2188 399.593 12.5312H416.937C414.531 17.8125 412.343 23.1562 410.375 28.5625C413.375 28.4687 416.5 28.3594 419.75 28.2344Z" + fill="url(#paint8_linear_7_98)" /> + </g> + <defs> + <filter id="filter0_ddd_7_98" x="0" y="0" width="439.75" height="120.813" filterUnits="userSpaceOnUse" + color-interpolation-filters="sRGB"> + <feFlood flood-opacity="0" result="BackgroundImageFix" /> + <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" + result="hardAlpha" /> + <feOffset dy="2" /> + <feGaussianBlur stdDeviation="3" /> + <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0" /> + <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_7_98" /> + <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" + result="hardAlpha" /> + <feOffset dy="10" /> + <feGaussianBlur stdDeviation="10" /> + <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0" /> + <feBlend mode="normal" in2="effect1_dropShadow_7_98" result="effect2_dropShadow_7_98" /> + <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" + result="hardAlpha" /> + <feOffset dy="4" /> + <feGaussianBlur stdDeviation="2" /> + <feComposite in2="hardAlpha" operator="out" /> + <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" /> + <feBlend mode="normal" in2="effect2_dropShadow_7_98" result="effect3_dropShadow_7_98" /> + <feBlend mode="normal" in="SourceGraphic" in2="effect3_dropShadow_7_98" result="shape" /> + </filter> + <linearGradient id="paint0_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint1_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint2_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint3_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint4_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint5_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint6_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint7_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint8_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + </defs> +</svg> +\ No newline at end of file diff --git a/pr-121/assets/Join.73af0a1f.js b/pr-121/assets/Join.73af0a1f.js @@ -0,0 +1 @@ +import{E as h,$ as u}from"./vendor.d127a5c1.js";import{j as r,a as t,H as g,C as p}from"./index.d4976c03.js";const l="inline-block p-4 w-full text-gray-900 bg-gray-100 hover:ring-blue-300 hover:ring-1 focus:ring-transparent focus:outline-none dark:bg-gray-700 dark:text-white",d="inline-block p-4 w-full bg-white hover:text-gray-700 hover:bg-gray-50 hover:ring-blue-300 hover:ring-1 focus:ring-transparent focus:outline-none dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700";class f extends h{constructor(){super();this.state={homeserver:"https://art.midnightthoughts.space",username:"",password:"",create_profile:!0,current_tab:"login"}}async onSubmit(s){s.preventDefault();const e=this.context;!e||this.state.homeserver===""||this.state.username===""||this.state.password===""||(this.state.current_tab==="login"&&!(e!=null&&e.isLoggedIn())?await e.login(this.state.homeserver,this.state.username,this.state.password,this.state.create_profile):this.state.current_tab==="register"&&!e.isLoggedIn()&&await e.register(this.state.homeserver,this.state.username,this.state.password,this.state.create_profile),u("/",!0))}onInput(s){s.preventDefault();const e=s.target,n=e.type==="checkbox"?e.checked:e.value,a=e.name;this.setState({[a]:n})}render(s,{homeserver:e,username:n,password:a,create_profile:c,current_tab:o}){return r("div",{class:"flex flex-col",children:[t("header",{children:t(g,{})}),r("main",{class:"m-12 mt-6",children:[t("h1",{class:"text-3xl font-bold mb-4 text-white",children:"Join"}),r("div",{class:"flex items-center flex-col",children:[r("ul",{class:"w-1/4 mb-8 hidden text-sm font-medium text-center text-gray-500 rounded-lg divide-x divide-gray-200 shadow sm:flex dark:divide-gray-700 dark:text-gray-400",children:[t("li",{class:"w-full",children:t("a",{href:"#",class:o==="login"?`${l} rounded-l-lg`:`${d} rounded-l-lg`,onClick:i=>{i.preventDefault(),this.setState({current_tab:"login"})},children:"Login"})}),t("li",{class:"w-full",children:t("a",{href:"#",class:o==="register"?`${l} rounded-r-lg`:`${d} rounded-r-lg`,onClick:i=>{i.preventDefault(),this.setState({current_tab:"register"})},children:"Register"})})]}),r("form",{onSubmit:this.onSubmit.bind(this),class:"flex flex-col items-start w-1/4",children:[t("input",{class:"search-bg shadow rounded-lg border-0 py-3 px-4 placeholder-data text-white mb-4 w-full",type:"url",placeholder:"Homeserver",name:"homeserver",value:e,onInput:this.onInput.bind(this)}),t("input",{class:"search-bg shadow rounded-lg border-0 py-3 px-4 placeholder-data text-white mb-4 w-full",autocomplete:"username",type:"text",placeholder:"Username",name:"username",value:n,onInput:this.onInput.bind(this)}),t("input",{class:"search-bg shadow rounded-lg border-0 py-3 px-4 placeholder-data text-white mb-4 w-full",autoComplete:"current-password",type:"password",placeholder:"Password",name:"password",value:a,onInput:this.onInput.bind(this)}),r("label",{class:"mb-4 flex items-center",children:[t("input",{class:"checked:bg-blue-600 checked:border-transparent checked:bg-no-repeat checked:bg-[url('/tick.svg')] outline-none focus:outline-offset-2 focus:ring-blue-600 focus:ring-offset-2 focus:ring-offset-white p-0 inline-block align-middle box-border select-none shrink-0 shadow h-5 w-5 appearance-none rounded bg-white border-none",type:"checkbox",name:"create_profile",checked:c,onInput:this.onInput.bind(this)}),t("span",{class:"ml-4 text-data text-base font-medium",children:"Create account"})]}),t("button",{type:"submit",class:"text-white font-bold text-lg logo-bg rounded-xl py-2 px-10 shadow transform transition-transform ease-in-out duration-300 hover:scale-105 w-1/2 self-center",children:o==="login"?"Login":"Register"})]})]})]})]})}}f.contextType=p;export{f as default}; diff --git a/pr-121/assets/index.b49f94f5.css b/pr-121/assets/index.b49f94f5.css @@ -0,0 +1 @@ +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.static{position:static}.absolute{position:absolute}.m-12{margin:3rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.ml-4{margin-left:1rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mr-2{margin-right:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.box-border{box-sizing:border-box}.inline-block{display:inline-block}.flex{display:flex}.contents{display:contents}.hidden{display:none}.h-11{height:2.75rem}.h-5{height:1.25rem}.w-80{width:20rem}.w-full{width:100%}.w-11{width:2.75rem}.w-1\/4{width:25%}.w-5{width:1.25rem}.w-1\/2{width:50%}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.self-center{align-self:center}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.border-0{border-width:0px}.border-2{border-width:2px}.border-none{border-style:none}.border-\[\#AAB3CF\]{--tw-border-opacity: 1;border-color:rgb(170 179 207 / var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-4{padding:1rem}.p-0{padding:0}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-12{padding-left:3rem;padding-right:3rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.pl-10{padding-left:2.5rem}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@supports not (font-variation-settings: normal){@font-face{font-family:Inter;font-style:normal;font-weight:100;font-display:optional;src:url(/fonts/Inter-Thin.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:200;font-display:optional;src:url(/fonts/Inter-ExtraLight.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:optional;src:url(/fonts/Inter-Light.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/Inter-Regular.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/Inter-Medium.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/Inter-SemiBold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/Inter-Bold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:optional;src:url(/fonts/Inter-ExtraBold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:optional;src:url(/fonts/Inter-Black.woff2) format("woff2")}}@supports (font-variation-settings: normal){@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/Inter-VariableFont_slnt,wght.woff2) format("woff2 supports variations"),url(/fonts/Inter-VariableFont_slnt,wght.woff2) format("woff2-variations")}}html,body,#app{margin:0;height:100%}body{background-color:#424555}.logo-bg{background:linear-gradient(90deg,#751796 -58.41%,#FE7223 152.47%)}.search-bg{background:linear-gradient(90deg,rgba(196,196,196,.11) -33.43%,rgba(196,196,196,.07) 184.14%)}.text-data{color:#aab3cf}.placeholder-data::-moz-placeholder{color:#aab3cf}.placeholder-data:-ms-input-placeholder{color:#aab3cf}.placeholder-data::placeholder{color:#aab3cf}.checked\:border-transparent:checked{border-color:transparent}.checked\:bg-blue-600:checked{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.checked\:bg-\[url\(\'\/tick\.svg\'\)\]:checked{background-image:url(/tick.svg)}.checked\:bg-no-repeat:checked{background-repeat:no-repeat}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.hover\:ring-1:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ring-blue-300:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-offset-2:focus{outline-offset:2px}.focus\:ring-transparent:focus{--tw-ring-color: transparent}.focus\:ring-blue-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-white:focus{--tw-ring-offset-color: #fff}@media (prefers-color-scheme: dark){.dark\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity))}.dark\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}@media (min-width: 640px){.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:flex-row{flex-direction:row}}@media (min-width: 1024px){.lg\:mt-0{margin-top:0}.lg\:flex-row{flex-direction:row}} diff --git a/pr-121/assets/index.d4976c03.js b/pr-121/assets/index.d4976c03.js @@ -0,0 +1 @@ +var U=Object.defineProperty,k=Object.defineProperties;var V=Object.getOwnPropertyDescriptors;var B=Object.getOwnPropertySymbols;var X=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var M=(a,e,t)=>e in a?U(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,R=(a,e)=>{for(var t in e||(e={}))X.call(e,t)&&M(a,t,e[t]);if(B)for(var t of B(e))W.call(e,t)&&M(a,t,e[t]);return a},N=(a,e)=>k(a,V(e));var d=(a,e,t)=>(M(a,typeof e!="symbol"?e+"":e,t),t);import{D as G,j as Q,a as Y,E,b as D,P as J,F as Z,L as q,c as $,l,d as s,W as I,M as b,e as K,f as ee,O as te,o as ne,g as ie,S as oe}from"./vendor.d127a5c1.js";const re=function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const c of o)if(c.type==="childList")for(const r of c.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function t(o){const c={};return o.integrity&&(c.integrity=o.integrity),o.referrerpolicy&&(c.referrerPolicy=o.referrerpolicy),o.crossorigin==="use-credentials"?c.credentials="include":o.crossorigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function n(o){if(o.ep)return;o.ep=!0;const c=t(o);fetch(o.href,c)}};re();const se="modulepreload",P={},ae="/",le=function(e,t){return!t||t.length===0?e():Promise.all(t.map(n=>{if(n=`${ae}${n}`,n in P)return;P[n]=!0;const o=n.endsWith(".css"),c=o?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${n}"]${c}`))return;const r=document.createElement("link");if(r.rel=o?"stylesheet":se,o||(r.as="script",r.crossOrigin=""),r.href=n,document.head.appendChild(r),o)return new Promise((m,w)=>{r.addEventListener("load",m),r.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>e())},z=G(void 0),i=Q,h=Y;class A extends E{render(){const e=this.context;return h("div",{class:"m-12 flex flex-col lg:flex-row items-center justify-between",children:[i(D,{href:"/",children:i("img",{alt:"Matrix Art",src:"Logo_colored.svg",class:"ease-in-out hover:scale-105 trandform transition-transform duration-300"})}),h("div",{class:"flex items-center mt-8 lg:mt-0 flex-col sm:flex-row",children:[h("div",{class:"flex items-center justify-between w-80 max-w-80 mx-6 ease-in-out hover:scale-105 trandform transition-transform duration-300",children:[i("div",{class:"absolute ml-4",children:h("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#AAB3CF",children:[i("path",{d:"M0 0h24v24H0V0z",fill:"none"}),i("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]})}),i("input",{class:"search-bg shadow rounded-2xl border-0 py-3 px-4 pl-10 text-data",placeholder:"Search"})]}),e!=null&&e.isLoggedIn()?i(D,{class:"text-white font-bold text-1xl logo-bg rounded-2xl py-3 px-12 shadow mt-4 sm:mt-0 transform transition-transform ease-in-out duration-300 hover:scale-105",children:"Post"}):i(D,{href:"/join",class:"text-white font-bold text-1xl logo-bg rounded-2xl py-3 px-12 shadow mt-4 sm:mt-0 transform transition-transform ease-in-out duration-300 hover:scale-105",children:"Join"})]})]})}}A.contextType=z;class p extends E{constructor(e){super(e)}render({user:e,post:t}){return h("div",{class:"flex flex-col",children:[i("a",{id:"gallery_click",href:t.content.file.url,class:"w-full",target:"_blank",rel:"noreferrer",children:i("img",{class:"rounded-3xl shadow object-cover transform transition-transform ease-in-out duration-300 hover:scale-105",src:t.content.file.url})}),h("div",{class:"flex items-center justify-between py-4",children:[h("a",{class:"flex items-center",href:"#",children:[i("img",{class:"w-11 h-11 rounded-full mr-4 border-2 border-[#AAB3CF]",src:e.avatar_url}),i("p",{class:"text-data shadow text-lg font-medium",children:e.display_name})]}),h("div",{class:"flex text-data text-lg items-center",children:[h("a",{class:"mr-4 flex items-center",href:"#",children:[i("span",{class:"mr-2",children:h("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#AAB3CF",children:[i("path",{d:"M0 0h24v24H0V0z",fill:"none"}),i("path",{d:"M16.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3 2 5.42 2 8.5c0 3.78 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 22 8.5 22 5.42 19.58 3 16.5 3zm-4.4 15.55l-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4 6.5 5.5 5 7.5 5c1.54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5 0 2.89-3.14 5.74-7.9 10.05z"})]})}),i("span",{children:"5"})]}),h("a",{class:"flex items-center",href:"#",children:[i("span",{class:"mr-2",children:h("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#AAB3CF",children:[i("path",{d:"M0 0h24v24H0V0z",fill:"none"}),i("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z"})]})}),i("span",{children:"11"})]})]})]})]})}}class y{constructor(e,t,n){d(this,"mxid");d(this,"display_name");d(this,"avatar_url");this.mxid=e,this.display_name=t,this.avatar_url=n}}class v{constructor(e,t){d(this,"event_id");d(this,"content");this.event_id=e,this.content=t}}class ce extends E{constructor(){super();this.state={columns:this.settingColumns()}}settingColumns(){return window.innerWidth>=1400?4:window.innerWidth>=800?3:window.innerWidth>=500?2:1}componentDidMount(){window.addEventListener("resize",()=>this.setState({columns:this.settingColumns()}))}componentWillUnmount(){var e;window.removeEventListener("resize",()=>this.setState({columns:this.settingColumns()})),(e=this.state.lightbox)==null||e.destroy()}render(){return h("div",{class:"flex flex-col",children:[i("header",{children:i(A,{})}),h("main",{class:"m-12 mt-6",children:[i("h1",{class:"text-3xl font-bold mb-4 text-white",children:"Explore"}),i("div",{class:"flex justify-center",id:"gallery",children:h(J,{gap:24,nColumns:this.state.columns,children:[i(p,{user:new y("","Person A","https://unsplash.com/photos/_cvwXhGqG-o/download?ixid=MnwxMjA3fDB8MXxzZWFyY2h8OHx8ZmFjZXxlbnwwfDJ8fHwxNjQ4Nzc5NzYx"),post:new v("",{file:{url:"https://unsplash.com/photos/UWmrTAQ75iA/download?ixid=MnwxMjA3fDB8MXxhbGx8Mnx8fHx8fDJ8fDE2NDg4MzI0Njg"}})}),i(p,{user:new y("","Person B","https://unsplash.com/photos/uJ8LNVCBjFQ/download?ixid=MnwxMjA3fDB8MXxzZWFyY2h8MTN8fGZhY2V8ZW58MHwyfHx8MTY0ODc3OTc2MQ"),post:new v("",{file:{url:"https://unsplash.com/photos/7ptbiEPxKMQ/download?ixid=MnwxMjA3fDB8MXxhbGx8OXx8fHx8fDJ8fDE2NDg4MzI0Njg"}})}),i(p,{user:new y("","Person C","https://unsplash.com/photos/u3pi6HhSYew/download?ixid=MnwxMjA3fDB8MXxzZWFyY2h8MTd8fGZhY2V8ZW58MHwyfHx8MTY0ODc3OTc2MQ"),post:new v("",{file:{url:"https://unsplash.com/photos/ZiPlVmmKEYA/download?ixid=MnwxMjA3fDB8MXxhbGx8Mzl8fHx8fHwyfHwxNjQ4ODM2MDIz"}})}),i(p,{user:new y("","Person D","https://unsplash.com/photos/TW_z_iUD_bQ/download?ixid=MnwxMjA3fDB8MXxzZWFyY2h8ODR8fHBvcnRyYWl0fGVufDB8Mnx8fDE2NDg4NDQ3MjQ"),post:new v("",{file:{url:"https://unsplash.com/photos/FTQJBGDxKXg/download?ixid=MnwxMjA3fDB8MXxhbGx8M3x8fHx8fDJ8fDE2NDg4NDMyNDY"}})}),i(p,{user:new y("","Person E","https://unsplash.com/photos/kYtN89E5ce4/download?ixid=MnwxMjA3fDB8MXxzZWFyY2h8MTA0fHxwb3J0cmFpdHxlbnwwfDJ8fHwxNjQ4ODQ0NzQy"),post:new v("",{file:{url:"https://unsplash.com/photos/zfhxiaZO3JE/download?ixid=MnwxMjA3fDB8MXxhbGx8Mjl8fHx8fHwyfHwxNjQ4ODQzMjQ1"}})}),i(p,{user:new y("","Person E","https://unsplash.com/photos/kBonaevi3yA/download?ixid=MnwxMjA3fDB8MXxzZWFyY2h8MTE5fHxwb3J0cmFpdHxlbnwwfDJ8fHwxNjQ4ODQ0NzQy"),post:new v("",{file:{url:"https://unsplash.com/photos/jm-JKqrAXsA/download?ixid=MnwxMjA3fDB8MXxhbGx8MTAyfHx8fHx8Mnx8MTY0ODg0MzI1NQ"}})})]})})]})]})}}const de=Z(()=>le(()=>import("./Join.73af0a1f.js"),["assets/Join.73af0a1f.js","assets/vendor.d127a5c1.js"]));class he extends E{render(){return i(q,{fallback:h("div",{class:"flex flex-col",children:[i("header",{children:i(A,{})}),i("main",{class:"m-12 mt-6 flex items-center justify-center",children:i("p",{class:"text-lg text-data font-bold",children:"Loading..."})})]}),children:i(z.Provider,{value:window.client,children:h($,{children:[i(ce,{path:"/"}),i(de,{path:"/join"})]})})})}}const _=new l.UnstableValue("m.image","org.matrix.msc1767.image"),O=new l.UnstableValue("m.file","org.matrix.msc1767.file"),L=new l.UnstableValue("m.thumbnail","org.matrix.msc1767.thumbnail"),j=new l.UnstableValue("blurhash","xyz.amorgan.blurhash"),we=new l.NamespacedValue("matrixart.description"),me=new l.NamespacedValue("matrixart.tags"),ue=new l.NamespacedValue("matrixart.nsfw"),xe=new l.NamespacedValue("matrixart.license");class fe extends l.ExtensibleEvent{constructor(e){super(e);d(this,"image");d(this,"text");d(this,"thumbnails");d(this,"blurhash");d(this,"file");d(this,"description");d(this,"tags");d(this,"nsfw",!1);d(this,"license");const t=_.findIn(this.wireContent),n=l.M_TEXT.findIn(this.wireContent),o=O.findIn(this.wireContent),c=L.findIn(this.wireContent),r=j.findIn(this.wireContent),m=we.findIn(this.wireContent),w=me.findIn(this.wireContent),x=ue.findIn(this.wireContent),u=xe.findIn(this.wireContent);if(l.isProvided(t)){if(!t)throw new l.InvalidEventError("m.image is required to be present");this.image=t}if(l.isProvided(o)){if(!o)throw new l.InvalidEventError("m.file is required to be present");this.file=o}if(l.isOptionalAString(n)){if(!t)throw new l.InvalidEventError("m.text is required to be present");this.text=n}if(l.isProvided(c)){if(!Array.isArray(c))throw new l.InvalidEventError("m.thumbnail contents must be an array");this.thumbnails=c}if(l.isOptionalAString(r)&&(this.blurhash=r),l.isOptionalAString(m)&&(this.description=m),l.isProvided(w)){if(!Array.isArray(w))throw new l.InvalidEventError("matrixart.tags contents must be an array");this.tags=w}if(l.isProvided(x)){if(typeof x!="boolean")throw new l.InvalidEventError("matrixart.tags contents must be an boolean");this.nsfw=x}l.isOptionalAString(u)&&(this.license=u)}isEquivalentTo(e){return l.isEventTypeSame(e,_)}serialize(){const e={[l.M_TEXT.name]:this.text,[O.name]:this.file,[_.name]:this.image,[L.name]:this.thumbnails,[j.name]:this.blurhash,["matrixart.description"]:this.description,["matrixart.tags"]:this.tags,["matrixart.nsfw"]:this.nsfw,["matrixart.license"]:this.license};return{type:"m.image",content:e}}}function ge(a){const e=a;return new fe(e)}l.ExtensibleEvents.registerInterpreter(_,ge);l.ExtensibleEvents.unknownInterpretOrder.push(_);function S(){return new Worker("/assets/indexeddb.worker.0ae1a28d.js",{type:"module"})}class T{constructor(e){d(this,"events",[]);d(this,"currentUserDirectory");d(this,"rootDirectory");this.client=e}static async new(){var o,c,r,m,w,x;global.Olm||console.error("global.Olm does not seem to be present. Did you forget to add olm in the out directory?");let e;if(window.localStorage.getItem("server")!==null?e=window.localStorage.getItem("server"):e={}.VITE_MATRIX_SERVER_URL,!e)throw new Error("No matrix server URL defined");let t;if(window.localStorage.getItem("mxid_guest")!==null){const u=(o=window.localStorage.getItem("mxid_guest"))!=null?o:void 0,f=(c=window.localStorage.getItem("access_token_guest"))!=null?c:void 0,g=(r=window.localStorage.getItem("device_id_guest"))!=null?r:void 0;t=s.createClient({useAuthorizationHeader:!0,baseUrl:e,userId:u,accessToken:f,deviceId:g,sessionStore:new I(window.localStorage),store:new s.IndexedDBStore({indexedDB:window.indexedDB,dbName:"matrix-art-sync:guest",localStorage:window.localStorage,workerFactory:()=>new S}),cryptoStore:new s.IndexedDBCryptoStore(window.indexedDB,"matrix-art:crypto")}),t.setGuest(!0)}{const u=s.createClient({}.VITE_MATRIX_SERVER_URL),{user_id:f,device_id:g,access_token:C}=await u.registerGuest();t=s.createClient({useAuthorizationHeader:!0,baseUrl:e,userId:f,accessToken:C,deviceId:g,sessionStore:new I(window.localStorage),store:new s.IndexedDBStore({indexedDB:window.indexedDB,dbName:"matrix-art-sync:guest",localStorage:window.localStorage,workerFactory:()=>new S}),cryptoStore:new s.IndexedDBCryptoStore(window.indexedDB,"matrix-art:crypto")}),t.setGuest(!0),window.localStorage.setItem("mxid_guest",f),window.localStorage.setItem("access_token_guest",C),window.localStorage.setItem("device_id_guest",g),window.localStorage.setItem("server",e)}let n;if(window.localStorage.getItem("mxid")!==null){const u=(m=window.localStorage.getItem("mxid"))!=null?m:void 0,f=(w=window.localStorage.getItem("access_token"))!=null?w:void 0,g=(x=window.localStorage.getItem("device_id"))!=null?x:void 0;n=s.createClient({useAuthorizationHeader:!0,baseUrl:e,userId:u,accessToken:f,deviceId:g,sessionStore:new I(window.localStorage),store:new s.IndexedDBStore({indexedDB:window.indexedDB,dbName:"matrix-art-sync:guest",localStorage:window.localStorage,workerFactory:()=>new S}),cryptoStore:new s.IndexedDBCryptoStore(window.indexedDB,"matrix-art:crypto")}),n.setGuest(!1)}return new T(n!=null?n:t)}isLoggedIn(){return this.client.isLoggedIn()&&!this.client.isGuest()}async start(){this.client.on(s.MatrixEventEvent.Decrypted,(t,n)=>{const o=t.unstableExtensibleEvent;o!=null&&o.isEquivalentTo(_)&&this.events.push(t)}),console.log("start"),await this.client.store.startup(),await this.client.initCrypto(),await this.client.startClient();const e=await this.client.joinRoom({}.VITE_MATRIX_ROOT_FOLDER);await H(1e3),this.rootDirectory=new b(this.client,e.roomId),console.log("started")}async register(e={}.VITE_MATRIX_SERVER_URL,t,n,o=!1){var c;if(this.client.stopClient(),this.client=s.createClient({useAuthorizationHeader:!0,baseUrl:e,userId:t,deviceId:"Matrix Art",sessionStore:new I(window.localStorage),store:new s.IndexedDBStore({indexedDB:window.indexedDB,dbName:"matrix-art-sync:loggedin",localStorage:window.localStorage,workerFactory:()=>new S}),cryptoStore:new s.IndexedDBCryptoStore(window.indexedDB,"matrix-art:crypto")}),await this.client.register(t,n,null,{type:"m.login.dummy"}),window.localStorage.setItem("server",e),window.localStorage.setItem("mxid",t),window.localStorage.setItem("access_token",this.client.getAccessToken()),window.localStorage.setItem("device_id","Matrix Art"),await this.start(),o){const r=(c=this.rootDirectory)==null?void 0:c.getDirectories(),m=this.client.getUserId().replace(":","_");r!=null&&r.some(w=>w.room.name===m)?this.rootDirectory=r==null?void 0:r.find(w=>w.room.name===m):await this.createProfileFolder()}}async login(e,t,n,o=!1){var c;if(this.client.stopClient(),this.client=s.createClient({useAuthorizationHeader:!0,baseUrl:e,userId:t,deviceId:"Matrix Art",sessionStore:new I(window.localStorage),store:new s.IndexedDBStore({indexedDB:window.indexedDB,dbName:"matrix-art-sync:loggedin",localStorage:window.localStorage,workerFactory:()=>new S}),cryptoStore:new s.IndexedDBCryptoStore(window.indexedDB,"matrix-art:crypto")}),await this.client.loginWithPassword(t,n),window.localStorage.setItem("server",e),window.localStorage.setItem("mxid",t),window.localStorage.setItem("access_token",this.client.getAccessToken()),window.localStorage.setItem("device_id","Matrix Art"),await this.start(),o){const r=(c=this.rootDirectory)==null?void 0:c.getDirectories();console.log(r);const m=this.client.getUserId().replace(":","_");r!=null&&r.some(w=>w.room.name===m)?this.rootDirectory=r==null?void 0:r.find(w=>w.room.name===m):await this.createProfileFolder()}}async createProfileFolder(){if(this.client.isGuest())throw new Error("Cannot create a file tree space as a guest");const e=await this.client.joinRoom({}.VITE_MATRIX_ROOT_FOLDER);await H(1e3),this.rootDirectory=new b(this.client,e.roomId);const t=this.client.getUserId().replace(":","_");this.currentUserDirectory=await this.createPublicSubDirectory(this.rootDirectory,t),await this.createPublicSubDirectory(this.currentUserDirectory,"Timeline")}async createPublicFileTree(e){if(this.client.isGuest())throw new Error("Cannot create a file tree space as a guest");const{room_id:t}=await this.client.createRoom({name:e,preset:s.Preset.PublicChat,power_level_content_override:N(R({},K),{users:{[{}.VITE_MATRIX_INSTANCE_ADMIN]:100,[this.client.getUserId()]:100}}),invite:[{}.VITE_MATRIX_INSTANCE_ADMIN],creation_content:{[s.RoomCreateTypeField]:s.RoomType.Space},initial_state:[{type:s.UNSTABLE_MSC3088_PURPOSE.name,state_key:s.UNSTABLE_MSC3089_TREE_SUBTYPE.name,content:{[s.UNSTABLE_MSC3088_ENABLED.name]:!0}},{type:s.EventType.RoomEncryption,state_key:"",content:{algorithm:ee}},{type:s.EventType.RoomGuestAccess,state_key:"",content:{guest_access:"can_join"}},{type:s.EventType.RoomHistoryVisibility,state_key:"",content:{history_visibility:"world_readable"}}]}),n=this.client.getRoom(t),o=n==null?void 0:n.getLiveTimeline().getState(s.EventTimeline.FORWARDS).getStateEvents(s.EventType.RoomPowerLevels,"");if(!o)throw new Error("Failed to find PL event");return await this.client.setPowerLevel(t,this.client.getUserId(),50,o),new b(this.client,t)}async createPublicSubDirectory(e,t){const n=await this.createPublicFileTree(t);return await this.client.sendStateEvent(e.roomId,s.EventType.SpaceChild,{via:[this.client.getDomain()]},n.roomId),await this.client.sendStateEvent(n.roomId,s.EventType.SpaceParent,{via:[this.client.getDomain()]},e.roomId),n}}function H(a){return new Promise(e=>setTimeout(e,a))}function pe(){return te.init({locateFile:()=>ne}).then(()=>{console.log("Using WebAssembly Olm")}).catch(a=>(console.log("Failed to load Olm: trying legacy version",a),new Promise((e,t)=>{const n=document.createElement("script");n.src=ie,n.onload=e,n.onerror=t,document.body.appendChild(n)}).then(()=>window.Olm.init()).then(()=>{console.log("Using legacy Olm")}).catch(e=>{console.log("Both WebAssembly and asm.js Olm failed!",e)})))}function F(){T.new().then(a=>{window.client=a,a.start().then(()=>{oe(i(he,{}),document.querySelector("#app"))})})}pe().then(()=>{F()}).catch(()=>{F()});export{z as C,A as H,i as a,h as j}; diff --git a/pr-121/assets/indexeddb.worker.0ae1a28d.js b/pr-121/assets/indexeddb.worker.0ae1a28d.js @@ -0,0 +1 @@ +var jt=Object.defineProperty;var _e=Object.getOwnPropertySymbols;var Mt=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable;var Oe=(k,w,_)=>w in k?jt(k,w,{enumerable:!0,configurable:!0,writable:!0,value:_}):k[w]=_,we=(k,w)=>{for(var _ in w||(w={}))Mt.call(w,_)&&Oe(k,_,w[_]);if(_e)for(var _ of _e(w))Ut.call(w,_)&&Oe(k,_,w[_]);return k};(function(){"use strict";var k=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},w={},_={},L={exports:{}};(function(r){function e(t){return t&&t.__esModule?t:{default:t}}r.exports=e,r.exports.__esModule=!0,r.exports.default=r.exports})(L);var F={exports:{}};(function(r){function e(t,n,o){return n in t?Object.defineProperty(t,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[n]=o,t}r.exports=e,r.exports.__esModule=!0,r.exports.default=r.exports})(F);var K={},T={},C={},z={exports:{}};(function(r){(function(e,t){r.exports?r.exports=t():e.log=t()})(k,function(){var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),o=["trace","debug","info","warn","error"];function i(h,v){var b=h[v];if(typeof b.bind=="function")return b.bind(h);try{return Function.prototype.bind.call(b,h)}catch{return function(){return Function.prototype.apply.apply(b,[h,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(h){return h==="debug"&&(h="log"),typeof console===t?!1:h==="trace"&&n?s:console[h]!==void 0?i(console,h):console.log!==void 0?i(console,"log"):e}function f(h,v){for(var b=0;b<o.length;b++){var g=o[b];this[g]=b<h?e:this.methodFactory(g,h,v)}this.log=this.debug}function l(h,v,b){return function(){typeof console!==t&&(f.call(this,v,b),this[h].apply(this,arguments))}}function u(h,v,b){return c(h)||l.apply(this,arguments)}function p(h,v,b){var g=this,ye;v=v==null?"WARN":v;var E="loglevel";typeof h=="string"?E+=":"+h:typeof h=="symbol"&&(E=void 0);function At(d){var P=(o[d]||"silent").toUpperCase();if(!(typeof window===t||!E)){try{window.localStorage[E]=P;return}catch{}try{window.document.cookie=encodeURIComponent(E)+"="+P+";"}catch{}}}function be(){var d;if(!(typeof window===t||!E)){try{d=window.localStorage[E]}catch{}if(typeof d===t)try{var P=window.document.cookie,V=P.indexOf(encodeURIComponent(E)+"=");V!==-1&&(d=/^([^;]+)/.exec(P.slice(V))[1])}catch{}return g.levels[d]===void 0&&(d=void 0),d}}function Nt(){if(!(typeof window===t||!E)){try{window.localStorage.removeItem(E);return}catch{}try{window.document.cookie=encodeURIComponent(E)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}g.name=h,g.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},g.methodFactory=b||u,g.getLevel=function(){return ye},g.setLevel=function(d,P){if(typeof d=="string"&&g.levels[d.toUpperCase()]!==void 0&&(d=g.levels[d.toUpperCase()]),typeof d=="number"&&d>=0&&d<=g.levels.SILENT){if(ye=d,P!==!1&&At(d),f.call(g,d,h),typeof console===t&&d<g.levels.SILENT)return"No console available for logging"}else throw"log.setLevel() called with invalid level: "+d},g.setDefaultLevel=function(d){v=d,be()||g.setLevel(d,!1)},g.resetLevel=function(){g.setLevel(v,!1),Nt()},g.enableAll=function(d){g.setLevel(g.levels.TRACE,d)},g.disableAll=function(d){g.setLevel(g.levels.SILENT,d)};var G=be();G==null&&(G=v),g.setLevel(G,!1)}var y=new p,S={};y.getLogger=function(v){if(typeof v!="symbol"&&typeof v!="string"||v==="")throw new TypeError("You must supply a name when creating a logger.");var b=S[v];return b||(b=S[v]=new p(v,y.getLevel(),y.methodFactory)),b};var H=typeof window!==t?window.log:void 0;return y.noConflict=function(){return typeof window!==t&&window.log===y&&(window.log=H),y},y.getLoggers=function(){return S},y.default=y,y})})(z);var xe=L.exports;Object.defineProperty(C,"__esModule",{value:!0}),C.logger=void 0;var N=xe(z.exports);const Z="matrix";N.default.methodFactory=function(r,e,t){return function(...n){return this.prefix&&n.unshift(this.prefix),r==="error"||r==="warn"||r==="trace"||r==="info"?console[r](...n):console.log(...n)}};const W=N.default.getLogger(Z);C.logger=W,W.setLevel(N.default.levels.DEBUG,!1);function Q(r){r.withPrefix=function(e){const t=this.prefix||"";return Se(t+e)}}Q(W);function Se(r){const e=N.default.getLogger(`${Z}-${r}`);return e.prefix!==r&&(Q(e),e.prefix=r,e.setLevel(N.default.levels.DEBUG,!1)),e}var a={},Ee={"0":"O","1":"l","\u05AD":"\u0596","\u05AE":"\u0598","\u05A8":"\u0599","\u05A4":"\u059A","\u1AB4":"\u06DB","\u20DB":"\u06DB","\u0619":"\u0313","\u08F3":"\u0313","\u0343":"\u0313","\u0315":"\u0313","\u064F":"\u0313","\u065D":"\u0314","\u059C":"\u0301","\u059D":"\u0301","\u0618":"\u0301","\u0747":"\u0301","\u0341":"\u0301","\u0954":"\u0301","\u064E":"\u0301","\u0340":"\u0300","\u0953":"\u0300","\u030C":"\u0306","\uA67C":"\u0306","\u0658":"\u0306","\u065A":"\u0306","\u036E":"\u0306","\u06E8":"\u0306\u0307","\u0310":"\u0306\u0307","\u0901":"\u0306\u0307","\u0981":"\u0306\u0307","\u0A81":"\u0306\u0307","\u0B01":"\u0306\u0307","\u0C00":"\u0306\u0307","\u0C81":"\u0306\u0307","\u0D01":"\u0306\u0307","\u{114BF}":"\u0306\u0307","\u1CD0":"\u0302","\u0311":"\u0302","\u065B":"\u0302","\u07EE":"\u0302","\uA6F0":"\u0302","\u05AF":"\u030A","\u06DF":"\u030A","\u17D3":"\u030A","\u309A":"\u030A","\u0652":"\u030A","\u0B82":"\u030A","\u1036":"\u030A","\u17C6":"\u030A","\u{11300}":"\u030A","\u0E4D":"\u030A","\u0ECD":"\u030A","\u0366":"\u030A","\u2DEA":"\u030A","\u08EB":"\u0308","\u07F3":"\u0308","\u064B":"\u030B","\u08F0":"\u030B","\u0342":"\u0303","\u0653":"\u0303","\u05C4":"\u0307","\u06EC":"\u0307","\u0740":"\u0307","\u08EA":"\u0307","\u0741":"\u0307","\u0358":"\u0307","\u05B9":"\u0307","\u05BA":"\u0307","\u05C2":"\u0307","\u05C1":"\u0307","\u07ED":"\u0307","\u0902":"\u0307","\u0A02":"\u0307","\u0A82":"\u0307","\u0BCD":"\u0307","\u0337":"\u0338","\u1AB7":"\u0328","\u0322":"\u0328","\u0345":"\u0328","\u1CD2":"\u0304","\u0305":"\u0304","\u0659":"\u0304","\u07EB":"\u0304","\uA6F1":"\u0304","\u1CDA":"\u030E","\u0657":"\u0312","\u0357":"\u0350","\u08FF":"\u0350","\u08F8":"\u0350","\u0900":"\u0352","\u1CED":"\u0316","\u1CDC":"\u0329","\u0656":"\u0329","\u1CD5":"\u032B","\u0347":"\u0333","\u08F9":"\u0354","\u08FA":"\u0355","\u309B":"\uFF9E","\u309C":"\uFF9F","\u0336":"\u0335","\u302C":"\u0309","\u05C5":"\u0323","\u08ED":"\u0323","\u1CDD":"\u0323","\u05B4":"\u0323","\u065C":"\u0323","\u093C":"\u0323","\u09BC":"\u0323","\u0A3C":"\u0323","\u0ABC":"\u0323","\u0B3C":"\u0323","\u{111CA}":"\u0323","\u{114C3}":"\u0323","\u{10A3A}":"\u0323","\u08EE":"\u0324","\u1CDE":"\u0324","\u0F37":"\u0325","\u302D":"\u0325","\u0327":"\u0326","\u0321":"\u0326","\u0339":"\u0326","\u1CD9":"\u032D","\u1CD8":"\u032E","\u0952":"\u0331","\u0320":"\u0331","\u08F1":"\u064C","\u08E8":"\u064C","\u08E5":"\u064C",\uFC5E:"\uFE72\u0651","\u08F2":"\u064D",\uFC5F:"\uFE74\u0651",\uFCF2:"\uFE77\u0651",\uFC60:"\uFE76\u0651",\uFCF3:"\uFE79\u0651",\uFC61:"\uFE78\u0651","\u061A":"\u0650","\u0317":"\u0650",\uFCF4:"\uFE7B\u0651",\uFC62:"\uFE7A\u0651",\uFC63:"\uFE7C\u0670","\u065F":"\u0655","\u030D":"\u0670","\u0742":"\u073C","\u0A03":"\u0983","\u0C03":"\u0983","\u0C83":"\u0983","\u0D03":"\u0983","\u0D83":"\u0983","\u1038":"\u0983","\u{114C1}":"\u0983","\u17CB":"\u0E48","\u0EC8":"\u0E48","\u0EC9":"\u0E49","\u0ECA":"\u0E4A","\u0ECB":"\u0E4B","\uA66F":"\u20E9","\u2028":" ","\u2029":" ","\u1680":" ","\u2000":" ","\u2001":" ","\u2002":" ","\u2003":" ","\u2004":" ","\u2005":" ","\u2006":" ","\u2008":" ","\u2009":" ","\u200A":" ","\u205F":" ","\xA0":" ","\u2007":" ","\u202F":" ","\u07FA":"_","\uFE4D":"_","\uFE4E":"_","\uFE4F":"_","\u2010":"-","\u2011":"-","\u2012":"-","\u2013":"-","\uFE58":"-","\u06D4":"-","\u2043":"-","\u02D7":"-","\u2212":"-","\u2796":"-","\u2CBA":"-","\u2A29":"-\u0313","\u2E1A":"-\u0308","\uFB29":"-\u0307","\u2238":"-\u0307","\u2A2A":"-\u0323","\uA4FE":"-.","\uFF5E":"\u301C","\u060D":",","\u066B":",","\u201A":",","\xB8":",","\uA4F9":",","\u2E32":"\u060C","\u066C":"\u060C","\u037E":";","\u2E35":"\u061B","\u0903":":","\u0A83":":","\uFF1A":":","\u0589":":","\u0703":":","\u0704":":","\u16EC":":","\uFE30":":","\u1803":":","\u1809":":","\u205A":":","\u05C3":":","\u02F8":":","\uA789":":","\u2236":":",\u02D0:":","\uA4FD":":","\u2A74":"::=","\u29F4":":\u2192","\uFF01":"!",\u01C3:"!","\u2D51":"!","\u203C":"!!","\u2049":"!?",\u0294:"?","\u0241":"?","\u097D":"?",\u13AE:"?","\uA6EB":"?","\u2048":"?!","\u2047":"??","\u2E2E":"\u061F","\u{1D16D}":".","\u2024":".","\u0701":".","\u0702":".","\uA60E":".","\u{10A50}":".","\u0660":".","\u06F0":".","\uA4F8":".","\uA4FB":".,","\u2025":"..","\uA4FA":"..","\u2026":"...","\uA6F4":"\uA6F3\uA6F3","\u30FB":"\xB7","\uFF65":"\xB7","\u16EB":"\xB7","\u0387":"\xB7","\u2E31":"\xB7","\u{10101}":"\xB7","\u2022":"\xB7","\u2027":"\xB7","\u2219":"\xB7","\u22C5":"\xB7","\uA78F":"\xB7",\u1427:"\xB7","\u22EF":"\xB7\xB7\xB7","\u2D48":"\xB7\xB7\xB7",\u1444:"\xB7<","\u22D7":"\xB7>",\u1437:"\xB7>",\u1440:"\xB7>",\u152F:"\xB74",\u147E:"\xB7b",\u1480:"\xB7b\u0307",\u147A:"\xB7d",\u1498:"\xB7J",\u14B6:"\xB7L",\u1476:"\xB7P",\u1457:"\xB7U",\u143A:"\xB7V",\u143C:"\xB7\u0245",\u14AE:"\xB7\u0393",\u140E:"\xB7\u0394",\u1459:"\xB7\u0548",\u140C:"\xB7\u1401",\u1410:"\xB7\u1404",\u1412:"\xB7\u1405",\u1414:"\xB7\u1406",\u1417:"\xB7\u140A",\u1419:"\xB7\u140B",\u143E:"\xB7\u1432",\u1442:"\xB7\u1434",\u1446:"\xB7\u1439",\u145B:"\xB7\u144F",\u1454:"\xB7\u1450",\u145D:"\xB7\u1450",\u145F:"\xB7\u1451",\u1461:"\xB7\u1455",\u1463:"\xB7\u1456",\u1474:"\xB7\u146B",\u1478:"\xB7\u146E",\u147C:"\xB7\u1470",\u1492:"\xB7\u1489",\u1494:"\xB7\u148B",\u1496:"\xB7\u148C",\u149A:"\xB7\u148E",\u149C:"\xB7\u1490",\u149E:"\xB7\u1491",\u14AC:"\xB7\u14A3",\u14B0:"\xB7\u14A6",\u14B2:"\xB7\u14A7",\u14B4:"\xB7\u14A8",\u14B8:"\xB7\u14AB",\u14C9:"\xB7\u14C0","\u18C6":"\xB7\u14C2","\u18C8":"\xB7\u14C3","\u18CA":"\xB7\u14C4","\u18CC":"\xB7\u14C5",\u14CB:"\xB7\u14C7",\u14CD:"\xB7\u14C8",\u14DC:"\xB7\u14D3",\u14DE:"\xB7\u14D5",\u14E0:"\xB7\u14D6",\u14E2:"\xB7\u14D7",\u14E4:"\xB7\u14D8",\u14E6:"\xB7\u14DA",\u14E8:"\xB7\u14DB",\u14F6:"\xB7\u14ED",\u14F8:"\xB7\u14EF",\u14FA:"\xB7\u14F0",\u14FC:"\xB7\u14F1",\u14FE:"\xB7\u14F2",\u1500:"\xB7\u14F4",\u1502:"\xB7\u14F5",\u1517:"\xB7\u1510",\u1519:"\xB7\u1511",\u151B:"\xB7\u1512",\u151D:"\xB7\u1513",\u151F:"\xB7\u1514",\u1521:"\xB7\u1515",\u1523:"\xB7\u1516",\u1531:"\xB7\u1528",\u1533:"\xB7\u1529",\u1535:"\xB7\u152A",\u1537:"\xB7\u152B",\u1539:"\xB7\u152D",\u153B:"\xB7\u152E","\u18CE":"\xB7\u1543","\u18CF":"\xB7\u1546","\u18D0":"\xB7\u1547","\u18D1":"\xB7\u1548","\u18D2":"\xB7\u1549","\u18D3":"\xB7\u154B",\u154E:"\xB7\u154C",\u155B:"\xB7\u155A",\u1568:"\xB7\u1567","\u18B3":"\xB7\u18B1","\u18B6":"\xB7\u18B4","\u18B9":"\xB7\u18B8","\u18C2":"\xB7\u18C0","\uA830":"\u0964","\u0965":"\u0964\u0964","\u1C3C":"\u1C3B\u1C3B","\u104B":"\u104A\u104A","\u1AA9":"\u1AA8\u1AA8","\u1AAB":"\u1AAA\u1AA8","\u1B5F":"\u1B5E\u1B5E","\u{10A57}":"\u{10A56}\u{10A56}","\u{1144C}":"\u{1144B}\u{1144B}","\u{11642}":"\u{11641}\u{11641}","\u{11C42}":"\u{11C41}\u{11C41}","\u1C7F":"\u1C7E\u1C7E","\u055D":"'","\uFF07":"'","\u2018":"'","\u2019":"'","\u201B":"'","\u2032":"'","\u2035":"'","\u055A":"'","\u05F3":"'","`":"'","\u1FEF":"'","\uFF40":"'","\xB4":"'","\u0384":"'","\u1FFD":"'","\u1FBD":"'","\u1FBF":"'","\u1FFE":"'","\u02B9":"'","\u0374":"'","\u02C8":"'","\u02CA":"'","\u02CB":"'","\u02F4":"'",\u02BB:"'",\u02BD:"'",\u02BC:"'",\u02BE:"'","\uA78C":"'",\u05D9:"'","\u07F4":"'","\u07F5":"'",\u144A:"'",\u16CC:"'","\u{16F51}":"'","\u{16F52}":"'","\u1CD3":"''",'"':"''","\uFF02":"''","\u201C":"''","\u201D":"''","\u201F":"''","\u2033":"''","\u2036":"''","\u3003":"''","\u05F4":"''","\u02DD":"''","\u02BA":"''","\u02F6":"''",\u02EE:"''",\u05F2:"''","\u2034":"'''","\u2037":"'''","\u2057":"''''",\u0181:"'B",\u018A:"'D",\u0149:"'n",\u01A4:"'P",\u01AC:"'T",\u01B3:"'Y","\uFF3B":"(","\u2768":"(","\u2772":"(","\u3014":"(","\uFD3E":"(","\u2E28":"((","\u3220":"(\u30FC)","\u2475":"(2)","\u2487":"(2O)","\u2476":"(3)","\u2477":"(4)","\u2478":"(5)","\u2479":"(6)","\u247A":"(7)","\u247B":"(8)","\u247C":"(9)","\u249C":"(a)","\u{1F110}":"(A)","\u249D":"(b)","\u{1F111}":"(B)","\u249E":"(c)","\u{1F112}":"(C)","\u249F":"(d)","\u{1F113}":"(D)","\u24A0":"(e)","\u{1F114}":"(E)","\u24A1":"(f)","\u{1F115}":"(F)","\u24A2":"(g)","\u{1F116}":"(G)","\u24A3":"(h)","\u{1F117}":"(H)","\u24A4":"(i)","\u24A5":"(j)","\u{1F119}":"(J)","\u24A6":"(k)","\u{1F11A}":"(K)","\u2474":"(l)","\u{1F118}":"(l)","\u24A7":"(l)","\u{1F11B}":"(L)","\u247F":"(l2)","\u2480":"(l3)","\u2481":"(l4)","\u2482":"(l5)","\u2483":"(l6)","\u2484":"(l7)","\u2485":"(l8)","\u2486":"(l9)","\u247E":"(ll)","\u247D":"(lO)","\u{1F11C}":"(M)","\u24A9":"(n)","\u{1F11D}":"(N)","\u24AA":"(o)","\u{1F11E}":"(O)","\u24AB":"(p)","\u{1F11F}":"(P)","\u24AC":"(q)","\u{1F120}":"(Q)","\u24AD":"(r)","\u{1F121}":"(R)","\u24A8":"(rn)","\u24AE":"(s)","\u{1F122}":"(S)","\u{1F12A}":"(S)","\u24AF":"(t)","\u{1F123}":"(T)","\u24B0":"(u)","\u{1F124}":"(U)","\u24B1":"(v)","\u{1F125}":"(V)","\u24B2":"(w)","\u{1F126}":"(W)","\u24B3":"(x)","\u{1F127}":"(X)","\u24B4":"(y)","\u{1F128}":"(Y)","\u24B5":"(z)","\u{1F129}":"(Z)","\u3200":"(\u1100)","\u320E":"(\uAC00)","\u3201":"(\u1102)","\u320F":"(\uB098)","\u3202":"(\u1103)","\u3210":"(\uB2E4)","\u3203":"(\u1105)","\u3211":"(\uB77C)","\u3204":"(\u1106)","\u3212":"(\uB9C8)","\u3205":"(\u1107)","\u3213":"(\uBC14)","\u3206":"(\u1109)","\u3214":"(\uC0AC)","\u3207":"(\u110B)","\u3215":"(\uC544)","\u321D":"(\uC624\uC804)","\u321E":"(\uC624\uD6C4)","\u3208":"(\u110C)","\u3216":"(\uC790)","\u321C":"(\uC8FC)","\u3209":"(\u110E)","\u3217":"(\uCC28)","\u320A":"(\u110F)","\u3218":"(\uCE74)","\u320B":"(\u1110)","\u3219":"(\uD0C0)","\u320C":"(\u1111)","\u321A":"(\uD30C)","\u320D":"(\u1112)","\u321B":"(\uD558)","\u3226":"(\u4E03)","\u3222":"(\u4E09)","\u{1F241}":"(\u4E09)","\u3228":"(\u4E5D)","\u3221":"(\u4E8C)","\u{1F242}":"(\u4E8C)","\u3224":"(\u4E94)","\u3239":"(\u4EE3)","\u323D":"(\u4F01)","\u3241":"(\u4F11)","\u3227":"(\u516B)","\u3225":"(\u516D)","\u3238":"(\u52B4)","\u{1F247}":"(\u52DD)","\u3229":"(\u5341)","\u323F":"(\u5354)","\u3234":"(\u540D)","\u323A":"(\u547C)","\u3223":"(\u56DB)","\u322F":"(\u571F)","\u323B":"(\u5B66)","\u{1F243}":"(\u5B89)","\u{1F245}":"(\u6253)","\u{1F248}":"(\u6557)","\u3230":"(\u65E5)","\u322A":"(\u6708)","\u3232":"(\u6709)","\u322D":"(\u6728)","\u{1F240}":"(\u672C)","\u3231":"(\u682A)","\u322C":"(\u6C34)","\u322B":"(\u706B)","\u{1F244}":"(\u70B9)","\u3235":"(\u7279)","\u{1F246}":"(\u76D7)","\u323C":"(\u76E3)","\u3233":"(\u793E)","\u3237":"(\u795D)","\u3240":"(\u796D)","\u3242":"(\u81EA)","\u3243":"(\u81F3)","\u3236":"(\u8CA1)","\u323E":"(\u8CC7)","\u322E":"(\u91D1)","\uFF3D":")","\u2769":")","\u2773":")","\u3015":")","\uFD3F":")","\u2E29":"))","\u2774":"{","\u{1D114}":"{","\u2775":"}","\u301A":"\u27E6","\u301B":"\u27E7","\u27E8":"\u276C","\u2329":"\u276C","\u3008":"\u276C","\u31DB":"\u276C",\u304F:"\u276C","\u{21FE8}":"\u276C","\u27E9":"\u276D","\u232A":"\u276D","\u3009":"\u276D","\uFF3E":"\uFE3F","\u2E3F":"\xB6","\u204E":"*","\u066D":"*","\u2217":"*","\u{1031F}":"*","\u1735":"/","\u2041":"/","\u2215":"/","\u2044":"/","\u2571":"/","\u27CB":"/","\u29F8":"/","\u{1D23A}":"/","\u31D3":"/",\u3033:"/","\u2CC6":"/",\u30CE:"/",\u4E3F:"/","\u2F03":"/","\u29F6":"/\u0304","\u2AFD":"//","\u2AFB":"///","\uFF3C":"\\","\uFE68":"\\","\u2216":"\\","\u27CD":"\\","\u29F5":"\\","\u29F9":"\\","\u{1D20F}":"\\","\u{1D23B}":"\\","\u31D4":"\\",\u4E36:"\\","\u2F02":"\\","\u2CF9":"\\\\","\u244A":"\\\\","\u27C8":"\\\u1455","\uA778":"&","\u0AF0":"\u0970","\u{110BB}":"\u0970","\u{111C7}":"\u0970","\u26AC":"\u0970","\u{111DB}":"\uA8FC","\u17D9":"\u0E4F","\u17D5":"\u0E5A","\u17DA":"\u0E5B","\u0F0C":"\u0F0B","\u0F0E":"\u0F0D\u0F0D","\u02C4":"^","\u02C6":"^","\uA67E":"\u02C7","\u02D8":"\u02C7","\u203E":"\u02C9","\uFE49":"\u02C9","\uFE4A":"\u02C9","\uFE4B":"\u02C9","\uFE4C":"\u02C9","\xAF":"\u02C9","\uFFE3":"\u02C9","\u2594":"\u02C9",\u044A:"\u02C9b","\uA651":"\u02C9bi","\u0375":"\u02CF","\u02FB":"\u02EA","\uA716":"\u02EA","\uA714":"\u02EB","\u3002":"\u02F3","\u2E30":"\xB0","\u02DA":"\xB0","\u2218":"\xB0","\u25CB":"\xB0","\u25E6":"\xB0","\u235C":"\xB0\u0332","\u2364":"\xB0\u0308","\u2103":"\xB0C","\u2109":"\xB0F","\u0BF5":"\u0BF3","\u0F1B":"\u0F1A\u0F1A","\u0F1F":"\u0F1A\u0F1D","\u0FCE":"\u0F1D\u0F1A","\u0F1E":"\u0F1D\u0F1D","\u24B8":"\xA9","\u24C7":"\xAE","\u24C5":"\u2117","\u{1D21B}":"\u2144","\u2BEC":"\u219E","\u2BED":"\u219F","\u2BEE":"\u21A0","\u2BEF":"\u21A1","\u21B5":"\u21B2","\u2965":"\u21C3\u21C2","\u296F":"\u21C3\u16DA","\u{1D6DB}":"\u2202","\u{1D715}":"\u2202","\u{1D74F}":"\u2202","\u{1D789}":"\u2202","\u{1D7C3}":"\u2202","\u{1E8CC}":"\u2202","\u{1E8CD}":"\u2202\u0335",\u00F0:"\u2202\u0335","\u2300":"\u2205","\u{1D6C1}":"\u2207","\u{1D6FB}":"\u2207","\u{1D735}":"\u2207","\u{1D76F}":"\u2207","\u{1D7A9}":"\u2207","\u{118A8}":"\u2207","\u2362":"\u2207\u0308","\u236B":"\u2207\u0334","\u2588":"\u220E","\u25A0":"\u220E","\u2A3F":"\u2210","\u16ED":"+","\u2795":"+","\u{1029B}":"+","\u2A23":"+\u0302","\u2A22":"+\u030A","\u2A24":"+\u0303","\u2214":"+\u0307","\u2A25":"+\u0323","\u2A26":"+\u0330","\u2A27":"+\u2082","\u2797":"\xF7","\u2039":"<","\u276E":"<","\u02C2":"<","\u{1D236}":"<",\u1438:"<",\u16B2:"<","\u22D6":"<\xB7","\u2CB4":"<\xB7",\u1445:"<\xB7","\u226A":"<<","\u22D8":"<<<","\u1400":"=","\u2E40":"=","\u30A0":"=","\uA4FF":"=","\u225A":"=\u0306","\u2259":"=\u0302","\u2257":"=\u030A","\u2250":"=\u0307","\u2251":"=\u0307\u0323","\u2A6E":"=\u20F0","\u2A75":"==","\u2A76":"===","\u225E":"=\u036B","\u203A":">","\u276F":">","\u02C3":">","\u{1D237}":">",\u1433:">","\u{16F3F}":">",\u1441:">\xB7","\u2AA5":"><","\u226B":">>","\u2A20":">>","\u22D9":">>>","\u2053":"~","\u02DC":"~","\u1FC0":"~","\u223C":"~","\u2368":"~\u0308","\u2E1E":"~\u0307","\u2A6A":"~\u0307","\u2E1F":"~\u0323","\u{1E8C8}":"\u2220","\u22C0":"\u2227","\u222F":"\u222E\u222E","\u2230":"\u222E\u222E\u222E","\u2E2B":"\u2234","\u2E2A":"\u2235","\u2E2C":"\u2237","\u{111DE}":"\u2248","\u264E":"\u224F","\u{1F75E}":"\u224F","\u2263":"\u2261","\u2A03":"\u228D","\u2A04":"\u228E","\u{1D238}":"\u228F","\u{1D239}":"\u2290","\u2A05":"\u2293","\u2A06":"\u2294","\u2A02":"\u2297","\u235F":"\u229B","\u{1F771}":"\u22A0","\u{1F755}":"\u22A1","\u25C1":"\u22B2","\u25B7":"\u22B3","\u2363":"\u22C6\u0308","\uFE34":"\u2307","\u25E0":"\u2312","\u2A3D":"\u2319","\u2325":"\u2324","\u29C7":"\u233B","\u25CE":"\u233E","\u29BE":"\u233E","\u29C5":"\u2342","\u29B0":"\u2349","\u23C3":"\u234B","\u23C2":"\u234E","\u23C1":"\u2355","\u23C6":"\u236D","\u2638":"\u2388","\uFE35":"\u23DC","\uFE36":"\u23DD","\uFE37":"\u23DE","\uFE38":"\u23DF","\uFE39":"\u23E0","\uFE3A":"\u23E1","\u25B1":"\u23E5","\u23FC":"\u23FB","\uFE31":"\u2502","\uFF5C":"\u2502","\u2503":"\u2502","\u250F":"\u250C","\u2523":"\u251C","\u2590":"\u258C","\u2597":"\u2596","\u259D":"\u2598","\u2610":"\u25A1","\uFFED":"\u25AA","\u25B8":"\u25B6","\u25BA":"\u25B6","\u2CE9":"\u2627","\u{1F70A}":"\u2629","\u{1F312}":"\u263D","\u{1F319}":"\u263D","\u23FE":"\u263E","\u{1F318}":"\u263E","\u29D9":"\u299A","\u{1F73A}":"\u29DF","\u2A3E":"\u2A1F","\u{101A0}":"\u2CE8","\u2669":"\u{1D158}\u{1D165}","\u266A":"\u{1D158}\u{1D165}\u{1D16E}","\u24EA":"\u{1F10D}","\u21BA":"\u{1F10E}","\u02D9":"\u0971","\u0D4E":"\u0971","\uFF0D":"\u30FC","\u2014":"\u30FC","\u2015":"\u30FC","\u2500":"\u30FC","\u2501":"\u30FC","\u31D0":"\u30FC","\uA7F7":"\u30FC",\u1173:"\u30FC",\u3161:"\u30FC",\u4E00:"\u30FC","\u2F00":"\u30FC",\u1196:"\u30FC\u30FC","\uD7B9":"\u30FC\u1161","\uD7BA":"\u30FC\u1165","\uD7BB":"\u30FC\u1165\u4E28","\uD7BC":"\u30FC\u1169",\u1195:"\u30FC\u116E",\u1174:"\u30FC\u4E28",\u3162:"\u30FC\u4E28",\u1197:"\u30FC\u4E28\u116E","\u{1F10F}":"$\u20E0","\u20A4":"\xA3","\u3012":"\u20B8","\u3036":"\u20B8","\u1B5C":"\u1B50","\uA9C6":"\uA9D0","\u{114D1}":"\u09E7","\u0CE7":"\u0C67","\u1065":"\u1041","\u2460":"\u2780","\u2469":"\u2789","\u23E8":"\u2081\u2080","\u{1D7D0}":"2","\u{1D7DA}":"2","\u{1D7E4}":"2","\u{1D7EE}":"2","\u{1D7F8}":"2","\u{1FBF2}":"2","\uA75A":"2",\u01A7:"2",\u03E8:"2","\uA644":"2",\u14BF:"2","\uA6EF":"2","\uA9CF":"\u0662","\u06F2":"\u0662","\u0AE8":"\u0968","\u{114D2}":"\u09E8","\u0CE8":"\u0C68","\u2461":"\u2781",\u01BB:"2\u0335","\u{1F103}":"2,","\u2489":"2.","\u33F5":"22\u65E5","\u336E":"22\u70B9","\u33F6":"23\u65E5","\u336F":"23\u70B9","\u33F7":"24\u65E5","\u3370":"24\u70B9","\u33F8":"25\u65E5","\u33F9":"26\u65E5","\u33FA":"27\u65E5","\u33FB":"28\u65E5","\u33FC":"29\u65E5","\u33F4":"2l\u65E5","\u336D":"2l\u70B9","\u249B":"2O.","\u33F3":"2O\u65E5","\u336C":"2O\u70B9","\u0DE9":"\u0DE8\u0DCF","\u0DEF":"\u0DE8\u0DD3","\u33E1":"2\u65E5","\u32C1":"2\u6708","\u335A":"2\u70B9","\u{1D206}":"3","\u{1D7D1}":"3","\u{1D7DB}":"3","\u{1D7E5}":"3","\u{1D7EF}":"3","\u{1D7F9}":"3","\u{1FBF3}":"3","\uA7AB":"3",\u021C:"3",\u01B7:"3","\uA76A":"3","\u2CCC":"3",\u0417:"3",\u04E0:"3","\u{16F3B}":"3","\u{118CA}":"3","\u06F3":"\u0663","\u{1E8C9}":"\u0663","\u0AE9":"\u0969","\u2462":"\u2782",\u0498:"3\u0326","\u{1F104}":"3,","\u248A":"3.","\u33FE":"3l\u65E5","\u33FD":"3O\u65E5","\u33E2":"3\u65E5","\u32C2":"3\u6708","\u335B":"3\u70B9","\u{1D7D2}":"4","\u{1D7DC}":"4","\u{1D7E6}":"4","\u{1D7F0}":"4","\u{1D7FA}":"4","\u{1FBF4}":"4",\u13CE:"4","\u{118AF}":"4","\u06F4":"\u0664","\u0AEA":"\u096A","\u2463":"\u2783","\u{1F105}":"4,","\u248B":"4.",\u1530:"4\xB7","\u33E3":"4\u65E5","\u32C3":"4\u6708","\u335C":"4\u70B9","\u{1D7D3}":"5","\u{1D7DD}":"5","\u{1D7E7}":"5","\u{1D7F1}":"5","\u{1D7FB}":"5","\u{1FBF5}":"5",\u01BC:"5","\u{118BB}":"5","\u2464":"\u2784","\u{1F106}":"5,","\u248C":"5.","\u33E4":"5\u65E5","\u32C4":"5\u6708","\u335D":"5\u70B9","\u{1D7D4}":"6","\u{1D7DE}":"6","\u{1D7E8}":"6","\u{1D7F2}":"6","\u{1D7FC}":"6","\u{1FBF6}":"6","\u2CD2":"6",\u0431:"6",\u13EE:"6","\u{118D5}":"6","\u06F6":"\u0666","\u{114D6}":"\u09EC","\u2465":"\u2785","\u{1F107}":"6,","\u248D":"6.","\u33E5":"6\u65E5","\u32C5":"6\u6708","\u335E":"6\u70B9","\u{1D212}":"7","\u{1D7D5}":"7","\u{1D7DF}":"7","\u{1D7E9}":"7","\u{1D7F3}":"7","\u{1D7FD}":"7","\u{1FBF7}":"7","\u{104D2}":"7","\u{118C6}":"7","\u2466":"\u2786","\u{1F108}":"7,","\u248E":"7.","\u33E6":"7\u65E5","\u32C6":"7\u6708","\u335F":"7\u70B9","\u0B03":"8","\u09EA":"8","\u0A6A":"8","\u{1E8CB}":"8","\u{1D7D6}":"8","\u{1D7E0}":"8","\u{1D7EA}":"8","\u{1D7F4}":"8","\u{1D7FE}":"8","\u{1FBF8}":"8",\u0223:"8",\u0222:"8","\u{1031A}":"8","\u0AEE":"\u096E","\u2467":"\u2787","\u{1F109}":"8,","\u248F":"8.","\u33E7":"8\u65E5","\u32C7":"8\u6708","\u3360":"8\u70B9","\u0A67":"9","\u0B68":"9","\u09ED":"9","\u0D6D":"9","\u{1D7D7}":"9","\u{1D7E1}":"9","\u{1D7EB}":"9","\u{1D7F5}":"9","\u{1D7FF}":"9","\u{1FBF9}":"9","\uA76E":"9","\u2CCA":"9","\u{118CC}":"9","\u{118AC}":"9","\u{118D6}":"9","\u0967":"\u0669","\u{118E4}":"\u0669","\u06F9":"\u0669","\u0CEF":"\u0C6F","\u2468":"\u2788","\u{1F10A}":"9,","\u2490":"9.","\u33E8":"9\u65E5","\u32C8":"9\u6708","\u3361":"9\u70B9","\u237A":"a",\uFF41:"a","\u{1D41A}":"a","\u{1D44E}":"a","\u{1D482}":"a","\u{1D4B6}":"a","\u{1D4EA}":"a","\u{1D51E}":"a","\u{1D552}":"a","\u{1D586}":"a","\u{1D5BA}":"a","\u{1D5EE}":"a","\u{1D622}":"a","\u{1D656}":"a","\u{1D68A}":"a",\u0251:"a",\u03B1:"a","\u{1D6C2}":"a","\u{1D6FC}":"a","\u{1D736}":"a","\u{1D770}":"a","\u{1D7AA}":"a",\u0430:"a","\u2DF6":"\u0363",\uFF21:"A","\u{1D400}":"A","\u{1D434}":"A","\u{1D468}":"A","\u{1D49C}":"A","\u{1D4D0}":"A","\u{1D504}":"A","\u{1D538}":"A","\u{1D56C}":"A","\u{1D5A0}":"A","\u{1D5D4}":"A","\u{1D608}":"A","\u{1D63C}":"A","\u{1D670}":"A",\u0391:"A","\u{1D6A8}":"A","\u{1D6E2}":"A","\u{1D71C}":"A","\u{1D756}":"A","\u{1D790}":"A",\u0410:"A",\u13AA:"A",\u15C5:"A","\uA4EE":"A","\u{16F40}":"A","\u{102A0}":"A","\u2376":"a\u0332",\u01CE:"\u0103",\u01CD:"\u0102",\u0227:"\xE5",\u0226:"\xC5",\u1E9A:"\u1EA3","\u2100":"a/c","\u2101":"a/s","\uA733":"aa","\uA732":"AA",\u00E6:"ae",\u04D5:"ae",\u00C6:"AE",\u04D4:"AE","\uA735":"ao","\uA734":"AO","\u{1F707}":"AR","\uA737":"au","\uA736":"AU","\uA739":"av","\uA73B":"av","\uA738":"AV","\uA73A":"AV","\uA73D":"ay","\uA73C":"AY","\uAB7A":"\u1D00","\u2200":"\u2C6F","\u{1D217}":"\u2C6F",\u15C4:"\u2C6F","\uA4EF":"\u2C6F","\u{1041F}":"\u2C70","\u{1D41B}":"b","\u{1D44F}":"b","\u{1D483}":"b","\u{1D4B7}":"b","\u{1D4EB}":"b","\u{1D51F}":"b","\u{1D553}":"b","\u{1D587}":"b","\u{1D5BB}":"b","\u{1D5EF}":"b","\u{1D623}":"b","\u{1D657}":"b","\u{1D68B}":"b",\u0184:"b",\u042C:"b",\u13CF:"b",\u1472:"b",\u15AF:"b",\uFF22:"B",\u212C:"B","\u{1D401}":"B","\u{1D435}":"B","\u{1D469}":"B","\u{1D4D1}":"B","\u{1D505}":"B","\u{1D539}":"B","\u{1D56D}":"B","\u{1D5A1}":"B","\u{1D5D5}":"B","\u{1D609}":"B","\u{1D63D}":"B","\u{1D671}":"B","\uA7B4":"B",\u0392:"B","\u{1D6A9}":"B","\u{1D6E3}":"B","\u{1D71D}":"B","\u{1D757}":"B","\u{1D791}":"B",\u0412:"B",\u13F4:"B",\u15F7:"B","\uA4D0":"B","\u{10282}":"B","\u{102A1}":"B","\u{10301}":"B",\u0253:"b\u0314",\u1473:"b\u0307",\u0183:"b\u0304",\u0182:"b\u0304",\u0411:"b\u0304",\u0180:"b\u0335",\u048D:"b\u0335",\u048C:"b\u0335",\u0463:"b\u0335",\u0462:"b\u0335",\u147F:"b\xB7",\u1481:"b\u0307\xB7",\u1488:"b'",\u042B:"bl",\u0432:"\u0299","\u13FC":"\u0299",\uFF43:"c","\u217D":"c","\u{1D41C}":"c","\u{1D450}":"c","\u{1D484}":"c","\u{1D4B8}":"c","\u{1D4EC}":"c","\u{1D520}":"c","\u{1D554}":"c","\u{1D588}":"c","\u{1D5BC}":"c","\u{1D5F0}":"c","\u{1D624}":"c","\u{1D658}":"c","\u{1D68C}":"c","\u1D04":"c",\u03F2:"c","\u2CA5":"c",\u0441:"c","\uABAF":"c","\u{1043D}":"c","\u2DED":"\u0368","\u{1F74C}":"C","\u{118F2}":"C","\u{118E9}":"C",\uFF23:"C","\u216D":"C",\u2102:"C",\u212D:"C","\u{1D402}":"C","\u{1D436}":"C","\u{1D46A}":"C","\u{1D49E}":"C","\u{1D4D2}":"C","\u{1D56E}":"C","\u{1D5A2}":"C","\u{1D5D6}":"C","\u{1D60A}":"C","\u{1D63E}":"C","\u{1D672}":"C","\u03F9":"C","\u2CA4":"C",\u0421:"C",\u13DF:"C","\uA4DA":"C","\u{102A2}":"C","\u{10302}":"C","\u{10415}":"C","\u{1051C}":"C","\xA2":"c\u0338","\u023C":"c\u0338","\u20A1":"C\u20EB","\u{1F16E}":"C\u20E0",\u00E7:"c\u0326",\u04AB:"c\u0326",\u00C7:"C\u0326",\u04AA:"C\u0326",\u0187:"C'","\u2105":"c/o","\u2106":"c/u","\u{1F16D}":"\u33C4 \u20DD","\u22F4":"\uA793",\u025B:"\uA793",\u03B5:"\uA793","\u03F5":"\uA793","\u{1D6C6}":"\uA793","\u{1D6DC}":"\uA793","\u{1D700}":"\uA793","\u{1D716}":"\uA793","\u{1D73A}":"\uA793","\u{1D750}":"\uA793","\u{1D774}":"\uA793","\u{1D78A}":"\uA793","\u{1D7AE}":"\uA793","\u{1D7C4}":"\uA793","\u2C89":"\uA793",\u0454:"\uA793","\u0511":"\uA793","\uAB9B":"\uA793","\u{118CE}":"\uA793","\u{10429}":"\uA793","\u20AC":"\uA792","\u2C88":"\uA792",\u0404:"\uA792","\u2377":"\uA793\u0332","\u037D":"\uA73F","\u03FF":"\uA73E","\u217E":"d","\u2146":"d","\u{1D41D}":"d","\u{1D451}":"d","\u{1D485}":"d","\u{1D4B9}":"d","\u{1D4ED}":"d","\u{1D521}":"d","\u{1D555}":"d","\u{1D589}":"d","\u{1D5BD}":"d","\u{1D5F1}":"d","\u{1D625}":"d","\u{1D659}":"d","\u{1D68D}":"d","\u0501":"d",\u13E7:"d",\u146F:"d","\uA4D2":"d","\u216E":"D","\u2145":"D","\u{1D403}":"D","\u{1D437}":"D","\u{1D46B}":"D","\u{1D49F}":"D","\u{1D4D3}":"D","\u{1D507}":"D","\u{1D53B}":"D","\u{1D56F}":"D","\u{1D5A3}":"D","\u{1D5D7}":"D","\u{1D60B}":"D","\u{1D63F}":"D","\u{1D673}":"D",\u13A0:"D",\u15DE:"D",\u15EA:"D","\uA4D3":"D",\u0257:"d\u0314",\u0256:"d\u0328",\u018C:"d\u0304",\u0111:"d\u0335",\u0110:"D\u0335",\u00D0:"D\u0335",\u0189:"D\u0335","\u20AB":"d\u0335\u0331","\uA77A":"\uA779",\u147B:"d\xB7",\u1487:"d'",\u02A4:"d\u021D",\u01F3:"dz",\u02A3:"dz",\u01F2:"Dz",\u01F1:"DZ",\u01C6:"d\u017E",\u01C5:"D\u017E",\u01C4:"D\u017D",\u02A5:"d\u0291","\uAB70":"\u1D05","\u2E39":"\u1E9F",\u03B4:"\u1E9F","\u{1D6C5}":"\u1E9F","\u{1D6FF}":"\u1E9F","\u{1D739}":"\u1E9F","\u{1D773}":"\u1E9F","\u{1D7AD}":"\u1E9F",\u056E:"\u1E9F",\u1577:"\u1E9F","\u212E":"e",\uFF45:"e",\u212F:"e","\u2147":"e","\u{1D41E}":"e","\u{1D452}":"e","\u{1D486}":"e","\u{1D4EE}":"e","\u{1D522}":"e","\u{1D556}":"e","\u{1D58A}":"e","\u{1D5BE}":"e","\u{1D5F2}":"e","\u{1D626}":"e","\u{1D65A}":"e","\u{1D68E}":"e","\uAB32":"e",\u0435:"e",\u04BD:"e","\u2DF7":"\u0364","\u22FF":"E",\uFF25:"E",\u2130:"E","\u{1D404}":"E","\u{1D438}":"E","\u{1D46C}":"E","\u{1D4D4}":"E","\u{1D508}":"E","\u{1D53C}":"E","\u{1D570}":"E","\u{1D5A4}":"E","\u{1D5D8}":"E","\u{1D60C}":"E","\u{1D640}":"E","\u{1D674}":"E",\u0395:"E","\u{1D6AC}":"E","\u{1D6E6}":"E","\u{1D720}":"E","\u{1D75A}":"E","\u{1D794}":"E",\u0415:"E","\u2D39":"E",\u13AC:"E","\uA4F0":"E","\u{118A6}":"E","\u{118AE}":"E","\u{10286}":"E",\u011B:"\u0115",\u011A:"\u0114","\u0247":"e\u0338","\u0246":"E\u0338",\u04BF:"e\u0328","\uAB7C":"\u1D07",\u0259:"\u01DD",\u04D9:"\u01DD","\u2203":"\u018E","\u2D3A":"\u018E","\uA4F1":"\u018E",\u025A:"\u01DD\u02DE","\u1D14":"\u01DDo","\uAB41":"\u01DDo\u0338","\uAB42":"\u01DDo\u0335",\u04D8:"\u018F","\u{1D221}":"\u0190",\u2107:"\u0190","\u0510":"\u0190",\u13CB:"\u0190","\u{16F2D}":"\u0190","\u{10401}":"\u0190","\u1D9F":"\u1D4B","\u1D08":"\u025C",\u0437:"\u025C",\u0499:"\u025C\u0326","\u{10442}":"\u025E","\uA79D":"\u029A","\u{1042A}":"\u029A","\u{1D41F}":"f","\u{1D453}":"f","\u{1D487}":"f","\u{1D4BB}":"f","\u{1D4EF}":"f","\u{1D523}":"f","\u{1D557}":"f","\u{1D58B}":"f","\u{1D5BF}":"f","\u{1D5F3}":"f","\u{1D627}":"f","\u{1D65B}":"f","\u{1D68F}":"f","\uAB35":"f","\uA799":"f",\u017F:"f","\u1E9D":"f",\u0584:"f","\u{1D213}":"F",\u2131:"F","\u{1D405}":"F","\u{1D439}":"F","\u{1D46D}":"F","\u{1D4D5}":"F","\u{1D509}":"F","\u{1D53D}":"F","\u{1D571}":"F","\u{1D5A5}":"F","\u{1D5D9}":"F","\u{1D60D}":"F","\u{1D641}":"F","\u{1D675}":"F","\uA798":"F",\u03DC:"F","\u{1D7CA}":"F",\u15B4:"F","\uA4DD":"F","\u{118C2}":"F","\u{118A2}":"F","\u{10287}":"F","\u{102A5}":"F","\u{10525}":"F",\u0192:"f\u0326",\u0191:"F\u0326","\u1D6E":"f\u0334","\u213B":"FAX",\uFB00:"ff",\uFB03:"ffi",\uFB04:"ffl",\uFB01:"fi",\uFB02:"fl",\u02A9:"f\u014B",\u15B5:"\u2132","\uA4DE":"\u2132","\u{1D230}":"\uA7FB",\u15B7:"\uA7FB",\uFF47:"g",\u210A:"g","\u{1D420}":"g","\u{1D454}":"g","\u{1D488}":"g","\u{1D4F0}":"g","\u{1D524}":"g","\u{1D558}":"g","\u{1D58C}":"g","\u{1D5C0}":"g","\u{1D5F4}":"g","\u{1D628}":"g","\u{1D65C}":"g","\u{1D690}":"g",\u0261:"g","\u1D83":"g",\u018D:"g",\u0581:"g","\u{1D406}":"G","\u{1D43A}":"G","\u{1D46E}":"G","\u{1D4A2}":"G","\u{1D4D6}":"G","\u{1D50A}":"G","\u{1D53E}":"G","\u{1D572}":"G","\u{1D5A6}":"G","\u{1D5DA}":"G","\u{1D60E}":"G","\u{1D642}":"G","\u{1D676}":"G","\u050C":"G",\u13C0:"G",\u13F3:"G","\uA4D6":"G","\u1DA2":"\u1D4D",\u0260:"g\u0314",\u01E7:"\u011F",\u01E6:"\u011E",\u01F5:"\u0123",\u01E5:"g\u0335",\u01E4:"G\u0335",\u0193:"G'","\u050D":"\u0262","\uAB90":"\u0262","\u13FB":"\u0262",\uFF48:"h",\u210E:"h","\u{1D421}":"h","\u{1D489}":"h","\u{1D4BD}":"h","\u{1D4F1}":"h","\u{1D525}":"h","\u{1D559}":"h","\u{1D58D}":"h","\u{1D5C1}":"h","\u{1D5F5}":"h","\u{1D629}":"h","\u{1D65D}":"h","\u{1D691}":"h",\u04BB:"h",\u0570:"h",\u13C2:"h",\uFF28:"H",\u210B:"H",\u210C:"H",\u210D:"H","\u{1D407}":"H","\u{1D43B}":"H","\u{1D46F}":"H","\u{1D4D7}":"H","\u{1D573}":"H","\u{1D5A7}":"H","\u{1D5DB}":"H","\u{1D60F}":"H","\u{1D643}":"H","\u{1D677}":"H",\u0397:"H","\u{1D6AE}":"H","\u{1D6E8}":"H","\u{1D722}":"H","\u{1D75C}":"H","\u{1D796}":"H","\u2C8E":"H",\u041D:"H",\u13BB:"H",\u157C:"H","\uA4E7":"H","\u{102CF}":"H","\u1D78":"\u1D34",\u0266:"h\u0314","\uA695":"h\u0314",\u13F2:"h\u0314","\u2C67":"H\u0329",\u04A2:"H\u0329",\u0127:"h\u0335",\u210F:"h\u0335",\u045B:"h\u0335",\u0126:"H\u0335","\u04C9":"H\u0326",\u04C7:"H\u0326",\u043D:"\u029C","\uAB8B":"\u029C",\u04A3:"\u029C\u0329","\u04CA":"\u029C\u0326",\u04C8:"\u029C\u0326","\u050A":"\u01F6","\uAB80":"\u2C76","\u0370":"\u2C75",\u13A8:"\u2C75",\u13B0:"\u2C75","\uA6B1":"\u2C75","\uA795":"\uA727","\u02DB":"i","\u2373":"i",\uFF49:"i","\u2170":"i",\u2139:"i","\u2148":"i","\u{1D422}":"i","\u{1D456}":"i","\u{1D48A}":"i","\u{1D4BE}":"i","\u{1D4F2}":"i","\u{1D526}":"i","\u{1D55A}":"i","\u{1D58E}":"i","\u{1D5C2}":"i","\u{1D5F6}":"i","\u{1D62A}":"i","\u{1D65E}":"i","\u{1D692}":"i",\u0131:"i","\u{1D6A4}":"i",\u026A:"i",\u0269:"i",\u03B9:"i",\u1FBE:"i",\u037A:"i","\u{1D6CA}":"i","\u{1D704}":"i","\u{1D73E}":"i","\u{1D778}":"i","\u{1D7B2}":"i",\u0456:"i","\uA647":"i","\u04CF":"i","\uAB75":"i",\u13A5:"i","\u{118C3}":"i","\u24DB":"\u24BE","\u2378":"i\u0332",\u01D0:"\u012D",\u01CF:"\u012C",\u0268:"i\u0335","\u1D7B":"i\u0335","\u1D7C":"i\u0335","\u2171":"ii","\u2172":"iii",\u0133:"ij","\u2173":"iv","\u2178":"ix",\uFF4A:"j","\u2149":"j","\u{1D423}":"j","\u{1D457}":"j","\u{1D48B}":"j","\u{1D4BF}":"j","\u{1D4F3}":"j","\u{1D527}":"j","\u{1D55B}":"j","\u{1D58F}":"j","\u{1D5C3}":"j","\u{1D5F7}":"j","\u{1D62B}":"j","\u{1D65F}":"j","\u{1D693}":"j",\u03F3:"j",\u0458:"j",\uFF2A:"J","\u{1D409}":"J","\u{1D43D}":"J","\u{1D471}":"J","\u{1D4A5}":"J","\u{1D4D9}":"J","\u{1D50D}":"J","\u{1D541}":"J","\u{1D575}":"J","\u{1D5A9}":"J","\u{1D5DD}":"J","\u{1D611}":"J","\u{1D645}":"J","\u{1D679}":"J","\uA7B2":"J","\u037F":"J",\u0408:"J",\u13AB:"J",\u148D:"J","\uA4D9":"J","\u0249":"j\u0335","\u0248":"J\u0335",\u1499:"J\xB7","\u{1D6A5}":"\u0237",\u0575:"\u0237","\uAB7B":"\u1D0A","\u{1D424}":"k","\u{1D458}":"k","\u{1D48C}":"k","\u{1D4C0}":"k","\u{1D4F4}":"k","\u{1D528}":"k","\u{1D55C}":"k","\u{1D590}":"k","\u{1D5C4}":"k","\u{1D5F8}":"k","\u{1D62C}":"k","\u{1D660}":"k","\u{1D694}":"k",\u212A:"K",\uFF2B:"K","\u{1D40A}":"K","\u{1D43E}":"K","\u{1D472}":"K","\u{1D4A6}":"K","\u{1D4DA}":"K","\u{1D50E}":"K","\u{1D542}":"K","\u{1D576}":"K","\u{1D5AA}":"K","\u{1D5DE}":"K","\u{1D612}":"K","\u{1D646}":"K","\u{1D67A}":"K",\u039A:"K","\u{1D6B1}":"K","\u{1D6EB}":"K","\u{1D725}":"K","\u{1D75F}":"K","\u{1D799}":"K","\u2C94":"K",\u041A:"K",\u13E6:"K",\u16D5:"K","\uA4D7":"K","\u{10518}":"K",\u0199:"k\u0314","\u2C69":"K\u0329",\u049A:"K\u0329","\u20AD":"K\u0335","\uA740":"K\u0335",\u049E:"K\u0335",\u0198:"K'","\u05C0":"l","|":"l","\u2223":"l","\u23FD":"l","\uFFE8":"l","\u0661":"l","\u06F1":"l","\u{10320}":"l","\u{1E8C7}":"l","\u{1D7CF}":"l","\u{1D7D9}":"l","\u{1D7E3}":"l","\u{1D7ED}":"l","\u{1D7F7}":"l","\u{1FBF1}":"l",I:"l",\uFF29:"l","\u2160":"l",\u2110:"l",\u2111:"l","\u{1D408}":"l","\u{1D43C}":"l","\u{1D470}":"l","\u{1D4D8}":"l","\u{1D540}":"l","\u{1D574}":"l","\u{1D5A8}":"l","\u{1D5DC}":"l","\u{1D610}":"l","\u{1D644}":"l","\u{1D678}":"l",\u0196:"l",\uFF4C:"l","\u217C":"l",\u2113:"l","\u{1D425}":"l","\u{1D459}":"l","\u{1D48D}":"l","\u{1D4C1}":"l","\u{1D4F5}":"l","\u{1D529}":"l","\u{1D55D}":"l","\u{1D591}":"l","\u{1D5C5}":"l","\u{1D5F9}":"l","\u{1D62D}":"l","\u{1D661}":"l","\u{1D695}":"l",\u01C0:"l",\u0399:"l","\u{1D6B0}":"l","\u{1D6EA}":"l","\u{1D724}":"l","\u{1D75E}":"l","\u{1D798}":"l","\u2C92":"l",\u0406:"l",\u04C0:"l",\u05D5:"l",\u05DF:"l",\u0627:"l","\u{1EE00}":"l","\u{1EE80}":"l",\uFE8E:"l",\uFE8D:"l","\u07CA":"l","\u2D4F":"l",\u16C1:"l","\uA4F2":"l","\u{16F28}":"l","\u{1028A}":"l","\u{10309}":"l","\u{1D22A}":"L","\u216C":"L",\u2112:"L","\u{1D40B}":"L","\u{1D43F}":"L","\u{1D473}":"L","\u{1D4DB}":"L","\u{1D50F}":"L","\u{1D543}":"L","\u{1D577}":"L","\u{1D5AB}":"L","\u{1D5DF}":"L","\u{1D613}":"L","\u{1D647}":"L","\u{1D67B}":"L","\u2CD0":"L",\u13DE:"L",\u14AA:"L","\uA4E1":"L","\u{16F16}":"L","\u{118A3}":"L","\u{118B2}":"L","\u{1041B}":"L","\u{10526}":"L",\uFD3C:"l\u030B",\uFD3D:"l\u030B",\u0142:"l\u0338",\u0141:"L\u0338",\u026D:"l\u0328",\u0197:"l\u0335",\u019A:"l\u0335",\u026B:"l\u0334",\u0625:"l\u0655",\uFE88:"l\u0655",\uFE87:"l\u0655",\u0673:"l\u0655",\u0140:"l\xB7",\u013F:"l\xB7",\u14B7:"l\xB7","\u{1F102}":"l,","\u2488":"l.",\u05F1:"l'","\u2493":"l2.","\u33EB":"l2\u65E5","\u32CB":"l2\u6708","\u3364":"l2\u70B9","\u2494":"l3.","\u33EC":"l3\u65E5","\u3365":"l3\u70B9","\u2495":"l4.","\u33ED":"l4\u65E5","\u3366":"l4\u70B9","\u2496":"l5.","\u33EE":"l5\u65E5","\u3367":"l5\u70B9","\u2497":"l6.","\u33EF":"l6\u65E5","\u3368":"l6\u70B9","\u2498":"l7.","\u33F0":"l7\u65E5","\u3369":"l7\u70B9","\u2499":"l8.","\u33F1":"l8\u65E5","\u336A":"l8\u70B9","\u249A":"l9.","\u33F2":"l9\u65E5","\u336B":"l9\u70B9",\u01C9:"lj",\u0132:"lJ",\u01C8:"Lj",\u01C7:"LJ","\u2016":"ll","\u2225":"ll","\u2161":"ll",\u01C1:"ll",\u05F0:"ll","\u{10199}":"l\u0335l\u0335","\u2492":"ll.","\u2162":"lll","\u{10198}":"l\u0335l\u0335S\u0335","\u33EA":"ll\u65E5","\u32CA":"ll\u6708","\u3363":"ll\u70B9",\u042E:"lO","\u2491":"lO.","\u33E9":"lO\u65E5","\u32C9":"lO\u6708","\u3362":"lO\u70B9",\u02AA:"ls","\u20B6":"lt","\u2163":"lV","\u2168":"lX",\u026E:"l\u021D",\u02AB:"lz",\u0623:"l\u0674",\uFE84:"l\u0674",\uFE83:"l\u0674",\u0672:"l\u0674",\u0675:"l\u0674",\uFDF3:"l\u0643\u0628\u0631",\uFDF2:"l\u0644\u0644\u0651\u0670o","\u33E0":"l\u65E5","\u32C0":"l\u6708","\u3359":"l\u70B9","\u2CD1":"\u029F","\uABAE":"\u029F","\u{10443}":"\u029F",\uFF2D:"M","\u216F":"M",\u2133:"M","\u{1D40C}":"M","\u{1D440}":"M","\u{1D474}":"M","\u{1D4DC}":"M","\u{1D510}":"M","\u{1D544}":"M","\u{1D578}":"M","\u{1D5AC}":"M","\u{1D5E0}":"M","\u{1D614}":"M","\u{1D648}":"M","\u{1D67C}":"M",\u039C:"M","\u{1D6B3}":"M","\u{1D6ED}":"M","\u{1D727}":"M","\u{1D761}":"M","\u{1D79B}":"M","\u03FA":"M","\u2C98":"M",\u041C:"M",\u13B7:"M",\u15F0:"M",\u16D6:"M","\uA4DF":"M","\u{102B0}":"M","\u{10311}":"M","\u04CD":"M\u0326","\u{1F76B}":"MB","\u2DE8":"\u1DDF","\u{1D427}":"n","\u{1D45B}":"n","\u{1D48F}":"n","\u{1D4C3}":"n","\u{1D4F7}":"n","\u{1D52B}":"n","\u{1D55F}":"n","\u{1D593}":"n","\u{1D5C7}":"n","\u{1D5FB}":"n","\u{1D62F}":"n","\u{1D663}":"n","\u{1D697}":"n",\u0578:"n",\u057C:"n",\uFF2E:"N",\u2115:"N","\u{1D40D}":"N","\u{1D441}":"N","\u{1D475}":"N","\u{1D4A9}":"N","\u{1D4DD}":"N","\u{1D511}":"N","\u{1D579}":"N","\u{1D5AD}":"N","\u{1D5E1}":"N","\u{1D615}":"N","\u{1D649}":"N","\u{1D67D}":"N",\u039D:"N","\u{1D6B4}":"N","\u{1D6EE}":"N","\u{1D728}":"N","\u{1D762}":"N","\u{1D79C}":"N","\u2C9A":"N","\uA4E0":"N","\u{10513}":"N","\u{1018E}":"N\u030A",\u0273:"n\u0328",\u019E:"n\u0329",\u03B7:"n\u0329","\u{1D6C8}":"n\u0329","\u{1D702}":"n\u0329","\u{1D73C}":"n\u0329","\u{1D776}":"n\u0329","\u{1D7B0}":"n\u0329",\u019D:"N\u0326","\u1D70":"n\u0334",\u01CC:"nj",\u01CB:"Nj",\u01CA:"NJ","\u2116":"No","\u0377":"\u1D0E",\u0438:"\u1D0E","\u{1044D}":"\u1D0E",\u0146:"\u0272","\u0C02":"o","\u0C82":"o","\u0D02":"o","\u0D82":"o","\u0966":"o","\u0A66":"o","\u0AE6":"o","\u0BE6":"o","\u0C66":"o","\u0CE6":"o","\u0D66":"o","\u0E50":"o","\u0ED0":"o","\u1040":"o","\u0665":"o","\u06F5":"o",\uFF4F:"o",\u2134:"o","\u{1D428}":"o","\u{1D45C}":"o","\u{1D490}":"o","\u{1D4F8}":"o","\u{1D52C}":"o","\u{1D560}":"o","\u{1D594}":"o","\u{1D5C8}":"o","\u{1D5FC}":"o","\u{1D630}":"o","\u{1D664}":"o","\u{1D698}":"o","\u1D0F":"o","\u1D11":"o","\uAB3D":"o",\u03BF:"o","\u{1D6D0}":"o","\u{1D70A}":"o","\u{1D744}":"o","\u{1D77E}":"o","\u{1D7B8}":"o",\u03C3:"o","\u{1D6D4}":"o","\u{1D70E}":"o","\u{1D748}":"o","\u{1D782}":"o","\u{1D7BC}":"o","\u2C9F":"o",\u043E:"o","\u10FF":"o",\u0585:"o",\u05E1:"o",\u0647:"o","\u{1EE24}":"o","\u{1EE64}":"o","\u{1EE84}":"o",\uFEEB:"o",\uFEEC:"o",\uFEEA:"o",\uFEE9:"o",\u06BE:"o",\uFBAC:"o",\uFBAD:"o",\uFBAB:"o",\uFBAA:"o",\u06C1:"o",\uFBA8:"o",\uFBA9:"o",\uFBA7:"o",\uFBA6:"o",\u06D5:"o",\u0D20:"o",\u101D:"o","\u{104EA}":"o","\u{118C8}":"o","\u{118D7}":"o","\u{1042C}":"o","\u07C0":"O","\u09E6":"O","\u0B66":"O","\u3007":"O","\u{114D0}":"O","\u{118E0}":"O","\u{1D7CE}":"O","\u{1D7D8}":"O","\u{1D7E2}":"O","\u{1D7EC}":"O","\u{1D7F6}":"O","\u{1FBF0}":"O",\uFF2F:"O","\u{1D40E}":"O","\u{1D442}":"O","\u{1D476}":"O","\u{1D4AA}":"O","\u{1D4DE}":"O","\u{1D512}":"O","\u{1D546}":"O","\u{1D57A}":"O","\u{1D5AE}":"O","\u{1D5E2}":"O","\u{1D616}":"O","\u{1D64A}":"O","\u{1D67E}":"O",\u039F:"O","\u{1D6B6}":"O","\u{1D6F0}":"O","\u{1D72A}":"O","\u{1D764}":"O","\u{1D79E}":"O","\u2C9E":"O",\u041E:"O",\u0555:"O","\u2D54":"O",\u12D0:"O",\u0B20:"O","\u{104C2}":"O","\uA4F3":"O","\u{118B5}":"O","\u{10292}":"O","\u{102AB}":"O","\u{10404}":"O","\u{10516}":"O","\u2070":"\xBA","\u1D52":"\xBA",\u01D2:"\u014F",\u01D1:"\u014E","\u06FF":"o\u0302",\u0150:"\xD6",\u00F8:"o\u0338","\uAB3E":"o\u0338",\u00D8:"O\u0338","\u2D41":"O\u0338",\u01FE:"O\u0338\u0301",\u0275:"o\u0335","\uA74B":"o\u0335",\u04E9:"o\u0335",\u0473:"o\u0335","\uAB8E":"o\u0335","\uABBB":"o\u0335","\u2296":"O\u0335","\u229D":"O\u0335","\u236C":"O\u0335","\u{1D21A}":"O\u0335","\u{1F714}":"O\u0335",\u019F:"O\u0335","\uA74A":"O\u0335",\u03B8:"O\u0335",\u03D1:"O\u0335","\u{1D6C9}":"O\u0335","\u{1D6DD}":"O\u0335","\u{1D703}":"O\u0335","\u{1D717}":"O\u0335","\u{1D73D}":"O\u0335","\u{1D751}":"O\u0335","\u{1D777}":"O\u0335","\u{1D78B}":"O\u0335","\u{1D7B1}":"O\u0335","\u{1D7C5}":"O\u0335",\u0398:"O\u0335","\u03F4":"O\u0335","\u{1D6AF}":"O\u0335","\u{1D6B9}":"O\u0335","\u{1D6E9}":"O\u0335","\u{1D6F3}":"O\u0335","\u{1D723}":"O\u0335","\u{1D72D}":"O\u0335","\u{1D75D}":"O\u0335","\u{1D767}":"O\u0335","\u{1D797}":"O\u0335","\u{1D7A1}":"O\u0335",\u04E8:"O\u0335",\u0472:"O\u0335","\u2D31":"O\u0335",\u13BE:"O\u0335",\u13EB:"O\u0335","\uAB74":"o\u031B",\uFCD9:"o\u0670","\u{1F101}":"O,","\u{1F100}":"O.",\u01A1:"o'",\u01A0:"O'",\u13A4:"O'","%":"\xBA/\u2080","\u066A":"\xBA/\u2080","\u2052":"\xBA/\u2080","\u2030":"\xBA/\u2080\u2080","\u0609":"\xBA/\u2080\u2080","\u2031":"\xBA/\u2080\u2080\u2080","\u060A":"\xBA/\u2080\u2080\u2080",\u0153:"oe",\u0152:"OE",\u0276:"o\u1D07","\u221E":"oo","\uA74F":"oo","\uA699":"oo","\uA74E":"OO","\uA698":"OO",\uFCD7:"o\u062C",\uFC51:"o\u062C",\uFCD8:"o\u0645",\uFC52:"o\u0645",\uFD93:"o\u0645\u062C",\uFD94:"o\u0645\u0645",\uFC53:"o\u0649",\uFC54:"o\u0649","\u0D5F":"o\u0D30o",\u1010:"o\u102C","\u3358":"O\u70B9","\u2184":"\u0254","\u1D10":"\u0254","\u037B":"\u0254","\u{1044B}":"\u0254","\u2183":"\u0186","\u03FD":"\u0186","\uA4DB":"\u0186","\u{10423}":"\u0186","\uAB3F":"\u0254\u0338","\uAB62":"\u0254e","\u{1043F}":"\u0277","\u2374":"p",\uFF50:"p","\u{1D429}":"p","\u{1D45D}":"p","\u{1D491}":"p","\u{1D4C5}":"p","\u{1D4F9}":"p","\u{1D52D}":"p","\u{1D561}":"p","\u{1D595}":"p","\u{1D5C9}":"p","\u{1D5FD}":"p","\u{1D631}":"p","\u{1D665}":"p","\u{1D699}":"p",\u03C1:"p",\u03F1:"p","\u{1D6D2}":"p","\u{1D6E0}":"p","\u{1D70C}":"p","\u{1D71A}":"p","\u{1D746}":"p","\u{1D754}":"p","\u{1D780}":"p","\u{1D78E}":"p","\u{1D7BA}":"p","\u{1D7C8}":"p","\u2CA3":"p",\u0440:"p",\uFF30:"P",\u2119:"P","\u{1D40F}":"P","\u{1D443}":"P","\u{1D477}":"P","\u{1D4AB}":"P","\u{1D4DF}":"P","\u{1D513}":"P","\u{1D57B}":"P","\u{1D5AF}":"P","\u{1D5E3}":"P","\u{1D617}":"P","\u{1D64B}":"P","\u{1D67F}":"P",\u03A1:"P","\u{1D6B8}":"P","\u{1D6F2}":"P","\u{1D72C}":"P","\u{1D766}":"P","\u{1D7A0}":"P","\u2CA2":"P",\u0420:"P",\u13E2:"P",\u146D:"P","\uA4D1":"P","\u{10295}":"P",\u01A5:"p\u0314","\u1D7D":"p\u0335",\u1477:"p\xB7",\u1486:"P'","\u1D29":"\u1D18","\uABB2":"\u1D18",\u03C6:"\u0278",\u03D5:"\u0278","\u{1D6D7}":"\u0278","\u{1D6DF}":"\u0278","\u{1D711}":"\u0278","\u{1D719}":"\u0278","\u{1D74B}":"\u0278","\u{1D753}":"\u0278","\u{1D785}":"\u0278","\u{1D78D}":"\u0278","\u{1D7BF}":"\u0278","\u{1D7C7}":"\u0278","\u2CAB":"\u0278",\u0444:"\u0278","\u{1D42A}":"q","\u{1D45E}":"q","\u{1D492}":"q","\u{1D4C6}":"q","\u{1D4FA}":"q","\u{1D52E}":"q","\u{1D562}":"q","\u{1D596}":"q","\u{1D5CA}":"q","\u{1D5FE}":"q","\u{1D632}":"q","\u{1D666}":"q","\u{1D69A}":"q","\u051B":"q",\u0563:"q",\u0566:"q",\u211A:"Q","\u{1D410}":"Q","\u{1D444}":"Q","\u{1D478}":"Q","\u{1D4AC}":"Q","\u{1D4E0}":"Q","\u{1D514}":"Q","\u{1D57C}":"Q","\u{1D5B0}":"Q","\u{1D5E4}":"Q","\u{1D618}":"Q","\u{1D64C}":"Q","\u{1D680}":"Q","\u2D55":"Q",\u02A0:"q\u0314","\u{1F700}":"QE","\u1D90":"\u024B","\u1D0B":"\u0138",\u03BA:"\u0138",\u03F0:"\u0138","\u{1D6CB}":"\u0138","\u{1D6DE}":"\u0138","\u{1D705}":"\u0138","\u{1D718}":"\u0138","\u{1D73F}":"\u0138","\u{1D752}":"\u0138","\u{1D779}":"\u0138","\u{1D78C}":"\u0138","\u{1D7B3}":"\u0138","\u{1D7C6}":"\u0138","\u2C95":"\u0138",\u043A:"\u0138","\uABB6":"\u0138",\u049B:"\u0138\u0329",\u049F:"\u0138\u0335","\u{1D42B}":"r","\u{1D45F}":"r","\u{1D493}":"r","\u{1D4C7}":"r","\u{1D4FB}":"r","\u{1D52F}":"r","\u{1D563}":"r","\u{1D597}":"r","\u{1D5CB}":"r","\u{1D5FF}":"r","\u{1D633}":"r","\u{1D667}":"r","\u{1D69B}":"r","\uAB47":"r","\uAB48":"r","\u1D26":"r","\u2C85":"r",\u0433:"r","\uAB81":"r","\u{1D216}":"R",\u211B:"R",\u211C:"R",\u211D:"R","\u{1D411}":"R","\u{1D445}":"R","\u{1D479}":"R","\u{1D4E1}":"R","\u{1D57D}":"R","\u{1D5B1}":"R","\u{1D5E5}":"R","\u{1D619}":"R","\u{1D64D}":"R","\u{1D681}":"R",\u01A6:"R",\u13A1:"R",\u13D2:"R","\u{104B4}":"R",\u1587:"R","\uA4E3":"R","\u{16F35}":"R",\u027D:"r\u0328",\u027C:"r\u0329","\u024D":"r\u0335",\u0493:"r\u0335","\u1D72":"r\u0334",\u0491:"r'","\u{118E3}":"rn",m:"rn","\u217F":"rn","\u{1D426}":"rn","\u{1D45A}":"rn","\u{1D48E}":"rn","\u{1D4C2}":"rn","\u{1D4F6}":"rn","\u{1D52A}":"rn","\u{1D55E}":"rn","\u{1D592}":"rn","\u{1D5C6}":"rn","\u{1D5FA}":"rn","\u{1D62E}":"rn","\u{1D662}":"rn","\u{1D696}":"rn","\u{11700}":"rn","\u20A5":"rn\u0338",\u0271:"rn\u0326","\u1D6F":"rn\u0334","\u20A8":"Rs","\uAB71":"\u0280","\uABA2":"\u0280",\u044F:"\u1D19","\u1D73":"\u027E\u0334","\u2129":"\u027F",\uFF53:"s","\u{1D42C}":"s","\u{1D460}":"s","\u{1D494}":"s","\u{1D4C8}":"s","\u{1D4FC}":"s","\u{1D530}":"s","\u{1D564}":"s","\u{1D598}":"s","\u{1D5CC}":"s","\u{1D600}":"s","\u{1D634}":"s","\u{1D668}":"s","\u{1D69C}":"s","\uA731":"s",\u01BD:"s",\u0455:"s","\uABAA":"s","\u{118C1}":"s","\u{10448}":"s",\uFF33:"S","\u{1D412}":"S","\u{1D446}":"S","\u{1D47A}":"S","\u{1D4AE}":"S","\u{1D4E2}":"S","\u{1D516}":"S","\u{1D54A}":"S","\u{1D57E}":"S","\u{1D5B2}":"S","\u{1D5E6}":"S","\u{1D61A}":"S","\u{1D64E}":"S","\u{1D682}":"S",\u0405:"S",\u054F:"S",\u13D5:"S",\u13DA:"S","\uA4E2":"S","\u{16F3A}":"S","\u{10296}":"S","\u{10420}":"S",\u0282:"s\u0328","\u1D74":"s\u0334","\uA7B5":"\xDF",\u03B2:"\xDF",\u03D0:"\xDF","\u{1D6C3}":"\xDF","\u{1D6FD}":"\xDF","\u{1D737}":"\xDF","\u{1D771}":"\xDF","\u{1D7AB}":"\xDF",\u13F0:"\xDF","\u{1F75C}":"sss",\uFB06:"st","\u222B":"\u0283","\uAB4D":"\u0283","\u2211":"\u01A9","\u2140":"\u01A9",\u03A3:"\u01A9","\u{1D6BA}":"\u01A9","\u{1D6F4}":"\u01A9","\u{1D72E}":"\u01A9","\u{1D768}":"\u01A9","\u{1D7A2}":"\u01A9","\u2D49":"\u01A9","\u222C":"\u0283\u0283","\u222D":"\u0283\u0283\u0283","\u2A0C":"\u0283\u0283\u0283\u0283","\u{1D42D}":"t","\u{1D461}":"t","\u{1D495}":"t","\u{1D4C9}":"t","\u{1D4FD}":"t","\u{1D531}":"t","\u{1D565}":"t","\u{1D599}":"t","\u{1D5CD}":"t","\u{1D601}":"t","\u{1D635}":"t","\u{1D669}":"t","\u{1D69D}":"t","\u22A4":"T","\u27D9":"T","\u{1F768}":"T",\uFF34:"T","\u{1D413}":"T","\u{1D447}":"T","\u{1D47B}":"T","\u{1D4AF}":"T","\u{1D4E3}":"T","\u{1D517}":"T","\u{1D54B}":"T","\u{1D57F}":"T","\u{1D5B3}":"T","\u{1D5E7}":"T","\u{1D61B}":"T","\u{1D64F}":"T","\u{1D683}":"T",\u03A4:"T","\u{1D6BB}":"T","\u{1D6F5}":"T","\u{1D72F}":"T","\u{1D769}":"T","\u{1D7A3}":"T","\u2CA6":"T",\u0422:"T",\u13A2:"T","\uA4D4":"T","\u{16F0A}":"T","\u{118BC}":"T","\u{10297}":"T","\u{102B1}":"T","\u{10315}":"T",\u01AD:"t\u0314","\u2361":"T\u0308","\u023E":"T\u0338",\u021A:"\u0162",\u01AE:"T\u0328",\u04AC:"T\u0329","\u20AE":"T\u20EB",\u0167:"t\u0335",\u0166:"T\u0335","\u1D75":"t\u0334",\u10A0:"\uA786","\uA728":"T3",\u02A8:"t\u0255","\u2121":"TEL","\uA777":"tf",\u02A6:"ts",\u02A7:"t\u0283","\uA729":"t\u021D",\u03C4:"\u1D1B","\u{1D6D5}":"\u1D1B","\u{1D70F}":"\u1D1B","\u{1D749}":"\u1D1B","\u{1D783}":"\u1D1B","\u{1D7BD}":"\u1D1B",\u0442:"\u1D1B","\uAB72":"\u1D1B",\u04AD:"\u1D1B\u0329",\u0163:"\u01AB",\u021B:"\u01AB",\u13BF:"\u01AB","\u{1D42E}":"u","\u{1D462}":"u","\u{1D496}":"u","\u{1D4CA}":"u","\u{1D4FE}":"u","\u{1D532}":"u","\u{1D566}":"u","\u{1D59A}":"u","\u{1D5CE}":"u","\u{1D602}":"u","\u{1D636}":"u","\u{1D66A}":"u","\u{1D69E}":"u","\uA79F":"u","\u1D1C":"u","\uAB4E":"u","\uAB52":"u",\u028B:"u",\u03C5:"u","\u{1D6D6}":"u","\u{1D710}":"u","\u{1D74A}":"u","\u{1D784}":"u","\u{1D7BE}":"u",\u057D:"u","\u{104F6}":"u","\u{118D8}":"u","\u222A":"U","\u22C3":"U","\u{1D414}":"U","\u{1D448}":"U","\u{1D47C}":"U","\u{1D4B0}":"U","\u{1D4E4}":"U","\u{1D518}":"U","\u{1D54C}":"U","\u{1D580}":"U","\u{1D5B4}":"U","\u{1D5E8}":"U","\u{1D61C}":"U","\u{1D650}":"U","\u{1D684}":"U",\u054D:"U",\u1200:"U","\u{104CE}":"U",\u144C:"U","\uA4F4":"U","\u{16F42}":"U","\u{118B8}":"U",\u01D4:"\u016D",\u01D3:"\u016C","\u1D7E":"u\u0335","\uAB9C":"u\u0335","\u0244":"U\u0335",\u13CC:"U\u0335",\u1458:"U\xB7",\u1467:"U'","\u1D6B":"ue","\uAB63":"uo",\u1E43:"\uAB51",\u057A:"\u0270",\u1223:"\u0270","\u2127":"\u01B1",\u162E:"\u01B1",\u1634:"\u01B1","\u1D7F":"\u028A\u0335","\u2228":"v","\u22C1":"v",\uFF56:"v","\u2174":"v","\u{1D42F}":"v","\u{1D463}":"v","\u{1D497}":"v","\u{1D4CB}":"v","\u{1D4FF}":"v","\u{1D533}":"v","\u{1D567}":"v","\u{1D59B}":"v","\u{1D5CF}":"v","\u{1D603}":"v","\u{1D637}":"v","\u{1D66B}":"v","\u{1D69F}":"v","\u1D20":"v",\u03BD:"v","\u{1D6CE}":"v","\u{1D708}":"v","\u{1D742}":"v","\u{1D77C}":"v","\u{1D7B6}":"v",\u0475:"v",\u05D8:"v","\u{11706}":"v","\uABA9":"v","\u{118C0}":"v","\u{1D20D}":"V","\u0667":"V","\u06F7":"V","\u2164":"V","\u{1D415}":"V","\u{1D449}":"V","\u{1D47D}":"V","\u{1D4B1}":"V","\u{1D4E5}":"V","\u{1D519}":"V","\u{1D54D}":"V","\u{1D581}":"V","\u{1D5B5}":"V","\u{1D5E9}":"V","\u{1D61D}":"V","\u{1D651}":"V","\u{1D685}":"V",\u0474:"V","\u2D38":"V",\u13D9:"V",\u142F:"V","\uA6DF":"V","\uA4E6":"V","\u{16F08}":"V","\u{118A0}":"V","\u{1051D}":"V","\u{10197}":"V\u0335",\u143B:"V\xB7","\u{1F76C}":"VB","\u2175":"vi","\u2176":"vii","\u2177":"viii","\u2165":"Vl","\u2166":"Vll","\u2167":"Vlll","\u{1F708}":"V\u1DE4","\u1D27":"\u028C","\u{104D8}":"\u028C","\u0668":"\u0245","\u06F8":"\u0245",\u039B:"\u0245","\u{1D6B2}":"\u0245","\u{1D6EC}":"\u0245","\u{1D726}":"\u0245","\u{1D760}":"\u0245","\u{1D79A}":"\u0245",\u041B:"\u0245","\u2D37":"\u0245","\u{104B0}":"\u0245",\u1431:"\u0245","\uA6CE":"\u0245","\uA4E5":"\u0245","\u{16F3D}":"\u0245","\u{1028D}":"\u0245","\u04C5":"\u0245\u0326",\u143D:"\u0245\xB7",\u026F:"w","\u{1D430}":"w","\u{1D464}":"w","\u{1D498}":"w","\u{1D4CC}":"w","\u{1D500}":"w","\u{1D534}":"w","\u{1D568}":"w","\u{1D59C}":"w","\u{1D5D0}":"w","\u{1D604}":"w","\u{1D638}":"w","\u{1D66C}":"w","\u{1D6A0}":"w","\u1D21":"w",\u0461:"w","\u051D":"w",\u0561:"w","\u{1170A}":"w","\u{1170E}":"w","\u{1170F}":"w","\uAB83":"w","\u{118EF}":"W","\u{118E6}":"W","\u{1D416}":"W","\u{1D44A}":"W","\u{1D47E}":"W","\u{1D4B2}":"W","\u{1D4E6}":"W","\u{1D51A}":"W","\u{1D54E}":"W","\u{1D582}":"W","\u{1D5B6}":"W","\u{1D5EA}":"W","\u{1D61E}":"W","\u{1D652}":"W","\u{1D686}":"W","\u051C":"W",\u13B3:"W",\u13D4:"W","\uA4EA":"W",\u047D:"w\u0486\u0487","\u{114C5}":"w\u0307","\u20A9":"W\u0335","\uA761":"w\u0326","\u1D0D":"\u028D",\u043C:"\u028D","\uAB87":"\u028D","\u04CE":"\u028D\u0326","\u166E":"x","\xD7":"x","\u292B":"x","\u292C":"x","\u2A2F":"x",\uFF58:"x","\u2179":"x","\u{1D431}":"x","\u{1D465}":"x","\u{1D499}":"x","\u{1D4CD}":"x","\u{1D501}":"x","\u{1D535}":"x","\u{1D569}":"x","\u{1D59D}":"x","\u{1D5D1}":"x","\u{1D605}":"x","\u{1D639}":"x","\u{1D66D}":"x","\u{1D6A1}":"x",\u0445:"x",\u1541:"x",\u157D:"x","\u2DEF":"\u036F","\u166D":"X","\u2573":"X","\u{10322}":"X","\u{118EC}":"X",\uFF38:"X","\u2169":"X","\u{1D417}":"X","\u{1D44B}":"X","\u{1D47F}":"X","\u{1D4B3}":"X","\u{1D4E7}":"X","\u{1D51B}":"X","\u{1D54F}":"X","\u{1D583}":"X","\u{1D5B7}":"X","\u{1D5EB}":"X","\u{1D61F}":"X","\u{1D653}":"X","\u{1D687}":"X","\uA7B3":"X",\u03A7:"X","\u{1D6BE}":"X","\u{1D6F8}":"X","\u{1D732}":"X","\u{1D76C}":"X","\u{1D7A6}":"X","\u2CAC":"X",\u0425:"X","\u2D5D":"X",\u16B7:"X","\uA4EB":"X","\u{10290}":"X","\u{102B4}":"X","\u{10317}":"X","\u{10527}":"X","\u2A30":"x\u0307",\u04B2:"X\u0329","\u{10196}":"X\u0335","\u217A":"xi","\u217B":"xii","\u216A":"Xl","\u216B":"Xll",\u0263:"y","\u1D8C":"y",\uFF59:"y","\u{1D432}":"y","\u{1D466}":"y","\u{1D49A}":"y","\u{1D4CE}":"y","\u{1D502}":"y","\u{1D536}":"y","\u{1D56A}":"y","\u{1D59E}":"y","\u{1D5D2}":"y","\u{1D606}":"y","\u{1D63A}":"y","\u{1D66E}":"y","\u{1D6A2}":"y",\u028F:"y","\u1EFF":"y","\uAB5A":"y",\u03B3:"y","\u213D":"y","\u{1D6C4}":"y","\u{1D6FE}":"y","\u{1D738}":"y","\u{1D772}":"y","\u{1D7AC}":"y",\u0443:"y",\u04AF:"y",\u10E7:"y","\u{118DC}":"y",\uFF39:"Y","\u{1D418}":"Y","\u{1D44C}":"Y","\u{1D480}":"Y","\u{1D4B4}":"Y","\u{1D4E8}":"Y","\u{1D51C}":"Y","\u{1D550}":"Y","\u{1D584}":"Y","\u{1D5B8}":"Y","\u{1D5EC}":"Y","\u{1D620}":"Y","\u{1D654}":"Y","\u{1D688}":"Y",\u03A5:"Y",\u03D2:"Y","\u{1D6BC}":"Y","\u{1D6F6}":"Y","\u{1D730}":"Y","\u{1D76A}":"Y","\u{1D7A4}":"Y","\u2CA8":"Y",\u0423:"Y",\u04AE:"Y",\u13A9:"Y",\u13BD:"Y","\uA4EC":"Y","\u{16F43}":"Y","\u{118A4}":"Y","\u{102B2}":"Y",\u01B4:"y\u0314","\u024F":"y\u0335",\u04B1:"y\u0335","\xA5":"Y\u0335","\u024E":"Y\u0335",\u04B0:"Y\u0335",\u0292:"\u021D","\uA76B":"\u021D","\u2CCD":"\u021D",\u04E1:"\u021D",\u10F3:"\u021D","\u{1D433}":"z","\u{1D467}":"z","\u{1D49B}":"z","\u{1D4CF}":"z","\u{1D503}":"z","\u{1D537}":"z","\u{1D56B}":"z","\u{1D59F}":"z","\u{1D5D3}":"z","\u{1D607}":"z","\u{1D63B}":"z","\u{1D66F}":"z","\u{1D6A3}":"z","\u1D22":"z","\uAB93":"z","\u{118C4}":"z","\u{102F5}":"Z","\u{118E5}":"Z",\uFF3A:"Z",\u2124:"Z",\u2128:"Z","\u{1D419}":"Z","\u{1D44D}":"Z","\u{1D481}":"Z","\u{1D4B5}":"Z","\u{1D4E9}":"Z","\u{1D585}":"Z","\u{1D5B9}":"Z","\u{1D5ED}":"Z","\u{1D621}":"Z","\u{1D655}":"Z","\u{1D689}":"Z",\u0396:"Z","\u{1D6AD}":"Z","\u{1D6E7}":"Z","\u{1D721}":"Z","\u{1D75B}":"Z","\u{1D795}":"Z",\u13C3:"Z","\uA4DC":"Z","\u{118A9}":"Z",\u0290:"z\u0328",\u01B6:"z\u0335",\u01B5:"Z\u0335",\u0225:"z\u0326",\u0224:"Z\u0326","\u1D76":"z\u0334",\u01BF:"\xFE","\u03F8":"\xFE","\u03F7":"\xDE","\u{104C4}":"\xDE","\u2079":"\uA770","\u1D24":"\u01A8",\u03E9:"\u01A8","\uA645":"\u01A8",\u044C:"\u0185","\uAB9F":"\u0185",\u044B:"\u0185i","\uAB7E":"\u0242",\u02E4:"\u02C1","\uA6CD":"\u02A1","\u2299":"\u0298","\u2609":"\u0298","\u2A00":"\u0298","\uA668":"\u0298","\u2D59":"\u0298","\u{104C3}":"\u0298","\u213E":"\u0393","\u{1D6AA}":"\u0393","\u{1D6E4}":"\u0393","\u{1D71E}":"\u0393","\u{1D758}":"\u0393","\u{1D792}":"\u0393","\u2C84":"\u0393",\u0413:"\u0393",\u13B1:"\u0393",\u14A5:"\u0393","\u{16F07}":"\u0393",\u0492:"\u0393\u0335",\u14AF:"\u0393\xB7",\u0490:"\u0393'","\u2206":"\u0394","\u25B3":"\u0394","\u{1F702}":"\u0394","\u{1D6AB}":"\u0394","\u{1D6E5}":"\u0394","\u{1D71F}":"\u0394","\u{1D759}":"\u0394","\u{1D793}":"\u0394","\u2C86":"\u0394","\u2D60":"\u0394",\u1403:"\u0394","\u{16F1A}":"\u0394","\u{10285}":"\u0394","\u{102A3}":"\u0394","\u2359":"\u0394\u0332",\u140F:"\u0394\xB7",\u142C:"\u0394\u1420","\u{1D7CB}":"\u03DD","\u{1D6C7}":"\u03B6","\u{1D701}":"\u03B6","\u{1D73B}":"\u03B6","\u{1D775}":"\u03B6","\u{1D7AF}":"\u03B6","\u2CE4":"\u03D7","\u{1D6CC}":"\u03BB","\u{1D706}":"\u03BB","\u{1D740}":"\u03BB","\u{1D77A}":"\u03BB","\u{1D7B4}":"\u03BB","\u2C96":"\u03BB","\u{104DB}":"\u03BB",\u00B5:"\u03BC","\u{1D6CD}":"\u03BC","\u{1D707}":"\u03BC","\u{1D741}":"\u03BC","\u{1D77B}":"\u03BC","\u{1D7B5}":"\u03BC","\u{1D6CF}":"\u03BE","\u{1D709}":"\u03BE","\u{1D743}":"\u03BE","\u{1D77D}":"\u03BE","\u{1D7B7}":"\u03BE","\u{1D6B5}":"\u039E","\u{1D6EF}":"\u039E","\u{1D729}":"\u039E","\u{1D763}":"\u039E","\u{1D79D}":"\u039E",\u03D6:"\u03C0","\u213C":"\u03C0","\u{1D6D1}":"\u03C0","\u{1D6E1}":"\u03C0","\u{1D70B}":"\u03C0","\u{1D71B}":"\u03C0","\u{1D745}":"\u03C0","\u{1D755}":"\u03C0","\u{1D77F}":"\u03C0","\u{1D78F}":"\u03C0","\u{1D7B9}":"\u03C0","\u{1D7C9}":"\u03C0","\u1D28":"\u03C0",\u043F:"\u03C0","\u220F":"\u03A0","\u213F":"\u03A0","\u{1D6B7}":"\u03A0","\u{1D6F1}":"\u03A0","\u{1D72B}":"\u03A0","\u{1D765}":"\u03A0","\u{1D79F}":"\u03A0","\u2CA0":"\u03A0",\u041F:"\u03A0","\uA6DB":"\u03A0","\u{102AD}":"\u03D8","\u{10312}":"\u03D8",\u03DB:"\u03C2","\u{1D6D3}":"\u03C2","\u{1D70D}":"\u03C2","\u{1D747}":"\u03C2","\u{1D781}":"\u03C2","\u{1D7BB}":"\u03C2","\u{1D6BD}":"\u03A6","\u{1D6F7}":"\u03A6","\u{1D731}":"\u03A6","\u{1D76B}":"\u03A6","\u{1D7A5}":"\u03A6","\u2CAA":"\u03A6",\u0424:"\u03A6",\u0553:"\u03A6",\u1240:"\u03A6","\u16F0":"\u03A6","\u{102B3}":"\u03A6","\uAB53":"\u03C7","\uAB55":"\u03C7","\u{1D6D8}":"\u03C7","\u{1D712}":"\u03C7","\u{1D74C}":"\u03C7","\u{1D786}":"\u03C7","\u{1D7C0}":"\u03C7","\u2CAD":"\u03C7","\u{1D6D9}":"\u03C8","\u{1D713}":"\u03C8","\u{1D74D}":"\u03C8","\u{1D787}":"\u03C8","\u{1D7C1}":"\u03C8",\u0471:"\u03C8","\u{104F9}":"\u03C8","\u{1D6BF}":"\u03A8","\u{1D6F9}":"\u03A8","\u{1D733}":"\u03A8","\u{1D76D}":"\u03A8","\u{1D7A7}":"\u03A8","\u2CAE":"\u03A8",\u0470:"\u03A8","\u{104D1}":"\u03A8",\u16D8:"\u03A8","\u{102B5}":"\u03A8","\u2375":"\u03C9","\uA7B7":"\u03C9","\u{1D6DA}":"\u03C9","\u{1D714}":"\u03C9","\u{1D74E}":"\u03C9","\u{1D788}":"\u03C9","\u{1D7C2}":"\u03C9","\u2CB1":"\u03C9","\uA64D":"\u03C9",\u2126:"\u03A9","\u{1D6C0}":"\u03A9","\u{1D6FA}":"\u03A9","\u{1D734}":"\u03A9","\u{1D76E}":"\u03A9","\u{1D7A8}":"\u03A9",\u162F:"\u03A9",\u1635:"\u03A9","\u{102B6}":"\u03A9","\u2379":"\u03C9\u0332",\u1F7D:"\u1FF4","\u2630":"\u2CB6","\u2CDC":"\u03EC",\u0497:"\u0436\u0329",\u0496:"\u0416\u0329","\u{1D20B}":"\u0418","\u0376":"\u0418","\uA6A1":"\u0418","\u{10425}":"\u0418",\u0419:"\u040D","\u048A":"\u040D\u0326",\u045D:"\u0439","\u048B":"\u0439\u0326","\u{104BC}":"\u04C3","\u1D2B":"\u043B","\u04C6":"\u043B\u0326","\uAB60":"\u0459","\u{104EB}":"\uA669","\u1DEE":"\u2DEC","\u{104CD}":"\u040B","\u{1D202}":"\u04FE","\u{1D222}":"\u0460",\u13C7:"\u0460",\u15EF:"\u0460",\u047C:"\u0460\u0486\u0487","\u18ED":"\u0460\xB7","\uA7B6":"\uA64C",\u04CC:"\u04B7",\u04CB:"\u04B6",\u04BE:"\u04BC\u0328","\u2CBD":"\u0448","\u2CBC":"\u0428","\uA650":"\u042Al","\u2108":"\u042D","\u{1F701}":"\uA658","\u{16F1C}":"\uA658","\uA992":"\u2C3F",\u0587:"\u0565\u0582",\u1294:"\u0571",\uFB14:"\u0574\u0565",\uFB15:"\u0574\u056B",\uFB17:"\u0574\u056D",\uFB13:"\u0574\u0576","\u2229":"\u0548","\u22C2":"\u0548","\u{1D245}":"\u0548",\u1260:"\u0548",\u144E:"\u0548","\uA4F5":"\u0548",\u145A:"\u0548\xB7",\u1468:"\u0548'",\uFB16:"\u057E\u0576","\u20BD":"\u0554","\u02D3":"\u0559",\u02BF:"\u0559",\u2135:"\u05D0",\uFB21:"\u05D0",\uFB2F:"\uFB2E",\uFB30:"\uFB2E",\uFB4F:"\u05D0\u05DC",\u2136:"\u05D1",\u2137:"\u05D2",\u2138:"\u05D3",\uFB22:"\u05D3",\uFB23:"\u05D4",\uFB39:"\uFB1D",\uFB24:"\u05DB",\uFB25:"\u05DC",\uFB26:"\u05DD",\uFB20:"\u05E2",\uFB27:"\u05E8",\uFB2B:"\uFB2A",\uFB49:"\uFB2A",\uFB2D:"\uFB2C",\uFB28:"\u05EA",\uFE80:"\u0621","\u06FD":"\u0621\u0348",\uFE82:"\u0622",\uFE81:"\u0622",\uFB51:"\u0671",\uFB50:"\u0671","\u{1EE01}":"\u0628","\u{1EE21}":"\u0628","\u{1EE61}":"\u0628","\u{1EE81}":"\u0628","\u{1EEA1}":"\u0628",\uFE91:"\u0628",\uFE92:"\u0628",\uFE90:"\u0628",\uFE8F:"\u0628","\u0751":"\u0628\u06DB","\u08B6":"\u0628\u06E2","\u08A1":"\u0628\u0654",\uFCA0:"\u0628o",\uFCE2:"\u0628o",\uFC9C:"\u0628\u062C",\uFC05:"\u0628\u062C",\uFC9D:"\u0628\u062D",\uFC06:"\u0628\u062D",\uFDC2:"\u0628\u062D\u0649",\uFC9E:"\u0628\u062E",\uFC07:"\u0628\u062E",\uFCD2:"\u0628\u062E",\uFC4B:"\u0628\u062E",\uFD9E:"\u0628\u062E\u0649",\uFC6A:"\u0628\u0631",\uFC6B:"\u0628\u0632",\uFC9F:"\u0628\u0645",\uFCE1:"\u0628\u0645",\uFC6C:"\u0628\u0645",\uFC08:"\u0628\u0645",\uFC6D:"\u0628\u0646",\uFC6E:"\u0628\u0649",\uFC09:"\u0628\u0649",\uFC6F:"\u0628\u0649",\uFC0A:"\u0628\u0649",\uFB54:"\u067B",\uFB55:"\u067B",\uFB53:"\u067B",\uFB52:"\u067B",\u06D0:"\u067B",\uFBE6:"\u067B",\uFBE7:"\u067B",\uFBE5:"\u067B",\uFBE4:"\u067B",\uFB5C:"\u0680",\uFB5D:"\u0680",\uFB5B:"\u0680",\uFB5A:"\u0680","\u08A9":"\u0754","\u0767":"\u0754","\u2365":"\u0629",\u00F6:"\u0629",\uFE94:"\u0629",\uFE93:"\u0629",\u06C3:"\u0629","\u{1EE15}":"\u062A","\u{1EE35}":"\u062A","\u{1EE75}":"\u062A","\u{1EE95}":"\u062A","\u{1EEB5}":"\u062A",\uFE97:"\u062A",\uFE98:"\u062A",\uFE96:"\u062A",\uFE95:"\u062A",\uFCA5:"\u062Ao",\uFCE4:"\u062Ao",\uFCA1:"\u062A\u062C",\uFC0B:"\u062A\u062C",\uFD50:"\u062A\u062C\u0645",\uFDA0:"\u062A\u062C\u0649",\uFD9F:"\u062A\u062C\u0649",\uFCA2:"\u062A\u062D",\uFC0C:"\u062A\u062D",\uFD52:"\u062A\u062D\u062C",\uFD51:"\u062A\u062D\u062C",\uFD53:"\u062A\u062D\u0645",\uFCA3:"\u062A\u062E",\uFC0D:"\u062A\u062E",\uFD54:"\u062A\u062E\u0645",\uFDA2:"\u062A\u062E\u0649",\uFDA1:"\u062A\u062E\u0649",\uFC70:"\u062A\u0631",\uFC71:"\u062A\u0632",\uFCA4:"\u062A\u0645",\uFCE3:"\u062A\u0645",\uFC72:"\u062A\u0645",\uFC0E:"\u062A\u0645",\uFD55:"\u062A\u0645\u062C",\uFD56:"\u062A\u0645\u062D",\uFD57:"\u062A\u0645\u062E",\uFDA4:"\u062A\u0645\u0649",\uFDA3:"\u062A\u0645\u0649",\uFC73:"\u062A\u0646",\uFC74:"\u062A\u0649",\uFC0F:"\u062A\u0649",\uFC75:"\u062A\u0649",\uFC10:"\u062A\u0649",\uFB60:"\u067A",\uFB61:"\u067A",\uFB5F:"\u067A",\uFB5E:"\u067A",\uFB64:"\u067F",\uFB65:"\u067F",\uFB63:"\u067F",\uFB62:"\u067F","\u{1EE02}":"\u062C","\u{1EE22}":"\u062C","\u{1EE42}":"\u062C","\u{1EE62}":"\u062C","\u{1EE82}":"\u062C","\u{1EEA2}":"\u062C",\uFE9F:"\u062C",\uFEA0:"\u062C",\uFE9E:"\u062C",\uFE9D:"\u062C",\uFCA7:"\u062C\u062D",\uFC15:"\u062C\u062D",\uFDA6:"\u062C\u062D\u0649",\uFDBE:"\u062C\u062D\u0649",\uFDFB:"\u062C\u0644 \u062C\u0644l\u0644o",\uFCA8:"\u062C\u0645",\uFC16:"\u062C\u0645",\uFD59:"\u062C\u0645\u062D",\uFD58:"\u062C\u0645\u062D",\uFDA7:"\u062C\u0645\u0649",\uFDA5:"\u062C\u0645\u0649",\uFD1D:"\u062C\u0649",\uFD01:"\u062C\u0649",\uFD1E:"\u062C\u0649",\uFD02:"\u062C\u0649",\uFB78:"\u0683",\uFB79:"\u0683",\uFB77:"\u0683",\uFB76:"\u0683",\uFB74:"\u0684",\uFB75:"\u0684",\uFB73:"\u0684",\uFB72:"\u0684",\uFB7C:"\u0686",\uFB7D:"\u0686",\uFB7B:"\u0686",\uFB7A:"\u0686",\uFB80:"\u0687",\uFB81:"\u0687",\uFB7F:"\u0687",\uFB7E:"\u0687","\u{1EE07}":"\u062D","\u{1EE27}":"\u062D","\u{1EE47}":"\u062D","\u{1EE67}":"\u062D","\u{1EE87}":"\u062D","\u{1EEA7}":"\u062D",\uFEA3:"\u062D",\uFEA4:"\u062D",\uFEA2:"\u062D",\uFEA1:"\u062D",\u0685:"\u062D\u06DB",\u0681:"\u062D\u0654","\u0772":"\u062D\u0654",\uFCA9:"\u062D\u062C",\uFC17:"\u062D\u062C",\uFDBF:"\u062D\u062C\u0649",\uFCAA:"\u062D\u0645",\uFC18:"\u062D\u0645",\uFD5B:"\u062D\u0645\u0649",\uFD5A:"\u062D\u0645\u0649",\uFD1B:"\u062D\u0649",\uFCFF:"\u062D\u0649",\uFD1C:"\u062D\u0649",\uFD00:"\u062D\u0649","\u{1EE17}":"\u062E","\u{1EE37}":"\u062E","\u{1EE57}":"\u062E","\u{1EE77}":"\u062E","\u{1EE97}":"\u062E","\u{1EEB7}":"\u062E",\uFEA7:"\u062E",\uFEA8:"\u062E",\uFEA6:"\u062E",\uFEA5:"\u062E",\uFCAB:"\u062E\u062C",\uFC19:"\u062E\u062C",\uFC1A:"\u062E\u062D",\uFCAC:"\u062E\u0645",\uFC1B:"\u062E\u0645",\uFD1F:"\u062E\u0649",\uFD03:"\u062E\u0649",\uFD20:"\u062E\u0649",\uFD04:"\u062E\u0649","\u{102E1}":"\u062F","\u{1EE03}":"\u062F","\u{1EE83}":"\u062F","\u{1EEA3}":"\u062F",\uFEAA:"\u062F",\uFEA9:"\u062F",\u0688:"\u062F\u0615",\uFB89:"\u062F\u0615",\uFB88:"\u062F\u0615",\u068E:"\u062F\u06DB",\uFB87:"\u062F\u06DB",\uFB86:"\u062F\u06DB","\u06EE":"\u062F\u0302","\u08AE":"\u062F\u0324\u0323","\u{1EE18}":"\u0630","\u{1EE98}":"\u0630","\u{1EEB8}":"\u0630",\uFEAC:"\u0630",\uFEAB:"\u0630",\uFC5B:"\u0630\u0670",\u068B:"\u068A\u0615",\uFB85:"\u068C",\uFB84:"\u068C",\uFB83:"\u068D",\uFB82:"\u068D","\u{1EE13}":"\u0631","\u{1EE93}":"\u0631","\u{1EEB3}":"\u0631",\uFEAE:"\u0631",\uFEAD:"\u0631",\u0691:"\u0631\u0615",\uFB8D:"\u0631\u0615",\uFB8C:"\u0631\u0615",\u0698:"\u0631\u06DB",\uFB8B:"\u0631\u06DB",\uFB8A:"\u0631\u06DB",\u0692:"\u0631\u0306","\u08B9":"\u0631\u0306\u0307","\u06EF":"\u0631\u0302","\u076C":"\u0631\u0654",\uFC5C:"\u0631\u0670",\uFDF6:"\u0631\u0633\u0648\u0644","\uFDFC":"\u0631\u0649l\u0644","\u{1EE06}":"\u0632","\u{1EE86}":"\u0632","\u{1EEA6}":"\u0632",\uFEB0:"\u0632",\uFEAF:"\u0632","\u08B2":"\u0632\u0302","\u0771":"\u0697\u0615","\u{1EE0E}":"\u0633","\u{1EE2E}":"\u0633","\u{1EE4E}":"\u0633","\u{1EE6E}":"\u0633","\u{1EE8E}":"\u0633","\u{1EEAE}":"\u0633",\uFEB3:"\u0633",\uFEB4:"\u0633",\uFEB2:"\u0633",\uFEB1:"\u0633",\u0634:"\u0633\u06DB","\u{1EE14}":"\u0633\u06DB","\u{1EE34}":"\u0633\u06DB","\u{1EE54}":"\u0633\u06DB","\u{1EE74}":"\u0633\u06DB","\u{1EE94}":"\u0633\u06DB","\u{1EEB4}":"\u0633\u06DB",\uFEB7:"\u0633\u06DB",\uFEB8:"\u0633\u06DB",\uFEB6:"\u0633\u06DB",\uFEB5:"\u0633\u06DB","\u077E":"\u0633\u0302",\uFD31:"\u0633o",\uFCE8:"\u0633o",\uFD32:"\u0633\u06DBo",\uFCEA:"\u0633\u06DBo",\uFCAD:"\u0633\u062C",\uFD34:"\u0633\u062C",\uFC1C:"\u0633\u062C",\uFD2D:"\u0633\u06DB\u062C",\uFD37:"\u0633\u06DB\u062C",\uFD25:"\u0633\u06DB\u062C",\uFD09:"\u0633\u06DB\u062C",\uFD5D:"\u0633\u062C\u062D",\uFD5E:"\u0633\u062C\u0649",\uFD69:"\u0633\u06DB\u062C\u0649",\uFCAE:"\u0633\u062D",\uFD35:"\u0633\u062D",\uFC1D:"\u0633\u062D",\uFD2E:"\u0633\u06DB\u062D",\uFD38:"\u0633\u06DB\u062D",\uFD26:"\u0633\u06DB\u062D",\uFD0A:"\u0633\u06DB\u062D",\uFD5C:"\u0633\u062D\u062C",\uFD68:"\u0633\u06DB\u062D\u0645",\uFD67:"\u0633\u06DB\u062D\u0645",\uFDAA:"\u0633\u06DB\u062D\u0649",\uFCAF:"\u0633\u062E",\uFD36:"\u0633\u062E",\uFC1E:"\u0633\u062E",\uFD2F:"\u0633\u06DB\u062E",\uFD39:"\u0633\u06DB\u062E",\uFD27:"\u0633\u06DB\u062E",\uFD0B:"\u0633\u06DB\u062E",\uFDA8:"\u0633\u062E\u0649",\uFDC6:"\u0633\u062E\u0649",\uFD2A:"\u0633\u0631",\uFD0E:"\u0633\u0631",\uFD29:"\u0633\u06DB\u0631",\uFD0D:"\u0633\u06DB\u0631",\uFCB0:"\u0633\u0645",\uFCE7:"\u0633\u0645",\uFC1F:"\u0633\u0645",\uFD30:"\u0633\u06DB\u0645",\uFCE9:"\u0633\u06DB\u0645",\uFD28:"\u0633\u06DB\u0645",\uFD0C:"\u0633\u06DB\u0645",\uFD61:"\u0633\u0645\u062C",\uFD60:"\u0633\u0645\u062D",\uFD5F:"\u0633\u0645\u062D",\uFD6B:"\u0633\u06DB\u0645\u062E",\uFD6A:"\u0633\u06DB\u0645\u062E",\uFD63:"\u0633\u0645\u0645",\uFD62:"\u0633\u0645\u0645",\uFD6D:"\u0633\u06DB\u0645\u0645",\uFD6C:"\u0633\u06DB\u0645\u0645",\uFD17:"\u0633\u0649",\uFCFB:"\u0633\u0649",\uFD18:"\u0633\u0649",\uFCFC:"\u0633\u0649",\uFD19:"\u0633\u06DB\u0649",\uFCFD:"\u0633\u06DB\u0649",\uFD1A:"\u0633\u06DB\u0649",\uFCFE:"\u0633\u06DB\u0649","\u{102F2}":"\u0635","\u{1EE11}":"\u0635","\u{1EE31}":"\u0635","\u{1EE51}":"\u0635","\u{1EE71}":"\u0635","\u{1EE91}":"\u0635","\u{1EEB1}":"\u0635",\uFEBB:"\u0635",\uFEBC:"\u0635",\uFEBA:"\u0635",\uFEB9:"\u0635",\u069E:"\u0635\u06DB","\u08AF":"\u0635\u0324\u0323",\uFCB1:"\u0635\u062D",\uFC20:"\u0635\u062D",\uFD65:"\u0635\u062D\u062D",\uFD64:"\u0635\u062D\u062D",\uFDA9:"\u0635\u062D\u0649",\uFCB2:"\u0635\u062E",\uFD2B:"\u0635\u0631",\uFD0F:"\u0635\u0631",\uFDF5:"\u0635\u0644\u0639\u0645",\uFDF9:"\u0635\u0644\u0649",\uFDF0:"\u0635\u0644\u0649",\uFDFA:"\u0635\u0644\u0649 l\u0644\u0644o \u0639\u0644\u0649o \u0648\u0633\u0644\u0645",\uFCB3:"\u0635\u0645",\uFC21:"\u0635\u0645",\uFDC5:"\u0635\u0645\u0645",\uFD66:"\u0635\u0645\u0645",\uFD21:"\u0635\u0649",\uFD05:"\u0635\u0649",\uFD22:"\u0635\u0649",\uFD06:"\u0635\u0649","\u{1EE19}":"\u0636","\u{1EE39}":"\u0636","\u{1EE59}":"\u0636","\u{1EE79}":"\u0636","\u{1EE99}":"\u0636","\u{1EEB9}":"\u0636",\uFEBF:"\u0636",\uFEC0:"\u0636",\uFEBE:"\u0636",\uFEBD:"\u0636",\uFCB4:"\u0636\u062C",\uFC22:"\u0636\u062C",\uFCB5:"\u0636\u062D",\uFC23:"\u0636\u062D",\uFD6E:"\u0636\u062D\u0649",\uFDAB:"\u0636\u062D\u0649",\uFCB6:"\u0636\u062E",\uFC24:"\u0636\u062E",\uFD70:"\u0636\u062E\u0645",\uFD6F:"\u0636\u062E\u0645",\uFD2C:"\u0636\u0631",\uFD10:"\u0636\u0631",\uFCB7:"\u0636\u0645",\uFC25:"\u0636\u0645",\uFD23:"\u0636\u0649",\uFD07:"\u0636\u0649",\uFD24:"\u0636\u0649",\uFD08:"\u0636\u0649","\u{102E8}":"\u0637","\u{1EE08}":"\u0637","\u{1EE68}":"\u0637","\u{1EE88}":"\u0637","\u{1EEA8}":"\u0637",\uFEC3:"\u0637",\uFEC4:"\u0637",\uFEC2:"\u0637",\uFEC1:"\u0637",\u069F:"\u0637\u06DB",\uFCB8:"\u0637\u062D",\uFC26:"\u0637\u062D",\uFD33:"\u0637\u0645",\uFD3A:"\u0637\u0645",\uFC27:"\u0637\u0645",\uFD72:"\u0637\u0645\u062D",\uFD71:"\u0637\u0645\u062D",\uFD73:"\u0637\u0645\u0645",\uFD74:"\u0637\u0645\u0649",\uFD11:"\u0637\u0649",\uFCF5:"\u0637\u0649",\uFD12:"\u0637\u0649",\uFCF6:"\u0637\u0649","\u{1EE1A}":"\u0638","\u{1EE7A}":"\u0638","\u{1EE9A}":"\u0638","\u{1EEBA}":"\u0638",\uFEC7:"\u0638",\uFEC8:"\u0638",\uFEC6:"\u0638",\uFEC5:"\u0638",\uFCB9:"\u0638\u0645",\uFD3B:"\u0638\u0645",\uFC28:"\u0638\u0645","\u060F":"\u0639","\u{1EE0F}":"\u0639","\u{1EE2F}":"\u0639","\u{1EE4F}":"\u0639","\u{1EE6F}":"\u0639","\u{1EE8F}":"\u0639","\u{1EEAF}":"\u0639",\uFECB:"\u0639",\uFECC:"\u0639",\uFECA:"\u0639",\uFEC9:"\u0639",\uFCBA:"\u0639\u062C",\uFC29:"\u0639\u062C",\uFDC4:"\u0639\u062C\u0645",\uFD75:"\u0639\u062C\u0645",\uFDF7:"\u0639\u0644\u0649o",\uFCBB:"\u0639\u0645",\uFC2A:"\u0639\u0645",\uFD77:"\u0639\u0645\u0645",\uFD76:"\u0639\u0645\u0645",\uFD78:"\u0639\u0645\u0649",\uFDB6:"\u0639\u0645\u0649",\uFD13:"\u0639\u0649",\uFCF7:"\u0639\u0649",\uFD14:"\u0639\u0649",\uFCF8:"\u0639\u0649","\u{1EE1B}":"\u063A","\u{1EE3B}":"\u063A","\u{1EE5B}":"\u063A","\u{1EE7B}":"\u063A","\u{1EE9B}":"\u063A","\u{1EEBB}":"\u063A",\uFECF:"\u063A",\uFED0:"\u063A",\uFECE:"\u063A",\uFECD:"\u063A",\uFCBC:"\u063A\u062C",\uFC2B:"\u063A\u062C",\uFCBD:"\u063A\u0645",\uFC2C:"\u063A\u0645",\uFD79:"\u063A\u0645\u0645",\uFD7B:"\u063A\u0645\u0649",\uFD7A:"\u063A\u0645\u0649",\uFD15:"\u063A\u0649",\uFCF9:"\u063A\u0649",\uFD16:"\u063A\u0649",\uFCFA:"\u063A\u0649","\u{1EE10}":"\u0641","\u{1EE30}":"\u0641","\u{1EE70}":"\u0641","\u{1EE90}":"\u0641","\u{1EEB0}":"\u0641",\uFED3:"\u0641",\uFED4:"\u0641",\uFED2:"\u0641",\uFED1:"\u0641",\u06A7:"\u0641",\uFCBE:"\u0641\u062C",\uFC2D:"\u0641\u062C",\uFCBF:"\u0641\u062D",\uFC2E:"\u0641\u062D",\uFCC0:"\u0641\u062E",\uFC2F:"\u0641\u062E",\uFD7D:"\u0641\u062E\u0645",\uFD7C:"\u0641\u062E\u0645",\uFCC1:"\u0641\u0645",\uFC30:"\u0641\u0645",\uFDC1:"\u0641\u0645\u0649",\uFC7C:"\u0641\u0649",\uFC31:"\u0641\u0649",\uFC7D:"\u0641\u0649",\uFC32:"\u0641\u0649","\u{1EE1E}":"\u06A1","\u{1EE7E}":"\u06A1","\u08BB":"\u06A1","\u066F":"\u06A1","\u{1EE1F}":"\u06A1","\u{1EE5F}":"\u06A1","\u08BC":"\u06A1",\u06A4:"\u06A1\u06DB",\uFB6C:"\u06A1\u06DB",\uFB6D:"\u06A1\u06DB",\uFB6B:"\u06A1\u06DB",\uFB6A:"\u06A1\u06DB",\u06A8:"\u06A1\u06DB","\u08A4":"\u06A2\u06DB",\uFB70:"\u06A6",\uFB71:"\u06A6",\uFB6F:"\u06A6",\uFB6E:"\u06A6","\u{1EE12}":"\u0642","\u{1EE32}":"\u0642","\u{1EE52}":"\u0642","\u{1EE72}":"\u0642","\u{1EE92}":"\u0642","\u{1EEB2}":"\u0642",\uFED7:"\u0642",\uFED8:"\u0642",\uFED6:"\u0642",\uFED5:"\u0642",\uFCC2:"\u0642\u062D",\uFC33:"\u0642\u062D",\uFDF1:"\u0642\u0644\u0649",\uFCC3:"\u0642\u0645",\uFC34:"\u0642\u0645",\uFDB4:"\u0642\u0645\u062D",\uFD7E:"\u0642\u0645\u062D",\uFD7F:"\u0642\u0645\u0645",\uFDB2:"\u0642\u0645\u0649",\uFC7E:"\u0642\u0649",\uFC35:"\u0642\u0649",\uFC7F:"\u0642\u0649",\uFC36:"\u0642\u0649","\u{1EE0A}":"\u0643","\u{1EE2A}":"\u0643","\u{1EE6A}":"\u0643",\uFEDB:"\u0643",\uFEDC:"\u0643",\uFEDA:"\u0643",\uFED9:"\u0643",\u06A9:"\u0643",\uFB90:"\u0643",\uFB91:"\u0643",\uFB8F:"\u0643",\uFB8E:"\u0643",\u06AA:"\u0643",\u06AD:"\u0643\u06DB",\uFBD5:"\u0643\u06DB",\uFBD6:"\u0643\u06DB",\uFBD4:"\u0643\u06DB",\uFBD3:"\u0643\u06DB","\u0763":"\u0643\u06DB",\uFC80:"\u0643l",\uFC37:"\u0643l",\uFCC4:"\u0643\u062C",\uFC38:"\u0643\u062C",\uFCC5:"\u0643\u062D",\uFC39:"\u0643\u062D",\uFCC6:"\u0643\u062E",\uFC3A:"\u0643\u062E",\uFCC7:"\u0643\u0644",\uFCEB:"\u0643\u0644",\uFC81:"\u0643\u0644",\uFC3B:"\u0643\u0644",\uFCC8:"\u0643\u0645",\uFCEC:"\u0643\u0645",\uFC82:"\u0643\u0645",\uFC3C:"\u0643\u0645",\uFDC3:"\u0643\u0645\u0645",\uFDBB:"\u0643\u0645\u0645",\uFDB7:"\u0643\u0645\u0649",\uFC83:"\u0643\u0649",\uFC3D:"\u0643\u0649",\uFC84:"\u0643\u0649",\uFC3E:"\u0643\u0649","\u0762":"\u06AC",\uFB94:"\u06AF",\uFB95:"\u06AF",\uFB93:"\u06AF",\uFB92:"\u06AF","\u08B0":"\u06AF",\u06B4:"\u06AF\u06DB",\uFB9C:"\u06B1",\uFB9D:"\u06B1",\uFB9B:"\u06B1",\uFB9A:"\u06B1",\uFB98:"\u06B3",\uFB99:"\u06B3",\uFB97:"\u06B3",\uFB96:"\u06B3","\u{1EE0B}":"\u0644","\u{1EE2B}":"\u0644","\u{1EE4B}":"\u0644","\u{1EE8B}":"\u0644","\u{1EEAB}":"\u0644",\uFEDF:"\u0644",\uFEE0:"\u0644",\uFEDE:"\u0644",\uFEDD:"\u0644",\u06B7:"\u0644\u06DB",\u06B5:"\u0644\u0306",\uFEFC:"\u0644l",\uFEFB:"\u0644l",\uFEFA:"\u0644l\u0655",\uFEF9:"\u0644l\u0655",\uFEF8:"\u0644l\u0674",\uFEF7:"\u0644l\u0674",\uFCCD:"\u0644o",\uFEF6:"\u0644\u0622",\uFEF5:"\u0644\u0622",\uFCC9:"\u0644\u062C",\uFC3F:"\u0644\u062C",\uFD83:"\u0644\u062C\u062C",\uFD84:"\u0644\u062C\u062C",\uFDBA:"\u0644\u062C\u0645",\uFDBC:"\u0644\u062C\u0645",\uFDAC:"\u0644\u062C\u0649",\uFCCA:"\u0644\u062D",\uFC40:"\u0644\u062D",\uFDB5:"\u0644\u062D\u0645",\uFD80:"\u0644\u062D\u0645",\uFD82:"\u0644\u062D\u0649",\uFD81:"\u0644\u062D\u0649",\uFCCB:"\u0644\u062E",\uFC41:"\u0644\u062E",\uFD86:"\u0644\u062E\u0645",\uFD85:"\u0644\u062E\u0645",\uFCCC:"\u0644\u0645",\uFCED:"\u0644\u0645",\uFC85:"\u0644\u0645",\uFC42:"\u0644\u0645",\uFD88:"\u0644\u0645\u062D",\uFD87:"\u0644\u0645\u062D",\uFDAD:"\u0644\u0645\u0649",\uFC86:"\u0644\u0649",\uFC43:"\u0644\u0649",\uFC87:"\u0644\u0649",\uFC44:"\u0644\u0649","\u{1EE0C}":"\u0645","\u{1EE2C}":"\u0645","\u{1EE6C}":"\u0645","\u{1EE8C}":"\u0645","\u{1EEAC}":"\u0645",\uFEE3:"\u0645",\uFEE4:"\u0645",\uFEE2:"\u0645",\uFEE1:"\u0645","\u08A7":"\u0645\u06DB","\u06FE":"\u0645\u0348",\uFC88:"\u0645l",\uFCCE:"\u0645\u062C",\uFC45:"\u0645\u062C",\uFD8C:"\u0645\u062C\u062D",\uFD92:"\u0645\u062C\u062E",\uFD8D:"\u0645\u062C\u0645",\uFDC0:"\u0645\u062C\u0649",\uFCCF:"\u0645\u062D",\uFC46:"\u0645\u062D",\uFD89:"\u0645\u062D\u062C",\uFD8A:"\u0645\u062D\u0645",\uFDF4:"\u0645\u062D\u0645\u062F",\uFD8B:"\u0645\u062D\u0649",\uFCD0:"\u0645\u062E",\uFC47:"\u0645\u062E",\uFD8E:"\u0645\u062E\u062C",\uFD8F:"\u0645\u062E\u0645",\uFDB9:"\u0645\u062E\u0649",\uFCD1:"\u0645\u0645",\uFC89:"\u0645\u0645",\uFC48:"\u0645\u0645",\uFDB1:"\u0645\u0645\u0649",\uFC49:"\u0645\u0649",\uFC4A:"\u0645\u0649","\u{1EE0D}":"\u0646","\u{1EE2D}":"\u0646","\u{1EE4D}":"\u0646","\u{1EE6D}":"\u0646","\u{1EE8D}":"\u0646","\u{1EEAD}":"\u0646",\uFEE7:"\u0646",\uFEE8:"\u0646",\uFEE6:"\u0646",\uFEE5:"\u0646","\u0768":"\u0646\u0615","\u0769":"\u0646\u0306",\uFCD6:"\u0646o",\uFCEF:"\u0646o",\uFDB8:"\u0646\u062C\u062D",\uFDBD:"\u0646\u062C\u062D",\uFD98:"\u0646\u062C\u0645",\uFD97:"\u0646\u062C\u0645",\uFD99:"\u0646\u062C\u0649",\uFDC7:"\u0646\u062C\u0649",\uFCD3:"\u0646\u062D",\uFC4C:"\u0646\u062D",\uFD95:"\u0646\u062D\u0645",\uFD96:"\u0646\u062D\u0649",\uFDB3:"\u0646\u062D\u0649",\uFCD4:"\u0646\u062E",\uFC4D:"\u0646\u062E",\uFC8A:"\u0646\u0631",\uFC8B:"\u0646\u0632",\uFCD5:"\u0646\u0645",\uFCEE:"\u0646\u0645",\uFC8C:"\u0646\u0645",\uFC4E:"\u0646\u0645",\uFD9B:"\u0646\u0645\u0649",\uFD9A:"\u0646\u0645\u0649",\uFC8D:"\u0646\u0646",\uFC8E:"\u0646\u0649",\uFC4F:"\u0646\u0649",\uFC8F:"\u0646\u0649",\uFC50:"\u0646\u0649",\u06C2:"\u06C0",\uFBA5:"\u06C0",\uFBA4:"\u06C0","\u{102E4}":"\u0648","\u{1EE05}":"\u0648","\u{1EE85}":"\u0648","\u{1EEA5}":"\u0648",\uFEEE:"\u0648",\uFEED:"\u0648","\u08B1":"\u0648",\u06CB:"\u0648\u06DB",\uFBDF:"\u0648\u06DB",\uFBDE:"\u0648\u06DB",\u06C7:"\u0648\u0313",\uFBD8:"\u0648\u0313",\uFBD7:"\u0648\u0313",\u06C6:"\u0648\u0306",\uFBDA:"\u0648\u0306",\uFBD9:"\u0648\u0306",\u06C9:"\u0648\u0302",\uFBE3:"\u0648\u0302",\uFBE2:"\u0648\u0302",\u06C8:"\u0648\u0670",\uFBDC:"\u0648\u0670",\uFBDB:"\u0648\u0670",\u0624:"\u0648\u0674",\uFE86:"\u0648\u0674",\uFE85:"\u0648\u0674",\u0676:"\u0648\u0674",\u0677:"\u0648\u0313\u0674",\uFBDD:"\u0648\u0313\u0674",\uFDF8:"\u0648\u0633\u0644\u0645",\uFBE1:"\u06C5",\uFBE0:"\u06C5","\u066E":"\u0649","\u{1EE1C}":"\u0649","\u{1EE7C}":"\u0649",\u06BA:"\u0649","\u{1EE1D}":"\u0649","\u{1EE5D}":"\u0649",\uFB9F:"\u0649",\uFB9E:"\u0649","\u08BD":"\u0649",\uFBE8:"\u0649",\uFBE9:"\u0649",\uFEF0:"\u0649",\uFEEF:"\u0649",\u064A:"\u0649","\u{1EE09}":"\u0649","\u{1EE29}":"\u0649","\u{1EE49}":"\u0649","\u{1EE69}":"\u0649","\u{1EE89}":"\u0649","\u{1EEA9}":"\u0649",\uFEF3:"\u0649",\uFEF4:"\u0649",\uFEF2:"\u0649",\uFEF1:"\u0649",\u06CC:"\u0649",\uFBFE:"\u0649",\uFBFF:"\u0649",\uFBFD:"\u0649",\uFBFC:"\u0649",\u06D2:"\u0649",\uFBAF:"\u0649",\uFBAE:"\u0649",\u0679:"\u0649\u0615",\uFB68:"\u0649\u0615",\uFB69:"\u0649\u0615",\uFB67:"\u0649\u0615",\uFB66:"\u0649\u0615",\u06BB:"\u0649\u0615",\uFBA2:"\u0649\u0615",\uFBA3:"\u0649\u0615",\uFBA1:"\u0649\u0615",\uFBA0:"\u0649\u0615",\u067E:"\u0649\u06DB",\uFB58:"\u0649\u06DB",\uFB59:"\u0649\u06DB",\uFB57:"\u0649\u06DB",\uFB56:"\u0649\u06DB",\u062B:"\u0649\u06DB","\u{1EE16}":"\u0649\u06DB","\u{1EE36}":"\u0649\u06DB","\u{1EE76}":"\u0649\u06DB","\u{1EE96}":"\u0649\u06DB","\u{1EEB6}":"\u0649\u06DB",\uFE9B:"\u0649\u06DB",\uFE9C:"\u0649\u06DB",\uFE9A:"\u0649\u06DB",\uFE99:"\u0649\u06DB",\u06BD:"\u0649\u06DB",\u06D1:"\u0649\u06DB","\u063F":"\u0649\u06DB","\u08B7":"\u0649\u06DB\u06E2","\u0756":"\u0649\u0306",\u06CE:"\u0649\u0306","\u08BA":"\u0649\u0306\u0307","\u063D":"\u0649\u0302","\u08A8":"\u0649\u0654",\uFC90:"\u0649\u0670",\uFC5D:"\u0649\u0670",\uFCDE:"\u0649o",\uFCF1:"\u0649o",\uFCE6:"\u0649\u06DBo",\u0626:"\u0649\u0674",\uFE8B:"\u0649\u0674",\uFE8C:"\u0649\u0674",\uFE8A:"\u0649\u0674",\uFE89:"\u0649\u0674",\u0678:"\u0649\u0674",\uFBEB:"\u0649\u0674l",\uFBEA:"\u0649\u0674l",\uFC9B:"\u0649\u0674o",\uFCE0:"\u0649\u0674o",\uFBED:"\u0649\u0674o",\uFBEC:"\u0649\u0674o",\uFBF8:"\u0649\u0674\u067B",\uFBF7:"\u0649\u0674\u067B",\uFBF6:"\u0649\u0674\u067B",\uFC97:"\u0649\u0674\u062C",\uFC00:"\u0649\u0674\u062C",\uFC98:"\u0649\u0674\u062D",\uFC01:"\u0649\u0674\u062D",\uFC99:"\u0649\u0674\u062E",\uFC64:"\u0649\u0674\u0631",\uFC65:"\u0649\u0674\u0632",\uFC9A:"\u0649\u0674\u0645",\uFCDF:"\u0649\u0674\u0645",\uFC66:"\u0649\u0674\u0645",\uFC02:"\u0649\u0674\u0645",\uFC67:"\u0649\u0674\u0646",\uFBEF:"\u0649\u0674\u0648",\uFBEE:"\u0649\u0674\u0648",\uFBF1:"\u0649\u0674\u0648\u0313",\uFBF0:"\u0649\u0674\u0648\u0313",\uFBF3:"\u0649\u0674\u0648\u0306",\uFBF2:"\u0649\u0674\u0648\u0306",\uFBF5:"\u0649\u0674\u0648\u0670",\uFBF4:"\u0649\u0674\u0648\u0670",\uFBFB:"\u0649\u0674\u0649",\uFBFA:"\u0649\u0674\u0649",\uFC68:"\u0649\u0674\u0649",\uFBF9:"\u0649\u0674\u0649",\uFC03:"\u0649\u0674\u0649",\uFC69:"\u0649\u0674\u0649",\uFC04:"\u0649\u0674\u0649",\uFCDA:"\u0649\u062C",\uFC55:"\u0649\u062C",\uFC11:"\u0649\u06DB\u062C",\uFDAF:"\u0649\u062C\u0649",\uFCDB:"\u0649\u062D",\uFC56:"\u0649\u062D",\uFDAE:"\u0649\u062D\u0649",\uFCDC:"\u0649\u062E",\uFC57:"\u0649\u062E",\uFC91:"\u0649\u0631",\uFC76:"\u0649\u06DB\u0631",\uFC92:"\u0649\u0632",\uFC77:"\u0649\u06DB\u0632",\uFCDD:"\u0649\u0645",\uFCF0:"\u0649\u0645",\uFC93:"\u0649\u0645",\uFC58:"\u0649\u0645",\uFCA6:"\u0649\u06DB\u0645",\uFCE5:"\u0649\u06DB\u0645",\uFC78:"\u0649\u06DB\u0645",\uFC12:"\u0649\u06DB\u0645",\uFD9D:"\u0649\u0645\u0645",\uFD9C:"\u0649\u0645\u0645",\uFDB0:"\u0649\u0645\u0649",\uFC94:"\u0649\u0646",\uFC79:"\u0649\u06DB\u0646",\uFC95:"\u0649\u0649",\uFC59:"\u0649\u0649",\uFC96:"\u0649\u0649",\uFC5A:"\u0649\u0649",\uFC7A:"\u0649\u06DB\u0649",\uFC13:"\u0649\u06DB\u0649",\uFC7B:"\u0649\u06DB\u0649",\uFC14:"\u0649\u06DB\u0649",\uFBB1:"\u06D3",\uFBB0:"\u06D3","\u{102B8}":"\u2D40","\u205E":"\u2D42","\u2E3D":"\u2D42","\u2999":"\u2D42","\uFE19":"\u2D57","\u205D":"\u2D57","\u22EE":"\u2D57",\u0544:"\u1206",\u054C:"\u1261",\u053B:"\u12AE",\u054A:"\u1323",\u0906:"\u0905\u093E",\u0912:"\u0905\u093E\u0946",\u0913:"\u0905\u093E\u0947",\u0914:"\u0905\u093E\u0948","\u0904":"\u0905\u0946",\u0911:"\u0905\u0949",\u090D:"\u090F\u0945",\u090E:"\u090F\u0946",\u0910:"\u090F\u0947",\u0908:"\u0930\u094D\u0907",\u0ABD:"\u093D","\u{111DC}":"\uA8FB","\u{111CB}":"\u093A","\u0AC1":"\u0941","\u0AC2":"\u0942","\u0A4B":"\u0946","\u0A4D":"\u094D","\u0ACD":"\u094D",\u0986:"\u0985\u09BE",\u09E0:"\u098B\u09C3",\u09E1:"\u098B\u09C3","\u{11492}":"\u0998","\u{11494}":"\u099A","\u{11496}":"\u099C","\u{11498}":"\u099E","\u{11499}":"\u099F","\u{1149B}":"\u09A1","\u{114AA}":"\u09A3","\u{1149E}":"\u09A4","\u{1149F}":"\u09A5","\u{114A0}":"\u09A6","\u{114A1}":"\u09A7","\u{114A2}":"\u09A8","\u{114A3}":"\u09AA","\u{114A9}":"\u09AC","\u{114A7}":"\u09AE","\u{114A8}":"\u09AF","\u{114AB}":"\u09B0","\u{1149D}":"\u09B2","\u{114AD}":"\u09B7","\u{114AE}":"\u09B8","\u{114C4}":"\u09BD","\u{114B0}":"\u09BE","\u{114B1}":"\u09BF","\u{114B9}":"\u09C7","\u{114BC}":"\u09CB","\u{114BE}":"\u09CC","\u{114C2}":"\u09CD","\u{114BD}":"\u09D7",\u0A09:"\u0A73\u0A41",\u0A0A:"\u0A73\u0A42",\u0A06:"\u0A05\u0A3E",\u0A10:"\u0A05\u0A48",\u0A14:"\u0A05\u0A4C",\u0A07:"\u0A72\u0A3F",\u0A08:"\u0A72\u0A40",\u0A0F:"\u0A72\u0A47",\u0A86:"\u0A85\u0ABE",\u0A91:"\u0A85\u0ABE\u0AC5",\u0A93:"\u0A85\u0ABE\u0AC7",\u0A94:"\u0A85\u0ABE\u0AC8",\u0A8D:"\u0A85\u0AC5",\u0A8F:"\u0A85\u0AC7",\u0A90:"\u0A85\u0AC8",\u0B06:"\u0B05\u0B3E","\u0BEE":"\u0B85",\u0BB0:"\u0B88","\u0BBE":"\u0B88","\u0BEB":"\u0B88\u0BC1","\u0BE8":"\u0B89",\u0D09:"\u0B89",\u0B8A:"\u0B89\u0BB3",\u0D0A:"\u0B89\u0D57","\u0BED":"\u0B8E","\u0BF7":"\u0B8E\u0BB5",\u0B9C:"\u0B90",\u0D1C:"\u0B90","\u0BE7":"\u0B95","\u0BEA":"\u0B9A","\u0BEC":"\u0B9A\u0BC1","\u0BF2":"\u0B9A\u0BC2","\u0D3A":"\u0B9F\u0BBF",\u0D23:"\u0BA3","\u0BFA":"\u0BA8\u0BC0","\u0BF4":"\u0BAE\u0BC0","\u0BF0":"\u0BAF",\u0D34:"\u0BB4","\u0BD7":"\u0BB3","\u0BC8":"\u0BA9",\u0D36:"\u0BB6","\u0BF8":"\u0BB7","\u0D3F":"\u0BBF","\u0D40":"\u0BBF","\u0BCA":"\u0BC6\u0B88","\u0BCC":"\u0BC6\u0BB3","\u0BCB":"\u0BC7\u0B88",\u0C85:"\u0C05",\u0C86:"\u0C06",\u0C87:"\u0C07",\u0C60:"\u0C0B\u0C3E",\u0C61:"\u0C0C\u0C3E",\u0C92:"\u0C12",\u0C14:"\u0C12\u0C4C",\u0C94:"\u0C12\u0C4C",\u0C13:"\u0C12\u0C55",\u0C93:"\u0C12\u0C55",\u0C9C:"\u0C1C",\u0C9E:"\u0C1E",\u0C22:"\u0C21\u0323",\u0CA3:"\u0C23",\u0C25:"\u0C27\u05BC",\u0C2D:"\u0C2C\u0323",\u0CAF:"\u0C2F",\u0C20:"\u0C30\u05BC",\u0CB1:"\u0C31",\u0CB2:"\u0C32",\u0C37:"\u0C35\u0323",\u0C39:"\u0C35\u0C3E",\u0C2E:"\u0C35\u0C41","\u0C42":"\u0C41\u0C3E","\u0C44":"\u0C43\u0C3E",\u0CE1:"\u0C8C\u0CBE",\u0D08:"\u0D07\u0D57",\u0D10:"\u0D0E\u0D46",\u0D13:"\u0D12\u0D3E",\u0D14:"\u0D12\u0D57",\u0D61:"\u0D1E","\u0D6B":"\u0D26\u0D4D\u0D30","\u0D79":"\u0D28\u0D41",\u0D0C:"\u0D28\u0D41",\u0D19:"\u0D28\u0D41","\u0D6F":"\u0D28\u0D4D","\u0D7B":"\u0D28\u0D4D","\u0D6C":"\u0D28\u0D4D\u0D28","\u0D5A":"\u0D28\u0D4D\u0D2E",\u0D31:"\u0D30","\u0D6A":"\u0D30\u0D4D","\u0D7C":"\u0D30\u0D4D","\u0D6E":"\u0D35\u0D4D\u0D30","\u0D76":"\u0D39\u0D4D\u0D2E","\u0D42":"\u0D41","\u0D43":"\u0D41","\u0D48":"\u0D46\u0D46","\u0DEA":"\u0DA2","\u0DEB":"\u0DAF","\u{11413}":"\u{11434}\u{11442}\u{11412}","\u{11419}":"\u{11434}\u{11442}\u{11418}","\u{11424}":"\u{11434}\u{11442}\u{11423}","\u{1142A}":"\u{11434}\u{11442}\u{11429}","\u{1142D}":"\u{11434}\u{11442}\u{1142C}","\u{1142F}":"\u{11434}\u{11442}\u{1142E}","\u{115D8}":"\u{11582}","\u{115D9}":"\u{11582}","\u{115DA}":"\u{11583}","\u{115DB}":"\u{11584}","\u{115DC}":"\u{115B2}","\u{115DD}":"\u{115B3}",\u0E03:"\u0E02",\u0E14:"\u0E04",\u0E15:"\u0E04",\u0E21:"\u0E06",\u0E88:"\u0E08",\u0E0B:"\u0E0A",\u0E0F:"\u0E0E",\u0E17:"\u0E11",\u0E9A:"\u0E1A",\u0E9B:"\u0E1B",\u0E9D:"\u0E1D",\u0E9E:"\u0E1E",\u0E9F:"\u0E1F",\u0E26:"\u0E20",\u0E8D:"\u0E22","\u17D4":"\u0E2F",\u0E45:"\u0E32",\u0E33:"\u030A\u0E32","\u17B7":"\u0E34","\u17B8":"\u0E35","\u17B9":"\u0E36","\u17BA":"\u0E37","\u0EB8":"\u0E38","\u0EB9":"\u0E39",\u0E41:"\u0E40\u0E40",\u0EDC:"\u0EAB\u0E99",\u0EDD:"\u0EAB\u0EA1",\u0EB3:"\u030A\u0EB2","\u0F02":"\u0F60\u0F74\u0F82\u0F7F","\u0F03":"\u0F60\u0F74\u0F82\u0F14",\u0F6A:"\u0F62",\u0F00:"\u0F68\u0F7C\u0F7E","\u0F77":"\u0FB2\u0F71\u0F80","\u0F79":"\u0FB3\u0F71\u0F80","\u{11CB2}":"\u{11CAA}","\u1081":"\u1002\u103E",\u1000:"\u1002\u102C","\u1070":"\u1003\u103E","\u1066":"\u1015\u103E",\u101F:"\u1015\u102C","\u106F":"\u1015\u102C\u103E","\u107E":"\u107D\u103E",\u1029:"\u101E\u103C",\u102A:"\u101E\u103C\u1031\u102C\u103A","\u109E":"\u1083\u030A",\u17A3:"\u17A2","\u19D0":"\u199E","\u19D1":"\u19B1","\u1A80":"\u1A45","\u1A90":"\u1A45","\uAA53":"\uAA01","\uAA56":"\uAA23","\u1B52":"\u1B0D","\u1B53":"\u1B11","\u1B58":"\u1B28","\uA9A3":"\uA99D",\u1896:"\u185C",\u1855:"\u1835",\u1FF6:"\u13EF",\u140D:"\u1401\xB7",\u142B:"\u1401\u1420",\u1411:"\u1404\xB7",\u1413:"\u1405\xB7",\u142D:"\u1405\u1420",\u1415:"\u1406\xB7",\u1418:"\u140A\xB7",\u142E:"\u140A\u1420",\u141A:"\u140B\xB7","\u18DD":"\u141E\u18DF",\u14D1:"\u1421",\u1540:"\u1429",\u143F:"\u1432\xB7",\u1443:"\u1434\xB7","\u2369":"\u1435",\u1447:"\u1439\xB7",\u145C:"\u144F\xB7","\u2E27":"\u1450","\u2283":"\u1450",\u145E:"\u1450\xB7",\u1469:"\u1450'","\u27C9":"\u1450/","\u2AD7":"\u1450\u1455",\u1460:"\u1451\xB7","\u2E26":"\u1455","\u2282":"\u1455",\u1462:"\u1455\xB7",\u146A:"\u1455'",\u1464:"\u1456\xB7",\u1475:"\u146B\xB7",\u1485:"\u146B'",\u1479:"\u146E\xB7",\u147D:"\u1470\xB7",\u1603:"\u1489",\u1493:"\u1489\xB7",\u1495:"\u148B\xB7",\u1497:"\u148C\xB7",\u149B:"\u148E\xB7",\u1602:"\u1490",\u149D:"\u1490\xB7",\u149F:"\u1491\xB7",\u14AD:"\u14A3\xB7",\u14B1:"\u14A6\xB7",\u14B3:"\u14A7\xB7",\u14B5:"\u14A8\xB7",\u14B9:"\u14AB\xB7",\u14CA:"\u14C0\xB7","\u18C7":"\u14C2\xB7","\u18C9":"\u14C3\xB7","\u18CB":"\u14C4\xB7","\u18CD":"\u14C5\xB7",\u14CC:"\u14C7\xB7",\u14CE:"\u14C8\xB7",\u1604:"\u14D3",\u14DD:"\u14D3\xB7",\u14DF:"\u14D5\xB7",\u14E1:"\u14D6\xB7",\u14E3:"\u14D7\xB7",\u14E5:"\u14D8\xB7",\u1607:"\u14DA",\u14E7:"\u14DA\xB7",\u14E9:"\u14DB\xB7",\u14F7:"\u14ED\xB7",\u14F9:"\u14EF\xB7",\u14FB:"\u14F0\xB7",\u14FD:"\u14F1\xB7",\u14FF:"\u14F2\xB7",\u1501:"\u14F4\xB7",\u1503:"\u14F5\xB7",\u150C:"\u150B<",\u150E:"\u150Bb",\u150D:"\u150B\u1455",\u150F:"\u150B\u1490",\u1518:"\u1510\xB7",\u151A:"\u1511\xB7",\u151C:"\u1512\xB7",\u151E:"\u1513\xB7",\u1520:"\u1514\xB7",\u1522:"\u1515\xB7",\u1524:"\u1516\xB7",\u1532:"\u1528\xB7",\u1534:"\u1529\xB7",\u1536:"\u152A\xB7",\u1538:"\u152B\xB7",\u153A:"\u152D\xB7",\u153C:"\u152E\xB7",\u1622:"\u1543","\u18E0":"\u1543\xB7",\u1623:"\u1546",\u1624:"\u154A",\u154F:"\u154C\xB7",\u1583:"\u1550b",\u1584:"\u1550b\u0307",\u1581:"\u1550d",\u157F:"\u1550P",\u166F:"\u1550\u146B",\u157E:"\u1550\u146C",\u1580:"\u1550\u146E",\u1582:"\u1550\u1470",\u1585:"\u1550\u1483",\u155C:"\u155A\xB7","\u18E3":"\u155E\xB7","\u18E4":"\u1566\xB7",\u1569:"\u1567\xB7","\u18E5":"\u156B\xB7","\u18E8":"\u1586\xB7",\u1591:"\u1595J",\u1670:"\u1595\u1489",\u158E:"\u1595\u148A",\u158F:"\u1595\u148B",\u1590:"\u1595\u148C",\u1592:"\u1595\u148E",\u1593:"\u1595\u1490",\u1594:"\u1595\u1491",\u1673:"\u1596J",\u1671:"\u1596\u148B",\u1672:"\u1596\u148C",\u1674:"\u1596\u148E",\u1675:"\u1596\u1490",\u1676:"\u1596\u1491","\u18EA":"\u1597\xB7","\u1677":"\u15A7\xB7","\u1678":"\u15A8\xB7","\u1679":"\u15A9\xB7","\u167A":"\u15AA\xB7","\u167B":"\u15AB\xB7","\u167C":"\u15AC\xB7","\u167D":"\u15AD\xB7","\u2AAB":"\u15D2","\u2AAA":"\u15D5","\uA4F7":"\u15E1","\u18F0":"\u15F4\xB7","\u18F2":"\u161B\xB7","\u1DBB":"\u1646","\uA4ED":"\u1660","\u1DBA":"\u18D4","\u1D3E":"\u18D6","\u18DC":"\u18DF\u141E",\u02E1:"\u18F3",\u02B3:"\u18F4",\u02E2:"\u18F5","\u18DB":"\u18F5","\uA6B0":"\u16B9",\u16E1:"\u16BC","\u237F":"\u16BD",\u16C2:"\u16BD","\u{1D23F}":"\u16CB","\u2191":"\u16CF","\u21BF":"\u16D0","\u296E":"\u16D0\u21C2","\u2963":"\u16D0\u16DA","\u2D63":"\u16EF","\u21BE":"\u16DA","\u2A21":"\u16DA","\u22C4":"\u16DC","\u25C7":"\u16DC","\u25CA":"\u16DC","\u2662":"\u16DC","\u{1F754}":"\u16DC","\u{118B7}":"\u16DC","\u{10294}":"\u16DC","\u235A":"\u16DC\u0332","\u22C8":"\u16DE","\u2A1D":"\u16DE","\u{104D0}":"\u16E6","\u2195":"\u16E8","\u{10CFC}":"\u{10C82}","\u{10CFA}":"\u{10CA5}",\u3131:"\u1100",\u11A8:"\u1100",\u1101:"\u1100\u1100",\u3132:"\u1100\u1100",\u11A9:"\u1100\u1100","\u11FA":"\u1100\u1102","\u115A":"\u1100\u1103",\u11C3:"\u1100\u1105","\u11FB":"\u1100\u1107",\u11AA:"\u1100\u1109",\u3133:"\u1100\u1109",\u11C4:"\u1100\u1109\u1100","\u11FC":"\u1100\u110E","\u11FD":"\u1100\u110F","\u11FE":"\u1100\u1112",\u3134:"\u1102",\u11AB:"\u1102",\u1113:"\u1102\u1100",\u11C5:"\u1102\u1100",\u1114:"\u1102\u1102",\u3165:"\u1102\u1102","\u11FF":"\u1102\u1102",\u1115:"\u1102\u1103",\u3166:"\u1102\u1103",\u11C6:"\u1102\u1103","\uD7CB":"\u1102\u1105",\u1116:"\u1102\u1107","\u115B":"\u1102\u1109",\u11C7:"\u1102\u1109",\u3167:"\u1102\u1109","\u115C":"\u1102\u110C",\u11AC:"\u1102\u110C",\u3135:"\u1102\u110C","\uD7CC":"\u1102\u110E",\u11C9:"\u1102\u1110","\u115D":"\u1102\u1112",\u11AD:"\u1102\u1112",\u3136:"\u1102\u1112",\u11C8:"\u1102\u1140",\u3168:"\u1102\u1140",\u3137:"\u1103",\u11AE:"\u1103",\u1117:"\u1103\u1100",\u11CA:"\u1103\u1100",\u1104:"\u1103\u1103",\u3138:"\u1103\u1103","\uD7CD":"\u1103\u1103","\uD7CE":"\u1103\u1103\u1107","\u115E":"\u1103\u1105",\u11CB:"\u1103\u1105","\uA960":"\u1103\u1106","\uA961":"\u1103\u1107","\uD7CF":"\u1103\u1107","\uA962":"\u1103\u1109","\uD7D0":"\u1103\u1109","\uD7D1":"\u1103\u1109\u1100","\uA963":"\u1103\u110C","\uD7D2":"\u1103\u110C","\uD7D3":"\u1103\u110E","\uD7D4":"\u1103\u1110",\u3139:"\u1105",\u11AF:"\u1105","\uA964":"\u1105\u1100",\u11B0:"\u1105\u1100",\u313A:"\u1105\u1100","\uA965":"\u1105\u1100\u1100","\uD7D5":"\u1105\u1100\u1100",\u11CC:"\u1105\u1100\u1109",\u3169:"\u1105\u1100\u1109","\uD7D6":"\u1105\u1100\u1112",\u1118:"\u1105\u1102",\u11CD:"\u1105\u1102","\uA966":"\u1105\u1103",\u11CE:"\u1105\u1103",\u316A:"\u1105\u1103","\uA967":"\u1105\u1103\u1103",\u11CF:"\u1105\u1103\u1112",\u1119:"\u1105\u1105",\u11D0:"\u1105\u1105","\uD7D7":"\u1105\u1105\u110F","\uA968":"\u1105\u1106",\u11B1:"\u1105\u1106",\u313B:"\u1105\u1106",\u11D1:"\u1105\u1106\u1100",\u11D2:"\u1105\u1106\u1109","\uD7D8":"\u1105\u1106\u1112","\uA969":"\u1105\u1107",\u11B2:"\u1105\u1107",\u313C:"\u1105\u1107","\uD7D9":"\u1105\u1107\u1103","\uA96A":"\u1105\u1107\u1107",\u11D3:"\u1105\u1107\u1109",\u316B:"\u1105\u1107\u1109","\uA96B":"\u1105\u1107\u110B",\u11D5:"\u1105\u1107\u110B","\uD7DA":"\u1105\u1107\u1111",\u11D4:"\u1105\u1107\u1112","\uA96C":"\u1105\u1109",\u11B3:"\u1105\u1109",\u313D:"\u1105\u1109",\u11D6:"\u1105\u1109\u1109",\u111B:"\u1105\u110B","\uD7DD":"\u1105\u110B","\uA96D":"\u1105\u110C","\uA96E":"\u1105\u110F",\u11D8:"\u1105\u110F",\u11B4:"\u1105\u1110",\u313E:"\u1105\u1110",\u11B5:"\u1105\u1111",\u313F:"\u1105\u1111",\u111A:"\u1105\u1112",\u3140:"\u1105\u1112",\u113B:"\u1105\u1112",\u11B6:"\u1105\u1112","\uD7F2":"\u1105\u1112",\u11D7:"\u1105\u1140",\u316C:"\u1105\u1140","\uD7DB":"\u1105\u114C",\u11D9:"\u1105\u1159",\u316D:"\u1105\u1159","\uD7DC":"\u1105\u1159\u1112",\u3141:"\u1106",\u11B7:"\u1106","\uA96F":"\u1106\u1100",\u11DA:"\u1106\u1100","\uD7DE":"\u1106\u1102","\uD7DF":"\u1106\u1102\u1102","\uA970":"\u1106\u1103",\u11DB:"\u1106\u1105","\uD7E0":"\u1106\u1106",\u111C:"\u1106\u1107",\u316E:"\u1106\u1107",\u11DC:"\u1106\u1107","\uD7E1":"\u1106\u1107\u1109","\uA971":"\u1106\u1109",\u11DD:"\u1106\u1109",\u316F:"\u1106\u1109",\u11DE:"\u1106\u1109\u1109",\u111D:"\u1106\u110B",\u3171:"\u1106\u110B",\u11E2:"\u1106\u110B","\uD7E2":"\u1106\u110C",\u11E0:"\u1106\u110E",\u11E1:"\u1106\u1112",\u11DF:"\u1106\u1140",\u3170:"\u1106\u1140",\u3142:"\u1107",\u11B8:"\u1107",\u111E:"\u1107\u1100",\u3172:"\u1107\u1100",\u111F:"\u1107\u1102",\u1120:"\u1107\u1103",\u3173:"\u1107\u1103","\uD7E3":"\u1107\u1103",\u11E3:"\u1107\u1105","\uD7E4":"\u1107\u1105\u1111","\uD7E5":"\u1107\u1106",\u1108:"\u1107\u1107",\u3143:"\u1107\u1107","\uD7E6":"\u1107\u1107",\u112C:"\u1107\u1107\u110B",\u3179:"\u1107\u1107\u110B",\u1121:"\u1107\u1109",\u3144:"\u1107\u1109",\u11B9:"\u1107\u1109",\u1122:"\u1107\u1109\u1100",\u3174:"\u1107\u1109\u1100",\u1123:"\u1107\u1109\u1103",\u3175:"\u1107\u1109\u1103","\uD7E7":"\u1107\u1109\u1103",\u1124:"\u1107\u1109\u1107",\u1125:"\u1107\u1109\u1109",\u1126:"\u1107\u1109\u110C","\uA972":"\u1107\u1109\u1110",\u112B:"\u1107\u110B",\u3178:"\u1107\u110B",\u11E6:"\u1107\u110B",\u1127:"\u1107\u110C",\u3176:"\u1107\u110C","\uD7E8":"\u1107\u110C",\u1128:"\u1107\u110E","\uD7E9":"\u1107\u110E","\uA973":"\u1107\u110F",\u1129:"\u1107\u1110",\u3177:"\u1107\u1110",\u112A:"\u1107\u1111",\u11E4:"\u1107\u1111","\uA974":"\u1107\u1112",\u11E5:"\u1107\u1112",\u3145:"\u1109",\u11BA:"\u1109",\u112D:"\u1109\u1100",\u317A:"\u1109\u1100",\u11E7:"\u1109\u1100",\u112E:"\u1109\u1102",\u317B:"\u1109\u1102",\u112F:"\u1109\u1103",\u317C:"\u1109\u1103",\u11E8:"\u1109\u1103",\u1130:"\u1109\u1105",\u11E9:"\u1109\u1105",\u1131:"\u1109\u1106","\uD7EA":"\u1109\u1106",\u1132:"\u1109\u1107",\u317D:"\u1109\u1107",\u11EA:"\u1109\u1107",\u1133:"\u1109\u1107\u1100","\uD7EB":"\u1109\u1107\u110B",\u110A:"\u1109\u1109",\u3146:"\u1109\u1109",\u11BB:"\u1109\u1109","\uD7EC":"\u1109\u1109\u1100","\uD7ED":"\u1109\u1109\u1103","\uA975":"\u1109\u1109\u1107",\u1134:"\u1109\u1109\u1109",\u1135:"\u1109\u110B",\u1136:"\u1109\u110C",\u317E:"\u1109\u110C","\uD7EF":"\u1109\u110C",\u1137:"\u1109\u110E","\uD7F0":"\u1109\u110E",\u1138:"\u1109\u110F",\u1139:"\u1109\u1110","\uD7F1":"\u1109\u1110",\u113A:"\u1109\u1111","\uD7EE":"\u1109\u1140",\u3147:"\u110B",\u11BC:"\u110B",\u1141:"\u110B\u1100",\u11EC:"\u110B\u1100",\u11ED:"\u110B\u1100\u1100",\u1142:"\u110B\u1103","\uA976":"\u110B\u1105",\u1143:"\u110B\u1106",\u1144:"\u110B\u1107",\u1145:"\u110B\u1109",\u11F1:"\u110B\u1109",\u3182:"\u110B\u1109",\u1147:"\u110B\u110B",\u3180:"\u110B\u110B",\u11EE:"\u110B\u110B",\u1148:"\u110B\u110C",\u1149:"\u110B\u110E",\u11EF:"\u110B\u110F",\u114A:"\u110B\u1110",\u114B:"\u110B\u1111","\uA977":"\u110B\u1112",\u1146:"\u110B\u1140",\u11F2:"\u110B\u1140",\u3183:"\u110B\u1140",\u3148:"\u110C",\u11BD:"\u110C","\uD7F7":"\u110C\u1107","\uD7F8":"\u110C\u1107\u1107",\u114D:"\u110C\u110B",\u110D:"\u110C\u110C",\u3149:"\u110C\u110C","\uD7F9":"\u110C\u110C","\uA978":"\u110C\u110C\u1112",\u314A:"\u110E",\u11BE:"\u110E",\u1152:"\u110E\u110F",\u1153:"\u110E\u1112",\u314B:"\u110F",\u11BF:"\u110F",\u314C:"\u1110",\u11C0:"\u1110","\uA979":"\u1110\u1110",\u314D:"\u1111",\u11C1:"\u1111",\u1156:"\u1111\u1107",\u11F3:"\u1111\u1107","\uD7FA":"\u1111\u1109",\u1157:"\u1111\u110B",\u3184:"\u1111\u110B",\u11F4:"\u1111\u110B","\uD7FB":"\u1111\u1110","\uA97A":"\u1111\u1112",\u314E:"\u1112",\u11C2:"\u1112",\u11F5:"\u1112\u1102",\u11F6:"\u1112\u1105",\u11F7:"\u1112\u1106",\u11F8:"\u1112\u1107","\uA97B":"\u1112\u1109",\u1158:"\u1112\u1112",\u3185:"\u1112\u1112",\u113D:"\u113C\u113C",\u113F:"\u113E\u113E",\u317F:"\u1140",\u11EB:"\u1140","\uD7F3":"\u1140\u1107","\uD7F4":"\u1140\u1107\u110B",\u3181:"\u114C",\u11F0:"\u114C","\uD7F5":"\u114C\u1106","\uD7F6":"\u114C\u1112",\u114F:"\u114E\u114E",\u1151:"\u1150\u1150",\u3186:"\u1159",\u11F9:"\u1159","\uA97C":"\u1159\u1159",\u3164:"\u1160",\u314F:"\u1161","\u11A3":"\u1161\u30FC",\u1176:"\u1161\u1169",\u1177:"\u1161\u116E",\u1162:"\u1161\u4E28",\u3150:"\u1161\u4E28",\u3151:"\u1163",\u1178:"\u1163\u1169",\u1179:"\u1163\u116D","\u11A4":"\u1163\u116E",\u1164:"\u1163\u4E28",\u3152:"\u1163\u4E28",\u3153:"\u1165",\u117C:"\u1165\u30FC",\u117A:"\u1165\u1169",\u117B:"\u1165\u116E",\u1166:"\u1165\u4E28",\u3154:"\u1165\u4E28",\u3155:"\u1167","\u11A5":"\u1167\u1163",\u117D:"\u1167\u1169",\u117E:"\u1167\u116E",\u1168:"\u1167\u4E28",\u3156:"\u1167\u4E28",\u3157:"\u1169",\u116A:"\u1169\u1161",\u3158:"\u1169\u1161",\u116B:"\u1169\u1161\u4E28",\u3159:"\u1169\u1161\u4E28","\u11A6":"\u1169\u1163","\u11A7":"\u1169\u1163\u4E28",\u117F:"\u1169\u1165",\u1180:"\u1169\u1165\u4E28","\uD7B0":"\u1169\u1167",\u1181:"\u1169\u1167\u4E28",\u1182:"\u1169\u1169","\uD7B1":"\u1169\u1169\u4E28",\u1183:"\u1169\u116E",\u116C:"\u1169\u4E28",\u315A:"\u1169\u4E28",\u315B:"\u116D","\uD7B2":"\u116D\u1161","\uD7B3":"\u116D\u1161\u4E28",\u1184:"\u116D\u1163",\u3187:"\u116D\u1163",\u1186:"\u116D\u1163",\u1185:"\u116D\u1163\u4E28",\u3188:"\u116D\u1163\u4E28","\uD7B4":"\u116D\u1165",\u1187:"\u116D\u1169",\u1188:"\u116D\u4E28",\u3189:"\u116D\u4E28",\u315C:"\u116E",\u1189:"\u116E\u1161",\u118A:"\u116E\u1161\u4E28",\u116F:"\u116E\u1165",\u315D:"\u116E\u1165",\u118B:"\u116E\u1165\u30FC",\u1170:"\u116E\u1165\u4E28",\u315E:"\u116E\u1165\u4E28","\uD7B5":"\u116E\u1167",\u118C:"\u116E\u1167\u4E28",\u118D:"\u116E\u116E",\u1171:"\u116E\u4E28",\u315F:"\u116E\u4E28","\uD7B6":"\u116E\u4E28\u4E28",\u3160:"\u1172",\u118E:"\u1172\u1161","\uD7B7":"\u1172\u1161\u4E28",\u118F:"\u1172\u1165",\u1190:"\u1172\u1165\u4E28",\u1191:"\u1172\u1167",\u318A:"\u1172\u1167",\u1192:"\u1172\u1167\u4E28",\u318B:"\u1172\u1167\u4E28","\uD7B8":"\u1172\u1169",\u1193:"\u1172\u116E",\u1194:"\u1172\u4E28",\u318C:"\u1172\u4E28",\u318D:"\u119E","\uD7C5":"\u119E\u1161",\u119F:"\u119E\u1165","\uD7C6":"\u119E\u1165\u4E28",\u11A0:"\u119E\u116E",\u11A2:"\u119E\u119E",\u11A1:"\u119E\u4E28",\u318E:"\u119E\u4E28",\u30D8:"\u3078","\u2341":"\u303C","\u29C4":"\u303C","\uA49E":"\uA04A","\uA4AC":"\uA050","\uA49C":"\uA0C0","\uA4A8":"\uA132","\uA4BF":"\uA259","\uA4BE":"\uA2B1","\uA494":"\uA2CD","\uA4C0":"\uA3AB","\uA4C2":"\uA3B5","\uA4BA":"\uA3BF","\uA4B0":"\uA3C2","\uA4A7":"\uA458","\u22A5":"\uA4D5","\u27C2":"\uA4D5","\u{1D21C}":"\uA4D5","\uA7B1":"\uA4D5","\uA79E":"\uA4E4","\u2141":"\uA4E8","\u2142":"\uA4F6","\u{1D215}":"\uA4F6","\u{1D22B}":"\uA4F6","\u{16F26}":"\uA4F6","\u{10411}":"\uA4F6","\u2143":"\u{16F00}","\u{11AE6}":"\u{11AE5}\u{11AEF}","\u{11AE8}":"\u{11AE5}\u{11AE5}","\u{11AE9}":"\u{11AE5}\u{11AE5}\u{11AEF}","\u{11AEA}":"\u{11AE5}\u{11AE5}\u{11AF0}","\u{11AE7}":"\u{11AE5}\u{11AF0}","\u{11AF4}":"\u{11AF3}\u{11AEF}","\u{11AF6}":"\u{11AF3}\u{11AF3}","\u{11AF7}":"\u{11AF3}\u{11AF3}\u{11AEF}","\u{11AF8}":"\u{11AF3}\u{11AF3}\u{11AF0}","\u{11AF5}":"\u{11AF3}\u{11AF0}","\u{11AEC}":"\u{11AEB}\u{11AEF}","\u{11AED}":"\u{11AEB}\u{11AEB}","\u{11AEE}":"\u{11AEB}\u{11AEB}\u{11AEF}","\u2295":"\u{102A8}","\u2A01":"\u{102A8}","\u{1F728}":"\u{102A8}","\uA69A":"\u{102A8}","\u25BD":"\u{102BC}","\u{1D214}":"\u{102BC}","\u{1F704}":"\u{102BC}","\u29D6":"\u{102C0}","\uA79B":"\u{1043A}","\uA79A":"\u{10412}","\u{104A0}":"\u{10486}","\u{103D1}":"\u{10382}","\u{103D3}":"\u{10393}","\u{12038}":"\u{1039A}","\u2625":"\u{1099E}","\u{132F9}":"\u{1099E}","\u3039":"\u5344",\uF967:"\u4E0D","\u{2F800}":"\u4E3D","\uFA70":"\u4E26","\u239C":"\u4E28","\u239F":"\u4E28","\u23A2":"\u4E28","\u23A5":"\u4E28","\u23AA":"\u4E28","\u23AE":"\u4E28","\u31D1":"\u4E28",\u1175:"\u4E28",\u3163:"\u4E28","\u2F01":"\u4E28",\u119C:"\u4E28\u30FC",\u1198:"\u4E28\u1161",\u1199:"\u4E28\u1163","\uD7BD":"\u4E28\u1163\u1169","\uD7BE":"\u4E28\u1163\u4E28","\uD7BF":"\u4E28\u1167","\uD7C0":"\u4E28\u1167\u4E28",\u119A:"\u4E28\u1169","\uD7C1":"\u4E28\u1169\u4E28","\uD7C2":"\u4E28\u116D",\u119B:"\u4E28\u116E","\uD7C3":"\u4E28\u1172",\u119D:"\u4E28\u119E","\uD7C4":"\u4E28\u4E28",\uF905:"\u4E32","\u{2F801}":"\u4E38",\uF95E:"\u4E39","\u{2F802}":"\u4E41","\u31E0":"\u4E59","\u2F04":"\u4E59","\u31DF":"\u4E5A","\u2E83":"\u4E5A","\u31D6":"\u4E5B","\u2E82":"\u4E5B","\u2EF2":"\u4E80",\uF91B:"\u4E82","\u31DA":"\u4E85","\u2F05":"\u4E85",\uF9BA:"\u4E86",\u30CB:"\u4E8C","\u2F06":"\u4E8C","\u{2F803}":"\u{20122}","\u2F07":"\u4EA0",\uF977:"\u4EAE","\u2F08":"\u4EBA",\u30A4:"\u4EBB","\u2E85":"\u4EBB",\uF9FD:"\u4EC0","\u{2F819}":"\u4ECC",\uF9A8:"\u4EE4","\u{2F804}":"\u4F60",\u5002:"\u4F75","\u{2F807}":"\u4F75","\uFA73":"\u4F80",\uF92D:"\u4F86",\uF9B5:"\u4F8B","\uFA30":"\u4FAE","\u{2F805}":"\u4FAE","\u{2F806}":"\u4FBB",\uF965:"\u4FBF",\u503C:"\u5024",\uF9D4:"\u502B","\u{2F808}":"\u507A","\u{2F809}":"\u5099","\u{2F80B}":"\u50CF",\uF9BB:"\u50DA","\uFA31":"\u50E7","\u{2F80A}":"\u50E7","\u{2F80C}":"\u349E","\u2F09":"\u513F",\uFA0C:"\u5140","\u2E8E":"\u5140","\uFA74":"\u5145","\uFA32":"\u514D","\u{2F80E}":"\u514D","\u{2F80F}":"\u5154","\u{2F810}":"\u5164","\u2F0A":"\u5165","\u{2F814}":"\u5167","\uFA72":"\u5168",\uF978:"\u5169",\u30CF:"\u516B","\u2F0B":"\u516B",\uF9D1:"\u516D","\u{2F811}":"\u5177","\u{2F812}":"\u{2051C}","\u{2F91B}":"\u{20525}","\uFA75":"\u5180","\u{2F813}":"\u34B9","\u2F0C":"\u5182","\u{2F815}":"\u518D","\u{2F816}":"\u{2054B}","\u{2F8D2}":"\u5192","\u{2F8D3}":"\u5195","\u{2F9CA}":"\u34BB","\u{2F8D4}":"\u6700","\u2F0D":"\u5196","\u{2F817}":"\u5197","\u{2F818}":"\u51A4","\u2F0E":"\u51AB","\u{2F81A}":"\u51AC","\uFA71":"\u51B5","\u{2F81B}":"\u51B5",\uF92E:"\u51B7",\uF979:"\u51C9",\uF955:"\u51CC",\uF954:"\u51DC",\uFA15:"\u51DE","\u2F0F":"\u51E0","\u{2F80D}":"\u{2063A}","\u{2F81D}":"\u51F5","\u2F10":"\u51F5","\u2F11":"\u5200","\u2E89":"\u5202","\u{2F81E}":"\u5203",\uFA00:"\u5207","\u{2F850}":"\u5207",\uF99C:"\u5217",\uF9DD:"\u5229","\u{2F81F}":"\u34DF",\uF9FF:"\u523A","\u{2F820}":"\u523B","\u{2F821}":"\u5246","\u{2F822}":"\u5272","\u{2F823}":"\u5277",\uF9C7:"\u5289","\u{2F9D9}":"\u{20804}",\u30AB:"\u529B",\uF98A:"\u529B","\u2F12":"\u529B",\uF99D:"\u52A3","\u{2F824}":"\u3515","\u{2F992}":"\u52B3","\uFA76":"\u52C7","\u{2F825}":"\u52C7","\uFA33":"\u52C9","\u{2F826}":"\u52C9",\uF952:"\u52D2",\uF92F:"\u52DE","\uFA34":"\u52E4","\u{2F827}":"\u52E4",\uF97F:"\u52F5","\u2F13":"\u52F9","\uFA77":"\u52FA","\u{2F828}":"\u52FA","\u{2F829}":"\u5305","\u{2F82A}":"\u5306","\u{2F9DD}":"\u{208DE}","\u2F14":"\u5315",\uF963:"\u5317","\u{2F82B}":"\u5317","\u2F15":"\u531A","\u2F16":"\u5338",\uF9EB:"\u533F","\u2F17":"\u5341","\u3038":"\u5341","\u303A":"\u5345","\u{2F82C}":"\u5349","\u0FD6":"\u534D","\u0FD5":"\u5350","\uFA35":"\u5351","\u{2F82D}":"\u5351","\u{2F82E}":"\u535A",\u30C8:"\u535C","\u2F18":"\u535C","\u2F19":"\u5369","\u2E8B":"\u353E","\u{2F82F}":"\u5373",\uF91C:"\u5375","\u{2F830}":"\u537D","\u{2F831}":"\u537F","\u{2F832}":"\u537F","\u{2F833}":"\u537F","\u2F1A":"\u5382","\u{2F834}":"\u{20A2C}","\u2F1B":"\u53B6",\uF96B:"\u53C3","\u2F1C":"\u53C8","\u{2F836}":"\u53CA","\u{2F837}":"\u53DF","\u{2F838}":"\u{20B63}",\u30ED:"\u53E3","\u2F1D":"\u53E3",\u56D7:"\u53E3","\u2F1E":"\u53E3",\uF906:"\u53E5","\u{2F839}":"\u53EB","\u{2F83A}":"\u53F1","\u{2F83B}":"\u5406",\uF9DE:"\u540F",\uF9ED:"\u541D","\u{2F83D}":"\u5438",\uF980:"\u5442","\u{2F83E}":"\u5448","\u{2F83F}":"\u5468","\u{2F83C}":"\u549E","\u{2F840}":"\u54A2",\uF99E:"\u54BD",\u439B:"\u3588","\u{2F841}":"\u54F6","\u{2F842}":"\u5510","\u{2F843}":"\u5553",\u555F:"\u5553","\uFA79":"\u5555","\u{2F844}":"\u5563","\u{2F845}":"\u5584","\u{2F846}":"\u5584",\uF90B:"\u5587","\uFA7A":"\u5599","\u{2F847}":"\u5599","\uFA36":"\u559D","\uFA78":"\u559D","\u{2F848}":"\u55AB","\u{2F849}":"\u55B3",\uFA0D:"\u55C0","\u{2F84A}":"\u55C2","\uFA7B":"\u55E2","\uFA37":"\u5606","\u{2F84C}":"\u5606","\u{2F84E}":"\u5651","\u{2F84F}":"\u5674","\uFA38":"\u5668",\uF9A9:"\u56F9","\u{2F84B}":"\u5716","\u{2F84D}":"\u5717","\u2F1F":"\u571F",\u58EB:"\u571F","\u2F20":"\u571F","\u{2F855}":"\u578B","\u{2F852}":"\u57CE",\u39B3:"\u363D","\u{2F853}":"\u57F4","\u{2F854}":"\u580D","\u{2F857}":"\u5831","\u{2F856}":"\u5832","\uFA39":"\u5840",\uFA10:"\u585A","\uFA7C":"\u585A",\uF96C:"\u585E",\u586B:"\u5861",\u58FF:"\u58AB","\u{2F858}":"\u58AC","\uFA7D":"\u58B3",\uF94A:"\u58D8",\uF942:"\u58DF","\u{2F859}":"\u{214E4}","\u{2F851}":"\u58EE","\u{2F85A}":"\u58F2","\u{2F85B}":"\u58F7","\u2F21":"\u5902","\u{2F85C}":"\u5906","\u2F22":"\u590A",\u30BF:"\u5915","\u2F23":"\u5915","\u{2F85D}":"\u591A","\u{2F85E}":"\u5922","\u2F24":"\u5927","\uFA7E":"\u5944",\uF90C:"\u5948",\uF909:"\u5951","\uFA7F":"\u5954","\u{2F85F}":"\u5962",\uF981:"\u5973","\u2F25":"\u5973","\u{2F860}":"\u{216A8}","\u{2F861}":"\u{216EA}","\u{2F865}":"\u59D8","\u{2F862}":"\u59EC","\u{2F863}":"\u5A1B","\u{2F864}":"\u5A27","\uFA80":"\u5A62","\u{2F866}":"\u5A66",\u5B00:"\u5AAF","\u{2F867}":"\u36EE","\u{2F868}":"\u36FC","\u{2F986}":"\u5AB5","\u{2F869}":"\u5B08","\uFA81":"\u5B28","\u{2F86A}":"\u5B3E","\u{2F86B}":"\u5B3E","\u2F26":"\u5B50","\u2F27":"\u5B80",\uFA04:"\u5B85","\u{2F86C}":"\u{219C8}","\u{2F86D}":"\u5BC3","\u{2F86E}":"\u5BD8",\uF95F:"\u5BE7",\uF9AA:"\u5BE7","\u{2F86F}":"\u5BE7",\uF9BC:"\u5BEE","\u{2F870}":"\u5BF3","\u{2F871}":"\u{21B18}","\u2F28":"\u5BF8","\u{2F872}":"\u5BFF","\u{2F873}":"\u5C06","\u2F29":"\u5C0F","\u{2F875}":"\u5C22","\u2E90":"\u5C22","\u2F2A":"\u5C22","\u2E8F":"\u5C23","\u{2F876}":"\u3781","\u2F2B":"\u5C38",\uF9BD:"\u5C3F","\u{2F877}":"\u5C60",\uF94B:"\u5C62","\uFA3B":"\u5C64",\uF9DF:"\u5C65","\uFA3C":"\u5C6E","\u{2F878}":"\u5C6E","\u2F2C":"\u5C6E","\u{2F8F8}":"\u{21D0B}","\u2F2D":"\u5C71","\u{2F879}":"\u5CC0","\u{2F87A}":"\u5C8D","\u{2F87B}":"\u{21DE4}","\u{2F87D}":"\u{21DE6}",\uF9D5:"\u5D19","\u{2F87C}":"\u5D43",\uF921:"\u5D50","\u{2F87F}":"\u5D6B","\u{2F87E}":"\u5D6E","\u{2F880}":"\u5D7C","\u{2F9F4}":"\u5DB2",\uF9AB:"\u5DBA","\u2F2E":"\u5DDB","\u{2F882}":"\u5DE2",\u30A8:"\u5DE5","\u2F2F":"\u5DE5","\u2F30":"\u5DF1","\u2E92":"\u5DF3","\u{2F883}":"\u382F","\u{2F884}":"\u5DFD","\u2F31":"\u5DFE",\u5E32:"\u5E21","\u{2F885}":"\u5E28","\u{2F886}":"\u5E3D","\u{2F887}":"\u5E69","\u{2F888}":"\u3862","\u{2F889}":"\u{22183}","\u2F32":"\u5E72",\uF98E:"\u5E74","\u{2F939}":"\u{2219F}","\u2E93":"\u5E7A","\u2F33":"\u5E7A","\u2F34":"\u5E7F",\uFA01:"\u5EA6","\u{2F88A}":"\u387C","\u{2F88B}":"\u5EB0","\u{2F88C}":"\u5EB3","\u{2F88D}":"\u5EB6",\uF928:"\u5ECA","\u{2F88E}":"\u5ECA",\uF9A2:"\u5EC9","\uFA82":"\u5ED2",\uFA0B:"\u5ED3","\uFA83":"\u5ED9",\uF982:"\u5EEC","\u2F35":"\u5EF4","\u{2F890}":"\u5EFE","\u2F36":"\u5EFE","\u{2F891}":"\u{22331}","\u{2F892}":"\u{22331}",\uF943:"\u5F04","\u2F37":"\u5F0B","\u2F38":"\u5F13","\u{2F894}":"\u5F22","\u{2F895}":"\u5F22","\u2F39":"\u5F50","\u2E94":"\u5F51","\u{2F874}":"\u5F53","\u{2F896}":"\u38C7","\u2F3A":"\u5F61","\u{2F899}":"\u5F62","\uFA84":"\u5F69","\u{2F89A}":"\u5F6B","\u2F3B":"\u5F73",\uF9D8:"\u5F8B","\u{2F89B}":"\u38E3","\u{2F89C}":"\u5F9A",\uF966:"\u5FA9","\uFA85":"\u5FAD","\u2F3C":"\u5FC3","\u2E96":"\u5FC4","\u2E97":"\u38FA","\u{2F89D}":"\u5FCD","\u{2F89E}":"\u5FD7",\uF9A3:"\u5FF5","\u{2F89F}":"\u5FF9",\uF960:"\u6012",\uF9AC:"\u601C","\uFA6B":"\u6075","\u{2F8A2}":"\u391C","\u{2F8A1}":"\u393A","\u{2F8A0}":"\u6081","\uFA3D":"\u6094","\u{2F8A3}":"\u6094","\u{2F8A5}":"\u60C7","\uFA86":"\u60D8",\uF9B9:"\u60E1","\u{2F8A4}":"\u{226D4}","\uFA88":"\u6108","\uFA3E":"\u6168",\uF9D9:"\u6144","\u{2F8A6}":"\u6148","\u{2F8A7}":"\u614C","\u{2F8A9}":"\u614C","\uFA87":"\u614E","\u{2F8A8}":"\u614E","\uFA8A":"\u6160","\u{2F8AA}":"\u617A","\uFA3F":"\u618E","\uFA89":"\u618E","\u{2F8AB}":"\u618E",\uF98F:"\u6190","\u{2F8AD}":"\u61A4","\u{2F8AE}":"\u61AF","\u{2F8AC}":"\u61B2","\uFAD0":"\u{22844}","\uFACF":"\u{2284A}","\u{2F8AF}":"\u61DE","\uFA40":"\u61F2","\uFA8B":"\u61F2","\u{2F8B0}":"\u61F2",\uF90D:"\u61F6","\u{2F8B1}":"\u61F6",\uF990:"\u6200","\u2F3D":"\u6208","\u{2F8B2}":"\u6210","\u{2F8B3}":"\u621B",\uF9D2:"\u622E","\uFA8C":"\u6234","\u2F3E":"\u6236",\u6238:"\u6236","\u2F3F":"\u624B","\u2E98":"\u624C","\u{2F8B4}":"\u625D","\u{2F8B5}":"\u62B1",\uF925:"\u62C9",\uF95B:"\u62CF",\uFA02:"\u62D3","\u{2F8B6}":"\u62D4","\u{2F8BA}":"\u62FC",\uF973:"\u62FE","\u{2F8B8}":"\u{22B0C}","\u{2F8B9}":"\u633D","\u{2F8B7}":"\u6350","\u{2F8BB}":"\u6368",\uF9A4:"\u637B","\u{2F8BC}":"\u6383",\uF975:"\u63A0","\u{2F8C1}":"\u63A9","\uFA8D":"\u63C4","\u{2F8BD}":"\u63E4","\uFA8F":"\u6452","\u{2F8BE}":"\u{22BF1}","\uFA8E":"\u641C","\u{2F8BF}":"\u6422","\u{2F8C0}":"\u63C5","\u{2F8C3}":"\u6469","\u{2F8C6}":"\u6477","\u{2F8C4}":"\u647E","\u{2F8C2}":"\u3A2E",\u6409:"\u3A41",\uF991:"\u649A","\u{2F8C5}":"\u649D",\uF930:"\u64C4","\u{2F8C7}":"\u3A6C","\u2F40":"\u652F","\u2F41":"\u6534","\u2E99":"\u6535","\uFA41":"\u654F","\u{2F8C8}":"\u654F","\uFA90":"\u6556","\u{2F8C9}":"\u656C",\uF969:"\u6578","\u{2F8CA}":"\u{2300A}","\u2F42":"\u6587","\u2EEB":"\u6589","\u2F43":"\u6597",\uF9BE:"\u6599","\u2F44":"\u65A4","\u2F45":"\u65B9",\uF983:"\u65C5","\u2F46":"\u65E0","\u2E9B":"\u65E1","\uFA42":"\u65E2","\u{2F8CB}":"\u65E3","\u2F47":"\u65E5",\uF9E0:"\u6613",\u66F6:"\u3ADA","\u{2F8D1}":"\u3AE4","\u{2F8CD}":"\u6649",\u6669:"\u665A",\uFA12:"\u6674","\uFA91":"\u6674","\uFA43":"\u6691","\u{2F8CF}":"\u6691",\uF9C5:"\u6688","\u{2F8D0}":"\u3B08","\u{2F8D5}":"\u669C",\uFA06:"\u66B4",\uF98B:"\u66C6","\u{2F8CE}":"\u3B19","\u{2F897}":"\u{232B8}","\u2F48":"\u66F0",\uF901:"\u66F4","\u{2F8CC}":"\u66F8","\u2F49":"\u6708","\u{2F980}":"\u{2335F}",\u80A6:"\u670C",\u80D0:"\u670F",\u80CA:"\u6710",\u8101:"\u6713",\u80F6:"\u3B35",\uF929:"\u6717","\uFA92":"\u6717","\u{2F8D8}":"\u6717",\u8127:"\u6718","\uFA93":"\u671B","\u{2F8D9}":"\u671B",\u5E50:"\u3B3A",\u4420:"\u3B3B","\u{2F989}":"\u{23393}",\u81A7:"\u6723","\u{2F98A}":"\u{2339C}","\u2F4A":"\u6728",\uF9E1:"\u674E","\u{2F8DC}":"\u6753","\uFA94":"\u6756","\u{2F8DB}":"\u675E","\u{2F8DD}":"\u{233C3}",\u67FF:"\u676E",\uF9C8:"\u677B","\u{2F8E0}":"\u6785",\uF9F4:"\u6797","\u{2F8DE}":"\u3B49","\uFAD1":"\u{233D5}",\uF9C9:"\u67F3","\u{2F8DF}":"\u67FA",\uF9DA:"\u6817","\u{2F8E5}":"\u681F","\u{2F8E1}":"\u6852","\u{2F8E3}":"\u{2346D}",\uF97A:"\u6881","\uFA44":"\u6885","\u{2F8E2}":"\u6885","\u{2F8E4}":"\u688E",\uF9E2:"\u68A8","\u{2F8E6}":"\u6914","\u{2F8E8}":"\u6942","\uFAD2":"\u3B9D","\u{2F8E7}":"\u3B9D",\u69E9:"\u3BA3",\u6A27:"\u699D","\u{2F8E9}":"\u69A3","\u{2F8EA}":"\u69EA",\uF914:"\u6A02",\uF95C:"\u6A02",\uF9BF:"\u6A02",\uF94C:"\u6A13","\u{2F8EC}":"\u{236A3}","\u{2F8EB}":"\u6AA8",\uF931:"\u6AD3","\u{2F8ED}":"\u6ADB",\uF91D:"\u6B04","\u{2F8EE}":"\u3C18","\u2F4B":"\u6B20","\u{2F8EF}":"\u6B21","\u{2F8F0}":"\u{238A7}","\u{2F8F1}":"\u6B54","\u{2F8F2}":"\u3C4E","\u2F4C":"\u6B62","\u2EED":"\u6B6F","\u{2F8F3}":"\u6B72",\uF98C:"\u6B77","\uFA95":"\u6B79","\u2F4D":"\u6B79","\u2E9E":"\u6B7A","\u{2F8F4}":"\u6B9F",\uF9A5:"\u6BAE","\u2F4E":"\u6BB3",\uF970:"\u6BBA","\uFA96":"\u6BBA","\u{2F8F5}":"\u6BBA","\u{2F8F6}":"\u6BBB","\u{2F8F7}":"\u{23A8D}","\u2F4F":"\u6BCB","\u2E9F":"\u6BCD","\u{2F8F9}":"\u{23AFA}","\u2F50":"\u6BD4","\u2F51":"\u6BDB","\u2F52":"\u6C0F","\u2EA0":"\u6C11","\u2F53":"\u6C14","\u2F54":"\u6C34","\u2EA1":"\u6C35","\u2EA2":"\u6C3A","\u{2F8FA}":"\u6C4E","\u{2F8FE}":"\u6C67",\uF972:"\u6C88","\u{2F8FC}":"\u6CBF",\uF968:"\u6CCC","\u{2F8FD}":"\u6CCD",\uF9E3:"\u6CE5","\u{2F8FB}":"\u{23CBC}",\uF915:"\u6D1B",\uFA05:"\u6D1E","\u{2F907}":"\u6D34","\u{2F900}":"\u6D3E",\uF9CA:"\u6D41","\uFA97":"\u6D41","\u{2F902}":"\u6D41","\u{2F8FF}":"\u6D16","\u{2F903}":"\u6D69",\uF92A:"\u6D6A","\uFA45":"\u6D77","\u{2F901}":"\u6D77","\u{2F904}":"\u6D78","\u{2F905}":"\u6D85","\u{2F906}":"\u{23D1E}",\uF9F5:"\u6DCB",\uF94D:"\u6DDA",\uF9D6:"\u6DEA","\u{2F90E}":"\u6DF9","\uFA46":"\u6E1A","\u{2F908}":"\u6E2F","\u{2F909}":"\u6E6E",\u6F59:"\u6E88","\uFA99":"\u6ECB","\u{2F90B}":"\u6ECB",\uF9CB:"\u6E9C",\uF9EC:"\u6EBA","\u{2F90C}":"\u6EC7",\uF904:"\u6ED1","\uFA98":"\u6EDB","\u{2F90A}":"\u3D33",\uF94E:"\u6F0F","\uFA47":"\u6F22","\uFA9A":"\u6F22",\uF992:"\u6F23","\u{2F90D}":"\u{23ED1}","\u{2F90F}":"\u6F6E","\u{2F910}":"\u{23F5E}","\u{2F911}":"\u{23F8E}","\u{2F912}":"\u6FC6",\uF922:"\u6FEB",\uF984:"\u6FFE","\u{2F915}":"\u701B","\uFA9B":"\u701E","\u{2F914}":"\u701E","\u{2F913}":"\u7039","\u{2F917}":"\u704A","\u{2F916}":"\u3D96","\u2F55":"\u706B","\u2EA3":"\u706C","\u{2F835}":"\u7070","\u{2F919}":"\u7077","\u{2F918}":"\u707D",\uF9FB:"\u7099","\u{2F91A}":"\u70AD",\uF99F:"\u70C8",\uF916:"\u70D9","\uFA48":"\u716E","\uFA9C":"\u716E","\u{2F91D}":"\u{24263}","\u{2F91C}":"\u7145",\uF993:"\u7149","\uFA6C":"\u{242EE}","\u{2F91E}":"\u719C",\uF9C0:"\u71CE",\uF9EE:"\u71D0","\u{2F91F}":"\u{243AB}",\uF932:"\u7210",\uF91E:"\u721B","\u{2F920}":"\u7228","\u2F56":"\u722A","\uFA49":"\u722B","\u2EA4":"\u722B","\uFA9E":"\u7235","\u{2F921}":"\u7235","\u2F57":"\u7236","\u2F58":"\u723B","\u2EA6":"\u4E2C","\u2F59":"\u723F","\u2F5A":"\u7247","\u{2F922}":"\u7250","\u2F5B":"\u7259","\u{2F923}":"\u{24608}","\u2F5C":"\u725B",\uF946:"\u7262","\u{2F924}":"\u7280","\u{2F925}":"\u7295","\u2F5D":"\u72AC","\u2EA8":"\u72AD","\uFA9F":"\u72AF",\uF9FA:"\u72C0","\u{2F926}":"\u{24735}",\uF92B:"\u72FC",\uFA16:"\u732A","\uFAA0":"\u732A","\u{2F927}":"\u{24814}",\uF9A7:"\u7375","\u{2F928}":"\u737A","\u2F5E":"\u7384",\uF961:"\u7387",\uF9DB:"\u7387","\u2F5F":"\u7389","\u{2F929}":"\u738B","\u{2F92A}":"\u3EAC","\u{2F92B}":"\u73A5",\uF9AD:"\u73B2","\u{2F92C}":"\u3EB8","\u{2F92D}":"\u3EB8",\uF917:"\u73DE",\uF9CC:"\u7409",\uF9E4:"\u7406","\uFA4A":"\u7422","\u{2F92E}":"\u7447","\u{2F92F}":"\u745C",\uF9AE:"\u7469","\uFAA1":"\u7471","\u{2F930}":"\u7471","\u{2F931}":"\u7485",\uF994:"\u7489",\uF9EF:"\u7498","\u{2F932}":"\u74CA","\u2F60":"\u74DC","\u2F61":"\u74E6","\u{2F933}":"\u3F1B","\uFAA2":"\u7506","\u2F62":"\u7518","\u2F63":"\u751F","\u{2F934}":"\u7524","\u2F64":"\u7528","\u2F65":"\u7530","\uFAA3":"\u753B","\u{2F936}":"\u753E","\u{2F935}":"\u{24C36}",\uF9CD:"\u7559",\uF976:"\u7565",\uF962:"\u7570","\u{2F938}":"\u7570","\u{2F937}":"\u{24C92}","\u2F66":"\u758B","\u2F67":"\u7592",\uF9E5:"\u75E2","\u{2F93A}":"\u7610","\uFAA5":"\u761F","\uFAA4":"\u761D",\uF9C1:"\u7642",\uF90E:"\u7669","\u2F68":"\u7676","\u2F69":"\u767D","\u{2F93B}":"\u{24FA1}","\u{2F93C}":"\u{24FB8}","\u2F6A":"\u76AE","\u2F6B":"\u76BF","\u{2F93D}":"\u{25044}","\u{2F93E}":"\u3FFC",\uFA17:"\u76CA","\uFAA6":"\u76CA","\uFAA7":"\u76DB",\uF933:"\u76E7","\u{2F93F}":"\u4008","\u2F6C":"\u76EE","\uFAA8":"\u76F4","\u{2F940}":"\u76F4","\u{2F942}":"\u{250F2}","\u{2F941}":"\u{250F3}",\uF96D:"\u7701","\uFAD3":"\u4018","\u{2F943}":"\u{25119}","\u{2F945}":"\u771E","\u{2F946}":"\u771F","\u{2F947}":"\u771F","\u{2F944}":"\u{25133}","\uFAAA":"\u7740","\uFAA9":"\u774A","\u{2F948}":"\u774A","\u9FC3":"\u4039","\uFAD4":"\u4039","\u{2F949}":"\u4039",\u6663:"\u403F","\u{2F94B}":"\u4046","\u{2F94A}":"\u778B","\uFAD5":"\u{25249}","\uFA9D":"\u77A7","\u2F6D":"\u77DB","\u2F6E":"\u77E2","\u2F6F":"\u77F3","\u{2F94C}":"\u4096","\u{2F94D}":"\u{2541D}",\u784F:"\u7814","\u{2F94E}":"\u784E",\uF9CE:"\u786B",\uF93B:"\u788C","\u{2F94F}":"\u788C","\uFA4B":"\u7891",\uF947:"\u78CA","\uFAAB":"\u78CC","\u{2F950}":"\u78CC",\uF964:"\u78FB","\u{2F951}":"\u40E3",\uF985:"\u792A","\u2F70":"\u793A","\u2EAD":"\u793B",\uFA18:"\u793C","\uFA4C":"\u793E","\uFA4E":"\u7948","\uFA4D":"\u7949","\u{2F952}":"\u{25626}","\uFA4F":"\u7950","\uFA50":"\u7956","\u{2F953}":"\u7956","\uFA51":"\u795D",\uFA19:"\u795E",\uFA1A:"\u7965","\uFA61":"\u8996","\uFAB8":"\u8996",\uF93C:"\u797F","\u{2F954}":"\u{2569A}","\uFA52":"\u798D","\uFA53":"\u798E",\uFA1B:"\u798F","\u{2F956}":"\u798F","\u{2F955}":"\u{256C5}",\uF9B6:"\u79AE","\u2F71":"\u79B8","\u2F72":"\u79BE",\uF995:"\u79CA","\u{2F958}":"\u412F","\u{2F957}":"\u79EB",\uF956:"\u7A1C","\u{2F95A}":"\u7A4A","\uFA54":"\u7A40","\u{2F959}":"\u7A40","\u{2F95B}":"\u7A4F","\u2F73":"\u7A74","\uFA55":"\u7A81","\u{2F95C}":"\u{2597C}","\uFAAC":"\u7AB1",\uF9F7:"\u7ACB","\u2F74":"\u7ACB","\u2EEF":"\u7ADC","\u{2F95D}":"\u{25AA7}","\u{2F95E}":"\u{25AA7}","\u{2F95F}":"\u7AEE","\u2F75":"\u7AF9",\uF9F8:"\u7B20","\uFA56":"\u7BC0","\uFAAD":"\u7BC0","\u{2F960}":"\u4202","\u{2F961}":"\u{25BAB}","\u{2F962}":"\u7BC6","\u{2F964}":"\u4227","\u{2F963}":"\u7BC9","\u{2F965}":"\u{25C80}","\uFAD6":"\u{25CD0}",\uF9A6:"\u7C3E",\uF944:"\u7C60","\u2F76":"\u7C73","\uFAAE":"\u7C7B",\uF9F9:"\u7C92",\uFA1D:"\u7CBE","\u{2F966}":"\u7CD2",\uFA03:"\u7CD6","\u{2F968}":"\u7CE8","\u{2F967}":"\u42A0","\u{2F969}":"\u7CE3",\uF97B:"\u7CE7","\u2F77":"\u7CF8","\u2EAF":"\u7CF9","\u{2F96B}":"\u{25F86}","\u{2F96A}":"\u7D00",\uF9CF:"\u7D10",\uF96A:"\u7D22",\uF94F:"\u7D2F",\u7D76:"\u7D55","\u{2F96C}":"\u7D63","\uFAAF":"\u7D5B",\uF93D:"\u7DA0",\uF957:"\u7DBE","\u{2F96E}":"\u7DC7",\uF996:"\u7DF4","\uFA57":"\u7DF4","\uFAB0":"\u7DF4","\u{2F96F}":"\u7E02","\u{2F96D}":"\u4301","\uFA58":"\u7E09",\uF950:"\u7E37","\uFA59":"\u7E41","\u{2F970}":"\u7E45","\u{2F898}":"\u{261DA}","\u{2F971}":"\u4334","\u2F78":"\u7F36","\u{2F972}":"\u{26228}","\uFAB1":"\u7F3E","\u{2F973}":"\u{26247}","\u2F79":"\u7F51","\u2EAB":"\u7F52","\u2EB2":"\u7F52","\u2EB1":"\u7F53","\u{2F974}":"\u4359","\uFA5A":"\u7F72","\u{2F975}":"\u{262D9}",\uF9E6:"\u7F79","\u{2F976}":"\u7F7A",\uF90F:"\u7F85","\u{2F977}":"\u{2633E}","\u2F7A":"\u7F8A","\u{2F978}":"\u7F95",\uF9AF:"\u7F9A",\uFA1E:"\u7FBD","\u2F7B":"\u7FBD","\u{2F979}":"\u7FFA",\uF934:"\u8001","\u2F7C":"\u8001","\u2EB9":"\u8002","\uFA5B":"\u8005","\uFAB2":"\u8005","\u{2F97A}":"\u8005","\u2F7D":"\u800C","\u{2F97B}":"\u{264DA}","\u2F7E":"\u8012","\u{2F97C}":"\u{26523}","\u2F7F":"\u8033",\uF9B0:"\u8046","\u{2F97D}":"\u8060","\u{2F97E}":"\u{265A8}",\uF997:"\u806F","\u{2F97F}":"\u8070",\uF945:"\u807E","\u2F80":"\u807F","\u2EBA":"\u8080","\u2F81":"\u8089",\uF953:"\u808B","\u{2F8D6}":"\u80AD","\u{2F982}":"\u80B2","\u{2F981}":"\u43D5","\u{2F8D7}":"\u43D9",\u8141:"\u80FC","\u{2F983}":"\u8103","\u{2F985}":"\u813E","\u{2F984}":"\u440B","\u{2F8DA}":"\u6721","\u{2F987}":"\u{267A7}","\u{2F988}":"\u{267B5}",\u6726:"\u4443",\uF926:"\u81D8","\u2F82":"\u81E3",\uF9F6:"\u81E8","\u2F83":"\u81EA","\uFA5C":"\u81ED","\u2F84":"\u81F3","\u2F85":"\u81FC","\u{2F893}":"\u8201","\u{2F98B}":"\u8201","\u{2F98C}":"\u8204","\u2F86":"\u820C","\uFA6D":"\u8218","\u2F87":"\u821B","\u2F88":"\u821F","\u{2F98E}":"\u446B","\u2F89":"\u826E",\uF97C:"\u826F","\u2F8A":"\u8272","\u2F8B":"\u8278","\uFA5D":"\u8279","\uFA5E":"\u8279","\u2EBE":"\u8279","\u2EBF":"\u8279","\u2EC0":"\u8279","\u{2F990}":"\u828B","\u{2F98F}":"\u8291","\u{2F991}":"\u829D","\u{2F993}":"\u82B1","\u{2F994}":"\u82B3","\u{2F995}":"\u82BD",\uF974:"\u82E5","\u{2F998}":"\u82E5","\u{2F996}":"\u82E6","\u{2F997}":"\u{26B3C}",\uF9FE:"\u8336","\uFAB3":"\u8352","\u{2F99A}":"\u8363","\u{2F999}":"\u831D","\u{2F99C}":"\u8323","\u{2F99D}":"\u83BD","\u{2F9A0}":"\u8353",\uF93E:"\u83C9","\u{2F9A1}":"\u83CA","\u{2F9A2}":"\u83CC","\u{2F9A3}":"\u83DC","\u{2F99E}":"\u83E7","\uFAB4":"\u83EF",\uF958:"\u83F1","\uFA5F":"\u8457","\u{2F99F}":"\u8457","\u{2F9A4}":"\u{26C36}","\u{2F99B}":"\u83AD",\uF918:"\u843D",\uF96E:"\u8449",\u853F:"\u848D","\u{2F9A6}":"\u{26CD5}","\u{2F9A5}":"\u{26D6B}",\uF999:"\u84EE","\u{2F9A8}":"\u84F1","\u{2F9A9}":"\u84F3",\uF9C2:"\u84FC","\u{2F9AA}":"\u8516","\u{2F9A7}":"\u452B","\u{2F9AC}":"\u8564","\u{2F9AD}":"\u{26F2C}",\uF923:"\u85CD","\u{2F9AE}":"\u455D","\u{2F9B0}":"\u{26FB1}","\u{2F9AF}":"\u4561",\uF9F0:"\u85FA",\uF935:"\u8606","\u{2F9B2}":"\u456B",\uFA20:"\u8612",\uF91F:"\u862D","\u{2F9B1}":"\u{270D2}",\u8641:"\u8637",\uF910:"\u863F","\u2F8C":"\u864D","\u2EC1":"\u864E","\u{2F9B3}":"\u8650",\uF936:"\u865C","\u{2F9B4}":"\u865C","\u{2F9B5}":"\u8667","\u{2F9B6}":"\u8669","\u2F8D":"\u866B","\u{2F9B7}":"\u86A9","\u{2F9B8}":"\u8688","\u{2F9BA}":"\u86E2","\u{2F9B9}":"\u870E","\u{2F9BC}":"\u8728","\u{2F9BD}":"\u876B","\u{2F9C0}":"\u87E1","\uFAB5":"\u8779","\u{2F9BB}":"\u8779","\u{2F9BE}":"\u8786","\u{2F9BF}":"\u45D7","\u{2F9AB}":"\u{273CA}",\uF911:"\u87BA","\u{2F9C1}":"\u8801","\u{2F9C2}":"\u45F9",\uF927:"\u881F","\u2F8E":"\u8840",\uFA08:"\u884C","\u2F8F":"\u884C","\u{2F9C3}":"\u8860","\u{2F9C4}":"\u8863","\u2F90":"\u8863","\u2EC2":"\u8864",\uF9A0:"\u88C2","\u{2F9C5}":"\u{27667}",\uF9E7:"\u88CF","\u{2F9C6}":"\u88D7","\u{2F9C7}":"\u88DE",\uF9E8:"\u88E1",\uF912:"\u88F8","\u{2F9C9}":"\u88FA","\u{2F9C8}":"\u4635","\uFA60":"\u8910","\uFAB6":"\u8941",\uF924:"\u8964","\u2F91":"\u897E","\u2EC4":"\u897F","\u2EC3":"\u8980","\uFAB7":"\u8986",\uFA0A:"\u898B","\u2F92":"\u898B","\u{2F9CB}":"\u{278AE}","\u2EC5":"\u89C1","\u2F93":"\u89D2","\u2F94":"\u8A00","\u{2F9CC}":"\u{27966}",\u8A7D:"\u8A2E",\u8A1E:"\u46B6","\u{2F9CD}":"\u46BE","\u{2F9CE}":"\u46C7","\u{2F9CF}":"\u8AA0",\uF96F:"\u8AAA",\uF9A1:"\u8AAA","\uFAB9":"\u8ABF","\uFABB":"\u8ACB",\uF97D:"\u8AD2",\uF941:"\u8AD6","\uFABE":"\u8AED","\u{2F9D0}":"\u8AED",\uFA22:"\u8AF8","\uFABA":"\u8AF8",\uF95D:"\u8AFE","\uFABD":"\u8AFE","\uFA62":"\u8B01","\uFABC":"\u8B01","\uFA63":"\u8B39","\uFABF":"\u8B39",\uF9FC:"\u8B58",\uF95A:"\u8B80",\u8B8F:"\u8B86","\uFAC0":"\u8B8A","\u{2F9D1}":"\u8B8A","\u2EC8":"\u8BA0","\u2F95":"\u8C37","\u2F96":"\u8C46",\uF900:"\u8C48","\u{2F9D2}":"\u8C55","\u2F97":"\u8C55",\u8C63:"\u8C5C","\u2F98":"\u8C78","\u{2F9D3}":"\u{27CA8}","\u2F99":"\u8C9D","\u{2F9D4}":"\u8CAB","\u{2F9D5}":"\u8CC1",\uF948:"\u8CC2",\uF903:"\u8CC8","\uFA64":"\u8CD3","\uFA65":"\u8D08","\uFAC1":"\u8D08","\u{2F9D6}":"\u8D1B","\u2EC9":"\u8D1D","\u2F9A":"\u8D64","\u2F9B":"\u8D70","\u{2F9D7}":"\u8D77",\u8D86:"\u8D7F","\uFAD7":"\u{27ED3}","\u{2F9D8}":"\u{27F2F}","\u2F9C":"\u8DB3","\u{2F9DA}":"\u8DCB","\u{2F9DB}":"\u8DBC",\u8DFA:"\u8DE5",\uF937:"\u8DEF","\u{2F9DC}":"\u8DF0",\u8E9B:"\u8E97","\u2F9D":"\u8EAB",\uF902:"\u8ECA","\u2F9E":"\u8ECA","\u{2F9DE}":"\u8ED4",\u8F27:"\u8EFF",\uF998:"\u8F26",\uF9D7:"\u8F2A","\uFAC2":"\u8F38","\u{2F9DF}":"\u8F38",\uFA07:"\u8F3B",\uF98D:"\u8F62","\u2ECB":"\u8F66","\u2F9F":"\u8F9B","\u{2F98D}":"\u8F9E",\uF971:"\u8FB0","\u2FA0":"\u8FB0","\u2FA1":"\u8FB5","\uFA66":"\u8FB6","\u2ECC":"\u8FB6","\u2ECD":"\u8FB6","\u{2F881}":"\u5DE1",\uF99A:"\u9023",\uFA25:"\u9038","\uFA67":"\u9038","\uFAC3":"\u9072",\uF9C3:"\u907C","\u{2F9E0}":"\u{285D2}","\u{2F9E1}":"\u{285ED}",\uF913:"\u908F","\u2FA2":"\u9091","\u{2F9E2}":"\u9094",\uF92C:"\u90CE",\u90DE:"\u90CE","\uFA2E":"\u90CE","\u{2F9E3}":"\u90F1",\uFA26:"\u90FD","\u{2F9E5}":"\u{2872E}","\u{2F9E4}":"\u9111","\u{2F9E6}":"\u911B","\u2FA3":"\u9149",\uF919:"\u916A","\uFAC4":"\u9199",\uF9B7:"\u91B4","\u2FA4":"\u91C6",\uF9E9:"\u91CC","\u2FA5":"\u91CC",\uF97E:"\u91CF",\uF90A:"\u91D1","\u2FA6":"\u91D1",\uF9B1:"\u9234","\u{2F9E7}":"\u9238","\uFAC5":"\u9276","\u{2F9E8}":"\u92D7","\u{2F9E9}":"\u92D8","\u{2F9EA}":"\u927C",\uF93F:"\u9304",\uF99B:"\u934A",\u93AE:"\u93AD","\u{2F9EB}":"\u93F9","\u{2F9EC}":"\u9415","\u{2F9ED}":"\u{28BFA}","\u2ED0":"\u9485","\u2ED1":"\u9577","\u2FA7":"\u9577","\u2ED2":"\u9578","\u2ED3":"\u957F","\u2FA8":"\u9580","\u{2F9EE}":"\u958B","\u{2F9EF}":"\u4995",\uF986:"\u95AD","\u{2F9F0}":"\u95B7","\u{2F9F1}":"\u{28D77}","\u2ED4":"\u95E8","\u2FA9":"\u961C","\u2ECF":"\u961D","\u2ED6":"\u961D",\uF9C6:"\u962E",\uF951:"\u964B",\uFA09:"\u964D",\uF959:"\u9675",\uF9D3:"\u9678","\uFAC6":"\u967C",\uF9DC:"\u9686",\uF9F1:"\u96A3","\u{2F9F2}":"\u49E6","\u2FAA":"\u96B6","\uFA2F":"\u96B7",\u96B8:"\u96B7",\uF9B8:"\u96B7","\u2FAB":"\u96B9","\u{2F9F3}":"\u96C3",\uF9EA:"\u96E2","\uFA68":"\u96E3","\uFAC7":"\u96E3","\u2FAC":"\u96E8",\uF9B2:"\u96F6",\uF949:"\u96F7","\u{2F9F5}":"\u9723","\u{2F9F6}":"\u{29145}",\uF938:"\u9732",\uF9B3:"\u9748","\u2FAD":"\u9751","\u2ED8":"\u9752",\uFA1C:"\u9756","\uFAC8":"\u9756","\u{2F81C}":"\u{291DF}","\u2FAE":"\u975E","\u2FAF":"\u9762","\u{2F9F7}":"\u{2921A}","\u2FB0":"\u9769","\u{2F9F8}":"\u4A6E","\u{2F9F9}":"\u4A76","\u2FB1":"\u97CB","\uFAC9":"\u97DB","\u{2F9FA}":"\u97E0","\u2ED9":"\u97E6","\u2FB2":"\u97ED","\u{2F9FB}":"\u{2940A}","\u2FB3":"\u97F3","\uFA69":"\u97FF","\uFACA":"\u97FF","\u2FB4":"\u9801","\u{2F9FC}":"\u4AB2","\uFACB":"\u980B","\u{2F9FE}":"\u980B","\u{2F9FF}":"\u980B",\uF9B4:"\u9818","\u{2FA00}":"\u9829","\u{2F9FD}":"\u{29496}","\uFA6A":"\u983B","\uFACC":"\u983B",\uF9D0:"\u985E","\u2EDA":"\u9875","\u2FB5":"\u98A8","\u{2FA01}":"\u{295B6}","\u2EDB":"\u98CE","\u2FB6":"\u98DB","\u2EDC":"\u98DE","\u2EDD":"\u98DF","\u2FB7":"\u98DF","\u2EDF":"\u98E0","\u{2FA02}":"\u98E2",\uFA2A:"\u98EF",\uFA2B:"\u98FC","\u{2FA03}":"\u4B33",\uFA2C:"\u9928","\u{2FA04}":"\u9929","\u2EE0":"\u9963","\u2FB8":"\u9996","\u2FB9":"\u9999","\u{2FA05}":"\u99A7","\u2FBA":"\u99AC","\u{2FA06}":"\u99C2",\uF91A:"\u99F1","\u{2FA07}":"\u99FE",\uF987:"\u9A6A","\u2EE2":"\u9A6C","\u2FBB":"\u9AA8","\u{2FA08}":"\u4BCE","\u2FBC":"\u9AD8","\u2FBD":"\u9ADF","\u{2FA09}":"\u{29B30}","\uFACD":"\u9B12","\u{2FA0A}":"\u9B12","\u2FBE":"\u9B25","\u2FBF":"\u9B2F","\u2FC0":"\u9B32","\u2FC1":"\u9B3C","\u2EE4":"\u9B3C","\u2FC2":"\u9B5A",\uF939:"\u9B6F","\u{2FA0B}":"\u9C40",\uF9F2:"\u9C57","\u2EE5":"\u9C7C","\u2FC3":"\u9CE5","\u{2FA0C}":"\u9CFD","\u{2FA0D}":"\u4CCE","\u{2FA0F}":"\u9D67","\u{2FA0E}":"\u4CED","\u{2FA10}":"\u{2A0CE}",\uFA2D:"\u9DB4","\u{2FA12}":"\u{2A105}","\u{2FA11}":"\u4CF8",\uF93A:"\u9DFA","\u{2FA13}":"\u{2A20E}",\uF920:"\u9E1E",\u9E43:"\u9E42","\u2FC4":"\u9E75",\uF940:"\u9E7F","\u2FC5":"\u9E7F","\u{2FA14}":"\u{2A291}",\uF988:"\u9E97",\uF9F3:"\u9E9F","\u2FC6":"\u9EA5","\u2EE8":"\u9EA6","\u{2FA15}":"\u9EBB","\u2FC7":"\u9EBB","\u{2F88F}":"\u{2A392}","\u2FC8":"\u9EC3","\u2EE9":"\u9EC4","\u2FC9":"\u9ECD",\uF989:"\u9ECE","\u{2FA16}":"\u4D56","\u2FCA":"\u9ED1",\u9ED2:"\u9ED1","\uFA3A":"\u58A8","\u{2FA17}":"\u9EF9","\u2FCB":"\u9EF9","\u2FCC":"\u9EFD","\u{2FA19}":"\u9F05","\u{2FA18}":"\u9EFE","\u2FCD":"\u9F0E","\u{2FA1A}":"\u9F0F","\u2FCE":"\u9F13","\u{2FA1B}":"\u9F16","\u2FCF":"\u9F20","\u{2FA1C}":"\u9F3B","\u2FD0":"\u9F3B","\uFAD8":"\u9F43","\u2FD1":"\u9F4A","\u2EEC":"\u9F50","\u2FD2":"\u9F52","\u{2FA1D}":"\u{2A600}","\u2EEE":"\u9F7F",\uF9C4:"\u9F8D","\u2FD3":"\u9F8D","\uFAD9":"\u9F8E","\u2EF0":"\u9F99",\uF907:"\u9F9C",\uF908:"\u9F9C","\uFACE":"\u9F9C","\u2FD4":"\u9F9C","\u2EF3":"\u9F9F","\u2FD5":"\u9FA0"},ee=Ee;function ke(r){return r.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}var Te=RegExp(Object.keys(ee).map(ke).join("|"),"g");function De(r){return ee[r]}function Be(r){return r.replace(Te,De)}var Pe=Be,I={exports:{}},te={};function x(r,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(r)),this._timeouts=r,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}var Le=x;x.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)},x.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null},x.prototype.retry=function(r){if(this._timeout&&clearTimeout(this._timeout),!r)return!1;var e=new Date().getTime();if(r&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(r),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(r);var t=this._timeouts.shift();if(t===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),t=this._cachedTimeouts.slice(-1);else return!1;var n=this;return this._timer=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},t),this._options.unref&&this._timer.unref(),!0},x.prototype.attempt=function(r,e){this._fn=r,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var t=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){t._operationTimeoutCb()},t._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)},x.prototype.try=function(r){console.log("Using RetryOperation.try() is deprecated"),this.attempt(r)},x.prototype.start=function(r){console.log("Using RetryOperation.start() is deprecated"),this.attempt(r)},x.prototype.start=x.prototype.try,x.prototype.errors=function(){return this._errors},x.prototype.attempts=function(){return this._attempts},x.prototype.mainError=function(){if(this._errors.length===0)return null;for(var r={},e=null,t=0,n=0;n<this._errors.length;n++){var o=this._errors[n],i=o.message,s=(r[i]||0)+1;r[i]=s,s>=t&&(e=o,t=s)}return e},function(r){var e=Le;r.operation=function(t){var n=r.timeouts(t);return new e(n,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})},r.timeouts=function(t){if(t instanceof Array)return[].concat(t);var n={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var o in t)n[o]=t[o];if(n.minTimeout>n.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var i=[],s=0;s<n.retries;s++)i.push(this.createTimeout(s,n));return t&&t.forever&&!i.length&&i.push(this.createTimeout(s,n)),i.sort(function(c,f){return c-f}),i},r.createTimeout=function(t,n){var o=n.randomize?Math.random()+1:1,i=Math.round(o*Math.max(n.minTimeout,1)*Math.pow(n.factor,t));return i=Math.min(i,n.maxTimeout),i},r.wrap=function(t,n,o){if(n instanceof Array&&(o=n,n=null),!o){o=[];for(var i in t)typeof t[i]=="function"&&o.push(i)}for(var s=0;s<o.length;s++){var c=o[s],f=t[c];t[c]=function(u){var p=r.operation(n),y=Array.prototype.slice.call(arguments,1),S=y.pop();y.push(function(H){p.retry(H)||(H&&(arguments[0]=p.mainError()),S.apply(this,arguments))}),p.attempt(function(){u.apply(t,y)})}.bind(t,f),t[c].options=n}}}(te);var Ce=te;const Ae=Ce,Ne=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"];class re extends Error{constructor(e){super();e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}}const Re=(r,e,t)=>{const n=t.retries-(e-1);return r.attemptNumber=e,r.retriesLeft=n,r},je=r=>Ne.includes(r),ne=(r,e)=>new Promise((t,n)=>{e=we({onFailedAttempt:()=>{},retries:10},e);const o=Ae.operation(e);o.attempt(async i=>{try{t(await r(i))}catch(s){if(!(s instanceof Error)){n(new TypeError(`Non-error was thrown: "${s}". You should only throw errors.`));return}if(s instanceof re)o.stop(),n(s.originalError);else if(s instanceof TypeError&&!je(s.message))o.stop(),n(s);else{Re(s,i,e);try{await e.onFailedAttempt(s)}catch(c){n(c);return}o.retry(s)||n(o.mainError())}}})});I.exports=ne,I.exports.default=ne,I.exports.AbortError=re;var oe=L.exports;Object.defineProperty(a,"__esModule",{value:!0}),a.DEFAULT_ALPHABET=void 0,a.alphabetPad=Y,a.averageBetweenStrings=ut,a.baseToString=A,a.checkObjectHasKeys=Ve,a.checkObjectHasNoAdditionalKeys=We,a.chunkPromises=st,a.compare=gt,a.decodeParams=Ke,a.deepCompare=X,a.deepCopy=Xe,a.deepSortedObjectEntries=ie,a.defer=nt,a.encodeParams=Fe,a.encodeUri=Ie,a.ensureNoTrailingSlash=et,a.escapeRegExp=ae,a.getCrypto=lt,a.globToRegexp=Qe,a.inherits=Ye,a.isFunction=He,a.isNullOrUndefined=rt,a.isNumber=$e,a.lexicographicCompare=le,a.nextString=ft,a.normalize=ze,a.polyfillSuper=qe,a.prevString=dt,a.promiseMapSeries=ot,a.promiseTry=it,a.recursivelyAssign=ue,a.removeDirectionOverrideChars=Ge,a.removeElement=Je,a.removeHiddenChars=se,a.setCrypto=ct,a.simpleRetryOperation=at,a.sleep=tt,a.stringToBase=R;var Me=oe(Pe),Ue=oe(I.exports);function Fe(r){const e=new URLSearchParams;for(const[t,n]of Object.entries(r))n!=null&&e.set(t,String(n));return e.toString()}function Ke(r){const e={},t=new URLSearchParams(r);for(const n of t.keys()){const o=t.getAll(n);e[n]=o.length===1?o[0]:o}return e}function Ie(r,e){for(const t in e)!e.hasOwnProperty(t)||(r=r.replace(t,encodeURIComponent(e[t])));return r}function Je(r,e,t){let n;if(t){for(n=r.length-1;n>=0;n--)if(e(r[n],n,r))return r.splice(n,1),!0}else for(n=0;n<r.length;n++)if(e(r[n],n,r))return r.splice(n,1),!0;return!1}function He(r){return Object.prototype.toString.call(r)==="[object Function]"}function Ve(r,e){for(let t=0;t<e.length;t++)if(!r.hasOwnProperty(e[t]))throw new Error("Missing required key: "+e[t])}function We(r,e){for(const t in r)if(!!r.hasOwnProperty(t)&&e.indexOf(t)===-1)throw new Error("Unknown key: "+t)}function Xe(r){return JSON.parse(JSON.stringify(r))}function X(r,e){if(r===e)return!0;if(typeof r!=typeof e)return!1;if(typeof r=="number"&&isNaN(r)&&isNaN(e))return!0;if(r===null||e===null)return r===e;if(!(r instanceof Object)||r.constructor!==e.constructor||r.prototype!==e.prototype)return!1;if(r instanceof RegExp||r instanceof Date)return r.toString()===e.toString();if(r instanceof Array){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(!X(r[t],e[t]))return!1}else{let t;for(t in e)if(e.hasOwnProperty(t)!==r.hasOwnProperty(t))return!1;for(t in e)if(e.hasOwnProperty(t)!==r.hasOwnProperty(t)||!X(r[t],e[t]))return!1}return!0}function ie(r){if(typeof r!="object"||r==null||Array.isArray(r))return r;const e=[];for(const[t,n]of Object.entries(r))e.push([t,ie(n)]);return e.sort((t,n)=>le(t[0],n[0])),e}function Ye(r,e){r.super_=e,r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}})}function qe(r,e,...t){try{e.call(r,...t)}catch{const o=new e(...t);Object.assign(r,o)}}function $e(r){return typeof r=="number"&&isFinite(r)}function se(r){return typeof r=="string"?(0,Me.default)(r.normalize("NFD").replace(Ze,"")):""}function Ge(r){return typeof r=="string"?r.replace(/[\u202d-\u202e]/g,""):""}function ze(r){return se(r.toLowerCase()).replace(/[\\'!"#$%&()*+,\-./:;<=>?@[\]^_`{|}~\u2000-\u206f\u2e00-\u2e7f]/g,"").toLowerCase()}const Ze=/[\u2000-\u200F\u202A-\u202F\u0300-\u036F\uFEFF\u061C\s]/g;function ae(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Qe(r,e){e=typeof e=="boolean"?e:!0;let t=ae(r);return t=t.replace(/\\\*/g,".*"),t=t.replace(/\?/g,"."),e&&(t=t.replace(/\\\[(!|)(.*)\\]/g,function(n,o,i,s,c){const f=o&&"^"||"",l=i.replace(/\\-/,"-");return"["+f+l+"]"})),t}function et(r){return r&&r.endsWith("/")?r.substr(0,r.length-1):r}function tt(r,e){return new Promise(t=>{setTimeout(t,r,e)})}function rt(r){return r==null}function nt(){let r,e;const t=new Promise((n,o)=>{r=n,e=o});return{resolve:r,reject:e,promise:t}}async function ot(r,e){for(const t of r)await e(await t)}function it(r){return new Promise(e=>e(r()))}async function st(r,e){const t=[];for(let n=0;n<r.length;n+=e)t.push(...await Promise.all(r.slice(n,n+e).map(o=>o())));return t}function at(r){return(0,Ue.default)(e=>r(e),{forever:!0,factor:2,minTimeout:3e3,maxTimeout:15e3})}let ce;function ct(r){ce=r}function lt(){return ce}const D=(()=>{let r="";for(let e=32;e<=126;e++)r+=String.fromCharCode(e);return r})();a.DEFAULT_ALPHABET=D;function Y(r,e,t=D){return r.padEnd(e,t[0])}function A(r,e=D){const t=BigInt(e.length);if(r<=t){var n;return(n=e[Number(r)-1])!==null&&n!==void 0?n:""}let o=r/t,i=Number(r%t)-1;return i<0&&(o-=BigInt(Math.abs(i)),i=Number(t)-1),A(o,e)+e[i]}function R(r,e=D){const t=BigInt(e.length);let n=BigInt(0);for(let o=r.length-1,i=BigInt(0);o>=0;o--,i++){const s=r.charCodeAt(o)-e.charCodeAt(0);n+=BigInt(1+s)*t**i}return n}function ut(r,e,t=D){const n=Math.max(r.length,e.length),o=R(Y(r,n,t),t),i=R(Y(e,n,t),t),s=(o+i)/BigInt(2);return s===o||s==i?A(s,t)+t[0]:A(s,t)}function ft(r,e=D){return A(R(r,e)+BigInt(1),e)}function dt(r,e=D){return A(R(r,e)-BigInt(1),e)}function le(r,e){return r<e?-1:r===e?0:1}const pt=new Intl.Collator;function gt(r,e){return pt.compare(r,e)}function ue(r,e,t=!1){for(const[n,o]of Object.entries(e)){if(r[n]instanceof Object&&o){ue(r[n],o);continue}if(o!=null||!t){r[n]=o;continue}}return r}var ht=L.exports;Object.defineProperty(T,"__esModule",{value:!0}),T.SyncAccumulator=T.Category=void 0;var j=ht(F.exports),mt=C,vt=a;let O;T.Category=O,function(r){r.Invite="invite",r.Leave="leave",r.Join="join"}(O||(T.Category=O={}));class yt{constructor(e={}){this.opts=e,(0,j.default)(this,"accountData",{}),(0,j.default)(this,"inviteRooms",{}),(0,j.default)(this,"joinRooms",{}),(0,j.default)(this,"nextBatch",null),(0,j.default)(this,"groups",{invite:{},join:{},leave:{}}),this.opts.maxTimelineEntries=this.opts.maxTimelineEntries||50}accumulate(e,t=!1){this.accumulateRooms(e,t),this.accumulateGroups(e),this.accumulateAccountData(e),this.nextBatch=e.next_batch}accumulateAccountData(e){!e.account_data||!e.account_data.events||e.account_data.events.forEach(t=>{this.accountData[t.type]=t})}accumulateRooms(e,t=!1){!e.rooms||(e.rooms.invite&&Object.keys(e.rooms.invite).forEach(n=>{this.accumulateRoom(n,O.Invite,e.rooms.invite[n],t)}),e.rooms.join&&Object.keys(e.rooms.join).forEach(n=>{this.accumulateRoom(n,O.Join,e.rooms.join[n],t)}),e.rooms.leave&&Object.keys(e.rooms.leave).forEach(n=>{this.accumulateRoom(n,O.Leave,e.rooms.leave[n],t)}))}accumulateRoom(e,t,n,o=!1){switch(t){case O.Invite:this.accumulateInviteState(e,n);break;case O.Join:this.inviteRooms[e]&&delete this.inviteRooms[e],this.accumulateJoinState(e,n,o);break;case O.Leave:this.inviteRooms[e]?delete this.inviteRooms[e]:delete this.joinRooms[e];break;default:mt.logger.error("Unknown cateogory: ",t)}}accumulateInviteState(e,t){if(!t.invite_state||!t.invite_state.events)return;if(!this.inviteRooms[e]){this.inviteRooms[e]={invite_state:t.invite_state};return}const n=this.inviteRooms[e];t.invite_state.events.forEach(o=>{let i=!1;for(let s=0;s<n.invite_state.events.length;s++){const c=n.invite_state.events[s];c.type===o.type&&c.state_key==o.state_key&&(n.invite_state.events[s]=o,i=!0)}i||n.invite_state.events.push(o)})}accumulateJoinState(e,t,n=!1){this.joinRooms[e]||(this.joinRooms[e]={_currentState:Object.create(null),_timeline:[],_accountData:Object.create(null),_unreadNotifications:{},_summary:{},_readReceipts:{}});const o=this.joinRooms[e];if(t.account_data&&t.account_data.events&&t.account_data.events.forEach(i=>{o._accountData[i.type]=i}),t.unread_notifications&&(o._unreadNotifications=t.unread_notifications),t.summary){const i="m.heroes",s="m.invited_member_count",c="m.joined_member_count",f=o._summary,l=t.summary;f[i]=l[i]||f[i],f[c]=l[c]||f[c],f[s]=l[s]||f[s]}if(t.ephemeral&&t.ephemeral.events&&t.ephemeral.events.forEach(i=>{i.type!=="m.receipt"||!i.content||Object.keys(i.content).forEach(s=>{!i.content[s]["m.read"]||Object.keys(i.content[s]["m.read"]).forEach(c=>{o._readReceipts[c]={data:i.content[s]["m.read"][c],eventId:s}})})}),t.timeline&&t.timeline.limited&&(o._timeline=[]),t.state&&t.state.events&&t.state.events.forEach(i=>{q(o._currentState,i)}),t.timeline&&t.timeline.events&&t.timeline.events.forEach((i,s)=>{q(o._currentState,i);let c;if(n)c=i;else{c=Object.assign({},i),c.unsigned!==void 0&&(c.unsigned=Object.assign({},c.unsigned));const f=i.unsigned?i.unsigned.age:i.age;f!==void 0&&(c._localTs=Date.now()-f)}o._timeline.push({event:c,token:s===0?t.timeline.prev_batch:null})}),o._timeline.length>this.opts.maxTimelineEntries){const i=o._timeline.length-this.opts.maxTimelineEntries;for(let s=i;s<o._timeline.length;s++)if(o._timeline[s].token){o._timeline=o._timeline.slice(s,o._timeline.length);break}}}accumulateGroups(e){!e.groups||(e.groups.invite&&Object.keys(e.groups.invite).forEach(t=>{this.accumulateGroup(t,O.Invite,e.groups.invite[t])}),e.groups.join&&Object.keys(e.groups.join).forEach(t=>{this.accumulateGroup(t,O.Join,e.groups.join[t])}),e.groups.leave&&Object.keys(e.groups.leave).forEach(t=>{this.accumulateGroup(t,O.Leave,e.groups.leave[t])}))}accumulateGroup(e,t,n){for(const o of[O.Invite,O.Leave,O.Join])delete this.groups[o][e];this.groups[t][e]=n}getJSON(e=!1){const t={join:{},invite:{},leave:{}};Object.keys(this.inviteRooms).forEach(o=>{t.invite[o]=this.inviteRooms[o]}),Object.keys(this.joinRooms).forEach(o=>{const i=this.joinRooms[o],s={ephemeral:{events:[]},account_data:{events:[]},state:{events:[]},timeline:{events:[],prev_batch:null},unread_notifications:i._unreadNotifications,summary:i._summary};Object.keys(i._accountData).forEach(l=>{s.account_data.events.push(i._accountData[l])});const c={type:"m.receipt",room_id:o,content:{}};Object.keys(i._readReceipts).forEach(l=>{const u=i._readReceipts[l];c.content[u.eventId]||(c.content[u.eventId]={"m.read":{}}),c.content[u.eventId]["m.read"][l]=u.data}),Object.keys(c.content).length>0&&s.ephemeral.events.push(c),i._timeline.forEach(l=>{if(!s.timeline.prev_batch){if(!l.token)return;s.timeline.prev_batch=l.token}let u;!e&&l.event._localTs?(u=Object.assign({},l.event),u.unsigned!==void 0&&(u.unsigned=Object.assign({},u.unsigned)),delete u._localTs,u.unsigned=u.unsigned||{},u.unsigned.age=Date.now()-l.event._localTs):u=l.event,s.timeline.events.push(u)});const f=Object.create(null);for(let l=s.timeline.events.length-1;l>=0;l--){const u=s.timeline.events[l];if(u.state_key===null||u.state_key===void 0)continue;const p=(0,vt.deepCopy)(u);p.unsigned&&(p.unsigned.prev_content&&(p.content=p.unsigned.prev_content),p.unsigned.prev_sender&&(p.sender=p.unsigned.prev_sender)),q(f,p)}Object.keys(i._currentState).forEach(l=>{Object.keys(i._currentState[l]).forEach(u=>{let p=i._currentState[l][u];f[l]&&f[l][u]&&(p=f[l][u]),s.state.events.push(p)})}),t.join[o]=s});const n=[];return Object.keys(this.accountData).forEach(o=>{n.push(this.accountData[o])}),{nextBatch:this.nextBatch,roomsData:t,groupsData:this.groups,accountData:n}}getNextBatchToken(){return this.nextBatch}}T.SyncAccumulator=yt;function q(r,e){e.state_key===null||e.state_key===void 0||!e.type||(r[e.type]||(r[e.type]=Object.create(null)),r[e.type][e.state_key]=e)}var $={};Object.defineProperty($,"__esModule",{value:!0}),$.exists=bt;function bt(r,e){return new Promise((t,n)=>{let o=!0;const i=r.open(e);i.onupgradeneeded=()=>{o=!1},i.onblocked=()=>n(i.error),i.onsuccess=()=>{i.result.close(),o||r.deleteDatabase(e),t(o)},i.onerror=s=>n(i.error)})}var _t=L.exports;Object.defineProperty(K,"__esModule",{value:!0}),K.LocalIndexedDBStoreBackend=void 0;var M=_t(F.exports),Ot=T,B=de(a),wt=de($),m=C;function fe(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(fe=function(n){return n?t:e})(r)}function de(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var t=fe(e);if(t&&t.has(r))return t.get(r);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in r)if(i!=="default"&&Object.prototype.hasOwnProperty.call(r,i)){var s=o?Object.getOwnPropertyDescriptor(r,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=r[i]}return n.default=r,t&&t.set(r,n),n}const xt=3;function St(r){r.createObjectStore("users",{keyPath:["userId"]}),r.createObjectStore("accountData",{keyPath:["type"]}),r.createObjectStore("sync",{keyPath:["clobber"]})}function Et(r){r.createObjectStore("oob_membership_events",{keyPath:["room_id","state_key"]}).createIndex("room","room_id")}function kt(r){r.createObjectStore("client_options",{keyPath:["clobber"]})}function J(r,e,t){const n=r.openCursor(e);return new Promise((o,i)=>{const s=[];n.onerror=()=>{i(new Error("Query failed: "+n.error))},n.onsuccess=()=>{const c=n.result;if(!c){o(s);return}s.push(t(c)),c.continue()}})}function U(r){return new Promise((e,t)=>{r.oncomplete=function(n){e(n)},r.onerror=function(){t(r.error)}})}function pe(r){return new Promise((e,t)=>{r.onsuccess=function(n){e(n)},r.onerror=function(){t(r.error)}})}function Tt(r){return new Promise((e,t)=>{r.onsuccess=()=>e(r),r.onerror=n=>t(n)})}function ge(r){return pe(r).then(e=>r.result)}class Dt{static exists(e,t){return t="matrix-js-sdk:"+(t||"default"),wt.exists(e,t)}constructor(e,t){this.indexedDB=e,(0,M.default)(this,"dbName",void 0),(0,M.default)(this,"syncAccumulator",void 0),(0,M.default)(this,"db",null),(0,M.default)(this,"disconnected",!0),(0,M.default)(this,"_isNewlyCreated",!1),this.dbName="matrix-js-sdk:"+(t||"default"),this.syncAccumulator=new Ot.SyncAccumulator}connect(){if(!this.disconnected)return m.logger.log("LocalIndexedDBStoreBackend.connect: already connected or connecting"),Promise.resolve();this.disconnected=!1,m.logger.log("LocalIndexedDBStoreBackend.connect: connecting...");const e=this.indexedDB.open(this.dbName,xt);return e.onupgradeneeded=t=>{const n=e.result,o=t.oldVersion;m.logger.log(`LocalIndexedDBStoreBackend.connect: upgrading from ${o}`),o<1&&(this._isNewlyCreated=!0,St(n)),o<2&&Et(n),o<3&&kt(n)},e.onblocked=()=>{m.logger.log("can't yet open LocalIndexedDBStoreBackend because it is open elsewhere")},m.logger.log("LocalIndexedDBStoreBackend.connect: awaiting connection..."),pe(e).then(()=>(m.logger.log("LocalIndexedDBStoreBackend.connect: connected"),this.db=e.result,this.db.onversionchange=()=>{this.db.close()},this.init()))}isNewlyCreated(){return Promise.resolve(this._isNewlyCreated)}init(){return Promise.all([this.loadAccountData(),this.loadSyncData()]).then(([e,t])=>{m.logger.log("LocalIndexedDBStoreBackend: loaded initial data"),this.syncAccumulator.accumulate({next_batch:t.nextBatch,rooms:t.roomsData,groups:t.groupsData,account_data:{events:e}},!0)})}getOutOfBandMembers(e){return new Promise((t,n)=>{const s=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),c=IDBKeyRange.only(e),f=s.openCursor(c),l=[];let u=!1;f.onsuccess=()=>{const p=f.result;if(!p)return!l.length&&!u?t(null):t(l);const y=p.value;y.oob_written?u=!0:l.push(y),p.continue()},f.onerror=p=>{n(p)}}).then(t=>(m.logger.log(`LL: got ${t&&t.length} membershipEvents from storage for room ${e} ...`),t))}async setOutOfBandMembers(e,t){m.logger.log(`LL: backend about to store ${t.length} members for ${e}`);const n=this.db.transaction(["oob_membership_events"],"readwrite"),o=n.objectStore("oob_membership_events");t.forEach(s=>{o.put(s)});const i={room_id:e,oob_written:!0,state_key:0};o.put(i),await U(n),m.logger.log(`LL: backend done storing for ${e}!`)}async clearOutOfBandMembers(e){const o=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),i=IDBKeyRange.only(e),s=ge(o.openKeyCursor(i,"next")).then(S=>S&&S.primaryKey[1]),c=ge(o.openKeyCursor(i,"prev")).then(S=>S&&S.primaryKey[1]),[f,l]=await Promise.all([s,c]),p=this.db.transaction(["oob_membership_events"],"readwrite").objectStore("oob_membership_events"),y=IDBKeyRange.bound([e,f],[e,l]);m.logger.log(`LL: Deleting all users + marker in storage for room ${e}, with key range:`,[e,f],[e,l]),await Tt(p.delete(y))}clearDatabase(){return new Promise(e=>{m.logger.log(`Removing indexeddb instance: ${this.dbName}`);const t=this.indexedDB.deleteDatabase(this.dbName);t.onblocked=()=>{m.logger.log(`can't yet delete indexeddb ${this.dbName} because it is open elsewhere`)},t.onerror=()=>{m.logger.warn(`unable to delete js-sdk store indexeddb: ${t.error}`),e()},t.onsuccess=()=>{m.logger.log(`Removed indexeddb instance: ${this.dbName}`),e()}})}getSavedSync(e=!0){const t=this.syncAccumulator.getJSON();return t.nextBatch?e?Promise.resolve(B.deepCopy(t)):Promise.resolve(t):Promise.resolve(null)}getNextBatchToken(){return Promise.resolve(this.syncAccumulator.getNextBatchToken())}setSyncData(e){return Promise.resolve().then(()=>{this.syncAccumulator.accumulate(e)})}async syncToDatabase(e){const t=this.syncAccumulator.getJSON(!0);await Promise.all([this.persistUserPresenceEvents(e),this.persistAccountData(t.accountData),this.persistSyncData(t.nextBatch,t.roomsData,t.groupsData)])}persistSyncData(e,t,n){return m.logger.log("Persisting sync data up to",e),B.promiseTry(()=>{const o=this.db.transaction(["sync"],"readwrite");return o.objectStore("sync").put({clobber:"-",nextBatch:e,roomsData:t,groupsData:n}),U(o).then()})}persistAccountData(e){return B.promiseTry(()=>{const t=this.db.transaction(["accountData"],"readwrite"),n=t.objectStore("accountData");for(let o=0;o<e.length;o++)n.put(e[o]);return U(t).then()})}persistUserPresenceEvents(e){return B.promiseTry(()=>{const t=this.db.transaction(["users"],"readwrite"),n=t.objectStore("users");for(const o of e)n.put({userId:o[0],event:o[1]});return U(t).then()})}getUserPresenceEvents(){return B.promiseTry(()=>{const t=this.db.transaction(["users"],"readonly").objectStore("users");return J(t,void 0,n=>[n.value.userId,n.value.event])})}loadAccountData(){return m.logger.log("LocalIndexedDBStoreBackend: loading account data..."),B.promiseTry(()=>{const t=this.db.transaction(["accountData"],"readonly").objectStore("accountData");return J(t,void 0,n=>n.value).then(n=>(m.logger.log("LocalIndexedDBStoreBackend: loaded account data"),n))})}loadSyncData(){return m.logger.log("LocalIndexedDBStoreBackend: loading sync data..."),B.promiseTry(()=>{const t=this.db.transaction(["sync"],"readonly").objectStore("sync");return J(t,void 0,n=>n.value).then(n=>(m.logger.log("LocalIndexedDBStoreBackend: loaded sync data"),n.length>1&&m.logger.warn("loadSyncData: More than 1 sync row found."),n.length>0?n[0]:{}))})}getClientOptions(){return Promise.resolve().then(()=>{const t=this.db.transaction(["client_options"],"readonly").objectStore("client_options");return J(t,void 0,n=>{if(n.value&&n.value&&n.value.options)return n.value.options}).then(n=>n[0])})}async storeClientOptions(e){const t=this.db.transaction(["client_options"],"readwrite");t.objectStore("client_options").put({clobber:"-",options:e}),await U(t)}}K.LocalIndexedDBStoreBackend=Dt;var Bt=L.exports;Object.defineProperty(_,"__esModule",{value:!0}),_.IndexedDBStoreWorker=void 0;var he=Bt(F.exports),Pt=K,me=C;class Lt{constructor(e){this.postMessage=e,(0,he.default)(this,"backend",null),(0,he.default)(this,"onMessage",t=>{const n=t.data;let o;switch(n.command){case"_setupWorker":this.backend=new Pt.LocalIndexedDBStoreBackend(indexedDB,n.args[0]),o=Promise.resolve();break;case"connect":o=this.backend.connect();break;case"isNewlyCreated":o=this.backend.isNewlyCreated();break;case"clearDatabase":o=this.backend.clearDatabase();break;case"getSavedSync":o=this.backend.getSavedSync(!1);break;case"setSyncData":o=this.backend.setSyncData(n.args[0]);break;case"syncToDatabase":o=this.backend.syncToDatabase(n.args[0]);break;case"getUserPresenceEvents":o=this.backend.getUserPresenceEvents();break;case"getNextBatchToken":o=this.backend.getNextBatchToken();break;case"getOutOfBandMembers":o=this.backend.getOutOfBandMembers(n.args[0]);break;case"clearOutOfBandMembers":o=this.backend.clearOutOfBandMembers(n.args[0]);break;case"setOutOfBandMembers":o=this.backend.setOutOfBandMembers(n.args[0],n.args[1]);break;case"getClientOptions":o=this.backend.getClientOptions();break;case"storeClientOptions":o=this.backend.storeClientOptions(n.args[0]);break}if(o===void 0){this.postMessage({command:"cmd_fail",seq:n.seq,error:"Unrecognised command"});return}o.then(i=>{this.postMessage.call(null,{command:"cmd_success",seq:n.seq,result:i})},i=>{me.logger.error("Error running command: "+n.command),me.logger.error(i),this.postMessage.call(null,{command:"cmd_fail",seq:n.seq,error:{message:i.message,name:i.name}})})})}}_.IndexedDBStoreWorker=Lt,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"IndexedDBStoreWorker",{enumerable:!0,get:function(){return e.IndexedDBStoreWorker}});var e=_}(w);const ve=self,Ct=new w.IndexedDBStoreWorker(ve.postMessage);ve.onmessage=Ct.onMessage})(); diff --git a/pr-121/assets/olm.b3e0f9b4.wasm b/pr-121/assets/olm.b3e0f9b4.wasm Binary files differ. diff --git a/pr-121/assets/olm_legacy.9dc48f49.js b/pr-121/assets/olm_legacy.9dc48f49.js @@ -0,0 +1,180 @@ +// @license magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt Apache-2.0 +// @source: https://gitlab.matrix.org/matrix-org/olm/-/tree/3.2.8 + +var Olm = (function() { +var olm_exports = {}; +var onInitSuccess; +var onInitFail; + +var Module = (function() { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(Module) { + Module = Module || {}; + + +var a;a||(a=typeof Module !== 'undefined' ? Module : {});var aa,ba;a.ready=new Promise(function(b,c){aa=b;ba=c});var g;if("undefined"!==typeof window)g=function(b){window.crypto.getRandomValues(b)};else if(module.exports){var ca=require("crypto");g=function(b){var c=ca.randomBytes(b.length);b.set(c)};process=global.process}else throw Error("Cannot find global to attach library to"); +if("undefined"!==typeof OLM_OPTIONS)for(var da in OLM_OPTIONS)OLM_OPTIONS.hasOwnProperty(da)&&(a[da]=OLM_OPTIONS[da]);a.onRuntimeInitialized=function(){h=a._olm_error();olm_exports.PRIVATE_KEY_LENGTH=a._olm_pk_private_key_length();onInitSuccess&&onInitSuccess()};a.onAbort=function(b){onInitFail&&onInitFail(b)};var ea={},l;for(l in a)a.hasOwnProperty(l)&&(ea[l]=a[l]); +var fa="object"===typeof window,ha="function"===typeof importScripts,ia="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node,m="",ka,la,ma,n,q; +if(ia)m=ha?require("path").dirname(m)+"/":__dirname+"/",ka=function(b,c){var d=r(b);if(d)return c?d:d.toString();n||(n=require("fs"));q||(q=require("path"));b=q.normalize(b);return n.readFileSync(b,c?null:"utf8")},ma=function(b){b=ka(b,!0);b.buffer||(b=new Uint8Array(b));b.buffer||t("Assertion failed: undefined");return b},la=function(b,c,d){var e=r(b);e&&c(e);n||(n=require("fs"));q||(q=require("path"));b=q.normalize(b);n.readFile(b,function(f,k){f?d(f):c(k.buffer)})},1<process.argv.length&&process.argv[1].replace(/\\/g, +"/"),process.argv.slice(2),process.on("uncaughtException",function(b){throw b;}),process.on("unhandledRejection",t),a.inspect=function(){return"[Emscripten Module object]"};else if(fa||ha)ha?m=self.location.href:"undefined"!==typeof document&&document.currentScript&&(m=document.currentScript.src),_scriptDir&&(m=_scriptDir),0!==m.indexOf("blob:")?m=m.substr(0,m.lastIndexOf("/")+1):m="",ka=function(b){try{var c=new XMLHttpRequest;c.open("GET",b,!1);c.send(null);return c.responseText}catch(f){if(b=r(b)){c= +[];for(var d=0;d<b.length;d++){var e=b[d];255<e&&(na&&t("Assertion failed: Character code "+(e+" ("+String.fromCharCode(e)+") at offset "+d+" not in 0x00-0xFF.")),e&=255);c.push(String.fromCharCode(e))}return c.join("")}throw f;}},ha&&(ma=function(b){try{var c=new XMLHttpRequest;c.open("GET",b,!1);c.responseType="arraybuffer";c.send(null);return new Uint8Array(c.response)}catch(d){if(b=r(b))return b;throw d;}}),la=function(b,c,d){var e=new XMLHttpRequest;e.open("GET",b,!0);e.responseType="arraybuffer"; +e.onload=function(){if(200==e.status||0==e.status&&e.response)c(e.response);else{var f=r(b);f?c(f.buffer):d()}};e.onerror=d;e.send(null)};a.print||console.log.bind(console);var oa=a.printErr||console.warn.bind(console);for(l in ea)ea.hasOwnProperty(l)&&(a[l]=ea[l]);ea=null;var u;a.wasmBinary&&(u=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0;function pa(){this.buffer=new ArrayBuffer(qa/65536*65536)}function ra(){this.exports=( +// EMSCRIPTEN_START_ASM +function instantiate(ea){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a<j;a+=4){g=f[o.charCodeAt(a+1)];h=f[o.charCodeAt(a+2)];m[i++]=f[o.charCodeAt(a)]<<2|g>>4;if(i<k)m[i++]=g<<4|h>>2;if(i<k)m[i++]=h<<6|f[o.charCodeAt(a+3)]}}function p(q){l(e,1024,"QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL/////////////////////////////////////////////////////////8+////PzQ1Njc4OTo7PD3/////////AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBn///////8aGxwdHh8gISIjJCUmJygpKissLS4vMDEyM///////LSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABuYW4AaW5mAFBpY2tsZQAgJWQAQkFEX0FDQ09VTlRfS0VZAEJBRF9TRVNTSU9OX0tFWQBVTktOT1dOX01FU1NBR0VfSU5ERVgAT0xNX1NBU19USEVJUl9LRVlfTk9UX1NFVABCQURfTUVTU0FHRV9GT1JNQVQATUVHT0xNX0tFWVMAU1VDQ0VTUwBVTktOT1dOX0VSUk9SAFVOS05PV05fUElDS0xFX1ZFUlNJT04AQkFEX01FU1NBR0VfVkVSU0lPTgBOQU4ATk9UX0VOT1VHSF9SQU5ET00AT1VUUFVUX0JVRkZFUl9UT09fU01BTEwAT0xNX0lOUFVUX0JVRkZFUl9UT09fU01BTEwASU5GAEJBRF9TSUdOQVRVUkUAQkFEX0xFR0FDWV9BQ0NPVU5UX1BJQ0tMRQBDT1JSVVBURURfUElDS0xFAEJBRF9NRVNTQUdFX0tFWV9JRABCQURfTUVTU0FHRV9NQUMAT0xNX1BJQ0tMRV9FWFRSQV9EQVRBACBza2lwcGVkIG1lc3NhZ2Uga2V5czoAcmVjZWl2ZXIgY2hhaW4gaW5kaWNlczoAImN1cnZlMjU1MTkiOgAiZWQyNTUxOSI6AElOVkFMSURfQkFTRTY0AC4AKG51bGwpAHNlbmRlciBjaGFpbiBpbmRleDogJWQgAAD0BgAACAAAAP0GAAALAAAAbAcAAAkHAAAIAAAAT0xNX1JPT1QAT0xNX1JBVENIRVQAT0xNX0tFWVM=");l(e,1856,"CQ==");l(e,1888,"bAcAANYGAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAABAg==");l(e,1936,"tnhZ/4Vy0wC9bhX/DwpqACnAAQCY6Hn/vDyg/5lxzv8At+L+tA1I/wAAAAAAAAAAsKAO/tPJhv+eGI8Af2k1AGAMvQCn1/v/n0yA/mpl4f8e/AQAkgyu");l(e,2032,"WfGy/grlpv973Sr+HhTUAFKAAwAw0fMAd3lA/zLjnP8AbsUBZxuQ");l(e,2080,"hTuMAb3xJP/4JcMBYNw3ALdMPv/DQj0AMkykAeGkTP9MPaP/dT4fAFGRQP92QQ4AonPW/waKLgB85vT/CoqPADQawgC49EwAgY8pAb70E/97qnr/YoFEAHnVkwBWZR7/oWebAIxZQ//v5b4BQwu1AMbwif7uRbz/6nE8/yX/Of9Fsrb+gNCzAHYaff4DB9b/8TJN/1XLxf/Th/r/GTBk/7vVtP4RWGkAU9GeAQVzYgAErjz+qzdu/9m1Ef8UvKoAkpxm/lfWrv9yepsB6SyqAH8I7wHW7OoArwXbADFqPf8GQtD/Ampu/1HqE//Xa8D/Q5fuABMqbP/lVXEBMkSH/xFqCQAyZwH/UAGoASOYHv8QqLkBOFno/2XS/AAp+kcAzKpP/w4u7/9QTe8AvdZL/xGN+QAmUEz/vlV1AFbkqgCc2NABw8+k/5ZCTP+v4RD/jVBiAUzb8gDGonIALtqYAJsr8f6boGj/sgn8/mRu1AAOBacA6e+j/xyXnQFlkgr//p5G/kf55ABYHjIARDqg/78YaAGBQoH/wDJV/wiziv8m+skAc1CgAIPmcQB9WJMAWkTHAP1MngAc/3YAcfr+AEJLLgDm2isA5Xi6AZREKwCIfO4Bu2vF/1Q19v8zdP7/M7ulAAIRrwBCVKAB9zoeACNBNf5F7L8ALYb1AaN73QAgbhT/NBelALrWRwDpsGAA8u82ATlZigBTAFT/iKBkAFyOeP5ofL4AtbE+//opVQCYgioBYPz2AJeXP/7vhT4AIDicAC2nvf+OhbMBg1bTALuzlv76qg7/RHEV/966O/9CB/EBRQZIAFacbP43p1kAbTTb/g2wF//ELGr/75VH/6SMff+frQEAMynnAJE+IQCKb10BuVNFAJBzLgBhlxD/GOQaADHZ4gBxS+r+wZkM/7YwYP8ODRoAgMP5/kXBOwCEJVH+fWo8ANbwqQGk40IA0qNOACU0lwBjTRoA7pzV/9XA0QFJLlQAFEEpATbOTwDJg5L+qm8Y/7EhMv6rJsv/Tvd0ANHdmQCFgLIBOiwZAMknOwG9E/wAMeXSAXW7dQC1s7gBAHLbADBekwD1KTgAfQ3M/vStdwAs3SD+VOoUAPmgxgHsfur/jz7dAIFZ1v83iwX+RBS//w7MsgEjw9kALzPOASb2pQDOGwb+nlckANk0kv99e9f/VTwf/6sNBwDa9Vj+/CM8ADfWoP+FZTgA4CAT/pNA6gAakaIBcnZ9APj8+gBlXsT/xo3i/jMqtgCHDAn+bazS/8XswgHxQZoAMJwv/5lDN//apSL+SrSzANpCRwFYemMA1LXb/1wq5//vAJoA9U23/15RqgES1dgAq11HADRe+AASl6H+xdFC/670D/6iMLcAMT3w/rZdwwDH5AYByAUR/4kt7f9slAQAWk/t/yc/Tf81Us8BjhZ2/2XoEgFcGkMABchY/yGoiv+V4UgAAtEb/yz1qAHc7RH/HtNp/o3u3QCAUPX+b/4OAN5fvgHfCfEAkkzU/2zNaP8/dZkAkEUwACPkbwDAIcH/cNa+/nOYlwAXZlgAM0r4AOLHj/7MomX/0GG9AfVoEgDm9h7/F5RFAG5YNP7itVn/0C9a/nKhUP8hdPgAs5hX/0WQsQFY7hr/OiBxAQFNRQA7eTT/mO5TADQIwQDnJ+n/xyKKAN5ErQBbOfL+3NJ//8AH9v6XI7sAw+ylAG9dzgDU94UBmoXR/5vnCgBATiYAevlkAR4TYf8+W/kB+IVNAMU/qP50ClIAuOxx/tTLwv89ZPz+JAXK/3dbmf+BTx0AZ2er/u3Xb//YNUUA7/AXAMKV3f8m4d4A6P+0/nZShf850bEBi+iFAJ6wLv7Ccy4AWPflARxnvwDd3q/+lessAJfkGf7aaWcAjlXSAJWBvv/VQV7+dYbg/1LGdQCd3dwAo2UkAMVyJQBorKb+C7YAAFFIvP9hvBD/RQYKAMeTkf8ICXMBQdav/9mt0QBQf6YA9+UE/qe3fP9aHMz+rzvw/wsp+AFsKDP/kLHD/pb6fgCKW0EBeDze//XB7wAd1r3/gAIZAFCaogBN3GsB6s1K/zamZ/90SAkA5F4v/x7IGf8j1ln/PbCM/1Pio/9LgqwAgCYRAF+JmP/XfJ8BT10AAJRSnf7Dgvv/KMpM//t+4ACdYz7+zwfh/2BEwwCMup3/gxPn/yqA/gA02z3+ZstIAI0HC/+6pNUAH3p3AIXykQDQ/Oj/W9W2/48E+v7510oApR5vAasJ3wDleyIBXIIa/02bLQHDixz/O+BOAIgR9wBseSAAT/q9/2Dj/P4m8T4APq59/5tvXf8K5s4BYcUo/wAxOf5B+g0AEvuW/9xt0v8Frqb+LIG9AOsjk/8l943/SI0E/2dr/wD3WgQANSwqAAIe8AAEOz8AWE4kAHGntAC+R8H/x56k/zoIrABNIQwAQT8DAJlNIf+s/mYB5N0E/1ce/gGSKVb/iszv/myNEf+78ocA0tB/AEQtDv5JYD4AUTwY/6oGJP8D+RoAI9VtABaBNv8VI+H/6j04/zrZBgCPfFgA7H5CANEmt/8i7gb/rpFmAF8W0wDED5n+LlTo/3UikgHn+kr/G4ZkAVy7w/+qxnAAeBwqANFGQwAdUR8AHahkAamtoABrI3UAPmA7/1EMRQGH777/3PwSAKPcOv+Jibz/U2ZtAGAGTADq3tL/ua7NATye1f8N8dYArIGMAF1o8gDAnPsAK3UeAOFRngB/6NoA4hzLAOkbl/91KwX/8g4v/yEUBgCJ+yz+Gx/1/7fWff4oeZUAup7V/1kI4wBFWAD+y4fhAMmuywCTR7gAEnkp/l4FTgDg1vD+JAW0APuH5wGjitQA0vl0/liBuwATCDH+Pg6Q/59M0wDWM1IAbXXk/mffy/9L/A8Bmkfc/xcNWwGNqGD/tbaFAPozNwDq6tT+rz+eACfwNAGevST/1ShVASC09/8TZhoBVBhh/0UV3gCUi3r/3NXrAejL/wB5OZMA4weaADUWkwFIAeEAUoYw/lM8nf+RSKkAImfvAMbpLwB0EwT/uGoJ/7eBUwAksOYBImdIANuihgD1Kp4AIJVg/qUskADK70j+15YFACpCJAGE168AVq5W/xrFnP8x6If+Z7ZSAP2AsAGZsnoA9foKAOwYsgCJaoQAKB0pADIemP98aSYA5r9LAI8rqgAsgxT/LA0X/+3/mwGfbWT/cLUY/2jcbAA304MAYwzV/5iXkf/uBZ8AYZsIACFsUQABA2cAPm0i//qbtAAgR8P/JkaRAZ9f9QBF5WUBiBzwAE/gGQBObnn/+Kh8ALuA9wACk+v+TwuEAEY6DAG1CKP/T4mF/yWqC/+N81X/sOfX/8yWpP/v1yf/Llec/gijWP+sIugAQixm/xs2Kf7sY1f/KXupATRyKwB1higAm4YaAOfPW/4jhCb/E2Z9/iTjhf92A3H/HQ18AJhgSgFYks7/p7/c/qISWP+2ZBcAH3U0AFEuagEMAgcARVDJAdH2rAAMMI0B4NNYAHTinwB6YoIAQezqAeHiCf/P4nsBWdY7AHCHWAFa9Mv/MQsmAYFsugBZcA8BZS7M/3/MLf5P/93/M0kS/38qZf/xFcoAoOMHAGky7ABPNMX/aMrQAbQPEABlxU7/Yk3LACm58QEjwXwAI5sX/881wAALfaMB+Z65/wSDMAAVXW//PXnnAUXIJP+5MLn/b+4V/ycyGf9j16P/V9Qe/6STBf+ABiMBbN9u/8JMsgBKZbQA8y8wAK4ZK/9Srf0BNnLA/yg3WwDXbLD/CzgHAODpTADRYsr+8hl9ACzBXf7LCLEAh7ATAHBH1f/OO7ABBEMaAA6P1f4qN9D/PEN4AMEVowBjpHMAChR2AJzU3v6gB9n/cvVMAXU7ewCwwlb+1Q+wAE7Oz/7VgTsA6fsWAWA3mP/s/w//xVlU/12VhQCuoHEA6mOp/5h0WACQpFP/Xx3G/yIvD/9jeIb/BezBAPn3fv+Tux4AMuZ1/2zZ2/+jUab/SBmp/pt5T/8cm1n+B34RAJNBIQEv6v0AGjMSAGlTx/+jxOYAcfikAOL+2gC90cv/pPfe/v8jpQAEvPMBf7NHACXt/v9kuvAABTlH/mdISf/0ElH+5dKE/+4GtP8L5a7/493AARExHACj18T+CXYE/zPwRwBxgW3/TPDnALyxfwB9RywBGq/zAF6pGf4b5h0AD4t3Aaiquv+sxUz//Eu8AIl8xABIFmD/LZf5AdyRZABAwJ//eO/iAIGykgAAwH0A64rqALedkgBTx8D/uKxI/0nhgABNBvr/ukFDAGj2zwC8IIr/2hjyAEOKUf7tgXn/FM+WASnHEP8GFIAAn3YFALUQj//cJg8AF0CT/kkaDQBX5DkBzHyAACsY3wDbY8cAFksU/xMbfgCdPtcAbh3mALOn/wE2/L4A3cy2/rOeQf9RnQMAwtqfAKrfAADgCyD/JsViAKikJQAXWAcBpLpuAGAkhgDq8uUA+nkTAPL+cP8DL14BCe8G/1GGmf7W/aj/Q3zgAPVfSgAcHiz+AW3c/7JZWQD8JEwAGMYu/0xNbwCG6oj/J14dALlI6v9GRIf/52YH/k3njACnLzoBlGF2/xAb4QGmzo//brLW/7SDogCPjeEBDdpO/3KZIQFiaMwAr3J1AafOSwDKxFMBOkBDAIovbwHE94D/ieDg/p5wzwCaZP8BhiVrAMaAT/9/0Zv/o/65/jwO8wAf23D+HdlBAMgNdP57PMT/4Du4/vJZxAB7EEv+lRDOAEX+MAHndN//0aBBAchQYgAlwrj+lD8iAIvwQf/ZkIT/OCYt/sd40gBssab/oN4EANx+d/6la6D/Utz4AfGviACQjRf/qYpUAKCJTv/idlD/NBuE/z9gi/+Y+icAvJsPAOgzlv4oD+j/8OUJ/4mvG/9LSWEB2tQLAIcFogFrudUAAvlr/yjyRgDbyBkAGZ0NAENSUP/E+Rf/kRSVADJIkgBeTJQBGPtBAB/AFwC41Mn/e+miAfetSACiV9v+foZZAJ8LDP6maR0ASRvkAXF4t/9Co20B1I8L/5/nqAH/gFoAOQ46/lk0Cv/9CKMBAJHS/wqBVQEutRsAZ4ig/n680f8iI28A19sY/9QL1v5lBXYA6MWF/9+nbf/tUFb/RoteAJ7BvwGbDzP/D75zAE6Hz//5ChsBtX3pAF+sDf6q1aH/J+yK/19dV/++gF8AfQ/OAKaWnwDjD57/zp54/yqNgABlsngBnG2DANoOLP73qM7/1HAcAHAR5P9aECUBxd5sAP7PU/8JWvP/8/SsABpYc//NdHoAv+bBALRkCwHZJWD/mk6cAOvqH//OsrL/lcD7ALb6hwD2FmkAfMFt/wLSlf+pEaoAAGBu/3UJCAEyeyj/wb1jACLjoAAwUEb+0zPsAC169f4srggArSXp/55BqwB6Rdf/WlAC/4NqYP7jcocAzTF3/rA+QP9SMxH/8RTz/4INCP6A2fP/ohsB/lp28QD2xvb/NxB2/8ifnQCjEQEAjGt5AFWhdv8mAJUAnC/uAAmmpgFLYrX/MkoZAEIPLwCL4Z8ATAOO/w7uuAALzzX/t8C6Aasgrv+/TN0B96rbABmsMv7ZCekAy35E/7dcMAB/p7cBQTH+ABA/fwH+Far/O+B//hYwP/8bToL+KMMdAPqEcP4jy5AAaKmoAM/9Hv9oKCb+XuRYAM4QgP/UN3r/3xbqAN/FfwD9tbUBkWZ2AOyZJP/U2Uj/FCYY/oo+PgCYjAQA5txj/wEV1P+UyecA9HsJ/gCr0gAzOiX/Af8O//S3kf4A8qYAFkqEAHnYKQBfw3L+hRiX/5zi5//3BU3/9pRz/uFcUf/eUPb+qntZ/0rHjQAdFAj/iohG/11LXADdkzH+NH7iAOV8FwAuCbUAzUA0AYP+HACXntQAg0BOAM4ZqwAA5osAv/1u/mf3pwBAKCgBKqXx/ztL5P58873/xFyy/4KMVv+NWTgBk8YF/8v4nv6Qoo0AC6ziAIIqFf8Bp4//kCQk/zBYpP6oqtwAYkfWAFvQTwCfTMkBpirW/0X/AP8GgH3/vgGMAJJT2v/X7kgBen81AL10pf9UCEL/1gPQ/9VuhQDDqCwBnudFAKJAyP5bOmgAtjq7/vnkiADLhkz+Y93pAEv+1v5QRZoAQJj4/uyIyv+daZn+la8UABYjE/98eekAuvrG/oTliwCJUK7/pX1EAJDKlP7r7/gAh7h2AGVeEf96SEb+RYKSAH/e+AFFf3b/HlLX/rxKE//lp8L+dRlC/0HqOP7VFpwAlztd/i0cG/+6fqT/IAbvAH9yYwHbNAL/Y2Cm/j6+fv9s3qgBS+KuAObixwA8ddr//PgUAda8zAAfwob+e0XA/6mtJP43YlsA3ypm/okBZgCdWhkA73pA//wG6QAHNhT/UnSuAIclNv8Pun0A43Cv/2S04f8q7fT/9K3i/vgSIQCrY5b/Susy/3VSIP5qqO0Az23QAeQJugCHPKn+s1yPAPSqaP/rLXz/RmO6AHWJtwDgH9cAKAlkABoQXwFE2VcACJcU/xpkOv+wpcsBNHZGAAcg/v70/vX/p5DC/31xF/+webUAiFTRAIoGHv9ZMBwAIZsO/xnwmgCNzW0BRnM+/xQoa/6Kmsf/Xt/i/52rJgCjsRn+LXYD/w7eFwHRvlH/dnvoAQ3VZf97N3v+G/alADJjTP+M1iD/YUFD/xgMHACuVk4BQPdgAKCHQwBCN/P/k8xg/xoGIf9iM1MBmdXQ/wK4Nv8Z2gsAMUP2/hKVSP8NGUgAKk/WACoEJgEbi5D/lbsXABKkhAD1VLj+eMZo/37aYAA4der/DR3W/kQvCv+nmoT+mCbGAEKyWf/ILqv/DWNT/9K7/f+qLSoBitF8ANaijQAM5pwAZiRw/gOTQwA013v/6as2/2KJPgD32if/59rsAPe/fwDDklQApbBc/xPUXv8RSuMAWCiZAcaTAf/OQ/X+8APa/z2N1f9ht2oAw+jr/l9WmgDRMM3+dtHx//B43wHVHZ8Ao3+T/w3aXQBVGET+RhRQ/70FjAFSYf7/Y2O//4RUhf9r2nT/cHouAGkRIADCoD//RN4nAdj9XACxac3/lcnDACrhC/8oonMACQdRAKXa2wC0FgD+HZL8/5LP4QG0h2AAH6NwALEL2/+FDMH+K04yAEFxeQE72Qb/bl4YAXCsbwAHD2AAJFV7AEeWFf/QSbwAwAunAdX1IgAJ5lwAoo4n/9daGwBiYVkAXk/TAFqd8ABf3H4BZrDiACQe4P4jH38A5+hzAVVTggDSSfX/L49y/0RBxQA7SD7/t4Wt/l15dv87sVH/6kWt/82AsQDc9DMAGvTRAUneTf+jCGD+lpXTAJ7+ywE2f4sAoeA7AARtFv/eKi3/0JJm/+yOuwAyzfX/CkpZ/jBPjgDeTIL/HqY/AOwMDf8xuPQAu3FmANpl/QCZObb+IJYqABnGkgHt8TgAjEQFAFukrP9Okbr+QzTNANvPgQFtcxEANo86ARX4eP+z/x4AwexC/wH/B//9wDD/E0XZAQPWAP9AZZIB330j/+tJs//5p+IA4a8KAWGiOgBqcKsBVKwF/4WMsv+G9Y4AYVp9/7rLuf/fTRf/wFxqAA/Gc//ZmPgAq7J4/+SGNQCwNsEB+vs1ANUKZAEix2oAlx/0/qzgV/8O7Rf//VUa/38ndP+saGQA+w5G/9TQiv/90/oAsDGlAA9Me/8l2qD/XIcQAQp+cv9GBeD/9/mNAEQUPAHx0r3/w9m7AZcDcQCXXK4A5z6y/9u34QAXFyH/zbVQADm4+P9DtAH/Wntd/ycAov9g+DT/VEKMACJ/5P/CigcBpm68ABURmwGavsb/1lA7/xIHjwBIHeIBx9n5AOihRwGVvskA2a9f/nGTQ/+Kj8f/f8wBAB22UwHO5pv/usw8AAp9Vf/oYBn//1n3/9X+rwHowVEAHCuc/gxFCACTGPgAEsYxAIY8IwB29hL/MVj+/uQVuv+2QXAB2xYB/xZ+NP+9NTH/cBmPACZ/N//iZaP+0IU9/4lFrgG+dpH/PGLb/9kN9f/6iAoAVP7iAMkffQHwM/v/H4OC/wKKMv/X17EB3wzu//yVOP98W0T/SH6q/nf/ZACCh+j/Dk+yAPqDxQCKxtAAediL/ncSJP8dwXoAECot/9Xw6wHmvqn/xiPk/m6tSADW3fH/OJSHAMB1Tv6NXc//j0GVABUSYv9fLPQBar9NAP5VCP7WbrD/Sa0T/qDEx//tWpAAwaxx/8ibiP7kWt0AiTFKAaTd1//RvQX/aew3/yofgQHB/+wALtk8AIpYu//iUuz/UUWX/46+EAENhggAf3ow/1FAnACr84sA7SP2AHqPwf7UepIAXyn/AVeETQAE1B8AER9OACctrf4Yjtn/XwkG/+NTBgBiO4L+Ph4hAAhz0wGiYYD/B7gX/nQcqP/4ipf/YvTwALp2ggBy+Ov/aa3IAaB8R/9eJKQBr0GS/+7xqv7KxsUA5EeK/i32bf/CNJ4AhbuwAFP8mv5Zvd3/qkn8AJQ6fQAkRDP+KkWx/6hMVv8mZMz/JjUjAK8TYQDh7v3/UVGHANIb//7rSWsACM9zAFJ/iABUYxX+zxOIAGSkZQBQ0E3/hM/t/w8DD/8hpm4AnF9V/yW5bwGWaiP/ppdMAHJXh/+fwkAADHof/+gHZf6td2IAmkfc/r85Nf+o6KD/4CBj/9qcpQCXmaMA2Q2UAcVxWQCVHKH+zxceAGmE4/825l7/ha3M/1y3nf9YkPz+ZiFaAJ9hAwC12pv/8HJ3AGrWNf+lvnMBmFvh/1hqLP/QPXEAlzR8AL8bnP9uNuwBDh6m/yd/zwHlxxwAvOS8/mSd6wD22rcBaxbB/86gXwBM75MAz6F1ADOmAv80dQr+STjj/5jB4QCEXoj/Zb/RACBr5f/GK7QBZNJ2AHJDmf8XWBr/WZpcAdx4jP+Qcs///HP6/yLOSACKhX//CLJ8AVdLYQAP5Vz+8EOD/3Z74/6SeGj/kdX/AYG7Rv/bdzYAAROtAC2WlAH4U0gAy+mpAY5rOAD3+SYBLfJQ/x7pZwBgUkYAF8lvAFEnHv+ht07/wuoh/0TjjP7YznQARhvr/2iQTwCk5l3+1oecAJq78v68FIP/JG2uAJ9w8QAFbpUBJKXaAKYdEwGyLkkAXSsg/vi97QBmm40AyV3D//GL/f8Pb2L/bEGj/ptPvv9JrsH+9igw/2tYC/7KYVX//cwS/3HyQgBuoML+0BK6AFEVPAC8aKf/fKZh/tKFjgA48on+KW+CAG+XOgFv1Y3/t6zx/yYGxP+5B3v/Lgv2APVpdwEPAqH/CM4t/xLKSv9TfHMB1I2dAFMI0f6LD+j/rDat/jL3hADWvdUAkLhpAN/++AD/k/D/F7xIAAczNgC8GbT+3LQA/1OgFACjvfP/OtHC/1dJPABqGDEA9fncABatpwB2C8P/E37tAG6fJf87Ui8AtLtWALyU0AFkJYX/B3DBAIG8nP9UaoH/heHKAA7sb/8oFGUArKwx/jM2Sv/7ubj/XZvg/7T54AHmspIASDk2/rI+uAB3zUgAue/9/z0P2gDEQzj/6iCrAS7b5ADQbOr/FD/o/6U1xwGF5AX/NM1rAErujP+WnNv+76yy//u93/4gjtP/2g+KAfHEUAAcJGL+FurHAD3t3P/2OSUAjhGO/50+GgAr7l/+A9kG/9UZ8AEn3K7/ms0w/hMNwP/0Ijb+jBCbAPC1Bf6bwTwApoAE/ySROP+W8NsAeDORAFKZKgGM7JIAa1z4Ab0KAwA/iPIA0ycYABPKoQGtG7r/0szv/inRov+2/p//rHQ0AMNn3v7NRTsANRYpAdowwgBQ0vIA0rzPALuhof7YEQEAiOFxAPq4PwDfHmL+TaiiADs1rwATyQr/i+DCAJPBmv/UvQz+Aciu/zKFcQFes1oArbaHAF6xcQArWdf/iPxq/3uGU/4F9UL/UjEnAdwC4ABhgbEATTtZAD0dmwHLq9z/XE6LAJEhtf+pGI0BN5azAIs8UP/aJ2EAApNr/zz4SACt5i8BBlO2/xBpov6J1FH/tLiGASfepP/dafsB73B9AD8HYQA/aOP/lDoMAFo84P9U1PwAT9eoAPjdxwFzeQEAJKx4ACCiu/85azH/kyoVAGrGKwE5SlcAfstR/4GHwwCMH7EA3YvCAAPe1wCDROcAsVay/nyXtAC4fCYBRqMRAPn7tQEqN+MA4qEsABfsbgAzlY4BXQXsANq3av5DGE0AKPXR/955mQClOR4AU308AEYmUgHlBrwAbd6d/zd2P//Nl7oA4yGV//6w9gHjseMAImqj/rArTwBqX04BufF6/7kOPQAkAcoADbKi//cLhACh5lwBQQG5/9QypQGNkkD/nvLaABWkfQDVi3oBQ0dXAMuesgGXXCsAmG8F/ycD7//Z//r/sD9H/0r1TQH6rhL/IjHj//Yu+/+aIzABfZ09/2okTv9h7JkAiLt4/3GGq/8T1dn+2F7R//wFPQBeA8oAAxq3/0C/K/8eFxUAgY1N/2Z4BwHCTIwAvK80/xFRlADoVjcB4TCsAIYqKv/uMi8AqRL+ABSTV/8Ow+//RfcXAO7lgP+xMXAAqGL7/3lH+ADzCJH+9uOZ/9upsf77i6X/DKO5/6Qoq/+Znxv+821b/94YcAES1ucAa521/sOTAP/CY2j/WYy+/7FCfv5quUIAMdofAPyungC8T+YB7ingANTqCAGIC7UApnVT/0TDXgAuhMkA8JhYAKQ5Rf6g4Cr/O9dD/3fDjf8ktHn+zy8I/67S3wBlxUT//1KNAfqJ6QBhVoUBEFBFAISDnwB0XWQALY2LAJisnf9aK1sAR5kuACcQcP/ZiGH/3MYZ/rE1MQDeWIb/gA88AM/Aqf/AdNH/ak7TAcjVt/8HDHr+3ss8/yFux/77anUA5OEEAXg6B//dwVT+cIUbAL3Iyf+Lh5YA6jew/z0yQQCYbKn/3FUB/3CH4wCiGroAz2C5/vSIawBdmTIBxmGXAG4LVv+Pda7/c9TIAAXKtwDtpAr+ue8+AOx4Ev5ie2P/qMnC/i7q1gC/hTH/Y6l3AL67IwFzFS3/+YNIAHAGe//WMbX+pukiAFzFZv795M3/AzvJASpiLgDbJSP/qcMmAF58wQGcK98AX0iF/njOvwB6xe//sbtP//4uAgH6p74AVIETAMtxpv/5H73+SJ3K/9BHSf/PGEgAChASAdJRTP9Y0MD/fvNr/+6NeP/Heer/iQw7/yTce/+Uszz+8AwdAEIAYQEkHib/cwFd/2Bn5//FnjsBwKTwAMrKOf8YrjAAWU2bASpM1wD0l+kAFzBRAO9/NP7jgiX/+HRdAXyEdgCt/sABButT/26v5wH7HLYAgfld/lS4gABMtT4Ar4C6AGQ1iP5tHeIA3ek6ARRjSgAAFqAAhg0VAAk0N/8RWYwAryI7AFSld//g4ur/B0im/3tz/wES1vYA+gdHAdncuQDUI0z/Jn2vAL1h0gBy7iz/Kbyp/i26mgBRXBYAhKDBAHnQYv8NUSz/y5xSAEc6Ff/Qcr/+MiaTAJrYwwBlGRIAPPrX/+mE6/9nr44BEA5cAI0fbv7u8S3/mdnvAWGoL//5VRABHK8+/zn+NgDe534Api11/hK9YP/kTDIAyPReAMaYeAFEIkX/DEGg/mUTWgCnxXj/RDa5/ynavABxqDAAWGm9ARpSIP+5XaQB5PDt/0K2NQCrxVz/awnpAcd4kP9OMQr/bapp/1oEH/8c9HH/SjoLAD7c9v95msj+kNKy/345gQEr+g7/ZW8cAS9W8f89Rpb/NUkF/x4angDRGlYAiu1KAKRfvACOPB3+onT4/7uvoACXEhAA0W9B/suGJ/9YbDH/gxpH/90b1/5oaV3/H+wf/ocA0/+Pf24B1EnlAOlDp/7DAdD/hBHd/zPZWgBD6zL/39KPALM1ggHpasYA2a3c/3DlGP+vml3+R8v2/zBChf8DiOb/F91x/utv1QCqeF/++90CAC2Cnv5pXtn/8jS0/tVELf9oJhwA9J5MAKHIYP/PNQ3/u0OUAKo2+AB3orL/UxQLACoqwAGSn6P/t+hvAE3lFf9HNY8AG0wiAPaIL//bJ7b/XODJAROODv9FtvH/o3b1AAltagGqtff/Ti/u/1TSsP/Va4sAJyYLAEgVlgBIgkUAzU2b/o6FFQBHb6z+4io7/7MA1wEhgPEA6vwNAbhPCABuHkn/9o29AKrP2gFKmkX/ivYx/5sgZAB9Smn/WlU9/yPlsf8+fcH/mVa8AUl41ADRe/b+h9Em/5c6LAFcRdb/DgxY//yZpv/9z3D/PE5T/+N8bgC0YPz/NXUh/qTcUv8pARv/JqSm/6Rjqf49kEb/wKYSAGv6QgDFQTIAAbMS//9oAf8rmSP/UG+oAG6vqAApaS3/2w7N/6TpjP4rAXYA6UPDALJSn/+KV3r/1O5a/5AjfP4ZjKQA+9cs/oVGa/9l41D+XKk3ANcqMQBytFX/IegbAazVGQA+sHv+IIUY/+G/PgBdRpkAtSpoARa/4P/IyIz/+eolAJU5jQDDOND//oJG/yCt8P8d3McAbmRz/4Tl+QDk6d//JdjR/rKx0f+3LaX+4GFyAIlhqP/h3qwApQ0xAdLrzP/8BBz+RqCXAOi+NP5T+F3/PtdNAa+vs/+gMkIAeTDQAD+p0f8A0sgA4LssAUmiUgAJsI//E0zB/x07pwEYK5oAHL6+AI28gQDo68v/6gBt/zZBnwA8WOj/ef2W/vzpg//GbikBU01H/8gWO/5q/fL/FQzP/+1CvQBaxsoB4ax/ADUWygA45oQAAVa3AG2+KgDzRK4BbeSaAMixegEjoLf/sTBV/1raqf/4mE4Ayv5uAAY0KwCOYkH/P5EWAEZqXQDoimsBbrM9/9OB2gHy0VwAI1rZAbaPav90Zdn/cvrd/63MBgA8lqMASaws/+9uUP/tTJn+oYz5AJXo5QCFHyj/rqR3AHEz1gCB5AL+QCLzAGvj9P+uasj/VJlGATIjEAD6Stj+7L1C/5n5DQDmsgT/3SnuAHbjef9eV4z+/ndcAEnv9v51V4AAE9OR/7Eu/ADlW/YBRYD3/8pNNgEICwn/mWCmANnWrf+GwAIBAM8AAL2uawGMhmQAnsHzAbZmqwDrmjMAjgV7/zyoWQHZDlz/E9YFAdOn/gAsBsr+eBLs/w9xuP+434sAKLF3/rZ7Wv+wpbAA903CABvqeADnANb/OyceAH1jkf+WREQBjd74AJl70v9uf5j/5SHWAYfdxQCJYQIADI/M/1EpvABzT4L/XgOEAJivu/98jQr/fsCz/wtnxgCVBi0A21W7AeYSsv9ItpgAA8a4/4Bw4AFhoeYA/mMm/zqfxQCXQtsAO0WP/7lw+QB3iC//e4KEAKhHX/9xsCgB6LmtAM9ddQFEnWz/ZgWT/jFhIQBZQW/+9x6j/3zZ3QFm+tgAxq5L/jk3EgDjBewB5dWtAMlt2gEx6e8AHjeeARmyagCbb7wBXn6MANcf7gFN8BAA1fIZASZHqADNul3+MdOM/9sAtP+GdqUAoJOG/266I//G8yoA85J3AIbrowEE8Yf/wS7B/me0T//hBLj+8naCAJKHsAHqbx4ARULV/ilgewB5Xir/sr/D/y6CKgB1VAj/6THW/u56bQAGR1kB7NN7APQNMP53lA4AchxW/0vtGf+R5RD+gWQ1/4aWeP6onTIAF0ho/+AxDgD/exb/l7mX/6pQuAGGthQAKWRlAZkhEABMmm8BVs7q/8CgpP6le13/Adik/kMRr/+pCzv/nik9/0m8Dv/DBon/FpMd/xRnA//2guP/eiiAAOIvGP4jJCAAmLq3/0XKFADDhcMA3jP3AKmrXgG3AKD/QM0SAZxTD//FOvn++1lu/zIKWP4zK9gAYvLGAfWXcQCr7MIBxR/H/+VRJgEpOxQA/WjmAJhdDv/28pL+1qnw//BmbP6gp+wAmtq8AJbpyv8bE/oBAkeF/68MPwGRt8YAaHhz/4L79wAR1Kf/PnuE//dkvQCb35gAj8UhAJs7LP+WXfABfwNX/19HzwGnVQH/vJh0/woXFwCJw10BNmJhAPAAqP+UvH8AhmuXAEz9qwBahMAAkhY2AOBCNv7muuX/J7bEAJT7gv9Bg2z+gAGgAKkxp/7H/pT/+waDALv+gf9VUj4Ashc6//6EBQCk1ScAhvyS/iU1Uf+bhlIAzafu/14ttP+EKKEA/m9wATZL2QCz5t0B616//xfzMAHKkcv/J3Yq/3WN/QD+AN4AK/syADap6gFQRNAAlMvz/pEHhwAG/gAA/Ll/AGIIgf8mI0j/0yTcASgaWQCoQMX+A97v/wJT1/60n2kAOnPCALp0av/l99v/gXbBAMqutwGmoUgAyWuT/u2ISgDp5moBaW+oAEDgHgEB5QMAZpev/8Lu5P/++tQAu+15AEP7YAHFHgsAt1/MAM1ZigBA3SUB/98e/7Iw0//xyFr/p9Fg/zmC3QAucsj/PbhCADe2GP5utiEAq77o/3JeHwAS3QgAL+f+AP9wUwB2D9f/rRko/sDBH//uFZL/q8F2/2XqNf6D1HAAWcBrAQjQGwC12Q//55XoAIzsfgCQCcf/DE+1/pO2yv8Tbbb/MdThAEqjywCv6ZQAGnAzAMHBCf8Ph/kAluOCAMwA2wEY8s0A7tB1/xb0cAAa5SIAJVC8/yYtzv7wWuH/HQMv/yrgTAC686cAIIQP/wUzfQCLhxgABvHbAKzlhf/21jIA5wvP/79+UwG0o6r/9TgYAbKk0/8DEMoBYjl2/42DWf4hMxgA85Vb//00DgAjqUP+MR5Y/7MbJP+ljLcAOr2XAFgfAABLqUIAQmXH/xjYxwF5xBr/Dk/L/vDiUf9eHAr/U8Hw/8zBg/9eD1YA2iidADPB0QAA8rEAZrn3AJ5tdAAmh1sA36+VANxCAf9WPOgAGWAl/+F6ogHXu6j/np0uADirogDo8GUBehYJADMJFf81Ge7/2R7o/n2plAAN6GYAlAklAKVhjQHkgykA3g/z//4SEQAGPO0BagNxADuEvQBccB4AadDVADBUs/+7eef+G9ht/6Lda/5J78P/+h85/5WHWf+5F3MBA6Od/xJw+gAZObv/oWCkAC8Q8wAMjfv+Q+q4/ykSoQCvBmD/oKw0/hiwt//GwVUBfHmJ/5cycv/cyzz/z+8FAQAma/837l7+RpheANXcTQF4EUX/VaS+/8vqUQAmMSX+PZB8AIlOMf6o9zAAX6T8AGmphwD95IYAQKZLAFFJFP/P0goA6mqW/14iWv/+nzn+3IVjAIuTtP4YF7kAKTke/71hTABBu9//4Kwl/yI+XwHnkPAATWp+/kCYWwAdYpsA4vs1/+rTBf+Qy97/pLDd/gXnGACzes0AJAGG/31Gl/5h5PwArIEX/jBa0f+W4FIBVIYeAPHELgBncer/LmV5/ih8+v+HLfL+Cfmo/4xsg/+Po6sAMq3H/1jejv/IX54AjsCj/wd1hwBvfBYA7AxB/kQmQf/jrv4A9PUmAPAy0P+hP/oAPNHvAHojEwAOIeb+Ap9xAGoUf//kzWAAidKu/rTUkP9ZYpoBIliLAKeicAFBbsUA8SWpAEI4g/8KyVP+hf27/7FwLf7E+wAAxPqX/+7o1v+W0c0AHPB2AEdMUwHsY1sAKvqDAWASQP923iMAcdbL/3p3uP9CEyQAzED5AJJZiwCGPocBaOllALxUGgAx+YEA0NZL/8+CTf9zr+sAqwKJ/6+RugE39Yf/mla1AWQ69v9txzz/UsyG/9cx5gGM5cD/3sH7/1GID/+zlaL/Fycd/wdfS/6/Ud4A8VFa/2sxyf/0050A3oyV/0HbOP699lr/sjudATDbNABiItcAHBG7/6+pGABcT6H/7MjCAZOP6gDl4QcBxagOAOszNQH9eK4AxQao/8p1qwCjFc4AclVa/w8pCv/CE2MAQTfY/qKSdAAyztT/QJId/56egwFkpYL/rBeB/301Cf8PwRIBGjEL/7WuyQGHyQ7/ZBOVANtiTwAqY4/+YAAw/8X5U/5olU//626I/lKALP9BKST+WNMKALt5uwBihscAq7yz/tIL7v9Ce4L+NOo9ADBxF/4GVnj/d7L1AFeByQDyjdEAynJVAJQWoQBnwzAAGTGr/4pDggC2SXr+lBiCANPlmgAgm54AVGk9ALHCCf+mWVYBNlO7APkodf9tA9f/NZIsAT8vswDC2AP+DlSIAIixDf9I87r/dRF9/9M60/9dT98AWlj1/4vRb/9G3i8ACvZP/8bZsgDj4QsBTn6z/z4rfgBnlCMAgQil/vXwlAA9M44AUdCGAA+Jc//Td+z/n/X4/wKGiP/mizoBoKT+AHJVjf8xprb/kEZUAVW2BwAuNV0ACaah/zeisv8tuLwAkhws/qlaMQB4svEBDnt//wfxxwG9QjL/xo9l/r3zh/+NGBj+S2FXAHb7mgHtNpwAq5LP/4PE9v+IQHEBl+g5APDacwAxPRv/QIFJAfypG/8ohAoBWsnB//x58AG6zikAK8ZhAJFktwDM2FD+rJZBAPnlxP5oe0n/TWhg/oK0CABoezkA3Mrl/2b50wBWDuj/tk7RAO/hpABqDSD/eEkR/4ZD6QBT/rUAt+xwATBAg//x2PP/QcHiAM7xZP5khqb/7crFADcNUQAgfGb/KOSxAHa1HwHnoIb/d7vKAACOPP+AJr3/psmWAM94GgE2uKwADPLM/oVC5gAiJh8BuHBQACAzpf6/8zcAOkmS/punzf9kaJj/xf7P/60T9wDuCsoA75fyAF47J//wHWb/Clya/+VU2/+hgVAA0FrMAfDbrv+eZpEBNbJM/zRsqAFT3msA0yRtAHY6OAAIHRYA7aDHAKrRnQCJRy8Aj1YgAMbyAgDUMIgBXKy6AOaXaQFgv+UAilC//vDYgv9iKwb+qMQxAP0SWwGQSXkAPZInAT9oGP+4pXD+futiAFDVYv97PFf/Uoz1Ad94rf8PxoYBzjzvAOfqXP8h7hP/pXGOAbB3JgCgK6b+71tpAGs9wgEZBEQAD4szAKSEav8idC7+qF/FAInUFwBInDoAiXBF/pZpmv/syZ0AF9Sa/4hS4/7iO93/X5XAAFF2NP8hK9cBDpNL/1mcef4OEk8Ak9CLAZfaPv+cWAgB0rhi/xSve/9mU+UA3EF0AZb6BP9cjtz/IvdC/8zhs/6XUZcARyjs/4o/PgAGT/D/t7m1AHYyGwA/48AAe2M6ATLgm/8R4d/+3OBN/w4sewGNgK8A+NTIAJY7t/+TYR0Alsy1AP0lRwCRVXcAmsi6AAKA+f9TGHwADlePAKgz9QF8l+f/0PDFAXy+uQAwOvYAFOnoAH0SYv8N/h//9bGC/2yOIwCrffL+jAwi/6WhogDOzWUA9xkiAWSROQAnRjkAdszL//IAogCl9B4AxnTiAIBvmf+MNrYBPHoP/5s6OQE2MsYAq9Md/2uKp/+ta8f/baHBAFlI8v/Oc1n/+v6O/rHKXv9RWTIAB2lC/xn+//7LQBf/T95s/yf5SwDxfDIA75iFAN3xaQCTl2IA1aF5/vIxiQDpJfn+KrcbALh35v/ZIKP/0PvkAYk+g/9PQAn+XjBxABGKMv7B/xYA9xLFAUM3aAAQzV//MCVCADecPwFAUkr/yDVH/u9DfQAa4N4A34ld/x7gyv8J3IQAxibrAWaNVgA8K1EBiBwaAOkkCP7P8pQApKI/ADMu4P9yME//Ca/iAN4Dwf8voOj//11p/g4q5gAailIB0Cv0ABsnJv9i0H//QJW2/wX60QC7PBz+MRna/6l0zf93EngAnHST/4Q1bf8NCsoAblOnAJ3bif8GA4L/Mqce/zyfL/+BgJ3+XgO9AAOmRABT39cAllrCAQ+oQQDjUzP/zatC/za7PAGYZi3/d5rhAPD3iABkxbL/i0ff/8xSEAEpzir/nMDd/9h79P/a2rn/u7rv//ysoP/DNBYAkK61/rtkc//TTrD/GwfBAJPVaP9ayQr/UHtCARYhugABB2P+Hs4KAOXqBQA1HtIAigjc/kc3pwBI4VYBdr68AP7BZQGr+az/Xp63/l0CbP+wXUz/SWNP/0pAgf72LkEAY/F//vaXZv8sNdD+O2bqAJqvpP9Y8iAAbyYBAP+2vv9zsA/+qTyBAHrt8QBaTD8APkp4/3rDbgB3BLIA3vLSAIIhLv6cKCkAp5JwATGjb/95sOsATM8O/wMZxgEp69UAVSTWATFcbf/IGB7+qOzDAJEnfAHsw5UAWiS4/0NVqv8mIxr+g3xE/++bI/82yaQAxBZ1/zEPzQAY4B0BfnGQAHUVtgDLn40A34dNALDmsP++5df/YyW1/zMViv8ZvVn/MTCl/pgt9wCqbN4AUMoFABtFZ/7MFoH/tPw+/tIBW/+Sbv7/26IcAN/81QE7CCEAzhD0AIHTMABroNAAcDvRAG1N2P4iFbn/9mM4/7OLE/+5HTL/VFkTAEr6Yv/hKsj/wNnN/9IQpwBjhF8BK+Y5AP4Ly/9jvD//d8H7/lBpNgDotb0Bt0Vw/9Crpf8vbbT/e1OlAJKiNP+aCwT/l+Na/5KJYf496Sn/Xio3/2yk7ACYRP4ACoyD/wpqT/7znokAQ7JC/rF7xv8PPiIAxVgq/5Vfsf+YAMb/lf5x/+Fao/992fcAEhHgAIBCeP7AGQn/Mt3NADHURgDp/6QAAtEJAN002/6s4PT/XjjOAfKzAv8fW6QB5i6K/73m3AA5Lz3/bwudALFbmAAc5mIAYVd+AMZZkf+nT2sA+U2gAR3p5v+WFVb+PAvBAJclJP65lvP/5NRTAayXtADJqZsA9DzqAI7rBAFD2jwAwHFLAXTzz/9BrJsAUR6c/1BIIf4S523/jmsV/n0ahP+wEDv/lsk6AM6pyQDQeeIAKKwO/5Y9Xv84OZz/jTyR/y1slf/ukZv/0VUf/sAM0gBjYl3+mBCXAOG53ACN6yz/oKwV/kcaH/8NQF3+HDjGALE++AG2CPEApmWU/05Rhf+B3tcBvKmB/+gHYQAxcDz/2eX7AHdsigAnE3v+gzHrAIRUkQCC5pT/GUq7AAX1Nv+52/EBEsLk//HKZgBpccoAm+tPABUJsv+cAe8AyJQ9AHP30v8x3YcAOr0IASMuCQBRQQX/NJ65/310Lv9KjA3/0lys/pMXRwDZ4P3+c2y0/5E6MP7bsRj/nP88AZqT8gD9hlcANUvlADDD3v8frzL/nNJ4/9Aj3v8S+LMBAgpl/53C+P+ezGX/aP7F/08+BACyrGUBYJL7/0EKnAACiaX/dATnAPLXAQATIx3/K6FPADuV9gH7QrAAyCED/1Bujv/DoREB5DhC/3svkf6EBKQAQ66sABn9cgBXYVcB+txUAGBbyP8lfTsAE0F2AKE08f/trAb/sL///wFBgv7fvuYAZf3n/5IjbQD6HU0BMQATAHtamwEWViD/2tVBAG9dfwA8Xan/CH+2ABG6Dv79ifb/1Rkw/kzuAP/4XEb/Y+CLALgJ/wEHpNAAzYPGAVfWxwCC1l8A3ZXeABcmq/7FbtUAK3OM/texdgBgNEIBdZ7tAA5Atv8uP67/nl++/+HNsf8rBY7/rGPU//S7kwAdM5n/5HQY/h5lzwAT9pb/hucFAH2G4gFNQWIA7IIh/wVuPgBFbH//B3EWAJEUU/7Coef/g7U8ANnRsf/llNT+A4O4AHWxuwEcDh//sGZQADJUl/99Hzb/FZ2F/xOziwHg6BoAInWq/6f8q/9Jjc7+gfojAEhP7AHc5RT/Kcqt/2NM7v/GFuD/bMbD/ySNYAHsnjv/amRXAG7iAgDj6t4Aml13/0pwpP9DWwL/FZEh/2bWif+v5mf+o/amAF33dP6n4Bz/3AI5AavOVAB75BH/G3h3AHcLkwG0L+H/aMi5/qUCcgBNTtQALZqx/xjEef5SnbYAWhC+AQyTxQBf75j/C+tHAFaSd/+shtYAPIPEAKHhgQAfgnj+X8gzAGnn0v86CZT/K6jd/3ztjgDG0zL+LvVnAKT4VACYRtD/tHWxAEZPuQDzSiAAlZzPAMXEoQH1Ne8AD132/ovwMf/EWCT/oiZ7AIDInQGuTGf/raki/tgBq/9yMxEAiOTCAG6WOP5q9p8AE7hP/5ZN8P+bUKIAADWp/x2XVgBEXhAAXAdu/mJ1lf/5Teb//QqMANZ8XP4jdusAWTA5ARY1pgC4kD3/s//CANb4Pf47bvYAeRVR/qYD5ABqQBr/ReiG//LcNf4u3FUAcZX3/2GzZ/++fwsAh9G2AF80gQGqkM7/esjM/6hkkgA8kJX+RjwoAHo0sf/202X/ru0IAAczeAATH60Afu+c/4+9ywDEgFj/6YXi/x59rf/JbDIAe2Q7//6jAwHdlLX/1og5/t60if/PWDb/HCH7/0PWNAHS0GQAUapeAJEoNQDgb+f+Ixz0/+LHw/7uEeYA2dmk/qmd3QDaLqIBx8+j/2xzogEOYLv/djxMALifmADR50f+KqS6/7qZM/7dq7b/oo6tAOsvwQAHixABX6RA/xDdpgDbxRAAhB0s/2RFdf8861j+KFGtAEe+Pf+7WJ0A5wsXAO11pADhqN//mnJ0/6OY8gEYIKoAfWJx/qgTTAARndz+mzQFABNvof9HWvz/rW7wAArGef/9//D/QnvSAN3C1/55oxH/4QdjAL4xtgBzCYUB6BqK/9VEhAAsd3r/s2IzAJVaagBHMub/Cpl2/7FGGQClV80AN4rqAO4eYQBxm88AYpl/ACJr2/51cqz/TLT//vI5s//dIqz+OKIx/1MD//9x3b3/vBnk/hBYWf9HHMb+FhGV//N5/v9rymP/Cc4OAdwvmQBriScBYTHC/5Uzxf66Ogv/ayvoAcgGDv+1hUH+3eSr/3s+5wHj6rP/Ir3U/vS7+QC+DVABglkBAN+FrQAJ3sb/Qn9KAKfYXf+bqMYBQpEAAERmLgGsWpoA2IBL/6AoMwCeERsBfPAxAOzKsP+XfMD/JsG+AF+2PQCjk3z//6Uz/xwoEf7XYE4AVpHa/h8kyv9WCQUAbynI/+1sYQA5PiwAdbgPAS3xdACYAdz/naW8APoPgwE8LH3/Qdz7/0syuAA1WoD/51DC/4iBfwEVErv/LTqh/0eTIgCu+Qv+I40dAO9Esf9zbjoA7r6xAVf1pv++Mff/klO4/60OJ/+S12gAjt94AJXIm//Uz5EBELXZAK0gV///I7UAd9+hAcjfXv9GBrr/wENV/zKpmACQGnv/OPOz/hREiAAnjLz+/dAF/8hzhwErrOX/nGi7AJf7pwA0hxcAl5lIAJPFa/6UngX/7o/OAH6Zif9YmMX+B0SnAPyfpf/vTjb/GD83/ybeXgDttwz/zszSABMn9v4eSucAh2wdAbNzAAB1dnQBhAb8/5GBoQFpQ40AUiXi/+7i5P/M1oH+ontk/7l56gAtbOcAQgg4/4SIgACs4EL+r528AObf4v7y20UAuA53AVKiOAByexQAomdV/zHvY/6ch9cAb/+n/ifE1gCQJk8B+ah9AJthnP8XNNv/lhaQACyVpf8of7cAxE3p/3aB0v+qh+b/1nfGAOnwIwD9NAf/dWYw/xXMmv+ziLH/FwIDAZWCWf/8EZ8BRjwaAJBrEQC0vjz/OLY7/25HNv/GEoH/leBX/98VmP+KFrb/+pzNAOwt0P9PlPIBZUbRAGdOrgBlkKz/mIjtAb/CiABxUH0BmASNAJuWNf/EdPUA73JJ/hNSEf98fer/KDS/ACrSnv+bhKUAsgUqAUBcKP8kVU3/suR2AIlCYP5z4kIAbvBF/pdvUACnruz/42xr/7zyQf+3Uf8AOc61/y8itf/V8J4BR0tfAJwoGP9m0lEAq8fk/5oiKQDjr0sAFe/DAIrlXwFMwDEAdXtXAePhggB9Pj//AsarAP4kDf6Rus4AlP/0/yMApgAeltsBXOTUAFzGPP4+hcj/ySk7AH3ubf+0o+4BjHpSAAkWWP/FnS//mV45AFgetgBUoVUAspJ8AKamB/8V0N8AnLbyAJt5uQBTnK7+mhB2/7pT6AHfOnn/HRdYACN9f/+qBZX+pAyC/5vEHQChYIgAByMdAaIl+wADLvL/ANm8ADmu4gHO6QIAObuI/nu9Cf/JdX//uiTMAOcZ2ABQTmkAE4aB/5TLRACNUX3++KXI/9aQhwCXN6b/JutbABUumgDf/pb/I5m0/32wHQErYh7/2Hrm/+mgDAA5uQz+8HEH/wUJEP4aW2wAbcbLAAiTKACBhuT/fLoo/3JihP6mhBcAY0UsAAny7v+4NTsAhIFm/zQg8/6T38j/e1Oz/oeQyf+NJTgBlzzj/1pJnAHLrLsAUJcv/16J5/8kvzv/4dG1/0rX1f4GdrP/mTbBATIA5wBonUgBjOOa/7biEP5g4Vz/cxSq/gb6TgD4S63/NVkG/wC0dgBIrQEAQAjOAa6F3wC5PoX/1gtiAMUf0ACrp/T/Fue1AZbauQD3qWEBpYv3/y94lQFn+DMAPEUc/hmzxAB8B9r+OmtRALjpnP/8SiQAdrxDAI1fNf/eXqX+Lj01AM47c/8v7Pr/SgUgAYGa7v9qIOIAebs9/wOm8f5Dqqz/Hdiy/xfJ/AD9bvMAyH05AG3AYP80c+4AJnnz/8k4IQDCdoIAS2AZ/6oe5v4nP/0AJC36//sB7wCg1FwBLdHtAPMhV/7tVMn/1BKd/tRjf//ZYhD+i6zvAKjJgv+Pwan/7pfBAddoKQDvPaX+AgPyABbLsf6xzBYAlYHV/h8LKf8An3n+oBly/6JQyACdlwsAmoZOAdg2/AAwZ4UAadzFAP2oTf41sxcAGHnwAf8uYP9rPIf+Ys35/z/5d/94O9P/crQ3/ltV7QCV1E0BOEkxAFbGlgBd0aAARc22//RaKwAUJLAAenTdADOnJwHnAT//DcWGAAPRIv+HO8oAp2ROAC/fTAC5PD4AsqZ7AYQMof89risAw0WQAH8vvwEiLE4AOeo0Af8WKP/2XpIAU+SAADxO4P8AYNL/ma/sAJ8VSQC0c8T+g+FqAP+nhgCfCHD/eETC/7DExv92MKj/XakBAHDIZgFKGP4AE40E/o4+PwCDs7v/TZyb/3dWpACq0JL/0IWa/5SbOv+ieOj+/NWbAPENKgBeMoMAs6pwAIxTl/83d1QBjCPv/5ktQwHsrycANpdn/54qQf/E74f+VjXLAJVhL/7YIxH/RgNGAWckWv8oGq0AuDANAKPb2f9RBgH/3aps/unQXQBkyfn+ViQj/9GaHgHjyfv/Ar2n/mQ5AwANgCkAxWRLAJbM6/+RrjsAePiV/1U34QBy0jX+x8x3AA73SgE/+4EAQ2iXAYeCUABPWTf/dead/xlgjwDVkQUARfF4AZXzX/9yKhQAg0gCAJo1FP9JPm0AxGaYACkMzP96JgsB+gqRAM99lAD29N7/KSBVAXDVfgCi+VYBR8Z//1EJFQFiJwT/zEctAUtviQDqO+cAIDBf/8wfcgEdxLX/M/Gn/l1tjgBokC0A6wy1/zRwpABM/sr/rg6iAD3rk/8rQLn+6X3ZAPNYp/5KMQgAnMxCAHzWewAm3XYBknDsAHJisQCXWccAV8VwALmVoQAsYKUA+LMU/7zb2P4oPg0A846NAOXjzv+syiP/dbDh/1JuJgEq9Q7/FFNhADGrCgDyd3gAGeg9ANTwk/8Eczj/kRHv/soR+//5EvX/Y3XvALgEs//27TP/Je+J/6Zwpv9RvCH/ufqO/za7rQDQcMkA9ivkAWi4WP/UNMT/M3Vs//51mwAuWw//Vw6Q/1fjzABTGlMBn0zjAJ8b1QEYl2wAdZCz/onRUgAmnwoAc4XJAN+2nAFuxF3/OTzpAAWnaf+axaQAYCK6/5OFJQHcY74AAadU/xSRqwDCxfv+X06F//z48//hXYP/u4bE/9iZqgAUdp7+jAF2AFaeDwEt0yn/kwFk/nF0TP/Tf2wBZw8wAMEQZgFFM1//a4CdAImr6QBafJABaqG2AK9M7AHIjaz/ozpoAOm0NP/w/Q7/onH+/ybviv40LqYA8WUh/oO6nABv0D7/fF6g/x+s/gBwrjj/vGMb/0OK+wB9OoABnJiu/7IM9//8VJ4AUsUO/qzIU/8lJy4Bas+nABi9IgCDspAAztUEAKHi0gBIM2n/YS27/0643/+wHfsAT6BW/3QlsgBSTdUBUlSN/+Jl1AGvWMf/9V73Aax2bf+mub4Ag7V4AFf+Xf+G8En/IPWP/4uiZ/+zYhL+2cxwAJPfeP81CvMApoyWAH1QyP8Obdv/W9oB//z8L/5tnHT/czF/AcxX0/+Uytn/GlX5/w71hgFMWan/8i3mADtirP9ySYT+Tpsx/55+VAAxryv/ELZU/51nIwBowW3/Q92aAMmsAf4IolgApQEd/32b5f8emtwBZ+9cANwBbf/KxgEAXgKOASQ2LADr4p7/qvvW/7lNCQBhSvIA26OV//Ajdv/fclj+wMcDAGolGP/JoXb/YVljAeA6Z/9lx5P+3jxjAOoZOwE0hxsAZgNb/qjY6wDl6IgAaDyBAC6o7gAnv0MAS6MvAI9hYv842KgBqOn8/yNvFv9cVCsAGshXAVv9mADKOEYAjghNAFAKrwH8x0wAFm5S/4EBwgALgD0BVw6R//3evgEPSK4AVaNW/jpjLP8tGLz+Gs0PABPl0v74Q8MAY0e4AJrHJf+X83n/JjNL/8lVgv4sQfoAOZPz/pIrO/9ZHDUAIVQY/7MzEv69RlMAC5yzAWKGdwCeb28Ad5pJ/8g/jP4tDQ3/msAC/lFIKgAuoLn+LHAGAJLXlQEasGgARBxXAewymf+zgPr+zsG//6Zcif41KO8A0gHM/qitIwCN8y0BJDJt/w/ywv/jn3r/sK/K/kY5SAAo3zgA0KI6/7diXQAPbwwAHghM/4R/9v8t8mcARbUP/wrRHgADs3kA8ejaAXvHWP8C0soBvIJR/15l0AFnJC0ATMEYAV8a8f+lorsAJHKMAMpCBf8lOJMAmAvzAX9V6P/6h9QBubFxAFrcS/9F+JIAMm8yAFwWUAD0JHP+o2RS/xnBBgF/PSQA/UMe/kHsqv+hEdf+P6+MADd/BABPcOkAbaAoAI9TB/9BGu7/2amM/05evf8Ak77/k0e6/mpNf//pnekBh1ft/9AN7AGbbST/tGTaALSjEgC+bgkBET97/7OItP+le3v/kLxR/kfwbP8ZcAv/49oz/6cy6v9yT2z/HxNz/7fwYwDjV4//SNn4/2apXwGBlZUA7oUMAePMIwDQcxoBZgjqAHBYjwGQ+Q4A8J6s/mRwdwDCjZn+KDhT/3mwLgAqNUz/nr+aAFvRXACtDRABBUji/8z+lQBQuM8AZAl6/nZlq//8ywD+oM82ADhI+QE4jA3/CkBr/ltlNP/htfgBi/+EAOaREQDpOBcAdwHx/9Wpl/9jYwn+uQ+//61nbQGuDfv/slgH/hs7RP8KIQL/+GE7ABoekgGwkwoAX3nPAbxYGAC5Xv7+czfJABgyRgB4NQYAjkKSAOTi+f9owN4BrUTbAKK4JP+PZon/nQsXAH0tYgDrXeH+OHCg/0Z08wGZ+Tf/gScRAfFQ9ABXRRUBXuRJ/05CQf/C4+cAPZJX/62bF/9wdNv+2CYL/4O6hQBe1LsAZC9bAMz+r//eEtf+rURs/+PkT/8m3dUAo+OW/h++EgCgswsBClpe/9yuWACj0+X/x4g0AIJf3f+MvOf+i3GA/3Wr7P4x3BT/OxSr/+RtvAAU4SD+wxCuAOP+iAGHJ2kAlk3O/9Lu4gA31IT+7zl8AKrCXf/5EPf/GJc+/wqXCgBPi7L/ePLKABrb1QA+fSP/kAJs/+YhU/9RLdgB4D4RANbZfQBimZn/s7Bq/oNdiv9tPiT/snkg/3j8RgDc+CUAzFhnAYDc+//s4wcBajHG/zw4awBjcu4A3MxeAUm7AQBZmiIATtml/w7D+f8J5v3/zYf1ABr8B/9UzRsBhgJwACWeIADnW+3/v6rM/5gH3gBtwDEAwaaS/+gTtf9pjjT/ZxAbAf3IpQDD2QT/NL2Q/3uboP5Xgjb/Tng9/w44KQAZKX3/V6j1ANalRgDUqQb/29PC/khdpP/FIWf/K46NAIPhrAD0aRwAREThAIhUDf+COSj+i004AFSWNQA2X50AkA2x/l9zugB1F3b/9Kbx/wu6hwCyasv/YdpdACv9LQCkmAQAi3bvAGABGP7rmdP/qG4U/zLvsAByKegAwfo1AP6gb/6Iein/YWxDANeYF/+M0dQAKr2jAMoqMv9qar3/vkTZ/+k6dQDl3PMBxQMEACV4Nv4EnIb/JD2r/qWIZP/U6A4AWq4KANjGQf8MA0AAdHFz//hnCADnfRL/oBzFAB64IwHfSfn/exQu/oc4Jf+tDeUBd6Ei//U9SQDNfXAAiWiGANn2Hv/tjo8AQZ9m/2ykvgDbda3/IiV4/shFUAAffNr+Shug/7qax/9Hx/wAaFGfARHIJwDTPcABGu5bAJTZDAA7W9X/C1G3/4Hmev9yy5EBd7RC/0iKtADglWoAd1Jo/9CMKwBiCbb/zWWG/xJlJgBfxab/y/GTAD7Qkf+F9vsAAqkOAA33uACOB/4AJMgX/1jN3wBbgTT/FboeAI/k0gH36vj/5kUf/rC6h//uzTQBi08rABGw2f4g80MA8m/pACwjCf/jclEBBEcM/yZpvwAHdTL/UU8QAD9EQf+dJG7/TfED/+It+wGOGc4AeHvRARz+7v8FgH7/W97X/6IPvwBW8EkAh7lR/izxowDU29L/cKKbAM9ldgCoSDj/xAU0AEis8v9+Fp3/kmA7/6J5mP6MEF8Aw/7I/lKWogB3K5H+zKxO/6bgnwBoE+3/9X7Q/+I71QB12cUAmEjtANwfF/4OWuf/vNRAATxl9v9VGFYAAbFtAJJTIAFLtsAAd/HgALntG/+4ZVIB6yVN//2GEwDo9noAPGqzAMMLDABtQusBfXE7AD0opACvaPAAAi+7/zIMjQDCi7X/h/poAGFc3v/Zlcn/y/F2/0+XQwB6jtr/lfXvAIoqyP5QJWH/fHCn/ySKV/+CHZP/8VdO/8xhEwGx0Rb/9+N//mN3U//UGcYBELOzAJFNrP5ZmQ7/2r2nAGvpO/8jIfP+LHBw/6F/TwHMrwoAKBWK/mh05ADHX4n/hb6o/5Kl6gG3YycAt9w2/v/ehQCi23n+P+8GAOFmNv/7EvYABCKBAYckgwDOMjsBD2G3AKvYh/9lmCv/lvtbACaRXwAizCb+soxT/xmB8/9MkCUAaiQa/naQrP9EuuX/a6HV/y6jRP+Vqv0AuxEPANqgpf+rI/YBYA0TAKXLdQDWa8D/9HuxAWQDaACy8mH/+0yC/9NNKgH6T0b/P/RQAWll9gA9iDoB7lvVAA47Yv+nVE0AEYQu/jmvxf+5PrgATEDPAKyv0P6vSiUAihvT/pR9wgAKWVEAqMtl/yvV0QHr9TYAHiPi/wl+RgDifV7+nHUU/zn4cAHmMED/pFymAeDW5v8keI8ANwgr//sB9QFqYqUASmtq/jUENv9aspYBA3h7//QFWQFy+j3//plSAU0PEQA57loBX9/mAOw0L/5nlKT/ec8kARIQuf9LFEoAuwtlAC4wgf8W79L/TeyB/29NzP89SGH/x9n7/yrXzACFkcn/OeaSAetkxgCSSSP+bMYU/7ZP0v9SZ4gA9mywACIRPP8TSnL+qKpO/53vFP+VKagAOnkcAE+zhv/neYf/rtFi//N6vgCrps0A1HQwAB1sQv+i3rYBDncVANUn+f/+3+T/t6XGAIW+MAB80G3/d69V/wnReQEwq73/w0eGAYjbM/+2W43+MZ9IACN29f9wuuP/O4kfAIksowByZzz+CNWWAKIKcf/CaEgA3IN0/7JPXADL+tX+XcG9/4L/Iv7UvJcAiBEU/xRlU//UzqYA5e5J/5dKA/+oV9cAm7yF/6aBSQDwT4X/stNR/8tIo/7BqKUADqTH/h7/zABBSFsBpkpm/8gqAP/CceP/QhfQAOXYZP8Y7xoACuk+/3sKsgEaJK7/d9vHAS2jvgAQqCoApjnG/xwaGgB+pecA+2xk/z3lef86dooATM8RAA0icP5ZEKgAJdBp/yPJ1/8oamX+Bu9yAChn4v72f27/P6c6AITwjgAFnlj/gUme/15ZkgDmNpIACC2tAE+pAQBzuvcAVECDAEPg/f/PvUAAmhxRAS24Nv9X1OD/AGBJ/4Eh6wE0QlD/+66b/wSzJQDqpF3+Xa/9AMZFV//gai4AYx3SAD68cv8s6ggAqa/3/xdtif/lticAwKVe/vVl2QC/WGAAxF5j/2ruC/41fvMAXgFl/y6TAgDJfHz/jQzaAA2mnQEw++3/m/p8/2qUkv+2DcoAHD2nANmYCP7cgi3/yOb/ATdBV/9dv2H+cvsOACBpXAEaz40AGM8N/hUyMP+6lHT/0yvhACUiov6k0ir/RBdg/7bWCP/1dYn/QsMyAEsMU/5QjKQACaUkAeRu4wDxEVoBGTTUAAbfDP+L8zkADHFLAfa3v//Vv0X/5g+OAAHDxP+Kqy//QD9qARCp1v/PrjgBWEmF/7aFjACxDhn/k7g1/wrjof942PT/SU3pAJ3uiwE7QekARvvYASm4mf8gy3AAkpP9AFdlbQEsUoX/9JY1/16Y6P87XSf/WJPc/05RDQEgL/z/oBNy/11rJ/92ENMBuXfR/+Pbf/5Yaez/om4X/ySmbv9b7N3/Qup0AG8T9P4K6RoAILcG/gK/8gDanDX+KTxG/6jsbwB5uX7/7o7P/zd+NADcgdD+UMyk/0MXkP7aKGz/f8qkAMshA/8CngAAJWC8/8AxSgBtBAAAb6cK/lvah//LQq3/lsLiAMn9Bv+uZnkAzb9uADXCBABRKC3+I2aP/wxsxv8QG+j//Ee6AbBucgCOA3UBcU2OABOcxQFcL/wANegWATYS6wAuI73/7NSBAAJg0P7I7sf/O6+k/5Ir5wDC2TT/A98MAIo2sv5V688A6M8iADE0Mv+mcVn/Ci3Y/z6tHABvpfYAdnNb/4BUPACnkMsAVw3zABYe5AGxcZL/garm/vyZgf+R4SsARucF/3ppfv5W9pT/biWa/tEDWwBEkT4A5BCl/zfd+f6y0lsAU5Li/kWSugBd0mj+EBmtAOe6JgC9eoz/+w1w/2luXQD7SKoAwBff/xgDygHhXeQAmZPH/m2qFgD4Zfb/snwM/7L+Zv43BEEAfda0ALdgkwAtdRf+hL/5AI+wy/6Itzb/kuqxAJJlVv8se48BIdGYAMBaKf5TD33/1axSANepkAAQDSIAINFk/1QS+QHFEez/2brmADGgsP9vdmH/7WjrAE87XP5F+Qv/I6xKARN2RADefKX/tEIj/1au9gArSm//fpBW/+TqWwDy1Rj+RSzr/9y0IwAI+Af/Zi9c//DNZv9x5qsBH7nJ/8L2Rv96EbsAhkbH/5UDlv91P2cAQWh7/9Q2EwEGjVgAU4bz/4g1ZwCpG7QAsTEYAG82pwDDPdf/HwFsATwqRgC5A6L/wpUo//Z/Jv6+dyb/PXcIAWCh2/8qy90BsfKk//WfCgB0xAAABV3N/oB/swB97fb/laLZ/1clFP6M7sAACQnBAGEB4gAdJgoAAIg//+VI0v4mhlz/TtrQAWgkVP8MBcH/8q89/7+pLgGzk5P/cb6L/n2sHwADS/z+1yQPAMEbGAH/RZX/boF2AMtd+QCKiUD+JkYGAJl03gChSnsAwWNP/3Y7Xv89DCsBkrGdAC6TvwAQ/yYACzMfATw6Yv9vwk0Bmlv0AIwokAGtCvsAy9Ey/myCTgDktFoArgf6AB+uPAApqx4AdGNS/3bBi/+7rcb+2m84ALl72AD5njQANLRd/8kJW/84Lab+hJvL/zrobgA001n//QCiAQlXtwCRiCwBXnr1AFW8qwGTXMYAAAhoAB5frgDd5jQB9/fr/4muNf8jFcz/R+PWAehSwgALMOP/qkm4/8b7/P4scCIAg2WD/0iouwCEh33/imhh/+64qP/zaFT/h9ji/4uQ7QC8iZYBUDiM/1app//CThn/3BG0/xENwQB1idT/jeCXADH0rwDBY6//E2OaAf9BPv+c0jf/8vQD//oOlQCeWNn/nc+G/vvoHAAunPv/qzi4/+8z6gCOioP/Gf7zAQrJwgA/YUsA0u+iAMDIHwF11vMAGEfe/jYo6P9Mt2/+kA5X/9ZPiP/YxNQAhBuM/oMF/QB8bBP/HNdLAEzeN/7ptj8ARKu//jRv3v8KaU3/UKrrAI8YWP8t53kAlIHgAT32VAD9Ltv/70whADGUEv7mJUUAQ4YW/o6bXgAfndP+1Soe/wTk9/78sA3/JwAf/vH0//+qLQr+/d75AN5yhAD/Lwb/tKOzAVRel/9Z0VL+5TSp/9XsAAHWOOT/h3eX/3DJwQBToDX+BpdCABKiEQDpYVsAgwVOAbV4Nf91Xz//7XW5AL9+iP+Qd+kAtzlhAS/Ju/+npXcBLWR+ABViBv6Rll//eDaYANFiaACPbx7+uJT5AOvYLgD4ypT/OV8WAPLhowDp9+j/R6sT/2f0Mf9UZ13/RHn0AVLgDQApTyv/+c6n/9c0Ff7AIBb/9288AGVKJv8WW1T+HRwN/8bn1/70msgA34ntANOEDgBfQM7/ET73/+mDeQFdF00Azcw0/lG9iAC024oBjxJeAMwrjP68r9sAb2KP/5c/ov/TMkf+E5I1AJItU/6yUu7/EIVU/+LGXf/JYRT/eHYj/3Iy5/+i5Zz/0xoMAHInc//O1IYAxdmg/3SBXv7H19v/S9/5Af10tf/o12j/5IL2/7l1VgAOBQgA7x09Ae1Xhf99kon+zKjfAC6o9QCaaRYA3NSh/2tFGP+J2rX/8VTG/4J60/+NCJn/vrF2AGBZsgD/EDD+emBp/3U26P8ifmn/zEOmAOg0iv/TkwwAGTYHACwP1/4z7C0AvkSBAWqT4QAcXS3+7I0P/xE9oQDcc8AA7JEY/m+oqQDgOj//f6S8AFLqSwHgnoYA0URuAdmm2QBG4aYBu8GP/xAHWP8KzYwAdcCcARE4JgAbfGwBq9c3/1/91ACbh6j/9rKZ/ppESgDoPWD+aYQ7ACFMxwG9sIL/CWgZ/kvGZv/pAXAAbNwU/3LmRgCMwoX/OZ6k/pIGUP+pxGEBVbeCAEae3gE77er/YBka/+ivYf8Lefj+WCPCANu0/P5KCOMAw+NJAbhuof8x6aQBgDUvAFIOef/BvjoAMK51/4QXIAAoCoYBFjMZ//ALsP9uOZIAdY/vAZ1ldv82VEwAzbgS/y8ESP9OcFX/wTJCAV0QNP8IaYYADG1I/zqc+wCQI8wALKB1/jJrwgABRKX/b26iAJ5TKP5M1uoAOtjN/6tgk/8o43IBsOPxAEb5twGIVIv/PHr3/o8Jdf+xron+SfePAOy5fv8+Gff/LUA4/6H0BgAiOTgBacpTAICT0AAGZwr/SopB/2FQZP/WriH/MoZK/26Xgv5vVKwAVMdL/vg7cP8I2LIBCbdfAO4bCP6qzdwAw+WHAGJM7f/iWxoBUtsn/+G+xwHZyHn/UbMI/4xBzgCyz1f++vwu/2hZbgH9vZ7/kNae/6D1Nv81t1wBFcjC/5IhcQHRAf8A62or/6c06ACd5d0AMx4ZAPrdGwFBk1f/T3vEAEHE3/9MLBEBVfFEAMq3+f9B1NT/CSGaAUc7UACvwjv/jUgJAGSg9ADm0DgAOxlL/lDCwgASA8j+oJ9zAISP9wFvXTn/Ou0LAYbeh/96o2wBeyu+//u9zv5Qtkj/0PbgARE8CQChzyYAjW1bANgP0/+ITm4AYqNo/xVQef+tsrcBf48EAGg8Uv7WEA3/YO4hAZ6U5v9/gT7/M//S/z6N7P6dN+D/cif0AMC8+v/kTDUAYlRR/63LPf6TMjf/zOu/ADTF9ABYK9P+G793ALznmgBCUaEAXMGgAfrjeAB7N+IAuBFIAIWoCv4Wh5z/KRln/zDKOgC6lVH/vIbvAOu1vf7Zi7z/SjBSAC7a5QC9/fsAMuUM/9ONvwGA9Bn/qed6/lYvvf+Etxf/JbKW/zOJ/QDITh8AFmkyAII8AACEo1v+F+e7AMBP7wCdZqT/wFIUARi1Z//wCeoAAXuk/4XpAP/K8vIAPLr1APEQx//gdJ7+v31b/+BWzwB5Jef/4wnG/w+Z7/956Nn+S3BSAF8MOf4z1mn/lNxhAcdiJACc0Qz+CtQ0ANm0N/7Uquj/2BRU/536hwCdY3/+Ac4pAJUkRgE2xMn/V3QA/uurlgAbo+oAyoe0ANBfAP57nF0Atz5LAInrtgDM4f//1ovS/wJzCP8dDG8ANJwBAP0V+/8lpR/+DILTAGoSNf4qY5oADtk9/tgLXP/IxXD+kybHACT8eP5rqU0AAXuf/89LZgCjr8QALAHwAHi6sP4NYkz/7Xzx/+iSvP/IYOAAzB8pANDIDQAV4WD/r5zEAPfQfgA+uPT+AqtRAFVzngA2QC3/E4pyAIdHzQDjL5MB2udCAP3RHAD0D63/Bg92/hCW0P+5FjL/VnDP/0tx1wE/kiv/BOET/uMXPv8O/9b+LQjN/1fFl/7SUtf/9fj3/4D4RgDh91cAWnhGANX1XAANheIAL7UFAVyjaf8GHoX+6LI9/+aVGP8SMZ4A5GQ9/nTz+/9NS1wBUduT/0yj/v6N1fYA6CWY/mEsZADJJTIB1PQ5AK6rt//5SnAAppweAN7dYf/zXUn++2Vk/9jZXf/+irv/jr40/zvLsf/IXjQAc3Ke/6WYaAF+Y+L/dp30AWvIEADBWuUAeQZYAJwgXf598dP/Du2d/6WaFf+44Bb/+hiY/3FNHwD3qxf/7bHM/zSJkf/CtnIA4OqVAApvZwHJgQQA7o5OADQGKP9u1aX+PM/9AD7XRQBgYQD/MS3KAHh5Fv/rizABxi0i/7YyGwGD0lv/LjaAAK97af/GjU7+Q/Tv//U2Z/5OJvL/Alz5/vuuV/+LP5AAGGwb/yJmEgEiFpgAQuV2/jKPYwCQqZUBdh6YALIIeQEInxIAWmXm/4EddwBEJAsB6Lc3ABf/YP+hKcH/P4veAA+z8wD/ZA//UjWHAIk5lQFj8Kr/Fubk/jG0Uv89UisAbvXZAMd9PQAu/TQAjcXbANOfwQA3eWn+txSBAKl3qv/Lsov/hyi2/6wNyv9BspQACM8rAHo1fwFKoTAA49aA/lYL8/9kVgcB9USG/z0rFQGYVF7/vjz6/u926P/WiCUBcUxr/11oZAGQzhf/bpaaAeRnuQDaMTL+h02L/7kBTgAAoZT/YR3p/8+Ulf+gqAAAW4Cr/wYcE/4Lb/cAJ7uW/4rolQB1PkT/P9i8/+vqIP4dOaD/GQzxAak8vwAgg43/7Z97/17FXv50/gP/XLNh/nlhXP+qcA4AFZX4APjjAwBQYG0AS8BKAQxa4v+hakQB0HJ//3Iq//5KGkr/97OW/nmMPACTRsj/1iih/6G8yf+NQYf/8nP8AD4vygC0lf/+gjftAKURuv8KqcIAnG3a/3CMe/9ogN/+sY5s/3kl2/+ATRL/b2wXAVvASwCu9Rb/BOw+/ytAmQHjrf4A7XqEAX9Zuv+OUoD+/FSuAFqzsQHz1lf/Zzyi/9CCDv8LgosAzoHb/17Znf/v5ub/dHOf/qRrXwAz2gIB2H3G/4zKgP4LX0T/Nwld/q6ZBv/MrGAARaBuANUmMf4bUNUAdn1yAEZGQ/8Pjkn/g3q5//MUMv6C7SgA0p+MAcWXQf9UmUIAw35aABDu7AF2u2b/AxiF/7tF5gA4xVwB1UVe/1CK5QHOB+YA3m/mAVvpd/8JWQcBAmIBAJRKhf8z9rT/5LFwATq9bP/Cy+3+FdHDAJMKIwFWneIAH6OL/jgHS/8+WnQAtTypAIqi1P5Rpx8AzVpw/yFw4wBTl3UBseBJ/66Q2f/mzE//Fk3o/3JO6gDgOX7+CTGNAPKTpQFotoz/p4QMAXtEfwDhVycB+2wIAMbBjwF5h8//rBZGADJEdP9lryj/+GnpAKbLBwBuxdoA1/4a/qji/QAfj2AAC2cpALeBy/5k90r/1X6EANKTLADH6hsBlC+1AJtbngE2aa//Ak6R/maaXwCAz3/+NHzs/4JURwDd89MAmKrPAN5qxwC3VF7+XMg4/4q2cwGOYJIAhYjkAGESlgA3+0IAjGYEAMpnlwAeE/j/M7jPAMrGWQA3xeH+qV/5/0JBRP+86n4Apt9kAXDv9ACQF8IAOie2APQsGP6vRLP/mHaaAbCiggDZcsz+rX5O/yHeHv8kAlv/Ao/zAAnr1wADq5cBGNf1/6gvpP7xks8ARYG0AETzcQCQNUj++y0OABduqABERE//bkZf/q5bkP8hzl//iSkH/xO7mf4j/3D/CZG5/jKdJQALcDEBZgi+/+rzqQE8VRcASie9AHQx7wCt1dIALqFs/5+WJQDEeLn/ImIG/5nDPv9h5kf/Zj1MABrU7P+kYRAAxjuSAKMXxAA4GD0AtWLBAPuT5f9ivRj/LjbO/+pS9gC3ZyYBbT7MAArw4ACSFnX/jpp4AEXUIwDQY3YBef8D/0gGwgB1EcX/fQ8XAJpPmQDWXsX/uTeT/z7+Tv5/UpkAbmY//2xSof9pu9QBUIonADz/Xf9IDLoA0vsfAb6nkP/kLBP+gEPoANb5a/6IkVb/hC6wAL274//QFowA2dN0ADJRuv6L+h8AHkDGAYebZACgzhf+u6LT/xC8PwD+0DEAVVS/APHA8v+ZfpEB6qKi/+Zh2AFAh34AvpTfATQAK/8cJ70BQIjuAK/EuQBi4tX/f5/0AeKvPACg6Y4BtPPP/0WYWQEfZRUAkBmk/ou/0QBbGXkAIJMFACe6e/8/c+b/XafG/4/V3P+znBP/GUJ6ANag2f8CLT7/ak+S/jOJY/9XZOf/r5Ho/2W4Af+uCX0AUiWhASRyjf8w3o7/9bqaAAWu3f4/cpv/hzegAVAfhwB++rMB7NotABQckQEQk0kA+b2EARG9wP/fjsb/SBQP//o17f4PCxIAG9Nx/tVrOP+uk5L/YH4wABfBbQElol4Ax535/hiAu//NMbL+XaQq/yt36wFYt+3/2tIB/2v+KgDmCmP/ogDiANvtWwCBsssA0DJf/s7QX//3v1n+bupP/6U98wAUenD/9va5/mcEewDpY+YB21v8/8feFv+z9en/0/HqAG/6wP9VVIgAZToy/4OtnP53LTP/dukQ/vJa1gBen9sBAwPq/2JMXP5QNuYABeTn/jUY3/9xOHYBFIQB/6vS7AA48Z7/unMT/wjlrgAwLAABcnKm/wZJ4v/NWfQAieNLAfitOABKePb+dwML/1F4xv+IemL/kvHdAW3CTv/f8UYB1sip/2G+L/8vZ67/Y1xI/nbptP/BI+n+GuUg/978xgDMK0f/x1SsAIZmvgBv7mH+5ijmAOPNQP7IDOEAphneAHFFM/+PnxgAp7hKAB3gdP6e0OkAwXR+/9QLhf8WOowBzCQz/+geKwDrRrX/QDiS/qkSVP/iAQ3/yDKw/zTV9f6o0WEAv0c3ACJOnADokDoBuUq9ALqOlf5ARX//ocuT/7CXvwCI58v+o7aJAKF++/7pIEIARM9CAB4cJQBdcmAB/lz3/yyrRQDKdwv/vHYyAf9TiP9HUhoARuMCACDreQG1KZoAR4bl/sr/JAApmAUAmj9J/yK2fAB53Zb/GszVASmsVwBanZL/bYIUAEdryP/zZr0AAcOR/i5YdQAIzuMAv279/22AFP6GVTP/ibFwAdgiFv+DEND/eZWqAHITFwGmUB//cfB6AOiz+gBEbrT+0qp3AN9spP/PT+n/G+Xi/tFiUf9PRAcAg7lkAKodov8Romv/ORULAWTItf9/QaYBpYbMAGinqAABpE8Akoc7AUYygP9mdw3+4waHAKKOs/+gZN4AG+DbAZ5dw//qjYkAEBh9/+7OL/9hEWL/dG4M/2BzTQBb4+j/+P5P/1zlBv5YxosAzkuBAPpNzv+N9HsBikXcACCXBgGDpxb/7USn/se9lgCjq4r/M7wG/18dif6U4rMAtWvQ/4YfUv+XZS3/gcrhAOBIkwAwipf/w0DO/u3angBqHYn+/b3p/2cPEf/CYf8Asi2p/sbhmwAnMHX/h2pzAGEmtQCWL0H/U4Ll/vYmgQBc75r+W2N/AKFvIf/u2fL/g7nD/9W/nv8pltoAhKmDAFlU/AGrRoD/o/jL/gEytP98TFUB+29QAGNC7/+a7bb/3X6F/krMY/9Bk3f/Yzin/0/4lf90m+T/7SsO/kWJC/8W+vEBW3qP/8358wDUGjz/MLawATAXv//LeZj+LUrV/z5aEv71o+b/uWp0/1MjnwAMIQL/UCI+ABBXrv+tZVUAyiRR/qBFzP9A4bsAOs5eAFaQLwDlVvUAP5G+ASUFJwBt+xoAiZPqAKJ5kf+QdM7/xei5/7e+jP9JDP7/ixTy/6pa7/9hQrv/9bWH/t6INAD1BTP+yy9OAJhl2ABJF30A/mAhAevSSf8r0VgBB4FtAHpo5P6q8ssA8syH/8oc6f9BBn8An5BHAGSMXwBOlg0A+2t2AbY6ff8BJmz/jb3R/wibfQFxo1v/eU++/4bvbP9ML/gAo+TvABFvCgBYlUv/1+vvAKefGP8vl2z/a9G8AOnnY/4cypT/riOK/24YRP8CRbUAa2ZSAGbtBwBcJO3/3aJTATfKBv+H6of/GPreAEFeqP71+NL/p2zJ/v+hbwDNCP4AiA10AGSwhP8r137/sYWC/55PlABD4CUBDM4V/z4ibgHtaK//UIRv/46uSABU5bT+abOMAED4D//pihAA9UN7/tp51P8/X9oB1YWJ/4+2Uv8wHAsA9HKNAdGvTP+dtZb/uuUD/6SdbwHnvYsAd8q+/9pqQP9E6z/+YBqs/7svCwHXEvv/UVRZAEQ6gABecQUBXIHQ/2EPU/4JHLwA7wmkADzNmADAo2L/uBI8ANm2iwBtO3j/BMD7AKnS8P8lrFz+lNP1/7NBNAD9DXMAua7OAXK8lf/tWq0AK8fA/1hscQA0I0wAQhmU/90EB/+X8XL/vtHoAGIyxwCXltX/EkokATUoBwATh0H/GqxFAK7tVQBjXykAAzgQACegsf/Iatr+uURU/1u6Pf5Dj43/DfSm/2NyxgDHbqP/wRK6AHzv9gFuRBYAAusuAdQ8awBpKmkBDuaYAAcFgwCNaJr/1QMGAIPkov+zZBwB53tV/84O3wH9YOYAJpiVAWKJegDWzQP/4piz/waFiQCeRYz/caKa/7TzrP8bvXP/jy7c/9WG4f9+HUUAvCuJAfJGCQBazP//56qTABc4E/44fZ3/MLPa/0+2/f8m1L8BKet8AGCXHACHlL4Azfkn/jRgiP/ULIj/Q9GD//yCF//bgBT/xoF2AGxlCwCyBZIBPgdk/7XsXv4cGqQATBZw/3hmTwDKwOUByLDXAClA9P/OuE4Apy0/AaAjAP87DI7/zAmQ/9te5QF6G3AAvWlt/0DQSv/7fzcBAuLGACxM0QCXmE3/0hcuAcmrRf8s0+cAviXg//XEPv+ptd7/ItMRAHfxxf/lI5gBFUUo/7LioQCUs8EA28L+ASjOM//nXPoBQ5mqABWU8QCqRVL/eRLn/1xyAwC4PuYA4clX/5Jgov+18twArbvdAeI+qv84ftkBdQ3j/7Ms7wCdjZv/kN1TAOvR0AAqEaUB+1GFAHz1yf5h0xj/U9amAJokCf/4L38AWtuM/6HZJv7Ukz//QlSUAc8DAQDmhlkBf056/+CbAf9SiEoAspzQ/7oZMf/eA9IB5Za+/1WiNP8pVI3/SXtU/l0RlgB3ExwBIBbX/xwXzP+O8TT/5DR9AB1MzwDXp/r+r6TmADfPaQFtu/X/oSzcASllgP+nEF4AXdZr/3ZIAP5QPer/ea99AIup+wBhJ5P++sQx/6Wzbv7fRrv/Fo59AZqziv92sCoBCq6ZAJxcZgCoDaH/jxAgAPrFtP/LoywBVyAkAKGZFP97/A8AGeNQADxYjgARFskBms1N/yc/LwAIeo0AgBe2/swnE/8EcB3/FySM/9LqdP41Mj//eato/6DbXgBXUg7+5yoFAKWLf/5WTiYAgjxC/sseLf8uxHoB+TWi/4iPZ/7X0nIA5weg/qmYKv9vLfYAjoOH/4NHzP8k4gsAABzy/+GK1f/3Ltj+9QO3AGz8SgHOGjD/zTb2/9PGJP95IzIANNjK/yaLgf7ySZQAQ+eN/yovzABOdBkBBOG//waT5AA6WLEAeqXl//xTyf/gp2ABsbie//JpswH4xvAAhULLAf4kLwAtGHP/dz7+AMThuv57jawAGlUp/+JvtwDV55cABDsH/+6KlABCkyH/H/aN/9GNdP9ocB8AWKGsAFPX5v4vb5cALSY0AYQtzACKgG3+6XWG//O+rf7x7PAAUn/s/ijfof9utuH/e67vAIfykQEz0ZoAlgNz/tmk/P83nEUBVF7//+hJLQEUE9T/YMU7/mD7IQAmx0kBQKz3/3V0OP/kERIAPopnAfblpP/0dsn+ViCf/20iiQFV07oACsHB/nrCsQB67mb/otqrAGzZoQGeqiIAsC+bAbXkC/8InAAAEEtdAM5i/wE6miMADPO4/kN1Qv/m5XsAySpuAIbksv66bHb/OhOa/1KpPv9yj3MB78Qy/60wwf+TAlT/loaT/l/oSQBt4zT+v4kKACjMHv5MNGH/pOt+AP58vABKthUBeR0j//EeB/5V2tb/B1SW/lEbdf+gn5j+Qhjd/+MKPAGNh2YA0L2WAXWzXACEFoj/eMccABWBT/62CUEA2qOpAPaTxv9rJpABTq/N/9YF+v4vWB3/pC/M/ys3Bv+Dhs/+dGTWAGCMSwFq3JAAwyAcAaxRBf/HszT/JVTLAKpwrgALBFsARfQbAXWDXAAhmK//jJlr//uHK/5XigT/xuqT/nmYVP/NZZsBnQkZAEhqEf5smQD/veW6AMEIsP+uldEA7oIdAOnWfgE94mYAOaMEAcZvM/8tT04Bc9IK/9oJGf+ei8b/01K7/lCFUwCdgeYB84WG/yiIEABNa0//t1VcAbHMygCjR5P/mEW+AKwzvAH60qz/0/JxAVlZGv9AQm/+dJgqAKEnG/82UP4AatFzAWd8YQDd5mL/H+cGALLAeP4P2cv/fJ5PAHCR9wBc+jABo7XB/yUvjv6QvaX/LpLwAAZLgAApncj+V3nVAAFx7AAFLfoAkAxSAB9s5wDh73f/pwe9/7vkhP9uvSIAXizMAaI0xQBOvPH+ORSNAPSSLwHOZDMAfWuU/hvDTQCY/VoBB4+Q/zMlHwAidyb/B8V2AJm80wCXFHT+9UE0/7T9bgEvsdEAoWMR/3beygB9s/wBezZ+/5E5vwA3unkACvOKAM3T5f99nPH+lJy5/+MTvP98KSD/HyLO/hE5UwDMFiX/KmBiAHdmuAEDvhwAblLa/8jMwP/JkXYAdcySAIQgYgHAwnkAaqH4Ae1YfAAX1BoAzata//gw2AGNJeb/fMsA/p6oHv/W+BUAcLsH/0uF7/9K4/P/+pNGANZ4ogCnCbP/Fp4SANpN0QFhbVH/9CGz/zk0Of9BrNL/+UfR/46p7gCevZn/rv5n/mIhDgCNTOb/cYs0/w861ACo18n/+MzXAd9EoP85mrf+L+d5AGqmiQBRiIoApSszAOeLPQA5Xzv+dmIZ/5c/7AFevvr/qblyAQX6Ov9LaWEB19+GAHFjowGAPnAAY2qTAKPDCgAhzbYA1g6u/4Em5/81tt8AYiqf//cNKAC80rEBBhUA//89lP6JLYH/WRp0/n4mcgD7MvL+eYaA/8z5p/6l69cAyrHzAIWNPgDwgr4Bbq//AAAUkgEl0nn/ByeCAI76VP+NyM8ACV9o/wv0rgCG6H4ApwF7/hDBlf/o6e8B1UZw//x0oP7y3tz/zVXjAAe5OgB29z8BdE2x/z71yP4/EiX/azXo/jLd0wCi2wf+Al4rALY+tv6gTsj/h4yqAOu45ACvNYr+UDpN/5jJAgE/xCIABR64AKuwmgB5O84AJmMnAKxQTf4AhpcAuiHx/l793/8scvwAbH45/8koDf8n5Rv/J+8XAZd5M/+ZlvgACuqu/3b2BP7I9SYARaHyARCylgBxOIIAqx9pABpYbP8xKmoA+6lCAEVdlQAUOf4ApBlvAFq8Wv/MBMUAKNUyAdRghP9YirT+5JJ8/7j29wBBdVb//WbS/v55JACJcwP/PBjYAIYSHQA74mEAsI5HAAfRoQC9VDP+m/pIANVU6/8t3uAA7pSP/6oqNf9Op3UAugAo/32xZ/9F4UIA4wdYAUusBgCpLeMBECRG/zICCf+LwRYAj7fn/tpFMgDsOKEB1YMqAIqRLP6I5Sj/MT8j/z2R9f9lwAL+6KdxAJhoJgF5udoAeYvT/nfwIwBBvdn+u7Oi/6C75gA++A7/PE5hAP/3o//hO1v/a0c6//EvIQEydewA27E//vRaswAjwtf/vUMy/xeHgQBovSX/uTnCACM+5//c+GwADOeyAI9QWwGDXWX/kCcCAf/6sgAFEez+iyAuAMy8Jv71czT/v3FJ/r9sRf8WRfUBF8uyAKpjqgBB+G8AJWyZ/0AlRQAAWD7+WZSQ/79E4AHxJzUAKcvt/5F+wv/dKv3/GWOXAGH93wFKczH/Bq9I/zuwywB8t/kB5ORjAIEMz/6owMP/zLAQ/pjqqwBNJVX/IXiH/47C4wEf1joA1bt9/+guPP++dCr+l7IT/zM+7f7M7MEAwug8AKwinf+9ELj+ZwNf/43pJP4pGQv/FcOmAHb1LQBD1ZX/nwwS/7uk4wGgGQUADE7DASvF4QAwjin+xJs8/9/HEgGRiJwA/HWp/pHi7gDvF2sAbbW8/+ZwMf5Jqu3/57fj/1DcFADCa38Bf81lAC40xQHSqyT/WANa/ziXjQBgu///Kk7IAP5GRgH0fagAzESKAXzXRgBmQsj+ETTkAHXcj/7L+HsAOBKu/7qXpP8z6NABoOQr//kdGQFEvj8AIq4o15gvikLNZe8jkUQ3cS87TezP+8C1vNuJgaXbtek4tUjzW8JWORnQBbbxEfFZm08Zr6SCP5IYgW3a1V4cq0ICA6OYqgfYvm9wRQFbgxKMsuROvoUxJOK0/9XDfQxVb4l78nRdvnKxlhY7/rHegDUSxyWnBtyblCZpz3Txm8HSSvGewWmb5OMlTziGR77vtdWMi8adwQ9lnKx3zKEMJHUCK1lvLOktg+SmbqqEdErU+0G93KmwXLVTEYPaiPl2q99m7lJRPpgQMrQtbcYxqD8h+5jIJwOw5A7vvsd/Wb/Cj6g98wvgxiWnCpNHkafVb4ID4FFjygZwbg4KZykpFPwv0kaFCrcnJskmXDghGy7tKsRa/G0sTd+zlZ0TDThT3mOvi1RzCmWosnc8uwpqduau7UcuycKBOzWCFIUscpJkA/FMoei/ogEwQrxLZhqokZf40HCLS8IwvlQGo1FsxxhS79YZ6JLREKllVSQGmdYqIHFXhTUO9LjRuzJwoGoQyNDSuBbBpBlTq0FRCGw3Hpnrjt9Md0gnqEib4bW8sDRjWsnFswwcOcuKQeNKqthOc+Njd0/KnFujuLLW828uaPyy713ugo90YC8XQ29jpXhyq/ChFHjIhOw5ZBoIAseMKB5jI/r/vpDpvYLe62xQpBV5xrL3o/m+K1Ny4/J4ccacYSbqzj4nygfCwCHHuIbRHuvgzdZ92up40W7uf0999bpvF3KqZ/AGppjIosV9YwquDfm+BJg/ERtHHBM1C3EbhH0EI/V32yiTJMdAe6vKMry+yRUKvp48TA0QnMRnHUO2Qj7LvtTFTCp+ZfycKX9Z7PrWOqtvy18XWEdKjBlEbGwHAABTBQAACwAAAAAAAABfBQAApAUAALYFAACMBQAAQAUAADkGAAAmBgAApwYAAPAEAAB1BQAAFQYAAAAFAAAQBQAA+wUAAO0FAADOBQAAJgUAAEkGAABsBwAA5QQAAAY=");l(e,33552,"mC+KQpFEN3HP+8C1pdu16VvCVjnxEfFZpII/ktVeHKuYqgfYAVuDEr6FMSTDfQxVdF2+cv6x3oCnBtybdPGbwcFpm+SGR77vxp3BD8yhDCRvLOktqoR0StypsFzaiPl2UlE+mG3GMajIJwOwx39Zv/ML4MZHkafVUWPKBmcpKRSFCrcnOCEbLvxtLE0TDThTVHMKZbsKanYuycKBhSxykqHov6JLZhqocItLwqNRbMcZ6JLRJAaZ1oU1DvRwoGoQFsGkGQhsNx5Md0gntbywNLMMHDlKqthOT8qcW/NvLmjugo90b2OleBR4yIQIAseM+v++kOtsUKT3o/m+8nhxxmN8d3vya2/FMAFnK/7Xq3bKgsl9+llH8K3Uoq+cpHLAt/2TJjY/98w0peXxcdgxFQTHI8MYlgWaBxKA4usnsnUJgywaG25aoFI71rMp4y+EU9EA7SD8sVtqy745SkxYz9DvqvtDTTOFRfkCf1A8n6hRo0CPkp049by22iEQ//PSzQwT7F+XRBfEp349ZF0Zc2CBT9wiKpCIRu64FN5eC9vgMjoKSQYkXMLTrGKRleR558g3bY3VTqlsVvTqZXquCLp4JS4cprTG6N10H0u9i4pwPrVmSAP2DmE1V7mGwR2e4fiYEWnZjpSbHofpzlUo34yhiQ2/5kJoQZktD7BUuxYAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAABsAAAA2AAAAbAAAANgAAACrAAAATQAAAJoAAAAAUglq1TA2pTi/QKOegfPX+3zjOYKbL/+HNI5DRMTe6ctUe5QypsIjPe5MlQtC+sNOCC6hZijZJLJ2W6JJbYvRJXL49mSGaJgW1KRczF1ltpJscEhQ/e252l4VRlenjZ2EkNirAIy80wr35FgFuLNFBtAsHo/KPw8Cwa+9AwETims6kRFBT2fc6pfyz87wtOZzlqx0IuetNYXi+TfoHHXfbkfxGnEdKcWJb7diDqoYvhv8Vj5LxtJ5IJrbwP54zVr0H92oM4gHxzGxEhBZJ4DsX2BRf6kZtUoNLeV6n5PJnO+g4DtNrir1sMjruzyDU5lhFysEfrp31ibhaRRjVSEMfQAAAAAAAAIDCQsNDgQGEhYaHAYFGx0XEggMJCw0OAoPLSc5NgwKNjouJA4JPzEjKhAYSFhocBIbQVNlfhQeWk5ybBYdU0V/YhgUbHRcSBoXZX9RRhwSfmJGVB4Rd2lLWiAwkLDQ4CIzmbvd7iQ2gqbK/CY1i63H8ig8tJzk2Co/vZfp1iw6por+xC45r4HzyjAo2Oi4kDIr0eO1njQuyv6ijDYtw/Wvgjgk/MSMqDon9c+Bpjwi7tKWtD4h59mbukBgO3u720JjMnC21URmKW2hx0ZlIGasyUhsH1eP40pvFlyC7UxqDUGV/05pBEqY8VB4cyPTq1J7eijepVR+YTXJt1Z9aD7EuVh0Vw/nk1p3XgTqnVxyRRn9j15xTBLwgWBQq8trO2JTosBmNWRWud1xJ2ZVsNZ8KWhcj+dfA2pfhuxSDWxanfFFH25ZlPpIEXBI45MDS3JL6pgORXRO8YUZV3ZN+I4UWXhEx783c3pHzrQ6fXxC1aktb35B3KIgYYDAdvZtrYLDf/1go4TGZOB3sYbFbet6v4jMUtpZlYrPW9FUm4zKQMxDiY7JScdOh5DYPq4F3ZLbN6UI05TeLLgfwZbdJbMSz5jUGoIx5ZrXE4k865zSCJQr+Z7RAZ8m96Dw5ka9TaLz702wQ6T29FCnUab1/VuqX6j8wmqJdar/y2GEe6z60HyTaa752XeeZ7Dorh7VPbLrpxXYM7TuvAjPIbbttQPCL7jkijLhBbrngznsC7zimCT7Gb7hkS/2F8CgTY3WdsKjRIbbeMSmX5vMasalVpDBZMisaaHiTsqvYKrvQMyqe7f4Us6pcrz1XNC4BdW+BtK7DN6zCNS+F8OkGta9HsipFNi0IfmKPtq3KPKHMNyyM++QIt6xOuSdLOCQ3T0GluKT1DYLmOSWzysciuaVxiARhOic+REyruqf8Bo/oOya6wcosu6Z4gwlvPCIlWVu5vKLnG5j6PSOh3N0+vaNjnh59PiEsUla3vqHuEJX0PyCo19Awv6BqlRNzBub7PfaQRmY5fzXTx+d/uHAXR2e9+rNUxOXyNvueRGUwdDjdxeR2s30ZRWS08b5awuDpK+yMQmAraS/Pw+FtrmoLQ2Gv7KlIwOPgIOGCQGMiYiLBweJkpWcFQWKm56RGzurfEcKoTmodUwHrz+tblEQvT2uZ1odszOnWGs+mTGkUWAzlzehSn0khTWiQ3YpiyuzNB9i0SmwPRRv3y+1Jgl4zS22LwJ1wyO/EDNW6SG8GThb5ye5AiVM9SW6Cy5B+1v714xhmln43odslF/9xZp7hl3+zJF2iFP386BVolH0+qtYrFfx4bZPvlXy6L1CsEvjn9QJ6knglt8E5E/ljcIT9k3mhMke+EPvu/g90kHssvMw3Efpqe4nzkXqoOUqwHvLRzyxennITje8dH/NVSqrZn3OXCGmaHPHYxCFQnHEahuITHfBcQafXnXCeA2SUGvTD2TZCmnQBm/UBG/VHXLDFm3WFHnOGGPfK0jtMmHcIkPgPGfZOV73LmXaMFX6IJtbmgG37JlYkwq64p9diBet8J1egRyg/pNXvi2D1JFUtyaO2pdRrDuZyJVSpTCUxotD0lnfnIlA21LSko9FwE/FgI1GyUTIjoNP9nXrpIFM/37mqodJ5GPxuIVK7Wj8trtrCrFnDLloA7pqAr9tGKd9EL1uEaxwHrNnLp1TNLFkJ5ZeOrdhPItJKLViNYBEJqtzQukPfKlwS+ICcq91UP8VYK12WfQYbqN/ZsU7RKF8b842Sqd5dNMhWKV6fdgsVts7oXoMN9k4qHEBOd89s2wWK90+umcbJdM3hVY4D9E0jF01Adcxl0AiE9UynksvHcsj6SJkR8kg4ClpSc8l+zR+W80m8j9zVcMvzQ5Qf8EsxAVdcccp3xhKY8Uq1hNHbfsLMcrc1/kIOMHR2f8NI9zGy/0OKtfLxfMHFebo7/EEHO3l4fcBB/Dy8/UCDvv//esTeZK0p+kQcJm5qe8Va4Suu+0WYo+jteMfXb6An+EcVLWNkecZT6iag+UaRqOXjQ==");l(e,35956,"Bg==");l(e,35995,"//////8=");l(e,36064,"EQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAARERE=");l(e,36145,"CwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAAL");l(e,36203,"DA==");l(e,36215,"DAAAAAAMAAAAAAkMAAAAAAAMAAAM");l(e,36261,"Dg==");l(e,36273,"DQAAAAQNAAAAAAkOAAAAAAAOAAAO");l(e,36319,"EA==");l(e,36331,"DwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhIS");l(e,36386,"EgAAABISEgAAAAAAAAk=");l(e,36435,"Cw==");l(e,36447,"CgAAAAAKAAAAAAkLAAAAAAALAAAL");l(e,36493,"DA==");l(e,36505,"DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVG");l(e,36544,"YAc=");l(e,36560,"hTuMAb3xJP/4JcMBYNw3ALdMPv/DQj0AMkykAeGkTP9MPaP/dT4fAFGRQP92QQ4AonPW/waKLgB85vT/CoqPADQawgC49EwAgY8pAb70E/97qnr/YoFEAHnVkwBWZR7/oWebAIxZQ//v5b4BQwu1AMbwif7uRbz/Q5fuABMqbP/lVXEBMkSH/xFqCQAyZwH/UAGoASOYHv8QqLkBOFno/2XS/AAp+kcAzKpP/w4u7/9QTe8AvdZL/xGN+QAmUEz/vlV1AFbkqgCc2NABw8+k/5ZCTP+v4RD/jVBiAUzb8gDGonIALtqYAJsr8f6boGj/M7ulAAIRrwBCVKAB9zoeACNBNf5F7L8ALYb1AaN73QAgbhT/NBelALrWRwDpsGAA8u82ATlZigBTAFT/iKBkAFyOeP5ofL4AtbE+//opVQCYgioBYPz2AJeXP/7vhT4AIDicAC2nvf+OhbMBg1bTALuzlv76qg7/0qNOACU0lwBjTRoA7pzV/9XA0QFJLlQAFEEpATbOTwDJg5L+qm8Y/7EhMv6rJsv/Tvd0ANHdmQCFgLIBOiwZAMknOwG9E/wAMeXSAXW7dQC1s7gBAHLbADBekwD1KTgAfQ3M/vStdwAs3SD+VOoUAPmgxgHsfur/L2Oo/qrimf9ms9gA4o16/3pCmf629YYA4+QZAdY56//YrTj/tefSAHeAnf+BX4j/bn4zAAKpt/8HgmL+RbBe/3QE4wHZ8pH/yq0fAWkBJ/8ur0UA5C86/9fgRf7POEX/EP6L/xfP1P/KFH7/X9Vg/wmwIQDIBc//8SqA/iMhwP/45cQBgRF4APtnl/8HNHD/jDhC/yji9f/ZRiX+rNYJ/0hDhgGSwNb/LCZwAES4S//OWvsAleuNALWqOgB09O8AXJ0CAGatYgDpiWABfzHLAAWblAAXlAn/03oMACKGGv/bzIgAhggp/+BTK/5VGfcAbX8A/qmIMADud9v/563VAM4S/v4Iugf/fgkHAW8qSABvNOz+YD+NAJO/f/7NTsD/DmrtAbvbTACv87v+aVmtAFUZWQGi85QAAnbR/iGeCQCLoy7/XUYoAGwqjv5v/I7/m9+QADPlp/9J/Jv/XnQM/5ig2v+c7iX/s+rP/8UAs/+apI0A4cRoAAojGf7R1PL/Yf3e/rhl5QDeEn8BpIiH/x7PjP6SYfMAgcAa/slUIf9vCk7/k1Gy/wQEGACh7tf/Bo0hADXXDv8ptdD/54udALPL3f//uXEAveKs/3FC1v/KPi3/ZkAI/06uEP6FdUT/oIIAAAABAgM=");l(e,37696,"qJM=");l(e,37752,"sJVQ")}var r=new ArrayBuffer(16);var s=new Int32Array(r);var t=new Float32Array(r);var u=new Float64Array(r);function v(w){return s[w]}function x(w,y){s[w]=y}function z(){return u[0]}function A(y){u[0]=y}function ca(da){var B=da.a;var C=B.buffer;var D=new Int8Array(C);var E=new Int16Array(C);var F=new Int32Array(C);var G=new Uint8Array(C);var H=new Uint16Array(C);var I=new Uint32Array(C);var J=new Float32Array(C);var K=new Float64Array(C);var L=Math.imul;var M=Math.fround;var N=Math.abs;var O=Math.clz32;var P=Math.min;var Q=Math.max;var R=Math.floor;var S=Math.ceil;var T=Math.trunc;var U=Math.sqrt;var V=da.abort;var W=NaN;var X=Infinity;var Y=da.b;var Z=da.c;var _=5281200;var $=0; +// EMSCRIPTEN_START_FUNCS +function Jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ta=0,ua=0,va=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0;g=_-2592|0;_=g;d=G[b+28|0]|G[b+29|0]<<8|(G[b+30|0]<<16|G[b+31|0]<<24);F[g+24>>2]=G[b+24|0]|G[b+25|0]<<8|(G[b+26|0]<<16|G[b+27|0]<<24);F[g+28>>2]=d;d=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);F[g+16>>2]=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);F[g+20>>2]=d;d=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);f=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);F[g>>2]=f;F[g+4>>2]=d;d=G[b+12|0]|G[b+13|0]<<8|(G[b+14|0]<<16|G[b+15|0]<<24);F[g+8>>2]=G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24);F[g+12>>2]=d;D[g|0]=f&248;D[g+31|0]=G[g+31|0]&63|64;j=G[c+3|0];d=j;b=d<<24&50331648;f=G[c+2|0];d=f>>>16|0;F[g+112>>2]=b|(G[c|0]|G[c+1|0]<<8|f<<16);F[g+116>>2]=d;d=G[c+4|0];f=d>>>24|0;b=d<<8|j;e=G[c+5|0];d=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+6|0];d=s;f=d>>>8|0;h=d<<24;d=f|j;f=e|h;F[g+120>>2]=((d&3)<<30|f>>>2)&33554431;F[g+124>>2]=0;d=G[c+7|0];f=d>>>24|0;b=d<<8|s;e=G[c+8|0];d=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+9|0];d=s;f=d>>>8|0;h=d<<24;d=f|j;f=e|h;F[g+128>>2]=((d&7)<<29|f>>>3)&67108863;F[g+132>>2]=0;d=G[c+10|0];f=d>>>24|0;b=d<<8|s;e=G[c+11|0];d=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+12|0];d=s;f=d>>>8|0;h=d<<24;d=f|j;f=e|h;F[g+136>>2]=((d&31)<<27|f>>>5)&33554431;F[g+140>>2]=0;d=G[c+13|0];f=d>>>24|0;b=d<<8|s;e=G[c+14|0];d=e>>>16|0;e=b|e<<16;j=d|f;d=G[c+15|0];f=d>>>8|0;e=d<<24|e;f=f|j;d=f>>>6|0;F[g+144>>2]=(f&63)<<26|e>>>6;F[g+148>>2]=d;j=G[c+19|0];d=j;b=d<<24&16777216;d=G[c+18|0];f=d>>>16|0;F[g+152>>2]=b|(G[c+16|0]|G[c+17|0]<<8|d<<16);F[g+156>>2]=f;f=G[c+20|0];d=f>>>24|0;e=f<<8|j;f=d;b=e;e=G[c+21|0];d=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+22|0];f=s;d=f>>>8|0;f=f<<24|e;d=d|j;F[g+160>>2]=((d&1)<<31|f>>>1)&67108863;F[g+164>>2]=0;f=G[c+23|0];d=f>>>24|0;b=f<<8|s;e=G[c+24|0];f=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+25|0];f=s;d=f>>>8|0;f=f<<24|e;d=d|j;F[g+168>>2]=((d&7)<<29|f>>>3)&33554431;F[g+172>>2]=0;f=G[c+26|0];d=f>>>24|0;e=f<<8|s;f=d;b=e;e=G[c+27|0];d=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+28|0];f=s;d=f>>>8|0;f=f<<24|e;d=d|j;F[g+176>>2]=((d&15)<<28|f>>>4)&67108863;F[g+180>>2]=0;f=G[c+29|0];d=f>>>24|0;b=f<<8|s;e=G[c+30|0];f=e>>>16|0;e=b|e<<16;f=d|f;c=G[c+31|0];d=c>>>8|0;j=c<<24;c=d|f;d=e|j;F[g+184>>2]=((c&63)<<26|d>>>6)&33554431;F[g+188>>2]=0;z=g+1152|0;ra(z,0,152);F[g+1152>>2]=1;F[g+1156>>2]=0;b=g+992|0;ra(b,0,152);F[g+992>>2]=1;F[g+996>>2]=0;c=g+832|0;ra(c,0,152);j=g+672|0;ra(j,0,152);k=g+512|0;ra(k,0,152);F[g+512>>2]=1;F[g+516>>2]=0;r=g+352|0;ra(r,0,152);Q=g+192|0;ra(Q,0,152);F[g+192>>2]=1;F[g+196>>2]=0;ra(g+1392|0,0,72);t=g+1312|0;ja(t,g+112|0,80);Ma=g+2512|0;while(1){ua=G[(g-ta|0)+31|0];va=0;while(1){J=j;H=0-((ua&128)>>>7|0)|0;j=t;f=F[j>>2];e=F[b>>2];d=H&(f^e);s=b;e=d^e;F[b>>2]=e;F[b+4>>2]=e>>31;d=d^f;F[j>>2]=d;F[j+4>>2]=d>>31;f=F[j+8>>2];e=F[b+8>>2];d=H&(f^e);e=d^e;F[b+8>>2]=e;F[b+12>>2]=e>>31;d=d^f;F[j+8>>2]=d;F[j+12>>2]=d>>31;f=F[j+16>>2];e=F[b+16>>2];d=H&(f^e);e=d^e;F[b+16>>2]=e;F[b+20>>2]=e>>31;d=d^f;F[j+16>>2]=d;F[j+20>>2]=d>>31;f=F[j+24>>2];e=F[b+24>>2];d=H&(f^e);e=d^e;F[b+24>>2]=e;F[b+28>>2]=e>>31;d=d^f;F[j+24>>2]=d;F[j+28>>2]=d>>31;f=F[j+32>>2];e=F[b+32>>2];d=H&(f^e);e=d^e;F[b+32>>2]=e;F[b+36>>2]=e>>31;d=d^f;F[j+32>>2]=d;F[j+36>>2]=d>>31;f=F[j+40>>2];e=F[b+40>>2];d=H&(f^e);e=d^e;F[b+40>>2]=e;F[b+44>>2]=e>>31;d=d^f;F[j+40>>2]=d;F[j+44>>2]=d>>31;f=F[j+48>>2];e=F[b+48>>2];d=H&(f^e);e=d^e;F[b+48>>2]=e;F[b+52>>2]=e>>31;d=d^f;F[j+48>>2]=d;F[j+52>>2]=d>>31;f=F[j+56>>2];e=F[b+56>>2];d=H&(f^e);e=d^e;F[b+56>>2]=e;F[b+60>>2]=e>>31;d=d^f;F[j+56>>2]=d;F[j+60>>2]=d>>31;f=F[j+64>>2];e=F[b+64>>2];d=H&(f^e);e=d^e;F[b+64>>2]=e;F[b+68>>2]=e>>31;d=d^f;F[j+64>>2]=d;F[j+68>>2]=d>>31;f=F[j+72>>2];e=F[b+72>>2];d=H&(f^e);e=d^e;F[b+72>>2]=e;F[b+76>>2]=e>>31;d=d^f;F[j+72>>2]=d;F[j+76>>2]=d>>31;h=z;f=F[h>>2];e=F[c>>2];d=H&(f^e);e=d^e;F[c>>2]=e;F[c+4>>2]=e>>31;d=d^f;F[h>>2]=d;F[h+4>>2]=d>>31;f=F[h+8>>2];e=F[c+8>>2];d=H&(f^e);e=d^e;F[c+8>>2]=e;F[c+12>>2]=e>>31;d=d^f;F[h+8>>2]=d;F[h+12>>2]=d>>31;f=F[h+16>>2];e=F[c+16>>2];d=H&(f^e);e=d^e;F[c+16>>2]=e;F[c+20>>2]=e>>31;d=d^f;F[h+16>>2]=d;F[h+20>>2]=d>>31;f=F[h+24>>2];e=F[c+24>>2];d=H&(f^e);e=d^e;F[c+24>>2]=e;F[c+28>>2]=e>>31;d=d^f;F[h+24>>2]=d;F[h+28>>2]=d>>31;f=F[h+32>>2];e=F[c+32>>2];d=H&(f^e);e=d^e;F[c+32>>2]=e;F[c+36>>2]=e>>31;d=d^f;F[h+32>>2]=d;F[h+36>>2]=d>>31;d=F[h+40>>2];y=F[c+40>>2];p=H&(d^y);d=d^p;F[h+40>>2]=d;F[h+44>>2]=d>>31;d=F[h+48>>2];v=F[c+48>>2];A=H&(d^v);d=d^A;F[h+48>>2]=d;F[h+52>>2]=d>>31;d=F[h+56>>2];i=c;q=F[c+56>>2];C=H&(d^q);d=d^C;F[h+56>>2]=d;F[h+60>>2]=d>>31;d=F[h+64>>2];M=F[c+64>>2];B=H&(d^M);d=d^B;F[h+64>>2]=d;F[h+68>>2]=d>>31;d=F[h+72>>2];R=F[c+72>>2];w=H&(d^R);d=d^w;F[h+72>>2]=d;F[h+76>>2]=d>>31;d=b;K=F[c+4>>2];S=F[d+4>>2];e=K+S|0;l=F[c>>2];z=F[d>>2];t=z;f=l+t|0;F[d>>2]=f;F[d+4>>2]=f>>>0<t>>>0?e+1|0:e;O=F[c+12>>2];I=F[d+12>>2];e=O+I|0;c=F[c+8>>2];t=F[d+8>>2];f=t;d=c+f|0;F[b+8>>2]=d;F[b+12>>2]=d>>>0<f>>>0?e+1|0:e;V=F[i+20>>2];E=F[b+20>>2];d=V+E|0;n=F[i+16>>2];m=F[b+16>>2];e=m;f=n+e|0;F[b+16>>2]=f;F[b+20>>2]=e>>>0>f>>>0?d+1|0:d;X=F[i+28>>2];Y=F[b+28>>2];f=X+Y|0;o=F[i+24>>2];u=F[b+24>>2];e=u;d=o+e|0;F[b+24>>2]=d;F[b+28>>2]=d>>>0<e>>>0?f+1|0:f;b=F[i+32>>2];T=F[i+36>>2];f=s;x=F[f+40>>2];d=p^y;p=d;e=x+d|0;N=F[f+44>>2];U=d>>31;d=N+U|0;F[f+40>>2]=e;F[f+44>>2]=e>>>0<p>>>0?d+1|0:d;d=f;f=F[d+48>>2];e=v^A;A=e;v=e;y=f+e|0;P=F[d+52>>2];Z=e>>31;e=P+Z|0;F[d+48>>2]=y;F[d+52>>2]=v>>>0>y>>>0?e+1|0:e;y=F[d+56>>2];e=q^C;C=e;q=e;v=y+e|0;aa=F[d+60>>2];ba=e>>31;e=aa+ba|0;F[d+56>>2]=v;F[d+60>>2]=q>>>0>v>>>0?e+1|0:e;e=d;v=F[d+64>>2];d=B^M;B=d;q=v+d|0;ca=F[e+68>>2];W=d>>31;d=ca+W|0;F[e+64>>2]=q;F[e+68>>2]=q>>>0<B>>>0?d+1|0:d;d=e;q=F[d+72>>2];e=w^R;w=e;M=q+e|0;da=F[d+76>>2];ea=e>>31;e=da+ea|0;F[d+72>>2]=M;F[d+76>>2]=M>>>0<w>>>0?e+1|0:e;fa=F[d+36>>2];e=fa+T|0;M=F[d+32>>2];R=M+b|0;F[d+32>>2]=R;F[d+36>>2]=R>>>0<M>>>0?e+1|0:e;F[i+72>>2]=q-w;F[i+76>>2]=da-((q>>>0<w>>>0)+ea|0);F[i+64>>2]=v-B;F[i+68>>2]=ca-((v>>>0<B>>>0)+W|0);F[i+56>>2]=y-C;F[i+60>>2]=aa-((y>>>0<C>>>0)+ba|0);F[i+48>>2]=f-A;F[i+52>>2]=P-((f>>>0<A>>>0)+Z|0);F[i+40>>2]=x-p;F[i+44>>2]=N-((p>>>0>x>>>0)+U|0);F[i+32>>2]=M-b;F[i+36>>2]=fa-((b>>>0>M>>>0)+T|0);F[i+24>>2]=u-o;F[i+28>>2]=Y-((o>>>0>u>>>0)+X|0);F[i+16>>2]=m-n;F[i+20>>2]=E-((m>>>0<n>>>0)+V|0);F[i+8>>2]=t-c;F[i+12>>2]=I-((c>>>0>t>>>0)+O|0);F[i>>2]=z-l;F[i+4>>2]=S-((l>>>0>z>>>0)+K|0);b=j;R=F[h+4>>2];K=F[b+4>>2];d=R+K|0;c=F[h>>2];l=F[b>>2];e=l;f=c+e|0;F[b>>2]=f;F[b+4>>2]=e>>>0>f>>>0?d+1|0:d;S=F[h+12>>2];O=F[b+12>>2];e=S+O|0;z=F[h+8>>2];t=F[b+8>>2];f=t;d=z+f|0;F[b+8>>2]=d;F[b+12>>2]=d>>>0<f>>>0?e+1|0:e;I=F[h+20>>2];V=F[b+20>>2];f=I+V|0;n=F[h+16>>2];m=F[b+16>>2];e=m;d=n+e|0;F[b+16>>2]=d;F[b+20>>2]=d>>>0<e>>>0?f+1|0:f;E=F[h+28>>2];X=F[b+28>>2];d=E+X|0;o=F[h+24>>2];u=F[b+24>>2];e=u;f=o+e|0;F[b+24>>2]=f;F[b+28>>2]=e>>>0>f>>>0?d+1|0:d;Y=F[h+36>>2];N=F[b+36>>2];e=Y+N|0;x=F[h+32>>2];p=F[b+32>>2];f=p;d=x+f|0;F[b+32>>2]=d;F[b+36>>2]=d>>>0<f>>>0?e+1|0:e;U=F[h+44>>2];P=F[b+44>>2];d=U+P|0;A=F[h+40>>2];y=F[b+40>>2];e=y;f=A+e|0;F[b+40>>2]=f;F[b+44>>2]=e>>>0>f>>>0?d+1|0:d;Z=F[h+52>>2];aa=F[b+52>>2];e=Z+aa|0;C=F[h+48>>2];v=F[b+48>>2];f=v;d=C+f|0;F[b+48>>2]=d;F[b+52>>2]=d>>>0<f>>>0?e+1|0:e;ba=F[h+60>>2];ca=F[b+60>>2];f=ba+ca|0;B=F[h+56>>2];q=F[b+56>>2];e=q;d=B+e|0;F[b+56>>2]=d;F[b+60>>2]=d>>>0<e>>>0?f+1|0:f;W=F[h+68>>2];da=F[b+68>>2];d=W+da|0;f=F[h+64>>2];w=F[b+64>>2];e=f+w|0;F[b+64>>2]=e;F[b+68>>2]=e>>>0<w>>>0?d+1|0:d;ha=F[h+76>>2];fa=F[b+76>>2];e=ha+fa|0;d=F[h+72>>2];M=F[b+72>>2];T=d+M|0;F[b+72>>2]=T;F[b+76>>2]=T>>>0<M>>>0?e+1|0:e;F[h+72>>2]=M-d;F[h+76>>2]=fa-((d>>>0>M>>>0)+ha|0);F[h+64>>2]=w-f;F[h+68>>2]=da-((f>>>0>w>>>0)+W|0);F[h+56>>2]=q-B;F[h+60>>2]=ca-((q>>>0<B>>>0)+ba|0);F[h+48>>2]=v-C;F[h+52>>2]=aa-((v>>>0<C>>>0)+Z|0);F[h+40>>2]=y-A;F[h+44>>2]=P-((y>>>0<A>>>0)+U|0);F[h+32>>2]=p-x;F[h+36>>2]=N-((p>>>0<x>>>0)+Y|0);F[h+24>>2]=u-o;F[h+28>>2]=X-((o>>>0>u>>>0)+E|0);F[h+16>>2]=m-n;F[h+20>>2]=V-((m>>>0<n>>>0)+I|0);F[h+8>>2]=t-z;F[h+12>>2]=O-((t>>>0<z>>>0)+S|0);F[h>>2]=l-c;F[h+4>>2]=K-((c>>>0>l>>>0)+R|0);xa=g+1952|0;sa(xa,b,i);da=g+1792|0;sa(da,s,h);Na=F[g+2024>>2];A=F[g+2028>>2];y=F[g+2016>>2];Oa=F[g+2020>>2];ea=F[g+2096>>2];ha=F[g+2100>>2];C=F[g+2008>>2];Pa=F[g+2012>>2];fa=F[g+2088>>2];ka=F[g+2092>>2];v=F[g+2e3>>2];Qa=F[g+2004>>2];la=F[g+2080>>2];ma=F[g+2084>>2];B=F[g+1992>>2];Ra=F[g+1996>>2];ia=F[g+2072>>2];oa=F[g+2076>>2];q=F[g+1984>>2];Sa=F[g+1988>>2];pa=F[g+2064>>2];ya=F[g+2068>>2];w=F[g+1976>>2];Ta=F[g+1980>>2];na=F[g+2056>>2];za=F[g+2060>>2];l=F[g+1968>>2];t=F[g+1972>>2];P=F[g+2048>>2];Z=F[g+2052>>2];z=F[g+1960>>2];qa=F[g+1964>>2];aa=F[g+2040>>2];ba=F[g+2044>>2];m=F[g+1952>>2];Ua=F[g+1956>>2];ca=F[g+2032>>2];W=F[g+2036>>2];F[g+2032>>2]=0;F[g+2036>>2]=0;Va=F[g+1864>>2];M=F[g+1868>>2];T=F[g+1856>>2];Wa=F[g+1860>>2];Aa=F[g+1936>>2];Ba=F[g+1940>>2];R=F[g+1848>>2];Xa=F[g+1852>>2];Ca=F[g+1928>>2];Da=F[g+1932>>2];K=F[g+1840>>2];Ya=F[g+1844>>2];Ea=F[g+1920>>2];Fa=F[g+1924>>2];S=F[g+1832>>2];Za=F[g+1836>>2];Ga=F[g+1912>>2];Ha=F[g+1916>>2];O=F[g+1824>>2];_a=F[g+1828>>2];Ia=F[g+1904>>2];Ja=F[g+1908>>2];I=F[g+1816>>2];$a=F[g+1820>>2];Ka=F[g+1896>>2];La=F[g+1900>>2];b=F[g+1808>>2];d=F[g+1812>>2];f=F[g+1888>>2];e=F[g+1892>>2];c=F[g+1800>>2];E=F[g+1804>>2];o=F[g+1880>>2];u=F[g+1884>>2];n=F[g+1792>>2];X=F[g+1796>>2];p=F[g+1872>>2];V=F[g+1876>>2];F[g+1872>>2]=0;F[g+1876>>2]=0;d=d+e|0;x=b+f|0;d=x>>>0<b>>>0?d+1|0:d;f=qe(f,e,18,0);b=f+x|0;e=$+d|0;N=b;x=b>>>0<f>>>0?e+1|0:e;f=u+E|0;b=c+o|0;f=b>>>0<c>>>0?f+1|0:f;c=qe(o,u,18,0);b=c+b|0;d=$+f|0;f=b;c=f>>>0<c>>>0?d+1|0:d;e=V+X|0;b=n+p|0;e=b>>>0<n>>>0?e+1|0:e;n=qe(p,V,18,0);b=n+b|0;d=$+e|0;d=b>>>0<n>>>0?d+1|0:d;V=d;e=d;n=d>>31>>>6|0;d=n+b|0;o=d;e=d>>>0<n>>>0?e+1|0:e;E=e;d=e>>26;n=(e&67108863)<<6|o>>>26;e=n+f|0;f=c+d|0;c=e;f=e>>>0<n>>>0?f+1|0:f;X=f;e=f;f=e>>31>>>7|0;d=f+c|0;u=d;e=d>>>0<f>>>0?e+1|0:e;Y=e;f=e>>25;n=(e&33554431)<<7|d>>>25;e=n+N|0;d=f+x|0;d=e>>>0<n>>>0?d+1|0:d;x=e;p=d;n=d>>31>>>6|0;e=n+e|0;ab=e;d=e>>>0<n>>>0?d+1|0:d;n=d;f=e&-67108864;d=p-((f>>>0>x>>>0)+d|0)|0;N=x-f|0;U=d;f=Z+t|0;d=l+P|0;f=d>>>0<l>>>0?f+1|0:f;l=qe(P,Z,18,0);d=l+d|0;e=$+f|0;t=d;P=d>>>0<l>>>0?e+1|0:e;d=ba+qa|0;f=z+aa|0;d=f>>>0<z>>>0?d+1|0:d;e=qe(aa,ba,18,0);f=e+f|0;d=$+d|0;d=e>>>0>f>>>0?d+1|0:d;z=f;e=W+Ua|0;f=m+ca|0;e=f>>>0<m>>>0?e+1|0:e;m=qe(ca,W,18,0);l=m+f|0;f=$+e|0;f=l>>>0<m>>>0?f+1|0:f;Z=f;e=f;m=e>>31>>>6|0;f=m+l|0;x=f;e=f>>>0<m>>>0?e+1|0:e;aa=e;m=z;f=e>>26;z=(e&67108863)<<6|x>>>26;e=m+z|0;d=d+f|0;d=e>>>0<z>>>0?d+1|0:d;z=e;ba=d;e=d;f=d>>31>>>7|0;d=f+z|0;p=d;e=d>>>0<f>>>0?e+1|0:e;ca=e;d=e>>25;e=(e&33554431)<<7|p>>>25;f=e+t|0;d=d+P|0;d=e>>>0>f>>>0?d+1|0:d;e=f;P=e;W=d;f=d;e=d>>31>>>6|0;d=P+e|0;t=d;f=d>>>0<e>>>0?f+1|0:f;m=f;d=d&-67108864;e=P-d|0;qa=e+N|0;f=W-((d>>>0>P>>>0)+f|0)|0;d=f+U|0;F[g+1968>>2]=qa;F[g+1972>>2]=qa>>>0<e>>>0?d+1|0:d;F[g+1808>>2]=e-N;F[g+1812>>2]=f-((e>>>0<N>>>0)+U|0);f=La+$a|0;d=I+Ka|0;f=d>>>0<I>>>0?f+1|0:f;I=qe(Ka,La,18,0);e=I+d|0;d=$+f|0;d=e>>>0<I>>>0?d+1|0:d;f=e;e=n>>26;n=(n&67108863)<<6|ab>>>26;f=f+n|0;e=d+e|0;e=f>>>0<n>>>0?e+1|0:e;I=f;N=e;d=e;e=d>>31>>>7|0;f=e+f|0;P=f;d=e>>>0>f>>>0?d+1|0:d;n=d;f=f&-33554432;d=N-((f>>>0>I>>>0)+d|0)|0;I=I-f|0;N=d;e=za+Ta|0;d=w+na|0;e=d>>>0<w>>>0?e+1|0:e;w=qe(na,za,18,0);f=w+d|0;d=$+e|0;d=f>>>0<w>>>0?d+1|0:d;e=f;f=m>>26;m=(m&67108863)<<6|t>>>26;e=e+m|0;d=d+f|0;w=e;d=e>>>0<m>>>0?d+1|0:d;U=d;e=d;f=d>>31>>>7|0;d=w+f|0;W=d;e=d>>>0<f>>>0?e+1|0:e;m=e;f=d&-33554432;d=w-f|0;na=d+I|0;e=U-((f>>>0>w>>>0)+e|0)|0;f=e+N|0;F[g+1976>>2]=na;F[g+1980>>2]=na>>>0<d>>>0?f+1|0:f;F[g+1816>>2]=d-I;F[g+1820>>2]=e-((d>>>0<I>>>0)+N|0);e=Ja+_a|0;d=O+Ia|0;e=d>>>0<O>>>0?e+1|0:e;w=qe(Ia,Ja,18,0);f=w+d|0;d=$+e|0;e=f;f=e>>>0<w>>>0?d+1|0:d;d=n>>25;w=(n&33554431)<<7|P>>>25;n=w+e|0;e=d+f|0;e=n>>>0<w>>>0?e+1|0:e;d=n;w=d;O=e;f=e;e=e>>31>>>6|0;d=e+d|0;N=d;f=d>>>0<e>>>0?f+1|0:f;n=f;f=d&-67108864;d=O-(n+(f>>>0>w>>>0)|0)|0;w=w-f|0;O=d;d=ya+Sa|0;f=q+pa|0;d=f>>>0<q>>>0?d+1|0:d;e=qe(pa,ya,18,0);f=e+f|0;d=$+d|0;d=e>>>0>f>>>0?d+1|0:d;e=m>>25;q=(m&33554431)<<7|W>>>25;m=q+f|0;f=d+e|0;f=m>>>0<q>>>0?f+1|0:f;d=m;q=d;I=f;e=f;f=e>>31>>>6|0;d=f+d|0;U=d;e=d>>>0<f>>>0?e+1|0:e;m=e;P=d&-67108864;d=q-P|0;f=w+d|0;q=I-((q>>>0<P>>>0)+e|0)|0;e=q+O|0;F[g+1984>>2]=f;F[g+1988>>2]=f>>>0<d>>>0?e+1|0:e;F[g+1824>>2]=d-w;F[g+1828>>2]=q-((d>>>0<w>>>0)+O|0);e=Ha+Za|0;d=S+Ga|0;e=d>>>0<S>>>0?e+1|0:e;q=qe(Ga,Ha,18,0);d=q+d|0;f=$+e|0;f=d>>>0<q>>>0?f+1|0:f;e=d;d=n>>26;n=(n&67108863)<<6|N>>>26;e=e+n|0;d=d+f|0;q=e;d=e>>>0<n>>>0?d+1|0:d;w=d;e=d;f=d>>31>>>7|0;d=q+f|0;O=d;e=d>>>0<f>>>0?e+1|0:e;n=e;f=d&-33554432;d=w-((f>>>0>q>>>0)+e|0)|0;q=q-f|0;w=d;d=oa+Ra|0;f=B+ia|0;d=f>>>0<B>>>0?d+1|0:d;B=qe(ia,oa,18,0);e=B+f|0;f=$+d|0;f=e>>>0<B>>>0?f+1|0:f;d=e;e=m>>26;m=(m&67108863)<<6|U>>>26;d=d+m|0;e=e+f|0;f=d;B=d;e=d>>>0<m>>>0?e+1|0:e;S=e;d=e;e=d>>31>>>7|0;f=e+f|0;I=f;d=e>>>0>f>>>0?d+1|0:d;m=d;e=f&-33554432;f=B-e|0;N=f+q|0;d=S-((e>>>0>B>>>0)+d|0)|0;e=d+w|0;F[g+1992>>2]=N;F[g+1996>>2]=N>>>0<f>>>0?e+1|0:e;F[g+1832>>2]=f-q;F[g+1836>>2]=d-((f>>>0<q>>>0)+w|0);d=Fa+Ya|0;f=K+Ea|0;d=f>>>0<K>>>0?d+1|0:d;B=qe(Ea,Fa,18,0);f=B+f|0;e=$+d|0;e=f>>>0<B>>>0?e+1|0:e;d=f;f=n>>25;B=(n&33554431)<<7|O>>>25;n=d+B|0;d=e+f|0;d=n>>>0<B>>>0?d+1|0:d;f=n;B=f;q=d;e=d;f=d>>31>>>6|0;d=n+f|0;K=d;e=d>>>0<f>>>0?e+1|0:e;n=e;f=d&-67108864;d=q-((f>>>0>B>>>0)+e|0)|0;B=B-f|0;q=d;f=ma+Qa|0;d=v+la|0;f=d>>>0<v>>>0?f+1|0:f;v=qe(la,ma,18,0);d=v+d|0;e=$+f|0;e=d>>>0<v>>>0?e+1|0:e;f=d;d=m>>25;m=(m&33554431)<<7|I>>>25;f=f+m|0;e=d+e|0;e=f>>>0<m>>>0?e+1|0:e;v=f;w=e;d=e;e=d>>31>>>6|0;f=e+f|0;S=f;d=e>>>0>f>>>0?d+1|0:d;m=d;O=f&-67108864;f=v-O|0;e=B+f|0;v=w-((v>>>0<O>>>0)+d|0)|0;d=v+q|0;F[g+2e3>>2]=e;F[g+2004>>2]=e>>>0<f>>>0?d+1|0:d;F[g+1840>>2]=f-B;F[g+1844>>2]=v-((f>>>0<B>>>0)+q|0);d=Da+Xa|0;f=R+Ca|0;d=f>>>0<R>>>0?d+1|0:d;v=qe(Ca,Da,18,0);f=v+f|0;e=$+d|0;e=f>>>0<v>>>0?e+1|0:e;d=e;e=n>>26;v=(n&67108863)<<6|K>>>26;n=v+f|0;f=d+e|0;f=n>>>0<v>>>0?f+1|0:f;e=n;v=e;B=f;d=f;e=d>>31>>>7|0;f=n+e|0;w=f;d=e>>>0>f>>>0?d+1|0:d;n=d;f=f&-33554432;d=B-((f>>>0>v>>>0)+d|0)|0;v=v-f|0;B=d;e=ka+Pa|0;d=C+fa|0;e=d>>>0<C>>>0?e+1|0:e;f=qe(fa,ka,18,0);d=f+d|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=m>>26;m=(m&67108863)<<6|S>>>26;f=f+m|0;d=d+e|0;e=f;C=e;d=e>>>0<m>>>0?d+1|0:d;q=d;f=d;e=d>>31>>>7|0;d=C+e|0;R=d;f=d>>>0<e>>>0?f+1|0:f;m=f;d=d&-33554432;e=C-d|0;K=e+v|0;f=q-((d>>>0>C>>>0)+f|0)|0;d=f+B|0;F[g+2008>>2]=K;F[g+2012>>2]=K>>>0<e>>>0?d+1|0:d;F[g+1848>>2]=e-v;F[g+1852>>2]=f-((e>>>0<v>>>0)+B|0);f=Ba+Wa|0;d=T+Aa|0;f=d>>>0<T>>>0?f+1|0:f;C=qe(Aa,Ba,18,0);e=C+d|0;d=$+f|0;d=e>>>0<C>>>0?d+1|0:d;f=e;e=n>>25;n=(n&33554431)<<7|w>>>25;f=f+n|0;e=d+e|0;e=f>>>0<n>>>0?e+1|0:e;C=f;v=e;d=e;e=d>>31>>>6|0;f=e+f|0;q=f;d=e>>>0>f>>>0?d+1|0:d;n=d;f=f&-67108864;d=v-((f>>>0>C>>>0)+d|0)|0;C=C-f|0;v=d;e=ha+Oa|0;d=y+ea|0;e=d>>>0<y>>>0?e+1|0:e;y=qe(ea,ha,18,0);f=y+d|0;d=$+e|0;d=f>>>0<y>>>0?d+1|0:d;e=f;f=m>>25;m=(m&33554431)<<7|R>>>25;e=e+m|0;d=d+f|0;y=e;d=e>>>0<m>>>0?d+1|0:d;B=d;e=d;f=d>>31>>>6|0;d=y+f|0;w=d;e=d>>>0<f>>>0?e+1|0:e;m=e;f=d&-67108864;d=y-f|0;T=d+C|0;e=B-((f>>>0>y>>>0)+e|0)|0;f=e+v|0;F[g+2016>>2]=T;F[g+2020>>2]=d>>>0>T>>>0?f+1|0:f;F[g+1856>>2]=d-C;F[g+1860>>2]=e-((d>>>0<C>>>0)+v|0);f=g;t=(n&67108863)<<6|q>>>26;d=t+Va|0;e=(n>>26)+M|0;e=d>>>0<t>>>0?e+1|0:e;n=d;y=e;d=e;t=d>>31>>>7|0;e=n+t|0;v=e;d=e>>>0<t>>>0?d+1|0:d;t=d;e=e&-33554432;d=y-((e>>>0>n>>>0)+d|0)|0;y=n-e|0;q=y;C=d;d=m>>26;m=(m&67108863)<<6|w>>>26;n=m+Na|0;e=d+A|0;e=m>>>0>n>>>0?e+1|0:e;m=n;A=e;d=e;n=d>>31>>>7|0;e=m+n|0;B=e;d=e>>>0<n>>>0?d+1|0:d;n=d;w=e&-33554432;e=m-w|0;q=e+q|0;m=A-((m>>>0<w>>>0)+d|0)|0;d=m+C|0;F[f+2024>>2]=q;F[f+2028>>2]=q>>>0<e>>>0?d+1|0:d;F[f+1864>>2]=e-y;F[f+1868>>2]=m-((e>>>0<y>>>0)+C|0);d=u&-33554432;e=c-d|0;y=X-((c>>>0<d>>>0)+Y|0)|0;f=t>>25;t=(t&33554431)<<7|v>>>25;d=o&-67108864;o=b-d|0;c=t+o|0;d=(V-((b>>>0<d>>>0)+E|0)|0)+f|0;d=c>>>0<o>>>0?d+1|0:d;b=c;c=qe(t,f,18,0);b=b+c|0;d=$+d|0;d=b>>>0<c>>>0?d+1|0:d;u=d;f=d;d=d>>31>>>6|0;c=d+b|0;o=c;f=c>>>0<d>>>0?f+1|0:f;A=f;d=f>>26;f=(f&67108863)<<6|c>>>26;c=f+e|0;e=d+y|0;t=c;e=c>>>0<f>>>0?e+1|0:e;y=e;c=p&-33554432;p=z-c|0;v=ba-((c>>>0>z>>>0)+ca|0)|0;e=n>>25;z=(n&33554431)<<7|B>>>25;d=x&-67108864;n=l-d|0;c=z+n|0;d=(Z-((d>>>0>l>>>0)+aa|0)|0)+e|0;d=c>>>0<n>>>0?d+1|0:d;e=qe(z,e,18,0);c=e+c|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;z=d;e=d;l=d>>31>>>6|0;d=l+c|0;e=d>>>0<l>>>0?e+1|0:e;l=d;n=e;d=e>>26;x=(e&67108863)<<6|l>>>26;e=x+p|0;f=d+v|0;f=e>>>0<x>>>0?f+1|0:f;p=t+e|0;x=f;d=f+y|0;F[g+1960>>2]=p;F[g+1964>>2]=p>>>0<e>>>0?d+1|0:d;f=o&-67108864;m=b-f|0;p=l&-67108864;l=c-p|0;o=m+l|0;b=u-((b>>>0<f>>>0)+A|0)|0;c=z-((c>>>0<p>>>0)+n|0)|0;f=b+c|0;d=g;F[d+1952>>2]=o;F[d+1956>>2]=o>>>0<l>>>0?f+1|0:f;F[d+1800>>2]=e-t;F[d+1804>>2]=x-((e>>>0<t>>>0)+y|0);F[d+1792>>2]=l-m;F[d+1796>>2]=c-((l>>>0<m>>>0)+b|0);P=d+1472|0;ga(P,xa);b=d+1632|0;ga(b,da);sa(da,b,d+112|0);m=F[d+1856>>2];Z=F[d+1860>>2];M=F[d+1936>>2];T=F[d+1940>>2];o=F[d+1848>>2];aa=F[d+1852>>2];R=F[d+1928>>2];K=F[d+1932>>2];u=F[d+1840>>2];ba=F[d+1844>>2];S=F[d+1920>>2];O=F[d+1924>>2];x=F[d+1832>>2];ca=F[d+1836>>2];I=F[d+1912>>2];V=F[d+1916>>2];p=F[d+1824>>2];W=F[d+1828>>2];E=F[d+1904>>2];X=F[d+1908>>2];A=F[d+1816>>2];ea=F[d+1820>>2];Y=F[d+1896>>2];N=F[d+1900>>2];b=F[d+1808>>2];d=F[d+1812>>2];f=F[g+1888>>2];e=F[g+1892>>2];c=F[g+1800>>2];B=F[g+1804>>2];t=F[g+1880>>2];n=F[g+1884>>2];l=F[g+1792>>2];q=F[g+1796>>2];C=F[g+1872>>2];v=F[g+1876>>2];F[g+1872>>2]=0;F[g+1876>>2]=0;d=d+e|0;y=b+f|0;d=y>>>0<b>>>0?d+1|0:d;f=qe(f,e,18,0);b=f+y|0;e=$+d|0;w=b;y=b>>>0<f>>>0?e+1|0:e;f=n+B|0;b=c+t|0;f=b>>>0<c>>>0?f+1|0:f;c=qe(t,n,18,0);b=c+b|0;d=$+f|0;f=b;c=f>>>0<c>>>0?d+1|0:d;e=q+v|0;b=l+C|0;e=b>>>0<l>>>0?e+1|0:e;l=qe(C,v,18,0);b=l+b|0;d=$+e|0;d=b>>>0<l>>>0?d+1|0:d;C=d;e=d;l=d>>31>>>6|0;d=l+b|0;t=d;e=d>>>0<l>>>0?e+1|0:e;v=e;d=e>>26;l=(e&67108863)<<6|t>>>26;e=l+f|0;f=c+d|0;c=e;f=e>>>0<l>>>0?f+1|0:f;B=f;e=f;f=e>>31>>>7|0;d=f+c|0;n=d;e=d>>>0<f>>>0?e+1|0:e;q=e;f=e>>25;l=(e&33554431)<<7|d>>>25;e=l+w|0;d=f+y|0;d=e>>>0<l>>>0?d+1|0:d;y=e;w=d;l=d>>31>>>6|0;e=l+e|0;U=e;d=e>>>0<l>>>0?d+1|0:d;l=d;f=e&-67108864;F[g+1808>>2]=y-f;F[g+1812>>2]=w-((f>>>0>y>>>0)+d|0);f=N+ea|0;d=A+Y|0;f=d>>>0<A>>>0?f+1|0:f;A=qe(Y,N,18,0);d=A+d|0;e=$+f|0;f=d;d=d>>>0<A>>>0?e+1|0:e;e=l>>26;l=(l&67108863)<<6|U>>>26;f=l+f|0;d=d+e|0;d=f>>>0<l>>>0?d+1|0:d;e=f;l=e;A=d;y=d>>31>>>7|0;e=y+e|0;d=e>>>0<y>>>0?d+1|0:d;y=e;f=d;e=e&-33554432;F[g+1816>>2]=l-e;F[g+1820>>2]=A-((e>>>0>l>>>0)+d|0);e=W+X|0;d=p+E|0;e=d>>>0<p>>>0?e+1|0:e;l=qe(E,X,18,0);d=l+d|0;e=$+e|0;e=d>>>0<l>>>0?e+1|0:e;l=d;d=f;f=d>>25;p=(d&33554431)<<7|y>>>25;l=l+p|0;d=e+f|0;d=l>>>0<p>>>0?d+1|0:d;e=l;p=e;A=d;l=d>>31>>>6|0;e=l+e|0;y=e;d=e>>>0<l>>>0?d+1|0:d;l=d;f=e&-67108864;F[g+1824>>2]=p-f;F[g+1828>>2]=A-((f>>>0>p>>>0)+d|0);f=V+ca|0;d=x+I|0;f=d>>>0<x>>>0?f+1|0:f;x=qe(I,V,18,0);d=x+d|0;e=$+f|0;f=d;d=d>>>0<x>>>0?e+1|0:e;e=l>>26;l=(l&67108863)<<6|y>>>26;f=l+f|0;d=d+e|0;d=f>>>0<l>>>0?d+1|0:d;e=f;l=e;x=d;p=d>>31>>>7|0;e=p+e|0;d=e>>>0<p>>>0?d+1|0:d;p=e;f=d;e=e&-33554432;F[g+1832>>2]=l-e;F[g+1836>>2]=x-((e>>>0>l>>>0)+d|0);e=O+ba|0;d=u+S|0;e=d>>>0<u>>>0?e+1|0:e;l=qe(S,O,18,0);d=l+d|0;e=$+e|0;e=d>>>0<l>>>0?e+1|0:e;l=d;d=f;f=d>>25;u=(d&33554431)<<7|p>>>25;l=l+u|0;d=e+f|0;d=l>>>0<u>>>0?d+1|0:d;e=l;u=e;x=d;l=d>>31>>>6|0;e=l+e|0;p=e;d=e>>>0<l>>>0?d+1|0:d;l=d;f=e&-67108864;F[g+1840>>2]=u-f;F[g+1844>>2]=x-((f>>>0>u>>>0)+d|0);f=K+aa|0;d=o+R|0;f=d>>>0<o>>>0?f+1|0:f;o=qe(R,K,18,0);d=o+d|0;e=$+f|0;f=d;d=d>>>0<o>>>0?e+1|0:e;e=l>>26;l=(l&67108863)<<6|p>>>26;f=l+f|0;d=d+e|0;d=f>>>0<l>>>0?d+1|0:d;e=f;l=e;o=d;u=d>>31>>>7|0;e=u+e|0;d=e>>>0<u>>>0?d+1|0:d;u=e;f=d;e=e&-33554432;F[g+1848>>2]=l-e;F[g+1852>>2]=o-((e>>>0>l>>>0)+d|0);e=T+Z|0;d=m+M|0;e=d>>>0<m>>>0?e+1|0:e;z=qe(M,T,18,0);d=z+d|0;e=$+e|0;e=d>>>0<z>>>0?e+1|0:e;l=d;d=f;f=d>>25;m=(d&33554431)<<7|u>>>25;z=l+m|0;d=e+f|0;f=z;d=m>>>0>f>>>0?d+1|0:d;z=d;m=f;o=d>>31>>>6|0;f=o+f|0;d=f>>>0<o>>>0?d+1|0:d;e=f&-67108864;F[g+1856>>2]=m-e;F[g+1860>>2]=z-((e>>>0>m>>>0)+d|0);e=d>>26;m=(d&67108863)<<6|f>>>26;d=m+F[g+1864>>2]|0;f=e+F[g+1868>>2]|0;f=d>>>0<m>>>0?f+1|0:f;z=f;m=d;e=f;f=e>>31>>>7|0;d=f+d|0;e=d>>>0<f>>>0?e+1|0:e;f=d&-33554432;F[g+1864>>2]=m-f;F[g+1868>>2]=z-((f>>>0>m>>>0)+e|0);f=n&-33554432;n=c-f|0;m=B-((c>>>0<f>>>0)+q|0)|0;c=d;d=e>>25;e=(e&33554431)<<7|c>>>25;f=t&-67108864;z=b-f|0;c=e+z|0;f=(C-((b>>>0<f>>>0)+v|0)|0)+d|0;f=c>>>0<z>>>0?f+1|0:f;b=c;c=qe(e,d,18,0);b=b+c|0;e=$+f|0;e=b>>>0<c>>>0?e+1|0:e;f=e;d=e;e=d>>31>>>6|0;c=e+b|0;d=c>>>0<e>>>0?d+1|0:d;z=d;e=d>>26;t=(d&67108863)<<6|c>>>26;d=t+n|0;e=e+m|0;F[g+1800>>2]=d;F[g+1804>>2]=d>>>0<t>>>0?e+1|0:e;c=c&-67108864;F[g+1792>>2]=b-c;F[g+1796>>2]=f-((b>>>0<c>>>0)+z|0);t=ja(J,P,80);z=k;E=ja(k,da,80);c=g+2272|0;ga(c,s);X=g+2112|0;ga(X,i);b=r;sa(b,c,X);o=F[b+64>>2];aa=F[b+68>>2];M=F[b+144>>2];T=F[b+148>>2];u=F[b+56>>2];ba=F[b+60>>2];R=F[b+136>>2];K=F[b+140>>2];x=F[b+48>>2];ca=F[b+52>>2];S=F[b+128>>2];O=F[b+132>>2];p=F[b+40>>2];W=F[b+44>>2];I=F[b+120>>2];V=F[b+124>>2];J=F[b+32>>2];da=F[b+36>>2];Y=F[b+112>>2];N=F[b+116>>2];A=F[b+24>>2];ea=F[b+28>>2];U=F[b+104>>2];P=F[b+108>>2];c=F[b+16>>2];d=F[b+20>>2];e=F[b+96>>2];l=F[b+100>>2];f=F[b+8>>2];B=F[b+12>>2];n=F[b+88>>2];m=F[b+92>>2];k=F[b>>2];q=F[b+4>>2];y=F[b+80>>2];C=F[b+84>>2];F[b+80>>2]=0;F[b+84>>2]=0;d=d+l|0;v=c+e|0;d=v>>>0<c>>>0?d+1|0:d;l=qe(e,l,18,0);c=l+v|0;e=$+d|0;w=c;l=c>>>0<l>>>0?e+1|0:e;e=m+B|0;c=f+n|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(n,m,18,0);c=f+c|0;d=$+e|0;v=c;m=c>>>0<f>>>0?d+1|0:d;f=q+C|0;c=k+y|0;f=c>>>0<k>>>0?f+1|0:f;e=qe(y,C,18,0);c=e+c|0;d=$+f|0;d=c>>>0<e>>>0?d+1|0:d;y=d;e=d;f=d>>31>>>6|0;d=f+c|0;n=d;e=d>>>0<f>>>0?e+1|0:e;C=e;k=(e&67108863)<<6|d>>>26;f=k+v|0;e=(e>>26)+m|0;e=f>>>0<k>>>0?e+1|0:e;k=f;v=e;f=e;e=e>>31>>>7|0;d=e+k|0;m=d;f=d>>>0<e>>>0?f+1|0:f;B=f;e=f>>25;q=(f&33554431)<<7|d>>>25;f=q+w|0;d=e+l|0;d=f>>>0<q>>>0?d+1|0:d;e=f;q=e;w=d;l=d>>31>>>6|0;e=l+e|0;Z=e;d=e>>>0<l>>>0?d+1|0:d;l=d;f=e&-67108864;F[b+16>>2]=q-f;F[b+20>>2]=w-((f>>>0>q>>>0)+d|0);e=P+ea|0;d=A+U|0;e=d>>>0<A>>>0?e+1|0:e;A=qe(U,P,18,0);d=A+d|0;f=$+e|0;f=d>>>0<A>>>0?f+1|0:f;e=l>>26;A=(l&67108863)<<6|Z>>>26;l=A+d|0;d=e+f|0;d=l>>>0<A>>>0?d+1|0:d;e=l;A=e;q=d;l=d>>31>>>7|0;e=l+e|0;w=e;d=e>>>0<l>>>0?d+1|0:d;l=d;f=e&-33554432;F[b+24>>2]=A-f;F[b+28>>2]=q-((f>>>0>A>>>0)+d|0);e=N+da|0;d=J+Y|0;e=d>>>0<J>>>0?e+1|0:e;J=qe(Y,N,18,0);d=J+d|0;f=$+e|0;f=d>>>0<J>>>0?f+1|0:f;e=l>>25;J=(l&33554431)<<7|w>>>25;l=J+d|0;d=e+f|0;d=l>>>0<J>>>0?d+1|0:d;e=l;J=e;A=d;l=d>>31>>>6|0;e=l+e|0;q=e;d=e>>>0<l>>>0?d+1|0:d;l=d;f=e&-67108864;F[b+32>>2]=J-f;F[b+36>>2]=A-((f>>>0>J>>>0)+d|0);e=W+V|0;d=p+I|0;e=d>>>0<p>>>0?e+1|0:e;p=qe(I,V,18,0);d=p+d|0;f=$+e|0;f=d>>>0<p>>>0?f+1|0:f;e=l>>26;p=(l&67108863)<<6|q>>>26;l=p+d|0;d=e+f|0;d=l>>>0<p>>>0?d+1|0:d;e=l;p=e;J=d;l=d>>31>>>7|0;e=l+e|0;A=e;d=e>>>0<l>>>0?d+1|0:d;l=d;f=e&-33554432;F[b+40>>2]=p-f;F[b+44>>2]=J-((f>>>0>p>>>0)+d|0);e=O+ca|0;d=x+S|0;e=d>>>0<x>>>0?e+1|0:e;x=qe(S,O,18,0);d=x+d|0;f=$+e|0;f=d>>>0<x>>>0?f+1|0:f;e=l>>25;x=(l&33554431)<<7|A>>>25;l=x+d|0;d=e+f|0;d=l>>>0<x>>>0?d+1|0:d;e=l;x=e;p=d;l=d>>31>>>6|0;e=l+e|0;J=e;d=e>>>0<l>>>0?d+1|0:d;l=d;f=e&-67108864;F[b+48>>2]=x-f;F[b+52>>2]=p-((f>>>0>x>>>0)+d|0);e=K+ba|0;d=u+R|0;e=d>>>0<u>>>0?e+1|0:e;u=qe(R,K,18,0);d=u+d|0;f=$+e|0;f=d>>>0<u>>>0?f+1|0:f;e=l>>26;u=(l&67108863)<<6|J>>>26;l=u+d|0;d=e+f|0;d=l>>>0<u>>>0?d+1|0:d;e=l;u=e;x=d;l=d>>31>>>7|0;e=l+e|0;p=e;d=e>>>0<l>>>0?d+1|0:d;l=d;f=e&-33554432;F[b+56>>2]=u-f;F[b+60>>2]=x-((f>>>0>u>>>0)+d|0);e=T+aa|0;d=o+M|0;e=d>>>0<o>>>0?e+1|0:e;o=qe(M,T,18,0);d=o+d|0;f=$+e|0;f=d>>>0<o>>>0?f+1|0:f;e=l>>25;o=(l&33554431)<<7|p>>>25;l=o+d|0;d=e+f|0;f=l;d=f>>>0<o>>>0?d+1|0:d;l=d;o=f;u=d>>31>>>6|0;f=u+f|0;d=f>>>0<u>>>0?d+1|0:d;e=f;f=e&-67108864;F[b+64>>2]=o-f;F[b+68>>2]=l-((f>>>0>o>>>0)+d|0);r=e;e=d>>26;r=(d&67108863)<<6|r>>>26;f=b;d=r+F[f+72>>2]|0;e=e+F[f+76>>2]|0;e=d>>>0<r>>>0?e+1|0:e;l=e;u=d;e=e>>31>>>7|0;d=e+d|0;f=l;f=d>>>0<e>>>0?f+1|0:f;e=d&-33554432;F[b+72>>2]=u-e;F[b+76>>2]=l-((e>>>0>u>>>0)+f|0);e=m&-33554432;m=k-e|0;o=v-((e>>>0>k>>>0)+B|0)|0;e=d;d=f>>25;k=(f&33554431)<<7|e>>>25;e=n&-67108864;r=c-e|0;f=k+r|0;e=(y-((c>>>0<e>>>0)+C|0)|0)+d|0;d=qe(k,d,18,0);c=d+f|0;e=$+(f>>>0<r>>>0?e+1|0:e)|0;e=c>>>0<d>>>0?e+1|0:e;r=e;d=e;e=d>>31>>>6|0;f=e+c|0;k=f;d=e>>>0>f>>>0?d+1|0:d;n=d;l=m;e=d>>26;m=(d&67108863)<<6|f>>>26;d=l+m|0;f=e+o|0;F[b+8>>2]=d;F[b+12>>2]=d>>>0<m>>>0?f+1|0:f;d=k&-67108864;F[b>>2]=c-d;F[b+4>>2]=r-((c>>>0<d>>>0)+n|0);m=F[g+2316>>2];ca=F[g+2312>>2];d=ca;f=F[g+2152>>2];c=m-(F[g+2156>>2]+(d>>>0<f>>>0)|0)|0;Y=d-f|0;o=c;F[g+2152>>2]=Y;F[g+2156>>2]=c;u=F[g+2308>>2];W=F[g+2304>>2];d=W;f=F[g+2144>>2];c=u-(F[g+2148>>2]+(d>>>0<f>>>0)|0)|0;N=d-f|0;x=c;F[g+2144>>2]=N;F[g+2148>>2]=c;p=F[g+2300>>2];da=F[g+2296>>2];d=da;f=F[g+2136>>2];c=p-(F[g+2140>>2]+(d>>>0<f>>>0)|0)|0;U=d-f|0;J=c;F[g+2136>>2]=U;F[g+2140>>2]=c;d=F[g+2292>>2];f=F[g+2288>>2];k=F[g+2128>>2];e=d-(F[g+2132>>2]+(f>>>0<k>>>0)|0)|0;n=f-k|0;F[g+2128>>2]=n;F[g+2132>>2]=e;ea=F[g+2284>>2];A=F[g+2280>>2];c=A;k=F[g+2120>>2];l=ea-(F[g+2124>>2]+(c>>>0<k>>>0)|0)|0;O=c-k|0;F[g+2120>>2]=O;F[g+2124>>2]=l;ha=F[g+2276>>2];y=F[g+2272>>2];c=y;k=F[g+2112>>2];r=ha-(F[g+2116>>2]+(c>>>0<k>>>0)|0)|0;I=c-k|0;F[g+2112>>2]=I;F[g+2116>>2]=r;C=F[g+2324>>2];fa=F[g+2320>>2];k=fa;v=F[g+2160>>2];c=C-(F[g+2164>>2]+(k>>>0<v>>>0)|0)|0;P=k-v|0;v=c;F[g+2160>>2]=P;F[g+2164>>2]=c;B=F[g+2332>>2];ka=F[g+2328>>2];k=ka;q=F[g+2168>>2];c=B-(F[g+2172>>2]+(k>>>0<q>>>0)|0)|0;Z=k-q|0;q=c;F[g+2168>>2]=Z;F[g+2172>>2]=c;w=F[g+2340>>2];la=F[g+2336>>2];k=la;M=F[g+2176>>2];c=w-(F[g+2180>>2]+(k>>>0<M>>>0)|0)|0;aa=k-M|0;M=c;F[g+2176>>2]=aa;F[g+2180>>2]=c;T=F[g+2348>>2];ma=F[g+2344>>2];k=ma;R=F[g+2184>>2];c=T-(F[g+2188>>2]+(k>>>0<R>>>0)|0)|0;ba=k-R|0;R=c;F[g+2184>>2]=ba;F[g+2188>>2]=c;ra(Ma,0,72);F[g+2512>>2]=0;F[g+2516>>2]=0;K=f;S=d;ia=qe(n,e,121665,0);oa=$;e=qe(O,l,121665,0);l=$;c=qe(I,r,121665,0);f=$;pa=f;d=f;r=d>>31>>>6|0;f=r+c|0;d=f>>>0<r>>>0?d+1|0:d;r=f;O=d;n=e;e=d>>26;f=(d&67108863)<<6|f>>>26;d=n+f|0;e=e+l|0;l=d;e=d>>>0<f>>>0?e+1|0:e;I=e;d=e;e=d>>31>>>7|0;f=e+l|0;n=f;d=e>>>0>f>>>0?d+1|0:d;V=d;k=K;e=d>>25;K=(d&33554431)<<7|f>>>25;d=K+ia|0;f=e+oa|0;f=d>>>0<K>>>0?f+1|0:f;K=k+d|0;e=f+S|0;e=K>>>0<d>>>0?e+1|0:e;S=f;ia=f>>31>>>6|0;f=ia+d|0;d=S;d=f>>>0<ia>>>0?d+1|0:d;S=f;f=f&-67108864;F[g+2448>>2]=K-f;F[g+2452>>2]=e-((f>>>0>K>>>0)+d|0);f=d;d=d>>26;K=(f&67108863)<<6|S>>>26;e=qe(U,J,121665,0)+K|0;f=d+$|0;f=e>>>0<K>>>0?f+1|0:f;d=e;J=d+da|0;e=f+p|0;p=J;J=d>>>0>p>>>0?e+1|0:e;e=f;f=e>>31>>>7|0;d=f+d|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=d&-33554432;F[g+2456>>2]=p-d;F[g+2460>>2]=J-((d>>>0>p>>>0)+e|0);d=e;e=d>>25;p=(d&33554431)<<7|f>>>25;d=qe(N,x,121665,0)+p|0;f=e+$|0;f=d>>>0<p>>>0?f+1|0:f;e=d;x=d+W|0;d=f+u|0;d=e>>>0>x>>>0?d+1|0:d;u=x;x=f;p=f>>31>>>6|0;f=p+e|0;e=x;e=f>>>0<p>>>0?e+1|0:e;x=f;f=f&-67108864;F[g+2464>>2]=u-f;F[g+2468>>2]=d-((f>>>0>u>>>0)+e|0);d=g;f=e;e=e>>26;u=(f&67108863)<<6|x>>>26;k=qe(Y,o,121665,0)+u|0;f=e+$|0;f=k>>>0<u>>>0?f+1|0:f;o=k+ca|0;e=f+m|0;e=o>>>0<k>>>0?e+1|0:e;m=o;o=f;d=k;k=f>>31>>>7|0;f=d+k|0;d=o;d=f>>>0<k>>>0?d+1|0:d;o=f;f=f&-33554432;F[g+2472>>2]=m-f;F[g+2476>>2]=e-((f>>>0>m>>>0)+d|0);f=d;d=d>>25;o=(f&33554431)<<7|o>>>25;e=qe(P,v,121665,0)+o|0;f=d+$|0;f=e>>>0<o>>>0?f+1|0:f;d=e;m=d+fa|0;e=f+C|0;e=m>>>0<d>>>0?e+1|0:e;o=e;e=f;f=e>>31>>>6|0;d=f+d|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=d&-67108864;F[g+2480>>2]=m-d;F[g+2484>>2]=o-((d>>>0>m>>>0)+e|0);d=e;e=d>>26;o=(d&67108863)<<6|f>>>26;d=qe(Z,q,121665,0)+o|0;f=e+$|0;f=d>>>0<o>>>0?f+1|0:f;e=d;m=d+ka|0;d=f+B|0;d=m>>>0<e>>>0?d+1|0:d;o=f;u=f>>31>>>7|0;f=u+e|0;e=o;e=f>>>0<u>>>0?e+1|0:e;o=f;f=f&-33554432;F[g+2488>>2]=m-f;F[g+2492>>2]=d-((f>>>0>m>>>0)+e|0);d=g;f=e;e=e>>25;o=(f&33554431)<<7|o>>>25;k=qe(aa,M,121665,0)+o|0;f=e+$|0;f=k>>>0<o>>>0?f+1|0:f;m=k+la|0;e=f+w|0;e=m>>>0<k>>>0?e+1|0:e;o=f;d=k;k=f>>31>>>6|0;f=d+k|0;d=o;d=f>>>0<k>>>0?d+1|0:d;o=f;f=f&-67108864;F[g+2496>>2]=m-f;F[g+2500>>2]=e-((f>>>0>m>>>0)+d|0);f=d;d=d>>26;o=(f&67108863)<<6|o>>>26;e=qe(ba,R,121665,0)+o|0;f=d+$|0;f=e>>>0<o>>>0?f+1|0:f;d=e;m=d+ma|0;e=f+T|0;e=m>>>0<d>>>0?e+1|0:e;o=e;e=f;f=e>>31>>>7|0;d=f+d|0;u=d;e=d>>>0<f>>>0?e+1|0:e;d=e;f=u&-33554432;F[g+2504>>2]=m-f;F[g+2508>>2]=o-((f>>>0>m>>>0)+d|0);e=g;f=I+ea|0;k=l+A|0;f=k>>>0<A>>>0?f+1|0:f;l=n&-33554432;m=k-l|0;o=f-((k>>>0<l>>>0)+V|0)|0;f=d>>25;l=(d&33554431)<<7|u>>>25;d=r&-67108864;r=c-d|0;k=l+r|0;d=(pa-((c>>>0<d>>>0)+O|0)|0)+f|0;f=qe(l,f,18,0);c=f+k|0;d=$+(k>>>0<r>>>0?d+1|0:d)|0;d=c>>>0<f>>>0?d+1|0:d;l=d;f=d;k=d>>31>>>6|0;d=k+c|0;f=d>>>0<k>>>0?f+1|0:f;k=d;r=f;e=m;d=f>>26;m=(f&67108863)<<6|k>>>26;f=e+m|0;e=d+o|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0<m>>>0?e+1|0:e;d=l+ha|0;c=c+y|0;d=c>>>0<y>>>0?d+1|0:d;f=g;e=k&-67108864;F[f+2432>>2]=c-e;F[f+2436>>2]=d-((c>>>0<e>>>0)+r|0);c=Q;sa(c,X,f+2432|0);o=F[c+64>>2];Z=F[c+68>>2];M=F[c+144>>2];T=F[c+148>>2];u=F[c+56>>2];aa=F[c+60>>2];R=F[c+136>>2];K=F[c+140>>2];x=F[c+48>>2];ba=F[c+52>>2];S=F[c+128>>2];O=F[c+132>>2];p=F[c+40>>2];ca=F[c+44>>2];I=F[c+120>>2];V=F[c+124>>2];J=F[c+32>>2];W=F[c+36>>2];X=F[c+112>>2];Y=F[c+116>>2];A=F[c+24>>2];da=F[c+28>>2];N=F[c+104>>2];U=F[c+108>>2];d=F[c+16>>2];f=F[c+20>>2];e=F[c+96>>2];r=F[c+100>>2];k=F[c+8>>2];B=F[c+12>>2];n=F[c+88>>2];m=F[c+92>>2];l=F[c>>2];q=F[c+4>>2];y=F[c+80>>2];C=F[c+84>>2];F[c+80>>2]=0;F[c+84>>2]=0;f=f+r|0;v=d+e|0;f=v>>>0<d>>>0?f+1|0:f;r=qe(e,r,18,0);d=r+v|0;e=$+f|0;w=d;r=d>>>0<r>>>0?e+1|0:e;d=m+B|0;f=k+n|0;d=f>>>0<k>>>0?d+1|0:d;e=qe(n,m,18,0);f=e+f|0;d=$+d|0;d=e>>>0>f>>>0?d+1|0:d;m=f;e=q+C|0;f=l+y|0;e=f>>>0<l>>>0?e+1|0:e;l=qe(y,C,18,0);k=l+f|0;f=$+e|0;f=k>>>0<l>>>0?f+1|0:f;y=f;e=f;l=e>>31>>>6|0;f=l+k|0;n=f;e=f>>>0<l>>>0?e+1|0:e;C=e;f=e>>26;l=(e&67108863)<<6|n>>>26;e=l+m|0;d=d+f|0;d=e>>>0<l>>>0?d+1|0:d;l=e;v=d;e=d;f=d>>31>>>7|0;d=f+l|0;m=d;e=d>>>0<f>>>0?e+1|0:e;B=e;d=e>>25;e=(e&33554431)<<7|m>>>25;f=e+w|0;d=d+r|0;d=e>>>0>f>>>0?d+1|0:d;e=f;q=e;w=d;f=d;e=d>>31>>>6|0;d=q+e|0;P=d;f=d>>>0<e>>>0?f+1|0:f;r=f;d=d&-67108864;F[c+16>>2]=q-d;F[c+20>>2]=w-((d>>>0>q>>>0)+f|0);d=U+da|0;f=A+N|0;d=f>>>0<A>>>0?d+1|0:d;A=qe(N,U,18,0);f=A+f|0;e=$+d|0;e=f>>>0<A>>>0?e+1|0:e;d=e;e=r>>26;A=(r&67108863)<<6|P>>>26;r=A+f|0;f=d+e|0;f=r>>>0<A>>>0?f+1|0:f;e=r;r=e;A=f;d=f;e=d>>31>>>7|0;f=r+e|0;q=f;d=e>>>0>f>>>0?d+1|0:d;f=d;e=q&-33554432;F[c+24>>2]=r-e;F[c+28>>2]=A-((e>>>0>r>>>0)+d|0);e=W+Y|0;d=J+X|0;e=d>>>0<J>>>0?e+1|0:e;r=qe(X,Y,18,0);d=r+d|0;e=$+e|0;e=d>>>0<r>>>0?e+1|0:e;w=d;d=f>>25;r=(f&33554431)<<7|q>>>25;f=w+r|0;d=d+e|0;e=f;J=e;d=e>>>0<r>>>0?d+1|0:d;A=d;f=d;e=d>>31>>>6|0;d=J+e|0;q=d;f=d>>>0<e>>>0?f+1|0:f;r=f;d=d&-67108864;F[c+32>>2]=J-d;F[c+36>>2]=A-((d>>>0>J>>>0)+f|0);d=V+ca|0;f=p+I|0;d=f>>>0<p>>>0?d+1|0:d;p=qe(I,V,18,0);f=p+f|0;e=$+d|0;e=f>>>0<p>>>0?e+1|0:e;d=e;e=r>>26;p=(r&67108863)<<6|q>>>26;r=p+f|0;f=d+e|0;f=r>>>0<p>>>0?f+1|0:f;e=r;r=e;p=f;d=f;e=d>>31>>>7|0;f=r+e|0;J=f;d=e>>>0>f>>>0?d+1|0:d;f=d;e=J&-33554432;F[c+40>>2]=r-e;F[c+44>>2]=p-((e>>>0>r>>>0)+d|0);e=O+ba|0;d=x+S|0;e=d>>>0<x>>>0?e+1|0:e;r=qe(S,O,18,0);d=r+d|0;e=$+e|0;e=d>>>0<r>>>0?e+1|0:e;q=d;d=f>>25;r=(f&33554431)<<7|J>>>25;f=q+r|0;d=d+e|0;e=f;x=e;d=e>>>0<r>>>0?d+1|0:d;p=d;f=d;e=d>>31>>>6|0;d=x+e|0;J=d;f=d>>>0<e>>>0?f+1|0:f;r=f;d=d&-67108864;F[c+48>>2]=x-d;F[c+52>>2]=p-((d>>>0>x>>>0)+f|0);d=K+aa|0;f=u+R|0;d=f>>>0<u>>>0?d+1|0:d;u=qe(R,K,18,0);f=u+f|0;e=$+d|0;e=f>>>0<u>>>0?e+1|0:e;d=e;e=r>>26;u=(r&67108863)<<6|J>>>26;r=u+f|0;f=d+e|0;f=r>>>0<u>>>0?f+1|0:f;e=r;r=e;u=f;d=f;e=d>>31>>>7|0;f=r+e|0;x=f;d=e>>>0>f>>>0?d+1|0:d;f=d;e=x&-33554432;F[c+56>>2]=r-e;F[c+60>>2]=u-((e>>>0>r>>>0)+d|0);e=T+Z|0;d=o+M|0;e=d>>>0<o>>>0?e+1|0:e;Q=qe(M,T,18,0);d=Q+d|0;e=$+e|0;e=d>>>0<Q>>>0?e+1|0:e;o=d;d=f>>25;Q=(f&33554431)<<7|x>>>25;f=o+Q|0;d=d+e|0;d=f>>>0<Q>>>0?d+1|0:d;Q=d;e=d;o=f;u=d>>31>>>6|0;d=u+f|0;f=d>>>0<u>>>0?e+1|0:e;e=d&-67108864;F[c+64>>2]=o-e;F[c+68>>2]=Q-((e>>>0>o>>>0)+f|0);e=f>>26;o=(f&67108863)<<6|d>>>26;f=o+F[c+72>>2]|0;d=e+F[c+76>>2]|0;d=f>>>0<o>>>0?d+1|0:d;Q=d;e=d;o=f;f=d>>31>>>7|0;d=o+f|0;e=d>>>0<f>>>0?e+1|0:e;f=d&-33554432;F[c+72>>2]=o-f;F[c+76>>2]=Q-((f>>>0>o>>>0)+e|0);f=m&-33554432;m=l-f|0;o=v-((f>>>0>l>>>0)+B|0)|0;f=d;d=e>>25;l=(e&33554431)<<7|f>>>25;Q=n&-67108864;n=k-Q|0;e=l+n|0;f=d;d=d+(y-((k>>>0<Q>>>0)+C|0)|0)|0;k=qe(l,f,18,0);f=k+e|0;e=$+(e>>>0<n>>>0?d+1|0:d)|0;e=f>>>0<k>>>0?e+1|0:e;l=e;d=e;k=d>>31>>>6|0;e=k+f|0;d=e>>>0<k>>>0?d+1|0:d;k=e;Q=d;e=d>>26;n=(d&67108863)<<6|k>>>26;d=n+m|0;e=e+o|0;F[c+8>>2]=d;F[c+12>>2]=d>>>0<n>>>0?e+1|0:e;d=k&-67108864;F[c>>2]=f-d;F[c+4>>2]=l-((d>>>0>f>>>0)+Q|0);f=F[t>>2];e=F[b>>2];d=H&(f^e);e=d^e;F[b>>2]=e;F[b+4>>2]=e>>31;d=d^f;F[t>>2]=d;F[t+4>>2]=d>>31;f=F[t+8>>2];e=F[b+8>>2];d=H&(f^e);e=d^e;F[b+8>>2]=e;F[b+12>>2]=e>>31;d=d^f;F[t+8>>2]=d;F[t+12>>2]=d>>31;f=F[t+16>>2];e=F[b+16>>2];d=H&(f^e);e=d^e;F[b+16>>2]=e;F[b+20>>2]=e>>31;d=d^f;F[t+16>>2]=d;F[t+20>>2]=d>>31;f=F[t+24>>2];e=F[b+24>>2];d=H&(f^e);e=d^e;F[b+24>>2]=e;F[b+28>>2]=e>>31;d=d^f;F[t+24>>2]=d;F[t+28>>2]=d>>31;f=F[t+32>>2];e=F[b+32>>2];d=H&(f^e);e=d^e;F[b+32>>2]=e;F[b+36>>2]=e>>31;d=d^f;F[t+32>>2]=d;F[t+36>>2]=d>>31;f=F[t+40>>2];e=F[b+40>>2];d=H&(f^e);e=d^e;F[b+40>>2]=e;F[b+44>>2]=e>>31;d=d^f;F[t+40>>2]=d;F[t+44>>2]=d>>31;f=F[t+48>>2];e=F[b+48>>2];d=H&(f^e);e=d^e;F[b+48>>2]=e;F[b+52>>2]=e>>31;d=d^f;F[t+48>>2]=d;F[t+52>>2]=d>>31;f=F[t+56>>2];e=F[b+56>>2];d=H&(f^e);e=d^e;F[b+56>>2]=e;F[b+60>>2]=e>>31;d=d^f;F[t+56>>2]=d;F[t+60>>2]=d>>31;f=F[t+64>>2];e=F[b+64>>2];d=H&(f^e);e=d^e;F[b+64>>2]=e;F[b+68>>2]=e>>31;d=d^f;F[t+64>>2]=d;F[t+68>>2]=d>>31;f=F[t+72>>2];e=F[b+72>>2];d=H&(f^e);e=d^e;F[b+72>>2]=e;F[b+76>>2]=e>>31;d=d^f;F[t+72>>2]=d;F[t+76>>2]=d>>31;f=F[E>>2];e=F[c>>2];d=H&(f^e);e=d^e;F[c>>2]=e;F[c+4>>2]=e>>31;d=d^f;F[E>>2]=d;F[E+4>>2]=d>>31;f=F[E+8>>2];e=F[c+8>>2];d=H&(f^e);e=d^e;F[c+8>>2]=e;F[c+12>>2]=e>>31;d=d^f;F[E+8>>2]=d;F[E+12>>2]=d>>31;f=F[E+16>>2];e=F[c+16>>2];d=H&(f^e);e=d^e;F[c+16>>2]=e;F[c+20>>2]=e>>31;d=d^f;F[E+16>>2]=d;F[E+20>>2]=d>>31;f=F[E+24>>2];e=F[c+24>>2];d=H&(f^e);e=d^e;F[c+24>>2]=e;F[c+28>>2]=e>>31;d=d^f;F[E+24>>2]=d;F[E+28>>2]=d>>31;f=F[E+32>>2];e=F[c+32>>2];d=H&(f^e);e=d^e;F[c+32>>2]=e;F[c+36>>2]=e>>31;d=d^f;F[E+32>>2]=d;F[E+36>>2]=d>>31;f=F[E+40>>2];e=F[c+40>>2];d=H&(f^e);e=d^e;F[c+40>>2]=e;F[c+44>>2]=e>>31;d=d^f;F[E+40>>2]=d;F[E+44>>2]=d>>31;f=F[E+48>>2];e=F[c+48>>2];d=H&(f^e);e=d^e;F[c+48>>2]=e;F[c+52>>2]=e>>31;d=d^f;F[E+48>>2]=d;F[E+52>>2]=d>>31;f=F[E+56>>2];e=F[c+56>>2];d=H&(f^e);e=d^e;F[c+56>>2]=e;F[c+60>>2]=e>>31;d=d^f;F[E+56>>2]=d;F[E+60>>2]=d>>31;f=F[E+64>>2];e=F[c+64>>2];d=H&(f^e);e=d^e;F[c+64>>2]=e;F[c+68>>2]=e>>31;d=d^f;F[E+64>>2]=d;F[E+68>>2]=d>>31;f=F[E+72>>2];e=F[c+72>>2];d=H&(f^e);e=d^e;F[c+72>>2]=e;F[c+76>>2]=e>>31;d=d^f;F[E+72>>2]=d;F[E+76>>2]=d>>31;ua=ua<<1;Q=i;r=s;k=h;va=va+1|0;if((va|0)!=8){continue}break}ta=ta+1|0;if((ta|0)!=32){continue}break}ja(g+32|0,b,80);b=g+2272|0;ja(b,c,80);h=g+2112|0;ga(h,b);j=g+672|0;ga(j,h);c=g+832|0;ga(c,j);s=g+2432|0;sa(s,c,b);e=F[g+2576>>2];i=F[g+2496>>2];d=e+i|0;k=F[g+2580>>2];f=k+F[g+2500>>2]|0;f=d>>>0<i>>>0?f+1|0:f;i=qe(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2496>>2]=d;F[g+2500>>2]=d>>>0<i>>>0?e+1|0:e;e=F[g+2568>>2];i=F[g+2488>>2];f=e+i|0;k=F[g+2572>>2];d=k+F[g+2492>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2560>>2];i=F[g+2480>>2];f=e+i|0;k=F[g+2564>>2];d=k+F[g+2484>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2480>>2]=e;F[g+2484>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2552>>2];i=F[g+2472>>2];d=f+i|0;k=F[g+2556>>2];e=k+F[g+2476>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<i>>>0?d+1|0:d;f=F[g+2544>>2];i=F[g+2464>>2];d=f+i|0;k=F[g+2548>>2];e=k+F[g+2468>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0<i>>>0?d+1|0:d;e=F[g+2536>>2];i=F[g+2456>>2];d=e+i|0;k=F[g+2540>>2];f=k+F[g+2460>>2]|0;f=d>>>0<i>>>0?f+1|0:f;i=qe(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2456>>2]=d;F[g+2460>>2]=d>>>0<i>>>0?e+1|0:e;e=F[g+2528>>2];i=F[g+2448>>2];f=e+i|0;k=F[g+2532>>2];d=k+F[g+2452>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2520>>2];i=F[g+2440>>2];f=e+i|0;k=F[g+2524>>2];d=k+F[g+2444>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2440>>2]=e;F[g+2444>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2512>>2];i=F[g+2432>>2];d=f+i|0;k=F[g+2516>>2];e=k+F[g+2436>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<i>>>0?d+1|0:d;wa(s);i=g+1952|0;ja(i,s,80);sa(s,i,h);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;k=F[g+2580>>2];e=k+F[g+2500>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,k,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2568>>2];h=F[g+2488>>2];d=e+h|0;k=F[g+2572>>2];f=k+F[g+2492>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(e,k,18,0);d=h+d|0;e=$+f|0;F[g+2488>>2]=d;F[g+2492>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2560>>2];h=F[g+2480>>2];f=e+h|0;k=F[g+2564>>2];d=k+F[g+2484>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,k,18,0);f=h+f|0;e=$+d|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;k=F[g+2556>>2];d=k+F[g+2476>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,k,18,0);e=h+f|0;f=$+d|0;F[g+2472>>2]=e;F[g+2476>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2544>>2];h=F[g+2464>>2];d=f+h|0;k=F[g+2548>>2];e=k+F[g+2468>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,k,18,0);f=h+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;k=F[g+2540>>2];e=k+F[g+2460>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,k,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2528>>2];h=F[g+2448>>2];d=e+h|0;k=F[g+2532>>2];f=k+F[g+2452>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(e,k,18,0);d=h+d|0;e=$+f|0;F[g+2448>>2]=d;F[g+2452>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2520>>2];h=F[g+2440>>2];f=e+h|0;k=F[g+2524>>2];d=k+F[g+2444>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,k,18,0);f=h+f|0;e=$+d|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;k=F[g+2516>>2];d=k+F[g+2436>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,k,18,0);e=h+f|0;f=$+d|0;F[g+2432>>2]=e;F[g+2436>>2]=e>>>0<h>>>0?f+1|0:f;wa(s);b=g+1792|0;ja(b,s,80);ga(c,b);sa(s,c,i);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;i=F[g+2580>>2];e=i+F[g+2500>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2568>>2];h=F[g+2488>>2];d=f+h|0;i=F[g+2572>>2];e=i+F[g+2492>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2560>>2];h=F[g+2480>>2];d=e+h|0;i=F[g+2564>>2];f=i+F[g+2484>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2480>>2]=d;F[g+2484>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;i=F[g+2556>>2];d=i+F[g+2476>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2544>>2];h=F[g+2464>>2];f=e+h|0;i=F[g+2548>>2];d=i+F[g+2468>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2464>>2]=e;F[g+2468>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;i=F[g+2540>>2];e=i+F[g+2460>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2528>>2];h=F[g+2448>>2];d=f+h|0;i=F[g+2532>>2];e=i+F[g+2452>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2520>>2];h=F[g+2440>>2];d=e+h|0;i=F[g+2524>>2];f=i+F[g+2444>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2440>>2]=d;F[g+2444>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;i=F[g+2516>>2];d=i+F[g+2436>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<h>>>0?e+1|0:e;wa(s);b=g+1632|0;ja(b,s,80);ga(c,b);ga(j,c);ga(c,j);ga(j,c);ga(c,j);sa(s,c,b);e=F[g+2576>>2];h=F[g+2496>>2];f=e+h|0;i=F[g+2580>>2];d=i+F[g+2500>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2496>>2]=e;F[g+2500>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2568>>2];h=F[g+2488>>2];d=f+h|0;i=F[g+2572>>2];e=i+F[g+2492>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2560>>2];h=F[g+2480>>2];d=f+h|0;i=F[g+2564>>2];e=i+F[g+2484>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2552>>2];h=F[g+2472>>2];d=e+h|0;i=F[g+2556>>2];f=i+F[g+2476>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2472>>2]=d;F[g+2476>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2544>>2];h=F[g+2464>>2];f=e+h|0;i=F[g+2548>>2];d=i+F[g+2468>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2536>>2];h=F[g+2456>>2];f=e+h|0;i=F[g+2540>>2];d=i+F[g+2460>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2456>>2]=e;F[g+2460>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2528>>2];h=F[g+2448>>2];d=f+h|0;i=F[g+2532>>2];e=i+F[g+2452>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2520>>2];h=F[g+2440>>2];d=f+h|0;i=F[g+2524>>2];e=i+F[g+2444>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2512>>2];h=F[g+2432>>2];d=e+h|0;i=F[g+2516>>2];f=i+F[g+2436>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2432>>2]=d;F[g+2436>>2]=d>>>0<h>>>0?e+1|0:e;wa(s);h=g+1472|0;ja(h,s,80);ga(c,h);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);sa(s,j,h);e=F[g+2576>>2];i=F[g+2496>>2];f=e+i|0;k=F[g+2580>>2];d=k+F[g+2500>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2568>>2];i=F[g+2488>>2];f=e+i|0;k=F[g+2572>>2];d=k+F[g+2492>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2488>>2]=e;F[g+2492>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2560>>2];i=F[g+2480>>2];d=f+i|0;k=F[g+2564>>2];e=k+F[g+2484>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0<i>>>0?d+1|0:d;f=F[g+2552>>2];i=F[g+2472>>2];d=f+i|0;k=F[g+2556>>2];e=k+F[g+2476>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<i>>>0?d+1|0:d;e=F[g+2544>>2];i=F[g+2464>>2];d=e+i|0;k=F[g+2548>>2];f=k+F[g+2468>>2]|0;f=d>>>0<i>>>0?f+1|0:f;i=qe(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2464>>2]=d;F[g+2468>>2]=d>>>0<i>>>0?e+1|0:e;e=F[g+2536>>2];i=F[g+2456>>2];f=e+i|0;k=F[g+2540>>2];d=k+F[g+2460>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2528>>2];i=F[g+2448>>2];f=e+i|0;k=F[g+2532>>2];d=k+F[g+2452>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2448>>2]=e;F[g+2452>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2520>>2];i=F[g+2440>>2];d=f+i|0;k=F[g+2524>>2];e=k+F[g+2444>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0<i>>>0?d+1|0:d;f=F[g+2512>>2];i=F[g+2432>>2];d=f+i|0;k=F[g+2516>>2];e=k+F[g+2436>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<i>>>0?d+1|0:d;wa(s);b=g+1312|0;ja(b,s,80);ga(c,b);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);sa(s,j,b);e=F[g+2576>>2];i=F[g+2496>>2];d=e+i|0;k=F[g+2580>>2];f=k+F[g+2500>>2]|0;f=d>>>0<i>>>0?f+1|0:f;i=qe(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2496>>2]=d;F[g+2500>>2]=d>>>0<i>>>0?e+1|0:e;e=F[g+2568>>2];i=F[g+2488>>2];f=e+i|0;k=F[g+2572>>2];d=k+F[g+2492>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2560>>2];i=F[g+2480>>2];f=e+i|0;k=F[g+2564>>2];d=k+F[g+2484>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2480>>2]=e;F[g+2484>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2552>>2];i=F[g+2472>>2];d=f+i|0;k=F[g+2556>>2];e=k+F[g+2476>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<i>>>0?d+1|0:d;f=F[g+2544>>2];i=F[g+2464>>2];d=f+i|0;k=F[g+2548>>2];e=k+F[g+2468>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0<i>>>0?d+1|0:d;e=F[g+2536>>2];i=F[g+2456>>2];d=e+i|0;k=F[g+2540>>2];f=k+F[g+2460>>2]|0;f=d>>>0<i>>>0?f+1|0:f;i=qe(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2456>>2]=d;F[g+2460>>2]=d>>>0<i>>>0?e+1|0:e;e=F[g+2528>>2];i=F[g+2448>>2];f=e+i|0;k=F[g+2532>>2];d=k+F[g+2452>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2520>>2];i=F[g+2440>>2];f=e+i|0;k=F[g+2524>>2];d=k+F[g+2444>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2440>>2]=e;F[g+2444>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2512>>2];i=F[g+2432>>2];d=f+i|0;k=F[g+2516>>2];e=k+F[g+2436>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<i>>>0?d+1|0:d;wa(s);ja(c,s,80);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);sa(s,c,h);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;i=F[g+2580>>2];e=i+F[g+2500>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2568>>2];h=F[g+2488>>2];d=e+h|0;i=F[g+2572>>2];f=i+F[g+2492>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2488>>2]=d;F[g+2492>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2560>>2];h=F[g+2480>>2];f=e+h|0;i=F[g+2564>>2];d=i+F[g+2484>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;i=F[g+2556>>2];d=i+F[g+2476>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2472>>2]=e;F[g+2476>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2544>>2];h=F[g+2464>>2];d=f+h|0;i=F[g+2548>>2];e=i+F[g+2468>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;i=F[g+2540>>2];e=i+F[g+2460>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2528>>2];h=F[g+2448>>2];d=e+h|0;i=F[g+2532>>2];f=i+F[g+2452>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2448>>2]=d;F[g+2452>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2520>>2];h=F[g+2440>>2];f=e+h|0;i=F[g+2524>>2];d=i+F[g+2444>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;i=F[g+2516>>2];d=i+F[g+2436>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2432>>2]=e;F[g+2436>>2]=e>>>0<h>>>0?f+1|0:f;wa(s);b=g+1152|0;ja(b,s,80);ga(c,b);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);sa(s,j,b);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;i=F[g+2580>>2];e=i+F[g+2500>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2568>>2];h=F[g+2488>>2];d=f+h|0;i=F[g+2572>>2];e=i+F[g+2492>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2560>>2];h=F[g+2480>>2];d=e+h|0;i=F[g+2564>>2];f=i+F[g+2484>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2480>>2]=d;F[g+2484>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;i=F[g+2556>>2];d=i+F[g+2476>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2544>>2];h=F[g+2464>>2];f=e+h|0;i=F[g+2548>>2];d=i+F[g+2468>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2464>>2]=e;F[g+2468>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;i=F[g+2540>>2];e=i+F[g+2460>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2528>>2];h=F[g+2448>>2];d=f+h|0;i=F[g+2532>>2];e=i+F[g+2452>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2520>>2];h=F[g+2440>>2];d=e+h|0;i=F[g+2524>>2];f=i+F[g+2444>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2440>>2]=d;F[g+2444>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;i=F[g+2516>>2];d=i+F[g+2436>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<h>>>0?e+1|0:e;wa(s);b=g+992|0;ja(b,s,80);ga(j,b);ga(c,j);c=2;while(1){b=c>>>0<98;d=g+672|0;f=g+832|0;ga(d,f);ga(f,d);c=c+2|0;if(b){continue}break}s=g+2432|0;j=g+832|0;sa(s,j,g+992|0);f=F[g+2576>>2];e=F[g+2496>>2];c=f+e|0;h=F[g+2580>>2];d=h+F[g+2500>>2]|0;d=c>>>0<e>>>0?d+1|0:d;e=qe(f,h,18,0);c=e+c|0;f=$+d|0;F[g+2496>>2]=c;F[g+2500>>2]=c>>>0<e>>>0?f+1|0:f;d=F[g+2568>>2];f=F[g+2488>>2];c=d+f|0;h=F[g+2572>>2];e=h+F[g+2492>>2]|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(d,h,18,0);c=f+c|0;d=$+e|0;F[g+2488>>2]=c;F[g+2492>>2]=c>>>0<f>>>0?d+1|0:d;d=F[g+2560>>2];f=F[g+2480>>2];c=d+f|0;h=F[g+2564>>2];e=h+F[g+2484>>2]|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(d,h,18,0);c=f+c|0;d=$+e|0;F[g+2480>>2]=c;F[g+2484>>2]=c>>>0<f>>>0?d+1|0:d;d=F[g+2552>>2];e=F[g+2472>>2];c=d+e|0;h=F[g+2556>>2];f=h+F[g+2476>>2]|0;f=c>>>0<e>>>0?f+1|0:f;d=qe(d,h,18,0);c=d+c|0;e=$+f|0;F[g+2472>>2]=c;F[g+2476>>2]=c>>>0<d>>>0?e+1|0:e;f=F[g+2544>>2];e=F[g+2464>>2];c=f+e|0;h=F[g+2548>>2];d=h+F[g+2468>>2]|0;d=c>>>0<e>>>0?d+1|0:d;f=qe(f,h,18,0);c=f+c|0;e=$+d|0;F[g+2464>>2]=c;F[g+2468>>2]=c>>>0<f>>>0?e+1|0:e;f=F[g+2536>>2];e=F[g+2456>>2];c=f+e|0;h=F[g+2540>>2];d=h+F[g+2460>>2]|0;d=c>>>0<e>>>0?d+1|0:d;e=qe(f,h,18,0);c=e+c|0;f=$+d|0;F[g+2456>>2]=c;F[g+2460>>2]=c>>>0<e>>>0?f+1|0:f;d=F[g+2528>>2];f=F[g+2448>>2];c=d+f|0;h=F[g+2532>>2];e=h+F[g+2452>>2]|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(d,h,18,0);c=f+c|0;d=$+e|0;F[g+2448>>2]=c;F[g+2452>>2]=c>>>0<f>>>0?d+1|0:d;d=F[g+2520>>2];f=F[g+2440>>2];c=d+f|0;h=F[g+2524>>2];e=h+F[g+2444>>2]|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(d,h,18,0);c=f+c|0;d=$+e|0;F[g+2440>>2]=c;F[g+2444>>2]=c>>>0<f>>>0?d+1|0:d;d=F[g+2512>>2];e=F[g+2432>>2];c=d+e|0;h=F[g+2516>>2];f=h+F[g+2436>>2]|0;f=c>>>0<e>>>0?f+1|0:f;d=qe(d,h,18,0);c=d+c|0;e=$+f|0;F[g+2432>>2]=c;F[g+2436>>2]=c>>>0<d>>>0?e+1|0:e;wa(s);c=g+672|0;ja(c,s,80);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);sa(s,c,g+1152|0);e=F[g+2576>>2];h=F[g+2496>>2];f=e+h|0;i=F[g+2580>>2];d=i+F[g+2500>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2568>>2];h=F[g+2488>>2];f=e+h|0;i=F[g+2572>>2];d=i+F[g+2492>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2488>>2]=e;F[g+2492>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2560>>2];h=F[g+2480>>2];d=f+h|0;i=F[g+2564>>2];e=i+F[g+2484>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2552>>2];h=F[g+2472>>2];d=f+h|0;i=F[g+2556>>2];e=i+F[g+2476>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2544>>2];h=F[g+2464>>2];d=e+h|0;i=F[g+2548>>2];f=i+F[g+2468>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2464>>2]=d;F[g+2468>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2536>>2];h=F[g+2456>>2];f=e+h|0;i=F[g+2540>>2];d=i+F[g+2460>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2528>>2];h=F[g+2448>>2];f=e+h|0;i=F[g+2532>>2];d=i+F[g+2452>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2448>>2]=e;F[g+2452>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2520>>2];h=F[g+2440>>2];d=f+h|0;i=F[g+2524>>2];e=i+F[g+2444>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2512>>2];h=F[g+2432>>2];d=f+h|0;i=F[g+2516>>2];e=i+F[g+2436>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<h>>>0?d+1|0:d;wa(s);ja(j,s,80);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);sa(s,c,g+1792|0);d=F[g+2576>>2];e=F[g+2496>>2];c=d+e|0;j=F[g+2580>>2];f=j+F[g+2500>>2]|0;f=c>>>0<e>>>0?f+1|0:f;d=qe(d,j,18,0);c=d+c|0;e=$+f|0;F[g+2496>>2]=c;F[g+2500>>2]=c>>>0<d>>>0?e+1|0:e;f=F[g+2568>>2];e=F[g+2488>>2];c=f+e|0;j=F[g+2572>>2];d=j+F[g+2492>>2]|0;d=c>>>0<e>>>0?d+1|0:d;f=qe(f,j,18,0);c=f+c|0;e=$+d|0;F[g+2488>>2]=c;F[g+2492>>2]=c>>>0<f>>>0?e+1|0:e;f=F[g+2560>>2];e=F[g+2480>>2];c=f+e|0;j=F[g+2564>>2];d=j+F[g+2484>>2]|0;d=c>>>0<e>>>0?d+1|0:d;e=qe(f,j,18,0);c=e+c|0;f=$+d|0;F[g+2480>>2]=c;F[g+2484>>2]=c>>>0<e>>>0?f+1|0:f;d=F[g+2552>>2];f=F[g+2472>>2];c=d+f|0;j=F[g+2556>>2];e=j+F[g+2476>>2]|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2472>>2]=c;F[g+2476>>2]=c>>>0<f>>>0?d+1|0:d;d=F[g+2544>>2];f=F[g+2464>>2];c=d+f|0;j=F[g+2548>>2];e=j+F[g+2468>>2]|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2464>>2]=c;F[g+2468>>2]=c>>>0<f>>>0?d+1|0:d;d=F[g+2536>>2];e=F[g+2456>>2];c=d+e|0;j=F[g+2540>>2];f=j+F[g+2460>>2]|0;f=c>>>0<e>>>0?f+1|0:f;d=qe(d,j,18,0);c=d+c|0;e=$+f|0;F[g+2456>>2]=c;F[g+2460>>2]=c>>>0<d>>>0?e+1|0:e;f=F[g+2528>>2];e=F[g+2448>>2];c=f+e|0;j=F[g+2532>>2];d=j+F[g+2452>>2]|0;d=c>>>0<e>>>0?d+1|0:d;f=qe(f,j,18,0);c=f+c|0;e=$+d|0;F[g+2448>>2]=c;F[g+2452>>2]=c>>>0<f>>>0?e+1|0:e;f=F[g+2520>>2];e=F[g+2440>>2];c=f+e|0;j=F[g+2524>>2];d=j+F[g+2444>>2]|0;d=c>>>0<e>>>0?d+1|0:d;e=qe(f,j,18,0);c=e+c|0;f=$+d|0;F[g+2440>>2]=c;F[g+2444>>2]=c>>>0<e>>>0?f+1|0:f;d=F[g+2512>>2];f=F[g+2432>>2];c=d+f|0;j=F[g+2516>>2];e=j+F[g+2436>>2]|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2432>>2]=c;F[g+2436>>2]=c>>>0<f>>>0?d+1|0:d;wa(s);b=g+512|0;ja(b,s,80);sa(s,g+32|0,b);d=F[g+2576>>2];f=F[g+2496>>2];c=d+f|0;j=F[g+2580>>2];e=j+F[g+2500>>2]|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2496>>2]=c;F[g+2500>>2]=c>>>0<f>>>0?d+1|0:d;d=F[g+2568>>2];e=F[g+2488>>2];c=d+e|0;j=F[g+2572>>2];f=j+F[g+2492>>2]|0;f=c>>>0<e>>>0?f+1|0:f;d=qe(d,j,18,0);c=d+c|0;e=$+f|0;F[g+2488>>2]=c;F[g+2492>>2]=c>>>0<d>>>0?e+1|0:e;f=F[g+2560>>2];e=F[g+2480>>2];c=f+e|0;j=F[g+2564>>2];d=j+F[g+2484>>2]|0;d=c>>>0<e>>>0?d+1|0:d;f=qe(f,j,18,0);c=f+c|0;e=$+d|0;F[g+2480>>2]=c;F[g+2484>>2]=c>>>0<f>>>0?e+1|0:e;f=F[g+2552>>2];e=F[g+2472>>2];c=f+e|0;j=F[g+2556>>2];d=j+F[g+2476>>2]|0;d=c>>>0<e>>>0?d+1|0:d;e=qe(f,j,18,0);c=e+c|0;f=$+d|0;F[g+2472>>2]=c;F[g+2476>>2]=c>>>0<e>>>0?f+1|0:f;d=F[g+2544>>2];f=F[g+2464>>2];c=d+f|0;j=F[g+2548>>2];e=j+F[g+2468>>2]|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2464>>2]=c;F[g+2468>>2]=c>>>0<f>>>0?d+1|0:d;d=F[g+2536>>2];f=F[g+2456>>2];c=d+f|0;j=F[g+2540>>2];e=j+F[g+2460>>2]|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2456>>2]=c;F[g+2460>>2]=c>>>0<f>>>0?d+1|0:d;d=F[g+2528>>2];e=F[g+2448>>2];c=d+e|0;j=F[g+2532>>2];f=j+F[g+2452>>2]|0;f=c>>>0<e>>>0?f+1|0:f;d=qe(d,j,18,0);c=d+c|0;e=$+f|0;F[g+2448>>2]=c;F[g+2452>>2]=c>>>0<d>>>0?e+1|0:e;f=F[g+2520>>2];e=F[g+2440>>2];c=f+e|0;j=F[g+2524>>2];d=j+F[g+2444>>2]|0;d=c>>>0<e>>>0?d+1|0:d;f=qe(f,j,18,0);c=f+c|0;e=$+d|0;F[g+2440>>2]=c;F[g+2444>>2]=c>>>0<f>>>0?e+1|0:e;f=F[g+2512>>2];e=F[g+2432>>2];c=f+e|0;j=F[g+2516>>2];d=j+F[g+2436>>2]|0;d=c>>>0<e>>>0?d+1|0:d;e=qe(f,j,18,0);c=e+c|0;f=$+d|0;F[g+2432>>2]=c;F[g+2436>>2]=c>>>0<e>>>0?f+1|0:f;wa(s);ja(g+2272|0,s,80);b=F[g+2272>>2];l=b>>31&b;c=F[g+2280>>2]+(l>>26)|0;z=c>>31&c;d=F[g+2288>>2]+(z>>25)|0;r=d>>31&d;f=F[g+2296>>2]+(r>>26)|0;Q=f>>31&f;e=F[g+2304>>2]+(Q>>25)|0;t=e>>31&e;j=F[g+2312>>2]+(t>>26)|0;n=j>>31&j;s=F[g+2320>>2]+(n>>25)|0;m=s>>31&s;h=F[g+2328>>2]+(m>>26)|0;o=h>>31&h;i=F[g+2336>>2]+(o>>25)|0;u=i>>31&i;k=F[g+2344>>2]+(u>>26)|0;x=k>>31&k;b=L(x>>25,19)+(b-(l&-67108864)|0)|0;p=b>>31&b;c=(p>>26)+(c-(z&-33554432)|0)|0;l=c>>31&c;q=c-(l&-33554432)|0;w=b-(p&-67108864)|0;p=k-(x&-33554432)|0;b=(d-(r&-67108864)|0)+(l>>25)|0;k=b>>31&b;c=(f-(Q&-33554432)|0)+(k>>26)|0;l=c>>31&c;d=(e-(t&-67108864)|0)+(l>>25)|0;z=d>>31&d;f=(j-(n&-33554432)|0)+(z>>26)|0;r=f>>31&f;e=(s-(m&-67108864)|0)+(r>>25)|0;Q=e>>31&e;j=(h-(o&-33554432)|0)+(Q>>26)|0;t=j>>31&j;s=(i-(u&-67108864)|0)+(t>>25)|0;n=s>>31&s;h=p+(n>>26)|0;m=h>>31&h;i=w+L(m>>25,19)|0;o=i>>31&i;i=i-(o&-67108864)|0;o=(q+(o>>26)|0)+(i>>26)|0;b=(o>>25)+(b-(k&-67108864)|0)|0;k=(b>>26)+(c-(l&-33554432)|0)|0;l=(k>>25)+(d-(z&-67108864)|0)|0;z=(l>>26)+(f-(r&-33554432)|0)|0;r=(z>>25)+(e-(Q&-67108864)|0)|0;j=(r>>26)+(j-(t&-33554432)|0)|0;s=(j>>25)+(s-(n&-67108864)|0)|0;h=(s>>26)+(h-(m&-33554432)|0)|0;Q=L(h>>25,19)+(i&67108863)|0;c=(Q>>26)+(o&33554431)|0;d=(c>>25)+(b&67108863)|0;f=(d>>26)+(k&33554431)|0;e=(f>>25)+(l&67108863)|0;b=(e>>26)+(z&33554431)|0;o=b&33554431;l=h&33554431;m=s&67108863;n=j&33554431;j=(r&67108863)+(b>>25)|0;s=n+(j>>26)|0;h=m+(s>>25)|0;i=l+(h>>26)|0;l=L(i>>25,19)+(Q&67108863)|0;k=(d|-67108864)&d<<16;k=k<<8&k;k=k<<4&k;k=k<<2&k;m=k<<1&k;k=(c|-33554432)&c<<16;k=k<<8&k;k=k<<4&k;k=k<<2&k;m=m&(k<<1&k);k=(f|-33554432)&f<<16;k=k<<8&k;k=k<<4&k;k=k<<2&k;m=m&(k<<1&k);k=(e|-67108864)&e<<16;k=k<<8&k;k=k<<4&k;k=k<<2&k;b=(b|-33554432)&b<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;m=(l-67108845>>31^-1)&(m&(k<<1&k)&(b<<1&b))>>31;b=(j|-67108864)&j<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;m=m&(b<<1&b)>>31;b=(s|-33554432)&s<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;m=m&(b<<1&b)>>31;b=(h|-67108864)&h<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;m=m&(b<<1&b)>>31;b=(i|-33554432)&i<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;z=m&(b<<1&b)>>31;b=z&33554431;k=o-b|0;D[a+16|0]=k;l=l-(z&67108845)|0;D[a|0]=l;i=(i&33554431)-b|0;D[a+31|0]=i>>>18;D[a+30|0]=i>>>10;D[a+29|0]=i>>>2;o=h&67108863;h=z&67108863;z=o-h|0;D[a+27|0]=z>>>12;D[a+26|0]=z>>>4;s=(s&33554431)-b|0;D[a+24|0]=s>>>13;D[a+23|0]=s>>>5;j=(j&67108863)-h|0;D[a+21|0]=j>>>15;D[a+20|0]=j>>>7;D[a+18|0]=k>>>16;D[a+17|0]=k>>>8;e=(e&67108863)-h|0;D[a+15|0]=e>>>18;D[a+14|0]=e>>>10;D[a+13|0]=e>>>2;f=(f&33554431)-b|0;D[a+11|0]=f>>>11;D[a+10|0]=f>>>3;d=(d&67108863)-h|0;D[a+8|0]=d>>>13;D[a+7|0]=d>>>5;b=(c&33554431)-b|0;D[a+5|0]=b>>>14;D[a+4|0]=b>>>6;D[a+2|0]=l>>>16;D[a+1|0]=l>>>8;D[a+28|0]=i<<6|z>>>20;D[a+25|0]=z<<4|s>>>21;D[a+22|0]=s<<3|j>>>23;D[a+19|0]=j<<1|k>>>24;D[a+12|0]=e<<6|f>>>19;D[a+9|0]=f<<5|d>>>21;D[a+6|0]=d<<3|b>>>22;D[a+3|0]=b<<2|l>>>24;_=g+2592|0}function $a(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0;g=_-624|0;_=g;F[g+352>>2]=327033209;F[g+356>>2]=1541459225;F[g+344>>2]=-79577749;F[g+348>>2]=528734635;F[g+336>>2]=725511199;F[g+340>>2]=-1694144372;F[g+328>>2]=-1377402159;F[g+332>>2]=1359893119;F[g+320>>2]=1595750129;F[g+324>>2]=-1521486534;F[g+312>>2]=-23791573;F[g+316>>2]=1013904242;F[g+304>>2]=-2067093701;F[g+308>>2]=-1150833019;F[g+360>>2]=0;F[g+296>>2]=-205731576;F[g+300>>2]=1779033703;F[g+288>>2]=0;F[g+292>>2]=0;j=a;p=a+32|0;D[g+364|0]=G[p+32|0];D[g+365|0]=G[p+33|0];D[g+366|0]=G[p+34|0];n=g+364|0;D[(n+F[g+360>>2]|0)+3|0]=G[p+35|0];D[(F[g+360>>2]+n|0)+4|0]=G[p+36|0];D[(F[g+360>>2]+n|0)+5|0]=G[p+37|0];D[(F[g+360>>2]+n|0)+6|0]=G[p+38|0];D[(F[g+360>>2]+n|0)+7|0]=G[p+39|0];D[(F[g+360>>2]+n|0)+8|0]=G[p+40|0];D[(F[g+360>>2]+n|0)+9|0]=G[p+41|0];D[(F[g+360>>2]+n|0)+10|0]=G[p+42|0];D[(F[g+360>>2]+n|0)+11|0]=G[p+43|0];D[(F[g+360>>2]+n|0)+12|0]=G[p+44|0];D[(F[g+360>>2]+n|0)+13|0]=G[p+45|0];D[(F[g+360>>2]+n|0)+14|0]=G[p+46|0];D[(F[g+360>>2]+n|0)+15|0]=G[p+47|0];D[(F[g+360>>2]+n|0)+16|0]=G[p+48|0];D[(F[g+360>>2]+n|0)+17|0]=G[p+49|0];D[(F[g+360>>2]+n|0)+18|0]=G[p+50|0];D[(F[g+360>>2]+n|0)+19|0]=G[p+51|0];D[(F[g+360>>2]+n|0)+20|0]=G[p+52|0];D[(F[g+360>>2]+n|0)+21|0]=G[p+53|0];D[(F[g+360>>2]+n|0)+22|0]=G[p+54|0];D[(F[g+360>>2]+n|0)+23|0]=G[p+55|0];D[(F[g+360>>2]+n|0)+24|0]=G[p+56|0];D[(F[g+360>>2]+n|0)+25|0]=G[p+57|0];D[(F[g+360>>2]+n|0)+26|0]=G[p+58|0];D[(F[g+360>>2]+n|0)+27|0]=G[p+59|0];D[(F[g+360>>2]+n|0)+28|0]=G[p+60|0];D[(F[g+360>>2]+n|0)+29|0]=G[p+61|0];D[(F[g+360>>2]+n|0)+30|0]=G[p+62|0];D[(F[g+360>>2]+n|0)+31|0]=G[p+63|0];a=F[g+360>>2]+32|0;F[g+360>>2]=a;if((a|0)==128){ta(g+288|0,n);F[g+360>>2]=0;e=g;a=F[e+292>>2];i=F[e+288>>2]+1024|0;a=i>>>0<1024?a+1|0:a;F[e+288>>2]=i;F[e+292>>2]=a}a:{if(!b){break a}m=F[g+360>>2];if(!c|m>>>0>128){break a}f=c;a=b;while(1){b:{if(!(f>>>0<128|m)){ta(g+288|0,a);e=F[g+292>>2];k=F[g+288>>2]+1024|0;e=k>>>0<1024?e+1|0:e;F[g+288>>2]=k;F[g+292>>2]=e;f=f-128|0;a=a+128|0;break b}e=128-m|0;l=e>>>0>f>>>0?f:e;c:{if(!l){break c}k=l&3;o=0;if(l-1>>>0>=3){h=l&-4;while(1){i=g+364|0;D[i+(m+o|0)|0]=G[a+o|0];e=o|1;D[(e+F[g+360>>2]|0)+i|0]=G[a+e|0];e=o|2;D[(e+F[g+360>>2]|0)+i|0]=G[a+e|0];e=o|3;D[(e+F[g+360>>2]|0)+i|0]=G[a+e|0];o=o+4|0;m=F[g+360>>2];h=h-4|0;if(h){continue}break}}if(!k){break c}while(1){D[((m+o|0)+g|0)+364|0]=G[a+o|0];o=o+1|0;m=F[g+360>>2];k=k-1|0;if(k){continue}break}}f=f-l|0;a=a+l|0;e=l+m|0;F[g+360>>2]=e;if((e|0)!=128){break b}ta(g+288|0,n);F[g+360>>2]=0;e=F[g+292>>2];k=F[g+288>>2]+1024|0;e=k>>>0<1024?e+1|0:e;F[g+288>>2]=k;F[g+292>>2]=e}if(!f){break a}m=F[g+360>>2];continue}}a=g+160|0;cb(g+288|0,a);ob(a);Tb(g,a);i=g+224|0;pb(i,g+80|0);e=g+544|0;ha(e,g,i);a=g+496|0;ha(a,g+40|0,i);Fa(d,a);Fa(g+592|0,e);D[d+31|0]=G[d+31|0]^G[g+592|0]<<7;F[g+352>>2]=327033209;F[g+356>>2]=1541459225;F[g+344>>2]=-79577749;F[g+348>>2]=528734635;F[g+336>>2]=725511199;F[g+340>>2]=-1694144372;F[g+328>>2]=-1377402159;F[g+332>>2]=1359893119;F[g+320>>2]=1595750129;F[g+324>>2]=-1521486534;F[g+312>>2]=-23791573;F[g+316>>2]=1013904242;F[g+304>>2]=-2067093701;F[g+308>>2]=-1150833019;F[g+296>>2]=-205731576;F[g+300>>2]=1779033703;F[g+288>>2]=0;F[g+292>>2]=0;F[g+360>>2]=0;D[g+364|0]=G[d|0];D[g+365|0]=G[d+1|0];D[g+366|0]=G[d+2|0];D[g+367|0]=G[d+3|0];a=g+364|0;D[(a+F[g+360>>2]|0)+4|0]=G[d+4|0];D[(a+F[g+360>>2]|0)+5|0]=G[d+5|0];D[(a+F[g+360>>2]|0)+6|0]=G[d+6|0];D[(a+F[g+360>>2]|0)+7|0]=G[d+7|0];D[(a+F[g+360>>2]|0)+8|0]=G[d+8|0];D[(a+F[g+360>>2]|0)+9|0]=G[d+9|0];D[(a+F[g+360>>2]|0)+10|0]=G[d+10|0];D[(a+F[g+360>>2]|0)+11|0]=G[d+11|0];D[(a+F[g+360>>2]|0)+12|0]=G[d+12|0];D[(a+F[g+360>>2]|0)+13|0]=G[d+13|0];D[(a+F[g+360>>2]|0)+14|0]=G[d+14|0];D[(a+F[g+360>>2]|0)+15|0]=G[d+15|0];D[(a+F[g+360>>2]|0)+16|0]=G[d+16|0];D[(a+F[g+360>>2]|0)+17|0]=G[d+17|0];D[(a+F[g+360>>2]|0)+18|0]=G[d+18|0];D[(a+F[g+360>>2]|0)+19|0]=G[d+19|0];D[(a+F[g+360>>2]|0)+20|0]=G[d+20|0];D[(a+F[g+360>>2]|0)+21|0]=G[d+21|0];D[(a+F[g+360>>2]|0)+22|0]=G[d+22|0];D[(a+F[g+360>>2]|0)+23|0]=G[d+23|0];D[(a+F[g+360>>2]|0)+24|0]=G[d+24|0];D[(a+F[g+360>>2]|0)+25|0]=G[d+25|0];D[(a+F[g+360>>2]|0)+26|0]=G[d+26|0];D[(a+F[g+360>>2]|0)+27|0]=G[d+27|0];D[(a+F[g+360>>2]|0)+28|0]=G[d+28|0];D[(a+F[g+360>>2]|0)+29|0]=G[d+29|0];D[(a+F[g+360>>2]|0)+30|0]=G[d+30|0];D[(a+F[g+360>>2]|0)+31|0]=G[d+31|0];h=32;a=F[g+360>>2]+32|0;F[g+360>>2]=a;if((a|0)==128){ta(g+288|0,n);F[g+360>>2]=0;e=g;a=F[e+292>>2];i=F[e+288>>2]+1024|0;a=i>>>0<1024?a+1|0:a;F[e+288>>2]=i;F[e+292>>2]=a}a=F[g+360>>2];if(!(!j|a>>>0>128)){while(1){d:{if(!(h>>>0<128|a)){ta(g+288|0,j);a=g;e=F[a+292>>2];i=F[a+288>>2]+1024|0;e=i>>>0<1024?e+1|0:e;F[a+288>>2]=i;F[a+292>>2]=e;h=h-128|0;j=j+128|0;break d}e=128-a|0;i=e>>>0>h>>>0?h:e;e:{if(!i){break e}f=i&3;o=0;if(i-1>>>0>=3){k=i&-4;while(1){e=g+364|0;D[e+(a+o|0)|0]=G[j+o|0];a=o|1;D[e+(a+F[g+360>>2]|0)|0]=G[a+j|0];a=o|2;D[e+(a+F[g+360>>2]|0)|0]=G[a+j|0];a=o|3;D[e+(a+F[g+360>>2]|0)|0]=G[a+j|0];o=o+4|0;a=F[g+360>>2];k=k-4|0;if(k){continue}break}}if(!f){break e}while(1){D[((a+o|0)+g|0)+364|0]=G[j+o|0];o=o+1|0;a=F[g+360>>2];f=f-1|0;if(f){continue}break}}h=h-i|0;j=i+j|0;a=a+i|0;F[g+360>>2]=a;if((a|0)!=128){break d}ta(g+288|0,n);F[g+360>>2]=0;a=g;e=F[a+292>>2];i=F[a+288>>2]+1024|0;e=i>>>0<1024?e+1|0:e;F[a+288>>2]=i;F[a+292>>2]=e}a=F[g+360>>2];if(h){continue}break}}f:{if(!c|(!b|a>>>0>128)){break f}while(1){g:{if(!(c>>>0<128|a)){ta(g+288|0,b);e=g;a=F[e+292>>2];i=F[e+288>>2]+1024|0;a=i>>>0<1024?a+1|0:a;F[e+288>>2]=i;F[e+292>>2]=a;c=c-128|0;b=b+128|0;break g}e=128-a|0;i=c>>>0<e>>>0?c:e;h:{if(!i){break h}m=i&3;o=0;if(i-1>>>0>=3){f=i&-4;while(1){e=g+364|0;D[e+(a+o|0)|0]=G[b+o|0];a=o|1;D[e+(a+F[g+360>>2]|0)|0]=G[a+b|0];a=o|2;D[e+(a+F[g+360>>2]|0)|0]=G[a+b|0];a=o|3;D[e+(a+F[g+360>>2]|0)|0]=G[a+b|0];o=o+4|0;a=F[g+360>>2];f=f-4|0;if(f){continue}break}}if(!m){break h}while(1){D[((a+o|0)+g|0)+364|0]=G[b+o|0];o=o+1|0;a=F[g+360>>2];m=m-1|0;if(m){continue}break}}c=c-i|0;b=b+i|0;a=a+i|0;F[g+360>>2]=a;if((a|0)!=128){break g}ta(g+288|0,n);F[g+360>>2]=0;a=g;e=F[a+292>>2];i=F[a+288>>2]+1024|0;e=i>>>0<1024?e+1|0:e;F[a+288>>2]=i;F[a+292>>2]=e}if(!c){break f}a=F[g+360>>2];continue}}s=g+224|0;cb(g+288|0,s);ob(s);a=G[p+24|0];b=a>>>24|0;f=G[p+23|0];e=f|a<<8;c=G[p+25|0];a=c>>>16|0;i=e|c<<16;e=a|b;n=G[p+26|0];c=n;b=c>>>8|0;c=c<<24;e=b|e;b=c|i;K=((e&31)<<27|b>>>5)&2097151;b=0;c=G[s+27|0];a=c>>>24|0;i=G[s+26|0];c=i|c<<8;j=b;h=G[s+28|0];b=h;e=b>>>16|0;b=b<<16;e=a|e;a=b|c;M=((e&3)<<30|a>>>2)&2097151;l=qe(K,j,M,0);k=$;c=0;N=c;O=f<<16&2031616|(G[p+21|0]|G[p+22|0]<<8);j=O;b=G[s+29|0];a=b>>>24|0;c=h|b<<8;e=G[s+30|0];b=e>>>16|0;f=c|e<<16;e=a|b;b=G[s+31|0];a=b>>>8|0;b=b<<24;c=a|e;a=b|f;P=(c&127)<<25|a>>>7;Q=c>>>7|0;a=qe(j,N,P,Q);b=a+l|0;e=$+k|0;m=b;c=a>>>0>b>>>0?e+1|0:e;a=G[p+27|0];e=a>>>24|0;j=n|a<<8;b=e;h=G[p+28|0];f=h;e=f>>>16|0;f=f<<16;e=b|e;b=f|j;la=((e&3)<<30|b>>>2)&2097151;l=la;k=0;a=G[s+24|0];e=a>>>24|0;f=G[s+23|0];j=f|a<<8;a=G[s+25|0];b=a>>>16|0;j=j|a<<16;b=b|e|i>>>8;R=((b&31)<<27|(i<<24|j)>>>5)&2097151;b=qe(l,k,R,0);e=b+m|0;a=$+c|0;j=e;b=b>>>0>e>>>0?a+1|0:a;c=G[p+29|0];a=c>>>24|0;h=h|c<<8;c=G[p+30|0];e=c>>>16|0;i=h|c<<16;e=a|e;c=G[p+31|0];a=c>>>8|0;c=c<<24;k=a|e;a=c|i;i=(k&127)<<25|a>>>7;e=k>>>7|0;c=e;S=f<<16&2031616|(G[s+21|0]|G[s+22|0]<<8);e=qe(i,e,S,0);f=e+j|0;a=$+b|0;h=f;k=e>>>0>f>>>0?a+1|0:a;a=qe(O,N,M,na);j=$;f=a;b=G[p+19|0];e=b>>>24|0;t=G[p+18|0];m=t|b<<8;b=G[p+20|0];a=b>>>16|0;b=m|b<<16;e=a|e;a=e>>>3|0;T=(e&7)<<29|b>>>3;A=a;a=qe(T,a,P,Q);e=f+a|0;b=$+j|0;b=a>>>0>e>>>0?b+1|0:b;a=qe(K,oa,R,pa);f=a+e|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;b=qe(l,qa,S,ra);f=b+f|0;a=$+e|0;l=f;f=b>>>0>f>>>0?a+1|0:a;j=G[s+19|0];b=j>>>24|0;q=G[s+18|0];j=q|j<<8;a=G[s+20|0];e=a>>>16|0;a=a<<16;e=b|e;b=a|j;U=(e&7)<<29|b>>>3;V=e>>>3|0;a=qe(i,c,U,V);b=a+l|0;e=$+f|0;j=b;e=a>>>0>b>>>0?e+1|0:e;n=e;a=b;e=e-((a>>>0<4293918720)-1|0)|0;E=a- -1048576|0;m=e;b=(e&2097151)<<11|E>>>21;f=b+h|0;e=(e>>21)+k|0;e=b>>>0>f>>>0?e+1|0:e;h=e;a=f;e=e-((a>>>0<4293918720)-1|0)|0;r=a- -1048576|0;l=e;v=(e&2097151)<<11|r>>>21;k=e>>21;a=qe(M,na,la,qa);b=$;e=a;a=qe(K,oa,P,Q);o=e+a|0;e=$+b|0;e=a>>>0>o>>>0?e+1|0:e;b=qe(R,pa,i,c);o=b+o|0;a=$+e|0;e=o;z=e- -1048576|0;a=b>>>0>e>>>0?a+1|0:a;b=a-((e>>>0<4293918720)-1|0)|0;o=v;w=z&-2097152;v=e-w|0;u=o+v|0;a=(a-((b&2147483647)+(e>>>0<w>>>0)|0)|0)+k|0;Xa=u;a=u>>>0<v>>>0?a+1|0:a;Ya=a;w=qe(u,a,470296,0);v=$;e=qe(M,na,i,c);a=$;k=e;e=qe(P,Q,la,qa);k=k+e|0;a=$+a|0;a=e>>>0>k>>>0?a+1|0:a;o=k;e=b;b=e>>>21|0;k=(e&2097151)<<11|z>>>21;o=o+k|0;e=a+b|0;b=o;a=b;Za=a- -1048576|0;e=k>>>0>a>>>0?e+1|0:e;o=e-((a>>>0<4293918720)-1|0)|0;H=o;a=r&-2097152;k=h-((a>>>0>f>>>0)+l|0)|0;Qa=f-a|0;_a=k;a=e;e=Za&-2097152;a=a-((o&2147483647)+(e>>>0>b>>>0)|0)|0;Ra=b-e|0;$a=a;b=qe(Ra,a,666643,0);e=b+w|0;a=$+v|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(Qa,k,654183,0);f=b+e|0;e=$+a|0;u=f;o=b>>>0>f>>>0?e+1|0:e;a=E&-2097152;w=j-a|0;r=n-((a>>>0>j>>>0)+m|0)|0;l=qe(M,na,T,A);j=$;a=G[p+16|0];e=a>>>24|0;k=G[p+15|0];f=k|a<<8;a=G[p+17|0];b=a>>>16|0;f=f|a<<16;e=b|e|t>>>8;a=t<<24|f;W=((e&63)<<26|a>>>6)&2097151;b=qe(W,0,P,Q);e=b+l|0;a=$+j|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(O,N,R,pa);f=b+e|0;e=$+a|0;e=b>>>0>f>>>0?e+1|0:e;a=qe(K,oa,S,ra);f=a+f|0;b=$+e|0;b=a>>>0>f>>>0?b+1|0:b;a=qe(la,qa,U,V);f=a+f|0;e=$+b|0;j=a>>>0>f>>>0?e+1|0:e;b=G[s+16|0];e=b>>>24|0;l=G[s+15|0];a=l|b<<8;h=G[s+17|0];b=h>>>16|0;h=a|h<<16;b=b|e|q>>>8;X=((b&63)<<26|(q<<24|h)>>>6)&2097151;b=qe(i,c,X,0);e=b+f|0;a=$+j|0;q=e;h=b>>>0>e>>>0?a+1|0:a;a=qe(M,na,W,sa);m=$;b=G[p+14|0];e=b>>>24|0;j=G[p+13|0];f=j|b<<8;n=a;e=k>>>16|e;a=k<<16|f;Y=((e&1)<<31|a>>>1)&2097151;b=qe(Y,0,P,Q);e=n+b|0;a=$+m|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(R,pa,T,A);f=b+e|0;b=$+a|0;b=e>>>0>f>>>0?b+1|0:b;a=qe(O,N,S,ra);f=a+f|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;a=qe(K,oa,U,V);b=a+f|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(la,qa,X,ua);f=a+b|0;a=$+e|0;n=f;f=b>>>0>f>>>0?a+1|0:a;m=G[s+14|0];e=m>>>24|0;k=G[s+13|0];m=k|m<<8;e=l>>>16|e;a=l<<16|m;Z=((e&1)<<31|a>>>1)&2097151;b=qe(i,c,Z,0);e=b+n|0;a=$+f|0;n=e;a=b>>>0>e>>>0?a+1|0:a;l=a;a=e;e=l-((a>>>0<4293918720)-1|0)|0;B=a- -1048576|0;x=e;b=(e&2097151)<<11|B>>>21;f=b+q|0;e=(e>>21)+h|0;m=f;e=b>>>0>f>>>0?e+1|0:e;v=e;a=f;e=e-((a>>>0<4293918720)-1|0)|0;y=a- -1048576|0;E=e;a=e>>21;b=(e&2097151)<<11|y>>>21;e=b+w|0;a=a+r|0;ab=e;a=b>>>0>e>>>0?a+1|0:a;bb=a;a=qe(e,a,-997805,-1);e=a+u|0;b=$+o|0;u=e;o=a>>>0>e>>>0?b+1|0:b;b=G[p+3|0];a=b>>>24|0;e=G[p+2|0];f=e|b<<8;b=a;h=f;f=G[p+4|0];a=f>>>16|0;q=h|f<<16;h=a|b;f=G[p+5|0];b=f;a=b>>>8|0;b=b<<24;h=a|h;a=b|q;aa=((h&31)<<27|a>>>5)&2097151;a=qe(aa,0,S,ra);b=$;h=a;ba=e<<16&2031616|(G[p|0]|G[p+1|0]<<8);a=qe(ba,0,R,pa);h=h+a|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;a=h;b=e;h=G[p+6|0];e=h>>>24|0;h=f|h<<8;r=a;q=G[p+7|0];f=q;a=f>>>16|0;f=f<<16;e=a|e;a=f|h;ca=((e&3)<<30|a>>>2)&2097151;a=qe(ca,0,U,V);f=r+a|0;e=$+b|0;h=f;b=a>>>0>f>>>0?e+1|0:e;a=G[p+8|0];e=a>>>24|0;q=q|a<<8;f=G[p+9|0];a=f>>>16|0;q=q|f<<16;f=a|e;r=h;h=G[p+10|0];a=h;e=a>>>8|0;a=a<<24|q;e=e|f;da=((e&127)<<25|a>>>7)&2097151;e=qe(da,0,X,ua);f=r+e|0;a=$+b|0;q=f;f=e>>>0>f>>>0?a+1|0:a;b=G[p+11|0];a=b>>>24|0;h=h|b<<8;b=G[p+12|0];e=b>>>16|0;h=h|b<<16;b=a|e|j>>>8;ea=((b&15)<<28|(j<<24|h)>>>4)&2097151;a=qe(ea,0,Z,va);b=a+q|0;e=$+f|0;t=b;j=a>>>0>b>>>0?e+1|0:e;b=G[s+11|0];a=b>>>24|0;h=G[s+10|0];e=h|b<<8;q=G[s+12|0];b=q>>>16|0;q=e|q<<16;b=a|b|k>>>8;fa=((b&15)<<28|(k<<24|q)>>>4)&2097151;b=qe(Y,wa,fa,0);e=b+t|0;a=$+j|0;t=e;k=b>>>0>e>>>0?a+1|0:a;e=G[s+8|0];a=e>>>24|0;j=G[s+7|0];b=j|e<<8;q=G[s+9|0];e=q>>>16|0;q=b|q<<16;e=a|e|h>>>8;a=h<<24|q;ga=((e&127)<<25|a>>>7)&2097151;a=qe(W,sa,ga,0);b=a+t|0;e=$+k|0;f=a>>>0>b>>>0?e+1|0:e;k=G[s+6|0];a=k>>>24|0;h=G[s+5|0];k=h|k<<8;e=j>>>16|a;a=j<<16|k;ia=((e&3)<<30|a>>>2)&2097151;a=qe(T,A,ia,0);e=a+b|0;b=$+f|0;t=e;k=a>>>0>e>>>0?b+1|0:b;e=G[s+3|0];a=e>>>24|0;f=G[s+2|0];b=f|e<<8;q=G[s+4|0];e=q>>>16|0;q=b|q<<16;b=a|e|h>>>8;ja=((b&31)<<27|(h<<24|q)>>>5)&2097151;a=qe(O,N,ja,0);b=a+t|0;e=$+k|0;e=a>>>0>b>>>0?e+1|0:e;a=b;ka=f<<16&2031616|(G[s|0]|G[s+1|0]<<8);b=qe(K,oa,ka,0);f=a+b|0;a=$+e|0;h=f;e=b>>>0>f>>>0?a+1|0:a;a=G[g+184|0];b=a>>>24|0;f=G[g+183|0];k=f|a<<8;j=G[g+185|0];a=j>>>16|0;k=k|j<<16;j=a|b;Sa=G[g+186|0];a=Sa;b=a>>>8|0;a=a<<24|k;b=b|j;a=((b&31)<<27|a>>>5)&2097151;b=a+h|0;h=b;k=a>>>0>b>>>0?e+1|0:e;e=G[g+181|0]|G[g+182|0]<<8;a=qe(U,V,aa,xa);b=$;q=e;e=a;a=qe(S,ra,ba,ya);j=e+a|0;e=$+b|0;e=a>>>0>j>>>0?e+1|0:e;b=qe(ca,za,X,ua);j=b+j|0;a=$+e|0;a=b>>>0>j>>>0?a+1|0:a;b=qe(Z,va,da,Aa);j=b+j|0;e=$+a|0;e=b>>>0>j>>>0?e+1|0:e;a=qe(ea,Ba,fa,Ca);j=a+j|0;b=$+e|0;b=a>>>0>j>>>0?b+1|0:b;e=qe(Y,wa,ga,Da);j=e+j|0;a=$+b|0;a=e>>>0>j>>>0?a+1|0:a;b=qe(W,sa,ia,Ea);j=b+j|0;e=$+a|0;e=b>>>0>j>>>0?e+1|0:e;b=qe(T,A,ja,Ga);j=b+j|0;a=$+e|0;a=b>>>0>j>>>0?a+1|0:a;b=qe(O,N,ka,Ha);j=b+j|0;e=$+a|0;e=b>>>0>j>>>0?e+1|0:e;a=j;j=q+a|0;b=a>>>0>j>>>0?e+1|0:e;e=f<<16&2031616;f=e+j|0;a=b;j=f;a=e>>>0>f>>>0?a+1|0:a;f=a;a=j;b=f-((a>>>0<4293918720)-1|0)|0;w=a- -1048576|0;r=b;a=(b&2097151)<<11|w>>>21;h=a+h|0;b=(b>>>21|0)+k|0;b=a>>>0>h>>>0?b+1|0:b;k=h;e=h;h=e+u|0;a=b+o|0;a=e>>>0>h>>>0?a+1|0:a;e=h;h=b;b=k;h=h-((b>>>0<4293918720)-1|0)|0;db=b- -1048576|0;k=h;b=e;e=db&-2097152;C=b-e|0;Ia=a-((b>>>0<e>>>0)+h|0)|0;t=j;q=f;a=qe(Qa,_a,470296,0);b=$;e=a;a=qe(Xa,Ya,666643,0);f=e+a|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;b=qe(ab,bb,654183,0);f=b+f|0;a=$+e|0;p=f;o=b>>>0>f>>>0?a+1|0:a;b=qe(X,ua,aa,xa);a=$;e=b;b=qe(U,V,ba,ya);e=e+b|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(ca,za,Z,va);f=b+e|0;b=$+a|0;b=e>>>0>f>>>0?b+1|0:b;a=qe(fa,Ca,da,Aa);f=a+f|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;a=qe(ga,Da,ea,Ba);b=a+f|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(Y,wa,ia,Ea);f=a+b|0;a=$+e|0;a=b>>>0>f>>>0?a+1|0:a;b=qe(W,sa,ja,Ga);e=b+f|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(T,A,ka,Ha);f=b+e|0;b=$+a|0;b=e>>>0>f>>>0?b+1|0:b;e=b;b=G[g+179|0];a=b>>>24|0;j=G[g+178|0];h=j|b<<8;b=a;z=f;f=G[g+180|0];a=f>>>16|0;f=f<<16;u=a|b;a=f|h;a=(u&7)<<29|a>>>3;f=z+a|0;e=(u>>>3|0)+e|0;s=f;f=a>>>0>f>>>0?e+1|0:e;a=qe(Z,va,aa,xa);b=$;e=a;a=qe(X,ua,ba,ya);h=e+a|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;b=qe(ca,za,fa,Ca);h=b+h|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;b=qe(ga,Da,da,Aa);e=b+h|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(ea,Ba,ia,Ea);h=b+e|0;b=$+a|0;b=e>>>0>h>>>0?b+1|0:b;a=qe(Y,wa,ja,Ga);h=a+h|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;a=qe(W,sa,ka,Ha);b=a+h|0;e=$+e|0;z=b;a=a>>>0>b>>>0?e+1|0:e;e=G[g+176|0];b=e>>>24|0;Ta=G[g+175|0];u=Ta|e<<8;h=G[g+177|0];e=h>>>16|0;u=u|h<<16;e=b|e|j>>>8;b=((e&63)<<26|(j<<24|u)>>>6)&2097151;e=b+z|0;z=e;a=b>>>0>e>>>0?a+1|0:a;h=a;a=e;b=h-((a>>>0<4293918720)-1|0)|0;qb=a- -1048576|0;Ja=b;e=b>>>21|0;a=(b&2097151)<<11|qb>>>21;b=a+s|0;e=e+f|0;u=b;e=a>>>0>b>>>0?e+1|0:e;Na=e;a=b;b=e-((a>>>0<4293918720)-1|0)|0;eb=a- -1048576|0;fb=b;e=b>>>21|0;b=(b&2097151)<<11|eb>>>21;f=b+p|0;a=e+o|0;a=b>>>0>f>>>0?a+1|0:a;b=f;e=b+t|0;a=a+q|0;a=b>>>0>e>>>0?a+1|0:a;b=w&-2097152;a=a-((b>>>0>e>>>0)+r|0)|0;w=e-b|0;j=a;a=w;b=j-((a>>>0<4293918720)-1|0)|0;rb=a- -1048576|0;ma=b;e=b>>21;b=(b&2097151)<<11|rb>>>21;f=b+C|0;a=e+Ia|0;q=f;a=b>>>0>f>>>0?a+1|0:a;f=a;a=q;b=f-((a>>>0<4293918720)-1|0)|0;sb=a- -1048576|0;gb=b;Ma=(b&2097151)<<11|sb>>>21;t=b>>21;a=y&-2097152;Oa=m-a|0;v=v-((a>>>0>m>>>0)+E|0)|0;o=qe(P,Q,i,c);a=$;I=a;a=o;e=I-((a>>>0<4293918720)-1|0)|0;Ua=a- -1048576|0;C=e;a=e>>>21|0;hb=a;Va=(e&2097151)<<11|Ua>>>21;b=qe(Va,a,-683901,-1);e=b+n|0;a=$+l|0;a=b>>>0>e>>>0?a+1|0:a;b=B&-2097152;E=e-b|0;r=a-((b>>>0>e>>>0)+x|0)|0;a=qe(M,na,Y,wa);b=$;e=a;a=qe(P,Q,ea,Ba);l=e+a|0;e=$+b|0;e=a>>>0>l>>>0?e+1|0:e;b=qe(R,pa,W,sa);l=b+l|0;a=$+e|0;a=b>>>0>l>>>0?a+1|0:a;b=qe(S,ra,T,A);e=b+l|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(O,N,U,V);l=b+e|0;b=$+a|0;b=e>>>0>l>>>0?b+1|0:b;a=qe(K,oa,X,ua);l=a+l|0;e=$+b|0;e=a>>>0>l>>>0?e+1|0:e;a=qe(la,qa,Z,va);b=a+l|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(i,c,fa,Ca);l=a+b|0;a=$+e|0;m=l;l=b>>>0>l>>>0?a+1|0:a;b=qe(M,na,ea,Ba);a=$;e=b;b=qe(P,Q,da,Aa);e=e+b|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(R,pa,Y,wa);n=b+e|0;b=$+a|0;b=e>>>0>n>>>0?b+1|0:b;a=qe(S,ra,W,sa);n=a+n|0;e=$+b|0;e=a>>>0>n>>>0?e+1|0:e;a=qe(T,A,U,V);b=a+n|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(O,N,X,ua);n=a+b|0;a=$+e|0;a=b>>>0>n>>>0?a+1|0:a;b=qe(K,oa,Z,va);e=b+n|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(la,qa,fa,Ca);n=b+e|0;b=$+a|0;b=e>>>0>n>>>0?b+1|0:b;a=qe(i,c,ga,Da);n=a+n|0;e=$+b|0;Pa=n;e=a>>>0>n>>>0?e+1|0:e;Ia=e;a=n;e=e-((a>>>0<4293918720)-1|0)|0;La=a- -1048576|0;p=e;b=e>>21;e=(e&2097151)<<11|La>>>21;m=e+m|0;a=b+l|0;n=m;a=e>>>0>n>>>0?a+1|0:a;s=a;a=n;e=s-((a>>>0<4293918720)-1|0)|0;Ka=a- -1048576|0;B=e;a=(e&2097151)<<11|Ka>>>21;l=a+E|0;e=(e>>21)+r|0;m=l;e=a>>>0>l>>>0?e+1|0:e;y=e;a=l;e=e-((a>>>0<4293918720)-1|0)|0;J=a- -1048576|0;x=e;b=e>>21;e=(e&2097151)<<11|J>>>21;l=e+Oa|0;a=b+v|0;ib=l;a=e>>>0>l>>>0?a+1|0:a;jb=a;b=qe(l,a,-683901,-1);e=b+Ma|0;a=$+t|0;L=e;v=b>>>0>e>>>0?a+1|0:a;a=qe(R,pa,aa,xa);b=$;e=a;a=qe(M,na,ba,ya);l=e+a|0;e=$+b|0;e=a>>>0>l>>>0?e+1|0:e;a=qe(S,ra,ca,za);b=a+l|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=qe(U,V,da,Aa);l=a+b|0;b=$+e|0;b=a>>>0>l>>>0?b+1|0:b;e=qe(X,ua,ea,Ba);l=e+l|0;a=$+b|0;a=e>>>0>l>>>0?a+1|0:a;b=qe(Y,wa,Z,va);e=b+l|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(W,sa,fa,Ca);l=b+e|0;e=$+a|0;e=b>>>0>l>>>0?e+1|0:e;a=qe(T,A,ga,Da);b=a+l|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=qe(O,N,ia,Ea);l=a+b|0;b=$+e|0;b=a>>>0>l>>>0?b+1|0:b;e=qe(K,oa,ja,Ga);l=e+l|0;a=$+b|0;a=e>>>0>l>>>0?a+1|0:a;b=qe(la,qa,ka,Ha);e=b+l|0;a=$+a|0;l=e;e=b>>>0>e>>>0?a+1|0:a;b=G[g+187|0];a=b>>>24|0;t=Sa|b<<8;b=a;r=l;vb=G[g+188|0];l=vb;a=l>>>16|0;l=l<<16;b=a|b;a=l|t;a=((b&3)<<30|a>>>2)&2097151;b=r+a|0;l=b;e=a>>>0>b>>>0?e+1|0:e;r=b;t=e;Ma=qe(Ra,$a,470296,0);Oa=$;b=Ua&-2097152;a=o-b|0;o=I-((C&2147483647)+(b>>>0>o>>>0)|0)|0;b=(H&2097151)<<11|Za>>>21;C=b+a|0;a=(H>>>21|0)+o|0;kb=C;a=b>>>0>C>>>0?a+1|0:a;lb=a;b=qe(C,a,666643,0);e=b+Ma|0;a=$+Oa|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(Xa,Ya,654183,0);o=b+e|0;b=$+a|0;b=e>>>0>o>>>0?b+1|0:b;a=qe(Qa,_a,-997805,-1);o=a+o|0;e=$+b|0;e=a>>>0>o>>>0?e+1|0:e;a=qe(ab,bb,136657,0);b=a+o|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;wb=l- -1048576|0;o=t-((l>>>0<4293918720)-1|0)|0;l=o;o=r;b=k>>>21|0;k=(k&2097151)<<11|db>>>21;r=k+a|0;a=b+e|0;b=r;e=o+b|0;a=(k>>>0>b>>>0?a+1|0:a)+t|0;a=b>>>0>e>>>0?a+1|0:a;t=e;b=wb&-2097152;k=e-b|0;e=k;r=e+L|0;a=a-((b>>>0>t>>>0)+l|0)|0;b=a+v|0;b=e>>>0>r>>>0?b+1|0:b;e=r;o=a;a=k;o=o-((a>>>0<4293918720)-1|0)|0;xb=a- -1048576|0;a=b;k=o;b=e;e=xb&-2097152;a=a-(k+(b>>>0<e>>>0)|0)|0;v=b-e|0;I=v;L=a;o=f;a=J&-2097152;H=m-a|0;C=y-((a>>>0>m>>>0)+x|0)|0;a=qe(kb,lb,-683901,-1);b=$;e=a;a=qe(Va,hb,136657,0);e=e+a|0;b=$+b|0;b=a>>>0>e>>>0?b+1|0:b;a=e+n|0;e=b+s|0;e=a>>>0<n>>>0?e+1|0:e;b=a;a=Ka&-2097152;y=b-a|0;x=e-((a>>>0>b>>>0)+B|0)|0;b=qe(Va,hb,-997805,-1);e=b+Pa|0;a=$+Ia|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(kb,lb,136657,0);f=b+e|0;b=$+a|0;b=e>>>0>f>>>0?b+1|0:b;a=qe(Ra,$a,-683901,-1);f=a+f|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;b=f;a=La&-2097152;t=b-a|0;n=e-((a>>>0>b>>>0)+p|0)|0;a=qe(M,na,da,Aa);b=$;e=a;a=qe(P,Q,ca,za);f=e+a|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;a=qe(R,pa,ea,Ba);f=a+f|0;b=$+e|0;b=a>>>0>f>>>0?b+1|0:b;a=qe(S,ra,Y,wa);f=a+f|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;b=qe(W,sa,U,V);f=b+f|0;a=$+e|0;a=b>>>0>f>>>0?a+1|0:a;b=qe(T,A,X,ua);e=b+f|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(O,N,Z,va);f=b+e|0;e=$+a|0;e=b>>>0>f>>>0?e+1|0:e;a=qe(K,oa,fa,Ca);f=a+f|0;b=$+e|0;b=a>>>0>f>>>0?b+1|0:b;a=qe(la,qa,ga,Da);f=a+f|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;b=qe(i,c,ia,Ea);f=b+f|0;a=$+e|0;m=f;f=b>>>0>f>>>0?a+1|0:a;b=qe(M,na,ca,za);a=$;e=b;b=qe(P,Q,aa,xa);e=e+b|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(R,pa,da,Aa);r=b+e|0;e=$+a|0;e=b>>>0>r>>>0?e+1|0:e;a=qe(S,ra,ea,Ba);r=a+r|0;b=$+e|0;b=a>>>0>r>>>0?b+1|0:b;a=qe(U,V,Y,wa);r=a+r|0;e=$+b|0;e=a>>>0>r>>>0?e+1|0:e;b=qe(W,sa,X,ua);r=b+r|0;a=$+e|0;a=b>>>0>r>>>0?a+1|0:a;b=qe(T,A,Z,va);e=b+r|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(O,N,fa,Ca);r=b+e|0;e=$+a|0;e=b>>>0>r>>>0?e+1|0:e;a=qe(K,oa,ga,Da);r=a+r|0;b=$+e|0;b=a>>>0>r>>>0?b+1|0:b;a=qe(la,qa,ia,Ea);r=a+r|0;e=$+b|0;e=a>>>0>r>>>0?e+1|0:e;b=qe(i,c,ja,Ga);r=b+r|0;a=$+e|0;E=r;a=b>>>0>r>>>0?a+1|0:a;Ma=a;a=r;b=Ma-((a>>>0<4293918720)-1|0)|0;yb=a- -1048576|0;Oa=b;e=b>>21;a=(b&2097151)<<11|yb>>>21;b=a+m|0;e=e+f|0;r=b;e=a>>>0>b>>>0?e+1|0:e;Ua=e;a=b;b=e-((a>>>0<4293918720)-1|0)|0;zb=a- -1048576|0;Pa=b;e=b>>21;b=(b&2097151)<<11|zb>>>21;f=b+t|0;a=e+n|0;t=f;a=b>>>0>f>>>0?a+1|0:a;La=a;a=f;b=La-((a>>>0<4293918720)-1|0)|0;Za=a- -1048576|0;Ka=b;e=b>>21;a=(b&2097151)<<11|Za>>>21;b=a+y|0;e=e+x|0;e=a>>>0>b>>>0?e+1|0:e;m=e;a=b;x=e-((a>>>0<4293918720)-1|0)|0;n=a- -1048576|0;f=x;e=f>>21;x=(f&2097151)<<11|n>>>21;y=x+H|0;a=e+C|0;tb=y;a=x>>>0>y>>>0?a+1|0:a;mb=a;e=qe(y,a,-683901,-1);a=$;x=q;q=e;e=qe(ib,jb,136657,0);q=q+e|0;a=$+a|0;a=e>>>0>q>>>0?a+1|0:a;x=x+q|0;e=a+o|0;Sa=x;J=q>>>0>x>>>0?e+1|0:e;H=w;x=j;o=qe(y,mb,136657,0);j=$;e=n&-2097152;a=m-((e>>>0>b>>>0)+f|0)|0;Wa=b-e|0;nb=a;e=qe(ib,jb,-997805,-1);f=e+o|0;b=$+j|0;b=e>>>0>f>>>0?b+1|0:b;e=qe(Wa,a,-683901,-1);f=e+f|0;a=$+b|0;Ab=f;w=e>>>0>f>>>0?a+1|0:a;a=qe(ab,bb,470296,0);b=$;e=a;a=qe(Qa,_a,666643,0);f=e+a|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;a=f+u|0;b=e+Na|0;b=a>>>0<u>>>0?b+1|0:b;e=a;a=eb&-2097152;Bb=e-a|0;ub=b-((a>>>0>e>>>0)+fb|0)|0;B=qe(ab,bb,666643,0);y=$;a=qe(aa,xa,fa,Ca);b=$;e=a;a=qe(Z,va,ba,ya);f=e+a|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;a=qe(ca,za,ga,Da);b=a+f|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=qe(da,Aa,ia,Ea);f=a+b|0;b=$+e|0;b=a>>>0>f>>>0?b+1|0:b;e=qe(ea,Ba,ja,Ga);f=e+f|0;a=$+b|0;a=e>>>0>f>>>0?a+1|0:a;b=qe(Y,wa,ka,Ha);e=b+f|0;a=$+a|0;f=e;e=b>>>0>e>>>0?a+1|0:a;a=G[g+174|0];b=a>>>24|0;j=G[g+173|0];m=j|a<<8;b=Ta>>>16|b;a=Ta<<16|m;a=((b&1)<<31|a>>>1)&2097151;b=a+f|0;u=b;f=a>>>0>b>>>0?e+1|0:e;a=qe(ga,Da,aa,xa);b=$;e=a;a=qe(ba,ya,fa,Ca);m=e+a|0;e=$+b|0;e=a>>>0>m>>>0?e+1|0:e;a=qe(ca,za,ia,Ea);m=a+m|0;b=$+e|0;b=a>>>0>m>>>0?b+1|0:b;e=qe(da,Aa,ja,Ga);m=e+m|0;a=$+b|0;a=e>>>0>m>>>0?a+1|0:a;b=qe(ea,Ba,ka,Ha);e=b+m|0;a=$+a|0;o=e;e=b>>>0>e>>>0?a+1|0:a;a=G[g+171|0];b=a>>>24|0;Na=G[g+170|0];n=Na|a<<8;m=G[g+172|0];a=m>>>16|0;n=n|m<<16;m=a|b;b=j<<24;j=j>>>8|m;a=b|n;a=((j&15)<<28|a>>>4)&2097151;b=a+o|0;q=b;e=a>>>0>b>>>0?e+1|0:e;j=e;a=b;e=e-((a>>>0<4293918720)-1|0)|0;db=a- -1048576|0;fb=e;a=e>>>21|0;b=(e&2097151)<<11|db>>>21;e=b+u|0;a=a+f|0;o=e;a=b>>>0>e>>>0?a+1|0:a;C=a;a=e;e=C-((a>>>0<4293918720)-1|0)|0;eb=a- -1048576|0;Ia=e;b=(e&2097151)<<11|eb>>>21;f=b+B|0;e=(e>>>21|0)+y|0;e=b>>>0>f>>>0?e+1|0:e;a=f;b=a+z|0;e=e+h|0;e=a>>>0>b>>>0?e+1|0:e;a=qb&-2097152;p=e-((a>>>0>b>>>0)+Ja|0)|0;n=b-a|0;a=n;e=p-((a>>>0<4293918720)-1|0)|0;Ta=a- -1048576|0;s=e;b=(e&2097151)<<11|Ta>>>21;f=b+Bb|0;e=(e>>21)+ub|0;m=f;e=b>>>0>f>>>0?e+1|0:e;B=e;a=f;e=e-((a>>>0<4293918720)-1|0)|0;Ja=a- -1048576|0;y=e;a=e>>21;b=(e&2097151)<<11|Ja>>>21;e=b+Ab|0;a=a+w|0;a=b>>>0>e>>>0?a+1|0:a;f=e+H|0;b=a+x|0;b=e>>>0>f>>>0?b+1|0:b;e=f;a=rb&-2097152;x=b-((a>>>0>e>>>0)+ma|0)|0;h=e-a|0;a=h;e=x-((a>>>0<4293918720)-1|0)|0;ma=a- -1048576|0;z=e;a=e>>21;b=(e&2097151)<<11|ma>>>21;e=b+Sa|0;a=a+J|0;a=b>>>0>e>>>0?a+1|0:a;b=a;a=sb&-2097152;u=b-((a>>>0>e>>>0)+gb|0)|0;b=e-a|0;a=b;gb=u-((a>>>0<4293918720)-1|0)|0;J=a- -1048576|0;ub=v- -1048576|0;H=L-((v>>>0<4293918720)-1|0)|0;f=H;w=gb;v=(w&2097151)<<11|J>>>21;I=v+I|0;a=(w>>21)+L|0;a=v>>>0>I>>>0?a+1|0:a;v=I;e=ub&-2097152;qb=v-e|0;rb=a-((e>>>0>v>>>0)+f|0)|0;a=J&-2097152;sb=b-a|0;gb=u-((a>>>0>b>>>0)+w|0)|0;a=ma&-2097152;Sa=h-a|0;I=x-((a>>>0>h>>>0)+z|0)|0;a=qe(tb,mb,-997805,-1);b=$;e=a;a=qe(ib,jb,654183,0);h=e+a|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;b=qe(Wa,nb,136657,0);h=b+h|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;b=h+m|0;e=a+B|0;e=b>>>0<m>>>0?e+1|0:e;a=Ja&-2097152;L=b-a|0;J=e-((a>>>0>b>>>0)+y|0)|0;a=Za&-2097152;H=t-a|0;B=La-((a>>>0>t>>>0)+Ka|0)|0;b=qe(kb,lb,-997805,-1);a=$;e=b;b=qe(Va,hb,654183,0);e=e+b|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(Ra,$a,136657,0);h=b+e|0;e=$+a|0;e=b>>>0>h>>>0?e+1|0:e;a=qe(Xa,Ya,-683901,-1);h=a+h|0;b=$+e|0;b=a>>>0>h>>>0?b+1|0:b;a=h+r|0;e=b+Ua|0;e=a>>>0<r>>>0?e+1|0:e;b=a;a=zb&-2097152;z=b-a|0;u=e-((a>>>0>b>>>0)+Pa|0)|0;b=qe(kb,lb,654183,0);a=$;e=b;b=qe(Va,hb,470296,0);e=e+b|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(Ra,$a,-997805,-1);h=b+e|0;b=$+a|0;a=h+E|0;e=Ma+(e>>>0>h>>>0?b+1|0:b)|0;e=a>>>0<E>>>0?e+1|0:e;b=a;a=qe(Xa,Ya,136657,0);b=b+a|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(Qa,_a,-683901,-1);h=a+b|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;e=h;b=yb&-2097152;t=e-b|0;m=a-((b>>>0>e>>>0)+Oa|0)|0;a=qe(M,na,aa,xa);b=$;e=a;a=qe(P,Q,ba,ya);e=e+a|0;b=$+b|0;b=a>>>0>e>>>0?b+1|0:b;a=qe(R,pa,ca,za);h=a+e|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;b=qe(S,ra,da,Aa);h=b+h|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;b=qe(U,V,ea,Ba);h=b+h|0;e=$+a|0;e=b>>>0>h>>>0?e+1|0:e;b=qe(X,ua,Y,wa);h=b+h|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;e=qe(W,sa,Z,va);h=e+h|0;b=$+a|0;b=e>>>0>h>>>0?b+1|0:b;a=qe(T,A,fa,Ca);h=a+h|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;b=qe(O,N,ga,Da);h=b+h|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;b=qe(K,oa,ia,Ea);h=b+h|0;e=$+a|0;e=b>>>0>h>>>0?e+1|0:e;b=qe(la,qa,ja,Ga);h=b+h|0;a=$+e|0;c=qe(i,c,ka,Ha);e=c+h|0;b=$+(b>>>0>h>>>0?a+1|0:a)|0;h=e;c=c>>>0>e>>>0?b+1|0:b;a=G[g+189|0];b=a>>>24|0;i=vb|a<<8;e=G[g+190|0];a=e>>>16|0;i=i|e<<16;e=a|b;a=G[g+191|0];b=a>>>8|0;a=a<<24|i;b=b|e;e=b>>>7|0;a=(b&127)<<25|a>>>7;b=a+h|0;e=c+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=(l&2097151)<<11|wb>>>21;c=a+b|0;a=(l>>>21|0)+e|0;h=c;a=b>>>0>c>>>0?a+1|0:a;w=a;a=c;c=w-((a>>>0<4293918720)-1|0)|0;y=a- -1048576|0;v=c;a=c>>21;b=(c&2097151)<<11|y>>>21;c=b+t|0;e=a+m|0;l=c;e=b>>>0>c>>>0?e+1|0:e;E=e;a=c;c=e-((a>>>0<4293918720)-1|0)|0;x=a- -1048576|0;r=c;a=c>>21;b=(c&2097151)<<11|x>>>21;c=b+z|0;a=a+u|0;a=b>>>0>c>>>0?a+1|0:a;b=c;m=a;a=b;e=m-((a>>>0<4293918720)-1|0)|0;t=a- -1048576|0;i=e;c=(e&2097151)<<11|t>>>21;u=c+H|0;e=(e>>21)+B|0;Ja=u;e=c>>>0>u>>>0?e+1|0:e;Ka=e;a=qe(u,e,-683901,-1);c=a+L|0;e=$+J|0;A=c;c=a>>>0>c>>>0?e+1|0:e;u=qe(tb,mb,654183,0);e=$;a=t&-2097152;i=m-((a>>>0>b>>>0)+i|0)|0;ma=b-a|0;J=i;b=qe(ib,jb,470296,0);m=b+u|0;a=$+e|0;a=b>>>0>m>>>0?a+1|0:a;e=qe(Wa,nb,-997805,-1);m=e+m|0;b=$+a|0;b=e>>>0>m>>>0?b+1|0:b;e=m+n|0;a=b+p|0;a=e>>>0<n>>>0?a+1|0:a;b=qe(Ja,Ka,136657,0);m=e;e=Ta&-2097152;n=b+(m-e|0)|0;e=$+(a-((e>>>0>m>>>0)+s|0)|0)|0;e=b>>>0>n>>>0?e+1|0:e;b=qe(ma,i,-683901,-1);i=b+n|0;a=$+e|0;a=b>>>0>i>>>0?a+1|0:a;t=a;a=i;e=t-((a>>>0<4293918720)-1|0)|0;z=a- -1048576|0;n=e;a=(e&2097151)<<11|z>>>21;m=a+A|0;e=(e>>21)+c|0;c=m;e=a>>>0>c>>>0?e+1|0:e;m=e;a=c;A=e-((a>>>0<4293918720)-1|0)|0;u=a- -1048576|0;e=A;b=e>>21;A=(e&2097151)<<11|u>>>21;B=A+Sa|0;a=b+I|0;Ma=B;A=A>>>0>B>>>0?a+1|0:a;a=u&-2097152;Oa=c-a|0;Ua=m-((a>>>0>c>>>0)+e|0)|0;a=z&-2097152;Pa=i-a|0;La=t-((a>>>0>i>>>0)+n|0)|0;a=qe(tb,mb,470296,0);b=$;c=a;a=qe(ib,jb,666643,0);c=c+a|0;b=$+b|0;b=a>>>0>c>>>0?b+1|0:b;a=c;c=qe(Wa,nb,654183,0);e=a+c|0;a=$+b|0;b=e+o|0;e=C+(c>>>0>e>>>0?a+1|0:a)|0;e=b>>>0<o>>>0?e+1|0:e;a=eb&-2097152;o=b-a|0;n=e-((a>>>0>b>>>0)+Ia|0)|0;a=x&-2097152;m=l-a|0;i=E-((a>>>0>l>>>0)+r|0)|0;b=qe(kb,lb,470296,0);a=$;c=b;b=qe(Va,hb,666643,0);c=c+b|0;a=$+a|0;a=b>>>0>c>>>0?a+1|0:a;b=c;c=qe(Ra,$a,654183,0);e=b+c|0;b=$+a|0;b=c>>>0>e>>>0?b+1|0:b;c=qe(Xa,Ya,-997805,-1);e=c+e|0;a=$+b|0;a=c>>>0>e>>>0?a+1|0:a;b=qe(Qa,_a,136657,0);c=b+e|0;e=$+a|0;e=b>>>0>c>>>0?e+1|0:e;a=qe(ab,bb,-683901,-1);b=a+c|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;b=b+h|0;a=e+w|0;a=b>>>0<h>>>0?a+1|0:a;e=b;c=y&-2097152;b=e-c|0;a=(a-((c>>>0>e>>>0)+v|0)|0)+(k>>21)|0;c=b;b=(k&2097151)<<11|xb>>>21;e=c+b|0;l=e;a=b>>>0>e>>>0?a+1|0:a;z=a;a=e;c=z-((a>>>0<4293918720)-1|0)|0;B=a- -1048576|0;r=c;a=c>>21;b=(c&2097151)<<11|B>>>21;c=b+m|0;e=a+i|0;I=c;e=b>>>0>c>>>0?e+1|0:e;H=e;a=qe(c,e,-683901,-1);c=a+o|0;b=$+n|0;b=a>>>0>c>>>0?b+1|0:b;a=c;c=qe(Ja,Ka,-997805,-1);e=a+c|0;a=$+b|0;a=c>>>0>e>>>0?a+1|0:a;b=qe(ma,J,136657,0);c=b+e|0;e=$+a|0;E=c;t=b>>>0>c>>>0?e+1|0:e;m=q;h=j;b=qe(aa,xa,ia,Ea);a=$;c=b;b=qe(ba,ya,ga,Da);c=c+b|0;a=$+a|0;a=b>>>0>c>>>0?a+1|0:a;b=qe(ca,za,ja,Ga);c=b+c|0;e=$+a|0;e=b>>>0>c>>>0?e+1|0:e;a=qe(da,Aa,ka,Ha);c=a+c|0;b=$+e|0;k=c;i=a>>>0>c>>>0?b+1|0:b;b=G[g+168|0];a=b>>>24|0;c=G[g+167|0];j=c|b<<8;b=G[g+169|0];e=b>>>16|0;j=j|b<<16;b=a|e|Na>>>8;b=((b&127)<<25|(Na<<24|j)>>>7)&2097151;e=b+k|0;a=i;n=e;i=b>>>0>e>>>0?a+1|0:a;a=qe(aa,xa,ja,Ga);b=$;e=a;a=qe(ba,ya,ia,Ea);j=e+a|0;e=$+b|0;e=a>>>0>j>>>0?e+1|0:e;a=qe(ca,za,ka,Ha);b=a+j|0;e=$+e|0;k=b;b=a>>>0>b>>>0?e+1|0:e;e=G[g+166|0];a=e>>>24|0;u=G[g+165|0];j=u|e<<8;e=c>>>16|0;c=c<<16;e=a|e;a=c|j;c=((e&3)<<30|a>>>2)&2097151;e=c+k|0;a=b;k=e;a=c>>>0>e>>>0?a+1|0:a;c=a;a=e;b=c-((a>>>0<4293918720)-1|0)|0;Ia=a- -1048576|0;w=b;e=b>>>21|0;b=(b&2097151)<<11|Ia>>>21;j=b+n|0;a=e+i|0;a=b>>>0>j>>>0?a+1|0:a;v=a;a=j;b=v-((a>>>0<4293918720)-1|0)|0;p=a- -1048576|0;q=b;e=b>>>21|0;b=(b&2097151)<<11|p>>>21;i=b+m|0;a=e+h|0;a=b>>>0>i>>>0?a+1|0:a;b=qe(tb,mb,666643,0);e=db&-2097152;h=b+(i-e|0)|0;a=$+(a-((e>>>0>i>>>0)+fb|0)|0)|0;a=b>>>0>h>>>0?a+1|0:a;b=qe(Wa,nb,470296,0);i=b+h|0;e=$+a|0;e=b>>>0>i>>>0?e+1|0:e;b=qe(I,H,136657,0);i=b+i|0;a=$+e|0;a=b>>>0>i>>>0?a+1|0:a;b=qe(Ja,Ka,654183,0);i=b+i|0;e=$+a|0;e=b>>>0>i>>>0?e+1|0:e;a=qe(ma,J,-997805,-1);i=a+i|0;b=$+e|0;s=i;b=a>>>0>i>>>0?b+1|0:b;o=b;a=i;b=b-((a>>>0<4293918720)-1|0)|0;y=a- -1048576|0;n=b;e=b>>21;a=(b&2097151)<<11|y>>>21;b=a+E|0;e=e+t|0;i=b;e=a>>>0>b>>>0?e+1|0:e;a=e;h=a-((b>>>0<4293918720)-1|0)|0;x=b- -1048576|0;m=h;e=h>>21;h=(h&2097151)<<11|x>>>21;t=h+Pa|0;b=e+La|0;Pa=t;E=h>>>0>t>>>0?b+1|0:b;h=i;i=a;b=B&-2097152;a=l-b|0;e=z-((b>>>0>l>>>0)+r|0)|0;l=a;b=f>>21;a=(f&2097151)<<11|ub>>>21;f=l+a|0;e=b+e|0;e=a>>>0>f>>>0?e+1|0:e;r=e;a=f;e=e-((a>>>0<4293918720)-1|0)|0;B=a- -1048576|0;t=e;b=e>>21;C=b;L=(e&2097151)<<11|B>>>21;b=qe(L,b,-683901,-1);e=b+h|0;a=$+i|0;a=b>>>0>e>>>0?a+1|0:a;b=x&-2097152;La=e-b|0;Na=a-((b>>>0>e>>>0)+m|0)|0;a=qe(L,C,136657,0);b=a+s|0;e=$+o|0;e=a>>>0>b>>>0?e+1|0:e;a=y&-2097152;fb=b-a|0;s=e-((a>>>0>b>>>0)+n|0)|0;b=qe(Wa,nb,666643,0);a=p&-2097152;e=b+(j-a|0)|0;a=$+(v-((a>>>0>j>>>0)+q|0)|0)|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(I,H,-997805,-1);i=b+e|0;e=$+a|0;e=b>>>0>i>>>0?e+1|0:e;a=qe(Ja,Ka,470296,0);i=a+i|0;b=$+e|0;b=a>>>0>i>>>0?b+1|0:b;a=qe(ma,J,654183,0);i=a+i|0;e=$+b|0;v=i;m=a>>>0>i>>>0?e+1|0:e;j=c;b=qe(aa,xa,ka,Ha);a=$;c=b;b=qe(ba,ya,ja,Ga);c=c+b|0;a=$+a|0;h=c;c=b>>>0>c>>>0?a+1|0:a;a=qe(ba,ya,ka,Ha);l=G[g+162|0];b=l;b=b<<16&2031616|(G[g+160|0]|G[g+161|0]<<8);e=a+b|0;a=$;i=e;a=b>>>0>e>>>0?a+1|0:a;q=a;a=e;e=q-((a>>>0<4293918720)-1|0)|0;y=a- -1048576|0;o=e;a=e>>>21|0;e=(e&2097151)<<11|y>>>21;h=e+h|0;b=a+c|0;b=e>>>0>h>>>0?b+1|0:b;e=h;c=b;a=G[g+163|0];b=a>>>24|0;h=l|a<<8;l=G[g+164|0];a=l>>>16|0;l=h|l<<16;b=a|b|u>>>8;a=((b&31)<<27|(u<<24|l)>>>5)&2097151;b=a+e|0;e=c;c=b;e=a>>>0>b>>>0?e+1|0:e;n=e;a=b;b=e-((a>>>0<4293918720)-1|0)|0;x=a- -1048576|0;h=b;e=b>>>21|0;b=(b&2097151)<<11|x>>>21;k=b+k|0;a=e+j|0;a=b>>>0>k>>>0?a+1|0:a;b=qe(I,H,654183,0);j=k;e=Ia&-2097152;k=b+(j-e|0)|0;e=$+(a-((e>>>0>j>>>0)+w|0)|0)|0;e=b>>>0>k>>>0?e+1|0:e;a=qe(Ja,Ka,666643,0);b=a+k|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(ma,J,470296,0);j=a+b|0;a=$+e|0;z=j;a=b>>>0>j>>>0?a+1|0:a;l=a;a=j;b=l-((a>>>0<4293918720)-1|0)|0;u=a- -1048576|0;k=b;a=(b&2097151)<<11|u>>>21;j=a+v|0;b=(b>>21)+m|0;w=j;b=a>>>0>j>>>0?b+1|0:b;j=b;a=w;m=b-((a>>>0<4293918720)-1|0)|0;v=a- -1048576|0;b=m;e=b>>21;m=(b&2097151)<<11|v>>>21;p=m+fb|0;a=e+s|0;Ia=p;m=m>>>0>p>>>0?a+1|0:a;e=qe(L,C,-997805,-1);w=e+w|0;a=$+j|0;a=e>>>0>w>>>0?a+1|0:a;j=w;e=v&-2097152;p=j-e|0;s=a-((e>>>0>j>>>0)+b|0)|0;a=qe(L,C,654183,0);b=a+z|0;e=$+l|0;e=a>>>0>b>>>0?e+1|0:e;a=u&-2097152;w=b-a|0;v=e-((a>>>0>b>>>0)+k|0)|0;a=qe(I,H,470296,0);b=x&-2097152;e=a+(c-b|0)|0;b=$+(n-((b>>>0>c>>>0)+h|0)|0)|0;b=a>>>0>e>>>0?b+1|0:b;a=qe(ma,J,666643,0);c=a+e|0;e=$+b|0;k=c;j=a>>>0>c>>>0?e+1|0:e;a=qe(I,H,666643,0);b=y&-2097152;c=a+(i-b|0)|0;e=$+(q-((o&4095)+(b>>>0>i>>>0)|0)|0)|0;e=a>>>0>c>>>0?e+1|0:e;h=e;a=c;e=e-((a>>>0<4293918720)-1|0)|0;q=a- -1048576|0;l=e;b=(e&2097151)<<11|q>>>21;i=b+k|0;e=(e>>21)+j|0;o=i;e=b>>>0>i>>>0?e+1|0:e;k=e;a=i;e=e-((a>>>0<4293918720)-1|0)|0;n=a- -1048576|0;j=e;b=(e&2097151)<<11|n>>>21;i=b+w|0;e=(e>>21)+v|0;v=i;i=b>>>0>i>>>0?e+1|0:e;a=qe(L,C,470296,0);e=a+o|0;b=$+k|0;b=a>>>0>e>>>0?b+1|0:b;k=e;e=n&-2097152;a=k-e|0;j=b-((e>>>0>k>>>0)+j|0)|0;n=a;a=qe(L,C,666643,0);b=q&-2097152;k=a+(c-b|0)|0;e=$+(h-((b>>>0>c>>>0)+l|0)|0)|0;e=a>>>0>k>>>0?e+1|0:e;a=k;b=e>>21;c=(e&2097151)<<11|a>>>21;e=n+c|0;a=b+j|0;x=e;b=e;a=c>>>0>e>>>0?a+1|0:a;e=a>>21;a=(a&2097151)<<11|b>>>21;b=a+v|0;e=e+i|0;e=a>>>0>b>>>0?e+1|0:e;j=b;b=(e&2097151)<<11|b>>>21;c=b+p|0;a=(e>>21)+s|0;a=b>>>0>c>>>0?a+1|0:a;h=c;b=c;e=a>>21;a=(a&2097151)<<11|b>>>21;c=a+Ia|0;b=e+m|0;b=a>>>0>c>>>0?b+1|0:b;z=c;a=b>>21;b=(b&2097151)<<11|c>>>21;c=b+La|0;e=a+Na|0;u=c;a=c;e=b>>>0>a>>>0?e+1|0:e;b=e>>21;c=(e&2097151)<<11|a>>>21;e=c+Pa|0;a=b+E|0;w=e;b=e;a=c>>>0>e>>>0?a+1|0:a;e=a>>21;a=(a&2097151)<<11|b>>>21;b=a+Oa|0;e=e+Ua|0;e=a>>>0>b>>>0?e+1|0:e;v=b;b=(e&2097151)<<11|b>>>21;c=b+Ma|0;a=(e>>21)+A|0;a=b>>>0>c>>>0?a+1|0:a;E=c;b=c;e=a>>21;a=(a&2097151)<<11|b>>>21;c=a+sb|0;b=e+gb|0;b=a>>>0>c>>>0?b+1|0:b;q=c;a=b>>21;b=(b&2097151)<<11|c>>>21;c=b+qb|0;e=a+rb|0;o=c;a=c;e=b>>>0>a>>>0?e+1|0:e;b=(e&2097151)<<11|a>>>21;c=B&-2097152;a=f-c|0;i=b+a|0;e=(r-((c>>>0>f>>>0)+t|0)|0)+(e>>21)|0;n=i;b=i;e=a>>>0>b>>>0?e+1|0:e;t=(e&2097151)<<11|b>>>21;a=e>>21;l=a;b=qe(t,a,666643,0);a=k&2097151;b=b+a|0;e=$;k=b;e=a>>>0>b>>>0?e+1|0:e;c=e;D[d+32|0]=b;D[d+33|0]=(e&255)<<24|b>>>8;i=d;a=x&2097151;e=qe(t,l,470296,0)+a|0;b=$;b=a>>>0>e>>>0?b+1|0:b;m=e;e=c;a=e>>21;f=(e&2097151)<<11|k>>>21;m=m+f|0;e=a+b|0;e=f>>>0>m>>>0?e+1|0:e;f=m;D[i+36|0]=(e&2047)<<21|f>>>11;a=e;e=f;D[i+35|0]=(a&7)<<29|e>>>3;b=i;i=j&2097151;j=qe(t,l,654183,0)+i|0;e=$;e=i>>>0>j>>>0?e+1|0:e;i=a;a=a>>21;i=(i&2097151)<<11|f>>>21;j=i+j|0;a=a+e|0;a=i>>>0>j>>>0?a+1|0:a;e=a;D[b+38|0]=(a&63)<<26|j>>>6;i=0;m=f&2097151;a=m;D[b+34|0]=((c&65535)<<16|k>>>16)&31|a<<5;c=b;a=h&2097151;f=qe(t,l,-997805,-1)+a|0;b=$;b=a>>>0>f>>>0?b+1|0:b;a=f;f=(e&2097151)<<11|j>>>21;k=a+f|0;e=(e>>21)+b|0;e=f>>>0>k>>>0?e+1|0:e;D[c+41|0]=(e&511)<<23|k>>>9;b=e;D[c+40|0]=(e&1)<<31|k>>>1;f=0;h=j&2097151;c=h;D[d+37|0]=(i&524287)<<13|m>>>19|c<<2;c=d;e=z&2097151;i=qe(t,l,136657,0)+e|0;a=$;a=e>>>0>i>>>0?a+1|0:a;e=b>>21;b=(b&2097151)<<11|k>>>21;i=b+i|0;e=a+e|0;j=i;e=b>>>0>i>>>0?e+1|0:e;D[c+44|0]=(e&4095)<<20|i>>>12;b=e;D[c+43|0]=(e&15)<<28|i>>>4;i=0;k=k&2097151;c=k;D[d+39|0]=(f&16383)<<18|h>>>14|c<<7;c=d;e=u&2097151;f=qe(t,l,-683901,-1)+e|0;a=$;a=e>>>0>f>>>0?a+1|0:a;e=f;f=(b&2097151)<<11|j>>>21;l=e+f|0;b=(b>>21)+a|0;b=f>>>0>l>>>0?b+1|0:b;f=l;a=b;D[c+46|0]=(a&127)<<25|f>>>7;c=0;l=j&2097151;e=l;D[d+42|0]=(i&131071)<<15|k>>>17|e<<4;b=d;e=a;a=a>>21;i=(e&2097151)<<11|f>>>21;k=i+(w&2097151)|0;e=i>>>0>k>>>0?a+1|0:a;i=k;D[b+49|0]=(e&1023)<<22|i>>>10;a=e;e=i;D[b+48|0]=(a&3)<<30|e>>>2;e=0;k=f&2097151;f=k;D[b+45|0]=(c&1048575)<<12|l>>>20|f<<1;c=a;a=a>>21;c=(c&2097151)<<11|i>>>21;f=c+(v&2097151)|0;j=f;a=c>>>0>f>>>0?a+1|0:a;b=f;D[d+52|0]=(a&8191)<<19|b>>>13;D[d+51|0]=(a&31)<<27|b>>>5;f=0;l=i&2097151;b=l;D[d+47|0]=(e&32767)<<17|k>>>15|b<<6;b=a;a=a>>21;b=(b&2097151)<<11|j>>>21;h=b+(E&2097151)|0;e=a;i=d;D[i+53|0]=h;a=j;D[i+50|0]=(f&262143)<<14|l>>>18|a<<3;b=b>>>0>h>>>0?e+1|0:e;D[i+54|0]=(b&255)<<24|h>>>8;a=b;e=a>>21;a=(a&2097151)<<11|h>>>21;i=a+(q&2097151)|0;j=i;e=a>>>0>i>>>0?e+1|0:e;D[d+57|0]=(e&2047)<<21|i>>>11;a=e;c=a;e=i;D[d+56|0]=(a&7)<<29|e>>>3;e=d;a=a>>21;c=(c&2097151)<<11|i>>>21;i=c+(o&2097151)|0;f=i;a=c>>>0>f>>>0?a+1|0:a;c=a;D[e+59|0]=(a&63)<<26|f>>>6;i=0;k=j&2097151;a=k;D[e+55|0]=((b&65535)<<16|h>>>16)&31|a<<5;a=c>>21;c=(c&2097151)<<11|f>>>21;l=c+(n&2097151)|0;j=l;b=c>>>0>j>>>0?a+1|0:a;c=j;D[e+63|0]=(b&131071)<<15|c>>>17;a=b;D[e+62|0]=(a&511)<<23|c>>>9;D[e+61|0]=(a&1)<<31|c>>>1;b=0;e=f&2097151;D[d+58|0]=(i&524287)<<13|k>>>19|e<<2;D[d+60|0]=(b&16383)<<18|e>>>14|c<<7;_=g+624|0}function fb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;k=_-768|0;_=k;a:{if(G[d+63|0]>31){break a}h=_-272|0;_=h;V=G[a+31|0];W=G[a+30|0];X=G[a+6|0];Q=G[a+5|0];R=G[a+9|0];S=G[a+8|0];m=G[a+12|0];E=G[a+11|0];B=G[a+15|0];y=G[a+14|0];C=G[a+28|0];z=G[a+27|0];w=G[a+25|0];t=G[a+24|0];M=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);x=G[a+29|0];A=G[a+4|0];v=G[a+7|0];s=G[a+10|0];n=G[a+13|0];q=G[a+26|0];o=G[a+23|0];r=k+128|0;T=r+40|0;j=T;e=G[a+21|0];i=e>>>17|0;f=e<<15;e=i;p=f;f=G[a+20|0];i=f>>>25|0;p=p|f<<7;f=e|i;e=G[a+22|0];i=e>>>9|0;e=e<<23|p;p=f|i;K=e;e=0;N=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);i=N+16777216|0;e=i>>>0<16777216?1:e;P=i;f=i;i=e>>>25|0;e=(e&33554431)<<7|f>>>25;f=K+e|0;i=i+p|0;i=e>>>0>f>>>0?i+1|0:i;e=f;f=e;e=e+33554432|0;i=e>>>0<33554432?i+1|0:i;U=e;e=i;i=f;f=U&-67108864;F[j+24>>2]=i-f;i=t>>>19|0;t=t<<13;f=i;i=o>>>27|0;K=o<<5|t|w<<21;i=f|i|w>>>11;w=((e&67108863)<<6|U>>>26)+K|0;f=w;e=K+16777216|0;i=e>>>0<16777216?i+1|0:i;t=e;e=i;i=f;f=t&1040187392;F[j+28>>2]=i-f;f=q>>>28|0;q=z<<12|q<<4;p=f|z>>>20|C>>>12;i=e>>>25|0;e=(e&33554431)<<7|t>>>25;f=e+(C<<20|q)|0;i=i+p|0;i=e>>>0>f>>>0?i+1|0:i;e=i;i=f+33554432|0;e=i>>>0<33554432?e+1|0:e;K=i;q=e;e=i&-67108864;F[j+32>>2]=f-e;f=y<<10|n<<2;i=y>>>22|n>>>30;n=B<<18|f;p=B>>>14|i;t=E<<11|s<<3|m<<19;f=E>>>21|s>>>29|m>>>13;i=t+16777216|0;f=i>>>0<16777216?f+1|0:f;z=i;e=i;i=f>>>25|0;e=(f&33554431)<<7|e>>>25;f=e+n|0;i=i+p|0;i=e>>>0>f>>>0?i+1|0:i;e=f;f=e+33554432|0;i=f>>>0<33554432?i+1|0:i;B=f;p=i;i=e;e=f&-67108864;F[j+16>>2]=i-e;s=S<<13|v<<5|R<<21;o=S>>>19|v>>>27|R>>>11;v=Q<<14|A<<6|X<<22;f=Q>>>18|A>>>26|X>>>10;i=v+16777216|0;f=i>>>0<16777216?f+1|0:f;w=i;e=f>>>25|0;f=(f&33554431)<<7|i>>>25;s=f+s|0;i=e+o|0;i=f>>>0>s>>>0?i+1|0:i;f=s;e=f;f=e+33554432|0;i=f>>>0<33554432?i+1|0:i;y=f;o=i;i=e;e=f&-67108864;F[j+8>>2]=i-e;s=j;e=W>>>22|0;i=x>>>30|0;x=V<<18&33292288|(W<<10|x<<2);e=e|i;i=q>>>26|0;q=(q&67108863)<<6|K>>>26;A=q+x|0;q=A;i=e;e=x+16777216|0;i=e>>>0<16777216?i+1|0:i;n=e;e=i;i=q;f=n&33554432;F[j+36>>2]=i-f;f=(p&67108863)<<6|B>>>26;p=f+N|0;F[j+20>>2]=p-(P&-33554432);f=t;o=f+((o&67108863)<<6|y>>>26)|0;F[j+12>>2]=o-(z&234881024);p=v-(w&2113929216)|0;e=qe((e&33554431)<<7|n>>>25,e>>>25|0,19,0);o=e+M|0;i=$;i=e>>>0>o>>>0?i+1|0:i;e=o;f=i;i=e+33554432|0;f=i>>>0<33554432?f+1|0:f;f=((f&67108863)<<6|i>>>26)+p|0;F[j+4>>2]=f;j=i&-67108864;F[s>>2]=e-j;F[r+84>>2]=0;F[r+88>>2]=0;F[r+80>>2]=1;F[r+92>>2]=0;F[r+96>>2]=0;F[r+100>>2]=0;F[r+104>>2]=0;F[r+108>>2]=0;F[r+112>>2]=0;F[r+116>>2]=0;K=h+192|0;fa(K,s);M=h+144|0;ha(M,K,1936);N=F[r+116>>2];P=F[r+112>>2];V=F[r+108>>2];W=F[r+104>>2];X=F[r+100>>2];Q=F[r+96>>2];R=F[r+92>>2];S=F[r+88>>2];m=F[r+84>>2];E=F[h+228>>2];v=F[h+224>>2];s=F[h+220>>2];n=F[h+216>>2];q=F[h+212>>2];p=F[h+208>>2];o=F[h+204>>2];f=F[h+200>>2];e=F[h+196>>2];j=F[h+192>>2];i=F[r+80>>2];F[h+144>>2]=i+F[h+144>>2];B=j-i|0;F[h+192>>2]=B;y=e-m|0;F[h+196>>2]=y;C=f-S|0;F[h+200>>2]=C;z=o-R|0;F[h+204>>2]=z;w=p-Q|0;F[h+208>>2]=w;t=q-X|0;F[h+212>>2]=t;x=n-W|0;F[h+216>>2]=x;A=s-V|0;F[h+220>>2]=A;v=v-P|0;F[h+224>>2]=v;s=E-N|0;F[h+228>>2]=s;n=F[h+148>>2];q=F[h+152>>2];p=F[h+156>>2];o=F[h+160>>2];f=F[h+164>>2];e=F[h+168>>2];j=F[h+172>>2];i=F[h+176>>2];F[h+180>>2]=N+F[h+180>>2];F[h+176>>2]=i+P;F[h+172>>2]=j+V;F[h+168>>2]=e+W;F[h+164>>2]=f+X;F[h+160>>2]=o+Q;F[h+156>>2]=p+R;F[h+152>>2]=q+S;F[h+148>>2]=m+n;i=h+96|0;fa(i,M);ha(i,i,M);fa(r,i);ha(r,r,M);ha(r,r,K);f=_-144|0;_=f;j=f+96|0;fa(j,r);e=f+48|0;fa(e,j);fa(e,e);ha(e,r,e);ha(j,j,e);fa(j,j);ha(j,e,j);fa(e,j);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(j,e,j);fa(e,j);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(e,e,j);fa(f,e);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);ha(e,f,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(j,e,j);fa(e,j);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(e,e,j);fa(f,e);e=1;while(1){fa(f,f);e=e+1|0;if((e|0)!=100){continue}break}e=f+48|0;ha(e,f,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);j=f+96|0;ha(j,e,j);fa(j,j);fa(j,j);ha(r,j,r);_=f+144|0;ha(r,r,i);ha(r,r,K);i=h+48|0;fa(i,r);ha(i,i,M);F[h+36>>2]=F[h+84>>2]-s;F[h+32>>2]=F[h+80>>2]-v;F[h+28>>2]=F[h+76>>2]-A;F[h+24>>2]=F[h+72>>2]-x;F[h+20>>2]=F[h+68>>2]-t;F[h+16>>2]=F[h+64>>2]-w;F[h+12>>2]=F[h+60>>2]-z;F[h+8>>2]=F[h+56>>2]-C;F[h+4>>2]=F[h+52>>2]-y;F[h>>2]=F[h+48>>2]-B;Fa(h+240|0,h);b:{if(G[h+271|0]|(G[h+270|0]|(G[h+269|0]|(G[h+268|0]|(G[h+267|0]|(G[h+266|0]|(G[h+265|0]|(G[h+264|0]|(G[h+263|0]|(G[h+262|0]|(G[h+261|0]|(G[h+260|0]|(G[h+259|0]|(G[h+258|0]|(G[h+257|0]|(G[h+256|0]|(G[h+255|0]|(G[h+254|0]|(G[h+253|0]|(G[h+252|0]|(G[h+251|0]|(G[h+250|0]|(G[h+249|0]|(G[h+248|0]|(G[h+247|0]|(G[h+246|0]|(G[h+245|0]|(G[h+244|0]|(G[h+243|0]|(G[h+242|0]|(G[h+241|0]|G[h+240|0]))))))))))))))))))))))))))))))){B=F[h+192>>2];y=F[h+48>>2];C=F[h+196>>2];z=F[h+52>>2];w=F[h+200>>2];t=F[h+56>>2];x=F[h+204>>2];A=F[h+60>>2];v=F[h+208>>2];s=F[h+64>>2];n=F[h+212>>2];q=F[h+68>>2];p=F[h+216>>2];o=F[h+72>>2];f=F[h+220>>2];e=F[h+76>>2];j=F[h+224>>2];i=F[h+80>>2];F[h+36>>2]=F[h+228>>2]+F[h+84>>2];F[h+32>>2]=i+j;F[h+28>>2]=e+f;F[h+24>>2]=o+p;F[h+20>>2]=n+q;F[h+16>>2]=s+v;F[h+12>>2]=x+A;F[h+8>>2]=t+w;F[h+4>>2]=C+z;F[h>>2]=y+B;Fa(h+240|0,h);i=-1;if(G[h+271|0]|(G[h+270|0]|(G[h+269|0]|(G[h+268|0]|(G[h+267|0]|(G[h+266|0]|(G[h+265|0]|(G[h+264|0]|(G[h+263|0]|(G[h+262|0]|(G[h+261|0]|(G[h+260|0]|(G[h+259|0]|(G[h+258|0]|(G[h+257|0]|(G[h+256|0]|(G[h+255|0]|(G[h+254|0]|(G[h+253|0]|(G[h+252|0]|(G[h+251|0]|(G[h+250|0]|(G[h+249|0]|(G[h+248|0]|(G[h+247|0]|(G[h+246|0]|(G[h+245|0]|(G[h+244|0]|(G[h+243|0]|(G[h+242|0]|(G[h+241|0]|G[h+240|0]))))))))))))))))))))))))))))))){break b}ha(r,r,1984)}Fa(h+240|0,r);if((D[h+240|0]&1)==(G[a+31|0]>>>7|0)){F[r+36>>2]=0-F[r+36>>2];F[r+32>>2]=0-F[r+32>>2];F[r+28>>2]=0-F[r+28>>2];F[r+24>>2]=0-F[r+24>>2];F[r+20>>2]=0-F[r+20>>2];F[r+16>>2]=0-F[r+16>>2];F[r+12>>2]=0-F[r+12>>2];F[r+8>>2]=0-F[r+8>>2];F[r+4>>2]=0-F[r+4>>2];F[r>>2]=0-F[r>>2]}ha(r+120|0,r,T);i=0}_=h+272|0;if(i){break a}F[k+352>>2]=327033209;F[k+356>>2]=1541459225;F[k+344>>2]=-79577749;F[k+348>>2]=528734635;F[k+336>>2]=725511199;F[k+340>>2]=-1694144372;F[k+328>>2]=-1377402159;F[k+332>>2]=1359893119;p=32;F[k+320>>2]=1595750129;F[k+324>>2]=-1521486534;F[k+312>>2]=-23791573;F[k+316>>2]=1013904242;F[k+304>>2]=-2067093701;F[k+308>>2]=-1150833019;F[k+296>>2]=-205731576;F[k+300>>2]=1779033703;F[k+288>>2]=0;F[k+292>>2]=0;F[k+360>>2]=0;D[k+364|0]=G[d|0];D[k+365|0]=G[d+1|0];D[k+366|0]=G[d+2|0];D[k+367|0]=G[d+3|0];n=k+364|0;D[(n+F[k+360>>2]|0)+4|0]=G[d+4|0];D[(n+F[k+360>>2]|0)+5|0]=G[d+5|0];D[(n+F[k+360>>2]|0)+6|0]=G[d+6|0];D[(n+F[k+360>>2]|0)+7|0]=G[d+7|0];D[(n+F[k+360>>2]|0)+8|0]=G[d+8|0];D[(n+F[k+360>>2]|0)+9|0]=G[d+9|0];D[(n+F[k+360>>2]|0)+10|0]=G[d+10|0];D[(n+F[k+360>>2]|0)+11|0]=G[d+11|0];D[(n+F[k+360>>2]|0)+12|0]=G[d+12|0];D[(n+F[k+360>>2]|0)+13|0]=G[d+13|0];D[(n+F[k+360>>2]|0)+14|0]=G[d+14|0];D[(n+F[k+360>>2]|0)+15|0]=G[d+15|0];D[(n+F[k+360>>2]|0)+16|0]=G[d+16|0];D[(n+F[k+360>>2]|0)+17|0]=G[d+17|0];D[(n+F[k+360>>2]|0)+18|0]=G[d+18|0];D[(n+F[k+360>>2]|0)+19|0]=G[d+19|0];D[(n+F[k+360>>2]|0)+20|0]=G[d+20|0];D[(n+F[k+360>>2]|0)+21|0]=G[d+21|0];D[(n+F[k+360>>2]|0)+22|0]=G[d+22|0];D[(n+F[k+360>>2]|0)+23|0]=G[d+23|0];D[(n+F[k+360>>2]|0)+24|0]=G[d+24|0];D[(n+F[k+360>>2]|0)+25|0]=G[d+25|0];D[(n+F[k+360>>2]|0)+26|0]=G[d+26|0];D[(n+F[k+360>>2]|0)+27|0]=G[d+27|0];D[(n+F[k+360>>2]|0)+28|0]=G[d+28|0];D[(n+F[k+360>>2]|0)+29|0]=G[d+29|0];D[(n+F[k+360>>2]|0)+30|0]=G[d+30|0];D[(n+F[k+360>>2]|0)+31|0]=G[d+31|0];i=F[k+360>>2]+32|0;F[k+360>>2]=i;if((i|0)==128){ta(k+288|0,n);F[k+360>>2]=0;i=F[k+292>>2];e=F[k+288>>2]+1024|0;i=e>>>0<1024?i+1|0:i;F[k+288>>2]=e;F[k+292>>2]=i}q=F[k+360>>2];if(!(!a|q>>>0>128)){while(1){c:{if(!(p>>>0<128|q)){ta(k+288|0,a);i=F[k+292>>2];e=F[k+288>>2]+1024|0;i=e>>>0<1024?i+1|0:i;F[k+288>>2]=e;F[k+292>>2]=i;p=p-128|0;a=a+128|0;break c}i=128-q|0;o=i>>>0>p>>>0?p:i;d:{if(!o){break d}f=o&3;u=0;if(o-1>>>0>=3){e=o&-4;while(1){j=k+364|0;D[j+(q+u|0)|0]=G[a+u|0];i=u|1;D[j+(i+F[k+360>>2]|0)|0]=G[a+i|0];i=u|2;D[j+(i+F[k+360>>2]|0)|0]=G[a+i|0];i=u|3;D[j+(i+F[k+360>>2]|0)|0]=G[a+i|0];u=u+4|0;q=F[k+360>>2];e=e-4|0;if(e){continue}break}}if(!f){break d}while(1){D[((q+u|0)+k|0)+364|0]=G[a+u|0];u=u+1|0;q=F[k+360>>2];f=f-1|0;if(f){continue}break}}p=p-o|0;a=a+o|0;i=o+q|0;F[k+360>>2]=i;if((i|0)!=128){break c}ta(k+288|0,n);F[k+360>>2]=0;e=F[k+292>>2];j=F[k+288>>2]+1024|0;e=j>>>0<1024?e+1|0:e;F[k+288>>2]=j;F[k+292>>2]=e}q=F[k+360>>2];if(p){continue}break}}e:{if(!c|(!b|q>>>0>128)){break e}while(1){f:{if(!(c>>>0<128|q)){ta(k+288|0,b);i=F[k+292>>2];j=F[k+288>>2]+1024|0;i=j>>>0<1024?i+1|0:i;F[k+288>>2]=j;F[k+292>>2]=i;c=c-128|0;b=b+128|0;break f}a=128-q|0;j=a>>>0>c>>>0?c:a;g:{if(!j){break g}p=j&3;u=0;if(j-1>>>0>=3){f=j&-4;while(1){i=k+364|0;D[i+(q+u|0)|0]=G[b+u|0];a=u|1;D[i+(a+F[k+360>>2]|0)|0]=G[a+b|0];a=u|2;D[i+(a+F[k+360>>2]|0)|0]=G[a+b|0];a=u|3;D[i+(a+F[k+360>>2]|0)|0]=G[a+b|0];u=u+4|0;q=F[k+360>>2];f=f-4|0;if(f){continue}break}}if(!p){break g}while(1){D[((q+u|0)+k|0)+364|0]=G[b+u|0];u=u+1|0;q=F[k+360>>2];p=p-1|0;if(p){continue}break}}c=c-j|0;b=b+j|0;a=j+q|0;F[k+360>>2]=a;if((a|0)!=128){break f}ta(k+288|0,n);F[k+360>>2]=0;i=F[k+292>>2];j=F[k+288>>2]+1024|0;i=j>>>0<1024?i+1|0:i;F[k+288>>2]=j;F[k+292>>2]=i}if(!c){break e}q=F[k+360>>2];continue}}f=k+528|0;cb(k+288|0,f);ob(f);V=k+8|0;i=V;c=k+128|0;q=d+32|0;b=0;a=0;l=_-2272|0;_=l;while(1){j=l+2016|0;e=f+(b>>>3|0)|0;D[j+b|0]=G[e|0]>>>(b&6)&1;o=j;j=b|1;D[o+j|0]=G[e|0]>>>(j&7)&1;b=b+2|0;if((b|0)!=256){continue}break}while(1){j=a;a=a+1|0;n=j+(l+2016|0)|0;h:{if(!G[n|0]|j>>>0>254){break h}o=(l+2016|0)+a|0;b=D[o|0];i:{if(!b){break i}f=b<<1;e=D[n|0];b=f+e|0;if((b|0)<=15){D[n|0]=b;D[o|0]=0;break i}b=e-f|0;if((b|0)<-15){break h}D[n|0]=b;b=a;while(1){e=(l+2016|0)+b|0;if(!G[e|0]){D[e|0]=1;break i}D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break}}if(j>>>0>=254){break h}b=j+2|0;p=b+(l+2016|0)|0;e=D[p|0];j:{if(!e){break j}o=e<<2;f=D[n|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break h}D[n|0]=e;while(1){e=(l+2016|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break j}break}D[e|0]=1;break j}D[n|0]=e;D[p|0]=0}if(j>>>0>252){break h}b=j+3|0;p=b+(l+2016|0)|0;e=D[p|0];k:{if(!e){break k}o=e<<3;f=D[n|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break h}D[n|0]=e;while(1){e=(l+2016|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break k}break}D[e|0]=1;break k}D[n|0]=e;D[p|0]=0}if(j>>>0>251){break h}b=j+4|0;p=b+(l+2016|0)|0;e=D[p|0];l:{if(!e){break l}o=e<<4;f=D[n|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break h}D[n|0]=e;while(1){e=(l+2016|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break l}break}D[e|0]=1;break l}D[n|0]=e;D[p|0]=0}if(j>>>0>250){break h}b=j+5|0;p=b+(l+2016|0)|0;e=D[p|0];m:{if(!e){break m}o=e<<5;f=D[n|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break h}D[n|0]=e;while(1){e=(l+2016|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break m}break}D[e|0]=1;break m}D[n|0]=e;D[p|0]=0}if(j>>>0>249){break h}b=j+6|0;o=b+(l+2016|0)|0;j=D[o|0];if(!j){break h}f=j<<6;e=D[n|0];j=f+e|0;if((j|0)>=16){j=e-f|0;if((j|0)<-15){break h}D[n|0]=j;while(1){j=(l+2016|0)+b|0;if(G[j|0]){D[j|0]=0;j=b>>>0<255;b=b+1|0;if(j){continue}break h}break}D[j|0]=1;break h}D[n|0]=j;D[o|0]=0}if((a|0)!=256){continue}break}b=0;while(1){a=l+1760|0;j=q+(b>>>3|0)|0;D[a+b|0]=G[j|0]>>>(b&6)&1;e=a;a=b|1;D[e+a|0]=G[j|0]>>>(a&7)&1;b=b+2|0;if((b|0)!=256){continue}break}a=0;while(1){j=a;a=a+1|0;q=j+(l+1760|0)|0;n:{if(!G[q|0]|j>>>0>254){break n}o=(l+1760|0)+a|0;b=D[o|0];o:{if(!b){break o}f=b<<1;e=D[q|0];b=f+e|0;if((b|0)<=15){D[q|0]=b;D[o|0]=0;break o}b=e-f|0;if((b|0)<-15){break n}D[q|0]=b;b=a;while(1){e=(l+1760|0)+b|0;if(!G[e|0]){D[e|0]=1;break o}D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break}}if(j>>>0>=254){break n}b=j+2|0;p=b+(l+1760|0)|0;e=D[p|0];p:{if(!e){break p}o=e<<2;f=D[q|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break n}D[q|0]=e;while(1){e=(l+1760|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break p}break}D[e|0]=1;break p}D[q|0]=e;D[p|0]=0}if(j>>>0>252){break n}b=j+3|0;p=b+(l+1760|0)|0;e=D[p|0];q:{if(!e){break q}o=e<<3;f=D[q|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break n}D[q|0]=e;while(1){e=(l+1760|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break q}break}D[e|0]=1;break q}D[q|0]=e;D[p|0]=0}if(j>>>0>251){break n}b=j+4|0;p=b+(l+1760|0)|0;e=D[p|0];r:{if(!e){break r}o=e<<4;f=D[q|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break n}D[q|0]=e;while(1){e=(l+1760|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break r}break}D[e|0]=1;break r}D[q|0]=e;D[p|0]=0}if(j>>>0>250){break n}b=j+5|0;p=b+(l+1760|0)|0;e=D[p|0];s:{if(!e){break s}o=e<<5;f=D[q|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break n}D[q|0]=e;while(1){e=(l+1760|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break s}break}D[e|0]=1;break s}D[q|0]=e;D[p|0]=0}if(j>>>0>249){break n}b=j+6|0;o=b+(l+1760|0)|0;j=D[o|0];if(!j){break n}f=j<<6;e=D[q|0];j=f+e|0;if((j|0)>=16){j=e-f|0;if((j|0)<-15){break n}D[q|0]=j;while(1){j=(l+1760|0)+b|0;if(G[j|0]){D[j|0]=0;j=b>>>0<255;b=b+1|0;if(j){continue}break n}break}D[j|0]=1;break n}D[q|0]=j;D[o|0]=0}if((a|0)!=256){continue}break}s=l+480|0;Ga(s,c);n=F[c>>2];q=F[c+4>>2];p=F[c+8>>2];o=F[c+12>>2];f=F[c+16>>2];e=F[c+20>>2];j=F[c+24>>2];b=F[c+28>>2];a=F[c+36>>2];F[l+192>>2]=F[c+32>>2];F[l+196>>2]=a;F[l+184>>2]=j;F[l+188>>2]=b;F[l+176>>2]=f;F[l+180>>2]=e;F[l+168>>2]=p;F[l+172>>2]=o;F[l+160>>2]=n;F[l+164>>2]=q;n=F[c+48>>2];q=F[c+52>>2];p=F[c+56>>2];o=F[c+60>>2];a=c- -64|0;f=F[a>>2];e=F[a+4>>2];j=F[c+40>>2];b=F[c+44>>2];a=F[c+76>>2];F[l+232>>2]=F[c+72>>2];F[l+236>>2]=a;F[l+224>>2]=f;F[l+228>>2]=e;F[l+216>>2]=p;F[l+220>>2]=o;F[l+208>>2]=n;F[l+212>>2]=q;F[l+200>>2]=j;F[l+204>>2]=b;n=F[c+88>>2];q=F[c+92>>2];p=F[c+96>>2];o=F[c+100>>2];f=F[c+104>>2];e=F[c+108>>2];j=F[c+80>>2];b=F[c+84>>2];a=F[c+116>>2];F[l+272>>2]=F[c+112>>2];F[l+276>>2]=a;F[l+264>>2]=f;F[l+268>>2]=e;F[l+256>>2]=p;F[l+260>>2]=o;F[l+248>>2]=n;F[l+252>>2]=q;F[l+240>>2]=j;F[l+244>>2]=b;c=l+320|0;b=l+160|0;Oa(c,b);H=l+440|0;ha(l,c,H);J=l+360|0;I=l+400|0;ha(l+40|0,J,I);ha(l+80|0,I,H);ha(l+120|0,c,J);Ha(c,l,s);ha(b,c,H);O=l+200|0;ha(O,J,I);h=l+240|0;ha(h,I,H);r=l+280|0;ha(r,c,J);a=l+640|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);a=l+800|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);a=l+960|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);a=l+1120|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);a=l+1280|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);a=l+1440|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);Ga(l+1600|0,b);a=i;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0;F[a+44>>2]=0;F[a+48>>2]=0;F[a+40>>2]=1;F[a+52>>2]=0;F[a+56>>2]=0;F[a+60>>2]=0;F[a+64>>2]=0;F[a+68>>2]=0;F[a+72>>2]=0;F[a+84>>2]=0;F[a+88>>2]=0;F[a+76>>2]=0;F[a+80>>2]=1;F[a+92>>2]=0;F[a+96>>2]=0;F[a+100>>2]=0;F[a+104>>2]=0;F[a+108>>2]=0;F[a+112>>2]=0;F[a+116>>2]=0;W=a+80|0;X=a+40|0;a=255;t:{u:{while(1){if(G[(l+2016|0)+a|0]|G[(l+1760|0)+a|0]){break u}b=a-1|0;if(!(G[b+(l+2016|0)|0]|G[b+(l+1760|0)|0])){a=a-2|0;if(b){continue}break t}break}a=b}if((a|0)<0){break t}while(1){Oa(l+320|0,i);b=a;E=D[a+(l+2016|0)|0];v:{if((E|0)>=1){a=l+160|0;c=l+320|0;ha(a,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);Ha(c,a,(l+480|0)+L((E&254)>>>1|0,160)|0);break v}if((E|0)>-1){break v}m=l+160|0;g=l+320|0;ha(m,g,H);ha(O,J,I);ha(h,I,H);ha(r,g,J);y=F[m+44>>2];C=F[m+48>>2];z=F[m+52>>2];w=F[m+56>>2];t=F[m+60>>2];B=m- -64|0;x=F[B>>2];A=F[m+68>>2];v=F[m+72>>2];s=F[m+76>>2];n=F[m+4>>2];q=F[m+8>>2];p=F[m+12>>2];o=F[m+16>>2];f=F[m+20>>2];e=F[m+24>>2];j=F[m+28>>2];c=F[m+32>>2];a=F[m+36>>2];F[g>>2]=F[m>>2]+F[m+40>>2];F[g+36>>2]=a+s;F[g+32>>2]=c+v;F[g+28>>2]=j+A;F[g+24>>2]=e+x;F[g+20>>2]=f+t;F[g+16>>2]=o+w;F[g+12>>2]=p+z;F[g+8>>2]=q+C;F[g+4>>2]=n+y;y=F[m+44>>2];C=F[m+48>>2];z=F[m+52>>2];w=F[m+56>>2];t=F[m+60>>2];x=F[B>>2];A=F[m+68>>2];v=F[m+72>>2];s=F[m>>2];n=F[m+40>>2];q=F[m+4>>2];p=F[m+8>>2];o=F[m+12>>2];f=F[m+16>>2];e=F[m+20>>2];j=F[m+24>>2];c=F[m+28>>2];a=F[m+32>>2];F[g+76>>2]=F[m+76>>2]-F[m+36>>2];F[g+72>>2]=v-a;F[g+68>>2]=A-c;u=g- -64|0;F[u>>2]=x-j;F[g+60>>2]=t-e;F[g+56>>2]=w-f;F[g+52>>2]=z-o;F[g+48>>2]=C-p;F[g+44>>2]=y-q;F[g+40>>2]=n-s;c=(l+480|0)+L((0-E&254)>>>1|0,160)|0;ha(g+80|0,g,c+40|0);a=g+40|0;ha(a,a,c);ha(g+120|0,c+120|0,m+120|0);ha(g,m+80|0,c+80|0);T=F[g+44>>2];U=F[g+84>>2];M=F[g+48>>2];K=F[g+88>>2];N=F[g+52>>2];P=F[g+92>>2];E=F[g+56>>2];B=F[g+96>>2];y=F[g+60>>2];C=F[g+100>>2];z=F[u>>2];w=F[g+104>>2];t=F[g+68>>2];x=F[g+108>>2];A=F[g+72>>2];v=F[g+112>>2];Q=F[g>>2];R=F[g+4>>2];S=F[g+8>>2];m=F[g+12>>2];q=F[g+16>>2];p=F[g+20>>2];o=F[g+24>>2];f=F[g+28>>2];e=F[g+32>>2];j=F[g+36>>2];s=F[g+40>>2];n=F[g+80>>2];c=F[g+76>>2];a=F[g+116>>2];F[g+76>>2]=c+a;F[g+72>>2]=v+A;F[g+68>>2]=t+x;F[u>>2]=w+z;F[g+60>>2]=y+C;F[g+56>>2]=B+E;F[g+52>>2]=N+P;F[g+48>>2]=K+M;F[g+44>>2]=T+U;F[g+40>>2]=n+s;F[g+36>>2]=a-c;F[g+32>>2]=v-A;F[g+28>>2]=x-t;F[g+24>>2]=w-z;F[g+20>>2]=C-y;F[g+16>>2]=B-E;F[g+12>>2]=P-N;F[g+8>>2]=K-M;F[g+4>>2]=U-T;F[g>>2]=n-s;E=F[g+156>>2];B=j<<1;F[g+156>>2]=E+B;y=F[g+152>>2];C=e<<1;F[g+152>>2]=y+C;z=F[g+148>>2];w=f<<1;F[g+148>>2]=z+w;t=F[g+144>>2];x=o<<1;F[g+144>>2]=t+x;A=F[g+140>>2];v=p<<1;F[g+140>>2]=A+v;s=F[g+136>>2];n=q<<1;F[g+136>>2]=s+n;q=F[g+132>>2];p=m<<1;F[g+132>>2]=q+p;o=F[g+128>>2];f=S<<1;F[g+128>>2]=o+f;e=F[g+124>>2];j=R<<1;F[g+124>>2]=e+j;c=F[g+120>>2];a=Q<<1;F[g+120>>2]=c+a;F[g+112>>2]=C-y;F[g+108>>2]=w-z;F[g+104>>2]=x-t;F[g+100>>2]=v-A;F[g+96>>2]=n-s;F[g+92>>2]=p-q;F[g+88>>2]=f-o;F[g+84>>2]=j-e;F[g+80>>2]=a-c;F[g+116>>2]=B-E}E=D[b+(l+1760|0)|0];w:{if((E|0)>=1){a=l+160|0;c=l+320|0;ha(a,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);nb(c,a,L((E&254)>>>1|0,120)+36560|0);break w}if((E|0)>-1){break w}m=l+160|0;g=l+320|0;ha(m,g,H);ha(O,J,I);ha(h,I,H);ha(r,g,J);y=F[m+44>>2];C=F[m+48>>2];z=F[m+52>>2];w=F[m+56>>2];t=F[m+60>>2];B=m- -64|0;x=F[B>>2];A=F[m+68>>2];v=F[m+72>>2];s=F[m+76>>2];n=F[m+4>>2];q=F[m+8>>2];p=F[m+12>>2];o=F[m+16>>2];f=F[m+20>>2];e=F[m+24>>2];j=F[m+28>>2];c=F[m+32>>2];a=F[m+36>>2];F[g>>2]=F[m>>2]+F[m+40>>2];F[g+36>>2]=a+s;F[g+32>>2]=c+v;F[g+28>>2]=j+A;F[g+24>>2]=e+x;F[g+20>>2]=f+t;F[g+16>>2]=o+w;F[g+12>>2]=p+z;F[g+8>>2]=q+C;F[g+4>>2]=n+y;y=F[m+44>>2];C=F[m+48>>2];z=F[m+52>>2];w=F[m+56>>2];t=F[m+60>>2];x=F[B>>2];A=F[m+68>>2];v=F[m+72>>2];s=F[m>>2];n=F[m+40>>2];q=F[m+4>>2];p=F[m+8>>2];o=F[m+12>>2];f=F[m+16>>2];e=F[m+20>>2];j=F[m+24>>2];c=F[m+28>>2];a=F[m+32>>2];F[g+76>>2]=F[m+76>>2]-F[m+36>>2];F[g+72>>2]=v-a;F[g+68>>2]=A-c;u=g- -64|0;F[u>>2]=x-j;F[g+60>>2]=t-e;F[g+56>>2]=w-f;F[g+52>>2]=z-o;F[g+48>>2]=C-p;F[g+44>>2]=y-q;F[g+40>>2]=n-s;c=L((0-E&254)>>>1|0,120)+36560|0;ha(g+80|0,g,c+40|0);a=g+40|0;ha(a,a,c);ha(g+120|0,c+80|0,m+120|0);Q=F[m+84>>2];R=F[m+88>>2];S=F[m+92>>2];q=F[m+96>>2];p=F[m+100>>2];o=F[m+104>>2];f=F[m+108>>2];e=F[m+112>>2];j=F[m+116>>2];T=F[g+44>>2];U=F[g+84>>2];M=F[g+48>>2];K=F[g+88>>2];N=F[g+52>>2];P=F[g+92>>2];E=F[g+56>>2];B=F[g+96>>2];y=F[g+60>>2];C=F[g+100>>2];z=F[u>>2];w=F[g+104>>2];t=F[g+68>>2];x=F[g+108>>2];A=F[g+72>>2];v=F[g+112>>2];m=F[m+80>>2];s=F[g+40>>2];n=F[g+80>>2];c=F[g+76>>2];a=F[g+116>>2];F[g+76>>2]=c+a;F[g+72>>2]=v+A;F[g+68>>2]=t+x;F[u>>2]=w+z;F[g+60>>2]=y+C;F[g+56>>2]=B+E;F[g+52>>2]=N+P;F[g+48>>2]=K+M;F[g+44>>2]=T+U;F[g+40>>2]=n+s;F[g+36>>2]=a-c;F[g+32>>2]=v-A;F[g+28>>2]=x-t;F[g+24>>2]=w-z;F[g+20>>2]=C-y;F[g+16>>2]=B-E;F[g+12>>2]=P-N;F[g+8>>2]=K-M;F[g+4>>2]=U-T;F[g>>2]=n-s;E=F[g+156>>2];B=j<<1;F[g+156>>2]=E+B;y=F[g+152>>2];C=e<<1;F[g+152>>2]=y+C;z=F[g+148>>2];w=f<<1;F[g+148>>2]=z+w;t=F[g+144>>2];x=o<<1;F[g+144>>2]=t+x;A=F[g+140>>2];v=p<<1;F[g+140>>2]=A+v;s=F[g+136>>2];n=q<<1;F[g+136>>2]=s+n;q=F[g+132>>2];p=S<<1;F[g+132>>2]=q+p;o=F[g+128>>2];f=R<<1;F[g+128>>2]=o+f;e=F[g+124>>2];j=Q<<1;F[g+124>>2]=e+j;c=F[g+120>>2];a=m<<1;F[g+120>>2]=c+a;F[g+112>>2]=C-y;F[g+108>>2]=w-z;F[g+104>>2]=x-t;F[g+100>>2]=v-A;F[g+96>>2]=n-s;F[g+92>>2]=p-q;F[g+88>>2]=f-o;F[g+84>>2]=j-e;F[g+80>>2]=a-c;F[g+116>>2]=B-E}ha(i,l+320|0,H);ha(X,J,I);ha(W,I,H);a=b-1|0;if((b|0)>0){continue}break}}_=l+2272|0;c=k+688|0;pb(c,k+88|0);b=k+640|0;ha(b,V,c);a=k+592|0;ha(a,k+48|0,c);Fa(k+496|0,a);Fa(k+736|0,b);u=!(G[d+1|0]^G[k+497|0]|G[d|0]^G[k+496|0]|G[d+2|0]^G[k+498|0]|G[d+3|0]^G[k+499|0]|G[d+4|0]^G[k+500|0]|G[d+5|0]^G[k+501|0]|G[d+6|0]^G[k+502|0]|G[d+7|0]^G[k+503|0]|G[d+8|0]^G[k+504|0]|G[d+9|0]^G[k+505|0]|G[d+10|0]^G[k+506|0]|G[d+11|0]^G[k+507|0]|G[d+12|0]^G[k+508|0]|G[d+13|0]^G[k+509|0]|G[d+14|0]^G[k+510|0]|G[d+15|0]^G[k+511|0]|G[d+16|0]^G[k+512|0]|G[d+17|0]^G[k+513|0]|G[d+18|0]^G[k+514|0]|G[d+19|0]^G[k+515|0]|G[d+20|0]^G[k+516|0]|G[d+21|0]^G[k+517|0]|G[d+22|0]^G[k+518|0]|G[d+23|0]^G[k+519|0]|G[d+24|0]^G[k+520|0]|G[d+25|0]^G[k+521|0]|G[d+26|0]^G[k+522|0]|G[d+27|0]^G[k+523|0]|G[d+28|0]^G[k+524|0]|G[d+29|0]^G[k+525|0]|G[d+30|0]^G[k+526|0]|G[d+31|0]^(G[k+527|0]^G[k+736|0]<<7&128))}_=k+768|0;return(u|0)!=0}function ob(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;c=G[a+48|0];b=c>>>24|0;m=G[a+47|0];e=m|c<<8;g=G[a+49|0];d=g>>>16|0;i=g<<16;d=b|d;c=e|i;F=((d&3)<<30|c>>>2)&2097151;c=qe(F,0,136657,0);d=G[a+27|0];b=d>>>24|0;f=G[a+26|0];i=f|d<<8;e=c;ba=G[a+28|0];d=ba;c=d>>>16|0;d=d<<16;c=b|c;b=d|i;c=((c&3)<<30|b>>>2)&2097151;d=e+c|0;b=$;i=d;d=c>>>0>d>>>0?b+1|0:b;c=G[a+50|0];b=c>>>24|0;g=g|c<<8;e=G[a+51|0];c=e>>>16|0;h=g|e<<16;g=b|c;c=i;e=G[a+52|0];b=e>>>8|0;i=e<<24;g=b|g;b=i|h;H=((g&127)<<25|b>>>7)&2097151;b=qe(H,0,-997805,-1);i=c+b|0;c=$+d|0;c=b>>>0>i>>>0?c+1|0:c;d=c;b=G[a+53|0];c=b>>>24|0;g=e|b<<8;e=G[a+54|0];b=e>>>16|0;h=g|e<<16;g=b|c;b=i;e=G[a+55|0];c=e>>>8|0;i=e<<24;g=c|g;c=i|h;I=((g&15)<<28|c>>>4)&2097151;c=qe(I,0,654183,0);i=b+c|0;b=$+d|0;b=c>>>0>i>>>0?b+1|0:b;c=i;i=b;d=G[a+56|0];b=d>>>24|0;h=e|d<<8;j=c;g=G[a+57|0];e=g;c=e>>>16|0;e=e<<16;d=b|c;c=e|h;J=((d&1)<<31|c>>>1)&2097151;b=qe(J,0,470296,0);d=j+b|0;c=$+i|0;h=d;d=b>>>0>d>>>0?c+1|0:c;b=G[a+58|0];c=b>>>24|0;i=g|b<<8;b=c;e=i;i=G[a+59|0];c=i>>>16|0;g=e|i<<16;e=b|c;o=G[a+60|0];i=o;c=i>>>8|0;i=i<<24;e=c|e;c=g|i;K=((e&63)<<26|c>>>6)&2097151;c=qe(K,0,666643,0);i=c+h|0;b=$+d|0;b=c>>>0>i>>>0?b+1|0:b;j=i;h=b;n=qe(F,S,-997805,-1);b=G[a+24|0];d=b>>>24|0;e=G[a+23|0];g=e|b<<8;b=G[a+25|0];c=b>>>16|0;g=g|b<<16;d=c|d|f>>>8;b=f<<24|g;c=((d&31)<<27|b>>>5)&2097151;d=c+n|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=d;d=qe(H,T,654183,0);f=c+d|0;c=$+b|0;c=d>>>0>f>>>0?c+1|0:c;b=qe(I,U,470296,0);d=b+f|0;c=$+c|0;c=b>>>0>d>>>0?c+1|0:c;b=qe(J,V,666643,0);f=b+d|0;d=$+c|0;g=f;f=b>>>0>f>>>0?d+1|0:d;d=qe(F,S,654183,0);c=e<<16&2031616|(G[a+21|0]|G[a+22|0]<<8);d=d+c|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=qe(H,T,470296,0);d=c+d|0;b=$+b|0;b=c>>>0>d>>>0?b+1|0:b;c=qe(I,U,666643,0);e=c+d|0;d=$+b|0;k=e;d=c>>>0>e>>>0?d+1|0:d;e=d;b=k;d=d-((b>>>0<4293918720)-1|0)|0;C=b- -1048576|0;s=d;b=d>>>21|0;d=(d&2097151)<<11|C>>>21;g=d+g|0;c=b+f|0;c=d>>>0>g>>>0?c+1|0:c;p=c;b=g;d=c-((b>>>0<4293918720)-1|0)|0;q=b- -1048576|0;n=d;ca=i- -1048576|0;f=h-((i>>>0<4293918720)-1|0)|0;i=f;c=(d&2097151)<<11|q>>>21;j=c+j|0;d=(d>>21)+h|0;d=c>>>0>j>>>0?d+1|0:d;c=j;b=ca&-2097152;v=c-b|0;u=d-((b>>>0>c>>>0)+f|0)|0;b=G[a+61|0];c=b>>>24|0;f=o|b<<8;d=G[a+62|0];b=d>>>16|0;f=f|d<<16;d=b|c;b=G[a+63|0];c=b>>>8|0;b=b<<24|f;d=c|d;c=d>>>3|0;L=(d&7)<<29|b>>>3;z=c;d=qe(L,c,-683901,-1);l=G[a+44|0];c=l;c=c<<16&2031616|(G[a+42|0]|G[a+43|0]<<8);d=d+c|0;b=$;f=d;b=c>>>0>d>>>0?b+1|0:b;r=b;b=d;d=r-((b>>>0<4293918720)-1|0)|0;o=b- -1048576|0;j=d;w=(d&2097151)<<11|o>>>21;h=d>>21;b=G[a+45|0];c=b>>>24|0;l=l|b<<8;b=G[a+46|0];d=b>>>16|0;l=l|b<<16;d=c|d|m>>>8;b=m<<24|l;b=((d&31)<<27|b>>>5)&2097151;d=b+w|0;c=h;P=d;c=b>>>0>d>>>0?c+1|0:c;x=c;c=qe(d,c,-683901,-1);d=c+v|0;b=$+u|0;b=c>>>0>d>>>0?b+1|0:b;c=d;da=c- -1048576|0;h=b-((c>>>0<4293918720)-1|0)|0;M=h;d=da&-2097152;_=c-d|0;aa=b-((c>>>0<d>>>0)+h|0)|0;c=qe(P,x,136657,0);b=q&-2097152;d=c+(g-b|0)|0;b=$+(p-((b>>>0>g>>>0)+n|0)|0)|0;q=d;n=c>>>0>d>>>0?b+1|0:b;b=o&-2097152;o=f-b|0;m=r-((b>>>0>f>>>0)+j|0)|0;c=qe(K,W,-683901,-1);d=G[a+40|0];b=d>>>24|0;g=G[a+39|0];f=g|d<<8;h=c;c=G[a+41|0];d=c>>>16|0;c=c<<16;d=b|d;b=c|f;c=d>>>3|0;b=(d&7)<<29|b>>>3;d=h+b|0;c=c+$|0;c=b>>>0>d>>>0?c+1|0:c;b=d;d=qe(L,z,136657,0);f=b+d|0;b=$+c|0;p=f;f=d>>>0>f>>>0?b+1|0:b;r=qe(J,V,-683901,-1);b=G[a+37|0];c=b>>>24|0;A=G[a+36|0];d=A|b<<8;b=c;h=d;d=G[a+38|0];c=d>>>16|0;h=h|d<<16;d=b|c|g>>>8;b=g<<24|h;b=((d&63)<<26|b>>>6)&2097151;c=b+r|0;d=$;d=b>>>0>c>>>0?d+1|0:d;b=c;c=qe(K,W,136657,0);g=b+c|0;b=$+d|0;b=c>>>0>g>>>0?b+1|0:b;d=qe(L,z,-997805,-1);g=d+g|0;c=$+b|0;j=g;c=d>>>0>g>>>0?c+1|0:c;t=c;b=g;d=c-((b>>>0<4293918720)-1|0)|0;X=b- -1048576|0;v=d;b=d>>21;c=(d&2097151)<<11|X>>>21;d=c+p|0;b=b+f|0;h=d;b=c>>>0>d>>>0?b+1|0:b;u=b;b=d;d=u-((b>>>0<4293918720)-1|0)|0;B=b- -1048576|0;r=d;b=d>>21;d=(d&2097151)<<11|B>>>21;f=d+o|0;c=b+m|0;Q=f;c=d>>>0>f>>>0?c+1|0:c;E=c;b=qe(f,c,-683901,-1);d=b+q|0;c=$+n|0;R=d;o=b>>>0>d>>>0?c+1|0:c;n=k;k=e;c=qe(F,S,470296,0);e=G[a+19|0];b=e>>>24|0;d=G[a+18|0];f=d|e<<8;g=c;e=G[a+20|0];c=e>>>16|0;e=e<<16;p=b|c;b=e|f;e=(p&7)<<29|b>>>3;f=g+e|0;b=$+(p>>>3|0)|0;y=f;e=e>>>0>f>>>0?b+1|0:b;m=qe(F,S,666643,0);c=G[a+16|0];b=c>>>24|0;w=G[a+15|0];g=w|c<<8;f=G[a+17|0];c=f>>>16|0;g=g|f<<16;f=b|c;c=d<<24;d=d>>>8|f;b=c|g;b=((d&63)<<26|b>>>6)&2097151;c=b+m|0;d=$;g=c;d=b>>>0>c>>>0?d+1|0:d;l=d;b=c;d=d-((b>>>0<4293918720)-1|0)|0;Y=b- -1048576|0;q=d;b=d>>>21|0;d=(d&2097151)<<11|Y>>>21;f=d+y|0;c=b+e|0;c=d>>>0>f>>>0?c+1|0:c;d=qe(H,T,666643,0);e=d+f|0;b=$+c|0;f=e;b=d>>>0>e>>>0?b+1|0:b;m=b;b=e;e=m-((b>>>0<4293918720)-1|0)|0;y=b- -1048576|0;p=e;b=B&-2097152;d=u-((b>>>0>h>>>0)+r|0)|0;N=h-b|0;B=d;c=e>>>21|0;b=(e&2097151)<<11|y>>>21;e=b+n|0;c=c+k|0;c=b>>>0>e>>>0?c+1|0:c;h=e;b=C&-2097152;e=qe(P,x,-997805,-1);k=(h-b|0)+e|0;b=$+(c-((s&8191)+(b>>>0>h>>>0)|0)|0)|0;b=e>>>0>k>>>0?b+1|0:b;e=qe(Q,E,136657,0);h=e+k|0;c=$+b|0;c=e>>>0>h>>>0?c+1|0:c;b=qe(N,d,-683901,-1);e=b+h|0;d=$+c|0;d=b>>>0>e>>>0?d+1|0:d;r=d;b=e;d=d-((b>>>0<4293918720)-1|0)|0;s=b- -1048576|0;n=d;c=d>>21;b=(d&2097151)<<11|s>>>21;d=b+R|0;c=c+o|0;c=b>>>0>d>>>0?c+1|0:c;b=d;k=c;h=c-((b>>>0<4293918720)-1|0)|0;c=h>>21;u=b- -1048576|0;o=(h&2097151)<<11|u>>>21;C=o+_|0;d=c+aa|0;ea=C;o=o>>>0>C>>>0?d+1|0:d;c=u&-2097152;fa=b-c|0;ga=k-((b>>>0<c>>>0)+h|0)|0;b=s&-2097152;R=e-b|0;C=r-((b>>>0>e>>>0)+n|0)|0;c=qe(P,x,654183,0);b=y&-2097152;d=c+(f-b|0)|0;b=$+(m-((b>>>0>f>>>0)+p|0)|0)|0;b=c>>>0>d>>>0?b+1|0:b;c=qe(Q,E,-997805,-1);e=c+d|0;d=$+b|0;d=c>>>0>e>>>0?d+1|0:d;b=qe(N,B,136657,0);e=b+e|0;c=$+d|0;y=e;h=b>>>0>e>>>0?c+1|0:c;b=X&-2097152;s=j-b|0;v=t-((b>>>0>j>>>0)+v|0)|0;b=qe(I,U,-683901,-1);d=G[a+35|0];c=d>>>24|0;f=G[a+34|0];e=f|d<<8;d=b;c=A>>>16|c;b=A<<16|e;b=((c&1)<<31|b>>>1)&2097151;d=d+b|0;c=$;c=b>>>0>d>>>0?c+1|0:c;b=qe(J,V,136657,0);e=b+d|0;d=$+c|0;d=b>>>0>e>>>0?d+1|0:d;b=qe(K,W,-997805,-1);e=b+e|0;c=$+d|0;c=b>>>0>e>>>0?c+1|0:c;d=qe(L,z,654183,0);e=d+e|0;b=$+c|0;m=e;e=d>>>0>e>>>0?b+1|0:b;n=qe(H,T,-683901,-1);b=G[a+32|0];d=b>>>24|0;p=G[a+31|0];j=p|b<<8;b=G[a+33|0];c=b>>>16|0;j=j|b<<16;d=c|d|f>>>8;b=f<<24|j;c=((d&15)<<28|b>>>4)&2097151;d=c+n|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=d;d=qe(I,U,136657,0);f=c+d|0;c=$+b|0;c=d>>>0>f>>>0?c+1|0:c;b=qe(J,V,-997805,-1);d=b+f|0;c=$+c|0;c=b>>>0>d>>>0?c+1|0:c;b=qe(K,W,654183,0);f=b+d|0;d=$+c|0;d=b>>>0>f>>>0?d+1|0:d;c=qe(L,z,470296,0);f=c+f|0;b=$+d|0;b=c>>>0>f>>>0?b+1|0:b;r=b;b=f;c=r-((b>>>0<4293918720)-1|0)|0;u=b- -1048576|0;n=c;b=(c&2097151)<<11|u>>>21;j=b+m|0;c=(c>>21)+e|0;e=j;c=b>>>0>e>>>0?c+1|0:c;j=c;b=e;m=c-((b>>>0<4293918720)-1|0)|0;k=b- -1048576|0;c=m;d=c>>21;m=(c&2097151)<<11|k>>>21;t=m+s|0;b=d+v|0;Z=t;b=m>>>0>t>>>0?b+1|0:b;s=b;d=qe(t,b,-683901,-1);m=d+y|0;b=$+h|0;b=d>>>0>m>>>0?b+1|0:b;h=b;b=k&-2097152;j=j-((b>>>0>e>>>0)+c|0)|0;O=e-b|0;A=j;b=qe(P,x,470296,0);c=Y&-2097152;d=b+(g-c|0)|0;c=$+(l-((q&2047)+(c>>>0>g>>>0)|0)|0)|0;c=b>>>0>d>>>0?c+1|0:c;b=d;d=qe(Q,E,654183,0);e=b+d|0;b=$+c|0;b=d>>>0>e>>>0?b+1|0:b;c=qe(N,B,-997805,-1);d=c+e|0;b=$+b|0;b=c>>>0>d>>>0?b+1|0:b;c=qe(t,s,136657,0);e=c+d|0;d=$+b|0;d=c>>>0>e>>>0?d+1|0:d;b=qe(O,j,-683901,-1);e=b+e|0;c=$+d|0;c=b>>>0>e>>>0?c+1|0:c;k=c;b=e;d=c-((b>>>0<4293918720)-1|0)|0;l=b- -1048576|0;j=d;b=(d&2097151)<<11|l>>>21;g=b+m|0;d=(d>>21)+h|0;d=b>>>0>g>>>0?d+1|0:d;b=g;h=d;g=d-((b>>>0<4293918720)-1|0)|0;c=g>>21;q=b- -1048576|0;d=(g&2097151)<<11|q>>>21;m=d+R|0;c=c+C|0;_=m;m=d>>>0>m>>>0?c+1|0:c;c=q&-2097152;aa=b-c|0;R=h-((b>>>0<c>>>0)+g|0)|0;b=l&-2097152;y=e-b|0;v=k-((b>>>0>e>>>0)+j|0)|0;c=qe(P,x,666643,0);d=G[a+14|0];b=d>>>24|0;g=G[a+13|0];e=g|d<<8;d=w>>>16|b;b=w<<16|e;b=((d&1)<<31|b>>>1)&2097151;d=b+c|0;c=$;c=b>>>0>d>>>0?c+1|0:c;b=d;d=qe(Q,E,470296,0);e=b+d|0;b=$+c|0;b=d>>>0>e>>>0?b+1|0:b;c=qe(N,B,654183,0);d=c+e|0;b=$+b|0;l=d;e=c>>>0>d>>>0?b+1|0:b;b=u&-2097152;q=f-b|0;k=r-((b>>>0>f>>>0)+n|0)|0;j=qe(F,S,-683901,-1);b=G[a+29|0];c=b>>>24|0;d=ba|b<<8;b=c;f=d;d=G[a+30|0];c=d>>>16|0;f=f|d<<16;d=b|c|p>>>8;b=p<<24|f;b=((d&127)<<25|b>>>7)&2097151;c=b+j|0;d=$;d=b>>>0>c>>>0?d+1|0:d;b=c;c=qe(H,T,136657,0);f=b+c|0;b=$+d|0;b=c>>>0>f>>>0?b+1|0:b;d=qe(I,U,-997805,-1);f=d+f|0;c=$+b|0;c=d>>>0>f>>>0?c+1|0:c;b=qe(J,V,654183,0);d=b+f|0;c=$+c|0;c=b>>>0>d>>>0?c+1|0:c;b=d;d=qe(K,W,470296,0);f=b+d|0;b=$+c|0;b=d>>>0>f>>>0?b+1|0:b;c=qe(L,z,666643,0);f=c+f|0;d=$+b|0;d=c>>>0>f>>>0?d+1|0:d;c=i>>21;i=(i&2097151)<<11|ca>>>21;f=i+f|0;b=c+d|0;b=f>>>0<i>>>0?b+1|0:b;r=b;b=f;d=r-((b>>>0<4293918720)-1|0)|0;u=b- -1048576|0;n=d;c=d>>21;d=(d&2097151)<<11|u>>>21;i=d+q|0;b=c+k|0;z=i;b=d>>>0>i>>>0?b+1|0:b;t=b;b=qe(i,b,-683901,-1);c=b+l|0;d=$+e|0;d=b>>>0>c>>>0?d+1|0:d;b=c;c=qe(Z,s,-997805,-1);i=b+c|0;b=$+d|0;b=c>>>0>i>>>0?b+1|0:b;d=qe(O,A,136657,0);i=d+i|0;c=$+b|0;p=i;i=d>>>0>i>>>0?c+1|0:c;c=qe(Q,E,666643,0);b=G[a+11|0];d=b>>>24|0;k=G[a+10|0];h=k|b<<8;e=G[a+12|0];b=e>>>16|0;e=h|e<<16;h=c;c=b|d|g>>>8;b=((c&15)<<28|(g<<24|e)>>>4)&2097151;d=h+b|0;c=$;c=b>>>0>d>>>0?c+1|0:c;b=d;d=qe(N,B,470296,0);e=b+d|0;b=$+c|0;b=d>>>0>e>>>0?b+1|0:b;c=qe(z,t,136657,0);d=c+e|0;b=$+b|0;b=c>>>0>d>>>0?b+1|0:b;c=qe(Z,s,654183,0);e=c+d|0;d=$+b|0;d=c>>>0>e>>>0?d+1|0:d;b=qe(O,A,-997805,-1);e=b+e|0;c=$+d|0;w=e;c=b>>>0>e>>>0?c+1|0:c;j=c;b=e;c=c-((b>>>0<4293918720)-1|0)|0;l=b- -1048576|0;h=c;d=c>>21;c=(c&2097151)<<11|l>>>21;e=c+p|0;b=d+i|0;b=c>>>0>e>>>0?b+1|0:b;i=b;b=e;c=i-((b>>>0<4293918720)-1|0)|0;q=b- -1048576|0;g=c;b=(c&2097151)<<11|q>>>21;p=b+y|0;c=(c>>21)+v|0;E=p;p=b>>>0>p>>>0?c+1|0:c;d=i;c=u&-2097152;b=f-c|0;f=r-((c>>>0>f>>>0)+n|0)|0;i=(M&2097151)<<11|da>>>21;n=i+b|0;b=(M>>21)+f|0;b=i>>>0>n>>>0?b+1|0:b;i=n;r=b;b=i;f=r-((b>>>0<4293918720)-1|0)|0;u=b- -1048576|0;n=f;c=f>>21;v=c;x=(f&2097151)<<11|u>>>21;c=qe(x,c,-683901,-1);e=c+e|0;b=$+d|0;b=c>>>0>e>>>0?b+1|0:b;d=e;c=q&-2097152;C=d-c|0;X=b-((c>>>0>d>>>0)+g|0)|0;c=qe(x,v,136657,0);d=c+w|0;b=$+j|0;b=c>>>0>d>>>0?b+1|0:b;c=l&-2097152;y=d-c|0;M=b-((c>>>0>d>>>0)+h|0)|0;h=qe(N,B,666643,0);c=G[a+8|0];b=c>>>24|0;e=G[a+7|0];f=e|c<<8;c=G[a+9|0];d=c>>>16|0;f=f|c<<16;c=b|d|k>>>8;c=((c&127)<<25|(k<<24|f)>>>7)&2097151;d=c+h|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=d;d=qe(z,t,-997805,-1);f=c+d|0;c=$+b|0;c=d>>>0>f>>>0?c+1|0:c;b=qe(Z,s,470296,0);f=b+f|0;d=$+c|0;d=b>>>0>f>>>0?d+1|0:d;c=qe(O,A,654183,0);f=c+f|0;b=$+d|0;j=f;d=c>>>0>f>>>0?b+1|0:b;b=qe(z,t,654183,0);f=G[a+6|0];c=f>>>24|0;h=G[a+5|0];f=h|f<<8;g=b;b=e>>>16|0;e=e<<16;c=b|c;b=e|f;b=((c&3)<<30|b>>>2)&2097151;e=g+b|0;c=$;c=b>>>0>e>>>0?c+1|0:c;b=e;e=qe(Z,s,666643,0);f=b+e|0;b=$+c|0;b=e>>>0>f>>>0?b+1|0:b;e=qe(O,A,470296,0);f=e+f|0;c=$+b|0;w=f;c=e>>>0>f>>>0?c+1|0:c;g=c;b=f;e=c-((b>>>0<4293918720)-1|0)|0;l=b- -1048576|0;f=e;b=e>>21;c=(e&2097151)<<11|l>>>21;e=c+j|0;b=b+d|0;q=e;b=c>>>0>e>>>0?b+1|0:b;d=b;b=e;k=d-((b>>>0<4293918720)-1|0)|0;j=b- -1048576|0;e=k;b=e>>21;k=(e&2097151)<<11|j>>>21;s=k+y|0;c=b+M|0;B=s;k=k>>>0>s>>>0?c+1|0:c;b=qe(x,v,-997805,-1);c=b+q|0;d=$+d|0;d=b>>>0>c>>>0?d+1|0:d;b=j&-2097152;Y=c-b|0;y=d-((b>>>0>c>>>0)+e|0)|0;b=qe(x,v,654183,0);d=b+w|0;c=$+g|0;c=b>>>0>d>>>0?c+1|0:c;b=l&-2097152;s=d-b|0;M=c-((b>>>0>d>>>0)+f|0)|0;j=qe(z,t,470296,0);b=G[a+3|0];c=b>>>24|0;f=G[a+2|0];e=f|b<<8;d=G[a+4|0];b=d>>>16|0;e=e|d<<16;c=b|c|h>>>8;b=((c&31)<<27|(h<<24|e)>>>5)&2097151;c=b+j|0;d=$;d=b>>>0>c>>>0?d+1|0:d;b=c;c=qe(O,A,666643,0);e=b+c|0;b=$+d|0;g=e;e=c>>>0>e>>>0?b+1|0:b;d=qe(z,t,666643,0);c=f<<16&2031616|(G[a|0]|G[a+1|0]<<8);d=d+c|0;b=$;b=c>>>0>d>>>0?b+1|0:b;j=b;b=d;f=j-((b>>>0<4293918720)-1|0)|0;w=b- -1048576|0;h=f;c=f>>21;f=(f&2097151)<<11|w>>>21;g=f+g|0;b=c+e|0;l=g;b=f>>>0>g>>>0?b+1|0:b;g=b;b=l;e=g-((b>>>0<4293918720)-1|0)|0;q=b- -1048576|0;f=e;c=e>>21;e=(e&2097151)<<11|q>>>21;t=e+s|0;b=c+M|0;b=e>>>0>t>>>0?b+1|0:b;e=b;b=qe(x,v,470296,0);l=b+l|0;c=$+g|0;c=b>>>0>l>>>0?c+1|0:c;g=q&-2097152;b=l-g|0;f=c-((g>>>0>l>>>0)+f|0)|0;l=b;c=qe(x,v,666643,0);b=w&-2097152;g=c+(d-b|0)|0;b=$+(j-((b>>>0>d>>>0)+h|0)|0)|0;h=g;d=g;b=c>>>0>d>>>0?b+1|0:b;c=b>>21;b=(b&2097151)<<11|d>>>21;d=l+b|0;c=c+f|0;c=b>>>0>d>>>0?c+1|0:c;f=d;b=c>>21;c=(c&2097151)<<11|d>>>21;d=c+t|0;b=b+e|0;b=c>>>0>d>>>0?b+1|0:b;g=d;c=b>>21;b=(b&2097151)<<11|d>>>21;e=b+Y|0;d=c+y|0;A=e;c=e;d=b>>>0>c>>>0?d+1|0:d;b=d>>21;d=(d&2097151)<<11|c>>>21;e=d+B|0;c=b+k|0;t=e;b=e;c=d>>>0>b>>>0?c+1|0:c;d=c>>21;c=(c&2097151)<<11|b>>>21;e=c+C|0;b=d+X|0;v=e;d=e;b=c>>>0>d>>>0?b+1|0:b;c=b>>21;b=(b&2097151)<<11|d>>>21;d=b+E|0;c=c+p|0;c=b>>>0>d>>>0?c+1|0:c;w=d;b=c>>21;c=(c&2097151)<<11|d>>>21;d=c+aa|0;b=b+R|0;b=c>>>0>d>>>0?b+1|0:b;l=d;c=b>>21;b=(b&2097151)<<11|d>>>21;e=b+_|0;d=c+m|0;q=e;c=e;d=b>>>0>c>>>0?d+1|0:d;b=d>>21;d=(d&2097151)<<11|c>>>21;e=d+fa|0;c=b+ga|0;m=e;b=e;c=d>>>0>b>>>0?c+1|0:c;d=c>>21;c=(c&2097151)<<11|b>>>21;e=c+ea|0;b=d+o|0;p=e;d=e;b=c>>>0>d>>>0?b+1|0:b;c=b>>21;e=(b&2097151)<<11|d>>>21;b=u&-2097152;d=i-b|0;e=e+d|0;b=(r-((b>>>0>i>>>0)+n|0)|0)+c|0;r=e;c=e;b=d>>>0>c>>>0?b+1|0:b;o=(b&2097151)<<11|c>>>21;d=b>>21;k=d;c=h&2097151;d=qe(o,d,666643,0)+c|0;b=$;j=d;b=c>>>0>d>>>0?b+1|0:b;i=b;D[a|0]=d;D[a+1|0]=(b&255)<<24|d>>>8;e=a;b=f&2097151;d=qe(o,k,470296,0)+b|0;c=$;c=b>>>0>d>>>0?c+1|0:c;h=d;b=i;d=b>>21;f=(b&2097151)<<11|j>>>21;h=h+f|0;b=c+d|0;b=f>>>0>h>>>0?b+1|0:b;d=h;D[e+4|0]=(b&2047)<<21|d>>>11;c=b;D[e+3|0]=(b&7)<<29|d>>>3;d=g&2097151;f=qe(o,k,654183,0)+d|0;b=$;b=d>>>0>f>>>0?b+1|0:b;d=f;f=(c&2097151)<<11|h>>>21;g=d+f|0;c=(c>>21)+b|0;c=f>>>0>g>>>0?c+1|0:c;b=c;D[e+6|0]=(b&63)<<26|g>>>6;f=0;h=h&2097151;c=h;D[e+2|0]=((i&65535)<<16|j>>>16)&31|c<<5;d=A&2097151;e=qe(o,k,-997805,-1)+d|0;c=$;c=d>>>0>e>>>0?c+1|0:c;d=e;e=(b&2097151)<<11|g>>>21;j=d+e|0;b=(b>>21)+c|0;b=e>>>0>j>>>0?b+1|0:b;d=j;D[a+9|0]=(b&511)<<23|d>>>9;c=b;D[a+8|0]=(b&1)<<31|d>>>1;e=0;g=g&2097151;d=g;D[a+5|0]=(f&524287)<<13|h>>>19|d<<2;b=t&2097151;f=qe(o,k,136657,0)+b|0;d=$;d=b>>>0>f>>>0?d+1|0:d;b=c>>21;c=(c&2097151)<<11|j>>>21;f=c+f|0;b=b+d|0;h=f;b=c>>>0>f>>>0?b+1|0:b;c=f;D[a+12|0]=(b&4095)<<20|c>>>12;d=b;D[a+11|0]=(b&15)<<28|c>>>4;f=0;n=j&2097151;c=n;D[a+7|0]=(e&16383)<<18|g>>>14|c<<7;b=v&2097151;e=qe(o,k,-683901,-1)+b|0;c=$;c=b>>>0>e>>>0?c+1|0:c;b=d>>21;d=(d&2097151)<<11|h>>>21;e=d+e|0;c=b+c|0;g=e;c=d>>>0>e>>>0?c+1|0:c;b=c;D[a+14|0]=(b&127)<<25|e>>>7;e=0;j=h&2097151;d=j;D[a+10|0]=(f&131071)<<15|n>>>17|d<<4;i=(b&2097151)<<11|g>>>21;h=i+(w&2097151)|0;b=b>>21;b=i>>>0>h>>>0?b+1|0:b;d=h;D[a+17|0]=(b&1023)<<22|d>>>10;c=b;D[a+16|0]=(b&3)<<30|d>>>2;i=0;k=g&2097151;d=k;D[a+13|0]=(e&1048575)<<12|j>>>20|d<<1;b=a;d=c;c=c>>21;e=(d&2097151)<<11|h>>>21;g=e+(l&2097151)|0;d=e>>>0>g>>>0?c+1|0:c;D[b+20|0]=(d&8191)<<19|g>>>13;e=d;D[b+19|0]=(d&31)<<27|g>>>5;j=h&2097151;c=j;D[b+15|0]=(i&32767)<<17|k>>>15|c<<6;d=b;b=e;c=b>>21;i=(b&2097151)<<11|g>>>21;k=i+(q&2097151)|0;b=c;b=i>>>0>k>>>0?b+1|0:b;i=b;D[d+21|0]=k;b=g;D[d+18|0]=(f&262143)<<14|j>>>18|b<<3;b=i;D[d+22|0]=(b&255)<<24|k>>>8;c=b;b=b>>21;c=(c&2097151)<<11|k>>>21;e=c+(m&2097151)|0;g=e;b=c>>>0>e>>>0?b+1|0:b;d=e;D[a+25|0]=(b&2047)<<21|d>>>11;D[a+24|0]=(b&7)<<29|d>>>3;e=a;c=b>>21;b=(b&2097151)<<11|d>>>21;h=b+(p&2097151)|0;f=h;d=b>>>0>f>>>0?c+1|0:c;b=d;D[e+27|0]=(b&63)<<26|f>>>6;e=0;h=g&2097151;c=h;D[a+23|0]=((i&65535)<<16|k>>>16)&31|c<<5;c=b>>21;b=(b&2097151)<<11|f>>>21;i=b+(r&2097151)|0;c=b>>>0>i>>>0?c+1|0:c;d=i;D[a+31|0]=(c&131071)<<15|d>>>17;b=c;D[a+30|0]=(b&511)<<23|d>>>9;D[a+29|0]=(b&1)<<31|d>>>1;c=0;f=f&2097151;D[a+26|0]=(e&524287)<<13|h>>>19|f<<2;D[a+28|0]=(c&16383)<<18|f>>>14|d<<7}function tc(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=_-160|0;_=k;l=-1;if(!(e>>>0<8|g>>>0>i>>>0)){i=F[a+4>>2];j=F[a+8>>2];a=k+80|0;Aa(b,c,0,0,i,j,a,80);b=F[k+108>>2];F[k+24>>2]=F[k+104>>2];F[k+28>>2]=b;b=F[k+100>>2];F[k+16>>2]=F[k+96>>2];F[k+20>>2]=b;b=F[k+92>>2];F[k+8>>2]=F[k+88>>2];F[k+12>>2]=b;b=F[k+124>>2];F[k+40>>2]=F[k+120>>2];F[k+44>>2]=b;b=F[k+132>>2];F[k+48>>2]=F[k+128>>2];F[k+52>>2]=b;b=F[k+140>>2];F[k+56>>2]=F[k+136>>2];F[k+60>>2]=b;b=F[k+156>>2];F[k+72>>2]=F[k+152>>2];F[k+76>>2]=b;b=F[k+84>>2];F[k>>2]=F[k+80>>2];F[k+4>>2]=b;b=F[k+116>>2];F[k+32>>2]=F[k+112>>2];F[k+36>>2]=b;b=F[k+148>>2];F[k+64>>2]=F[k+144>>2];F[k+68>>2]=b;ia(a,80);ka(k+32|0,32,d,e-8|0,a);if(La((d+e|0)-8|0,a,8)){b=_-272|0;_=b;Kb(k,b+32|0);a=k- -64|0;c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);F[b+16>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[b+20>>2]=c;c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);F[b+24>>2]=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);F[b+28>>2]=c;if(g){e=0;while(1){c=e+f|0;a=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);F[b>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+4>>2]=a;a=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);F[b+8>>2]=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);F[b+12>>2]=a;a=_-16|0;_=a;n=G[c+15|0];o=G[c+14|0];p=G[c+13|0];q=G[c+12|0];s=G[c+11|0];r=G[c+10|0];t=G[c+9|0];u=G[c+8|0];m=G[c+6|0];v=G[c+5|0];w=G[c+4|0];x=G[c+3|0];y=G[c+2|0];z=G[c+1|0];A=G[c|0];d=F[b+256>>2];i=F[b+268>>2];l=F[b+264>>2];j=F[b+240>>2];B=G[c+7|0];c=F[b+260>>2];D[a+12|0]=j^G[((B^c)&255)+34128|0];D[a+8|0]=G[((r^l>>>8)&255)+34128|0]^j>>>8;D[a+4|0]=G[((p^i>>>16)&255)+34128|0]^j>>>16;D[a|0]=G[(A^d>>>24)+34128|0]^j>>>24;j=F[b+244>>2];D[a+13|0]=j^G[((l^s)&255)+34128|0];D[a+9|0]=G[((o^i>>>8)&255)+34128|0]^j>>>8;D[a+5|0]=G[((z^d>>>16)&255)+34128|0]^j>>>16;D[a+1|0]=G[(w^c>>>24)+34128|0]^j>>>24;j=F[b+248>>2];D[a+14|0]=j^G[((i^n)&255)+34128|0];D[a+10|0]=G[((y^d>>>8)&255)+34128|0]^j>>>8;D[a+6|0]=G[((v^c>>>16)&255)+34128|0]^j>>>16;D[a+2|0]=G[(u^l>>>24)+34128|0]^j>>>24;j=G[((d^x)&255)+34128|0];d=F[b+252>>2];D[a+15|0]=j^d;D[a+11|0]=G[((m^c>>>8)&255)+34128|0]^d>>>8;D[a+7|0]=G[((t^l>>>16)&255)+34128|0]^d>>>16;D[a+3|0]=G[(q^i>>>24)+34128|0]^d>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+224>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+228>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+232>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+236>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+2|0];i=G[a+1|0];l=G[a|0];j=G[a+14|0];n=G[a+12|0];o=G[a+15|0];p=G[a+8|0];q=G[a+10|0];s=G[a+9|0];r=G[a+11|0];t=G[a+4|0];u=G[a+5|0];m=G[a+6|0];v=G[a+7|0];w=G[a+3|0];c=F[b+208>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[q+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[l+34128|0]^c>>>24;c=F[b+212>>2];D[a+13|0]=c^G[j+34128|0];D[a+9|0]=G[r+34128|0]^c>>>8;D[a+5|0]=G[t+34128|0]^c>>>16;D[a+1|0]=G[i+34128|0]^c>>>24;c=F[b+216>>2];D[a+14|0]=c^G[o+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[u+34128|0]^c>>>16;D[a+2|0]=G[d+34128|0]^c>>>24;c=F[b+220>>2];D[a+15|0]=c^G[n+34128|0];D[a+11|0]=G[s+34128|0]^c>>>8;D[a+7|0]=G[m+34128|0]^c>>>16;D[a+3|0]=G[w+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+192>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+196>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+200>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+204>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+2|0];i=G[a+1|0];l=G[a|0];j=G[a+14|0];n=G[a+12|0];o=G[a+15|0];p=G[a+8|0];q=G[a+10|0];s=G[a+9|0];r=G[a+11|0];t=G[a+4|0];u=G[a+5|0];m=G[a+6|0];v=G[a+7|0];w=G[a+3|0];c=F[b+176>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[q+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[l+34128|0]^c>>>24;c=F[b+180>>2];D[a+13|0]=c^G[j+34128|0];D[a+9|0]=G[r+34128|0]^c>>>8;D[a+5|0]=G[t+34128|0]^c>>>16;D[a+1|0]=G[i+34128|0]^c>>>24;c=F[b+184>>2];D[a+14|0]=c^G[o+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[u+34128|0]^c>>>16;D[a+2|0]=G[d+34128|0]^c>>>24;c=F[b+188>>2];D[a+15|0]=c^G[n+34128|0];D[a+11|0]=G[s+34128|0]^c>>>8;D[a+7|0]=G[m+34128|0]^c>>>16;D[a+3|0]=G[w+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+160>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+164>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+168>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+172>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+144>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+148>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+152>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+156>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+128>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+132>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+136>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+140>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+112>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+116>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+120>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+124>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+96>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+100>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+104>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+108>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+80>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+84>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+88>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+92>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+64>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+68>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+72>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+76>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+15|0];i=G[a+12|0];D[a+15|0]=i;l=G[G[a+2|0]+34128|0];D[a+2|0]=l;j=G[G[a+1|0]+34128|0];D[a+1|0]=j;n=G[G[a|0]+34128|0];D[a|0]=n;o=G[a+9|0];p=G[a+8|0];q=G[a+4|0];s=G[a+11|0];r=G[a+14|0];t=G[a+7|0];u=G[a+10|0];c=G[a+13|0];m=G[a+5|0];v=G[a+3|0];D[a+7|0]=G[G[a+6|0]+34128|0];D[a+6|0]=G[m+34128|0];D[a+3|0]=G[v+34128|0];m=G[c+34128|0];c=F[b+48>>2];D[a+12|0]=m^c;D[a+8|0]=G[u+34128|0]^c>>>8;D[a+4|0]=G[t+34128|0]^c>>>16;D[a|0]=n^c>>>24;c=F[b+52>>2];D[a+13|0]=c^G[r+34128|0];D[a+1|0]=j^c>>>24;D[a+9|0]=G[s+34128|0]^c>>>8;D[a+5|0]=G[q+34128|0]^c>>>16;c=F[b+56>>2];D[a+2|0]=l^c>>>24;l=G[a+6|0];D[a+14|0]=c^G[d+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=l^c>>>16;c=F[b+60>>2];D[a+3|0]=G[a+3|0]^c>>>24;d=G[a+7|0];D[a+15|0]=c^G[i+34128|0];D[a+11|0]=G[o+34128|0]^c>>>8;D[a+7|0]=d^c>>>16;xa(a);n=G[a+15|0];j=G[a+12|0];D[a+15|0]=j;o=G[G[a+1|0]+34128|0];D[a+1|0]=o;p=G[G[a+2|0]+34128|0];D[a+2|0]=p;q=G[G[a+3|0]+34128|0];D[a+3|0]=q;s=G[a+7|0];r=G[G[a+6|0]+34128|0];D[a+7|0]=r;d=F[b+32>>2];i=F[b+36>>2];l=F[b+40>>2];t=G[a|0];u=G[a+10|0];m=G[a+4|0];v=G[a+11|0];w=G[a+5|0];x=G[a+8|0];y=G[a+9|0];z=G[a+13|0];A=G[a+14|0];c=e+h|0;B=G[j+34128|0];j=F[b+44>>2];D[c+15|0]=B^j;D[c+11|0]=l^G[n+34128|0];D[c+7|0]=i^G[A+34128|0];D[c+3|0]=d^G[z+34128|0];D[c+14|0]=G[y+34128|0]^j>>>8;D[c+13|0]=r^j>>>16;D[c+12|0]=q^j>>>24;D[c+10|0]=G[x+34128|0]^l>>>8;D[c+9|0]=G[w+34128|0]^l>>>16;D[c+8|0]=p^l>>>24;D[c+6|0]=G[v+34128|0]^i>>>8;D[c+5|0]=G[m+34128|0]^i>>>16;D[c+4|0]=o^i>>>24;D[c+2|0]=G[u+34128|0]^d>>>8;D[c+1|0]=G[s+34128|0]^d>>>16;D[c|0]=G[t+34128|0]^d>>>24;_=a+16|0;D[c|0]=G[c|0]^G[b+16|0];D[c+1|0]=G[c+1|0]^G[b+17|0];D[c+2|0]=G[c+2|0]^G[b+18|0];D[c+3|0]=G[c+3|0]^G[b+19|0];D[c+4|0]=G[c+4|0]^G[b+20|0];D[c+5|0]=G[c+5|0]^G[b+21|0];D[c+6|0]=G[c+6|0]^G[b+22|0];D[c+7|0]=G[c+7|0]^G[b+23|0];D[c+8|0]=G[c+8|0]^G[b+24|0];D[c+9|0]=G[c+9|0]^G[b+25|0];D[c+10|0]=G[c+10|0]^G[b+26|0];D[c+11|0]=G[c+11|0]^G[b+27|0];D[c+12|0]=G[c+12|0]^G[b+28|0];D[c+13|0]=G[c+13|0]^G[b+29|0];D[c+14|0]=G[c+14|0]^G[b+30|0];D[c+15|0]=G[c+15|0]^G[b+31|0];a=F[b+12>>2];F[b+24>>2]=F[b+8>>2];F[b+28>>2]=a;a=F[b+4>>2];F[b+16>>2]=F[b>>2];F[b+20>>2]=a;e=e+16|0;if(g>>>0>e>>>0){continue}break}}ia(b+32|0,240);ia(b+16|0,16);ia(b,16);_=b+272|0;a=G[(g+h|0)-1|0];l=a>>>0>g>>>0?-1:g-a|0}ia(k,80)}_=k+160|0;return l|0}function Lb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=_-16|0;_=d;h=G[a+14|0];k=G[a+6|0];l=G[a+5|0];s=G[a+9|0];q=G[a+13|0];m=G[a+1|0];n=G[a+10|0];i=G[a+2|0];j=G[a+3|0];o=G[a+7|0];p=G[a+15|0];r=G[a+11|0];u=G[a|0];f=F[c>>2];v=G[a+4|0];e=F[c+4>>2];t=G[a+8|0];g=F[c+8>>2];w=G[a+12|0];a=F[c+12>>2];D[d+3|0]=G[(w^a>>>24)+33808|0];D[d+2|0]=G[(t^g>>>24)+33808|0];D[d+1|0]=G[(v^e>>>24)+33808|0];D[d|0]=G[(u^f>>>24)+33808|0];D[d+15|0]=G[((g^r)&255)+33808|0];D[d+12|0]=G[((a^p)&255)+33808|0];D[d+14|0]=G[((e^o)&255)+33808|0];D[d+13|0]=G[((f^j)&255)+33808|0];D[d+10|0]=G[(i^f>>>8&255)+33808|0];D[d+8|0]=G[(n^g>>>8&255)+33808|0];D[d+7|0]=G[(m^f>>>16&255)+33808|0];D[d+6|0]=G[(q^a>>>16&255)+33808|0];D[d+5|0]=G[(s^g>>>16&255)+33808|0];D[d+4|0]=G[(l^e>>>16&255)+33808|0];D[d+11|0]=G[(k^e>>>8&255)+33808|0];D[d+9|0]=G[(h^a>>>8&255)+33808|0];ya(d);a=F[c+16>>2];f=F[c+20>>2];e=F[c+24>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+28>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+32>>2];f=F[c+36>>2];e=F[c+40>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+44>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+48>>2];f=F[c+52>>2];e=F[c+56>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+60>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+64>>2];f=F[c+68>>2];e=F[c+72>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+76>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+80>>2];f=F[c+84>>2];e=F[c+88>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+92>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+96>>2];f=F[c+100>>2];e=F[c+104>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+108>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+112>>2];f=F[c+116>>2];e=F[c+120>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+124>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+128>>2];f=F[c+132>>2];e=F[c+136>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+140>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+156>>2];h=a^G[d+15|0];f=F[c+152>>2];k=f^G[d+14|0];e=F[c+148>>2];l=e^G[d+13|0];g=F[c+144>>2];s=g^G[d+12|0];q=G[d+11|0]^a>>>8;m=G[d+7|0]^a>>>16;a=G[d+3|0]^a>>>24;n=G[d+10|0]^f>>>8;i=G[d+6|0]^f>>>16;f=G[d+2|0]^f>>>24;j=G[d+9|0]^e>>>8;o=G[d+5|0]^e>>>16;e=G[d+1|0]^e>>>24;p=G[d+8|0]^g>>>8;r=G[d+4|0]^g>>>16;D[d|0]=G[(G[d|0]^g>>>24)+33808|0];D[d+10|0]=G[(p&255)+33808|0];D[d+8|0]=G[(n&255)+33808|0];D[d+7|0]=G[(r&255)+33808|0];D[d+6|0]=G[(m&255)+33808|0];D[d+5|0]=G[(i&255)+33808|0];D[d+4|0]=G[(o&255)+33808|0];D[d+3|0]=G[a+33808|0];D[d+2|0]=G[f+33808|0];D[d+1|0]=G[e+33808|0];D[d+15|0]=G[(k&255)+33808|0];D[d+12|0]=G[(h&255)+33808|0];D[d+11|0]=G[(j&255)+33808|0];D[d+9|0]=G[(q&255)+33808|0];D[d+14|0]=G[(l&255)+33808|0];D[d+13|0]=G[(s&255)+33808|0];ya(d);f=F[c+160>>2];D[d+12|0]=f^G[d+12|0];D[d+8|0]=G[d+8|0]^f>>>8;e=F[c+164>>2];h=e^G[d+13|0];D[d+13|0]=h;k=G[d+9|0]^e>>>8;D[d+9|0]=k;g=F[c+168>>2];l=g^G[d+14|0];D[d+14|0]=l;a=F[c+172>>2];D[d+1|0]=G[(G[d+1|0]^e>>>24)+33808|0];D[d|0]=G[(G[d|0]^f>>>24)+33808|0];D[d+2|0]=G[(G[d+2|0]^g>>>24)+33808|0];s=G[d+5|0];q=G[d+6|0];m=G[d+4|0];n=G[d+10|0];D[d+3|0]=G[(G[d+3|0]^a>>>24)+33808|0];D[d+6|0]=G[(G[d+7|0]^a>>>16&255)+33808|0];i=G[d+11|0];j=G[d+15|0];o=G[d+12|0];p=G[d+8|0];D[d+8|0]=G[(n^g>>>8&255)+33808|0];D[d+7|0]=G[(m^f>>>16&255)+33808|0];D[d+5|0]=G[(q^g>>>16&255)+33808|0];D[d+4|0]=G[(s^e>>>16&255)+33808|0];D[d+10|0]=G[p+33808|0];D[d+15|0]=G[(l&255)+33808|0];D[d+12|0]=G[((a^j)&255)+33808|0];D[d+11|0]=G[(k&255)+33808|0];D[d+9|0]=G[(i^a>>>8&255)+33808|0];D[d+14|0]=G[(h&255)+33808|0];D[d+13|0]=G[o+33808|0];ya(d);a=F[c+176>>2];f=F[c+180>>2];e=F[c+184>>2];h=G[d+4|0];k=G[d+5|0];l=G[d+6|0];s=G[d+7|0];q=G[d+8|0];m=G[d+9|0];n=G[d+10|0];i=G[d+11|0];j=G[d+12|0];o=G[d+13|0];p=G[d+14|0];r=G[d+15|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+188>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];r=G[((g^r)&255)+33808|0];p=G[((e^p)&255)+33808|0];o=G[((f^o)&255)+33808|0];j=G[((a^j)&255)+33808|0];i=G[(i^g>>>8&255)+33808|0];n=G[(n^e>>>8&255)+33808|0];m=G[(m^f>>>8&255)+33808|0];g=G[(s^g>>>16&255)+33808|0];e=G[(l^e>>>16&255)+33808|0];f=G[(k^f>>>16&255)+33808|0];h=G[(h^a>>>16&255)+33808|0];D[d+10|0]=G[(q^a>>>8&255)+33808|0];D[d+8|0]=n;D[d+7|0]=h;D[d+6|0]=g;D[d+5|0]=e;D[d+4|0]=f;D[d+15|0]=p;D[d+12|0]=r;D[d+11|0]=m;D[d+9|0]=i;D[d+14|0]=o;D[d+13|0]=j;ya(d);f=F[c+192>>2];D[d+12|0]=f^G[d+12|0];D[d+8|0]=G[d+8|0]^f>>>8;e=F[c+196>>2];h=e^G[d+13|0];D[d+13|0]=h;k=G[d+9|0]^e>>>8;D[d+9|0]=k;g=F[c+200>>2];l=g^G[d+14|0];D[d+14|0]=l;a=F[c+204>>2];D[d+1|0]=G[(G[d+1|0]^e>>>24)+33808|0];D[d|0]=G[(G[d|0]^f>>>24)+33808|0];D[d+2|0]=G[(G[d+2|0]^g>>>24)+33808|0];s=G[d+5|0];q=G[d+6|0];m=G[d+4|0];n=G[d+10|0];D[d+3|0]=G[(G[d+3|0]^a>>>24)+33808|0];i=G[d+11|0];j=G[d+15|0];o=G[d+7|0];p=G[d+12|0];r=G[d+8|0];D[d+8|0]=G[(n^g>>>8&255)+33808|0];D[d+7|0]=G[(m^f>>>16&255)+33808|0];D[d+6|0]=G[(o^a>>>16&255)+33808|0];D[d+5|0]=G[(q^g>>>16&255)+33808|0];D[d+4|0]=G[(s^e>>>16&255)+33808|0];D[d+10|0]=G[r+33808|0];D[d+15|0]=G[(l&255)+33808|0];D[d+12|0]=G[((a^j)&255)+33808|0];D[d+11|0]=G[(k&255)+33808|0];D[d+9|0]=G[(i^a>>>8&255)+33808|0];D[d+14|0]=G[(h&255)+33808|0];D[d+13|0]=G[p+33808|0];ya(d);f=F[c+208>>2];D[d+12|0]=f^G[d+12|0];D[d+8|0]=G[d+8|0]^f>>>8;e=F[c+212>>2];k=e^G[d+13|0];D[d+13|0]=k;h=G[d+9|0]^e>>>8;D[d+9|0]=h;g=F[c+216>>2];l=g^G[d+14|0];D[d+14|0]=l;a=F[c+220>>2];D[d+2|0]=G[(G[d+2|0]^g>>>24)+33808|0];s=G[d+4|0];q=G[d+6|0];m=G[d+5|0];n=G[d+10|0];i=G[d|0];j=G[d+1|0];D[d+3|0]=G[(G[d+3|0]^a>>>24)+33808|0];j=G[(j^e>>>24)+33808|0];D[d+1|0]=j;i=G[(i^f>>>24)+33808|0];D[d|0]=i;o=G[d+7|0];p=G[d+11|0];r=G[d+15|0];u=G[d+8|0];v=G[d+12|0];l=G[(l&255)+33808|0];D[d+15|0]=l;t=G[(h&255)+33808|0];D[d+11|0]=t;h=F[c+224>>2];r=h^G[((a^r)&255)+33808|0];D[d+12|0]=r;n=G[(n^g>>>8&255)+33808|0]^h>>>8;D[d+8|0]=n;m=G[(m^e>>>16&255)+33808|0]^h>>>16;D[d+4|0]=m;h=i^h>>>24;D[d|0]=h;e=F[c+228>>2];i=e^G[v+33808|0];D[d+13|0]=i;p=G[(p^a>>>8&255)+33808|0]^e>>>8;D[d+9|0]=p;g=G[(q^g>>>16&255)+33808|0]^e>>>16;D[d+5|0]=g;q=j^e>>>24;D[d+1|0]=q;e=F[c+232>>2];k=e^G[(k&255)+33808|0];D[d+14|0]=k;j=G[u+33808|0]^e>>>8;D[d+10|0]=j;o=G[(o^a>>>16&255)+33808|0]^e>>>16;D[d+6|0]=o;e=G[d+2|0]^e>>>24;D[d+2|0]=e;a=F[c+236>>2];c=G[(s^f>>>16&255)+33808|0]^a>>>16;D[d+7|0]=c;f=G[d+3|0]^a>>>24;D[d+3|0]=f;D[b+13|0]=c;D[b+12|0]=f;D[b+11|0]=k;D[b+10|0]=j;D[b+9|0]=o;D[b+8|0]=e;D[b+7|0]=i;D[b+6|0]=p;D[b+5|0]=g;D[b+4|0]=q;D[b+3|0]=r;D[b+2|0]=n;D[b+1|0]=m;D[b|0]=h;D[b+15|0]=a^l;D[b+14|0]=t^a>>>8;_=d+16|0}function Yc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=_-16|0;_=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){e=F[9456];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=e>>>c|0;if(b&3){d=c+((b^-1)&1)|0;b=d<<3;f=F[b+37872>>2];a=f+8|0;c=F[f+8>>2];b=b+37864|0;l:{if((c|0)==(b|0)){F[9456]=se(-2,d)&e;break l}F[c+12>>2]=b;F[b+8>>2]=c}b=d<<3;F[f+4>>2]=b|3;b=b+f|0;F[b+4>>2]=F[b+4>>2]|1;break a}k=F[9458];if(k>>>0>=h>>>0){break k}if(b){a=2<<c;a=(0-a|a)&b<<c;b=(0-a&a)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=(c|a)+(b>>>a|0)|0;a=c<<3;g=F[a+37872>>2];b=F[g+8>>2];a=a+37864|0;m:{if((b|0)==(a|0)){e=se(-2,c)&e;F[9456]=e;break m}F[b+12>>2]=a;F[a+8>>2]=b}a=g+8|0;F[g+4>>2]=h|3;d=g+h|0;b=c<<3;f=b-h|0;F[d+4>>2]=f|1;F[b+g>>2]=f;if(k){b=k>>>3|0;c=(b<<3)+37864|0;g=F[9461];b=1<<b;n:{if(!(b&e)){F[9456]=b|e;b=c;break n}b=F[c+8>>2]}F[c+8>>2]=g;F[b+12>>2]=g;F[g+12>>2]=c;F[g+8>>2]=b}F[9461]=d;F[9458]=f;break a}j=F[9457];if(!j){break k}b=(j&0-j)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=F[((c|a)+(b>>>a|0)<<2)+38128>>2];d=(F[b+4>>2]&-8)-h|0;c=b;while(1){o:{a=F[c+16>>2];if(!a){a=F[c+20>>2];if(!a){break o}}c=(F[a+4>>2]&-8)-h|0;f=c>>>0<d>>>0;d=f?c:d;b=f?a:b;c=a;continue}break}i=F[b+24>>2];f=F[b+12>>2];if((f|0)!=(b|0)){a=F[b+8>>2];F[a+12>>2]=f;F[f+8>>2]=a;break b}c=b+20|0;a=F[c>>2];if(!a){a=F[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;f=a;c=a+20|0;a=F[c>>2];if(a){continue}c=f+16|0;a=F[f+16>>2];if(a){continue}break}F[g>>2]=0;break b}h=-1;if(a>>>0>4294967231){break k}a=a+11|0;h=a&-8;j=F[9457];if(!j){break k}d=0-h|0;e=0;p:{if(h>>>0<256){break p}e=31;if(h>>>0>16777215){break p}a=a>>>8|0;g=a+1048320>>>16&8;a=a<<g;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|g))|0;e=(a<<1|h>>>a+21&1)+28|0}c=F[(e<<2)+38128>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=h<<((e|0)==31?0:25-(e>>>1|0)|0);while(1){t:{g=(F[c+4>>2]&-8)-h|0;if(g>>>0>=d>>>0){break t}f=c;d=g;if(d){break t}d=0;a=c;break r}g=F[c+20>>2];c=F[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|f)){f=0;a=2<<e;a=(0-a|a)&j;if(!a){break k}b=(a&0-a)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=F[((c|a)+(b>>>a|0)<<2)+38128>>2]}if(!a){break q}}while(1){b=(F[a+4>>2]&-8)-h|0;c=b>>>0<d>>>0;d=c?b:d;f=c?a:f;b=F[a+16>>2];if(b){a=b}else{a=F[a+20>>2]}if(a){continue}break}}if(!f|F[9458]-h>>>0<=d>>>0){break k}e=F[f+24>>2];b=F[f+12>>2];if((f|0)!=(b|0)){a=F[f+8>>2];F[a+12>>2]=b;F[b+8>>2]=a;break c}c=f+20|0;a=F[c>>2];if(!a){a=F[f+16>>2];if(!a){break i}c=f+16|0}while(1){g=c;b=a;c=a+20|0;a=F[c>>2];if(a){continue}c=b+16|0;a=F[b+16>>2];if(a){continue}break}F[g>>2]=0;break c}c=F[9458];if(c>>>0>=h>>>0){d=F[9461];b=c-h|0;u:{if(b>>>0>=16){F[9458]=b;a=d+h|0;F[9461]=a;F[a+4>>2]=b|1;F[c+d>>2]=b;F[d+4>>2]=h|3;break u}F[9461]=0;F[9458]=0;F[d+4>>2]=c|3;a=c+d|0;F[a+4>>2]=F[a+4>>2]|1}a=d+8|0;break a}i=F[9459];if(i>>>0>h>>>0){b=i-h|0;F[9459]=b;c=F[9462];a=c+h|0;F[9462]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;b=j;if(F[9574]){c=F[9576]}else{F[9577]=-1;F[9578]=-1;F[9575]=4096;F[9576]=4096;F[9574]=l+12&-16^1431655768;F[9579]=0;F[9567]=0;c=4096}g=b+c|0;f=0-c|0;c=g&f;if(c>>>0<=h>>>0){break a}d=F[9566];if(d){b=F[9564];e=b+c|0;if(d>>>0<e>>>0|b>>>0>=e>>>0){break a}}if(G[38268]&4){break f}v:{w:{d=F[9462];if(d){a=38272;while(1){b=F[a>>2];if(d>>>0<b+F[a+4>>2]>>>0?b>>>0<=d>>>0:0){break w}a=F[a+8>>2];if(a){continue}break}}b=Ia(0);if((b|0)==-1){break g}e=c;d=F[9575];a=d-1|0;if(a&b){e=(c-b|0)+(a+b&0-d)|0}if(e>>>0<=h>>>0|e>>>0>2147483646){break g}d=F[9566];if(d){a=F[9564];f=a+e|0;if(d>>>0<f>>>0|a>>>0>=f>>>0){break g}}a=Ia(e);if((b|0)!=(a|0)){break v}break e}e=f&g-i;if(e>>>0>2147483646){break g}b=Ia(e);if((b|0)==(F[a>>2]+F[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|h+48>>>0<=e>>>0)){b=F[9576];b=b+(j-e|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((Ia(b)|0)!=-1){e=b+e|0;b=a;break e}Ia(0-e|0);break g}b=a;if((a|0)!=-1){break e}break g}f=0;break b}b=0;break c}if((b|0)!=-1){break e}}F[9567]=F[9567]|4}if(c>>>0>2147483646){break d}b=Ia(c);a=Ia(0);if((b|0)==-1|(a|0)==-1|a>>>0<=b>>>0){break d}e=a-b|0;if(e>>>0<=h+40>>>0){break d}}a=F[9564]+e|0;F[9564]=a;if(a>>>0>I[9565]){F[9565]=a}x:{y:{z:{g=F[9462];if(g){a=38272;while(1){d=F[a>>2];c=F[a+4>>2];if((d+c|0)==(b|0)){break z}a=F[a+8>>2];if(a){continue}break}break y}a=F[9460];if(!(a>>>0<=b>>>0?a:0)){F[9460]=b}a=0;F[9569]=e;F[9568]=b;F[9464]=-1;F[9465]=F[9574];F[9571]=0;while(1){d=a<<3;c=d+37864|0;F[d+37872>>2]=c;F[d+37876>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=e-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;F[9459]=c;a=a+b|0;F[9462]=a;F[a+4>>2]=c|1;F[(b+d|0)+4>>2]=40;F[9463]=F[9578];break x}if(G[a+12|0]&8|d>>>0>g>>>0|b>>>0<=g>>>0){break y}F[a+4>>2]=c+e;a=g+8&7?-8-g&7:0;c=a+g|0;F[9462]=c;b=F[9459]+e|0;a=b-a|0;F[9459]=a;F[c+4>>2]=a|1;F[(b+g|0)+4>>2]=40;F[9463]=F[9578];break x}if(I[9460]>b>>>0){F[9460]=b}c=b+e|0;a=38272;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=F[a>>2]){a=F[a+8>>2];if(a){continue}break F}break}if(!(G[a+12|0]&8)){break E}}a=38272;while(1){c=F[a>>2];if(c>>>0<=g>>>0){f=c+F[a+4>>2]|0;if(f>>>0>g>>>0){break D}}a=F[a+8>>2];continue}}F[a>>2]=b;F[a+4>>2]=F[a+4>>2]+e;j=(b+8&7?-8-b&7:0)+b|0;F[j+4>>2]=h|3;e=c+(c+8&7?-8-c&7:0)|0;i=h+j|0;c=e-i|0;if((e|0)==(g|0)){F[9462]=i;a=F[9459]+c|0;F[9459]=a;F[i+4>>2]=a|1;break B}if(F[9461]==(e|0)){F[9461]=i;a=F[9458]+c|0;F[9458]=a;F[i+4>>2]=a|1;F[a+i>>2]=a;break B}a=F[e+4>>2];if((a&3)==1){g=a&-8;G:{if(a>>>0<=255){d=F[e+8>>2];a=a>>>3|0;b=F[e+12>>2];if((b|0)==(d|0)){F[9456]=F[9456]&se(-2,a);break G}F[d+12>>2]=b;F[b+8>>2]=d;break G}h=F[e+24>>2];b=F[e+12>>2];H:{if((e|0)!=(b|0)){a=F[e+8>>2];F[a+12>>2]=b;F[b+8>>2]=a;break H}I:{a=e+20|0;d=F[a>>2];if(d){break I}a=e+16|0;d=F[a>>2];if(d){break I}b=0;break H}while(1){f=a;b=d;a=b+20|0;d=F[a>>2];if(d){continue}a=b+16|0;d=F[b+16>>2];if(d){continue}break}F[f>>2]=0}if(!h){break G}d=F[e+28>>2];a=(d<<2)+38128|0;J:{if(F[a>>2]==(e|0)){F[a>>2]=b;if(b){break J}F[9457]=F[9457]&se(-2,d);break G}F[h+(F[h+16>>2]==(e|0)?16:20)>>2]=b;if(!b){break G}}F[b+24>>2]=h;a=F[e+16>>2];if(a){F[b+16>>2]=a;F[a+24>>2]=b}a=F[e+20>>2];if(!a){break G}F[b+20>>2]=a;F[a+24>>2]=b}e=e+g|0;c=c+g|0}F[e+4>>2]=F[e+4>>2]&-2;F[i+4>>2]=c|1;F[c+i>>2]=c;if(c>>>0<=255){a=c>>>3|0;b=(a<<3)+37864|0;c=F[9456];a=1<<a;K:{if(!(c&a)){F[9456]=a|c;a=b;break K}a=F[b+8>>2]}F[b+8>>2]=i;F[a+12>>2]=i;F[i+12>>2]=b;F[i+8>>2]=a;break B}a=31;if(c>>>0<=16777215){a=c>>>8|0;f=a+1048320>>>16&8;a=a<<f;d=a+520192>>>16&4;a=a<<d;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(d|f))|0;a=(a<<1|c>>>a+21&1)+28|0}F[i+28>>2]=a;F[i+16>>2]=0;F[i+20>>2]=0;f=(a<<2)+38128|0;d=F[9457];b=1<<a;L:{if(!(d&b)){F[9457]=b|d;F[f>>2]=i;F[i+24>>2]=f;break L}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);b=F[f>>2];while(1){d=b;if((F[b+4>>2]&-8)==(c|0)){break C}b=a>>>29|0;a=a<<1;f=d+(b&4)|0;b=F[f+16>>2];if(b){continue}break}F[f+16>>2]=i;F[i+24>>2]=d}F[i+12>>2]=i;F[i+8>>2]=i;break B}d=e-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;F[9459]=c;a=a+b|0;F[9462]=a;F[a+4>>2]=c|1;F[(b+d|0)+4>>2]=40;F[9463]=F[9578];a=(f+(f-39&7?39-f&7:0)|0)-47|0;c=a>>>0<g+16>>>0?g:a;F[c+4>>2]=27;a=F[9571];F[c+16>>2]=F[9570];F[c+20>>2]=a;a=F[9569];F[c+8>>2]=F[9568];F[c+12>>2]=a;F[9570]=c+8;F[9569]=e;F[9568]=b;F[9571]=0;a=c+24|0;while(1){F[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0<f>>>0){continue}break}if((c|0)==(g|0)){break x}F[c+4>>2]=F[c+4>>2]&-2;f=c-g|0;F[g+4>>2]=f|1;F[c>>2]=f;if(f>>>0<=255){a=f>>>3|0;b=(a<<3)+37864|0;c=F[9456];a=1<<a;M:{if(!(c&a)){F[9456]=a|c;a=b;break M}a=F[b+8>>2]}F[b+8>>2]=g;F[a+12>>2]=g;F[g+12>>2]=b;F[g+8>>2]=a;break x}a=31;F[g+16>>2]=0;F[g+20>>2]=0;if(f>>>0<=16777215){a=f>>>8|0;d=a+1048320>>>16&8;a=a<<d;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|d))|0;a=(a<<1|f>>>a+21&1)+28|0}F[g+28>>2]=a;d=(a<<2)+38128|0;c=F[9457];b=1<<a;N:{if(!(c&b)){F[9457]=b|c;F[d>>2]=g;F[g+24>>2]=d;break N}a=f<<((a|0)==31?0:25-(a>>>1|0)|0);b=F[d>>2];while(1){c=b;if((f|0)==(F[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;d=c+(b&4)|0;b=F[d+16>>2];if(b){continue}break}F[d+16>>2]=g;F[g+24>>2]=c}F[g+12>>2]=g;F[g+8>>2]=g;break x}a=F[d+8>>2];F[a+12>>2]=i;F[d+8>>2]=i;F[i+24>>2]=0;F[i+12>>2]=d;F[i+8>>2]=a}a=j+8|0;break a}a=F[c+8>>2];F[a+12>>2]=g;F[c+8>>2]=g;F[g+24>>2]=0;F[g+12>>2]=c;F[g+8>>2]=a}a=F[9459];if(a>>>0<=h>>>0){break d}b=a-h|0;F[9459]=b;c=F[9462];a=c+h|0;F[9462]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}F[9439]=48;a=0;break a}O:{if(!e){break O}c=F[f+28>>2];a=(c<<2)+38128|0;P:{if(F[a>>2]==(f|0)){F[a>>2]=b;if(b){break P}j=se(-2,c)&j;F[9457]=j;break O}F[e+(F[e+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break O}}F[b+24>>2]=e;a=F[f+16>>2];if(a){F[b+16>>2]=a;F[a+24>>2]=b}a=F[f+20>>2];if(!a){break O}F[b+20>>2]=a;F[a+24>>2]=b}Q:{if(d>>>0<=15){a=d+h|0;F[f+4>>2]=a|3;a=a+f|0;F[a+4>>2]=F[a+4>>2]|1;break Q}F[f+4>>2]=h|3;e=f+h|0;F[e+4>>2]=d|1;F[d+e>>2]=d;if(d>>>0<=255){a=d>>>3|0;b=(a<<3)+37864|0;c=F[9456];a=1<<a;R:{if(!(c&a)){F[9456]=a|c;a=b;break R}a=F[b+8>>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a;break Q}a=31;if(d>>>0<=16777215){a=d>>>8|0;g=a+1048320>>>16&8;a=a<<g;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|g))|0;a=(a<<1|d>>>a+21&1)+28|0}F[e+28>>2]=a;F[e+16>>2]=0;F[e+20>>2]=0;b=(a<<2)+38128|0;S:{c=1<<a;T:{if(!(c&j)){F[9457]=c|j;F[b>>2]=e;break T}a=d<<((a|0)==31?0:25-(a>>>1|0)|0);h=F[b>>2];while(1){b=h;if((F[b+4>>2]&-8)==(d|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=F[c+16>>2];if(h){continue}break}F[c+16>>2]=e}F[e+24>>2]=b;F[e+12>>2]=e;F[e+8>>2]=e;break Q}a=F[b+8>>2];F[a+12>>2]=e;F[b+8>>2]=e;F[e+24>>2]=0;F[e+12>>2]=b;F[e+8>>2]=a}a=f+8|0;break a}U:{if(!i){break U}c=F[b+28>>2];a=(c<<2)+38128|0;V:{if(F[a>>2]==(b|0)){F[a>>2]=f;if(f){break V}F[9457]=se(-2,c)&j;break U}F[i+(F[i+16>>2]==(b|0)?16:20)>>2]=f;if(!f){break U}}F[f+24>>2]=i;a=F[b+16>>2];if(a){F[f+16>>2]=a;F[a+24>>2]=f}a=F[b+20>>2];if(!a){break U}F[f+20>>2]=a;F[a+24>>2]=f}W:{if(d>>>0<=15){a=d+h|0;F[b+4>>2]=a|3;a=a+b|0;F[a+4>>2]=F[a+4>>2]|1;break W}F[b+4>>2]=h|3;f=b+h|0;F[f+4>>2]=d|1;F[d+f>>2]=d;if(k){a=k>>>3|0;c=(a<<3)+37864|0;g=F[9461];a=1<<a;X:{if(!(a&e)){F[9456]=a|e;a=c;break X}a=F[c+8>>2]}F[c+8>>2]=g;F[a+12>>2]=g;F[g+12>>2]=c;F[g+8>>2]=a}F[9461]=f;F[9458]=d}a=b+8|0}_=l+16|0;return a|0}function Rb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1;F[a+12>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+40>>2]=1;M=ra(a+44|0,0,76);J=c-((c>>7&c)<<1)|0;K=0-(((J^1)&255)>>>0<1)|0;d=K>>31;b=L(b,960);I=d&F[b+2156>>2];F[a+76>>2]=I;m=d&F[b+2152>>2];F[a+72>>2]=m;g=d&F[b+2148>>2];F[a+68>>2]=g;K=a- -64|0;n=d&F[b+2144>>2];F[K>>2]=n;o=d&F[b+2140>>2];F[a+60>>2]=o;p=d&F[b+2136>>2];F[a+56>>2]=p;q=d&F[b+2132>>2];F[a+52>>2]=q;r=d&F[b+2128>>2];F[a+48>>2]=r;s=d&F[b+2124>>2];F[M>>2]=s;t=d&F[b+2116>>2];F[a+36>>2]=t;u=d&F[b+2112>>2];F[a+32>>2]=u;v=d&F[b+2108>>2];F[a+28>>2]=v;h=d&F[b+2104>>2];F[a+24>>2]=h;i=d&F[b+2100>>2];F[a+20>>2]=i;j=d&F[b+2096>>2];F[a+16>>2]=j;k=d&F[b+2092>>2];F[a+12>>2]=k;l=d&F[b+2088>>2];F[a+8>>2]=l;e=d&F[b+2084>>2];F[a+4>>2]=e;w=d&(F[b+2120>>2]^1)^1;F[a+40>>2]=w;x=d&(F[b+2080>>2]^1)^1;F[a>>2]=x;y=F[a+80>>2];y=d&(y^F[b+2160>>2])^y;F[a+80>>2]=y;z=F[a+84>>2];z=d&(z^F[b+2164>>2])^z;F[a+84>>2]=z;A=F[a+88>>2];A=d&(A^F[b+2168>>2])^A;F[a+88>>2]=A;B=F[a+92>>2];B=d&(B^F[b+2172>>2])^B;F[a+92>>2]=B;C=F[a+96>>2];C=d&(C^F[b+2176>>2])^C;F[a+96>>2]=C;D=F[a+100>>2];D=d&(D^F[b+2180>>2])^D;F[a+100>>2]=D;E=F[a+104>>2];E=d&(E^F[b+2184>>2])^E;F[a+104>>2]=E;G=F[a+108>>2];G=d&(G^F[b+2188>>2])^G;F[a+108>>2]=G;H=F[a+112>>2];H=d&(H^F[b+2192>>2])^H;F[a+112>>2]=H;f=d;d=F[a+116>>2];f=f&(d^F[b+2196>>2])^d;F[a+116>>2]=f;d=0-(((J^2)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2244>>2]);F[M>>2]=s;w=w^d&(w^F[b+2240>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2236>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2232>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2228>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2224>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2220>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2216>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2212>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2208>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2204>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2200>>2]);F[a>>2]=x;I=I^d&(I^F[b+2276>>2]);F[a+76>>2]=I;m=m^d&(m^F[b+2272>>2]);F[a+72>>2]=m;g=g^d&(g^F[b+2268>>2]);F[a+68>>2]=g;n=n^d&(n^F[b+2264>>2]);F[K>>2]=n;o=o^d&(o^F[b+2260>>2]);F[a+60>>2]=o;p=p^d&(p^F[b+2256>>2]);F[a+56>>2]=p;q=q^d&(q^F[b+2252>>2]);F[a+52>>2]=q;r=r^d&(r^F[b+2248>>2]);F[a+48>>2]=r;B=B^d&(B^F[b+2292>>2]);F[a+92>>2]=B;A=A^d&(A^F[b+2288>>2]);F[a+88>>2]=A;z=z^d&(z^F[b+2284>>2]);F[a+84>>2]=z;y=y^d&(y^F[b+2280>>2]);F[a+80>>2]=y;f=f^d&(f^F[b+2316>>2]);F[a+116>>2]=f;H=H^d&(H^F[b+2312>>2]);F[a+112>>2]=H;G=G^d&(G^F[b+2308>>2]);F[a+108>>2]=G;E=E^d&(E^F[b+2304>>2]);F[a+104>>2]=E;D=D^d&(D^F[b+2300>>2]);F[a+100>>2]=D;C=C^d&(C^F[b+2296>>2]);F[a+96>>2]=C;d=0-(((J^3)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2364>>2]);F[M>>2]=s;w=w^d&(w^F[b+2360>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2356>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2352>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2348>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2344>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2340>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2336>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2332>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2328>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2324>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2320>>2]);F[a>>2]=x;B=B^d&(B^F[b+2412>>2]);F[a+92>>2]=B;A=A^d&(A^F[b+2408>>2]);F[a+88>>2]=A;z=z^d&(z^F[b+2404>>2]);F[a+84>>2]=z;y=y^d&(y^F[b+2400>>2]);F[a+80>>2]=y;I=I^d&(I^F[b+2396>>2]);F[a+76>>2]=I;m=m^d&(m^F[b+2392>>2]);F[a+72>>2]=m;g=g^d&(g^F[b+2388>>2]);F[a+68>>2]=g;n=n^d&(n^F[b+2384>>2]);F[K>>2]=n;o=o^d&(o^F[b+2380>>2]);F[a+60>>2]=o;p=p^d&(p^F[b+2376>>2]);F[a+56>>2]=p;q=q^d&(q^F[b+2372>>2]);F[a+52>>2]=q;r=r^d&(r^F[b+2368>>2]);F[a+48>>2]=r;f=f^d&(f^F[b+2436>>2]);F[a+116>>2]=f;H=H^d&(H^F[b+2432>>2]);F[a+112>>2]=H;G=G^d&(G^F[b+2428>>2]);F[a+108>>2]=G;E=E^d&(E^F[b+2424>>2]);F[a+104>>2]=E;D=D^d&(D^F[b+2420>>2]);F[a+100>>2]=D;C=C^d&(C^F[b+2416>>2]);F[a+96>>2]=C;d=0-(((J^4)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2484>>2]);F[M>>2]=s;w=w^d&(w^F[b+2480>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2476>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2472>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2468>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2464>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2460>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2456>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2452>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2448>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2444>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2440>>2]);F[a>>2]=x;B=B^d&(B^F[b+2532>>2]);F[a+92>>2]=B;A=A^d&(A^F[b+2528>>2]);F[a+88>>2]=A;z=z^d&(z^F[b+2524>>2]);F[a+84>>2]=z;y=y^d&(y^F[b+2520>>2]);F[a+80>>2]=y;I=I^d&(I^F[b+2516>>2]);F[a+76>>2]=I;m=m^d&(m^F[b+2512>>2]);F[a+72>>2]=m;g=g^d&(g^F[b+2508>>2]);F[a+68>>2]=g;n=n^d&(n^F[b+2504>>2]);F[K>>2]=n;o=o^d&(o^F[b+2500>>2]);F[a+60>>2]=o;p=p^d&(p^F[b+2496>>2]);F[a+56>>2]=p;q=q^d&(q^F[b+2492>>2]);F[a+52>>2]=q;r=r^d&(r^F[b+2488>>2]);F[a+48>>2]=r;C=C^d&(C^F[b+2536>>2]);F[a+96>>2]=C;D=D^d&(D^F[b+2540>>2]);F[a+100>>2]=D;E=E^d&(E^F[b+2544>>2]);F[a+104>>2]=E;G=G^d&(G^F[b+2548>>2]);F[a+108>>2]=G;H=H^d&(H^F[b+2552>>2]);F[a+112>>2]=H;f=f^d&(f^F[b+2556>>2]);F[a+116>>2]=f;d=0-(((J^5)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2604>>2]);F[M>>2]=s;w=w^d&(w^F[b+2600>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2596>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2592>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2588>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2584>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2580>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2576>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2572>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2568>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2564>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2560>>2]);F[a>>2]=x;D=D^d&(D^F[b+2660>>2]);F[a+100>>2]=D;C=C^d&(C^F[b+2656>>2]);F[a+96>>2]=C;B=B^d&(B^F[b+2652>>2]);F[a+92>>2]=B;E=E^d&(E^F[b+2664>>2]);F[a+104>>2]=E;G=G^d&(G^F[b+2668>>2]);F[a+108>>2]=G;H=H^d&(H^F[b+2672>>2]);F[a+112>>2]=H;f=f^d&(f^F[b+2676>>2]);F[a+116>>2]=f;A=A^d&(A^F[b+2648>>2]);F[a+88>>2]=A;z=z^d&(z^F[b+2644>>2]);F[a+84>>2]=z;y=y^d&(y^F[b+2640>>2]);F[a+80>>2]=y;I=I^d&(I^F[b+2636>>2]);F[a+76>>2]=I;m=m^d&(m^F[b+2632>>2]);F[a+72>>2]=m;g=g^d&(g^F[b+2628>>2]);F[a+68>>2]=g;n=n^d&(n^F[b+2624>>2]);F[K>>2]=n;o=o^d&(o^F[b+2620>>2]);F[a+60>>2]=o;p=p^d&(p^F[b+2616>>2]);F[a+56>>2]=p;q=q^d&(q^F[b+2612>>2]);F[a+52>>2]=q;r=r^d&(r^F[b+2608>>2]);F[a+48>>2]=r;d=0-(((J^6)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2724>>2]);F[M>>2]=s;w=w^d&(w^F[b+2720>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2716>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2712>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2708>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2704>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2700>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2696>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2692>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2688>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2684>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2680>>2]);F[a>>2]=x;r=r^d&(r^F[b+2728>>2]);F[a+48>>2]=r;q=q^d&(q^F[b+2732>>2]);F[a+52>>2]=q;p=p^d&(p^F[b+2736>>2]);F[a+56>>2]=p;o=o^d&(o^F[b+2740>>2]);F[a+60>>2]=o;n=n^d&(n^F[b+2744>>2]);F[K>>2]=n;g=g^d&(g^F[b+2748>>2]);F[a+68>>2]=g;m=m^d&(m^F[b+2752>>2]);F[a+72>>2]=m;I=I^d&(I^F[b+2756>>2]);F[a+76>>2]=I;y=y^d&(y^F[b+2760>>2]);F[a+80>>2]=y;z=z^d&(z^F[b+2764>>2]);F[a+84>>2]=z;A=A^d&(A^F[b+2768>>2]);F[a+88>>2]=A;B=B^d&(B^F[b+2772>>2]);F[a+92>>2]=B;C=C^d&(C^F[b+2776>>2]);F[a+96>>2]=C;D=D^d&(D^F[b+2780>>2]);F[a+100>>2]=D;E=E^d&(E^F[b+2784>>2]);F[a+104>>2]=E;G=G^d&(G^F[b+2788>>2]);F[a+108>>2]=G;H=H^d&(H^F[b+2792>>2]);F[a+112>>2]=H;f=f^d&(f^F[b+2796>>2]);F[a+116>>2]=f;d=0-(((J^7)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2844>>2]);F[M>>2]=s;r=r^d&(r^F[b+2848>>2]);F[a+48>>2]=r;q=q^d&(q^F[b+2852>>2]);F[a+52>>2]=q;p=p^d&(p^F[b+2856>>2]);F[a+56>>2]=p;o=o^d&(o^F[b+2860>>2]);F[a+60>>2]=o;n=n^d&(n^F[b+2864>>2]);F[K>>2]=n;g=g^d&(g^F[b+2868>>2]);F[a+68>>2]=g;m=m^d&(m^F[b+2872>>2]);F[a+72>>2]=m;I=I^d&(I^F[b+2876>>2]);F[a+76>>2]=I;y=y^d&(y^F[b+2880>>2]);F[a+80>>2]=y;z=z^d&(z^F[b+2884>>2]);F[a+84>>2]=z;A=A^d&(A^F[b+2888>>2]);F[a+88>>2]=A;B=B^d&(B^F[b+2892>>2]);F[a+92>>2]=B;C=C^d&(C^F[b+2896>>2]);F[a+96>>2]=C;D=D^d&(D^F[b+2900>>2]);F[a+100>>2]=D;E=E^d&(E^F[b+2904>>2]);F[a+104>>2]=E;G=G^d&(G^F[b+2908>>2]);F[a+108>>2]=G;H=H^d&(H^F[b+2912>>2]);F[a+112>>2]=H;f=f^d&(f^F[b+2916>>2]);F[a+116>>2]=f;w=w^d&(w^F[b+2840>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2836>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2832>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2828>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2824>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2820>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2816>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2812>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2808>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2804>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2800>>2]);F[a>>2]=x;J=0-(((J^8)&255)>>>0<1)|0;d=J>>31;J=e^d&(e^F[b+2924>>2]);F[a+4>>2]=J;e=x^d&(x^F[b+2920>>2]);F[a>>2]=e;l=l^d&(l^F[b+2928>>2]);F[a+8>>2]=l;k=k^d&(k^F[b+2932>>2]);F[a+12>>2]=k;j=j^d&(j^F[b+2936>>2]);F[a+16>>2]=j;i=i^d&(i^F[b+2940>>2]);F[a+20>>2]=i;h=h^d&(h^F[b+2944>>2]);F[a+24>>2]=h;v=v^d&(v^F[b+2948>>2]);F[a+28>>2]=v;u=u^d&(u^F[b+2952>>2]);F[a+32>>2]=u;t=t^d&(t^F[b+2956>>2]);F[a+36>>2]=t;w=w^d&(w^F[b+2960>>2]);F[a+40>>2]=w;s=s^d&(s^F[b+2964>>2]);F[M>>2]=s;r=r^d&(r^F[b+2968>>2]);F[a+48>>2]=r;q=q^d&(q^F[b+2972>>2]);F[a+52>>2]=q;p=p^d&(p^F[b+2976>>2]);F[a+56>>2]=p;o=o^d&(o^F[b+2980>>2]);F[a+60>>2]=o;n=n^d&(n^F[b+2984>>2]);F[K>>2]=n;g=g^d&(g^F[b+2988>>2]);F[a+68>>2]=g;m=m^d&(m^F[b+2992>>2]);F[a+72>>2]=m;c=0-((c&128)>>>7|0)|0;x=c&(e^w);F[a>>2]=x^e;e=f^d&(f^F[b+3036>>2]);F[a+116>>2]=c&(0-e^e)^e;e=H^d&(H^F[b+3032>>2]);F[a+112>>2]=c&(0-e^e)^e;e=G^d&(G^F[b+3028>>2]);F[a+108>>2]=c&(0-e^e)^e;e=E^d&(E^F[b+3024>>2]);F[a+104>>2]=c&(0-e^e)^e;e=D^d&(D^F[b+3020>>2]);F[a+100>>2]=c&(0-e^e)^e;e=C^d&(C^F[b+3016>>2]);F[a+96>>2]=c&(0-e^e)^e;e=B^d&(B^F[b+3012>>2]);F[a+92>>2]=c&(0-e^e)^e;e=A^d&(A^F[b+3008>>2]);F[a+88>>2]=c&(0-e^e)^e;e=z^d&(z^F[b+3004>>2]);F[a+84>>2]=c&(0-e^e)^e;e=y^d&(y^F[b+3e3>>2]);F[a+80>>2]=c&(0-e^e)^e;f=l;l=c&(l^r);F[a+8>>2]=f^l;f=g;g=c&(g^v);F[a+68>>2]=f^g;f=k;k=c&(k^q);F[a+12>>2]=f^k;f=j;j=c&(j^p);F[a+16>>2]=f^j;f=i;i=c&(i^o);F[a+20>>2]=f^i;f=h;h=c&(h^n);F[a+24>>2]=f^h;F[K>>2]=h^n;F[a+28>>2]=g^v;F[a+60>>2]=i^o;K=c&(m^u);F[a+32>>2]=K^u;F[a+56>>2]=j^p;F[a+40>>2]=w^x;g=J;J=c&(s^J);F[a+4>>2]=g^J;F[a+52>>2]=k^q;F[a+48>>2]=l^r;F[M>>2]=s^J;b=I^d&(I^F[b+2996>>2]);c=c&(b^t);F[a+36>>2]=c^t;F[a+76>>2]=b^c;F[a+72>>2]=m^K}function sa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=F[c>>2];e=d;j=d>>31;d=F[b>>2];F[a>>2]=qe(e,j,d,d>>31);F[a+4>>2]=$;d=F[c>>2];e=d;j=d>>31;d=F[b+8>>2];d=qe(e,j,d,d>>31);f=$;e=d;d=F[c+8>>2];j=d;i=d>>31;d=F[b>>2];h=qe(j,i,d,d>>31);j=e+h|0;d=$+f|0;e=a;F[e+8>>2]=j;F[e+12>>2]=h>>>0>j>>>0?d+1|0:d;d=F[c+16>>2];e=d;j=d>>31;d=F[b>>2];e=qe(e,j,d,d>>31);j=$;d=e;e=F[c+8>>2];i=e;g=e>>31;e=F[b+8>>2];f=e>>31;h=qe(i,g,(e&2147483647)<<1,f);e=d+h|0;f=$+j|0;f=e>>>0<h>>>0?f+1|0:f;d=e;e=F[c>>2];j=e;i=e>>31;e=F[b+16>>2];j=qe(j,i,e,e>>31);e=d+j|0;f=$+f|0;d=a;F[d+16>>2]=e;F[d+20>>2]=e>>>0<j>>>0?f+1|0:f;d=F[c+8>>2];e=d;j=d>>31;d=F[b+16>>2];d=qe(e,j,d,d>>31);f=$;e=d;d=F[c+16>>2];j=d;i=d>>31;d=F[b+8>>2];h=qe(j,i,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0<h>>>0?d+1|0:d;j=e;e=F[c+24>>2];f=e;i=e>>31;e=F[b>>2];h=qe(f,i,e,e>>31);f=j+h|0;e=$+d|0;e=f>>>0<h>>>0?e+1|0:e;d=F[c>>2];j=d;i=d>>31;d=F[b+24>>2];h=qe(j,i,d,d>>31);d=h+f|0;f=$+e|0;j=a;F[j+24>>2]=d;F[j+28>>2]=d>>>0<h>>>0?f+1|0:f;d=F[c+16>>2];e=d;f=d>>31;d=F[b+16>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+8>>2];f=e;i=e>>31;e=F[b+24>>2];e=qe(f,i,e,e>>31);f=$;i=d;g=e;d=F[c+24>>2];e=d;k=d>>31;d=F[b+8>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;e=f<<1|d>>>31;g=d<<1;d=i+g|0;f=e+h|0;f=d>>>0<g>>>0?f+1|0:f;e=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b>>2];h=qe(i,g,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0<h>>>0?d+1|0:d;f=e;e=F[c>>2];i=e;g=e>>31;e=F[b+32>>2];h=qe(i,g,e,e>>31);e=f+h|0;f=$+d|0;F[j+32>>2]=e;F[j+36>>2]=e>>>0<h>>>0?f+1|0:f;d=F[c+16>>2];e=d;f=d>>31;d=F[b+24>>2];d=qe(e,f,d,d>>31);e=$;f=d;d=F[c+24>>2];i=d;g=d>>31;d=F[b+16>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0<h>>>0?f+1|0:f;e=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+8>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;e=d>>>0<h>>>0?e+1|0:e;f=d;d=F[c+8>>2];i=d;g=d>>31;d=F[b+32>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0<h>>>0?f+1|0:f;e=d;d=F[c+40>>2];i=d;g=d>>31;d=F[b>>2];h=qe(i,g,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0<h>>>0?d+1|0:d;f=e;e=F[c>>2];i=e;g=e>>31;e=F[b+40>>2];h=qe(i,g,e,e>>31);e=f+h|0;f=$+d|0;F[j+40>>2]=e;F[j+44>>2]=e>>>0<h>>>0?f+1|0:f;d=F[c+32>>2];e=d;f=d>>31;d=F[b+16>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+40>>2];f=e;i=e>>31;e=F[b+8>>2];e=qe(f,i,e,e>>31);f=$;i=d;g=e;d=F[c+24>>2];e=d;k=d>>31;d=F[b+24>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;e=d;d=F[c+8>>2];g=d;k=d>>31;d=F[b+40>>2];g=qe(g,k,d,d>>31);d=e+g|0;e=$+f|0;e=d>>>0<g>>>0?e+1|0:e;f=e<<1|d>>>31;e=d<<1;d=i+e|0;f=f+h|0;f=d>>>0<e>>>0?f+1|0:f;e=d;d=F[c+16>>2];i=d;g=d>>31;d=F[b+32>>2];h=qe(i,g,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0<h>>>0?d+1|0:d;f=e;e=F[c+48>>2];i=e;g=e>>31;e=F[b>>2];h=qe(i,g,e,e>>31);e=f+h|0;f=$+d|0;f=e>>>0<h>>>0?f+1|0:f;d=F[c>>2];i=d;g=d>>31;d=F[b+48>>2];h=qe(i,g,d,d>>31);d=h+e|0;e=$+f|0;F[j+48>>2]=d;F[j+52>>2]=d>>>0<h>>>0?e+1|0:e;d=F[c+24>>2];e=d;f=d>>31;d=F[b+32>>2];d=qe(e,f,d,d>>31);e=$;f=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+24>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0<h>>>0?f+1|0:f;i=d;d=F[c+40>>2];e=d;g=d>>31;d=F[b+16>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;e=d;d=F[c+16>>2];i=d;g=d>>31;d=F[b+40>>2];h=qe(i,g,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0<h>>>0?d+1|0:d;f=e;e=F[c+48>>2];i=e;g=e>>31;e=F[b+8>>2];h=qe(i,g,e,e>>31);e=f+h|0;f=$+d|0;f=e>>>0<h>>>0?f+1|0:f;d=F[c+8>>2];i=d;g=d>>31;d=F[b+48>>2];h=qe(i,g,d,d>>31);d=h+e|0;e=$+f|0;e=d>>>0<h>>>0?e+1|0:e;f=d;d=F[c+56>>2];i=d;g=d>>31;d=F[b>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0<h>>>0?f+1|0:f;i=d;d=F[c>>2];e=d;g=d>>31;d=F[b+56>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;F[j+56>>2]=d;F[j+60>>2]=d>>>0<e>>>0?f+1|0:f;d=F[c+32>>2];e=d;f=d>>31;d=F[b+32>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+24>>2];f=e;i=e>>31;e=F[b+40>>2];e=qe(f,i,e,e>>31);f=$;i=d;d=F[c+40>>2];g=d;k=d>>31;d=F[b+24>>2];g=qe(g,k,d,d>>31);e=g+e|0;d=$+f|0;d=e>>>0<g>>>0?d+1|0:d;f=e;e=F[c+56>>2];g=e;k=e>>31;e=F[b+8>>2];g=qe(g,k,e,e>>31);e=f+g|0;f=$+d|0;f=e>>>0<g>>>0?f+1|0:f;d=F[c+8>>2];g=d;k=d>>31;d=F[b+56>>2];g=qe(g,k,d,d>>31);d=g+e|0;e=$+f|0;f=d;d=(d>>>0<g>>>0?e+1|0:e)<<1|d>>>31;g=f<<1;e=i+g|0;f=d+h|0;f=e>>>0<g>>>0?f+1|0:f;i=e;d=F[c+48>>2];e=d;g=d>>31;d=F[b+16>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;i=d;d=F[c+16>>2];e=d;g=d>>31;d=F[b+48>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;e=d;d=F[c+64>>2];i=d;g=d>>31;d=F[b>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;e=d>>>0<h>>>0?e+1|0:e;f=d;d=F[c>>2];i=d;g=d>>31;d=F[b+64>>2];h=qe(i,g,d,d>>31);f=f+h|0;d=$+e|0;F[j+64>>2]=f;F[j+68>>2]=f>>>0<h>>>0?d+1|0:d;d=F[c+32>>2];e=d;f=d>>31;d=F[b+40>>2];d=qe(e,f,d,d>>31);e=$;f=d;d=F[c+40>>2];i=d;g=d>>31;d=F[b+32>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0<h>>>0?f+1|0:f;i=d;d=F[c+48>>2];e=d;g=d>>31;d=F[b+24>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;i=d;d=F[c+24>>2];e=d;g=d>>31;d=F[b+48>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;e=d;d=F[c+56>>2];i=d;g=d>>31;d=F[b+16>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;e=d>>>0<h>>>0?e+1|0:e;f=d;d=F[c+16>>2];i=d;g=d>>31;d=F[b+56>>2];h=qe(i,g,d,d>>31);f=f+h|0;d=$+e|0;d=f>>>0<h>>>0?d+1|0:d;e=F[c+64>>2];i=e;g=e>>31;e=F[b+8>>2];h=qe(i,g,e,e>>31);e=h+f|0;f=$+d|0;f=e>>>0<h>>>0?f+1|0:f;i=e;d=F[c+8>>2];e=d;g=d>>31;d=F[b+64>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;i=d;d=F[c+72>>2];e=d;g=d>>31;d=F[b>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;e=d;d=F[c>>2];i=d;g=d>>31;d=F[b+72>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;F[j+72>>2]=d;F[j+76>>2]=d>>>0<h>>>0?e+1|0:e;d=F[c+48>>2];e=d;f=d>>31;d=F[b+32>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+56>>2];f=e;i=e>>31;e=F[b+24>>2];e=qe(f,i,e,e>>31);f=$;i=d;d=F[c+40>>2];g=d;k=d>>31;d=F[b+40>>2];g=qe(g,k,d,d>>31);e=g+e|0;d=$+f|0;d=e>>>0<g>>>0?d+1|0:d;f=e;e=F[c+24>>2];g=e;k=e>>31;e=F[b+56>>2];g=qe(g,k,e,e>>31);e=f+g|0;f=$+d|0;f=e>>>0<g>>>0?f+1|0:f;g=e;d=F[c+72>>2];e=d;k=d>>31;d=F[b+8>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;g=d;d=F[c+8>>2];e=d;k=d>>31;d=F[b+72>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;f=f<<1|d>>>31;g=d<<1;d=i+g|0;e=f+h|0;e=d>>>0<g>>>0?e+1|0:e;f=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+48>>2];h=qe(i,g,d,d>>31);f=f+h|0;d=$+e|0;d=f>>>0<h>>>0?d+1|0:d;e=F[c+64>>2];i=e;g=e>>31;e=F[b+16>>2];h=qe(i,g,e,e>>31);e=h+f|0;f=$+d|0;f=e>>>0<h>>>0?f+1|0:f;i=e;d=F[c+16>>2];e=d;g=d>>31;d=F[b+64>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;F[j+80>>2]=d;F[j+84>>2]=d>>>0<e>>>0?f+1|0:f;d=F[c+40>>2];e=d;f=d>>31;d=F[b+48>>2];d=qe(e,f,d,d>>31);e=$;f=d;d=F[c+48>>2];i=d;g=d>>31;d=F[b+40>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0<h>>>0?f+1|0:f;e=d;d=F[c+56>>2];i=d;g=d>>31;d=F[b+32>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;e=d>>>0<h>>>0?e+1|0:e;f=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+56>>2];h=qe(i,g,d,d>>31);f=f+h|0;d=$+e|0;d=f>>>0<h>>>0?d+1|0:d;e=F[c+64>>2];i=e;g=e>>31;e=F[b+24>>2];h=qe(i,g,e,e>>31);e=h+f|0;f=$+d|0;f=e>>>0<h>>>0?f+1|0:f;i=e;d=F[c+24>>2];e=d;g=d>>31;d=F[b+64>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;i=d;d=F[c+72>>2];e=d;g=d>>31;d=F[b+16>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;e=d;d=F[c+16>>2];i=d;g=d>>31;d=F[b+72>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;F[j+88>>2]=d;F[j+92>>2]=d>>>0<h>>>0?e+1|0:e;d=F[c+48>>2];e=d;f=d>>31;d=F[b+48>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+40>>2];f=e;i=e>>31;e=F[b+56>>2];e=qe(f,i,e,e>>31);f=$;i=d;d=F[c+56>>2];g=d;k=d>>31;d=F[b+40>>2];g=qe(g,k,d,d>>31);e=g+e|0;d=$+f|0;d=e>>>0<g>>>0?d+1|0:d;f=e;e=F[c+72>>2];g=e;k=e>>31;e=F[b+24>>2];g=qe(g,k,e,e>>31);e=f+g|0;f=$+d|0;f=e>>>0<g>>>0?f+1|0:f;g=e;d=F[c+24>>2];e=d;k=d>>31;d=F[b+72>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;e=d;d=f<<1|d>>>31;g=e<<1;e=i+g|0;f=d+h|0;d=F[c+64>>2];i=d;h=d>>31;d=F[b+32>>2];h=qe(i,h,d,d>>31);d=h+e|0;e=$+(e>>>0<g>>>0?f+1|0:f)|0;e=d>>>0<h>>>0?e+1|0:e;f=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+64>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;F[j+96>>2]=d;F[j+100>>2]=d>>>0<h>>>0?f+1|0:f;d=F[c+48>>2];e=d;f=d>>31;d=F[b+56>>2];d=qe(e,f,d,d>>31);e=$;f=d;d=F[c+56>>2];i=d;g=d>>31;d=F[b+48>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0<h>>>0?f+1|0:f;e=d;d=F[c+64>>2];i=d;g=d>>31;d=F[b+40>>2];h=qe(i,g,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0<h>>>0?d+1|0:d;f=e;e=F[c+40>>2];i=e;g=e>>31;e=F[b+64>>2];h=qe(i,g,e,e>>31);e=f+h|0;f=$+d|0;f=e>>>0<h>>>0?f+1|0:f;d=F[c+72>>2];i=d;g=d>>31;d=F[b+32>>2];h=qe(i,g,d,d>>31);d=h+e|0;e=$+f|0;e=d>>>0<h>>>0?e+1|0:e;f=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+72>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;F[j+104>>2]=d;F[j+108>>2]=d>>>0<h>>>0?f+1|0:f;d=F[c+64>>2];e=d;f=d>>31;d=F[b+48>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+72>>2];f=e;i=e>>31;e=F[b+40>>2];e=qe(f,i,e,e>>31);f=$;i=d;g=e;d=F[c+56>>2];e=d;k=d>>31;d=F[b+56>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;e=d;d=F[c+40>>2];g=d;k=d>>31;d=F[b+72>>2];g=qe(g,k,d,d>>31);e=e+g|0;d=$+f|0;d=e>>>0<g>>>0?d+1|0:d;f=d<<1|e>>>31;e=e<<1;d=i+e|0;f=f+h|0;f=d>>>0<e>>>0?f+1|0:f;e=d;d=F[c+48>>2];i=d;g=d>>31;d=F[b+64>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;F[j+112>>2]=d;F[j+116>>2]=d>>>0<h>>>0?e+1|0:e;d=F[c+56>>2];e=d;j=d>>31;d=F[b+64>>2];d=qe(e,j,d,d>>31);j=$;e=d;d=F[c+64>>2];f=d;i=d>>31;d=F[b+56>>2];h=qe(f,i,d,d>>31);d=e+h|0;f=$+j|0;f=d>>>0<h>>>0?f+1|0:f;e=d;d=F[c+72>>2];j=d;i=d>>31;d=F[b+48>>2];h=qe(j,i,d,d>>31);j=e+h|0;d=$+f|0;d=h>>>0>j>>>0?d+1|0:d;e=j;j=F[c+48>>2];f=j;i=j>>31;j=F[b+72>>2];h=qe(f,i,j,j>>31);j=e+h|0;f=$+d|0;e=a;F[e+120>>2]=j;F[e+124>>2]=h>>>0>j>>>0?f+1|0:f;d=F[c+64>>2];e=d;j=d>>31;d=F[b+64>>2];d=qe(e,j,d,d>>31);h=$;e=F[c+56>>2];j=e;f=e>>31;e=F[b+72>>2];e=qe(j,f,e,e>>31);f=$;j=d;i=e;d=F[c+72>>2];e=d;g=d>>31;d=F[b+56>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0<e>>>0?f+1|0:f;e=d;d=f<<1|d>>>31;g=e<<1;f=j+g|0;e=d+h|0;j=a;F[j+128>>2]=f;F[j+132>>2]=f>>>0<g>>>0?e+1|0:e;d=F[c+64>>2];e=d;j=d>>31;d=F[b+72>>2];e=qe(e,j,d,d>>31);j=$;d=e;e=F[c+72>>2];f=e;i=e>>31;e=F[b+64>>2];h=qe(f,i,e,e>>31);e=d+h|0;f=$+j|0;d=a;F[d+136>>2]=e;F[d+140>>2]=e>>>0<h>>>0?f+1|0:f;c=F[c+72>>2];d=F[b+72>>2];b=0;F[a+144>>2]=qe(c,c>>31,(d&2147483647)<<1|b>>>31,d>>31);F[a+148>>2]=$}function ha(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;j=a;V=F[c+4>>2];d=V;x=d;G=d>>31;r=F[b+20>>2];d=r<<1;ma=d;Y=d>>31;d=qe(x,G,d,Y);f=$;e=d;d=F[c>>2];y=d;z=d>>31;d=F[b+24>>2];H=d;A=d>>31;h=qe(y,z,d,A);e=e+h|0;d=$+f|0;d=e>>>0<h>>>0?d+1|0:d;f=e;i=F[c+8>>2];e=i;na=e;P=e>>31;e=F[b+16>>2];I=e;B=e>>31;h=qe(i,P,e,B);e=f+h|0;f=$+d|0;f=e>>>0<h>>>0?f+1|0:f;t=F[c+12>>2];d=t;oa=d;R=d>>31;o=F[b+12>>2];d=o<<1;pa=d;Z=d>>31;h=qe(t,R,d,Z);d=h+e|0;e=$+f|0;e=d>>>0<h>>>0?e+1|0:e;f=d;s=F[c+16>>2];d=s;wa=d;W=d>>31;d=F[b+8>>2];J=d;C=d>>31;h=qe(s,W,d,C);f=f+h|0;d=$+e|0;d=f>>>0<h>>>0?d+1|0:d;g=f;m=F[c+20>>2];e=m;xa=e;_=e>>31;l=F[b+4>>2];e=l<<1;qa=e;aa=e>>31;f=qe(m,_,e,aa);e=g+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=e;n=F[c+24>>2];e=n;ya=e;ra=e>>31;e=F[b>>2];K=e;D=e>>31;h=qe(n,ra,e,D);f=f+h|0;e=$+d|0;e=f>>>0<h>>>0?e+1|0:e;u=F[c+28>>2];d=L(u,19);S=d;T=d>>31;p=F[b+36>>2];d=p<<1;sa=d;ba=d>>31;h=qe(S,T,d,ba);d=h+f|0;f=$+e|0;f=d>>>0<h>>>0?f+1|0:f;e=d;q=F[c+32>>2];d=L(q,19);v=d;w=d>>31;d=F[b+32>>2];M=d;E=d>>31;h=qe(v,w,d,E);e=e+h|0;d=$+f|0;d=e>>>0<h>>>0?d+1|0:d;f=e;za=F[c+36>>2];c=L(za,19);N=c;O=c>>31;b=F[b+28>>2];c=b<<1;ta=c;ca=c>>31;e=qe(N,O,c,ca);c=f+e|0;d=$+d|0;k=c;c=c>>>0<e>>>0?d+1|0:d;d=qe(I,B,x,G);e=$;h=r;da=h>>31;r=qe(y,z,h,da);d=r+d|0;f=$+e|0;f=d>>>0<r>>>0?f+1|0:f;r=o;ea=o>>31;o=qe(i,P,o,ea);d=o+d|0;e=$+f|0;e=d>>>0<o>>>0?e+1|0:e;o=qe(J,C,t,R);f=o+d|0;d=$+e|0;d=f>>>0<o>>>0?d+1|0:d;e=f;o=l;fa=l>>31;f=qe(s,W,l,fa);e=e+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=qe(K,D,m,_);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=e;e=L(n,19);ga=e;X=e>>31;l=p;ha=l>>31;p=qe(e,X,l,ha);e=f+p|0;f=$+d|0;f=e>>>0<p>>>0?f+1|0:f;p=qe(M,E,S,T);d=p+e|0;e=$+f|0;e=d>>>0<p>>>0?e+1|0:e;p=b;ia=b>>31;f=qe(v,w,b,ia);b=f+d|0;d=$+e|0;d=b>>>0<f>>>0?d+1|0:d;e=qe(N,O,H,A);b=e+b|0;d=$+d|0;U=b;b=b>>>0<e>>>0?d+1|0:d;d=qe(x,G,pa,Z);f=$;n=qe(y,z,I,B);e=n+d|0;d=$+f|0;d=e>>>0<n>>>0?d+1|0:d;n=qe(J,C,i,P);e=n+e|0;f=$+d|0;f=e>>>0<n>>>0?f+1|0:f;n=qe(t,R,qa,aa);d=n+e|0;e=$+f|0;e=d>>>0<n>>>0?e+1|0:e;n=qe(K,D,s,W);f=n+d|0;d=$+e|0;d=f>>>0<n>>>0?d+1|0:d;g=f;e=L(m,19);ua=e;ja=e>>31;f=qe(e,ja,sa,ba);e=g+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=qe(M,E,ga,X);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;m=qe(S,T,ta,ca);e=m+e|0;f=$+d|0;f=e>>>0<m>>>0?f+1|0:f;m=qe(v,w,H,A);d=m+e|0;e=$+f|0;e=d>>>0<m>>>0?e+1|0:e;m=qe(N,O,ma,Y);f=m+d|0;d=$+e|0;d=f>>>0<m>>>0?d+1|0:d;m=f;Ba=d;e=f+33554432|0;d=e>>>0<33554432?d+1|0:d;n=e;Ca=d;f=U;U=(d&67108863)<<6|e>>>26;f=f+U|0;d=(d>>26)+b|0;d=f>>>0<U>>>0?d+1|0:d;U=f;b=U+16777216|0;f=b>>>0<16777216?d+1|0:d;Da=b;e=f>>25;f=(f&33554431)<<7|b>>>25;b=f+k|0;d=c+e|0;d=b>>>0<f>>>0?d+1|0:d;c=b;b=c+33554432|0;d=b>>>0<33554432?d+1|0:d;ka=b;b=d;d=ka&-67108864;F[j+24>>2]=c-d;k=j;c=qe(x,G,qa,aa);d=$;e=qe(y,z,J,C);c=e+c|0;f=$+d|0;f=c>>>0<e>>>0?f+1|0:f;e=qe(K,D,i,P);c=e+c|0;d=$+f|0;d=c>>>0<e>>>0?d+1|0:d;f=c;c=L(t,19);j=c;t=c>>31;e=qe(c,t,sa,ba);c=f+e|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;e=c;c=L(s,19);Aa=c;va=c>>31;f=qe(M,E,c,va);c=e+f|0;e=$+d|0;e=c>>>0<f>>>0?e+1|0:e;f=qe(ta,ca,ua,ja);c=f+c|0;d=$+e|0;d=c>>>0<f>>>0?d+1|0:d;e=qe(H,A,ga,X);c=e+c|0;f=$+d|0;f=c>>>0<e>>>0?f+1|0:f;e=qe(S,T,ma,Y);c=e+c|0;d=$+f|0;d=c>>>0<e>>>0?d+1|0:d;e=qe(v,w,I,B);c=e+c|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;f=qe(N,O,pa,Z);c=f+c|0;e=$+d|0;g=c;c=c>>>0<f>>>0?e+1|0:e;d=qe(K,D,x,G);f=$;s=qe(y,z,o,fa);e=s+d|0;d=$+f|0;d=e>>>0<s>>>0?d+1|0:d;f=e;e=L(i,19);s=e;Q=e>>31;i=qe(e,Q,l,ha);e=f+i|0;f=$+d|0;f=e>>>0<i>>>0?f+1|0:f;i=qe(M,E,j,t);e=i+e|0;d=$+f|0;d=e>>>0<i>>>0?d+1|0:d;f=qe(Aa,va,p,ia);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;i=qe(H,A,ua,ja);f=i+e|0;e=$+d|0;e=f>>>0<i>>>0?e+1|0:e;i=qe(ga,X,h,da);f=i+f|0;d=$+e|0;d=f>>>0<i>>>0?d+1|0:d;i=qe(I,B,S,T);e=i+f|0;f=$+d|0;f=e>>>0<i>>>0?f+1|0:f;i=qe(v,w,r,ea);e=i+e|0;d=$+f|0;d=e>>>0<i>>>0?d+1|0:d;f=qe(N,O,J,C);e=f+e|0;d=$+d|0;la=e;i=e>>>0<f>>>0?d+1|0:d;d=L(x,19);d=qe(d,d>>31,sa,ba);e=$;f=qe(y,z,K,D);d=f+d|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;V=qe(M,E,s,Q);f=V+d|0;d=$+e|0;j=qe(j,t,ta,ca);e=j+f|0;f=$+(f>>>0<V>>>0?d+1|0:d)|0;f=e>>>0<j>>>0?f+1|0:f;j=qe(H,A,Aa,va);e=j+e|0;d=$+f|0;d=e>>>0<j>>>0?d+1|0:d;f=qe(ma,Y,ua,ja);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;j=qe(I,B,ga,X);f=j+e|0;e=$+d|0;e=f>>>0<j>>>0?e+1|0:e;j=qe(S,T,pa,Z);f=j+f|0;d=$+e|0;d=f>>>0<j>>>0?d+1|0:d;j=qe(v,w,J,C);e=j+f|0;f=$+d|0;f=e>>>0<j>>>0?f+1|0:f;j=qe(N,O,qa,aa);e=j+e|0;d=$+f|0;d=e>>>0<j>>>0?d+1|0:d;j=e;V=d;e=e+33554432|0;d=e>>>0<33554432?d+1|0:d;t=e;s=d;f=d>>26;Q=(d&67108863)<<6|e>>>26;d=Q+la|0;e=f+i|0;i=d;f=g;d=d>>>0<Q>>>0?e+1|0:e;e=i+16777216|0;d=e>>>0<16777216?d+1|0:d;Ea=e;g=(d&33554431)<<7|e>>>25;e=f+g|0;d=(d>>25)+c|0;d=e>>>0<g>>>0?d+1|0:d;c=e+33554432|0;d=c>>>0<33554432?d+1|0:d;Q=c;c=d;d=Q&-67108864;F[k+8>>2]=e-d;g=k;d=qe(H,A,x,G);f=$;k=qe(y,z,p,ia);e=k+d|0;d=$+f|0;d=e>>>0<k>>>0?d+1|0:d;f=qe(na,P,h,da);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=qe(I,B,oa,R);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;k=qe(wa,W,r,ea);e=k+e|0;f=$+d|0;f=e>>>0<k>>>0?f+1|0:f;k=qe(J,C,xa,_);d=k+e|0;e=$+f|0;e=d>>>0<k>>>0?e+1|0:e;k=qe(o,fa,ya,ra);f=k+d|0;d=$+e|0;d=f>>>0<k>>>0?d+1|0:d;e=f;k=u;la=k>>31;f=qe(K,D,k,la);e=e+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=qe(v,w,l,ha);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;u=qe(N,O,M,E);e=u+e|0;f=$+d|0;f=e>>>0<u>>>0?f+1|0:f;d=b>>26;u=(b&67108863)<<6|ka>>>26;b=u+e|0;e=d+f|0;e=b>>>0<u>>>0?e+1|0:e;f=b;d=e;b=f+16777216|0;d=b>>>0<16777216?d+1|0:d;ka=b;b=d;d=ka&-33554432;F[g+28>>2]=f-d;u=g;d=qe(J,C,x,G);e=$;g=qe(y,z,r,ea);d=g+d|0;f=$+e|0;f=d>>>0<g>>>0?f+1|0:f;g=qe(na,P,o,fa);d=g+d|0;e=$+f|0;e=d>>>0<g>>>0?e+1|0:e;g=qe(K,D,oa,R);f=g+d|0;d=$+e|0;d=f>>>0<g>>>0?d+1|0:d;e=f;f=qe(Aa,va,l,ha);e=e+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=qe(M,E,ua,ja);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;g=qe(ga,X,p,ia);e=g+e|0;f=$+d|0;f=e>>>0<g>>>0?f+1|0:f;g=qe(H,A,S,T);d=g+e|0;e=$+f|0;e=d>>>0<g>>>0?e+1|0:e;g=qe(v,w,h,da);f=g+d|0;d=$+e|0;d=f>>>0<g>>>0?d+1|0:d;e=f;f=qe(N,O,I,B);e=e+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;g=e;e=c>>26;f=(c&67108863)<<6|Q>>>26;c=g+f|0;d=d+e|0;d=c>>>0<f>>>0?d+1|0:d;e=c;c=e+16777216|0;f=c>>>0<16777216?d+1|0:d;v=c;c=f;d=v&-33554432;F[u+12>>2]=e-d;d=qe(x,G,ta,ca);f=$;g=qe(y,z,M,E);e=g+d|0;d=$+f|0;d=e>>>0<g>>>0?d+1|0:d;f=qe(H,A,na,P);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;g=qe(oa,R,ma,Y);e=g+e|0;f=$+d|0;f=e>>>0<g>>>0?f+1|0:f;g=qe(I,B,wa,W);d=g+e|0;e=$+f|0;e=d>>>0<g>>>0?e+1|0:e;g=qe(pa,Z,xa,_);f=g+d|0;d=$+e|0;d=f>>>0<g>>>0?d+1|0:d;e=f;f=qe(J,C,ya,ra);e=e+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=qe(k,la,qa,aa);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;g=q;w=g>>31;q=qe(K,D,g,w);e=q+e|0;f=$+d|0;f=e>>>0<q>>>0?f+1|0:f;q=qe(N,O,sa,ba);d=q+e|0;e=$+f|0;e=d>>>0<q>>>0?e+1|0:e;q=d;d=b>>25;f=(b&33554431)<<7|ka>>>25;b=q+f|0;d=d+e|0;d=b>>>0<f>>>0?d+1|0:d;e=b;b=e+33554432|0;d=b>>>0<33554432?d+1|0:d;q=b;b=d;d=q&-67108864;F[u+32>>2]=e-d;d=n&-67108864;e=m-d|0;d=Ba-((d>>>0>m>>>0)+Ca|0)|0;f=e;e=c>>25;m=(c&33554431)<<7|v>>>25;c=f+m|0;d=d+e|0;d=c>>>0<m>>>0?d+1|0:d;e=c+33554432|0;if(e>>>0<33554432){d=d+1|0}d=(U-(Da&-33554432)|0)+((d&67108863)<<6|e>>>26)|0;F[a+20>>2]=d;d=e&-67108864;F[a+16>>2]=c-d;d=qe(M,E,x,G);f=$;l=qe(y,z,l,ha);e=l+d|0;d=$+f|0;d=e>>>0<l>>>0?d+1|0:d;l=qe(na,P,p,ia);f=l+e|0;e=$+d|0;e=f>>>0<l>>>0?e+1|0:e;l=qe(H,A,oa,R);d=l+f|0;f=$+e|0;h=qe(wa,W,h,da);e=h+d|0;d=$+(d>>>0<l>>>0?f+1|0:f)|0;d=e>>>0<h>>>0?d+1|0:d;f=qe(I,B,xa,_);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=qe(r,ea,ya,ra);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;h=qe(J,C,k,la);f=h+e|0;e=$+d|0;e=f>>>0<h>>>0?e+1|0:e;h=qe(g,w,o,fa);d=h+f|0;f=$+e|0;f=d>>>0<h>>>0?f+1|0:f;h=qe(K,D,za,za>>31);e=h+d|0;d=$+f|0;d=e>>>0<h>>>0?d+1|0:d;c=e;e=b>>26;f=(b&67108863)<<6|q>>>26;b=c+f|0;d=d+e|0;d=b>>>0<f>>>0?d+1|0:d;c=b;b=c+16777216|0;d=b>>>0<16777216?d+1|0:d;e=b;b=e&-33554432;F[a+36>>2]=c-b;f=i-(Ea&-33554432)|0;b=t&-67108864;h=j-b|0;r=V-((b>>>0>j>>>0)+s|0)|0;b=d;d=d>>25;d=qe((b&33554431)<<7|e>>>25,d,19,0);b=d+h|0;e=$+r|0;e=b>>>0<d>>>0?e+1|0:e;d=e;c=b+33554432|0;d=c>>>0<33554432?d+1|0:d;e=c;c=((d&67108863)<<6|e>>>26)+f|0;F[a+4>>2]=c;c=a;a=e&-67108864;F[c>>2]=b-a}function Oa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;s=_-48|0;_=s;fa(a,b);fa(a+80|0,b+40|0);h=F[b+92>>2];c=h<<1;C=c;I=c>>31;l=F[b+84>>2];c=l<<1;D=c;t=c>>31;c=qe(C,I,c,t);f=$;d=c;m=F[b+88>>2];c=m;i=c>>31;ca=c;g=qe(c,i,c,i);d=d+g|0;c=$+f|0;c=d>>>0<g>>>0?c+1|0:c;g=d;P=F[b+96>>2];d=P;G=d;J=d>>31;u=F[b+80>>2];d=u<<1;E=d;v=d>>31;f=qe(G,J,d,v);d=g+f|0;c=$+c|0;c=d>>>0<f>>>0?c+1|0:c;j=d;f=F[b+108>>2];d=L(f,38);W=d;S=d>>31;H=f;da=f>>31;g=qe(d,S,f,da);d=j+g|0;c=$+c|0;c=d>>>0<g>>>0?c+1|0:c;e=d;j=F[b+112>>2];d=L(j,19);K=d;M=d>>31;g=F[b+104>>2];d=g<<1;n=qe(K,M,d,d>>31);k=e+n|0;d=$+c|0;d=k>>>0<n>>>0?d+1|0:d;e=k;o=F[b+116>>2];c=L(o,38);w=c;x=c>>31;k=F[b+100>>2];c=k<<1;T=c;Q=c>>31;n=qe(w,x,c,Q);c=e+n|0;d=$+d|0;d=c>>>0<n>>>0?d+1|0:d;y=c<<1;c=d<<1|c>>>31;X=c;d=y+33554432|0;c=d>>>0<33554432?c+1|0:c;z=d;Y=c;d=c>>26;c=(c&67108863)<<6|z>>>26;p=d;d=qe(D,t,G,J);n=$;e=c;c=m<<1;U=c;R=c>>31;m=h;ea=h>>31;h=qe(c,R,h,ea);d=h+d|0;c=$+n|0;c=d>>>0<h>>>0?c+1|0:c;n=k;Z=k>>31;A=qe(k,Z,E,v);h=A+d|0;d=$+c|0;d=h>>>0<A>>>0?d+1|0:d;q=h;c=f<<1;ia=c;ga=c>>31;h=qe(K,M,c,ga);f=q+h|0;c=$+d|0;c=f>>>0<h>>>0?c+1|0:c;d=f;h=g;N=g>>31;f=qe(w,x,g,N);d=d+f|0;c=$+c|0;c=d>>>0<f>>>0?c+1|0:c;f=d;d=c<<1|d>>>31;f=f<<1;c=e+f|0;d=d+p|0;A=c;c=c>>>0<f>>>0?d+1|0:d;d=A+16777216|0;c=d>>>0<16777216?c+1|0:c;la=d;f=d;d=c>>25;c=(c&33554431)<<7|f>>>25;f=d;d=qe(C,I,m,ea);p=$;q=c;e=qe(G,J,U,R);d=e+d|0;c=$+p|0;c=d>>>0<e>>>0?c+1|0:c;p=qe(D,t,T,Q);d=p+d|0;c=$+c|0;c=d>>>0<p>>>0?c+1|0:c;e=qe(E,v,g,N);p=e+d|0;d=$+c|0;d=e>>>0>p>>>0?d+1|0:d;c=p;p=j;aa=j>>31;e=qe(K,M,j,aa);j=c+e|0;c=$+d|0;c=e>>>0>j>>>0?c+1|0:c;e=qe(w,x,ia,ga);j=e+j|0;d=$+c|0;d=e>>>0>j>>>0?d+1|0:d;c=j;e=c<<1;j=q+e|0;c=(d<<1|c>>>31)+f|0;c=e>>>0>j>>>0?c+1|0:c;f=j;d=f;f=d+33554432|0;c=f>>>0<33554432?c+1|0:c;ba=f;f=c;c=ba&-67108864;F[a+144>>2]=d-c;j=a;c=L(k,38);c=qe(c,c>>31,k,Z);d=$;e=c;c=u;k=c>>31;k=qe(c,k,c,k);c=e+k|0;d=$+d|0;d=c>>>0<k>>>0?d+1|0:d;e=c;c=L(g,19);q=c;B=c>>31;c=G<<1;ja=c;ha=c>>31;k=qe(q,B,c,ha);g=e+k|0;c=$+d|0;c=g>>>0<k>>>0?c+1|0:c;d=g;g=qe(C,I,W,S);d=d+g|0;c=$+c|0;c=d>>>0<g>>>0?c+1|0:c;k=qe(K,M,U,R);g=k+d|0;d=$+c|0;d=g>>>0<k>>>0?d+1|0:d;k=qe(D,t,w,x);g=k+g|0;c=$+d|0;c=g>>>0<k>>>0?c+1|0:c;d=g;k=d<<1;c=c<<1|d>>>31;O=c;d=c;c=k+33554432|0;d=c>>>0<33554432?d+1|0:d;u=c;P=d;c=d>>26;d=(d&67108863)<<6|u>>>26;g=c;c=qe(q,B,T,Q);r=$;V=d;e=l;ka=e>>31;l=qe(E,v,e,ka);d=l+c|0;c=$+r|0;c=d>>>0<l>>>0?c+1|0:c;r=qe(G,J,W,S);l=r+d|0;d=$+c|0;d=l>>>0<r>>>0?d+1|0:d;r=qe(K,M,C,I);l=r+l|0;c=$+d|0;c=l>>>0<r>>>0?c+1|0:c;r=qe(w,x,ca,i);l=r+l|0;d=$+c|0;d=l>>>0<r>>>0?d+1|0:d;c=l;r=c<<1;l=V+r|0;c=(d<<1|c>>>31)+g|0;c=l>>>0<r>>>0?c+1|0:c;d=l+16777216|0;if(d>>>0<16777216){c=c+1|0}r=d;g=d;d=c>>25;c=(c&33554431)<<7|g>>>25;g=d;d=qe(E,v,ca,i);ma=$;V=c;e=qe(D,t,e,ka);d=e+d|0;c=$+ma|0;c=d>>>0<e>>>0?c+1|0:c;q=qe(q,B,h,N);e=q+d|0;d=$+c|0;d=e>>>0<q>>>0?d+1|0:d;q=qe(T,Q,W,S);e=q+e|0;c=$+d|0;c=e>>>0<q>>>0?c+1|0:c;d=e;e=qe(K,M,ja,ha);d=d+e|0;c=$+c|0;c=d>>>0<e>>>0?c+1|0:c;q=qe(w,x,C,I);e=q+d|0;d=$+c|0;d=e>>>0<q>>>0?d+1|0:d;c=d<<1|e>>>31;e=e<<1;d=V+e|0;c=c+g|0;c=d>>>0<e>>>0?c+1|0:c;e=d;d=c;c=e+33554432|0;d=c>>>0<33554432?d+1|0:d;q=c;g=d;c=c&-67108864;F[j+128>>2]=e-c;c=qe(U,R,n,Z);d=$;e=qe(G,J,C,I);c=e+c|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;B=qe(D,t,h,N);e=B+c|0;c=$+d|0;c=e>>>0<B>>>0?c+1|0:c;B=qe(E,v,H,da);e=B+e|0;d=$+c|0;d=e>>>0<B>>>0?d+1|0:d;B=qe(w,x,p,aa);e=B+e|0;c=$+d|0;d=e;c=(d>>>0<B>>>0?c+1|0:c)<<1|d>>>31;V=d<<1;d=f>>26;e=(f&67108863)<<6|ba>>>26;f=V+e|0;c=c+d|0;c=f>>>0<e>>>0?c+1|0:c;e=f;d=c;c=f+16777216|0;d=c>>>0<16777216?d+1|0:d;ba=c;f=d;c=c&-33554432;F[j+148>>2]=e-c;c=qe(E,v,m,ea);m=$;i=qe(D,t,ca,i);d=i+c|0;c=$+m|0;c=d>>>0<i>>>0?c+1|0:c;i=qe(h,N,W,S);d=i+d|0;c=$+c|0;c=d>>>0<i>>>0?c+1|0:c;m=qe(K,M,T,Q);i=m+d|0;d=$+c|0;d=i>>>0<m>>>0?d+1|0:d;c=i;i=qe(w,x,G,J);c=c+i|0;d=$+d|0;d=c>>>0<i>>>0?d+1|0:d;i=c;c=d<<1|c>>>31;e=i<<1;d=g>>26;i=(g&67108863)<<6|q>>>26;g=e+i|0;c=c+d|0;c=g>>>0<i>>>0?c+1|0:c;d=g;g=d+16777216|0;c=g>>>0<16777216?c+1|0:c;m=g;g=c;c=m&-33554432;F[j+132>>2]=d-c;c=qe(h,N,U,R);j=$;e=qe(G,J,G,J);d=e+c|0;c=$+j|0;c=d>>>0<e>>>0?c+1|0:c;j=qe(C,I,T,Q);d=j+d|0;c=$+c|0;c=d>>>0<j>>>0?c+1|0:c;j=qe(D,t,ia,ga);d=j+d|0;c=$+c|0;c=d>>>0<j>>>0?c+1|0:c;e=qe(E,v,p,aa);j=e+d|0;d=$+c|0;d=e>>>0>j>>>0?d+1|0:d;c=j;j=o;e=j>>31;o=qe(w,x,j,e);c=c+o|0;d=$+d|0;d=c>>>0<o>>>0?d+1|0:d;o=c;c=d<<1|c>>>31;i=o<<1;d=f>>25;o=(f&33554431)<<7|ba>>>25;f=i+o|0;c=c+d|0;c=f>>>0<o>>>0?c+1|0:c;d=f;f=d+33554432|0;c=f>>>0<33554432?c+1|0:c;o=f;f=c;c=o&-67108864;F[a+152>>2]=d-c;A=A-(la&-33554432)|0;c=z&-67108864;d=y-c|0;y=X-((c>>>0>y>>>0)+Y|0)|0;c=g>>25;z=(g&33554431)<<7|m>>>25;g=z+d|0;d=c+y|0;d=g>>>0<z>>>0?d+1|0:d;c=d;d=g+33554432|0;c=d>>>0<33554432?c+1|0:c;c=((c&67108863)<<6|d>>>26)+A|0;F[a+140>>2]=c;c=d&-67108864;F[a+136>>2]=g-c;c=qe(C,I,h,N);d=$;h=qe(n,Z,ja,ha);c=h+c|0;d=$+d|0;d=c>>>0<h>>>0?d+1|0:d;i=qe(U,R,H,da);h=i+c|0;c=$+d|0;c=i>>>0>h>>>0?c+1|0:c;i=qe(D,t,p,aa);h=i+h|0;d=$+c|0;d=i>>>0>h>>>0?d+1|0:d;i=qe(E,v,j,e);h=i+h|0;c=$+d|0;d=h;c=(i>>>0>d>>>0?c+1|0:c)<<1|d>>>31;g=d<<1;d=f>>26;h=(f&67108863)<<6|o>>>26;f=g+h|0;c=c+d|0;c=f>>>0<h>>>0?c+1|0:c;g=f;d=c;c=f+16777216|0;d=c>>>0<16777216?d+1|0:d;f=c&-33554432;F[a+156>>2]=g-f;i=qe((d&33554431)<<7|c>>>25,d>>25,19,0);h=u&-67108864;c=i+(k-h|0)|0;d=$+(O-((h>>>0>k>>>0)+P|0)|0)|0;d=c>>>0<i>>>0?d+1|0:d;f=c+33554432|0;if(f>>>0<33554432){d=d+1|0}d=(l-(r&-33554432)|0)+((d&67108863)<<6|f>>>26)|0;F[a+124>>2]=d;d=f&-67108864;F[a+120>>2]=c-d;c=F[b+44>>2];d=F[b+48>>2];f=F[b+52>>2];g=F[b+56>>2];h=F[b+60>>2];i=F[b- -64>>2];k=F[b+68>>2];n=F[b+72>>2];p=F[b+40>>2];l=F[b>>2];u=F[b+4>>2];H=F[b+8>>2];j=F[b+12>>2];o=F[b+16>>2];y=F[b+20>>2];z=F[b+24>>2];m=F[b+28>>2];A=F[b+32>>2];F[a+76>>2]=F[b+76>>2]+F[b+36>>2];F[a+72>>2]=n+A;F[a+68>>2]=k+m;A=a- -64|0;F[A>>2]=i+z;F[a+60>>2]=h+y;F[a+56>>2]=g+o;F[a+52>>2]=f+j;F[a+48>>2]=d+H;F[a+44>>2]=c+u;F[a+40>>2]=l+p;fa(s,a+40|0);b=F[a+84>>2];c=F[a+88>>2];d=F[a+92>>2];f=F[a+96>>2];g=F[a+100>>2];h=F[a+104>>2];i=F[a+108>>2];k=F[a+112>>2];n=F[a>>2];p=F[a+80>>2];l=F[a+4>>2];u=F[a+8>>2];H=F[a+12>>2];j=F[a+16>>2];o=F[a+20>>2];y=F[a+24>>2];z=F[a+28>>2];m=F[a+32>>2];O=F[a+116>>2];X=F[a+36>>2];Y=O-X|0;F[a+116>>2]=Y;P=k-m|0;F[a+112>>2]=P;e=i-z|0;F[a+108>>2]=e;D=h-y|0;F[a+104>>2]=D;t=g-o|0;F[a+100>>2]=t;E=f-j|0;F[a+96>>2]=E;v=d-H|0;F[a+92>>2]=v;w=c-u|0;F[a+88>>2]=w;x=b-l|0;F[a+84>>2]=x;C=p-n|0;F[a+80>>2]=C;O=O+X|0;F[a+76>>2]=O;k=k+m|0;F[a+72>>2]=k;i=i+z|0;F[a+68>>2]=i;h=h+y|0;F[A>>2]=h;g=g+o|0;F[a+60>>2]=g;f=f+j|0;F[a+56>>2]=f;d=d+H|0;F[a+52>>2]=d;c=c+u|0;F[a+48>>2]=c;b=b+l|0;F[a+44>>2]=b;n=n+p|0;F[a+40>>2]=n;p=F[s>>2];l=F[s+4>>2];u=F[s+8>>2];H=F[s+12>>2];j=F[s+16>>2];o=F[s+20>>2];y=F[s+24>>2];z=F[s+28>>2];m=F[s+32>>2];F[a+36>>2]=F[s+36>>2]-O;F[a+32>>2]=m-k;F[a+28>>2]=z-i;F[a+24>>2]=y-h;F[a+20>>2]=o-g;F[a+16>>2]=j-f;F[a+12>>2]=H-d;F[a+8>>2]=u-c;F[a+4>>2]=l-b;F[a>>2]=p-n;b=F[a+124>>2];c=F[a+128>>2];d=F[a+132>>2];f=F[a+136>>2];g=F[a+140>>2];h=F[a+144>>2];i=F[a+148>>2];k=F[a+152>>2];n=F[a+120>>2];F[a+156>>2]=F[a+156>>2]-Y;F[a+152>>2]=k-P;F[a+148>>2]=i-e;F[a+144>>2]=h-D;F[a+140>>2]=g-t;F[a+136>>2]=f-E;F[a+132>>2]=d-v;F[a+128>>2]=c-w;F[a+124>>2]=b-x;F[a+120>>2]=n-C;_=s+48|0}function Aa(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0;i=_-432|0;_=i;j=i- -64|0;F[j>>2]=0;F[j+4>>2]=0;F[i+72>>2]=0;F[i+76>>2]=0;F[i+80>>2]=0;F[i+84>>2]=0;F[i+88>>2]=0;F[i+92>>2]=0;F[i+96>>2]=0;F[i+100>>2]=0;F[i+104>>2]=0;F[i+108>>2]=0;F[i+48>>2]=0;F[i+52>>2]=0;F[i+56>>2]=0;F[i+60>>2]=0;D[i+15|0]=1;j=c?c:1824;d=c?d:32;a:{if(d>>>0>=65){c=i+224|0;F[c+80>>2]=1779033703;F[c+84>>2]=-1150833019;F[c+72>>2]=0;F[c+76>>2]=0;F[c+64>>2]=0;F[c+104>>2]=528734635;F[c+108>>2]=1541459225;F[c+96>>2]=1359893119;F[c+100>>2]=-1694144372;F[c+88>>2]=1013904242;F[c+92>>2]=-1521486534;pa(c,j,d);Ba(c,i+48|0);break a}ja(i+48|0,j,d)}c=F[i+108>>2];F[i+280>>2]=F[i+104>>2];F[i+284>>2]=c;c=F[i+100>>2];F[i+272>>2]=F[i+96>>2];F[i+276>>2]=c;c=F[i+92>>2];F[i+264>>2]=F[i+88>>2];F[i+268>>2]=c;c=F[i+84>>2];F[i+256>>2]=F[i+80>>2];F[i+260>>2]=c;c=F[i+76>>2];F[i+248>>2]=F[i+72>>2];F[i+252>>2]=c;c=i- -64|0;d=F[c+4>>2];F[i+240>>2]=F[c>>2];F[i+244>>2]=d;c=F[i+60>>2];F[i+232>>2]=F[i+56>>2];F[i+236>>2]=c;c=F[i+52>>2];F[i+224>>2]=F[i+48>>2];F[i+228>>2]=c;c=0;while(1){d=i+224|0;j=d+c|0;D[j|0]=G[j|0]^54;j=d+(c|1)|0;D[j|0]=G[j|0]^54;j=d+(c|2)|0;D[j|0]=G[j|0]^54;d=d+(c|3)|0;D[d|0]=G[d|0]^54;c=c+4|0;if((c|0)!=64){continue}break}c=i+112|0;F[c+80>>2]=1779033703;F[c+84>>2]=-1150833019;F[c+72>>2]=0;F[c+76>>2]=0;F[c+64>>2]=0;F[c+104>>2]=528734635;F[c+108>>2]=1541459225;F[c+96>>2]=1359893119;F[c+100>>2]=-1694144372;F[c+88>>2]=1013904242;F[c+92>>2]=-1521486534;d=i+224|0;pa(c,d,64);ia(d,64);pa(c,a,b);a=F[i+108>>2];F[i+392>>2]=F[i+104>>2];F[i+396>>2]=a;a=F[i+100>>2];F[i+384>>2]=F[i+96>>2];F[i+388>>2]=a;a=F[i+92>>2];F[i+376>>2]=F[i+88>>2];F[i+380>>2]=a;a=F[i+84>>2];F[i+368>>2]=F[i+80>>2];F[i+372>>2]=a;a=F[i+76>>2];F[i+360>>2]=F[i+72>>2];F[i+364>>2]=a;a=i- -64|0;b=F[a+4>>2];F[i+352>>2]=F[a>>2];F[i+356>>2]=b;a=F[i+60>>2];F[i+344>>2]=F[i+56>>2];F[i+348>>2]=a;a=F[i+52>>2];F[i+336>>2]=F[i+48>>2];F[i+340>>2]=a;c=0;while(1){a=i+336|0;b=a+c|0;D[b|0]=G[b|0]^92;b=a+(c|1)|0;D[b|0]=G[b|0]^92;b=a+(c|2)|0;D[b|0]=G[b|0]^92;a=a+(c|3)|0;D[a|0]=G[a|0]^92;c=c+4|0;if((c|0)!=64){continue}break}Ba(i+112|0,i+400|0);a=i+224|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+336|0;pa(a,b,96);Ba(a,i+16|0);ia(a,112);ia(b,96);F[i+80>>2]=0;F[i+84>>2]=0;F[i+88>>2]=0;F[i+92>>2]=0;F[i+96>>2]=0;F[i+100>>2]=0;F[i+104>>2]=0;F[i+108>>2]=0;a=F[i+44>>2];j=F[i+40>>2];F[i+72>>2]=j;F[i+76>>2]=a;b=F[i+36>>2];c=i- -64|0;k=F[i+32>>2];F[c>>2]=k;F[c+4>>2]=b;c=F[i+20>>2];l=F[i+16>>2];F[i+48>>2]=l;F[i+52>>2]=c;d=F[i+28>>2];m=F[i+24>>2];F[i+56>>2]=m;F[i+60>>2]=d;F[i+280>>2]=0;F[i+284>>2]=0;F[i+272>>2]=0;F[i+276>>2]=0;F[i+264>>2]=0;F[i+268>>2]=0;F[i+256>>2]=0;F[i+260>>2]=0;F[i+248>>2]=j;F[i+252>>2]=a;F[i+240>>2]=k;F[i+244>>2]=b;F[i+232>>2]=m;F[i+236>>2]=d;F[i+224>>2]=l;F[i+228>>2]=c;c=0;while(1){a=i+224|0;b=a+c|0;D[b|0]=G[b|0]^54;b=a+(c|1)|0;D[b|0]=G[b|0]^54;b=a+(c|2)|0;D[b|0]=G[b|0]^54;a=a+(c|3)|0;D[a|0]=G[a|0]^54;c=c+4|0;if((c|0)!=64){continue}break}a=i+112|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+224|0;pa(a,b,64);ia(b,64);pa(a,e,f);pa(a,i+15|0,1);a=F[i+108>>2];F[i+392>>2]=F[i+104>>2];F[i+396>>2]=a;a=F[i+100>>2];F[i+384>>2]=F[i+96>>2];F[i+388>>2]=a;a=F[i+92>>2];F[i+376>>2]=F[i+88>>2];F[i+380>>2]=a;a=F[i+84>>2];F[i+368>>2]=F[i+80>>2];F[i+372>>2]=a;a=F[i+76>>2];F[i+360>>2]=F[i+72>>2];F[i+364>>2]=a;a=i- -64|0;b=F[a+4>>2];F[i+352>>2]=F[a>>2];F[i+356>>2]=b;a=F[i+60>>2];F[i+344>>2]=F[i+56>>2];F[i+348>>2]=a;a=F[i+52>>2];F[i+336>>2]=F[i+48>>2];F[i+340>>2]=a;c=0;while(1){a=i+336|0;b=a+c|0;D[b|0]=G[b|0]^92;b=a+(c|1)|0;D[b|0]=G[b|0]^92;b=a+(c|2)|0;D[b|0]=G[b|0]^92;a=a+(c|3)|0;D[a|0]=G[a|0]^92;c=c+4|0;if((c|0)!=64){continue}break}d=i+400|0;Ba(i+112|0,d);a=i+224|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+336|0;pa(a,b,96);Ba(a,i+16|0);ia(a,112);ia(b,96);if(h>>>0>=33){while(1){a=F[i+20>>2];b=F[i+16>>2];D[g|0]=b;D[g+1|0]=b>>>8;D[g+2|0]=b>>>16;D[g+3|0]=b>>>24;D[g+4|0]=a;D[g+5|0]=a>>>8;D[g+6|0]=a>>>16;D[g+7|0]=a>>>24;a=F[i+28>>2];b=F[i+24>>2];D[g+8|0]=b;D[g+9|0]=b>>>8;D[g+10|0]=b>>>16;D[g+11|0]=b>>>24;D[g+12|0]=a;D[g+13|0]=a>>>8;D[g+14|0]=a>>>16;D[g+15|0]=a>>>24;a=F[i+44>>2];b=F[i+40>>2];D[g+24|0]=b;D[g+25|0]=b>>>8;D[g+26|0]=b>>>16;D[g+27|0]=b>>>24;D[g+28|0]=a;D[g+29|0]=a>>>8;D[g+30|0]=a>>>16;D[g+31|0]=a>>>24;a=F[i+36>>2];b=F[i+32>>2];D[g+16|0]=b;D[g+17|0]=b>>>8;D[g+18|0]=b>>>16;D[g+19|0]=b>>>24;D[g+20|0]=a;D[g+21|0]=a>>>8;D[g+22|0]=a>>>16;D[g+23|0]=a>>>24;D[i+15|0]=G[i+15|0]+1;a=F[i+108>>2];F[i+280>>2]=F[i+104>>2];F[i+284>>2]=a;a=F[i+100>>2];F[i+272>>2]=F[i+96>>2];F[i+276>>2]=a;a=F[i+92>>2];F[i+264>>2]=F[i+88>>2];F[i+268>>2]=a;a=F[i+84>>2];F[i+256>>2]=F[i+80>>2];F[i+260>>2]=a;a=F[i+76>>2];F[i+248>>2]=F[i+72>>2];F[i+252>>2]=a;b=i- -64|0;a=F[b+4>>2];F[i+240>>2]=F[b>>2];F[i+244>>2]=a;a=F[i+60>>2];F[i+232>>2]=F[i+56>>2];F[i+236>>2]=a;a=F[i+52>>2];F[i+224>>2]=F[i+48>>2];F[i+228>>2]=a;g=g+32|0;c=0;while(1){a=i+224|0;j=a+c|0;D[j|0]=G[j|0]^54;j=a+(c|1)|0;D[j|0]=G[j|0]^54;j=a+(c|2)|0;D[j|0]=G[j|0]^54;a=a+(c|3)|0;D[a|0]=G[a|0]^54;c=c+4|0;if((c|0)!=64){continue}break}a=i+112|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;c=i+224|0;pa(a,c,64);ia(c,64);pa(a,i+16|0,32);pa(a,e,f);pa(a,i+15|0,1);a=F[i+108>>2];F[i+392>>2]=F[i+104>>2];F[i+396>>2]=a;a=F[i+100>>2];F[i+384>>2]=F[i+96>>2];F[i+388>>2]=a;a=F[i+92>>2];F[i+376>>2]=F[i+88>>2];F[i+380>>2]=a;a=F[i+84>>2];F[i+368>>2]=F[i+80>>2];F[i+372>>2]=a;a=F[i+76>>2];F[i+360>>2]=F[i+72>>2];F[i+364>>2]=a;a=F[b+4>>2];F[i+352>>2]=F[b>>2];F[i+356>>2]=a;a=F[i+60>>2];F[i+344>>2]=F[i+56>>2];F[i+348>>2]=a;a=F[i+52>>2];F[i+336>>2]=F[i+48>>2];F[i+340>>2]=a;c=0;while(1){a=i+336|0;b=a+c|0;D[b|0]=G[b|0]^92;b=a+(c|1)|0;D[b|0]=G[b|0]^92;b=a+(c|2)|0;D[b|0]=G[b|0]^92;a=a+(c|3)|0;D[a|0]=G[a|0]^92;c=c+4|0;if((c|0)!=64){continue}break}Ba(i+112|0,d);a=i+224|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+336|0;pa(a,b,96);Ba(a,i+16|0);ia(a,112);ia(b,96);h=h-32|0;if(h>>>0>32){continue}break}}a=i+16|0;ja(g,a,h);ia(i+112|0,112);ia(i+48|0,64);ia(a,32);_=i+432|0}function ta(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,H=0;B=_-640|0;_=B;c=a- -64|0;i=F[c>>2];l=F[c+4>>2];w=F[a+56>>2];f=F[a+60>>2];r=F[a+48>>2];n=F[a+52>>2];p=F[a+40>>2];h=F[a+44>>2];t=F[a+32>>2];m=F[a+36>>2];s=F[a+24>>2];k=F[a+28>>2];o=F[a+16>>2];u=F[a+20>>2];e=F[a+8>>2];q=F[a+12>>2];while(1){c=x<<3;v=c+B|0;c=b+c|0;d=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);j=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);y=j<<24|j<<8&16711680;c=d<<24|j>>>8;A=c&65280;c=d<<8|j>>>24;y=c&255|A|y;c=d;F[v>>2]=((c&255)<<24|j>>>8)&-16777216|((c&16777215)<<8|j>>>24)&16711680|(c>>>8&65280|c>>>24)|g;F[v+4>>2]=y;x=x+1|0;if((x|0)!=16){continue}break}b=16;j=F[B>>2];g=j;z=F[B+4>>2];d=z;while(1){x=(b<<3)+B|0;v=x;y=d;c=v-56|0;d=F[c>>2];C=F[c+4>>2];A=v-16|0;c=F[A+4>>2];A=F[A>>2];D=te(A,c,45);H=$;E=g;x=d;g=te(A,c,3)^D;d=c;c=c>>>6|0;g=g^((d&63)<<26|A>>>6);d=x+g|0;c=(c^($^H))+C|0;c=d>>>0<g>>>0?c+1|0:c;g=d;d=E+d|0;c=c+y|0;A=d;y=d>>>0<g>>>0?c+1|0:c;d=v-120|0;c=F[d+4>>2];g=F[d>>2];d=te(g,c,63);x=$;E=d;d=c;C=E^te(g,c,56);D=$^x;x=v;v=A;c=c>>>7|0;A=((d&127)<<25|g>>>7)^C;v=v+A|0;c=(c^D)+y|0;F[x>>2]=v;F[x+4>>2]=v>>>0<A>>>0?c+1|0:c;b=b+1|0;if((b|0)!=80){continue}break}b=0;while(1){x=b<<3;c=x+32800|0;d=F[c>>2];v=F[c+4>>2];c=te(p,h,50);y=$;c=te(p,h,46)^c;y=$^y;g=d;d=i+(te(p,h,23)^c)|0;c=l+($^y)|0;c=d>>>0<i>>>0?c+1|0:c;i=d;d=g+d|0;c=c+v|0;c=d>>>0<i>>>0?c+1|0:c;d=d+j|0;c=c+z|0;c=d>>>0<j>>>0?c+1|0:c;i=w^p&(r^w);d=i+d|0;c=(f^h&(f^n))+c|0;c=d>>>0<i>>>0?c+1|0:c;i=d;d=te(e,q,36);l=$;d=te(e,q,30)^d;j=$^l;v=te(e,q,25)^d;l=v+i|0;d=c;c=c+($^j)|0;c=l>>>0<v>>>0?c+1|0:c;j=s&(e|o)|e&o;l=j+l|0;c=(k&(q|u)|q&u)+c|0;y=l;c=j>>>0>l>>>0?c+1|0:c;l=te(l,c,36);v=$;j=c;l=te(y,c,30)^l;v=$^v;g=o&(e|y)|e&y;l=g+(te(y,c,25)^l)|0;c=(u&(c|q)|c&q)+($^v)|0;v=l;l=l>>>0<g>>>0?c+1|0:c;g=x|8;c=g+32800|0;z=F[c>>2];A=F[c+4>>2];c=d+m|0;i=i+t|0;c=i>>>0<t>>>0?c+1|0:c;t=i;d=w+(r^i&(p^r))|0;i=c;c=f+(n^c&(h^n))|0;c=d>>>0<w>>>0?c+1|0:c;w=d;d=d+z|0;c=c+A|0;c=d>>>0<w>>>0?c+1|0:c;w=te(t,i,50);f=$;w=te(t,i,46)^w;f=$^f;m=v;w=te(t,i,23)^w;d=w+d|0;c=($^f)+c|0;c=d>>>0<w>>>0?c+1|0:c;w=g+B|0;f=F[w>>2];d=f+d|0;c=F[w+4>>2]+c|0;c=d>>>0<f>>>0?c+1|0:c;v=d;w=d;d=m+d|0;g=l;l=c;c=g+c|0;c=d>>>0<w>>>0?c+1|0:c;w=te(d,c,36);f=$;g=w;w=c;m=g^te(d,c,30);g=$^f;f=te(d,c,25)^m;m=e&(d|y)|d&y;f=f+m|0;c=(q&(c|j)|c&j)+($^g)|0;g=f;f=f>>>0<m>>>0?c+1|0:c;z=x|16;c=z+32800|0;m=r+F[c>>2]|0;c=n+F[c+4>>2]|0;c=m>>>0<r>>>0?c+1|0:c;r=m;n=z+B|0;m=F[n>>2];r=r+m|0;c=F[n+4>>2]+c|0;n=r;r=m>>>0>n>>>0?c+1|0:c;A=n;c=l+k|0;n=s+v|0;c=n>>>0<s>>>0?c+1|0:c;s=n;m=p^n&(p^t);n=A+m|0;l=c;c=(h^c&(h^i))+r|0;c=m>>>0>n>>>0?c+1|0:c;r=n;n=te(s,l,50);m=$;n=te(s,l,46)^n;m=$^m;n=te(s,l,23)^n;r=n+r|0;c=($^m)+c|0;c=r>>>0<n>>>0?c+1|0:c;v=r;n=r;r=n+g|0;g=f;f=c;c=g+c|0;c=r>>>0<n>>>0?c+1|0:c;n=te(r,c,36);m=$;g=n;n=c;k=g^te(r,c,30);g=$^m;m=te(r,c,25)^k;k=y&(d|r)|d&r;m=m+k|0;c=(j&(c|w)|c&w)+($^g)|0;g=m;m=k>>>0>g>>>0?c+1|0:c;z=x|24;c=z+32800|0;k=p+F[c>>2]|0;c=h+F[c+4>>2]|0;c=k>>>0<p>>>0?c+1|0:c;p=k;h=z+B|0;k=F[h>>2];p=p+k|0;c=F[h+4>>2]+c|0;h=p;p=k>>>0>h>>>0?c+1|0:c;A=h;c=f+u|0;h=o+v|0;c=h>>>0<o>>>0?c+1|0:c;k=t^h&(t^s);f=A+k|0;o=c;c=(i^c&(i^l))+p|0;c=f>>>0<k>>>0?c+1|0:c;p=f;f=te(h,o,50);k=$;f=te(h,o,46)^f;k=$^k;f=te(h,o,23)^f;p=f+p|0;c=($^k)+c|0;c=f>>>0>p>>>0?c+1|0:c;u=p;k=p;p=k+g|0;f=c;c=c+m|0;c=k>>>0>p>>>0?c+1|0:c;m=te(p,c,36);k=$;v=c;m=te(p,c,30)^m;k=$^k;g=d&(p|r)|p&r;m=g+(te(p,c,25)^m)|0;c=(w&(c|n)|c&n)+($^k)|0;c=m>>>0<g>>>0?c+1|0:c;g=m;m=c;z=x|32;c=z+32800|0;k=t+F[c>>2]|0;c=i+F[c+4>>2]|0;c=k>>>0<t>>>0?c+1|0:c;t=k;i=z+B|0;k=F[i>>2];t=t+k|0;c=F[i+4>>2]+c|0;i=t;t=k>>>0>i>>>0?c+1|0:c;k=i;c=f+q|0;i=e+u|0;c=i>>>0<e>>>0?c+1|0:c;e=i;f=s^e&(h^s);i=k+f|0;q=c;c=(l^c&(l^o))+t|0;c=f>>>0>i>>>0?c+1|0:c;t=i;i=te(e,q,50);f=$;i=te(e,q,46)^i;f=$^f;i=te(e,q,23)^i;t=i+t|0;c=($^f)+c|0;c=i>>>0>t>>>0?c+1|0:c;i=t;t=i+g|0;f=c;c=c+m|0;c=i>>>0>t>>>0?c+1|0:c;m=te(t,c,36);k=$;g=m;m=c;u=g^te(t,c,30);g=$^k;k=te(t,c,25)^u;u=r&(p|t)|p&t;k=k+u|0;c=(n&(c|v)|c&v)+($^g)|0;g=k;k=k>>>0<u>>>0?c+1|0:c;z=x|40;c=z+32800|0;u=s+F[c>>2]|0;c=l+F[c+4>>2]|0;c=s>>>0>u>>>0?c+1|0:c;s=u;l=z+B|0;u=F[l>>2];s=s+u|0;c=F[l+4>>2]+c|0;l=s;s=l>>>0<u>>>0?c+1|0:c;u=l;c=f+j|0;l=i+y|0;c=l>>>0<i>>>0?c+1|0:c;i=l;j=h^i&(e^h);f=u+j|0;l=c;c=(o^c&(o^q))+s|0;c=f>>>0<j>>>0?c+1|0:c;s=f;f=te(i,l,50);j=$;f=te(i,l,46)^f;j=$^j;f=te(i,l,23)^f;s=f+s|0;c=($^j)+c|0;c=f>>>0>s>>>0?c+1|0:c;y=s;j=s;s=j+g|0;f=c;c=c+k|0;c=j>>>0>s>>>0?c+1|0:c;j=te(s,c,36);u=$;k=c;j=te(s,c,30)^j;u=$^u;g=p&(t|s)|t&s;j=g+(te(s,c,25)^j)|0;c=(v&(c|m)|c&m)+($^u)|0;c=j>>>0<g>>>0?c+1|0:c;g=j;j=c;z=x|48;c=z+32800|0;u=h+F[c>>2]|0;c=o+F[c+4>>2]|0;c=h>>>0>u>>>0?c+1|0:c;h=u;o=z+B|0;u=F[o>>2];h=h+u|0;c=F[o+4>>2]+c|0;o=h;h=h>>>0<u>>>0?c+1|0:c;u=o;c=f+w|0;o=d+y|0;c=o>>>0<d>>>0?c+1|0:c;w=o;o=e^o&(e^i);d=u+o|0;f=c;c=(q^c&(l^q))+h|0;c=d>>>0<o>>>0?c+1|0:c;h=te(w,f,50);o=$;h=te(w,f,46)^h;o=$^o;h=te(w,f,23)^h;d=h+d|0;c=($^o)+c|0;c=d>>>0<h>>>0?c+1|0:c;y=d;o=d;h=d+g|0;d=c;c=c+j|0;c=h>>>0<o>>>0?c+1|0:c;o=h;h=te(h,c,36);j=$;u=c;h=te(o,c,30)^h;j=$^j;g=t&(s|o)|s&o;h=g+(te(o,c,25)^h)|0;c=(m&(c|k)|c&k)+($^j)|0;c=h>>>0<g>>>0?c+1|0:c;g=h;h=c;x=x|56;c=x+32800|0;j=e+F[c>>2]|0;c=q+F[c+4>>2]|0;c=e>>>0>j>>>0?c+1|0:c;e=j;q=x+B|0;j=F[q>>2];e=e+j|0;c=F[q+4>>2]+c|0;q=e;e=e>>>0<j>>>0?c+1|0:c;j=q;c=d+n|0;q=r+y|0;c=q>>>0<r>>>0?c+1|0:c;r=q;q=i^q&(i^w);d=j+q|0;n=c;c=(l^c&(f^l))+e|0;c=d>>>0<q>>>0?c+1|0:c;e=te(r,n,50);q=$;e=te(r,n,46)^e;q=$^q;e=te(r,n,23)^e;d=e+d|0;c=($^q)+c|0;c=d>>>0<e>>>0?c+1|0:c;j=d;e=d+g|0;d=c;c=c+h|0;c=e>>>0<j>>>0?c+1|0:c;q=c;c=d+v|0;h=j+p|0;c=h>>>0<p>>>0?c+1|0:c;p=h;h=c;if(b>>>0<=71){b=b+8|0;c=(b<<3)+B|0;j=F[c>>2];z=F[c+4>>2];continue}break}c=F[a+12>>2]+q|0;b=e;e=F[a+8>>2];d=b+e|0;F[a+8>>2]=d;F[a+12>>2]=d>>>0<e>>>0?c+1|0:c;c=F[a+20>>2]+u|0;e=F[a+16>>2];d=e+o|0;F[a+16>>2]=d;F[a+20>>2]=d>>>0<e>>>0?c+1|0:c;c=F[a+28>>2]+k|0;e=F[a+24>>2];d=e+s|0;F[a+24>>2]=d;F[a+28>>2]=d>>>0<e>>>0?c+1|0:c;c=F[a+36>>2]+m|0;e=F[a+32>>2];d=e+t|0;F[a+32>>2]=d;F[a+36>>2]=d>>>0<e>>>0?c+1|0:c;c=F[a+44>>2]+h|0;e=F[a+40>>2];d=e+p|0;F[a+40>>2]=d;F[a+44>>2]=d>>>0<e>>>0?c+1|0:c;c=F[a+52>>2]+n|0;e=F[a+48>>2];d=e+r|0;F[a+48>>2]=d;F[a+52>>2]=d>>>0<e>>>0?c+1|0:c;c=F[a+60>>2]+f|0;e=F[a+56>>2];d=e+w|0;F[a+56>>2]=d;F[a+60>>2]=d>>>0<e>>>0?c+1|0:c;c=F[a+68>>2]+l|0;e=F[a+64>>2];d=e+i|0;F[a+64>>2]=d;F[a+68>>2]=d>>>0<e>>>0?c+1|0:c;_=B+640|0}function Vd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=xb(a,c);i=m+2|0;h=(i>>>0)/3|0;if(((i-L(h,3)|0)+(h<<2)|0)-2>>>0>g>>>0){F[a+3216>>2]=2;return-1}g=b;n=d;p=e;e=m+2|0;b=(e>>>0)/3|0;j=((((e-L(b,3)|0)+(b<<2)|0)-2|0)+f|0)-m|0;k=_-16|0;_=k;o=c;b=db(a,c);if(!G[a+3220|0]){b=Ib(b)}a:{b:{if(b>>>0>m>>>0){F[a+3216>>2]=2;break b}c=db(a,o);e=a;if(!G[a+3220|0]){D[j+1|0]=10;D[j|0]=3;a=j+2|0;D[a|0]=32;a=a+1|0;F[k+8>>2]=a;a=a+32|0;D[a|0]=18;a=a+1|0;D[a|0]=32;a=a+1|0;F[k+4>>2]=a;a=a+32|0;D[a|0]=26;a=a+1|0;D[a|0]=32;a=a+1|0;F[k>>2]=a;a=a+32|0;D[a|0]=34;j=a+1|0;a=c;c:{if(a>>>0<128){b=a;break c}while(1){D[j|0]=a|128;j=j+1|0;h=a>>>0>16383;b=a>>>7|0;a=b;if(h){continue}break}}D[j|0]=b;F[k+12>>2]=j+1;b=G[e+3289|0]|G[e+3290|0]<<8|(G[e+3291|0]<<16|G[e+3292|0]<<24);a=F[k+8>>2];h=G[e+3285|0]|G[e+3286|0]<<8|(G[e+3287|0]<<16|G[e+3288|0]<<24);D[a|0]=h;D[a+1|0]=h>>>8;D[a+2|0]=h>>>16;D[a+3|0]=h>>>24;D[a+4|0]=b;D[a+5|0]=b>>>8;D[a+6|0]=b>>>16;D[a+7|0]=b>>>24;b=e+3309|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+24|0]=b;D[a+25|0]=b>>>8;D[a+26|0]=b>>>16;D[a+27|0]=b>>>24;D[a+28|0]=h;D[a+29|0]=h>>>8;D[a+30|0]=h>>>16;D[a+31|0]=h>>>24;b=e+3301|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+16|0]=b;D[a+17|0]=b>>>8;D[a+18|0]=b>>>16;D[a+19|0]=b>>>24;D[a+20|0]=h;D[a+21|0]=h>>>8;D[a+22|0]=h>>>16;D[a+23|0]=h>>>24;b=e+3293|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+8|0]=b;D[a+9|0]=b>>>8;D[a+10|0]=b>>>16;D[a+11|0]=b>>>24;D[a+12|0]=h;D[a+13|0]=h>>>8;D[a+14|0]=h>>>16;D[a+15|0]=h>>>24;b=G[e+3225|0]|G[e+3226|0]<<8|(G[e+3227|0]<<16|G[e+3228|0]<<24);a=F[k>>2];h=G[e+3221|0]|G[e+3222|0]<<8|(G[e+3223|0]<<16|G[e+3224|0]<<24);D[a|0]=h;D[a+1|0]=h>>>8;D[a+2|0]=h>>>16;D[a+3|0]=h>>>24;D[a+4|0]=b;D[a+5|0]=b>>>8;D[a+6|0]=b>>>16;D[a+7|0]=b>>>24;b=e+3229|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+8|0]=b;D[a+9|0]=b>>>8;D[a+10|0]=b>>>16;D[a+11|0]=b>>>24;D[a+12|0]=h;D[a+13|0]=h>>>8;D[a+14|0]=h>>>16;D[a+15|0]=h>>>24;b=e+3237|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+16|0]=b;D[a+17|0]=b>>>8;D[a+18|0]=b>>>16;D[a+19|0]=b>>>24;D[a+20|0]=h;D[a+21|0]=h>>>8;D[a+22|0]=h>>>16;D[a+23|0]=h>>>24;b=e+3245|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+24|0]=b;D[a+25|0]=b>>>8;D[a+26|0]=b>>>16;D[a+27|0]=b>>>24;D[a+28|0]=h;D[a+29|0]=h>>>8;D[a+30|0]=h>>>16;D[a+31|0]=h>>>24;b=G[e+3257|0]|G[e+3258|0]<<8|(G[e+3259|0]<<16|G[e+3260|0]<<24);a=F[k+4>>2];h=G[e+3253|0]|G[e+3254|0]<<8|(G[e+3255|0]<<16|G[e+3256|0]<<24);D[a|0]=h;D[a+1|0]=h>>>8;D[a+2|0]=h>>>16;D[a+3|0]=h>>>24;D[a+4|0]=b;D[a+5|0]=b>>>8;D[a+6|0]=b>>>16;D[a+7|0]=b>>>24;b=e+3261|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+8|0]=b;D[a+9|0]=b>>>8;D[a+10|0]=b>>>16;D[a+11|0]=b>>>24;D[a+12|0]=h;D[a+13|0]=h>>>8;D[a+14|0]=h>>>16;D[a+15|0]=h>>>24;b=e+3269|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+16|0]=b;D[a+17|0]=b>>>8;D[a+18|0]=b>>>16;D[a+19|0]=b>>>24;D[a+20|0]=h;D[a+21|0]=h>>>8;D[a+22|0]=h>>>16;D[a+23|0]=h>>>24;b=e+3277|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+24|0]=b;D[a+25|0]=b>>>8;D[a+26|0]=b>>>16;D[a+27|0]=b>>>24;D[a+28|0]=h;D[a+29|0]=h>>>8;D[a+30|0]=h>>>16;D[a+31|0]=h>>>24;j=F[k+12>>2]}s=g;h=_-96|0;_=h;i=e+48|0;b=(i|0)==F[e+44>>2]?0:F[e+112>>2];a=F[e+4>>2];g=aa[F[F[a>>2]+4>>2]](a,o)|0;a=F[e+4>>2];g=Mb(b,g,aa[F[F[a>>2]>>2]](a)|0);a=F[e+44>>2];d:{if(((a|0)==(i|0))<<5>>>0>p>>>0){F[e+8>>2]=1;g=-1;break d}if(c>>>0<g>>>0){F[e+8>>2]=2;g=-1;break d}if((a|0)==(i|0)){F[e+44>>2]=e+148;Ea(n,i);a=F[e>>2];b=h- -64|0;za(i,e+152|0,b);Aa(b,32,e+12|0,32,F[a+8>>2],F[a+12>>2],h,64);a=h;c=F[a+28>>2];F[e+36>>2]=F[a+24>>2];F[e+40>>2]=c;c=F[a+20>>2];F[e+28>>2]=F[a+16>>2];F[e+32>>2]=c;c=F[a+12>>2];F[e+20>>2]=F[a+8>>2];F[e+24>>2]=c;c=F[a+4>>2];F[e+12>>2]=F[a>>2];F[e+16>>2]=c;c=F[a+36>>2];F[e+116>>2]=F[a+32>>2];F[e+120>>2]=c;c=F[a+44>>2];F[e+124>>2]=F[a+40>>2];F[e+128>>2]=c;c=F[a+52>>2];F[e+132>>2]=F[a+48>>2];F[e+136>>2]=c;c=F[a+60>>2];F[e+140>>2]=F[a+56>>2];F[e+144>>2]=c;F[e+112>>2]=0;ia(a,64);ia(b,32)}a=e+116|0;q=h|4;ka(a,32,1920,1,q);F[h>>2]=F[e+112>>2];ka(a,32,1921,1,a);F[e+112>>2]=F[e+112>>2]+1;a=F[e+4>>2];n=aa[F[F[a>>2]+4>>2]](a,o)|0;b=F[h>>2];a=n;D[j+1|0]=10;D[j|0]=3;c=j+2|0;D[c|0]=32;r=h- -64|0;c=c+1|0;F[r>>2]=c;c=c+32|0;D[c|0]=16;l=c+1|0;e:{if(b>>>0<128){c=b;break e}while(1){D[l|0]=b|128;l=l+1|0;t=b>>>0>16383;c=b>>>7|0;b=c;if(t){continue}break}}D[l+1|0]=34;D[l|0]=c;b=l+2|0;f:{if(a>>>0<128){c=a;break f}while(1){D[b|0]=a|128;b=b+1|0;l=a>>>0>16383;c=a>>>7|0;a=c;if(l){continue}break}}D[b|0]=c;F[r+4>>2]=b+1;a=i;c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);b=F[h+64>>2];i=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[b|0]=i;D[b+1|0]=i>>>8;D[b+2|0]=i>>>16;D[b+3|0]=i>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;c=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);i=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[b+24|0]=i;D[b+25|0]=i>>>8;D[b+26|0]=i>>>16;D[b+27|0]=i>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);i=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[b+16|0]=i;D[b+17|0]=i>>>8;D[b+18|0]=i>>>16;D[b+19|0]=i>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[b+8|0]=a;D[b+9|0]=a>>>8;D[b+10|0]=a>>>16;D[b+11|0]=a>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;a=F[e+4>>2];aa[F[F[a>>2]+8>>2]](a,q,32,s,o,F[h+68>>2],n,j,g)|0;ia(h,36)}_=h+96|0;if((g|0)!=-1){break a}F[e+3216>>2]=F[e+8>>2];F[e+8>>2]=0}g=-1}_=k+16|0;ia(d,p);a=-1;if((g|0)!=-1){b=m+2|0;a=(b>>>0)/3|0;a=((b-L(a,3)|0)+(a<<2)|0)-2|0;na((f+a|0)-m|0,m,f)}return a|0}function Ab(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;h=_-208|0;_=h;ab(h+168|0,d,e);f=F[h+172>>2];d=(f|c)!=0;a:{b:{c:{d:{if(f){if(!d){break c}if(F[h+176>>2]==32){break d}break c}if(!d){break c}}j=F[h+196>>2];if(!j){break c}e=F[h+180>>2];if(!e|F[h+184>>2]!=32){break c}d=F[h+188>>2];if(!d){break c}if(F[h+192>>2]==32){break b}}F[a+3216>>2]=4;a=-1;break a}e:{if(!f|!c){break e}if(!Ja(c,f)){break e}F[a+3216>>2]=6;a=-1;break a}g=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);c=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[a+3221|0]=c;D[a+3222|0]=c>>>8;D[a+3223|0]=c>>>16;D[a+3224|0]=c>>>24;D[a+3225|0]=g;D[a+3226|0]=g>>>8;D[a+3227|0]=g>>>16;D[a+3228|0]=g>>>24;g=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);i=a+3245|0;c=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[i|0]=c;D[i+1|0]=c>>>8;D[i+2|0]=c>>>16;D[i+3|0]=c>>>24;D[i+4|0]=g;D[i+5|0]=g>>>8;D[i+6|0]=g>>>16;D[i+7|0]=g>>>24;g=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);i=a+3237|0;c=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[i|0]=c;D[i+1|0]=c>>>8;D[i+2|0]=c>>>16;D[i+3|0]=c>>>24;D[i+4|0]=g;D[i+5|0]=g>>>8;D[i+6|0]=g>>>16;D[i+7|0]=g>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);i=a+3229|0;c=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[i|0]=c;D[i+1|0]=c>>>8;D[i+2|0]=c>>>16;D[i+3|0]=c>>>24;D[i+4|0]=g;D[i+5|0]=g>>>8;D[i+6|0]=g>>>16;D[i+7|0]=g>>>24;f=G[e+28|0]|G[e+29|0]<<8|(G[e+30|0]<<16|G[e+31|0]<<24);g=a+3277|0;c=G[e+24|0]|G[e+25|0]<<8|(G[e+26|0]<<16|G[e+27|0]<<24);D[g|0]=c;D[g+1|0]=c>>>8;D[g+2|0]=c>>>16;D[g+3|0]=c>>>24;D[g+4|0]=f;D[g+5|0]=f>>>8;D[g+6|0]=f>>>16;D[g+7|0]=f>>>24;f=G[e+20|0]|G[e+21|0]<<8|(G[e+22|0]<<16|G[e+23|0]<<24);g=a+3269|0;c=G[e+16|0]|G[e+17|0]<<8|(G[e+18|0]<<16|G[e+19|0]<<24);D[g|0]=c;D[g+1|0]=c>>>8;D[g+2|0]=c>>>16;D[g+3|0]=c>>>24;D[g+4|0]=f;D[g+5|0]=f>>>8;D[g+6|0]=f>>>16;D[g+7|0]=f>>>24;f=G[e+12|0]|G[e+13|0]<<8|(G[e+14|0]<<16|G[e+15|0]<<24);g=a+3261|0;c=G[e+8|0]|G[e+9|0]<<8|(G[e+10|0]<<16|G[e+11|0]<<24);D[g|0]=c;D[g+1|0]=c>>>8;D[g+2|0]=c>>>16;D[g+3|0]=c>>>24;D[g+4|0]=f;D[g+5|0]=f>>>8;D[g+6|0]=f>>>16;D[g+7|0]=f>>>24;f=G[e+4|0]|G[e+5|0]<<8|(G[e+6|0]<<16|G[e+7|0]<<24);c=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);D[a+3253|0]=c;D[a+3254|0]=c>>>8;D[a+3255|0]=c>>>16;D[a+3256|0]=c>>>24;D[a+3257|0]=f;D[a+3258|0]=f>>>8;D[a+3259|0]=f>>>16;D[a+3260|0]=f>>>24;e=G[d+28|0]|G[d+29|0]<<8|(G[d+30|0]<<16|G[d+31|0]<<24);f=a+3309|0;c=G[d+24|0]|G[d+25|0]<<8|(G[d+26|0]<<16|G[d+27|0]<<24);D[f|0]=c;D[f+1|0]=c>>>8;D[f+2|0]=c>>>16;D[f+3|0]=c>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[d+20|0]|G[d+21|0]<<8|(G[d+22|0]<<16|G[d+23|0]<<24);f=a+3301|0;c=G[d+16|0]|G[d+17|0]<<8|(G[d+18|0]<<16|G[d+19|0]<<24);D[f|0]=c;D[f+1|0]=c>>>8;D[f+2|0]=c>>>16;D[f+3|0]=c>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[d+12|0]|G[d+13|0]<<8|(G[d+14|0]<<16|G[d+15|0]<<24);f=a+3293|0;c=G[d+8|0]|G[d+9|0]<<8|(G[d+10|0]<<16|G[d+11|0]<<24);D[f|0]=c;D[f+1|0]=c>>>8;D[f+2|0]=c>>>16;D[f+3|0]=c>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);c=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[a+3285|0]=c;D[a+3286|0]=c>>>8;D[a+3287|0]=c>>>16;D[a+3288|0]=c>>>24;D[a+3289|0]=e;D[a+3290|0]=e>>>8;D[a+3291|0]=e>>>16;D[a+3292|0]=e>>>24;c=F[a+4>>2];ib(h+136|0,j,F[h+200>>2],aa[F[F[c>>2]>>2]](c)|0);c=F[h+152>>2];if(!(F[h+156>>2]==32?c:0)){F[a+3216>>2]=4;a=-1;break a}d=G[c+28|0]|G[c+29|0]<<8|(G[c+30|0]<<16|G[c+31|0]<<24);F[h+128>>2]=G[c+24|0]|G[c+25|0]<<8|(G[c+26|0]<<16|G[c+27|0]<<24);F[h+132>>2]=d;d=G[c+20|0]|G[c+21|0]<<8|(G[c+22|0]<<16|G[c+23|0]<<24);F[h+120>>2]=G[c+16|0]|G[c+17|0]<<8|(G[c+18|0]<<16|G[c+19|0]<<24);F[h+124>>2]=d;d=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);F[h+112>>2]=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);F[h+116>>2]=d;d=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);F[h+104>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[h+108>>2]=d;e=a+3285|0;c=b+164|0;d=F[b+160>>2];f:{g:{if((c|0)!=(d|0)){while(1){if(La(c+5|0,e,32)){break g}c=c+72|0;if((d|0)!=(c|0)){continue}break}}c=0;if(!G[b+7364|0]){break g}d=b+7368|0;if(La(b+7373|0,e,32)){break f}if(G[b+7364|0]<2){break g}c=La(b+7445|0,e,32)?b+7440|0:0}d=c}if(!d){F[a+3216>>2]=6;a=-1;break a}c=d+5|0;za(c,a+3221|0,h);d=b+96|0;b=a+3253|0;za(d,b,h+32|0);za(c,b,h- -64|0);e=_+-64|0;_=e;b=F[a>>2];Aa(h,96,0,0,F[b>>2],F[b+4>>2],e,64);d=a+152|0;c=F[a+148>>2];h:{if((c|0)!=(a+492|0)){c=c+68|0;F[a+148>>2]=c;b=d;break h}b=(((c|0)==(d|0)?-68:0)+a|0)+152|0}c=c-68|0;if((b|0)!=(c|0)){while(1){f=c;c=c-68|0;ja(f,c,68);if((b|0)!=(c|0)){continue}break}}F[a+184>>2]=0;b=F[e+28>>2];F[a+36>>2]=F[e+24>>2];F[a+40>>2]=b;b=F[e+20>>2];F[a+28>>2]=F[e+16>>2];F[a+32>>2]=b;b=F[e+12>>2];F[a+20>>2]=F[e+8>>2];F[a+24>>2]=b;b=F[e+4>>2];F[a+12>>2]=F[e>>2];F[a+16>>2]=b;b=F[e+60>>2];F[a+212>>2]=F[e+56>>2];F[a+216>>2]=b;b=F[e+52>>2];F[a+204>>2]=F[e+48>>2];F[a+208>>2]=b;b=F[e+44>>2];F[a+196>>2]=F[e+40>>2];F[a+200>>2]=b;b=F[e+36>>2];F[a+188>>2]=F[e+32>>2];F[a+192>>2]=b;a=h;c=G[a+124|0]|G[a+125|0]<<8|(G[a+126|0]<<16|G[a+127|0]<<24);b=G[a+120|0]|G[a+121|0]<<8|(G[a+122|0]<<16|G[a+123|0]<<24);D[d+16|0]=b;D[d+17|0]=b>>>8;D[d+18|0]=b>>>16;D[d+19|0]=b>>>24;D[d+20|0]=c;D[d+21|0]=c>>>8;D[d+22|0]=c>>>16;D[d+23|0]=c>>>24;c=G[a+116|0]|G[a+117|0]<<8|(G[a+118|0]<<16|G[a+119|0]<<24);b=G[a+112|0]|G[a+113|0]<<8|(G[a+114|0]<<16|G[a+115|0]<<24);D[d+8|0]=b;D[d+9|0]=b>>>8;D[d+10|0]=b>>>16;D[d+11|0]=b>>>24;D[d+12|0]=c;D[d+13|0]=c>>>8;D[d+14|0]=c>>>16;D[d+15|0]=c>>>24;c=G[a+108|0]|G[a+109|0]<<8|(G[a+110|0]<<16|G[a+111|0]<<24);b=G[a+104|0]|G[a+105|0]<<8|(G[a+106|0]<<16|G[a+107|0]<<24);D[d|0]=b;D[d+1|0]=b>>>8;D[d+2|0]=b>>>16;D[d+3|0]=b>>>24;D[d+4|0]=c;D[d+5|0]=c>>>8;D[d+6|0]=c>>>16;D[d+7|0]=c>>>24;c=G[a+132|0]|G[a+133|0]<<8|(G[a+134|0]<<16|G[a+135|0]<<24);b=G[a+128|0]|G[a+129|0]<<8|(G[a+130|0]<<16|G[a+131|0]<<24);D[d+24|0]=b;D[d+25|0]=b>>>8;D[d+26|0]=b>>>16;D[d+27|0]=b>>>24;D[d+28|0]=c;D[d+29|0]=c>>>8;D[d+30|0]=c>>>16;D[d+31|0]=c>>>24;ia(e,64);_=e- -64|0;ia(a,96);a=0}_=h+208|0;return a}function de(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;k=_+-64|0;_=k;a:{b:{if((oa(d)|0)==32){if((oa(f)|0)==32){break b}}F[a+3216>>2]=7;d=-1;break a}m=k+32|0;qa(c,d,m);qa(e,f,k);j=_-224|0;_=j;c:{if(h>>>0<=63){F[a+3216>>2]=1;d=-1;break c}l=j+160|0;Ea(g,l);c=j+96|0;Ea(g+32|0,c);D[a+3220|0]=0;e=G[b+124|0]|G[b+125|0]<<8|(G[b+126|0]<<16|G[b+127|0]<<24);f=a+3245|0;d=G[b+120|0]|G[b+121|0]<<8|(G[b+122|0]<<16|G[b+123|0]<<24);D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[b+116|0]|G[b+117|0]<<8|(G[b+118|0]<<16|G[b+119|0]<<24);f=a+3237|0;d=G[b+112|0]|G[b+113|0]<<8|(G[b+114|0]<<16|G[b+115|0]<<24);D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[b+108|0]|G[b+109|0]<<8|(G[b+110|0]<<16|G[b+111|0]<<24);f=a+3229|0;d=G[b+104|0]|G[b+105|0]<<8|(G[b+106|0]<<16|G[b+107|0]<<24);D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[b+100|0]|G[b+101|0]<<8|(G[b+102|0]<<16|G[b+103|0]<<24);d=G[b+96|0]|G[b+97|0]<<8|(G[b+98|0]<<16|G[b+99|0]<<24);D[a+3221|0]=d;D[a+3222|0]=d>>>8;D[a+3223|0]=d>>>16;D[a+3224|0]=d>>>24;D[a+3225|0]=e;D[a+3226|0]=e>>>8;D[a+3227|0]=e>>>16;D[a+3228|0]=e>>>24;e=F[j+164>>2];d=F[j+160>>2];D[a+3253|0]=d;D[a+3254|0]=d>>>8;D[a+3255|0]=d>>>16;D[a+3256|0]=d>>>24;D[a+3257|0]=e;D[a+3258|0]=e>>>8;D[a+3259|0]=e>>>16;D[a+3260|0]=e>>>24;e=F[j+172>>2];f=a+3261|0;d=F[j+168>>2];D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=F[j+180>>2];f=a+3269|0;d=F[j+176>>2];D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=F[j+188>>2];f=a+3277|0;d=F[j+184>>2];D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;d=k;f=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);e=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[a+3285|0]=e;D[a+3286|0]=e>>>8;D[a+3287|0]=e>>>16;D[a+3288|0]=e>>>24;D[a+3289|0]=f;D[a+3290|0]=f>>>8;D[a+3291|0]=f>>>16;D[a+3292|0]=f>>>24;f=G[d+12|0]|G[d+13|0]<<8|(G[d+14|0]<<16|G[d+15|0]<<24);i=a+3293|0;e=G[d+8|0]|G[d+9|0]<<8|(G[d+10|0]<<16|G[d+11|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=G[d+20|0]|G[d+21|0]<<8|(G[d+22|0]<<16|G[d+23|0]<<24);i=a+3301|0;e=G[d+16|0]|G[d+17|0]<<8|(G[d+18|0]<<16|G[d+19|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=G[d+28|0]|G[d+29|0]<<8|(G[d+30|0]<<16|G[d+31|0]<<24);i=a+3309|0;e=G[d+24|0]|G[d+25|0]<<8|(G[d+26|0]<<16|G[d+27|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;za(b+96|0,d,j);za(l,m,j+32|0);za(l,d,j- -64|0);d=_+-64|0;_=d;b=F[a>>2];Aa(j,96,0,0,F[b>>2],F[b+4>>2],d,64);e=a+48|0;f=F[a+44>>2];d:{if((f|0)!=(a+148|0)){f=f+100|0;F[a+44>>2]=f;b=e;break d}b=(((e|0)==(f|0)?-100:0)+a|0)+48|0}f=f-100|0;if((b|0)!=(f|0)){while(1){i=f;f=f-100|0;ja(i,f,100);if((b|0)!=(f|0)){continue}break}}F[a+112>>2]=0;b=F[d+28>>2];F[a+36>>2]=F[d+24>>2];F[a+40>>2]=b;b=F[d+20>>2];F[a+28>>2]=F[d+16>>2];F[a+32>>2]=b;b=F[d+12>>2];F[a+20>>2]=F[d+8>>2];F[a+24>>2]=b;b=F[d+4>>2];F[a+12>>2]=F[d>>2];F[a+16>>2]=b;b=F[d+60>>2];F[a+140>>2]=F[d+56>>2];F[a+144>>2]=b;b=F[d+52>>2];F[a+132>>2]=F[d+48>>2];F[a+136>>2]=b;b=F[d+44>>2];F[a+124>>2]=F[d+40>>2];F[a+128>>2]=b;b=F[d+36>>2];F[a+116>>2]=F[d+32>>2];F[a+120>>2]=b;b=G[c+52|0]|G[c+53|0]<<8|(G[c+54|0]<<16|G[c+55|0]<<24);a=G[c+48|0]|G[c+49|0]<<8|(G[c+50|0]<<16|G[c+51|0]<<24);D[e+48|0]=a;D[e+49|0]=a>>>8;D[e+50|0]=a>>>16;D[e+51|0]=a>>>24;D[e+52|0]=b;D[e+53|0]=b>>>8;D[e+54|0]=b>>>16;D[e+55|0]=b>>>24;b=G[c+44|0]|G[c+45|0]<<8|(G[c+46|0]<<16|G[c+47|0]<<24);a=G[c+40|0]|G[c+41|0]<<8|(G[c+42|0]<<16|G[c+43|0]<<24);D[e+40|0]=a;D[e+41|0]=a>>>8;D[e+42|0]=a>>>16;D[e+43|0]=a>>>24;D[e+44|0]=b;D[e+45|0]=b>>>8;D[e+46|0]=b>>>16;D[e+47|0]=b>>>24;b=G[c+36|0]|G[c+37|0]<<8|(G[c+38|0]<<16|G[c+39|0]<<24);a=G[c+32|0]|G[c+33|0]<<8|(G[c+34|0]<<16|G[c+35|0]<<24);D[e+32|0]=a;D[e+33|0]=a>>>8;D[e+34|0]=a>>>16;D[e+35|0]=a>>>24;D[e+36|0]=b;D[e+37|0]=b>>>8;D[e+38|0]=b>>>16;D[e+39|0]=b>>>24;b=G[c+28|0]|G[c+29|0]<<8|(G[c+30|0]<<16|G[c+31|0]<<24);a=G[c+24|0]|G[c+25|0]<<8|(G[c+26|0]<<16|G[c+27|0]<<24);D[e+24|0]=a;D[e+25|0]=a>>>8;D[e+26|0]=a>>>16;D[e+27|0]=a>>>24;D[e+28|0]=b;D[e+29|0]=b>>>8;D[e+30|0]=b>>>16;D[e+31|0]=b>>>24;b=G[c+20|0]|G[c+21|0]<<8|(G[c+22|0]<<16|G[c+23|0]<<24);a=G[c+16|0]|G[c+17|0]<<8|(G[c+18|0]<<16|G[c+19|0]<<24);D[e+16|0]=a;D[e+17|0]=a>>>8;D[e+18|0]=a>>>16;D[e+19|0]=a>>>24;D[e+20|0]=b;D[e+21|0]=b>>>8;D[e+22|0]=b>>>16;D[e+23|0]=b>>>24;b=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);a=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);D[e+8|0]=a;D[e+9|0]=a>>>8;D[e+10|0]=a>>>16;D[e+11|0]=a>>>24;D[e+12|0]=b;D[e+13|0]=b>>>8;D[e+14|0]=b>>>16;D[e+15|0]=b>>>24;b=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);a=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);D[e|0]=a;D[e+1|0]=a>>>8;D[e+2|0]=a>>>16;D[e+3|0]=a>>>24;D[e+4|0]=b;D[e+5|0]=b>>>8;D[e+6|0]=b>>>16;D[e+7|0]=b>>>24;b=G[c+60|0]|G[c+61|0]<<8|(G[c+62|0]<<16|G[c+63|0]<<24);a=G[c+56|0]|G[c+57|0]<<8|(G[c+58|0]<<16|G[c+59|0]<<24);D[e+56|0]=a;D[e+57|0]=a>>>8;D[e+58|0]=a>>>16;D[e+59|0]=a>>>24;D[e+60|0]=b;D[e+61|0]=b>>>8;D[e+62|0]=b>>>16;D[e+63|0]=b>>>24;ia(d,64);_=d- -64|0;ia(l,64);ia(c,64);ia(j,96);d=0}_=j+224|0;ia(g,h)}_=k- -64|0;return d|0}function Td(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=oa(d);if((g|0)==-1){F[a+3216>>2]=7;return-1}qa(c,d,c);d=g;g=e;k=_-48|0;_=k;a:{if((b|0)!=1){ab(k+8|0,c,d);c=F[k+36>>2];if(!c){F[a+3216>>2]=4;l=-1;break a}d=F[k+40>>2]}l=-1;i=_-32|0;_=i;e=a;a=F[a+4>>2];ib(i,c,d,aa[F[F[a>>2]>>2]](a)|0);b:{if(G[i|0]!=3){F[e+8>>2]=3;d=-1;break b}if(F[i+24>>2]?!G[i+1|0]|!F[i+16>>2]:1){F[e+8>>2]=4;d=-1;break b}a=F[e+4>>2];if(aa[F[F[a>>2]+12>>2]](a,F[i+28>>2])>>>0>f>>>0){F[e+8>>2]=2;d=-1;break b}if(F[i+20>>2]!=32){F[e+8>>2]=4;d=-1;break b}c:{d:{e:{f:{g:{b=e+152|0;a=F[e+148>>2];if((b|0)!=(a|0)){d=F[i+16>>2];c=b;while(1){if(!Ja(c,d)){break g}c=c+68|0;if((a|0)!=(c|0)){continue}break}}c=_-208|0;_=c;a=-1;d=e+48|0;if(!((d|0)==F[e+44>>2]|I[i+4>>2]>2e3)){a=F[i+16>>2];j=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);F[c+32>>2]=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);F[c+36>>2]=j;j=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);F[c+24>>2]=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);F[c+28>>2]=j;j=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);F[c+16>>2]=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);F[c+20>>2]=j;j=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);F[c+8>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[c+12>>2]=j;a=F[e>>2];h=d;j=c+8|0;d=c+176|0;za(h,j,d);h=F[a+8>>2];m=F[a+12>>2];a=c+112|0;Aa(d,32,e+12|0,32,h,m,a,64);h=F[c+140>>2];F[c+104>>2]=F[c+136>>2];F[c+108>>2]=h;h=F[c+132>>2];F[c+96>>2]=F[c+128>>2];F[c+100>>2]=h;h=F[c+148>>2];F[c+44>>2]=F[c+144>>2];F[c+48>>2]=h;h=F[c+156>>2];F[c+52>>2]=F[c+152>>2];F[c+56>>2]=h;h=F[c+164>>2];F[c+60>>2]=F[c+160>>2];F[c+64>>2]=h;h=F[c+172>>2];F[c+68>>2]=F[c+168>>2];F[c+72>>2]=h;F[c+40>>2]=0;h=F[c+124>>2];F[c+88>>2]=F[c+120>>2];F[c+92>>2]=h;h=F[c+116>>2];F[c+80>>2]=F[c+112>>2];F[c+84>>2]=h;ia(a,64);ia(d,32);a=sb(e,c+40|0,i,g,f);ia(c+80|0,32);ia(j,68)}_=c+208|0;d=a;if((a|0)==-1){break f}a=F[e+148>>2];if((a|0)==(e+492|0)){break e}a=a+68|0;F[e+148>>2]=a;break d}b=F[i+4>>2];if(b>>>0<I[c+32>>2]){a=e+496|0;c=F[e+492>>2];if((a|0)==(c|0)){break f}while(1){h:{if(F[a+32>>2]!=(b|0)){break h}if(Ja(a,F[i+16>>2])){break h}b=F[e+4>>2];d=aa[F[F[b>>2]+16>>2]](b,a+36|0,32,F[i+8>>2],F[i+12>>2],F[i+24>>2],F[i+28>>2],g,f)|0;if((d|0)==-1){break h}ia(a,68);b=F[e+492>>2]-68|0;F[e+492>>2]=b;if((a|0)==(b|0)){break b}while(1){b=a;a=a+68|0;ja(b,a,68);if(F[e+492>>2]!=(a|0)){continue}break}break b}a=a+68|0;if((c|0)==(a|0)){break f}b=F[i+4>>2];continue}}d=sb(e,c+32|0,i,g,f);if((d|0)!=-1){break c}}F[e+8>>2]=5;d=-1;break b}b=(e+((a|0)==(b|0)?-68:0)|0)+152|0}a=a-68|0;if((b|0)!=(a|0)){while(1){c=a;a=a-68|0;ja(c,a,68);if((a|0)!=(b|0)){continue}break}}a=F[i+16>>2];c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);f=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[b|0]=f;D[b+1|0]=f>>>8;D[b+2|0]=f>>>16;D[b+3|0]=f>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;c=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);f=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[b+24|0]=f;D[b+25|0]=f>>>8;D[b+26|0]=f>>>16;D[b+27|0]=f>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);f=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[b+16|0]=f;D[b+17|0]=f>>>8;D[b+18|0]=f>>>16;D[b+19|0]=f>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[b+8|0]=a;D[b+9|0]=a>>>8;D[b+10|0]=a>>>16;D[b+11|0]=a>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;f=F[e>>2];c=_-96|0;_=c;a=e+48|0;j=c- -64|0;za(a,b,j);Aa(j,32,e+12|0,32,F[f+8>>2],F[f+12>>2],c,64);f=F[c+28>>2];g=F[c+24>>2];D[e+36|0]=g;D[e+37|0]=g>>>8;D[e+38|0]=g>>>16;D[e+39|0]=g>>>24;D[e+40|0]=f;D[e+41|0]=f>>>8;D[e+42|0]=f>>>16;D[e+43|0]=f>>>24;f=F[c+20>>2];g=F[c+16>>2];D[e+28|0]=g;D[e+29|0]=g>>>8;D[e+30|0]=g>>>16;D[e+31|0]=g>>>24;D[e+32|0]=f;D[e+33|0]=f>>>8;D[e+34|0]=f>>>16;D[e+35|0]=f>>>24;f=F[c+12>>2];g=F[c+8>>2];D[e+20|0]=g;D[e+21|0]=g>>>8;D[e+22|0]=g>>>16;D[e+23|0]=g>>>24;D[e+24|0]=f;D[e+25|0]=f>>>8;D[e+26|0]=f>>>16;D[e+27|0]=f>>>24;f=F[c+4>>2];g=F[c>>2];D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;D[e+16|0]=f;D[e+17|0]=f>>>8;D[e+18|0]=f>>>16;D[e+19|0]=f>>>24;f=F[c+40>>2];g=F[c+44>>2];h=F[c+48>>2];m=F[c+52>>2];n=F[c+56>>2];o=F[c+60>>2];p=F[c+32>>2];q=F[c+36>>2];F[b+32>>2]=0;F[b+60>>2]=n;F[b+64>>2]=o;F[b+52>>2]=h;F[b+56>>2]=m;F[b+44>>2]=f;F[b+48>>2]=g;F[b+36>>2]=p;F[b+40>>2]=q;ia(c,64);ia(j,32);_=c+96|0;ia(a,100);c=F[e+44>>2]-100|0;F[e+44>>2]=c;if((a|0)!=(c|0)){while(1){c=a;a=a+100|0;ja(c,a,100);if(F[e+44>>2]!=(a|0)){continue}break}}c=b}g=c+36|0;if(I[c+32>>2]<I[i+4>>2]){b=e+3216|0;f=e+496|0;j=e+532|0;while(1){a=b;h=F[e+492>>2];if((a|0)!=(h|0)){a=h+68|0;F[e+492>>2]=a}a=a-68|0;if((f|0)!=(a|0)){while(1){h=a;a=a-68|0;ja(h,a,68);if((a|0)!=(f|0)){continue}break}}ka(g,32,1920,1,j);F[e+528>>2]=F[c+32>>2];a=F[c+28>>2];F[f+24>>2]=F[c+24>>2];F[f+28>>2]=a;a=F[c+20>>2];F[f+16>>2]=F[c+16>>2];F[f+20>>2]=a;a=F[c+12>>2];F[f+8>>2]=F[c+8>>2];F[f+12>>2]=a;a=F[c+4>>2];F[f>>2]=F[c>>2];F[f+4>>2]=a;ka(g,32,1921,1,g);a=F[c+32>>2]+1|0;F[c+32>>2]=a;if(a>>>0<I[i+4>>2]){continue}break}}ka(g,32,1921,1,g);F[c+32>>2]=F[c+32>>2]+1}_=i+32|0;if((d|0)==-1){F[e+3216>>2]=F[e+8>>2];F[e+8>>2]=0;break a}D[e+3220|0]=1;l=d}_=k+48|0;return l|0}function ac(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=wb(a);if(Da(j)>>>0>e>>>0){F[a+3216>>2]=2;return-1}e=la(Za(d,j),1);D[e|0]=G[a+3220|0];f=a+3221|0;h=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);e=e+1|0;i=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=i;D[e+1|0]=i>>>8;D[e+2|0]=i>>>16;D[e+3|0]=i>>>24;D[e+4|0]=h;D[e+5|0]=h>>>8;D[e+6|0]=h>>>16;D[e+7|0]=h>>>24;g=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);h=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=h;D[e+25|0]=h>>>8;D[e+26|0]=h>>>16;D[e+27|0]=h>>>24;D[e+28|0]=g;D[e+29|0]=g>>>8;D[e+30|0]=g>>>16;D[e+31|0]=g>>>24;g=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);h=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=h;D[e+17|0]=h>>>8;D[e+18|0]=h>>>16;D[e+19|0]=h>>>24;D[e+20|0]=g;D[e+21|0]=g>>>8;D[e+22|0]=g>>>16;D[e+23|0]=g>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;f=a+3253|0;h=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);e=e+32|0;i=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=i;D[e+1|0]=i>>>8;D[e+2|0]=i>>>16;D[e+3|0]=i>>>24;D[e+4|0]=h;D[e+5|0]=h>>>8;D[e+6|0]=h>>>16;D[e+7|0]=h>>>24;g=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);h=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=h;D[e+25|0]=h>>>8;D[e+26|0]=h>>>16;D[e+27|0]=h>>>24;D[e+28|0]=g;D[e+29|0]=g>>>8;D[e+30|0]=g>>>16;D[e+31|0]=g>>>24;g=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);h=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=h;D[e+17|0]=h>>>8;D[e+18|0]=h>>>16;D[e+19|0]=h>>>24;D[e+20|0]=g;D[e+21|0]=g>>>8;D[e+22|0]=g>>>16;D[e+23|0]=g>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;f=a+3285|0;h=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);e=e+32|0;i=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=i;D[e+1|0]=i>>>8;D[e+2|0]=i>>>16;D[e+3|0]=i>>>24;D[e+4|0]=h;D[e+5|0]=h>>>8;D[e+6|0]=h>>>16;D[e+7|0]=h>>>24;g=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);h=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=h;D[e+25|0]=h>>>8;D[e+26|0]=h>>>16;D[e+27|0]=h>>>24;D[e+28|0]=g;D[e+29|0]=g>>>8;D[e+30|0]=g>>>16;D[e+31|0]=g>>>24;g=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);h=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=h;D[e+17|0]=h>>>8;D[e+18|0]=h>>>16;D[e+19|0]=h>>>24;D[e+20|0]=g;D[e+21|0]=g>>>8;D[e+22|0]=g>>>16;D[e+23|0]=g>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;g=Ta(e+32|0,a+12|0,32);e=a+48|0;f=la(g,(F[a+44>>2]-e|0)/100|0);g=F[a+44>>2];if((g|0)!=(e|0)){while(1){f=la(Ta(Pa(f,e),e+68|0,32),F[e+64>>2]);e=e+100|0;if((g|0)!=(e|0)){continue}break}}e=a+152|0;f=la(f,(F[a+148>>2]-e|0)/68|0);i=F[a+148>>2];if((i|0)!=(e|0)){while(1){g=G[e+4|0]|G[e+5|0]<<8|(G[e+6|0]<<16|G[e+7|0]<<24);h=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);D[f|0]=h;D[f+1|0]=h>>>8;D[f+2|0]=h>>>16;D[f+3|0]=h>>>24;D[f+4|0]=g;D[f+5|0]=g>>>8;D[f+6|0]=g>>>16;D[f+7|0]=g>>>24;g=G[e+28|0]|G[e+29|0]<<8|(G[e+30|0]<<16|G[e+31|0]<<24);h=G[e+24|0]|G[e+25|0]<<8|(G[e+26|0]<<16|G[e+27|0]<<24);D[f+24|0]=h;D[f+25|0]=h>>>8;D[f+26|0]=h>>>16;D[f+27|0]=h>>>24;D[f+28|0]=g;D[f+29|0]=g>>>8;D[f+30|0]=g>>>16;D[f+31|0]=g>>>24;g=G[e+20|0]|G[e+21|0]<<8|(G[e+22|0]<<16|G[e+23|0]<<24);h=G[e+16|0]|G[e+17|0]<<8|(G[e+18|0]<<16|G[e+19|0]<<24);D[f+16|0]=h;D[f+17|0]=h>>>8;D[f+18|0]=h>>>16;D[f+19|0]=h>>>24;D[f+20|0]=g;D[f+21|0]=g>>>8;D[f+22|0]=g>>>16;D[f+23|0]=g>>>24;g=G[e+12|0]|G[e+13|0]<<8|(G[e+14|0]<<16|G[e+15|0]<<24);h=G[e+8|0]|G[e+9|0]<<8|(G[e+10|0]<<16|G[e+11|0]<<24);D[f+8|0]=h;D[f+9|0]=h>>>8;D[f+10|0]=h>>>16;D[f+11|0]=h>>>24;D[f+12|0]=g;D[f+13|0]=g>>>8;D[f+14|0]=g>>>16;D[f+15|0]=g>>>24;f=la(Ta(f+32|0,e+36|0,32),F[e+32>>2]);e=e+68|0;if((i|0)!=(e|0)){continue}break}}e=a+496|0;f=la(f,(F[a+492>>2]-e|0)/68|0);h=F[a+492>>2];if((h|0)!=(e|0)){while(1){a=G[e+4|0]|G[e+5|0]<<8|(G[e+6|0]<<16|G[e+7|0]<<24);g=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);D[f|0]=g;D[f+1|0]=g>>>8;D[f+2|0]=g>>>16;D[f+3|0]=g>>>24;D[f+4|0]=a;D[f+5|0]=a>>>8;D[f+6|0]=a>>>16;D[f+7|0]=a>>>24;a=G[e+28|0]|G[e+29|0]<<8|(G[e+30|0]<<16|G[e+31|0]<<24);g=G[e+24|0]|G[e+25|0]<<8|(G[e+26|0]<<16|G[e+27|0]<<24);D[f+24|0]=g;D[f+25|0]=g>>>8;D[f+26|0]=g>>>16;D[f+27|0]=g>>>24;D[f+28|0]=a;D[f+29|0]=a>>>8;D[f+30|0]=a>>>16;D[f+31|0]=a>>>24;a=G[e+20|0]|G[e+21|0]<<8|(G[e+22|0]<<16|G[e+23|0]<<24);g=G[e+16|0]|G[e+17|0]<<8|(G[e+18|0]<<16|G[e+19|0]<<24);D[f+16|0]=g;D[f+17|0]=g>>>8;D[f+18|0]=g>>>16;D[f+19|0]=g>>>24;D[f+20|0]=a;D[f+21|0]=a>>>8;D[f+22|0]=a>>>16;D[f+23|0]=a>>>24;a=G[e+12|0]|G[e+13|0]<<8|(G[e+14|0]<<16|G[e+15|0]<<24);g=G[e+8|0]|G[e+9|0]<<8|(G[e+10|0]<<16|G[e+11|0]<<24);D[f+8|0]=g;D[f+9|0]=g>>>8;D[f+10|0]=g>>>16;D[f+11|0]=g>>>24;D[f+12|0]=a;D[f+13|0]=a>>>8;D[f+14|0]=a>>>16;D[f+15|0]=a>>>24;f=la(Ta(f+32|0,e+36|0,32),F[e+32>>2]);e=e+68|0;if((h|0)!=(e|0)){continue}break}}return Ya(b,c,d,j)|0}function _c(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,B=0,C=0;m=_-560|0;_=m;F[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<-1?1:(g|0)<=-1){u=1;y=1226;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){u=1;y=1229;break a}u=e&1;y=u?1232:1227;B=!u}b:{if((g&2146435072)==2146435072){i=u+3|0;va(a,32,c,i,e&-65537);ma(a,y,u);d=f&32;ma(a,b!=b?d?1245:1440:d?1249:1513,3);break b}s=m+16|0;c:{d:{e:{b=Fb(b,m+44|0);b=b+b;if(b!=0){g=F[m+44>>2];F[m+44>>2]=g-1;r=f|32;if((r|0)!=97){break e}break c}r=f|32;if((r|0)==97){break c}j=F[m+44>>2];k=(d|0)<0?6:d;break d}j=g-29|0;F[m+44>>2]=j;b=b*268435456;k=(d|0)<0?6:d}n=(j|0)<0?m+48|0:m+336|0;h=n;while(1){d=h;if(b<4294967296&b>=0){g=~~b>>>0}else{g=0}F[d>>2]=g;h=h+4|0;b=(b-+(g>>>0))*1e9;if(b!=0){continue}break}f:{if((j|0)<1){d=j;g=h;l=n;break f}l=n;d=j;while(1){o=(d|0)<29?d:29;g=h-4|0;g:{if(l>>>0>g>>>0){break g}d=o;i=0;while(1){q=g;w=i;x=F[g>>2];p=d&31;if((d&63)>>>0>=32){i=x<<p;x=0}else{i=(1<<p)-1&x>>>32-p;x=x<<p}p=w+x|0;i=i+C|0;i=p>>>0<x>>>0?i+1|0:i;i=re(p,i,1e9);w=q;q=qe(i,$,1e9,0);F[w>>2]=p-q;g=g-4|0;if(l>>>0<=g>>>0){continue}break}if(!i){break g}l=l-4|0;F[l>>2]=i}while(1){g=h;if(l>>>0<g>>>0){h=g-4|0;if(!F[h>>2]){continue}}break}d=F[m+44>>2]-o|0;F[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}h=(k+25|0)/9|0;if((d|0)<=-1){o=h+1|0;z=(r|0)==102;while(1){d=0-d|0;i=(d|0)<9?d:9;h:{if(g>>>0>l>>>0){q=1e9>>>i|0;p=-1<<i^-1;d=0;h=l;while(1){w=d;d=F[h>>2];F[h>>2]=w+(d>>>i|0);d=L(q,d&p);h=h+4|0;if(h>>>0<g>>>0){continue}break}h=F[l>>2];if(!d){break h}F[g>>2]=d;g=g+4|0;break h}h=F[l>>2]}d=i+F[m+44>>2]|0;F[m+44>>2]=d;l=(!h<<2)+l|0;h=z?n:l;g=(o|0)<g-h>>2?h+(o<<2)|0:g;if((d|0)<0){continue}break}}h=0;i:{if(g>>>0<=l>>>0){break i}h=L(n-l>>2,9);d=10;i=F[l>>2];if(i>>>0<10){break i}while(1){h=h+1|0;d=L(d,10);if(i>>>0>=d>>>0){continue}break}}d=(k-((r|0)==102?0:h)|0)-((r|0)==103&(k|0)!=0)|0;if((d|0)<(L(g-n>>2,9)-9|0)){q=((j|0)<0?4:292)+m|0;j=d+9216|0;o=(j|0)/9|0;i=(q+(o<<2)|0)-4048|0;d=10;j=j-L(o,9)|0;if((j|0)<=7){while(1){d=L(d,10);j=j+1|0;if((j|0)!=8){continue}break}}o=F[i>>2];q=(o>>>0)/(d>>>0)|0;j=o-L(d,q)|0;p=i+4|0;j:{if(!((p|0)==(g|0)?j:1)){break j}b=(g|0)==(p|0)?1:1.5;p=d>>>1|0;t=j>>>0<p>>>0?.5:(p|0)==(j|0)?b:1.5;b=q&1?9007199254740994:9007199254740992;if(!(G[y|0]!=45|B)){t=-t;b=-b}j=o-j|0;F[i>>2]=j;if(b+t==b){break j}d=d+j|0;F[i>>2]=d;if(d>>>0>=1e9){while(1){F[i>>2]=0;i=i-4|0;if(i>>>0<l>>>0){l=l-4|0;F[l>>2]=0}d=F[i>>2]+1|0;F[i>>2]=d;if(d>>>0>999999999){continue}break}}h=L(n-l>>2,9);d=10;j=F[l>>2];if(j>>>0<10){break j}while(1){h=h+1|0;d=L(d,10);if(j>>>0>=d>>>0){continue}break}}d=i+4|0;g=d>>>0<g>>>0?d:g}while(1){j=g;d=g>>>0<=l>>>0;if(!d){g=j-4|0;if(!F[g>>2]){continue}}break}k:{if((r|0)!=103){r=e&8;break k}g=k?k:1;i=(g|0)>(h|0)&(h|0)>-5;k=(i?h^-1:-1)+g|0;f=(i?-1:-2)+f|0;r=e&8;if(r){break k}g=-9;l:{if(d){break l}o=F[j-4>>2];if(!o){break l}d=10;g=0;if((o>>>0)%10|0){break l}while(1){i=g;g=g+1|0;d=L(d,10);if(!((o>>>0)%(d>>>0)|0)){continue}break}g=i^-1}d=L(j-n>>2,9);if((f&-33)==70){r=0;d=(d+g|0)-9|0;d=(d|0)>0?d:0;k=(d|0)>(k|0)?k:d;break k}r=0;d=((d+h|0)+g|0)-9|0;d=(d|0)>0?d:0;k=(d|0)>(k|0)?k:d}o=(k|r)!=0;w=a;d=c;q=f&-33;if((q|0)==70){f=(h|0)>0?h:0}else{g=h>>31;g=Na(g+h^g,0,s);if((s-g|0)<=1){while(1){g=g-1|0;D[g|0]=48;if((s-g|0)<2){continue}break}}z=g-2|0;D[z|0]=f;D[g-1|0]=(h|0)<0?45:43;f=s-z|0}i=(f+(o+(k+u|0)|0)|0)+1|0;va(w,32,d,i,e);ma(a,y,u);va(a,48,c,i,e^65536);m:{n:{o:{if((q|0)==70){f=m+16|0;d=f|8;f=f|9;l=l>>>0>n>>>0?n:l;h=l;while(1){g=Na(F[h>>2],0,f);p:{if((h|0)!=(l|0)){if(m+16>>>0>=g>>>0){break p}while(1){g=g-1|0;D[g|0]=48;if(m+16>>>0<g>>>0){continue}break}break p}if((f|0)!=(g|0)){break p}D[m+24|0]=48;g=d}ma(a,g,f-g|0);h=h+4|0;if(n>>>0>=h>>>0){continue}break}g=0;if(!o){break n}ma(a,1718,1);if((k|0)<1|h>>>0>=j>>>0){break o}while(1){g=Na(F[h>>2],0,f);if(g>>>0>m+16>>>0){while(1){g=g-1|0;D[g|0]=48;if(m+16>>>0<g>>>0){continue}break}}ma(a,g,(k|0)<9?k:9);g=k-9|0;h=h+4|0;if(j>>>0<=h>>>0){break n}d=(k|0)>9;k=g;if(d){continue}break}break n}q:{if((k|0)<0){break q}n=l>>>0<j>>>0?j:l+4|0;d=m+16|0;f=d|9;d=d|8;h=l;while(1){g=Na(F[h>>2],0,f);if((f|0)==(g|0)){D[m+24|0]=48;g=d}r:{if((h|0)!=(l|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;D[g|0]=48;if(m+16>>>0<g>>>0){continue}break}break r}ma(a,g,1);g=g+1|0;if(r?0:(k|0)<=0){break r}ma(a,1718,1)}j=g;g=f-g|0;ma(a,j,(g|0)<(k|0)?g:k);k=k-g|0;h=h+4|0;if(n>>>0<=h>>>0){break q}if((k|0)>-1){continue}break}}va(a,48,k+18|0,18,0);ma(a,z,s-z|0);break m}g=k}va(a,48,g+9|0,9,0)}break b}j=(f<<26>>31&9)+y|0;s:{if(d>>>0>11){break s}g=12-d|0;if(!g){break s}t=8;while(1){t=t*16;g=g-1|0;if(g){continue}break}if(G[j|0]==45){b=-(t+(-b-t));break s}b=b+t-t}h=F[m+44>>2];g=h>>31;g=Na(g^g+h,0,s);if((s|0)==(g|0)){D[m+15|0]=48;g=m+15|0}l=u|2;k=f&32;h=F[m+44>>2];n=g-2|0;D[n|0]=f+15;D[g-1|0]=(h|0)<0?45:43;i=e&8;h=m+16|0;while(1){f=h;q=h;h=k;if(N(b)<2147483648){g=~~b}else{g=-2147483648}D[q|0]=h|G[g+36528|0];b=(b-+(g|0))*16;h=f+1|0;if(!(!(i?1:(d|0)>0|b!=0)|(h-(m+16|0)|0)!=1)){D[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}g=a;f=c;if(!d|((h-m|0)-18|0)>=(d|0)){k=(s-(n+(m+16|0)|0)|0)+h|0}else{k=((d+s|0)-n|0)+2|0}d=k;i=d+l|0;va(g,32,f,i,e);ma(a,j,l);va(a,48,c,i,e^65536);g=m+16|0;f=h-g|0;ma(a,g,f);d=s-n|0;va(a,48,k-(d+f|0)|0,0,0);ma(a,n,d)}va(a,32,c,i,e^8192);_=m+560|0;return((c|0)>(i|0)?c:i)|0}function hb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=_-80|0;_=g;F[g+76>>2]=b;t=g+55|0;r=g+56|0;b=0;a:{b:while(1){c:{if((n|0)<0){break c}if((2147483647-n|0)<(b|0)){F[9439]=61;n=-1;break c}n=b+n|0}d:{e:{f:{j=F[g+76>>2];b=j;f=G[b|0];if(f){while(1){g:{f=f&255;h:{if(!f){f=b;break h}if((f|0)!=37){break g}f=b;while(1){if(G[b+1|0]!=37){break h}h=b+2|0;F[g+76>>2]=h;f=f+1|0;k=G[b+2|0];b=h;if((k|0)==37){continue}break}}b=f-j|0;if(a){ma(a,j,b)}if(b){continue b}p=-1;f=1;h=g;b=F[g+76>>2];if(!(D[b+1|0]-48>>>0>=10|G[b+2|0]!=36)){p=D[b+1|0]-48|0;s=1;f=3}b=f+b|0;F[h+76>>2]=b;o=0;i=D[b|0];h=i-32|0;i:{if(h>>>0>31){f=b;break i}f=b;h=1<<h;if(!(h&75913)){break i}while(1){f=b+1|0;F[g+76>>2]=f;o=h|o;i=D[b+1|0];h=i-32|0;if(h>>>0>=32){break i}b=f;h=1<<h;if(h&75913){continue}break}}j:{if((i|0)==42){h=g;k:{l:{if(D[f+1|0]-48>>>0>=10){break l}b=F[g+76>>2];if(G[b+2|0]!=36){break l}F[((D[b+1|0]<<2)+e|0)-192>>2]=10;l=F[((D[b+1|0]<<3)+d|0)-384>>2];s=1;b=b+3|0;break k}if(s){break f}s=0;l=0;if(a){b=F[c>>2];F[c>>2]=b+4;l=F[b>>2]}b=F[g+76>>2]+1|0}F[h+76>>2]=b;if((l|0)>-1){break j}l=0-l|0;o=o|8192;break j}l=Hb(g+76|0);if((l|0)<0){break f}b=F[g+76>>2]}k=-1;m:{if(G[b|0]!=46){break m}if(G[b+1|0]==42){n:{if(D[b+2|0]-48>>>0>=10){break n}b=F[g+76>>2];if(G[b+3|0]!=36){break n}F[((D[b+2|0]<<2)+e|0)-192>>2]=10;k=F[((D[b+2|0]<<3)+d|0)-384>>2];b=b+4|0;F[g+76>>2]=b;break m}if(s){break f}if(a){b=F[c>>2];F[c>>2]=b+4;k=F[b>>2]}else{k=0}b=F[g+76>>2]+2|0;F[g+76>>2]=b;break m}F[g+76>>2]=b+1;k=Hb(g+76|0);b=F[g+76>>2]}f=0;while(1){q=f;m=-1;if(D[b|0]-65>>>0>57){break a}i=b+1|0;F[g+76>>2]=i;f=D[b|0];b=i;f=G[(f+L(q,58)|0)+35999|0];if(f-1>>>0<8){continue}break}o:{p:{if((f|0)!=19){if(!f){break a}if((p|0)>=0){F[(p<<2)+e>>2]=f;b=(p<<3)+d|0;f=F[b+4>>2];F[g+64>>2]=F[b>>2];F[g+68>>2]=f;break p}if(!a){break d}Gb(g- -64|0,f,c);i=F[g+76>>2];break o}if((p|0)>-1){break a}}b=0;if(!a){continue b}}h=o&-65537;f=o&8192?h:o;m=0;p=1216;o=r;q:{r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{b=D[i-1|0];b=q?(b&15)==3?b&-33:b:b;switch(b-88|0){case 11:break q;case 9:case 13:case 14:case 15:break r;case 27:break w;case 12:case 17:break z;case 23:break A;case 0:case 32:break B;case 24:break C;case 22:break D;case 29:break E;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break e;default:break F}}G:{switch(b-65|0){case 0:case 4:case 5:case 6:break r;case 2:break u;case 1:case 3:break e;default:break G}}if((b|0)==83){break v}break e}i=F[g+64>>2];h=F[g+68>>2];p=1216;break y}b=0;H:{switch(q&255){case 0:F[F[g+64>>2]>>2]=n;continue b;case 1:F[F[g+64>>2]>>2]=n;continue b;case 2:f=F[g+64>>2];F[f>>2]=n;F[f+4>>2]=n>>31;continue b;case 3:E[F[g+64>>2]>>1]=n;continue b;case 4:D[F[g+64>>2]]=n;continue b;case 6:F[F[g+64>>2]>>2]=n;continue b;case 7:break H;default:continue b}}f=F[g+64>>2];F[f>>2]=n;F[f+4>>2]=n>>31;continue b}k=k>>>0>8?k:8;f=f|8;b=120}j=r;u=b&32;q=F[g+68>>2];h=q;i=F[g+64>>2];if(h|i){while(1){j=j-1|0;D[j|0]=u|G[(i&15)+36528|0];v=!h&i>>>0>15|(h|0)!=0;q=h;h=h>>>4|0;i=(q&15)<<28|i>>>4;if(v){continue}break}}if(!(F[g+64>>2]|F[g+68>>2])|!(f&8)){break x}p=(b>>>4|0)+1216|0;m=2;break x}b=r;j=F[g+68>>2];h=j;i=F[g+64>>2];if(h|i){while(1){b=b-1|0;D[b|0]=i&7|48;q=!h&i>>>0>7|(h|0)!=0;j=h;h=h>>>3|0;i=(j&7)<<29|i>>>3;if(q){continue}break}}j=b;if(!(f&8)){break x}b=r-j|0;k=(b|0)<(k|0)?k:b+1|0;break x}b=F[g+68>>2];h=b;i=F[g+64>>2];if((b|0)<-1?1:(b|0)<=-1){h=0-(h+((i|0)!=0)|0)|0;i=0-i|0;F[g+64>>2]=i;F[g+68>>2]=h;m=1;p=1216;break y}if(f&2048){m=1;p=1217;break y}m=f&1;p=m?1218:1216}j=Na(i,h,r)}f=(k|0)>-1?f&-65537:f;b=F[g+68>>2];h=b;i=F[g+64>>2];if(!(k|((i|0)!=0|(b|0)!=0))){k=0;j=r;break e}b=!(h|i)+(r-j|0)|0;k=(b|0)<(k|0)?k:b;break e}b=k;o=(b|0)!=0;f=F[g+64>>2];j=f?f:1720;f=j;I:{J:{K:{L:{if(!(f&3)|!b){break L}while(1){if(!G[f|0]){break K}b=b-1|0;o=(b|0)!=0;f=f+1|0;if(!(f&3)){break L}if(b){continue}break}}if(!o){break J}}M:{if(!G[f|0]|b>>>0<4){break M}while(1){i=F[f>>2];if((i^-1)&i-16843009&-2139062144){break M}f=f+4|0;b=b-4|0;if(b>>>0>3){continue}break}}if(!b){break J}while(1){i=f;if(!G[f|0]){break I}f=f+1|0;b=b-1|0;if(b){continue}break}}i=0}o=i?i:k+j|0;f=h;k=i?i-j|0:k;break e}if(k){b=F[g+64>>2];break t}b=0;va(a,32,l,0,f);break s}F[g+12>>2]=0;F[g+8>>2]=F[g+64>>2];b=g+8|0;F[g+64>>2]=b;k=-1}h=b;b=0;N:{while(1){j=F[h>>2];if(!j){break N}j=Eb(g+4|0,j);i=(j|0)<0;if(!(i|j>>>0>k-b>>>0)){h=h+4|0;b=b+j|0;if(k>>>0>b>>>0){continue}break N}break}m=-1;if(i){break a}}va(a,32,l,b,f);if(!b){b=0;break s}h=0;i=F[g+64>>2];while(1){j=F[i>>2];if(!j){break s}j=Eb(g+4|0,j);h=j+h|0;if((h|0)>(b|0)){break s}ma(a,g+4|0,j);i=i+4|0;if(b>>>0>h>>>0){continue}break}}va(a,32,l,b,f^8192);b=(b|0)<(l|0)?l:b;continue b}b=aa[7](a,K[g+64>>3],l,k,f,b)|0;continue b}D[g+55|0]=F[g+64>>2];k=1;j=t;f=h;break e}h=b+1|0;F[g+76>>2]=h;f=G[b+1|0];b=h;continue}}m=n;if(a){break a}if(!s){break d}b=1;while(1){a=F[(b<<2)+e>>2];if(a){Gb((b<<3)+d|0,a,c);m=1;b=b+1|0;if((b|0)!=10){continue}break a}break}m=1;if(b>>>0>=10){break a}while(1){if(F[(b<<2)+e>>2]){break f}b=b+1|0;if((b|0)!=10){continue}break}break a}m=-1;break a}i=o-j|0;k=(i|0)>(k|0)?i:k;h=k+m|0;b=(h|0)>(l|0)?h:l;va(a,32,b,h,f);ma(a,p,m);va(a,48,b,h,f^65536);va(a,48,k,i,0);ma(a,j,i);va(a,32,b,h,f^8192);continue}break}m=0}_=g+80|0;return m}function fa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;h=a;c=F[b+12>>2];d=c<<1;x=d;s=d>>31;j=c;S=c>>31;c=qe(d,s,c,S);f=$;d=c;T=F[b+16>>2];c=T;n=c;t=c>>31;l=F[b+8>>2];c=l<<1;I=c;C=c>>31;g=qe(n,t,c,C);d=d+g|0;c=$+f|0;c=d>>>0<g>>>0?c+1|0:c;f=d;g=F[b+20>>2];d=g<<1;D=d;E=d>>31;m=F[b+4>>2];d=m<<1;u=d;o=d>>31;e=qe(D,E,d,o);f=f+e|0;d=$+c|0;d=f>>>0<e>>>0?d+1|0:d;i=F[b+24>>2];c=i;O=c;y=c>>31;J=F[b>>2];c=J<<1;v=c;p=c>>31;e=qe(i,y,c,p);f=e+f|0;c=$+d|0;c=f>>>0<e>>>0?c+1|0:c;k=f;d=F[b+32>>2];f=L(d,19);G=f;z=f>>31;U=d;P=d>>31;f=qe(f,z,d,P);d=k+f|0;c=$+c|0;c=d>>>0<f>>>0?c+1|0:c;k=d;A=F[b+36>>2];d=L(A,38);w=d;q=d>>31;f=F[b+28>>2];b=f<<1;Z=b;V=b>>31;e=qe(d,q,b,V);d=k+e|0;b=$+c|0;B=d;r=d>>>0<e>>>0?b+1|0:b;b=qe(u,o,n,t);c=$;d=qe(I,C,j,S);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;_=g;Q=g>>31;e=qe(g,Q,v,p);b=e+b|0;d=$+c|0;d=b>>>0<e>>>0?d+1|0:d;e=qe(G,z,Z,V);b=e+b|0;c=$+d|0;c=b>>>0<e>>>0?c+1|0:c;d=qe(w,q,i,y);b=d+b|0;c=$+c|0;k=b;K=b>>>0<d>>>0?c+1|0:c;b=qe(u,o,x,s);d=$;e=l;M=e>>31;l=qe(e,M,e,M);c=l+b|0;b=$+d|0;b=c>>>0<l>>>0?b+1|0:b;l=qe(v,p,n,t);d=l+c|0;c=$+b|0;c=d>>>0<l>>>0?c+1|0:c;b=L(f,38);R=b;N=b>>31;l=f;W=f>>31;f=qe(b,N,f,W);b=f+d|0;d=$+c|0;d=b>>>0<f>>>0?d+1|0:d;c=b;b=i<<1;f=qe(G,z,b,b>>31);b=c+f|0;c=$+d|0;c=b>>>0<f>>>0?c+1|0:c;d=qe(w,q,D,E);b=d+b|0;c=$+c|0;X=b;c=b>>>0<d>>>0?c+1|0:c;ca=c;b=c;c=X+33554432|0;b=c>>>0<33554432?b+1|0:b;aa=c;da=b;c=b>>26;d=(b&67108863)<<6|aa>>>26;b=d+k|0;c=c+K|0;K=b;d=b>>>0<d>>>0?c+1|0:c;b=b+16777216|0;d=b>>>0<16777216?d+1|0:d;ea=b;c=d>>25;d=(d&33554431)<<7|b>>>25;b=d+B|0;c=c+r|0;c=b>>>0<d>>>0?c+1|0:c;d=b;b=c;c=d+33554432|0;b=c>>>0<33554432?b+1|0:b;k=c;f=b;b=c&-67108864;F[h+24>>2]=d-b;b=qe(v,p,e,M);c=$;h=m;H=h>>31;m=qe(u,o,h,H);b=m+b|0;d=$+c|0;d=b>>>0<m>>>0?d+1|0:d;c=b;b=L(i,19);m=b;B=b>>31;i=qe(b,B,i,y);b=c+i|0;c=$+d|0;c=b>>>0<i>>>0?c+1|0:c;i=qe(D,E,R,N);d=i+b|0;b=$+c|0;b=d>>>0<i>>>0?b+1|0:b;c=n<<1;ba=c;Y=c>>31;i=qe(G,z,c,Y);d=i+d|0;c=$+b|0;c=d>>>0<i>>>0?c+1|0:c;b=d;d=qe(w,q,x,s);b=b+d|0;c=$+c|0;r=b;i=b>>>0<d>>>0?c+1|0:c;b=qe(D,E,m,B);c=$;h=qe(v,p,h,H);b=h+b|0;d=$+c|0;d=b>>>0<h>>>0?d+1|0:d;h=qe(n,t,R,N);b=h+b|0;c=$+d|0;c=b>>>0<h>>>0?c+1|0:c;h=qe(G,z,x,s);d=h+b|0;b=$+c|0;b=d>>>0<h>>>0?b+1|0:b;h=qe(w,q,e,M);d=h+d|0;c=$+b|0;H=d;h=d>>>0<h>>>0?c+1|0:c;b=L(g,38);b=qe(b,b>>31,g,Q);c=$;g=b;b=J;d=b>>31;d=qe(b,d,b,d);b=g+d|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;g=qe(m,B,ba,Y);b=g+b|0;d=$+c|0;d=b>>>0<g>>>0?d+1|0:d;g=qe(x,s,R,N);b=g+b|0;c=$+d|0;c=b>>>0<g>>>0?c+1|0:c;g=qe(G,z,I,C);d=g+b|0;b=$+c|0;b=d>>>0<g>>>0?b+1|0:b;g=qe(u,o,w,q);d=g+d|0;c=$+b|0;m=d;c=d>>>0<g>>>0?c+1|0:c;B=c;b=d+33554432|0;c=b>>>0<33554432?c+1|0:c;J=b;T=c;b=c>>26;g=(c&67108863)<<6|J>>>26;c=g+H|0;d=b+h|0;h=c;c=c>>>0<g>>>0?d+1|0:d;b=h+16777216|0;c=b>>>0<16777216?c+1|0:c;H=b;g=(c&33554431)<<7|b>>>25;d=g+r|0;c=(c>>25)+i|0;c=d>>>0<g>>>0?c+1|0:c;b=d;d=b+33554432|0;c=d>>>0<33554432?c+1|0:c;i=d;g=c;c=d&-67108864;F[a+8>>2]=b-c;b=qe(I,C,_,Q);c=$;d=qe(n,t,x,s);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;d=qe(u,o,O,y);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;d=qe(v,p,l,W);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;r=qe(w,q,U,P);d=r+b|0;b=$+c|0;b=d>>>0<r>>>0?b+1|0:b;c=f>>26;k=(f&67108863)<<6|k>>>26;f=k+d|0;d=b+c|0;d=f>>>0<k>>>0?d+1|0:d;b=f;c=d;d=b+16777216|0;c=d>>>0<16777216?c+1|0:c;k=d;f=c;c=d&-33554432;F[a+28>>2]=b-c;b=qe(v,p,j,S);d=$;e=qe(u,o,e,M);c=e+b|0;b=$+d|0;b=c>>>0<e>>>0?b+1|0:b;e=qe(O,y,R,N);c=e+c|0;d=$+b|0;d=c>>>0<e>>>0?d+1|0:d;e=qe(G,z,D,E);b=e+c|0;c=$+d|0;c=b>>>0<e>>>0?c+1|0:c;d=qe(w,q,n,t);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;d=g>>26;g=(g&67108863)<<6|i>>>26;b=g+b|0;c=c+d|0;c=b>>>0<g>>>0?c+1|0:c;d=b;b=c;c=d+16777216|0;b=c>>>0<16777216?b+1|0:b;i=c;g=b;b=c&-33554432;F[a+12>>2]=d-b;e=a;b=qe(O,y,I,C);c=$;d=qe(n,t,n,t);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;d=qe(x,s,D,E);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;j=qe(u,o,Z,V);d=j+b|0;b=$+c|0;b=d>>>0<j>>>0?b+1|0:b;j=qe(v,p,U,P);c=j+d|0;d=$+b|0;d=c>>>0<j>>>0?d+1|0:d;j=A;r=j>>31;A=qe(w,q,j,r);b=A+c|0;c=$+d|0;c=b>>>0<A>>>0?c+1|0:c;a=b;b=f>>25;f=(f&33554431)<<7|k>>>25;d=a+f|0;c=b+c|0;c=d>>>0<f>>>0?c+1|0:c;b=d;d=b+33554432|0;c=d>>>0<33554432?c+1|0:c;A=d;f=c;c=d&-67108864;F[e+32>>2]=b-c;K=K-(ea&-33554432)|0;c=g>>25;g=(g&33554431)<<7|i>>>25;b=aa&-67108864;d=g+(X-b|0)|0;b=c+(ca-((b>>>0>X>>>0)+da|0)|0)|0;b=d>>>0<g>>>0?b+1|0:b;c=b;b=d+33554432|0;c=b>>>0<33554432?c+1|0:c;g=b;b=((c&67108863)<<6|b>>>26)+K|0;F[e+20>>2]=b;b=g&-67108864;F[e+16>>2]=d-b;g=e;b=qe(x,s,O,y);d=$;e=qe(_,Q,ba,Y);c=e+b|0;b=$+d|0;b=c>>>0<e>>>0?b+1|0:b;e=qe(I,C,l,W);d=e+c|0;c=$+b|0;c=d>>>0<e>>>0?c+1|0:c;e=qe(u,o,U,P);b=e+d|0;d=$+c|0;d=b>>>0<e>>>0?d+1|0:d;e=qe(v,p,j,r);b=e+b|0;c=$+d|0;d=b;b=b>>>0<e>>>0?c+1|0:c;c=f>>26;f=(f&67108863)<<6|A>>>26;d=f+d|0;c=b+c|0;c=d>>>0<f>>>0?c+1|0:c;f=d;b=c;c=d+16777216|0;b=c>>>0<16777216?b+1|0:b;d=c&-33554432;F[g+36>>2]=f-d;e=qe((b&33554431)<<7|c>>>25,b>>25,19,0);d=J&-67108864;b=e+(m-d|0)|0;c=$+(B-((d>>>0>m>>>0)+T|0)|0)|0;d=b;b=b>>>0<e>>>0?c+1|0:c;c=d+33554432|0;b=c>>>0<33554432?b+1|0:b;b=(h-(H&-33554432)|0)+((b&67108863)<<6|c>>>26)|0;F[g+4>>2]=b;a=c&-67108864;F[g>>2]=d-a}function ga(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;p=_-160|0;_=p;c=b;z=F[c>>2];d=F[c+16>>2];q=d;r=d>>31;d=F[c+24>>2];s=d;t=d>>31;J=F[c+8>>2];d=F[c+32>>2];u=d;v=d>>31;l=F[c+40>>2];f=p;d=F[c+72>>2];i=d;I=d;n=d>>31;c=F[c+48>>2];A=c;w=c>>31;x=qe(d,n,c,w);o=$;c=F[b+64>>2];d=c>>31;m=d;e=d;d=F[b+56>>2];g=d;j=c;H=d;B=d>>31;d=qe(c,e,d,B);c=d+x|0;b=$+o|0;k=c;b=c>>>0<d>>>0?b+1|0:b;e=b;d=b<<1|c>>>31;F[f+120>>2]=c<<1;F[f+124>>2]=d;d=f;c=l;y=c;o=c>>31;b=qe(j,m,c,o);f=$;h=qe(A,w,g,B);c=h+b|0;b=$+f|0;b=c>>>0<h>>>0?b+1|0:b;h=qe(u,v,i,n);f=h+c|0;c=$+b|0;E=f;c=f>>>0<h>>>0?c+1|0:c;h=c;f=d;d=E;b=c<<1|d>>>31;F[f+104>>2]=d<<1;F[f+108>>2]=b;b=qe(s,t,A,w);c=$;f=qe(u,v,y,o);b=f+b|0;d=$+c|0;d=b>>>0<f>>>0?d+1|0:d;f=qe(q,r,g,B);b=f+b|0;c=$+d|0;c=b>>>0<f>>>0?c+1|0:c;l=b;b=J;J=0;f=b;K=b;D=b>>31;L=qe(j,m,b,D);d=L+l|0;b=$+c|0;l=d;c=d>>>0<L>>>0?b+1|0:b;L=0;b=z;C=b;x=b>>31;d=qe(i,n,b,x);b=d+l|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;F[p+72>>2]=b<<1;F[p+76>>2]=c<<1|b>>>31;b=p;c=qe(i,n,(g&1073741823)<<2|G>>>30,g>>30);g=$;G=qe(j,m,j,m);d=G+c|0;c=$+g|0;g=d;c=d>>>0<G>>>0?c+1|0:c;G=c;F[b+128>>2]=d;F[b+132>>2]=c;d=b;b=qe(q,r,u,v);l=$;z=qe(s,t,s,t);c=z+b|0;b=$+l|0;b=c>>>0<z>>>0?b+1|0:b;z=c;c=b;b=f;d=b>>31;d=qe(y,o,(b&2147483647)<<1|J>>>31,d);b=d+z|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;l=qe(C,x,A,w);d=l+b|0;b=$+c|0;c=d;d=(c>>>0<l>>>0?b+1|0:b)<<1|c>>>31;l=c<<1;b=g+l|0;c=d+G|0;g=qe(g,G,18,0);d=g+b|0;b=$+(b>>>0<l>>>0?c+1|0:c)|0;F[p+48>>2]=d;F[p+52>>2]=d>>>0<g>>>0?b+1|0:b;b=qe(k,e,36,0);G=$;c=qe(u,v,f,D);d=$;l=b;g=k;k=qe(q,r,s,t);b=k+c|0;c=$+d|0;c=b>>>0<k>>>0?c+1|0:c;k=qe(y,o,C,x);d=k+b|0;b=$+c|0;b=d>>>0<k>>>0?b+1|0:b;k=d;c=g+d|0;d=b+e|0;b=c;c=(c>>>0<k>>>0?d+1|0:d)<<1|c>>>31;d=b<<1;b=l+d|0;c=c+G|0;g=p;F[g+40>>2]=b;F[g+44>>2]=b>>>0<d>>>0?c+1|0:c;b=qe(E,h,36,0);g=$;c=qe(s,t,C,x);d=$;e=b;k=qe(q,r,f,D);c=k+c|0;b=$+d|0;b=c>>>0<k>>>0?b+1|0:b;d=c;c=c+E|0;b=b+h|0;b=c>>>0<d>>>0?b+1|0:b;d=c;c=b<<1|c>>>31;h=d<<1;b=e+h|0;d=c+g|0;e=p;F[e+24>>2]=b;F[e+28>>2]=b>>>0<h>>>0?d+1|0:d;h=qe((i&2147483647)<<1|M>>>31,i>>31,i,n);b=$;i=b;c=e;F[c+144>>2]=h;F[c+148>>2]=b;b=c;g=qe(u,v,u,v);k=$;c=qe(C,x,j,m);e=$;E=qe(q,r,A,w);d=E+c|0;c=$+e|0;c=d>>>0<E>>>0?c+1|0:c;E=qe(f,D,H,B);M=$;e=b;z=g;l=d;g=qe(s,t,y,o);d=g+E|0;b=$+M|0;b=d>>>0<g>>>0?b+1|0:b;b=b<<1|d>>>31;g=d<<1;d=l+g|0;c=b+c|0;c=d>>>0<g>>>0?c+1|0:c;b=c<<1|d>>>31;g=d<<1;c=z+g|0;d=b+k|0;h=qe(h,i,19,0);b=h+c|0;c=$+(c>>>0<g>>>0?d+1|0:d)|0;F[e+64>>2]=b;F[e+68>>2]=b>>>0<h>>>0?c+1|0:c;i=qe(I,n,(j&2147483647)<<1|N>>>31,j>>31);b=$;c=e;F[c+136>>2]=i;F[c+140>>2]=b;e=b;b=qe(q,r,y,o);d=$;h=c;g=qe(s,t,u,v);c=g+b|0;b=$+d|0;b=c>>>0<g>>>0?b+1|0:b;g=qe(f,D,A,w);d=g+c|0;c=$+b|0;c=d>>>0<g>>>0?c+1|0:c;g=qe(C,x,H,B);b=g+d|0;d=$+c|0;c=b;b=(c>>>0<g>>>0?d+1|0:d)<<1|c>>>31;g=c<<1;d=g+i|0;c=b+e|0;c=d>>>0<g>>>0?c+1|0:c;e=qe(i,e,18,0);d=e+d|0;b=$+c|0;F[h+56>>2]=d;F[h+60>>2]=d>>>0<e>>>0?b+1|0:b;b=h;c=qe(A,w,j,m);e=$;h=qe(H,B,H,B);d=h+c|0;c=$+e|0;e=d;d=d>>>0<h>>>0?c+1|0:c;c=e;e=qe(I,n,(y&2147483647)<<1|O>>>31,y>>31);c=c+e|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;e=c;i=d;c=d<<1|c>>>31;h=e<<1;F[b+112>>2]=h;F[b+116>>2]=c;d=b;k=c;b=qe(s,t,(f&1073741823)<<2|J>>>30,f>>30);f=$;g=qe(q,r,q,r);c=g+b|0;b=$+f|0;b=c>>>0<g>>>0?b+1|0:b;f=d;z=h;g=(C&2147483647)<<1|L>>>31;h=C>>31;d=qe(u,v,g,h);c=d+c|0;b=$+b|0;b=c>>>0<d>>>0?b+1|0:b;l=c;c=z+c|0;d=b+k|0;e=qe(e,i,36,0);b=e+c|0;c=$+(c>>>0<l>>>0?d+1|0:d)|0;F[f+32>>2]=b;F[f+36>>2]=b>>>0<e>>>0?c+1|0:c;d=f;b=qe(u,v,H,B);f=$;e=qe(y,o,A,w);c=e+b|0;b=$+f|0;b=c>>>0<e>>>0?b+1|0:b;e=qe(s,t,j,m);f=e+c|0;c=$+b|0;c=f>>>0<e>>>0?c+1|0:c;e=qe(q,r,I,n);f=e+f|0;b=$+c|0;c=f;b=c>>>0<e>>>0?b+1|0:b;f=b;e=d;b=b<<1|c>>>31;d=c<<1;F[e+88>>2]=d;F[e+92>>2]=b;i=qe(K,D,g,h);h=i+d|0;d=$+b|0;f=qe(c,f,36,0);b=f+h|0;c=$+(h>>>0<i>>>0?d+1|0:d)|0;F[e+8>>2]=b;F[e+12>>2]=b>>>0<f>>>0?c+1|0:c;f=e;b=qe(A,w,A,w);e=$;c=qe(u,v,j,m);h=$;d=qe(s,t,I,n);i=$;l=b;g=c;b=d;d=qe(y,o,H,B);b=b+d|0;c=$+i|0;c=b>>>0<d>>>0?c+1|0:c;d=c<<1|b>>>31;i=b<<1;c=g+i|0;b=d+h|0;d=c;c=(c>>>0<i>>>0?b+1|0:b)<<1|c>>>31;h=d<<1;d=l+h|0;b=c+e|0;b=d>>>0<h>>>0?b+1|0:b;h=d;F[f+96>>2]=d;F[f+100>>2]=b;c=qe(q,r,C,x);i=$;k=qe(K,D,K,D);d=k+c|0;c=$+i|0;c=d>>>0<k>>>0?c+1|0:c;k=d<<1;i=k+h|0;d=(c<<1|d>>>31)+b|0;e=qe(h,b,18,0);c=e+i|0;b=$+(i>>>0<k>>>0?d+1|0:d)|0;F[f+16>>2]=c;F[f+20>>2]=c>>>0<e>>>0?b+1|0:b;b=qe(u,v,A,w);d=$;e=qe(y,o,y,o);c=e+b|0;b=$+d|0;j=qe(q,r,j,m);d=j+c|0;c=$+(c>>>0<e>>>0?b+1|0:b)|0;b=d;d=b>>>0<j>>>0?c+1|0:c;c=qe(K,D,I,n);j=$;e=b;m=qe(s,t,H,B);b=m+c|0;c=$+j|0;j=b;b=(b>>>0<m>>>0?c+1|0:c)<<1|b>>>31;j=j<<1;c=e+j|0;d=b+d|0;d=c>>>0<j>>>0?d+1|0:d;j=c;b=c;c=d<<1|c>>>31;b=b<<1;F[f+80>>2]=b;F[f+84>>2]=c;n=qe(C,x,C,x);f=n+b|0;b=$+c|0;m=qe(j,d,36,0);j=m+f|0;c=$+(f>>>0<n>>>0?b+1|0:b)|0;d=p;F[d>>2]=j;F[d+4>>2]=j>>>0<m>>>0?c+1|0:c;wa(d);ja(a,d,80);_=d+160|0}function ab(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;F[a+4>>2]=0;F[a+8>>2]=0;D[a|0]=0;F[a+12>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+32>>2]=0;a:{if(!c){break a}D[a|0]=G[b|0];if((c|0)==1){break a}f=b+c|0;b=b+1|0;while(1){g=b;if(G[b|0]==10){e=g+1|0;b=e;while(1){b:{if((b|0)==(f|0)){c=f;break b}d=D[b|0];c=b+1|0;b=c;if((d|0)<0){continue}}break}c:{if((c|0)==(e|0)){d=0;break c}i=c-e|0;h=i&3;d=0;b=c;if(b+(e^-1)>>>0>=3){e=i&-4;while(1){d=(G[b-2|0]&127|(d<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;d=d|G[b|0]&127;e=e-4|0;if(e){continue}break}}if(h){while(1){b=b-1|0;d=G[b|0]&127|d<<7;h=h-1|0;if(h){continue}break}}if(f-c>>>0<d>>>0){break a}}F[a+24>>2]=d;F[a+20>>2]=c;b=c+d|0}if((b|0)==(f|0)){break a}if(G[b|0]==18){e=b+1|0;b=e;while(1){d:{if((b|0)==(f|0)){c=f;break d}d=D[b|0];c=b+1|0;b=c;if((d|0)<0){continue}}break}e:{if((c|0)==(e|0)){d=0;break e}i=c-e|0;h=i&3;d=0;b=c;if(b+(e^-1)>>>0>=3){e=i&-4;while(1){d=(G[b-2|0]&127|(d<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;d=d|G[b|0]&127;e=e-4|0;if(e){continue}break}}if(h){while(1){b=b-1|0;d=G[b|0]&127|d<<7;h=h-1|0;if(h){continue}break}}if(f-c>>>0<d>>>0){break a}}F[a+16>>2]=d;F[a+12>>2]=c;b=c+d|0}if((b|0)==(f|0)){break a}if(G[b|0]==26){e=b+1|0;b=e;while(1){f:{if((b|0)==(f|0)){c=f;break f}d=D[b|0];c=b+1|0;b=c;if((d|0)<0){continue}}break}g:{if((c|0)==(e|0)){d=0;break g}i=c-e|0;h=i&3;d=0;b=c;if(b+(e^-1)>>>0>=3){e=i&-4;while(1){d=(G[b-2|0]&127|(d<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;d=d|G[b|0]&127;e=e-4|0;if(e){continue}break}}if(h){while(1){b=b-1|0;d=G[b|0]&127|d<<7;h=h-1|0;if(h){continue}break}}if(f-c>>>0<d>>>0){break a}}F[a+8>>2]=d;F[a+4>>2]=c;b=c+d|0}if((b|0)==(f|0)){break a}if(G[b|0]==34){e=b+1|0;b=e;while(1){h:{if((b|0)==(f|0)){c=f;break h}d=D[b|0];c=b+1|0;b=c;if((d|0)<0){continue}}break}i:{if((c|0)==(e|0)){d=0;break i}i=c-e|0;h=i&3;d=0;b=c;if(b+(e^-1)>>>0>=3){e=i&-4;while(1){d=(G[b-2|0]&127|(d<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;d=d|G[b|0]&127;e=e-4|0;if(e){continue}break}}if(h){while(1){b=b-1|0;d=G[b|0]&127|d<<7;h=h-1|0;if(h){continue}break}}if(f-c>>>0<d>>>0){break a}}F[a+32>>2]=d;F[a+28>>2]=c;b=c+d|0}j:{if((b|0)==(f|0)|(b|0)!=(g|0)){break j}k:{switch(G[g|0]&7){case 0:while(1){l:{if((f|0)==(g|0)){d=f;break l}b=D[g|0];d=g+1|0;g=d;if((b|0)<0){continue}}break};while(1){if((d|0)==(f|0)){b=f;break j}c=D[d|0];b=d+1|0;d=b;if((c|0)<=-1){continue}break};break j;case 2:break k;default:break a}}while(1){m:{if((f|0)==(g|0)){b=f;break m}c=D[g|0];b=g+1|0;g=b;if((c|0)<0){continue}}break}g=b;while(1){n:{if((f|0)==(g|0)){c=f;break n}d=D[g|0];c=g+1|0;g=c;if((d|0)<0){continue}}break}if((b|0)==(c|0)){break j}e=c-b|0;h=e&3;d=0;g=c;if((b^-1)+c>>>0>=3){b=e&-4;while(1){e=(G[g-2|0]&127|(d<<14|(G[g-1|0]&127)<<7))<<14|(G[g-3|0]&127)<<7;g=g-4|0;d=e|G[g|0]&127;b=b-4|0;if(b){continue}break}}if(h){while(1){g=g-1|0;d=G[g|0]&127|d<<7;h=h-1|0;if(h){continue}break}}if(f-c>>>0<d>>>0){break a}b=c+d|0}if((b|0)!=(f|0)){continue}break}}}function Qb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!a){break a}d=a+32|0;if(d>>>0>b>>>0){break a}f=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);g=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c|0]=g;D[c+1|0]=g>>>8;D[c+2|0]=g>>>16;D[c+3|0]=g>>>24;D[c+4|0]=f;D[c+5|0]=f>>>8;D[c+6|0]=f>>>16;D[c+7|0]=f>>>24;f=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);g=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+24|0]=g;D[c+25|0]=g>>>8;D[c+26|0]=g>>>16;D[c+27|0]=g>>>24;D[c+28|0]=f;D[c+29|0]=f>>>8;D[c+30|0]=f>>>16;D[c+31|0]=f>>>24;f=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);g=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+16|0]=g;D[c+17|0]=g>>>8;D[c+18|0]=g>>>16;D[c+19|0]=g>>>24;D[c+20|0]=f;D[c+21|0]=f>>>8;D[c+22|0]=f>>>16;D[c+23|0]=f>>>24;f=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);g=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+8|0]=g;D[c+9|0]=g>>>8;D[c+10|0]=g>>>16;D[c+11|0]=g>>>24;D[c+12|0]=f;D[c+13|0]=f>>>8;D[c+14|0]=f>>>16;D[c+15|0]=f>>>24;f=b;b=a+96|0;if(f>>>0<b>>>0){break a}a=d;d=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);e=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c+32|0]=e;D[c+33|0]=e>>>8;D[c+34|0]=e>>>16;D[c+35|0]=e>>>24;D[c+36|0]=d;D[c+37|0]=d>>>8;D[c+38|0]=d>>>16;D[c+39|0]=d>>>24;d=G[a+60|0]|G[a+61|0]<<8|(G[a+62|0]<<16|G[a+63|0]<<24);e=G[a+56|0]|G[a+57|0]<<8|(G[a+58|0]<<16|G[a+59|0]<<24);D[c+88|0]=e;D[c+89|0]=e>>>8;D[c+90|0]=e>>>16;D[c+91|0]=e>>>24;D[c+92|0]=d;D[c+93|0]=d>>>8;D[c+94|0]=d>>>16;D[c+95|0]=d>>>24;d=G[a+52|0]|G[a+53|0]<<8|(G[a+54|0]<<16|G[a+55|0]<<24);e=G[a+48|0]|G[a+49|0]<<8|(G[a+50|0]<<16|G[a+51|0]<<24);D[c+80|0]=e;D[c+81|0]=e>>>8;D[c+82|0]=e>>>16;D[c+83|0]=e>>>24;D[c+84|0]=d;D[c+85|0]=d>>>8;D[c+86|0]=d>>>16;D[c+87|0]=d>>>24;d=G[a+44|0]|G[a+45|0]<<8|(G[a+46|0]<<16|G[a+47|0]<<24);e=G[a+40|0]|G[a+41|0]<<8|(G[a+42|0]<<16|G[a+43|0]<<24);D[c+72|0]=e;D[c+73|0]=e>>>8;D[c+74|0]=e>>>16;D[c+75|0]=e>>>24;D[c+76|0]=d;D[c+77|0]=d>>>8;D[c+78|0]=d>>>16;D[c+79|0]=d>>>24;e=G[a+36|0]|G[a+37|0]<<8|(G[a+38|0]<<16|G[a+39|0]<<24);d=c- -64|0;f=G[a+32|0]|G[a+33|0]<<8|(G[a+34|0]<<16|G[a+35|0]<<24);D[d|0]=f;D[d+1|0]=f>>>8;D[d+2|0]=f>>>16;D[d+3|0]=f>>>24;D[d+4|0]=e;D[d+5|0]=e>>>8;D[d+6|0]=e>>>16;D[d+7|0]=e>>>24;d=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);e=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+56|0]=e;D[c+57|0]=e>>>8;D[c+58|0]=e>>>16;D[c+59|0]=e>>>24;D[c+60|0]=d;D[c+61|0]=d>>>8;D[c+62|0]=d>>>16;D[c+63|0]=d>>>24;d=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);e=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+48|0]=e;D[c+49|0]=e>>>8;D[c+50|0]=e>>>16;D[c+51|0]=e>>>24;D[c+52|0]=d;D[c+53|0]=d>>>8;D[c+54|0]=d>>>16;D[c+55|0]=d>>>24;d=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+40|0]=a;D[c+41|0]=a>>>8;D[c+42|0]=a>>>16;D[c+43|0]=a>>>24;D[c+44|0]=d;D[c+45|0]=d>>>8;D[c+46|0]=d>>>16;D[c+47|0]=d>>>24;e=b}return e}function Xc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:{if(!a){break a}d=a-8|0;b=F[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=F[d>>2];d=d-b|0;if(d>>>0<I[9460]){break a}a=a+b|0;if(F[9461]!=(d|0)){if(b>>>0<=255){e=F[d+8>>2];b=b>>>3|0;c=F[d+12>>2];if((c|0)==(e|0)){F[9456]=F[9456]&se(-2,b);break b}F[e+12>>2]=c;F[c+8>>2]=e;break b}h=F[d+24>>2];b=F[d+12>>2];c:{if((d|0)!=(b|0)){c=F[d+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break c}d:{e=d+20|0;c=F[e>>2];if(c){break d}e=d+16|0;c=F[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break b}e=F[d+28>>2];c=(e<<2)+38128|0;e:{if(F[c>>2]==(d|0)){F[c>>2]=b;if(b){break e}F[9457]=F[9457]&se(-2,e);break b}F[h+(F[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}F[b+24>>2]=h;c=F[d+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[d+20>>2];if(!c){break b}F[b+20>>2]=c;F[c+24>>2]=b;break b}b=F[f+4>>2];if((b&3)!=3){break b}F[9458]=a;F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=F[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(F[9462]==(f|0)){F[9462]=d;a=F[9459]+a|0;F[9459]=a;F[d+4>>2]=a|1;if(F[9461]!=(d|0)){break a}F[9458]=0;F[9461]=0;return}if(F[9461]==(f|0)){F[9461]=d;a=F[9458]+a|0;F[9458]=a;F[d+4>>2]=a|1;F[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=F[f+8>>2];b=b>>>3|0;c=F[f+12>>2];if((c|0)==(e|0)){F[9456]=F[9456]&se(-2,b);break g}F[e+12>>2]=c;F[c+8>>2]=e;break g}h=F[f+24>>2];b=F[f+12>>2];h:{if((f|0)!=(b|0)){c=F[f+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break h}i:{e=f+20|0;c=F[e>>2];if(c){break i}e=f+16|0;c=F[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break g}e=F[f+28>>2];c=(e<<2)+38128|0;j:{if(F[c>>2]==(f|0)){F[c>>2]=b;if(b){break j}F[9457]=F[9457]&se(-2,e);break g}F[h+(F[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}F[b+24>>2]=h;c=F[f+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[f+20>>2];if(!c){break g}F[b+20>>2]=c;F[c+24>>2]=b}F[d+4>>2]=a|1;F[a+d>>2]=a;if(F[9461]!=(d|0)){break f}F[9458]=a;return}F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+37864|0;c=F[9456];a=1<<a;k:{if(!(c&a)){F[9456]=a|c;a=b;break k}a=F[b+8>>2]}F[b+8>>2]=d;F[a+12>>2]=d;F[d+12>>2]=b;F[d+8>>2]=a;return}e=31;F[d+16>>2]=0;F[d+20>>2]=0;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<<g;e=b+520192>>>16&4;b=b<<e;c=b+245760>>>16&2;b=(b<<c>>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}F[d+28>>2]=e;g=(e<<2)+38128|0;l:{m:{c=F[9457];b=1<<e;n:{if(!(c&b)){F[9457]=b|c;F[g>>2]=d;F[d+24>>2]=g;break n}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=F[g>>2];while(1){c=b;if((F[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=F[g+16>>2];if(b){continue}break}F[g+16>>2]=d;F[d+24>>2]=c}F[d+12>>2]=d;F[d+8>>2]=d;break l}a=F[c+8>>2];F[a+12>>2]=d;F[c+8>>2]=d;F[d+24>>2]=0;F[d+12>>2]=c;F[d+8>>2]=a}a=F[9464]-1|0;F[9464]=a?a:-1}}function Sb(a,b){var c=0,d=0,e=0;c=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);d=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a|0]=d;D[a+1|0]=d>>>8;D[a+2|0]=d>>>16;D[a+3|0]=d>>>24;D[a+4|0]=c;D[a+5|0]=c>>>8;D[a+6|0]=c>>>16;D[a+7|0]=c>>>24;c=G[b+28|0]|G[b+29|0]<<8|(G[b+30|0]<<16|G[b+31|0]<<24);d=G[b+24|0]|G[b+25|0]<<8|(G[b+26|0]<<16|G[b+27|0]<<24);D[a+24|0]=d;D[a+25|0]=d>>>8;D[a+26|0]=d>>>16;D[a+27|0]=d>>>24;D[a+28|0]=c;D[a+29|0]=c>>>8;D[a+30|0]=c>>>16;D[a+31|0]=c>>>24;c=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);d=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);D[a+16|0]=d;D[a+17|0]=d>>>8;D[a+18|0]=d>>>16;D[a+19|0]=d>>>24;D[a+20|0]=c;D[a+21|0]=c>>>8;D[a+22|0]=c>>>16;D[a+23|0]=c>>>24;c=G[b+12|0]|G[b+13|0]<<8|(G[b+14|0]<<16|G[b+15|0]<<24);d=G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24);D[a+8|0]=d;D[a+9|0]=d>>>8;D[a+10|0]=d>>>16;D[a+11|0]=d>>>24;D[a+12|0]=c;D[a+13|0]=c>>>8;D[a+14|0]=c>>>16;D[a+15|0]=c>>>24;c=G[b+36|0]|G[b+37|0]<<8|(G[b+38|0]<<16|G[b+39|0]<<24);d=G[b+32|0]|G[b+33|0]<<8|(G[b+34|0]<<16|G[b+35|0]<<24);D[a+32|0]=d;D[a+33|0]=d>>>8;D[a+34|0]=d>>>16;D[a+35|0]=d>>>24;D[a+36|0]=c;D[a+37|0]=c>>>8;D[a+38|0]=c>>>16;D[a+39|0]=c>>>24;c=G[b+44|0]|G[b+45|0]<<8|(G[b+46|0]<<16|G[b+47|0]<<24);d=G[b+40|0]|G[b+41|0]<<8|(G[b+42|0]<<16|G[b+43|0]<<24);D[a+40|0]=d;D[a+41|0]=d>>>8;D[a+42|0]=d>>>16;D[a+43|0]=d>>>24;D[a+44|0]=c;D[a+45|0]=c>>>8;D[a+46|0]=c>>>16;D[a+47|0]=c>>>24;c=G[b+52|0]|G[b+53|0]<<8|(G[b+54|0]<<16|G[b+55|0]<<24);d=G[b+48|0]|G[b+49|0]<<8|(G[b+50|0]<<16|G[b+51|0]<<24);D[a+48|0]=d;D[a+49|0]=d>>>8;D[a+50|0]=d>>>16;D[a+51|0]=d>>>24;D[a+52|0]=c;D[a+53|0]=c>>>8;D[a+54|0]=c>>>16;D[a+55|0]=c>>>24;c=G[b+60|0]|G[b+61|0]<<8|(G[b+62|0]<<16|G[b+63|0]<<24);d=G[b+56|0]|G[b+57|0]<<8|(G[b+58|0]<<16|G[b+59|0]<<24);D[a+56|0]=d;D[a+57|0]=d>>>8;D[a+58|0]=d>>>16;D[a+59|0]=d>>>24;D[a+60|0]=c;D[a+61|0]=c>>>8;D[a+62|0]=c>>>16;D[a+63|0]=c>>>24;d=b- -64|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);c=a- -64|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;D[c+4|0]=e;D[c+5|0]=e>>>8;D[c+6|0]=e>>>16;D[c+7|0]=e>>>24;c=G[b+76|0]|G[b+77|0]<<8|(G[b+78|0]<<16|G[b+79|0]<<24);d=G[b+72|0]|G[b+73|0]<<8|(G[b+74|0]<<16|G[b+75|0]<<24);D[a+72|0]=d;D[a+73|0]=d>>>8;D[a+74|0]=d>>>16;D[a+75|0]=d>>>24;D[a+76|0]=c;D[a+77|0]=c>>>8;D[a+78|0]=c>>>16;D[a+79|0]=c>>>24;c=G[b+84|0]|G[b+85|0]<<8|(G[b+86|0]<<16|G[b+87|0]<<24);d=G[b+80|0]|G[b+81|0]<<8|(G[b+82|0]<<16|G[b+83|0]<<24);D[a+80|0]=d;D[a+81|0]=d>>>8;D[a+82|0]=d>>>16;D[a+83|0]=d>>>24;D[a+84|0]=c;D[a+85|0]=c>>>8;D[a+86|0]=c>>>16;D[a+87|0]=c>>>24;c=G[b+92|0]|G[b+93|0]<<8|(G[b+94|0]<<16|G[b+95|0]<<24);b=G[b+88|0]|G[b+89|0]<<8|(G[b+90|0]<<16|G[b+91|0]<<24);D[a+88|0]=b;D[a+89|0]=b>>>8;D[a+90|0]=b>>>16;D[a+91|0]=b>>>24;D[a+92|0]=c;D[a+93|0]=c>>>8;D[a+94|0]=c>>>16;D[a+95|0]=c>>>24;return a+96|0}function cb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{if(!a|!b){break a}c=F[a+72>>2];if(c>>>0>127){break a}F[a+72>>2]=c+1;e=F[a+4>>2]+(c>>>29|0)|0;d=c<<3;f=d+F[a>>2]|0;F[a>>2]=f;F[a+4>>2]=d>>>0>f>>>0?e+1|0:e;f=a+76|0;D[f+c|0]=128;c=F[a+72>>2];if(c>>>0>=113){if(c>>>0<=127){while(1){F[a+72>>2]=c+1;D[(a+c|0)+76|0]=0;c=F[a+72>>2];if(c>>>0<128){continue}break}}ta(a,f);c=0}while(1){F[a+72>>2]=c+1;D[(a+c|0)+76|0]=0;c=F[a+72>>2];if(c>>>0<120){continue}break}c=F[a>>2];g=c<<24|c<<8&16711680;d=c>>>8|0;e=F[a+4>>2];h=d|e<<24;c=c>>>24|0;d=(d|(e&255)<<24)&-16777216|(c|(e&16777215)<<8)&16711680|(e>>>8&65280|e>>>24);D[a+196|0]=d;D[a+197|0]=d>>>8;D[a+198|0]=d>>>16;D[a+199|0]=d>>>24;c=h&65280|(c|e<<8)&255|g;D[a+200|0]=c;D[a+201|0]=c>>>8;D[a+202|0]=c>>>16;D[a+203|0]=c>>>24;ta(a,f);D[b|0]=G[a+15|0];D[b+1|0]=H[a+14>>1];D[b+2|0]=F[a+12>>2]>>>8;D[b+3|0]=F[a+12>>2];D[b+4|0]=(F[a+12>>2]&16777215)<<8|F[a+8>>2]>>>24;D[b+5|0]=(F[a+12>>2]&65535)<<16|F[a+8>>2]>>>16;D[b+6|0]=(F[a+12>>2]&255)<<24|F[a+8>>2]>>>8;D[b+7|0]=F[a+8>>2];D[b+8|0]=G[a+23|0];D[b+9|0]=H[a+22>>1];D[b+10|0]=F[a+20>>2]>>>8;D[b+11|0]=F[a+20>>2];D[b+12|0]=(F[a+20>>2]&16777215)<<8|F[a+16>>2]>>>24;D[b+13|0]=(F[a+20>>2]&65535)<<16|F[a+16>>2]>>>16;D[b+14|0]=(F[a+20>>2]&255)<<24|F[a+16>>2]>>>8;D[b+15|0]=F[a+16>>2];D[b+16|0]=G[a+31|0];D[b+17|0]=H[a+30>>1];D[b+18|0]=F[a+28>>2]>>>8;D[b+19|0]=F[a+28>>2];D[b+20|0]=(F[a+28>>2]&16777215)<<8|F[a+24>>2]>>>24;D[b+21|0]=(F[a+28>>2]&65535)<<16|F[a+24>>2]>>>16;D[b+22|0]=(F[a+28>>2]&255)<<24|F[a+24>>2]>>>8;D[b+23|0]=F[a+24>>2];D[b+24|0]=G[a+39|0];D[b+25|0]=H[a+38>>1];D[b+26|0]=F[a+36>>2]>>>8;D[b+27|0]=F[a+36>>2];D[b+28|0]=(F[a+36>>2]&16777215)<<8|F[a+32>>2]>>>24;D[b+29|0]=(F[a+36>>2]&65535)<<16|F[a+32>>2]>>>16;D[b+30|0]=(F[a+36>>2]&255)<<24|F[a+32>>2]>>>8;D[b+31|0]=F[a+32>>2];D[b+32|0]=G[a+47|0];D[b+33|0]=H[a+46>>1];D[b+34|0]=F[a+44>>2]>>>8;D[b+35|0]=F[a+44>>2];D[b+36|0]=(F[a+44>>2]&16777215)<<8|F[a+40>>2]>>>24;D[b+37|0]=(F[a+44>>2]&65535)<<16|F[a+40>>2]>>>16;D[b+38|0]=(F[a+44>>2]&255)<<24|F[a+40>>2]>>>8;D[b+39|0]=F[a+40>>2];D[b+40|0]=G[a+55|0];D[b+41|0]=H[a+54>>1];D[b+42|0]=F[a+52>>2]>>>8;D[b+43|0]=F[a+52>>2];D[b+44|0]=(F[a+52>>2]&16777215)<<8|F[a+48>>2]>>>24;D[b+45|0]=(F[a+52>>2]&65535)<<16|F[a+48>>2]>>>16;D[b+46|0]=(F[a+52>>2]&255)<<24|F[a+48>>2]>>>8;D[b+47|0]=F[a+48>>2];D[b+48|0]=G[a+63|0];D[b+49|0]=H[a+62>>1];D[b+50|0]=F[a+60>>2]>>>8;D[b+51|0]=F[a+60>>2];D[b+52|0]=(F[a+60>>2]&16777215)<<8|F[a+56>>2]>>>24;D[b+53|0]=(F[a+60>>2]&65535)<<16|F[a+56>>2]>>>16;D[b+54|0]=(F[a+60>>2]&255)<<24|F[a+56>>2]>>>8;D[b+55|0]=F[a+56>>2];D[b+56|0]=G[a+71|0];D[b+57|0]=H[a+70>>1];c=a- -64|0;D[b+58|0]=F[c+4>>2]>>>8;D[b+59|0]=F[a+68>>2];D[b+60|0]=(F[c+4>>2]&16777215)<<8|F[c>>2]>>>24;D[b+61|0]=(F[c+4>>2]&65535)<<16|F[c>>2]>>>16;D[b+62|0]=(F[c+4>>2]&255)<<24|F[c>>2]>>>8;D[b+63|0]=F[c>>2]}}function vc(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=_-160|0;_=j;l=-1;if(!(i>>>0<8|(e+16&-16)>>>0>g>>>0)){m=j+80|0;Aa(b,c,0,0,F[a+4>>2],F[a+8>>2],m,80);a=F[j+108>>2];F[j+24>>2]=F[j+104>>2];F[j+28>>2]=a;a=F[j+100>>2];F[j+16>>2]=F[j+96>>2];F[j+20>>2]=a;a=F[j+92>>2];F[j+8>>2]=F[j+88>>2];F[j+12>>2]=a;a=F[j+124>>2];F[j+40>>2]=F[j+120>>2];F[j+44>>2]=a;a=F[j+132>>2];F[j+48>>2]=F[j+128>>2];F[j+52>>2]=a;a=F[j+140>>2];F[j+56>>2]=F[j+136>>2];F[j+60>>2]=a;a=F[j+156>>2];F[j+72>>2]=F[j+152>>2];F[j+76>>2]=a;a=F[j+84>>2];F[j>>2]=F[j+80>>2];F[j+4>>2]=a;a=F[j+116>>2];F[j+32>>2]=F[j+112>>2];F[j+36>>2]=a;a=F[j+148>>2];F[j+64>>2]=F[j+144>>2];F[j+68>>2]=a;ia(m,80);g=_-256|0;_=g;Kb(j,g+16|0);a=j- -64|0;b=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);F[g+8>>2]=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);F[g+12>>2]=b;b=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);F[g>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[g+4>>2]=b;if(e>>>0>15){while(1){D[g|0]=G[g|0]^G[d|0];D[g+1|0]=G[g+1|0]^G[d+1|0];D[g+2|0]=G[g+2|0]^G[d+2|0];D[g+3|0]=G[g+3|0]^G[d+3|0];D[g+4|0]=G[g+4|0]^G[d+4|0];D[g+5|0]=G[g+5|0]^G[d+5|0];D[g+6|0]=G[g+6|0]^G[d+6|0];D[g+7|0]=G[g+7|0]^G[d+7|0];D[g+8|0]=G[g+8|0]^G[d+8|0];D[g+9|0]=G[g+9|0]^G[d+9|0];D[g+10|0]=G[g+10|0]^G[d+10|0];D[g+11|0]=G[g+11|0]^G[d+11|0];D[g+12|0]=G[g+12|0]^G[d+12|0];D[g+13|0]=G[g+13|0]^G[d+13|0];D[g+14|0]=G[g+14|0]^G[d+14|0];D[g+15|0]=G[g+15|0]^G[d+15|0];Lb(g,f,g+16|0);a=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);F[g+8>>2]=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);F[g+12>>2]=a;a=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);F[g>>2]=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);F[g+4>>2]=a;f=f+16|0;d=d+16|0;e=e-16|0;if(e>>>0>15){continue}break}}a:{b:{if(!e){e=0;a=16;break b}c=e&3;b=0;if(e-1>>>0>=3){l=e&-4;while(1){a=b+g|0;D[a|0]=G[a|0]^G[b+d|0];a=b|1;k=a+g|0;D[k|0]=G[k|0]^G[a+d|0];a=b|2;k=a+g|0;D[k|0]=G[k|0]^G[a+d|0];a=b|3;k=a+g|0;D[k|0]=G[k|0]^G[a+d|0];b=b+4|0;l=l-4|0;if(l){continue}break}}if(c){while(1){a=b+g|0;D[a|0]=G[a|0]^G[b+d|0];b=b+1|0;c=c-1|0;if(c){continue}break}}if(e>>>0>15){break a}a=16-e|0}c=15-e|0;b=0-e&3;if(b){while(1){d=e+g|0;D[d|0]=a^G[d|0];e=e+1|0;b=b-1|0;if(b){continue}break}}if(c>>>0<3){break a}while(1){b=e+g|0;D[b|0]=a^G[b|0];D[b+1|0]=a^G[b+1|0];D[b+2|0]=a^G[b+2|0];D[b+3|0]=a^G[b+3|0];e=e+4|0;if((e|0)!=16){continue}break}}a=g+16|0;Lb(g,f,a);ia(a,240);ia(g,16);_=g+256|0;ka(j+32|0,32,h,i-8|0,m);b=F[j+84>>2];a=(h+i|0)-8|0;c=F[j+80>>2];D[a|0]=c;D[a+1|0]=c>>>8;D[a+2|0]=c>>>16;D[a+3|0]=c>>>24;D[a+4|0]=b;D[a+5|0]=b>>>8;D[a+6|0]=b>>>16;D[a+7|0]=b>>>24;ia(j,80);l=i}_=j+160|0;return l|0}function wa(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;F[a+80>>2]=0;F[a+84>>2]=0;c=a;e=F[c+4>>2];g=e;h=F[c>>2];d=h;b=e;e=b>>31>>>6|0;h=e+d|0;b=e>>>0>h>>>0?b+1|0:b;f=h;h=f&-67108864;i=d-h|0;e=g-((d>>>0<h>>>0)+b|0)|0;h=e;F[c>>2]=i;F[c+4>>2]=e;c=b;b=b>>26;g=(c&67108863)<<6|f>>>26;c=g+F[a+8>>2]|0;b=b+F[a+12>>2]|0;b=c>>>0<g>>>0?b+1|0:b;g=b;f=c;e=b>>31>>>7|0;c=e+c|0;b=c>>>0<e>>>0?b+1|0:b;d=c;c=c&-33554432;F[a+8>>2]=f-c;F[a+12>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|d>>>25;c=d+F[a+16>>2]|0;b=b+F[a+20>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;f=c;e=b>>31>>>6|0;c=e+c|0;b=c>>>0<e>>>0?b+1|0:b;d=c;c=c&-67108864;F[a+16>>2]=f-c;F[a+20>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|d>>>26;c=d+F[a+24>>2]|0;b=b+F[a+28>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;f=c;e=b>>31>>>7|0;c=e+c|0;b=c>>>0<e>>>0?b+1|0:b;d=c;c=c&-33554432;F[a+24>>2]=f-c;F[a+28>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|d>>>25;c=d+F[a+32>>2]|0;b=b+F[a+36>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;f=c;e=b>>31>>>6|0;c=e+c|0;b=c>>>0<e>>>0?b+1|0:b;d=c;c=c&-67108864;F[a+32>>2]=f-c;F[a+36>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|d>>>26;c=d+F[a+40>>2]|0;b=b+F[a+44>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;f=c;e=b>>31>>>7|0;c=e+c|0;b=c>>>0<e>>>0?b+1|0:b;d=c;c=c&-33554432;F[a+40>>2]=f-c;F[a+44>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|d>>>25;c=d+F[a+48>>2]|0;b=b+F[a+52>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;f=c;e=b>>31>>>6|0;c=e+c|0;b=c>>>0<e>>>0?b+1|0:b;d=c;c=c&-67108864;F[a+48>>2]=f-c;F[a+52>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|d>>>26;c=d+F[a+56>>2]|0;b=b+F[a+60>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;f=c;e=b>>31>>>7|0;c=e+c|0;b=c>>>0<e>>>0?b+1|0:b;d=c;c=c&-33554432;F[a+56>>2]=f-c;F[a+60>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|d>>>25;c=d+F[a+64>>2]|0;b=b+F[a+68>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;f=c;e=b>>31>>>6|0;c=e+c|0;b=c>>>0<e>>>0?b+1|0:b;d=c;c=c&-67108864;F[a+64>>2]=f-c;F[a+68>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|d>>>26;c=d+F[a+72>>2]|0;b=b+F[a+76>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;f=c;e=b>>31>>>7|0;c=e+c|0;b=c>>>0<e>>>0?b+1|0:b;e=c;c=c&-33554432;F[a+72>>2]=f-c;F[a+76>>2]=g-((c>>>0>f>>>0)+b|0);g=F[a+80>>2];c=F[a+84>>2];F[a+80>>2]=0;F[a+84>>2]=0;d=c;f=g;c=b;b=b>>25;g=(c&33554431)<<7|e>>>25;c=f+g|0;b=b+d|0;b=c>>>0<g>>>0?b+1|0:b;f=c;d=c+i|0;c=b;b=b+h|0;h=qe(f,c,18,0);c=h+d|0;b=$+(d>>>0<f>>>0?b+1|0:b)|0;b=c>>>0<h>>>0?b+1|0:b;d=b;g=c;f=b>>31>>>6|0;c=f+c|0;b=c>>>0<f>>>0?b+1|0:b;h=c;c=c&-67108864;F[a>>2]=g-c;F[a+4>>2]=d-((c>>>0>g>>>0)+b|0);e=F[a+12>>2];c=a;a=b;b=b>>26;h=(a&67108863)<<6|h>>>26;a=h+F[c+8>>2]|0;b=b+e|0;F[c+8>>2]=a;F[c+12>>2]=a>>>0<h>>>0?b+1|0:b}function ib(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+12>>2]=c;F[a+8>>2]=b;F[a+4>>2]=0;E[a>>1]=0;F[a+24>>2]=0;F[a+28>>2]=0;a:{if(c>>>0<=d>>>0){break a}D[a|0]=G[b|0];c=c-d|0;if((c|0)==1){break a}h=b+c|0;e=b+1|0;while(1){d=e;if(G[e|0]==10){f=d+1|0;b=f;while(1){b:{if((b|0)==(h|0)){c=h;break b}e=D[b|0];c=b+1|0;b=c;if((e|0)<0){continue}}break}c:{if((c|0)==(f|0)){e=0;break c}i=c-f|0;g=i&3;e=0;b=c;if(b+(f^-1)>>>0>=3){f=i&-4;while(1){e=(G[b-2|0]&127|(e<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;e=e|G[b|0]&127;f=f-4|0;if(f){continue}break}}if(g){while(1){b=b-1|0;e=G[b|0]&127|e<<7;g=g-1|0;if(g){continue}break}}if(h-c>>>0<e>>>0){break a}}F[a+20>>2]=e;F[a+16>>2]=c;e=c+e|0}if((e|0)==(h|0)){break a}if(G[e|0]==16){f=e+1|0;b=f;while(1){d:{if((b|0)==(h|0)){e=h;break d}c=D[b|0];e=b+1|0;b=e;if((c|0)<0){continue}}break}e:{if((e|0)==(f|0)){g=0;break e}i=e-f|0;c=i&3;g=0;b=e;if(b+(f^-1)>>>0>=3){f=i&-4;while(1){g=(G[b-2|0]&127|(g<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;g=g|G[b|0]&127;f=f-4|0;if(f){continue}break}}if(!c){break e}while(1){b=b-1|0;g=G[b|0]&127|g<<7;c=c-1|0;if(c){continue}break}}D[a+1|0]=1;F[a+4>>2]=g}if((e|0)==(h|0)){break a}if(G[e|0]==34){f=e+1|0;b=f;while(1){f:{if((b|0)==(h|0)){c=h;break f}e=D[b|0];c=b+1|0;b=c;if((e|0)<0){continue}}break}g:{if((c|0)==(f|0)){e=0;break g}i=c-f|0;g=i&3;e=0;b=c;if(b+(f^-1)>>>0>=3){f=i&-4;while(1){e=(G[b-2|0]&127|(e<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;e=e|G[b|0]&127;f=f-4|0;if(f){continue}break}}if(g){while(1){b=b-1|0;e=G[b|0]&127|e<<7;g=g-1|0;if(g){continue}break}}if(h-c>>>0<e>>>0){break a}}F[a+28>>2]=e;F[a+24>>2]=c;e=c+e|0}h:{if((e|0)==(h|0)|(d|0)!=(e|0)){break h}i:{switch(G[d|0]&7){case 0:while(1){j:{if((d|0)==(h|0)){b=h;break j}c=D[d|0];b=d+1|0;d=b;if((c|0)<0){continue}}break};while(1){if((b|0)==(h|0)){e=h;break h}c=D[b|0];e=b+1|0;b=e;if((c|0)<=-1){continue}break};break h;case 2:break i;default:break a}}while(1){k:{if((d|0)==(h|0)){e=h;break k}b=D[d|0];e=d+1|0;d=e;if((b|0)<0){continue}}break}b=e;while(1){l:{if((b|0)==(h|0)){c=h;break l}d=D[b|0];c=b+1|0;b=c;if((d|0)<0){continue}}break}if((c|0)==(e|0)){break h}f=c-e|0;g=f&3;d=0;b=c;if(b+(e^-1)>>>0>=3){e=f&-4;while(1){d=(G[b-2|0]&127|(d<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;d=d|G[b|0]&127;e=e-4|0;if(e){continue}break}}if(g){while(1){b=b-1|0;d=G[b|0]&127|d<<7;g=g-1|0;if(g){continue}break}}if(h-c>>>0<d>>>0){break a}e=c+d|0}if((e|0)!=(h|0)){continue}break}}}function ka(a,b,c,d,e){var f=0,g=0;f=_-384|0;_=f;F[f+128>>2]=0;F[f+132>>2]=0;F[f+136>>2]=0;F[f+140>>2]=0;F[f+144>>2]=0;F[f+148>>2]=0;F[f+152>>2]=0;F[f+156>>2]=0;F[f+160>>2]=0;F[f+164>>2]=0;F[f+168>>2]=0;F[f+172>>2]=0;F[f+112>>2]=0;F[f+116>>2]=0;F[f+120>>2]=0;F[f+124>>2]=0;a:{if(b>>>0>=65){g=f+176|0;F[g+80>>2]=1779033703;F[g+84>>2]=-1150833019;F[g+72>>2]=0;F[g+76>>2]=0;F[g+64>>2]=0;F[g+104>>2]=528734635;F[g+108>>2]=1541459225;F[g+96>>2]=1359893119;F[g+100>>2]=-1694144372;F[g+88>>2]=1013904242;F[g+92>>2]=-1521486534;pa(g,a,b);Ba(g,f+112|0);break a}ja(f+112|0,a,b)}a=F[f+172>>2];F[f+232>>2]=F[f+168>>2];F[f+236>>2]=a;a=F[f+164>>2];F[f+224>>2]=F[f+160>>2];F[f+228>>2]=a;a=F[f+156>>2];F[f+216>>2]=F[f+152>>2];F[f+220>>2]=a;a=F[f+148>>2];F[f+208>>2]=F[f+144>>2];F[f+212>>2]=a;a=F[f+140>>2];F[f+200>>2]=F[f+136>>2];F[f+204>>2]=a;a=F[f+132>>2];F[f+192>>2]=F[f+128>>2];F[f+196>>2]=a;a=F[f+124>>2];F[f+184>>2]=F[f+120>>2];F[f+188>>2]=a;a=F[f+116>>2];F[f+176>>2]=F[f+112>>2];F[f+180>>2]=a;b=0;while(1){a=f+176|0;g=a+b|0;D[g|0]=G[g|0]^54;g=a+(b|1)|0;D[g|0]=G[g|0]^54;g=a+(b|2)|0;D[g|0]=G[g|0]^54;a=a+(b|3)|0;D[a|0]=G[a|0]^54;b=b+4|0;if((b|0)!=64){continue}break}F[f+80>>2]=1779033703;F[f+84>>2]=-1150833019;F[f+72>>2]=0;F[f+76>>2]=0;F[f+64>>2]=0;F[f+104>>2]=528734635;F[f+108>>2]=1541459225;F[f+96>>2]=1359893119;F[f+100>>2]=-1694144372;F[f+88>>2]=1013904242;F[f+92>>2]=-1521486534;a=f+176|0;pa(f,a,64);ia(a,64);pa(f,c,d);a=F[f+172>>2];F[f+344>>2]=F[f+168>>2];F[f+348>>2]=a;a=F[f+164>>2];F[f+336>>2]=F[f+160>>2];F[f+340>>2]=a;a=F[f+156>>2];F[f+328>>2]=F[f+152>>2];F[f+332>>2]=a;a=F[f+148>>2];F[f+320>>2]=F[f+144>>2];F[f+324>>2]=a;a=F[f+140>>2];F[f+312>>2]=F[f+136>>2];F[f+316>>2]=a;a=F[f+132>>2];F[f+304>>2]=F[f+128>>2];F[f+308>>2]=a;a=F[f+124>>2];F[f+296>>2]=F[f+120>>2];F[f+300>>2]=a;a=F[f+116>>2];F[f+288>>2]=F[f+112>>2];F[f+292>>2]=a;b=0;while(1){a=f+288|0;c=a+b|0;D[c|0]=G[c|0]^92;c=a+(b|1)|0;D[c|0]=G[c|0]^92;c=a+(b|2)|0;D[c|0]=G[c|0]^92;a=a+(b|3)|0;D[a|0]=G[a|0]^92;b=b+4|0;if((b|0)!=64){continue}break}Ba(f,f+352|0);a=f+176|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=f+288|0;pa(a,b,96);Ba(a,e);ia(a,112);ia(b,96);ia(f+112|0,64);ia(f,112);_=f+384|0}function Ha(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0;e=F[b+44>>2];d=F[b+48>>2];g=F[b+52>>2];h=F[b+56>>2];i=F[b+60>>2];f=b- -64|0;j=F[f>>2];k=F[b+68>>2];l=F[b+72>>2];m=F[b+76>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];v=F[b+36>>2];F[a>>2]=F[b>>2]+F[b+40>>2];F[a+36>>2]=m+v;F[a+32>>2]=l+u;F[a+28>>2]=k+t;F[a+24>>2]=j+s;F[a+20>>2]=i+r;F[a+16>>2]=h+q;F[a+12>>2]=g+p;F[a+8>>2]=d+o;F[a+4>>2]=e+n;d=F[b+44>>2];g=F[b+48>>2];h=F[b+52>>2];i=F[b+56>>2];j=F[b+60>>2];f=F[f>>2];e=F[b+68>>2];k=F[b+72>>2];l=F[b>>2];m=F[b+40>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];F[a+76>>2]=F[b+76>>2]-F[b+36>>2];F[a+72>>2]=k-u;F[a+68>>2]=e-t;e=a- -64|0;F[e>>2]=f-s;F[a+60>>2]=j-r;F[a+56>>2]=i-q;F[a+52>>2]=h-p;F[a+48>>2]=g-o;F[a+44>>2]=d-n;F[a+40>>2]=m-l;ha(a+80|0,a,c);d=a+40|0;ha(d,d,c+40|0);ha(a+120|0,c+120|0,b+120|0);ha(a,b+80|0,c+80|0);b=F[a+44>>2];c=F[a+84>>2];d=F[a+48>>2];g=F[a+88>>2];h=F[a+52>>2];i=F[a+92>>2];f=F[a+56>>2];j=F[a+96>>2];k=F[a+60>>2];l=F[a+100>>2];m=F[e>>2];n=F[a+104>>2];o=F[a+68>>2];p=F[a+108>>2];q=F[a+72>>2];r=F[a+112>>2];u=F[a>>2];v=F[a+4>>2];y=F[a+8>>2];z=F[a+12>>2];A=F[a+16>>2];B=F[a+20>>2];C=F[a+24>>2];D=F[a+28>>2];E=F[a+32>>2];G=F[a+36>>2];s=F[a+40>>2];t=F[a+80>>2];w=F[a+76>>2];x=F[a+116>>2];F[a+76>>2]=w+x;F[a+72>>2]=q+r;F[a+68>>2]=o+p;F[e>>2]=m+n;F[a+60>>2]=k+l;F[a+56>>2]=f+j;F[a+52>>2]=h+i;F[a+48>>2]=d+g;F[a+44>>2]=b+c;F[a+40>>2]=s+t;F[a+36>>2]=x-w;F[a+32>>2]=r-q;F[a+28>>2]=p-o;F[a+24>>2]=n-m;F[a+20>>2]=l-k;F[a+16>>2]=j-f;F[a+12>>2]=i-h;F[a+8>>2]=g-d;F[a+4>>2]=c-b;F[a>>2]=t-s;b=G<<1;c=F[a+156>>2];F[a+156>>2]=b-c;e=E<<1;d=F[a+152>>2];F[a+152>>2]=e-d;g=D<<1;h=F[a+148>>2];F[a+148>>2]=g-h;i=C<<1;f=F[a+144>>2];F[a+144>>2]=i-f;j=B<<1;k=F[a+140>>2];F[a+140>>2]=j-k;l=A<<1;m=F[a+136>>2];F[a+136>>2]=l-m;n=z<<1;o=F[a+132>>2];F[a+132>>2]=n-o;p=y<<1;q=F[a+128>>2];F[a+128>>2]=p-q;r=v<<1;s=F[a+124>>2];F[a+124>>2]=r-s;t=u<<1;u=F[a+120>>2];F[a+120>>2]=t-u;F[a+112>>2]=d+e;F[a+108>>2]=g+h;F[a+104>>2]=i+f;F[a+100>>2]=j+k;F[a+96>>2]=l+m;F[a+92>>2]=n+o;F[a+88>>2]=p+q;F[a+84>>2]=r+s;F[a+80>>2]=t+u;F[a+116>>2]=b+c}function Tb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=_-480|0;_=c;while(1){e=c+288|0;g=e+(d<<1)|0;f=G[b+d|0];D[g+1|0]=f>>>4;D[g|0]=f&15;g=d|1;e=e+(g<<1)|0;g=G[b+g|0];D[e+1|0]=g>>>4;D[e|0]=g&15;d=d+2|0;if((d|0)!=32){continue}break}b=0;while(1){d=b;b=(c+288|0)+h|0;e=d+G[b|0]|0;d=(e<<24)- -134217728|0;D[b|0]=e-(d>>24&240);e=G[b+1|0]+(d>>28)|0;d=(e<<24)- -134217728|0;D[b+1|0]=e-(d>>24&240);e=G[b+2|0]+(d>>28)|0;d=(e<<24)- -134217728|0;D[b+2|0]=e-(d>>24&240);b=d>>28;h=h+3|0;if((h|0)!=63){continue}break}D[c+351|0]=G[c+351|0]+b;b=a;F[b+32>>2]=0;F[b+36>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=0;F[b+12>>2]=0;F[b>>2]=0;F[b+4>>2]=0;F[b+44>>2]=0;F[b+48>>2]=0;F[b+40>>2]=1;F[b+52>>2]=0;F[b+56>>2]=0;F[b+60>>2]=0;F[b+64>>2]=0;F[b+68>>2]=0;F[b+72>>2]=0;F[b+76>>2]=0;F[b+80>>2]=1;ra(b+84|0,0,76);p=b+120|0;q=b+80|0;r=b+40|0;h=c+208|0;g=c+168|0;e=c+248|0;d=1;while(1){f=c+8|0;Rb(f,d>>>1|0,D[(c+288|0)+d|0]);b=c+128|0;nb(b,a,f);ha(a,b,e);ha(r,g,h);ha(q,h,e);ha(p,b,g);b=d>>>0<62;d=d+2|0;if(b){continue}break}b=a;d=F[b>>2];f=F[b+4>>2];i=F[b+8>>2];j=F[b+12>>2];k=F[b+16>>2];l=F[b+20>>2];m=F[b+24>>2];n=F[b+28>>2];o=F[b+36>>2];F[c+392>>2]=F[b+32>>2];F[c+396>>2]=o;F[c+384>>2]=m;F[c+388>>2]=n;F[c+376>>2]=k;F[c+380>>2]=l;F[c+368>>2]=i;F[c+372>>2]=j;F[c+360>>2]=d;F[c+364>>2]=f;d=F[b+48>>2];f=F[b+52>>2];i=F[b+56>>2];j=F[b+60>>2];k=b- -64|0;l=F[k>>2];k=F[k+4>>2];m=F[b+40>>2];n=F[b+44>>2];o=F[b+76>>2];F[c+432>>2]=F[b+72>>2];F[c+436>>2]=o;F[c+424>>2]=l;F[c+428>>2]=k;F[c+416>>2]=i;F[c+420>>2]=j;F[c+408>>2]=d;F[c+412>>2]=f;F[c+400>>2]=m;F[c+404>>2]=n;d=F[b+88>>2];f=F[b+92>>2];i=F[b+96>>2];j=F[b+100>>2];k=F[b+104>>2];l=F[b+108>>2];m=F[b+80>>2];n=F[b+84>>2];o=F[b+116>>2];F[c+472>>2]=F[b+112>>2];F[c+476>>2]=o;F[c+464>>2]=k;F[c+468>>2]=l;F[c+456>>2]=i;F[c+460>>2]=j;F[c+448>>2]=d;F[c+452>>2]=f;F[c+440>>2]=m;F[c+444>>2]=n;d=c+128|0;f=c+360|0;Oa(d,f);ha(f,d,e);i=c+400|0;ha(i,g,h);j=c+440|0;ha(j,h,e);Oa(d,f);ha(f,d,e);ha(i,g,h);ha(j,h,e);Oa(d,f);ha(f,d,e);ha(i,g,h);ha(j,h,e);Oa(d,f);ha(b,d,e);ha(r,g,h);ha(q,h,e);ha(p,d,g);d=0;while(1){f=c+8|0;Rb(f,d>>>1|0,D[(c+288|0)+d|0]);b=c+128|0;nb(b,a,f);ha(a,b,e);ha(r,g,h);ha(q,h,e);ha(p,b,g);b=d>>>0<62;d=d+2|0;if(b){continue}break}_=c+480|0}function nb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0;e=F[b+44>>2];d=F[b+48>>2];g=F[b+52>>2];h=F[b+56>>2];i=F[b+60>>2];f=b- -64|0;j=F[f>>2];k=F[b+68>>2];l=F[b+72>>2];m=F[b+76>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];v=F[b+36>>2];F[a>>2]=F[b>>2]+F[b+40>>2];F[a+36>>2]=m+v;F[a+32>>2]=l+u;F[a+28>>2]=k+t;F[a+24>>2]=j+s;F[a+20>>2]=i+r;F[a+16>>2]=h+q;F[a+12>>2]=g+p;F[a+8>>2]=d+o;F[a+4>>2]=e+n;d=F[b+44>>2];g=F[b+48>>2];h=F[b+52>>2];i=F[b+56>>2];j=F[b+60>>2];f=F[f>>2];e=F[b+68>>2];k=F[b+72>>2];l=F[b>>2];m=F[b+40>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];F[a+76>>2]=F[b+76>>2]-F[b+36>>2];F[a+72>>2]=k-u;F[a+68>>2]=e-t;e=a- -64|0;F[e>>2]=f-s;F[a+60>>2]=j-r;F[a+56>>2]=i-q;F[a+52>>2]=h-p;F[a+48>>2]=g-o;F[a+44>>2]=d-n;F[a+40>>2]=m-l;ha(a+80|0,a,c);d=a+40|0;ha(d,d,c+40|0);ha(a+120|0,c+80|0,b+120|0);u=F[b+84>>2];v=F[b+88>>2];y=F[b+92>>2];z=F[b+96>>2];A=F[b+100>>2];B=F[b+104>>2];C=F[b+108>>2];D=F[b+112>>2];E=F[b+116>>2];c=F[a+44>>2];d=F[a+84>>2];g=F[a+48>>2];h=F[a+88>>2];i=F[a+52>>2];f=F[a+92>>2];j=F[a+56>>2];k=F[a+96>>2];l=F[a+60>>2];m=F[a+100>>2];n=F[e>>2];o=F[a+104>>2];p=F[a+68>>2];q=F[a+108>>2];r=F[a+72>>2];s=F[a+112>>2];G=F[b+80>>2];b=F[a+40>>2];t=F[a+80>>2];w=F[a+76>>2];x=F[a+116>>2];F[a+76>>2]=w+x;F[a+72>>2]=r+s;F[a+68>>2]=p+q;F[e>>2]=n+o;F[a+60>>2]=l+m;F[a+56>>2]=j+k;F[a+52>>2]=i+f;F[a+48>>2]=g+h;F[a+44>>2]=c+d;F[a+40>>2]=b+t;F[a+36>>2]=x-w;F[a+32>>2]=s-r;F[a+28>>2]=q-p;F[a+24>>2]=o-n;F[a+20>>2]=m-l;F[a+16>>2]=k-j;F[a+12>>2]=f-i;F[a+8>>2]=h-g;F[a+4>>2]=d-c;F[a>>2]=t-b;b=E<<1;c=F[a+156>>2];F[a+156>>2]=b-c;e=D<<1;d=F[a+152>>2];F[a+152>>2]=e-d;g=C<<1;h=F[a+148>>2];F[a+148>>2]=g-h;i=B<<1;f=F[a+144>>2];F[a+144>>2]=i-f;j=A<<1;k=F[a+140>>2];F[a+140>>2]=j-k;l=z<<1;m=F[a+136>>2];F[a+136>>2]=l-m;n=y<<1;o=F[a+132>>2];F[a+132>>2]=n-o;p=v<<1;q=F[a+128>>2];F[a+128>>2]=p-q;r=u<<1;s=F[a+124>>2];F[a+124>>2]=r-s;t=G<<1;u=F[a+120>>2];F[a+120>>2]=t-u;F[a+112>>2]=d+e;F[a+108>>2]=g+h;F[a+104>>2]=i+f;F[a+100>>2]=j+k;F[a+96>>2]=l+m;F[a+92>>2]=n+o;F[a+88>>2]=p+q;F[a+84>>2]=r+s;F[a+80>>2]=t+u;F[a+116>>2]=b+c}function Zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=b;b=F[b>>2]+7&-8;F[c>>2]=b+16;p=a;a=b;k=F[a>>2];b=F[a+4>>2];f=F[a+12>>2];n=f;h=_-32|0;_=h;c=f&2147483647;f=c;e=c-1006698496|0;d=c-1140785152|0;c=F[a+8>>2];j=c;a:{if((e|0)==(d|0)&c>>>0<c>>>0|e>>>0<d>>>0){f=c;c=n<<4|c>>>28;a=b;f=f<<4|a>>>28;a=a&268435455;b=a;if((a|0)==134217728&k>>>0>=1|a>>>0>134217728){a=c+1073741824|0;b=f+1|0;a=b>>>0<1?a+1|0:a;e=b;break a}e=f;a=c+1073741824|0;if(k|b^134217728){break a}c=a;b=f&1;f=b+e|0;e=f;a=b>>>0>e>>>0?c+1|0:c;break a}if(!(!j&(f|0)==2147418112?!(b|k):f>>>0<2147418112)){f=c;c=n<<4|c>>>28;e=f<<4|b>>>28;a=c&524287|2146959360;break a}e=0;a=2146435072;if(f>>>0>1140785151){break a}a=0;o=f>>>16|0;if(o>>>0<15249){break a}e=k;a=b;d=n&65535|65536;f=d;l=c;g=c;i=o-15233|0;b:{if(i&64){d=e;c=i+-64|0;e=c&31;if((c&63)>>>0>=32){a=d<<e;g=0}else{a=(1<<e)-1&d>>>32-e|a<<e;g=d<<e}d=a;e=0;a=0;break b}if(!i){break b}j=i;c=i;m=c&31;if((c&63)>>>0>=32){c=g<<m;g=0}else{c=(1<<m)-1&g>>>32-m|d<<m;g=g<<m}d=c;q=g;g=a;m=e;c=64-i|0;i=c&31;if((c&63)>>>0>=32){c=0;g=g>>>i|0}else{c=g>>>i|0;g=((1<<i)-1&g)<<32-i|m>>>i}g=q|g;d=c|d;i=j&31;if((j&63)>>>0>=32){c=e<<i;e=0}else{c=(1<<i)-1&e>>>32-i|a<<i;e=e<<i}a=c}F[h+16>>2]=e;F[h+20>>2]=a;F[h+24>>2]=g;F[h+28>>2]=d;c=15361-o|0;c:{if(c&64){b=l;a=c+-64|0;d=a&31;if((a&63)>>>0>=32){c=0;k=f>>>d|0}else{c=f>>>d|0;k=((1<<d)-1&f)<<32-d|b>>>d}b=c;l=0;f=0;break c}if(!c){break c}a=f;e=l;d=64-c|0;j=d&31;if((d&63)>>>0>=32){a=e<<j;e=0}else{a=(1<<j)-1&e>>>32-j|a<<j;e=e<<j}d=a;g=e;e=k;a=c;j=c&31;if((c&63)>>>0>=32){c=0;b=b>>>j|0}else{c=b>>>j|0;b=((1<<j)-1&b)<<32-j|e>>>j}k=g|b;b=c|d;c=l;d=a&31;if((a&63)>>>0>=32){a=0;l=f>>>d|0}else{a=f>>>d|0;l=((1<<d)-1&f)<<32-d|c>>>d}f=a}F[h>>2]=k;F[h+4>>2]=b;F[h+8>>2]=l;F[h+12>>2]=f;d=F[h+4>>2];b=F[h+8>>2];e=b<<4|d>>>28;a=F[h+12>>2]<<4|b>>>28;d=d&268435455;f=d;b=F[h>>2]|((F[h+16>>2]|F[h+24>>2])!=0|(F[h+20>>2]|F[h+28>>2])!=0);if((d|0)==134217728&b>>>0>=1|d>>>0>134217728){b=e+1|0;a=b>>>0<1?a+1|0:a;e=b;break a}if(b|f^134217728){break a}d=a;b=e+(e&1)|0;d=b>>>0<e>>>0?d+1|0:d;e=b;a=d}_=h+32|0;x(0,e|0);x(1,n&-2147483648|a);K[p>>3]=z()}function _b(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+3216|0;b=Xa(b,c,d,e,o);a:{b:{if((b|0)==-1){break b}g=a;n=_-16|0;_=n;q=b+d|0;f=q;b=ua(d,f,n+12|0);c:{if(!b){a=0;break c}a=0;d:{c=F[n+12>>2];if((c|0)!=1){if((c|0)!=-2147483647){break d}r=1}c=g+3220|0;if(!(!b|(b|0)==(f|0))){D[c|0]=G[b|0]!=0;l=b+1|0}if(!l){break c}b=Ra(l,f,g+3221|0);if(!b){break c}b=Ra(b,f,g+3253|0);if(!b){break c}b=Ra(b,f,g+3285|0);if(!b){break c}l=0;p=_-16|0;_=p;b=Sa(b,f,g+12|0,32);e:{if(!b){break e}h=g+44|0;j=_-16|0;_=j;c=ua(b,f,j+12|0);f:{if(!c){break f}m=h+4|0;k=h+104|0;while(1){b=F[j+12>>2];F[j+12>>2]=b-1;if(!b){a=c;break f}if((c|0)==(f|0)){a=c;break f}b=m;d=k;i=F[h>>2];if((d|0)!=(i|0)){d=i+100|0;F[h>>2]=d;b=i}d=d-100|0;if((d|0)!=(b|0)){while(1){i=d;d=d-100|0;ja(i,d,100);if((b|0)!=(d|0)){continue}break}}c=Ka(c,f,b);if(!c){break f}c=Sa(c,f,b+68|0,32);if(!c){break f}c=ua(c,f,b- -64|0);if(c){continue}break}}_=j+16|0;b=a;if(!b){break e}h=g+148|0;a=0;j=_-16|0;_=j;c=ua(b,f,j+12|0);g:{if(!c){break g}m=h+276|0;k=h+344|0;while(1){b=F[j+12>>2];F[j+12>>2]=b-1;if(!b){a=c;break g}if((c|0)==(f|0)){a=c;break g}b=m;d=k;i=F[h>>2];if((d|0)!=(i|0)){d=i+68|0;F[h>>2]=d;b=i}d=d-68|0;if((d|0)!=(b|0)){while(1){i=d;d=d-68|0;ja(i,d,68);if((b|0)!=(d|0)){continue}break}}c=Ra(c,f,b);if(!c){break g}c=Sa(c,f,b+36|0,32);if(!c){break g}c=ua(c,f,b+32|0);if(c){continue}break}}_=j+16|0;b=a;if(!b){break e}k=g+492|0;a=0;h=_-16|0;_=h;c=ua(b,f,h+12|0);h:{if(!c){break h}i=k+2656|0;m=k+2724|0;while(1){b=F[h+12>>2];F[h+12>>2]=b-1;if(!b){a=c;break h}if((c|0)==(f|0)){a=c;break h}b=i;d=m;g=F[k>>2];if((d|0)!=(g|0)){d=g+68|0;F[k>>2]=d;b=g}d=d-68|0;if((d|0)!=(b|0)){while(1){g=d;d=d-68|0;ja(g,d,68);if((b|0)!=(d|0)){continue}break}}c=Ra(c,f,b);if(!c){break h}c=Sa(c,f,b+36|0,32);if(!c){break h}c=ua(c,f,b+32|0);if(c){continue}break}}_=h+16|0;if(!a){break e}if(r){a=ua(a,f,p+12|0);if(!a){break e}}l=a}_=p+16|0;a=l;break c}F[g+3216>>2]=9}_=n+16|0;b=a;i:{if(!b){if(F[o>>2]){break b}a=10;break i}a=17;if((b|0)==(q|0)){break a}}F[o>>2]=a}e=-1}return e|0}function Ka(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!a){break a}d=a+32|0;if(d>>>0>b>>>0){break a}f=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);g=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c|0]=g;D[c+1|0]=g>>>8;D[c+2|0]=g>>>16;D[c+3|0]=g>>>24;D[c+4|0]=f;D[c+5|0]=f>>>8;D[c+6|0]=f>>>16;D[c+7|0]=f>>>24;f=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);g=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+24|0]=g;D[c+25|0]=g>>>8;D[c+26|0]=g>>>16;D[c+27|0]=g>>>24;D[c+28|0]=f;D[c+29|0]=f>>>8;D[c+30|0]=f>>>16;D[c+31|0]=f>>>24;f=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);g=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+16|0]=g;D[c+17|0]=g>>>8;D[c+18|0]=g>>>16;D[c+19|0]=g>>>24;D[c+20|0]=f;D[c+21|0]=f>>>8;D[c+22|0]=f>>>16;D[c+23|0]=f>>>24;f=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);g=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+8|0]=g;D[c+9|0]=g>>>8;D[c+10|0]=g>>>16;D[c+11|0]=g>>>24;D[c+12|0]=f;D[c+13|0]=f>>>8;D[c+14|0]=f>>>16;D[c+15|0]=f>>>24;a=a- -64|0;if(a>>>0>b>>>0){break a}e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);b=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[c+32|0]=b;D[c+33|0]=b>>>8;D[c+34|0]=b>>>16;D[c+35|0]=b>>>24;D[c+36|0]=e;D[c+37|0]=e>>>8;D[c+38|0]=e>>>16;D[c+39|0]=e>>>24;e=G[d+28|0]|G[d+29|0]<<8|(G[d+30|0]<<16|G[d+31|0]<<24);b=G[d+24|0]|G[d+25|0]<<8|(G[d+26|0]<<16|G[d+27|0]<<24);D[c+56|0]=b;D[c+57|0]=b>>>8;D[c+58|0]=b>>>16;D[c+59|0]=b>>>24;D[c+60|0]=e;D[c+61|0]=e>>>8;D[c+62|0]=e>>>16;D[c+63|0]=e>>>24;e=G[d+20|0]|G[d+21|0]<<8|(G[d+22|0]<<16|G[d+23|0]<<24);b=G[d+16|0]|G[d+17|0]<<8|(G[d+18|0]<<16|G[d+19|0]<<24);D[c+48|0]=b;D[c+49|0]=b>>>8;D[c+50|0]=b>>>16;D[c+51|0]=b>>>24;D[c+52|0]=e;D[c+53|0]=e>>>8;D[c+54|0]=e>>>16;D[c+55|0]=e>>>24;e=G[d+12|0]|G[d+13|0]<<8|(G[d+14|0]<<16|G[d+15|0]<<24);b=G[d+8|0]|G[d+9|0]<<8|(G[d+10|0]<<16|G[d+11|0]<<24);D[c+40|0]=b;D[c+41|0]=b>>>8;D[c+42|0]=b>>>16;D[c+43|0]=b>>>24;D[c+44|0]=e;D[c+45|0]=e>>>8;D[c+46|0]=e>>>16;D[c+47|0]=e>>>24;e=a}return e}function Cb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;F[d+4>>2]=0;F[d+8>>2]=0;D[d|0]=0;F[d+12>>2]=0;F[d+16>>2]=0;c=c- -64|0;if(c>>>0<b>>>0){D[d|0]=G[a|0];b=b-c|0;a:{if((b|0)==1){break a}g=a+b|0;a=a+1|0;while(1){c=a;if(G[a|0]==8){f=c+1|0;b=f;while(1){b:{if((b|0)==(g|0)){a=g;break b}e=D[b|0];a=b+1|0;b=a;if((e|0)<0){continue}}break}c:{if((a|0)==(f|0)){h=0;break c}i=a-f|0;e=i&3;h=0;b=a;if(b+(f^-1)>>>0>=3){f=i&-4;while(1){j=(G[b-2|0]&127|(h<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;h=j|G[b|0]&127;f=f-4|0;if(f){continue}break}}if(!e){break c}while(1){b=b-1|0;h=G[b|0]&127|h<<7;e=e-1|0;if(e){continue}break}}F[d+4>>2]=h;i=1}if((a|0)==(g|0)){break a}if(G[a|0]==18){f=a+1|0;b=f;while(1){d:{if((b|0)==(g|0)){e=g;break d}a=D[b|0];e=b+1|0;b=e;if((a|0)<0){continue}}break}e:{if((e|0)==(f|0)){a=0;break e}j=e-f|0;h=j&3;a=0;b=e;if(b+(f^-1)>>>0>=3){f=j&-4;while(1){a=(G[b-2|0]&127|(a<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;a=a|G[b|0]&127;f=f-4|0;if(f){continue}break}}if(h){while(1){b=b-1|0;a=G[b|0]&127|a<<7;h=h-1|0;if(h){continue}break}}if(g-e>>>0<a>>>0){break a}}F[d+16>>2]=a;F[d+12>>2]=e;a=a+e|0}f:{if((a|0)==(g|0)|(a|0)!=(c|0)){break f}g:{switch(G[c|0]&7){case 0:while(1){h:{if((c|0)==(g|0)){b=g;break h}a=D[c|0];b=c+1|0;c=b;if((a|0)<0){continue}}break};while(1){if((b|0)==(g|0)){a=g;break f}c=D[b|0];a=b+1|0;b=a;if((c|0)<=-1){continue}break};break f;case 2:break g;default:break a}}while(1){i:{if((c|0)==(g|0)){a=g;break i}b=D[c|0];a=c+1|0;c=a;if((b|0)<0){continue}}break}b=a;while(1){j:{if((b|0)==(g|0)){e=g;break j}c=D[b|0];e=b+1|0;b=e;if((c|0)<0){continue}}break}if((a|0)==(e|0)){break f}f=e-a|0;h=f&3;c=0;b=e;if(b+(a^-1)>>>0>=3){a=f&-4;while(1){c=(G[b-2|0]&127|(c<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;c=c|G[b|0]&127;a=a-4|0;if(a){continue}break}}if(h){while(1){b=b-1|0;c=G[b|0]&127|c<<7;h=h-1|0;if(h){continue}break}}if(g-e>>>0<c>>>0){break a}a=c+e|0}if((a|0)!=(g|0)){continue}break}}F[d+8>>2]=i}}function Pa(a,b){var c=0,d=0;c=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);d=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a|0]=d;D[a+1|0]=d>>>8;D[a+2|0]=d>>>16;D[a+3|0]=d>>>24;D[a+4|0]=c;D[a+5|0]=c>>>8;D[a+6|0]=c>>>16;D[a+7|0]=c>>>24;c=G[b+28|0]|G[b+29|0]<<8|(G[b+30|0]<<16|G[b+31|0]<<24);d=G[b+24|0]|G[b+25|0]<<8|(G[b+26|0]<<16|G[b+27|0]<<24);D[a+24|0]=d;D[a+25|0]=d>>>8;D[a+26|0]=d>>>16;D[a+27|0]=d>>>24;D[a+28|0]=c;D[a+29|0]=c>>>8;D[a+30|0]=c>>>16;D[a+31|0]=c>>>24;c=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);d=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);D[a+16|0]=d;D[a+17|0]=d>>>8;D[a+18|0]=d>>>16;D[a+19|0]=d>>>24;D[a+20|0]=c;D[a+21|0]=c>>>8;D[a+22|0]=c>>>16;D[a+23|0]=c>>>24;c=G[b+12|0]|G[b+13|0]<<8|(G[b+14|0]<<16|G[b+15|0]<<24);d=G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24);D[a+8|0]=d;D[a+9|0]=d>>>8;D[a+10|0]=d>>>16;D[a+11|0]=d>>>24;D[a+12|0]=c;D[a+13|0]=c>>>8;D[a+14|0]=c>>>16;D[a+15|0]=c>>>24;c=G[b+36|0]|G[b+37|0]<<8|(G[b+38|0]<<16|G[b+39|0]<<24);d=G[b+32|0]|G[b+33|0]<<8|(G[b+34|0]<<16|G[b+35|0]<<24);D[a+32|0]=d;D[a+33|0]=d>>>8;D[a+34|0]=d>>>16;D[a+35|0]=d>>>24;D[a+36|0]=c;D[a+37|0]=c>>>8;D[a+38|0]=c>>>16;D[a+39|0]=c>>>24;c=G[b+44|0]|G[b+45|0]<<8|(G[b+46|0]<<16|G[b+47|0]<<24);d=G[b+40|0]|G[b+41|0]<<8|(G[b+42|0]<<16|G[b+43|0]<<24);D[a+40|0]=d;D[a+41|0]=d>>>8;D[a+42|0]=d>>>16;D[a+43|0]=d>>>24;D[a+44|0]=c;D[a+45|0]=c>>>8;D[a+46|0]=c>>>16;D[a+47|0]=c>>>24;c=G[b+52|0]|G[b+53|0]<<8|(G[b+54|0]<<16|G[b+55|0]<<24);d=G[b+48|0]|G[b+49|0]<<8|(G[b+50|0]<<16|G[b+51|0]<<24);D[a+48|0]=d;D[a+49|0]=d>>>8;D[a+50|0]=d>>>16;D[a+51|0]=d>>>24;D[a+52|0]=c;D[a+53|0]=c>>>8;D[a+54|0]=c>>>16;D[a+55|0]=c>>>24;c=G[b+60|0]|G[b+61|0]<<8|(G[b+62|0]<<16|G[b+63|0]<<24);b=G[b+56|0]|G[b+57|0]<<8|(G[b+58|0]<<16|G[b+59|0]<<24);D[a+56|0]=b;D[a+57|0]=b>>>8;D[a+58|0]=b>>>16;D[a+59|0]=b>>>24;D[a+60|0]=c;D[a+61|0]=c>>>8;D[a+62|0]=c>>>16;D[a+63|0]=c>>>24;return a- -64|0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c>>>0<43){F[a+3216>>2]=2;return-1}c=_-96|0;_=c;d=a+3245|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+24>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+28>>2]=e;d=a+3237|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+16>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+20>>2]=e;d=G[a+3225|0]|G[a+3226|0]<<8|(G[a+3227|0]<<16|G[a+3228|0]<<24);F[c>>2]=G[a+3221|0]|G[a+3222|0]<<8|(G[a+3223|0]<<16|G[a+3224|0]<<24);F[c+4>>2]=d;d=a+3229|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+8>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+12>>2]=e;d=a+3261|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+40>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+44>>2]=e;d=a+3269|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+48>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+52>>2]=e;d=a+3277|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+56>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+60>>2]=e;d=G[a+3257|0]|G[a+3258|0]<<8|(G[a+3259|0]<<16|G[a+3260|0]<<24);F[c+32>>2]=G[a+3253|0]|G[a+3254|0]<<8|(G[a+3255|0]<<16|G[a+3256|0]<<24);F[c+36>>2]=d;d=a+3293|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+72>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+76>>2]=e;d=a+3301|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+80>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+84>>2]=e;d=a+3309|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+88>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+92>>2]=e;d=G[a+3289|0]|G[a+3290|0]<<8|(G[a+3291|0]<<16|G[a+3292|0]<<24);F[c+64>>2]=G[a+3285|0]|G[a+3286|0]<<8|(G[a+3287|0]<<16|G[a+3288|0]<<24);F[c+68>>2]=d;vb(c,96,b+11|0);_=c+96|0;na(b+11|0,32,b);return 43}function $b(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a+7516|0;b=Xa(b,c,d,e,l);a:{b:{if((b|0)==-1){break b}f=a;h=_-16|0;_=h;m=b+d|0;g=m;a=ua(d,g,h+12|0);c:{if(!a){break c}d:{switch(F[h+12>>2]-1|0){case 0:F[f+7516>>2]=13;break c;default:F[f+7516>>2]=9;break c;case 1:case 2:case 3:break d}}a=Qb(a,g,f);if(!a){break c}b=Ka(a,g,f+96|0);if(!b){break c}k=f+160|0;a=0;i=_-16|0;_=i;c=ua(b,g,i+12|0);e:{if(!c){break e}o=k+7132|0;p=k+7204|0;while(1){b=F[i+12>>2];F[i+12>>2]=b-1;if(!b){a=c;break e}if((c|0)==(g|0)){a=c;break e}b=o;d=p;j=F[k>>2];if((d|0)!=(j|0)){d=j+72|0;F[k>>2]=d;b=j}d=d-72|0;if((d|0)!=(b|0)){while(1){j=d;d=d-72|0;ja(j,d,72);if((b|0)!=(d|0)){continue}break}}d=ua(c,g,b);if(!d){break e}c=0;if(!(!d|(d|0)==(g|0))){D[b+4|0]=G[d|0]!=0;c=d+1|0}if(!c){break e}c=Ka(c,g,b+5|0);if(c){continue}break}}_=i+16|0;if(!a){break c}b=F[h+12>>2];f:{if(b>>>0<=2){D[f+7364|0]=0;break f}g:{if((b|0)==3){b=ua(a,g,f+7368|0);if(!b){break c}c=f+7372|0;d=c;a=0;if(!(!b|(b|0)==(g|0))){D[d|0]=G[b|0]!=0;a=b+1|0}if(!a){break c}a=Ka(a,g,f+7373|0);if(!a){break c}a=ua(a,g,f+7440|0);if(!a){break c}d=f+7444|0;b=0;if(!(!a|(a|0)==(g|0))){D[d|0]=G[a|0]!=0;b=a+1|0}if(!b){break c}a=Ka(b,g,f+7445|0);if(!a){break c}if(G[c|0]){if(!G[f+7444|0]){break g}D[f+7364|0]=2;break f}D[f+7364|0]=0;break f}c=f+7364|0;d=c;b=0;if(!a|(a|0)==(g|0)){a=b}else{D[d|0]=G[a|0];a=a+1|0}if(!a){break c}if(!G[c|0]){break f}a=Nb(a,g,f+7368|0);if(!a){break c}if(G[c|0]<2){break f}a=Nb(a,g,f+7440|0);if(!a){break c}if(G[c|0]<3){break f}F[f+7516>>2]=10;break c}D[f+7364|0]=1}n=ua(a,g,f+7512|0)}_=h+16|0;h:{if(!n){if(F[l>>2]){break b}a=10;break h}a=17;if((n|0)==(m|0)){break a}}F[l>>2]=a}e=-1}return e|0}function pb(a,b){var c=0,d=0,e=0;c=_-192|0;_=c;e=c+144|0;fa(e,b);d=c+96|0;fa(d,e);fa(d,d);ha(d,b,d);ha(e,e,d);b=c+48|0;fa(b,e);ha(d,d,b);fa(b,d);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(d,b,d);fa(b,d);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(b,b,d);fa(c,b);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);ha(b,c,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(d,b,d);fa(b,d);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(b,b,d);fa(c,b);b=1;while(1){fa(c,c);b=b+1|0;if((b|0)!=100){continue}break}b=c+48|0;ha(b,c,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);d=c+96|0;ha(d,b,d);fa(d,d);fa(d,d);fa(d,d);fa(d,d);fa(d,d);ha(a,d,c+144|0);_=c+192|0}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=_-240|0;_=d;e=oa(c);a:{if((e|0)!=229){c=-1;if((e|0)==-1){F[a+300>>2]=7;break a}F[a+300>>2]=11;break a}Ma(b,c,d);b:{if(G[d|0]==2){c=d|5;b=G[d+1|0]|G[d+2|0]<<8|(G[d+3|0]<<16|G[d+4|0]<<24);b=b<<24|b<<8&16711680|(b>>>8&65280|b>>>24);_a(a,c,b);_a(a+132|0,c,b);b=G[d+161|0]|G[d+162|0]<<8|(G[d+163|0]<<16|G[d+164|0]<<24);c=G[d+157|0]|G[d+158|0]<<8|(G[d+159|0]<<16|G[d+160|0]<<24);D[a+288|0]=c;D[a+289|0]=c>>>8;D[a+290|0]=c>>>16;D[a+291|0]=c>>>24;D[a+292|0]=b;D[a+293|0]=b>>>8;D[a+294|0]=b>>>16;D[a+295|0]=b>>>24;b=G[d+153|0]|G[d+154|0]<<8|(G[d+155|0]<<16|G[d+156|0]<<24);c=G[d+149|0]|G[d+150|0]<<8|(G[d+151|0]<<16|G[d+152|0]<<24);D[a+280|0]=c;D[a+281|0]=c>>>8;D[a+282|0]=c>>>16;D[a+283|0]=c>>>24;D[a+284|0]=b;D[a+285|0]=b>>>8;D[a+286|0]=b>>>16;D[a+287|0]=b>>>24;b=G[d+145|0]|G[d+146|0]<<8|(G[d+147|0]<<16|G[d+148|0]<<24);c=G[d+141|0]|G[d+142|0]<<8|(G[d+143|0]<<16|G[d+144|0]<<24);D[a+272|0]=c;D[a+273|0]=c>>>8;D[a+274|0]=c>>>16;D[a+275|0]=c>>>24;D[a+276|0]=b;D[a+277|0]=b>>>8;D[a+278|0]=b>>>16;D[a+279|0]=b>>>24;b=G[d+137|0]|G[d+138|0]<<8|(G[d+139|0]<<16|G[d+140|0]<<24);c=G[d+133|0]|G[d+134|0]<<8|(G[d+135|0]<<16|G[d+136|0]<<24);D[a+264|0]=c;D[a+265|0]=c>>>8;D[a+266|0]=c>>>16;D[a+267|0]=c>>>24;D[a+268|0]=b;D[a+269|0]=b>>>8;D[a+270|0]=b>>>16;D[a+271|0]=b>>>24;if(!fb(a+264|0,d,165,d+165|0)){F[a+300>>2]=14;c=-1;break b}F[a+296>>2]=1;c=0;break b}F[a+300>>2]=11;c=-1}ia(d,229)}_=d+240|0;return c|0}function gb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=_-336|0;_=g;i=b+32|0;m=i;h=32;c=_-208|0;_=c;e=c- -64|0;F[e>>2]=327033209;F[e+4>>2]=1541459225;F[c+56>>2]=-79577749;F[c+60>>2]=528734635;F[c+48>>2]=725511199;F[c+52>>2]=-1694144372;F[c+40>>2]=-1377402159;F[c+44>>2]=1359893119;F[c+32>>2]=1595750129;F[c+36>>2]=-1521486534;F[c+24>>2]=-23791573;F[c+28>>2]=1013904242;F[c+16>>2]=-2067093701;F[c+20>>2]=-1150833019;F[c+8>>2]=-205731576;F[c+12>>2]=1779033703;F[c>>2]=0;F[c+4>>2]=0;F[c+72>>2]=0;if(a){j=c+76|0;while(1){a:{if(!(h>>>0<128|d)){ta(c,a);d=F[c+4>>2];f=F[c>>2]+1024|0;d=f>>>0<1024?d+1|0:d;F[c>>2]=f;F[c+4>>2]=d;h=h-128|0;a=a+128|0;break a}e=128-d|0;f=e>>>0>h>>>0?h:e;b:{if(!f){break b}k=f&3;e=0;if(f-1>>>0>=3){l=f&-4;while(1){D[(e+d|0)+j|0]=G[a+e|0];d=e|1;D[(d+F[c+72>>2]|0)+j|0]=G[a+d|0];d=e|2;D[(d+F[c+72>>2]|0)+j|0]=G[a+d|0];d=e|3;D[(d+F[c+72>>2]|0)+j|0]=G[a+d|0];e=e+4|0;d=F[c+72>>2];l=l-4|0;if(l){continue}break}}if(!k){break b}while(1){D[(c+(e+d|0)|0)+76|0]=G[a+e|0];e=e+1|0;d=F[c+72>>2];k=k-1|0;if(k){continue}break}}h=h-f|0;a=a+f|0;e=d+f|0;F[c+72>>2]=e;if((e|0)!=128){break a}ta(c,j);F[c+72>>2]=0;d=F[c+4>>2];f=F[c>>2]+1024|0;d=f>>>0<1024?d+1|0:d;F[c>>2]=f;F[c+4>>2]=d}if(h){d=F[c+72>>2];continue}break}cb(c,m)}_=c+208|0;D[i|0]=G[i|0]&248;D[i+31|0]=G[i+31|0]&63|64;Tb(g,i);a=g+256|0;pb(a,g+80|0);c=g+208|0;ha(c,g,a);e=g+160|0;ha(e,g+40|0,a);Fa(b,e);Fa(g+304|0,c);D[b+31|0]=G[b+31|0]^G[g+304|0]<<7;_=g+336|0}function Ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=_-144|0;_=f;a:{if(c>>>0<220){F[a+300>>2]=2;a=-1;break a}b:{c:{if((d-F[a+260>>2]|0)>=0){c=a+132|0;bb(c,d);ja(f+8|0,c,132);break c}if((d-F[a+128>>2]|0)<0){break b}c=f+8|0;ja(c,a,132);bb(c,d)}c=b+55|0;D[c+1|0]=d>>>24;D[c|0]=1;D[c+4|0]=d;D[c+3|0]=d>>>8;D[c+2|0]=d>>>16;ja(c+5|0,f+8|0,128);d=G[a+292|0]|G[a+293|0]<<8|(G[a+294|0]<<16|G[a+295|0]<<24);e=G[a+288|0]|G[a+289|0]<<8|(G[a+290|0]<<16|G[a+291|0]<<24);D[c+157|0]=e;D[c+158|0]=e>>>8;D[c+159|0]=e>>>16;D[c+160|0]=e>>>24;D[c+161|0]=d;D[c+162|0]=d>>>8;D[c+163|0]=d>>>16;D[c+164|0]=d>>>24;d=G[a+284|0]|G[a+285|0]<<8|(G[a+286|0]<<16|G[a+287|0]<<24);e=G[a+280|0]|G[a+281|0]<<8|(G[a+282|0]<<16|G[a+283|0]<<24);D[c+149|0]=e;D[c+150|0]=e>>>8;D[c+151|0]=e>>>16;D[c+152|0]=e>>>24;D[c+153|0]=d;D[c+154|0]=d>>>8;D[c+155|0]=d>>>16;D[c+156|0]=d>>>24;d=G[a+276|0]|G[a+277|0]<<8|(G[a+278|0]<<16|G[a+279|0]<<24);e=G[a+272|0]|G[a+273|0]<<8|(G[a+274|0]<<16|G[a+275|0]<<24);D[c+141|0]=e;D[c+142|0]=e>>>8;D[c+143|0]=e>>>16;D[c+144|0]=e>>>24;D[c+145|0]=d;D[c+146|0]=d>>>8;D[c+147|0]=d>>>16;D[c+148|0]=d>>>24;d=G[a+268|0]|G[a+269|0]<<8|(G[a+270|0]<<16|G[a+271|0]<<24);a=G[a+264|0]|G[a+265|0]<<8|(G[a+266|0]<<16|G[a+267|0]<<24);D[c+133|0]=a;D[c+134|0]=a>>>8;D[c+135|0]=a>>>16;D[c+136|0]=a>>>24;D[c+137|0]=d;D[c+138|0]=d>>>8;D[c+139|0]=d>>>16;D[c+140|0]=d>>>24;a=Ca(c,165,b);break a}F[a+300>>2]=12;a=-1}_=f+144|0;return a|0}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=_-176|0;_=d;e=oa(c);a:{if((e|0)!=165){c=-1;if((e|0)==-1){F[a+300>>2]=7;break a}F[a+300>>2]=11;break a}Ma(b,c,d);b:{if(G[d|0]==1){c=d|5;b=G[d+1|0]|G[d+2|0]<<8|(G[d+3|0]<<16|G[d+4|0]<<24);b=b<<24|b<<8&16711680|(b>>>8&65280|b>>>24);_a(a,c,b);_a(a+132|0,c,b);b=G[d+161|0]|G[d+162|0]<<8|(G[d+163|0]<<16|G[d+164|0]<<24);c=G[d+157|0]|G[d+158|0]<<8|(G[d+159|0]<<16|G[d+160|0]<<24);D[a+288|0]=c;D[a+289|0]=c>>>8;D[a+290|0]=c>>>16;D[a+291|0]=c>>>24;D[a+292|0]=b;D[a+293|0]=b>>>8;D[a+294|0]=b>>>16;D[a+295|0]=b>>>24;b=G[d+153|0]|G[d+154|0]<<8|(G[d+155|0]<<16|G[d+156|0]<<24);c=G[d+149|0]|G[d+150|0]<<8|(G[d+151|0]<<16|G[d+152|0]<<24);D[a+280|0]=c;D[a+281|0]=c>>>8;D[a+282|0]=c>>>16;D[a+283|0]=c>>>24;D[a+284|0]=b;D[a+285|0]=b>>>8;D[a+286|0]=b>>>16;D[a+287|0]=b>>>24;b=G[d+145|0]|G[d+146|0]<<8|(G[d+147|0]<<16|G[d+148|0]<<24);c=G[d+141|0]|G[d+142|0]<<8|(G[d+143|0]<<16|G[d+144|0]<<24);D[a+272|0]=c;D[a+273|0]=c>>>8;D[a+274|0]=c>>>16;D[a+275|0]=c>>>24;D[a+276|0]=b;D[a+277|0]=b>>>8;D[a+278|0]=b>>>16;D[a+279|0]=b>>>24;b=G[d+137|0]|G[d+138|0]<<8|(G[d+139|0]<<16|G[d+140|0]<<24);c=G[d+133|0]|G[d+134|0]<<8|(G[d+135|0]<<16|G[d+136|0]<<24);D[a+264|0]=c;D[a+265|0]=c>>>8;D[a+266|0]=c>>>16;D[a+267|0]=c>>>24;D[a+268|0]=b;D[a+269|0]=b>>>8;D[a+270|0]=b>>>16;D[a+271|0]=b>>>24;c=0;break b}F[a+300>>2]=11;c=-1}ia(d,165)}_=d+176|0;return c|0}function xa(a){var b=0,c=0,d=0,e=0;b=L(G[a+12|0],6);c=L(G[a+8|0],6);d=L(G[a+4|0],6);e=L(G[a|0],6);D[a+12|0]=G[b+34389|0]^(G[c+34386|0]^(G[d+34388|0]^G[e+34387|0]));D[a+8|0]=G[b+34387|0]^(G[c+34389|0]^(G[d+34386|0]^G[e+34388|0]));D[a+4|0]=G[b+34388|0]^(G[c+34387|0]^(G[d+34389|0]^G[e+34386|0]));D[a|0]=G[b+34386|0]^(G[c+34388|0]^(G[d+34387|0]^G[e+34389|0]));b=L(G[a+13|0],6);c=L(G[a+9|0],6);d=L(G[a+5|0],6);e=L(G[a+1|0],6);D[a+1|0]=G[b+34386|0]^(G[c+34388|0]^(G[d+34387|0]^G[e+34389|0]));D[a+5|0]=G[b+34388|0]^(G[c+34387|0]^(G[d+34389|0]^G[e+34386|0]));D[a+9|0]=G[b+34387|0]^(G[c+34389|0]^(G[d+34386|0]^G[e+34388|0]));D[a+13|0]=G[b+34389|0]^(G[c+34386|0]^(G[d+34388|0]^G[e+34387|0]));b=L(G[a+14|0],6);c=L(G[a+10|0],6);d=L(G[a+6|0],6);e=L(G[a+2|0],6);D[a+2|0]=G[b+34386|0]^(G[c+34388|0]^(G[d+34387|0]^G[e+34389|0]));D[a+14|0]=G[b+34389|0]^(G[c+34386|0]^(G[d+34388|0]^G[e+34387|0]));D[a+10|0]=G[b+34387|0]^(G[c+34389|0]^(G[d+34386|0]^G[e+34388|0]));D[a+6|0]=G[b+34388|0]^(G[c+34387|0]^(G[d+34389|0]^G[e+34386|0]));b=L(G[a+15|0],6);c=L(G[a+11|0],6);d=L(G[a+7|0],6);e=L(G[a+3|0],6);D[a+15|0]=G[b+34389|0]^(G[c+34386|0]^(G[d+34388|0]^G[e+34387|0]));D[a+11|0]=G[b+34387|0]^(G[c+34389|0]^(G[d+34386|0]^G[e+34388|0]));D[a+7|0]=G[b+34388|0]^(G[c+34387|0]^(G[d+34389|0]^G[e+34386|0]));D[a+3|0]=G[b+34386|0]^(G[c+34388|0]^(G[d+34387|0]^G[e+34389|0]))}function Ba(a,b){var c=0,d=0,e=0;d=F[a+64>>2];D[d+a|0]=128;c=d+1|0;a:{if(d>>>0<=55){if(c>>>0>55){break a}ra(a+c|0,0,55-d|0);break a}if(c>>>0<=63){ra(a+c|0,0,63-d|0)}jb(a,a);F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0}c=F[a+76>>2];e=F[a+64>>2]<<3;d=e+F[a+72>>2]|0;c=d>>>0<e>>>0?c+1|0:c;F[a+72>>2]=d;F[a+76>>2]=c;D[a+63|0]=d;D[a+62|0]=(c&255)<<24|d>>>8;D[a+61|0]=(c&65535)<<16|d>>>16;D[a+60|0]=(c&16777215)<<8|d>>>24;D[a+59|0]=c;D[a+58|0]=c>>>8;D[a+57|0]=c>>>16;D[a+56|0]=c>>>24;jb(a,a);D[b|0]=G[a+83|0];D[b+4|0]=G[a+87|0];D[b+8|0]=G[a+91|0];D[b+12|0]=G[a+95|0];D[b+16|0]=G[a+99|0];D[b+20|0]=G[a+103|0];D[b+24|0]=G[a+107|0];D[b+28|0]=G[a+111|0];D[b+1|0]=H[a+82>>1];D[b+5|0]=H[a+86>>1];D[b+9|0]=H[a+90>>1];D[b+13|0]=H[a+94>>1];D[b+17|0]=H[a+98>>1];D[b+21|0]=H[a+102>>1];D[b+25|0]=H[a+106>>1];D[b+29|0]=H[a+110>>1];D[b+2|0]=F[a+80>>2]>>>8;D[b+6|0]=F[a+84>>2]>>>8;D[b+10|0]=F[a+88>>2]>>>8;D[b+14|0]=F[a+92>>2]>>>8;D[b+18|0]=F[a+96>>2]>>>8;D[b+22|0]=F[a+100>>2]>>>8;D[b+26|0]=F[a+104>>2]>>>8;D[b+30|0]=F[a+108>>2]>>>8;D[b+3|0]=F[a+80>>2];D[b+7|0]=F[a+84>>2];D[b+11|0]=F[a+88>>2];D[b+15|0]=F[a+92>>2];D[b+19|0]=F[a+96>>2];D[b+23|0]=F[a+100>>2];D[b+27|0]=F[a+104>>2];D[b+31|0]=F[a+108>>2]}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c>>>0<306){F[a+228>>2]=2;return-1}c=b+77|0;D[c|0]=2;d=F[a+128>>2];d=d<<24|d<<8&16711680|(d>>>8&65280|d>>>24);D[c+1|0]=d;D[c+2|0]=d>>>8;D[c+3|0]=d>>>16;D[c+4|0]=d>>>24;ja(c+5|0,a,128);d=G[a+160|0]|G[a+161|0]<<8|(G[a+162|0]<<16|G[a+163|0]<<24);e=G[a+156|0]|G[a+157|0]<<8|(G[a+158|0]<<16|G[a+159|0]<<24);D[c+157|0]=e;D[c+158|0]=e>>>8;D[c+159|0]=e>>>16;D[c+160|0]=e>>>24;D[c+161|0]=d;D[c+162|0]=d>>>8;D[c+163|0]=d>>>16;D[c+164|0]=d>>>24;d=G[a+152|0]|G[a+153|0]<<8|(G[a+154|0]<<16|G[a+155|0]<<24);e=G[a+148|0]|G[a+149|0]<<8|(G[a+150|0]<<16|G[a+151|0]<<24);D[c+149|0]=e;D[c+150|0]=e>>>8;D[c+151|0]=e>>>16;D[c+152|0]=e>>>24;D[c+153|0]=d;D[c+154|0]=d>>>8;D[c+155|0]=d>>>16;D[c+156|0]=d>>>24;d=G[a+144|0]|G[a+145|0]<<8|(G[a+146|0]<<16|G[a+147|0]<<24);e=G[a+140|0]|G[a+141|0]<<8|(G[a+142|0]<<16|G[a+143|0]<<24);D[c+141|0]=e;D[c+142|0]=e>>>8;D[c+143|0]=e>>>16;D[c+144|0]=e>>>24;D[c+145|0]=d;D[c+146|0]=d>>>8;D[c+147|0]=d>>>16;D[c+148|0]=d>>>24;d=G[a+136|0]|G[a+137|0]<<8|(G[a+138|0]<<16|G[a+139|0]<<24);e=G[a+132|0]|G[a+133|0]<<8|(G[a+134|0]<<16|G[a+135|0]<<24);D[c+133|0]=e;D[c+134|0]=e>>>8;D[c+135|0]=e>>>16;D[c+136|0]=e>>>24;D[c+137|0]=d;D[c+138|0]=d>>>8;D[c+139|0]=d>>>16;D[c+140|0]=d>>>24;$a(a+132|0,c,165,c+165|0);return Ca(c,229,b)|0}function Kb(a,b){var c=0,d=0;c=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[b>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);F[b+4>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);F[b+8>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);F[b+12>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);F[b+16>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);F[b+20>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);F[b+24>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);a=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);F[b+28>>2]=a<<24|a<<8&16711680|(a>>>8&65280|a>>>24);c=F[b+28>>2];a=8;while(1){d=a&7;a:{if(!d){d=F[(a-1>>>3<<2)+34064>>2];c=se(c,8);c=d^(G[(c>>>8&255)+33808|0]<<8|G[(c&255)+33808|0]|G[(c>>>16&255)+33808|0]<<16|G[(c>>>24|0)+33808|0]<<24);break a}if((d|0)!=4){break a}c=G[(c&255)+33808|0]|G[(c>>>8&255)+33808|0]<<8|G[(c>>>16&255)+33808|0]<<16|G[(c>>>24|0)+33808|0]<<24}c=F[(a-8<<2)+b>>2]^c;F[(a<<2)+b>>2]=c;a=a+1|0;if((a|0)!=60){continue}break}}function Ga(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=F[b+44>>2];e=F[b+48>>2];f=F[b+52>>2];g=F[b+56>>2];h=F[b+60>>2];c=b- -64|0;i=F[c>>2];j=F[b+68>>2];k=F[b+72>>2];l=F[b+76>>2];m=F[b+4>>2];n=F[b+8>>2];o=F[b+12>>2];p=F[b+16>>2];q=F[b+20>>2];r=F[b+24>>2];s=F[b+28>>2];t=F[b+32>>2];u=F[b+36>>2];F[a>>2]=F[b>>2]+F[b+40>>2];F[a+36>>2]=l+u;F[a+32>>2]=k+t;F[a+28>>2]=j+s;F[a+24>>2]=i+r;F[a+20>>2]=h+q;F[a+16>>2]=g+p;F[a+12>>2]=f+o;F[a+8>>2]=e+n;F[a+4>>2]=d+m;d=F[b+44>>2];e=F[b+48>>2];f=F[b+52>>2];g=F[b+56>>2];h=F[b+60>>2];c=F[c>>2];i=F[b+68>>2];j=F[b+72>>2];k=F[b>>2];l=F[b+40>>2];m=F[b+4>>2];n=F[b+8>>2];o=F[b+12>>2];p=F[b+16>>2];q=F[b+20>>2];r=F[b+24>>2];s=F[b+28>>2];t=F[b+32>>2];F[a+76>>2]=F[b+76>>2]-F[b+36>>2];F[a+72>>2]=j-t;F[a+68>>2]=i-s;F[a- -64>>2]=c-r;F[a+60>>2]=h-q;F[a+56>>2]=g-p;F[a+52>>2]=f-o;F[a+48>>2]=e-n;F[a+44>>2]=d-m;F[a+40>>2]=l-k;d=F[b+88>>2];e=F[b+92>>2];f=F[b+96>>2];g=F[b+100>>2];h=F[b+104>>2];c=F[b+108>>2];i=F[b+80>>2];j=F[b+84>>2];k=F[b+116>>2];F[a+112>>2]=F[b+112>>2];F[a+116>>2]=k;F[a+104>>2]=h;F[a+108>>2]=c;F[a+96>>2]=f;F[a+100>>2]=g;F[a+88>>2]=d;F[a+92>>2]=e;F[a+80>>2]=i;F[a+84>>2]=j;ha(a+120|0,b+120|0,2032)}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=_-16|0;_=g;a:{b:{e=a+164|0;h=F[a+160>>2];if((e|0)==(h|0)){break b}i=1;d=e;while(1){if(G[d+4|0]){d=d+72|0;if((h|0)!=(d|0)){continue}d=16;if(!i){break a}break b}f=f+55|0;i=0;d=d+72|0;if((h|0)!=(d|0)){continue}break}d=16;break a}d=17}c:{if(d+f>>>0>c>>>0){F[a+7516>>2]=2;a=-1;break c}f=123;D[b|0]=123;d=G[1687]|G[1688]<<8|(G[1689]<<16|G[1690]<<24);c=G[1683]|G[1684]<<8|(G[1685]<<16|G[1686]<<24);D[b+6|0]=c;D[b+7|0]=c>>>8;D[b+8|0]=c>>>16;D[b+9|0]=c>>>24;D[b+10|0]=d;D[b+11|0]=d>>>8;D[b+12|0]=d>>>16;D[b+13|0]=d>>>24;c=G[1682]|G[1683]<<8|(G[1684]<<16|G[1685]<<24);d=G[1678]|G[1679]<<8|(G[1680]<<16|G[1681]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;d=b+14|0;c=F[a+160>>2];d:{if((c|0)!=(e|0)){while(1){if(!G[e+4|0]){D[d+1|0]=34;D[d|0]=f;a=g+12|0;la(a,F[e>>2]);a=na(a,4,d+2|0);D[a+2|0]=34;D[a|0]=34;D[a+1|0]=58;a=na(e+5|0,32,a+3|0);D[a|0]=34;f=44;d=a+1|0}e=e+72|0;if((c|0)!=(e|0)){continue}break}if((f&255)==44){break d}}D[d|0]=f;d=d+1|0}D[d|0]=125;D[d+1|0]=125;a=(d-b|0)+2|0}_=g+16|0;return a|0}function dd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=_-16|0;_=l;f=F[9380];g=aa[F[F[f>>2]+4>>2]](f,c)|0;f=F[9380];f=aa[F[F[f>>2]>>2]](f)|0;m=Db(F[a+128>>2],g,f);f=m+2|0;g=(f>>>0)/3|0;a:{if(((f-L(g,3)|0)+(g<<2)|0)-2>>>0>e>>>0){F[a+228>>2]=2;e=-1;break a}e=F[9380];k=aa[F[F[e>>2]+4>>2]](e,c)|0;e=F[9380];n=aa[F[F[e>>2]>>2]](e)|0;g=F[a+128>>2];e=k;f=m+2|0;i=(f>>>0)/3|0;j=((((f-L(i,3)|0)+(i<<2)|0)-2|0)+d|0)-m|0;o=j;D[j+1|0]=8;D[j|0]=3;h=j+2|0;b:{if(g>>>0<128){f=g;break b}while(1){D[h|0]=g|128;h=h+1|0;i=g>>>0>16383;f=g>>>7|0;g=f;if(i){continue}break}}D[h+1|0]=18;D[h|0]=f;h=h+2|0;c:{if(e>>>0<128){f=e;break c}g=e;while(1){D[h|0]=g|128;h=h+1|0;i=g>>>0>16383;f=g>>>7|0;g=f;if(i){continue}break}}D[h|0]=f;g=h+1|0;F[l+12>>2]=g;f=F[9380];i=k;k=((e+g|0)-o|0)+n|0;e=-1;if((aa[F[F[f>>2]+8>>2]](f,a,128,b,c,F[l+12>>2],i,j,k)|0)==-1){break a}g=0;c=F[a+128>>2]+1|0;F[a+128>>2]=c;d:{if(!(c&16777215)){c=a;b=3;break d}g=c&65535?c&255?3:2:1;c=(g<<5)+a|0;b=3}while(1){ka(c,32,b+37524|0,1,(b<<5)+a|0);e=b>>>0>g>>>0;b=b-1|0;if(e){continue}break}$a(a+132|0,j,k,j+k|0);e=Ca(j,m,d)}i=e;_=l+16|0;return i|0}function Hd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a+264|0;g=a+132|0;if(Da(301)>>>0>e>>>0){F[a+300>>2]=2;return-1}e=mb(g,mb(a,la(Za(d,301),2)));h=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);g=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=g;D[e+1|0]=g>>>8;D[e+2|0]=g>>>16;D[e+3|0]=g>>>24;D[e+4|0]=h;D[e+5|0]=h>>>8;D[e+6|0]=h>>>16;D[e+7|0]=h>>>24;h=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);g=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=g;D[e+25|0]=g>>>8;D[e+26|0]=g>>>16;D[e+27|0]=g>>>24;D[e+28|0]=h;D[e+29|0]=h>>>8;D[e+30|0]=h>>>16;D[e+31|0]=h>>>24;h=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);g=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=g;D[e+17|0]=g>>>8;D[e+18|0]=g>>>16;D[e+19|0]=g>>>24;D[e+20|0]=h;D[e+21|0]=h>>>8;D[e+22|0]=h>>>16;D[e+23|0]=h>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;D[e+32|0]=F[a+296>>2]!=0;return Ya(b,c,d,301)|0}function ja(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){Y(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if((c|0)<1){c=a;break b}c=a;while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0<e>>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0<c>>>0){break c}while(1){F[c>>2]=F[b>>2];F[c+4>>2]=F[b+4>>2];F[c+8>>2]=F[b+8>>2];F[c+12>>2]=F[b+12>>2];F[c+16>>2]=F[b+16>>2];F[c+20>>2]=F[b+20>>2];F[c+24>>2]=F[b+24>>2];F[c+28>>2]=F[b+28>>2];F[c+32>>2]=F[b+32>>2];F[c+36>>2]=F[b+36>>2];F[c+40>>2]=F[b+40>>2];F[c+44>>2]=F[b+44>>2];F[c+48>>2]=F[b+48>>2];F[c+52>>2]=F[b+52>>2];F[c+56>>2]=F[b+56>>2];F[c+60>>2]=F[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){F[c>>2]=F[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0<a>>>0){c=a;break a}c=a;while(1){D[c|0]=G[b|0];D[c+1|0]=G[b+1|0];D[c+2|0]=G[b+2|0];D[c+3|0]=G[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0<e>>>0){while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function bb(a,b){var c=0,d=0,e=0;a:{b:{c:{d:{e=F[a+128>>2];c=(b>>>24)-(e>>>24)&255;switch(c|0){case 1:break b;case 0:break d;default:break c}}c=256;if(b>>>0>=e>>>0){break a}}while(1){ka(a,32,37524,1,a);c=c-1|0;if(c>>>0>1){continue}break}}ka(a,32,37527,1,a+96|0);ka(a,32,37526,1,a- -64|0);ka(a,32,37525,1,a+32|0);ka(a,32,37524,1,a);e=b&-16777216;F[a+128>>2]=e}d=(b>>>16)-(e>>>16)&255;e:{f:{g:{if(!d){if(b>>>0>=e>>>0){break e}c=a+32|0;d=256;break g}c=a+32|0;if((d|0)==1){break f}}while(1){ka(c,32,37525,1,c);d=d-1|0;if(d>>>0>1){continue}break}}ka(c,32,37527,1,a+96|0);ka(c,32,37526,1,a- -64|0);ka(c,32,37525,1,c);e=b&-65536;F[a+128>>2]=e}d=(b>>>8)-(e>>>8)&255;h:{i:{j:{if(!d){if(b>>>0>=e>>>0){break h}c=a- -64|0;d=256;break j}c=a- -64|0;if((d|0)==1){break i}}while(1){ka(c,32,37526,1,c);d=d-1|0;if(d>>>0>1){continue}break}}ka(c,32,37527,1,a+96|0);ka(c,32,37526,1,c);e=b&-256;F[a+128>>2]=e}d=b-e&255;k:{l:{m:{if(!d){if(b>>>0>=e>>>0){break k}c=a+96|0;d=256;break m}c=a+96|0;if((d|0)==1){break l}}while(1){ka(c,32,37527,1,c);d=d-1|0;if(d>>>0>1){continue}break}}ka(c,32,37527,1,c);F[a+128>>2]=b}}function Fa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=F[b>>2];e=c;g=F[b+36>>2];h=F[b+32>>2];i=F[b+28>>2];j=F[b+24>>2];k=F[b+20>>2];l=F[b+16>>2];f=F[b+12>>2];d=F[b+8>>2];m=(L(g,19)+16777216>>25)+c>>26;c=F[b+4>>2];b=e+L(g+(h+(i+(j+(k+(l+(f+(d+(m+c>>25)>>26)>>25)>>26)>>25)>>26)>>25)>>26)>>25,19)|0;D[a|0]=b;D[a+2|0]=b>>>16;D[a+1|0]=b>>>8;c=c+(b>>26)|0;D[a+5|0]=c>>>14;D[a+4|0]=c>>>6;d=d+(c>>25)|0;D[a+8|0]=d>>>13;D[a+7|0]=d>>>5;e=b>>>24&3;b=c&33554431;D[a+3|0]=e|b<<2;c=(d>>26)+f|0;D[a+11|0]=c>>>11;D[a+10|0]=c>>>3;d=d&67108863;D[a+6|0]=d<<3|b>>>22;b=l+(c>>25)|0;D[a+15|0]=b>>>18;D[a+14|0]=b>>>10;D[a+13|0]=b>>>2;f=c&33554431;D[a+9|0]=f<<5|d>>>21;c=(b>>26)+k|0;D[a+16|0]=c;D[a+12|0]=b<<6|f>>>19;D[a+18|0]=c>>>16;D[a+17|0]=c>>>8;b=(c>>25)+j|0;D[a+21|0]=b>>>15;D[a+20|0]=b>>>7;d=(b>>26)+i|0;D[a+24|0]=d>>>13;D[a+23|0]=d>>>5;e=c>>>24&1;c=b&67108863;D[a+19|0]=e|c<<1;b=(d>>25)+h|0;D[a+27|0]=b>>>12;D[a+26|0]=b>>>4;d=d&33554431;D[a+22|0]=d<<3|c>>>23;c=(b>>26)+g|0;D[a+30|0]=c>>>10;D[a+29|0]=c>>>2;b=b&67108863;D[a+25|0]=b<<4|d>>>21;c=c&33554431;D[a+31|0]=c>>>18;D[a+28|0]=c<<6|b>>>20}function ya(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=G[a+12|0];c=L(e,6);g=G[a|0];f=L(g,6);d=G[a+8|0];b=G[a+4|0];D[a+12|0]=G[c+34384|0]^(G[f+34385|0]^(d^b));h=L(d,6);D[a+8|0]=G[c+34385|0]^(G[h+34384|0]^(b^g));i=L(b,6);D[a|0]=G[i+34385|0]^(G[f+34384|0]^(d^e));d=G[a+5|0];j=L(d,6);b=G[a+1|0];k=L(b,6);c=G[a+13|0];f=G[a+9|0];D[a+1|0]=G[j+34385|0]^(G[k+34384|0]^(c^f));l=L(c,6);D[a+13|0]=G[l+34384|0]^(G[k+34385|0]^(d^f));D[a+4|0]=G[h+34385|0]^(e^(g^G[i+34384|0]));e=L(f,6);D[a+9|0]=G[l+34385|0]^(G[e+34384|0]^(b^d));D[a+5|0]=G[e+34385|0]^(c^(b^G[j+34384|0]));e=G[a+6|0];c=L(e,6);g=G[a+2|0];f=L(g,6);d=G[a+14|0];b=G[a+10|0];D[a+2|0]=G[c+34385|0]^(G[f+34384|0]^(d^b));h=L(d,6);D[a+14|0]=G[h+34384|0]^(G[f+34385|0]^(b^e));b=L(b,6);D[a+10|0]=G[h+34385|0]^(G[b+34384|0]^(e^g));D[a+6|0]=G[b+34385|0]^(d^(g^G[c+34384|0]));e=G[a+15|0];c=L(e,6);g=G[a+3|0];f=L(g,6);d=G[a+11|0];b=G[a+7|0];D[a+15|0]=G[c+34384|0]^(G[f+34385|0]^(d^b));h=G[c+34385|0];c=L(d,6);D[a+11|0]=h^(G[c+34384|0]^(b^g));b=L(b,6);D[a+3|0]=G[b+34385|0]^(G[f+34384|0]^(d^e));D[a+7|0]=G[c+34385|0]^(e^(g^G[b+34384|0]))}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c>>>0<=31){F[a>>2]=2;return-1}c=G[a+64|0]|G[a+65|0]<<8|(G[a+66|0]<<16|G[a+67|0]<<24);d=G[a+60|0]|G[a+61|0]<<8|(G[a+62|0]<<16|G[a+63|0]<<24);D[b+24|0]=d;D[b+25|0]=d>>>8;D[b+26|0]=d>>>16;D[b+27|0]=d>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[a+56|0]|G[a+57|0]<<8|(G[a+58|0]<<16|G[a+59|0]<<24);d=G[a+52|0]|G[a+53|0]<<8|(G[a+54|0]<<16|G[a+55|0]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[a+48|0]|G[a+49|0]<<8|(G[a+50|0]<<16|G[a+51|0]<<24);d=G[a+44|0]|G[a+45|0]<<8|(G[a+46|0]<<16|G[a+47|0]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[a+40|0]|G[a+41|0]<<8|(G[a+42|0]<<16|G[a+43|0]<<24);a=G[a+36|0]|G[a+37|0]<<8|(G[a+38|0]<<16|G[a+39|0]<<24);D[b|0]=a;D[b+1|0]=a>>>8;D[b+2|0]=a>>>16;D[b+3|0]=a>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;return 32}function Ra(a,b,c){var d=0,e=0;a:{if(!a){break a}e=b;b=a+32|0;if(e>>>0<b>>>0){break a}d=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);e=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c|0]=e;D[c+1|0]=e>>>8;D[c+2|0]=e>>>16;D[c+3|0]=e>>>24;D[c+4|0]=d;D[c+5|0]=d>>>8;D[c+6|0]=d>>>16;D[c+7|0]=d>>>24;d=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);e=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+24|0]=e;D[c+25|0]=e>>>8;D[c+26|0]=e>>>16;D[c+27|0]=e>>>24;D[c+28|0]=d;D[c+29|0]=d>>>8;D[c+30|0]=d>>>16;D[c+31|0]=d>>>24;d=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);e=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+16|0]=e;D[c+17|0]=e>>>8;D[c+18|0]=e>>>16;D[c+19|0]=e>>>24;D[c+20|0]=d;D[c+21|0]=d>>>8;D[c+22|0]=d>>>16;D[c+23|0]=d>>>24;d=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+8|0]=a;D[c+9|0]=a>>>8;D[c+10|0]=a>>>16;D[c+11|0]=a>>>24;D[c+12|0]=d;D[c+13|0]=d>>>8;D[c+14|0]=d>>>16;D[c+15|0]=d>>>24;d=b}return d}function Ea(a,b){var c=0,d=0;c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);d=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[b+32|0]=d;D[b+33|0]=d>>>8;D[b+34|0]=d>>>16;D[b+35|0]=d>>>24;D[b+36|0]=c;D[b+37|0]=c>>>8;D[b+38|0]=c>>>16;D[b+39|0]=c>>>24;c=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);d=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[b+56|0]=d;D[b+57|0]=d>>>8;D[b+58|0]=d>>>16;D[b+59|0]=d>>>24;D[b+60|0]=c;D[b+61|0]=c>>>8;D[b+62|0]=c>>>16;D[b+63|0]=c>>>24;c=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);d=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[b+48|0]=d;D[b+49|0]=d>>>8;D[b+50|0]=d>>>16;D[b+51|0]=d>>>24;D[b+52|0]=c;D[b+53|0]=c>>>8;D[b+54|0]=c>>>16;D[b+55|0]=c>>>24;c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[b+40|0]=a;D[b+41|0]=a>>>8;D[b+42|0]=a>>>16;D[b+43|0]=a>>>24;D[b+44|0]=c;D[b+45|0]=c>>>8;D[b+46|0]=c>>>16;D[b+47|0]=c>>>24;Jb(b,b+32|0,1856)}function jb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=_-256|0;_=f;while(1){F[(d<<2)+f>>2]=G[(c|3)+b|0]|(G[(c|1)+b|0]<<16|G[b+c|0]<<24|G[(c|2)+b|0]<<8);c=c+4|0;d=d+1|0;if((d|0)!=16){continue}break}b=16;c=F[f>>2];while(1){e=c;c=(b<<2)+f|0;d=F[c-8>>2];d=e+(F[c-28>>2]+(se(d,15)^se(d,13)^d>>>10)|0)|0;e=c;c=F[c-60>>2];F[e>>2]=(se(c,25)^se(c,14)^c>>>3)+d;b=b+1|0;if((b|0)!=64){continue}break}n=F[a+80>>2];i=n;o=F[a+84>>2];b=o;p=F[a+108>>2];g=p;q=F[a+104>>2];c=q;r=F[a+100>>2];e=r;s=F[a+96>>2];j=s;t=F[a+92>>2];k=t;u=F[a+88>>2];d=u;while(1){l=d;d=b;b=m<<2;h=j;g=(F[b+33552>>2]+((((se(h,26)^se(h,21)^se(h,7))+(h&e)|0)+g|0)+((h^-1)&c)|0)|0)+F[b+f>>2]|0;b=i;i=g+((se(b,30)^se(b,19)^se(b,10))+((d^l)&b^d&l)|0)|0;j=g+k|0;g=c;c=e;e=h;k=l;m=m+1|0;if((m|0)!=64){continue}break}F[a+108>>2]=g+p;F[a+104>>2]=c+q;F[a+100>>2]=e+r;F[a+96>>2]=j+s;F[a+92>>2]=k+t;F[a+88>>2]=d+u;F[a+84>>2]=b+o;F[a+80>>2]=i+n;_=f+256|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=_-48|0;_=g;a:{if((c|0)<1){break a}D[b|0]=0;if((c|0)<23){break a}F[g+32>>2]=F[a+112>>2];d=Wa(b,c,1727,g+32|0);h=b+c|0;b:{if((d|0)>(c|0)){break b}if((d|0)<1){break a}f=b+d|0;e=c-d|0;d=Wa(f,e,1654,0);h=b+c|0;if((d|0)>(e|0)){break b}if((d|0)<1){break a}b=e-d|0;c=d+f|0;c:{e=a+152|0;if((e|0)!=F[a+148>>2]){d=0;while(1){F[g+16>>2]=F[(L(d,68)+a|0)+184>>2];f=Wa(c,b,1260,g+16|0);if((f|0)>(b|0)){break c}if((f|0)<1){break a}b=b-f|0;c=c+f|0;d=d+1|0;if(d>>>0<(F[a+148>>2]-e|0)/68>>>0){continue}break}}d=Wa(c,b,1631,0);if((d|0)>(b|0)){break c}if((d|0)<1){break a}f=a+496|0;if((f|0)==F[a+492>>2]){break a}c=c+d|0;b=b-d|0;d=0;while(1){F[g>>2]=F[(L(d,68)+a|0)+528>>2];e=Wa(c,b,1260,g);h=b+c|0;if((e|0)>(b|0)){break b}if((e|0)<1){break a}b=b-e|0;c=c+e|0;d=d+1|0;if(d>>>0<(F[a+492>>2]-f|0)/68>>>0){continue}break}break a}h=b+c|0}a=h-4|0;D[a|0]=46;D[a+1|0]=46;D[a+2|0]=46;D[a+3|0]=0}_=g+48|0}function Wa(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;h=_-16|0;_=h;F[h+12>>2]=d;e=_-160|0;_=e;ja(e+8|0,35920,144);a:{b:{if((b|0)<=0){if(b){break b}b=1;a=e+159|0}F[e+52>>2]=a;F[e+28>>2]=a;f=-2-a|0;f=b>>>0>f>>>0?f:b;F[e+56>>2]=f;a=a+f|0;F[e+36>>2]=a;F[e+24>>2]=a;a=e+8|0;b=_-208|0;_=b;F[b+204>>2]=d;d=b+160|0;ra(d,0,40);F[b+200>>2]=F[b+204>>2];c:{if((hb(0,c,b+200|0,b+80|0,d)|0)<0){a=-1;break c}i=F[a+76>>2]>=0;d=F[a>>2];if(D[a+74|0]<=0){F[a>>2]=d&-33}j=d&32;d:{if(F[a+48>>2]){c=hb(a,c,b+200|0,b+80|0,b+160|0);break d}F[a+48>>2]=80;g=b+80|0;F[a+16>>2]=g;F[a+28>>2]=b;F[a+20>>2]=b;d=F[a+44>>2];F[a+44>>2]=b;g=hb(a,c,b+200|0,g,b+160|0);c=g;if(!d){break d}aa[F[a+36>>2]](a,0,0)|0;F[a+48>>2]=0;F[a+44>>2]=d;F[a+28>>2]=0;F[a+16>>2]=0;c=F[a+20>>2];F[a+20>>2]=0;c=c?g:-1}d=a;a=F[a>>2];F[d>>2]=a|j;a=a&32?-1:c;if(!i){break c}}_=b+208|0;if(!f){break a}b=F[e+28>>2];D[b-((b|0)==F[e+24>>2])|0]=0;break a}F[9439]=61;a=-1}_=e+160|0;_=h+16|0;return a}function Xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:{if(c>>>0<116){F[a+7516>>2]=2;a=-1;break a}D[b|0]=123;c=G[1682]|G[1683]<<8|(G[1684]<<16|G[1685]<<24);d=G[1678]|G[1679]<<8|(G[1680]<<16|G[1681]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;c=G[1687]|G[1688]<<8|(G[1689]<<16|G[1690]<<24);d=G[1683]|G[1684]<<8|(G[1685]<<16|G[1686]<<24);D[b+6|0]=d;D[b+7|0]=d>>>8;D[b+8|0]=d>>>16;D[b+9|0]=d>>>24;D[b+10|0]=c;D[b+11|0]=c>>>8;D[b+12|0]=c>>>16;D[b+13|0]=c>>>24;D[b+14|0]=34;c=na(a+96|0,32,b+15|0);D[c|0]=34;D[c+1|0]=44;D[c+12|0]=34;d=G[1696]|G[1697]<<8|(G[1698]<<16|G[1699]<<24);e=G[1692]|G[1693]<<8|(G[1694]<<16|G[1695]<<24);D[c+2|0]=e;D[c+3|0]=e>>>8;D[c+4|0]=e>>>16;D[c+5|0]=e>>>24;D[c+6|0]=d;D[c+7|0]=d>>>8;D[c+8|0]=d>>>16;D[c+9|0]=d>>>24;d=G[1700]|G[1701]<<8;D[c+10|0]=d;D[c+11|0]=d>>>8;a=na(a,32,c+13|0);D[a|0]=34;D[a+1|0]=125;a=(a-b|0)+2|0}return a|0}function re(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{e=b;if(b){d=c;if(!d){break j}break i}a=(a>>>0)/(c>>>0)|0;$=0;break a}if(!a){break h}break g}if(!(d-1&d)){break f}h=(O(d)+33|0)-O(e)|0;i=0-h|0;break d}a=(e>>>0)/0|0;$=0;break a}d=32-O(e)|0;if(d>>>0<31){break e}break c}if((d|0)==1){break b}d=d?31-O(d-1^d)|0:32;c=d&31;if((d&63)>>>0>=32){e=0;a=b>>>c|0}else{e=b>>>c|0;a=((1<<c)-1&b)<<32-c|a>>>c}$=e;break a}h=d+1|0;i=63-d|0}d=b;e=h&63;f=e&31;if(e>>>0>=32){e=0;f=d>>>f|0}else{e=d>>>f|0;f=((1<<f)-1&d)<<32-f|a>>>f}i=i&63;d=i&31;if(i>>>0>=32){b=a<<d;a=0}else{b=(1<<d)-1&a>>>32-d|b<<d;a=a<<d}if(h){d=c-1|0;i=(d|0)!=-1?0:-1;while(1){g=f<<1|b>>>31;j=g;e=e<<1|f>>>31;g=i-(e+(d>>>0<g>>>0)|0)>>31;k=c&g;f=j-k|0;e=e-(j>>>0<k>>>0)|0;b=b<<1|a>>>31;a=l|a<<1;g=g&1;l=g;h=h-1|0;if(h){continue}break}}$=b<<1|a>>>31;a=g|a<<1;break a}a=0;b=0}$=b}return a}function fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=_-16|0;_=e;d=17;a:{if((G[a+7372|0]|!G[a+7364|0]?d:71)>>>0>c>>>0){F[a+7516>>2]=2;a=-1;break a}D[b|0]=123;c=G[1682]|G[1683]<<8|(G[1684]<<16|G[1685]<<24);d=G[1678]|G[1679]<<8|(G[1680]<<16|G[1681]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;c=G[1687]|G[1688]<<8|(G[1689]<<16|G[1690]<<24);d=G[1683]|G[1684]<<8|(G[1685]<<16|G[1686]<<24);D[b+6|0]=d;D[b+7|0]=d>>>8;D[b+8|0]=d>>>16;D[b+9|0]=d>>>24;D[b+10|0]=c;D[b+11|0]=c>>>8;D[b+12|0]=c>>>16;D[b+13|0]=c>>>24;D[b+14|0]=123;d=b+15|0;if(!(G[a+7372|0]|!G[a+7364|0])){D[b+15|0]=34;c=e+12|0;la(c,F[a+7368>>2]);c=na(c,4,b+16|0);D[c+2|0]=34;D[c|0]=34;D[c+1|0]=58;a=na(a+7373|0,32,c+3|0);D[a|0]=34;d=a+1|0}D[d|0]=125;D[d+1|0]=125;a=(d-b|0)+2|0}_=e+16|0;return a|0}function Ed(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=_-160|0;_=g;h=-1;c=Ma(b,c,b);a:{if((c|0)==-1){F[a+300>>2]=7;break a}h=F[9380];Cb(b,c,aa[F[F[h>>2]>>2]](h)|0,g+136|0);if(G[g+136|0]!=3){F[a+300>>2]=3;h=-1;break a}if(!(F[g+148>>2]?F[g+144>>2]:0)){F[a+300>>2]=4;h=-1;break a}if(f){F[f>>2]=F[g+140>>2]}f=c+-64|0;if(!fb(a+264|0,b,f,b+f|0)){F[a+300>>2]=14;h=-1;break a}c=F[9380];if(aa[F[F[c>>2]+12>>2]](c,F[g+152>>2])>>>0>e>>>0){F[a+300>>2]=2;h=-1;break a}b:{c=F[g+140>>2];c:{if((c-F[a+260>>2]|0)>=0){h=a+132|0;bb(h,c);ja(g,h,132);break c}if((c-F[a+128>>2]|0)<0){break b}bb(ja(g,a,132),c)}c=F[9380];b=aa[F[F[c>>2]+16>>2]](c,g,128,b,f,F[g+148>>2],F[g+152>>2],d,e)|0;ia(g,132);h=-1;if((b|0)==-1){F[a+300>>2]=5;break a}F[a+296>>2]=1;h=b;break a}F[a+300>>2]=12;h=-1}_=g+160|0;return h|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=_-16|0;_=e;a:{if((G[a+7364|0]?71:17)>>>0>c>>>0){F[a+7516>>2]=2;a=-1;break a}D[b|0]=123;c=G[1682]|G[1683]<<8|(G[1684]<<16|G[1685]<<24);d=G[1678]|G[1679]<<8|(G[1680]<<16|G[1681]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;c=G[1687]|G[1688]<<8|(G[1689]<<16|G[1690]<<24);d=G[1683]|G[1684]<<8|(G[1685]<<16|G[1686]<<24);D[b+6|0]=d;D[b+7|0]=d>>>8;D[b+8|0]=d>>>16;D[b+9|0]=d>>>24;D[b+10|0]=c;D[b+11|0]=c>>>8;D[b+12|0]=c>>>16;D[b+13|0]=c>>>24;D[b+14|0]=123;if(G[a+7364|0]){D[b+15|0]=34;c=e+12|0;la(c,F[a+7368>>2]);c=na(c,4,b+16|0);D[c+2|0]=34;D[c|0]=34;D[c+1|0]=58;a=na(a+7373|0,32,c+3|0);D[a|0]=34;a=a+1|0}else{a=b+15|0}D[a|0]=125;D[a+1|0]=125;a=(a-b|0)+2|0}_=e+16|0;return a|0}function ra(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}f=a+c|0;D[f-1|0]=b;D[a|0]=b;if(c>>>0<3){break a}D[f-2|0]=b;D[a+1|0]=b;D[f-3|0]=b;D[a+2|0]=b;if(c>>>0<7){break a}D[f-4|0]=b;D[a+3|0]=b;if(c>>>0<9){break a}f=0-a&3;e=f+a|0;d=L(b&255,16843009);F[e>>2]=d;b=c-f&-4;c=b+e|0;F[c-4>>2]=d;if(b>>>0<9){break a}F[e+8>>2]=d;F[e+4>>2]=d;F[c-8>>2]=d;F[c-12>>2]=d;if(b>>>0<25){break a}F[e+24>>2]=d;F[e+20>>2]=d;F[e+16>>2]=d;F[e+12>>2]=d;F[c-16>>2]=d;F[c-20>>2]=d;F[c-24>>2]=d;F[c-28>>2]=d;c=b;b=e&4|24;c=c-b|0;if(c>>>0<32){break a}d=qe(d,0,1,1);f=$;b=b+e|0;while(1){F[b+24>>2]=d;e=f;F[b+28>>2]=e;F[b+16>>2]=d;F[b+20>>2]=e;F[b+8>>2]=d;F[b+12>>2]=e;F[b>>2]=d;F[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Gb(a,b,c){a:{if(b>>>0>20){break a}b:{switch(b-9|0){case 0:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=F[b>>2];return;case 1:b=F[c>>2];F[c>>2]=b+4;b=F[b>>2];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 2:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=F[b>>2];F[a+4>>2]=0;return;case 3:b=F[c>>2]+7&-8;F[c>>2]=b+8;c=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=c;return;case 4:b=F[c>>2];F[c>>2]=b+4;b=E[b>>1];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 5:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=H[b>>1];F[a+4>>2]=0;return;case 6:b=F[c>>2];F[c>>2]=b+4;b=D[b|0];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 7:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=G[b|0];F[a+4>>2]=0;return;case 8:b=F[c>>2]+7&-8;F[c>>2]=b+8;K[a>>3]=K[b>>3];return;case 9:break b;default:break a}}aa[8](a,c)}}function sb(a,b,c,d,e){var f=0,g=0,h=0,i=0;f=_-80|0;_=f;g=-1;i=F[c+4>>2];h=F[b>>2];if(!(i>>>0<h>>>0|i-h>>>0>2e3)){F[f+72>>2]=F[b+32>>2];h=F[b+28>>2];g=f- -64|0;F[g>>2]=F[b+24>>2];F[g+4>>2]=h;g=F[b+20>>2];F[f+56>>2]=F[b+16>>2];F[f+60>>2]=g;g=F[b+12>>2];F[f+48>>2]=F[b+8>>2];F[f+52>>2]=g;g=F[b+4>>2];h=F[b>>2];F[f+40>>2]=h;F[f+44>>2]=g;b=f+40|4;if(h>>>0<i>>>0){while(1){ka(b,32,1921,1,b);g=F[f+40>>2]+1|0;F[f+40>>2]=g;if(g>>>0<I[c+4>>2]){continue}break}}g=b;b=f|4;ka(g,32,1920,1,b);F[f>>2]=F[f+40>>2];a=F[a+4>>2];g=aa[F[F[a>>2]+16>>2]](a,b,32,F[c+8>>2],F[c+12>>2],F[c+24>>2],F[c+28>>2],d,e)|0;ia(f+40|0,36)}_=f+80|0;return g}function bc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Ob(a);if(Da(g)>>>0>e>>>0){F[a+7516>>2]=2;return-1}e=a+164|0;f=la(Pa(Sb(la(Za(d,g),4),a),a+96|0),(F[a+160>>2]-e|0)/72|0);h=F[a+160>>2];if((h|0)!=(e|0)){while(1){f=la(f,F[e>>2]);D[f|0]=G[e+4|0];f=Pa(f+1|0,e+5|0);e=e+72|0;if((h|0)!=(e|0)){continue}break}}D[f|0]=G[a+7364|0];e=f+1|0;a:{if(!G[a+7364|0]){break a}e=la(e,F[a+7368>>2]);D[e|0]=G[a+7372|0];e=Pa(e+1|0,a+7373|0);if(G[a+7364|0]<2){break a}e=la(e,F[a+7440>>2]);D[e|0]=G[a+7444|0];e=Pa(e+1|0,a+7445|0)}la(e,F[a+7512>>2]);return Ya(b,c,d,g)|0}function Nc(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;l=_-112|0;_=l;m=(aa[F[476]](F[9136],c)|0)+2|0;n=(m>>>0)/3|0;a:{b:{c:{if(((m-L(n,3)|0)+(n<<2)|0)-2>>>0>e>>>0){break c}if(aa[F[475]](F[9136])>>>0>g>>>0){break c}if(i>>>0>=43){break b}}F[a>>2]=2;c=-1;break a}if(k>>>0<=31){F[a>>2]=1;c=-1;break a}g=l+48|0;Ea(j,g);na(g,32,h);h=g;g=l+16|0;za(h,a+4|0,g);a=aa[F[476]](F[9136],c)|0;e=(d+e|0)-a|0;c=aa[F[477]](F[9136],g,32,b,c,e,a,l+8|0,8)|0;if((c|0)==-1){break a}na(l+8|0,8,f);na(e,a,d)}_=l+112|0;return c|0}function qa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=-1;a:{if((b&3)==1){break a}d=b+2|0;g=((d&3)+L(d>>>2|0,3)|0)-2|0;d=-1;if((g|0)==-1){break a}e=b&-4;b:{if(!e){e=a;break b}e=a+e|0;d=a;while(1){i=G[d|0];f=G[d+1|0];h=G[(G[d+2|0]&127)+1088|0];D[c+2|0]=G[(G[d+3|0]&127)+1088|0]|h<<6;f=G[(f&127)+1088|0]<<6;D[c+1|0]=(f|h)>>>2;D[c|0]=(f|G[(i&127)+1088|0]<<12)>>>10;c=c+3|0;d=d+4|0;if((d|0)!=(e|0)){continue}break}}b=(a+b|0)-e|0;if(b){a=G[(G[e+1|0]&127)+1088|0]|G[(G[e|0]&127)+1088|0]<<6;if((b|0)==3){D[c+1|0]=(G[(G[e+2|0]&127)+1088|0]|a<<6)>>>2}D[c|0]=a>>>4}d=g}return d}function ma(a,b,c){var d=0,e=0,f=0;if(!(G[a|0]&32)){a:{e=b;d=c;b=a;a=F[b+16>>2];b:{if(!a){a=G[b+74|0];D[b+74|0]=a-1|a;a=F[b>>2];c:{if(a&8){F[b>>2]=a|32;a=-1;break c}F[b+4>>2]=0;F[b+8>>2]=0;a=F[b+44>>2];F[b+28>>2]=a;F[b+20>>2]=a;F[b+16>>2]=a+F[b+48>>2];a=0}if(a){break b}a=F[b+16>>2]}f=F[b+20>>2];if(a-f>>>0<d>>>0){aa[F[b+36>>2]](b,e,c)|0;break a}d:{if(D[b+75|0]<0){break d}a=c;while(1){d=a;if(!a){break d}a=d-1|0;if(G[e+a|0]!=10){continue}break}if(aa[F[b+36>>2]](b,e,d)>>>0<d>>>0){break b}e=d+e|0;c=c-d|0;f=F[b+20>>2]}ja(f,e,c);F[b+20>>2]=F[b+20>>2]+c}}}}function na(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=b-((b>>>0)%3|0)|0;a:{if(!d){e=a;break a}e=a+d|0;d=a;while(1){f=G[d+1|0];g=G[d|0];h=G[d+2|0];D[c+3|0]=G[(h&63)+1024|0];D[c|0]=G[(g>>>2|0)+1024|0];f=f<<8;D[c+2|0]=G[((f|h)>>>6&63)+1024|0];D[c+1|0]=G[((f|g<<16)>>>12&63)+1024|0];c=c+4|0;d=d+3|0;if((e|0)!=(d|0)){continue}break}}d=(a+b|0)-e|0;if(d){a=2;b=G[e|0];b:{if((d|0)==2){a=G[e+1|0]<<2;D[c+2|0]=G[(a&60)+1024|0];d=(a|b<<10)>>>6|0;a=3;break b}d=b<<4}D[c|0]=G[(d>>>6|0)+1024|0];D[c+1|0]=G[(d&63)+1024|0];c=a+c|0}return c}function Ca(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=a;e=c;d=b-((b>>>0)%3|0)|0;if(d){f=a+d|0;d=a;while(1){g=G[d+1|0];h=G[d|0];i=G[d+2|0];D[e+3|0]=G[(i&63)+1024|0];D[e|0]=G[(h>>>2|0)+1024|0];g=g<<8;D[e+2|0]=G[((g|i)>>>6&63)+1024|0];D[e+1|0]=G[((g|h<<16)>>>12&63)+1024|0];e=e+4|0;d=d+3|0;if((f|0)!=(d|0)){continue}break}}d=(a+b|0)-f|0;if(d){a=2;b=G[f|0];a:{if((d|0)==2){a=G[f+1|0]<<2;D[e+2|0]=G[(a&60)+1024|0];d=(a|b<<10)>>>6|0;a=3;break a}d=b<<4}D[e|0]=G[(d>>>6|0)+1024|0];D[e+1|0]=G[(d&63)+1024|0];e=a+e|0}return e-c|0}function Gd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=_-16|0;_=f;b=Xa(b,c,d,e,a+300|0);a:{if((b|0)!=-1){b=b+d|0;c=kb(d,b,f+12|0);b:{if(!c){d=10;break b}d=9;if(F[f+12>>2]-1>>>0>1){break b}c=lb(a,c,b);if(!c){d=10;break b}c=lb(a+132|0,c,b);if(!c){d=10;break b}c=Ra(c,b,a+264|0);if(!c){d=10;break b}g=a+296|0;c:{if(F[f+12>>2]==1){F[g>>2]=1;break c}d=10;if(!c|(b|0)==(c|0)){c=h}else{D[g|0]=G[c|0]!=0;c=c+1|0}if(!c){break b}}d=17;if((b|0)==(c|0)){break a}}F[a+300>>2]=d}e=-1}_=f+16|0;return e|0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0;c=b+3285|0;b=a+164|0;a:{b:{if((b|0)!=F[a+160>>2]){while(1){if(La(b+5|0,c,32)){d=F[b>>2];c=F[a+160>>2]-72|0;F[a+160>>2]=c;if((b|0)==(c|0)){break b}while(1){c=b;b=b+72|0;ja(c,b,72);if(F[a+160>>2]!=(b|0)){continue}break}break b}b=b+72|0;if((b|0)!=F[a+160>>2]){continue}break}}d=-1;if(!G[a+7364|0]){break b}if(La(a+7373|0,c,32)){b=F[a+7368>>2];break a}if(G[a+7364|0]<2){break b}if(!La(a+7445|0,c,32)){break b}d=F[a+7440>>2]}b=d}if((b|0)==-1){F[a+7516>>2]=6}return b|0}function ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=c;e=b;a:{b:{if(b<<5>>>0<=d>>>0){if(e){break b}e=0;break a}F[a+7516>>2]=1;e=-1;break a}j=a+7364|0;h=a+164|0;k=a+169|0;while(1){b=j;f=F[a+160>>2];if((b|0)!=(f|0)){b=f+72|0;F[a+160>>2]=b}b=b-72|0;if((h|0)!=(b|0)){while(1){f=b;b=b-72|0;ja(f,b,72);if((b|0)!=(h|0)){continue}break}}D[a+168|0]=0;b=F[a+7512>>2]+1|0;F[h>>2]=b;F[a+7512>>2]=b;Ea(g,k);g=g+32|0;i=i+1|0;if((i|0)!=(e|0)){continue}break}}ia(c,d);return e|0}function Eb(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!F[F[9424]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){D[a+1|0]=b&63|128;D[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344?b>>>0>=55296:0)){D[a+2|0]=b&63|128;D[a|0]=b>>>12|224;D[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){D[a+3|0]=b&63|128;D[a|0]=b>>>18|240;D[a+2|0]=b>>>6&63|128;D[a+1|0]=b>>>12&63|128;a=4;break a}}F[9439]=25;a=-1}else{a=1}break a}D[a|0]=b;a=1}return a}function zb(a,b,c,d){var e=0,f=0,g=0;e=_-48|0;_=e;ab(e+8|0,c,d);d=0;c=F[e+12>>2];f=(c|b)!=0;a:{b:{if(c){if(!f){break a}if(F[e+16>>2]==32){break b}break a}if(!f){break a}}if(!F[e+36>>2]){break a}f=F[e+20>>2];if(!f|F[e+24>>2]!=32){break a}g=F[e+28>>2];if(!g|F[e+32>>2]!=32){break a}c:{d:{if(c){c=Ja(c,a+3221|0);if(b){if(c){break a}break d}if(!c){break c}break a}if(!b){break c}}if(Ja(b,a+3221|0)){break a}}if(Ja(f,a+3253|0)){break a}d=!Ja(g,a+3285|0)}_=e+48|0;return d}function Ud(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=oa(d);if((e|0)==-1){F[a+3216>>2]=7;return-1}qa(c,d,c);d=_-48|0;_=d;a:{b:{if((b|0)!=1){ab(d+8|0,c,e);c=F[d+36>>2];if(!c){F[a+3216>>2]=4;break b}e=F[d+40>>2]}b=_-32|0;_=b;f=c;c=F[a+4>>2];ib(b,f,e,aa[F[F[c>>2]>>2]](c)|0);c:{if(!F[b+24>>2]){F[a+8>>2]=4;c=-1;break c}c=F[a+4>>2];c=aa[F[F[c>>2]+12>>2]](c,F[b+28>>2])|0}_=b+32|0;if((c|0)!=-1){break a}F[a+3216>>2]=F[a+8>>2];F[a+8>>2]=0}c=-1}_=d+48|0;return c|0}function La(a,b,c){var d=0,e=0,f=0;d=_-16|0;D[d+15|0]=0;a:{if(!c){break a}f=c-1|0;e=c&3;if(e){while(1){D[d+15|0]=G[d+15|0]|G[b|0]^G[a|0];b=b+1|0;a=a+1|0;c=c-1|0;e=e-1|0;if(e){continue}break}}if(f>>>0<3){break a}while(1){D[d+15|0]=G[d+15|0]|G[a|0]^G[b|0];D[d+15|0]=G[d+15|0]|G[a+1|0]^G[b+1|0];D[d+15|0]=G[d+15|0]|G[a+2|0]^G[b+2|0];D[d+15|0]=G[d+15|0]|G[a+3|0]^G[b+3|0];b=b+4|0;a=a+4|0;c=c-4|0;if(c){continue}break}}return!G[d+15|0]}function Fc(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=_-80|0;_=j;k=F[478];a:{if(aa[k|0](F[9136],oa(g))>>>0>i>>>0){F[a>>2]=2;g=-1;break a}k=oa(g);if((k|0)!=-1?(c|0)!=43|(e|0)!=11:1){F[a>>2]=7;g=-1;break a}c=b;b=j+48|0;qa(c,43,b);c=b;b=j+16|0;za(a+4|0,c,b);c=j+8|0;qa(d,11,c);qa(f,g,f);g=aa[F[479]](F[9136],b,32,c,8,f,k,h,i)|0;if((g|0)!=-1){break a}F[a>>2]=5}_=j+80|0;return g|0}function Hc(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-16|0;_=h;a:{if(!(!f|g>>>0>=43)){F[a>>2]=2;g=-1;break a}g=-1;b=Xa(b,c,d,e,a);if((b|0)==-1){break a}b:{b=b+d|0;c=ua(d,b,h+12|0);c:{if(!c){break c}if(F[h+12>>2]!=1){F[a>>2]=9;break c}c=Ka(c,b,a+4|0);if(c){break b}}if(F[a>>2]){break a}F[a>>2]=10;break a}if((b|0)!=(c|0)){F[a>>2]=17;break a}if(f){na(a+4|0,32,f)}g=e}_=h+16|0;return g|0}function wb(a){var b=0,c=0,d=0,e=0,f=0;b=a+48|0;d=F[a+44>>2];if((b|0)==(d|0)){d=36}else{c=4;while(1){c=c+100|0;b=b+100|0;if((d|0)!=(b|0)){continue}break}d=c+32|0}e=4;c=4;b=a+152|0;f=F[a+148>>2];if((b|0)!=(f|0)){while(1){c=c+68|0;b=b+68|0;if((f|0)!=(b|0)){continue}break}}b=a+496|0;a=F[a+492>>2];if((b|0)!=(a|0)){while(1){e=e+68|0;b=b+68|0;if((a|0)!=(b|0)){continue}break}}return((c+d|0)+e|0)+101|0}function te(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;e=f&31;if(f>>>0>=32){f=-1>>>e|0}else{f=-1>>>e|0;d=f;f=d|(1<<e)-1<<32-e}f=f&a;d=b&d;e=g&31;if(g>>>0>=32){d=f<<e;g=0}else{d=(1<<e)-1&f>>>32-e|d<<e;g=f<<e}f=d;e=0-c&63;d=e&31;if(e>>>0>=32){d=-1<<d;c=0}else{c=-1<<d;d=c|(1<<d)-1&-1>>>32-d}a=c&a;b=b&d;d=e&31;if(e>>>0>=32){c=0;a=b>>>d|0}else{c=b>>>d|0;a=((1<<d)-1&b)<<32-d|a>>>d}a=a|g;$=c|f;return a} +function hd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=_-16|0;_=f;b=Xa(b,c,d,e,a+228|0);a:{if((b|0)!=-1){b=b+d|0;c=kb(d,b,f+12|0);b:{if(!c){d=10;break b}d=9;if(F[f+12>>2]!=1){break b}c=lb(a,c,b);if(!c){d=10;break b}d=10;c=Qb(c,b,a+132|0);if(!c){break b}d=17;if((b|0)==(c|0)){break a}}F[a+228>>2]=d}e=-1}_=f+16|0;return e|0}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=_-32|0;_=d;e=-1;c=Ma(b,c,b);a:{if((c|0)==-1){F[a+300>>2]=7;break a}f=b;b=F[9380];Cb(f,c,aa[F[F[b>>2]>>2]](b)|0,d+8|0);if(G[d+8|0]!=3){F[a+300>>2]=3;break a}if(!F[d+20>>2]){F[a+300>>2]=4;break a}a=F[9380];e=aa[F[F[a>>2]+12>>2]](a,F[d+24>>2])|0}_=d+32|0;return e|0}function vb(a,b,c){var d=0;d=_-112|0;_=d;F[d+80>>2]=1779033703;F[d+84>>2]=-1150833019;F[d+72>>2]=0;F[d+76>>2]=0;F[d+64>>2]=0;F[d+104>>2]=528734635;F[d+108>>2]=1541459225;F[d+96>>2]=1359893119;F[d+100>>2]=-1694144372;F[d+88>>2]=1013904242;F[d+92>>2]=-1521486534;pa(d,a,b);Ba(d,c);ia(d,112);_=d+112|0}function Ja(a,b){var c=0,d=0,e=0;c=32;a:{b:{if((a|b)&3){break b}while(1){if(F[a>>2]!=F[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}if(!c){break a}}while(1){d=G[a|0];e=G[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function ia(a,b){var c=0,d=0;a:{if(!b){break a}c=a;d=b&7;if(d){while(1){D[c|0]=0;c=c+1|0;d=d-1|0;if(d){continue}break}}if(b-1>>>0<7){break a}a=a+b|0;while(1){D[c|0]=0;D[c+1|0]=0;D[c+2|0]=0;D[c+3|0]=0;D[c+4|0]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;c=c+8|0;if((a|0)!=(c|0)){continue}break}}}function Rd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-32|0;_=h;a:{if((oa(c)|0)!=32){F[a>>2]=7;c=-1;break a}qa(b,c,h);c=-1;b=oa(g);if((b|0)==-1){F[a>>2]=7;break a}qa(f,g,f);b:{if(b>>>0>=64){c=0;if(fb(h,d,e,f)){break b}}F[a>>2]=5;c=-1}}_=h+32|0;return c|0}function Na(a,b,c){var d=0,e=0,f=0;a:{if(b>>>0<1){d=a;break a}while(1){d=re(a,b,10);e=$;f=e;e=qe(d,e,10,0);c=c-1|0;D[c|0]=a-e|48;e=b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c-1|0;a=(d>>>0)/10|0;D[c|0]=d-L(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function pa(a,b,c){var d=0,e=0,f=0;if(c){d=F[a+64>>2];while(1){D[a+d|0]=G[b+e|0];d=F[a+64>>2]+1|0;F[a+64>>2]=d;if((d|0)==64){jb(a,a);F[a+64>>2]=0;d=F[a+76>>2];f=F[a+72>>2]+512|0;d=f>>>0<512?d+1|0:d;F[a+72>>2]=f;F[a+76>>2]=d;d=0}e=e+1|0;if((e|0)!=(c|0)){continue}break}}}function rd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_+-64|0;_=h;a:{if(g>>>0<43){F[a>>2]=2;a=-1;break a}if(!F[a+100>>2]){F[a>>2]=16;a=-1;break a}g=a+68|0;a=h+32|0;Aa(g,32,0,0,d,e,a,32);ka(a,32,b,c,h);Ca(h,32,f);a=0}_=h- -64|0;return a|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(c>>>0<=31){F[a+7516>>2]=1;a=-1;break a}d=G[a+7364|0];if(d>>>0<=1){D[a+7364|0]=d+1}ja(a+7440|0,a+7368|0,72);D[a+7372|0]=0;d=F[a+7512>>2]+1|0;F[a+7368>>2]=d;F[a+7512>>2]=d;Ea(b,a+7373|0);a=1}ia(b,c);return a|0}function Fb(a,b){var c=0,d=0,e=0;A(+a);c=v(1)|0;d=v(0)|0;e=c;c=c>>>20&2047;if((c|0)!=2047){if(!c){c=b;if(a==0){b=0}else{a=Fb(a*0x10000000000000000,b);b=F[b>>2]+-64|0}F[c>>2]=b;return a}F[b>>2]=c-1022;x(0,d|0);x(1,e&-2146435073|1071644672);a=+z()}return a}function pd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-256|0;_=h;a:{if(g>>>0<43){F[a>>2]=2;a=-1;break a}if(!F[a+100>>2]){F[a>>2]=16;a=-1;break a}Aa(a+68|0,32,0,0,d,e,h,256);ka(h,256,b,c,f);Ca(f,32,f);a=0}_=h+256|0;return a|0}function qd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-32|0;_=h;a:{if(g>>>0<43){F[a>>2]=2;a=-1;break a}if(!F[a+100>>2]){F[a>>2]=16;a=-1;break a}Aa(a+68|0,32,0,0,d,e,h,32);ka(h,32,b,c,f);Ca(f,32,f);a=0}_=h+32|0;return a|0}function Xa(a,b,c,d,e){var f=0,g=0;f=-1;g=oa(d);a:{b:{if((g|0)==-1){c=7;if(e){break b}break a}Ma(c,d,c);d=a;a=g-(aa[F[475]](33528)|0)|0;f=aa[F[479]](33528,d,b,c,g,c,a,c,a)|0;if((f|0)!=-1){return f}c=8;if(!e){break a}}F[e>>2]=c;f=-1}return f}function Ob(a){var b=0,c=0,d=0;d=4;b=a+164|0;c=F[a+160>>2];if((b|0)!=(c|0)){while(1){d=d+69|0;b=b+72|0;if((c|0)!=(b|0)){continue}break}}b=d+165|0;c=b;a:{if(!G[a+7364|0]){break a}b=b+69|0;c=b;if(G[a+7364|0]<2){break a}c=b+69|0}return c+4|0}function be(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=_-32|0;_=g;a:{if((oa(d)|0)!=32){F[a+3216>>2]=7;d=-1;break a}qa(c,d,g);d=-1;c=oa(f);if((c|0)==-1){F[a+3216>>2]=7;break a}qa(e,f,e);d=Ab(a,b,g,e,c)}_=g+32|0;return d|0}function Mb(a,b,c){var d=0,e=0,f=0;e=1;if(a>>>0>=128){while(1){e=e+1|0;d=a>>>0>16383;a=a>>>7|0;if(d){continue}break}}d=1;if(b>>>0>=128){a=b;while(1){d=d+1|0;f=a>>>0>16383;a=a>>>7|0;if(f){continue}break}}return(((b+c|0)+e|0)+d|0)+37|0}function Db(a,b,c){var d=0,e=0,f=0;d=1;e=1;if(a>>>0>=128){while(1){e=e+1|0;f=a>>>0>16383;a=a>>>7|0;if(f){continue}break}}if(b>>>0>=128){a=b;while(1){d=d+1|0;f=a>>>0>16383;a=a>>>7|0;if(f){continue}break}}return(((b+c|0)+e|0)+d|0)+67|0}function Ya(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=aa[F[476]](33528,d)|0;e=f+(aa[F[475]](33528)|0)|0;g=e+2|0;h=(g>>>0)/3|0;i=a;j=b;b=((g-L(h,3)|0)+(h<<2)|0)-2|0;a=(b+c|0)-e|0;aa[F[477]](33528,i,j,a,d,a,f,a,e)|0;Ca(a,e,c);return b}function Zd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=_-32|0;_=f;a:{if((oa(c)|0)!=32){F[a+3216>>2]=7;c=-1;break a}qa(b,c,f);c=-1;b=oa(e);if((b|0)==-1){F[a+3216>>2]=7;break a}qa(d,e,d);c=zb(a,f,d,b)}_=f+32|0;return c|0}function qe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=L(e,f);g=c&65535;h=a&65535;i=L(g,h);f=(i>>>16|0)+L(f,g)|0;e=(f&65535)+L(e,h)|0;$=(L(b,c)+j|0)+L(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function kb(a,b,c){var d=0,e=0;F[c>>2]=0;a:{if(!a){break a}e=b;b=a+4|0;if(e>>>0<b>>>0){break a}F[c>>2]=0;d=G[a|0]<<8;F[c>>2]=d;d=(d|G[a+1|0])<<8;F[c>>2]=d;d=(d|G[a+2|0])<<8;F[c>>2]=d;F[c>>2]=d|G[a+3|0];d=b}return d}function va(a,b,c,d,e){var f=0;f=_-256|0;_=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;ra(f,b&255,d?c:256);if(!d){while(1){ma(a,f,256);c=c-256|0;if(c>>>0>255){continue}break}}ma(a,f,c)}_=f+256|0}function pe(a){a=a|0;var b=0,c=0,d=0;b=a+164|0;c=F[a+160>>2];a:{if((b|0)!=(c|0)){a=1;while(1){if(!G[b+4|0]){d=d+55|0;a=0}b=b+72|0;if((c|0)!=(b|0)){continue}break}b=16;if(!a){break a}}b=17}return b+d|0}function ne(a){a=a|0;var b=0,c=0,d=0;b=a+164|0;c=F[a+160>>2];if((b|0)!=(c|0)){while(1){if(!G[b+4|0]){D[b+4|0]=1;d=d+1|0}b=b+72|0;if((c|0)!=(b|0)){continue}break}}D[a+7372|0]=1;return d|0}function ua(a,b,c){var d=0;F[c>>2]=0;if(!(!a|a+4>>>0>b>>>0)){F[c>>2]=0;b=G[a|0]<<8;F[c>>2]=b;b=(b|G[a+1|0])<<8;F[c>>2]=b;b=(b|G[a+2|0])<<8;F[c>>2]=b;F[c>>2]=b|G[a+3|0];d=a+4|0}return d}function ed(a,b){a=a|0;b=b|0;var c=0;c=F[9380];b=aa[F[F[c>>2]+4>>2]](c,b)|0;c=F[9380];c=aa[F[F[c>>2]>>2]](c)|0;b=Db(F[a+128>>2],b,c)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function Ia(a){var b=0,c=0;b=F[9438];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>ba()<<16>>>0){if(!(Z(a|0)|0)){break a}}F[9438]=a;return b}F[9439]=48;return-1}function id(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=a+132|0;if(Da(232)>>>0>e>>>0){F[a+228>>2]=2;return-1}Sb(mb(a,la(Za(d,232),1)),f);return Ya(b,c,d,232)|0}function Hb(a){var b=0,c=0,d=0;if(D[F[a>>2]]-48>>>0<10){while(1){b=F[a>>2];d=D[b|0];F[a>>2]=b+1;c=(L(c,10)+d|0)-48|0;if(D[b+1|0]-48>>>0<10){continue}break}}return c}function db(a,b){var c=0,d=0;d=F[a+44>>2]==(a+48|0)?0:F[a+112>>2];c=F[a+4>>2];b=aa[F[F[c>>2]+4>>2]](c,b)|0;a=F[a+4>>2];return Mb(d,b,aa[F[F[a>>2]>>2]](a)|0)}function tb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(c>>>0<43){F[a>>2]=2;return-1}if(e>>>0<=31){F[a>>2]=15;return-1}a=a+4|0;Ea(d,a);na(a,32,b);return 0}function Ac(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(c>>>0<43){F[a>>2]=2;return-1}if(e>>>0<=31){F[a>>2]=15;return-1}a=a+4|0;gb(d,a);na(a,32,b);return 0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a>>2]=15;return-1}if((Ma(b,c,b)|0)==-1){F[a>>2]=7;return-1}za(a+4|0,b,a+68|0);F[a+100>>2]=1;return 0}function Rc(a){a=a|0;ia(a,36);F[a+32>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0;return 36}function Ic(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=a+4|0;if(Da(68)>>>0>e>>>0){F[a>>2]=2;return-1}Pa(la(Za(d,68),1),f);return Ya(b,c,d,68)|0}function Nb(a,b,c){var d=0,e=0;a=ua(a,b,c);a:{if(!a){break a}if(!(!a|(a|0)==(b|0))){D[c+4|0]=G[a|0]!=0;d=a+1|0}if(!d){break a}e=Ka(d,b,c+5|0)}return e}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=F[a+20>>2];d=F[a+16>>2]-e|0;d=c>>>0<d>>>0?c:d;ja(e,b,d);F[a+20>>2]=d+F[a+20>>2];return c|0}function Za(a,b){var c=0,d=0;c=aa[F[476]](33528,b)+aa[F[475]](33528)|0;d=c+2|0;b=(d>>>0)/3|0;return((((d-L(b,3)|0)+(b<<2)|0)-2|0)+a|0)-c|0}function Ib(a){var b=0,c=0,d=0;b=1;if(a>>>0>=128){c=a;while(1){b=b+1|0;d=c>>>0>16383;c=c>>>7|0;if(d){continue}break}}return(a+b|0)+104|0} +function Vb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(e>>>0<86){F[a+7516>>2]=2;return-1}e=a;a=d+22|0;$a(e,b,c,a);na(a,64,d);return 86}function Bb(a){F[a+8>>2]=0;F[a+4>>2]=1768;F[a>>2]=1752;F[a+492>>2]=a+496;F[a+148>>2]=a+152;F[a+44>>2]=a+48;D[a+3220|0]=0;F[a+3216>>2]=0}function yc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(e>>>0<86){F[a>>2]=2;return-1}e=a+4|0;a=d+22|0;$a(e,b,c,a);na(a,64,d);return 86}function ce(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=oa(d);if((e|0)==-1){F[a+3216>>2]=7;return-1}qa(c,d,c);return Ab(a,b,0,c,e)|0}function Zb(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(c>>>0<=63){F[a+7516>>2]=1;a=-1;break a}gb(b,a);Ea(b+32|0,a+96|0);a=0}ia(b,c);return a|0}function la(a,b){b=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24);D[a|0]=b;D[a+1|0]=b>>>8;D[a+2|0]=b>>>16;D[a+3|0]=b>>>24;return a+4|0}function Sd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(e>>>0<43){F[a>>2]=2;return-1}vb(b,c,d+11|0);na(d+11|0,32,d);return 43}function sd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(!F[a+100>>2]){F[a>>2]=16;return-1}Aa(a+68|0,32,0,0,b,c,d,e);return 0}function fd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<=159){F[a+228>>2]=1;return-1}_a(a,b,0);gb(b+128|0,a+132|0);ia(b,c);return 0}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=oa(c);if((d|0)==-1){F[a+3216>>2]=7;return-1}qa(b,c,b);return zb(a,0,b,d)|0}function Da(a){var b=0;b=(aa[F[476]](33528,a)+aa[F[475]](33528)|0)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function Sa(a,b,c,d){var e=0,f=0;a:{if(!a){break a}e=b;b=a+d|0;if(e>>>0<b>>>0){break a}ja(c,a,d);f=b}return f}function Pc(a,b){a=a|0;b=b|0;b=(aa[F[476]](F[9136],b)|0)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function Oc(a){a=a|0;var b=0;b=(aa[F[475]](F[9136])|0)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function gc(a){a=a|0;ia(a,7520);F[a+7512>>2]=0;F[a+7516>>2]=0;D[a+7364|0]=0;F[a+160>>2]=a+164;return 7520}function wd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<=31){F[a>>2]=1;return-1}Ea(b,a+4|0);F[a+100>>2]=0;return 0}function jc(a){a=a|0;ia(a,7520);F[a+7512>>2]=0;F[a+7516>>2]=0;D[a+7364|0]=0;F[a+160>>2]=a+164;return a|0}function cd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a+228>>2]=2;return-1}return Ca(a+132|0,32,b)|0}function Dd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a+300>>2]=2;return-1}return Ca(a+264|0,32,b)|0}function qc(a){a=a|0;a=F[a+7516>>2];if(a>>>0<=17){a=F[(a<<2)+33456>>2]}else{a=1383}return a|0}function oc(a){a=a|0;a=F[a+3216>>2];if(a>>>0<=17){a=F[(a<<2)+33456>>2]}else{a=1383}return a|0}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a>>2]=15;return-1}qa(b,43,a+4|0);return 0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a>>2]=2;return-1}Ca(a+4|0,32,b);return 0}function ld(a){a=a|0;a=F[a+228>>2];if(a>>>0<=17){a=F[(a<<2)+33456>>2]}else{a=1383}return a|0}function Md(a){a=a|0;a=F[a+300>>2];if(a>>>0<=17){a=F[(a<<2)+33456>>2]}else{a=1383}return a|0}function Wd(a,b){a=a|0;b=b|0;b=xb(a,b)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function Va(a){a=a|0;a=F[a>>2];if(a>>>0<=17){a=F[(a<<2)+33456>>2]}else{a=1383}return a|0}function se(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<<c;c=a;a=0-b&31;return d|(c&-1<<a)>>>a}function oa(a){if((a&3)!=1){a=a+2|0;a=((a&3)+L(a>>>2|0,3)|0)-2|0}else{a=-1}return a}function sc(a,b,c){a=a|0;b=b|0;c=c|0;if(a){D[a|0]=3}if(b){D[b|0]=2}if(c){D[c|0]=8}}function lb(a,b,c){b=Sa(b,c,a,128);if(!b){return 0}return kb(b,c,a+128|0)}function ee(a){a=a|0;if(G[a+7364|0]>=2){D[a+7364|0]=1;ia(a+7440|0,72)}}function Gc(a,b){a=a|0;b=b|0;a=F[478];return aa[a|0](F[9136],oa(b))|0}function Qd(a){a=a|0;return(a>>>0<=17?F[(a<<2)+33456>>2]:1383)|0}function ge(a){a=a|0;return(G[a+7372|0]|!G[a+7364|0]?17:71)|0}function xb(a,b){b=db(a,b);if(!G[a+3220|0]){b=Ib(b)}return b}function Bc(a){a=a|0;ia(a,100);ra(a,0,100);return 100}function Xd(a){a=a|0;return(F[a+44>>2]==(a+48|0))<<5}function mb(a,b){return la(Ta(b,a,128),F[a+128>>2])}function Kc(a){a=a|0;ia(a,68);ra(a,0,68);return 68}function hc(a){a=a|0;ia(a,4);F[a>>2]=0;return a|0}function fc(a){a=a|0;ia(a,3320);Bb(a);return 3320}function ie(a){a=a|0;return(G[a+7364|0]?71:17)|0}function ic(a){a=a|0;ia(a,3320);Bb(a);return a|0}function ec(a){a=a|0;ia(a,4);F[a>>2]=0;return 4}function Uc(a){a=a|0;a=_-a&-16;_=a;return a|0}function wc(a,b){a=a|0;b=b|0;return b+16&-16}function _a(a,b,c){F[a+128>>2]=c;ja(a,b,128)}function yd(a){a=a|0;ia(a,104);return a|0}function xd(a){a=a|0;ia(a,104);return 104}function nd(a){a=a|0;ia(a,232);return a|0}function md(a){a=a|0;ia(a,232);return 232}function Od(a){a=a|0;ia(a,304);return a|0}function Nd(a){a=a|0;ia(a,304);return 304}function Cc(a){a=a|0;ia(a,100);return a|0}function pc(a){a=a|0;return F[a+7516>>2]}function nc(a){a=a|0;return F[a+3216>>2]}function le(a,b){a=a|0;b=b|0;return b<<5}function Sc(a){a=a|0;ia(a,36);return a|0}function Lc(a){a=a|0;ia(a,68);return a|0}function yb(a){a=a|0;return G[a+3220|0]}function uc(a,b){a=a|0;b=b|0;return b|0}function td(a){a=a|0;return F[a+100>>2]}function kd(a){a=a|0;return F[a+228>>2]}function dc(a){a=a|0;return Da(Ob(a))|0}function cc(a){a=a|0;return Da(wb(a))|0}function Ta(a,b,c){return ja(a,b,c)+c|0}function Pb(a){a=a|0;return F[a+128>>2]}function Ld(a){a=a|0;return F[a+300>>2]}function Cd(a){a=a|0;return F[a+296>>2]}function jd(a){a=a|0;return Da(232)|0}function Id(a){a=a|0;return Da(301)|0}function Jc(a){a=a|0;return Da(68)|0}function Ua(a){a=a|0;return F[a>>2]}function Ma(a,b,c){return qa(a,b,c)}function za(a,b,c){Jb(c,a+32|0,b)}function me(a){a=a|0;return 100}function gd(a){a=a|0;return 160}function bd(a){a=a|0;return 306}function Yb(a){a=a|0;return 116}function Bd(a){a=a|0;return 220}function rb(a){a=a|0;return 64}function qb(a){a=a|0;return 32}function Wb(a){a=a|0;return 86}function Qa(a){a=a|0;return 43}function xc(a){a=a|0;return 8}function mc(){return 7520}function lc(){return 3320}function zd(){return 104}function od(){return 232}function Wc(){return _|0}function Vc(a){a=a|0;_=a}function Pd(){return 304}function Dc(){return 100}function zc(){return 86}function ub(){return 43}function eb(){return 32}function Tc(){return 36}function Mc(){return 68}function rc(){return-1}function kc(){return 4}function Ub(){} +// EMSCRIPTEN_END_FUNCS +e=G;p(da);var aa=c([null,xc,wc,vc,uc,tc,$c,_c,Zc]);function ba(){return C.byteLength/65536|0}return{"d":Ub,"e":aa,"f":Va,"g":Qd,"h":Ua,"i":Tc,"j":Sc,"k":Rc,"l":Qc,"m":ub,"n":Pc,"o":Oc,"p":qb,"q":Nc,"r":Va,"s":Ua,"t":Mc,"u":Lc,"v":Kc,"w":eb,"x":eb,"y":tb,"z":tb,"A":Jc,"B":Ic,"C":Hc,"D":Gc,"E":Fc,"F":Ec,"G":Dc,"H":Cc,"I":Va,"J":Ua,"K":Bc,"L":eb,"M":ub,"N":Ac,"O":zc,"P":yc,"Q":sc,"R":rc,"S":qc,"T":pc,"U":oc,"V":nc,"W":Va,"X":Ua,"Y":mc,"Z":lc,"_":kc,"$":jc,"aa":ic,"ba":hc,"ca":gc,"da":fc,"ea":ec,"fa":dc,"ga":cc,"ha":bc,"ia":ac,"ja":$b,"ka":_b,"la":rb,"ma":Zb,"na":Yb,"oa":Xb,"pa":Wb,"qa":Vb,"ra":pe,"sa":oe,"ta":ne,"ua":me,"va":le,"wa":ke,"xa":qb,"ya":je,"za":ie,"Aa":he,"Ba":ge,"Ca":fe,"Da":ee,"Ea":rb,"Fa":de,"Ga":ce,"Ha":be,"Ia":Qa,"Ja":ae,"Ka":yb,"La":$d,"Ma":_d,"Na":Zd,"Oa":Yd,"Pa":yb,"Qa":Xd,"Ra":Wd,"Sa":Vd,"Ta":Ud,"Ua":Td,"Va":Qa,"Wa":Sd,"Xa":Rd,"Ya":Pd,"Za":Od,"_a":Nd,"$a":Md,"ab":Ld,"bb":Kd,"cb":Jd,"db":Id,"eb":Hd,"fb":Gd,"gb":Fd,"hb":Ed,"ib":Qa,"jb":Dd,"kb":Pb,"lb":Cd,"mb":Bd,"nb":Ad,"ob":Va,"pb":Ua,"qb":zd,"rb":yd,"sb":xd,"tb":qb,"ub":wd,"vb":Qa,"wb":vd,"xb":ud,"yb":td,"zb":sd,"Ab":Qa,"Bb":rd,"Cb":qd,"Db":pd,"Eb":od,"Fb":nd,"Gb":md,"Hb":ld,"Ib":kd,"Jb":jd,"Kb":id,"Lb":hd,"Mb":gd,"Nb":fd,"Ob":ed,"Pb":dd,"Qb":Qa,"Rb":cd,"Sb":Pb,"Tb":bd,"Ub":ad,"Vb":Yc,"Wb":Xc,"Xb":Wc,"Yb":Vc,"Zb":Uc}}return ca(ea)} +// EMSCRIPTEN_END_ASM + + + + +)(sa)} +function ta(){return{then:function(b){b({instance:new ra})}}}var ua=Error,WebAssembly={};u=[];"object"!==typeof WebAssembly&&t("no native wasm support detected"); +function w(b){var c="i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":x[b>>0]=0;break;case "i8":x[b>>0]=0;break;case "i16":va[b>>1]=0;break;case "i32":y[b>>2]=0;break;case "i64":wa=[0,(xa=0,1<=+Math.abs(xa)?0<xa?(Math.min(+Math.floor(xa/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xa-+(~~xa>>>0))/4294967296)>>>0:0)];y[b>>2]=wa[0];y[b+4>>2]=wa[1];break;case "float":ya[b>>2]=0;break;case "double":za[b>>3]=0;break;default:t("invalid type for setValue: "+c)}} +function Aa(b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":return x[b>>0];case "i8":return x[b>>0];case "i16":return va[b>>1];case "i32":return y[b>>2];case "i64":return y[b>>2];case "float":return ya[b>>2];case "double":return za[b>>3];default:t("invalid type for getValue: "+c)}return null}var Ba,Ca=!1,Da="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0; +function z(b,c){if(b){var d=A,e=b+c;for(c=b;d[c]&&!(c>=e);)++c;if(16<c-b&&d.subarray&&Da)b=Da.decode(d.subarray(b,c));else{for(e="";b<c;){var f=d[b++];if(f&128){var k=d[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|k);else{var p=d[b++]&63;f=224==(f&240)?(f&15)<<12|k<<6|p:(f&7)<<18|k<<12|p<<6|d[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}b=e}}else b="";return b} +function Ea(b,c,d,e){if(!(0<e))return 0;var f=d;e=d+e-1;for(var k=0;k<b.length;++k){var p=b.charCodeAt(k);if(55296<=p&&57343>=p){var v=b.charCodeAt(++k);p=65536+((p&1023)<<10)|v&1023}if(127>=p){if(d>=e)break;c[d++]=p}else{if(2047>=p){if(d+1>=e)break;c[d++]=192|p>>6}else{if(65535>=p){if(d+2>=e)break;c[d++]=224|p>>12}else{if(d+3>=e)break;c[d++]=240|p>>18;c[d++]=128|p>>12&63}c[d++]=128|p>>6&63}c[d++]=128|p&63}}c[d]=0;return d-f} +function Fa(b){for(var c=0,d=0;d<b.length;++d){var e=b.charCodeAt(d);55296<=e&&57343>=e&&(e=65536+((e&1023)<<10)|b.charCodeAt(++d)&1023);127>=e?++c:c=2047>=e?c+2:65535>=e?c+3:c+4}return c}function Ga(b,c){for(var d=0;d<b.length;++d)x[c++>>0]=b.charCodeAt(d)}var Ia,x,A,va,y,ya,za,qa=a.INITIAL_MEMORY||16777216;a.wasmMemory?Ba=a.wasmMemory:Ba=new pa;Ba&&(Ia=Ba.buffer);qa=Ia.byteLength;var B=Ia;Ia=B;a.HEAP8=x=new Int8Array(B);a.HEAP16=va=new Int16Array(B);a.HEAP32=y=new Int32Array(B);a.HEAPU8=A=new Uint8Array(B); +a.HEAPU16=new Uint16Array(B);a.HEAPU32=new Uint32Array(B);a.HEAPF32=ya=new Float32Array(B);a.HEAPF64=za=new Float64Array(B);var Ja,Ka=[],La=[],Ma=[];function Na(){var b=a.preRun.shift();Ka.unshift(b)}var C=0,Oa=null,Pa=null;a.preloadedImages={};a.preloadedAudios={};function t(b){if(a.onAbort)a.onAbort(b);oa(b);Ca=!0;b=new ua("abort("+b+"). Build with -s ASSERTIONS=1 for more info.");ba(b);throw b;}var Qa="data:application/octet-stream;base64,",D;D="olm_legacy.wasm"; +if(!D.startsWith(Qa)){var Ra=D;D=a.locateFile?a.locateFile(Ra,m):m+Ra}function Sa(){var b=D;try{if(b==D&&u)return new Uint8Array(u);var c=r(b);if(c)return c;if(ma)return ma(b);throw"both async and sync fetching of the wasm failed";}catch(d){t(d)}} +function Ta(){if(!u&&(fa||ha)){if("function"===typeof fetch&&!D.startsWith("file://"))return fetch(D,{credentials:"same-origin"}).then(function(b){if(!b.ok)throw"failed to load wasm binary file at '"+D+"'";return b.arrayBuffer()}).catch(function(){return Sa()});if(la)return new Promise(function(b,c){la(D,function(d){b(new Uint8Array(d))},c)})}return Promise.resolve().then(function(){return Sa()})}var xa,wa; +function Ua(b){for(;0<b.length;){var c=b.shift();if("function"==typeof c)c(a);else{var d=c.cc;"number"===typeof d?void 0===c.bc?Ja.get(d)():Ja.get(d)(c.bc):d(void 0===c.bc?null:c.bc)}}} +var na=!1,Va="function"===typeof atob?atob:function(b){var c="",d=0;b=b.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));var p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));e=e<< +2|f>>4;f=(f&15)<<4|k>>2;var v=(k&3)<<6|p;c+=String.fromCharCode(e);64!==k&&(c+=String.fromCharCode(f));64!==p&&(c+=String.fromCharCode(v))}while(d<b.length);return c}; +function r(b){if(b.startsWith(Qa)){b=b.slice(Qa.length);if("boolean"===typeof ia&&ia){var c=Buffer.from(b,"base64");c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)}else try{var d=Va(b),e=new Uint8Array(d.length);for(b=0;b<d.length;++b)e[b]=d.charCodeAt(b);c=e}catch(f){throw Error("Converting base64 string to bytes failed.");}return c}}var sa={b:function(b,c,d){A.copyWithin(b,c,c+d)},c:function(){t("OOM")},a:Ba}; +(function(){function b(f){a.asm=f.exports;Ja=a.asm.e;La.unshift(a.asm.d);C--;a.monitorRunDependencies&&a.monitorRunDependencies(C);0==C&&(null!==Oa&&(clearInterval(Oa),Oa=null),Pa&&(f=Pa,Pa=null,f()))}function c(f){b(f.instance)}function d(f){return Ta().then(function(){return ta()}).then(function(k){return k}).then(f,function(k){oa("failed to asynchronously prepare wasm: "+k);t(k)})}var e={a:sa};C++;a.monitorRunDependencies&&a.monitorRunDependencies(C);if(a.instantiateWasm)try{return a.instantiateWasm(e, +b)}catch(f){return oa("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return u||"function"!==typeof WebAssembly.instantiateStreaming||D.startsWith(Qa)||D.startsWith("file://")||"function"!==typeof fetch?d(c):fetch(D,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(c,function(k){oa("wasm streaming compile failed: "+k);oa("falling back to ArrayBuffer instantiation");return d(c)})})})().catch(ba);return{}})(); +a.___wasm_call_ctors=function(){return(a.___wasm_call_ctors=a.asm.d).apply(null,arguments)};a._olm_pk_encryption_last_error=function(){return(a._olm_pk_encryption_last_error=a.asm.f).apply(null,arguments)};a.__olm_error_to_string=function(){return(a.__olm_error_to_string=a.asm.g).apply(null,arguments)};a._olm_pk_encryption_last_error_code=function(){return(a._olm_pk_encryption_last_error_code=a.asm.h).apply(null,arguments)}; +a._olm_pk_encryption_size=function(){return(a._olm_pk_encryption_size=a.asm.i).apply(null,arguments)};a._olm_pk_encryption=function(){return(a._olm_pk_encryption=a.asm.j).apply(null,arguments)};a._olm_clear_pk_encryption=function(){return(a._olm_clear_pk_encryption=a.asm.k).apply(null,arguments)};a._olm_pk_encryption_set_recipient_key=function(){return(a._olm_pk_encryption_set_recipient_key=a.asm.l).apply(null,arguments)}; +a._olm_pk_key_length=function(){return(a._olm_pk_key_length=a.asm.m).apply(null,arguments)};a._olm_pk_ciphertext_length=function(){return(a._olm_pk_ciphertext_length=a.asm.n).apply(null,arguments)};a._olm_pk_mac_length=function(){return(a._olm_pk_mac_length=a.asm.o).apply(null,arguments)};a._olm_pk_encrypt_random_length=function(){return(a._olm_pk_encrypt_random_length=a.asm.p).apply(null,arguments)};a._olm_pk_encrypt=function(){return(a._olm_pk_encrypt=a.asm.q).apply(null,arguments)}; +a._olm_pk_decryption_last_error=function(){return(a._olm_pk_decryption_last_error=a.asm.r).apply(null,arguments)};a._olm_pk_decryption_last_error_code=function(){return(a._olm_pk_decryption_last_error_code=a.asm.s).apply(null,arguments)};a._olm_pk_decryption_size=function(){return(a._olm_pk_decryption_size=a.asm.t).apply(null,arguments)};a._olm_pk_decryption=function(){return(a._olm_pk_decryption=a.asm.u).apply(null,arguments)}; +a._olm_clear_pk_decryption=function(){return(a._olm_clear_pk_decryption=a.asm.v).apply(null,arguments)};a._olm_pk_private_key_length=function(){return(a._olm_pk_private_key_length=a.asm.w).apply(null,arguments)};a._olm_pk_generate_key_random_length=function(){return(a._olm_pk_generate_key_random_length=a.asm.x).apply(null,arguments)};a._olm_pk_key_from_private=function(){return(a._olm_pk_key_from_private=a.asm.y).apply(null,arguments)}; +a._olm_pk_generate_key=function(){return(a._olm_pk_generate_key=a.asm.z).apply(null,arguments)};a._olm_pickle_pk_decryption_length=function(){return(a._olm_pickle_pk_decryption_length=a.asm.A).apply(null,arguments)};a._olm_pickle_pk_decryption=function(){return(a._olm_pickle_pk_decryption=a.asm.B).apply(null,arguments)};a._olm_unpickle_pk_decryption=function(){return(a._olm_unpickle_pk_decryption=a.asm.C).apply(null,arguments)}; +a._olm_pk_max_plaintext_length=function(){return(a._olm_pk_max_plaintext_length=a.asm.D).apply(null,arguments)};a._olm_pk_decrypt=function(){return(a._olm_pk_decrypt=a.asm.E).apply(null,arguments)};a._olm_pk_get_private_key=function(){return(a._olm_pk_get_private_key=a.asm.F).apply(null,arguments)};a._olm_pk_signing_size=function(){return(a._olm_pk_signing_size=a.asm.G).apply(null,arguments)};a._olm_pk_signing=function(){return(a._olm_pk_signing=a.asm.H).apply(null,arguments)}; +a._olm_pk_signing_last_error=function(){return(a._olm_pk_signing_last_error=a.asm.I).apply(null,arguments)};a._olm_pk_signing_last_error_code=function(){return(a._olm_pk_signing_last_error_code=a.asm.J).apply(null,arguments)};a._olm_clear_pk_signing=function(){return(a._olm_clear_pk_signing=a.asm.K).apply(null,arguments)};a._olm_pk_signing_seed_length=function(){return(a._olm_pk_signing_seed_length=a.asm.L).apply(null,arguments)}; +a._olm_pk_signing_public_key_length=function(){return(a._olm_pk_signing_public_key_length=a.asm.M).apply(null,arguments)};a._olm_pk_signing_key_from_seed=function(){return(a._olm_pk_signing_key_from_seed=a.asm.N).apply(null,arguments)};a._olm_pk_signature_length=function(){return(a._olm_pk_signature_length=a.asm.O).apply(null,arguments)};a._olm_pk_sign=function(){return(a._olm_pk_sign=a.asm.P).apply(null,arguments)}; +a._olm_get_library_version=function(){return(a._olm_get_library_version=a.asm.Q).apply(null,arguments)};a._olm_error=function(){return(a._olm_error=a.asm.R).apply(null,arguments)};a._olm_account_last_error=function(){return(a._olm_account_last_error=a.asm.S).apply(null,arguments)};a._olm_account_last_error_code=function(){return(a._olm_account_last_error_code=a.asm.T).apply(null,arguments)};a._olm_session_last_error=function(){return(a._olm_session_last_error=a.asm.U).apply(null,arguments)}; +a._olm_session_last_error_code=function(){return(a._olm_session_last_error_code=a.asm.V).apply(null,arguments)};a._olm_utility_last_error=function(){return(a._olm_utility_last_error=a.asm.W).apply(null,arguments)};a._olm_utility_last_error_code=function(){return(a._olm_utility_last_error_code=a.asm.X).apply(null,arguments)};a._olm_account_size=function(){return(a._olm_account_size=a.asm.Y).apply(null,arguments)};a._olm_session_size=function(){return(a._olm_session_size=a.asm.Z).apply(null,arguments)}; +a._olm_utility_size=function(){return(a._olm_utility_size=a.asm._).apply(null,arguments)};a._olm_account=function(){return(a._olm_account=a.asm.$).apply(null,arguments)};a._olm_session=function(){return(a._olm_session=a.asm.aa).apply(null,arguments)};a._olm_utility=function(){return(a._olm_utility=a.asm.ba).apply(null,arguments)};a._olm_clear_account=function(){return(a._olm_clear_account=a.asm.ca).apply(null,arguments)}; +a._olm_clear_session=function(){return(a._olm_clear_session=a.asm.da).apply(null,arguments)};a._olm_clear_utility=function(){return(a._olm_clear_utility=a.asm.ea).apply(null,arguments)};a._olm_pickle_account_length=function(){return(a._olm_pickle_account_length=a.asm.fa).apply(null,arguments)};a._olm_pickle_session_length=function(){return(a._olm_pickle_session_length=a.asm.ga).apply(null,arguments)};a._olm_pickle_account=function(){return(a._olm_pickle_account=a.asm.ha).apply(null,arguments)}; +a._olm_pickle_session=function(){return(a._olm_pickle_session=a.asm.ia).apply(null,arguments)};a._olm_unpickle_account=function(){return(a._olm_unpickle_account=a.asm.ja).apply(null,arguments)};a._olm_unpickle_session=function(){return(a._olm_unpickle_session=a.asm.ka).apply(null,arguments)};a._olm_create_account_random_length=function(){return(a._olm_create_account_random_length=a.asm.la).apply(null,arguments)};a._olm_create_account=function(){return(a._olm_create_account=a.asm.ma).apply(null,arguments)}; +a._olm_account_identity_keys_length=function(){return(a._olm_account_identity_keys_length=a.asm.na).apply(null,arguments)};a._olm_account_identity_keys=function(){return(a._olm_account_identity_keys=a.asm.oa).apply(null,arguments)};a._olm_account_signature_length=function(){return(a._olm_account_signature_length=a.asm.pa).apply(null,arguments)};a._olm_account_sign=function(){return(a._olm_account_sign=a.asm.qa).apply(null,arguments)}; +a._olm_account_one_time_keys_length=function(){return(a._olm_account_one_time_keys_length=a.asm.ra).apply(null,arguments)};a._olm_account_one_time_keys=function(){return(a._olm_account_one_time_keys=a.asm.sa).apply(null,arguments)};a._olm_account_mark_keys_as_published=function(){return(a._olm_account_mark_keys_as_published=a.asm.ta).apply(null,arguments)};a._olm_account_max_number_of_one_time_keys=function(){return(a._olm_account_max_number_of_one_time_keys=a.asm.ua).apply(null,arguments)}; +a._olm_account_generate_one_time_keys_random_length=function(){return(a._olm_account_generate_one_time_keys_random_length=a.asm.va).apply(null,arguments)};a._olm_account_generate_one_time_keys=function(){return(a._olm_account_generate_one_time_keys=a.asm.wa).apply(null,arguments)};a._olm_account_generate_fallback_key_random_length=function(){return(a._olm_account_generate_fallback_key_random_length=a.asm.xa).apply(null,arguments)}; +a._olm_account_generate_fallback_key=function(){return(a._olm_account_generate_fallback_key=a.asm.ya).apply(null,arguments)};a._olm_account_fallback_key_length=function(){return(a._olm_account_fallback_key_length=a.asm.za).apply(null,arguments)};a._olm_account_fallback_key=function(){return(a._olm_account_fallback_key=a.asm.Aa).apply(null,arguments)};a._olm_account_unpublished_fallback_key_length=function(){return(a._olm_account_unpublished_fallback_key_length=a.asm.Ba).apply(null,arguments)}; +a._olm_account_unpublished_fallback_key=function(){return(a._olm_account_unpublished_fallback_key=a.asm.Ca).apply(null,arguments)};a._olm_account_forget_old_fallback_key=function(){return(a._olm_account_forget_old_fallback_key=a.asm.Da).apply(null,arguments)};a._olm_create_outbound_session_random_length=function(){return(a._olm_create_outbound_session_random_length=a.asm.Ea).apply(null,arguments)}; +a._olm_create_outbound_session=function(){return(a._olm_create_outbound_session=a.asm.Fa).apply(null,arguments)};a._olm_create_inbound_session=function(){return(a._olm_create_inbound_session=a.asm.Ga).apply(null,arguments)};a._olm_create_inbound_session_from=function(){return(a._olm_create_inbound_session_from=a.asm.Ha).apply(null,arguments)};a._olm_session_id_length=function(){return(a._olm_session_id_length=a.asm.Ia).apply(null,arguments)}; +a._olm_session_id=function(){return(a._olm_session_id=a.asm.Ja).apply(null,arguments)};a._olm_session_has_received_message=function(){return(a._olm_session_has_received_message=a.asm.Ka).apply(null,arguments)};a._olm_session_describe=function(){return(a._olm_session_describe=a.asm.La).apply(null,arguments)};a._olm_matches_inbound_session=function(){return(a._olm_matches_inbound_session=a.asm.Ma).apply(null,arguments)}; +a._olm_matches_inbound_session_from=function(){return(a._olm_matches_inbound_session_from=a.asm.Na).apply(null,arguments)};a._olm_remove_one_time_keys=function(){return(a._olm_remove_one_time_keys=a.asm.Oa).apply(null,arguments)};a._olm_encrypt_message_type=function(){return(a._olm_encrypt_message_type=a.asm.Pa).apply(null,arguments)};a._olm_encrypt_random_length=function(){return(a._olm_encrypt_random_length=a.asm.Qa).apply(null,arguments)}; +a._olm_encrypt_message_length=function(){return(a._olm_encrypt_message_length=a.asm.Ra).apply(null,arguments)};a._olm_encrypt=function(){return(a._olm_encrypt=a.asm.Sa).apply(null,arguments)};a._olm_decrypt_max_plaintext_length=function(){return(a._olm_decrypt_max_plaintext_length=a.asm.Ta).apply(null,arguments)};a._olm_decrypt=function(){return(a._olm_decrypt=a.asm.Ua).apply(null,arguments)};a._olm_sha256_length=function(){return(a._olm_sha256_length=a.asm.Va).apply(null,arguments)}; +a._olm_sha256=function(){return(a._olm_sha256=a.asm.Wa).apply(null,arguments)};a._olm_ed25519_verify=function(){return(a._olm_ed25519_verify=a.asm.Xa).apply(null,arguments)};a._olm_inbound_group_session_size=function(){return(a._olm_inbound_group_session_size=a.asm.Ya).apply(null,arguments)};a._olm_inbound_group_session=function(){return(a._olm_inbound_group_session=a.asm.Za).apply(null,arguments)}; +a._olm_clear_inbound_group_session=function(){return(a._olm_clear_inbound_group_session=a.asm._a).apply(null,arguments)};a._olm_inbound_group_session_last_error=function(){return(a._olm_inbound_group_session_last_error=a.asm.$a).apply(null,arguments)};a._olm_inbound_group_session_last_error_code=function(){return(a._olm_inbound_group_session_last_error_code=a.asm.ab).apply(null,arguments)};a._olm_init_inbound_group_session=function(){return(a._olm_init_inbound_group_session=a.asm.bb).apply(null,arguments)}; +a._olm_import_inbound_group_session=function(){return(a._olm_import_inbound_group_session=a.asm.cb).apply(null,arguments)};a._olm_pickle_inbound_group_session_length=function(){return(a._olm_pickle_inbound_group_session_length=a.asm.db).apply(null,arguments)};a._olm_pickle_inbound_group_session=function(){return(a._olm_pickle_inbound_group_session=a.asm.eb).apply(null,arguments)};a._olm_unpickle_inbound_group_session=function(){return(a._olm_unpickle_inbound_group_session=a.asm.fb).apply(null,arguments)}; +a._olm_group_decrypt_max_plaintext_length=function(){return(a._olm_group_decrypt_max_plaintext_length=a.asm.gb).apply(null,arguments)};a._olm_group_decrypt=function(){return(a._olm_group_decrypt=a.asm.hb).apply(null,arguments)};a._olm_inbound_group_session_id_length=function(){return(a._olm_inbound_group_session_id_length=a.asm.ib).apply(null,arguments)};a._olm_inbound_group_session_id=function(){return(a._olm_inbound_group_session_id=a.asm.jb).apply(null,arguments)}; +a._olm_inbound_group_session_first_known_index=function(){return(a._olm_inbound_group_session_first_known_index=a.asm.kb).apply(null,arguments)};a._olm_inbound_group_session_is_verified=function(){return(a._olm_inbound_group_session_is_verified=a.asm.lb).apply(null,arguments)};a._olm_export_inbound_group_session_length=function(){return(a._olm_export_inbound_group_session_length=a.asm.mb).apply(null,arguments)}; +a._olm_export_inbound_group_session=function(){return(a._olm_export_inbound_group_session=a.asm.nb).apply(null,arguments)};a._olm_sas_last_error=function(){return(a._olm_sas_last_error=a.asm.ob).apply(null,arguments)};a._olm_sas_last_error_code=function(){return(a._olm_sas_last_error_code=a.asm.pb).apply(null,arguments)};a._olm_sas_size=function(){return(a._olm_sas_size=a.asm.qb).apply(null,arguments)};a._olm_sas=function(){return(a._olm_sas=a.asm.rb).apply(null,arguments)}; +a._olm_clear_sas=function(){return(a._olm_clear_sas=a.asm.sb).apply(null,arguments)};a._olm_create_sas_random_length=function(){return(a._olm_create_sas_random_length=a.asm.tb).apply(null,arguments)};a._olm_create_sas=function(){return(a._olm_create_sas=a.asm.ub).apply(null,arguments)};a._olm_sas_pubkey_length=function(){return(a._olm_sas_pubkey_length=a.asm.vb).apply(null,arguments)};a._olm_sas_get_pubkey=function(){return(a._olm_sas_get_pubkey=a.asm.wb).apply(null,arguments)}; +a._olm_sas_set_their_key=function(){return(a._olm_sas_set_their_key=a.asm.xb).apply(null,arguments)};a._olm_sas_is_their_key_set=function(){return(a._olm_sas_is_their_key_set=a.asm.yb).apply(null,arguments)};a._olm_sas_generate_bytes=function(){return(a._olm_sas_generate_bytes=a.asm.zb).apply(null,arguments)};a._olm_sas_mac_length=function(){return(a._olm_sas_mac_length=a.asm.Ab).apply(null,arguments)}; +a._olm_sas_calculate_mac_fixed_base64=function(){return(a._olm_sas_calculate_mac_fixed_base64=a.asm.Bb).apply(null,arguments)};a._olm_sas_calculate_mac=function(){return(a._olm_sas_calculate_mac=a.asm.Cb).apply(null,arguments)};a._olm_sas_calculate_mac_long_kdf=function(){return(a._olm_sas_calculate_mac_long_kdf=a.asm.Db).apply(null,arguments)};a._olm_outbound_group_session_size=function(){return(a._olm_outbound_group_session_size=a.asm.Eb).apply(null,arguments)}; +a._olm_outbound_group_session=function(){return(a._olm_outbound_group_session=a.asm.Fb).apply(null,arguments)};a._olm_clear_outbound_group_session=function(){return(a._olm_clear_outbound_group_session=a.asm.Gb).apply(null,arguments)};a._olm_outbound_group_session_last_error=function(){return(a._olm_outbound_group_session_last_error=a.asm.Hb).apply(null,arguments)};a._olm_outbound_group_session_last_error_code=function(){return(a._olm_outbound_group_session_last_error_code=a.asm.Ib).apply(null,arguments)}; +a._olm_pickle_outbound_group_session_length=function(){return(a._olm_pickle_outbound_group_session_length=a.asm.Jb).apply(null,arguments)};a._olm_pickle_outbound_group_session=function(){return(a._olm_pickle_outbound_group_session=a.asm.Kb).apply(null,arguments)};a._olm_unpickle_outbound_group_session=function(){return(a._olm_unpickle_outbound_group_session=a.asm.Lb).apply(null,arguments)}; +a._olm_init_outbound_group_session_random_length=function(){return(a._olm_init_outbound_group_session_random_length=a.asm.Mb).apply(null,arguments)};a._olm_init_outbound_group_session=function(){return(a._olm_init_outbound_group_session=a.asm.Nb).apply(null,arguments)};a._olm_group_encrypt_message_length=function(){return(a._olm_group_encrypt_message_length=a.asm.Ob).apply(null,arguments)};a._olm_group_encrypt=function(){return(a._olm_group_encrypt=a.asm.Pb).apply(null,arguments)}; +a._olm_outbound_group_session_id_length=function(){return(a._olm_outbound_group_session_id_length=a.asm.Qb).apply(null,arguments)};a._olm_outbound_group_session_id=function(){return(a._olm_outbound_group_session_id=a.asm.Rb).apply(null,arguments)};a._olm_outbound_group_session_message_index=function(){return(a._olm_outbound_group_session_message_index=a.asm.Sb).apply(null,arguments)}; +a._olm_outbound_group_session_key_length=function(){return(a._olm_outbound_group_session_key_length=a.asm.Tb).apply(null,arguments)};a._olm_outbound_group_session_key=function(){return(a._olm_outbound_group_session_key=a.asm.Ub).apply(null,arguments)};a._malloc=function(){return(a._malloc=a.asm.Vb).apply(null,arguments)};a._free=function(){return(a._free=a.asm.Wb).apply(null,arguments)}; +var Wa=a.stackSave=function(){return(Wa=a.stackSave=a.asm.Xb).apply(null,arguments)},Xa=a.stackRestore=function(){return(Xa=a.stackRestore=a.asm.Yb).apply(null,arguments)},Ya=a.stackAlloc=function(){return(Ya=a.stackAlloc=a.asm.Zb).apply(null,arguments)};a.ALLOC_STACK=1;var Za;Pa=function $a(){Za||ab();Za||(Pa=$a)}; +function ab(){function b(){if(!Za&&(Za=!0,a.calledRun=!0,!Ca)){Ua(La);aa(a);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var c=a.postRun.shift();Ma.unshift(c)}Ua(Ma)}}if(!(0<C)){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)Na();Ua(Ka);0<C||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1);b()},1)):b())}}a.run=ab; +if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();ab();function E(){var b=a._olm_outbound_group_session_size();this.ac=F(b);this.$b=a._olm_outbound_group_session(this.ac)}function G(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=z(a._olm_outbound_group_session_last_error(arguments[0])),Error("OLM."+c);return c}}E.prototype.free=function(){a._olm_clear_outbound_group_session(this.$b);I(this.$b)}; +E.prototype.pickle=J(function(b){b=K(b);var c=G(a._olm_pickle_outbound_group_session_length)(this.$b),d=L(b),e=L(c+1);try{G(a._olm_pickle_outbound_group_session)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return z(e,c)});E.prototype.unpickle=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c);try{G(a._olm_unpickle_outbound_group_session)(this.$b,d,b.length,e,c.length)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}}); +E.prototype.create=J(function(){var b=G(a._olm_init_outbound_group_session_random_length)(this.$b),c=N(b,g);try{G(a._olm_init_outbound_group_session)(this.$b,c,b)}finally{M(c,b)}});E.prototype.encrypt=function(b){try{var c=Fa(b);var d=G(a._olm_group_encrypt_message_length)(this.$b,c);var e=F(c+1);Ea(b,A,e,c+1);var f=F(d+1);G(a._olm_group_encrypt)(this.$b,e,c,f,d);w(f+d);return z(f,d)}finally{void 0!==e&&(M(e,c+1),I(e)),void 0!==f&&I(f)}}; +E.prototype.session_id=J(function(){var b=G(a._olm_outbound_group_session_id_length)(this.$b),c=L(b+1);G(a._olm_outbound_group_session_id)(this.$b,c,b);return z(c,b)});E.prototype.session_key=J(function(){var b=G(a._olm_outbound_group_session_key_length)(this.$b),c=L(b+1);G(a._olm_outbound_group_session_key)(this.$b,c,b);var d=z(c,b);M(c,b);return d});E.prototype.message_index=function(){return G(a._olm_outbound_group_session_message_index)(this.$b)};olm_exports.OutboundGroupSession=E; +function O(){var b=a._olm_inbound_group_session_size();this.ac=F(b);this.$b=a._olm_inbound_group_session(this.ac)}function P(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=z(a._olm_inbound_group_session_last_error(arguments[0])),Error("OLM."+c);return c}}O.prototype.free=function(){a._olm_clear_inbound_group_session(this.$b);I(this.$b)}; +O.prototype.pickle=J(function(b){b=K(b);var c=P(a._olm_pickle_inbound_group_session_length)(this.$b),d=L(b),e=L(c+1);try{P(a._olm_pickle_inbound_group_session)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return z(e,c)});O.prototype.unpickle=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c);try{P(a._olm_unpickle_inbound_group_session)(this.$b,d,b.length,e,c.length)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}}); +O.prototype.create=J(function(b){b=K(b);var c=L(b);try{P(a._olm_init_inbound_group_session)(this.$b,c,b.length)}finally{for(M(c,b.length),c=0;c<b.length;c++)b[c]=0}});O.prototype.import_session=J(function(b){b=K(b);var c=L(b);try{P(a._olm_import_inbound_group_session)(this.$b,c,b.length)}finally{for(M(c,b.length),c=0;c<b.length;c++)b[c]=0}}); +O.prototype.decrypt=J(function(b){try{var c=F(b.length);Ga(b,c);var d=P(a._olm_group_decrypt_max_plaintext_length)(this.$b,c,b.length);Ga(b,c);var e=F(d+1);var f=L(4);var k=P(a._olm_group_decrypt)(this.$b,c,b.length,e,d,f);w(e+k);return{plaintext:z(e,k),message_index:Aa(f,"i32")}}finally{void 0!==c&&I(c),void 0!==e&&(M(e,k),I(e))}});O.prototype.session_id=J(function(){var b=P(a._olm_inbound_group_session_id_length)(this.$b),c=L(b+1);P(a._olm_inbound_group_session_id)(this.$b,c,b);return z(c,b)}); +O.prototype.first_known_index=J(function(){return P(a._olm_inbound_group_session_first_known_index)(this.$b)});O.prototype.export_session=J(function(b){var c=P(a._olm_export_inbound_group_session_length)(this.$b),d=L(c+1);G(a._olm_export_inbound_group_session)(this.$b,d,c,b);b=z(d,c);M(d,c);return b});olm_exports.InboundGroupSession=O;function bb(){var b=a._olm_pk_encryption_size();this.ac=F(b);this.$b=a._olm_pk_encryption(this.ac)} +function Q(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=z(a._olm_pk_encryption_last_error(arguments[0])),Error("OLM."+c);return c}}bb.prototype.free=function(){a._olm_clear_pk_encryption(this.$b);I(this.$b)};bb.prototype.set_recipient_key=J(function(b){b=K(b);var c=L(b);Q(a._olm_pk_encryption_set_recipient_key)(this.$b,c,b.length)}); +bb.prototype.encrypt=J(function(b){try{var c=Fa(b);var d=F(c+1);Ea(b,A,d,c+1);var e=Q(a._olm_pk_encrypt_random_length)();var f=N(e,g);var k=Q(a._olm_pk_ciphertext_length)(this.$b,c);var p=F(k+1);var v=Q(a._olm_pk_mac_length)(this.$b),ja=L(v+1);w(ja+v);var T=Q(a._olm_pk_key_length)(),H=L(T+1);w(H+T);Q(a._olm_pk_encrypt)(this.$b,d,c,p,k,ja,v,H,T,f,e);w(p+k);return{ciphertext:z(p,k),mac:z(ja,v),ephemeral:z(H,T)}}finally{void 0!==f&&M(f,e),void 0!==d&&(M(d,c+1),I(d)),void 0!==p&&I(p)}}); +function R(){var b=a._olm_pk_decryption_size();this.ac=F(b);this.$b=a._olm_pk_decryption(this.ac)}function S(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=z(a._olm_pk_decryption_last_error(arguments[0])),Error("OLM."+c);return c}}R.prototype.free=function(){a._olm_clear_pk_decryption(this.$b);I(this.$b)}; +R.prototype.init_with_private_key=J(function(b){var c=L(b.length);a.HEAPU8.set(b,c);var d=S(a._olm_pk_key_length)(),e=L(d+1);try{S(a._olm_pk_key_from_private)(this.$b,e,d,c,b.length)}finally{M(c,b.length)}return z(e,d)});R.prototype.generate_key=J(function(){var b=S(a._olm_pk_private_key_length)(),c=N(b,g),d=S(a._olm_pk_key_length)(),e=L(d+1);try{S(a._olm_pk_key_from_private)(this.$b,e,d,c,b)}finally{M(c,b)}return z(e,d)}); +R.prototype.get_private_key=J(function(){var b=Q(a._olm_pk_private_key_length)(),c=L(b);S(a._olm_pk_get_private_key)(this.$b,c,b);var d=new Uint8Array(new Uint8Array(a.HEAPU8.buffer,c,b));M(c,b);return d});R.prototype.pickle=J(function(b){b=K(b);var c=S(a._olm_pickle_pk_decryption_length)(this.$b),d=L(b),e=L(c+1);try{S(a._olm_pickle_pk_decryption)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return z(e,c)}); +R.prototype.unpickle=J(function(b,c){b=K(b);var d=L(b),e=K(c),f=L(e);c=S(a._olm_pk_key_length)();var k=L(c+1);try{S(a._olm_unpickle_pk_decryption)(this.$b,d,b.length,f,e.length,k,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return z(k,c)}); +R.prototype.decrypt=J(function(b,c,d){try{var e=Fa(d);var f=F(e+1);Ea(d,A,f,e+1);var k=K(b),p=L(k),v=K(c),ja=L(v);var T=S(a._olm_pk_max_plaintext_length)(this.$b,e);var H=F(T+1);var Ha=S(a._olm_pk_decrypt)(this.$b,p,k.length,ja,v.length,f,e,H,T);w(H+Ha);return z(H,Ha)}finally{void 0!==H&&(M(H,Ha+1),I(H)),void 0!==f&&I(f)}});function cb(){var b=a._olm_pk_signing_size();this.ac=F(b);this.$b=a._olm_pk_signing(this.ac)} +function db(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=z(a._olm_pk_signing_last_error(arguments[0])),Error("OLM."+c);return c}}cb.prototype.free=function(){a._olm_clear_pk_signing(this.$b);I(this.$b)};cb.prototype.init_with_seed=J(function(b){var c=L(b.length);a.HEAPU8.set(b,c);var d=db(a._olm_pk_signing_public_key_length)(),e=L(d+1);try{db(a._olm_pk_signing_key_from_seed)(this.$b,e,d,c,b.length)}finally{M(c,b.length)}return z(e,d)}); +cb.prototype.generate_seed=J(function(){var b=db(a._olm_pk_signing_seed_length)(),c=N(b,g),d=new Uint8Array(new Uint8Array(a.HEAPU8.buffer,c,b));M(c,b);return d});cb.prototype.sign=J(function(b){try{var c=Fa(b);var d=F(c+1);Ea(b,A,d,c+1);var e=db(a._olm_pk_signature_length)(),f=L(e+1);db(a._olm_pk_sign)(this.$b,d,c,f,e);return z(f,e)}finally{void 0!==d&&(M(d,c+1),I(d))}}); +function U(){var b=a._olm_sas_size(),c=a._olm_create_sas_random_length(),d=N(c,g);this.ac=F(b);this.$b=a._olm_sas(this.ac);a._olm_create_sas(this.$b,d,c);M(d,c)}function V(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=z(a._olm_sas_last_error(arguments[0])),Error("OLM."+c);return c}}U.prototype.free=function(){a._olm_clear_sas(this.$b);I(this.$b)}; +U.prototype.get_pubkey=J(function(){var b=V(a._olm_sas_pubkey_length)(this.$b),c=L(b+1);V(a._olm_sas_get_pubkey)(this.$b,c,b);return z(c,b)});U.prototype.set_their_key=J(function(b){b=K(b);var c=L(b);V(a._olm_sas_set_their_key)(this.$b,c,b.length)});U.prototype.is_their_key_set=J(function(){return V(a._olm_sas_is_their_key_set)(this.$b)?!0:!1}); +U.prototype.generate_bytes=J(function(b,c){b=K(b);var d=L(b),e=L(c);V(a._olm_sas_generate_bytes)(this.$b,d,b.length,e,c);return new Uint8Array(new Uint8Array(a.HEAPU8.buffer,e,c))});U.prototype.calculate_mac=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c),f=V(a._olm_sas_mac_length)(this.$b),k=L(f+1);V(a._olm_sas_calculate_mac)(this.$b,d,b.length,e,c.length,k,f);return z(k,f)}); +U.prototype.calculate_mac_long_kdf=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c),f=V(a._olm_sas_mac_length)(this.$b),k=L(f+1);V(a._olm_sas_calculate_mac_long_kdf)(this.$b,d,b.length,e,c.length,k,f);return z(k,f)});var F=a._malloc,I=a._free,h;function N(b,c){var d=Ya(b);c(new Uint8Array(a.HEAPU8.buffer,d,b));return d}function L(b){return"number"==typeof b?N(b,function(c){c.fill(0)}):N(b.length,function(c){c.set(b)})} +function K(b){if(b instanceof Uint8Array)var c=b;else c=Array(Fa(b)+1),b=Ea(b,c,0,c.length),c.length=b;return c}function J(b){return function(){var c=Wa();try{return b.apply(this,arguments)}finally{Xa(c)}}}function M(b,c){for(;0<c--;)a.HEAP8[b++]=0}function W(){var b=a._olm_account_size();this.ac=F(b);this.$b=a._olm_account(this.ac)}function X(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=z(a._olm_account_last_error(arguments[0])),Error("OLM."+c);return c}} +W.prototype.free=function(){a._olm_clear_account(this.$b);I(this.$b)};W.prototype.create=J(function(){var b=X(a._olm_create_account_random_length)(this.$b),c=N(b,g);try{X(a._olm_create_account)(this.$b,c,b)}finally{M(c,b)}});W.prototype.identity_keys=J(function(){var b=X(a._olm_account_identity_keys_length)(this.$b),c=L(b+1);X(a._olm_account_identity_keys)(this.$b,c,b);return z(c,b)}); +W.prototype.sign=J(function(b){var c=X(a._olm_account_signature_length)(this.$b);b=K(b);var d=L(b),e=L(c+1);try{X(a._olm_account_sign)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return z(e,c)});W.prototype.one_time_keys=J(function(){var b=X(a._olm_account_one_time_keys_length)(this.$b),c=L(b+1);X(a._olm_account_one_time_keys)(this.$b,c,b);return z(c,b)});W.prototype.mark_keys_as_published=J(function(){X(a._olm_account_mark_keys_as_published)(this.$b)}); +W.prototype.max_number_of_one_time_keys=J(function(){return X(a._olm_account_max_number_of_one_time_keys)(this.$b)});W.prototype.generate_one_time_keys=J(function(b){var c=X(a._olm_account_generate_one_time_keys_random_length)(this.$b,b),d=N(c,g);try{X(a._olm_account_generate_one_time_keys)(this.$b,b,d,c)}finally{M(d,c)}});W.prototype.remove_one_time_keys=J(function(b){X(a._olm_remove_one_time_keys)(this.$b,b.$b)}); +W.prototype.generate_fallback_key=J(function(){var b=X(a._olm_account_generate_fallback_key_random_length)(this.$b),c=N(b,g);try{X(a._olm_account_generate_fallback_key)(this.$b,c,b)}finally{M(c,b)}});W.prototype.fallback_key=J(function(){var b=X(a._olm_account_fallback_key_length)(this.$b),c=L(b+1);X(a._olm_account_fallback_key)(this.$b,c,b);return z(c,b)}); +W.prototype.unpublished_fallback_key=J(function(){var b=X(a._olm_account_unpublished_fallback_key_length)(this.$b),c=L(b+1);X(a._olm_account_unpublished_fallback_key)(this.$b,c,b);return z(c,b)});W.prototype.forget_old_fallback_key=J(function(){X(a._olm_account_forget_old_fallback_key)(this.$b)}); +W.prototype.pickle=J(function(b){b=K(b);var c=X(a._olm_pickle_account_length)(this.$b),d=L(b),e=L(c+1);try{X(a._olm_pickle_account)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return z(e,c)});W.prototype.unpickle=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c);try{X(a._olm_unpickle_account)(this.$b,d,b.length,e,c.length)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}});function Y(){var b=a._olm_session_size();this.ac=F(b);this.$b=a._olm_session(this.ac)} +function Z(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=z(a._olm_session_last_error(arguments[0])),Error("OLM."+c);return c}}Y.prototype.free=function(){a._olm_clear_session(this.$b);I(this.$b)};Y.prototype.pickle=J(function(b){b=K(b);var c=Z(a._olm_pickle_session_length)(this.$b),d=L(b),e=L(c+1);try{Z(a._olm_pickle_session)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return z(e,c)}); +Y.prototype.unpickle=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c);try{Z(a._olm_unpickle_session)(this.$b,d,b.length,e,c.length)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}});Y.prototype.create_outbound=J(function(b,c,d){var e=Z(a._olm_create_outbound_session_random_length)(this.$b),f=N(e,g);c=K(c);d=K(d);var k=L(c),p=L(d);try{Z(a._olm_create_outbound_session)(this.$b,b.$b,k,c.length,p,d.length,f,e)}finally{M(f,e)}}); +Y.prototype.create_inbound=J(function(b,c){c=K(c);var d=L(c);try{Z(a._olm_create_inbound_session)(this.$b,b.$b,d,c.length)}finally{for(M(d,c.length),b=0;b<c.length;b++)c[b]=0}});Y.prototype.create_inbound_from=J(function(b,c,d){c=K(c);var e=L(c);d=K(d);var f=L(d);try{Z(a._olm_create_inbound_session_from)(this.$b,b.$b,e,c.length,f,d.length)}finally{for(M(f,d.length),b=0;b<d.length;b++)d[b]=0}}); +Y.prototype.session_id=J(function(){var b=Z(a._olm_session_id_length)(this.$b),c=L(b+1);Z(a._olm_session_id)(this.$b,c,b);return z(c,b)});Y.prototype.has_received_message=function(){return Z(a._olm_session_has_received_message)(this.$b)?!0:!1};Y.prototype.matches_inbound=J(function(b){b=K(b);var c=L(b);return Z(a._olm_matches_inbound_session)(this.$b,c,b.length)?!0:!1}); +Y.prototype.matches_inbound_from=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c);return Z(a._olm_matches_inbound_session_from)(this.$b,d,b.length,e,c.length)?!0:!1}); +Y.prototype.encrypt=J(function(b){try{var c=Z(a._olm_encrypt_random_length)(this.$b);var d=Z(a._olm_encrypt_message_type)(this.$b);var e=Fa(b);var f=Z(a._olm_encrypt_message_length)(this.$b,e);var k=N(c,g);var p=F(e+1);Ea(b,A,p,e+1);var v=F(f+1);Z(a._olm_encrypt)(this.$b,p,e,k,c,v,f);w(v+f);return{type:d,body:z(v,f)}}finally{void 0!==k&&M(k,c),void 0!==p&&(M(p,e+1),I(p)),void 0!==v&&I(v)}}); +Y.prototype.decrypt=J(function(b,c){try{var d=F(c.length);Ga(c,d);var e=Z(a._olm_decrypt_max_plaintext_length)(this.$b,b,d,c.length);Ga(c,d);var f=F(e+1);var k=Z(a._olm_decrypt)(this.$b,b,d,c.length,f,e);w(f+k);return z(f,k)}finally{void 0!==d&&I(d),void 0!==f&&(M(f,e),I(f))}});Y.prototype.describe=J(function(){try{var b=F(256);Z(a._olm_session_describe)(this.$b,b,256);return z(b)}finally{void 0!==b&&I(b)}});function eb(){var b=a._olm_utility_size();this.ac=F(b);this.$b=a._olm_utility(this.ac)} +function fb(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=z(a._olm_utility_last_error(arguments[0])),Error("OLM."+c);return c}}eb.prototype.free=function(){a._olm_clear_utility(this.$b);I(this.$b)};eb.prototype.sha256=J(function(b){var c=fb(a._olm_sha256_length)(this.$b);b=K(b);var d=L(b),e=L(c+1);try{fb(a._olm_sha256)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return z(e,c)}); +eb.prototype.ed25519_verify=J(function(b,c,d){b=K(b);var e=L(b);c=K(c);var f=L(c);d=K(d);var k=L(d);try{fb(a._olm_ed25519_verify)(this.$b,e,b.length,f,c.length,k,d.length)}finally{for(M(f,c.length),b=0;b<c.length;b++)c[b]=0}});olm_exports.Account=W;olm_exports.Session=Y;olm_exports.Utility=eb;olm_exports.PkEncryption=bb;olm_exports.PkDecryption=R;olm_exports.PkSigning=cb;olm_exports.SAS=U; +olm_exports.get_library_version=J(function(){var b=L(3);a._olm_get_library_version(b,b+1,b+2);return[Aa(b,"i8"),Aa(b+1,"i8"),Aa(b+2,"i8")]}); + + + return Module.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Module; +else if (typeof define === 'function' && define['amd']) + define([], function() { return Module; }); +else if (typeof exports === 'object') + exports["Module"] = Module; +var olmInitPromise; + +olm_exports['init'] = function(opts) { + if (olmInitPromise) return olmInitPromise; + + if (opts) OLM_OPTIONS = opts; + + olmInitPromise = new Promise(function(resolve, reject) { + onInitSuccess = function() { + resolve(); + }; + onInitFail = function(err) { + reject(err); + }; + Module(); + }); + return olmInitPromise; +}; + +return olm_exports; + +})(); + +if (typeof(window) !== 'undefined') { + // We've been imported directly into a browser. Define the global 'Olm' object. + // (we do this even if module.exports was defined, because it's useful to have + // Olm in the global scope for browserified and webpacked apps.) + window["Olm"] = Olm; +} + +if (typeof module === 'object') { + // Emscripten sets the module exports to be its module + // with wrapped c functions. Clobber it with our higher + // level wrapper class. + module.exports = Olm; +} + +// @license-end diff --git a/pr-121/assets/vendor.d127a5c1.js b/pr-121/assets/vendor.d127a5c1.js @@ -0,0 +1,26 @@ +var A_=Object.defineProperty,D_=Object.defineProperties;var U_=Object.getOwnPropertyDescriptors;var wf=Object.getOwnPropertySymbols;var $_=Object.prototype.hasOwnProperty,x_=Object.prototype.propertyIsEnumerable;var Rf=(n,e,t)=>e in n?A_(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,uc=(n,e)=>{for(var t in e||(e={}))$_.call(e,t)&&Rf(n,t,e[t]);if(wf)for(var t of wf(e))x_.call(e,t)&&Rf(n,t,e[t]);return n},If=(n,e)=>D_(n,U_(e));var Ga,J,Tm,Om,Ea,km,Tf,Cm,ol={},Pm=[],N_=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function zn(n,e){for(var t in e)n[t]=e[t];return n}function Mm(n){var e=n.parentNode;e&&e.removeChild(n)}function cr(n,e,t){var r,i,s,o={};for(s in e)s=="key"?r=e[s]:s=="ref"?i=e[s]:o[s]=e[s];if(arguments.length>2&&(o.children=arguments.length>3?Ga.call(arguments,2):t),typeof n=="function"&&n.defaultProps!=null)for(s in n.defaultProps)o[s]===void 0&&(o[s]=n.defaultProps[s]);return Sa(n,o,r,i,null)}function Sa(n,e,t,r,i){var s={type:n,props:e,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i==null?++Tm:i};return i==null&&J.vnode!=null&&J.vnode(s),s}function Dh(){return{current:null}}function Zr(n){return n.children}function Er(n,e){this.props=n,this.context=e}function mo(n,e){if(e==null)return n.__?mo(n.__,n.__.__k.indexOf(n)+1):null;for(var t;e<n.__k.length;e++)if((t=n.__k[e])!=null&&t.__e!=null)return t.__e;return typeof n.type=="function"?mo(n):null}function Am(n){var e,t;if((n=n.__)!=null&&n.__c!=null){for(n.__e=n.__c.base=null,e=0;e<n.__k.length;e++)if((t=n.__k[e])!=null&&t.__e!=null){n.__e=n.__c.base=t.__e;break}return Am(n)}}function gd(n){(!n.__d&&(n.__d=!0)&&Ea.push(n)&&!al.__r++||Tf!==J.debounceRendering)&&((Tf=J.debounceRendering)||km)(al)}function al(){for(var n;al.__r=Ea.length;)n=Ea.sort(function(e,t){return e.__v.__b-t.__v.__b}),Ea=[],n.some(function(e){var t,r,i,s,o,c;e.__d&&(o=(s=(t=e).__v).__e,(c=t.__P)&&(r=[],(i=zn({},s)).__v=s.__v+1,Uh(c,s,i,t.__n,c.ownerSVGElement!==void 0,s.__h!=null?[o]:null,r,o==null?mo(s):o,s.__h),xm(r,s),s.__e!=o&&Am(s)))})}function Dm(n,e,t,r,i,s,o,c,l,u){var a,g,m,p,E,I,w,k=r&&r.__k||Pm,P=k.length;for(t.__k=[],a=0;a<e.length;a++)if((p=t.__k[a]=(p=e[a])==null||typeof p=="boolean"?null:typeof p=="string"||typeof p=="number"||typeof p=="bigint"?Sa(null,p,null,null,p):Array.isArray(p)?Sa(Zr,{children:p},null,null,null):p.__b>0?Sa(p.type,p.props,p.key,null,p.__v):p)!=null){if(p.__=t,p.__b=t.__b+1,(m=k[a])===null||m&&p.key==m.key&&p.type===m.type)k[a]=void 0;else for(g=0;g<P;g++){if((m=k[g])&&p.key==m.key&&p.type===m.type){k[g]=void 0;break}m=null}Uh(n,p,m=m||ol,i,s,o,c,l,u),E=p.__e,(g=p.ref)&&m.ref!=g&&(w||(w=[]),m.ref&&w.push(m.ref,null,p),w.push(g,p.__c||E,p)),E!=null?(I==null&&(I=E),typeof p.type=="function"&&p.__k===m.__k?p.__d=l=Um(p,l,n):l=$m(n,p,m,k,E,l),typeof t.type=="function"&&(t.__d=l)):l&&m.__e==l&&l.parentNode!=n&&(l=mo(m))}for(t.__e=I,a=P;a--;)k[a]!=null&&(typeof t.type=="function"&&k[a].__e!=null&&k[a].__e==t.__d&&(t.__d=mo(r,a+1)),Lm(k[a],k[a]));if(w)for(a=0;a<w.length;a++)Nm(w[a],w[++a],w[++a])}function Um(n,e,t){for(var r,i=n.__k,s=0;i&&s<i.length;s++)(r=i[s])&&(r.__=n,e=typeof r.type=="function"?Um(r,e,t):$m(t,r,r,i,r.__e,e));return e}function Nr(n,e){return e=e||[],n==null||typeof n=="boolean"||(Array.isArray(n)?n.some(function(t){Nr(t,e)}):e.push(n)),e}function $m(n,e,t,r,i,s){var o,c,l;if(e.__d!==void 0)o=e.__d,e.__d=void 0;else if(t==null||i!=s||i.parentNode==null)e:if(s==null||s.parentNode!==n)n.appendChild(i),o=null;else{for(c=s,l=0;(c=c.nextSibling)&&l<r.length;l+=2)if(c==i)break e;n.insertBefore(i,s),o=s}return o!==void 0?o:i.nextSibling}function L_(n,e,t,r,i){var s;for(s in t)s==="children"||s==="key"||s in e||cl(n,s,null,t[s],r);for(s in e)i&&typeof e[s]!="function"||s==="children"||s==="key"||s==="value"||s==="checked"||t[s]===e[s]||cl(n,s,e[s],t[s],r)}function Of(n,e,t){e[0]==="-"?n.setProperty(e,t):n[e]=t==null?"":typeof t!="number"||N_.test(e)?t:t+"px"}function cl(n,e,t,r,i){var s;e:if(e==="style")if(typeof t=="string")n.style.cssText=t;else{if(typeof r=="string"&&(n.style.cssText=r=""),r)for(e in r)t&&e in t||Of(n.style,e,"");if(t)for(e in t)r&&t[e]===r[e]||Of(n.style,e,t[e])}else if(e[0]==="o"&&e[1]==="n")s=e!==(e=e.replace(/Capture$/,"")),e=e.toLowerCase()in n?e.toLowerCase().slice(2):e.slice(2),n.l||(n.l={}),n.l[e+s]=t,t?r||n.addEventListener(e,s?Cf:kf,s):n.removeEventListener(e,s?Cf:kf,s);else if(e!=="dangerouslySetInnerHTML"){if(i)e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!=="href"&&e!=="list"&&e!=="form"&&e!=="tabIndex"&&e!=="download"&&e in n)try{n[e]=t==null?"":t;break e}catch{}typeof t=="function"||(t!=null&&(t!==!1||e[0]==="a"&&e[1]==="r")?n.setAttribute(e,t):n.removeAttribute(e))}}function kf(n){this.l[n.type+!1](J.event?J.event(n):n)}function Cf(n){this.l[n.type+!0](J.event?J.event(n):n)}function Uh(n,e,t,r,i,s,o,c,l){var u,a,g,m,p,E,I,w,k,P,S,T=e.type;if(e.constructor!==void 0)return null;t.__h!=null&&(l=t.__h,c=e.__e=t.__e,e.__h=null,s=[c]),(u=J.__b)&&u(e);try{e:if(typeof T=="function"){if(w=e.props,k=(u=T.contextType)&&r[u.__c],P=u?k?k.props.value:u.__:r,t.__c?I=(a=e.__c=t.__c).__=a.__E:("prototype"in T&&T.prototype.render?e.__c=a=new T(w,P):(e.__c=a=new Er(w,P),a.constructor=T,a.render=K_),k&&k.sub(a),a.props=w,a.state||(a.state={}),a.context=P,a.__n=r,g=a.__d=!0,a.__h=[]),a.__s==null&&(a.__s=a.state),T.getDerivedStateFromProps!=null&&(a.__s==a.state&&(a.__s=zn({},a.__s)),zn(a.__s,T.getDerivedStateFromProps(w,a.__s))),m=a.props,p=a.state,g)T.getDerivedStateFromProps==null&&a.componentWillMount!=null&&a.componentWillMount(),a.componentDidMount!=null&&a.__h.push(a.componentDidMount);else{if(T.getDerivedStateFromProps==null&&w!==m&&a.componentWillReceiveProps!=null&&a.componentWillReceiveProps(w,P),!a.__e&&a.shouldComponentUpdate!=null&&a.shouldComponentUpdate(w,a.__s,P)===!1||e.__v===t.__v){a.props=w,a.state=a.__s,e.__v!==t.__v&&(a.__d=!1),a.__v=e,e.__e=t.__e,e.__k=t.__k,e.__k.forEach(function(D){D&&(D.__=e)}),a.__h.length&&o.push(a);break e}a.componentWillUpdate!=null&&a.componentWillUpdate(w,a.__s,P),a.componentDidUpdate!=null&&a.__h.push(function(){a.componentDidUpdate(m,p,E)})}a.context=P,a.props=w,a.state=a.__s,(u=J.__r)&&u(e),a.__d=!1,a.__v=e,a.__P=n,u=a.render(a.props,a.state,a.context),a.state=a.__s,a.getChildContext!=null&&(r=zn(zn({},r),a.getChildContext())),g||a.getSnapshotBeforeUpdate==null||(E=a.getSnapshotBeforeUpdate(m,p)),S=u!=null&&u.type===Zr&&u.key==null?u.props.children:u,Dm(n,Array.isArray(S)?S:[S],e,t,r,i,s,o,c,l),a.base=e.__e,e.__h=null,a.__h.length&&o.push(a),I&&(a.__E=a.__=null),a.__e=!1}else s==null&&e.__v===t.__v?(e.__k=t.__k,e.__e=t.__e):e.__e=B_(t.__e,e,t,r,i,s,o,l);(u=J.diffed)&&u(e)}catch(D){e.__v=null,(l||s!=null)&&(e.__e=c,e.__h=!!l,s[s.indexOf(c)]=null),J.__e(D,e,t)}}function xm(n,e){J.__c&&J.__c(e,n),n.some(function(t){try{n=t.__h,t.__h=[],n.some(function(r){r.call(t)})}catch(r){J.__e(r,t.__v)}})}function B_(n,e,t,r,i,s,o,c){var l,u,a,g=t.props,m=e.props,p=e.type,E=0;if(p==="svg"&&(i=!0),s!=null){for(;E<s.length;E++)if((l=s[E])&&"setAttribute"in l==!!p&&(p?l.localName===p:l.nodeType===3)){n=l,s[E]=null;break}}if(n==null){if(p===null)return document.createTextNode(m);n=i?document.createElementNS("http://www.w3.org/2000/svg",p):document.createElement(p,m.is&&m),s=null,c=!1}if(p===null)g===m||c&&n.data===m||(n.data=m);else{if(s=s&&Ga.call(n.childNodes),u=(g=t.props||ol).dangerouslySetInnerHTML,a=m.dangerouslySetInnerHTML,!c){if(s!=null)for(g={},E=0;E<n.attributes.length;E++)g[n.attributes[E].name]=n.attributes[E].value;(a||u)&&(a&&(u&&a.__html==u.__html||a.__html===n.innerHTML)||(n.innerHTML=a&&a.__html||""))}if(L_(n,m,g,i,c),a)e.__k=[];else if(E=e.props.children,Dm(n,Array.isArray(E)?E:[E],e,t,r,i&&p!=="foreignObject",s,o,s?s[0]:t.__k&&mo(t,0),c),s!=null)for(E=s.length;E--;)s[E]!=null&&Mm(s[E]);c||("value"in m&&(E=m.value)!==void 0&&(E!==n.value||p==="progress"&&!E||p==="option"&&E!==g.value)&&cl(n,"value",E,g.value,!1),"checked"in m&&(E=m.checked)!==void 0&&E!==n.checked&&cl(n,"checked",E,g.checked,!1))}return n}function Nm(n,e,t){try{typeof n=="function"?n(e):n.current=e}catch(r){J.__e(r,t)}}function Lm(n,e,t){var r,i;if(J.unmount&&J.unmount(n),(r=n.ref)&&(r.current&&r.current!==n.__e||Nm(r,null,e)),(r=n.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(s){J.__e(s,e)}r.base=r.__P=null}if(r=n.__k)for(i=0;i<r.length;i++)r[i]&&Lm(r[i],e,typeof n.type!="function");t||n.__e==null||Mm(n.__e),n.__e=n.__d=void 0}function K_(n,e,t){return this.constructor(n,t)}function yo(n,e,t){var r,i,s;J.__&&J.__(n,e),i=(r=typeof t=="function")?null:t&&t.__k||e.__k,s=[],Uh(e,n=(!r&&t||e).__k=cr(Zr,null,[n]),i||ol,ol,e.ownerSVGElement!==void 0,!r&&t?[t]:i?null:e.firstChild?Ga.call(e.childNodes):null,s,!r&&t?t:i?i.__e:e.firstChild,r),xm(s,n)}function $h(n,e){yo(n,e,$h)}function xh(n,e,t){var r,i,s,o=zn({},n.props);for(s in e)s=="key"?r=e[s]:s=="ref"?i=e[s]:o[s]=e[s];return arguments.length>2&&(o.children=arguments.length>3?Ga.call(arguments,2):t),Sa(n.type,o,r||n.key,i||n.ref,null)}function Il(n,e){var t={__c:e="__cC"+Cm++,__:n,Consumer:function(r,i){return r.children(i)},Provider:function(r){var i,s;return this.getChildContext||(i=[],(s={})[e]=this,this.getChildContext=function(){return s},this.shouldComponentUpdate=function(o){this.props.value!==o.value&&i.some(gd)},this.sub=function(o){i.push(o);var c=o.componentWillUnmount;o.componentWillUnmount=function(){i.splice(i.indexOf(o),1),c&&c.call(o)}}),r.children}};return t.Provider.__=t.Consumer.contextType=t}Ga=Pm.slice,J={__e:function(n,e,t,r){for(var i,s,o;e=e.__;)if((i=e.__c)&&!i.__)try{if((s=i.constructor)&&s.getDerivedStateFromError!=null&&(i.setState(s.getDerivedStateFromError(n)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(n,r||{}),o=i.__d),o)return i.__E=i}catch(c){n=c}throw n}},Tm=0,Om=function(n){return n!=null&&n.constructor===void 0},Er.prototype.setState=function(n,e){var t;t=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=zn({},this.state),typeof n=="function"&&(n=n(zn({},t),this.props)),n&&zn(t,n),n!=null&&this.__v&&(e&&this.__h.push(e),gd(this))},Er.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),gd(this))},Er.prototype.render=Zr,Ea=[],km=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,al.__r=0,Cm=0;var F_=Object.freeze(Object.defineProperty({__proto__:null,render:yo,hydrate:$h,createElement:cr,h:cr,Fragment:Zr,createRef:Dh,get isValidElement(){return Om},Component:Er,cloneElement:xh,createContext:Il,toChildArray:Nr,get options(){return J}},Symbol.toStringTag,{value:"Module"})),Rs,bt,Pf,vo=0,Bm=[],Mf=J.__b,Af=J.__r,Df=J.diffed,Uf=J.__c,$f=J.unmount;function ko(n,e){J.__h&&J.__h(bt,n,vo||e),vo=0;var t=bt.__H||(bt.__H={__:[],__h:[]});return n>=t.__.length&&t.__.push({}),t.__[n]}function Nh(n){return vo=1,Lh(Wm,n)}function Lh(n,e,t){var r=ko(Rs++,2);return r.t=n,r.__c||(r.__=[t?t(e):Wm(void 0,e),function(i){var s=r.t(r.__[0],i);r.__[0]!==s&&(r.__=[s,r.__[1]],r.__c.setState({}))}],r.__c=bt),r.__}function Km(n,e){var t=ko(Rs++,3);!J.__s&&Kh(t.__H,e)&&(t.__=n,t.__H=e,bt.__H.__h.push(t))}function Bh(n,e){var t=ko(Rs++,4);!J.__s&&Kh(t.__H,e)&&(t.__=n,t.__H=e,bt.__h.push(t))}function Fm(n){return vo=5,Tl(function(){return{current:n}},[])}function qm(n,e,t){vo=6,Bh(function(){return typeof n=="function"?(n(e()),function(){return n(null)}):n?(n.current=e(),function(){return n.current=null}):void 0},t==null?t:t.concat(n))}function Tl(n,e){var t=ko(Rs++,7);return Kh(t.__H,e)&&(t.__=n(),t.__H=e,t.__h=n),t.__}function jm(n,e){return vo=8,Tl(function(){return n},e)}function Vm(n){var e=bt.context[n.__c],t=ko(Rs++,9);return t.c=n,e?(t.__==null&&(t.__=!0,e.sub(bt)),e.props.value):n.__}function Gm(n,e){J.useDebugValue&&J.useDebugValue(e?e(n):n)}function q_(n){var e=ko(Rs++,10),t=Nh();return e.__=n,bt.componentDidCatch||(bt.componentDidCatch=function(r){e.__&&e.__(r),t[1](r)}),[t[0],function(){t[1](void 0)}]}function j_(){for(var n;n=Bm.shift();)if(n.__P)try{n.__H.__h.forEach(Gc),n.__H.__h.forEach(md),n.__H.__h=[]}catch(e){n.__H.__h=[],J.__e(e,n.__v)}}J.__b=function(n){bt=null,Mf&&Mf(n)},J.__r=function(n){Af&&Af(n),Rs=0;var e=(bt=n.__c).__H;e&&(e.__h.forEach(Gc),e.__h.forEach(md),e.__h=[])},J.diffed=function(n){Df&&Df(n);var e=n.__c;e&&e.__H&&e.__H.__h.length&&(Bm.push(e)!==1&&Pf===J.requestAnimationFrame||((Pf=J.requestAnimationFrame)||function(t){var r,i=function(){clearTimeout(s),xf&&cancelAnimationFrame(r),setTimeout(t)},s=setTimeout(i,100);xf&&(r=requestAnimationFrame(i))})(j_)),bt=null},J.__c=function(n,e){e.some(function(t){try{t.__h.forEach(Gc),t.__h=t.__h.filter(function(r){return!r.__||md(r)})}catch(r){e.some(function(i){i.__h&&(i.__h=[])}),e=[],J.__e(r,t.__v)}}),Uf&&Uf(n,e)},J.unmount=function(n){$f&&$f(n);var e,t=n.__c;t&&t.__H&&(t.__H.__.forEach(function(r){try{Gc(r)}catch(i){e=i}}),e&&J.__e(e,t.__v))};var xf=typeof requestAnimationFrame=="function";function Gc(n){var e=bt,t=n.__c;typeof t=="function"&&(n.__c=void 0,t()),bt=e}function md(n){var e=bt;n.__c=n.__(),bt=e}function Kh(n,e){return!n||n.length!==e.length||e.some(function(t,r){return t!==n[r]})}function Wm(n,e){return typeof e=="function"?e(n):e}var V_={};function ga(n,e){for(var t in e)n[t]=e[t];return n}function G_(n,e,t){var r,i=/(?:\?([^#]*))?(#.*)?$/,s=n.match(i),o={};if(s&&s[1])for(var c=s[1].split("&"),l=0;l<c.length;l++){var u=c[l].split("=");o[decodeURIComponent(u[0])]=decodeURIComponent(u.slice(1).join("="))}n=yd(n.replace(i,"")),e=yd(e||"");for(var a=Math.max(n.length,e.length),g=0;g<a;g++)if(e[g]&&e[g].charAt(0)===":"){var m=e[g].replace(/(^:|[+*?]+$)/g,""),p=(e[g].match(/[+*?]+$/)||V_)[0]||"",E=~p.indexOf("+"),I=~p.indexOf("*"),w=n[g]||"";if(!w&&!I&&(p.indexOf("?")<0||E)){r=!1;break}if(o[m]=decodeURIComponent(w),E||I){o[m]=n.slice(g).map(decodeURIComponent).join("/");break}}else if(e[g]!==n[g]){r=!1;break}return(t.default===!0||r!==!1)&&o}function W_(n,e){return n.rank<e.rank?1:n.rank>e.rank?-1:n.index-e.index}function H_(n,e){return n.index=e,n.rank=function(t){return t.props.default?0:yd(t.props.path).map(Y_).join("")}(n),n.props}function yd(n){return n.replace(/(^\/+|\/+$)/g,"").split("/")}function Y_(n){return n.charAt(0)==":"?1+"*+?".indexOf(n.charAt(n.length-1))||4:5}var z_={},os=[],Nf=[],yr=null,Hm={url:Fh()},J_=Il(Hm);function Fh(){var n;return""+((n=yr&&yr.location?yr.location:yr&&yr.getCurrentLocation?yr.getCurrentLocation():typeof location!="undefined"?location:z_).pathname||"")+(n.search||"")}function X_(n,e){return e===void 0&&(e=!1),typeof n!="string"&&n.url&&(e=n.replace,n=n.url),function(t){for(var r=os.length;r--;)if(os[r].canRoute(t))return!0;return!1}(n)&&function(t,r){r===void 0&&(r="push"),yr&&yr[r]?yr[r](t):typeof history!="undefined"&&history[r+"State"]&&history[r+"State"](null,null,t)}(n,e?"replace":"push"),Ym(n)}function Ym(n){for(var e=!1,t=0;t<os.length;t++)os[t].routeTo(n)&&(e=!0);return e}function Q_(n){if(n&&n.getAttribute){var e=n.getAttribute("href"),t=n.getAttribute("target");if(e&&e.match(/^\//g)&&(!t||t.match(/^_?self$/i)))return X_(e)}}function Z_(n){return n.stopImmediatePropagation&&n.stopImmediatePropagation(),n.stopPropagation&&n.stopPropagation(),n.preventDefault(),!1}function zm(n){if(!(n.ctrlKey||n.metaKey||n.altKey||n.shiftKey||n.button)){var e=n.target;do if(e.localName==="a"&&e.getAttribute("href")){if(e.hasAttribute("data-native")||e.hasAttribute("native"))return;if(Q_(e))return Z_(n)}while(e=e.parentNode)}}var Lf=!1;function eE(n){n.history&&(yr=n.history),this.state={url:n.url||Fh()}}ga(eE.prototype=new Er,{shouldComponentUpdate:function(n){return n.static!==!0||n.url!==this.props.url||n.onChange!==this.props.onChange},canRoute:function(n){var e=Nr(this.props.children);return this.g(e,n)!==void 0},routeTo:function(n){this.setState({url:n});var e=this.canRoute(n);return this.p||this.forceUpdate(),e},componentWillMount:function(){this.p=!0},componentDidMount:function(){var n=this;Lf||(Lf=!0,yr||addEventListener("popstate",function(){Ym(Fh())}),addEventListener("click",zm)),os.push(this),yr&&(this.u=yr.listen(function(e){var t=e.location||e;n.routeTo(""+(t.pathname||"")+(t.search||""))})),this.p=!1},componentWillUnmount:function(){typeof this.u=="function"&&this.u(),os.splice(os.indexOf(this),1)},componentWillUpdate:function(){this.p=!0},componentDidUpdate:function(){this.p=!1},g:function(n,e){n=n.filter(H_).sort(W_);for(var t=0;t<n.length;t++){var r=n[t],i=G_(e,r.props.path,r.props);if(i)return[r,i]}},render:function(n,e){var t,r,i=n.onChange,s=e.url,o=this.c,c=this.g(Nr(n.children),s);if(c&&(r=xh(c[0],ga(ga({url:s,matches:t=c[1]},t),{key:void 0,ref:void 0}))),s!==(o&&o.url)){ga(Hm,o=this.c={url:s,previous:o&&o.url,current:r,path:r?r.props.path:null,matches:t}),o.router=this,o.active=r?[r]:[];for(var l=Nf.length;l--;)Nf[l]({});typeof i=="function"&&i(o)}return cr(J_.Provider,{value:o},r)}});var UA=function(n){return cr("a",ga({onClick:zm},n))};function Jm(n,e){for(var t in e)n[t]=e[t];return n}function vd(n,e){for(var t in n)if(t!=="__source"&&!(t in e))return!0;for(var r in e)if(r!=="__source"&&n[r]!==e[r])return!0;return!1}function ll(n){this.props=n}function Xm(n,e){function t(i){var s=this.props.ref,o=s==i.ref;return!o&&s&&(s.call?s(null):s.current=null),e?!e(this.props,i)||!o:vd(this.props,i)}function r(i){return this.shouldComponentUpdate=t,cr(n,i)}return r.displayName="Memo("+(n.displayName||n.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(ll.prototype=new Er).isPureReactComponent=!0,ll.prototype.shouldComponentUpdate=function(n,e){return vd(this.props,n)||vd(this.state,e)};var Bf=J.__b;J.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),Bf&&Bf(n)};var tE=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Qm(n){function e(t,r){var i=Jm({},t);return delete i.ref,n(i,!(r=t.ref||r)||typeof r=="object"&&Object.keys(r).length===0?null:r)}return e.$$typeof=tE,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(n.displayName||n.name)+")",e}var Kf=function(n,e){return n==null?null:Nr(Nr(n).map(e))},Zm={map:Kf,forEach:Kf,count:function(n){return n?Nr(n).length:0},only:function(n){var e=Nr(n);if(e.length!==1)throw"Children.only";return e[0]},toArray:Nr},rE=J.__e;J.__e=function(n,e,t,r){if(n.then){for(var i,s=e;s=s.__;)if((i=s.__c)&&i.__c)return e.__e==null&&(e.__e=t.__e,e.__k=t.__k),i.__c(n,e)}rE(n,e,t,r)};var Ff=J.unmount;function ba(){this.__u=0,this.t=null,this.__b=null}function ey(n){var e=n.__.__c;return e&&e.__e&&e.__e(n)}function ty(n){var e,t,r;function i(s){if(e||(e=n()).then(function(o){t=o.default||o},function(o){r=o}),r)throw r;if(!t)throw e;return cr(t,s)}return i.displayName="Lazy",i.__f=!0,i}function so(){this.u=null,this.o=null}J.unmount=function(n){var e=n.__c;e&&e.__R&&e.__R(),e&&n.__h===!0&&(n.type=null),Ff&&Ff(n)},(ba.prototype=new Er).__c=function(n,e){var t=e.__c,r=this;r.t==null&&(r.t=[]),r.t.push(t);var i=ey(r.__v),s=!1,o=function(){s||(s=!0,t.__R=null,i?i(c):c())};t.__R=o;var c=function(){if(!--r.__u){if(r.state.__e){var u=r.state.__e;r.__v.__k[0]=function g(m,p,E){return m&&(m.__v=null,m.__k=m.__k&&m.__k.map(function(I){return g(I,p,E)}),m.__c&&m.__c.__P===p&&(m.__e&&E.insertBefore(m.__e,m.__d),m.__c.__e=!0,m.__c.__P=E)),m}(u,u.__c.__P,u.__c.__O)}var a;for(r.setState({__e:r.__b=null});a=r.t.pop();)a.forceUpdate()}},l=e.__h===!0;r.__u++||l||r.setState({__e:r.__b=r.__v.__k[0]}),n.then(o,o)},ba.prototype.componentWillUnmount=function(){this.t=[]},ba.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var t=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function s(o,c,l){return o&&(o.__c&&o.__c.__H&&(o.__c.__H.__.forEach(function(u){typeof u.__c=="function"&&u.__c()}),o.__c.__H=null),(o=Jm({},o)).__c!=null&&(o.__c.__P===l&&(o.__c.__P=c),o.__c=null),o.__k=o.__k&&o.__k.map(function(u){return s(u,c,l)})),o}(this.__b,t,r.__O=r.__P)}this.__b=null}var i=e.__e&&cr(Zr,null,n.fallback);return i&&(i.__h=null),[cr(Zr,null,e.__e?null:n.children),i]};var qf=function(n,e,t){if(++t[1]===t[0]&&n.o.delete(e),n.props.revealOrder&&(n.props.revealOrder[0]!=="t"||!n.o.size))for(t=n.u;t;){for(;t.length>3;)t.pop()();if(t[1]<t[0])break;n.u=t=t[2]}};function nE(n){return this.getChildContext=function(){return n.context},n.children}function iE(n){var e=this,t=n.i;e.componentWillUnmount=function(){yo(null,e.l),e.l=null,e.i=null},e.i&&e.i!==t&&e.componentWillUnmount(),n.__v?(e.l||(e.i=t,e.l={nodeType:1,parentNode:t,childNodes:[],appendChild:function(r){this.childNodes.push(r),e.i.appendChild(r)},insertBefore:function(r,i){this.childNodes.push(r),e.i.appendChild(r)},removeChild:function(r){this.childNodes.splice(this.childNodes.indexOf(r)>>>1,1),e.i.removeChild(r)}}),yo(cr(nE,{context:e.context},n.__v),e.l)):e.l&&e.componentWillUnmount()}function ry(n,e){return cr(iE,{__v:n,i:e})}(so.prototype=new Er).__e=function(n){var e=this,t=ey(e.__v),r=e.o.get(n);return r[0]++,function(i){var s=function(){e.props.revealOrder?(r.push(i),qf(e,n,r)):i()};t?t(s):s()}},so.prototype.render=function(n){this.u=null,this.o=new Map;var e=Nr(n.children);n.revealOrder&&n.revealOrder[0]==="b"&&e.reverse();for(var t=e.length;t--;)this.o.set(e[t],this.u=[1,0,this.u]);return n.children},so.prototype.componentDidUpdate=so.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(e,t){qf(n,t,e)})};var ny=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,sE=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,oE=typeof document!="undefined",aE=function(n){return(typeof Symbol!="undefined"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(n)};function iy(n,e,t){return e.__k==null&&(e.textContent=""),yo(n,e),typeof t=="function"&&t(),n?n.__c:null}function sy(n,e,t){return $h(n,e),typeof t=="function"&&t(),n?n.__c:null}Er.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(n){Object.defineProperty(Er.prototype,n,{configurable:!0,get:function(){return this["UNSAFE_"+n]},set:function(e){Object.defineProperty(this,n,{configurable:!0,writable:!0,value:e})}})});var jf=J.event;function cE(){}function lE(){return this.cancelBubble}function uE(){return this.defaultPrevented}J.event=function(n){return jf&&(n=jf(n)),n.persist=cE,n.isPropagationStopped=lE,n.isDefaultPrevented=uE,n.nativeEvent=n};var oy,Vf={configurable:!0,get:function(){return this.class}},Gf=J.vnode;J.vnode=function(n){var e=n.type,t=n.props,r=t;if(typeof e=="string"){var i=e.indexOf("-")===-1;for(var s in r={},t){var o=t[s];oE&&s==="children"&&e==="noscript"||s==="value"&&"defaultValue"in t&&o==null||(s==="defaultValue"&&"value"in t&&t.value==null?s="value":s==="download"&&o===!0?o="":/ondoubleclick/i.test(s)?s="ondblclick":/^onchange(textarea|input)/i.test(s+e)&&!aE(t.type)?s="oninput":/^onfocus$/i.test(s)?s="onfocusin":/^onblur$/i.test(s)?s="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(s)?s=s.toLowerCase():i&&sE.test(s)?s=s.replace(/[A-Z0-9]/,"-$&").toLowerCase():o===null&&(o=void 0),r[s]=o)}e=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=Nr(t.children).forEach(function(c){c.props.selected=r.value.indexOf(c.props.value)!=-1})),e=="select"&&r.defaultValue!=null&&(r.value=Nr(t.children).forEach(function(c){c.props.selected=r.multiple?r.defaultValue.indexOf(c.props.value)!=-1:r.defaultValue==c.props.value})),n.props=r,t.class!=t.className&&(Vf.enumerable="className"in t,t.className!=null&&(r.class=t.className),Object.defineProperty(r,"className",Vf))}n.$$typeof=ny,Gf&&Gf(n)};var Wf=J.__r;J.__r=function(n){Wf&&Wf(n),oy=n.__c};var ay={ReactCurrentDispatcher:{current:{readContext:function(n){return oy.__n[n.__c].props.value}}}},dE="17.0.2";function cy(n){return cr.bind(null,n)}function qh(n){return!!n&&n.$$typeof===ny}function ly(n){return qh(n)?xh.apply(null,arguments):n}function uy(n){return!!n.__k&&(yo(null,n),!0)}function dy(n){return n&&(n.base||n.nodeType===1&&n)||null}var hy=function(n,e){return n(e)},fy=function(n,e){return n(e)},hE=Zr,fE={useState:Nh,useReducer:Lh,useEffect:Km,useLayoutEffect:Bh,useRef:Fm,useImperativeHandle:qm,useMemo:Tl,useCallback:jm,useContext:Vm,useDebugValue:Gm,version:"17.0.2",Children:Zm,render:iy,hydrate:sy,unmountComponentAtNode:uy,createPortal:ry,createElement:cr,createContext:Il,createFactory:cy,cloneElement:ly,createRef:Dh,Fragment:Zr,isValidElement:qh,findDOMNode:dy,Component:Er,PureComponent:ll,memo:Xm,forwardRef:Qm,flushSync:fy,unstable_batchedUpdates:hy,StrictMode:Zr,Suspense:ba,SuspenseList:so,lazy:ty,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:ay},pE=Object.freeze(Object.defineProperty({__proto__:null,default:fE,version:dE,Children:Zm,render:iy,hydrate:sy,unmountComponentAtNode:uy,createPortal:ry,createFactory:cy,cloneElement:ly,isValidElement:qh,findDOMNode:dy,PureComponent:ll,memo:Xm,forwardRef:Qm,flushSync:fy,unstable_batchedUpdates:hy,StrictMode:hE,Suspense:ba,SuspenseList:so,lazy:ty,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:ay,createElement:cr,createContext:Il,createRef:Dh,Fragment:Zr,Component:Er,useState:Nh,useReducer:Lh,useEffect:Km,useLayoutEffect:Bh,useRef:Fm,useImperativeHandle:qm,useMemo:Tl,useCallback:jm,useContext:Vm,useDebugValue:Gm,useErrorBoundary:q_},Symbol.toStringTag,{value:"Module"})),j=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function jh(n){if(n.__esModule)return n;var e=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(n).forEach(function(t){var r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:function(){return n[t]}})}),e}var gE=jh(F_),mE,yE,Hf=gE,vE=0;function Yf(n,e,t,r,i){var s,o,c={};for(o in e)o=="ref"?s=e[o]:c[o]=e[o];var l={type:n,props:c,key:t,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--vE,__source:i,__self:r};if(typeof n=="function"&&(s=n.defaultProps))for(o in s)c[o]===void 0&&(c[o]=s[o]);return Hf.options.vnode&&Hf.options.vnode(l),l}yE=Yf,mE=Yf;var py={},_E=jh(pE);function EE(n){if(n&&n.__esModule)return n;var e=Object.create(null);return n&&Object.keys(n).forEach(function(t){if(t!=="default"){var r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:function(){return n[t]}})}}),e.default=n,Object.freeze(e)}Object.defineProperty(py,"__esModule",{value:!0});var Fn=EE(_E);function SE({debounceMs:n}){const[e,t]=Fn.useState(window.innerWidth),r=function(i,s){let o=null;return(...c)=>{clearTimeout(o),o=setTimeout(()=>i(c),s)}}(()=>t(window.innerWidth),n);return Fn.useEffect(()=>(window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)),[r]),e}const bE=Fn.forwardRef(({as:n="div",children:e,className:t,style:r,gap:i=10,debounce:s=200,nColumns:o=3},c)=>{const l=SE({debounceMs:s}),[u,a]=Fn.useState([]);Fn.useLayoutEffect(()=>{var I;const m=w=>w.sort((k,P)=>k.size-P.size),p=typeof o=="number"?{columns:o}:(I=(w=>w==null?void 0:w[w.length-1])(m(((w,k)=>w.filter(P=>P.size<=k))(o,l))))!=null?I:(w=>w==null?void 0:w[0])(m(o)),E=Array.from({length:p.columns},w=>[]);Fn.Children.forEach(e,(w,k)=>{const P=`item-${k}`,S=Fn.cloneElement(w,If(uc({},w.props),{key:P}));E[k%E.length].push(S)}),a(E)},[e,o,l]);const g={mainGrid:{display:"grid",gridTemplateColumns:`repeat(${u.length}, 1fr)`,columnGap:i,alignItems:"start"},columnGrid:{display:"grid",gridTemplateColumns:"100%",rowGap:i}};return Fn.createElement(n,{ref:c,"data-testid":"plock-container",className:t,style:uc({style:r},g.mainGrid)},u.map((m,p)=>Fn.createElement("div",{"data-testid":"plock-column",style:g.columnGrid,key:p},m)))});var $A=py.Plock=bE,xA="/assets/olm.b3e0f9b4.wasm",NA="/assets/olm_legacy.9dc48f49.js",gy={exports:{}},wE={},RE=Object.freeze(Object.defineProperty({__proto__:null,default:wE},Symbol.toStringTag,{value:"Module"})),Oi=jh(RE);(function(n,e){// @license magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt Apache-2.0 +var t=function(){var r={},i,s,o=function(){var l=typeof document!="undefined"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!="undefined"&&(l=l||__filename),function(u){u=u||{};var a;a||(a=typeof u!="undefined"?u:{});var g,m;a.ready=new Promise(function(f,y){g=f,m=y});var p;if(typeof window!="undefined")p=function(f){window.crypto.getRandomValues(f)};else if(n.exports){var E=Oi;p=function(f){var y=E.randomBytes(f.length);f.set(y)},process=j.process}else throw Error("Cannot find global to attach library to");if(typeof OLM_OPTIONS!="undefined")for(var I in OLM_OPTIONS)OLM_OPTIONS.hasOwnProperty(I)&&(a[I]=OLM_OPTIONS[I]);a.onRuntimeInitialized=function(){on=a._olm_error(),r.PRIVATE_KEY_LENGTH=a._olm_pk_private_key_length(),i&&i()},a.onAbort=function(f){s&&s(f)};var w={},k;for(k in a)a.hasOwnProperty(k)&&(w[k]=a[k]);var P=typeof window=="object",S=typeof importScripts=="function",T="",D,R,L,H,F;typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"?(T=S?Oi.dirname(T)+"/":__dirname+"/",D=function(f,y){return H||(H=Oi),F||(F=Oi),f=F.normalize(f),H.readFileSync(f,y?null:"utf8")},L=function(f){return f=D(f,!0),f.buffer||(f=new Uint8Array(f)),f.buffer||ot("Assertion failed: undefined"),f},R=function(f,y,O){H||(H=Oi),F||(F=Oi),f=F.normalize(f),H.readFile(f,function(U,B){U?O(U):y(B.buffer)})},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",function(f){throw f}),process.on("unhandledRejection",ot),a.inspect=function(){return"[Emscripten Module object]"}):(P||S)&&(S?T=self.location.href:typeof document!="undefined"&&document.currentScript&&(T=document.currentScript.src),l&&(T=l),T.indexOf("blob:")!==0?T=T.substr(0,T.lastIndexOf("/")+1):T="",D=function(f){var y=new XMLHttpRequest;return y.open("GET",f,!1),y.send(null),y.responseText},S&&(L=function(f){var y=new XMLHttpRequest;return y.open("GET",f,!1),y.responseType="arraybuffer",y.send(null),new Uint8Array(y.response)}),R=function(f,y,O){var U=new XMLHttpRequest;U.open("GET",f,!0),U.responseType="arraybuffer",U.onload=function(){U.status==200||U.status==0&&U.response?y(U.response):O()},U.onerror=O,U.send(null)}),a.print||console.log.bind(console);var le=a.printErr||console.warn.bind(console);for(k in w)w.hasOwnProperty(k)&&(a[k]=w[k]);w=null;var Je;a.wasmBinary&&(Je=a.wasmBinary),a.noExitRuntime,typeof WebAssembly!="object"&&ot("no native wasm support detected");function Ke(f){var y="i8";switch(y.charAt(y.length-1)==="*"&&(y="i32"),y){case"i1":be[f>>0]=0;break;case"i8":be[f>>0]=0;break;case"i16":di[f>>1]=0;break;case"i32":qr[f>>2]=0;break;case"i64":pi=[0,(Mn=0,1<=+Math.abs(Mn)?0<Mn?(Math.min(+Math.floor(Mn/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Mn-+(~~Mn>>>0))/4294967296)>>>0:0)],qr[f>>2]=pi[0],qr[f+4>>2]=pi[1];break;case"float":Pn[f>>2]=0;break;case"double":hi[f>>3]=0;break;default:ot("invalid type for setValue: "+y)}}function De(f,y){switch(y=y||"i8",y.charAt(y.length-1)==="*"&&(y="i32"),y){case"i1":return be[f>>0];case"i8":return be[f>>0];case"i16":return di[f>>1];case"i32":return qr[f>>2];case"i64":return qr[f>>2];case"float":return Pn[f>>2];case"double":return hi[f>>3];default:ot("invalid type for getValue: "+y)}return null}var ut,ur=!1,jt=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function Q(f,y){if(f){var O=Ue,U=f+y;for(y=f;O[y]&&!(y>=U);)++y;if(16<y-f&&O.subarray&&jt)f=jt.decode(O.subarray(f,y));else{for(U="";f<y;){var B=O[f++];if(B&128){var ee=O[f++]&63;if((B&224)==192)U+=String.fromCharCode((B&31)<<6|ee);else{var ve=O[f++]&63;B=(B&240)==224?(B&15)<<12|ee<<6|ve:(B&7)<<18|ee<<12|ve<<6|O[f++]&63,65536>B?U+=String.fromCharCode(B):(B-=65536,U+=String.fromCharCode(55296|B>>10,56320|B&1023))}}else U+=String.fromCharCode(B)}f=U}}else f="";return f}function sn(f,y,O,U){if(!(0<U))return 0;var B=O;U=O+U-1;for(var ee=0;ee<f.length;++ee){var ve=f.charCodeAt(ee);if(55296<=ve&&57343>=ve){var At=f.charCodeAt(++ee);ve=65536+((ve&1023)<<10)|At&1023}if(127>=ve){if(O>=U)break;y[O++]=ve}else{if(2047>=ve){if(O+1>=U)break;y[O++]=192|ve>>6}else{if(65535>=ve){if(O+2>=U)break;y[O++]=224|ve>>12}else{if(O+3>=U)break;y[O++]=240|ve>>18,y[O++]=128|ve>>12&63}y[O++]=128|ve>>6&63}y[O++]=128|ve&63}}return y[O]=0,O-B}function Fr(f){for(var y=0,O=0;O<f.length;++O){var U=f.charCodeAt(O);55296<=U&&57343>=U&&(U=65536+((U&1023)<<10)|f.charCodeAt(++O)&1023),127>=U?++y:y=2047>=U?y+2:65535>=U?y+3:y+4}return y}function ui(f,y){for(var O=0;O<f.length;++O)be[y++>>0]=f.charCodeAt(O)}var be,Ue,di,qr,Pn,hi,fi,_=[],dr=[],Mt=[];function hr(){var f=a.preRun.shift();_.unshift(f)}var wr=0,st=null;a.preloadedImages={},a.preloadedAudios={};function ot(f){throw a.onAbort&&a.onAbort(f),le(f),ur=!0,f=new WebAssembly.RuntimeError("abort("+f+"). Build with -s ASSERTIONS=1 for more info."),m(f),f}function sc(){return Vt.startsWith("data:application/octet-stream;base64,")}var Vt;if(Vt="olm.wasm",!sc()){var Ds=Vt;Vt=a.locateFile?a.locateFile(Ds,T):T+Ds}function oc(){var f=Vt;try{if(f==Vt&&Je)return new Uint8Array(Je);if(L)return L(f);throw"both async and sync fetching of the wasm failed"}catch(y){ot(y)}}function ou(){if(!Je&&(P||S)){if(typeof fetch=="function"&&!Vt.startsWith("file://"))return fetch(Vt,{credentials:"same-origin"}).then(function(f){if(!f.ok)throw"failed to load wasm binary file at '"+Vt+"'";return f.arrayBuffer()}).catch(function(){return oc()});if(R)return new Promise(function(f,y){R(Vt,function(O){f(new Uint8Array(O))},y)})}return Promise.resolve().then(function(){return oc()})}var Mn,pi;function Gt(f){for(;0<f.length;){var y=f.shift();if(typeof y=="function")y(a);else{var O=y.cc;typeof O=="number"?y.bc===void 0?fi.get(O)():fi.get(O)(y.bc):O(y.bc===void 0?null:y.bc)}}}var Fo={a:function(f,y,O){Ue.copyWithin(f,y,y+O)},b:function(){ot("OOM")}};(function(){function f(B){a.asm=B.exports,ut=a.asm.c,B=ut.buffer,a.HEAP8=be=new Int8Array(B),a.HEAP16=di=new Int16Array(B),a.HEAP32=qr=new Int32Array(B),a.HEAPU8=Ue=new Uint8Array(B),a.HEAPU16=new Uint16Array(B),a.HEAPU32=new Uint32Array(B),a.HEAPF32=Pn=new Float32Array(B),a.HEAPF64=hi=new Float64Array(B),fi=a.asm.e,dr.unshift(a.asm.d),wr--,a.monitorRunDependencies&&a.monitorRunDependencies(wr),wr==0&&st&&(B=st,st=null,B())}function y(B){f(B.instance)}function O(B){return ou().then(function(ee){return WebAssembly.instantiate(ee,U)}).then(function(ee){return ee}).then(B,function(ee){le("failed to asynchronously prepare wasm: "+ee),ot(ee)})}var U={a:Fo};if(wr++,a.monitorRunDependencies&&a.monitorRunDependencies(wr),a.instantiateWasm)try{return a.instantiateWasm(U,f)}catch(B){return le("Module.instantiateWasm callback failed with error: "+B),!1}return function(){return Je||typeof WebAssembly.instantiateStreaming!="function"||sc()||Vt.startsWith("file://")||typeof fetch!="function"?O(y):fetch(Vt,{credentials:"same-origin"}).then(function(B){return WebAssembly.instantiateStreaming(B,U).then(y,function(ee){return le("wasm streaming compile failed: "+ee),le("falling back to ArrayBuffer instantiation"),O(y)})})}().catch(m),{}})(),a.___wasm_call_ctors=function(){return(a.___wasm_call_ctors=a.asm.d).apply(null,arguments)},a._olm_pk_encryption_last_error=function(){return(a._olm_pk_encryption_last_error=a.asm.f).apply(null,arguments)},a.__olm_error_to_string=function(){return(a.__olm_error_to_string=a.asm.g).apply(null,arguments)},a._olm_pk_encryption_last_error_code=function(){return(a._olm_pk_encryption_last_error_code=a.asm.h).apply(null,arguments)},a._olm_pk_encryption_size=function(){return(a._olm_pk_encryption_size=a.asm.i).apply(null,arguments)},a._olm_pk_encryption=function(){return(a._olm_pk_encryption=a.asm.j).apply(null,arguments)},a._olm_clear_pk_encryption=function(){return(a._olm_clear_pk_encryption=a.asm.k).apply(null,arguments)},a._olm_pk_encryption_set_recipient_key=function(){return(a._olm_pk_encryption_set_recipient_key=a.asm.l).apply(null,arguments)},a._olm_pk_key_length=function(){return(a._olm_pk_key_length=a.asm.m).apply(null,arguments)},a._olm_pk_ciphertext_length=function(){return(a._olm_pk_ciphertext_length=a.asm.n).apply(null,arguments)},a._olm_pk_mac_length=function(){return(a._olm_pk_mac_length=a.asm.o).apply(null,arguments)},a._olm_pk_encrypt_random_length=function(){return(a._olm_pk_encrypt_random_length=a.asm.p).apply(null,arguments)},a._olm_pk_encrypt=function(){return(a._olm_pk_encrypt=a.asm.q).apply(null,arguments)},a._olm_pk_decryption_last_error=function(){return(a._olm_pk_decryption_last_error=a.asm.r).apply(null,arguments)},a._olm_pk_decryption_last_error_code=function(){return(a._olm_pk_decryption_last_error_code=a.asm.s).apply(null,arguments)},a._olm_pk_decryption_size=function(){return(a._olm_pk_decryption_size=a.asm.t).apply(null,arguments)},a._olm_pk_decryption=function(){return(a._olm_pk_decryption=a.asm.u).apply(null,arguments)},a._olm_clear_pk_decryption=function(){return(a._olm_clear_pk_decryption=a.asm.v).apply(null,arguments)},a._olm_pk_private_key_length=function(){return(a._olm_pk_private_key_length=a.asm.w).apply(null,arguments)},a._olm_pk_generate_key_random_length=function(){return(a._olm_pk_generate_key_random_length=a.asm.x).apply(null,arguments)},a._olm_pk_key_from_private=function(){return(a._olm_pk_key_from_private=a.asm.y).apply(null,arguments)},a._olm_pk_generate_key=function(){return(a._olm_pk_generate_key=a.asm.z).apply(null,arguments)},a._olm_pickle_pk_decryption_length=function(){return(a._olm_pickle_pk_decryption_length=a.asm.A).apply(null,arguments)},a._olm_pickle_pk_decryption=function(){return(a._olm_pickle_pk_decryption=a.asm.B).apply(null,arguments)},a._olm_unpickle_pk_decryption=function(){return(a._olm_unpickle_pk_decryption=a.asm.C).apply(null,arguments)},a._olm_pk_max_plaintext_length=function(){return(a._olm_pk_max_plaintext_length=a.asm.D).apply(null,arguments)},a._olm_pk_decrypt=function(){return(a._olm_pk_decrypt=a.asm.E).apply(null,arguments)},a._olm_pk_get_private_key=function(){return(a._olm_pk_get_private_key=a.asm.F).apply(null,arguments)},a._olm_pk_signing_size=function(){return(a._olm_pk_signing_size=a.asm.G).apply(null,arguments)},a._olm_pk_signing=function(){return(a._olm_pk_signing=a.asm.H).apply(null,arguments)},a._olm_pk_signing_last_error=function(){return(a._olm_pk_signing_last_error=a.asm.I).apply(null,arguments)},a._olm_pk_signing_last_error_code=function(){return(a._olm_pk_signing_last_error_code=a.asm.J).apply(null,arguments)},a._olm_clear_pk_signing=function(){return(a._olm_clear_pk_signing=a.asm.K).apply(null,arguments)},a._olm_pk_signing_seed_length=function(){return(a._olm_pk_signing_seed_length=a.asm.L).apply(null,arguments)},a._olm_pk_signing_public_key_length=function(){return(a._olm_pk_signing_public_key_length=a.asm.M).apply(null,arguments)},a._olm_pk_signing_key_from_seed=function(){return(a._olm_pk_signing_key_from_seed=a.asm.N).apply(null,arguments)},a._olm_pk_signature_length=function(){return(a._olm_pk_signature_length=a.asm.O).apply(null,arguments)},a._olm_pk_sign=function(){return(a._olm_pk_sign=a.asm.P).apply(null,arguments)},a._olm_get_library_version=function(){return(a._olm_get_library_version=a.asm.Q).apply(null,arguments)},a._olm_error=function(){return(a._olm_error=a.asm.R).apply(null,arguments)},a._olm_account_last_error=function(){return(a._olm_account_last_error=a.asm.S).apply(null,arguments)},a._olm_account_last_error_code=function(){return(a._olm_account_last_error_code=a.asm.T).apply(null,arguments)},a._olm_session_last_error=function(){return(a._olm_session_last_error=a.asm.U).apply(null,arguments)},a._olm_session_last_error_code=function(){return(a._olm_session_last_error_code=a.asm.V).apply(null,arguments)},a._olm_utility_last_error=function(){return(a._olm_utility_last_error=a.asm.W).apply(null,arguments)},a._olm_utility_last_error_code=function(){return(a._olm_utility_last_error_code=a.asm.X).apply(null,arguments)},a._olm_account_size=function(){return(a._olm_account_size=a.asm.Y).apply(null,arguments)},a._olm_session_size=function(){return(a._olm_session_size=a.asm.Z).apply(null,arguments)},a._olm_utility_size=function(){return(a._olm_utility_size=a.asm._).apply(null,arguments)},a._olm_account=function(){return(a._olm_account=a.asm.$).apply(null,arguments)},a._olm_session=function(){return(a._olm_session=a.asm.aa).apply(null,arguments)},a._olm_utility=function(){return(a._olm_utility=a.asm.ba).apply(null,arguments)},a._olm_clear_account=function(){return(a._olm_clear_account=a.asm.ca).apply(null,arguments)},a._olm_clear_session=function(){return(a._olm_clear_session=a.asm.da).apply(null,arguments)},a._olm_clear_utility=function(){return(a._olm_clear_utility=a.asm.ea).apply(null,arguments)},a._olm_pickle_account_length=function(){return(a._olm_pickle_account_length=a.asm.fa).apply(null,arguments)},a._olm_pickle_session_length=function(){return(a._olm_pickle_session_length=a.asm.ga).apply(null,arguments)},a._olm_pickle_account=function(){return(a._olm_pickle_account=a.asm.ha).apply(null,arguments)},a._olm_pickle_session=function(){return(a._olm_pickle_session=a.asm.ia).apply(null,arguments)},a._olm_unpickle_account=function(){return(a._olm_unpickle_account=a.asm.ja).apply(null,arguments)},a._olm_unpickle_session=function(){return(a._olm_unpickle_session=a.asm.ka).apply(null,arguments)},a._olm_create_account_random_length=function(){return(a._olm_create_account_random_length=a.asm.la).apply(null,arguments)},a._olm_create_account=function(){return(a._olm_create_account=a.asm.ma).apply(null,arguments)},a._olm_account_identity_keys_length=function(){return(a._olm_account_identity_keys_length=a.asm.na).apply(null,arguments)},a._olm_account_identity_keys=function(){return(a._olm_account_identity_keys=a.asm.oa).apply(null,arguments)},a._olm_account_signature_length=function(){return(a._olm_account_signature_length=a.asm.pa).apply(null,arguments)},a._olm_account_sign=function(){return(a._olm_account_sign=a.asm.qa).apply(null,arguments)},a._olm_account_one_time_keys_length=function(){return(a._olm_account_one_time_keys_length=a.asm.ra).apply(null,arguments)},a._olm_account_one_time_keys=function(){return(a._olm_account_one_time_keys=a.asm.sa).apply(null,arguments)},a._olm_account_mark_keys_as_published=function(){return(a._olm_account_mark_keys_as_published=a.asm.ta).apply(null,arguments)},a._olm_account_max_number_of_one_time_keys=function(){return(a._olm_account_max_number_of_one_time_keys=a.asm.ua).apply(null,arguments)},a._olm_account_generate_one_time_keys_random_length=function(){return(a._olm_account_generate_one_time_keys_random_length=a.asm.va).apply(null,arguments)},a._olm_account_generate_one_time_keys=function(){return(a._olm_account_generate_one_time_keys=a.asm.wa).apply(null,arguments)},a._olm_account_generate_fallback_key_random_length=function(){return(a._olm_account_generate_fallback_key_random_length=a.asm.xa).apply(null,arguments)},a._olm_account_generate_fallback_key=function(){return(a._olm_account_generate_fallback_key=a.asm.ya).apply(null,arguments)},a._olm_account_fallback_key_length=function(){return(a._olm_account_fallback_key_length=a.asm.za).apply(null,arguments)},a._olm_account_fallback_key=function(){return(a._olm_account_fallback_key=a.asm.Aa).apply(null,arguments)},a._olm_account_unpublished_fallback_key_length=function(){return(a._olm_account_unpublished_fallback_key_length=a.asm.Ba).apply(null,arguments)},a._olm_account_unpublished_fallback_key=function(){return(a._olm_account_unpublished_fallback_key=a.asm.Ca).apply(null,arguments)},a._olm_account_forget_old_fallback_key=function(){return(a._olm_account_forget_old_fallback_key=a.asm.Da).apply(null,arguments)},a._olm_create_outbound_session_random_length=function(){return(a._olm_create_outbound_session_random_length=a.asm.Ea).apply(null,arguments)},a._olm_create_outbound_session=function(){return(a._olm_create_outbound_session=a.asm.Fa).apply(null,arguments)},a._olm_create_inbound_session=function(){return(a._olm_create_inbound_session=a.asm.Ga).apply(null,arguments)},a._olm_create_inbound_session_from=function(){return(a._olm_create_inbound_session_from=a.asm.Ha).apply(null,arguments)},a._olm_session_id_length=function(){return(a._olm_session_id_length=a.asm.Ia).apply(null,arguments)},a._olm_session_id=function(){return(a._olm_session_id=a.asm.Ja).apply(null,arguments)},a._olm_session_has_received_message=function(){return(a._olm_session_has_received_message=a.asm.Ka).apply(null,arguments)},a._olm_session_describe=function(){return(a._olm_session_describe=a.asm.La).apply(null,arguments)},a._olm_matches_inbound_session=function(){return(a._olm_matches_inbound_session=a.asm.Ma).apply(null,arguments)},a._olm_matches_inbound_session_from=function(){return(a._olm_matches_inbound_session_from=a.asm.Na).apply(null,arguments)},a._olm_remove_one_time_keys=function(){return(a._olm_remove_one_time_keys=a.asm.Oa).apply(null,arguments)},a._olm_encrypt_message_type=function(){return(a._olm_encrypt_message_type=a.asm.Pa).apply(null,arguments)},a._olm_encrypt_random_length=function(){return(a._olm_encrypt_random_length=a.asm.Qa).apply(null,arguments)},a._olm_encrypt_message_length=function(){return(a._olm_encrypt_message_length=a.asm.Ra).apply(null,arguments)},a._olm_encrypt=function(){return(a._olm_encrypt=a.asm.Sa).apply(null,arguments)},a._olm_decrypt_max_plaintext_length=function(){return(a._olm_decrypt_max_plaintext_length=a.asm.Ta).apply(null,arguments)},a._olm_decrypt=function(){return(a._olm_decrypt=a.asm.Ua).apply(null,arguments)},a._olm_sha256_length=function(){return(a._olm_sha256_length=a.asm.Va).apply(null,arguments)},a._olm_sha256=function(){return(a._olm_sha256=a.asm.Wa).apply(null,arguments)},a._olm_ed25519_verify=function(){return(a._olm_ed25519_verify=a.asm.Xa).apply(null,arguments)},a._olm_inbound_group_session_size=function(){return(a._olm_inbound_group_session_size=a.asm.Ya).apply(null,arguments)},a._olm_inbound_group_session=function(){return(a._olm_inbound_group_session=a.asm.Za).apply(null,arguments)},a._olm_clear_inbound_group_session=function(){return(a._olm_clear_inbound_group_session=a.asm._a).apply(null,arguments)},a._olm_inbound_group_session_last_error=function(){return(a._olm_inbound_group_session_last_error=a.asm.$a).apply(null,arguments)},a._olm_inbound_group_session_last_error_code=function(){return(a._olm_inbound_group_session_last_error_code=a.asm.ab).apply(null,arguments)},a._olm_init_inbound_group_session=function(){return(a._olm_init_inbound_group_session=a.asm.bb).apply(null,arguments)},a._olm_import_inbound_group_session=function(){return(a._olm_import_inbound_group_session=a.asm.cb).apply(null,arguments)},a._olm_pickle_inbound_group_session_length=function(){return(a._olm_pickle_inbound_group_session_length=a.asm.db).apply(null,arguments)},a._olm_pickle_inbound_group_session=function(){return(a._olm_pickle_inbound_group_session=a.asm.eb).apply(null,arguments)},a._olm_unpickle_inbound_group_session=function(){return(a._olm_unpickle_inbound_group_session=a.asm.fb).apply(null,arguments)},a._olm_group_decrypt_max_plaintext_length=function(){return(a._olm_group_decrypt_max_plaintext_length=a.asm.gb).apply(null,arguments)},a._olm_group_decrypt=function(){return(a._olm_group_decrypt=a.asm.hb).apply(null,arguments)},a._olm_inbound_group_session_id_length=function(){return(a._olm_inbound_group_session_id_length=a.asm.ib).apply(null,arguments)},a._olm_inbound_group_session_id=function(){return(a._olm_inbound_group_session_id=a.asm.jb).apply(null,arguments)},a._olm_inbound_group_session_first_known_index=function(){return(a._olm_inbound_group_session_first_known_index=a.asm.kb).apply(null,arguments)},a._olm_inbound_group_session_is_verified=function(){return(a._olm_inbound_group_session_is_verified=a.asm.lb).apply(null,arguments)},a._olm_export_inbound_group_session_length=function(){return(a._olm_export_inbound_group_session_length=a.asm.mb).apply(null,arguments)},a._olm_export_inbound_group_session=function(){return(a._olm_export_inbound_group_session=a.asm.nb).apply(null,arguments)},a._olm_sas_last_error=function(){return(a._olm_sas_last_error=a.asm.ob).apply(null,arguments)},a._olm_sas_last_error_code=function(){return(a._olm_sas_last_error_code=a.asm.pb).apply(null,arguments)},a._olm_sas_size=function(){return(a._olm_sas_size=a.asm.qb).apply(null,arguments)},a._olm_sas=function(){return(a._olm_sas=a.asm.rb).apply(null,arguments)},a._olm_clear_sas=function(){return(a._olm_clear_sas=a.asm.sb).apply(null,arguments)},a._olm_create_sas_random_length=function(){return(a._olm_create_sas_random_length=a.asm.tb).apply(null,arguments)},a._olm_create_sas=function(){return(a._olm_create_sas=a.asm.ub).apply(null,arguments)},a._olm_sas_pubkey_length=function(){return(a._olm_sas_pubkey_length=a.asm.vb).apply(null,arguments)},a._olm_sas_get_pubkey=function(){return(a._olm_sas_get_pubkey=a.asm.wb).apply(null,arguments)},a._olm_sas_set_their_key=function(){return(a._olm_sas_set_their_key=a.asm.xb).apply(null,arguments)},a._olm_sas_is_their_key_set=function(){return(a._olm_sas_is_their_key_set=a.asm.yb).apply(null,arguments)},a._olm_sas_generate_bytes=function(){return(a._olm_sas_generate_bytes=a.asm.zb).apply(null,arguments)},a._olm_sas_mac_length=function(){return(a._olm_sas_mac_length=a.asm.Ab).apply(null,arguments)},a._olm_sas_calculate_mac_fixed_base64=function(){return(a._olm_sas_calculate_mac_fixed_base64=a.asm.Bb).apply(null,arguments)},a._olm_sas_calculate_mac=function(){return(a._olm_sas_calculate_mac=a.asm.Cb).apply(null,arguments)},a._olm_sas_calculate_mac_long_kdf=function(){return(a._olm_sas_calculate_mac_long_kdf=a.asm.Db).apply(null,arguments)},a._olm_outbound_group_session_size=function(){return(a._olm_outbound_group_session_size=a.asm.Eb).apply(null,arguments)},a._olm_outbound_group_session=function(){return(a._olm_outbound_group_session=a.asm.Fb).apply(null,arguments)},a._olm_clear_outbound_group_session=function(){return(a._olm_clear_outbound_group_session=a.asm.Gb).apply(null,arguments)},a._olm_outbound_group_session_last_error=function(){return(a._olm_outbound_group_session_last_error=a.asm.Hb).apply(null,arguments)},a._olm_outbound_group_session_last_error_code=function(){return(a._olm_outbound_group_session_last_error_code=a.asm.Ib).apply(null,arguments)},a._olm_pickle_outbound_group_session_length=function(){return(a._olm_pickle_outbound_group_session_length=a.asm.Jb).apply(null,arguments)},a._olm_pickle_outbound_group_session=function(){return(a._olm_pickle_outbound_group_session=a.asm.Kb).apply(null,arguments)},a._olm_unpickle_outbound_group_session=function(){return(a._olm_unpickle_outbound_group_session=a.asm.Lb).apply(null,arguments)},a._olm_init_outbound_group_session_random_length=function(){return(a._olm_init_outbound_group_session_random_length=a.asm.Mb).apply(null,arguments)},a._olm_init_outbound_group_session=function(){return(a._olm_init_outbound_group_session=a.asm.Nb).apply(null,arguments)},a._olm_group_encrypt_message_length=function(){return(a._olm_group_encrypt_message_length=a.asm.Ob).apply(null,arguments)},a._olm_group_encrypt=function(){return(a._olm_group_encrypt=a.asm.Pb).apply(null,arguments)},a._olm_outbound_group_session_id_length=function(){return(a._olm_outbound_group_session_id_length=a.asm.Qb).apply(null,arguments)},a._olm_outbound_group_session_id=function(){return(a._olm_outbound_group_session_id=a.asm.Rb).apply(null,arguments)},a._olm_outbound_group_session_message_index=function(){return(a._olm_outbound_group_session_message_index=a.asm.Sb).apply(null,arguments)},a._olm_outbound_group_session_key_length=function(){return(a._olm_outbound_group_session_key_length=a.asm.Tb).apply(null,arguments)},a._olm_outbound_group_session_key=function(){return(a._olm_outbound_group_session_key=a.asm.Ub).apply(null,arguments)},a._malloc=function(){return(a._malloc=a.asm.Vb).apply(null,arguments)},a._free=function(){return(a._free=a.asm.Wb).apply(null,arguments)};var ac=a.stackSave=function(){return(ac=a.stackSave=a.asm.Xb).apply(null,arguments)},jr=a.stackRestore=function(){return(jr=a.stackRestore=a.asm.Yb).apply(null,arguments)},cc=a.stackAlloc=function(){return(cc=a.stackAlloc=a.asm.Zb).apply(null,arguments)};a.ALLOC_STACK=1;var v;st=function f(){v||d(),v||(st=f)};function d(){function f(){if(!v&&(v=!0,a.calledRun=!0,!ur)){if(Gt(dr),g(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),a.postRun)for(typeof a.postRun=="function"&&(a.postRun=[a.postRun]);a.postRun.length;){var y=a.postRun.shift();Mt.unshift(y)}Gt(Mt)}}if(!(0<wr)){if(a.preRun)for(typeof a.preRun=="function"&&(a.preRun=[a.preRun]);a.preRun.length;)hr();Gt(_),0<wr||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1),f()},1)):f())}}if(a.run=d,a.preInit)for(typeof a.preInit=="function"&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();d();function h(){var f=a._olm_outbound_group_session_size();this.ac=je(f),this.$b=a._olm_outbound_group_session(this.ac)}function b(f){return function(){var y=f.apply(this,arguments);if(y===on)throw y=Q(a._olm_outbound_group_session_last_error(arguments[0])),Error("OLM."+y);return y}}h.prototype.free=function(){a._olm_clear_outbound_group_session(this.$b),Ve(this.$b)},h.prototype.pickle=z(function(f){f=ae(f);var y=b(a._olm_pickle_outbound_group_session_length)(this.$b),O=q(f),U=q(y+1);try{b(a._olm_pickle_outbound_group_session)(this.$b,O,f.length,U,y)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}return Q(U,y)}),h.prototype.unpickle=z(function(f,y){f=ae(f);var O=q(f);y=ae(y);var U=q(y);try{b(a._olm_unpickle_outbound_group_session)(this.$b,O,f.length,U,y.length)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}}),h.prototype.create=z(function(){var f=b(a._olm_init_outbound_group_session_random_length)(this.$b),y=Rr(f,p);try{b(a._olm_init_outbound_group_session)(this.$b,y,f)}finally{ce(y,f)}}),h.prototype.encrypt=function(f){try{var y=Fr(f),O=b(a._olm_group_encrypt_message_length)(this.$b,y),U=je(y+1);sn(f,Ue,U,y+1);var B=je(O+1);return b(a._olm_group_encrypt)(this.$b,U,y,B,O),Ke(B+O),Q(B,O)}finally{U!==void 0&&(ce(U,y+1),Ve(U)),B!==void 0&&Ve(B)}},h.prototype.session_id=z(function(){var f=b(a._olm_outbound_group_session_id_length)(this.$b),y=q(f+1);return b(a._olm_outbound_group_session_id)(this.$b,y,f),Q(y,f)}),h.prototype.session_key=z(function(){var f=b(a._olm_outbound_group_session_key_length)(this.$b),y=q(f+1);b(a._olm_outbound_group_session_key)(this.$b,y,f);var O=Q(y,f);return ce(y,f),O}),h.prototype.message_index=function(){return b(a._olm_outbound_group_session_message_index)(this.$b)},r.OutboundGroupSession=h;function C(){var f=a._olm_inbound_group_session_size();this.ac=je(f),this.$b=a._olm_inbound_group_session(this.ac)}function A(f){return function(){var y=f.apply(this,arguments);if(y===on)throw y=Q(a._olm_inbound_group_session_last_error(arguments[0])),Error("OLM."+y);return y}}C.prototype.free=function(){a._olm_clear_inbound_group_session(this.$b),Ve(this.$b)},C.prototype.pickle=z(function(f){f=ae(f);var y=A(a._olm_pickle_inbound_group_session_length)(this.$b),O=q(f),U=q(y+1);try{A(a._olm_pickle_inbound_group_session)(this.$b,O,f.length,U,y)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}return Q(U,y)}),C.prototype.unpickle=z(function(f,y){f=ae(f);var O=q(f);y=ae(y);var U=q(y);try{A(a._olm_unpickle_inbound_group_session)(this.$b,O,f.length,U,y.length)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}}),C.prototype.create=z(function(f){f=ae(f);var y=q(f);try{A(a._olm_init_inbound_group_session)(this.$b,y,f.length)}finally{for(ce(y,f.length),y=0;y<f.length;y++)f[y]=0}}),C.prototype.import_session=z(function(f){f=ae(f);var y=q(f);try{A(a._olm_import_inbound_group_session)(this.$b,y,f.length)}finally{for(ce(y,f.length),y=0;y<f.length;y++)f[y]=0}}),C.prototype.decrypt=z(function(f){try{var y=je(f.length);ui(f,y);var O=A(a._olm_group_decrypt_max_plaintext_length)(this.$b,y,f.length);ui(f,y);var U=je(O+1),B=q(4),ee=A(a._olm_group_decrypt)(this.$b,y,f.length,U,O,B);return Ke(U+ee),{plaintext:Q(U,ee),message_index:De(B,"i32")}}finally{y!==void 0&&Ve(y),U!==void 0&&(ce(U,ee),Ve(U))}}),C.prototype.session_id=z(function(){var f=A(a._olm_inbound_group_session_id_length)(this.$b),y=q(f+1);return A(a._olm_inbound_group_session_id)(this.$b,y,f),Q(y,f)}),C.prototype.first_known_index=z(function(){return A(a._olm_inbound_group_session_first_known_index)(this.$b)}),C.prototype.export_session=z(function(f){var y=A(a._olm_export_inbound_group_session_length)(this.$b),O=q(y+1);return b(a._olm_export_inbound_group_session)(this.$b,O,y,f),f=Q(O,y),ce(O,y),f}),r.InboundGroupSession=C;function $(){var f=a._olm_pk_encryption_size();this.ac=je(f),this.$b=a._olm_pk_encryption(this.ac)}function re(f){return function(){var y=f.apply(this,arguments);if(y===on)throw y=Q(a._olm_pk_encryption_last_error(arguments[0])),Error("OLM."+y);return y}}$.prototype.free=function(){a._olm_clear_pk_encryption(this.$b),Ve(this.$b)},$.prototype.set_recipient_key=z(function(f){f=ae(f);var y=q(f);re(a._olm_pk_encryption_set_recipient_key)(this.$b,y,f.length)}),$.prototype.encrypt=z(function(f){try{var y=Fr(f),O=je(y+1);sn(f,Ue,O,y+1);var U=re(a._olm_pk_encrypt_random_length)(),B=Rr(U,p),ee=re(a._olm_pk_ciphertext_length)(this.$b,y),ve=je(ee+1),At=re(a._olm_pk_mac_length)(this.$b),qo=q(At+1);Ke(qo+At);var Li=re(a._olm_pk_key_length)(),an=q(Li+1);return Ke(an+Li),re(a._olm_pk_encrypt)(this.$b,O,y,ve,ee,qo,At,an,Li,B,U),Ke(ve+ee),{ciphertext:Q(ve,ee),mac:Q(qo,At),ephemeral:Q(an,Li)}}finally{B!==void 0&&ce(B,U),O!==void 0&&(ce(O,y+1),Ve(O)),ve!==void 0&&Ve(ve)}});function we(){var f=a._olm_pk_decryption_size();this.ac=je(f),this.$b=a._olm_pk_decryption(this.ac)}function de(f){return function(){var y=f.apply(this,arguments);if(y===on)throw y=Q(a._olm_pk_decryption_last_error(arguments[0])),Error("OLM."+y);return y}}we.prototype.free=function(){a._olm_clear_pk_decryption(this.$b),Ve(this.$b)},we.prototype.init_with_private_key=z(function(f){var y=q(f.length);a.HEAPU8.set(f,y);var O=de(a._olm_pk_key_length)(),U=q(O+1);try{de(a._olm_pk_key_from_private)(this.$b,U,O,y,f.length)}finally{ce(y,f.length)}return Q(U,O)}),we.prototype.generate_key=z(function(){var f=de(a._olm_pk_private_key_length)(),y=Rr(f,p),O=de(a._olm_pk_key_length)(),U=q(O+1);try{de(a._olm_pk_key_from_private)(this.$b,U,O,y,f)}finally{ce(y,f)}return Q(U,O)}),we.prototype.get_private_key=z(function(){var f=re(a._olm_pk_private_key_length)(),y=q(f);de(a._olm_pk_get_private_key)(this.$b,y,f);var O=new Uint8Array(new Uint8Array(a.HEAPU8.buffer,y,f));return ce(y,f),O}),we.prototype.pickle=z(function(f){f=ae(f);var y=de(a._olm_pickle_pk_decryption_length)(this.$b),O=q(f),U=q(y+1);try{de(a._olm_pickle_pk_decryption)(this.$b,O,f.length,U,y)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}return Q(U,y)}),we.prototype.unpickle=z(function(f,y){f=ae(f);var O=q(f),U=ae(y),B=q(U);y=de(a._olm_pk_key_length)();var ee=q(y+1);try{de(a._olm_unpickle_pk_decryption)(this.$b,O,f.length,B,U.length,ee,y)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}return Q(ee,y)}),we.prototype.decrypt=z(function(f,y,O){try{var U=Fr(O),B=je(U+1);sn(O,Ue,B,U+1);var ee=ae(f),ve=q(ee),At=ae(y),qo=q(At),Li=de(a._olm_pk_max_plaintext_length)(this.$b,U),an=je(Li+1),cu=de(a._olm_pk_decrypt)(this.$b,ve,ee.length,qo,At.length,B,U,an,Li);return Ke(an+cu),Q(an,cu)}finally{an!==void 0&&(ce(an,cu+1),Ve(an)),B!==void 0&&Ve(B)}});function Ie(){var f=a._olm_pk_signing_size();this.ac=je(f),this.$b=a._olm_pk_signing(this.ac)}function ye(f){return function(){var y=f.apply(this,arguments);if(y===on)throw y=Q(a._olm_pk_signing_last_error(arguments[0])),Error("OLM."+y);return y}}Ie.prototype.free=function(){a._olm_clear_pk_signing(this.$b),Ve(this.$b)},Ie.prototype.init_with_seed=z(function(f){var y=q(f.length);a.HEAPU8.set(f,y);var O=ye(a._olm_pk_signing_public_key_length)(),U=q(O+1);try{ye(a._olm_pk_signing_key_from_seed)(this.$b,U,O,y,f.length)}finally{ce(y,f.length)}return Q(U,O)}),Ie.prototype.generate_seed=z(function(){var f=ye(a._olm_pk_signing_seed_length)(),y=Rr(f,p),O=new Uint8Array(new Uint8Array(a.HEAPU8.buffer,y,f));return ce(y,f),O}),Ie.prototype.sign=z(function(f){try{var y=Fr(f),O=je(y+1);sn(f,Ue,O,y+1);var U=ye(a._olm_pk_signature_length)(),B=q(U+1);return ye(a._olm_pk_sign)(this.$b,O,y,B,U),Q(B,U)}finally{O!==void 0&&(ce(O,y+1),Ve(O))}});function gi(){var f=a._olm_sas_size(),y=a._olm_create_sas_random_length(),O=Rr(y,p);this.ac=je(f),this.$b=a._olm_sas(this.ac),a._olm_create_sas(this.$b,O,y),ce(O,y)}function An(f){return function(){var y=f.apply(this,arguments);if(y===on)throw y=Q(a._olm_sas_last_error(arguments[0])),Error("OLM."+y);return y}}gi.prototype.free=function(){a._olm_clear_sas(this.$b),Ve(this.$b)},gi.prototype.get_pubkey=z(function(){var f=An(a._olm_sas_pubkey_length)(this.$b),y=q(f+1);return An(a._olm_sas_get_pubkey)(this.$b,y,f),Q(y,f)}),gi.prototype.set_their_key=z(function(f){f=ae(f);var y=q(f);An(a._olm_sas_set_their_key)(this.$b,y,f.length)}),gi.prototype.is_their_key_set=z(function(){return!!An(a._olm_sas_is_their_key_set)(this.$b)}),gi.prototype.generate_bytes=z(function(f,y){f=ae(f);var O=q(f),U=q(y);return An(a._olm_sas_generate_bytes)(this.$b,O,f.length,U,y),new Uint8Array(new Uint8Array(a.HEAPU8.buffer,U,y))}),gi.prototype.calculate_mac=z(function(f,y){f=ae(f);var O=q(f);y=ae(y);var U=q(y),B=An(a._olm_sas_mac_length)(this.$b),ee=q(B+1);return An(a._olm_sas_calculate_mac)(this.$b,O,f.length,U,y.length,ee,B),Q(ee,B)}),gi.prototype.calculate_mac_long_kdf=z(function(f,y){f=ae(f);var O=q(f);y=ae(y);var U=q(y),B=An(a._olm_sas_mac_length)(this.$b),ee=q(B+1);return An(a._olm_sas_calculate_mac_long_kdf)(this.$b,O,f.length,U,y.length,ee,B),Q(ee,B)});var je=a._malloc,Ve=a._free,on;function Rr(f,y){var O=cc(f);return y(new Uint8Array(a.HEAPU8.buffer,O,f)),O}function q(f){return typeof f=="number"?Rr(f,function(y){y.fill(0)}):Rr(f.length,function(y){y.set(f)})}function ae(f){if(f instanceof Uint8Array)var y=f;else y=Array(Fr(f)+1),f=sn(f,y,0,y.length),y.length=f;return y}function z(f){return function(){var y=ac();try{return f.apply(this,arguments)}finally{jr(y)}}}function ce(f,y){for(;0<y--;)a.HEAP8[f++]=0}function wt(){var f=a._olm_account_size();this.ac=je(f),this.$b=a._olm_account(this.ac)}function Ge(f){return function(){var y=f.apply(this,arguments);if(y===on)throw y=Q(a._olm_account_last_error(arguments[0])),Error("OLM."+y);return y}}wt.prototype.free=function(){a._olm_clear_account(this.$b),Ve(this.$b)},wt.prototype.create=z(function(){var f=Ge(a._olm_create_account_random_length)(this.$b),y=Rr(f,p);try{Ge(a._olm_create_account)(this.$b,y,f)}finally{ce(y,f)}}),wt.prototype.identity_keys=z(function(){var f=Ge(a._olm_account_identity_keys_length)(this.$b),y=q(f+1);return Ge(a._olm_account_identity_keys)(this.$b,y,f),Q(y,f)}),wt.prototype.sign=z(function(f){var y=Ge(a._olm_account_signature_length)(this.$b);f=ae(f);var O=q(f),U=q(y+1);try{Ge(a._olm_account_sign)(this.$b,O,f.length,U,y)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}return Q(U,y)}),wt.prototype.one_time_keys=z(function(){var f=Ge(a._olm_account_one_time_keys_length)(this.$b),y=q(f+1);return Ge(a._olm_account_one_time_keys)(this.$b,y,f),Q(y,f)}),wt.prototype.mark_keys_as_published=z(function(){Ge(a._olm_account_mark_keys_as_published)(this.$b)}),wt.prototype.max_number_of_one_time_keys=z(function(){return Ge(a._olm_account_max_number_of_one_time_keys)(this.$b)}),wt.prototype.generate_one_time_keys=z(function(f){var y=Ge(a._olm_account_generate_one_time_keys_random_length)(this.$b,f),O=Rr(y,p);try{Ge(a._olm_account_generate_one_time_keys)(this.$b,f,O,y)}finally{ce(O,y)}}),wt.prototype.remove_one_time_keys=z(function(f){Ge(a._olm_remove_one_time_keys)(this.$b,f.$b)}),wt.prototype.generate_fallback_key=z(function(){var f=Ge(a._olm_account_generate_fallback_key_random_length)(this.$b),y=Rr(f,p);try{Ge(a._olm_account_generate_fallback_key)(this.$b,y,f)}finally{ce(y,f)}}),wt.prototype.fallback_key=z(function(){var f=Ge(a._olm_account_fallback_key_length)(this.$b),y=q(f+1);return Ge(a._olm_account_fallback_key)(this.$b,y,f),Q(y,f)}),wt.prototype.unpublished_fallback_key=z(function(){var f=Ge(a._olm_account_unpublished_fallback_key_length)(this.$b),y=q(f+1);return Ge(a._olm_account_unpublished_fallback_key)(this.$b,y,f),Q(y,f)}),wt.prototype.forget_old_fallback_key=z(function(){Ge(a._olm_account_forget_old_fallback_key)(this.$b)}),wt.prototype.pickle=z(function(f){f=ae(f);var y=Ge(a._olm_pickle_account_length)(this.$b),O=q(f),U=q(y+1);try{Ge(a._olm_pickle_account)(this.$b,O,f.length,U,y)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}return Q(U,y)}),wt.prototype.unpickle=z(function(f,y){f=ae(f);var O=q(f);y=ae(y);var U=q(y);try{Ge(a._olm_unpickle_account)(this.$b,O,f.length,U,y.length)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}});function Wt(){var f=a._olm_session_size();this.ac=je(f),this.$b=a._olm_session(this.ac)}function at(f){return function(){var y=f.apply(this,arguments);if(y===on)throw y=Q(a._olm_session_last_error(arguments[0])),Error("OLM."+y);return y}}Wt.prototype.free=function(){a._olm_clear_session(this.$b),Ve(this.$b)},Wt.prototype.pickle=z(function(f){f=ae(f);var y=at(a._olm_pickle_session_length)(this.$b),O=q(f),U=q(y+1);try{at(a._olm_pickle_session)(this.$b,O,f.length,U,y)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}return Q(U,y)}),Wt.prototype.unpickle=z(function(f,y){f=ae(f);var O=q(f);y=ae(y);var U=q(y);try{at(a._olm_unpickle_session)(this.$b,O,f.length,U,y.length)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}}),Wt.prototype.create_outbound=z(function(f,y,O){var U=at(a._olm_create_outbound_session_random_length)(this.$b),B=Rr(U,p);y=ae(y),O=ae(O);var ee=q(y),ve=q(O);try{at(a._olm_create_outbound_session)(this.$b,f.$b,ee,y.length,ve,O.length,B,U)}finally{ce(B,U)}}),Wt.prototype.create_inbound=z(function(f,y){y=ae(y);var O=q(y);try{at(a._olm_create_inbound_session)(this.$b,f.$b,O,y.length)}finally{for(ce(O,y.length),f=0;f<y.length;f++)y[f]=0}}),Wt.prototype.create_inbound_from=z(function(f,y,O){y=ae(y);var U=q(y);O=ae(O);var B=q(O);try{at(a._olm_create_inbound_session_from)(this.$b,f.$b,U,y.length,B,O.length)}finally{for(ce(B,O.length),f=0;f<O.length;f++)O[f]=0}}),Wt.prototype.session_id=z(function(){var f=at(a._olm_session_id_length)(this.$b),y=q(f+1);return at(a._olm_session_id)(this.$b,y,f),Q(y,f)}),Wt.prototype.has_received_message=function(){return!!at(a._olm_session_has_received_message)(this.$b)},Wt.prototype.matches_inbound=z(function(f){f=ae(f);var y=q(f);return!!at(a._olm_matches_inbound_session)(this.$b,y,f.length)}),Wt.prototype.matches_inbound_from=z(function(f,y){f=ae(f);var O=q(f);y=ae(y);var U=q(y);return!!at(a._olm_matches_inbound_session_from)(this.$b,O,f.length,U,y.length)}),Wt.prototype.encrypt=z(function(f){try{var y=at(a._olm_encrypt_random_length)(this.$b),O=at(a._olm_encrypt_message_type)(this.$b),U=Fr(f),B=at(a._olm_encrypt_message_length)(this.$b,U),ee=Rr(y,p),ve=je(U+1);sn(f,Ue,ve,U+1);var At=je(B+1);return at(a._olm_encrypt)(this.$b,ve,U,ee,y,At,B),Ke(At+B),{type:O,body:Q(At,B)}}finally{ee!==void 0&&ce(ee,y),ve!==void 0&&(ce(ve,U+1),Ve(ve)),At!==void 0&&Ve(At)}}),Wt.prototype.decrypt=z(function(f,y){try{var O=je(y.length);ui(y,O);var U=at(a._olm_decrypt_max_plaintext_length)(this.$b,f,O,y.length);ui(y,O);var B=je(U+1),ee=at(a._olm_decrypt)(this.$b,f,O,y.length,B,U);return Ke(B+ee),Q(B,ee)}finally{O!==void 0&&Ve(O),B!==void 0&&(ce(B,U),Ve(B))}}),Wt.prototype.describe=z(function(){try{var f=je(256);return at(a._olm_session_describe)(this.$b,f,256),Q(f)}finally{f!==void 0&&Ve(f)}});function lc(){var f=a._olm_utility_size();this.ac=je(f),this.$b=a._olm_utility(this.ac)}function au(f){return function(){var y=f.apply(this,arguments);if(y===on)throw y=Q(a._olm_utility_last_error(arguments[0])),Error("OLM."+y);return y}}return lc.prototype.free=function(){a._olm_clear_utility(this.$b),Ve(this.$b)},lc.prototype.sha256=z(function(f){var y=au(a._olm_sha256_length)(this.$b);f=ae(f);var O=q(f),U=q(y+1);try{au(a._olm_sha256)(this.$b,O,f.length,U,y)}finally{for(ce(O,f.length),O=0;O<f.length;O++)f[O]=0}return Q(U,y)}),lc.prototype.ed25519_verify=z(function(f,y,O){f=ae(f);var U=q(f);y=ae(y);var B=q(y);O=ae(O);var ee=q(O);try{au(a._olm_ed25519_verify)(this.$b,U,f.length,B,y.length,ee,O.length)}finally{for(ce(B,y.length),f=0;f<y.length;f++)y[f]=0}}),r.Account=wt,r.Session=Wt,r.Utility=lc,r.PkEncryption=$,r.PkDecryption=we,r.PkSigning=Ie,r.SAS=gi,r.get_library_version=z(function(){var f=q(3);return a._olm_get_library_version(f,f+1,f+2),[De(f,"i8"),De(f+1,"i8"),De(f+2,"i8")]}),u.ready}}();n.exports=o;var c;return r.init=function(l){return c||(l&&(OLM_OPTIONS=l),c=new Promise(function(u,a){i=function(){u()},s=function(g){a(g)},o()}),c)},r}();typeof window!="undefined"&&(window.Olm=t),n.exports=t;// @license-end +})(gy);var LA=gy.exports,IE={},V={exports:{}};(function(n){function e(t){return t&&t.__esModule?t:{default:t}}n.exports=e,n.exports.__esModule=!0,n.exports.default=n.exports})(V);var my={exports:{}};(function(n,e){(function(t,r){n.exports=r()})(j,function(){var t=XMLHttpRequest;if(!t)throw new Error("missing XMLHttpRequest");i.log={trace:l,debug:l,info:l,warn:l,error:l};var r=3*60*1e3;function i(p,E){if(typeof E!="function")throw new Error("Bad callback given: "+E);if(!p)throw new Error("No options given");var I=p.onResponse;if(typeof p=="string"?p={uri:p}:p=JSON.parse(JSON.stringify(p)),p.onResponse=I,p.verbose&&(i.log=u()),p.url&&(p.uri=p.url,delete p.url),!p.uri&&p.uri!=="")throw new Error("options.uri is a required argument");if(typeof p.uri!="string")throw new Error("options.uri must be a string");for(var w=["proxy","_redirectsFollowed","maxRedirects","followRedirect"],k=0;k<w.length;k++)if(p[w[k]])throw new Error("options."+w[k]+" is not supported");if(p.callback=E,p.method=p.method||"GET",p.headers=p.headers||{},p.body=p.body||null,p.timeout=p.timeout||i.DEFAULT_TIMEOUT,p.headers.host)throw new Error("Options.headers.host is not supported");p.json&&(p.headers.accept=p.headers.accept||"application/json",p.method!=="GET"&&(p.headers["content-type"]="application/json"),typeof p.json!="boolean"?p.body=JSON.stringify(p.json):typeof p.body!="string"&&(p.body=JSON.stringify(p.body)));var P=function(L){var H=[];for(var F in L)L.hasOwnProperty(F)&&H.push(encodeURIComponent(F)+"="+encodeURIComponent(L[F]));return H.join("&")};if(p.qs){var S=typeof p.qs=="string"?p.qs:P(p.qs);p.uri.indexOf("?")!==-1?p.uri=p.uri+"&"+S:p.uri=p.uri+"?"+S}var T=function(L){var H={};H.boundry="-------------------------------"+Math.floor(Math.random()*1e9);var F=[];for(var le in L)L.hasOwnProperty(le)&&F.push("--"+H.boundry+` +Content-Disposition: form-data; name="`+le+`" + +`+L[le]+` +`);return F.push("--"+H.boundry+"--"),H.body=F.join(""),H.length=H.body.length,H.type="multipart/form-data; boundary="+H.boundry,H};if(p.form){if(typeof p.form=="string")throw"form name unsupported";if(p.method==="POST"){var D=(p.encoding||"application/x-www-form-urlencoded").toLowerCase();switch(p.headers["content-type"]=D,D){case"application/x-www-form-urlencoded":p.body=P(p.form).replace(/%20/g,"+");break;case"multipart/form-data":var R=T(p.form);p.body=R.body,p.headers["content-type"]=R.type;break;default:throw new Error("unsupported encoding:"+D)}}}return p.onResponse=p.onResponse||l,p.onResponse===!0&&(p.onResponse=E,p.callback=l),!p.headers.authorization&&p.auth&&(p.headers.authorization="Basic "+m(p.auth.username+":"+p.auth.password)),o(p)}var s=0;function o(p){var E=new t,I=!1,w=g(p.uri),k="withCredentials"in E;if(s+=1,E.seq_id=s,E.id=s+": "+p.method+" "+p.uri,E._id=E.id,w&&!k){var P=new Error("Browser does not support cross-origin request: "+p.uri);return P.cors="unsupported",p.callback(P,E)}E.timeoutTimer=setTimeout(S,p.timeout);function S(){I=!0;var F=new Error("ETIMEDOUT");return F.code="ETIMEDOUT",F.duration=p.timeout,i.log.error("Timeout",{id:E._id,milliseconds:p.timeout}),p.callback(F,E)}var T={response:!1,loading:!1,end:!1};return E.onreadystatechange=D,E.open(p.method,p.uri,!0),w&&(E.withCredentials=!!p.withCredentials),E.send(p.body),E;function D(F){if(I)return i.log.debug("Ignoring timed out state change",{state:E.readyState,id:E.id});if(i.log.debug("State change",{state:E.readyState,id:E.id,timed_out:I}),E.readyState===t.OPENED){i.log.debug("Request started",{id:E.id});for(var le in p.headers)E.setRequestHeader(le,p.headers[le])}else E.readyState===t.HEADERS_RECEIVED?R():E.readyState===t.LOADING?(R(),L()):E.readyState===t.DONE&&(R(),L(),H())}function R(){if(!T.response){if(T.response=!0,i.log.debug("Got response",{id:E.id,status:E.status}),clearTimeout(E.timeoutTimer),E.statusCode=E.status,w&&E.statusCode==0){var F=new Error("CORS request rejected: "+p.uri);return F.cors="rejected",T.loading=!0,T.end=!0,p.callback(F,E)}p.onResponse(null,E)}}function L(){T.loading||(T.loading=!0,i.log.debug("Response body loading",{id:E.id}))}function H(){if(!T.end){if(T.end=!0,i.log.debug("Request done",{id:E.id}),E.body=E.responseText,p.json)try{E.body=JSON.parse(E.responseText)}catch(F){return p.callback(F,E)}p.callback(null,E,E.body)}}}i.withCredentials=!1,i.DEFAULT_TIMEOUT=r,i.defaults=function(p,E){var I=function(k){var P=function(S,T){typeof S=="string"?S={uri:S}:S=JSON.parse(JSON.stringify(S));for(var D in p)S[D]===void 0&&(S[D]=p[D]);return k(S,T)};return P},w=I(i);return w.get=I(i.get),w.post=I(i.post),w.put=I(i.put),w.head=I(i.head),w};var c=["get","put","post","head"];c.forEach(function(p){var E=p.toUpperCase(),I=p.toLowerCase();i[I]=function(w){typeof w=="string"?w={method:E,uri:w}:(w=JSON.parse(JSON.stringify(w)),w.method=E);var k=[w].concat(Array.prototype.slice.apply(arguments,[1]));return i.apply(this,k)}}),i.couch=function(p,E){typeof p=="string"&&(p={uri:p}),p.json=!0,p.body&&(p.json=p.body),delete p.body,E=E||l;var I=i(p,w);return I;function w(k,P,S){if(k)return E(k,P,S);if((P.statusCode<200||P.statusCode>299)&&S.error){k=new Error("CouchDB error: "+(S.error.reason||S.error.error));for(var T in S)k[T]=S[T];return E(k,P,S)}return E(k,P,S)}};function l(){}function u(){var p={},E=["trace","debug","info","warn","error"],I,w;for(w=0;w<E.length;w++)I=E[w],p[I]=l,typeof console!="undefined"&&console&&console[I]&&(p[I]=a(console,I));return p}function a(p,E){return I;function I(w,k){return typeof k=="object"&&(w+=" "+JSON.stringify(k)),p[E].call(p,w)}}function g(p){var E=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,I;try{I=location.href}catch{I=document.createElement("a"),I.href="",I=I.href}var w=E.exec(I.toLowerCase())||[],k=E.exec(p.toLowerCase()),P=!!(k&&(k[1]!=w[1]||k[2]!=w[2]||(k[3]||(k[1]==="http:"?80:443))!=(w[3]||(w[1]==="http:"?80:443))));return P}function m(p){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I,w,k,P,S,T,D,R,L=0,H=0,F="",le=[];if(!p)return p;do I=p.charCodeAt(L++),w=p.charCodeAt(L++),k=p.charCodeAt(L++),R=I<<16|w<<8|k,P=R>>18&63,S=R>>12&63,T=R>>6&63,D=R&63,le[H++]=E.charAt(P)+E.charAt(S)+E.charAt(T)+E.charAt(D);while(L<p.length);switch(F=le.join(""),p.length%3){case 1:F=F.slice(0,-2)+"==";break;case 2:F=F.slice(0,-1)+"=";break}return F}return i})})(my);var TE=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},t=Symbol("test"),r=Object(t);if(typeof t=="string"||Object.prototype.toString.call(t)!=="[object Symbol]"||Object.prototype.toString.call(r)!=="[object Symbol]")return!1;var i=42;e[t]=i;for(t in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var s=Object.getOwnPropertySymbols(e);if(s.length!==1||s[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(e,t);if(o.value!==i||o.enumerable!==!0)return!1}return!0},zf=typeof Symbol!="undefined"&&Symbol,OE=TE,kE=function(){return typeof zf!="function"||typeof Symbol!="function"||typeof zf("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:OE()},CE="Function.prototype.bind called on incompatible ",lu=Array.prototype.slice,PE=Object.prototype.toString,ME="[object Function]",AE=function(e){var t=this;if(typeof t!="function"||PE.call(t)!==ME)throw new TypeError(CE+t);for(var r=lu.call(arguments,1),i,s=function(){if(this instanceof i){var a=t.apply(this,r.concat(lu.call(arguments)));return Object(a)===a?a:this}else return t.apply(e,r.concat(lu.call(arguments)))},o=Math.max(0,t.length-r.length),c=[],l=0;l<o;l++)c.push("$"+l);if(i=Function("binder","return function ("+c.join(",")+"){ return binder.apply(this,arguments); }")(s),t.prototype){var u=function(){};u.prototype=t.prototype,i.prototype=new u,u.prototype=null}return i},DE=AE,Vh=Function.prototype.bind||DE,UE=Vh,$E=UE.call(Function.call,Object.prototype.hasOwnProperty),pe,Aa=SyntaxError,yy=Function,ao=TypeError,uu=function(n){try{return yy('"use strict"; return ('+n+").constructor;")()}catch{}},as=Object.getOwnPropertyDescriptor;if(as)try{as({},"")}catch{as=null}var du=function(){throw new ao},xE=as?function(){try{return arguments.callee,du}catch{try{return as(arguments,"callee").get}catch{return du}}}():du,Us=kE(),ki=Object.getPrototypeOf||function(n){return n.__proto__},eo={},NE=typeof Uint8Array=="undefined"?pe:ki(Uint8Array),co={"%AggregateError%":typeof AggregateError=="undefined"?pe:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?pe:ArrayBuffer,"%ArrayIteratorPrototype%":Us?ki([][Symbol.iterator]()):pe,"%AsyncFromSyncIteratorPrototype%":pe,"%AsyncFunction%":eo,"%AsyncGenerator%":eo,"%AsyncGeneratorFunction%":eo,"%AsyncIteratorPrototype%":eo,"%Atomics%":typeof Atomics=="undefined"?pe:Atomics,"%BigInt%":typeof BigInt=="undefined"?pe:BigInt,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?pe:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array=="undefined"?pe:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?pe:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?pe:FinalizationRegistry,"%Function%":yy,"%GeneratorFunction%":eo,"%Int8Array%":typeof Int8Array=="undefined"?pe:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?pe:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?pe:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Us?ki(ki([][Symbol.iterator]())):pe,"%JSON%":typeof JSON=="object"?JSON:pe,"%Map%":typeof Map=="undefined"?pe:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!Us?pe:ki(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?pe:Promise,"%Proxy%":typeof Proxy=="undefined"?pe:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect=="undefined"?pe:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?pe:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!Us?pe:ki(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?pe:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Us?ki(""[Symbol.iterator]()):pe,"%Symbol%":Us?Symbol:pe,"%SyntaxError%":Aa,"%ThrowTypeError%":xE,"%TypedArray%":NE,"%TypeError%":ao,"%Uint8Array%":typeof Uint8Array=="undefined"?pe:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?pe:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?pe:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?pe:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap=="undefined"?pe:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?pe:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?pe:WeakSet},LE=function n(e){var t;if(e==="%AsyncFunction%")t=uu("async function () {}");else if(e==="%GeneratorFunction%")t=uu("function* () {}");else if(e==="%AsyncGeneratorFunction%")t=uu("async function* () {}");else if(e==="%AsyncGenerator%"){var r=n("%AsyncGeneratorFunction%");r&&(t=r.prototype)}else if(e==="%AsyncIteratorPrototype%"){var i=n("%AsyncGenerator%");i&&(t=ki(i.prototype))}return co[e]=t,t},Jf={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ol=Vh,ul=$E,BE=Ol.call(Function.call,Array.prototype.concat),KE=Ol.call(Function.apply,Array.prototype.splice),Xf=Ol.call(Function.call,String.prototype.replace),dl=Ol.call(Function.call,String.prototype.slice),FE=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,qE=/\\(\\)?/g,jE=function(e){var t=dl(e,0,1),r=dl(e,-1);if(t==="%"&&r!=="%")throw new Aa("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&t!=="%")throw new Aa("invalid intrinsic syntax, expected opening `%`");var i=[];return Xf(e,FE,function(s,o,c,l){i[i.length]=c?Xf(l,qE,"$1"):o||s}),i},VE=function(e,t){var r=e,i;if(ul(Jf,r)&&(i=Jf[r],r="%"+i[0]+"%"),ul(co,r)){var s=co[r];if(s===eo&&(s=LE(r)),typeof s=="undefined"&&!t)throw new ao("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:s}}throw new Aa("intrinsic "+e+" does not exist!")},Gh=function(e,t){if(typeof e!="string"||e.length===0)throw new ao("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof t!="boolean")throw new ao('"allowMissing" argument must be a boolean');var r=jE(e),i=r.length>0?r[0]:"",s=VE("%"+i+"%",t),o=s.name,c=s.value,l=!1,u=s.alias;u&&(i=u[0],KE(r,BE([0,1],u)));for(var a=1,g=!0;a<r.length;a+=1){var m=r[a],p=dl(m,0,1),E=dl(m,-1);if((p==='"'||p==="'"||p==="`"||E==='"'||E==="'"||E==="`")&&p!==E)throw new Aa("property names with quotes must have matching quotes");if((m==="constructor"||!g)&&(l=!0),i+="."+m,o="%"+i+"%",ul(co,o))c=co[o];else if(c!=null){if(!(m in c)){if(!t)throw new ao("base intrinsic for "+e+" exists, but the property is not available.");return}if(as&&a+1>=r.length){var I=as(c,m);g=!!I,g&&"get"in I&&!("originalValue"in I.get)?c=I.get:c=c[m]}else g=ul(c,m),c=c[m];g&&!l&&(co[o]=c)}}return c},vy={exports:{}};(function(n){var e=Vh,t=Gh,r=t("%Function.prototype.apply%"),i=t("%Function.prototype.call%"),s=t("%Reflect.apply%",!0)||e.call(i,r),o=t("%Object.getOwnPropertyDescriptor%",!0),c=t("%Object.defineProperty%",!0),l=t("%Math.max%");if(c)try{c({},"a",{value:1})}catch{c=null}n.exports=function(g){var m=s(e,i,arguments);if(o&&c){var p=o(m,"length");p.configurable&&c(m,"length",{value:1+l(0,g.length-(arguments.length-1))})}return m};var u=function(){return s(e,r,arguments)};c?c(n.exports,"apply",{value:u}):n.exports.apply=u})(vy);var _y=Gh,Ey=vy.exports,GE=Ey(_y("String.prototype.indexOf")),WE=function(e,t){var r=_y(e,!!t);return typeof r=="function"&&GE(e,".prototype.")>-1?Ey(r):r},Wh=typeof Map=="function"&&Map.prototype,hu=Object.getOwnPropertyDescriptor&&Wh?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,hl=Wh&&hu&&typeof hu.get=="function"?hu.get:null,HE=Wh&&Map.prototype.forEach,Hh=typeof Set=="function"&&Set.prototype,fu=Object.getOwnPropertyDescriptor&&Hh?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,fl=Hh&&fu&&typeof fu.get=="function"?fu.get:null,YE=Hh&&Set.prototype.forEach,zE=typeof WeakMap=="function"&&WeakMap.prototype,wa=zE?WeakMap.prototype.has:null,JE=typeof WeakSet=="function"&&WeakSet.prototype,Ra=JE?WeakSet.prototype.has:null,XE=typeof WeakRef=="function"&&WeakRef.prototype,Qf=XE?WeakRef.prototype.deref:null,QE=Boolean.prototype.valueOf,ZE=Object.prototype.toString,eS=Function.prototype.toString,tS=String.prototype.match,Yh=String.prototype.slice,Di=String.prototype.replace,rS=String.prototype.toUpperCase,Zf=String.prototype.toLowerCase,Sy=RegExp.prototype.test,ep=Array.prototype.concat,Sn=Array.prototype.join,nS=Array.prototype.slice,tp=Math.floor,_d=typeof BigInt=="function"?BigInt.prototype.valueOf:null,pu=Object.getOwnPropertySymbols,Ed=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,_o=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Pt=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===_o?"object":"symbol")?Symbol.toStringTag:null,by=Object.prototype.propertyIsEnumerable,rp=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(n){return n.__proto__}:null);function np(n,e){if(n===1/0||n===-1/0||n!==n||n&&n>-1e3&&n<1e3||Sy.call(/e/,e))return e;var t=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof n=="number"){var r=n<0?-tp(-n):tp(n);if(r!==n){var i=String(r),s=Yh.call(e,i.length+1);return Di.call(i,t,"$&_")+"."+Di.call(Di.call(s,/([0-9]{3})/g,"$&_"),/_$/,"")}}return Di.call(e,t,"$&_")}var gu=Oi.custom,mu=gu&&Ry(gu)?gu:null,iS=function n(e,t,r,i){var s=t||{};if(Ci(s,"quoteStyle")&&s.quoteStyle!=="single"&&s.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Ci(s,"maxStringLength")&&(typeof s.maxStringLength=="number"?s.maxStringLength<0&&s.maxStringLength!==1/0:s.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var o=Ci(s,"customInspect")?s.customInspect:!0;if(typeof o!="boolean"&&o!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Ci(s,"indent")&&s.indent!==null&&s.indent!==" "&&!(parseInt(s.indent,10)===s.indent&&s.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Ci(s,"numericSeparator")&&typeof s.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var c=s.numericSeparator;if(typeof e=="undefined")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return Ty(e,s);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var l=String(e);return c?np(e,l):l}if(typeof e=="bigint"){var u=String(e)+"n";return c?np(e,u):u}var a=typeof s.depth=="undefined"?5:s.depth;if(typeof r=="undefined"&&(r=0),r>=a&&a>0&&typeof e=="object")return Sd(e)?"[Array]":"[Object]";var g=wS(s,r);if(typeof i=="undefined")i=[];else if(Iy(i,e)>=0)return"[Circular]";function m(De,ut,ur){if(ut&&(i=nS.call(i),i.push(ut)),ur){var jt={depth:s.depth};return Ci(s,"quoteStyle")&&(jt.quoteStyle=s.quoteStyle),n(De,jt,r+1,i)}return n(De,s,r+1,i)}if(typeof e=="function"){var p=pS(e),E=dc(e,m);return"[Function"+(p?": "+p:" (anonymous)")+"]"+(E.length>0?" { "+Sn.call(E,", ")+" }":"")}if(Ry(e)){var I=_o?Di.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):Ed.call(e);return typeof e=="object"&&!_o?jo(I):I}if(ES(e)){for(var w="<"+Zf.call(String(e.nodeName)),k=e.attributes||[],P=0;P<k.length;P++)w+=" "+k[P].name+"="+wy(sS(k[P].value),"double",s);return w+=">",e.childNodes&&e.childNodes.length&&(w+="..."),w+="</"+Zf.call(String(e.nodeName))+">",w}if(Sd(e)){if(e.length===0)return"[]";var S=dc(e,m);return g&&!bS(S)?"["+bd(S,g)+"]":"[ "+Sn.call(S,", ")+" ]"}if(cS(e)){var T=dc(e,m);return"cause"in e&&!by.call(e,"cause")?"{ ["+String(e)+"] "+Sn.call(ep.call("[cause]: "+m(e.cause),T),", ")+" }":T.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+Sn.call(T,", ")+" }"}if(typeof e=="object"&&o){if(mu&&typeof e[mu]=="function")return e[mu]();if(o!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(gS(e)){var D=[];return HE.call(e,function(De,ut){D.push(m(ut,e,!0)+" => "+m(De,e))}),ip("Map",hl.call(e),D,g)}if(vS(e)){var R=[];return YE.call(e,function(De){R.push(m(De,e))}),ip("Set",fl.call(e),R,g)}if(mS(e))return yu("WeakMap");if(_S(e))return yu("WeakSet");if(yS(e))return yu("WeakRef");if(uS(e))return jo(m(Number(e)));if(hS(e))return jo(m(_d.call(e)));if(dS(e))return jo(QE.call(e));if(lS(e))return jo(m(String(e)));if(!oS(e)&&!aS(e)){var L=dc(e,m),H=rp?rp(e)===Object.prototype:e instanceof Object||e.constructor===Object,F=e instanceof Object?"":"null prototype",le=!H&&Pt&&Object(e)===e&&Pt in e?Yh.call(xi(e),8,-1):F?"Object":"",Je=H||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",Ke=Je+(le||F?"["+Sn.call(ep.call([],le||[],F||[]),": ")+"] ":"");return L.length===0?Ke+"{}":g?Ke+"{"+bd(L,g)+"}":Ke+"{ "+Sn.call(L,", ")+" }"}return String(e)};function wy(n,e,t){var r=(t.quoteStyle||e)==="double"?'"':"'";return r+n+r}function sS(n){return Di.call(String(n),/"/g,""")}function Sd(n){return xi(n)==="[object Array]"&&(!Pt||!(typeof n=="object"&&Pt in n))}function oS(n){return xi(n)==="[object Date]"&&(!Pt||!(typeof n=="object"&&Pt in n))}function aS(n){return xi(n)==="[object RegExp]"&&(!Pt||!(typeof n=="object"&&Pt in n))}function cS(n){return xi(n)==="[object Error]"&&(!Pt||!(typeof n=="object"&&Pt in n))}function lS(n){return xi(n)==="[object String]"&&(!Pt||!(typeof n=="object"&&Pt in n))}function uS(n){return xi(n)==="[object Number]"&&(!Pt||!(typeof n=="object"&&Pt in n))}function dS(n){return xi(n)==="[object Boolean]"&&(!Pt||!(typeof n=="object"&&Pt in n))}function Ry(n){if(_o)return n&&typeof n=="object"&&n instanceof Symbol;if(typeof n=="symbol")return!0;if(!n||typeof n!="object"||!Ed)return!1;try{return Ed.call(n),!0}catch{}return!1}function hS(n){if(!n||typeof n!="object"||!_d)return!1;try{return _d.call(n),!0}catch{}return!1}var fS=Object.prototype.hasOwnProperty||function(n){return n in this};function Ci(n,e){return fS.call(n,e)}function xi(n){return ZE.call(n)}function pS(n){if(n.name)return n.name;var e=tS.call(eS.call(n),/^function\s*([\w$]+)/);return e?e[1]:null}function Iy(n,e){if(n.indexOf)return n.indexOf(e);for(var t=0,r=n.length;t<r;t++)if(n[t]===e)return t;return-1}function gS(n){if(!hl||!n||typeof n!="object")return!1;try{hl.call(n);try{fl.call(n)}catch{return!0}return n instanceof Map}catch{}return!1}function mS(n){if(!wa||!n||typeof n!="object")return!1;try{wa.call(n,wa);try{Ra.call(n,Ra)}catch{return!0}return n instanceof WeakMap}catch{}return!1}function yS(n){if(!Qf||!n||typeof n!="object")return!1;try{return Qf.call(n),!0}catch{}return!1}function vS(n){if(!fl||!n||typeof n!="object")return!1;try{fl.call(n);try{hl.call(n)}catch{return!0}return n instanceof Set}catch{}return!1}function _S(n){if(!Ra||!n||typeof n!="object")return!1;try{Ra.call(n,Ra);try{wa.call(n,wa)}catch{return!0}return n instanceof WeakSet}catch{}return!1}function ES(n){return!n||typeof n!="object"?!1:typeof HTMLElement!="undefined"&&n instanceof HTMLElement?!0:typeof n.nodeName=="string"&&typeof n.getAttribute=="function"}function Ty(n,e){if(n.length>e.maxStringLength){var t=n.length-e.maxStringLength,r="... "+t+" more character"+(t>1?"s":"");return Ty(Yh.call(n,0,e.maxStringLength),e)+r}var i=Di.call(Di.call(n,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,SS);return wy(i,"single",e)}function SS(n){var e=n.charCodeAt(0),t={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return t?"\\"+t:"\\x"+(e<16?"0":"")+rS.call(e.toString(16))}function jo(n){return"Object("+n+")"}function yu(n){return n+" { ? }"}function ip(n,e,t,r){var i=r?bd(t,r):Sn.call(t,", ");return n+" ("+e+") {"+i+"}"}function bS(n){for(var e=0;e<n.length;e++)if(Iy(n[e],` +`)>=0)return!1;return!0}function wS(n,e){var t;if(n.indent===" ")t=" ";else if(typeof n.indent=="number"&&n.indent>0)t=Sn.call(Array(n.indent+1)," ");else return null;return{base:t,prev:Sn.call(Array(e+1),t)}}function bd(n,e){if(n.length===0)return"";var t=` +`+e.prev+e.base;return t+Sn.call(n,","+t)+` +`+e.prev}function dc(n,e){var t=Sd(n),r=[];if(t){r.length=n.length;for(var i=0;i<n.length;i++)r[i]=Ci(n,i)?e(n[i],n):""}var s=typeof pu=="function"?pu(n):[],o;if(_o){o={};for(var c=0;c<s.length;c++)o["$"+s[c]]=s[c]}for(var l in n)!Ci(n,l)||t&&String(Number(l))===l&&l<n.length||_o&&o["$"+l]instanceof Symbol||(Sy.call(/[^\w$]/,l)?r.push(e(l,n)+": "+e(n[l],n)):r.push(l+": "+e(n[l],n)));if(typeof pu=="function")for(var u=0;u<s.length;u++)by.call(n,s[u])&&r.push("["+e(s[u])+"]: "+e(n[s[u]],n));return r}var zh=Gh,Co=WE,RS=iS,IS=zh("%TypeError%"),hc=zh("%WeakMap%",!0),fc=zh("%Map%",!0),TS=Co("WeakMap.prototype.get",!0),OS=Co("WeakMap.prototype.set",!0),kS=Co("WeakMap.prototype.has",!0),CS=Co("Map.prototype.get",!0),PS=Co("Map.prototype.set",!0),MS=Co("Map.prototype.has",!0),Jh=function(n,e){for(var t=n,r;(r=t.next)!==null;t=r)if(r.key===e)return t.next=r.next,r.next=n.next,n.next=r,r},AS=function(n,e){var t=Jh(n,e);return t&&t.value},DS=function(n,e,t){var r=Jh(n,e);r?r.value=t:n.next={key:e,next:n.next,value:t}},US=function(n,e){return!!Jh(n,e)},$S=function(){var e,t,r,i={assert:function(s){if(!i.has(s))throw new IS("Side channel does not contain "+RS(s))},get:function(s){if(hc&&s&&(typeof s=="object"||typeof s=="function")){if(e)return TS(e,s)}else if(fc){if(t)return CS(t,s)}else if(r)return AS(r,s)},has:function(s){if(hc&&s&&(typeof s=="object"||typeof s=="function")){if(e)return kS(e,s)}else if(fc){if(t)return MS(t,s)}else if(r)return US(r,s);return!1},set:function(s,o){hc&&s&&(typeof s=="object"||typeof s=="function")?(e||(e=new hc),OS(e,s,o)):fc?(t||(t=new fc),PS(t,s,o)):(r||(r={key:{},next:null}),DS(r,s,o))}};return i},xS=String.prototype.replace,NS=/%20/g,vu={RFC1738:"RFC1738",RFC3986:"RFC3986"},Xh={default:vu.RFC3986,formatters:{RFC1738:function(n){return xS.call(n,NS,"+")},RFC3986:function(n){return String(n)}},RFC1738:vu.RFC1738,RFC3986:vu.RFC3986},LS=Xh,_u=Object.prototype.hasOwnProperty,es=Array.isArray,cn=function(){for(var n=[],e=0;e<256;++e)n.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return n}(),BS=function(e){for(;e.length>1;){var t=e.pop(),r=t.obj[t.prop];if(es(r)){for(var i=[],s=0;s<r.length;++s)typeof r[s]!="undefined"&&i.push(r[s]);t.obj[t.prop]=i}}},Oy=function(e,t){for(var r=t&&t.plainObjects?Object.create(null):{},i=0;i<e.length;++i)typeof e[i]!="undefined"&&(r[i]=e[i]);return r},KS=function n(e,t,r){if(!t)return e;if(typeof t!="object"){if(es(e))e.push(t);else if(e&&typeof e=="object")(r&&(r.plainObjects||r.allowPrototypes)||!_u.call(Object.prototype,t))&&(e[t]=!0);else return[e,t];return e}if(!e||typeof e!="object")return[e].concat(t);var i=e;return es(e)&&!es(t)&&(i=Oy(e,r)),es(e)&&es(t)?(t.forEach(function(s,o){if(_u.call(e,o)){var c=e[o];c&&typeof c=="object"&&s&&typeof s=="object"?e[o]=n(c,s,r):e.push(s)}else e[o]=s}),e):Object.keys(t).reduce(function(s,o){var c=t[o];return _u.call(s,o)?s[o]=n(s[o],c,r):s[o]=c,s},i)},FS=function(e,t){return Object.keys(t).reduce(function(r,i){return r[i]=t[i],r},e)},qS=function(n,e,t){var r=n.replace(/\+/g," ");if(t==="iso-8859-1")return r.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(r)}catch{return r}},jS=function(e,t,r,i,s){if(e.length===0)return e;var o=e;if(typeof e=="symbol"?o=Symbol.prototype.toString.call(e):typeof e!="string"&&(o=String(e)),r==="iso-8859-1")return escape(o).replace(/%u[0-9a-f]{4}/gi,function(a){return"%26%23"+parseInt(a.slice(2),16)+"%3B"});for(var c="",l=0;l<o.length;++l){var u=o.charCodeAt(l);if(u===45||u===46||u===95||u===126||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||s===LS.RFC1738&&(u===40||u===41)){c+=o.charAt(l);continue}if(u<128){c=c+cn[u];continue}if(u<2048){c=c+(cn[192|u>>6]+cn[128|u&63]);continue}if(u<55296||u>=57344){c=c+(cn[224|u>>12]+cn[128|u>>6&63]+cn[128|u&63]);continue}l+=1,u=65536+((u&1023)<<10|o.charCodeAt(l)&1023),c+=cn[240|u>>18]+cn[128|u>>12&63]+cn[128|u>>6&63]+cn[128|u&63]}return c},VS=function(e){for(var t=[{obj:{o:e},prop:"o"}],r=[],i=0;i<t.length;++i)for(var s=t[i],o=s.obj[s.prop],c=Object.keys(o),l=0;l<c.length;++l){var u=c[l],a=o[u];typeof a=="object"&&a!==null&&r.indexOf(a)===-1&&(t.push({obj:o,prop:u}),r.push(a))}return BS(t),e},GS=function(e){return Object.prototype.toString.call(e)==="[object RegExp]"},WS=function(e){return!e||typeof e!="object"?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},HS=function(e,t){return[].concat(e,t)},YS=function(e,t){if(es(e)){for(var r=[],i=0;i<e.length;i+=1)r.push(t(e[i]));return r}return t(e)},ky={arrayToObject:Oy,assign:FS,combine:HS,compact:VS,decode:qS,encode:jS,isBuffer:WS,isRegExp:GS,maybeMap:YS,merge:KS},Cy=$S,wd=ky,Ia=Xh,zS=Object.prototype.hasOwnProperty,sp={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},ns=Array.isArray,JS=String.prototype.split,XS=Array.prototype.push,Py=function(n,e){XS.apply(n,ns(e)?e:[e])},QS=Date.prototype.toISOString,op=Ia.default,yt={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:wd.encode,encodeValuesOnly:!1,format:op,formatter:Ia.formatters[op],indices:!1,serializeDate:function(e){return QS.call(e)},skipNulls:!1,strictNullHandling:!1},ZS=function(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="symbol"||typeof e=="bigint"},Eu={},eb=function n(e,t,r,i,s,o,c,l,u,a,g,m,p,E,I){for(var w=e,k=I,P=0,S=!1;(k=k.get(Eu))!==void 0&&!S;){var T=k.get(e);if(P+=1,typeof T!="undefined"){if(T===P)throw new RangeError("Cyclic object value");S=!0}typeof k.get(Eu)=="undefined"&&(P=0)}if(typeof c=="function"?w=c(t,w):w instanceof Date?w=a(w):r==="comma"&&ns(w)&&(w=wd.maybeMap(w,function(Q){return Q instanceof Date?a(Q):Q})),w===null){if(i)return o&&!p?o(t,yt.encoder,E,"key",g):t;w=""}if(ZS(w)||wd.isBuffer(w)){if(o){var D=p?t:o(t,yt.encoder,E,"key",g);if(r==="comma"&&p){for(var R=JS.call(String(w),","),L="",H=0;H<R.length;++H)L+=(H===0?"":",")+m(o(R[H],yt.encoder,E,"value",g));return[m(D)+"="+L]}return[m(D)+"="+m(o(w,yt.encoder,E,"value",g))]}return[m(t)+"="+m(String(w))]}var F=[];if(typeof w=="undefined")return F;var le;if(r==="comma"&&ns(w))le=[{value:w.length>0?w.join(",")||null:void 0}];else if(ns(c))le=c;else{var Je=Object.keys(w);le=l?Je.sort(l):Je}for(var Ke=0;Ke<le.length;++Ke){var De=le[Ke],ut=typeof De=="object"&&typeof De.value!="undefined"?De.value:w[De];if(!(s&&ut===null)){var ur=ns(w)?typeof r=="function"?r(t,De):t:t+(u?"."+De:"["+De+"]");I.set(e,P);var jt=Cy();jt.set(Eu,I),Py(F,n(ut,ur,r,i,s,o,c,l,u,a,g,m,p,E,jt))}}return F},tb=function(e){if(!e)return yt;if(e.encoder!==null&&typeof e.encoder!="undefined"&&typeof e.encoder!="function")throw new TypeError("Encoder has to be a function.");var t=e.charset||yt.charset;if(typeof e.charset!="undefined"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var r=Ia.default;if(typeof e.format!="undefined"){if(!zS.call(Ia.formatters,e.format))throw new TypeError("Unknown format option provided.");r=e.format}var i=Ia.formatters[r],s=yt.filter;return(typeof e.filter=="function"||ns(e.filter))&&(s=e.filter),{addQueryPrefix:typeof e.addQueryPrefix=="boolean"?e.addQueryPrefix:yt.addQueryPrefix,allowDots:typeof e.allowDots=="undefined"?yt.allowDots:!!e.allowDots,charset:t,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:yt.charsetSentinel,delimiter:typeof e.delimiter=="undefined"?yt.delimiter:e.delimiter,encode:typeof e.encode=="boolean"?e.encode:yt.encode,encoder:typeof e.encoder=="function"?e.encoder:yt.encoder,encodeValuesOnly:typeof e.encodeValuesOnly=="boolean"?e.encodeValuesOnly:yt.encodeValuesOnly,filter:s,format:r,formatter:i,serializeDate:typeof e.serializeDate=="function"?e.serializeDate:yt.serializeDate,skipNulls:typeof e.skipNulls=="boolean"?e.skipNulls:yt.skipNulls,sort:typeof e.sort=="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:yt.strictNullHandling}},rb=function(n,e){var t=n,r=tb(e),i,s;typeof r.filter=="function"?(s=r.filter,t=s("",t)):ns(r.filter)&&(s=r.filter,i=s);var o=[];if(typeof t!="object"||t===null)return"";var c;e&&e.arrayFormat in sp?c=e.arrayFormat:e&&"indices"in e?c=e.indices?"indices":"repeat":c="indices";var l=sp[c];i||(i=Object.keys(t)),r.sort&&i.sort(r.sort);for(var u=Cy(),a=0;a<i.length;++a){var g=i[a];r.skipNulls&&t[g]===null||Py(o,eb(t[g],g,l,r.strictNullHandling,r.skipNulls,r.encode?r.encoder:null,r.filter,r.sort,r.allowDots,r.serializeDate,r.format,r.formatter,r.encodeValuesOnly,r.charset,u))}var m=o.join(r.delimiter),p=r.addQueryPrefix===!0?"?":"";return r.charsetSentinel&&(r.charset==="iso-8859-1"?p+="utf8=%26%2310003%3B&":p+="utf8=%E2%9C%93&"),m.length>0?p+m:""},Eo=ky,Rd=Object.prototype.hasOwnProperty,nb=Array.isArray,lt={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:Eo.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},ib=function(n){return n.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(parseInt(t,10))})},My=function(n,e){return n&&typeof n=="string"&&e.comma&&n.indexOf(",")>-1?n.split(","):n},sb="utf8=%26%2310003%3B",ob="utf8=%E2%9C%93",ab=function(e,t){var r={},i=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,s=t.parameterLimit===1/0?void 0:t.parameterLimit,o=i.split(t.delimiter,s),c=-1,l,u=t.charset;if(t.charsetSentinel)for(l=0;l<o.length;++l)o[l].indexOf("utf8=")===0&&(o[l]===ob?u="utf-8":o[l]===sb&&(u="iso-8859-1"),c=l,l=o.length);for(l=0;l<o.length;++l)if(l!==c){var a=o[l],g=a.indexOf("]="),m=g===-1?a.indexOf("="):g+1,p,E;m===-1?(p=t.decoder(a,lt.decoder,u,"key"),E=t.strictNullHandling?null:""):(p=t.decoder(a.slice(0,m),lt.decoder,u,"key"),E=Eo.maybeMap(My(a.slice(m+1),t),function(I){return t.decoder(I,lt.decoder,u,"value")})),E&&t.interpretNumericEntities&&u==="iso-8859-1"&&(E=ib(E)),a.indexOf("[]=")>-1&&(E=nb(E)?[E]:E),Rd.call(r,p)?r[p]=Eo.combine(r[p],E):r[p]=E}return r},cb=function(n,e,t,r){for(var i=r?e:My(e,t),s=n.length-1;s>=0;--s){var o,c=n[s];if(c==="[]"&&t.parseArrays)o=[].concat(i);else{o=t.plainObjects?Object.create(null):{};var l=c.charAt(0)==="["&&c.charAt(c.length-1)==="]"?c.slice(1,-1):c,u=parseInt(l,10);!t.parseArrays&&l===""?o={0:i}:!isNaN(u)&&c!==l&&String(u)===l&&u>=0&&t.parseArrays&&u<=t.arrayLimit?(o=[],o[u]=i):l!=="__proto__"&&(o[l]=i)}i=o}return i},lb=function(e,t,r,i){if(!!e){var s=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/,c=/(\[[^[\]]*])/g,l=r.depth>0&&o.exec(s),u=l?s.slice(0,l.index):s,a=[];if(u){if(!r.plainObjects&&Rd.call(Object.prototype,u)&&!r.allowPrototypes)return;a.push(u)}for(var g=0;r.depth>0&&(l=c.exec(s))!==null&&g<r.depth;){if(g+=1,!r.plainObjects&&Rd.call(Object.prototype,l[1].slice(1,-1))&&!r.allowPrototypes)return;a.push(l[1])}return l&&a.push("["+s.slice(l.index)+"]"),cb(a,t,r,i)}},ub=function(e){if(!e)return lt;if(e.decoder!==null&&e.decoder!==void 0&&typeof e.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof e.charset!="undefined"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=typeof e.charset=="undefined"?lt.charset:e.charset;return{allowDots:typeof e.allowDots=="undefined"?lt.allowDots:!!e.allowDots,allowPrototypes:typeof e.allowPrototypes=="boolean"?e.allowPrototypes:lt.allowPrototypes,allowSparse:typeof e.allowSparse=="boolean"?e.allowSparse:lt.allowSparse,arrayLimit:typeof e.arrayLimit=="number"?e.arrayLimit:lt.arrayLimit,charset:t,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:lt.charsetSentinel,comma:typeof e.comma=="boolean"?e.comma:lt.comma,decoder:typeof e.decoder=="function"?e.decoder:lt.decoder,delimiter:typeof e.delimiter=="string"||Eo.isRegExp(e.delimiter)?e.delimiter:lt.delimiter,depth:typeof e.depth=="number"||e.depth===!1?+e.depth:lt.depth,ignoreQueryPrefix:e.ignoreQueryPrefix===!0,interpretNumericEntities:typeof e.interpretNumericEntities=="boolean"?e.interpretNumericEntities:lt.interpretNumericEntities,parameterLimit:typeof e.parameterLimit=="number"?e.parameterLimit:lt.parameterLimit,parseArrays:e.parseArrays!==!1,plainObjects:typeof e.plainObjects=="boolean"?e.plainObjects:lt.plainObjects,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:lt.strictNullHandling}},db=function(n,e){var t=ub(e);if(n===""||n===null||typeof n=="undefined")return t.plainObjects?Object.create(null):{};for(var r=typeof n=="string"?ab(n,t):n,i=t.plainObjects?Object.create(null):{},s=Object.keys(r),o=0;o<s.length;++o){var c=s[o],l=lb(c,r[c],t,typeof n=="string");i=Eo.merge(i,l,t)}return t.allowSparse===!0?i:Eo.compact(i)},hb=rb,fb=db,pb=Xh,gb={formats:pb,parse:fb,stringify:hb},Is={},Po={},Y={exports:{}};(function(n){function e(t,r,i){return r in t?Object.defineProperty(t,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[r]=i,t}n.exports=e,n.exports.__esModule=!0,n.exports.default=n.exports})(Y);var ie={},Ay={exports:{}};(function(n){(function(e,t){n.exports?n.exports=t():e.log=t()})(j,function(){var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"];function s(I,w){var k=I[w];if(typeof k.bind=="function")return k.bind(I);try{return Function.prototype.bind.call(k,I)}catch{return function(){return Function.prototype.apply.apply(k,[I,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(I){return I==="debug"&&(I="log"),typeof console===t?!1:I==="trace"&&r?o:console[I]!==void 0?s(console,I):console.log!==void 0?s(console,"log"):e}function l(I,w){for(var k=0;k<i.length;k++){var P=i[k];this[P]=k<I?e:this.methodFactory(P,I,w)}this.log=this.debug}function u(I,w,k){return function(){typeof console!==t&&(l.call(this,w,k),this[I].apply(this,arguments))}}function a(I,w,k){return c(I)||u.apply(this,arguments)}function g(I,w,k){var P=this,S;w=w==null?"WARN":w;var T="loglevel";typeof I=="string"?T+=":"+I:typeof I=="symbol"&&(T=void 0);function D(F){var le=(i[F]||"silent").toUpperCase();if(!(typeof window===t||!T)){try{window.localStorage[T]=le;return}catch{}try{window.document.cookie=encodeURIComponent(T)+"="+le+";"}catch{}}}function R(){var F;if(!(typeof window===t||!T)){try{F=window.localStorage[T]}catch{}if(typeof F===t)try{var le=window.document.cookie,Je=le.indexOf(encodeURIComponent(T)+"=");Je!==-1&&(F=/^([^;]+)/.exec(le.slice(Je))[1])}catch{}return P.levels[F]===void 0&&(F=void 0),F}}function L(){if(!(typeof window===t||!T)){try{window.localStorage.removeItem(T);return}catch{}try{window.document.cookie=encodeURIComponent(T)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}P.name=I,P.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},P.methodFactory=k||a,P.getLevel=function(){return S},P.setLevel=function(F,le){if(typeof F=="string"&&P.levels[F.toUpperCase()]!==void 0&&(F=P.levels[F.toUpperCase()]),typeof F=="number"&&F>=0&&F<=P.levels.SILENT){if(S=F,le!==!1&&D(F),l.call(P,F,I),typeof console===t&&F<P.levels.SILENT)return"No console available for logging"}else throw"log.setLevel() called with invalid level: "+F},P.setDefaultLevel=function(F){w=F,R()||P.setLevel(F,!1)},P.resetLevel=function(){P.setLevel(w,!1),L()},P.enableAll=function(F){P.setLevel(P.levels.TRACE,F)},P.disableAll=function(F){P.setLevel(P.levels.SILENT,F)};var H=R();H==null&&(H=w),P.setLevel(H,!1)}var m=new g,p={};m.getLogger=function(w){if(typeof w!="symbol"&&typeof w!="string"||w==="")throw new TypeError("You must supply a name when creating a logger.");var k=p[w];return k||(k=p[w]=new g(w,m.getLevel(),m.methodFactory)),k};var E=typeof window!==t?window.log:void 0;return m.noConflict=function(){return typeof window!==t&&window.log===m&&(window.log=E),m},m.getLoggers=function(){return p},m.default=m,m})})(Ay);var mb=V.exports;Object.defineProperty(ie,"__esModule",{value:!0});ie.logger=void 0;var Da=mb(Ay.exports);const Dy="matrix";Da.default.methodFactory=function(n,e,t){return function(...r){return this.prefix&&r.unshift(this.prefix),n==="error"||n==="warn"||n==="trace"||n==="info"?console[n](...r):console.log(...r)}};const Qh=Da.default.getLogger(Dy);ie.logger=Qh;Qh.setLevel(Da.default.levels.DEBUG,!1);function Uy(n){n.withPrefix=function(e){const t=this.prefix||"";return yb(t+e)}}Uy(Qh);function yb(n){const e=Da.default.getLogger(`${Dy}-${n}`);return e.prefix!==n&&(Uy(e),e.prefix=n,e.setLevel(Da.default.levels.DEBUG,!1)),e}var G={};const vb="l",_b="rn";var Eb={"0":"O","1":"l","\u05AD":"\u0596","\u05AE":"\u0598","\u05A8":"\u0599","\u05A4":"\u059A","\u1AB4":"\u06DB","\u20DB":"\u06DB","\u0619":"\u0313","\u08F3":"\u0313","\u0343":"\u0313","\u0315":"\u0313","\u064F":"\u0313","\u065D":"\u0314","\u059C":"\u0301","\u059D":"\u0301","\u0618":"\u0301","\u0747":"\u0301","\u0341":"\u0301","\u0954":"\u0301","\u064E":"\u0301","\u0340":"\u0300","\u0953":"\u0300","\u030C":"\u0306","\uA67C":"\u0306","\u0658":"\u0306","\u065A":"\u0306","\u036E":"\u0306","\u06E8":"\u0306\u0307","\u0310":"\u0306\u0307","\u0901":"\u0306\u0307","\u0981":"\u0306\u0307","\u0A81":"\u0306\u0307","\u0B01":"\u0306\u0307","\u0C00":"\u0306\u0307","\u0C81":"\u0306\u0307","\u0D01":"\u0306\u0307","\u{114BF}":"\u0306\u0307","\u1CD0":"\u0302","\u0311":"\u0302","\u065B":"\u0302","\u07EE":"\u0302","\uA6F0":"\u0302","\u05AF":"\u030A","\u06DF":"\u030A","\u17D3":"\u030A","\u309A":"\u030A","\u0652":"\u030A","\u0B82":"\u030A","\u1036":"\u030A","\u17C6":"\u030A","\u{11300}":"\u030A","\u0E4D":"\u030A","\u0ECD":"\u030A","\u0366":"\u030A","\u2DEA":"\u030A","\u08EB":"\u0308","\u07F3":"\u0308","\u064B":"\u030B","\u08F0":"\u030B","\u0342":"\u0303","\u0653":"\u0303","\u05C4":"\u0307","\u06EC":"\u0307","\u0740":"\u0307","\u08EA":"\u0307","\u0741":"\u0307","\u0358":"\u0307","\u05B9":"\u0307","\u05BA":"\u0307","\u05C2":"\u0307","\u05C1":"\u0307","\u07ED":"\u0307","\u0902":"\u0307","\u0A02":"\u0307","\u0A82":"\u0307","\u0BCD":"\u0307","\u0337":"\u0338","\u1AB7":"\u0328","\u0322":"\u0328","\u0345":"\u0328","\u1CD2":"\u0304","\u0305":"\u0304","\u0659":"\u0304","\u07EB":"\u0304","\uA6F1":"\u0304","\u1CDA":"\u030E","\u0657":"\u0312","\u0357":"\u0350","\u08FF":"\u0350","\u08F8":"\u0350","\u0900":"\u0352","\u1CED":"\u0316","\u1CDC":"\u0329","\u0656":"\u0329","\u1CD5":"\u032B","\u0347":"\u0333","\u08F9":"\u0354","\u08FA":"\u0355","\u309B":"\uFF9E","\u309C":"\uFF9F","\u0336":"\u0335","\u302C":"\u0309","\u05C5":"\u0323","\u08ED":"\u0323","\u1CDD":"\u0323","\u05B4":"\u0323","\u065C":"\u0323","\u093C":"\u0323","\u09BC":"\u0323","\u0A3C":"\u0323","\u0ABC":"\u0323","\u0B3C":"\u0323","\u{111CA}":"\u0323","\u{114C3}":"\u0323","\u{10A3A}":"\u0323","\u08EE":"\u0324","\u1CDE":"\u0324","\u0F37":"\u0325","\u302D":"\u0325","\u0327":"\u0326","\u0321":"\u0326","\u0339":"\u0326","\u1CD9":"\u032D","\u1CD8":"\u032E","\u0952":"\u0331","\u0320":"\u0331","\u08F1":"\u064C","\u08E8":"\u064C","\u08E5":"\u064C",\uFC5E:"\uFE72\u0651","\u08F2":"\u064D",\uFC5F:"\uFE74\u0651",\uFCF2:"\uFE77\u0651",\uFC60:"\uFE76\u0651",\uFCF3:"\uFE79\u0651",\uFC61:"\uFE78\u0651","\u061A":"\u0650","\u0317":"\u0650",\uFCF4:"\uFE7B\u0651",\uFC62:"\uFE7A\u0651",\uFC63:"\uFE7C\u0670","\u065F":"\u0655","\u030D":"\u0670","\u0742":"\u073C","\u0A03":"\u0983","\u0C03":"\u0983","\u0C83":"\u0983","\u0D03":"\u0983","\u0D83":"\u0983","\u1038":"\u0983","\u{114C1}":"\u0983","\u17CB":"\u0E48","\u0EC8":"\u0E48","\u0EC9":"\u0E49","\u0ECA":"\u0E4A","\u0ECB":"\u0E4B","\uA66F":"\u20E9","\u2028":" ","\u2029":" ","\u1680":" ","\u2000":" ","\u2001":" ","\u2002":" ","\u2003":" ","\u2004":" ","\u2005":" ","\u2006":" ","\u2008":" ","\u2009":" ","\u200A":" ","\u205F":" ","\xA0":" ","\u2007":" ","\u202F":" ","\u07FA":"_","\uFE4D":"_","\uFE4E":"_","\uFE4F":"_","\u2010":"-","\u2011":"-","\u2012":"-","\u2013":"-","\uFE58":"-","\u06D4":"-","\u2043":"-","\u02D7":"-","\u2212":"-","\u2796":"-","\u2CBA":"-","\u2A29":"-\u0313","\u2E1A":"-\u0308","\uFB29":"-\u0307","\u2238":"-\u0307","\u2A2A":"-\u0323","\uA4FE":"-.","\uFF5E":"\u301C","\u060D":",","\u066B":",","\u201A":",","\xB8":",","\uA4F9":",","\u2E32":"\u060C","\u066C":"\u060C","\u037E":";","\u2E35":"\u061B","\u0903":":","\u0A83":":","\uFF1A":":","\u0589":":","\u0703":":","\u0704":":","\u16EC":":","\uFE30":":","\u1803":":","\u1809":":","\u205A":":","\u05C3":":","\u02F8":":","\uA789":":","\u2236":":",\u02D0:":","\uA4FD":":","\u2A74":"::=","\u29F4":":\u2192","\uFF01":"!",\u01C3:"!","\u2D51":"!","\u203C":"!!","\u2049":"!?",\u0294:"?","\u0241":"?","\u097D":"?",\u13AE:"?","\uA6EB":"?","\u2048":"?!","\u2047":"??","\u2E2E":"\u061F","\u{1D16D}":".","\u2024":".","\u0701":".","\u0702":".","\uA60E":".","\u{10A50}":".","\u0660":".","\u06F0":".","\uA4F8":".","\uA4FB":".,","\u2025":"..","\uA4FA":"..","\u2026":"...","\uA6F4":"\uA6F3\uA6F3","\u30FB":"\xB7","\uFF65":"\xB7","\u16EB":"\xB7","\u0387":"\xB7","\u2E31":"\xB7","\u{10101}":"\xB7","\u2022":"\xB7","\u2027":"\xB7","\u2219":"\xB7","\u22C5":"\xB7","\uA78F":"\xB7",\u1427:"\xB7","\u22EF":"\xB7\xB7\xB7","\u2D48":"\xB7\xB7\xB7",\u1444:"\xB7<","\u22D7":"\xB7>",\u1437:"\xB7>",\u1440:"\xB7>",\u152F:"\xB74",\u147E:"\xB7b",\u1480:"\xB7b\u0307",\u147A:"\xB7d",\u1498:"\xB7J",\u14B6:"\xB7L",\u1476:"\xB7P",\u1457:"\xB7U",\u143A:"\xB7V",\u143C:"\xB7\u0245",\u14AE:"\xB7\u0393",\u140E:"\xB7\u0394",\u1459:"\xB7\u0548",\u140C:"\xB7\u1401",\u1410:"\xB7\u1404",\u1412:"\xB7\u1405",\u1414:"\xB7\u1406",\u1417:"\xB7\u140A",\u1419:"\xB7\u140B",\u143E:"\xB7\u1432",\u1442:"\xB7\u1434",\u1446:"\xB7\u1439",\u145B:"\xB7\u144F",\u1454:"\xB7\u1450",\u145D:"\xB7\u1450",\u145F:"\xB7\u1451",\u1461:"\xB7\u1455",\u1463:"\xB7\u1456",\u1474:"\xB7\u146B",\u1478:"\xB7\u146E",\u147C:"\xB7\u1470",\u1492:"\xB7\u1489",\u1494:"\xB7\u148B",\u1496:"\xB7\u148C",\u149A:"\xB7\u148E",\u149C:"\xB7\u1490",\u149E:"\xB7\u1491",\u14AC:"\xB7\u14A3",\u14B0:"\xB7\u14A6",\u14B2:"\xB7\u14A7",\u14B4:"\xB7\u14A8",\u14B8:"\xB7\u14AB",\u14C9:"\xB7\u14C0","\u18C6":"\xB7\u14C2","\u18C8":"\xB7\u14C3","\u18CA":"\xB7\u14C4","\u18CC":"\xB7\u14C5",\u14CB:"\xB7\u14C7",\u14CD:"\xB7\u14C8",\u14DC:"\xB7\u14D3",\u14DE:"\xB7\u14D5",\u14E0:"\xB7\u14D6",\u14E2:"\xB7\u14D7",\u14E4:"\xB7\u14D8",\u14E6:"\xB7\u14DA",\u14E8:"\xB7\u14DB",\u14F6:"\xB7\u14ED",\u14F8:"\xB7\u14EF",\u14FA:"\xB7\u14F0",\u14FC:"\xB7\u14F1",\u14FE:"\xB7\u14F2",\u1500:"\xB7\u14F4",\u1502:"\xB7\u14F5",\u1517:"\xB7\u1510",\u1519:"\xB7\u1511",\u151B:"\xB7\u1512",\u151D:"\xB7\u1513",\u151F:"\xB7\u1514",\u1521:"\xB7\u1515",\u1523:"\xB7\u1516",\u1531:"\xB7\u1528",\u1533:"\xB7\u1529",\u1535:"\xB7\u152A",\u1537:"\xB7\u152B",\u1539:"\xB7\u152D",\u153B:"\xB7\u152E","\u18CE":"\xB7\u1543","\u18CF":"\xB7\u1546","\u18D0":"\xB7\u1547","\u18D1":"\xB7\u1548","\u18D2":"\xB7\u1549","\u18D3":"\xB7\u154B",\u154E:"\xB7\u154C",\u155B:"\xB7\u155A",\u1568:"\xB7\u1567","\u18B3":"\xB7\u18B1","\u18B6":"\xB7\u18B4","\u18B9":"\xB7\u18B8","\u18C2":"\xB7\u18C0","\uA830":"\u0964","\u0965":"\u0964\u0964","\u1C3C":"\u1C3B\u1C3B","\u104B":"\u104A\u104A","\u1AA9":"\u1AA8\u1AA8","\u1AAB":"\u1AAA\u1AA8","\u1B5F":"\u1B5E\u1B5E","\u{10A57}":"\u{10A56}\u{10A56}","\u{1144C}":"\u{1144B}\u{1144B}","\u{11642}":"\u{11641}\u{11641}","\u{11C42}":"\u{11C41}\u{11C41}","\u1C7F":"\u1C7E\u1C7E","\u055D":"'","\uFF07":"'","\u2018":"'","\u2019":"'","\u201B":"'","\u2032":"'","\u2035":"'","\u055A":"'","\u05F3":"'","`":"'","\u1FEF":"'","\uFF40":"'","\xB4":"'","\u0384":"'","\u1FFD":"'","\u1FBD":"'","\u1FBF":"'","\u1FFE":"'","\u02B9":"'","\u0374":"'","\u02C8":"'","\u02CA":"'","\u02CB":"'","\u02F4":"'",\u02BB:"'",\u02BD:"'",\u02BC:"'",\u02BE:"'","\uA78C":"'",\u05D9:"'","\u07F4":"'","\u07F5":"'",\u144A:"'",\u16CC:"'","\u{16F51}":"'","\u{16F52}":"'","\u1CD3":"''",'"':"''","\uFF02":"''","\u201C":"''","\u201D":"''","\u201F":"''","\u2033":"''","\u2036":"''","\u3003":"''","\u05F4":"''","\u02DD":"''","\u02BA":"''","\u02F6":"''",\u02EE:"''",\u05F2:"''","\u2034":"'''","\u2037":"'''","\u2057":"''''",\u0181:"'B",\u018A:"'D",\u0149:"'n",\u01A4:"'P",\u01AC:"'T",\u01B3:"'Y","\uFF3B":"(","\u2768":"(","\u2772":"(","\u3014":"(","\uFD3E":"(","\u2E28":"((","\u3220":"(\u30FC)","\u2475":"(2)","\u2487":"(2O)","\u2476":"(3)","\u2477":"(4)","\u2478":"(5)","\u2479":"(6)","\u247A":"(7)","\u247B":"(8)","\u247C":"(9)","\u249C":"(a)","\u{1F110}":"(A)","\u249D":"(b)","\u{1F111}":"(B)","\u249E":"(c)","\u{1F112}":"(C)","\u249F":"(d)","\u{1F113}":"(D)","\u24A0":"(e)","\u{1F114}":"(E)","\u24A1":"(f)","\u{1F115}":"(F)","\u24A2":"(g)","\u{1F116}":"(G)","\u24A3":"(h)","\u{1F117}":"(H)","\u24A4":"(i)","\u24A5":"(j)","\u{1F119}":"(J)","\u24A6":"(k)","\u{1F11A}":"(K)","\u2474":"(l)","\u{1F118}":"(l)","\u24A7":"(l)","\u{1F11B}":"(L)","\u247F":"(l2)","\u2480":"(l3)","\u2481":"(l4)","\u2482":"(l5)","\u2483":"(l6)","\u2484":"(l7)","\u2485":"(l8)","\u2486":"(l9)","\u247E":"(ll)","\u247D":"(lO)","\u{1F11C}":"(M)","\u24A9":"(n)","\u{1F11D}":"(N)","\u24AA":"(o)","\u{1F11E}":"(O)","\u24AB":"(p)","\u{1F11F}":"(P)","\u24AC":"(q)","\u{1F120}":"(Q)","\u24AD":"(r)","\u{1F121}":"(R)","\u24A8":"(rn)","\u24AE":"(s)","\u{1F122}":"(S)","\u{1F12A}":"(S)","\u24AF":"(t)","\u{1F123}":"(T)","\u24B0":"(u)","\u{1F124}":"(U)","\u24B1":"(v)","\u{1F125}":"(V)","\u24B2":"(w)","\u{1F126}":"(W)","\u24B3":"(x)","\u{1F127}":"(X)","\u24B4":"(y)","\u{1F128}":"(Y)","\u24B5":"(z)","\u{1F129}":"(Z)","\u3200":"(\u1100)","\u320E":"(\uAC00)","\u3201":"(\u1102)","\u320F":"(\uB098)","\u3202":"(\u1103)","\u3210":"(\uB2E4)","\u3203":"(\u1105)","\u3211":"(\uB77C)","\u3204":"(\u1106)","\u3212":"(\uB9C8)","\u3205":"(\u1107)","\u3213":"(\uBC14)","\u3206":"(\u1109)","\u3214":"(\uC0AC)","\u3207":"(\u110B)","\u3215":"(\uC544)","\u321D":"(\uC624\uC804)","\u321E":"(\uC624\uD6C4)","\u3208":"(\u110C)","\u3216":"(\uC790)","\u321C":"(\uC8FC)","\u3209":"(\u110E)","\u3217":"(\uCC28)","\u320A":"(\u110F)","\u3218":"(\uCE74)","\u320B":"(\u1110)","\u3219":"(\uD0C0)","\u320C":"(\u1111)","\u321A":"(\uD30C)","\u320D":"(\u1112)","\u321B":"(\uD558)","\u3226":"(\u4E03)","\u3222":"(\u4E09)","\u{1F241}":"(\u4E09)","\u3228":"(\u4E5D)","\u3221":"(\u4E8C)","\u{1F242}":"(\u4E8C)","\u3224":"(\u4E94)","\u3239":"(\u4EE3)","\u323D":"(\u4F01)","\u3241":"(\u4F11)","\u3227":"(\u516B)","\u3225":"(\u516D)","\u3238":"(\u52B4)","\u{1F247}":"(\u52DD)","\u3229":"(\u5341)","\u323F":"(\u5354)","\u3234":"(\u540D)","\u323A":"(\u547C)","\u3223":"(\u56DB)","\u322F":"(\u571F)","\u323B":"(\u5B66)","\u{1F243}":"(\u5B89)","\u{1F245}":"(\u6253)","\u{1F248}":"(\u6557)","\u3230":"(\u65E5)","\u322A":"(\u6708)","\u3232":"(\u6709)","\u322D":"(\u6728)","\u{1F240}":"(\u672C)","\u3231":"(\u682A)","\u322C":"(\u6C34)","\u322B":"(\u706B)","\u{1F244}":"(\u70B9)","\u3235":"(\u7279)","\u{1F246}":"(\u76D7)","\u323C":"(\u76E3)","\u3233":"(\u793E)","\u3237":"(\u795D)","\u3240":"(\u796D)","\u3242":"(\u81EA)","\u3243":"(\u81F3)","\u3236":"(\u8CA1)","\u323E":"(\u8CC7)","\u322E":"(\u91D1)","\uFF3D":")","\u2769":")","\u2773":")","\u3015":")","\uFD3F":")","\u2E29":"))","\u2774":"{","\u{1D114}":"{","\u2775":"}","\u301A":"\u27E6","\u301B":"\u27E7","\u27E8":"\u276C","\u2329":"\u276C","\u3008":"\u276C","\u31DB":"\u276C",\u304F:"\u276C","\u{21FE8}":"\u276C","\u27E9":"\u276D","\u232A":"\u276D","\u3009":"\u276D","\uFF3E":"\uFE3F","\u2E3F":"\xB6","\u204E":"*","\u066D":"*","\u2217":"*","\u{1031F}":"*","\u1735":"/","\u2041":"/","\u2215":"/","\u2044":"/","\u2571":"/","\u27CB":"/","\u29F8":"/","\u{1D23A}":"/","\u31D3":"/",\u3033:"/","\u2CC6":"/",\u30CE:"/",\u4E3F:"/","\u2F03":"/","\u29F6":"/\u0304","\u2AFD":"//","\u2AFB":"///","\uFF3C":"\\","\uFE68":"\\","\u2216":"\\","\u27CD":"\\","\u29F5":"\\","\u29F9":"\\","\u{1D20F}":"\\","\u{1D23B}":"\\","\u31D4":"\\",\u4E36:"\\","\u2F02":"\\","\u2CF9":"\\\\","\u244A":"\\\\","\u27C8":"\\\u1455","\uA778":"&","\u0AF0":"\u0970","\u{110BB}":"\u0970","\u{111C7}":"\u0970","\u26AC":"\u0970","\u{111DB}":"\uA8FC","\u17D9":"\u0E4F","\u17D5":"\u0E5A","\u17DA":"\u0E5B","\u0F0C":"\u0F0B","\u0F0E":"\u0F0D\u0F0D","\u02C4":"^","\u02C6":"^","\uA67E":"\u02C7","\u02D8":"\u02C7","\u203E":"\u02C9","\uFE49":"\u02C9","\uFE4A":"\u02C9","\uFE4B":"\u02C9","\uFE4C":"\u02C9","\xAF":"\u02C9","\uFFE3":"\u02C9","\u2594":"\u02C9",\u044A:"\u02C9b","\uA651":"\u02C9bi","\u0375":"\u02CF","\u02FB":"\u02EA","\uA716":"\u02EA","\uA714":"\u02EB","\u3002":"\u02F3","\u2E30":"\xB0","\u02DA":"\xB0","\u2218":"\xB0","\u25CB":"\xB0","\u25E6":"\xB0","\u235C":"\xB0\u0332","\u2364":"\xB0\u0308","\u2103":"\xB0C","\u2109":"\xB0F","\u0BF5":"\u0BF3","\u0F1B":"\u0F1A\u0F1A","\u0F1F":"\u0F1A\u0F1D","\u0FCE":"\u0F1D\u0F1A","\u0F1E":"\u0F1D\u0F1D","\u24B8":"\xA9","\u24C7":"\xAE","\u24C5":"\u2117","\u{1D21B}":"\u2144","\u2BEC":"\u219E","\u2BED":"\u219F","\u2BEE":"\u21A0","\u2BEF":"\u21A1","\u21B5":"\u21B2","\u2965":"\u21C3\u21C2","\u296F":"\u21C3\u16DA","\u{1D6DB}":"\u2202","\u{1D715}":"\u2202","\u{1D74F}":"\u2202","\u{1D789}":"\u2202","\u{1D7C3}":"\u2202","\u{1E8CC}":"\u2202","\u{1E8CD}":"\u2202\u0335",\u00F0:"\u2202\u0335","\u2300":"\u2205","\u{1D6C1}":"\u2207","\u{1D6FB}":"\u2207","\u{1D735}":"\u2207","\u{1D76F}":"\u2207","\u{1D7A9}":"\u2207","\u{118A8}":"\u2207","\u2362":"\u2207\u0308","\u236B":"\u2207\u0334","\u2588":"\u220E","\u25A0":"\u220E","\u2A3F":"\u2210","\u16ED":"+","\u2795":"+","\u{1029B}":"+","\u2A23":"+\u0302","\u2A22":"+\u030A","\u2A24":"+\u0303","\u2214":"+\u0307","\u2A25":"+\u0323","\u2A26":"+\u0330","\u2A27":"+\u2082","\u2797":"\xF7","\u2039":"<","\u276E":"<","\u02C2":"<","\u{1D236}":"<",\u1438:"<",\u16B2:"<","\u22D6":"<\xB7","\u2CB4":"<\xB7",\u1445:"<\xB7","\u226A":"<<","\u22D8":"<<<","\u1400":"=","\u2E40":"=","\u30A0":"=","\uA4FF":"=","\u225A":"=\u0306","\u2259":"=\u0302","\u2257":"=\u030A","\u2250":"=\u0307","\u2251":"=\u0307\u0323","\u2A6E":"=\u20F0","\u2A75":"==","\u2A76":"===","\u225E":"=\u036B","\u203A":">","\u276F":">","\u02C3":">","\u{1D237}":">",\u1433:">","\u{16F3F}":">",\u1441:">\xB7","\u2AA5":"><","\u226B":">>","\u2A20":">>","\u22D9":">>>","\u2053":"~","\u02DC":"~","\u1FC0":"~","\u223C":"~","\u2368":"~\u0308","\u2E1E":"~\u0307","\u2A6A":"~\u0307","\u2E1F":"~\u0323","\u{1E8C8}":"\u2220","\u22C0":"\u2227","\u222F":"\u222E\u222E","\u2230":"\u222E\u222E\u222E","\u2E2B":"\u2234","\u2E2A":"\u2235","\u2E2C":"\u2237","\u{111DE}":"\u2248","\u264E":"\u224F","\u{1F75E}":"\u224F","\u2263":"\u2261","\u2A03":"\u228D","\u2A04":"\u228E","\u{1D238}":"\u228F","\u{1D239}":"\u2290","\u2A05":"\u2293","\u2A06":"\u2294","\u2A02":"\u2297","\u235F":"\u229B","\u{1F771}":"\u22A0","\u{1F755}":"\u22A1","\u25C1":"\u22B2","\u25B7":"\u22B3","\u2363":"\u22C6\u0308","\uFE34":"\u2307","\u25E0":"\u2312","\u2A3D":"\u2319","\u2325":"\u2324","\u29C7":"\u233B","\u25CE":"\u233E","\u29BE":"\u233E","\u29C5":"\u2342","\u29B0":"\u2349","\u23C3":"\u234B","\u23C2":"\u234E","\u23C1":"\u2355","\u23C6":"\u236D","\u2638":"\u2388","\uFE35":"\u23DC","\uFE36":"\u23DD","\uFE37":"\u23DE","\uFE38":"\u23DF","\uFE39":"\u23E0","\uFE3A":"\u23E1","\u25B1":"\u23E5","\u23FC":"\u23FB","\uFE31":"\u2502","\uFF5C":"\u2502","\u2503":"\u2502","\u250F":"\u250C","\u2523":"\u251C","\u2590":"\u258C","\u2597":"\u2596","\u259D":"\u2598","\u2610":"\u25A1","\uFFED":"\u25AA","\u25B8":"\u25B6","\u25BA":"\u25B6","\u2CE9":"\u2627","\u{1F70A}":"\u2629","\u{1F312}":"\u263D","\u{1F319}":"\u263D","\u23FE":"\u263E","\u{1F318}":"\u263E","\u29D9":"\u299A","\u{1F73A}":"\u29DF","\u2A3E":"\u2A1F","\u{101A0}":"\u2CE8","\u2669":"\u{1D158}\u{1D165}","\u266A":"\u{1D158}\u{1D165}\u{1D16E}","\u24EA":"\u{1F10D}","\u21BA":"\u{1F10E}","\u02D9":"\u0971","\u0D4E":"\u0971","\uFF0D":"\u30FC","\u2014":"\u30FC","\u2015":"\u30FC","\u2500":"\u30FC","\u2501":"\u30FC","\u31D0":"\u30FC","\uA7F7":"\u30FC",\u1173:"\u30FC",\u3161:"\u30FC",\u4E00:"\u30FC","\u2F00":"\u30FC",\u1196:"\u30FC\u30FC","\uD7B9":"\u30FC\u1161","\uD7BA":"\u30FC\u1165","\uD7BB":"\u30FC\u1165\u4E28","\uD7BC":"\u30FC\u1169",\u1195:"\u30FC\u116E",\u1174:"\u30FC\u4E28",\u3162:"\u30FC\u4E28",\u1197:"\u30FC\u4E28\u116E","\u{1F10F}":"$\u20E0","\u20A4":"\xA3","\u3012":"\u20B8","\u3036":"\u20B8","\u1B5C":"\u1B50","\uA9C6":"\uA9D0","\u{114D1}":"\u09E7","\u0CE7":"\u0C67","\u1065":"\u1041","\u2460":"\u2780","\u2469":"\u2789","\u23E8":"\u2081\u2080","\u{1D7D0}":"2","\u{1D7DA}":"2","\u{1D7E4}":"2","\u{1D7EE}":"2","\u{1D7F8}":"2","\u{1FBF2}":"2","\uA75A":"2",\u01A7:"2",\u03E8:"2","\uA644":"2",\u14BF:"2","\uA6EF":"2","\uA9CF":"\u0662","\u06F2":"\u0662","\u0AE8":"\u0968","\u{114D2}":"\u09E8","\u0CE8":"\u0C68","\u2461":"\u2781",\u01BB:"2\u0335","\u{1F103}":"2,","\u2489":"2.","\u33F5":"22\u65E5","\u336E":"22\u70B9","\u33F6":"23\u65E5","\u336F":"23\u70B9","\u33F7":"24\u65E5","\u3370":"24\u70B9","\u33F8":"25\u65E5","\u33F9":"26\u65E5","\u33FA":"27\u65E5","\u33FB":"28\u65E5","\u33FC":"29\u65E5","\u33F4":"2l\u65E5","\u336D":"2l\u70B9","\u249B":"2O.","\u33F3":"2O\u65E5","\u336C":"2O\u70B9","\u0DE9":"\u0DE8\u0DCF","\u0DEF":"\u0DE8\u0DD3","\u33E1":"2\u65E5","\u32C1":"2\u6708","\u335A":"2\u70B9","\u{1D206}":"3","\u{1D7D1}":"3","\u{1D7DB}":"3","\u{1D7E5}":"3","\u{1D7EF}":"3","\u{1D7F9}":"3","\u{1FBF3}":"3","\uA7AB":"3",\u021C:"3",\u01B7:"3","\uA76A":"3","\u2CCC":"3",\u0417:"3",\u04E0:"3","\u{16F3B}":"3","\u{118CA}":"3","\u06F3":"\u0663","\u{1E8C9}":"\u0663","\u0AE9":"\u0969","\u2462":"\u2782",\u0498:"3\u0326","\u{1F104}":"3,","\u248A":"3.","\u33FE":"3l\u65E5","\u33FD":"3O\u65E5","\u33E2":"3\u65E5","\u32C2":"3\u6708","\u335B":"3\u70B9","\u{1D7D2}":"4","\u{1D7DC}":"4","\u{1D7E6}":"4","\u{1D7F0}":"4","\u{1D7FA}":"4","\u{1FBF4}":"4",\u13CE:"4","\u{118AF}":"4","\u06F4":"\u0664","\u0AEA":"\u096A","\u2463":"\u2783","\u{1F105}":"4,","\u248B":"4.",\u1530:"4\xB7","\u33E3":"4\u65E5","\u32C3":"4\u6708","\u335C":"4\u70B9","\u{1D7D3}":"5","\u{1D7DD}":"5","\u{1D7E7}":"5","\u{1D7F1}":"5","\u{1D7FB}":"5","\u{1FBF5}":"5",\u01BC:"5","\u{118BB}":"5","\u2464":"\u2784","\u{1F106}":"5,","\u248C":"5.","\u33E4":"5\u65E5","\u32C4":"5\u6708","\u335D":"5\u70B9","\u{1D7D4}":"6","\u{1D7DE}":"6","\u{1D7E8}":"6","\u{1D7F2}":"6","\u{1D7FC}":"6","\u{1FBF6}":"6","\u2CD2":"6",\u0431:"6",\u13EE:"6","\u{118D5}":"6","\u06F6":"\u0666","\u{114D6}":"\u09EC","\u2465":"\u2785","\u{1F107}":"6,","\u248D":"6.","\u33E5":"6\u65E5","\u32C5":"6\u6708","\u335E":"6\u70B9","\u{1D212}":"7","\u{1D7D5}":"7","\u{1D7DF}":"7","\u{1D7E9}":"7","\u{1D7F3}":"7","\u{1D7FD}":"7","\u{1FBF7}":"7","\u{104D2}":"7","\u{118C6}":"7","\u2466":"\u2786","\u{1F108}":"7,","\u248E":"7.","\u33E6":"7\u65E5","\u32C6":"7\u6708","\u335F":"7\u70B9","\u0B03":"8","\u09EA":"8","\u0A6A":"8","\u{1E8CB}":"8","\u{1D7D6}":"8","\u{1D7E0}":"8","\u{1D7EA}":"8","\u{1D7F4}":"8","\u{1D7FE}":"8","\u{1FBF8}":"8",\u0223:"8",\u0222:"8","\u{1031A}":"8","\u0AEE":"\u096E","\u2467":"\u2787","\u{1F109}":"8,","\u248F":"8.","\u33E7":"8\u65E5","\u32C7":"8\u6708","\u3360":"8\u70B9","\u0A67":"9","\u0B68":"9","\u09ED":"9","\u0D6D":"9","\u{1D7D7}":"9","\u{1D7E1}":"9","\u{1D7EB}":"9","\u{1D7F5}":"9","\u{1D7FF}":"9","\u{1FBF9}":"9","\uA76E":"9","\u2CCA":"9","\u{118CC}":"9","\u{118AC}":"9","\u{118D6}":"9","\u0967":"\u0669","\u{118E4}":"\u0669","\u06F9":"\u0669","\u0CEF":"\u0C6F","\u2468":"\u2788","\u{1F10A}":"9,","\u2490":"9.","\u33E8":"9\u65E5","\u32C8":"9\u6708","\u3361":"9\u70B9","\u237A":"a",\uFF41:"a","\u{1D41A}":"a","\u{1D44E}":"a","\u{1D482}":"a","\u{1D4B6}":"a","\u{1D4EA}":"a","\u{1D51E}":"a","\u{1D552}":"a","\u{1D586}":"a","\u{1D5BA}":"a","\u{1D5EE}":"a","\u{1D622}":"a","\u{1D656}":"a","\u{1D68A}":"a",\u0251:"a",\u03B1:"a","\u{1D6C2}":"a","\u{1D6FC}":"a","\u{1D736}":"a","\u{1D770}":"a","\u{1D7AA}":"a",\u0430:"a","\u2DF6":"\u0363",\uFF21:"A","\u{1D400}":"A","\u{1D434}":"A","\u{1D468}":"A","\u{1D49C}":"A","\u{1D4D0}":"A","\u{1D504}":"A","\u{1D538}":"A","\u{1D56C}":"A","\u{1D5A0}":"A","\u{1D5D4}":"A","\u{1D608}":"A","\u{1D63C}":"A","\u{1D670}":"A",\u0391:"A","\u{1D6A8}":"A","\u{1D6E2}":"A","\u{1D71C}":"A","\u{1D756}":"A","\u{1D790}":"A",\u0410:"A",\u13AA:"A",\u15C5:"A","\uA4EE":"A","\u{16F40}":"A","\u{102A0}":"A","\u2376":"a\u0332",\u01CE:"\u0103",\u01CD:"\u0102",\u0227:"\xE5",\u0226:"\xC5",\u1E9A:"\u1EA3","\u2100":"a/c","\u2101":"a/s","\uA733":"aa","\uA732":"AA",\u00E6:"ae",\u04D5:"ae",\u00C6:"AE",\u04D4:"AE","\uA735":"ao","\uA734":"AO","\u{1F707}":"AR","\uA737":"au","\uA736":"AU","\uA739":"av","\uA73B":"av","\uA738":"AV","\uA73A":"AV","\uA73D":"ay","\uA73C":"AY","\uAB7A":"\u1D00","\u2200":"\u2C6F","\u{1D217}":"\u2C6F",\u15C4:"\u2C6F","\uA4EF":"\u2C6F","\u{1041F}":"\u2C70","\u{1D41B}":"b","\u{1D44F}":"b","\u{1D483}":"b","\u{1D4B7}":"b","\u{1D4EB}":"b","\u{1D51F}":"b","\u{1D553}":"b","\u{1D587}":"b","\u{1D5BB}":"b","\u{1D5EF}":"b","\u{1D623}":"b","\u{1D657}":"b","\u{1D68B}":"b",\u0184:"b",\u042C:"b",\u13CF:"b",\u1472:"b",\u15AF:"b",\uFF22:"B",\u212C:"B","\u{1D401}":"B","\u{1D435}":"B","\u{1D469}":"B","\u{1D4D1}":"B","\u{1D505}":"B","\u{1D539}":"B","\u{1D56D}":"B","\u{1D5A1}":"B","\u{1D5D5}":"B","\u{1D609}":"B","\u{1D63D}":"B","\u{1D671}":"B","\uA7B4":"B",\u0392:"B","\u{1D6A9}":"B","\u{1D6E3}":"B","\u{1D71D}":"B","\u{1D757}":"B","\u{1D791}":"B",\u0412:"B",\u13F4:"B",\u15F7:"B","\uA4D0":"B","\u{10282}":"B","\u{102A1}":"B","\u{10301}":"B",\u0253:"b\u0314",\u1473:"b\u0307",\u0183:"b\u0304",\u0182:"b\u0304",\u0411:"b\u0304",\u0180:"b\u0335",\u048D:"b\u0335",\u048C:"b\u0335",\u0463:"b\u0335",\u0462:"b\u0335",\u147F:"b\xB7",\u1481:"b\u0307\xB7",\u1488:"b'",\u042B:"bl",\u0432:"\u0299","\u13FC":"\u0299",\uFF43:"c","\u217D":"c","\u{1D41C}":"c","\u{1D450}":"c","\u{1D484}":"c","\u{1D4B8}":"c","\u{1D4EC}":"c","\u{1D520}":"c","\u{1D554}":"c","\u{1D588}":"c","\u{1D5BC}":"c","\u{1D5F0}":"c","\u{1D624}":"c","\u{1D658}":"c","\u{1D68C}":"c","\u1D04":"c",\u03F2:"c","\u2CA5":"c",\u0441:"c","\uABAF":"c","\u{1043D}":"c","\u2DED":"\u0368","\u{1F74C}":"C","\u{118F2}":"C","\u{118E9}":"C",\uFF23:"C","\u216D":"C",\u2102:"C",\u212D:"C","\u{1D402}":"C","\u{1D436}":"C","\u{1D46A}":"C","\u{1D49E}":"C","\u{1D4D2}":"C","\u{1D56E}":"C","\u{1D5A2}":"C","\u{1D5D6}":"C","\u{1D60A}":"C","\u{1D63E}":"C","\u{1D672}":"C","\u03F9":"C","\u2CA4":"C",\u0421:"C",\u13DF:"C","\uA4DA":"C","\u{102A2}":"C","\u{10302}":"C","\u{10415}":"C","\u{1051C}":"C","\xA2":"c\u0338","\u023C":"c\u0338","\u20A1":"C\u20EB","\u{1F16E}":"C\u20E0",\u00E7:"c\u0326",\u04AB:"c\u0326",\u00C7:"C\u0326",\u04AA:"C\u0326",\u0187:"C'","\u2105":"c/o","\u2106":"c/u","\u{1F16D}":"\u33C4 \u20DD","\u22F4":"\uA793",\u025B:"\uA793",\u03B5:"\uA793","\u03F5":"\uA793","\u{1D6C6}":"\uA793","\u{1D6DC}":"\uA793","\u{1D700}":"\uA793","\u{1D716}":"\uA793","\u{1D73A}":"\uA793","\u{1D750}":"\uA793","\u{1D774}":"\uA793","\u{1D78A}":"\uA793","\u{1D7AE}":"\uA793","\u{1D7C4}":"\uA793","\u2C89":"\uA793",\u0454:"\uA793","\u0511":"\uA793","\uAB9B":"\uA793","\u{118CE}":"\uA793","\u{10429}":"\uA793","\u20AC":"\uA792","\u2C88":"\uA792",\u0404:"\uA792","\u2377":"\uA793\u0332","\u037D":"\uA73F","\u03FF":"\uA73E","\u217E":"d","\u2146":"d","\u{1D41D}":"d","\u{1D451}":"d","\u{1D485}":"d","\u{1D4B9}":"d","\u{1D4ED}":"d","\u{1D521}":"d","\u{1D555}":"d","\u{1D589}":"d","\u{1D5BD}":"d","\u{1D5F1}":"d","\u{1D625}":"d","\u{1D659}":"d","\u{1D68D}":"d","\u0501":"d",\u13E7:"d",\u146F:"d","\uA4D2":"d","\u216E":"D","\u2145":"D","\u{1D403}":"D","\u{1D437}":"D","\u{1D46B}":"D","\u{1D49F}":"D","\u{1D4D3}":"D","\u{1D507}":"D","\u{1D53B}":"D","\u{1D56F}":"D","\u{1D5A3}":"D","\u{1D5D7}":"D","\u{1D60B}":"D","\u{1D63F}":"D","\u{1D673}":"D",\u13A0:"D",\u15DE:"D",\u15EA:"D","\uA4D3":"D",\u0257:"d\u0314",\u0256:"d\u0328",\u018C:"d\u0304",\u0111:"d\u0335",\u0110:"D\u0335",\u00D0:"D\u0335",\u0189:"D\u0335","\u20AB":"d\u0335\u0331","\uA77A":"\uA779",\u147B:"d\xB7",\u1487:"d'",\u02A4:"d\u021D",\u01F3:"dz",\u02A3:"dz",\u01F2:"Dz",\u01F1:"DZ",\u01C6:"d\u017E",\u01C5:"D\u017E",\u01C4:"D\u017D",\u02A5:"d\u0291","\uAB70":"\u1D05","\u2E39":"\u1E9F",\u03B4:"\u1E9F","\u{1D6C5}":"\u1E9F","\u{1D6FF}":"\u1E9F","\u{1D739}":"\u1E9F","\u{1D773}":"\u1E9F","\u{1D7AD}":"\u1E9F",\u056E:"\u1E9F",\u1577:"\u1E9F","\u212E":"e",\uFF45:"e",\u212F:"e","\u2147":"e","\u{1D41E}":"e","\u{1D452}":"e","\u{1D486}":"e","\u{1D4EE}":"e","\u{1D522}":"e","\u{1D556}":"e","\u{1D58A}":"e","\u{1D5BE}":"e","\u{1D5F2}":"e","\u{1D626}":"e","\u{1D65A}":"e","\u{1D68E}":"e","\uAB32":"e",\u0435:"e",\u04BD:"e","\u2DF7":"\u0364","\u22FF":"E",\uFF25:"E",\u2130:"E","\u{1D404}":"E","\u{1D438}":"E","\u{1D46C}":"E","\u{1D4D4}":"E","\u{1D508}":"E","\u{1D53C}":"E","\u{1D570}":"E","\u{1D5A4}":"E","\u{1D5D8}":"E","\u{1D60C}":"E","\u{1D640}":"E","\u{1D674}":"E",\u0395:"E","\u{1D6AC}":"E","\u{1D6E6}":"E","\u{1D720}":"E","\u{1D75A}":"E","\u{1D794}":"E",\u0415:"E","\u2D39":"E",\u13AC:"E","\uA4F0":"E","\u{118A6}":"E","\u{118AE}":"E","\u{10286}":"E",\u011B:"\u0115",\u011A:"\u0114","\u0247":"e\u0338","\u0246":"E\u0338",\u04BF:"e\u0328","\uAB7C":"\u1D07",\u0259:"\u01DD",\u04D9:"\u01DD","\u2203":"\u018E","\u2D3A":"\u018E","\uA4F1":"\u018E",\u025A:"\u01DD\u02DE","\u1D14":"\u01DDo","\uAB41":"\u01DDo\u0338","\uAB42":"\u01DDo\u0335",\u04D8:"\u018F","\u{1D221}":"\u0190",\u2107:"\u0190","\u0510":"\u0190",\u13CB:"\u0190","\u{16F2D}":"\u0190","\u{10401}":"\u0190","\u1D9F":"\u1D4B","\u1D08":"\u025C",\u0437:"\u025C",\u0499:"\u025C\u0326","\u{10442}":"\u025E","\uA79D":"\u029A","\u{1042A}":"\u029A","\u{1D41F}":"f","\u{1D453}":"f","\u{1D487}":"f","\u{1D4BB}":"f","\u{1D4EF}":"f","\u{1D523}":"f","\u{1D557}":"f","\u{1D58B}":"f","\u{1D5BF}":"f","\u{1D5F3}":"f","\u{1D627}":"f","\u{1D65B}":"f","\u{1D68F}":"f","\uAB35":"f","\uA799":"f",\u017F:"f","\u1E9D":"f",\u0584:"f","\u{1D213}":"F",\u2131:"F","\u{1D405}":"F","\u{1D439}":"F","\u{1D46D}":"F","\u{1D4D5}":"F","\u{1D509}":"F","\u{1D53D}":"F","\u{1D571}":"F","\u{1D5A5}":"F","\u{1D5D9}":"F","\u{1D60D}":"F","\u{1D641}":"F","\u{1D675}":"F","\uA798":"F",\u03DC:"F","\u{1D7CA}":"F",\u15B4:"F","\uA4DD":"F","\u{118C2}":"F","\u{118A2}":"F","\u{10287}":"F","\u{102A5}":"F","\u{10525}":"F",\u0192:"f\u0326",\u0191:"F\u0326","\u1D6E":"f\u0334","\u213B":"FAX",\uFB00:"ff",\uFB03:"ffi",\uFB04:"ffl",\uFB01:"fi",\uFB02:"fl",\u02A9:"f\u014B",\u15B5:"\u2132","\uA4DE":"\u2132","\u{1D230}":"\uA7FB",\u15B7:"\uA7FB",\uFF47:"g",\u210A:"g","\u{1D420}":"g","\u{1D454}":"g","\u{1D488}":"g","\u{1D4F0}":"g","\u{1D524}":"g","\u{1D558}":"g","\u{1D58C}":"g","\u{1D5C0}":"g","\u{1D5F4}":"g","\u{1D628}":"g","\u{1D65C}":"g","\u{1D690}":"g",\u0261:"g","\u1D83":"g",\u018D:"g",\u0581:"g","\u{1D406}":"G","\u{1D43A}":"G","\u{1D46E}":"G","\u{1D4A2}":"G","\u{1D4D6}":"G","\u{1D50A}":"G","\u{1D53E}":"G","\u{1D572}":"G","\u{1D5A6}":"G","\u{1D5DA}":"G","\u{1D60E}":"G","\u{1D642}":"G","\u{1D676}":"G","\u050C":"G",\u13C0:"G",\u13F3:"G","\uA4D6":"G","\u1DA2":"\u1D4D",\u0260:"g\u0314",\u01E7:"\u011F",\u01E6:"\u011E",\u01F5:"\u0123",\u01E5:"g\u0335",\u01E4:"G\u0335",\u0193:"G'","\u050D":"\u0262","\uAB90":"\u0262","\u13FB":"\u0262",\uFF48:"h",\u210E:"h","\u{1D421}":"h","\u{1D489}":"h","\u{1D4BD}":"h","\u{1D4F1}":"h","\u{1D525}":"h","\u{1D559}":"h","\u{1D58D}":"h","\u{1D5C1}":"h","\u{1D5F5}":"h","\u{1D629}":"h","\u{1D65D}":"h","\u{1D691}":"h",\u04BB:"h",\u0570:"h",\u13C2:"h",\uFF28:"H",\u210B:"H",\u210C:"H",\u210D:"H","\u{1D407}":"H","\u{1D43B}":"H","\u{1D46F}":"H","\u{1D4D7}":"H","\u{1D573}":"H","\u{1D5A7}":"H","\u{1D5DB}":"H","\u{1D60F}":"H","\u{1D643}":"H","\u{1D677}":"H",\u0397:"H","\u{1D6AE}":"H","\u{1D6E8}":"H","\u{1D722}":"H","\u{1D75C}":"H","\u{1D796}":"H","\u2C8E":"H",\u041D:"H",\u13BB:"H",\u157C:"H","\uA4E7":"H","\u{102CF}":"H","\u1D78":"\u1D34",\u0266:"h\u0314","\uA695":"h\u0314",\u13F2:"h\u0314","\u2C67":"H\u0329",\u04A2:"H\u0329",\u0127:"h\u0335",\u210F:"h\u0335",\u045B:"h\u0335",\u0126:"H\u0335","\u04C9":"H\u0326",\u04C7:"H\u0326",\u043D:"\u029C","\uAB8B":"\u029C",\u04A3:"\u029C\u0329","\u04CA":"\u029C\u0326",\u04C8:"\u029C\u0326","\u050A":"\u01F6","\uAB80":"\u2C76","\u0370":"\u2C75",\u13A8:"\u2C75",\u13B0:"\u2C75","\uA6B1":"\u2C75","\uA795":"\uA727","\u02DB":"i","\u2373":"i",\uFF49:"i","\u2170":"i",\u2139:"i","\u2148":"i","\u{1D422}":"i","\u{1D456}":"i","\u{1D48A}":"i","\u{1D4BE}":"i","\u{1D4F2}":"i","\u{1D526}":"i","\u{1D55A}":"i","\u{1D58E}":"i","\u{1D5C2}":"i","\u{1D5F6}":"i","\u{1D62A}":"i","\u{1D65E}":"i","\u{1D692}":"i",\u0131:"i","\u{1D6A4}":"i",\u026A:"i",\u0269:"i",\u03B9:"i",\u1FBE:"i",\u037A:"i","\u{1D6CA}":"i","\u{1D704}":"i","\u{1D73E}":"i","\u{1D778}":"i","\u{1D7B2}":"i",\u0456:"i","\uA647":"i","\u04CF":"i","\uAB75":"i",\u13A5:"i","\u{118C3}":"i","\u24DB":"\u24BE","\u2378":"i\u0332",\u01D0:"\u012D",\u01CF:"\u012C",\u0268:"i\u0335","\u1D7B":"i\u0335","\u1D7C":"i\u0335","\u2171":"ii","\u2172":"iii",\u0133:"ij","\u2173":"iv","\u2178":"ix",\uFF4A:"j","\u2149":"j","\u{1D423}":"j","\u{1D457}":"j","\u{1D48B}":"j","\u{1D4BF}":"j","\u{1D4F3}":"j","\u{1D527}":"j","\u{1D55B}":"j","\u{1D58F}":"j","\u{1D5C3}":"j","\u{1D5F7}":"j","\u{1D62B}":"j","\u{1D65F}":"j","\u{1D693}":"j",\u03F3:"j",\u0458:"j",\uFF2A:"J","\u{1D409}":"J","\u{1D43D}":"J","\u{1D471}":"J","\u{1D4A5}":"J","\u{1D4D9}":"J","\u{1D50D}":"J","\u{1D541}":"J","\u{1D575}":"J","\u{1D5A9}":"J","\u{1D5DD}":"J","\u{1D611}":"J","\u{1D645}":"J","\u{1D679}":"J","\uA7B2":"J","\u037F":"J",\u0408:"J",\u13AB:"J",\u148D:"J","\uA4D9":"J","\u0249":"j\u0335","\u0248":"J\u0335",\u1499:"J\xB7","\u{1D6A5}":"\u0237",\u0575:"\u0237","\uAB7B":"\u1D0A","\u{1D424}":"k","\u{1D458}":"k","\u{1D48C}":"k","\u{1D4C0}":"k","\u{1D4F4}":"k","\u{1D528}":"k","\u{1D55C}":"k","\u{1D590}":"k","\u{1D5C4}":"k","\u{1D5F8}":"k","\u{1D62C}":"k","\u{1D660}":"k","\u{1D694}":"k",\u212A:"K",\uFF2B:"K","\u{1D40A}":"K","\u{1D43E}":"K","\u{1D472}":"K","\u{1D4A6}":"K","\u{1D4DA}":"K","\u{1D50E}":"K","\u{1D542}":"K","\u{1D576}":"K","\u{1D5AA}":"K","\u{1D5DE}":"K","\u{1D612}":"K","\u{1D646}":"K","\u{1D67A}":"K",\u039A:"K","\u{1D6B1}":"K","\u{1D6EB}":"K","\u{1D725}":"K","\u{1D75F}":"K","\u{1D799}":"K","\u2C94":"K",\u041A:"K",\u13E6:"K",\u16D5:"K","\uA4D7":"K","\u{10518}":"K",\u0199:"k\u0314","\u2C69":"K\u0329",\u049A:"K\u0329","\u20AD":"K\u0335","\uA740":"K\u0335",\u049E:"K\u0335",\u0198:"K'","\u05C0":"l","|":"l","\u2223":"l","\u23FD":"l","\uFFE8":"l","\u0661":"l","\u06F1":"l","\u{10320}":"l","\u{1E8C7}":"l","\u{1D7CF}":"l","\u{1D7D9}":"l","\u{1D7E3}":"l","\u{1D7ED}":"l","\u{1D7F7}":"l","\u{1FBF1}":"l",I:vb,\uFF29:"l","\u2160":"l",\u2110:"l",\u2111:"l","\u{1D408}":"l","\u{1D43C}":"l","\u{1D470}":"l","\u{1D4D8}":"l","\u{1D540}":"l","\u{1D574}":"l","\u{1D5A8}":"l","\u{1D5DC}":"l","\u{1D610}":"l","\u{1D644}":"l","\u{1D678}":"l",\u0196:"l",\uFF4C:"l","\u217C":"l",\u2113:"l","\u{1D425}":"l","\u{1D459}":"l","\u{1D48D}":"l","\u{1D4C1}":"l","\u{1D4F5}":"l","\u{1D529}":"l","\u{1D55D}":"l","\u{1D591}":"l","\u{1D5C5}":"l","\u{1D5F9}":"l","\u{1D62D}":"l","\u{1D661}":"l","\u{1D695}":"l",\u01C0:"l",\u0399:"l","\u{1D6B0}":"l","\u{1D6EA}":"l","\u{1D724}":"l","\u{1D75E}":"l","\u{1D798}":"l","\u2C92":"l",\u0406:"l",\u04C0:"l",\u05D5:"l",\u05DF:"l",\u0627:"l","\u{1EE00}":"l","\u{1EE80}":"l",\uFE8E:"l",\uFE8D:"l","\u07CA":"l","\u2D4F":"l",\u16C1:"l","\uA4F2":"l","\u{16F28}":"l","\u{1028A}":"l","\u{10309}":"l","\u{1D22A}":"L","\u216C":"L",\u2112:"L","\u{1D40B}":"L","\u{1D43F}":"L","\u{1D473}":"L","\u{1D4DB}":"L","\u{1D50F}":"L","\u{1D543}":"L","\u{1D577}":"L","\u{1D5AB}":"L","\u{1D5DF}":"L","\u{1D613}":"L","\u{1D647}":"L","\u{1D67B}":"L","\u2CD0":"L",\u13DE:"L",\u14AA:"L","\uA4E1":"L","\u{16F16}":"L","\u{118A3}":"L","\u{118B2}":"L","\u{1041B}":"L","\u{10526}":"L",\uFD3C:"l\u030B",\uFD3D:"l\u030B",\u0142:"l\u0338",\u0141:"L\u0338",\u026D:"l\u0328",\u0197:"l\u0335",\u019A:"l\u0335",\u026B:"l\u0334",\u0625:"l\u0655",\uFE88:"l\u0655",\uFE87:"l\u0655",\u0673:"l\u0655",\u0140:"l\xB7",\u013F:"l\xB7",\u14B7:"l\xB7","\u{1F102}":"l,","\u2488":"l.",\u05F1:"l'","\u2493":"l2.","\u33EB":"l2\u65E5","\u32CB":"l2\u6708","\u3364":"l2\u70B9","\u2494":"l3.","\u33EC":"l3\u65E5","\u3365":"l3\u70B9","\u2495":"l4.","\u33ED":"l4\u65E5","\u3366":"l4\u70B9","\u2496":"l5.","\u33EE":"l5\u65E5","\u3367":"l5\u70B9","\u2497":"l6.","\u33EF":"l6\u65E5","\u3368":"l6\u70B9","\u2498":"l7.","\u33F0":"l7\u65E5","\u3369":"l7\u70B9","\u2499":"l8.","\u33F1":"l8\u65E5","\u336A":"l8\u70B9","\u249A":"l9.","\u33F2":"l9\u65E5","\u336B":"l9\u70B9",\u01C9:"lj",\u0132:"lJ",\u01C8:"Lj",\u01C7:"LJ","\u2016":"ll","\u2225":"ll","\u2161":"ll",\u01C1:"ll",\u05F0:"ll","\u{10199}":"l\u0335l\u0335","\u2492":"ll.","\u2162":"lll","\u{10198}":"l\u0335l\u0335S\u0335","\u33EA":"ll\u65E5","\u32CA":"ll\u6708","\u3363":"ll\u70B9",\u042E:"lO","\u2491":"lO.","\u33E9":"lO\u65E5","\u32C9":"lO\u6708","\u3362":"lO\u70B9",\u02AA:"ls","\u20B6":"lt","\u2163":"lV","\u2168":"lX",\u026E:"l\u021D",\u02AB:"lz",\u0623:"l\u0674",\uFE84:"l\u0674",\uFE83:"l\u0674",\u0672:"l\u0674",\u0675:"l\u0674",\uFDF3:"l\u0643\u0628\u0631",\uFDF2:"l\u0644\u0644\u0651\u0670o","\u33E0":"l\u65E5","\u32C0":"l\u6708","\u3359":"l\u70B9","\u2CD1":"\u029F","\uABAE":"\u029F","\u{10443}":"\u029F",\uFF2D:"M","\u216F":"M",\u2133:"M","\u{1D40C}":"M","\u{1D440}":"M","\u{1D474}":"M","\u{1D4DC}":"M","\u{1D510}":"M","\u{1D544}":"M","\u{1D578}":"M","\u{1D5AC}":"M","\u{1D5E0}":"M","\u{1D614}":"M","\u{1D648}":"M","\u{1D67C}":"M",\u039C:"M","\u{1D6B3}":"M","\u{1D6ED}":"M","\u{1D727}":"M","\u{1D761}":"M","\u{1D79B}":"M","\u03FA":"M","\u2C98":"M",\u041C:"M",\u13B7:"M",\u15F0:"M",\u16D6:"M","\uA4DF":"M","\u{102B0}":"M","\u{10311}":"M","\u04CD":"M\u0326","\u{1F76B}":"MB","\u2DE8":"\u1DDF","\u{1D427}":"n","\u{1D45B}":"n","\u{1D48F}":"n","\u{1D4C3}":"n","\u{1D4F7}":"n","\u{1D52B}":"n","\u{1D55F}":"n","\u{1D593}":"n","\u{1D5C7}":"n","\u{1D5FB}":"n","\u{1D62F}":"n","\u{1D663}":"n","\u{1D697}":"n",\u0578:"n",\u057C:"n",\uFF2E:"N",\u2115:"N","\u{1D40D}":"N","\u{1D441}":"N","\u{1D475}":"N","\u{1D4A9}":"N","\u{1D4DD}":"N","\u{1D511}":"N","\u{1D579}":"N","\u{1D5AD}":"N","\u{1D5E1}":"N","\u{1D615}":"N","\u{1D649}":"N","\u{1D67D}":"N",\u039D:"N","\u{1D6B4}":"N","\u{1D6EE}":"N","\u{1D728}":"N","\u{1D762}":"N","\u{1D79C}":"N","\u2C9A":"N","\uA4E0":"N","\u{10513}":"N","\u{1018E}":"N\u030A",\u0273:"n\u0328",\u019E:"n\u0329",\u03B7:"n\u0329","\u{1D6C8}":"n\u0329","\u{1D702}":"n\u0329","\u{1D73C}":"n\u0329","\u{1D776}":"n\u0329","\u{1D7B0}":"n\u0329",\u019D:"N\u0326","\u1D70":"n\u0334",\u01CC:"nj",\u01CB:"Nj",\u01CA:"NJ","\u2116":"No","\u0377":"\u1D0E",\u0438:"\u1D0E","\u{1044D}":"\u1D0E",\u0146:"\u0272","\u0C02":"o","\u0C82":"o","\u0D02":"o","\u0D82":"o","\u0966":"o","\u0A66":"o","\u0AE6":"o","\u0BE6":"o","\u0C66":"o","\u0CE6":"o","\u0D66":"o","\u0E50":"o","\u0ED0":"o","\u1040":"o","\u0665":"o","\u06F5":"o",\uFF4F:"o",\u2134:"o","\u{1D428}":"o","\u{1D45C}":"o","\u{1D490}":"o","\u{1D4F8}":"o","\u{1D52C}":"o","\u{1D560}":"o","\u{1D594}":"o","\u{1D5C8}":"o","\u{1D5FC}":"o","\u{1D630}":"o","\u{1D664}":"o","\u{1D698}":"o","\u1D0F":"o","\u1D11":"o","\uAB3D":"o",\u03BF:"o","\u{1D6D0}":"o","\u{1D70A}":"o","\u{1D744}":"o","\u{1D77E}":"o","\u{1D7B8}":"o",\u03C3:"o","\u{1D6D4}":"o","\u{1D70E}":"o","\u{1D748}":"o","\u{1D782}":"o","\u{1D7BC}":"o","\u2C9F":"o",\u043E:"o","\u10FF":"o",\u0585:"o",\u05E1:"o",\u0647:"o","\u{1EE24}":"o","\u{1EE64}":"o","\u{1EE84}":"o",\uFEEB:"o",\uFEEC:"o",\uFEEA:"o",\uFEE9:"o",\u06BE:"o",\uFBAC:"o",\uFBAD:"o",\uFBAB:"o",\uFBAA:"o",\u06C1:"o",\uFBA8:"o",\uFBA9:"o",\uFBA7:"o",\uFBA6:"o",\u06D5:"o",\u0D20:"o",\u101D:"o","\u{104EA}":"o","\u{118C8}":"o","\u{118D7}":"o","\u{1042C}":"o","\u07C0":"O","\u09E6":"O","\u0B66":"O","\u3007":"O","\u{114D0}":"O","\u{118E0}":"O","\u{1D7CE}":"O","\u{1D7D8}":"O","\u{1D7E2}":"O","\u{1D7EC}":"O","\u{1D7F6}":"O","\u{1FBF0}":"O",\uFF2F:"O","\u{1D40E}":"O","\u{1D442}":"O","\u{1D476}":"O","\u{1D4AA}":"O","\u{1D4DE}":"O","\u{1D512}":"O","\u{1D546}":"O","\u{1D57A}":"O","\u{1D5AE}":"O","\u{1D5E2}":"O","\u{1D616}":"O","\u{1D64A}":"O","\u{1D67E}":"O",\u039F:"O","\u{1D6B6}":"O","\u{1D6F0}":"O","\u{1D72A}":"O","\u{1D764}":"O","\u{1D79E}":"O","\u2C9E":"O",\u041E:"O",\u0555:"O","\u2D54":"O",\u12D0:"O",\u0B20:"O","\u{104C2}":"O","\uA4F3":"O","\u{118B5}":"O","\u{10292}":"O","\u{102AB}":"O","\u{10404}":"O","\u{10516}":"O","\u2070":"\xBA","\u1D52":"\xBA",\u01D2:"\u014F",\u01D1:"\u014E","\u06FF":"o\u0302",\u0150:"\xD6",\u00F8:"o\u0338","\uAB3E":"o\u0338",\u00D8:"O\u0338","\u2D41":"O\u0338",\u01FE:"O\u0338\u0301",\u0275:"o\u0335","\uA74B":"o\u0335",\u04E9:"o\u0335",\u0473:"o\u0335","\uAB8E":"o\u0335","\uABBB":"o\u0335","\u2296":"O\u0335","\u229D":"O\u0335","\u236C":"O\u0335","\u{1D21A}":"O\u0335","\u{1F714}":"O\u0335",\u019F:"O\u0335","\uA74A":"O\u0335",\u03B8:"O\u0335",\u03D1:"O\u0335","\u{1D6C9}":"O\u0335","\u{1D6DD}":"O\u0335","\u{1D703}":"O\u0335","\u{1D717}":"O\u0335","\u{1D73D}":"O\u0335","\u{1D751}":"O\u0335","\u{1D777}":"O\u0335","\u{1D78B}":"O\u0335","\u{1D7B1}":"O\u0335","\u{1D7C5}":"O\u0335",\u0398:"O\u0335","\u03F4":"O\u0335","\u{1D6AF}":"O\u0335","\u{1D6B9}":"O\u0335","\u{1D6E9}":"O\u0335","\u{1D6F3}":"O\u0335","\u{1D723}":"O\u0335","\u{1D72D}":"O\u0335","\u{1D75D}":"O\u0335","\u{1D767}":"O\u0335","\u{1D797}":"O\u0335","\u{1D7A1}":"O\u0335",\u04E8:"O\u0335",\u0472:"O\u0335","\u2D31":"O\u0335",\u13BE:"O\u0335",\u13EB:"O\u0335","\uAB74":"o\u031B",\uFCD9:"o\u0670","\u{1F101}":"O,","\u{1F100}":"O.",\u01A1:"o'",\u01A0:"O'",\u13A4:"O'","%":"\xBA/\u2080","\u066A":"\xBA/\u2080","\u2052":"\xBA/\u2080","\u2030":"\xBA/\u2080\u2080","\u0609":"\xBA/\u2080\u2080","\u2031":"\xBA/\u2080\u2080\u2080","\u060A":"\xBA/\u2080\u2080\u2080",\u0153:"oe",\u0152:"OE",\u0276:"o\u1D07","\u221E":"oo","\uA74F":"oo","\uA699":"oo","\uA74E":"OO","\uA698":"OO",\uFCD7:"o\u062C",\uFC51:"o\u062C",\uFCD8:"o\u0645",\uFC52:"o\u0645",\uFD93:"o\u0645\u062C",\uFD94:"o\u0645\u0645",\uFC53:"o\u0649",\uFC54:"o\u0649","\u0D5F":"o\u0D30o",\u1010:"o\u102C","\u3358":"O\u70B9","\u2184":"\u0254","\u1D10":"\u0254","\u037B":"\u0254","\u{1044B}":"\u0254","\u2183":"\u0186","\u03FD":"\u0186","\uA4DB":"\u0186","\u{10423}":"\u0186","\uAB3F":"\u0254\u0338","\uAB62":"\u0254e","\u{1043F}":"\u0277","\u2374":"p",\uFF50:"p","\u{1D429}":"p","\u{1D45D}":"p","\u{1D491}":"p","\u{1D4C5}":"p","\u{1D4F9}":"p","\u{1D52D}":"p","\u{1D561}":"p","\u{1D595}":"p","\u{1D5C9}":"p","\u{1D5FD}":"p","\u{1D631}":"p","\u{1D665}":"p","\u{1D699}":"p",\u03C1:"p",\u03F1:"p","\u{1D6D2}":"p","\u{1D6E0}":"p","\u{1D70C}":"p","\u{1D71A}":"p","\u{1D746}":"p","\u{1D754}":"p","\u{1D780}":"p","\u{1D78E}":"p","\u{1D7BA}":"p","\u{1D7C8}":"p","\u2CA3":"p",\u0440:"p",\uFF30:"P",\u2119:"P","\u{1D40F}":"P","\u{1D443}":"P","\u{1D477}":"P","\u{1D4AB}":"P","\u{1D4DF}":"P","\u{1D513}":"P","\u{1D57B}":"P","\u{1D5AF}":"P","\u{1D5E3}":"P","\u{1D617}":"P","\u{1D64B}":"P","\u{1D67F}":"P",\u03A1:"P","\u{1D6B8}":"P","\u{1D6F2}":"P","\u{1D72C}":"P","\u{1D766}":"P","\u{1D7A0}":"P","\u2CA2":"P",\u0420:"P",\u13E2:"P",\u146D:"P","\uA4D1":"P","\u{10295}":"P",\u01A5:"p\u0314","\u1D7D":"p\u0335",\u1477:"p\xB7",\u1486:"P'","\u1D29":"\u1D18","\uABB2":"\u1D18",\u03C6:"\u0278",\u03D5:"\u0278","\u{1D6D7}":"\u0278","\u{1D6DF}":"\u0278","\u{1D711}":"\u0278","\u{1D719}":"\u0278","\u{1D74B}":"\u0278","\u{1D753}":"\u0278","\u{1D785}":"\u0278","\u{1D78D}":"\u0278","\u{1D7BF}":"\u0278","\u{1D7C7}":"\u0278","\u2CAB":"\u0278",\u0444:"\u0278","\u{1D42A}":"q","\u{1D45E}":"q","\u{1D492}":"q","\u{1D4C6}":"q","\u{1D4FA}":"q","\u{1D52E}":"q","\u{1D562}":"q","\u{1D596}":"q","\u{1D5CA}":"q","\u{1D5FE}":"q","\u{1D632}":"q","\u{1D666}":"q","\u{1D69A}":"q","\u051B":"q",\u0563:"q",\u0566:"q",\u211A:"Q","\u{1D410}":"Q","\u{1D444}":"Q","\u{1D478}":"Q","\u{1D4AC}":"Q","\u{1D4E0}":"Q","\u{1D514}":"Q","\u{1D57C}":"Q","\u{1D5B0}":"Q","\u{1D5E4}":"Q","\u{1D618}":"Q","\u{1D64C}":"Q","\u{1D680}":"Q","\u2D55":"Q",\u02A0:"q\u0314","\u{1F700}":"QE","\u1D90":"\u024B","\u1D0B":"\u0138",\u03BA:"\u0138",\u03F0:"\u0138","\u{1D6CB}":"\u0138","\u{1D6DE}":"\u0138","\u{1D705}":"\u0138","\u{1D718}":"\u0138","\u{1D73F}":"\u0138","\u{1D752}":"\u0138","\u{1D779}":"\u0138","\u{1D78C}":"\u0138","\u{1D7B3}":"\u0138","\u{1D7C6}":"\u0138","\u2C95":"\u0138",\u043A:"\u0138","\uABB6":"\u0138",\u049B:"\u0138\u0329",\u049F:"\u0138\u0335","\u{1D42B}":"r","\u{1D45F}":"r","\u{1D493}":"r","\u{1D4C7}":"r","\u{1D4FB}":"r","\u{1D52F}":"r","\u{1D563}":"r","\u{1D597}":"r","\u{1D5CB}":"r","\u{1D5FF}":"r","\u{1D633}":"r","\u{1D667}":"r","\u{1D69B}":"r","\uAB47":"r","\uAB48":"r","\u1D26":"r","\u2C85":"r",\u0433:"r","\uAB81":"r","\u{1D216}":"R",\u211B:"R",\u211C:"R",\u211D:"R","\u{1D411}":"R","\u{1D445}":"R","\u{1D479}":"R","\u{1D4E1}":"R","\u{1D57D}":"R","\u{1D5B1}":"R","\u{1D5E5}":"R","\u{1D619}":"R","\u{1D64D}":"R","\u{1D681}":"R",\u01A6:"R",\u13A1:"R",\u13D2:"R","\u{104B4}":"R",\u1587:"R","\uA4E3":"R","\u{16F35}":"R",\u027D:"r\u0328",\u027C:"r\u0329","\u024D":"r\u0335",\u0493:"r\u0335","\u1D72":"r\u0334",\u0491:"r'","\u{118E3}":"rn",m:_b,"\u217F":"rn","\u{1D426}":"rn","\u{1D45A}":"rn","\u{1D48E}":"rn","\u{1D4C2}":"rn","\u{1D4F6}":"rn","\u{1D52A}":"rn","\u{1D55E}":"rn","\u{1D592}":"rn","\u{1D5C6}":"rn","\u{1D5FA}":"rn","\u{1D62E}":"rn","\u{1D662}":"rn","\u{1D696}":"rn","\u{11700}":"rn","\u20A5":"rn\u0338",\u0271:"rn\u0326","\u1D6F":"rn\u0334","\u20A8":"Rs","\uAB71":"\u0280","\uABA2":"\u0280",\u044F:"\u1D19","\u1D73":"\u027E\u0334","\u2129":"\u027F",\uFF53:"s","\u{1D42C}":"s","\u{1D460}":"s","\u{1D494}":"s","\u{1D4C8}":"s","\u{1D4FC}":"s","\u{1D530}":"s","\u{1D564}":"s","\u{1D598}":"s","\u{1D5CC}":"s","\u{1D600}":"s","\u{1D634}":"s","\u{1D668}":"s","\u{1D69C}":"s","\uA731":"s",\u01BD:"s",\u0455:"s","\uABAA":"s","\u{118C1}":"s","\u{10448}":"s",\uFF33:"S","\u{1D412}":"S","\u{1D446}":"S","\u{1D47A}":"S","\u{1D4AE}":"S","\u{1D4E2}":"S","\u{1D516}":"S","\u{1D54A}":"S","\u{1D57E}":"S","\u{1D5B2}":"S","\u{1D5E6}":"S","\u{1D61A}":"S","\u{1D64E}":"S","\u{1D682}":"S",\u0405:"S",\u054F:"S",\u13D5:"S",\u13DA:"S","\uA4E2":"S","\u{16F3A}":"S","\u{10296}":"S","\u{10420}":"S",\u0282:"s\u0328","\u1D74":"s\u0334","\uA7B5":"\xDF",\u03B2:"\xDF",\u03D0:"\xDF","\u{1D6C3}":"\xDF","\u{1D6FD}":"\xDF","\u{1D737}":"\xDF","\u{1D771}":"\xDF","\u{1D7AB}":"\xDF",\u13F0:"\xDF","\u{1F75C}":"sss",\uFB06:"st","\u222B":"\u0283","\uAB4D":"\u0283","\u2211":"\u01A9","\u2140":"\u01A9",\u03A3:"\u01A9","\u{1D6BA}":"\u01A9","\u{1D6F4}":"\u01A9","\u{1D72E}":"\u01A9","\u{1D768}":"\u01A9","\u{1D7A2}":"\u01A9","\u2D49":"\u01A9","\u222C":"\u0283\u0283","\u222D":"\u0283\u0283\u0283","\u2A0C":"\u0283\u0283\u0283\u0283","\u{1D42D}":"t","\u{1D461}":"t","\u{1D495}":"t","\u{1D4C9}":"t","\u{1D4FD}":"t","\u{1D531}":"t","\u{1D565}":"t","\u{1D599}":"t","\u{1D5CD}":"t","\u{1D601}":"t","\u{1D635}":"t","\u{1D669}":"t","\u{1D69D}":"t","\u22A4":"T","\u27D9":"T","\u{1F768}":"T",\uFF34:"T","\u{1D413}":"T","\u{1D447}":"T","\u{1D47B}":"T","\u{1D4AF}":"T","\u{1D4E3}":"T","\u{1D517}":"T","\u{1D54B}":"T","\u{1D57F}":"T","\u{1D5B3}":"T","\u{1D5E7}":"T","\u{1D61B}":"T","\u{1D64F}":"T","\u{1D683}":"T",\u03A4:"T","\u{1D6BB}":"T","\u{1D6F5}":"T","\u{1D72F}":"T","\u{1D769}":"T","\u{1D7A3}":"T","\u2CA6":"T",\u0422:"T",\u13A2:"T","\uA4D4":"T","\u{16F0A}":"T","\u{118BC}":"T","\u{10297}":"T","\u{102B1}":"T","\u{10315}":"T",\u01AD:"t\u0314","\u2361":"T\u0308","\u023E":"T\u0338",\u021A:"\u0162",\u01AE:"T\u0328",\u04AC:"T\u0329","\u20AE":"T\u20EB",\u0167:"t\u0335",\u0166:"T\u0335","\u1D75":"t\u0334",\u10A0:"\uA786","\uA728":"T3",\u02A8:"t\u0255","\u2121":"TEL","\uA777":"tf",\u02A6:"ts",\u02A7:"t\u0283","\uA729":"t\u021D",\u03C4:"\u1D1B","\u{1D6D5}":"\u1D1B","\u{1D70F}":"\u1D1B","\u{1D749}":"\u1D1B","\u{1D783}":"\u1D1B","\u{1D7BD}":"\u1D1B",\u0442:"\u1D1B","\uAB72":"\u1D1B",\u04AD:"\u1D1B\u0329",\u0163:"\u01AB",\u021B:"\u01AB",\u13BF:"\u01AB","\u{1D42E}":"u","\u{1D462}":"u","\u{1D496}":"u","\u{1D4CA}":"u","\u{1D4FE}":"u","\u{1D532}":"u","\u{1D566}":"u","\u{1D59A}":"u","\u{1D5CE}":"u","\u{1D602}":"u","\u{1D636}":"u","\u{1D66A}":"u","\u{1D69E}":"u","\uA79F":"u","\u1D1C":"u","\uAB4E":"u","\uAB52":"u",\u028B:"u",\u03C5:"u","\u{1D6D6}":"u","\u{1D710}":"u","\u{1D74A}":"u","\u{1D784}":"u","\u{1D7BE}":"u",\u057D:"u","\u{104F6}":"u","\u{118D8}":"u","\u222A":"U","\u22C3":"U","\u{1D414}":"U","\u{1D448}":"U","\u{1D47C}":"U","\u{1D4B0}":"U","\u{1D4E4}":"U","\u{1D518}":"U","\u{1D54C}":"U","\u{1D580}":"U","\u{1D5B4}":"U","\u{1D5E8}":"U","\u{1D61C}":"U","\u{1D650}":"U","\u{1D684}":"U",\u054D:"U",\u1200:"U","\u{104CE}":"U",\u144C:"U","\uA4F4":"U","\u{16F42}":"U","\u{118B8}":"U",\u01D4:"\u016D",\u01D3:"\u016C","\u1D7E":"u\u0335","\uAB9C":"u\u0335","\u0244":"U\u0335",\u13CC:"U\u0335",\u1458:"U\xB7",\u1467:"U'","\u1D6B":"ue","\uAB63":"uo",\u1E43:"\uAB51",\u057A:"\u0270",\u1223:"\u0270","\u2127":"\u01B1",\u162E:"\u01B1",\u1634:"\u01B1","\u1D7F":"\u028A\u0335","\u2228":"v","\u22C1":"v",\uFF56:"v","\u2174":"v","\u{1D42F}":"v","\u{1D463}":"v","\u{1D497}":"v","\u{1D4CB}":"v","\u{1D4FF}":"v","\u{1D533}":"v","\u{1D567}":"v","\u{1D59B}":"v","\u{1D5CF}":"v","\u{1D603}":"v","\u{1D637}":"v","\u{1D66B}":"v","\u{1D69F}":"v","\u1D20":"v",\u03BD:"v","\u{1D6CE}":"v","\u{1D708}":"v","\u{1D742}":"v","\u{1D77C}":"v","\u{1D7B6}":"v",\u0475:"v",\u05D8:"v","\u{11706}":"v","\uABA9":"v","\u{118C0}":"v","\u{1D20D}":"V","\u0667":"V","\u06F7":"V","\u2164":"V","\u{1D415}":"V","\u{1D449}":"V","\u{1D47D}":"V","\u{1D4B1}":"V","\u{1D4E5}":"V","\u{1D519}":"V","\u{1D54D}":"V","\u{1D581}":"V","\u{1D5B5}":"V","\u{1D5E9}":"V","\u{1D61D}":"V","\u{1D651}":"V","\u{1D685}":"V",\u0474:"V","\u2D38":"V",\u13D9:"V",\u142F:"V","\uA6DF":"V","\uA4E6":"V","\u{16F08}":"V","\u{118A0}":"V","\u{1051D}":"V","\u{10197}":"V\u0335",\u143B:"V\xB7","\u{1F76C}":"VB","\u2175":"vi","\u2176":"vii","\u2177":"viii","\u2165":"Vl","\u2166":"Vll","\u2167":"Vlll","\u{1F708}":"V\u1DE4","\u1D27":"\u028C","\u{104D8}":"\u028C","\u0668":"\u0245","\u06F8":"\u0245",\u039B:"\u0245","\u{1D6B2}":"\u0245","\u{1D6EC}":"\u0245","\u{1D726}":"\u0245","\u{1D760}":"\u0245","\u{1D79A}":"\u0245",\u041B:"\u0245","\u2D37":"\u0245","\u{104B0}":"\u0245",\u1431:"\u0245","\uA6CE":"\u0245","\uA4E5":"\u0245","\u{16F3D}":"\u0245","\u{1028D}":"\u0245","\u04C5":"\u0245\u0326",\u143D:"\u0245\xB7",\u026F:"w","\u{1D430}":"w","\u{1D464}":"w","\u{1D498}":"w","\u{1D4CC}":"w","\u{1D500}":"w","\u{1D534}":"w","\u{1D568}":"w","\u{1D59C}":"w","\u{1D5D0}":"w","\u{1D604}":"w","\u{1D638}":"w","\u{1D66C}":"w","\u{1D6A0}":"w","\u1D21":"w",\u0461:"w","\u051D":"w",\u0561:"w","\u{1170A}":"w","\u{1170E}":"w","\u{1170F}":"w","\uAB83":"w","\u{118EF}":"W","\u{118E6}":"W","\u{1D416}":"W","\u{1D44A}":"W","\u{1D47E}":"W","\u{1D4B2}":"W","\u{1D4E6}":"W","\u{1D51A}":"W","\u{1D54E}":"W","\u{1D582}":"W","\u{1D5B6}":"W","\u{1D5EA}":"W","\u{1D61E}":"W","\u{1D652}":"W","\u{1D686}":"W","\u051C":"W",\u13B3:"W",\u13D4:"W","\uA4EA":"W",\u047D:"w\u0486\u0487","\u{114C5}":"w\u0307","\u20A9":"W\u0335","\uA761":"w\u0326","\u1D0D":"\u028D",\u043C:"\u028D","\uAB87":"\u028D","\u04CE":"\u028D\u0326","\u166E":"x","\xD7":"x","\u292B":"x","\u292C":"x","\u2A2F":"x",\uFF58:"x","\u2179":"x","\u{1D431}":"x","\u{1D465}":"x","\u{1D499}":"x","\u{1D4CD}":"x","\u{1D501}":"x","\u{1D535}":"x","\u{1D569}":"x","\u{1D59D}":"x","\u{1D5D1}":"x","\u{1D605}":"x","\u{1D639}":"x","\u{1D66D}":"x","\u{1D6A1}":"x",\u0445:"x",\u1541:"x",\u157D:"x","\u2DEF":"\u036F","\u166D":"X","\u2573":"X","\u{10322}":"X","\u{118EC}":"X",\uFF38:"X","\u2169":"X","\u{1D417}":"X","\u{1D44B}":"X","\u{1D47F}":"X","\u{1D4B3}":"X","\u{1D4E7}":"X","\u{1D51B}":"X","\u{1D54F}":"X","\u{1D583}":"X","\u{1D5B7}":"X","\u{1D5EB}":"X","\u{1D61F}":"X","\u{1D653}":"X","\u{1D687}":"X","\uA7B3":"X",\u03A7:"X","\u{1D6BE}":"X","\u{1D6F8}":"X","\u{1D732}":"X","\u{1D76C}":"X","\u{1D7A6}":"X","\u2CAC":"X",\u0425:"X","\u2D5D":"X",\u16B7:"X","\uA4EB":"X","\u{10290}":"X","\u{102B4}":"X","\u{10317}":"X","\u{10527}":"X","\u2A30":"x\u0307",\u04B2:"X\u0329","\u{10196}":"X\u0335","\u217A":"xi","\u217B":"xii","\u216A":"Xl","\u216B":"Xll",\u0263:"y","\u1D8C":"y",\uFF59:"y","\u{1D432}":"y","\u{1D466}":"y","\u{1D49A}":"y","\u{1D4CE}":"y","\u{1D502}":"y","\u{1D536}":"y","\u{1D56A}":"y","\u{1D59E}":"y","\u{1D5D2}":"y","\u{1D606}":"y","\u{1D63A}":"y","\u{1D66E}":"y","\u{1D6A2}":"y",\u028F:"y","\u1EFF":"y","\uAB5A":"y",\u03B3:"y","\u213D":"y","\u{1D6C4}":"y","\u{1D6FE}":"y","\u{1D738}":"y","\u{1D772}":"y","\u{1D7AC}":"y",\u0443:"y",\u04AF:"y",\u10E7:"y","\u{118DC}":"y",\uFF39:"Y","\u{1D418}":"Y","\u{1D44C}":"Y","\u{1D480}":"Y","\u{1D4B4}":"Y","\u{1D4E8}":"Y","\u{1D51C}":"Y","\u{1D550}":"Y","\u{1D584}":"Y","\u{1D5B8}":"Y","\u{1D5EC}":"Y","\u{1D620}":"Y","\u{1D654}":"Y","\u{1D688}":"Y",\u03A5:"Y",\u03D2:"Y","\u{1D6BC}":"Y","\u{1D6F6}":"Y","\u{1D730}":"Y","\u{1D76A}":"Y","\u{1D7A4}":"Y","\u2CA8":"Y",\u0423:"Y",\u04AE:"Y",\u13A9:"Y",\u13BD:"Y","\uA4EC":"Y","\u{16F43}":"Y","\u{118A4}":"Y","\u{102B2}":"Y",\u01B4:"y\u0314","\u024F":"y\u0335",\u04B1:"y\u0335","\xA5":"Y\u0335","\u024E":"Y\u0335",\u04B0:"Y\u0335",\u0292:"\u021D","\uA76B":"\u021D","\u2CCD":"\u021D",\u04E1:"\u021D",\u10F3:"\u021D","\u{1D433}":"z","\u{1D467}":"z","\u{1D49B}":"z","\u{1D4CF}":"z","\u{1D503}":"z","\u{1D537}":"z","\u{1D56B}":"z","\u{1D59F}":"z","\u{1D5D3}":"z","\u{1D607}":"z","\u{1D63B}":"z","\u{1D66F}":"z","\u{1D6A3}":"z","\u1D22":"z","\uAB93":"z","\u{118C4}":"z","\u{102F5}":"Z","\u{118E5}":"Z",\uFF3A:"Z",\u2124:"Z",\u2128:"Z","\u{1D419}":"Z","\u{1D44D}":"Z","\u{1D481}":"Z","\u{1D4B5}":"Z","\u{1D4E9}":"Z","\u{1D585}":"Z","\u{1D5B9}":"Z","\u{1D5ED}":"Z","\u{1D621}":"Z","\u{1D655}":"Z","\u{1D689}":"Z",\u0396:"Z","\u{1D6AD}":"Z","\u{1D6E7}":"Z","\u{1D721}":"Z","\u{1D75B}":"Z","\u{1D795}":"Z",\u13C3:"Z","\uA4DC":"Z","\u{118A9}":"Z",\u0290:"z\u0328",\u01B6:"z\u0335",\u01B5:"Z\u0335",\u0225:"z\u0326",\u0224:"Z\u0326","\u1D76":"z\u0334",\u01BF:"\xFE","\u03F8":"\xFE","\u03F7":"\xDE","\u{104C4}":"\xDE","\u2079":"\uA770","\u1D24":"\u01A8",\u03E9:"\u01A8","\uA645":"\u01A8",\u044C:"\u0185","\uAB9F":"\u0185",\u044B:"\u0185i","\uAB7E":"\u0242",\u02E4:"\u02C1","\uA6CD":"\u02A1","\u2299":"\u0298","\u2609":"\u0298","\u2A00":"\u0298","\uA668":"\u0298","\u2D59":"\u0298","\u{104C3}":"\u0298","\u213E":"\u0393","\u{1D6AA}":"\u0393","\u{1D6E4}":"\u0393","\u{1D71E}":"\u0393","\u{1D758}":"\u0393","\u{1D792}":"\u0393","\u2C84":"\u0393",\u0413:"\u0393",\u13B1:"\u0393",\u14A5:"\u0393","\u{16F07}":"\u0393",\u0492:"\u0393\u0335",\u14AF:"\u0393\xB7",\u0490:"\u0393'","\u2206":"\u0394","\u25B3":"\u0394","\u{1F702}":"\u0394","\u{1D6AB}":"\u0394","\u{1D6E5}":"\u0394","\u{1D71F}":"\u0394","\u{1D759}":"\u0394","\u{1D793}":"\u0394","\u2C86":"\u0394","\u2D60":"\u0394",\u1403:"\u0394","\u{16F1A}":"\u0394","\u{10285}":"\u0394","\u{102A3}":"\u0394","\u2359":"\u0394\u0332",\u140F:"\u0394\xB7",\u142C:"\u0394\u1420","\u{1D7CB}":"\u03DD","\u{1D6C7}":"\u03B6","\u{1D701}":"\u03B6","\u{1D73B}":"\u03B6","\u{1D775}":"\u03B6","\u{1D7AF}":"\u03B6","\u2CE4":"\u03D7","\u{1D6CC}":"\u03BB","\u{1D706}":"\u03BB","\u{1D740}":"\u03BB","\u{1D77A}":"\u03BB","\u{1D7B4}":"\u03BB","\u2C96":"\u03BB","\u{104DB}":"\u03BB",\u00B5:"\u03BC","\u{1D6CD}":"\u03BC","\u{1D707}":"\u03BC","\u{1D741}":"\u03BC","\u{1D77B}":"\u03BC","\u{1D7B5}":"\u03BC","\u{1D6CF}":"\u03BE","\u{1D709}":"\u03BE","\u{1D743}":"\u03BE","\u{1D77D}":"\u03BE","\u{1D7B7}":"\u03BE","\u{1D6B5}":"\u039E","\u{1D6EF}":"\u039E","\u{1D729}":"\u039E","\u{1D763}":"\u039E","\u{1D79D}":"\u039E",\u03D6:"\u03C0","\u213C":"\u03C0","\u{1D6D1}":"\u03C0","\u{1D6E1}":"\u03C0","\u{1D70B}":"\u03C0","\u{1D71B}":"\u03C0","\u{1D745}":"\u03C0","\u{1D755}":"\u03C0","\u{1D77F}":"\u03C0","\u{1D78F}":"\u03C0","\u{1D7B9}":"\u03C0","\u{1D7C9}":"\u03C0","\u1D28":"\u03C0",\u043F:"\u03C0","\u220F":"\u03A0","\u213F":"\u03A0","\u{1D6B7}":"\u03A0","\u{1D6F1}":"\u03A0","\u{1D72B}":"\u03A0","\u{1D765}":"\u03A0","\u{1D79F}":"\u03A0","\u2CA0":"\u03A0",\u041F:"\u03A0","\uA6DB":"\u03A0","\u{102AD}":"\u03D8","\u{10312}":"\u03D8",\u03DB:"\u03C2","\u{1D6D3}":"\u03C2","\u{1D70D}":"\u03C2","\u{1D747}":"\u03C2","\u{1D781}":"\u03C2","\u{1D7BB}":"\u03C2","\u{1D6BD}":"\u03A6","\u{1D6F7}":"\u03A6","\u{1D731}":"\u03A6","\u{1D76B}":"\u03A6","\u{1D7A5}":"\u03A6","\u2CAA":"\u03A6",\u0424:"\u03A6",\u0553:"\u03A6",\u1240:"\u03A6","\u16F0":"\u03A6","\u{102B3}":"\u03A6","\uAB53":"\u03C7","\uAB55":"\u03C7","\u{1D6D8}":"\u03C7","\u{1D712}":"\u03C7","\u{1D74C}":"\u03C7","\u{1D786}":"\u03C7","\u{1D7C0}":"\u03C7","\u2CAD":"\u03C7","\u{1D6D9}":"\u03C8","\u{1D713}":"\u03C8","\u{1D74D}":"\u03C8","\u{1D787}":"\u03C8","\u{1D7C1}":"\u03C8",\u0471:"\u03C8","\u{104F9}":"\u03C8","\u{1D6BF}":"\u03A8","\u{1D6F9}":"\u03A8","\u{1D733}":"\u03A8","\u{1D76D}":"\u03A8","\u{1D7A7}":"\u03A8","\u2CAE":"\u03A8",\u0470:"\u03A8","\u{104D1}":"\u03A8",\u16D8:"\u03A8","\u{102B5}":"\u03A8","\u2375":"\u03C9","\uA7B7":"\u03C9","\u{1D6DA}":"\u03C9","\u{1D714}":"\u03C9","\u{1D74E}":"\u03C9","\u{1D788}":"\u03C9","\u{1D7C2}":"\u03C9","\u2CB1":"\u03C9","\uA64D":"\u03C9",\u2126:"\u03A9","\u{1D6C0}":"\u03A9","\u{1D6FA}":"\u03A9","\u{1D734}":"\u03A9","\u{1D76E}":"\u03A9","\u{1D7A8}":"\u03A9",\u162F:"\u03A9",\u1635:"\u03A9","\u{102B6}":"\u03A9","\u2379":"\u03C9\u0332",\u1F7D:"\u1FF4","\u2630":"\u2CB6","\u2CDC":"\u03EC",\u0497:"\u0436\u0329",\u0496:"\u0416\u0329","\u{1D20B}":"\u0418","\u0376":"\u0418","\uA6A1":"\u0418","\u{10425}":"\u0418",\u0419:"\u040D","\u048A":"\u040D\u0326",\u045D:"\u0439","\u048B":"\u0439\u0326","\u{104BC}":"\u04C3","\u1D2B":"\u043B","\u04C6":"\u043B\u0326","\uAB60":"\u0459","\u{104EB}":"\uA669","\u1DEE":"\u2DEC","\u{104CD}":"\u040B","\u{1D202}":"\u04FE","\u{1D222}":"\u0460",\u13C7:"\u0460",\u15EF:"\u0460",\u047C:"\u0460\u0486\u0487","\u18ED":"\u0460\xB7","\uA7B6":"\uA64C",\u04CC:"\u04B7",\u04CB:"\u04B6",\u04BE:"\u04BC\u0328","\u2CBD":"\u0448","\u2CBC":"\u0428","\uA650":"\u042Al","\u2108":"\u042D","\u{1F701}":"\uA658","\u{16F1C}":"\uA658","\uA992":"\u2C3F",\u0587:"\u0565\u0582",\u1294:"\u0571",\uFB14:"\u0574\u0565",\uFB15:"\u0574\u056B",\uFB17:"\u0574\u056D",\uFB13:"\u0574\u0576","\u2229":"\u0548","\u22C2":"\u0548","\u{1D245}":"\u0548",\u1260:"\u0548",\u144E:"\u0548","\uA4F5":"\u0548",\u145A:"\u0548\xB7",\u1468:"\u0548'",\uFB16:"\u057E\u0576","\u20BD":"\u0554","\u02D3":"\u0559",\u02BF:"\u0559",\u2135:"\u05D0",\uFB21:"\u05D0",\uFB2F:"\uFB2E",\uFB30:"\uFB2E",\uFB4F:"\u05D0\u05DC",\u2136:"\u05D1",\u2137:"\u05D2",\u2138:"\u05D3",\uFB22:"\u05D3",\uFB23:"\u05D4",\uFB39:"\uFB1D",\uFB24:"\u05DB",\uFB25:"\u05DC",\uFB26:"\u05DD",\uFB20:"\u05E2",\uFB27:"\u05E8",\uFB2B:"\uFB2A",\uFB49:"\uFB2A",\uFB2D:"\uFB2C",\uFB28:"\u05EA",\uFE80:"\u0621","\u06FD":"\u0621\u0348",\uFE82:"\u0622",\uFE81:"\u0622",\uFB51:"\u0671",\uFB50:"\u0671","\u{1EE01}":"\u0628","\u{1EE21}":"\u0628","\u{1EE61}":"\u0628","\u{1EE81}":"\u0628","\u{1EEA1}":"\u0628",\uFE91:"\u0628",\uFE92:"\u0628",\uFE90:"\u0628",\uFE8F:"\u0628","\u0751":"\u0628\u06DB","\u08B6":"\u0628\u06E2","\u08A1":"\u0628\u0654",\uFCA0:"\u0628o",\uFCE2:"\u0628o",\uFC9C:"\u0628\u062C",\uFC05:"\u0628\u062C",\uFC9D:"\u0628\u062D",\uFC06:"\u0628\u062D",\uFDC2:"\u0628\u062D\u0649",\uFC9E:"\u0628\u062E",\uFC07:"\u0628\u062E",\uFCD2:"\u0628\u062E",\uFC4B:"\u0628\u062E",\uFD9E:"\u0628\u062E\u0649",\uFC6A:"\u0628\u0631",\uFC6B:"\u0628\u0632",\uFC9F:"\u0628\u0645",\uFCE1:"\u0628\u0645",\uFC6C:"\u0628\u0645",\uFC08:"\u0628\u0645",\uFC6D:"\u0628\u0646",\uFC6E:"\u0628\u0649",\uFC09:"\u0628\u0649",\uFC6F:"\u0628\u0649",\uFC0A:"\u0628\u0649",\uFB54:"\u067B",\uFB55:"\u067B",\uFB53:"\u067B",\uFB52:"\u067B",\u06D0:"\u067B",\uFBE6:"\u067B",\uFBE7:"\u067B",\uFBE5:"\u067B",\uFBE4:"\u067B",\uFB5C:"\u0680",\uFB5D:"\u0680",\uFB5B:"\u0680",\uFB5A:"\u0680","\u08A9":"\u0754","\u0767":"\u0754","\u2365":"\u0629",\u00F6:"\u0629",\uFE94:"\u0629",\uFE93:"\u0629",\u06C3:"\u0629","\u{1EE15}":"\u062A","\u{1EE35}":"\u062A","\u{1EE75}":"\u062A","\u{1EE95}":"\u062A","\u{1EEB5}":"\u062A",\uFE97:"\u062A",\uFE98:"\u062A",\uFE96:"\u062A",\uFE95:"\u062A",\uFCA5:"\u062Ao",\uFCE4:"\u062Ao",\uFCA1:"\u062A\u062C",\uFC0B:"\u062A\u062C",\uFD50:"\u062A\u062C\u0645",\uFDA0:"\u062A\u062C\u0649",\uFD9F:"\u062A\u062C\u0649",\uFCA2:"\u062A\u062D",\uFC0C:"\u062A\u062D",\uFD52:"\u062A\u062D\u062C",\uFD51:"\u062A\u062D\u062C",\uFD53:"\u062A\u062D\u0645",\uFCA3:"\u062A\u062E",\uFC0D:"\u062A\u062E",\uFD54:"\u062A\u062E\u0645",\uFDA2:"\u062A\u062E\u0649",\uFDA1:"\u062A\u062E\u0649",\uFC70:"\u062A\u0631",\uFC71:"\u062A\u0632",\uFCA4:"\u062A\u0645",\uFCE3:"\u062A\u0645",\uFC72:"\u062A\u0645",\uFC0E:"\u062A\u0645",\uFD55:"\u062A\u0645\u062C",\uFD56:"\u062A\u0645\u062D",\uFD57:"\u062A\u0645\u062E",\uFDA4:"\u062A\u0645\u0649",\uFDA3:"\u062A\u0645\u0649",\uFC73:"\u062A\u0646",\uFC74:"\u062A\u0649",\uFC0F:"\u062A\u0649",\uFC75:"\u062A\u0649",\uFC10:"\u062A\u0649",\uFB60:"\u067A",\uFB61:"\u067A",\uFB5F:"\u067A",\uFB5E:"\u067A",\uFB64:"\u067F",\uFB65:"\u067F",\uFB63:"\u067F",\uFB62:"\u067F","\u{1EE02}":"\u062C","\u{1EE22}":"\u062C","\u{1EE42}":"\u062C","\u{1EE62}":"\u062C","\u{1EE82}":"\u062C","\u{1EEA2}":"\u062C",\uFE9F:"\u062C",\uFEA0:"\u062C",\uFE9E:"\u062C",\uFE9D:"\u062C",\uFCA7:"\u062C\u062D",\uFC15:"\u062C\u062D",\uFDA6:"\u062C\u062D\u0649",\uFDBE:"\u062C\u062D\u0649",\uFDFB:"\u062C\u0644 \u062C\u0644l\u0644o",\uFCA8:"\u062C\u0645",\uFC16:"\u062C\u0645",\uFD59:"\u062C\u0645\u062D",\uFD58:"\u062C\u0645\u062D",\uFDA7:"\u062C\u0645\u0649",\uFDA5:"\u062C\u0645\u0649",\uFD1D:"\u062C\u0649",\uFD01:"\u062C\u0649",\uFD1E:"\u062C\u0649",\uFD02:"\u062C\u0649",\uFB78:"\u0683",\uFB79:"\u0683",\uFB77:"\u0683",\uFB76:"\u0683",\uFB74:"\u0684",\uFB75:"\u0684",\uFB73:"\u0684",\uFB72:"\u0684",\uFB7C:"\u0686",\uFB7D:"\u0686",\uFB7B:"\u0686",\uFB7A:"\u0686",\uFB80:"\u0687",\uFB81:"\u0687",\uFB7F:"\u0687",\uFB7E:"\u0687","\u{1EE07}":"\u062D","\u{1EE27}":"\u062D","\u{1EE47}":"\u062D","\u{1EE67}":"\u062D","\u{1EE87}":"\u062D","\u{1EEA7}":"\u062D",\uFEA3:"\u062D",\uFEA4:"\u062D",\uFEA2:"\u062D",\uFEA1:"\u062D",\u0685:"\u062D\u06DB",\u0681:"\u062D\u0654","\u0772":"\u062D\u0654",\uFCA9:"\u062D\u062C",\uFC17:"\u062D\u062C",\uFDBF:"\u062D\u062C\u0649",\uFCAA:"\u062D\u0645",\uFC18:"\u062D\u0645",\uFD5B:"\u062D\u0645\u0649",\uFD5A:"\u062D\u0645\u0649",\uFD1B:"\u062D\u0649",\uFCFF:"\u062D\u0649",\uFD1C:"\u062D\u0649",\uFD00:"\u062D\u0649","\u{1EE17}":"\u062E","\u{1EE37}":"\u062E","\u{1EE57}":"\u062E","\u{1EE77}":"\u062E","\u{1EE97}":"\u062E","\u{1EEB7}":"\u062E",\uFEA7:"\u062E",\uFEA8:"\u062E",\uFEA6:"\u062E",\uFEA5:"\u062E",\uFCAB:"\u062E\u062C",\uFC19:"\u062E\u062C",\uFC1A:"\u062E\u062D",\uFCAC:"\u062E\u0645",\uFC1B:"\u062E\u0645",\uFD1F:"\u062E\u0649",\uFD03:"\u062E\u0649",\uFD20:"\u062E\u0649",\uFD04:"\u062E\u0649","\u{102E1}":"\u062F","\u{1EE03}":"\u062F","\u{1EE83}":"\u062F","\u{1EEA3}":"\u062F",\uFEAA:"\u062F",\uFEA9:"\u062F",\u0688:"\u062F\u0615",\uFB89:"\u062F\u0615",\uFB88:"\u062F\u0615",\u068E:"\u062F\u06DB",\uFB87:"\u062F\u06DB",\uFB86:"\u062F\u06DB","\u06EE":"\u062F\u0302","\u08AE":"\u062F\u0324\u0323","\u{1EE18}":"\u0630","\u{1EE98}":"\u0630","\u{1EEB8}":"\u0630",\uFEAC:"\u0630",\uFEAB:"\u0630",\uFC5B:"\u0630\u0670",\u068B:"\u068A\u0615",\uFB85:"\u068C",\uFB84:"\u068C",\uFB83:"\u068D",\uFB82:"\u068D","\u{1EE13}":"\u0631","\u{1EE93}":"\u0631","\u{1EEB3}":"\u0631",\uFEAE:"\u0631",\uFEAD:"\u0631",\u0691:"\u0631\u0615",\uFB8D:"\u0631\u0615",\uFB8C:"\u0631\u0615",\u0698:"\u0631\u06DB",\uFB8B:"\u0631\u06DB",\uFB8A:"\u0631\u06DB",\u0692:"\u0631\u0306","\u08B9":"\u0631\u0306\u0307","\u06EF":"\u0631\u0302","\u076C":"\u0631\u0654",\uFC5C:"\u0631\u0670",\uFDF6:"\u0631\u0633\u0648\u0644","\uFDFC":"\u0631\u0649l\u0644","\u{1EE06}":"\u0632","\u{1EE86}":"\u0632","\u{1EEA6}":"\u0632",\uFEB0:"\u0632",\uFEAF:"\u0632","\u08B2":"\u0632\u0302","\u0771":"\u0697\u0615","\u{1EE0E}":"\u0633","\u{1EE2E}":"\u0633","\u{1EE4E}":"\u0633","\u{1EE6E}":"\u0633","\u{1EE8E}":"\u0633","\u{1EEAE}":"\u0633",\uFEB3:"\u0633",\uFEB4:"\u0633",\uFEB2:"\u0633",\uFEB1:"\u0633",\u0634:"\u0633\u06DB","\u{1EE14}":"\u0633\u06DB","\u{1EE34}":"\u0633\u06DB","\u{1EE54}":"\u0633\u06DB","\u{1EE74}":"\u0633\u06DB","\u{1EE94}":"\u0633\u06DB","\u{1EEB4}":"\u0633\u06DB",\uFEB7:"\u0633\u06DB",\uFEB8:"\u0633\u06DB",\uFEB6:"\u0633\u06DB",\uFEB5:"\u0633\u06DB","\u077E":"\u0633\u0302",\uFD31:"\u0633o",\uFCE8:"\u0633o",\uFD32:"\u0633\u06DBo",\uFCEA:"\u0633\u06DBo",\uFCAD:"\u0633\u062C",\uFD34:"\u0633\u062C",\uFC1C:"\u0633\u062C",\uFD2D:"\u0633\u06DB\u062C",\uFD37:"\u0633\u06DB\u062C",\uFD25:"\u0633\u06DB\u062C",\uFD09:"\u0633\u06DB\u062C",\uFD5D:"\u0633\u062C\u062D",\uFD5E:"\u0633\u062C\u0649",\uFD69:"\u0633\u06DB\u062C\u0649",\uFCAE:"\u0633\u062D",\uFD35:"\u0633\u062D",\uFC1D:"\u0633\u062D",\uFD2E:"\u0633\u06DB\u062D",\uFD38:"\u0633\u06DB\u062D",\uFD26:"\u0633\u06DB\u062D",\uFD0A:"\u0633\u06DB\u062D",\uFD5C:"\u0633\u062D\u062C",\uFD68:"\u0633\u06DB\u062D\u0645",\uFD67:"\u0633\u06DB\u062D\u0645",\uFDAA:"\u0633\u06DB\u062D\u0649",\uFCAF:"\u0633\u062E",\uFD36:"\u0633\u062E",\uFC1E:"\u0633\u062E",\uFD2F:"\u0633\u06DB\u062E",\uFD39:"\u0633\u06DB\u062E",\uFD27:"\u0633\u06DB\u062E",\uFD0B:"\u0633\u06DB\u062E",\uFDA8:"\u0633\u062E\u0649",\uFDC6:"\u0633\u062E\u0649",\uFD2A:"\u0633\u0631",\uFD0E:"\u0633\u0631",\uFD29:"\u0633\u06DB\u0631",\uFD0D:"\u0633\u06DB\u0631",\uFCB0:"\u0633\u0645",\uFCE7:"\u0633\u0645",\uFC1F:"\u0633\u0645",\uFD30:"\u0633\u06DB\u0645",\uFCE9:"\u0633\u06DB\u0645",\uFD28:"\u0633\u06DB\u0645",\uFD0C:"\u0633\u06DB\u0645",\uFD61:"\u0633\u0645\u062C",\uFD60:"\u0633\u0645\u062D",\uFD5F:"\u0633\u0645\u062D",\uFD6B:"\u0633\u06DB\u0645\u062E",\uFD6A:"\u0633\u06DB\u0645\u062E",\uFD63:"\u0633\u0645\u0645",\uFD62:"\u0633\u0645\u0645",\uFD6D:"\u0633\u06DB\u0645\u0645",\uFD6C:"\u0633\u06DB\u0645\u0645",\uFD17:"\u0633\u0649",\uFCFB:"\u0633\u0649",\uFD18:"\u0633\u0649",\uFCFC:"\u0633\u0649",\uFD19:"\u0633\u06DB\u0649",\uFCFD:"\u0633\u06DB\u0649",\uFD1A:"\u0633\u06DB\u0649",\uFCFE:"\u0633\u06DB\u0649","\u{102F2}":"\u0635","\u{1EE11}":"\u0635","\u{1EE31}":"\u0635","\u{1EE51}":"\u0635","\u{1EE71}":"\u0635","\u{1EE91}":"\u0635","\u{1EEB1}":"\u0635",\uFEBB:"\u0635",\uFEBC:"\u0635",\uFEBA:"\u0635",\uFEB9:"\u0635",\u069E:"\u0635\u06DB","\u08AF":"\u0635\u0324\u0323",\uFCB1:"\u0635\u062D",\uFC20:"\u0635\u062D",\uFD65:"\u0635\u062D\u062D",\uFD64:"\u0635\u062D\u062D",\uFDA9:"\u0635\u062D\u0649",\uFCB2:"\u0635\u062E",\uFD2B:"\u0635\u0631",\uFD0F:"\u0635\u0631",\uFDF5:"\u0635\u0644\u0639\u0645",\uFDF9:"\u0635\u0644\u0649",\uFDF0:"\u0635\u0644\u0649",\uFDFA:"\u0635\u0644\u0649 l\u0644\u0644o \u0639\u0644\u0649o \u0648\u0633\u0644\u0645",\uFCB3:"\u0635\u0645",\uFC21:"\u0635\u0645",\uFDC5:"\u0635\u0645\u0645",\uFD66:"\u0635\u0645\u0645",\uFD21:"\u0635\u0649",\uFD05:"\u0635\u0649",\uFD22:"\u0635\u0649",\uFD06:"\u0635\u0649","\u{1EE19}":"\u0636","\u{1EE39}":"\u0636","\u{1EE59}":"\u0636","\u{1EE79}":"\u0636","\u{1EE99}":"\u0636","\u{1EEB9}":"\u0636",\uFEBF:"\u0636",\uFEC0:"\u0636",\uFEBE:"\u0636",\uFEBD:"\u0636",\uFCB4:"\u0636\u062C",\uFC22:"\u0636\u062C",\uFCB5:"\u0636\u062D",\uFC23:"\u0636\u062D",\uFD6E:"\u0636\u062D\u0649",\uFDAB:"\u0636\u062D\u0649",\uFCB6:"\u0636\u062E",\uFC24:"\u0636\u062E",\uFD70:"\u0636\u062E\u0645",\uFD6F:"\u0636\u062E\u0645",\uFD2C:"\u0636\u0631",\uFD10:"\u0636\u0631",\uFCB7:"\u0636\u0645",\uFC25:"\u0636\u0645",\uFD23:"\u0636\u0649",\uFD07:"\u0636\u0649",\uFD24:"\u0636\u0649",\uFD08:"\u0636\u0649","\u{102E8}":"\u0637","\u{1EE08}":"\u0637","\u{1EE68}":"\u0637","\u{1EE88}":"\u0637","\u{1EEA8}":"\u0637",\uFEC3:"\u0637",\uFEC4:"\u0637",\uFEC2:"\u0637",\uFEC1:"\u0637",\u069F:"\u0637\u06DB",\uFCB8:"\u0637\u062D",\uFC26:"\u0637\u062D",\uFD33:"\u0637\u0645",\uFD3A:"\u0637\u0645",\uFC27:"\u0637\u0645",\uFD72:"\u0637\u0645\u062D",\uFD71:"\u0637\u0645\u062D",\uFD73:"\u0637\u0645\u0645",\uFD74:"\u0637\u0645\u0649",\uFD11:"\u0637\u0649",\uFCF5:"\u0637\u0649",\uFD12:"\u0637\u0649",\uFCF6:"\u0637\u0649","\u{1EE1A}":"\u0638","\u{1EE7A}":"\u0638","\u{1EE9A}":"\u0638","\u{1EEBA}":"\u0638",\uFEC7:"\u0638",\uFEC8:"\u0638",\uFEC6:"\u0638",\uFEC5:"\u0638",\uFCB9:"\u0638\u0645",\uFD3B:"\u0638\u0645",\uFC28:"\u0638\u0645","\u060F":"\u0639","\u{1EE0F}":"\u0639","\u{1EE2F}":"\u0639","\u{1EE4F}":"\u0639","\u{1EE6F}":"\u0639","\u{1EE8F}":"\u0639","\u{1EEAF}":"\u0639",\uFECB:"\u0639",\uFECC:"\u0639",\uFECA:"\u0639",\uFEC9:"\u0639",\uFCBA:"\u0639\u062C",\uFC29:"\u0639\u062C",\uFDC4:"\u0639\u062C\u0645",\uFD75:"\u0639\u062C\u0645",\uFDF7:"\u0639\u0644\u0649o",\uFCBB:"\u0639\u0645",\uFC2A:"\u0639\u0645",\uFD77:"\u0639\u0645\u0645",\uFD76:"\u0639\u0645\u0645",\uFD78:"\u0639\u0645\u0649",\uFDB6:"\u0639\u0645\u0649",\uFD13:"\u0639\u0649",\uFCF7:"\u0639\u0649",\uFD14:"\u0639\u0649",\uFCF8:"\u0639\u0649","\u{1EE1B}":"\u063A","\u{1EE3B}":"\u063A","\u{1EE5B}":"\u063A","\u{1EE7B}":"\u063A","\u{1EE9B}":"\u063A","\u{1EEBB}":"\u063A",\uFECF:"\u063A",\uFED0:"\u063A",\uFECE:"\u063A",\uFECD:"\u063A",\uFCBC:"\u063A\u062C",\uFC2B:"\u063A\u062C",\uFCBD:"\u063A\u0645",\uFC2C:"\u063A\u0645",\uFD79:"\u063A\u0645\u0645",\uFD7B:"\u063A\u0645\u0649",\uFD7A:"\u063A\u0645\u0649",\uFD15:"\u063A\u0649",\uFCF9:"\u063A\u0649",\uFD16:"\u063A\u0649",\uFCFA:"\u063A\u0649","\u{1EE10}":"\u0641","\u{1EE30}":"\u0641","\u{1EE70}":"\u0641","\u{1EE90}":"\u0641","\u{1EEB0}":"\u0641",\uFED3:"\u0641",\uFED4:"\u0641",\uFED2:"\u0641",\uFED1:"\u0641",\u06A7:"\u0641",\uFCBE:"\u0641\u062C",\uFC2D:"\u0641\u062C",\uFCBF:"\u0641\u062D",\uFC2E:"\u0641\u062D",\uFCC0:"\u0641\u062E",\uFC2F:"\u0641\u062E",\uFD7D:"\u0641\u062E\u0645",\uFD7C:"\u0641\u062E\u0645",\uFCC1:"\u0641\u0645",\uFC30:"\u0641\u0645",\uFDC1:"\u0641\u0645\u0649",\uFC7C:"\u0641\u0649",\uFC31:"\u0641\u0649",\uFC7D:"\u0641\u0649",\uFC32:"\u0641\u0649","\u{1EE1E}":"\u06A1","\u{1EE7E}":"\u06A1","\u08BB":"\u06A1","\u066F":"\u06A1","\u{1EE1F}":"\u06A1","\u{1EE5F}":"\u06A1","\u08BC":"\u06A1",\u06A4:"\u06A1\u06DB",\uFB6C:"\u06A1\u06DB",\uFB6D:"\u06A1\u06DB",\uFB6B:"\u06A1\u06DB",\uFB6A:"\u06A1\u06DB",\u06A8:"\u06A1\u06DB","\u08A4":"\u06A2\u06DB",\uFB70:"\u06A6",\uFB71:"\u06A6",\uFB6F:"\u06A6",\uFB6E:"\u06A6","\u{1EE12}":"\u0642","\u{1EE32}":"\u0642","\u{1EE52}":"\u0642","\u{1EE72}":"\u0642","\u{1EE92}":"\u0642","\u{1EEB2}":"\u0642",\uFED7:"\u0642",\uFED8:"\u0642",\uFED6:"\u0642",\uFED5:"\u0642",\uFCC2:"\u0642\u062D",\uFC33:"\u0642\u062D",\uFDF1:"\u0642\u0644\u0649",\uFCC3:"\u0642\u0645",\uFC34:"\u0642\u0645",\uFDB4:"\u0642\u0645\u062D",\uFD7E:"\u0642\u0645\u062D",\uFD7F:"\u0642\u0645\u0645",\uFDB2:"\u0642\u0645\u0649",\uFC7E:"\u0642\u0649",\uFC35:"\u0642\u0649",\uFC7F:"\u0642\u0649",\uFC36:"\u0642\u0649","\u{1EE0A}":"\u0643","\u{1EE2A}":"\u0643","\u{1EE6A}":"\u0643",\uFEDB:"\u0643",\uFEDC:"\u0643",\uFEDA:"\u0643",\uFED9:"\u0643",\u06A9:"\u0643",\uFB90:"\u0643",\uFB91:"\u0643",\uFB8F:"\u0643",\uFB8E:"\u0643",\u06AA:"\u0643",\u06AD:"\u0643\u06DB",\uFBD5:"\u0643\u06DB",\uFBD6:"\u0643\u06DB",\uFBD4:"\u0643\u06DB",\uFBD3:"\u0643\u06DB","\u0763":"\u0643\u06DB",\uFC80:"\u0643l",\uFC37:"\u0643l",\uFCC4:"\u0643\u062C",\uFC38:"\u0643\u062C",\uFCC5:"\u0643\u062D",\uFC39:"\u0643\u062D",\uFCC6:"\u0643\u062E",\uFC3A:"\u0643\u062E",\uFCC7:"\u0643\u0644",\uFCEB:"\u0643\u0644",\uFC81:"\u0643\u0644",\uFC3B:"\u0643\u0644",\uFCC8:"\u0643\u0645",\uFCEC:"\u0643\u0645",\uFC82:"\u0643\u0645",\uFC3C:"\u0643\u0645",\uFDC3:"\u0643\u0645\u0645",\uFDBB:"\u0643\u0645\u0645",\uFDB7:"\u0643\u0645\u0649",\uFC83:"\u0643\u0649",\uFC3D:"\u0643\u0649",\uFC84:"\u0643\u0649",\uFC3E:"\u0643\u0649","\u0762":"\u06AC",\uFB94:"\u06AF",\uFB95:"\u06AF",\uFB93:"\u06AF",\uFB92:"\u06AF","\u08B0":"\u06AF",\u06B4:"\u06AF\u06DB",\uFB9C:"\u06B1",\uFB9D:"\u06B1",\uFB9B:"\u06B1",\uFB9A:"\u06B1",\uFB98:"\u06B3",\uFB99:"\u06B3",\uFB97:"\u06B3",\uFB96:"\u06B3","\u{1EE0B}":"\u0644","\u{1EE2B}":"\u0644","\u{1EE4B}":"\u0644","\u{1EE8B}":"\u0644","\u{1EEAB}":"\u0644",\uFEDF:"\u0644",\uFEE0:"\u0644",\uFEDE:"\u0644",\uFEDD:"\u0644",\u06B7:"\u0644\u06DB",\u06B5:"\u0644\u0306",\uFEFC:"\u0644l",\uFEFB:"\u0644l",\uFEFA:"\u0644l\u0655",\uFEF9:"\u0644l\u0655",\uFEF8:"\u0644l\u0674",\uFEF7:"\u0644l\u0674",\uFCCD:"\u0644o",\uFEF6:"\u0644\u0622",\uFEF5:"\u0644\u0622",\uFCC9:"\u0644\u062C",\uFC3F:"\u0644\u062C",\uFD83:"\u0644\u062C\u062C",\uFD84:"\u0644\u062C\u062C",\uFDBA:"\u0644\u062C\u0645",\uFDBC:"\u0644\u062C\u0645",\uFDAC:"\u0644\u062C\u0649",\uFCCA:"\u0644\u062D",\uFC40:"\u0644\u062D",\uFDB5:"\u0644\u062D\u0645",\uFD80:"\u0644\u062D\u0645",\uFD82:"\u0644\u062D\u0649",\uFD81:"\u0644\u062D\u0649",\uFCCB:"\u0644\u062E",\uFC41:"\u0644\u062E",\uFD86:"\u0644\u062E\u0645",\uFD85:"\u0644\u062E\u0645",\uFCCC:"\u0644\u0645",\uFCED:"\u0644\u0645",\uFC85:"\u0644\u0645",\uFC42:"\u0644\u0645",\uFD88:"\u0644\u0645\u062D",\uFD87:"\u0644\u0645\u062D",\uFDAD:"\u0644\u0645\u0649",\uFC86:"\u0644\u0649",\uFC43:"\u0644\u0649",\uFC87:"\u0644\u0649",\uFC44:"\u0644\u0649","\u{1EE0C}":"\u0645","\u{1EE2C}":"\u0645","\u{1EE6C}":"\u0645","\u{1EE8C}":"\u0645","\u{1EEAC}":"\u0645",\uFEE3:"\u0645",\uFEE4:"\u0645",\uFEE2:"\u0645",\uFEE1:"\u0645","\u08A7":"\u0645\u06DB","\u06FE":"\u0645\u0348",\uFC88:"\u0645l",\uFCCE:"\u0645\u062C",\uFC45:"\u0645\u062C",\uFD8C:"\u0645\u062C\u062D",\uFD92:"\u0645\u062C\u062E",\uFD8D:"\u0645\u062C\u0645",\uFDC0:"\u0645\u062C\u0649",\uFCCF:"\u0645\u062D",\uFC46:"\u0645\u062D",\uFD89:"\u0645\u062D\u062C",\uFD8A:"\u0645\u062D\u0645",\uFDF4:"\u0645\u062D\u0645\u062F",\uFD8B:"\u0645\u062D\u0649",\uFCD0:"\u0645\u062E",\uFC47:"\u0645\u062E",\uFD8E:"\u0645\u062E\u062C",\uFD8F:"\u0645\u062E\u0645",\uFDB9:"\u0645\u062E\u0649",\uFCD1:"\u0645\u0645",\uFC89:"\u0645\u0645",\uFC48:"\u0645\u0645",\uFDB1:"\u0645\u0645\u0649",\uFC49:"\u0645\u0649",\uFC4A:"\u0645\u0649","\u{1EE0D}":"\u0646","\u{1EE2D}":"\u0646","\u{1EE4D}":"\u0646","\u{1EE6D}":"\u0646","\u{1EE8D}":"\u0646","\u{1EEAD}":"\u0646",\uFEE7:"\u0646",\uFEE8:"\u0646",\uFEE6:"\u0646",\uFEE5:"\u0646","\u0768":"\u0646\u0615","\u0769":"\u0646\u0306",\uFCD6:"\u0646o",\uFCEF:"\u0646o",\uFDB8:"\u0646\u062C\u062D",\uFDBD:"\u0646\u062C\u062D",\uFD98:"\u0646\u062C\u0645",\uFD97:"\u0646\u062C\u0645",\uFD99:"\u0646\u062C\u0649",\uFDC7:"\u0646\u062C\u0649",\uFCD3:"\u0646\u062D",\uFC4C:"\u0646\u062D",\uFD95:"\u0646\u062D\u0645",\uFD96:"\u0646\u062D\u0649",\uFDB3:"\u0646\u062D\u0649",\uFCD4:"\u0646\u062E",\uFC4D:"\u0646\u062E",\uFC8A:"\u0646\u0631",\uFC8B:"\u0646\u0632",\uFCD5:"\u0646\u0645",\uFCEE:"\u0646\u0645",\uFC8C:"\u0646\u0645",\uFC4E:"\u0646\u0645",\uFD9B:"\u0646\u0645\u0649",\uFD9A:"\u0646\u0645\u0649",\uFC8D:"\u0646\u0646",\uFC8E:"\u0646\u0649",\uFC4F:"\u0646\u0649",\uFC8F:"\u0646\u0649",\uFC50:"\u0646\u0649",\u06C2:"\u06C0",\uFBA5:"\u06C0",\uFBA4:"\u06C0","\u{102E4}":"\u0648","\u{1EE05}":"\u0648","\u{1EE85}":"\u0648","\u{1EEA5}":"\u0648",\uFEEE:"\u0648",\uFEED:"\u0648","\u08B1":"\u0648",\u06CB:"\u0648\u06DB",\uFBDF:"\u0648\u06DB",\uFBDE:"\u0648\u06DB",\u06C7:"\u0648\u0313",\uFBD8:"\u0648\u0313",\uFBD7:"\u0648\u0313",\u06C6:"\u0648\u0306",\uFBDA:"\u0648\u0306",\uFBD9:"\u0648\u0306",\u06C9:"\u0648\u0302",\uFBE3:"\u0648\u0302",\uFBE2:"\u0648\u0302",\u06C8:"\u0648\u0670",\uFBDC:"\u0648\u0670",\uFBDB:"\u0648\u0670",\u0624:"\u0648\u0674",\uFE86:"\u0648\u0674",\uFE85:"\u0648\u0674",\u0676:"\u0648\u0674",\u0677:"\u0648\u0313\u0674",\uFBDD:"\u0648\u0313\u0674",\uFDF8:"\u0648\u0633\u0644\u0645",\uFBE1:"\u06C5",\uFBE0:"\u06C5","\u066E":"\u0649","\u{1EE1C}":"\u0649","\u{1EE7C}":"\u0649",\u06BA:"\u0649","\u{1EE1D}":"\u0649","\u{1EE5D}":"\u0649",\uFB9F:"\u0649",\uFB9E:"\u0649","\u08BD":"\u0649",\uFBE8:"\u0649",\uFBE9:"\u0649",\uFEF0:"\u0649",\uFEEF:"\u0649",\u064A:"\u0649","\u{1EE09}":"\u0649","\u{1EE29}":"\u0649","\u{1EE49}":"\u0649","\u{1EE69}":"\u0649","\u{1EE89}":"\u0649","\u{1EEA9}":"\u0649",\uFEF3:"\u0649",\uFEF4:"\u0649",\uFEF2:"\u0649",\uFEF1:"\u0649",\u06CC:"\u0649",\uFBFE:"\u0649",\uFBFF:"\u0649",\uFBFD:"\u0649",\uFBFC:"\u0649",\u06D2:"\u0649",\uFBAF:"\u0649",\uFBAE:"\u0649",\u0679:"\u0649\u0615",\uFB68:"\u0649\u0615",\uFB69:"\u0649\u0615",\uFB67:"\u0649\u0615",\uFB66:"\u0649\u0615",\u06BB:"\u0649\u0615",\uFBA2:"\u0649\u0615",\uFBA3:"\u0649\u0615",\uFBA1:"\u0649\u0615",\uFBA0:"\u0649\u0615",\u067E:"\u0649\u06DB",\uFB58:"\u0649\u06DB",\uFB59:"\u0649\u06DB",\uFB57:"\u0649\u06DB",\uFB56:"\u0649\u06DB",\u062B:"\u0649\u06DB","\u{1EE16}":"\u0649\u06DB","\u{1EE36}":"\u0649\u06DB","\u{1EE76}":"\u0649\u06DB","\u{1EE96}":"\u0649\u06DB","\u{1EEB6}":"\u0649\u06DB",\uFE9B:"\u0649\u06DB",\uFE9C:"\u0649\u06DB",\uFE9A:"\u0649\u06DB",\uFE99:"\u0649\u06DB",\u06BD:"\u0649\u06DB",\u06D1:"\u0649\u06DB","\u063F":"\u0649\u06DB","\u08B7":"\u0649\u06DB\u06E2","\u0756":"\u0649\u0306",\u06CE:"\u0649\u0306","\u08BA":"\u0649\u0306\u0307","\u063D":"\u0649\u0302","\u08A8":"\u0649\u0654",\uFC90:"\u0649\u0670",\uFC5D:"\u0649\u0670",\uFCDE:"\u0649o",\uFCF1:"\u0649o",\uFCE6:"\u0649\u06DBo",\u0626:"\u0649\u0674",\uFE8B:"\u0649\u0674",\uFE8C:"\u0649\u0674",\uFE8A:"\u0649\u0674",\uFE89:"\u0649\u0674",\u0678:"\u0649\u0674",\uFBEB:"\u0649\u0674l",\uFBEA:"\u0649\u0674l",\uFC9B:"\u0649\u0674o",\uFCE0:"\u0649\u0674o",\uFBED:"\u0649\u0674o",\uFBEC:"\u0649\u0674o",\uFBF8:"\u0649\u0674\u067B",\uFBF7:"\u0649\u0674\u067B",\uFBF6:"\u0649\u0674\u067B",\uFC97:"\u0649\u0674\u062C",\uFC00:"\u0649\u0674\u062C",\uFC98:"\u0649\u0674\u062D",\uFC01:"\u0649\u0674\u062D",\uFC99:"\u0649\u0674\u062E",\uFC64:"\u0649\u0674\u0631",\uFC65:"\u0649\u0674\u0632",\uFC9A:"\u0649\u0674\u0645",\uFCDF:"\u0649\u0674\u0645",\uFC66:"\u0649\u0674\u0645",\uFC02:"\u0649\u0674\u0645",\uFC67:"\u0649\u0674\u0646",\uFBEF:"\u0649\u0674\u0648",\uFBEE:"\u0649\u0674\u0648",\uFBF1:"\u0649\u0674\u0648\u0313",\uFBF0:"\u0649\u0674\u0648\u0313",\uFBF3:"\u0649\u0674\u0648\u0306",\uFBF2:"\u0649\u0674\u0648\u0306",\uFBF5:"\u0649\u0674\u0648\u0670",\uFBF4:"\u0649\u0674\u0648\u0670",\uFBFB:"\u0649\u0674\u0649",\uFBFA:"\u0649\u0674\u0649",\uFC68:"\u0649\u0674\u0649",\uFBF9:"\u0649\u0674\u0649",\uFC03:"\u0649\u0674\u0649",\uFC69:"\u0649\u0674\u0649",\uFC04:"\u0649\u0674\u0649",\uFCDA:"\u0649\u062C",\uFC55:"\u0649\u062C",\uFC11:"\u0649\u06DB\u062C",\uFDAF:"\u0649\u062C\u0649",\uFCDB:"\u0649\u062D",\uFC56:"\u0649\u062D",\uFDAE:"\u0649\u062D\u0649",\uFCDC:"\u0649\u062E",\uFC57:"\u0649\u062E",\uFC91:"\u0649\u0631",\uFC76:"\u0649\u06DB\u0631",\uFC92:"\u0649\u0632",\uFC77:"\u0649\u06DB\u0632",\uFCDD:"\u0649\u0645",\uFCF0:"\u0649\u0645",\uFC93:"\u0649\u0645",\uFC58:"\u0649\u0645",\uFCA6:"\u0649\u06DB\u0645",\uFCE5:"\u0649\u06DB\u0645",\uFC78:"\u0649\u06DB\u0645",\uFC12:"\u0649\u06DB\u0645",\uFD9D:"\u0649\u0645\u0645",\uFD9C:"\u0649\u0645\u0645",\uFDB0:"\u0649\u0645\u0649",\uFC94:"\u0649\u0646",\uFC79:"\u0649\u06DB\u0646",\uFC95:"\u0649\u0649",\uFC59:"\u0649\u0649",\uFC96:"\u0649\u0649",\uFC5A:"\u0649\u0649",\uFC7A:"\u0649\u06DB\u0649",\uFC13:"\u0649\u06DB\u0649",\uFC7B:"\u0649\u06DB\u0649",\uFC14:"\u0649\u06DB\u0649",\uFBB1:"\u06D3",\uFBB0:"\u06D3","\u{102B8}":"\u2D40","\u205E":"\u2D42","\u2E3D":"\u2D42","\u2999":"\u2D42","\uFE19":"\u2D57","\u205D":"\u2D57","\u22EE":"\u2D57",\u0544:"\u1206",\u054C:"\u1261",\u053B:"\u12AE",\u054A:"\u1323",\u0906:"\u0905\u093E",\u0912:"\u0905\u093E\u0946",\u0913:"\u0905\u093E\u0947",\u0914:"\u0905\u093E\u0948","\u0904":"\u0905\u0946",\u0911:"\u0905\u0949",\u090D:"\u090F\u0945",\u090E:"\u090F\u0946",\u0910:"\u090F\u0947",\u0908:"\u0930\u094D\u0907",\u0ABD:"\u093D","\u{111DC}":"\uA8FB","\u{111CB}":"\u093A","\u0AC1":"\u0941","\u0AC2":"\u0942","\u0A4B":"\u0946","\u0A4D":"\u094D","\u0ACD":"\u094D",\u0986:"\u0985\u09BE",\u09E0:"\u098B\u09C3",\u09E1:"\u098B\u09C3","\u{11492}":"\u0998","\u{11494}":"\u099A","\u{11496}":"\u099C","\u{11498}":"\u099E","\u{11499}":"\u099F","\u{1149B}":"\u09A1","\u{114AA}":"\u09A3","\u{1149E}":"\u09A4","\u{1149F}":"\u09A5","\u{114A0}":"\u09A6","\u{114A1}":"\u09A7","\u{114A2}":"\u09A8","\u{114A3}":"\u09AA","\u{114A9}":"\u09AC","\u{114A7}":"\u09AE","\u{114A8}":"\u09AF","\u{114AB}":"\u09B0","\u{1149D}":"\u09B2","\u{114AD}":"\u09B7","\u{114AE}":"\u09B8","\u{114C4}":"\u09BD","\u{114B0}":"\u09BE","\u{114B1}":"\u09BF","\u{114B9}":"\u09C7","\u{114BC}":"\u09CB","\u{114BE}":"\u09CC","\u{114C2}":"\u09CD","\u{114BD}":"\u09D7",\u0A09:"\u0A73\u0A41",\u0A0A:"\u0A73\u0A42",\u0A06:"\u0A05\u0A3E",\u0A10:"\u0A05\u0A48",\u0A14:"\u0A05\u0A4C",\u0A07:"\u0A72\u0A3F",\u0A08:"\u0A72\u0A40",\u0A0F:"\u0A72\u0A47",\u0A86:"\u0A85\u0ABE",\u0A91:"\u0A85\u0ABE\u0AC5",\u0A93:"\u0A85\u0ABE\u0AC7",\u0A94:"\u0A85\u0ABE\u0AC8",\u0A8D:"\u0A85\u0AC5",\u0A8F:"\u0A85\u0AC7",\u0A90:"\u0A85\u0AC8",\u0B06:"\u0B05\u0B3E","\u0BEE":"\u0B85",\u0BB0:"\u0B88","\u0BBE":"\u0B88","\u0BEB":"\u0B88\u0BC1","\u0BE8":"\u0B89",\u0D09:"\u0B89",\u0B8A:"\u0B89\u0BB3",\u0D0A:"\u0B89\u0D57","\u0BED":"\u0B8E","\u0BF7":"\u0B8E\u0BB5",\u0B9C:"\u0B90",\u0D1C:"\u0B90","\u0BE7":"\u0B95","\u0BEA":"\u0B9A","\u0BEC":"\u0B9A\u0BC1","\u0BF2":"\u0B9A\u0BC2","\u0D3A":"\u0B9F\u0BBF",\u0D23:"\u0BA3","\u0BFA":"\u0BA8\u0BC0","\u0BF4":"\u0BAE\u0BC0","\u0BF0":"\u0BAF",\u0D34:"\u0BB4","\u0BD7":"\u0BB3","\u0BC8":"\u0BA9",\u0D36:"\u0BB6","\u0BF8":"\u0BB7","\u0D3F":"\u0BBF","\u0D40":"\u0BBF","\u0BCA":"\u0BC6\u0B88","\u0BCC":"\u0BC6\u0BB3","\u0BCB":"\u0BC7\u0B88",\u0C85:"\u0C05",\u0C86:"\u0C06",\u0C87:"\u0C07",\u0C60:"\u0C0B\u0C3E",\u0C61:"\u0C0C\u0C3E",\u0C92:"\u0C12",\u0C14:"\u0C12\u0C4C",\u0C94:"\u0C12\u0C4C",\u0C13:"\u0C12\u0C55",\u0C93:"\u0C12\u0C55",\u0C9C:"\u0C1C",\u0C9E:"\u0C1E",\u0C22:"\u0C21\u0323",\u0CA3:"\u0C23",\u0C25:"\u0C27\u05BC",\u0C2D:"\u0C2C\u0323",\u0CAF:"\u0C2F",\u0C20:"\u0C30\u05BC",\u0CB1:"\u0C31",\u0CB2:"\u0C32",\u0C37:"\u0C35\u0323",\u0C39:"\u0C35\u0C3E",\u0C2E:"\u0C35\u0C41","\u0C42":"\u0C41\u0C3E","\u0C44":"\u0C43\u0C3E",\u0CE1:"\u0C8C\u0CBE",\u0D08:"\u0D07\u0D57",\u0D10:"\u0D0E\u0D46",\u0D13:"\u0D12\u0D3E",\u0D14:"\u0D12\u0D57",\u0D61:"\u0D1E","\u0D6B":"\u0D26\u0D4D\u0D30","\u0D79":"\u0D28\u0D41",\u0D0C:"\u0D28\u0D41",\u0D19:"\u0D28\u0D41","\u0D6F":"\u0D28\u0D4D","\u0D7B":"\u0D28\u0D4D","\u0D6C":"\u0D28\u0D4D\u0D28","\u0D5A":"\u0D28\u0D4D\u0D2E",\u0D31:"\u0D30","\u0D6A":"\u0D30\u0D4D","\u0D7C":"\u0D30\u0D4D","\u0D6E":"\u0D35\u0D4D\u0D30","\u0D76":"\u0D39\u0D4D\u0D2E","\u0D42":"\u0D41","\u0D43":"\u0D41","\u0D48":"\u0D46\u0D46","\u0DEA":"\u0DA2","\u0DEB":"\u0DAF","\u{11413}":"\u{11434}\u{11442}\u{11412}","\u{11419}":"\u{11434}\u{11442}\u{11418}","\u{11424}":"\u{11434}\u{11442}\u{11423}","\u{1142A}":"\u{11434}\u{11442}\u{11429}","\u{1142D}":"\u{11434}\u{11442}\u{1142C}","\u{1142F}":"\u{11434}\u{11442}\u{1142E}","\u{115D8}":"\u{11582}","\u{115D9}":"\u{11582}","\u{115DA}":"\u{11583}","\u{115DB}":"\u{11584}","\u{115DC}":"\u{115B2}","\u{115DD}":"\u{115B3}",\u0E03:"\u0E02",\u0E14:"\u0E04",\u0E15:"\u0E04",\u0E21:"\u0E06",\u0E88:"\u0E08",\u0E0B:"\u0E0A",\u0E0F:"\u0E0E",\u0E17:"\u0E11",\u0E9A:"\u0E1A",\u0E9B:"\u0E1B",\u0E9D:"\u0E1D",\u0E9E:"\u0E1E",\u0E9F:"\u0E1F",\u0E26:"\u0E20",\u0E8D:"\u0E22","\u17D4":"\u0E2F",\u0E45:"\u0E32",\u0E33:"\u030A\u0E32","\u17B7":"\u0E34","\u17B8":"\u0E35","\u17B9":"\u0E36","\u17BA":"\u0E37","\u0EB8":"\u0E38","\u0EB9":"\u0E39",\u0E41:"\u0E40\u0E40",\u0EDC:"\u0EAB\u0E99",\u0EDD:"\u0EAB\u0EA1",\u0EB3:"\u030A\u0EB2","\u0F02":"\u0F60\u0F74\u0F82\u0F7F","\u0F03":"\u0F60\u0F74\u0F82\u0F14",\u0F6A:"\u0F62",\u0F00:"\u0F68\u0F7C\u0F7E","\u0F77":"\u0FB2\u0F71\u0F80","\u0F79":"\u0FB3\u0F71\u0F80","\u{11CB2}":"\u{11CAA}","\u1081":"\u1002\u103E",\u1000:"\u1002\u102C","\u1070":"\u1003\u103E","\u1066":"\u1015\u103E",\u101F:"\u1015\u102C","\u106F":"\u1015\u102C\u103E","\u107E":"\u107D\u103E",\u1029:"\u101E\u103C",\u102A:"\u101E\u103C\u1031\u102C\u103A","\u109E":"\u1083\u030A",\u17A3:"\u17A2","\u19D0":"\u199E","\u19D1":"\u19B1","\u1A80":"\u1A45","\u1A90":"\u1A45","\uAA53":"\uAA01","\uAA56":"\uAA23","\u1B52":"\u1B0D","\u1B53":"\u1B11","\u1B58":"\u1B28","\uA9A3":"\uA99D",\u1896:"\u185C",\u1855:"\u1835",\u1FF6:"\u13EF",\u140D:"\u1401\xB7",\u142B:"\u1401\u1420",\u1411:"\u1404\xB7",\u1413:"\u1405\xB7",\u142D:"\u1405\u1420",\u1415:"\u1406\xB7",\u1418:"\u140A\xB7",\u142E:"\u140A\u1420",\u141A:"\u140B\xB7","\u18DD":"\u141E\u18DF",\u14D1:"\u1421",\u1540:"\u1429",\u143F:"\u1432\xB7",\u1443:"\u1434\xB7","\u2369":"\u1435",\u1447:"\u1439\xB7",\u145C:"\u144F\xB7","\u2E27":"\u1450","\u2283":"\u1450",\u145E:"\u1450\xB7",\u1469:"\u1450'","\u27C9":"\u1450/","\u2AD7":"\u1450\u1455",\u1460:"\u1451\xB7","\u2E26":"\u1455","\u2282":"\u1455",\u1462:"\u1455\xB7",\u146A:"\u1455'",\u1464:"\u1456\xB7",\u1475:"\u146B\xB7",\u1485:"\u146B'",\u1479:"\u146E\xB7",\u147D:"\u1470\xB7",\u1603:"\u1489",\u1493:"\u1489\xB7",\u1495:"\u148B\xB7",\u1497:"\u148C\xB7",\u149B:"\u148E\xB7",\u1602:"\u1490",\u149D:"\u1490\xB7",\u149F:"\u1491\xB7",\u14AD:"\u14A3\xB7",\u14B1:"\u14A6\xB7",\u14B3:"\u14A7\xB7",\u14B5:"\u14A8\xB7",\u14B9:"\u14AB\xB7",\u14CA:"\u14C0\xB7","\u18C7":"\u14C2\xB7","\u18C9":"\u14C3\xB7","\u18CB":"\u14C4\xB7","\u18CD":"\u14C5\xB7",\u14CC:"\u14C7\xB7",\u14CE:"\u14C8\xB7",\u1604:"\u14D3",\u14DD:"\u14D3\xB7",\u14DF:"\u14D5\xB7",\u14E1:"\u14D6\xB7",\u14E3:"\u14D7\xB7",\u14E5:"\u14D8\xB7",\u1607:"\u14DA",\u14E7:"\u14DA\xB7",\u14E9:"\u14DB\xB7",\u14F7:"\u14ED\xB7",\u14F9:"\u14EF\xB7",\u14FB:"\u14F0\xB7",\u14FD:"\u14F1\xB7",\u14FF:"\u14F2\xB7",\u1501:"\u14F4\xB7",\u1503:"\u14F5\xB7",\u150C:"\u150B<",\u150E:"\u150Bb",\u150D:"\u150B\u1455",\u150F:"\u150B\u1490",\u1518:"\u1510\xB7",\u151A:"\u1511\xB7",\u151C:"\u1512\xB7",\u151E:"\u1513\xB7",\u1520:"\u1514\xB7",\u1522:"\u1515\xB7",\u1524:"\u1516\xB7",\u1532:"\u1528\xB7",\u1534:"\u1529\xB7",\u1536:"\u152A\xB7",\u1538:"\u152B\xB7",\u153A:"\u152D\xB7",\u153C:"\u152E\xB7",\u1622:"\u1543","\u18E0":"\u1543\xB7",\u1623:"\u1546",\u1624:"\u154A",\u154F:"\u154C\xB7",\u1583:"\u1550b",\u1584:"\u1550b\u0307",\u1581:"\u1550d",\u157F:"\u1550P",\u166F:"\u1550\u146B",\u157E:"\u1550\u146C",\u1580:"\u1550\u146E",\u1582:"\u1550\u1470",\u1585:"\u1550\u1483",\u155C:"\u155A\xB7","\u18E3":"\u155E\xB7","\u18E4":"\u1566\xB7",\u1569:"\u1567\xB7","\u18E5":"\u156B\xB7","\u18E8":"\u1586\xB7",\u1591:"\u1595J",\u1670:"\u1595\u1489",\u158E:"\u1595\u148A",\u158F:"\u1595\u148B",\u1590:"\u1595\u148C",\u1592:"\u1595\u148E",\u1593:"\u1595\u1490",\u1594:"\u1595\u1491",\u1673:"\u1596J",\u1671:"\u1596\u148B",\u1672:"\u1596\u148C",\u1674:"\u1596\u148E",\u1675:"\u1596\u1490",\u1676:"\u1596\u1491","\u18EA":"\u1597\xB7","\u1677":"\u15A7\xB7","\u1678":"\u15A8\xB7","\u1679":"\u15A9\xB7","\u167A":"\u15AA\xB7","\u167B":"\u15AB\xB7","\u167C":"\u15AC\xB7","\u167D":"\u15AD\xB7","\u2AAB":"\u15D2","\u2AAA":"\u15D5","\uA4F7":"\u15E1","\u18F0":"\u15F4\xB7","\u18F2":"\u161B\xB7","\u1DBB":"\u1646","\uA4ED":"\u1660","\u1DBA":"\u18D4","\u1D3E":"\u18D6","\u18DC":"\u18DF\u141E",\u02E1:"\u18F3",\u02B3:"\u18F4",\u02E2:"\u18F5","\u18DB":"\u18F5","\uA6B0":"\u16B9",\u16E1:"\u16BC","\u237F":"\u16BD",\u16C2:"\u16BD","\u{1D23F}":"\u16CB","\u2191":"\u16CF","\u21BF":"\u16D0","\u296E":"\u16D0\u21C2","\u2963":"\u16D0\u16DA","\u2D63":"\u16EF","\u21BE":"\u16DA","\u2A21":"\u16DA","\u22C4":"\u16DC","\u25C7":"\u16DC","\u25CA":"\u16DC","\u2662":"\u16DC","\u{1F754}":"\u16DC","\u{118B7}":"\u16DC","\u{10294}":"\u16DC","\u235A":"\u16DC\u0332","\u22C8":"\u16DE","\u2A1D":"\u16DE","\u{104D0}":"\u16E6","\u2195":"\u16E8","\u{10CFC}":"\u{10C82}","\u{10CFA}":"\u{10CA5}",\u3131:"\u1100",\u11A8:"\u1100",\u1101:"\u1100\u1100",\u3132:"\u1100\u1100",\u11A9:"\u1100\u1100","\u11FA":"\u1100\u1102","\u115A":"\u1100\u1103",\u11C3:"\u1100\u1105","\u11FB":"\u1100\u1107",\u11AA:"\u1100\u1109",\u3133:"\u1100\u1109",\u11C4:"\u1100\u1109\u1100","\u11FC":"\u1100\u110E","\u11FD":"\u1100\u110F","\u11FE":"\u1100\u1112",\u3134:"\u1102",\u11AB:"\u1102",\u1113:"\u1102\u1100",\u11C5:"\u1102\u1100",\u1114:"\u1102\u1102",\u3165:"\u1102\u1102","\u11FF":"\u1102\u1102",\u1115:"\u1102\u1103",\u3166:"\u1102\u1103",\u11C6:"\u1102\u1103","\uD7CB":"\u1102\u1105",\u1116:"\u1102\u1107","\u115B":"\u1102\u1109",\u11C7:"\u1102\u1109",\u3167:"\u1102\u1109","\u115C":"\u1102\u110C",\u11AC:"\u1102\u110C",\u3135:"\u1102\u110C","\uD7CC":"\u1102\u110E",\u11C9:"\u1102\u1110","\u115D":"\u1102\u1112",\u11AD:"\u1102\u1112",\u3136:"\u1102\u1112",\u11C8:"\u1102\u1140",\u3168:"\u1102\u1140",\u3137:"\u1103",\u11AE:"\u1103",\u1117:"\u1103\u1100",\u11CA:"\u1103\u1100",\u1104:"\u1103\u1103",\u3138:"\u1103\u1103","\uD7CD":"\u1103\u1103","\uD7CE":"\u1103\u1103\u1107","\u115E":"\u1103\u1105",\u11CB:"\u1103\u1105","\uA960":"\u1103\u1106","\uA961":"\u1103\u1107","\uD7CF":"\u1103\u1107","\uA962":"\u1103\u1109","\uD7D0":"\u1103\u1109","\uD7D1":"\u1103\u1109\u1100","\uA963":"\u1103\u110C","\uD7D2":"\u1103\u110C","\uD7D3":"\u1103\u110E","\uD7D4":"\u1103\u1110",\u3139:"\u1105",\u11AF:"\u1105","\uA964":"\u1105\u1100",\u11B0:"\u1105\u1100",\u313A:"\u1105\u1100","\uA965":"\u1105\u1100\u1100","\uD7D5":"\u1105\u1100\u1100",\u11CC:"\u1105\u1100\u1109",\u3169:"\u1105\u1100\u1109","\uD7D6":"\u1105\u1100\u1112",\u1118:"\u1105\u1102",\u11CD:"\u1105\u1102","\uA966":"\u1105\u1103",\u11CE:"\u1105\u1103",\u316A:"\u1105\u1103","\uA967":"\u1105\u1103\u1103",\u11CF:"\u1105\u1103\u1112",\u1119:"\u1105\u1105",\u11D0:"\u1105\u1105","\uD7D7":"\u1105\u1105\u110F","\uA968":"\u1105\u1106",\u11B1:"\u1105\u1106",\u313B:"\u1105\u1106",\u11D1:"\u1105\u1106\u1100",\u11D2:"\u1105\u1106\u1109","\uD7D8":"\u1105\u1106\u1112","\uA969":"\u1105\u1107",\u11B2:"\u1105\u1107",\u313C:"\u1105\u1107","\uD7D9":"\u1105\u1107\u1103","\uA96A":"\u1105\u1107\u1107",\u11D3:"\u1105\u1107\u1109",\u316B:"\u1105\u1107\u1109","\uA96B":"\u1105\u1107\u110B",\u11D5:"\u1105\u1107\u110B","\uD7DA":"\u1105\u1107\u1111",\u11D4:"\u1105\u1107\u1112","\uA96C":"\u1105\u1109",\u11B3:"\u1105\u1109",\u313D:"\u1105\u1109",\u11D6:"\u1105\u1109\u1109",\u111B:"\u1105\u110B","\uD7DD":"\u1105\u110B","\uA96D":"\u1105\u110C","\uA96E":"\u1105\u110F",\u11D8:"\u1105\u110F",\u11B4:"\u1105\u1110",\u313E:"\u1105\u1110",\u11B5:"\u1105\u1111",\u313F:"\u1105\u1111",\u111A:"\u1105\u1112",\u3140:"\u1105\u1112",\u113B:"\u1105\u1112",\u11B6:"\u1105\u1112","\uD7F2":"\u1105\u1112",\u11D7:"\u1105\u1140",\u316C:"\u1105\u1140","\uD7DB":"\u1105\u114C",\u11D9:"\u1105\u1159",\u316D:"\u1105\u1159","\uD7DC":"\u1105\u1159\u1112",\u3141:"\u1106",\u11B7:"\u1106","\uA96F":"\u1106\u1100",\u11DA:"\u1106\u1100","\uD7DE":"\u1106\u1102","\uD7DF":"\u1106\u1102\u1102","\uA970":"\u1106\u1103",\u11DB:"\u1106\u1105","\uD7E0":"\u1106\u1106",\u111C:"\u1106\u1107",\u316E:"\u1106\u1107",\u11DC:"\u1106\u1107","\uD7E1":"\u1106\u1107\u1109","\uA971":"\u1106\u1109",\u11DD:"\u1106\u1109",\u316F:"\u1106\u1109",\u11DE:"\u1106\u1109\u1109",\u111D:"\u1106\u110B",\u3171:"\u1106\u110B",\u11E2:"\u1106\u110B","\uD7E2":"\u1106\u110C",\u11E0:"\u1106\u110E",\u11E1:"\u1106\u1112",\u11DF:"\u1106\u1140",\u3170:"\u1106\u1140",\u3142:"\u1107",\u11B8:"\u1107",\u111E:"\u1107\u1100",\u3172:"\u1107\u1100",\u111F:"\u1107\u1102",\u1120:"\u1107\u1103",\u3173:"\u1107\u1103","\uD7E3":"\u1107\u1103",\u11E3:"\u1107\u1105","\uD7E4":"\u1107\u1105\u1111","\uD7E5":"\u1107\u1106",\u1108:"\u1107\u1107",\u3143:"\u1107\u1107","\uD7E6":"\u1107\u1107",\u112C:"\u1107\u1107\u110B",\u3179:"\u1107\u1107\u110B",\u1121:"\u1107\u1109",\u3144:"\u1107\u1109",\u11B9:"\u1107\u1109",\u1122:"\u1107\u1109\u1100",\u3174:"\u1107\u1109\u1100",\u1123:"\u1107\u1109\u1103",\u3175:"\u1107\u1109\u1103","\uD7E7":"\u1107\u1109\u1103",\u1124:"\u1107\u1109\u1107",\u1125:"\u1107\u1109\u1109",\u1126:"\u1107\u1109\u110C","\uA972":"\u1107\u1109\u1110",\u112B:"\u1107\u110B",\u3178:"\u1107\u110B",\u11E6:"\u1107\u110B",\u1127:"\u1107\u110C",\u3176:"\u1107\u110C","\uD7E8":"\u1107\u110C",\u1128:"\u1107\u110E","\uD7E9":"\u1107\u110E","\uA973":"\u1107\u110F",\u1129:"\u1107\u1110",\u3177:"\u1107\u1110",\u112A:"\u1107\u1111",\u11E4:"\u1107\u1111","\uA974":"\u1107\u1112",\u11E5:"\u1107\u1112",\u3145:"\u1109",\u11BA:"\u1109",\u112D:"\u1109\u1100",\u317A:"\u1109\u1100",\u11E7:"\u1109\u1100",\u112E:"\u1109\u1102",\u317B:"\u1109\u1102",\u112F:"\u1109\u1103",\u317C:"\u1109\u1103",\u11E8:"\u1109\u1103",\u1130:"\u1109\u1105",\u11E9:"\u1109\u1105",\u1131:"\u1109\u1106","\uD7EA":"\u1109\u1106",\u1132:"\u1109\u1107",\u317D:"\u1109\u1107",\u11EA:"\u1109\u1107",\u1133:"\u1109\u1107\u1100","\uD7EB":"\u1109\u1107\u110B",\u110A:"\u1109\u1109",\u3146:"\u1109\u1109",\u11BB:"\u1109\u1109","\uD7EC":"\u1109\u1109\u1100","\uD7ED":"\u1109\u1109\u1103","\uA975":"\u1109\u1109\u1107",\u1134:"\u1109\u1109\u1109",\u1135:"\u1109\u110B",\u1136:"\u1109\u110C",\u317E:"\u1109\u110C","\uD7EF":"\u1109\u110C",\u1137:"\u1109\u110E","\uD7F0":"\u1109\u110E",\u1138:"\u1109\u110F",\u1139:"\u1109\u1110","\uD7F1":"\u1109\u1110",\u113A:"\u1109\u1111","\uD7EE":"\u1109\u1140",\u3147:"\u110B",\u11BC:"\u110B",\u1141:"\u110B\u1100",\u11EC:"\u110B\u1100",\u11ED:"\u110B\u1100\u1100",\u1142:"\u110B\u1103","\uA976":"\u110B\u1105",\u1143:"\u110B\u1106",\u1144:"\u110B\u1107",\u1145:"\u110B\u1109",\u11F1:"\u110B\u1109",\u3182:"\u110B\u1109",\u1147:"\u110B\u110B",\u3180:"\u110B\u110B",\u11EE:"\u110B\u110B",\u1148:"\u110B\u110C",\u1149:"\u110B\u110E",\u11EF:"\u110B\u110F",\u114A:"\u110B\u1110",\u114B:"\u110B\u1111","\uA977":"\u110B\u1112",\u1146:"\u110B\u1140",\u11F2:"\u110B\u1140",\u3183:"\u110B\u1140",\u3148:"\u110C",\u11BD:"\u110C","\uD7F7":"\u110C\u1107","\uD7F8":"\u110C\u1107\u1107",\u114D:"\u110C\u110B",\u110D:"\u110C\u110C",\u3149:"\u110C\u110C","\uD7F9":"\u110C\u110C","\uA978":"\u110C\u110C\u1112",\u314A:"\u110E",\u11BE:"\u110E",\u1152:"\u110E\u110F",\u1153:"\u110E\u1112",\u314B:"\u110F",\u11BF:"\u110F",\u314C:"\u1110",\u11C0:"\u1110","\uA979":"\u1110\u1110",\u314D:"\u1111",\u11C1:"\u1111",\u1156:"\u1111\u1107",\u11F3:"\u1111\u1107","\uD7FA":"\u1111\u1109",\u1157:"\u1111\u110B",\u3184:"\u1111\u110B",\u11F4:"\u1111\u110B","\uD7FB":"\u1111\u1110","\uA97A":"\u1111\u1112",\u314E:"\u1112",\u11C2:"\u1112",\u11F5:"\u1112\u1102",\u11F6:"\u1112\u1105",\u11F7:"\u1112\u1106",\u11F8:"\u1112\u1107","\uA97B":"\u1112\u1109",\u1158:"\u1112\u1112",\u3185:"\u1112\u1112",\u113D:"\u113C\u113C",\u113F:"\u113E\u113E",\u317F:"\u1140",\u11EB:"\u1140","\uD7F3":"\u1140\u1107","\uD7F4":"\u1140\u1107\u110B",\u3181:"\u114C",\u11F0:"\u114C","\uD7F5":"\u114C\u1106","\uD7F6":"\u114C\u1112",\u114F:"\u114E\u114E",\u1151:"\u1150\u1150",\u3186:"\u1159",\u11F9:"\u1159","\uA97C":"\u1159\u1159",\u3164:"\u1160",\u314F:"\u1161","\u11A3":"\u1161\u30FC",\u1176:"\u1161\u1169",\u1177:"\u1161\u116E",\u1162:"\u1161\u4E28",\u3150:"\u1161\u4E28",\u3151:"\u1163",\u1178:"\u1163\u1169",\u1179:"\u1163\u116D","\u11A4":"\u1163\u116E",\u1164:"\u1163\u4E28",\u3152:"\u1163\u4E28",\u3153:"\u1165",\u117C:"\u1165\u30FC",\u117A:"\u1165\u1169",\u117B:"\u1165\u116E",\u1166:"\u1165\u4E28",\u3154:"\u1165\u4E28",\u3155:"\u1167","\u11A5":"\u1167\u1163",\u117D:"\u1167\u1169",\u117E:"\u1167\u116E",\u1168:"\u1167\u4E28",\u3156:"\u1167\u4E28",\u3157:"\u1169",\u116A:"\u1169\u1161",\u3158:"\u1169\u1161",\u116B:"\u1169\u1161\u4E28",\u3159:"\u1169\u1161\u4E28","\u11A6":"\u1169\u1163","\u11A7":"\u1169\u1163\u4E28",\u117F:"\u1169\u1165",\u1180:"\u1169\u1165\u4E28","\uD7B0":"\u1169\u1167",\u1181:"\u1169\u1167\u4E28",\u1182:"\u1169\u1169","\uD7B1":"\u1169\u1169\u4E28",\u1183:"\u1169\u116E",\u116C:"\u1169\u4E28",\u315A:"\u1169\u4E28",\u315B:"\u116D","\uD7B2":"\u116D\u1161","\uD7B3":"\u116D\u1161\u4E28",\u1184:"\u116D\u1163",\u3187:"\u116D\u1163",\u1186:"\u116D\u1163",\u1185:"\u116D\u1163\u4E28",\u3188:"\u116D\u1163\u4E28","\uD7B4":"\u116D\u1165",\u1187:"\u116D\u1169",\u1188:"\u116D\u4E28",\u3189:"\u116D\u4E28",\u315C:"\u116E",\u1189:"\u116E\u1161",\u118A:"\u116E\u1161\u4E28",\u116F:"\u116E\u1165",\u315D:"\u116E\u1165",\u118B:"\u116E\u1165\u30FC",\u1170:"\u116E\u1165\u4E28",\u315E:"\u116E\u1165\u4E28","\uD7B5":"\u116E\u1167",\u118C:"\u116E\u1167\u4E28",\u118D:"\u116E\u116E",\u1171:"\u116E\u4E28",\u315F:"\u116E\u4E28","\uD7B6":"\u116E\u4E28\u4E28",\u3160:"\u1172",\u118E:"\u1172\u1161","\uD7B7":"\u1172\u1161\u4E28",\u118F:"\u1172\u1165",\u1190:"\u1172\u1165\u4E28",\u1191:"\u1172\u1167",\u318A:"\u1172\u1167",\u1192:"\u1172\u1167\u4E28",\u318B:"\u1172\u1167\u4E28","\uD7B8":"\u1172\u1169",\u1193:"\u1172\u116E",\u1194:"\u1172\u4E28",\u318C:"\u1172\u4E28",\u318D:"\u119E","\uD7C5":"\u119E\u1161",\u119F:"\u119E\u1165","\uD7C6":"\u119E\u1165\u4E28",\u11A0:"\u119E\u116E",\u11A2:"\u119E\u119E",\u11A1:"\u119E\u4E28",\u318E:"\u119E\u4E28",\u30D8:"\u3078","\u2341":"\u303C","\u29C4":"\u303C","\uA49E":"\uA04A","\uA4AC":"\uA050","\uA49C":"\uA0C0","\uA4A8":"\uA132","\uA4BF":"\uA259","\uA4BE":"\uA2B1","\uA494":"\uA2CD","\uA4C0":"\uA3AB","\uA4C2":"\uA3B5","\uA4BA":"\uA3BF","\uA4B0":"\uA3C2","\uA4A7":"\uA458","\u22A5":"\uA4D5","\u27C2":"\uA4D5","\u{1D21C}":"\uA4D5","\uA7B1":"\uA4D5","\uA79E":"\uA4E4","\u2141":"\uA4E8","\u2142":"\uA4F6","\u{1D215}":"\uA4F6","\u{1D22B}":"\uA4F6","\u{16F26}":"\uA4F6","\u{10411}":"\uA4F6","\u2143":"\u{16F00}","\u{11AE6}":"\u{11AE5}\u{11AEF}","\u{11AE8}":"\u{11AE5}\u{11AE5}","\u{11AE9}":"\u{11AE5}\u{11AE5}\u{11AEF}","\u{11AEA}":"\u{11AE5}\u{11AE5}\u{11AF0}","\u{11AE7}":"\u{11AE5}\u{11AF0}","\u{11AF4}":"\u{11AF3}\u{11AEF}","\u{11AF6}":"\u{11AF3}\u{11AF3}","\u{11AF7}":"\u{11AF3}\u{11AF3}\u{11AEF}","\u{11AF8}":"\u{11AF3}\u{11AF3}\u{11AF0}","\u{11AF5}":"\u{11AF3}\u{11AF0}","\u{11AEC}":"\u{11AEB}\u{11AEF}","\u{11AED}":"\u{11AEB}\u{11AEB}","\u{11AEE}":"\u{11AEB}\u{11AEB}\u{11AEF}","\u2295":"\u{102A8}","\u2A01":"\u{102A8}","\u{1F728}":"\u{102A8}","\uA69A":"\u{102A8}","\u25BD":"\u{102BC}","\u{1D214}":"\u{102BC}","\u{1F704}":"\u{102BC}","\u29D6":"\u{102C0}","\uA79B":"\u{1043A}","\uA79A":"\u{10412}","\u{104A0}":"\u{10486}","\u{103D1}":"\u{10382}","\u{103D3}":"\u{10393}","\u{12038}":"\u{1039A}","\u2625":"\u{1099E}","\u{132F9}":"\u{1099E}","\u3039":"\u5344",\uF967:"\u4E0D","\u{2F800}":"\u4E3D","\uFA70":"\u4E26","\u239C":"\u4E28","\u239F":"\u4E28","\u23A2":"\u4E28","\u23A5":"\u4E28","\u23AA":"\u4E28","\u23AE":"\u4E28","\u31D1":"\u4E28",\u1175:"\u4E28",\u3163:"\u4E28","\u2F01":"\u4E28",\u119C:"\u4E28\u30FC",\u1198:"\u4E28\u1161",\u1199:"\u4E28\u1163","\uD7BD":"\u4E28\u1163\u1169","\uD7BE":"\u4E28\u1163\u4E28","\uD7BF":"\u4E28\u1167","\uD7C0":"\u4E28\u1167\u4E28",\u119A:"\u4E28\u1169","\uD7C1":"\u4E28\u1169\u4E28","\uD7C2":"\u4E28\u116D",\u119B:"\u4E28\u116E","\uD7C3":"\u4E28\u1172",\u119D:"\u4E28\u119E","\uD7C4":"\u4E28\u4E28",\uF905:"\u4E32","\u{2F801}":"\u4E38",\uF95E:"\u4E39","\u{2F802}":"\u4E41","\u31E0":"\u4E59","\u2F04":"\u4E59","\u31DF":"\u4E5A","\u2E83":"\u4E5A","\u31D6":"\u4E5B","\u2E82":"\u4E5B","\u2EF2":"\u4E80",\uF91B:"\u4E82","\u31DA":"\u4E85","\u2F05":"\u4E85",\uF9BA:"\u4E86",\u30CB:"\u4E8C","\u2F06":"\u4E8C","\u{2F803}":"\u{20122}","\u2F07":"\u4EA0",\uF977:"\u4EAE","\u2F08":"\u4EBA",\u30A4:"\u4EBB","\u2E85":"\u4EBB",\uF9FD:"\u4EC0","\u{2F819}":"\u4ECC",\uF9A8:"\u4EE4","\u{2F804}":"\u4F60",\u5002:"\u4F75","\u{2F807}":"\u4F75","\uFA73":"\u4F80",\uF92D:"\u4F86",\uF9B5:"\u4F8B","\uFA30":"\u4FAE","\u{2F805}":"\u4FAE","\u{2F806}":"\u4FBB",\uF965:"\u4FBF",\u503C:"\u5024",\uF9D4:"\u502B","\u{2F808}":"\u507A","\u{2F809}":"\u5099","\u{2F80B}":"\u50CF",\uF9BB:"\u50DA","\uFA31":"\u50E7","\u{2F80A}":"\u50E7","\u{2F80C}":"\u349E","\u2F09":"\u513F",\uFA0C:"\u5140","\u2E8E":"\u5140","\uFA74":"\u5145","\uFA32":"\u514D","\u{2F80E}":"\u514D","\u{2F80F}":"\u5154","\u{2F810}":"\u5164","\u2F0A":"\u5165","\u{2F814}":"\u5167","\uFA72":"\u5168",\uF978:"\u5169",\u30CF:"\u516B","\u2F0B":"\u516B",\uF9D1:"\u516D","\u{2F811}":"\u5177","\u{2F812}":"\u{2051C}","\u{2F91B}":"\u{20525}","\uFA75":"\u5180","\u{2F813}":"\u34B9","\u2F0C":"\u5182","\u{2F815}":"\u518D","\u{2F816}":"\u{2054B}","\u{2F8D2}":"\u5192","\u{2F8D3}":"\u5195","\u{2F9CA}":"\u34BB","\u{2F8D4}":"\u6700","\u2F0D":"\u5196","\u{2F817}":"\u5197","\u{2F818}":"\u51A4","\u2F0E":"\u51AB","\u{2F81A}":"\u51AC","\uFA71":"\u51B5","\u{2F81B}":"\u51B5",\uF92E:"\u51B7",\uF979:"\u51C9",\uF955:"\u51CC",\uF954:"\u51DC",\uFA15:"\u51DE","\u2F0F":"\u51E0","\u{2F80D}":"\u{2063A}","\u{2F81D}":"\u51F5","\u2F10":"\u51F5","\u2F11":"\u5200","\u2E89":"\u5202","\u{2F81E}":"\u5203",\uFA00:"\u5207","\u{2F850}":"\u5207",\uF99C:"\u5217",\uF9DD:"\u5229","\u{2F81F}":"\u34DF",\uF9FF:"\u523A","\u{2F820}":"\u523B","\u{2F821}":"\u5246","\u{2F822}":"\u5272","\u{2F823}":"\u5277",\uF9C7:"\u5289","\u{2F9D9}":"\u{20804}",\u30AB:"\u529B",\uF98A:"\u529B","\u2F12":"\u529B",\uF99D:"\u52A3","\u{2F824}":"\u3515","\u{2F992}":"\u52B3","\uFA76":"\u52C7","\u{2F825}":"\u52C7","\uFA33":"\u52C9","\u{2F826}":"\u52C9",\uF952:"\u52D2",\uF92F:"\u52DE","\uFA34":"\u52E4","\u{2F827}":"\u52E4",\uF97F:"\u52F5","\u2F13":"\u52F9","\uFA77":"\u52FA","\u{2F828}":"\u52FA","\u{2F829}":"\u5305","\u{2F82A}":"\u5306","\u{2F9DD}":"\u{208DE}","\u2F14":"\u5315",\uF963:"\u5317","\u{2F82B}":"\u5317","\u2F15":"\u531A","\u2F16":"\u5338",\uF9EB:"\u533F","\u2F17":"\u5341","\u3038":"\u5341","\u303A":"\u5345","\u{2F82C}":"\u5349","\u0FD6":"\u534D","\u0FD5":"\u5350","\uFA35":"\u5351","\u{2F82D}":"\u5351","\u{2F82E}":"\u535A",\u30C8:"\u535C","\u2F18":"\u535C","\u2F19":"\u5369","\u2E8B":"\u353E","\u{2F82F}":"\u5373",\uF91C:"\u5375","\u{2F830}":"\u537D","\u{2F831}":"\u537F","\u{2F832}":"\u537F","\u{2F833}":"\u537F","\u2F1A":"\u5382","\u{2F834}":"\u{20A2C}","\u2F1B":"\u53B6",\uF96B:"\u53C3","\u2F1C":"\u53C8","\u{2F836}":"\u53CA","\u{2F837}":"\u53DF","\u{2F838}":"\u{20B63}",\u30ED:"\u53E3","\u2F1D":"\u53E3",\u56D7:"\u53E3","\u2F1E":"\u53E3",\uF906:"\u53E5","\u{2F839}":"\u53EB","\u{2F83A}":"\u53F1","\u{2F83B}":"\u5406",\uF9DE:"\u540F",\uF9ED:"\u541D","\u{2F83D}":"\u5438",\uF980:"\u5442","\u{2F83E}":"\u5448","\u{2F83F}":"\u5468","\u{2F83C}":"\u549E","\u{2F840}":"\u54A2",\uF99E:"\u54BD",\u439B:"\u3588","\u{2F841}":"\u54F6","\u{2F842}":"\u5510","\u{2F843}":"\u5553",\u555F:"\u5553","\uFA79":"\u5555","\u{2F844}":"\u5563","\u{2F845}":"\u5584","\u{2F846}":"\u5584",\uF90B:"\u5587","\uFA7A":"\u5599","\u{2F847}":"\u5599","\uFA36":"\u559D","\uFA78":"\u559D","\u{2F848}":"\u55AB","\u{2F849}":"\u55B3",\uFA0D:"\u55C0","\u{2F84A}":"\u55C2","\uFA7B":"\u55E2","\uFA37":"\u5606","\u{2F84C}":"\u5606","\u{2F84E}":"\u5651","\u{2F84F}":"\u5674","\uFA38":"\u5668",\uF9A9:"\u56F9","\u{2F84B}":"\u5716","\u{2F84D}":"\u5717","\u2F1F":"\u571F",\u58EB:"\u571F","\u2F20":"\u571F","\u{2F855}":"\u578B","\u{2F852}":"\u57CE",\u39B3:"\u363D","\u{2F853}":"\u57F4","\u{2F854}":"\u580D","\u{2F857}":"\u5831","\u{2F856}":"\u5832","\uFA39":"\u5840",\uFA10:"\u585A","\uFA7C":"\u585A",\uF96C:"\u585E",\u586B:"\u5861",\u58FF:"\u58AB","\u{2F858}":"\u58AC","\uFA7D":"\u58B3",\uF94A:"\u58D8",\uF942:"\u58DF","\u{2F859}":"\u{214E4}","\u{2F851}":"\u58EE","\u{2F85A}":"\u58F2","\u{2F85B}":"\u58F7","\u2F21":"\u5902","\u{2F85C}":"\u5906","\u2F22":"\u590A",\u30BF:"\u5915","\u2F23":"\u5915","\u{2F85D}":"\u591A","\u{2F85E}":"\u5922","\u2F24":"\u5927","\uFA7E":"\u5944",\uF90C:"\u5948",\uF909:"\u5951","\uFA7F":"\u5954","\u{2F85F}":"\u5962",\uF981:"\u5973","\u2F25":"\u5973","\u{2F860}":"\u{216A8}","\u{2F861}":"\u{216EA}","\u{2F865}":"\u59D8","\u{2F862}":"\u59EC","\u{2F863}":"\u5A1B","\u{2F864}":"\u5A27","\uFA80":"\u5A62","\u{2F866}":"\u5A66",\u5B00:"\u5AAF","\u{2F867}":"\u36EE","\u{2F868}":"\u36FC","\u{2F986}":"\u5AB5","\u{2F869}":"\u5B08","\uFA81":"\u5B28","\u{2F86A}":"\u5B3E","\u{2F86B}":"\u5B3E","\u2F26":"\u5B50","\u2F27":"\u5B80",\uFA04:"\u5B85","\u{2F86C}":"\u{219C8}","\u{2F86D}":"\u5BC3","\u{2F86E}":"\u5BD8",\uF95F:"\u5BE7",\uF9AA:"\u5BE7","\u{2F86F}":"\u5BE7",\uF9BC:"\u5BEE","\u{2F870}":"\u5BF3","\u{2F871}":"\u{21B18}","\u2F28":"\u5BF8","\u{2F872}":"\u5BFF","\u{2F873}":"\u5C06","\u2F29":"\u5C0F","\u{2F875}":"\u5C22","\u2E90":"\u5C22","\u2F2A":"\u5C22","\u2E8F":"\u5C23","\u{2F876}":"\u3781","\u2F2B":"\u5C38",\uF9BD:"\u5C3F","\u{2F877}":"\u5C60",\uF94B:"\u5C62","\uFA3B":"\u5C64",\uF9DF:"\u5C65","\uFA3C":"\u5C6E","\u{2F878}":"\u5C6E","\u2F2C":"\u5C6E","\u{2F8F8}":"\u{21D0B}","\u2F2D":"\u5C71","\u{2F879}":"\u5CC0","\u{2F87A}":"\u5C8D","\u{2F87B}":"\u{21DE4}","\u{2F87D}":"\u{21DE6}",\uF9D5:"\u5D19","\u{2F87C}":"\u5D43",\uF921:"\u5D50","\u{2F87F}":"\u5D6B","\u{2F87E}":"\u5D6E","\u{2F880}":"\u5D7C","\u{2F9F4}":"\u5DB2",\uF9AB:"\u5DBA","\u2F2E":"\u5DDB","\u{2F882}":"\u5DE2",\u30A8:"\u5DE5","\u2F2F":"\u5DE5","\u2F30":"\u5DF1","\u2E92":"\u5DF3","\u{2F883}":"\u382F","\u{2F884}":"\u5DFD","\u2F31":"\u5DFE",\u5E32:"\u5E21","\u{2F885}":"\u5E28","\u{2F886}":"\u5E3D","\u{2F887}":"\u5E69","\u{2F888}":"\u3862","\u{2F889}":"\u{22183}","\u2F32":"\u5E72",\uF98E:"\u5E74","\u{2F939}":"\u{2219F}","\u2E93":"\u5E7A","\u2F33":"\u5E7A","\u2F34":"\u5E7F",\uFA01:"\u5EA6","\u{2F88A}":"\u387C","\u{2F88B}":"\u5EB0","\u{2F88C}":"\u5EB3","\u{2F88D}":"\u5EB6",\uF928:"\u5ECA","\u{2F88E}":"\u5ECA",\uF9A2:"\u5EC9","\uFA82":"\u5ED2",\uFA0B:"\u5ED3","\uFA83":"\u5ED9",\uF982:"\u5EEC","\u2F35":"\u5EF4","\u{2F890}":"\u5EFE","\u2F36":"\u5EFE","\u{2F891}":"\u{22331}","\u{2F892}":"\u{22331}",\uF943:"\u5F04","\u2F37":"\u5F0B","\u2F38":"\u5F13","\u{2F894}":"\u5F22","\u{2F895}":"\u5F22","\u2F39":"\u5F50","\u2E94":"\u5F51","\u{2F874}":"\u5F53","\u{2F896}":"\u38C7","\u2F3A":"\u5F61","\u{2F899}":"\u5F62","\uFA84":"\u5F69","\u{2F89A}":"\u5F6B","\u2F3B":"\u5F73",\uF9D8:"\u5F8B","\u{2F89B}":"\u38E3","\u{2F89C}":"\u5F9A",\uF966:"\u5FA9","\uFA85":"\u5FAD","\u2F3C":"\u5FC3","\u2E96":"\u5FC4","\u2E97":"\u38FA","\u{2F89D}":"\u5FCD","\u{2F89E}":"\u5FD7",\uF9A3:"\u5FF5","\u{2F89F}":"\u5FF9",\uF960:"\u6012",\uF9AC:"\u601C","\uFA6B":"\u6075","\u{2F8A2}":"\u391C","\u{2F8A1}":"\u393A","\u{2F8A0}":"\u6081","\uFA3D":"\u6094","\u{2F8A3}":"\u6094","\u{2F8A5}":"\u60C7","\uFA86":"\u60D8",\uF9B9:"\u60E1","\u{2F8A4}":"\u{226D4}","\uFA88":"\u6108","\uFA3E":"\u6168",\uF9D9:"\u6144","\u{2F8A6}":"\u6148","\u{2F8A7}":"\u614C","\u{2F8A9}":"\u614C","\uFA87":"\u614E","\u{2F8A8}":"\u614E","\uFA8A":"\u6160","\u{2F8AA}":"\u617A","\uFA3F":"\u618E","\uFA89":"\u618E","\u{2F8AB}":"\u618E",\uF98F:"\u6190","\u{2F8AD}":"\u61A4","\u{2F8AE}":"\u61AF","\u{2F8AC}":"\u61B2","\uFAD0":"\u{22844}","\uFACF":"\u{2284A}","\u{2F8AF}":"\u61DE","\uFA40":"\u61F2","\uFA8B":"\u61F2","\u{2F8B0}":"\u61F2",\uF90D:"\u61F6","\u{2F8B1}":"\u61F6",\uF990:"\u6200","\u2F3D":"\u6208","\u{2F8B2}":"\u6210","\u{2F8B3}":"\u621B",\uF9D2:"\u622E","\uFA8C":"\u6234","\u2F3E":"\u6236",\u6238:"\u6236","\u2F3F":"\u624B","\u2E98":"\u624C","\u{2F8B4}":"\u625D","\u{2F8B5}":"\u62B1",\uF925:"\u62C9",\uF95B:"\u62CF",\uFA02:"\u62D3","\u{2F8B6}":"\u62D4","\u{2F8BA}":"\u62FC",\uF973:"\u62FE","\u{2F8B8}":"\u{22B0C}","\u{2F8B9}":"\u633D","\u{2F8B7}":"\u6350","\u{2F8BB}":"\u6368",\uF9A4:"\u637B","\u{2F8BC}":"\u6383",\uF975:"\u63A0","\u{2F8C1}":"\u63A9","\uFA8D":"\u63C4","\u{2F8BD}":"\u63E4","\uFA8F":"\u6452","\u{2F8BE}":"\u{22BF1}","\uFA8E":"\u641C","\u{2F8BF}":"\u6422","\u{2F8C0}":"\u63C5","\u{2F8C3}":"\u6469","\u{2F8C6}":"\u6477","\u{2F8C4}":"\u647E","\u{2F8C2}":"\u3A2E",\u6409:"\u3A41",\uF991:"\u649A","\u{2F8C5}":"\u649D",\uF930:"\u64C4","\u{2F8C7}":"\u3A6C","\u2F40":"\u652F","\u2F41":"\u6534","\u2E99":"\u6535","\uFA41":"\u654F","\u{2F8C8}":"\u654F","\uFA90":"\u6556","\u{2F8C9}":"\u656C",\uF969:"\u6578","\u{2F8CA}":"\u{2300A}","\u2F42":"\u6587","\u2EEB":"\u6589","\u2F43":"\u6597",\uF9BE:"\u6599","\u2F44":"\u65A4","\u2F45":"\u65B9",\uF983:"\u65C5","\u2F46":"\u65E0","\u2E9B":"\u65E1","\uFA42":"\u65E2","\u{2F8CB}":"\u65E3","\u2F47":"\u65E5",\uF9E0:"\u6613",\u66F6:"\u3ADA","\u{2F8D1}":"\u3AE4","\u{2F8CD}":"\u6649",\u6669:"\u665A",\uFA12:"\u6674","\uFA91":"\u6674","\uFA43":"\u6691","\u{2F8CF}":"\u6691",\uF9C5:"\u6688","\u{2F8D0}":"\u3B08","\u{2F8D5}":"\u669C",\uFA06:"\u66B4",\uF98B:"\u66C6","\u{2F8CE}":"\u3B19","\u{2F897}":"\u{232B8}","\u2F48":"\u66F0",\uF901:"\u66F4","\u{2F8CC}":"\u66F8","\u2F49":"\u6708","\u{2F980}":"\u{2335F}",\u80A6:"\u670C",\u80D0:"\u670F",\u80CA:"\u6710",\u8101:"\u6713",\u80F6:"\u3B35",\uF929:"\u6717","\uFA92":"\u6717","\u{2F8D8}":"\u6717",\u8127:"\u6718","\uFA93":"\u671B","\u{2F8D9}":"\u671B",\u5E50:"\u3B3A",\u4420:"\u3B3B","\u{2F989}":"\u{23393}",\u81A7:"\u6723","\u{2F98A}":"\u{2339C}","\u2F4A":"\u6728",\uF9E1:"\u674E","\u{2F8DC}":"\u6753","\uFA94":"\u6756","\u{2F8DB}":"\u675E","\u{2F8DD}":"\u{233C3}",\u67FF:"\u676E",\uF9C8:"\u677B","\u{2F8E0}":"\u6785",\uF9F4:"\u6797","\u{2F8DE}":"\u3B49","\uFAD1":"\u{233D5}",\uF9C9:"\u67F3","\u{2F8DF}":"\u67FA",\uF9DA:"\u6817","\u{2F8E5}":"\u681F","\u{2F8E1}":"\u6852","\u{2F8E3}":"\u{2346D}",\uF97A:"\u6881","\uFA44":"\u6885","\u{2F8E2}":"\u6885","\u{2F8E4}":"\u688E",\uF9E2:"\u68A8","\u{2F8E6}":"\u6914","\u{2F8E8}":"\u6942","\uFAD2":"\u3B9D","\u{2F8E7}":"\u3B9D",\u69E9:"\u3BA3",\u6A27:"\u699D","\u{2F8E9}":"\u69A3","\u{2F8EA}":"\u69EA",\uF914:"\u6A02",\uF95C:"\u6A02",\uF9BF:"\u6A02",\uF94C:"\u6A13","\u{2F8EC}":"\u{236A3}","\u{2F8EB}":"\u6AA8",\uF931:"\u6AD3","\u{2F8ED}":"\u6ADB",\uF91D:"\u6B04","\u{2F8EE}":"\u3C18","\u2F4B":"\u6B20","\u{2F8EF}":"\u6B21","\u{2F8F0}":"\u{238A7}","\u{2F8F1}":"\u6B54","\u{2F8F2}":"\u3C4E","\u2F4C":"\u6B62","\u2EED":"\u6B6F","\u{2F8F3}":"\u6B72",\uF98C:"\u6B77","\uFA95":"\u6B79","\u2F4D":"\u6B79","\u2E9E":"\u6B7A","\u{2F8F4}":"\u6B9F",\uF9A5:"\u6BAE","\u2F4E":"\u6BB3",\uF970:"\u6BBA","\uFA96":"\u6BBA","\u{2F8F5}":"\u6BBA","\u{2F8F6}":"\u6BBB","\u{2F8F7}":"\u{23A8D}","\u2F4F":"\u6BCB","\u2E9F":"\u6BCD","\u{2F8F9}":"\u{23AFA}","\u2F50":"\u6BD4","\u2F51":"\u6BDB","\u2F52":"\u6C0F","\u2EA0":"\u6C11","\u2F53":"\u6C14","\u2F54":"\u6C34","\u2EA1":"\u6C35","\u2EA2":"\u6C3A","\u{2F8FA}":"\u6C4E","\u{2F8FE}":"\u6C67",\uF972:"\u6C88","\u{2F8FC}":"\u6CBF",\uF968:"\u6CCC","\u{2F8FD}":"\u6CCD",\uF9E3:"\u6CE5","\u{2F8FB}":"\u{23CBC}",\uF915:"\u6D1B",\uFA05:"\u6D1E","\u{2F907}":"\u6D34","\u{2F900}":"\u6D3E",\uF9CA:"\u6D41","\uFA97":"\u6D41","\u{2F902}":"\u6D41","\u{2F8FF}":"\u6D16","\u{2F903}":"\u6D69",\uF92A:"\u6D6A","\uFA45":"\u6D77","\u{2F901}":"\u6D77","\u{2F904}":"\u6D78","\u{2F905}":"\u6D85","\u{2F906}":"\u{23D1E}",\uF9F5:"\u6DCB",\uF94D:"\u6DDA",\uF9D6:"\u6DEA","\u{2F90E}":"\u6DF9","\uFA46":"\u6E1A","\u{2F908}":"\u6E2F","\u{2F909}":"\u6E6E",\u6F59:"\u6E88","\uFA99":"\u6ECB","\u{2F90B}":"\u6ECB",\uF9CB:"\u6E9C",\uF9EC:"\u6EBA","\u{2F90C}":"\u6EC7",\uF904:"\u6ED1","\uFA98":"\u6EDB","\u{2F90A}":"\u3D33",\uF94E:"\u6F0F","\uFA47":"\u6F22","\uFA9A":"\u6F22",\uF992:"\u6F23","\u{2F90D}":"\u{23ED1}","\u{2F90F}":"\u6F6E","\u{2F910}":"\u{23F5E}","\u{2F911}":"\u{23F8E}","\u{2F912}":"\u6FC6",\uF922:"\u6FEB",\uF984:"\u6FFE","\u{2F915}":"\u701B","\uFA9B":"\u701E","\u{2F914}":"\u701E","\u{2F913}":"\u7039","\u{2F917}":"\u704A","\u{2F916}":"\u3D96","\u2F55":"\u706B","\u2EA3":"\u706C","\u{2F835}":"\u7070","\u{2F919}":"\u7077","\u{2F918}":"\u707D",\uF9FB:"\u7099","\u{2F91A}":"\u70AD",\uF99F:"\u70C8",\uF916:"\u70D9","\uFA48":"\u716E","\uFA9C":"\u716E","\u{2F91D}":"\u{24263}","\u{2F91C}":"\u7145",\uF993:"\u7149","\uFA6C":"\u{242EE}","\u{2F91E}":"\u719C",\uF9C0:"\u71CE",\uF9EE:"\u71D0","\u{2F91F}":"\u{243AB}",\uF932:"\u7210",\uF91E:"\u721B","\u{2F920}":"\u7228","\u2F56":"\u722A","\uFA49":"\u722B","\u2EA4":"\u722B","\uFA9E":"\u7235","\u{2F921}":"\u7235","\u2F57":"\u7236","\u2F58":"\u723B","\u2EA6":"\u4E2C","\u2F59":"\u723F","\u2F5A":"\u7247","\u{2F922}":"\u7250","\u2F5B":"\u7259","\u{2F923}":"\u{24608}","\u2F5C":"\u725B",\uF946:"\u7262","\u{2F924}":"\u7280","\u{2F925}":"\u7295","\u2F5D":"\u72AC","\u2EA8":"\u72AD","\uFA9F":"\u72AF",\uF9FA:"\u72C0","\u{2F926}":"\u{24735}",\uF92B:"\u72FC",\uFA16:"\u732A","\uFAA0":"\u732A","\u{2F927}":"\u{24814}",\uF9A7:"\u7375","\u{2F928}":"\u737A","\u2F5E":"\u7384",\uF961:"\u7387",\uF9DB:"\u7387","\u2F5F":"\u7389","\u{2F929}":"\u738B","\u{2F92A}":"\u3EAC","\u{2F92B}":"\u73A5",\uF9AD:"\u73B2","\u{2F92C}":"\u3EB8","\u{2F92D}":"\u3EB8",\uF917:"\u73DE",\uF9CC:"\u7409",\uF9E4:"\u7406","\uFA4A":"\u7422","\u{2F92E}":"\u7447","\u{2F92F}":"\u745C",\uF9AE:"\u7469","\uFAA1":"\u7471","\u{2F930}":"\u7471","\u{2F931}":"\u7485",\uF994:"\u7489",\uF9EF:"\u7498","\u{2F932}":"\u74CA","\u2F60":"\u74DC","\u2F61":"\u74E6","\u{2F933}":"\u3F1B","\uFAA2":"\u7506","\u2F62":"\u7518","\u2F63":"\u751F","\u{2F934}":"\u7524","\u2F64":"\u7528","\u2F65":"\u7530","\uFAA3":"\u753B","\u{2F936}":"\u753E","\u{2F935}":"\u{24C36}",\uF9CD:"\u7559",\uF976:"\u7565",\uF962:"\u7570","\u{2F938}":"\u7570","\u{2F937}":"\u{24C92}","\u2F66":"\u758B","\u2F67":"\u7592",\uF9E5:"\u75E2","\u{2F93A}":"\u7610","\uFAA5":"\u761F","\uFAA4":"\u761D",\uF9C1:"\u7642",\uF90E:"\u7669","\u2F68":"\u7676","\u2F69":"\u767D","\u{2F93B}":"\u{24FA1}","\u{2F93C}":"\u{24FB8}","\u2F6A":"\u76AE","\u2F6B":"\u76BF","\u{2F93D}":"\u{25044}","\u{2F93E}":"\u3FFC",\uFA17:"\u76CA","\uFAA6":"\u76CA","\uFAA7":"\u76DB",\uF933:"\u76E7","\u{2F93F}":"\u4008","\u2F6C":"\u76EE","\uFAA8":"\u76F4","\u{2F940}":"\u76F4","\u{2F942}":"\u{250F2}","\u{2F941}":"\u{250F3}",\uF96D:"\u7701","\uFAD3":"\u4018","\u{2F943}":"\u{25119}","\u{2F945}":"\u771E","\u{2F946}":"\u771F","\u{2F947}":"\u771F","\u{2F944}":"\u{25133}","\uFAAA":"\u7740","\uFAA9":"\u774A","\u{2F948}":"\u774A","\u9FC3":"\u4039","\uFAD4":"\u4039","\u{2F949}":"\u4039",\u6663:"\u403F","\u{2F94B}":"\u4046","\u{2F94A}":"\u778B","\uFAD5":"\u{25249}","\uFA9D":"\u77A7","\u2F6D":"\u77DB","\u2F6E":"\u77E2","\u2F6F":"\u77F3","\u{2F94C}":"\u4096","\u{2F94D}":"\u{2541D}",\u784F:"\u7814","\u{2F94E}":"\u784E",\uF9CE:"\u786B",\uF93B:"\u788C","\u{2F94F}":"\u788C","\uFA4B":"\u7891",\uF947:"\u78CA","\uFAAB":"\u78CC","\u{2F950}":"\u78CC",\uF964:"\u78FB","\u{2F951}":"\u40E3",\uF985:"\u792A","\u2F70":"\u793A","\u2EAD":"\u793B",\uFA18:"\u793C","\uFA4C":"\u793E","\uFA4E":"\u7948","\uFA4D":"\u7949","\u{2F952}":"\u{25626}","\uFA4F":"\u7950","\uFA50":"\u7956","\u{2F953}":"\u7956","\uFA51":"\u795D",\uFA19:"\u795E",\uFA1A:"\u7965","\uFA61":"\u8996","\uFAB8":"\u8996",\uF93C:"\u797F","\u{2F954}":"\u{2569A}","\uFA52":"\u798D","\uFA53":"\u798E",\uFA1B:"\u798F","\u{2F956}":"\u798F","\u{2F955}":"\u{256C5}",\uF9B6:"\u79AE","\u2F71":"\u79B8","\u2F72":"\u79BE",\uF995:"\u79CA","\u{2F958}":"\u412F","\u{2F957}":"\u79EB",\uF956:"\u7A1C","\u{2F95A}":"\u7A4A","\uFA54":"\u7A40","\u{2F959}":"\u7A40","\u{2F95B}":"\u7A4F","\u2F73":"\u7A74","\uFA55":"\u7A81","\u{2F95C}":"\u{2597C}","\uFAAC":"\u7AB1",\uF9F7:"\u7ACB","\u2F74":"\u7ACB","\u2EEF":"\u7ADC","\u{2F95D}":"\u{25AA7}","\u{2F95E}":"\u{25AA7}","\u{2F95F}":"\u7AEE","\u2F75":"\u7AF9",\uF9F8:"\u7B20","\uFA56":"\u7BC0","\uFAAD":"\u7BC0","\u{2F960}":"\u4202","\u{2F961}":"\u{25BAB}","\u{2F962}":"\u7BC6","\u{2F964}":"\u4227","\u{2F963}":"\u7BC9","\u{2F965}":"\u{25C80}","\uFAD6":"\u{25CD0}",\uF9A6:"\u7C3E",\uF944:"\u7C60","\u2F76":"\u7C73","\uFAAE":"\u7C7B",\uF9F9:"\u7C92",\uFA1D:"\u7CBE","\u{2F966}":"\u7CD2",\uFA03:"\u7CD6","\u{2F968}":"\u7CE8","\u{2F967}":"\u42A0","\u{2F969}":"\u7CE3",\uF97B:"\u7CE7","\u2F77":"\u7CF8","\u2EAF":"\u7CF9","\u{2F96B}":"\u{25F86}","\u{2F96A}":"\u7D00",\uF9CF:"\u7D10",\uF96A:"\u7D22",\uF94F:"\u7D2F",\u7D76:"\u7D55","\u{2F96C}":"\u7D63","\uFAAF":"\u7D5B",\uF93D:"\u7DA0",\uF957:"\u7DBE","\u{2F96E}":"\u7DC7",\uF996:"\u7DF4","\uFA57":"\u7DF4","\uFAB0":"\u7DF4","\u{2F96F}":"\u7E02","\u{2F96D}":"\u4301","\uFA58":"\u7E09",\uF950:"\u7E37","\uFA59":"\u7E41","\u{2F970}":"\u7E45","\u{2F898}":"\u{261DA}","\u{2F971}":"\u4334","\u2F78":"\u7F36","\u{2F972}":"\u{26228}","\uFAB1":"\u7F3E","\u{2F973}":"\u{26247}","\u2F79":"\u7F51","\u2EAB":"\u7F52","\u2EB2":"\u7F52","\u2EB1":"\u7F53","\u{2F974}":"\u4359","\uFA5A":"\u7F72","\u{2F975}":"\u{262D9}",\uF9E6:"\u7F79","\u{2F976}":"\u7F7A",\uF90F:"\u7F85","\u{2F977}":"\u{2633E}","\u2F7A":"\u7F8A","\u{2F978}":"\u7F95",\uF9AF:"\u7F9A",\uFA1E:"\u7FBD","\u2F7B":"\u7FBD","\u{2F979}":"\u7FFA",\uF934:"\u8001","\u2F7C":"\u8001","\u2EB9":"\u8002","\uFA5B":"\u8005","\uFAB2":"\u8005","\u{2F97A}":"\u8005","\u2F7D":"\u800C","\u{2F97B}":"\u{264DA}","\u2F7E":"\u8012","\u{2F97C}":"\u{26523}","\u2F7F":"\u8033",\uF9B0:"\u8046","\u{2F97D}":"\u8060","\u{2F97E}":"\u{265A8}",\uF997:"\u806F","\u{2F97F}":"\u8070",\uF945:"\u807E","\u2F80":"\u807F","\u2EBA":"\u8080","\u2F81":"\u8089",\uF953:"\u808B","\u{2F8D6}":"\u80AD","\u{2F982}":"\u80B2","\u{2F981}":"\u43D5","\u{2F8D7}":"\u43D9",\u8141:"\u80FC","\u{2F983}":"\u8103","\u{2F985}":"\u813E","\u{2F984}":"\u440B","\u{2F8DA}":"\u6721","\u{2F987}":"\u{267A7}","\u{2F988}":"\u{267B5}",\u6726:"\u4443",\uF926:"\u81D8","\u2F82":"\u81E3",\uF9F6:"\u81E8","\u2F83":"\u81EA","\uFA5C":"\u81ED","\u2F84":"\u81F3","\u2F85":"\u81FC","\u{2F893}":"\u8201","\u{2F98B}":"\u8201","\u{2F98C}":"\u8204","\u2F86":"\u820C","\uFA6D":"\u8218","\u2F87":"\u821B","\u2F88":"\u821F","\u{2F98E}":"\u446B","\u2F89":"\u826E",\uF97C:"\u826F","\u2F8A":"\u8272","\u2F8B":"\u8278","\uFA5D":"\u8279","\uFA5E":"\u8279","\u2EBE":"\u8279","\u2EBF":"\u8279","\u2EC0":"\u8279","\u{2F990}":"\u828B","\u{2F98F}":"\u8291","\u{2F991}":"\u829D","\u{2F993}":"\u82B1","\u{2F994}":"\u82B3","\u{2F995}":"\u82BD",\uF974:"\u82E5","\u{2F998}":"\u82E5","\u{2F996}":"\u82E6","\u{2F997}":"\u{26B3C}",\uF9FE:"\u8336","\uFAB3":"\u8352","\u{2F99A}":"\u8363","\u{2F999}":"\u831D","\u{2F99C}":"\u8323","\u{2F99D}":"\u83BD","\u{2F9A0}":"\u8353",\uF93E:"\u83C9","\u{2F9A1}":"\u83CA","\u{2F9A2}":"\u83CC","\u{2F9A3}":"\u83DC","\u{2F99E}":"\u83E7","\uFAB4":"\u83EF",\uF958:"\u83F1","\uFA5F":"\u8457","\u{2F99F}":"\u8457","\u{2F9A4}":"\u{26C36}","\u{2F99B}":"\u83AD",\uF918:"\u843D",\uF96E:"\u8449",\u853F:"\u848D","\u{2F9A6}":"\u{26CD5}","\u{2F9A5}":"\u{26D6B}",\uF999:"\u84EE","\u{2F9A8}":"\u84F1","\u{2F9A9}":"\u84F3",\uF9C2:"\u84FC","\u{2F9AA}":"\u8516","\u{2F9A7}":"\u452B","\u{2F9AC}":"\u8564","\u{2F9AD}":"\u{26F2C}",\uF923:"\u85CD","\u{2F9AE}":"\u455D","\u{2F9B0}":"\u{26FB1}","\u{2F9AF}":"\u4561",\uF9F0:"\u85FA",\uF935:"\u8606","\u{2F9B2}":"\u456B",\uFA20:"\u8612",\uF91F:"\u862D","\u{2F9B1}":"\u{270D2}",\u8641:"\u8637",\uF910:"\u863F","\u2F8C":"\u864D","\u2EC1":"\u864E","\u{2F9B3}":"\u8650",\uF936:"\u865C","\u{2F9B4}":"\u865C","\u{2F9B5}":"\u8667","\u{2F9B6}":"\u8669","\u2F8D":"\u866B","\u{2F9B7}":"\u86A9","\u{2F9B8}":"\u8688","\u{2F9BA}":"\u86E2","\u{2F9B9}":"\u870E","\u{2F9BC}":"\u8728","\u{2F9BD}":"\u876B","\u{2F9C0}":"\u87E1","\uFAB5":"\u8779","\u{2F9BB}":"\u8779","\u{2F9BE}":"\u8786","\u{2F9BF}":"\u45D7","\u{2F9AB}":"\u{273CA}",\uF911:"\u87BA","\u{2F9C1}":"\u8801","\u{2F9C2}":"\u45F9",\uF927:"\u881F","\u2F8E":"\u8840",\uFA08:"\u884C","\u2F8F":"\u884C","\u{2F9C3}":"\u8860","\u{2F9C4}":"\u8863","\u2F90":"\u8863","\u2EC2":"\u8864",\uF9A0:"\u88C2","\u{2F9C5}":"\u{27667}",\uF9E7:"\u88CF","\u{2F9C6}":"\u88D7","\u{2F9C7}":"\u88DE",\uF9E8:"\u88E1",\uF912:"\u88F8","\u{2F9C9}":"\u88FA","\u{2F9C8}":"\u4635","\uFA60":"\u8910","\uFAB6":"\u8941",\uF924:"\u8964","\u2F91":"\u897E","\u2EC4":"\u897F","\u2EC3":"\u8980","\uFAB7":"\u8986",\uFA0A:"\u898B","\u2F92":"\u898B","\u{2F9CB}":"\u{278AE}","\u2EC5":"\u89C1","\u2F93":"\u89D2","\u2F94":"\u8A00","\u{2F9CC}":"\u{27966}",\u8A7D:"\u8A2E",\u8A1E:"\u46B6","\u{2F9CD}":"\u46BE","\u{2F9CE}":"\u46C7","\u{2F9CF}":"\u8AA0",\uF96F:"\u8AAA",\uF9A1:"\u8AAA","\uFAB9":"\u8ABF","\uFABB":"\u8ACB",\uF97D:"\u8AD2",\uF941:"\u8AD6","\uFABE":"\u8AED","\u{2F9D0}":"\u8AED",\uFA22:"\u8AF8","\uFABA":"\u8AF8",\uF95D:"\u8AFE","\uFABD":"\u8AFE","\uFA62":"\u8B01","\uFABC":"\u8B01","\uFA63":"\u8B39","\uFABF":"\u8B39",\uF9FC:"\u8B58",\uF95A:"\u8B80",\u8B8F:"\u8B86","\uFAC0":"\u8B8A","\u{2F9D1}":"\u8B8A","\u2EC8":"\u8BA0","\u2F95":"\u8C37","\u2F96":"\u8C46",\uF900:"\u8C48","\u{2F9D2}":"\u8C55","\u2F97":"\u8C55",\u8C63:"\u8C5C","\u2F98":"\u8C78","\u{2F9D3}":"\u{27CA8}","\u2F99":"\u8C9D","\u{2F9D4}":"\u8CAB","\u{2F9D5}":"\u8CC1",\uF948:"\u8CC2",\uF903:"\u8CC8","\uFA64":"\u8CD3","\uFA65":"\u8D08","\uFAC1":"\u8D08","\u{2F9D6}":"\u8D1B","\u2EC9":"\u8D1D","\u2F9A":"\u8D64","\u2F9B":"\u8D70","\u{2F9D7}":"\u8D77",\u8D86:"\u8D7F","\uFAD7":"\u{27ED3}","\u{2F9D8}":"\u{27F2F}","\u2F9C":"\u8DB3","\u{2F9DA}":"\u8DCB","\u{2F9DB}":"\u8DBC",\u8DFA:"\u8DE5",\uF937:"\u8DEF","\u{2F9DC}":"\u8DF0",\u8E9B:"\u8E97","\u2F9D":"\u8EAB",\uF902:"\u8ECA","\u2F9E":"\u8ECA","\u{2F9DE}":"\u8ED4",\u8F27:"\u8EFF",\uF998:"\u8F26",\uF9D7:"\u8F2A","\uFAC2":"\u8F38","\u{2F9DF}":"\u8F38",\uFA07:"\u8F3B",\uF98D:"\u8F62","\u2ECB":"\u8F66","\u2F9F":"\u8F9B","\u{2F98D}":"\u8F9E",\uF971:"\u8FB0","\u2FA0":"\u8FB0","\u2FA1":"\u8FB5","\uFA66":"\u8FB6","\u2ECC":"\u8FB6","\u2ECD":"\u8FB6","\u{2F881}":"\u5DE1",\uF99A:"\u9023",\uFA25:"\u9038","\uFA67":"\u9038","\uFAC3":"\u9072",\uF9C3:"\u907C","\u{2F9E0}":"\u{285D2}","\u{2F9E1}":"\u{285ED}",\uF913:"\u908F","\u2FA2":"\u9091","\u{2F9E2}":"\u9094",\uF92C:"\u90CE",\u90DE:"\u90CE","\uFA2E":"\u90CE","\u{2F9E3}":"\u90F1",\uFA26:"\u90FD","\u{2F9E5}":"\u{2872E}","\u{2F9E4}":"\u9111","\u{2F9E6}":"\u911B","\u2FA3":"\u9149",\uF919:"\u916A","\uFAC4":"\u9199",\uF9B7:"\u91B4","\u2FA4":"\u91C6",\uF9E9:"\u91CC","\u2FA5":"\u91CC",\uF97E:"\u91CF",\uF90A:"\u91D1","\u2FA6":"\u91D1",\uF9B1:"\u9234","\u{2F9E7}":"\u9238","\uFAC5":"\u9276","\u{2F9E8}":"\u92D7","\u{2F9E9}":"\u92D8","\u{2F9EA}":"\u927C",\uF93F:"\u9304",\uF99B:"\u934A",\u93AE:"\u93AD","\u{2F9EB}":"\u93F9","\u{2F9EC}":"\u9415","\u{2F9ED}":"\u{28BFA}","\u2ED0":"\u9485","\u2ED1":"\u9577","\u2FA7":"\u9577","\u2ED2":"\u9578","\u2ED3":"\u957F","\u2FA8":"\u9580","\u{2F9EE}":"\u958B","\u{2F9EF}":"\u4995",\uF986:"\u95AD","\u{2F9F0}":"\u95B7","\u{2F9F1}":"\u{28D77}","\u2ED4":"\u95E8","\u2FA9":"\u961C","\u2ECF":"\u961D","\u2ED6":"\u961D",\uF9C6:"\u962E",\uF951:"\u964B",\uFA09:"\u964D",\uF959:"\u9675",\uF9D3:"\u9678","\uFAC6":"\u967C",\uF9DC:"\u9686",\uF9F1:"\u96A3","\u{2F9F2}":"\u49E6","\u2FAA":"\u96B6","\uFA2F":"\u96B7",\u96B8:"\u96B7",\uF9B8:"\u96B7","\u2FAB":"\u96B9","\u{2F9F3}":"\u96C3",\uF9EA:"\u96E2","\uFA68":"\u96E3","\uFAC7":"\u96E3","\u2FAC":"\u96E8",\uF9B2:"\u96F6",\uF949:"\u96F7","\u{2F9F5}":"\u9723","\u{2F9F6}":"\u{29145}",\uF938:"\u9732",\uF9B3:"\u9748","\u2FAD":"\u9751","\u2ED8":"\u9752",\uFA1C:"\u9756","\uFAC8":"\u9756","\u{2F81C}":"\u{291DF}","\u2FAE":"\u975E","\u2FAF":"\u9762","\u{2F9F7}":"\u{2921A}","\u2FB0":"\u9769","\u{2F9F8}":"\u4A6E","\u{2F9F9}":"\u4A76","\u2FB1":"\u97CB","\uFAC9":"\u97DB","\u{2F9FA}":"\u97E0","\u2ED9":"\u97E6","\u2FB2":"\u97ED","\u{2F9FB}":"\u{2940A}","\u2FB3":"\u97F3","\uFA69":"\u97FF","\uFACA":"\u97FF","\u2FB4":"\u9801","\u{2F9FC}":"\u4AB2","\uFACB":"\u980B","\u{2F9FE}":"\u980B","\u{2F9FF}":"\u980B",\uF9B4:"\u9818","\u{2FA00}":"\u9829","\u{2F9FD}":"\u{29496}","\uFA6A":"\u983B","\uFACC":"\u983B",\uF9D0:"\u985E","\u2EDA":"\u9875","\u2FB5":"\u98A8","\u{2FA01}":"\u{295B6}","\u2EDB":"\u98CE","\u2FB6":"\u98DB","\u2EDC":"\u98DE","\u2EDD":"\u98DF","\u2FB7":"\u98DF","\u2EDF":"\u98E0","\u{2FA02}":"\u98E2",\uFA2A:"\u98EF",\uFA2B:"\u98FC","\u{2FA03}":"\u4B33",\uFA2C:"\u9928","\u{2FA04}":"\u9929","\u2EE0":"\u9963","\u2FB8":"\u9996","\u2FB9":"\u9999","\u{2FA05}":"\u99A7","\u2FBA":"\u99AC","\u{2FA06}":"\u99C2",\uF91A:"\u99F1","\u{2FA07}":"\u99FE",\uF987:"\u9A6A","\u2EE2":"\u9A6C","\u2FBB":"\u9AA8","\u{2FA08}":"\u4BCE","\u2FBC":"\u9AD8","\u2FBD":"\u9ADF","\u{2FA09}":"\u{29B30}","\uFACD":"\u9B12","\u{2FA0A}":"\u9B12","\u2FBE":"\u9B25","\u2FBF":"\u9B2F","\u2FC0":"\u9B32","\u2FC1":"\u9B3C","\u2EE4":"\u9B3C","\u2FC2":"\u9B5A",\uF939:"\u9B6F","\u{2FA0B}":"\u9C40",\uF9F2:"\u9C57","\u2EE5":"\u9C7C","\u2FC3":"\u9CE5","\u{2FA0C}":"\u9CFD","\u{2FA0D}":"\u4CCE","\u{2FA0F}":"\u9D67","\u{2FA0E}":"\u4CED","\u{2FA10}":"\u{2A0CE}",\uFA2D:"\u9DB4","\u{2FA12}":"\u{2A105}","\u{2FA11}":"\u4CF8",\uF93A:"\u9DFA","\u{2FA13}":"\u{2A20E}",\uF920:"\u9E1E",\u9E43:"\u9E42","\u2FC4":"\u9E75",\uF940:"\u9E7F","\u2FC5":"\u9E7F","\u{2FA14}":"\u{2A291}",\uF988:"\u9E97",\uF9F3:"\u9E9F","\u2FC6":"\u9EA5","\u2EE8":"\u9EA6","\u{2FA15}":"\u9EBB","\u2FC7":"\u9EBB","\u{2F88F}":"\u{2A392}","\u2FC8":"\u9EC3","\u2EE9":"\u9EC4","\u2FC9":"\u9ECD",\uF989:"\u9ECE","\u{2FA16}":"\u4D56","\u2FCA":"\u9ED1",\u9ED2:"\u9ED1","\uFA3A":"\u58A8","\u{2FA17}":"\u9EF9","\u2FCB":"\u9EF9","\u2FCC":"\u9EFD","\u{2FA19}":"\u9F05","\u{2FA18}":"\u9EFE","\u2FCD":"\u9F0E","\u{2FA1A}":"\u9F0F","\u2FCE":"\u9F13","\u{2FA1B}":"\u9F16","\u2FCF":"\u9F20","\u{2FA1C}":"\u9F3B","\u2FD0":"\u9F3B","\uFAD8":"\u9F43","\u2FD1":"\u9F4A","\u2EEC":"\u9F50","\u2FD2":"\u9F52","\u{2FA1D}":"\u{2A600}","\u2EEE":"\u9F7F",\uF9C4:"\u9F8D","\u2FD3":"\u9F8D","\uFAD9":"\u9F8E","\u2EF0":"\u9F99",\uF907:"\u9F9C",\uF908:"\u9F9C","\uFACE":"\u9F9C","\u2FD4":"\u9F9C","\u2EF3":"\u9F9F","\u2FD5":"\u9FA0"},$y=Eb;function Sb(n){return n.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}var bb=RegExp(Object.keys($y).map(Sb).join("|"),"g");function wb(n){return $y[n]}function Rb(n){return n.replace(bb,wb)}var Ib=Rb,Wa={exports:{}},xy={};function Lr(n,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(n)),this._timeouts=n,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}var Tb=Lr;Lr.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Lr.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Lr.prototype.retry=function(n){if(this._timeout&&clearTimeout(this._timeout),!n)return!1;var e=new Date().getTime();if(n&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(n),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(n);var t=this._timeouts.shift();if(t===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),t=this._cachedTimeouts.slice(-1);else return!1;var r=this;return this._timer=setTimeout(function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout(function(){r._operationTimeoutCb(r._attempts)},r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)},t),this._options.unref&&this._timer.unref(),!0};Lr.prototype.attempt=function(n,e){this._fn=n,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var t=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){t._operationTimeoutCb()},t._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Lr.prototype.try=function(n){console.log("Using RetryOperation.try() is deprecated"),this.attempt(n)};Lr.prototype.start=function(n){console.log("Using RetryOperation.start() is deprecated"),this.attempt(n)};Lr.prototype.start=Lr.prototype.try;Lr.prototype.errors=function(){return this._errors};Lr.prototype.attempts=function(){return this._attempts};Lr.prototype.mainError=function(){if(this._errors.length===0)return null;for(var n={},e=null,t=0,r=0;r<this._errors.length;r++){var i=this._errors[r],s=i.message,o=(n[s]||0)+1;n[s]=o,o>=t&&(e=i,t=o)}return e};(function(n){var e=Tb;n.operation=function(t){var r=n.timeouts(t);return new e(r,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})},n.timeouts=function(t){if(t instanceof Array)return[].concat(t);var r={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var i in t)r[i]=t[i];if(r.minTimeout>r.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var s=[],o=0;o<r.retries;o++)s.push(this.createTimeout(o,r));return t&&t.forever&&!s.length&&s.push(this.createTimeout(o,r)),s.sort(function(c,l){return c-l}),s},n.createTimeout=function(t,r){var i=r.randomize?Math.random()+1:1,s=Math.round(i*Math.max(r.minTimeout,1)*Math.pow(r.factor,t));return s=Math.min(s,r.maxTimeout),s},n.wrap=function(t,r,i){if(r instanceof Array&&(i=r,r=null),!i){i=[];for(var s in t)typeof t[s]=="function"&&i.push(s)}for(var o=0;o<i.length;o++){var c=i[o],l=t[c];t[c]=function(a){var g=n.operation(r),m=Array.prototype.slice.call(arguments,1),p=m.pop();m.push(function(E){g.retry(E)||(E&&(arguments[0]=g.mainError()),p.apply(this,arguments))}),g.attempt(function(){a.apply(t,m)})}.bind(t,l),t[c].options=r}}})(xy);var Ob=xy;const kb=Ob,Cb=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"];class Ny extends Error{constructor(e){super();e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}}const Pb=(n,e,t)=>{const r=t.retries-(e-1);return n.attemptNumber=e,n.retriesLeft=r,n},Mb=n=>Cb.includes(n),Ly=(n,e)=>new Promise((t,r)=>{e=uc({onFailedAttempt:()=>{},retries:10},e);const i=kb.operation(e);i.attempt(async s=>{try{t(await n(s))}catch(o){if(!(o instanceof Error)){r(new TypeError(`Non-error was thrown: "${o}". You should only throw errors.`));return}if(o instanceof Ny)i.stop(),r(o.originalError);else if(o instanceof TypeError&&!Mb(o.message))i.stop(),r(o);else{Pb(o,s,e);try{await e.onFailedAttempt(o)}catch(c){r(c);return}i.retry(o)||r(i.mainError())}}})});Wa.exports=Ly;Wa.exports.default=Ly;Wa.exports.AbortError=Ny;var By=V.exports;Object.defineProperty(G,"__esModule",{value:!0});G.DEFAULT_ALPHABET=void 0;G.alphabetPad=Td;G.averageBetweenStrings=sw;G.baseToString=So;G.checkObjectHasKeys=Bb;G.checkObjectHasNoAdditionalKeys=Kb;G.chunkPromises=tw;G.compare=lw;G.decodeParams=$b;G.deepCompare=Id;G.deepCopy=Fb;G.deepSortedObjectEntries=Ky;G.defer=Qb;G.encodeParams=Ub;G.encodeUri=xb;G.ensureNoTrailingSlash=zb;G.escapeRegExp=qy;G.getCrypto=iw;G.globToRegexp=Yb;G.inherits=qb;G.isFunction=Lb;G.isNullOrUndefined=Xb;G.isNumber=Vb;G.lexicographicCompare=Vy;G.nextString=ow;G.normalize=Wb;G.polyfillSuper=jb;G.prevString=aw;G.promiseMapSeries=Zb;G.promiseTry=ew;G.recursivelyAssign=Gy;G.removeDirectionOverrideChars=Gb;G.removeElement=Nb;G.removeHiddenChars=Fy;G.setCrypto=nw;G.simpleRetryOperation=rw;G.sleep=Jb;G.stringToBase=Ua;var Ab=By(Ib),Db=By(Wa.exports);function Ub(n){const e=new URLSearchParams;for(const[t,r]of Object.entries(n))r!=null&&e.set(t,String(r));return e.toString()}function $b(n){const e={},t=new URLSearchParams(n);for(const r of t.keys()){const i=t.getAll(r);e[r]=i.length===1?i[0]:i}return e}function xb(n,e){for(const t in e)!e.hasOwnProperty(t)||(n=n.replace(t,encodeURIComponent(e[t])));return n}function Nb(n,e,t){let r;if(t){for(r=n.length-1;r>=0;r--)if(e(n[r],r,n))return n.splice(r,1),!0}else for(r=0;r<n.length;r++)if(e(n[r],r,n))return n.splice(r,1),!0;return!1}function Lb(n){return Object.prototype.toString.call(n)==="[object Function]"}function Bb(n,e){for(let t=0;t<e.length;t++)if(!n.hasOwnProperty(e[t]))throw new Error("Missing required key: "+e[t])}function Kb(n,e){for(const t in n)if(!!n.hasOwnProperty(t)&&e.indexOf(t)===-1)throw new Error("Unknown key: "+t)}function Fb(n){return JSON.parse(JSON.stringify(n))}function Id(n,e){if(n===e)return!0;if(typeof n!=typeof e)return!1;if(typeof n=="number"&&isNaN(n)&&isNaN(e))return!0;if(n===null||e===null)return n===e;if(!(n instanceof Object)||n.constructor!==e.constructor||n.prototype!==e.prototype)return!1;if(n instanceof RegExp||n instanceof Date)return n.toString()===e.toString();if(n instanceof Array){if(n.length!==e.length)return!1;for(let t=0;t<n.length;t++)if(!Id(n[t],e[t]))return!1}else{let t;for(t in e)if(e.hasOwnProperty(t)!==n.hasOwnProperty(t))return!1;for(t in e)if(e.hasOwnProperty(t)!==n.hasOwnProperty(t)||!Id(n[t],e[t]))return!1}return!0}function Ky(n){if(typeof n!="object"||n==null||Array.isArray(n))return n;const e=[];for(const[t,r]of Object.entries(n))e.push([t,Ky(r)]);return e.sort((t,r)=>Vy(t[0],r[0])),e}function qb(n,e){n.super_=e,n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}})}function jb(n,e,...t){try{e.call(n,...t)}catch{const i=new e(...t);Object.assign(n,i)}}function Vb(n){return typeof n=="number"&&isFinite(n)}function Fy(n){return typeof n=="string"?(0,Ab.default)(n.normalize("NFD").replace(Hb,"")):""}function Gb(n){return typeof n=="string"?n.replace(/[\u202d-\u202e]/g,""):""}function Wb(n){return Fy(n.toLowerCase()).replace(/[\\'!"#$%&()*+,\-./:;<=>?@[\]^_`{|}~\u2000-\u206f\u2e00-\u2e7f]/g,"").toLowerCase()}const Hb=/[\u2000-\u200F\u202A-\u202F\u0300-\u036F\uFEFF\u061C\s]/g;function qy(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Yb(n,e){e=typeof e=="boolean"?e:!0;let t=qy(n);return t=t.replace(/\\\*/g,".*"),t=t.replace(/\?/g,"."),e&&(t=t.replace(/\\\[(!|)(.*)\\]/g,function(r,i,s,o,c){const l=i&&"^"||"",u=s.replace(/\\-/,"-");return"["+l+u+"]"})),t}function zb(n){return n&&n.endsWith("/")?n.substr(0,n.length-1):n}function Jb(n,e){return new Promise(t=>{setTimeout(t,n,e)})}function Xb(n){return n==null}function Qb(){let n,e;const t=new Promise((r,i)=>{n=r,e=i});return{resolve:n,reject:e,promise:t}}async function Zb(n,e){for(const t of n)await e(await t)}function ew(n){return new Promise(e=>e(n()))}async function tw(n,e){const t=[];for(let r=0;r<n.length;r+=e)t.push(...await Promise.all(n.slice(r,r+e).map(i=>i())));return t}function rw(n){return(0,Db.default)(e=>n(e),{forever:!0,factor:2,minTimeout:3e3,maxTimeout:15e3})}let jy;function nw(n){jy=n}function iw(){return jy}const Ts=(()=>{let n="";for(let e=32;e<=126;e++)n+=String.fromCharCode(e);return n})();G.DEFAULT_ALPHABET=Ts;function Td(n,e,t=Ts){return n.padEnd(e,t[0])}function So(n,e=Ts){const t=BigInt(e.length);if(n<=t){var r;return(r=e[Number(n)-1])!==null&&r!==void 0?r:""}let i=n/t,s=Number(n%t)-1;return s<0&&(i-=BigInt(Math.abs(s)),s=Number(t)-1),So(i,e)+e[s]}function Ua(n,e=Ts){const t=BigInt(e.length);let r=BigInt(0);for(let i=n.length-1,s=BigInt(0);i>=0;i--,s++){const o=n.charCodeAt(i)-e.charCodeAt(0);r+=BigInt(1+o)*t**s}return r}function sw(n,e,t=Ts){const r=Math.max(n.length,e.length),i=Ua(Td(n,r,t),t),s=Ua(Td(e,r,t),t),o=(i+s)/BigInt(2);return o===i||o==s?So(o,t)+t[0]:So(o,t)}function ow(n,e=Ts){return So(Ua(n,e)+BigInt(1),e)}function aw(n,e=Ts){return So(Ua(n,e)-BigInt(1),e)}function Vy(n,e){return n<e?-1:n===e?0:1}const cw=new Intl.Collator;function lw(n,e){return cw.compare(n,e)}function Gy(n,e,t=!1){for(const[r,i]of Object.entries(e)){if(n[r]instanceof Object&&i){Gy(n[r],i);continue}if(i!=null||!t){n[r]=i;continue}}return n}var uw=V.exports;Object.defineProperty(Po,"__esModule",{value:!0});Po.MemoryCryptoStore=void 0;var Xt=uw(Y.exports),pc=ie,ap=dw(G);function Wy(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Wy=function(r){return r?t:e})(n)}function dw(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=Wy(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}function cp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function lp(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?cp(Object(t),!0).forEach(function(r){(0,Xt.default)(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):cp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}class hw{constructor(){(0,Xt.default)(this,"outgoingRoomKeyRequests",[]),(0,Xt.default)(this,"account",null),(0,Xt.default)(this,"crossSigningKeys",null),(0,Xt.default)(this,"privateKeys",{}),(0,Xt.default)(this,"sessions",{}),(0,Xt.default)(this,"sessionProblems",{}),(0,Xt.default)(this,"notifiedErrorDevices",{}),(0,Xt.default)(this,"inboundGroupSessions",{}),(0,Xt.default)(this,"inboundGroupSessionsWithheld",{}),(0,Xt.default)(this,"deviceData",null),(0,Xt.default)(this,"rooms",{}),(0,Xt.default)(this,"sessionsNeedingBackup",{}),(0,Xt.default)(this,"sharedHistoryInboundGroupSessions",{})}async startup(){return this}deleteAllData(){return Promise.resolve()}getOrAddOutgoingRoomKeyRequest(e){const t=e.requestBody;return ap.promiseTry(()=>{const r=this._getOutgoingRoomKeyRequest(t);return r?(pc.logger.log(`already have key request outstanding for ${t.room_id} / ${t.session_id}: not sending another`),r):(pc.logger.log(`enqueueing key request for ${t.room_id} / `+t.session_id),this.outgoingRoomKeyRequests.push(e),e)})}getOutgoingRoomKeyRequest(e){return Promise.resolve(this._getOutgoingRoomKeyRequest(e))}_getOutgoingRoomKeyRequest(e){for(const t of this.outgoingRoomKeyRequests)if(ap.deepCompare(t.requestBody,e))return t;return null}getOutgoingRoomKeyRequestByState(e){for(const t of this.outgoingRoomKeyRequests)for(const r of e)if(t.state===r)return Promise.resolve(t);return Promise.resolve(null)}getAllOutgoingRoomKeyRequestsByState(e){return Promise.resolve(this.outgoingRoomKeyRequests.filter(t=>t.state==e))}getOutgoingRoomKeyRequestsByTarget(e,t,r){const i=[];for(const s of this.outgoingRoomKeyRequests)for(const o of r)s.state===o&&s.recipients.includes({userId:e,deviceId:t})&&i.push(s);return Promise.resolve(i)}updateOutgoingRoomKeyRequest(e,t,r){for(const i of this.outgoingRoomKeyRequests)if(i.requestId===e)return i.state!==t?(pc.logger.warn(`Cannot update room key request from ${t} as it was already updated to ${i.state}`),Promise.resolve(null)):(Object.assign(i,r),Promise.resolve(i));return Promise.resolve(null)}deleteOutgoingRoomKeyRequest(e,t){for(let r=0;r<this.outgoingRoomKeyRequests.length;r++){const i=this.outgoingRoomKeyRequests[r];if(i.requestId===e)return i.state!=t?(pc.logger.warn(`Cannot delete room key request in state ${i.state} (expected ${t})`),Promise.resolve(null)):(this.outgoingRoomKeyRequests.splice(r,1),Promise.resolve(i))}return Promise.resolve(null)}getAccount(e,t){t(this.account)}storeAccount(e,t){this.account=t}getCrossSigningKeys(e,t){t(this.crossSigningKeys)}getSecretStorePrivateKey(e,t,r){const i=this.privateKeys[r];t(i||null)}storeCrossSigningKeys(e,t){this.crossSigningKeys=t}storeSecretStorePrivateKey(e,t,r){this.privateKeys[t]=r}countEndToEndSessions(e,t){t(Object.keys(this.sessions).length)}getEndToEndSession(e,t,r,i){const s=this.sessions[e]||{};i(s[t]||null)}getEndToEndSessions(e,t,r){r(this.sessions[e]||{})}getAllEndToEndSessions(e,t){Object.entries(this.sessions).forEach(([r,i])=>{Object.entries(i).forEach(([s,o])=>{t(lp(lp({},o),{},{deviceKey:r,sessionId:s}))})})}storeEndToEndSession(e,t,r,i){let s=this.sessions[e];s===void 0&&(s={},this.sessions[e]=s),s[t]=r}async storeEndToEndSessionProblem(e,t,r){const i=this.sessionProblems[e]=this.sessionProblems[e]||[];i.push({type:t,fixed:r,time:Date.now()}),i.sort((s,o)=>s.time-o.time)}async getEndToEndSessionProblem(e,t){const r=this.sessionProblems[e]||[];if(!r.length)return null;const i=r[r.length-1];for(const s of r)if(s.time>t)return Object.assign({},s,{fixed:i.fixed});return i.fixed?null:i}async filterOutNotifiedErrorDevices(e){const t=this.notifiedErrorDevices,r=[];for(const i of e){const{userId:s,deviceInfo:o}=i;s in t?o.deviceId in t[s]||(r.push(i),t[s][o.deviceId]=!0):(r.push(i),t[s]={[o.deviceId]:!0})}return r}getEndToEndInboundGroupSession(e,t,r,i){const s=e+"/"+t;i(this.inboundGroupSessions[s]||null,this.inboundGroupSessionsWithheld[s]||null)}getAllEndToEndInboundGroupSessions(e,t){for(const r of Object.keys(this.inboundGroupSessions))t({senderKey:r.substr(0,43),sessionId:r.substr(44),sessionData:this.inboundGroupSessions[r]});t(null)}addEndToEndInboundGroupSession(e,t,r,i){const s=e+"/"+t;this.inboundGroupSessions[s]===void 0&&(this.inboundGroupSessions[s]=r)}storeEndToEndInboundGroupSession(e,t,r,i){this.inboundGroupSessions[e+"/"+t]=r}storeEndToEndInboundGroupSessionWithheld(e,t,r,i){const s=e+"/"+t;this.inboundGroupSessionsWithheld[s]=r}getEndToEndDeviceData(e,t){t(this.deviceData)}storeEndToEndDeviceData(e,t){this.deviceData=e}storeEndToEndRoom(e,t,r){this.rooms[e]=t}getEndToEndRooms(e,t){t(this.rooms)}getSessionsNeedingBackup(e){const t=[];for(const r in this.sessionsNeedingBackup)if(this.inboundGroupSessions[r]&&(t.push({senderKey:r.substr(0,43),sessionId:r.substr(44),sessionData:this.inboundGroupSessions[r]}),e&&r.length>=e))break;return Promise.resolve(t)}countSessionsNeedingBackup(){return Promise.resolve(Object.keys(this.sessionsNeedingBackup).length)}unmarkSessionsNeedingBackup(e){for(const t of e){const r=t.senderKey+"/"+t.sessionId;delete this.sessionsNeedingBackup[r]}return Promise.resolve()}markSessionsNeedingBackup(e){for(const t of e){const r=t.senderKey+"/"+t.sessionId;this.sessionsNeedingBackup[r]=!0}return Promise.resolve()}addSharedHistoryInboundGroupSession(e,t,r){const i=this.sharedHistoryInboundGroupSessions[e]||[];i.push([t,r]),this.sharedHistoryInboundGroupSessions[e]=i}getSharedHistoryInboundGroupSessions(e){return Promise.resolve(this.sharedHistoryInboundGroupSessions[e]||[])}doTxn(e,t,r){return Promise.resolve(r(null))}}Po.MemoryCryptoStore=hw;var Ha={},en={},qe={},kl={exports:{}},lo=typeof Reflect=="object"?Reflect:null,up=lo&&typeof lo.apply=="function"?lo.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)},Wc;lo&&typeof lo.ownKeys=="function"?Wc=lo.ownKeys:Object.getOwnPropertySymbols?Wc=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Wc=function(e){return Object.getOwnPropertyNames(e)};function fw(n){console&&console.warn&&console.warn(n)}var Hy=Number.isNaN||function(e){return e!==e};function Oe(){Oe.init.call(this)}kl.exports=Oe;kl.exports.once=yw;Oe.EventEmitter=Oe;Oe.prototype._events=void 0;Oe.prototype._eventsCount=0;Oe.prototype._maxListeners=void 0;var dp=10;function Cl(n){if(typeof n!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n)}Object.defineProperty(Oe,"defaultMaxListeners",{enumerable:!0,get:function(){return dp},set:function(n){if(typeof n!="number"||n<0||Hy(n))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+n+".");dp=n}});Oe.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Oe.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Hy(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Yy(n){return n._maxListeners===void 0?Oe.defaultMaxListeners:n._maxListeners}Oe.prototype.getMaxListeners=function(){return Yy(this)};Oe.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i=e==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var c=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw c.context=o,c}var l=s[e];if(l===void 0)return!1;if(typeof l=="function")up(l,this,t);else for(var u=l.length,a=Zy(l,u),r=0;r<u;++r)up(a[r],this,t);return!0};function zy(n,e,t,r){var i,s,o;if(Cl(t),s=n._events,s===void 0?(s=n._events=Object.create(null),n._eventsCount=0):(s.newListener!==void 0&&(n.emit("newListener",e,t.listener?t.listener:t),s=n._events),o=s[e]),o===void 0)o=s[e]=t,++n._eventsCount;else if(typeof o=="function"?o=s[e]=r?[t,o]:[o,t]:r?o.unshift(t):o.push(t),i=Yy(n),i>0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=n,c.type=e,c.count=o.length,fw(c)}return n}Oe.prototype.addListener=function(e,t){return zy(this,e,t,!1)};Oe.prototype.on=Oe.prototype.addListener;Oe.prototype.prependListener=function(e,t){return zy(this,e,t,!0)};function pw(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Jy(n,e,t){var r={fired:!1,wrapFn:void 0,target:n,type:e,listener:t},i=pw.bind(r);return i.listener=t,r.wrapFn=i,i}Oe.prototype.once=function(e,t){return Cl(t),this.on(e,Jy(this,e,t)),this};Oe.prototype.prependOnceListener=function(e,t){return Cl(t),this.prependListener(e,Jy(this,e,t)),this};Oe.prototype.removeListener=function(e,t){var r,i,s,o,c;if(Cl(t),i=this._events,i===void 0)return this;if(r=i[e],r===void 0)return this;if(r===t||r.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if(typeof r!="function"){for(s=-1,o=r.length-1;o>=0;o--)if(r[o]===t||r[o].listener===t){c=r[o].listener,s=o;break}if(s<0)return this;s===0?r.shift():gw(r,s),r.length===1&&(i[e]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",e,c||t)}return this};Oe.prototype.off=Oe.prototype.removeListener;Oe.prototype.removeAllListeners=function(e){var t,r,i;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[e]),this;if(arguments.length===0){var s=Object.keys(r),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(t=r[e],typeof t=="function")this.removeListener(e,t);else if(t!==void 0)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this};function Xy(n,e,t){var r=n._events;if(r===void 0)return[];var i=r[e];return i===void 0?[]:typeof i=="function"?t?[i.listener||i]:[i]:t?mw(i):Zy(i,i.length)}Oe.prototype.listeners=function(e){return Xy(this,e,!0)};Oe.prototype.rawListeners=function(e){return Xy(this,e,!1)};Oe.listenerCount=function(n,e){return typeof n.listenerCount=="function"?n.listenerCount(e):Qy.call(n,e)};Oe.prototype.listenerCount=Qy;function Qy(n){var e=this._events;if(e!==void 0){var t=e[n];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}Oe.prototype.eventNames=function(){return this._eventsCount>0?Wc(this._events):[]};function Zy(n,e){for(var t=new Array(e),r=0;r<e;++r)t[r]=n[r];return t}function gw(n,e){for(;e+1<n.length;e++)n[e]=n[e+1];n.pop()}function mw(n){for(var e=new Array(n.length),t=0;t<e.length;++t)e[t]=n[t].listener||n[t];return e}function yw(n,e){return new Promise(function(t,r){function i(o){n.removeListener(e,s),r(o)}function s(){typeof n.removeListener=="function"&&n.removeListener("error",i),t([].slice.call(arguments))}ev(n,e,s,{once:!0}),e!=="error"&&vw(n,i,{once:!0})})}function vw(n,e,t){typeof n.on=="function"&&ev(n,"error",e,t)}function ev(n,e,t,r){if(typeof n.on=="function")r.once?n.once(e,t):n.on(e,t);else if(typeof n.addEventListener=="function")n.addEventListener(e,function i(s){r.once&&n.removeEventListener(e,i),t(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof n)}Object.defineProperty(qe,"__esModule",{value:!0});qe.TypedEventEmitter=qe.EventEmitterEvents=void 0;var _w=kl.exports;let Od;qe.EventEmitterEvents=Od;(function(n){n.NewListener="newListener",n.RemoveListener="removeListener",n.Error="error"})(Od||(qe.EventEmitterEvents=Od={}));class Ew extends _w.EventEmitter{addListener(e,t){return super.addListener(e,t)}emit(e,...t){return super.emit(e,...t)}eventNames(){return super.eventNames()}listenerCount(e){return super.listenerCount(e)}listeners(e){return super.listeners(e)}off(e,t){return super.off(e,t)}on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}prependListener(e,t){return super.prependListener(e,t)}prependOnceListener(e,t){return super.prependOnceListener(e,t)}removeAllListeners(e){return super.removeAllListeners(e)}removeListener(e,t){return super.removeListener(e,t)}rawListeners(e){return super.rawListeners(e)}}qe.TypedEventEmitter=Ew;var Sw=V.exports;Object.defineProperty(en,"__esModule",{value:!0});en.UserEvent=en.User=void 0;var Vr=Sw(Y.exports),bw=qe;let Vn;en.UserEvent=Vn;(function(n){n.DisplayName="User.displayName",n.AvatarUrl="User.avatarUrl",n.Presence="User.presence",n.CurrentlyActive="User.currentlyActive",n.LastPresenceTs="User.lastPresenceTs",n._UnstableStatusMessage="User.unstable_statusMessage"})(Vn||(en.UserEvent=Vn={}));class ww extends bw.TypedEventEmitter{constructor(e){super();this.userId=e,(0,Vr.default)(this,"modified",void 0),(0,Vr.default)(this,"displayName",void 0),(0,Vr.default)(this,"rawDisplayName",void 0),(0,Vr.default)(this,"avatarUrl",void 0),(0,Vr.default)(this,"presenceStatusMsg",null),(0,Vr.default)(this,"presence","offline"),(0,Vr.default)(this,"lastActiveAgo",0),(0,Vr.default)(this,"lastPresenceTs",0),(0,Vr.default)(this,"currentlyActive",!1),(0,Vr.default)(this,"events",{presence:null,profile:null}),(0,Vr.default)(this,"unstable_statusMessage",""),this.displayName=e,this.rawDisplayName=e,this.avatarUrl=null,this.updateModifiedTime()}setPresenceEvent(e){if(e.getType()!=="m.presence")return;const t=this.events.presence===null;this.events.presence=e;const r=[];(e.getContent().presence!==this.presence||t)&&r.push(Vn.Presence),e.getContent().avatar_url&&e.getContent().avatar_url!==this.avatarUrl&&r.push(Vn.AvatarUrl),e.getContent().displayname&&e.getContent().displayname!==this.displayName&&r.push(Vn.DisplayName),e.getContent().currently_active!==void 0&&e.getContent().currently_active!==this.currentlyActive&&r.push(Vn.CurrentlyActive),this.presence=e.getContent().presence,r.push(Vn.LastPresenceTs),e.getContent().status_msg&&(this.presenceStatusMsg=e.getContent().status_msg),e.getContent().displayname&&(this.displayName=e.getContent().displayname),e.getContent().avatar_url&&(this.avatarUrl=e.getContent().avatar_url),this.lastActiveAgo=e.getContent().last_active_ago,this.lastPresenceTs=Date.now(),this.currentlyActive=e.getContent().currently_active,this.updateModifiedTime();for(let i=0;i<r.length;i++)this.emit(r[i],e,this)}setDisplayName(e){const t=this.displayName;typeof e=="string"?this.displayName=e:this.displayName=void 0,e!==t&&this.updateModifiedTime()}setRawDisplayName(e){typeof e=="string"?this.rawDisplayName=e:this.rawDisplayName=void 0}setAvatarUrl(e){const t=this.avatarUrl;this.avatarUrl=e,e!==t&&this.updateModifiedTime()}updateModifiedTime(){this.modified=Date.now()}getLastModifiedTime(){return this.modified}getLastActiveTs(){return this.lastPresenceTs-this.lastActiveAgo}unstable_updateStatusMessage(e){e.getContent()?this.unstable_statusMessage=e.getContent().status:this.unstable_statusMessage="",this.updateModifiedTime(),this.emit(Vn._UnstableStatusMessage,this)}}en.User=ww;var Tn={},tn={},Mo={};Object.defineProperty(Mo,"__esModule",{value:!0});Mo.getHttpUriForMxc=Tw;var Rw=Iw(G);function tv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(tv=function(r){return r?t:e})(n)}function Iw(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=tv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}function Tw(n,e,t,r,i,s=!1){if(typeof e!="string"||!e)return"";if(e.indexOf("mxc://")!==0)return s?e:"";let o=e.slice(6),c="/_matrix/media/r0/download/";const l={};t&&(l.width=Math.round(t).toString()),r&&(l.height=Math.round(r).toString()),i&&(l.method=i),Object.keys(l).length>0&&(c="/_matrix/media/r0/thumbnail/");const u=o.indexOf("#");let a="";u>=0&&(a=o.substr(u),o=o.substr(0,u));const g=Object.keys(l).length===0?"":"?"+Rw.encodeParams(l);return n+c+o+g+a}var ne={},Sr={},Ow=V.exports;Object.defineProperty(Sr,"__esModule",{value:!0});Sr.UnstableValue=Sr.ServerControlledNamespacedValue=Sr.NamespacedValue=void 0;var kw=Ow(Y.exports);class Zh{constructor(e,t){if(this.stable=e,this.unstable=t,!this.unstable&&!this.stable)throw new Error("One of stable or unstable values must be supplied")}get name(){return this.stable?this.stable:this.unstable}get altName(){return this.stable?this.unstable:null}matches(e){return this.name===e||this.altName===e}findIn(e){let t;return this.name&&(t=e==null?void 0:e[this.name]),!t&&this.altName&&(t=e==null?void 0:e[this.altName]),t}includedIn(e){let t=!1;return this.name&&(t=e.includes(this.name)),!t&&this.altName&&(t=e.includes(this.altName)),t}}Sr.NamespacedValue=Zh;class Cw extends Zh{constructor(...e){super(...e);(0,kw.default)(this,"preferUnstable",!1)}setPreferUnstable(e){this.preferUnstable=e}get name(){return this.stable&&!this.preferUnstable?this.stable:this.unstable}}Sr.ServerControlledNamespacedValue=Cw;class Pw extends Zh{constructor(e,t){super(e,t);if(!this.unstable)throw new Error("Unstable value must be supplied")}get name(){return this.unstable}get altName(){return this.stable}}Sr.UnstableValue=Pw;Object.defineProperty(ne,"__esModule",{value:!0});ne.UNSTABLE_MSC3089_TREE_SUBTYPE=ne.UNSTABLE_MSC3089_LEAF=ne.UNSTABLE_MSC3089_BRANCH=ne.UNSTABLE_MSC3088_PURPOSE=ne.UNSTABLE_MSC3088_ENABLED=ne.UNSTABLE_ELEMENT_FUNCTIONAL_USERS=ne.RoomType=ne.RoomCreateTypeField=ne.RelationType=ne.MsgType=ne.EventType=ne.EVENT_VISIBILITY_CHANGE_TYPE=void 0;var Os=Sr;let kd;ne.EventType=kd;(function(n){n.RoomCanonicalAlias="m.room.canonical_alias",n.RoomCreate="m.room.create",n.RoomJoinRules="m.room.join_rules",n.RoomMember="m.room.member",n.RoomThirdPartyInvite="m.room.third_party_invite",n.RoomPowerLevels="m.room.power_levels",n.RoomName="m.room.name",n.RoomTopic="m.room.topic",n.RoomAvatar="m.room.avatar",n.RoomPinnedEvents="m.room.pinned_events",n.RoomEncryption="m.room.encryption",n.RoomHistoryVisibility="m.room.history_visibility",n.RoomGuestAccess="m.room.guest_access",n.RoomServerAcl="m.room.server_acl",n.RoomTombstone="m.room.tombstone",n.RoomAliases="m.room.aliases",n.SpaceChild="m.space.child",n.SpaceParent="m.space.parent",n.RoomRedaction="m.room.redaction",n.RoomMessage="m.room.message",n.RoomMessageEncrypted="m.room.encrypted",n.Sticker="m.sticker",n.CallInvite="m.call.invite",n.CallCandidates="m.call.candidates",n.CallAnswer="m.call.answer",n.CallHangup="m.call.hangup",n.CallReject="m.call.reject",n.CallSelectAnswer="m.call.select_answer",n.CallNegotiate="m.call.negotiate",n.CallSDPStreamMetadataChanged="m.call.sdp_stream_metadata_changed",n.CallSDPStreamMetadataChangedPrefix="org.matrix.call.sdp_stream_metadata_changed",n.CallReplaces="m.call.replaces",n.CallAssertedIdentity="m.call.asserted_identity",n.CallAssertedIdentityPrefix="org.matrix.call.asserted_identity",n.KeyVerificationRequest="m.key.verification.request",n.KeyVerificationStart="m.key.verification.start",n.KeyVerificationCancel="m.key.verification.cancel",n.KeyVerificationMac="m.key.verification.mac",n.KeyVerificationDone="m.key.verification.done",n.RoomMessageFeedback="m.room.message.feedback",n.Reaction="m.reaction",n.Typing="m.typing",n.Receipt="m.receipt",n.Presence="m.presence",n.FullyRead="m.fully_read",n.Tag="m.tag",n.SpaceOrder="org.matrix.msc3230.space_order",n.PushRules="m.push_rules",n.Direct="m.direct",n.IgnoredUserList="m.ignored_user_list",n.RoomKey="m.room_key",n.RoomKeyRequest="m.room_key_request",n.ForwardedRoomKey="m.forwarded_room_key",n.Dummy="m.dummy"})(kd||(ne.EventType=kd={}));let Cd;ne.RelationType=Cd;(function(n){n.Annotation="m.annotation",n.Replace="m.replace",n.Reference="m.reference",n.Thread="io.element.thread"})(Cd||(ne.RelationType=Cd={}));let Pd;ne.MsgType=Pd;(function(n){n.Text="m.text",n.Emote="m.emote",n.Notice="m.notice",n.Image="m.image",n.File="m.file",n.Audio="m.audio",n.Location="m.location",n.Video="m.video",n.KeyVerificationRequest="m.key.verification.request"})(Pd||(ne.MsgType=Pd={}));const Mw="type";ne.RoomCreateTypeField=Mw;let Md;ne.RoomType=Md;(function(n){n.Space="m.space"})(Md||(ne.RoomType=Md={}));const Aw=new Os.UnstableValue("m.room.purpose","org.matrix.msc3088.purpose");ne.UNSTABLE_MSC3088_PURPOSE=Aw;const Dw=new Os.UnstableValue("m.enabled","org.matrix.msc3088.enabled");ne.UNSTABLE_MSC3088_ENABLED=Dw;const Uw=new Os.UnstableValue("m.data_tree","org.matrix.msc3089.data_tree");ne.UNSTABLE_MSC3089_TREE_SUBTYPE=Uw;const $w=new Os.UnstableValue("m.leaf","org.matrix.msc3089.leaf");ne.UNSTABLE_MSC3089_LEAF=$w;const xw=new Os.UnstableValue("m.branch","org.matrix.msc3089.branch");ne.UNSTABLE_MSC3089_BRANCH=xw;const Nw=new Os.UnstableValue("io.element.functional_members","io.element.functional_members");ne.UNSTABLE_ELEMENT_FUNCTIONAL_USERS=Nw;const Lw=new Os.UnstableValue("m.visibility","org.matrix.msc3531.visibility");ne.EVENT_VISIBILITY_CHANGE_TYPE=Lw;var Bw=V.exports;Object.defineProperty(tn,"__esModule",{value:!0});tn.RoomMemberEvent=tn.RoomMember=void 0;var Ir=Bw(Y.exports),Kw=Mo,uo=Vw(G),Fw=ie,qw=qe,jw=ne;function rv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(rv=function(r){return r?t:e})(n)}function Vw(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=rv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}let is;tn.RoomMemberEvent=is;(function(n){n.Membership="RoomMember.membership",n.Name="RoomMember.name",n.PowerLevel="RoomMember.powerLevel",n.Typing="RoomMember.typing"})(is||(tn.RoomMemberEvent=is={}));class Gw extends qw.TypedEventEmitter{constructor(e,t){super();this.roomId=e,this.userId=t,(0,Ir.default)(this,"_isOutOfBand",!1),(0,Ir.default)(this,"_modified",void 0),(0,Ir.default)(this,"_requestedProfileInfo",void 0),(0,Ir.default)(this,"typing",!1),(0,Ir.default)(this,"name",void 0),(0,Ir.default)(this,"rawDisplayName",void 0),(0,Ir.default)(this,"powerLevel",0),(0,Ir.default)(this,"powerLevelNorm",0),(0,Ir.default)(this,"user",null),(0,Ir.default)(this,"membership",null),(0,Ir.default)(this,"disambiguate",!1),(0,Ir.default)(this,"events",{member:null}),this.name=t,this.rawDisplayName=t,this.updateModifiedTime()}markOutOfBand(){this._isOutOfBand=!0}isOutOfBand(){return this._isOutOfBand}setMembershipEvent(e,t){const r=e.getDirectionalContent().displayname;if(e.getType()!==jw.EventType.RoomMember)return;this._isOutOfBand=!1,this.events.member=e;const i=this.membership;this.membership=e.getDirectionalContent().membership,this.membership===void 0&&Fw.logger.trace(`membership event with membership undefined (forwardLooking: ${e.forwardLooking})!`,e.getContent(),"prevcontent is ",e.getPrevContent()),this.disambiguate=Yw(this.userId,r,t);const s=this.name;this.name=zw(this.userId,r,t,this.disambiguate),this.rawDisplayName=uo.removeDirectionOverrideChars(e.getDirectionalContent().displayname),(!this.rawDisplayName||!uo.removeHiddenChars(this.rawDisplayName))&&(this.rawDisplayName=this.userId),i!==this.membership&&(this.updateModifiedTime(),this.emit(is.Membership,e,this,i)),s!==this.name&&(this.updateModifiedTime(),this.emit(is.Name,e,this,s))}setPowerLevelEvent(e){if(e.getType()!=="m.room.power_levels")return;const t=e.getDirectionalContent();let r=t.users_default||0;const i=t.users||{};Object.values(i).forEach(function(c){r=Math.max(r,c)});const s=this.powerLevel,o=this.powerLevelNorm;i[this.userId]!==void 0&&Number.isInteger(i[this.userId])?this.powerLevel=i[this.userId]:t.users_default!==void 0?this.powerLevel=t.users_default:this.powerLevel=0,this.powerLevelNorm=0,r>0&&(this.powerLevelNorm=this.powerLevel*100/r),(s!==this.powerLevel||o!==this.powerLevelNorm)&&(this.updateModifiedTime(),this.emit(is.PowerLevel,e,this))}setTypingEvent(e){if(e.getType()!=="m.typing")return;const t=this.typing;this.typing=!1;const r=e.getContent().user_ids;!Array.isArray(r)||(r.indexOf(this.userId)!==-1&&(this.typing=!0),t!==this.typing&&(this.updateModifiedTime(),this.emit(is.Typing,e,this)))}updateModifiedTime(){this._modified=Date.now()}getLastModifiedTime(){return this._modified}isKicked(){return this.membership==="leave"&&this.events.member.getSender()!==this.events.member.getStateKey()}getDMInviter(){if(this.events.member){const e=this.events.member;let t=e.getContent(),r=e.getSender();if(t.membership==="join"&&(t=e.getPrevContent(),r=e.getUnsigned().prev_sender),t.membership==="invite"&&t.is_direct)return r}}getAvatarUrl(e,t,r,i,s=!0,o){const c=this.getMxcAvatarUrl();if(!c&&!s)return null;const l=(0,Kw.getHttpUriForMxc)(e,c,t,r,i,o);return l||null}getMxcAvatarUrl(){return this.events.member?this.events.member.getDirectionalContent().avatar_url:this.user?this.user.avatarUrl:null}}tn.RoomMember=Gw;const Ww=/@.+:.+/,Hw=/[\u200E\u200F\u202A-\u202F]/;function Yw(n,e,t){return!e||e===n||!uo.removeHiddenChars(e)||!t?!1:!!(Ww.test(e)||Hw.test(e)||t.getUserIdsWithDisplayName(e).some(i=>i!==n))}function zw(n,e,t,r){return r?uo.removeDirectionOverrideChars(e)+" ("+n+")":!e||e===n||!uo.removeHiddenChars(e)?n:uo.removeDirectionOverrideChars(e)}var Ye={};Object.defineProperty(Ye,"__esModule",{value:!0});Ye.Visibility=Ye.RestrictedAllowType=Ye.Preset=Ye.JoinRule=Ye.HistoryVisibility=Ye.GuestAccess=void 0;let Ad;Ye.Visibility=Ad;(function(n){n.Public="public",n.Private="private"})(Ad||(Ye.Visibility=Ad={}));let Dd;Ye.Preset=Dd;(function(n){n.PrivateChat="private_chat",n.TrustedPrivateChat="trusted_private_chat",n.PublicChat="public_chat"})(Dd||(Ye.Preset=Dd={}));let Ud;Ye.JoinRule=Ud;(function(n){n.Public="public",n.Invite="invite",n.Private="private",n.Knock="knock",n.Restricted="restricted"})(Ud||(Ye.JoinRule=Ud={}));let $d;Ye.RestrictedAllowType=$d;(function(n){n.RoomMembership="m.room_membership"})($d||(Ye.RestrictedAllowType=$d={}));let xd;Ye.GuestAccess=xd;(function(n){n.CanJoin="can_join",n.Forbidden="forbidden"})(xd||(Ye.GuestAccess=xd={}));let Nd;Ye.HistoryVisibility=Nd;(function(n){n.Invited="invited",n.Joined="joined",n.Shared="shared",n.WorldReadable="world_readable"})(Nd||(Ye.HistoryVisibility=Nd={}));var _r={},In={};Object.defineProperty(In,"__esModule",{value:!0});In.M_BEACON_INFO_VARIABLE=In.M_BEACON_INFO=In.M_BEACON=void 0;var ef=Sr;const Jw=new ef.UnstableValue("m.beacon_info.*","org.matrix.msc3489.beacon_info.*");In.M_BEACON_INFO_VARIABLE=Jw;const Xw=new ef.UnstableValue("m.beacon_info","org.matrix.msc3489.beacon_info");In.M_BEACON_INFO=Xw;const Qw=new ef.UnstableValue("m.beacon","org.matrix.msc3489.beacon");In.M_BEACON=Qw;var ze={},Pl={},Ml={},Ya={};Object.defineProperty(Ya,"__esModule",{value:!0});Ya.NamespacedMap=void 0;function Zw(n,e){var t=typeof Symbol!="undefined"&&n[Symbol.iterator]||n["@@iterator"];if(!t){if(Array.isArray(n)||(t=e0(n))||e&&n&&typeof n.length=="number"){t&&(n=t);var r=0,i=function(){};return{s:i,n:function(){return r>=n.length?{done:!0}:{done:!1,value:n[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s=!0,o=!1,c;return{s:function(){t=t.call(n)},n:function(){var u=t.next();return s=u.done,u},e:function(u){o=!0,c=u},f:function(){try{!s&&t.return!=null&&t.return()}finally{if(o)throw c}}}}function e0(n,e){if(!!n){if(typeof n=="string")return hp(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return hp(n,e)}}function hp(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function t0(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function fp(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function r0(n,e,t){return e&&fp(n.prototype,e),t&&fp(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function n0(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var i0=function(){function n(e){if(t0(this,n),n0(this,"internalMap",new Map),e){var t=Zw(e),r;try{for(t.s();!(r=t.n()).done;){var i=r.value;this.set(i[0],i[1])}}catch(s){t.e(s)}finally{t.f()}}}return r0(n,[{key:"get",value:function(t){return t.name&&this.internalMap.has(t.name)?this.internalMap.get(t.name):t.altName&&this.internalMap.has(t.altName)?this.internalMap.get(t.altName):null}},{key:"set",value:function(t,r){t.name&&this.internalMap.set(t.name,r),t.altName&&this.internalMap.set(t.altName,r)}},{key:"has",value:function(t){return!!this.get(t)}},{key:"delete",value:function(t){t.name&&this.internalMap.delete(t.name),t.altName&&this.internalMap.delete(t.altName)}},{key:"hasNamespaced",value:function(t){return this.internalMap.has(t)}},{key:"getNamespaced",value:function(t){return this.internalMap.get(t)}}]),n}();Ya.NamespacedMap=i0;var ni={};function Ld(n){return Ld=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ld(n)}Object.defineProperty(ni,"__esModule",{value:!0});ni.InvalidEventError=void 0;function pp(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function s0(n,e,t){return e&&pp(n.prototype,e),t&&pp(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function o0(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function a0(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&$a(n,e)}function c0(n){var e=nv();return function(){var r=xa(n),i;if(e){var s=xa(this).constructor;i=Reflect.construct(r,arguments,s)}else i=r.apply(this,arguments);return l0(this,i)}}function l0(n,e){if(e&&(Ld(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return u0(n)}function u0(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function Bd(n){var e=typeof Map=="function"?new Map:void 0;return Bd=function(r){if(r===null||!d0(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e!="undefined"){if(e.has(r))return e.get(r);e.set(r,i)}function i(){return Hc(r,arguments,xa(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),$a(i,r)},Bd(n)}function Hc(n,e,t){return nv()?Hc=Reflect.construct:Hc=function(i,s,o){var c=[null];c.push.apply(c,s);var l=Function.bind.apply(i,c),u=new l;return o&&$a(u,o.prototype),u},Hc.apply(null,arguments)}function nv(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function d0(n){return Function.toString.call(n).indexOf("[native code]")!==-1}function $a(n,e){return $a=Object.setPrototypeOf||function(r,i){return r.__proto__=i,r},$a(n,e)}function xa(n){return xa=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},xa(n)}var h0=function(n){a0(t,n);var e=c0(t);function t(r){return o0(this,t),e.call(this,r)}return s0(t)}(Bd(Error));ni.InvalidEventError=h0;var Ao={},Cn={},Ni={};Object.defineProperty(Ni,"__esModule",{value:!0});Ni.ExtensibleEvent=void 0;function f0(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function gp(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function p0(n,e,t){return e&&gp(n.prototype,e),t&&gp(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}var g0=function(){function n(e){f0(this,n),this.wireFormat=e}return p0(n,[{key:"wireContent",get:function(){return this.wireFormat.content}}]),n}();Ni.ExtensibleEvent=g0;var za={};Object.defineProperty(za,"__esModule",{value:!0});za.isOptionalAString=m0;za.isProvided=iv;function m0(n){return iv(n)&&typeof n=="string"}function iv(n){return n!=null}var et={},rn={};function Kd(n){return Kd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Kd(n)}Object.defineProperty(rn,"__esModule",{value:!0});rn.UnstableValue=rn.NamespacedValue=void 0;function y0(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&Fd(n,e)}function Fd(n,e){return Fd=Object.setPrototypeOf||function(r,i){return r.__proto__=i,r},Fd(n,e)}function v0(n){var e=S0();return function(){var r=pl(n),i;if(e){var s=pl(this).constructor;i=Reflect.construct(r,arguments,s)}else i=r.apply(this,arguments);return _0(this,i)}}function _0(n,e){if(e&&(Kd(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return E0(n)}function E0(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function S0(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function pl(n){return pl=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},pl(n)}function sv(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function mp(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function ov(n,e,t){return e&&mp(n.prototype,e),t&&mp(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}var av=function(){function n(e,t){if(sv(this,n),this.stable=e,this.unstable=t,!this.unstable&&!this.stable)throw new Error("One of stable or unstable values must be supplied")}return ov(n,[{key:"name",get:function(){return this.stable?this.stable:this.unstable}},{key:"altName",get:function(){return this.stable?this.unstable:null}},{key:"matches",value:function(t){return!!this.name&&this.name===t||!!this.altName&&this.altName===t}},{key:"findIn",value:function(t){var r;return this.name&&(r=t==null?void 0:t[this.name]),!r&&this.altName&&(r=t==null?void 0:t[this.altName]),r}},{key:"includedIn",value:function(t){var r=!1;return this.name&&(r=t.includes(this.name)),!r&&this.altName&&(r=t.includes(this.altName)),r}}]),n}();rn.NamespacedValue=av;var b0=function(n){y0(t,n);var e=v0(t);function t(r,i){var s;if(sv(this,t),s=e.call(this,r,i),!s.unstable)throw new Error("Unstable value must be supplied");return s}return ov(t,[{key:"name",get:function(){return this.unstable}},{key:"altName",get:function(){return this.stable}}]),t}(av);rn.UnstableValue=b0;Object.defineProperty(et,"__esModule",{value:!0});et.M_TEXT=et.M_NOTICE=et.M_MESSAGE=et.M_HTML=et.M_EMOTE=void 0;var Ja=rn,w0=new Ja.UnstableValue("m.message","org.matrix.msc1767.message");et.M_MESSAGE=w0;var R0=new Ja.UnstableValue("m.text","org.matrix.msc1767.text");et.M_TEXT=R0;var I0=new Ja.UnstableValue("m.html","org.matrix.msc1767.html");et.M_HTML=I0;var T0=new Ja.UnstableValue("m.emote","org.matrix.msc1767.emote");et.M_EMOTE=T0;var O0=new Ja.UnstableValue("m.notice","org.matrix.msc1767.notice");et.M_NOTICE=O0;var ii={};Object.defineProperty(ii,"__esModule",{value:!0});ii.isEventTypeSame=k0;function k0(n,e){if(typeof n=="string")return typeof e=="string"?e===n:e.matches(n);if(typeof e=="string")return n.matches(e);var t=e,r=n;return t.matches(r.name)||t.matches(r.altName)}function qd(n){return qd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qd(n)}Object.defineProperty(Cn,"__esModule",{value:!0});Cn.MessageEvent=void 0;var C0=Ni,Vo=za,Su=ni,fr=et,P0=ii;function yp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function vp(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?yp(Object(t),!0).forEach(function(r){Ii(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):yp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function M0(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function _p(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function A0(n,e,t){return e&&_p(n.prototype,e),t&&_p(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function D0(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&jd(n,e)}function jd(n,e){return jd=Object.setPrototypeOf||function(r,i){return r.__proto__=i,r},jd(n,e)}function U0(n){var e=x0();return function(){var r=gl(n),i;if(e){var s=gl(this).constructor;i=Reflect.construct(r,arguments,s)}else i=r.apply(this,arguments);return $0(this,i)}}function $0(n,e){if(e&&(qd(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Yc(n)}function Yc(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function x0(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function gl(n){return gl=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},gl(n)}function Ii(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var N0=function(n){D0(t,n);var e=U0(t);function t(r){var i;M0(this,t),i=e.call(this,r),Ii(Yc(i),"text",void 0),Ii(Yc(i),"html",void 0),Ii(Yc(i),"renderings",void 0);var s=fr.M_MESSAGE.findIn(i.wireContent),o=fr.M_TEXT.findIn(i.wireContent),c=fr.M_HTML.findIn(i.wireContent);if((0,Vo.isProvided)(s)){if(!Array.isArray(s))throw new Su.InvalidEventError("m.message contents must be an array");var l=s.find(function(a){return!(0,Vo.isProvided)(a.mimetype)||a.mimetype==="text/plain"}),u=s.find(function(a){return a.mimetype==="text/html"});if(!l)throw new Su.InvalidEventError("m.message is missing a plain text representation");i.text=l.body,i.html=u==null?void 0:u.body,i.renderings=s}else if((0,Vo.isOptionalAString)(o))i.text=o,i.html=c,i.renderings=[{body:o,mimetype:"text/plain"}],i.html&&i.renderings.push({body:i.html,mimetype:"text/html"});else throw new Su.InvalidEventError("Missing textual representation for event");return i}return A0(t,[{key:"isEmote",get:function(){return fr.M_EMOTE.matches(this.wireFormat.type)||(0,Vo.isProvided)(fr.M_EMOTE.findIn(this.wireFormat.content))}},{key:"isNotice",get:function(){return fr.M_NOTICE.matches(this.wireFormat.type)||(0,Vo.isProvided)(fr.M_NOTICE.findIn(this.wireFormat.content))}},{key:"isEquivalentTo",value:function(i){return(0,P0.isEventTypeSame)(i,fr.M_MESSAGE)}},{key:"serializeMMessageOnly",value:function(){var i=Ii({},fr.M_MESSAGE.name,this.renderings);if(this.renderings.length===1){var s=this.renderings[0].mimetype;(s===void 0||s==="text/plain")&&(i=Ii({},fr.M_TEXT.name,this.renderings[0].body))}return i}},{key:"serialize",value:function(){var i;return{type:"m.room.message",content:vp(vp({},this.serializeMMessageOnly()),{},{body:this.text,msgtype:"m.text",format:this.html?"org.matrix.custom.html":void 0,formatted_body:(i=this.html)!==null&&i!==void 0?i:void 0})}}}],[{key:"from",value:function(i,s){var o;return new t({type:fr.M_MESSAGE.name,content:(o={},Ii(o,fr.M_TEXT.name,i),Ii(o,fr.M_HTML.name,s),o)})}}]),t}(C0.ExtensibleEvent);Cn.MessageEvent=N0;var Do={};function Vd(n){return Vd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Vd(n)}Object.defineProperty(Do,"__esModule",{value:!0});Do.NoticeEvent=void 0;var L0=Cn,gc=et,B0=ii;function Ep(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function K0(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function Sp(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function F0(n,e,t){return e&&Sp(n.prototype,e),t&&Sp(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function Ta(){return typeof Reflect!="undefined"&&Reflect.get?Ta=Reflect.get:Ta=function(e,t,r){var i=q0(e,t);if(!!i){var s=Object.getOwnPropertyDescriptor(i,t);return s.get?s.get.call(arguments.length<3?e:r):s.value}},Ta.apply(this,arguments)}function q0(n,e){for(;!Object.prototype.hasOwnProperty.call(n,e)&&(n=ls(n),n!==null););return n}function j0(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&Gd(n,e)}function Gd(n,e){return Gd=Object.setPrototypeOf||function(r,i){return r.__proto__=i,r},Gd(n,e)}function V0(n){var e=H0();return function(){var r=ls(n),i;if(e){var s=ls(this).constructor;i=Reflect.construct(r,arguments,s)}else i=r.apply(this,arguments);return G0(this,i)}}function G0(n,e){if(e&&(Vd(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return W0(n)}function W0(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function H0(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ls(n){return ls=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},ls(n)}var Y0=function(n){j0(t,n);var e=V0(t);function t(r){return K0(this,t),e.call(this,r)}return F0(t,[{key:"isNotice",get:function(){return!0}},{key:"isEquivalentTo",value:function(i){return(0,B0.isEventTypeSame)(i,gc.M_NOTICE)||Ta(ls(t.prototype),"isEquivalentTo",this).call(this,i)}},{key:"serialize",value:function(){var i=Ta(ls(t.prototype),"serialize",this).call(this);return i.content.msgtype="m.notice",i}}],[{key:"from",value:function(i,s){var o;return new t({type:gc.M_NOTICE.name,content:(o={},Ep(o,gc.M_TEXT.name,i),Ep(o,gc.M_HTML.name,s),o)})}}]),t}(L0.MessageEvent);Do.NoticeEvent=Y0;var Uo={};function Wd(n){return Wd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Wd(n)}Object.defineProperty(Uo,"__esModule",{value:!0});Uo.EmoteEvent=void 0;var z0=Cn,mc=et,J0=ii;function bp(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function X0(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function wp(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function Q0(n,e,t){return e&&wp(n.prototype,e),t&&wp(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function Oa(){return typeof Reflect!="undefined"&&Reflect.get?Oa=Reflect.get:Oa=function(e,t,r){var i=Z0(e,t);if(!!i){var s=Object.getOwnPropertyDescriptor(i,t);return s.get?s.get.call(arguments.length<3?e:r):s.value}},Oa.apply(this,arguments)}function Z0(n,e){for(;!Object.prototype.hasOwnProperty.call(n,e)&&(n=us(n),n!==null););return n}function eR(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&Hd(n,e)}function Hd(n,e){return Hd=Object.setPrototypeOf||function(r,i){return r.__proto__=i,r},Hd(n,e)}function tR(n){var e=iR();return function(){var r=us(n),i;if(e){var s=us(this).constructor;i=Reflect.construct(r,arguments,s)}else i=r.apply(this,arguments);return rR(this,i)}}function rR(n,e){if(e&&(Wd(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return nR(n)}function nR(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function iR(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function us(n){return us=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},us(n)}var sR=function(n){eR(t,n);var e=tR(t);function t(r){return X0(this,t),e.call(this,r)}return Q0(t,[{key:"isEmote",get:function(){return!0}},{key:"isEquivalentTo",value:function(i){return(0,J0.isEventTypeSame)(i,mc.M_EMOTE)||Oa(us(t.prototype),"isEquivalentTo",this).call(this,i)}},{key:"serialize",value:function(){var i=Oa(us(t.prototype),"serialize",this).call(this);return i.content.msgtype="m.emote",i}}],[{key:"from",value:function(i,s){var o;return new t({type:mc.M_EMOTE.name,content:(o={},bp(o,mc.M_TEXT.name,i),bp(o,mc.M_HTML.name,s),o)})}}]),t}(z0.MessageEvent);Uo.EmoteEvent=sR;Object.defineProperty(Ao,"__esModule",{value:!0});Ao.LEGACY_M_ROOM_MESSAGE=void 0;Ao.parseMRoomMessage=uR;var Rp=Cn,oR=Do,aR=Uo,cR=rn,mi=et;function Ip(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Tr(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ip(Object(t),!0).forEach(function(r){Yi(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ip(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Yi(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var lR=new cR.NamespacedValue("m.room.message");Ao.LEGACY_M_ROOM_MESSAGE=lR;function uR(n){var e,t,r;if(mi.M_MESSAGE.findIn(n.content)||mi.M_TEXT.findIn(n.content))return new Rp.MessageEvent(n);var i=(e=n.content)===null||e===void 0?void 0:e.msgtype,s=(t=n.content)===null||t===void 0?void 0:t.body,o=((r=n.content)===null||r===void 0?void 0:r.format)==="org.matrix.custom.html"?n.content.formatted_body:null;if(i==="m.text"){var c;return new Rp.MessageEvent(Tr(Tr({},n),{},{content:Tr(Tr({},n.content),{},(c={},Yi(c,mi.M_TEXT.name,s),Yi(c,mi.M_HTML.name,o),c))}))}else if(i==="m.notice"){var l;return new oR.NoticeEvent(Tr(Tr({},n),{},{content:Tr(Tr({},n.content),{},(l={},Yi(l,mi.M_TEXT.name,s),Yi(l,mi.M_HTML.name,o),l))}))}else if(i==="m.emote"){var u;return new aR.EmoteEvent(Tr(Tr({},n),{},{content:Tr(Tr({},n.content),{},(u={},Yi(u,mi.M_TEXT.name,s),Yi(u,mi.M_HTML.name,o),u))}))}else return null}var Al={};Object.defineProperty(Al,"__esModule",{value:!0});Al.parseMMessage=pR;var dR=Cn,Tp=et,hR=Uo,fR=Do;function pR(n){return Tp.M_EMOTE.matches(n.type)?new hR.EmoteEvent(n):Tp.M_NOTICE.matches(n.type)?new fR.NoticeEvent(n):new dR.MessageEvent(n)}var Et={};Object.defineProperty(Et,"__esModule",{value:!0});Et.M_POLL_START=Et.M_POLL_RESPONSE=Et.M_POLL_KIND_UNDISCLOSED=Et.M_POLL_KIND_DISCLOSED=Et.M_POLL_END=void 0;var Xa=rn,gR=new Xa.UnstableValue("m.poll.disclosed","org.matrix.msc3381.poll.disclosed");Et.M_POLL_KIND_DISCLOSED=gR;var mR=new Xa.UnstableValue("m.poll.undisclosed","org.matrix.msc3381.poll.undisclosed");Et.M_POLL_KIND_UNDISCLOSED=mR;var yR=new Xa.UnstableValue("m.poll.start","org.matrix.msc3381.poll.start");Et.M_POLL_START=yR;var vR=new Xa.UnstableValue("m.poll.response","org.matrix.msc3381.poll.response");Et.M_POLL_RESPONSE=vR;var _R=new Xa.UnstableValue("m.poll.end","org.matrix.msc3381.poll.end");Et.M_POLL_END=_R;var Dl={},ds={};function Yd(n){return Yd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yd(n)}Object.defineProperty(ds,"__esModule",{value:!0});ds.PollStartEvent=ds.PollAnswerSubevent=void 0;var Dn=Et,cv=Cn,ma=et,zc=ni,ER=rn,SR=ii,bR=Ni;function wR(n){return OR(n)||TR(n)||IR(n)||RR()}function RR(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function IR(n,e){if(!!n){if(typeof n=="string")return zd(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return zd(n,e)}}function TR(n){if(typeof Symbol!="undefined"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function OR(n){if(Array.isArray(n))return zd(n)}function zd(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function Op(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function kR(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Op(Object(t),!0).forEach(function(r){er(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Op(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function lv(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function kp(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function uv(n,e,t){return e&&kp(n.prototype,e),t&&kp(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function dv(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&Jd(n,e)}function Jd(n,e){return Jd=Object.setPrototypeOf||function(r,i){return r.__proto__=i,r},Jd(n,e)}function hv(n){var e=PR();return function(){var r=ml(n),i;if(e){var s=ml(this).constructor;i=Reflect.construct(r,arguments,s)}else i=r.apply(this,arguments);return CR(this,i)}}function CR(n,e){if(e&&(Yd(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ts(n)}function ts(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function PR(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function ml(n){return ml=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},ml(n)}function er(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var fv=function(n){dv(t,n);var e=hv(t);function t(r){var i;lv(this,t),i=e.call(this,r),er(ts(i),"id",void 0);var s=r.content.id;if(!s||typeof s!="string")throw new zc.InvalidEventError("Answer ID must be a non-empty string");return i.id=s,i}return uv(t,[{key:"serialize",value:function(){return{type:"org.matrix.sdk.poll.answer",content:kR({id:this.id},this.serializeMMessageOnly())}}}],[{key:"from",value:function(i,s){return new t({type:"org.matrix.sdk.poll.answer",content:er({id:i},ma.M_TEXT.name,s)})}}]),t}(cv.MessageEvent);ds.PollAnswerSubevent=fv;var MR=function(n){dv(t,n);var e=hv(t);function t(r){var i;lv(this,t),i=e.call(this,r),er(ts(i),"question",void 0),er(ts(i),"kind",void 0),er(ts(i),"rawKind",void 0),er(ts(i),"maxSelections",void 0),er(ts(i),"answers",void 0);var s=Dn.M_POLL_START.findIn(i.wireContent);if(!s.question)throw new zc.InvalidEventError("A question is required");if(i.question=new cv.MessageEvent({type:"org.matrix.sdk.poll.question",content:s.question}),i.rawKind=s.kind,Dn.M_POLL_KIND_DISCLOSED.matches(i.rawKind)?i.kind=Dn.M_POLL_KIND_DISCLOSED:i.kind=Dn.M_POLL_KIND_UNDISCLOSED,i.maxSelections=Number.isFinite(s.max_selections)&&s.max_selections>0?s.max_selections:1,!Array.isArray(s.answers))throw new zc.InvalidEventError("Poll answers must be an array");var o=s.answers.slice(0,20).map(function(c){return new fv({type:"org.matrix.sdk.poll.answer",content:c})});if(o.length<=0)throw new zc.InvalidEventError("No answers available");return i.answers=o,i}return uv(t,[{key:"isEquivalentTo",value:function(i){return(0,SR.isEventTypeSame)(i,Dn.M_POLL_START)}},{key:"serialize",value:function(){var i;return{type:Dn.M_POLL_START.name,content:(i={},er(i,Dn.M_POLL_START.name,{question:this.question.serialize().content,kind:this.rawKind,max_selections:this.maxSelections,answers:this.answers.map(function(s){return s.serialize().content})}),er(i,ma.M_TEXT.name,"".concat(this.question.text,` +`).concat(this.answers.map(function(s,o){return"".concat(o+1,". ").concat(s.text)}).join(` +`))),i)}}}],[{key:"from",value:function(i,s,o){var c,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;return new t({type:Dn.M_POLL_START.name,content:(c={},er(c,ma.M_TEXT.name,i),er(c,Dn.M_POLL_START.name,{question:er({},ma.M_TEXT.name,i),kind:o instanceof ER.NamespacedValue?o.name:o,max_selections:l,answers:s.map(function(u){return er({id:AR()},ma.M_TEXT.name,u)})}),c)})}}]),t}(bR.ExtensibleEvent);ds.PollStartEvent=MR;var Cp="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";function AR(){return wR(Array(16)).map(function(){return Cp.charAt(Math.floor(Math.random()*Cp.length))}).join("")}var Qa={},$o={};Object.defineProperty($o,"__esModule",{value:!0});$o.REFERENCE_RELATION=void 0;var DR=rn,UR=new DR.NamespacedValue("m.reference");$o.REFERENCE_RELATION=UR;function Xd(n){return Xd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xd(n)}Object.defineProperty(Qa,"__esModule",{value:!0});Qa.PollResponseEvent=void 0;var $R=Ni,$s=Et,xR=ni,bu=$o,NR=ii;function LR(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function Pp(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function BR(n,e,t){return e&&Pp(n.prototype,e),t&&Pp(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function KR(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&Qd(n,e)}function Qd(n,e){return Qd=Object.setPrototypeOf||function(r,i){return r.__proto__=i,r},Qd(n,e)}function FR(n){var e=jR();return function(){var r=yl(n),i;if(e){var s=yl(this).constructor;i=Reflect.construct(r,arguments,s)}else i=r.apply(this,arguments);return qR(this,i)}}function qR(n,e){if(e&&(Xd(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Jc(n)}function Jc(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function jR(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function yl(n){return yl=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},yl(n)}function Go(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var VR=function(n){KR(t,n);var e=FR(t);function t(r){var i;LR(this,t),i=e.call(this,r),Go(Jc(i),"internalAnswerIds",void 0),Go(Jc(i),"internalSpoiled",void 0),Go(Jc(i),"pollEventId",void 0);var s=i.wireContent["m.relates_to"];if(!bu.REFERENCE_RELATION.matches(s==null?void 0:s.rel_type)||typeof(s==null?void 0:s.event_id)!="string")throw new xR.InvalidEventError("Relationship must be a reference to an event");return i.pollEventId=s.event_id,i.validateAgainst(null),i}return BR(t,[{key:"answerIds",get:function(){return this.internalAnswerIds}},{key:"spoiled",get:function(){return this.internalSpoiled}},{key:"validateAgainst",value:function(i){var s=$s.M_POLL_RESPONSE.findIn(this.wireContent);if(!Array.isArray(s==null?void 0:s.answers)){this.internalSpoiled=!0,this.internalAnswerIds=[];return}var o=s.answers;if(o.some(function(c){return typeof c!="string"})||o.length===0){this.internalSpoiled=!0,this.internalAnswerIds=[];return}if(i){if(o.some(function(c){return!i.answers.some(function(l){return l.id===c})})){this.internalSpoiled=!0,this.internalAnswerIds=[];return}o=o.slice(0,i.maxSelections)}this.internalAnswerIds=o,this.internalSpoiled=!1}},{key:"isEquivalentTo",value:function(i){return(0,NR.isEventTypeSame)(i,$s.M_POLL_RESPONSE)}},{key:"serialize",value:function(){return{type:$s.M_POLL_RESPONSE.name,content:Go({"m.relates_to":{rel_type:bu.REFERENCE_RELATION.name,event_id:this.pollEventId}},$s.M_POLL_RESPONSE.name,{answers:this.spoiled?void 0:this.answerIds})}}}],[{key:"from",value:function(i,s){return new t({type:$s.M_POLL_RESPONSE.name,content:Go({"m.relates_to":{rel_type:bu.REFERENCE_RELATION.name,event_id:s}},$s.M_POLL_RESPONSE.name,{answers:i})})}}]),t}($R.ExtensibleEvent);Qa.PollResponseEvent=VR;var Za={};function Zd(n){return Zd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zd(n)}Object.defineProperty(Za,"__esModule",{value:!0});Za.PollEndEvent=void 0;var Wo=Et,GR=ni,wu=$o,WR=Cn,HR=et,YR=ii,zR=Ni;function Mp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function JR(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mp(Object(t),!0).forEach(function(r){to(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Mp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function XR(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function Ap(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function QR(n,e,t){return e&&Ap(n.prototype,e),t&&Ap(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function ZR(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&eh(n,e)}function eh(n,e){return eh=Object.setPrototypeOf||function(r,i){return r.__proto__=i,r},eh(n,e)}function eI(n){var e=rI();return function(){var r=vl(n),i;if(e){var s=vl(this).constructor;i=Reflect.construct(r,arguments,s)}else i=r.apply(this,arguments);return tI(this,i)}}function tI(n,e){if(e&&(Zd(e)==="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return th(n)}function th(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function rI(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function vl(n){return vl=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},vl(n)}function to(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var nI=function(n){ZR(t,n);var e=eI(t);function t(r){var i;XR(this,t),i=e.call(this,r),to(th(i),"pollEventId",void 0),to(th(i),"closingMessage",void 0);var s=i.wireContent["m.relates_to"];if(!wu.REFERENCE_RELATION.matches(s==null?void 0:s.rel_type)||typeof(s==null?void 0:s.event_id)!="string")throw new GR.InvalidEventError("Relationship must be a reference to an event");return i.pollEventId=s.event_id,i.closingMessage=new WR.MessageEvent(i.wireFormat),i}return QR(t,[{key:"isEquivalentTo",value:function(i){return(0,YR.isEventTypeSame)(i,Wo.M_POLL_END)}},{key:"serialize",value:function(){return{type:Wo.M_POLL_END.name,content:JR(to({"m.relates_to":{rel_type:wu.REFERENCE_RELATION.name,event_id:this.pollEventId}},Wo.M_POLL_END.name,{}),this.closingMessage.serialize().content)}}}],[{key:"from",value:function(i,s){var o;return new t({type:Wo.M_POLL_END.name,content:(o={"m.relates_to":{rel_type:wu.REFERENCE_RELATION.name,event_id:i}},to(o,Wo.M_POLL_END.name,{}),to(o,HR.M_TEXT.name,s),o)})}}]),t}(zR.ExtensibleEvent);Za.PollEndEvent=nI;Object.defineProperty(Dl,"__esModule",{value:!0});Dl.parseMPoll=aI;var Ru=Et,iI=ds,sI=Qa,oI=Za;function aI(n){return Ru.M_POLL_START.matches(n.type)?new iI.PollStartEvent(n):Ru.M_POLL_RESPONSE.matches(n.type)?new sI.PollResponseEvent(n):Ru.M_POLL_END.matches(n.type)?new oI.PollEndEvent(n):null}Object.defineProperty(Ml,"__esModule",{value:!0});Ml.ExtensibleEvents=void 0;var cI=Ya,lI=ni,Dp=Ao,Iu=Al,yc=et,Tu=Et,Ou=Dl;function uI(n,e){var t=typeof Symbol!="undefined"&&n[Symbol.iterator]||n["@@iterator"];if(!t){if(Array.isArray(n)||(t=dI(n))||e&&n&&typeof n.length=="number"){t&&(n=t);var r=0,i=function(){};return{s:i,n:function(){return r>=n.length?{done:!0}:{done:!1,value:n[r++]}},e:function(u){throw u},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s=!0,o=!1,c;return{s:function(){t=t.call(n)},n:function(){var u=t.next();return s=u.done,u},e:function(u){o=!0,c=u},f:function(){try{!s&&t.return!=null&&t.return()}finally{if(o)throw c}}}}function dI(n,e){if(!!n){if(typeof n=="string")return Up(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Up(n,e)}}function Up(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function hI(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function $p(n,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function fI(n,e,t){return e&&$p(n.prototype,e),t&&$p(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function rh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var nh=function(){function n(){hI(this,n),rh(this,"interpreters",new cI.NamespacedMap([[Dp.LEGACY_M_ROOM_MESSAGE,Dp.parseMRoomMessage],[yc.M_MESSAGE,Iu.parseMMessage],[yc.M_EMOTE,Iu.parseMMessage],[yc.M_NOTICE,Iu.parseMMessage],[Tu.M_POLL_START,Ou.parseMPoll],[Tu.M_POLL_RESPONSE,Ou.parseMPoll],[Tu.M_POLL_END,Ou.parseMPoll]])),rh(this,"_unknownInterpretOrder",[yc.M_MESSAGE])}return fI(n,[{key:"unknownInterpretOrder",get:function(){var t;return(t=this._unknownInterpretOrder)!==null&&t!==void 0?t:[]},set:function(t){this._unknownInterpretOrder=t}},{key:"registerInterpreter",value:function(t,r){this.interpreters.set(t,r)}},{key:"parse",value:function(t){try{if(this.interpreters.hasNamespaced(t.type))return this.interpreters.getNamespaced(t.type)(t);var r=uI(this.unknownInterpretOrder),i;try{for(r.s();!(i=r.n()).done;){var s=i.value;if(this.interpreters.has(s)){var o=this.interpreters.get(s)(t);if(o)return o}}}catch(c){r.e(c)}finally{r.f()}return null}catch(c){if(c instanceof lI.InvalidEventError)return null;throw c}}}],[{key:"defaultInstance",get:function(){return n._defaultInstance}},{key:"unknownInterpretOrder",get:function(){return n.defaultInstance.unknownInterpretOrder},set:function(t){n.defaultInstance.unknownInterpretOrder=t}},{key:"registerInterpreter",value:function(t,r){n.defaultInstance.registerInterpreter(t,r)}},{key:"parse",value:function(t){return n.defaultInstance.parse(t)}}]),n}();Ml.ExtensibleEvents=nh;rh(nh,"_defaultInstance",new nh);var pv={};Object.defineProperty(pv,"__esModule",{value:!0});var xo={};Object.defineProperty(xo,"__esModule",{value:!0});xo.LegacyMsgType=void 0;xo.isEventLike=pI;var ku=et,ho;xo.LegacyMsgType=ho;(function(n){n.Text="m.text",n.Notice="m.notice",n.Emote="m.emote"})(ho||(xo.LegacyMsgType=ho={}));function pI(n,e){var t=n.content;return e===ho.Text?ku.M_MESSAGE.matches(n.type)||n.type==="m.room.message"&&(t==null?void 0:t.msgtype)==="m.text":e===ho.Emote?ku.M_EMOTE.matches(n.type)||n.type==="m.room.message"&&(t==null?void 0:t.msgtype)==="m.emote":e===ho.Notice?ku.M_NOTICE.matches(n.type)||n.type==="m.room.message"&&(t==null?void 0:t.msgtype)==="m.notice":!1}(function(n){Object.defineProperty(n,"__esModule",{value:!0});var e=Ml;Object.keys(e).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===e[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return e[R]}})});var t=pv;Object.keys(t).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===t[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return t[R]}})});var r=ni;Object.keys(r).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===r[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return r[R]}})});var i=rn;Object.keys(i).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===i[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return i[R]}})});var s=Ya;Object.keys(s).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===s[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return s[R]}})});var o=za;Object.keys(o).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===o[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return o[R]}})});var c=xo;Object.keys(c).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===c[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return c[R]}})});var l=ii;Object.keys(l).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===l[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return l[R]}})});var u=Ao;Object.keys(u).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===u[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return u[R]}})});var a=Al;Object.keys(a).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===a[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return a[R]}})});var g=Dl;Object.keys(g).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===g[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return g[R]}})});var m=$o;Object.keys(m).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===m[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return m[R]}})});var p=Ni;Object.keys(p).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===p[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return p[R]}})});var E=et;Object.keys(E).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===E[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return E[R]}})});var I=Cn;Object.keys(I).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===I[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return I[R]}})});var w=Uo;Object.keys(w).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===w[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return w[R]}})});var k=Do;Object.keys(k).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===k[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return k[R]}})});var P=Et;Object.keys(P).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===P[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return P[R]}})});var S=ds;Object.keys(S).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===S[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return S[R]}})});var T=Qa;Object.keys(T).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===T[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return T[R]}})});var D=Za;Object.keys(D).forEach(function(R){R==="default"||R==="__esModule"||R in n&&n[R]===D[R]||Object.defineProperty(n,R,{enumerable:!0,get:function(){return D[R]}})})})(Pl);var Ul={};Object.defineProperty(Ul,"__esModule",{value:!0});Ul.TEXT_NODE_TYPE=void 0;var gI=Sr;const mI=new gI.UnstableValue("m.text","org.matrix.msc1767.text");Ul.TEXT_NODE_TYPE=mI;var Xr={};Object.defineProperty(Xr,"__esModule",{value:!0});Xr.M_TIMESTAMP=Xr.M_LOCATION=Xr.M_ASSET=Xr.LocationAssetType=void 0;var tf=Sr;let ih;Xr.LocationAssetType=ih;(function(n){n.Self="m.self",n.Pin="m.pin"})(ih||(Xr.LocationAssetType=ih={}));const yI=new tf.UnstableValue("m.asset","org.matrix.msc3488.asset");Xr.M_ASSET=yI;const vI=new tf.UnstableValue("m.ts","org.matrix.msc3488.ts");Xr.M_TIMESTAMP=vI;const _I=new tf.UnstableValue("m.location","org.matrix.msc3488.location");Xr.M_LOCATION=_I;var EI=V.exports;Object.defineProperty(ze,"__esModule",{value:!0});ze.makeBeaconInfoContent=ze.makeBeaconContent=ze.getTextForLocationEvent=void 0;ze.makeEmoteMessage=CI;ze.makeHtmlEmote=TI;ze.makeHtmlMessage=RI;ze.makeHtmlNotice=II;ze.makeLocationContent=void 0;ze.makeNotice=kI;ze.makeTextMessage=OI;ze.parseLocationEvent=ze.parseBeaconInfoContent=void 0;var SI=EI(Y.exports),bI=Pl,gv=In,ks=ne,mv=Ul,St=Xr;function xp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function wI(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xp(Object(t),!0).forEach(function(r){(0,SI.default)(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):xp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function RI(n,e){return{msgtype:ks.MsgType.Text,format:"org.matrix.custom.html",body:n,formatted_body:e}}function II(n,e){return{msgtype:ks.MsgType.Notice,format:"org.matrix.custom.html",body:n,formatted_body:e}}function TI(n,e){return{msgtype:ks.MsgType.Emote,format:"org.matrix.custom.html",body:n,formatted_body:e}}function OI(n){return{msgtype:ks.MsgType.Text,body:n}}function kI(n){return{msgtype:ks.MsgType.Notice,body:n}}function CI(n){return{msgtype:ks.MsgType.Emote,body:n}}const yv=(n,e,t,r)=>{const i=`at ${new Date(t).toISOString()}`,s=e===St.LocationAssetType.Self?"User":void 0,o=r?`"${r}"`:void 0;return[s,"Location",o,n,i].filter(Boolean).join(" ")};ze.getTextForLocationEvent=yv;const vv=(n,e,t,r,i)=>{const s=n!=null?n:yv(e,i||St.LocationAssetType.Self,t,r),o=t?{[St.M_TIMESTAMP.name]:t}:{};return wI({msgtype:ks.MsgType.Location,body:s,geo_uri:e,[St.M_LOCATION.name]:{description:r,uri:e},[St.M_ASSET.name]:{type:i||St.LocationAssetType.Self},[mv.TEXT_NODE_TYPE.name]:s},o)};ze.makeLocationContent=vv;const PI=n=>{var e,t;const r=St.M_LOCATION.findIn(n),i=St.M_ASSET.findIn(n),s=St.M_TIMESTAMP.findIn(n),o=mv.TEXT_NODE_TYPE.findIn(n),c=(e=r==null?void 0:r.uri)!==null&&e!==void 0?e:n==null?void 0:n.geo_uri,l=r==null?void 0:r.description,u=(t=i==null?void 0:i.type)!==null&&t!==void 0?t:St.LocationAssetType.Self,a=o!=null?o:n.body;return vv(a,c,s,l,u)};ze.parseLocationEvent=PI;const MI=(n,e,t,r,i)=>({[gv.M_BEACON_INFO.name]:{description:t,timeout:n,live:e},[St.M_TIMESTAMP.name]:i||Date.now(),[St.M_ASSET.name]:{type:r!=null?r:St.LocationAssetType.Self}});ze.makeBeaconInfoContent=MI;const AI=n=>{const{description:e,timeout:t,live:r}=gv.M_BEACON_INFO.findIn(n),{type:i}=St.M_ASSET.findIn(n),s=St.M_TIMESTAMP.findIn(n);return{description:e,timeout:t,live:r,assetType:i,timestamp:s}};ze.parseBeaconInfoContent=AI;const DI=(n,e,t,r)=>({[St.M_LOCATION.name]:{description:r,uri:n},[St.M_TIMESTAMP.name]:e,"m.relates_to":{rel_type:bI.REFERENCE_RELATION.name,event_id:t}});ze.makeBeaconContent=DI;var UI=V.exports;Object.defineProperty(_r,"__esModule",{value:!0});_r.isTimestampInDuration=_r.isBeaconInfoEventType=_r.BeaconEvent=_r.Beacon=void 0;var vc=UI(Y.exports),Np=In,$I=ze,xI=qe;let Na;_r.BeaconEvent=Na;(function(n){n.New="Beacon.new",n.Update="Beacon.update",n.LivenessChange="Beacon.LivenessChange"})(Na||(_r.BeaconEvent=Na={}));const _v=(n,e,t)=>t>=n&&n+e>=t;_r.isTimestampInDuration=_v;const NI=n=>n.startsWith(Np.M_BEACON_INFO.name)||n.startsWith(Np.M_BEACON_INFO.altName);_r.isBeaconInfoEventType=NI;class LI extends xI.TypedEventEmitter{constructor(e){super();this.rootEvent=e,(0,vc.default)(this,"roomId",void 0),(0,vc.default)(this,"_beaconInfo",void 0),(0,vc.default)(this,"_isLive",void 0),(0,vc.default)(this,"livenessWatchInterval",void 0),this.setBeaconInfo(this.rootEvent),this.roomId=this.rootEvent.getRoomId()}get isLive(){return this._isLive}get identifier(){return this.beaconInfoEventType}get beaconInfoId(){return this.rootEvent.getId()}get beaconInfoOwner(){return this.rootEvent.getStateKey()}get beaconInfoEventType(){return this.rootEvent.getType()}get beaconInfo(){return this._beaconInfo}update(e){if(e.getType()!==this.beaconInfoEventType)throw new Error("Invalid updating event");this.rootEvent=e,this.setBeaconInfo(this.rootEvent),this.emit(Na.Update,e,this)}destroy(){this.livenessWatchInterval&&clearInterval(this.livenessWatchInterval)}monitorLiveness(){if(this.livenessWatchInterval&&clearInterval(this.livenessWatchInterval),this.isLive){var e,t;const r=((e=this._beaconInfo)===null||e===void 0?void 0:e.timestamp)+((t=this._beaconInfo)===null||t===void 0?void 0:t.timeout)+1-Date.now();r>1&&(this.livenessWatchInterval=setInterval(this.checkLiveness.bind(this),r))}}setBeaconInfo(e){this._beaconInfo=(0,$I.parseBeaconInfoContent)(e.getContent()),this.checkLiveness()}checkLiveness(){var e,t,r;const i=this.isLive;this._isLive=((e=this._beaconInfo)===null||e===void 0?void 0:e.live)&&_v((t=this._beaconInfo)===null||t===void 0?void 0:t.timestamp,(r=this._beaconInfo)===null||r===void 0?void 0:r.timeout,Date.now()),i!==this.isLive&&this.emit(Na.LivenessChange,this.isLive,this)}}_r.Beacon=LI;var nn={};Object.defineProperty(nn,"__esModule",{value:!0});nn.TypedReEmitter=nn.ReEmitter=void 0;class Ev{constructor(e){this.target=e}reEmit(e,t){for(const r of t){const i=(...s)=>{r==="error"&&this.target.listenerCount("error")===0||this.target.emit(r,...s,e)};e.on(r,i)}}}nn.ReEmitter=Ev;class BI extends Ev{constructor(e){super(e)}reEmit(e,t){super.reEmit(e,t)}}nn.TypedReEmitter=BI;var KI=V.exports;Object.defineProperty(Tn,"__esModule",{value:!0});Tn.RoomStateEvent=Tn.RoomState=void 0;var Dt=KI(Y.exports),Lp=tn,Cu=ie,Ho=jI(G),Ht=ne,Pu=Ye,FI=qe,Bi=_r,qI=nn;function Sv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Sv=function(r){return r?t:e})(n)}function jI(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=Sv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}var mr;(function(n){n[n.NotStarted=0]="NotStarted",n[n.InProgress=1]="InProgress",n[n.Finished=2]="Finished"})(mr||(mr={}));let Jr;Tn.RoomStateEvent=Jr;(function(n){n.Events="RoomState.events",n.Members="RoomState.members",n.NewMember="RoomState.newMember",n.Update="RoomState.update",n.BeaconLiveness="RoomState.BeaconLiveness"})(Jr||(Tn.RoomStateEvent=Jr={}));class rf extends FI.TypedEventEmitter{constructor(e,t={status:mr.NotStarted}){super();this.roomId=e,this.oobMemberFlags=t,(0,Dt.default)(this,"reEmitter",new qI.TypedReEmitter(this)),(0,Dt.default)(this,"sentinels",{}),(0,Dt.default)(this,"displayNameToUserIds",{}),(0,Dt.default)(this,"userIdsToDisplayNames",{}),(0,Dt.default)(this,"tokenToInvite",{}),(0,Dt.default)(this,"joinedMemberCount",null),(0,Dt.default)(this,"summaryJoinedMemberCount",null),(0,Dt.default)(this,"invitedMemberCount",null),(0,Dt.default)(this,"summaryInvitedMemberCount",null),(0,Dt.default)(this,"modified",void 0),(0,Dt.default)(this,"members",{}),(0,Dt.default)(this,"events",new Map),(0,Dt.default)(this,"paginationToken",null),(0,Dt.default)(this,"beacons",new Map),(0,Dt.default)(this,"liveBeaconIds",[]),this.updateModifiedTime()}getJoinedMemberCount(){return this.summaryJoinedMemberCount!==null?this.summaryJoinedMemberCount:(this.joinedMemberCount===null&&(this.joinedMemberCount=this.getMembers().reduce((e,t)=>t.membership==="join"?e+1:e,0)),this.joinedMemberCount)}setJoinedMemberCount(e){this.summaryJoinedMemberCount=e}getInvitedMemberCount(){return this.summaryInvitedMemberCount!==null?this.summaryInvitedMemberCount:(this.invitedMemberCount===null&&(this.invitedMemberCount=this.getMembers().reduce((e,t)=>t.membership==="invite"?e+1:e,0)),this.invitedMemberCount)}setInvitedMemberCount(e){this.summaryInvitedMemberCount=e}getMembers(){return Object.values(this.members)}getMembersExcept(e){return this.getMembers().filter(t=>!e.includes(t.userId))}getMember(e){return this.members[e]||null}getSentinelMember(e){if(!e)return null;let t=this.sentinels[e];if(t===void 0){t=new Lp.RoomMember(this.roomId,e);const r=this.members[e];r&&t.setMembershipEvent(r.events.member,this),this.sentinels[e]=t}return t}getStateEvents(e,t){if(!this.events.has(e))return t===void 0?[]:null;if(t===void 0)return Array.from(this.events.get(e).values());const r=this.events.get(e).get(t);return r||null}get hasLiveBeacons(){var e;return!!((e=this.liveBeaconIds)!==null&&e!==void 0&&e.length)}clone(){const e=new rf(this.roomId,this.oobMemberFlags),t=this.oobMemberFlags.status;return this.oobMemberFlags.status=mr.NotStarted,Array.from(this.events.values()).forEach(r=>{e.setStateEvents(Array.from(r.values()))}),this.oobMemberFlags.status=t,this.summaryInvitedMemberCount!==null&&e.setInvitedMemberCount(this.getInvitedMemberCount()),this.summaryJoinedMemberCount!==null&&e.setJoinedMemberCount(this.getJoinedMemberCount()),this.oobMemberFlags.status==mr.Finished&&this.getMembers().forEach(r=>{r.isOutOfBand()&&e.getMember(r.userId).markOutOfBand()}),e}setUnknownStateEvents(e){const t=e.filter(r=>!this.events.has(r.getType())||!this.events.get(r.getType()).has(r.getStateKey()));this.setStateEvents(t)}setStateEvents(e){this.updateModifiedTime(),e.forEach(t=>{if(t.getRoomId()!==this.roomId||!t.isState())return;(0,Bi.isBeaconInfoEventType)(t.getType())&&this.setBeacon(t);const r=this.getStateEventMatching(t);this.setStateEvent(t),t.getType()===Ht.EventType.RoomMember&&(this.updateDisplayNameCache(t.getStateKey(),t.getContent().displayname),this.updateThirdPartyTokenCache(t)),this.emit(Jr.Events,t,this,r)}),this.onBeaconLivenessChange(),e.forEach(t=>{if(t.getRoomId()===this.roomId&&!!t.isState()){if(t.getType()===Ht.EventType.RoomMember){const r=t.getStateKey();(t.getContent().membership==="leave"||t.getContent().membership==="ban")&&(t.getContent().avatar_url=t.getContent().avatar_url||t.getPrevContent().avatar_url,t.getContent().displayname=t.getContent().displayname||t.getPrevContent().displayname);const i=this.getOrCreateMember(r,t);i.setMembershipEvent(t,this),this.updateMember(i),this.emit(Jr.Members,t,this,i)}else if(t.getType()===Ht.EventType.RoomPowerLevels){if(t.getStateKey()!=="")return;Object.values(this.members).forEach(i=>{const s=i.getLastModifiedTime();i.setPowerLevelEvent(t),s!==i.getLastModifiedTime()&&this.emit(Jr.Members,t,this,i)}),this.sentinels={}}}}),this.emit(Jr.Update,this)}getOrCreateMember(e,t){let r=this.members[e];return r||(r=new Lp.RoomMember(this.roomId,e),this.members[e]=r,this.emit(Jr.NewMember,t,this,r)),r}setStateEvent(e){this.events.has(e.getType())||this.events.set(e.getType(),new Map),this.events.get(e.getType()).set(e.getStateKey(),e)}setBeacon(e){if(this.beacons.has(e.getType()))return this.beacons.get(e.getType()).update(e);const t=new Bi.Beacon(e);this.reEmitter.reEmit(t,[Bi.BeaconEvent.New,Bi.BeaconEvent.Update,Bi.BeaconEvent.LivenessChange]),this.emit(Bi.BeaconEvent.New,e,t),t.on(Bi.BeaconEvent.LivenessChange,this.onBeaconLivenessChange.bind(this)),this.beacons.set(t.beaconInfoEventType,t)}onBeaconLivenessChange(){var e;const t=!!((e=this.liveBeaconIds)!==null&&e!==void 0&&e.length);this.liveBeaconIds=Array.from(this.beacons.values()).filter(i=>i.isLive).map(i=>i.beaconInfoId);const r=!!this.liveBeaconIds.length;t!==r&&this.emit(Jr.BeaconLiveness,this,r)}getStateEventMatching(e){var t,r;return(t=(r=this.events.get(e.getType()))===null||r===void 0?void 0:r.get(e.getStateKey()))!==null&&t!==void 0?t:null}updateMember(e){const t=this.getStateEvents(Ht.EventType.RoomPowerLevels,"");t&&e.setPowerLevelEvent(t),delete this.sentinels[e.userId],this.members[e.userId]=e,this.joinedMemberCount=null,this.invitedMemberCount=null}needsOutOfBandMembers(){return this.oobMemberFlags.status===mr.NotStarted}markOutOfBandMembersStarted(){this.oobMemberFlags.status===mr.NotStarted&&(this.oobMemberFlags.status=mr.InProgress)}markOutOfBandMembersFailed(){this.oobMemberFlags.status===mr.InProgress&&(this.oobMemberFlags.status=mr.NotStarted)}clearOutOfBandMembers(){let e=0;Object.keys(this.members).forEach(t=>{this.members[t].isOutOfBand()&&(++e,delete this.members[t])}),Cu.logger.log(`LL: RoomState removed ${e} members...`),this.oobMemberFlags.status=mr.NotStarted}setOutOfBandMembers(e){Cu.logger.log(`LL: RoomState about to set ${e.length} OOB members ...`),this.oobMemberFlags.status===mr.InProgress&&(Cu.logger.log("LL: RoomState put in finished state ..."),this.oobMemberFlags.status=mr.Finished,e.forEach(t=>this.setOutOfBandMember(t)),this.emit(Jr.Update,this))}setOutOfBandMember(e){if(e.getType()!==Ht.EventType.RoomMember)return;const t=e.getStateKey(),r=this.getMember(t);if(r&&!r.isOutOfBand())return;const i=this.getOrCreateMember(t,e);i.setMembershipEvent(e,this),i.markOutOfBand(),this.updateDisplayNameCache(i.userId,i.name),this.setStateEvent(e),this.updateMember(i),this.emit(Jr.Members,e,this,i)}setTypingEvent(e){Object.values(this.members).forEach(function(t){t.setTypingEvent(e)})}getInviteForThreePidToken(e){return this.tokenToInvite[e]||null}updateModifiedTime(){this.modified=Date.now()}getLastModifiedTime(){return this.modified}getUserIdsWithDisplayName(e){return this.displayNameToUserIds[Ho.removeHiddenChars(e)]||[]}maySendRedactionForEvent(e,t){const r=this.getMember(t);if(!r||r.membership==="leave"||e.status||e.isRedacted())return!1;const i=this.maySendEvent(Ht.EventType.RoomRedaction,t);return e.getSender()===t?i:this.hasSufficientPowerLevelFor("redact",r.powerLevel)}hasSufficientPowerLevelFor(e,t){const r=this.getStateEvents(Ht.EventType.RoomPowerLevels,"");let i={};r&&(i=r.getContent());let s=50;return Ho.isNumber(i[e])&&(s=i[e]),t>=s}maySendMessage(e){return this.maySendEventOfType(Ht.EventType.RoomMessage,e,!1)}maySendEvent(e,t){return this.maySendEventOfType(e,t,!1)}mayClientSendStateEvent(e,t){return t.isGuest()?!1:this.maySendStateEvent(e,t.credentials.userId)}maySendStateEvent(e,t){return this.maySendEventOfType(e,t,!0)}maySendEventOfType(e,t,r){const i=this.getStateEvents(Ht.EventType.RoomPowerLevels,"");let s,o={},c=0,l=0,u=0;if(i){s=i.getContent(),o=s.events||{},Number.isSafeInteger(s.state_default)?c=s.state_default:c=50;const g=s.users&&s.users[t];Number.isSafeInteger(g)?u=g:Number.isSafeInteger(s.users_default)&&(u=s.users_default),Number.isSafeInteger(s.events_default)&&(l=s.events_default)}let a=r?c:l;return Number.isSafeInteger(o[e])&&(a=o[e]),u>=a}mayTriggerNotifOfType(e,t){const r=this.getMember(t);if(!r)return!1;const i=this.getStateEvents(Ht.EventType.RoomPowerLevels,"");let s=50;return i&&i.getContent()&&i.getContent().notifications&&Ho.isNumber(i.getContent().notifications[e])&&(s=i.getContent().notifications[e]),r.powerLevel>=s}getJoinRule(){var e;const t=this.getStateEvents(Ht.EventType.RoomJoinRules,"");return((e=t==null?void 0:t.getContent())!==null&&e!==void 0?e:{}).join_rule||Pu.JoinRule.Invite}getHistoryVisibility(){var e;const t=this.getStateEvents(Ht.EventType.RoomHistoryVisibility,"");return((e=t==null?void 0:t.getContent())!==null&&e!==void 0?e:{}).history_visibility||Pu.HistoryVisibility.Shared}getGuestAccess(){var e;const t=this.getStateEvents(Ht.EventType.RoomGuestAccess,"");return((e=t==null?void 0:t.getContent())!==null&&e!==void 0?e:{}).guest_access||Pu.GuestAccess.Forbidden}updateThirdPartyTokenCache(e){if(!e.getContent().third_party_invite)return;const t=(e.getContent().third_party_invite.signed||{}).token;!t||!this.getStateEvents(Ht.EventType.RoomThirdPartyInvite,t)||(this.tokenToInvite[t]=e)}updateDisplayNameCache(e,t){const r=this.userIdsToDisplayNames[e];if(delete this.userIdsToDisplayNames[e],r){const s=Ho.removeHiddenChars(r),o=this.displayNameToUserIds[s];if(o){const c=o.filter(l=>l!==e);this.displayNameToUserIds[s]=c}}this.userIdsToDisplayNames[e]=t;const i=t&&Ho.removeHiddenChars(t);i&&(this.displayNameToUserIds[i]||(this.displayNameToUserIds[i]=[]),this.displayNameToUserIds[i].push(e))}}Tn.RoomState=rf;var VI=V.exports;Object.defineProperty(Ha,"__esModule",{value:!0});Ha.MemoryStore=void 0;var ln=VI(Y.exports),GI=en,Bp=Tn;function Kp(n){return typeof n=="string"&&!!n&&n!=="undefined"&&n!=="null"||typeof n=="number"}class WI{constructor(e={}){(0,ln.default)(this,"rooms",{}),(0,ln.default)(this,"groups",{}),(0,ln.default)(this,"users",{}),(0,ln.default)(this,"syncToken",null),(0,ln.default)(this,"filters",{}),(0,ln.default)(this,"accountData",{}),(0,ln.default)(this,"localStorage",void 0),(0,ln.default)(this,"oobMembers",{}),(0,ln.default)(this,"clientOptions",{}),(0,ln.default)(this,"onRoomMember",(t,r,i)=>{if(i.membership==="invite")return;const s=this.users[i.userId]||new GI.User(i.userId);i.name&&(s.setDisplayName(i.name),i.events.member&&s.setRawDisplayName(i.events.member.getDirectionalContent().displayname)),i.events.member&&i.events.member.getContent().avatar_url&&s.setAvatarUrl(i.events.member.getContent().avatar_url),this.users[s.userId]=s}),this.localStorage=e.localStorage}getSyncToken(){return this.syncToken}isNewlyCreated(){return Promise.resolve(!0)}setSyncToken(e){this.syncToken=e}storeGroup(e){this.groups[e.groupId]=e}getGroup(e){return this.groups[e]||null}getGroups(){return Object.values(this.groups)}storeRoom(e){this.rooms[e.roomId]=e,e.currentState.on(Bp.RoomStateEvent.Members,this.onRoomMember),e.currentState.getMembers().forEach(t=>{this.onRoomMember(null,e.currentState,t)})}getRoom(e){return this.rooms[e]||null}getRooms(){return Object.values(this.rooms)}removeRoom(e){this.rooms[e]&&this.rooms[e].currentState.removeListener(Bp.RoomStateEvent.Members,this.onRoomMember),delete this.rooms[e]}getRoomSummaries(){return Object.values(this.rooms).map(function(e){return e.summary})}storeUser(e){this.users[e.userId]=e}getUser(e){return this.users[e]||null}getUsers(){return Object.values(this.users)}scrollback(e,t){return[]}storeEvents(e,t,r,i){}storeFilter(e){!e||(this.filters[e.userId]||(this.filters[e.userId]={}),this.filters[e.userId][e.filterId]=e)}getFilter(e,t){return!this.filters[e]||!this.filters[e][t]?null:this.filters[e][t]}getFilterIdByName(e){if(!this.localStorage)return null;const t="mxjssdk_memory_filter_"+e;try{const r=this.localStorage.getItem(t);if(Kp(r))return r}catch{}return null}setFilterIdByName(e,t){if(!this.localStorage)return;const r="mxjssdk_memory_filter_"+e;try{Kp(t)?this.localStorage.setItem(r,t):this.localStorage.removeItem(r)}catch{}}storeAccountDataEvents(e){e.forEach(t=>{this.accountData[t.getType()]=t})}getAccountData(e){return this.accountData[e]}setSyncData(e){return Promise.resolve()}wantsSave(){return!1}save(e){}startup(){return Promise.resolve()}getSavedSync(){return Promise.resolve(null)}getSavedSyncToken(){return Promise.resolve(null)}deleteAllData(){return this.rooms={},this.users={},this.syncToken=null,this.filters={},this.accountData={},Promise.resolve()}getOutOfBandMembers(e){return Promise.resolve(this.oobMembers[e]||null)}setOutOfBandMembers(e,t){return this.oobMembers[e]=t,Promise.resolve()}clearOutOfBandMembers(e){return this.oobMembers={},Promise.resolve()}getClientOptions(){return Promise.resolve(this.clientOptions)}storeClientOptions(e){return this.clientOptions=Object.assign({},e),Promise.resolve()}}Ha.MemoryStore=WI;var $l={},HI=V.exports;Object.defineProperty($l,"__esModule",{value:!0});$l.MatrixScheduler=void 0;var _c=HI(Y.exports),Fp=zI(G),YI=ne;function bv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(bv=function(r){return r?t:e})(n)}function zI(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=bv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}class _l{static RETRY_BACKOFF_RATELIMIT(e,t,r){if(r.httpStatus===400||r.httpStatus===403||r.httpStatus===401||r.cors==="rejected"||r.name==="M_TOO_LARGE")return-1;if(r.name==="M_LIMIT_EXCEEDED"){const i=r.data.retry_after_ms;if(i>0)return i}return t>4?-1:1e3*Math.pow(2,t)}static QUEUE_MESSAGES(e){return e.getType()===YI.EventType.RoomMessage||e.hasAssocation()?"message":null}constructor(e=_l.RETRY_BACKOFF_RATELIMIT,t=_l.QUEUE_MESSAGES){this.retryAlgorithm=e,this.queueAlgorithm=t,(0,_c.default)(this,"queues",{}),(0,_c.default)(this,"activeQueues",[]),(0,_c.default)(this,"procFn",null),(0,_c.default)(this,"processQueue",r=>{const i=this.peekNextEvent(r);if(!i){const s=this.activeQueues.indexOf(r);s>=0&&this.activeQueues.splice(s,1);return}Yo("Queue '%s' has %s pending events",r,this.queues[r].length),Promise.resolve().then(()=>this.procFn(i.event)).then(s=>{this.removeNextEvent(r),Yo("Queue '%s' sent event %s",r,i.event.getId()),i.defer.resolve(s),this.processQueue(r)},s=>{i.attempts+=1;const o=this.retryAlgorithm(i.event,i.attempts,s);Yo("retry(%s) err=%s event_id=%s waitTime=%s",i.attempts,s,i.event.getId(),o),o===-1?(Yo("Queue '%s' giving up on event %s",r,i.event.getId()),this.removeNextEvent(r),i.defer.reject(s),this.processQueue(r)):setTimeout(this.processQueue,o,r)})})}getQueueForEvent(e){const t=this.queueAlgorithm(e);return!t||!this.queues[t]?null:this.queues[t].map(function(r){return r.event})}removeEventFromQueue(e){const t=this.queueAlgorithm(e);if(!t||!this.queues[t])return!1;let r=!1;return Fp.removeElement(this.queues[t],i=>{if(i.event.getId()===e.getId())return r=!0,!0}),r}setProcessFunction(e){this.procFn=e,this.startProcessingQueues()}queueEvent(e){const t=this.queueAlgorithm(e);if(!t)return null;this.queues[t]||(this.queues[t]=[]);const r=Fp.defer();return this.queues[t].push({event:e,defer:r,attempts:0}),Yo("Queue algorithm dumped event %s into queue '%s'",e.getId(),t),this.startProcessingQueues(),r.promise}startProcessingQueues(){!this.procFn||Object.keys(this.queues).filter(e=>this.activeQueues.indexOf(e)===-1&&this.queues[e].length>0).forEach(e=>{this.activeQueues.push(e),this.processQueue(e)})}peekNextEvent(e){const t=this.queues[e];return Array.isArray(t)?t[0]:null}removeNextEvent(e){const t=this.queues[e];return Array.isArray(t)?t.shift():null}}$l.MatrixScheduler=_l;function Yo(...n){}var it={},Ui={},ar={},ei={},Ft={},JI=V.exports;Object.defineProperty(Ft,"__esModule",{value:!0});Ft.EventTimeline=Ft.Direction=void 0;var zr=JI(Y.exports),qp=Tn,XI=ne;let hs;Ft.Direction=hs;(function(n){n.Backward="b",n.Forward="f"})(hs||(Ft.Direction=hs={}));class tr{static setEventMetadata(e,t,r){var i,s,o,c;(i=e.sender)!==null&&i!==void 0&&(s=i.events)!==null&&s!==void 0&&s.member||(e.sender=t.getSentinelMember(e.getSender())),!((o=e.target)!==null&&o!==void 0&&(c=o.events)!==null&&c!==void 0&&c.member)&&e.getType()===XI.EventType.RoomMember&&(e.target=t.getSentinelMember(e.getStateKey())),e.isState()&&r&&(e.forwardLooking=!1)}constructor(e){var t,r;this.eventTimelineSet=e,(0,zr.default)(this,"roomId",void 0),(0,zr.default)(this,"name",void 0),(0,zr.default)(this,"events",[]),(0,zr.default)(this,"baseIndex",0),(0,zr.default)(this,"startState",void 0),(0,zr.default)(this,"endState",void 0),(0,zr.default)(this,"prevTimeline",void 0),(0,zr.default)(this,"nextTimeline",void 0),(0,zr.default)(this,"paginationRequests",{[hs.Backward]:null,[hs.Forward]:null}),this.roomId=(t=(r=e.room)===null||r===void 0?void 0:r.roomId)!==null&&t!==void 0?t:null,this.startState=new qp.RoomState(this.roomId),this.startState.paginationToken=null,this.endState=new qp.RoomState(this.roomId),this.endState.paginationToken=null,this.prevTimeline=null,this.nextTimeline=null,this.paginationRequests={b:null,f:null},this.name=this.roomId+":"+new Date().toISOString()}initialiseState(e){if(this.events.length>0)throw new Error("Cannot initialise state after events are added");for(const t of e)Object.freeze(t);this.startState.setStateEvents(e),this.endState.setStateEvents(e)}forkLive(e){const t=this.getState(e),r=new tr(this.eventTimelineSet);return r.startState=t.clone(),r.endState=t,this.endState=t.clone(),r}fork(e){const t=this.getState(e),r=new tr(this.eventTimelineSet);return r.startState=t.clone(),r.endState=t.clone(),r}getRoomId(){return this.roomId}getFilter(){return this.eventTimelineSet.getFilter()}getTimelineSet(){return this.eventTimelineSet}getBaseIndex(){return this.baseIndex}getEvents(){return this.events}getState(e){if(e==tr.BACKWARDS)return this.startState;if(e==tr.FORWARDS)return this.endState;throw new Error("Invalid direction '"+e+"'")}getPaginationToken(e){return this.getState(e).paginationToken}setPaginationToken(e,t){this.getState(t).paginationToken=e}getNeighbouringTimeline(e){if(e==tr.BACKWARDS)return this.prevTimeline;if(e==tr.FORWARDS)return this.nextTimeline;throw new Error("Invalid direction '"+e+"'")}setNeighbouringTimeline(e,t){if(this.getNeighbouringTimeline(t))throw new Error("timeline already has a neighbouring timeline - cannot reset neighbour (direction: "+t+")");if(t==tr.BACKWARDS)this.prevTimeline=e;else if(t==tr.FORWARDS)this.nextTimeline=e;else throw new Error("Invalid direction '"+t+"'");this.setPaginationToken(null,t)}addEvent(e,t,r){r||(r=t?this.startState:this.endState);const i=this.getTimelineSet();i.room&&(tr.setEventMetadata(e,r,t),e.isState()&&i.room.getUnfilteredTimelineSet()===i&&(r.setStateEvents([e]),(!e.sender||e.getType()==="m.room.member"&&!t)&&tr.setEventMetadata(e,r,t)));let s;t?s=0:s=this.events.length,this.events.splice(s,0,e),t&&this.baseIndex++}removeEvent(e){for(let t=this.events.length-1;t>=0;t--){const r=this.events[t];if(r.getId()==e)return this.events.splice(t,1),t<this.baseIndex&&this.baseIndex--,r}return null}toString(){return this.name}}Ft.EventTimeline=tr;(0,zr.default)(tr,"BACKWARDS",hs.Backward);(0,zr.default)(tr,"FORWARDS",hs.Forward);var qt={},ct={},QI=V.exports;Object.defineProperty(ct,"__esModule",{value:!0});ct.ThreadFilterType=ct.ThreadEvent=ct.Thread=ct.THREAD_RELATION_TYPE=ct.FILTER_RELATED_BY_SENDERS=ct.FILTER_RELATED_BY_REL_TYPES=void 0;var Yr=QI(Y.exports),Ec=Is,ZI=nn,jp=qt,Mu=Ft,eT=ei,tT=qe,nf=Sr;let fo;ct.ThreadEvent=fo;(function(n){n.New="Thread.new",n.Update="Thread.update",n.NewReply="Thread.newReply",n.ViewThread="Thread.viewThread"})(fo||(ct.ThreadEvent=fo={}));class mn extends tT.TypedEventEmitter{constructor(e,t){var r;super();if(this.rootEvent=e,(0,Yr.default)(this,"timelineSet",void 0),(0,Yr.default)(this,"_currentUserParticipated",!1),(0,Yr.default)(this,"reEmitter",void 0),(0,Yr.default)(this,"lastEvent",void 0),(0,Yr.default)(this,"replyCount",0),(0,Yr.default)(this,"room",void 0),(0,Yr.default)(this,"client",void 0),(0,Yr.default)(this,"initialEventsFetched",!1),(0,Yr.default)(this,"id",void 0),(0,Yr.default)(this,"onEcho",o=>{this.timelineSet.eventIdToTimeline(o.getId())&&this.emit(fo.Update,this)}),this.room=t.room,this.client=t.client,this.timelineSet=new eT.EventTimelineSet(this.room,{unstableClientRelationAggregation:!0,timelineSupport:!0,pendingEvents:!0}),this.reEmitter=new ZI.TypedReEmitter(this),this.reEmitter.reEmit(this.timelineSet,[Ec.RoomEvent.Timeline,Ec.RoomEvent.TimelineReset]),e)this.id=e.getId();else{var i,s;this.id=t==null||(i=t.initialEvents)===null||i===void 0||(s=i.find(o=>o.isThreadRelation))===null||s===void 0?void 0:s.relationEventId}this.initialiseThread(this.rootEvent),t==null||(r=t.initialEvents)===null||r===void 0||r.forEach(o=>this.addEvent(o,!1)),this.room.on(Ec.RoomEvent.LocalEchoUpdated,this.onEcho),this.room.on(Ec.RoomEvent.Timeline,this.onEcho)}static setServerSideSupport(e,t){mn.hasServerSideSupport=e,t||(wv.setPreferUnstable(!0),Rv.setPreferUnstable(!0),ya.setPreferUnstable(!0))}get roomState(){return this.room.getLiveTimeline().getState(Mu.EventTimeline.FORWARDS)}addEventToTimeline(e,t){if(e.getUnsigned().transaction_id){const r=this.room.getEventForTxnId(e.getUnsigned().transaction_id);if(r){this.room.handleRemoteEcho(e,r);return}}this.findEventById(e.getId())||this.timelineSet.addEventToTimeline(e,this.liveTimeline,t,!1,this.roomState)}async addEvent(e,t){var r;mn.hasServerSideSupport||(e.setThread(this),this.addEventToTimeline(e,t),await this.client.decryptEventIfNeeded(e,{})),mn.hasServerSideSupport&&this.initialEventsFetched&&e.localTimestamp>this.lastReply().localTimestamp&&this.addEventToTimeline(e,!1),!this._currentUserParticipated&&e.getSender()===this.client.getUserId()&&(this._currentUserParticipated=!0);const i=((r=e.getRelation())===null||r===void 0?void 0:r.rel_type)===ya.name;!mn.hasServerSideSupport&&i&&this.replyCount++,(!this.lastEvent||i&&e.getId()!==this.lastEvent.getId()&&e.localTimestamp>this.lastEvent.localTimestamp)&&(this.lastEvent=e,this.lastEvent.getId()!==this.id&&(mn.hasServerSideSupport&&this.replyCount++,this.emit(fo.NewReply,this,e))),this.emit(fo.Update,this)}initialiseThread(e){const t=e==null?void 0:e.getServerAggregatedRelation(ya.name);if(mn.hasServerSideSupport&&t){this.replyCount=t.count,this._currentUserParticipated=t.current_user_participated;const r=new jp.MatrixEvent(t.latest_event);this.setEventMetadata(r),this.lastEvent=r}}async fetchInitialEvents(){if(!mn.hasServerSideSupport)return this.initialEventsFetched=!0,null;try{const e=await this.fetchEvents();return this.initialEventsFetched=!0,e}catch{return null}}setEventMetadata(e){Mu.EventTimeline.setEventMetadata(e,this.roomState,!1),e.setThread(this)}findEventById(e){return this.timelineSet.findEventById(e)}lastReply(e=()=>!0){for(let t=this.events.length-1;t>=0;t--){const r=this.events[t];if(e(r))return r}}get roomId(){return this.room.roomId}get length(){return this.replyCount}get replyToEvent(){return this.lastEvent}get events(){return this.liveTimeline.getEvents()}has(e){return this.timelineSet.findEventById(e)instanceof jp.MatrixEvent}get hasCurrentUserParticipated(){return this._currentUserParticipated}get liveTimeline(){return this.timelineSet.getLiveTimeline()}async fetchEvents(e={limit:20}){let{originalEvent:t,events:r,prevBatch:i,nextBatch:s}=await this.client.relations(this.room.roomId,this.id,ya.name,null,e);!e.to&&!s&&(r=[...r,t]),await Promise.all(r.map(c=>(this.setEventMetadata(c),this.client.decryptEventIfNeeded(c))));const o=!e.direction||e.direction===Mu.Direction.Backward;return this.timelineSet.addEventsToTimeline(r,o,this.liveTimeline,o?s:i),{originalEvent:t,events:r,prevBatch:i,nextBatch:s}}}ct.Thread=mn;(0,Yr.default)(mn,"hasServerSideSupport",void 0);const wv=new nf.ServerControlledNamespacedValue("related_by_senders","io.element.relation_senders");ct.FILTER_RELATED_BY_SENDERS=wv;const Rv=new nf.ServerControlledNamespacedValue("related_by_rel_types","io.element.relation_types");ct.FILTER_RELATED_BY_REL_TYPES=Rv;const ya=new nf.ServerControlledNamespacedValue("m.thread","io.element.thread");ct.THREAD_RELATION_TYPE=ya;let sh;ct.ThreadFilterType=sh;(function(n){n[n.My=0]="My",n[n.All=1]="All"})(sh||(ct.ThreadFilterType=sh={}));var No={};Object.defineProperty(No,"__esModule",{value:!0});No.EventStatus=void 0;let oh;No.EventStatus=oh;(function(n){n.NOT_SENT="not_sent",n.ENCRYPTING="encrypting",n.SENDING="sending",n.QUEUED="queued",n.SENT="sent",n.CANCELLED="cancelled"})(oh||(No.EventStatus=oh={}));(function(n){var e=V.exports;Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"EventStatus",{enumerable:!0,get:function(){return a.EventStatus}}),n.MatrixEventEvent=n.MatrixEvent=void 0;var t=e(Y.exports),r=Pl,i=ie,s=ne,o=G,c=ct,l=nn,u=qe,a=No;const g={};function m(P){return g[P]||(g[P]=P),g[P]}const p=Object.freeze({visible:!0});let E;n.MatrixEventEvent=E,function(P){P.Decrypted="Event.decrypted",P.BeforeRedaction="Event.beforeRedaction",P.VisibilityChange="Event.visibilityChange",P.LocalEventIdReplaced="Event.localEventIdReplaced",P.Status="Event.status",P.Replaced="Event.replaced",P.RelationsCreated="Event.relationsCreated"}(E||(n.MatrixEventEvent=E={}));class I extends u.TypedEventEmitter{constructor(S={}){var T;super();this.event=S,(0,t.default)(this,"pushActions",null),(0,t.default)(this,"_replacingEvent",null),(0,t.default)(this,"_localRedactionEvent",null),(0,t.default)(this,"_isCancelled",!1),(0,t.default)(this,"clearEvent",void 0),(0,t.default)(this,"visibility",p),(0,t.default)(this,"_hasCachedExtEv",!1),(0,t.default)(this,"_cachedExtEv",void 0),(0,t.default)(this,"senderCurve25519Key",null),(0,t.default)(this,"claimedEd25519Key",null),(0,t.default)(this,"forwardingCurve25519KeyChain",[]),(0,t.default)(this,"untrusted",null),(0,t.default)(this,"_decryptionPromise",null),(0,t.default)(this,"retryDecryption",!1),(0,t.default)(this,"txnId",null),(0,t.default)(this,"thread",null),(0,t.default)(this,"threadId",void 0),(0,t.default)(this,"localTimestamp",void 0),(0,t.default)(this,"sender",null),(0,t.default)(this,"target",null),(0,t.default)(this,"status",null),(0,t.default)(this,"error",null),(0,t.default)(this,"forwardLooking",!0),(0,t.default)(this,"verificationRequest",null),(0,t.default)(this,"reEmitter",void 0),["state_key","type","sender","room_id","membership"].forEach(D=>{typeof S[D]=="string"&&(S[D]=m(S[D]))}),["membership","avatar_url","displayname"].forEach(D=>{var R;typeof((R=S.content)===null||R===void 0?void 0:R[D])=="string"&&(S.content[D]=m(S.content[D]))}),["rel_type"].forEach(D=>{var R,L;typeof((R=S.content)===null||R===void 0||(L=R["m.relates_to"])===null||L===void 0?void 0:L[D])=="string"&&(S.content["m.relates_to"][D]=m(S.content["m.relates_to"][D]))}),this.txnId=S.txn_id||null,this.localTimestamp=Date.now()-((T=this.getAge())!==null&&T!==void 0?T:0),this.reEmitter=new l.TypedReEmitter(this)}get unstableExtensibleEvent(){return this._hasCachedExtEv||(this._cachedExtEv=r.ExtensibleEvents.parse(this.getEffectiveEvent())),this._cachedExtEv}invalidateExtensibleEvent(){this._hasCachedExtEv=!1}getEffectiveEvent(){const S=Object.assign({},this.getContent());if(this.getWireType()===s.EventType.RoomMessageEncrypted)for(const[T,D]of Object.entries(this.getWireContent()))["algorithm","ciphertext","device_id","sender_key","session_id"].includes(T)||S[T]===void 0&&(S[T]=D);return Object.assign({},this.event,this.clearEvent,{content:S})}getId(){return this.event.event_id}getSender(){return this.event.sender||this.event.user_id}getType(){return this.clearEvent?this.clearEvent.type:this.event.type}getWireType(){return this.event.type}getRoomId(){return this.event.room_id}getTs(){return this.event.origin_server_ts}getDate(){return this.event.origin_server_ts?new Date(this.event.origin_server_ts):null}getOriginalContent(){return this._localRedactionEvent?{}:this.clearEvent?this.clearEvent.content||{}:this.event.content||{}}getContent(){return this._localRedactionEvent?{}:this._replacingEvent?this._replacingEvent.getContent()["m.new_content"]||{}:this.getOriginalContent()}getWireContent(){return this.event.content||{}}get threadRootId(){var S;const T=(S=this.getWireContent())===null||S===void 0?void 0:S["m.relates_to"];if((T==null?void 0:T.rel_type)===c.THREAD_RELATION_TYPE.name)return T.event_id;var D;return((D=this.getThread())===null||D===void 0?void 0:D.id)||this.threadId}get isThreadRelation(){return!!this.threadRootId&&this.threadId!==this.getId()}get isThreadRoot(){var S;return!!this.getServerAggregatedRelation(c.THREAD_RELATION_TYPE.name)||((S=this.getThread())===null||S===void 0?void 0:S.id)===this.getId()}get replyEventId(){var S;const T=this.getContent()["m.relates_to"]||this.getWireContent()["m.relates_to"];return T==null||(S=T["m.in_reply_to"])===null||S===void 0?void 0:S.event_id}get relationEventId(){var S,T;return(S=this.getWireContent())===null||S===void 0||(T=S["m.relates_to"])===null||T===void 0?void 0:T.event_id}getPrevContent(){return this.getUnsigned().prev_content||this.event.prev_content||{}}getDirectionalContent(){return this.forwardLooking?this.getContent():this.getPrevContent()}getAge(){return this.getUnsigned().age||this.event.age}getLocalAge(){return Date.now()-this.localTimestamp}getStateKey(){return this.event.state_key}isState(){return this.event.state_key!==void 0}makeEncrypted(S,T,D,R){this.clearEvent={type:this.event.type,content:this.event.content},this.event.type=S,this.event.content=T,this.senderCurve25519Key=D,this.claimedEd25519Key=R}isBeingDecrypted(){return this._decryptionPromise!=null}getDecryptionPromise(){return this._decryptionPromise}isDecryptionFailure(){var S,T;return((S=this.clearEvent)===null||S===void 0||(T=S.content)===null||T===void 0?void 0:T.msgtype)==="m.bad.encrypted"}shouldAttemptDecryption(){return!(this.isRedacted()||this.isBeingDecrypted()||this.clearEvent||!this.isEncrypted())}async attemptDecryption(S,T={}){if(typeof T=="boolean"&&(T={isRetry:T}),!this.isEncrypted())throw new Error("Attempt to decrypt event which isn't encrypted");if(this.clearEvent&&!this.isDecryptionFailure())throw new Error("Attempt to decrypt event which has already been decrypted");return this._decryptionPromise?(i.logger.log(`Event ${this.getId()} already being decrypted; queueing a retry`),this.retryDecryption=!0,this._decryptionPromise):(this._decryptionPromise=this.decryptionLoop(S,T),this._decryptionPromise)}cancelAndResendKeyRequest(S,T){const D=this.getWireContent();return S.requestRoomKey({algorithm:D.algorithm,room_id:this.getRoomId(),session_id:D.session_id,sender_key:D.sender_key},this.getKeyRequestRecipients(T),!0)}getKeyRequestRecipients(S){const T=this.getWireContent(),D=[{userId:S,deviceId:"*"}],R=this.getSender();return R!==S&&D.push({userId:R,deviceId:T.device_id}),D}async decryptionLoop(S,T={}){for(await Promise.resolve();;){this.retryDecryption=!1;let D,R;try{S?(D=await S.decryptEvent(this),T.isRetry===!0&&i.logger.info(`Decrypted event on retry (id=${this.getId()})`)):D=this.badEncryptedMessage("Encryption not enabled")}catch(L){if(L.name!=="DecryptionError"){const H=T.isRetry?"re":"";i.logger.error(`Error ${H}decrypting event (id=${this.getId()}): ${L.stack||L}`),this._decryptionPromise=null,this.retryDecryption=!1;return}if(R=L,this.retryDecryption){i.logger.log(`Got error decrypting event (id=${this.getId()}: ${L}), but retrying`);continue}i.logger.warn(`Error decrypting event (id=${this.getId()}): ${L.detailedString}`),D=this.badEncryptedMessage(L.message)}this._decryptionPromise=null,this.retryDecryption=!1,this.setClearData(D),this.setPushActions(null),T.emit!==!1&&this.emit(E.Decrypted,this,R);return}}badEncryptedMessage(S){return{clearEvent:{type:s.EventType.RoomMessage,content:{msgtype:"m.bad.encrypted",body:"** Unable to decrypt: "+S+" **"}}}}setClearData(S){this.clearEvent=S.clearEvent,this.senderCurve25519Key=S.senderCurve25519Key||null,this.claimedEd25519Key=S.claimedEd25519Key||null,this.forwardingCurve25519KeyChain=S.forwardingCurve25519KeyChain||[],this.untrusted=S.untrusted||!1,this.invalidateExtensibleEvent()}getClearContent(){return this.clearEvent?this.clearEvent.content:null}isEncrypted(){return!this.isState()&&this.event.type===s.EventType.RoomMessageEncrypted}getSenderKey(){return this.senderCurve25519Key}getKeysClaimed(){return{ed25519:this.claimedEd25519Key}}getClaimedEd25519Key(){return this.claimedEd25519Key}getForwardingCurve25519KeyChain(){return this.forwardingCurve25519KeyChain}isKeySourceUntrusted(){return this.untrusted}getUnsigned(){return this.event.unsigned||{}}setUnsigned(S){this.event.unsigned=S}unmarkLocallyRedacted(){const S=this._localRedactionEvent;return this._localRedactionEvent=null,this.event.unsigned&&(this.event.unsigned.redacted_because=null),!!S}markLocallyRedacted(S){this._localRedactionEvent||(this.emit(E.BeforeRedaction,this,S),this._localRedactionEvent=S,this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=S.event)}applyVisibilityEvent(S){const T=S?S.visible:!0,D=S?S.reason:null;let R=!1;(this.visibility.visible!==S.visible||!this.visibility.visible&&this.visibility.reason!==D)&&(R=!0),R&&(T?this.visibility=p:this.visibility=Object.freeze({visible:!1,reason:D}),R&&this.emit(E.VisibilityChange,this,T))}messageVisibility(){return this.visibility}makeRedacted(S){if(!S.event)throw new Error("invalid redactionEvent in makeRedacted");this._localRedactionEvent=null,this.emit(E.BeforeRedaction,this,S),this._replacingEvent=null,this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=S.event;let T;for(T in this.event)!this.event.hasOwnProperty(T)||w.has(T)||delete this.event[T];const D=k[this.getType()]||{},R=this.getContent();for(T in R)!R.hasOwnProperty(T)||D[T]||delete R[T];this.invalidateExtensibleEvent()}isRedacted(){return Boolean(this.getUnsigned().redacted_because)}isRedaction(){return this.getType()===s.EventType.RoomRedaction}asVisibilityChange(){if(!s.EVENT_VISIBILITY_CHANGE_TYPE.matches(this.getType()))return null;const S=this.getRelation();if(!S||S.rel_type!="m.reference")return null;const T=S.event_id;if(!T)return null;const D=this.getWireContent(),R=!!D.visible,L=D.reason;return L&&typeof L!="string"?null:{visible:R,reason:L,eventId:T}}isVisibilityEvent(){return s.EVENT_VISIBILITY_CHANGE_TYPE.matches(this.getType())}getRedactionEvent(){var S;if(!this.isRedacted())return null;if((S=this.clearEvent)!==null&&S!==void 0&&S.unsigned){var T;return(T=this.clearEvent)===null||T===void 0?void 0:T.unsigned.redacted_because}else return this.event.unsigned.redacted_because?this.event.unsigned.redacted_because:{}}getPushActions(){return this.pushActions}setPushActions(S){this.pushActions=S}handleRemoteEcho(S){const T=this.getUnsigned(),D=this.getId();this.event=S,T.redacted_because&&(this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=T.redacted_because),this.setStatus(null),this.getId()!==D&&this.emit(E.LocalEventIdReplaced,this),this.localTimestamp=Date.now()-this.getAge()}isSending(){return!!this.status}setStatus(S){this.status=S,this.emit(E.Status,this,S)}replaceLocalEventId(S){this.event.event_id=S,this.emit(E.LocalEventIdReplaced,this)}isRelation(S=void 0){const T=this.getWireContent(),D=T&&T["m.relates_to"];return D&&D.rel_type&&D.event_id&&(S&&D.rel_type===S||!S)}getRelation(){return this.isRelation()?this.getWireContent()["m.relates_to"]:null}makeReplaced(S){this.isRedacted()&&S||this._replacingEvent!==S&&(this._replacingEvent=S,this.emit(E.Replaced,this),this.invalidateExtensibleEvent())}getAssociatedStatus(){return this._replacingEvent?this._replacingEvent.status:this._localRedactionEvent?this._localRedactionEvent.status:this.status}getServerAggregatedRelation(S){var T;return(T=this.getUnsigned()["m.relations"])===null||T===void 0?void 0:T[S]}replacingEventId(){const S=this.getServerAggregatedRelation(s.RelationType.Replace);if(S)return S.event_id;if(this._replacingEvent)return this._replacingEvent.getId()}replacingEvent(){return this._replacingEvent}replacingEventDate(){const S=this.getServerAggregatedRelation(s.RelationType.Replace);if(S){const T=S.origin_server_ts;if(Number.isFinite(T))return new Date(T)}else if(this._replacingEvent)return this._replacingEvent.getDate()}localRedactionEvent(){return this._localRedactionEvent}getAssociatedId(){const S=this.getRelation();if(this.replyEventId)return this.replyEventId;if(S)return S.event_id;if(this.isRedaction())return this.event.redacts}hasAssocation(){return!!this.getAssociatedId()}updateAssociatedId(S){const T=this.getRelation();T?T.event_id=S:this.isRedaction()&&(this.event.redacts=S)}flagCancelled(S=!0){this._isCancelled=S}isCancelled(){return this._isCancelled}toSnapshot(){const S=new I(JSON.parse(JSON.stringify(this.event)));for(const[T,D]of Object.entries(this))T!=="event"&&(S[T]=D);return S}isEquivalentTo(S){if(!S)return!1;if(S===this)return!0;const T=(0,o.deepSortedObjectEntries)(this.event),D=(0,o.deepSortedObjectEntries)(S.event);return JSON.stringify(T)===JSON.stringify(D)}toJSON(){const S=this.getEffectiveEvent();return this.isEncrypted()?{decrypted:S,encrypted:this.event}:S}setVerificationRequest(S){this.verificationRequest=S}setTxnId(S){this.txnId=S}getTxnId(){return this.txnId}setThread(S){this.thread=S,this.setThreadId(S.id),this.reEmitter.reEmit(S,[c.ThreadEvent.Update])}getThread(){return this.thread}setThreadId(S){this.threadId=S}}n.MatrixEvent=I;const w=new Set(["event_id","type","room_id","user_id","sender","state_key","prev_state","content","unsigned","origin_server_ts"]),k={[s.EventType.RoomMember]:{membership:1},[s.EventType.RoomCreate]:{creator:1},[s.EventType.RoomJoinRules]:{join_rule:1},[s.EventType.RoomPowerLevels]:{ban:1,events:1,events_default:1,kick:1,redact:1,state_default:1,users:1,users_default:1},[s.EventType.RoomAliases]:{aliases:1}}})(qt);var fs={},rT=V.exports;Object.defineProperty(fs,"__esModule",{value:!0});fs.RelationsEvent=fs.Relations=void 0;var Un=rT(Y.exports),Ki=qt,Sc=ie,Gr=ne,nT=qe;let po;fs.RelationsEvent=po;(function(n){n.Add="Relations.add",n.Remove="Relations.remove",n.Redaction="Relations.redaction"})(po||(fs.RelationsEvent=po={}));class iT extends nT.TypedEventEmitter{constructor(e,t,r){super();this.relationType=e,this.eventType=t,this.room=r,(0,Un.default)(this,"relationEventIds",new Set),(0,Un.default)(this,"relations",new Set),(0,Un.default)(this,"annotationsByKey",{}),(0,Un.default)(this,"annotationsBySender",{}),(0,Un.default)(this,"sortedAnnotationsByKey",[]),(0,Un.default)(this,"targetEvent",null),(0,Un.default)(this,"creationEmitted",!1),(0,Un.default)(this,"onEventStatus",(i,s)=>{if(!i.isSending()){i.removeListener(Ki.MatrixEventEvent.Status,this.onEventStatus);return}s===Ki.EventStatus.CANCELLED&&(i.removeListener(Ki.MatrixEventEvent.Status,this.onEventStatus),this.removeEvent(i))}),(0,Un.default)(this,"onBeforeRedaction",async i=>{if(!!this.relations.has(i)){if(this.relations.delete(i),this.relationType===Gr.RelationType.Annotation)this.removeAnnotationFromAggregation(i);else if(this.relationType===Gr.RelationType.Replace&&this.targetEvent){const s=await this.getLastReplacement();this.targetEvent.makeReplaced(s)}i.removeListener(Ki.MatrixEventEvent.BeforeRedaction,this.onBeforeRedaction),this.emit(po.Redaction,i)}})}async addEvent(e){if(this.relationEventIds.has(e.getId()))return;const t=e.getRelation();if(!t){Sc.logger.error("Event must have relation info");return}const r=t.rel_type,i=e.getType();if(this.relationType!==r||this.eventType!==i){Sc.logger.error("Event relation info doesn't match this container");return}if(e.isSending()&&e.on(Ki.MatrixEventEvent.Status,this.onEventStatus),this.relations.add(e),this.relationEventIds.add(e.getId()),this.relationType===Gr.RelationType.Annotation)this.addAnnotationToAggregation(e);else if(this.relationType===Gr.RelationType.Replace&&this.targetEvent){const s=await this.getLastReplacement();this.targetEvent.makeReplaced(s)}e.on(Ki.MatrixEventEvent.BeforeRedaction,this.onBeforeRedaction),this.emit(po.Add,e),this.maybeEmitCreated()}async removeEvent(e){if(!this.relations.has(e))return;const t=e.getRelation();if(!t){Sc.logger.error("Event must have relation info");return}const r=t.rel_type,i=e.getType();if(this.relationType!==r||this.eventType!==i){Sc.logger.error("Event relation info doesn't match this container");return}if(this.relations.delete(e),this.relationType===Gr.RelationType.Annotation)this.removeAnnotationFromAggregation(e);else if(this.relationType===Gr.RelationType.Replace&&this.targetEvent){const s=await this.getLastReplacement();this.targetEvent.makeReplaced(s)}this.emit(po.Remove,e)}getRelations(){return[...this.relations]}addAnnotationToAggregation(e){const{key:t}=e.getRelation();if(!t)return;let r=this.annotationsByKey[t];r||(r=this.annotationsByKey[t]=new Set,this.sortedAnnotationsByKey.push([t,r])),r.add(e),this.sortedAnnotationsByKey.sort((o,c)=>{const l=o[1];return c[1].size-l.size});const i=e.getSender();let s=this.annotationsBySender[i];s||(s=this.annotationsBySender[i]=new Set),s.add(e)}removeAnnotationFromAggregation(e){const{key:t}=e.getRelation();if(!t)return;const r=this.annotationsByKey[t];r&&(r.delete(e),this.sortedAnnotationsByKey.sort((o,c)=>{const l=o[1];return c[1].size-l.size}));const i=e.getSender(),s=this.annotationsBySender[i];s&&s.delete(e)}getSortedAnnotationsByKey(){return this.relationType!==Gr.RelationType.Annotation?null:this.sortedAnnotationsByKey}getAnnotationsBySender(){return this.relationType!==Gr.RelationType.Annotation?null:this.annotationsBySender}async getLastReplacement(){if(this.relationType!==Gr.RelationType.Replace||!this.targetEvent)return null;const e=this.targetEvent.getServerAggregatedRelation(Gr.RelationType.Replace),t=e&&e.origin_server_ts,r=this.getRelations().reduce((i,s)=>s.getSender()!==this.targetEvent.getSender()||t&&t>s.getTs()||i&&i.getTs()>s.getTs()?i:s,null);return r!=null&&r.shouldAttemptDecryption()?await r.attemptDecryption(this.room.client.crypto):r!=null&&r.isBeingDecrypted()&&await r.getDecryptionPromise(),r}async setTargetEvent(e){if(!this.targetEvent){if(this.targetEvent=e,this.relationType===Gr.RelationType.Replace){const t=await this.getLastReplacement();t&&this.targetEvent.makeReplaced(t)}this.maybeEmitCreated()}}maybeEmitCreated(){this.creationEmitted||!this.targetEvent||!this.relations.size||(this.creationEmitted=!0,this.targetEvent.emit(Ki.MatrixEventEvent.RelationsCreated,this.relationType,this.eventType))}}fs.Relations=iT;var sT=V.exports;Object.defineProperty(ei,"__esModule",{value:!0});ei.EventTimelineSet=ei.DuplicateStrategy=void 0;var yi=sT(Y.exports),dt=Ft,Vp=qt,rs=ie,oT=fs,Au=ar,aT=qe;let ro;ro=rs.logger.log.bind(rs.logger);let La;ei.DuplicateStrategy=La;(function(n){n.Ignore="ignore",n.Replace="replace"})(La||(ei.DuplicateStrategy=La={}));class cT extends aT.TypedEventEmitter{constructor(e,t){super();this.room=e,(0,yi.default)(this,"timelineSupport",void 0),(0,yi.default)(this,"unstableClientRelationAggregation",void 0),(0,yi.default)(this,"displayPendingEvents",void 0),(0,yi.default)(this,"liveTimeline",void 0),(0,yi.default)(this,"timelines",void 0),(0,yi.default)(this,"_eventIdToTimeline",void 0),(0,yi.default)(this,"filter",void 0),(0,yi.default)(this,"relations",void 0),this.timelineSupport=Boolean(t.timelineSupport),this.liveTimeline=new dt.EventTimeline(this),this.unstableClientRelationAggregation=!!t.unstableClientRelationAggregation,this.displayPendingEvents=t.pendingEvents!==!1,this.timelines=[this.liveTimeline],this._eventIdToTimeline={},this.filter=t.filter,this.unstableClientRelationAggregation&&(this.relations={})}getTimelines(){return this.timelines}getFilter(){return this.filter}setFilter(e){this.filter=e}getPendingEvents(){return!this.room||!this.displayPendingEvents?[]:this.room.getPendingEvents()}getLiveTimeline(){return this.liveTimeline}eventIdToTimeline(e){return this._eventIdToTimeline[e]}replaceEventId(e,t){const r=this._eventIdToTimeline[e];r&&(delete this._eventIdToTimeline[e],this._eventIdToTimeline[t]=r)}resetLiveTimeline(e,t){const r=!this.timelineSupport||!t,i=this.liveTimeline,s=r?i.forkLive(dt.EventTimeline.FORWARDS):i.fork(dt.EventTimeline.FORWARDS);r?(this.timelines=[s],this._eventIdToTimeline={}):this.timelines.push(s),t&&i.setPaginationToken(t,dt.EventTimeline.FORWARDS),s.setPaginationToken(e,dt.EventTimeline.BACKWARDS),this.liveTimeline=s,this.emit(Au.RoomEvent.TimelineReset,this.room,this,r)}getTimelineForEvent(e){const t=this._eventIdToTimeline[e];return t===void 0?null:t}findEventById(e){const t=this.getTimelineForEvent(e);if(!!t)return t.getEvents().find(function(r){return r.getId()==e})}addTimeline(){if(!this.timelineSupport)throw new Error("timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.");const e=new dt.EventTimeline(this);return this.timelines.push(e),e}addEventsToTimeline(e,t,r,i){if(!r)throw new Error("'timeline' not specified for EventTimelineSet.addEventsToTimeline");if(!t&&r==this.liveTimeline)throw new Error("EventTimelineSet.addEventsToTimeline cannot be used for adding events to the live timeline - use Room.addLiveEvents instead");if(this.filter&&(e=this.filter.filterRoomTimeline(e),!e.length))return;const s=t?dt.EventTimeline.BACKWARDS:dt.EventTimeline.FORWARDS,o=t?dt.EventTimeline.FORWARDS:dt.EventTimeline.BACKWARDS;let c=!1,l=!1;for(let u=0;u<e.length;u++){const a=e[u],g=a.getId(),m=this._eventIdToTimeline[g];if(!m){this.addEventToTimeline(a,r,t),l=!0,c=!0;continue}if(l=!1,m==r){ro("Event "+g+" already in timeline "+r);continue}const p=r.getNeighbouringTimeline(s);if(p){m==p?ro("Event "+g+" in neighbouring timeline - switching to "+m):ro("Event "+g+" already in a different timeline "+m),r=m;continue}rs.logger.info("Already have timeline for "+g+" - joining timeline "+r+" to "+m);const E=m===this.liveTimeline,I=r===this.liveTimeline,w=s===dt.EventTimeline.BACKWARDS&&E,k=s===dt.EventTimeline.FORWARDS&&I;if(w||k){w&&rs.logger.warn("Refusing to set a preceding existingTimeLine on our timeline as the existingTimeLine is live ("+m+")"),k&&rs.logger.warn("Refusing to set our preceding timeline on a existingTimeLine as our timeline is live ("+r+")");continue}r.setNeighbouringTimeline(m,s),m.setNeighbouringTimeline(r,o),r=m,c=!0}if(l||!c){if(s===dt.EventTimeline.FORWARDS&&r===this.liveTimeline){rs.logger.warn({lastEventWasNew:l,didUpdate:c}),rs.logger.warn(`Refusing to set forwards pagination token of live timeline ${r} to ${i}`);return}r.setPaginationToken(i,s)}}addLiveEvent(e,t=La.Ignore,r=!1,i){if(this.filter&&!this.filter.filterRoomTimeline([e]).length)return;const s=this._eventIdToTimeline[e.getId()];if(s){if(t===La.Replace){ro("EventTimelineSet.addLiveEvent: replacing duplicate event "+e.getId());const o=s.getEvents();for(let c=0;c<o.length;c++)if(o[c].getId()===e.getId()){i||(i=s.getState(dt.EventTimeline.FORWARDS)),dt.EventTimeline.setEventMetadata(e,i,!1),o[c]=e;break}}else ro("EventTimelineSet.addLiveEvent: ignoring duplicate event "+e.getId());return}this.addEventToTimeline(e,this.liveTimeline,!1,r,i)}addEventToTimeline(e,t,r,i=!1,s){const o=e.getId();t.addEvent(e,r,s),this._eventIdToTimeline[o]=t,this.setRelationsTarget(e),this.aggregateRelations(e);const c={timeline:t,liveEvent:!r&&t==this.liveTimeline&&!i};this.emit(Au.RoomEvent.Timeline,e,this.room,Boolean(r),!1,c)}handleRemoteEcho(e,t,r){const i=this._eventIdToTimeline[t];i?(delete this._eventIdToTimeline[t],this._eventIdToTimeline[r]=i):this.filter?this.filter.filterRoomTimeline([e]).length&&this.addEventToTimeline(e,this.liveTimeline,!1):this.addEventToTimeline(e,this.liveTimeline,!1)}removeEvent(e){const t=this._eventIdToTimeline[e];if(!t)return null;const r=t.removeEvent(e);if(r){delete this._eventIdToTimeline[e];const i={timeline:t};this.emit(Au.RoomEvent.Timeline,r,this.room,void 0,!0,i)}return r}compareEventOrdering(e,t){if(e==t)return 0;const r=this._eventIdToTimeline[e],i=this._eventIdToTimeline[t];if(r===void 0||i===void 0)return null;if(r===i){let o,c;const l=r.getEvents();for(let u=0;u<l.length&&(o===void 0||c===void 0);u++){const a=l[u].getId();a==e&&(o=u),a==t&&(c=u)}return o-c}let s=r;for(;s;){if(s===i)return-1;s=s.getNeighbouringTimeline(dt.EventTimeline.FORWARDS)}for(s=r;s;){if(s===i)return 1;s=s.getNeighbouringTimeline(dt.EventTimeline.BACKWARDS)}return null}getRelationsForEvent(e,t,r){if(!this.unstableClientRelationAggregation)throw new Error("Client-side relation aggregation is disabled");if(!e||!t||!r)throw new Error("Invalid arguments for `getRelationsForEvent`");return((this.relations[e]||{})[t]||{})[r]}getAllRelationsEventForEvent(e){const t=this.relations[e]||{},r=[];for(const i of Object.values(t))for(const s of Object.values(i))r.push(...s.getRelations());return r}setRelationsTarget(e){if(!this.unstableClientRelationAggregation)return;const t=this.relations[e.getId()];if(!!t)for(const r of Object.values(t))for(const i of Object.values(r))i.setTargetEvent(e)}aggregateRelations(e){if(!this.unstableClientRelationAggregation||e.isRedacted()||e.status===Vp.EventStatus.CANCELLED)return;if(e.isBeingDecrypted()||e.shouldAttemptDecryption()){e.once(Vp.MatrixEventEvent.Decrypted,()=>{this.aggregateRelations(e)});return}const t=e.getRelation();if(!t)return;const r=t.event_id,i=t.rel_type,s=e.getType();let o=this.relations[r];o||(o=this.relations[r]={});let c=o[i];c||(c=o[i]={});let l=c[s],u;l||(l=c[s]=new oT.Relations(i,s,this.room),u=this.findEventById(r)||this.room.getPendingEvent(r),u&&l.setTargetEvent(u)),l.addEvent(e)}}ei.EventTimelineSet=cT;var ec={};Object.defineProperty(ec,"__esModule",{value:!0});ec.RoomSummary=void 0;class lT{constructor(e,t){this.roomId=e}}ec.RoomSummary=lT;var Cs={},xl={};Object.defineProperty(xl,"__esModule",{value:!0});xl.FilterComponent=void 0;var Fi=ct;function uT(n,e){if(e.endsWith("*")){const t=e.slice(0,-1);return n.substr(0,t.length)===t}else return n===e}class dT{constructor(e,t){this.filterJson=e,this.userId=t}check(e){var t,r;const i=((t=e.getUnsigned())===null||t===void 0?void 0:t["m.relations"])||{},s=Object.keys(i),o=[];return this.userId&&i!==null&&i!==void 0&&(r=i[Fi.THREAD_RELATION_TYPE.name])!==null&&r!==void 0&&r.current_user_participated&&o.push(this.userId),this.checkFields(e.getRoomId(),e.getSender(),e.getType(),e.getContent()?e.getContent().url!==void 0:!1,s,o)}toJSON(){return{types:this.filterJson.types||null,not_types:this.filterJson.not_types||[],rooms:this.filterJson.rooms||null,not_rooms:this.filterJson.not_rooms||[],senders:this.filterJson.senders||null,not_senders:this.filterJson.not_senders||[],contains_url:this.filterJson.contains_url||null,[Fi.FILTER_RELATED_BY_SENDERS.name]:this.filterJson[Fi.FILTER_RELATED_BY_SENDERS.name]||[],[Fi.FILTER_RELATED_BY_REL_TYPES.name]:this.filterJson[Fi.FILTER_RELATED_BY_REL_TYPES.name]||[]}}checkFields(e,t,r,i,s,o){const c={rooms:function(g){return e===g},senders:function(g){return t===g},types:function(g){return uT(r,g)}};for(let g=0;g<Object.keys(c).length;g++){const m=Object.keys(c)[g],p=c[m],E="not_"+m,I=this.filterJson[E];if(I!=null&&I.some(p))return!1;const w=this.filterJson[m];if(w&&!w.some(p))return!1}const l=this.filterJson.contains_url;if(l!==void 0&&l!==i)return!1;const u=this.filterJson[Fi.FILTER_RELATED_BY_REL_TYPES.name];if(u!==void 0&&!this.arrayMatchesFilter(u,s))return!1;const a=this.filterJson[Fi.FILTER_RELATED_BY_SENDERS.name];return!(a!==void 0&&!this.arrayMatchesFilter(a,o))}arrayMatchesFilter(e,t){return t.length>0&&e.every(r=>t.includes(r))}filter(e){return e.filter(this.check,this)}limit(){return this.filterJson.limit!==void 0?this.filterJson.limit:10}}xl.FilterComponent=dT;var hT=V.exports;Object.defineProperty(Cs,"__esModule",{value:!0});Cs.Filter=void 0;var Xc=hT(Y.exports),Gp=xl;function Du(n,e,t){const r=e.split(".");let i=n;for(let s=0;s<r.length-1;s++)i[r[s]]||(i[r[s]]={}),i=i[r[s]];i[r[r.length-1]]=t}class Nl{static fromJson(e,t,r){const i=new Nl(e,t);return i.setDefinition(r),i}constructor(e,t){this.userId=e,this.filterId=t,(0,Xc.default)(this,"definition",{}),(0,Xc.default)(this,"roomFilter",void 0),(0,Xc.default)(this,"roomTimelineFilter",void 0)}getFilterId(){return this.filterId}getDefinition(){return this.definition}setDefinition(e){this.definition=e;const t=e.room,r={};t&&(t.rooms&&(r.rooms=t.rooms),t.rooms&&(r.not_rooms=t.not_rooms)),this.roomFilter=new Gp.FilterComponent(r,this.userId),this.roomTimelineFilter=new Gp.FilterComponent((t==null?void 0:t.timeline)||{},this.userId)}getRoomTimelineFilterComponent(){return this.roomTimelineFilter}filterRoomTimeline(e){return this.roomTimelineFilter.filter(this.roomFilter.filter(e))}setTimelineLimit(e){Du(this.definition,"room.timeline.limit",e)}setLazyLoadMembers(e){Du(this.definition,"room.state.lazy_load_members",!!e)}setIncludeLeaveRooms(e){Du(this.definition,"room.include_leave",e)}}Cs.Filter=Nl;(0,Xc.default)(Nl,"LAZY_LOADING_MESSAGES_FILTER",{lazy_load_members:!0});var me={},sf={};/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */var Wp=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,fT=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,Iv=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,pT=/\\([\u000b\u0020-\u00ff])/g,gT=/([\\"])/g,Tv=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;sf.format=mT;sf.parse=yT;function mT(n){if(!n||typeof n!="object")throw new TypeError("argument obj is required");var e=n.parameters,t=n.type;if(!t||!Tv.test(t))throw new TypeError("invalid type");var r=t;if(e&&typeof e=="object")for(var i,s=Object.keys(e).sort(),o=0;o<s.length;o++){if(i=s[o],!Iv.test(i))throw new TypeError("invalid parameter name");r+="; "+i+"="+_T(e[i])}return r}function yT(n){if(!n)throw new TypeError("argument string is required");var e=typeof n=="object"?vT(n):n;if(typeof e!="string")throw new TypeError("argument string is required to be a string");var t=e.indexOf(";"),r=t!==-1?e.substr(0,t).trim():e.trim();if(!Tv.test(r))throw new TypeError("invalid media type");var i=new ET(r.toLowerCase());if(t!==-1){var s,o,c;for(Wp.lastIndex=t;o=Wp.exec(e);){if(o.index!==t)throw new TypeError("invalid parameter format");t+=o[0].length,s=o[1].toLowerCase(),c=o[2],c[0]==='"'&&(c=c.substr(1,c.length-2).replace(pT,"$1")),i.parameters[s]=c}if(t!==e.length)throw new TypeError("invalid parameter format")}return i}function vT(n){var e;if(typeof n.getHeader=="function"?e=n.getHeader("content-type"):typeof n.headers=="object"&&(e=n.headers&&n.headers["content-type"]),typeof e!="string")throw new TypeError("content-type header is missing from object");return e}function _T(n){var e=String(n);if(Iv.test(e))return e;if(e.length>0&&!fT.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(gT,"\\$1")+'"'}function ET(n){this.parameters=Object.create(null),this.type=n}var tc={};Object.defineProperty(tc,"__esModule",{value:!0});tc.clearTimeout=OT;tc.setNow=IT;tc.setTimeout=TT;var ST=ie;const bT=1e3;let wT=0,Uu;const Jn=[],RT=function(...n){};function IT(n){Ll=n||Date.now}let Ll=Date.now;function TT(n,e,...t){e=e||0,e<0&&(e=0);const r=Ll()+e,i=wT++,s={runAt:r,func:n,params:t,key:i},o=CT(Jn,function(c){return c.runAt-r});return Jn.splice(o,0,s),of(),i}function OT(n){if(Jn.length===0)return;let e;for(e=0;e<Jn.length;e++)if(Jn[e].key==n){Jn.splice(e,1);break}e===0&&of()}function of(){Uu&&j.clearTimeout(Uu);const n=Jn[0];if(!n)return;const e=Ll(),t=Math.min(n.runAt-e,bT);Uu=j.setTimeout(kT,t)}function kT(){let n;const e=Ll(),t=[];for(;;){const r=Jn[0];if(!r||r.runAt>e)break;n=Jn.shift(),RT("runCallbacks: popping",n.key),t.push(n)}of();for(let r=0;r<t.length;r++){n=t[r];try{n.func.apply(j,n.params)}catch(i){ST.logger.error("Uncaught exception in callback function",i.stack||i)}}}function CT(n,e){let t=0,r=n.length;for(;t<r;){const i=t+r>>1;e(n[i])>0?r=i:t=i+1}return t}var PT=V.exports;Object.defineProperty(me,"__esModule",{value:!0});me.PREFIX_V1=me.PREFIX_UNSTABLE=me.PREFIX_R0=me.PREFIX_MEDIA_R0=me.PREFIX_IDENTITY_V2=me.PREFIX_IDENTITY_V1=me.Method=me.MatrixHttpApi=me.MatrixError=me.HttpApiEvent=me.ConnectionError=me.AbortError=void 0;me.retryNetworkOperation=FT;var ka=PT(Y.exports),MT=sf,qi=kv(tc),vi=kv(G),Qc=ie;function Ov(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Ov=function(r){return r?t:e})(n)}function kv(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=Ov(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}function Hp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Yp(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Hp(Object(t),!0).forEach(function(r){(0,ka.default)(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Hp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}const AT="/_matrix/client/r0";me.PREFIX_R0=AT;const DT="/_matrix/client/v1";me.PREFIX_V1=DT;const UT="/_matrix/client/unstable";me.PREFIX_UNSTABLE=UT;const $T="/_matrix/identity/api/v1";me.PREFIX_IDENTITY_V1=$T;const xT="/_matrix/identity/v2";me.PREFIX_IDENTITY_V2=xT;const NT="/_matrix/media/r0";me.PREFIX_MEDIA_R0=NT;let Ba;me.Method=Ba;(function(n){n.Get="GET",n.Put="PUT",n.Post="POST",n.Delete="DELETE"})(Ba||(me.Method=Ba={}));let Ka;me.HttpApiEvent=Ka;(function(n){n.SessionLoggedOut="Session.logged_out",n.NoConsent="no_consent"})(Ka||(me.HttpApiEvent=Ka={}));class LT{constructor(e,t){this.eventEmitter=e,this.opts=t,(0,ka.default)(this,"uploads",[]),vi.checkObjectHasKeys(t,["baseUrl","request","prefix"]),t.onlyData=!!t.onlyData,t.useAuthorizationHeader=!!t.useAuthorizationHeader}setIdBaseUrl(e){this.opts.idBaseUrl=e}getContentUri(){return{base:this.opts.baseUrl,path:"/_matrix/media/r0/upload",params:{access_token:this.opts.accessToken}}}uploadContent(e,t){vi.isFunction(t)?t={callback:t}:t||(t={});const r=t.includeFilename!==!1,i=t.type||e.type||"application/octet-stream",s=t.name||e.name;let o=e;const c=o.stream;c&&typeof c!="function"&&(Qc.logger.warn("Using `file.stream` as the content to upload. Future versions of the js-sdk will change this to expect `file` to be the content directly."),o=c);let l=t.rawResponse;l===void 0&&(j.XMLHttpRequest?l=!1:(Qc.logger.warn("Returning the raw JSON from uploadContent(). Future versions of the js-sdk will change this default, to return the parsed object. Set opts.rawResponse=false to change this behaviour now."),l=!0));let u=t.onlyContentUri;!l&&u===void 0&&(j.XMLHttpRequest?(Qc.logger.warn("Returning only the content-uri from uploadContent(). Future versions of the js-sdk will change this default, to return the whole response object. Set opts.onlyContentUri=false to change this behaviour now."),u=!0):u=!1);const a={loaded:0,total:0};let g,m=null;if(l||(m=function(p){let E=JSON.parse(p);if(u&&(E=E.content_uri,E===void 0))throw Error("Bad response");return E}),j.XMLHttpRequest){const p=vi.defer(),E=new j.XMLHttpRequest,I=$u(p,t.callback,this.opts.onlyData),w=function(){E.abort(),I(new Error("Timeout"))};let k=qi.setTimeout(w,3e4);E.onreadystatechange=function(){let T;switch(E.readyState){case j.XMLHttpRequest.DONE:qi.clearTimeout(k);try{if(E.status===0)throw new Cv;if(!E.responseText)throw new Error("No response body.");T=E.responseText,m&&(T=m(T))}catch(D){D.http_status=E.status,I(D);return}I(void 0,E,T);break}},E.upload.addEventListener("progress",function(T){qi.clearTimeout(k),a.loaded=T.loaded,a.total=T.total,k=qi.setTimeout(w,3e4),t.progressHandler&&t.progressHandler({loaded:T.loaded,total:T.total})});let P=this.opts.baseUrl+"/_matrix/media/r0/upload";const S=[];r&&s&&S.push("filename="+encodeURIComponent(s)),this.opts.useAuthorizationHeader||S.push("access_token="+encodeURIComponent(this.opts.accessToken)),S.length>0&&(P+="?"+S.join("&")),E.open("POST",P),this.opts.useAuthorizationHeader&&E.setRequestHeader("Authorization","Bearer "+this.opts.accessToken),E.setRequestHeader("Content-Type",i),E.send(o),g=p.promise,g.abort=E.abort.bind(E)}else{const p={};r&&s&&(p.filename=s);const E={"Content-Type":i};o.length===0&&(E["Content-Length"]="0"),g=this.authedRequest(t.callback,Ba.Post,"/upload",p,o,{prefix:"/_matrix/media/r0",headers:E,json:!1,bodyParser:m})}return a.promise=g.finally(()=>{for(let p=0;p<this.uploads.length;++p)if(this.uploads[p]===a){this.uploads.splice(p,1);return}}),a.promise.abort=g.abort,this.uploads.push(a),a.promise}cancelUpload(e){return e.abort?(e.abort(),!0):!1}getCurrentUploads(){return this.uploads}idServerRequest(e,t,r,i,s,o){if(!this.opts.idBaseUrl)throw new Error("No identity server base URL set");const c=this.opts.idBaseUrl+s+r;if(e!==void 0&&!vi.isFunction(e))throw Error("Expected callback to be a function but got "+typeof e);const l={uri:c,method:t,withCredentials:!1,json:!0,_matrix_opts:this.opts,headers:{}};t===Ba.Get?l.qs=i:typeof i=="object"&&(l.json=i),o&&(l.headers.Authorization=`Bearer ${o}`);const u=vi.defer();return this.opts.request(l,$u(u,e,this.opts.onlyData)),u.promise}authedRequest(e,t,r,i,s,o){i||(i={});let c=o||{};this.opts.useAuthorizationHeader?(isFinite(o)&&(c={localTimeoutMs:o}),c.headers||(c.headers={}),c.headers.Authorization||(c.headers.Authorization="Bearer "+this.opts.accessToken),i.access_token&&delete i.access_token):i.access_token||(i.access_token=this.opts.accessToken);const l=this.request(e,t,r,i,s,c);return l.catch(u=>{var a;u.errcode=="M_UNKNOWN_TOKEN"&&!((a=c)!==null&&a!==void 0&&a.inhibitLogoutEmit)?this.eventEmitter.emit(Ka.SessionLoggedOut,u):u.errcode=="M_CONSENT_NOT_GIVEN"&&this.eventEmitter.emit(Ka.NoConsent,u.message,u.data.consent_uri)}),l}request(e,t,r,i,s,o){var c;const l=(c=o==null?void 0:o.prefix)!==null&&c!==void 0?c:this.opts.prefix,u=this.opts.baseUrl+l+r;return this.requestOtherUrl(e,t,u,i,s,o)}requestOtherUrl(e,t,r,i,s,o){let c=o||{};return isFinite(o)&&(c={localTimeoutMs:o}),this.doRequest(e,t,r,i,s,c)}getUrl(e,t,r){let i="";return t&&(i="?"+vi.encodeParams(t)),this.opts.baseUrl+r+e+i}doRequest(e,t,r,i,s,o){var c;if(e!==void 0&&!vi.isFunction(e))throw Error("Expected callback to be a function but got "+typeof e);this.opts.extraParams&&(i=Yp(Yp({},i||{}),this.opts.extraParams));const l=Object.assign({},o.headers||{});o||(o={});const u=(c=o.json)!==null&&c!==void 0?c:!0;let a=o.bodyParser;u&&(s&&(s=JSON.stringify(s),l["content-type"]="application/json"),l.accept||(l.accept="application/json"),a===void 0&&(a=function(P){return JSON.parse(P)}));const g=vi.defer();let m,p=!1,E;const I=o.localTimeoutMs||this.opts.localTimeoutMs,w=()=>{I&&(m&&qi.clearTimeout(m),m=qi.setTimeout(function(){var P,S;p=!0,(P=E)===null||P===void 0||(S=P.abort)===null||S===void 0||S.call(P),g.reject(new Bl({error:"Locally timed out waiting for a response",errcode:"ORG.MATRIX.JSSDK_TIMEOUT",timeout:I}))},I))};w();const k=g.promise;try{E=this.opts.request({uri:r,method:t,withCredentials:!1,qs:i,qsStringifyOptions:o.qsStringifyOptions,useQuerystring:!0,body:s,json:!1,timeout:I,headers:l||{},_matrix_opts:this.opts},(P,S,T)=>{if(I&&(qi.clearTimeout(m),p))return;$u(g,e,this.opts.onlyData,a)(P,S,T)}),E&&("onprogress"in E&&(E.onprogress=P=>{w()}),E.abort&&(k.abort=E.abort.bind(E)))}catch(P){g.reject(P),e&&e(P)}return k}}me.MatrixHttpApi=LT;function ah(n){return n.status||n.statusCode}function $u(n,e,t=!1,r){return function(i,s,o){i&&!(i.name==="AbortError"||i==="aborted")&&!(i instanceof Bl)&&(i=new af("request failed",i));let c=o;if(!i)try{ah(s)>=400?i=BT(s,o):r&&(c=r(o))}catch(l){i=new Error(`Error parsing server response: ${l}`)}if(i)n.reject(i),e==null||e(i);else if(t)n.resolve(c),e==null||e(null,c);else{const l={code:ah(s),headers:s.headers,data:c};n.resolve(l),e==null||e(null,l)}}}function BT(n,e){const t=ah(n),r=KT(n);let i;if(r)if(r.type==="application/json"){const s=typeof e=="object"?e:JSON.parse(e);i=new Bl(s)}else r.type==="text/plain"&&(i=new Error(`Server returned ${t} error: ${e}`));return i||(i=new Error(`Server returned ${t} error`)),i.httpStatus=t,i}function KT(n){let e;if(n.getResponseHeader?e=n.getResponseHeader("Content-Type"):n.headers&&(e=n.headers["content-type"]||null),!e)return null;try{return(0,MT.parse)(e)}catch(t){throw new Error(`Error parsing Content-Type '${e}': ${t}`)}}class Bl extends Error{constructor(e={}){super(`MatrixError: ${e.errcode}`);(0,ka.default)(this,"errcode",void 0),(0,ka.default)(this,"data",void 0),(0,ka.default)(this,"httpStatus",void 0),this.errcode=e.errcode,this.name=e.errcode||"Unknown error code",this.message=e.error||"Unknown message",this.data=e}}me.MatrixError=Bl;class af extends Error{constructor(e,t=void 0){super(e+(t?`: ${t.message}`:""))}get name(){return"ConnectionError"}}me.ConnectionError=af;class Cv extends Error{constructor(){super("Operation aborted")}get name(){return"AbortError"}}me.AbortError=Cv;async function FT(n,e){let t=0,r=null;for(;t<n;)try{if(t>0){const i=1e3*Math.pow(2,t);Qc.logger.log(`network operation failed ${t} times, retrying in ${i}ms...`),await new Promise(s=>setTimeout(s,i))}return await e()}catch(i){if(i instanceof af)t+=1,r=i;else throw i}throw r}var qT=V.exports;Object.defineProperty(ar,"__esModule",{value:!0});ar.RoomEvent=ar.Room=ar.NotificationCountType=void 0;var Re=qT(Y.exports),xu=ei,Yt=Ft,jT=Mo,zo=JT(G),Zc=qt,Pe=No,VT=tn,GT=ec,ht=ie,WT=nn,$e=ne,_i=it,HT=Cs,Or=ct,YT=me,zT=qe;function Pv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Pv=function(r){return r?t:e})(n)}function JT(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=Pv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}function zp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Jp(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?zp(Object(t),!0).forEach(function(r){(0,Re.default)(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):zp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}const Xp="6",Qp=["1","2","3","4","5","6"];function Zp(n,e,t){return new Zc.MatrixEvent({content:{[e.getId()]:{[t]:{[n]:{ts:e.getTs()}}}},type:"m.receipt",room_id:e.getRoomId()})}const xs=0,Ns=1,XT=30;let El;ar.NotificationCountType=El;(function(n){n.Highlight="highlight",n.Total="total"})(El||(ar.NotificationCountType=El={}));let nt;ar.RoomEvent=nt;(function(n){n.MyMembership="Room.myMembership",n.Tags="Room.tags",n.AccountData="Room.accountData",n.Receipt="Room.receipt",n.Name="Room.name",n.Redaction="Room.redaction",n.RedactionCancelled="Room.redactionCancelled",n.LocalEchoUpdated="Room.localEchoUpdated",n.Timeline="Room.timeline",n.TimelineReset="Room.timelineReset"})(nt||(ar.RoomEvent=nt={}));class QT extends zT.TypedEventEmitter{constructor(e,t,r,i={}){super();if(this.roomId=e,this.client=t,this.myUserId=r,this.opts=i,(0,Re.default)(this,"reEmitter",void 0),(0,Re.default)(this,"txnToEvent",{}),(0,Re.default)(this,"receipts",{}),(0,Re.default)(this,"receiptCacheByEventId",{}),(0,Re.default)(this,"notificationCounts",{}),(0,Re.default)(this,"timelineSets",void 0),(0,Re.default)(this,"threadsTimelineSets",[]),(0,Re.default)(this,"filteredTimelineSets",{}),(0,Re.default)(this,"pendingEventList",void 0),(0,Re.default)(this,"blacklistUnverifiedDevices",null),(0,Re.default)(this,"selfMembership",null),(0,Re.default)(this,"summaryHeroes",null),(0,Re.default)(this,"getTypeWarning",!1),(0,Re.default)(this,"getVersionWarning",!1),(0,Re.default)(this,"membersPromise",void 0),(0,Re.default)(this,"name",void 0),(0,Re.default)(this,"normalizedName",void 0),(0,Re.default)(this,"tags",{}),(0,Re.default)(this,"accountData",{}),(0,Re.default)(this,"summary",null),(0,Re.default)(this,"storageToken",void 0),(0,Re.default)(this,"timeline",void 0),(0,Re.default)(this,"oldState",void 0),(0,Re.default)(this,"currentState",void 0),(0,Re.default)(this,"threads",new Map),(0,Re.default)(this,"lastThread",void 0),(0,Re.default)(this,"visibilityEvents",new Map),(0,Re.default)(this,"threadTimelineSetsPromise",null),this.setMaxListeners(100),this.reEmitter=new WT.TypedReEmitter(this),i.pendingEventOrdering=i.pendingEventOrdering||_i.PendingEventOrdering.Chronological,this.name=e,this.timelineSets=[new xu.EventTimelineSet(this,i)],this.reEmitter.reEmit(this.getUnfilteredTimelineSet(),[nt.Timeline,nt.TimelineReset]),this.fixUpLegacyTimelineFields(),this.opts.pendingEventOrdering===_i.PendingEventOrdering.Detached){this.pendingEventList=[];const s=t.sessionStore.store.getItem(Nu(this.roomId));s&&JSON.parse(s).forEach(async o=>{const c=new Zc.MatrixEvent(o);c.getType()===$e.EventType.RoomMessageEncrypted&&await c.attemptDecryption(this.client.crypto),c.setStatus(Pe.EventStatus.NOT_SENT),this.addPendingEvent(c,c.getTxnId())})}this.opts.lazyLoadMembers?this.membersPromise=null:this.membersPromise=Promise.resolve(!1)}async createThreadsTimelineSets(){var e;if(this.threadTimelineSetsPromise)return this.threadTimelineSetsPromise;if((e=this.client)!==null&&e!==void 0&&e.supportsExperimentalThreads)try{this.threadTimelineSetsPromise=Promise.all([this.createThreadTimelineSet(),this.createThreadTimelineSet(Or.ThreadFilterType.My)]);const t=await this.threadTimelineSetsPromise;this.threadsTimelineSets.push(...t)}catch{this.threadTimelineSetsPromise=null}}decryptCriticalEvents(){const e=this.getEventReadUpTo(this.client.getUserId(),!0),t=this.getLiveTimeline().getEvents(),r=t.findIndex(s=>s.event.event_id===e),i=t.slice(r).filter(s=>s.shouldAttemptDecryption()).reverse().map(s=>s.attemptDecryption(this.client.crypto,{isRetry:!0}));return Promise.allSettled(i)}decryptAllEvents(){const e=this.getUnfilteredTimelineSet().getLiveTimeline().getEvents().filter(t=>t.shouldAttemptDecryption()).reverse().map(t=>t.attemptDecryption(this.client.crypto,{isRetry:!0}));return Promise.allSettled(e)}getVersion(){const e=this.currentState.getStateEvents($e.EventType.RoomCreate,"");if(!e)return this.getVersionWarning||(ht.logger.warn("[getVersion] Room "+this.roomId+" does not have an m.room.create event"),this.getVersionWarning=!0),"1";const t=e.getContent().room_version;return t===void 0?"1":t}shouldUpgradeToVersion(){return Qp.includes(this.getVersion())?null:Xp}async getRecommendedVersion(){let t=(await this.client.getCapabilities())["m.room_versions"];if(!t){t={default:Xp,available:{}};for(const i of Qp)t.available[i]=_i.RoomVersionStability.Stable}let r=this.checkVersionAgainstCapability(t);if(r.urgent&&r.needsUpgrade)if(ht.logger.warn("Refreshing room version capability because the server looks to be supporting a newer room version we don't know about."),t=(await this.client.getCapabilities(!0))["m.room_versions"],t)r=this.checkVersionAgainstCapability(t);else return ht.logger.warn("No room version capability - assuming upgrade required."),r;return r}checkVersionAgainstCapability(e){const t=this.getVersion();ht.logger.log(`[${this.roomId}] Current version: ${t}`),ht.logger.log(`[${this.roomId}] Version capability: `,e);const r={version:t,needsUpgrade:!1,urgent:!1};return t===e.default||Object.keys(e.available).filter(s=>e.available[s]==="stable").includes(t)||(r.version=e.default,r.needsUpgrade=!0,r.urgent=!!this.getVersion().match(/^[0-9]+[0-9.]*$/g),r.urgent?ht.logger.warn(`URGENT upgrade required on ${this.roomId}`):ht.logger.warn(`Non-urgent upgrade required on ${this.roomId}`)),r}userMayUpgradeRoom(e){return this.currentState.maySendStateEvent($e.EventType.RoomTombstone,e)}getPendingEvents(){if(this.opts.pendingEventOrdering!==_i.PendingEventOrdering.Detached)throw new Error("Cannot call getPendingEvents with pendingEventOrdering == "+this.opts.pendingEventOrdering);return this.pendingEventList}removePendingEvent(e){if(this.opts.pendingEventOrdering!==_i.PendingEventOrdering.Detached)throw new Error("Cannot call removePendingEvent with pendingEventOrdering == "+this.opts.pendingEventOrdering);const t=zo.removeElement(this.pendingEventList,function(r){return r.getId()==e},!1);return this.savePendingEvents(),t}hasPendingEvent(e){return this.opts.pendingEventOrdering!==_i.PendingEventOrdering.Detached?!1:this.pendingEventList.some(t=>t.getId()===e)}getPendingEvent(e){return this.opts.pendingEventOrdering!==_i.PendingEventOrdering.Detached?null:this.pendingEventList.find(t=>t.getId()===e)}getLiveTimeline(){return this.getUnfilteredTimelineSet().getLiveTimeline()}getLastActiveTimestamp(){const t=this.getLiveTimeline().getEvents();return t.length?t[t.length-1].getTs():Number.MIN_SAFE_INTEGER}getMyMembership(){return this.selfMembership}getDMInviter(){if(this.myUserId){const e=this.getMember(this.myUserId);if(e)return e.getDMInviter()}if(this.selfMembership==="invite"&&this.getInvitedAndJoinedMemberCount()==2&&this.summaryHeroes.length)return this.summaryHeroes[0]}guessDMUserId(){const e=this.getMember(this.myUserId);if(e){const s=e.getDMInviter();if(s)return s}if(Array.isArray(this.summaryHeroes)&&this.summaryHeroes.length)return this.summaryHeroes[0];const i=this.currentState.getMembers().find(s=>s.userId!==this.myUserId);return i?i.userId:this.myUserId}getAvatarFallbackMember(){if(this.getInvitedAndJoinedMemberCount()>2)return;const t=Array.isArray(this.summaryHeroes)&&this.summaryHeroes.length;if(t){const i=this.summaryHeroes.map(s=>this.getMember(s)).find(s=>!!s);if(i)return i}const r=this.currentState.getMembers();if(r.length<=2){const i=r.find(s=>s.userId!==this.myUserId);if(i)return i}if(t){const i=this.summaryHeroes.map(s=>this.client.getUser(s)).find(s=>!!s);if(i){const s=new VT.RoomMember(this.roomId,i.userId);return s.user=i,s}}}updateMyMembership(e){const t=this.selfMembership;this.selfMembership=e,t!==e&&(e==="leave"&&this.cleanupAfterLeaving(),this.emit(nt.MyMembership,this,e,t))}async loadMembersFromServer(){const e=this.client.store.getSyncToken(),t=zo.encodeParams({not_membership:"leave",at:e}),r=zo.encodeUri("/rooms/$roomId/members?"+t,{$roomId:this.roomId});return(await this.client.http.authedRequest(void 0,YT.Method.Get,r)).chunk}async loadMembers(){let e=!1,t=await this.client.store.getOutOfBandMembers(this.roomId);return(t===null||this.client.isCryptoEnabled()&&this.client.isRoomEncrypted(this.roomId))&&(e=!0,t=await this.loadMembersFromServer(),ht.logger.log(`LL: got ${t.length} members from server for room ${this.roomId}`)),{memberEvents:t.map(this.client.getEventMapper()),fromServer:e}}loadMembersIfNeeded(){if(this.membersPromise)return this.membersPromise;this.currentState.markOutOfBandMembersStarted();const e=this.loadMembers().then(t=>(this.currentState.setOutOfBandMembers(t.memberEvents),this.client.isCryptoEnabled()&&this.client.isRoomEncrypted(this.roomId)&&this.client.crypto.trackRoomDevices(this.roomId),t.fromServer)).catch(t=>{throw this.membersPromise=null,this.currentState.markOutOfBandMembersFailed(),t});return e.then(t=>{if(t){const r=this.currentState.getMembers().filter(s=>s.isOutOfBand()).map(s=>s.events.member.event);return ht.logger.log(`LL: telling store to write ${r.length} members for room ${this.roomId}`),this.client.store.setOutOfBandMembers(this.roomId,r).catch(s=>{ht.logger.log("LL: storing OOB room members failed, oh well",s)})}}).catch(t=>{ht.logger.error(t)}),this.membersPromise=e,this.membersPromise}async clearLoadedMembersIfNeeded(){this.opts.lazyLoadMembers&&this.membersPromise&&(await this.loadMembersIfNeeded(),await this.client.store.clearOutOfBandMembers(this.roomId),this.currentState.clearOutOfBandMembers(),this.membersPromise=null)}cleanupAfterLeaving(){this.clearLoadedMembersIfNeeded().catch(e=>{ht.logger.error(`error after clearing loaded members from room ${this.roomId} after leaving`),ht.logger.log(e)})}resetLiveTimeline(e,t){for(let r=0;r<this.timelineSets.length;r++)this.timelineSets[r].resetLiveTimeline(e,t);this.fixUpLegacyTimelineFields()}fixUpLegacyTimelineFields(){this.timeline=this.getLiveTimeline().getEvents(),this.oldState=this.getLiveTimeline().getState(Yt.EventTimeline.BACKWARDS),this.currentState=this.getLiveTimeline().getState(Yt.EventTimeline.FORWARDS)}async hasUnverifiedDevices(){if(!this.client.isRoomEncrypted(this.roomId))return!1;const e=await this.getEncryptionTargetMembers();for(const t of e)if(this.client.getStoredDevicesForUser(t.userId).some(i=>i.isUnverified()))return!0;return!1}getTimelineSets(){return this.timelineSets}getUnfilteredTimelineSet(){return this.timelineSets[0]}getTimelineForEvent(e){const t=this.findEventById(e),r=this.findThreadForEvent(t);return r?r.timelineSet.getLiveTimeline():this.getUnfilteredTimelineSet().getTimelineForEvent(e)}addTimeline(){return this.getUnfilteredTimelineSet().addTimeline()}findEventById(e){let t=this.getUnfilteredTimelineSet().findEventById(e);if(t)return t;{const r=this.getThreads();for(let i=0;i<r.length;i++)if(t=r[i].findEventById(e),t)return t}}getUnreadNotificationCount(e=El.Total){return this.notificationCounts[e]}setUnreadNotificationCount(e,t){this.notificationCounts[e]=t}setSummary(e){const t=e["m.heroes"],r=e["m.joined_member_count"],i=e["m.invited_member_count"];Number.isInteger(r)&&this.currentState.setJoinedMemberCount(r),Number.isInteger(i)&&this.currentState.setInvitedMemberCount(i),Array.isArray(t)&&(this.summaryHeroes=t.filter(s=>s!==this.myUserId))}setBlacklistUnverifiedDevices(e){this.blacklistUnverifiedDevices=e}getBlacklistUnverifiedDevices(){return this.blacklistUnverifiedDevices}getAvatarUrl(e,t,r,i,s=!0){const o=this.currentState.getStateEvents($e.EventType.RoomAvatar,"");if(!o&&!s)return null;const c=o?o.getContent().url:null;return c?(0,jT.getHttpUriForMxc)(e,c,t,r,i):null}getMxcAvatarUrl(){var e,t;return((e=this.currentState.getStateEvents($e.EventType.RoomAvatar,""))===null||e===void 0||(t=e.getContent())===null||t===void 0?void 0:t.url)||null}getAliases(){const e=[],t=this.currentState.getStateEvents($e.EventType.RoomAliases);if(t)for(let r=0;r<t.length;++r){const i=t[r];if(Array.isArray(i.getContent().aliases)){const s=i.getContent().aliases.filter(o=>!(typeof o!="string"||o[0]!=="#"||!o.endsWith(`:${i.getStateKey()}`)));Array.prototype.push.apply(e,s)}}return e}getCanonicalAlias(){const e=this.currentState.getStateEvents($e.EventType.RoomCanonicalAlias,"");return e&&e.getContent().alias||null}getAltAliases(){const e=this.currentState.getStateEvents($e.EventType.RoomCanonicalAlias,"");return e?e.getContent().alt_aliases||[]:[]}addEventsToTimeline(e,t,r,i){r.getTimelineSet().addEventsToTimeline(e,t,r,i)}getThread(e){return this.getThreads().find(t=>t.id===e)}getThreads(){return Array.from(this.threads.values())}getMember(e){return this.currentState.getMember(e)}getMembers(){return this.currentState.getMembers()}getJoinedMembers(){return this.getMembersWithMembership("join")}getJoinedMemberCount(){return this.currentState.getJoinedMemberCount()}getInvitedMemberCount(){return this.currentState.getInvitedMemberCount()}getInvitedAndJoinedMemberCount(){return this.getInvitedMemberCount()+this.getJoinedMemberCount()}getMembersWithMembership(e){return this.currentState.getMembers().filter(function(t){return t.membership===e})}async getEncryptionTargetMembers(){await this.loadMembersIfNeeded();let e=this.getMembersWithMembership("join");return this.shouldEncryptForInvitedMembers()&&(e=e.concat(this.getMembersWithMembership("invite"))),e}shouldEncryptForInvitedMembers(){var e;const t=this.currentState.getStateEvents($e.EventType.RoomHistoryVisibility,"");return(t==null||(e=t.getContent())===null||e===void 0?void 0:e.history_visibility)!=="joined"}getDefaultRoomName(e){return this.calculateRoomName(e,!0)}hasMembershipState(e,t){const r=this.getMember(e);return r?r.membership===t:!1}getOrCreateFilteredTimelineSet(e,{prepopulateTimeline:t=!0,pendingEvents:r=!0}={}){if(this.filteredTimelineSets[e.filterId])return this.filteredTimelineSets[e.filterId];const i=Object.assign({filter:e,pendingEvents:r},this.opts),s=new xu.EventTimelineSet(this,i);this.reEmitter.reEmit(s,[nt.Timeline,nt.TimelineReset]),this.filteredTimelineSets[e.filterId]=s,this.timelineSets.push(s);const o=this.getLiveTimeline();if(t){o.getEvents().forEach(function(l){s.addLiveEvent(l)});let c=o;for(;c.getNeighbouringTimeline(Yt.EventTimeline.BACKWARDS);)c=c.getNeighbouringTimeline(Yt.EventTimeline.BACKWARDS);s.getLiveTimeline().setPaginationToken(c.getPaginationToken(Yt.EventTimeline.BACKWARDS),Yt.EventTimeline.BACKWARDS)}else{const c=o.getPaginationToken(Yt.Direction.Forward);s.getLiveTimeline().setPaginationToken(c,Yt.Direction.Backward)}return s}async createThreadTimelineSet(e){let t;if(Or.Thread.hasServerSideSupport){const r=this.client.getUserId(),i=new HT.Filter(r),s={room:{timeline:{[Or.FILTER_RELATED_BY_REL_TYPES.name]:[Or.THREAD_RELATION_TYPE.name]}}};e===Or.ThreadFilterType.My&&(s.room.timeline[Or.FILTER_RELATED_BY_SENDERS.name]=[r]),i.setDefinition(s);const o=await this.client.getOrCreateFilter(`THREAD_PANEL_${this.roomId}_${e}`,i);i.filterId=o,t=this.getOrCreateFilteredTimelineSet(i,{prepopulateTimeline:!1,pendingEvents:!1}),t.getLiveTimeline().setPaginationToken("",Yt.EventTimeline.BACKWARDS)}else t=new xu.EventTimelineSet(this,{pendingEvents:!1}),Array.from(this.threads).forEach(([,r])=>{if(r.length===0)return;const i=r.events.some(s=>s.getSender()===this.client.getUserId());(e!==Or.ThreadFilterType.My||i)&&t.getLiveTimeline().addEvent(r.rootEvent,!1)});return t}removeFilteredTimelineSet(e){const t=this.filteredTimelineSets[e.filterId];delete this.filteredTimelineSets[e.filterId];const r=this.timelineSets.indexOf(t);r>-1&&this.timelineSets.splice(r,1)}findThreadForEvent(e){if(!e)return null;if(e.isThreadRelation)return this.threads.get(e.threadRootId);if(e.isThreadRoot)return this.threads.get(e.getId());{const t=this.findEventById(e.getAssociatedId());return this.findThreadForEvent(t)}}async addThreadedEvent(e,t){this.applyRedaction(e);let r=this.findThreadForEvent(e);if(r)r.addEvent(e,t);else{const i=[e];let s=this.findEventById(e.threadRootId);try{let o;e.threadRootId&&(o=await this.client.fetchRoomEvent(this.roomId,e.threadRootId)),s?s.setUnsigned(o.unsigned):s=new Zc.MatrixEvent(o)}finally{r=this.createThread(s,i,t)}}this.emit(Or.ThreadEvent.Update,r)}createThread(e,t=[],r){if(e){const o=this.getTimelineForEvent(e.getId()),c=o==null?void 0:o.getTimelineSet().getAllRelationsEventForEvent(e.getId());c&&(t=t.concat(c))}const i=new Or.Thread(e,{initialEvents:t,room:this,client:this.client});if(i.id){var s;return this.threads.set(i.id,i),this.reEmitter.reEmit(i,[Or.ThreadEvent.Update,nt.Timeline,nt.TimelineReset]),(!this.lastThread||((s=this.lastThread.rootEvent)===null||s===void 0?void 0:s.localTimestamp)<(e==null?void 0:e.localTimestamp))&&(this.lastThread=i),this.emit(Or.ThreadEvent.New,i,r),this.threadsTimelineSets.forEach(o=>{i.rootEvent&&(Or.Thread.hasServerSideSupport?o.addLiveEvent(i.rootEvent):o.addEventToTimeline(i.rootEvent,o.getLiveTimeline(),r))}),i}}applyRedaction(e){if(e.isRedaction()){const t=e.event.redacts,r=this.findEventById(t);r&&(r.makeRedacted(e),r.getStateKey()&&this.currentState.getStateEvents(r.getType(),r.getStateKey()).getId()===r.getId()&&this.currentState.setStateEvents([r]),this.emit(nt.Redaction,e,this),this.visibilityEvents.delete(t),r.isVisibilityEvent()&&this.redactVisibilityChangeEvent(e))}}addLiveEvent(e,t,r=!1){if(this.applyRedaction(e),e.isVisibilityEvent()&&this.applyNewVisibilityEvent(e),this.applyPendingVisibilityEvents(e),e.getUnsigned().transaction_id){const i=this.txnToEvent[e.getUnsigned().transaction_id];if(i){this.handleRemoteEcho(e,i);return}}for(let i=0;i<this.timelineSets.length;i++)this.timelineSets[i].addLiveEvent(e,t,r);e.sender&&e.getType()!==$e.EventType.RoomRedaction&&this.addReceipt(Zp(e.sender.userId,e,"m.read"),!0)}addPendingEvent(e,t){if(e.status!==Pe.EventStatus.SENDING&&e.status!==Pe.EventStatus.NOT_SENT)throw new Error("addPendingEvent called on an event with status "+e.status);if(this.txnToEvent[t])throw new Error("addPendingEvent called on an event with known txnId "+t);if(Yt.EventTimeline.setEventMetadata(e,this.getLiveTimeline().getState(Yt.EventTimeline.FORWARDS),!1),this.txnToEvent[t]=e,this.opts.pendingEventOrdering===_i.PendingEventOrdering.Detached){if(this.pendingEventList.some(i=>i.status===Pe.EventStatus.NOT_SENT)&&(ht.logger.warn("Setting event as NOT_SENT due to messages in the same state"),e.setStatus(Pe.EventStatus.NOT_SENT)),this.pendingEventList.push(e),this.savePendingEvents(),e.isRelation()&&this.aggregateNonLiveRelation(e),e.isRedaction()){var r;const i=e.event.redacts;let s=(r=this.pendingEventList)===null||r===void 0?void 0:r.find(o=>o.getId()===i);s||(s=this.findEventById(i)),s&&(s.markLocallyRedacted(e),this.emit(nt.Redaction,e,this))}}else for(let i=0;i<this.timelineSets.length;i++){const s=this.timelineSets[i];s.getFilter()?s.getFilter().filterRoomTimeline([e]).length&&s.addEventToTimeline(e,s.getLiveTimeline(),!1):s.addEventToTimeline(e,s.getLiveTimeline(),!1)}this.emit(nt.LocalEchoUpdated,e,this,null,null)}savePendingEvents(){if(this.pendingEventList){const e=this.pendingEventList.map(r=>Jp(Jp({},r.event),{},{txn_id:r.getTxnId()})).filter(r=>{const i=r.type===$e.EventType.RoomMessageEncrypted,s=this.client.isRoomEncrypted(this.roomId);return i||!s}),{store:t}=this.client.sessionStore;this.pendingEventList.length>0?t.setItem(Nu(this.roomId),JSON.stringify(e)):t.removeItem(Nu(this.roomId))}}aggregateNonLiveRelation(e){const t=this.findThreadForEvent(e);if(t&&t.timelineSet.aggregateRelations(e),(t==null?void 0:t.id)===e.getAssociatedId()||!t)for(let r=0;r<this.timelineSets.length;r++){const i=this.timelineSets[r];i.getFilter()?i.getFilter().filterRoomTimeline([e]).length&&i.aggregateRelations(e):i.aggregateRelations(e)}}getEventForTxnId(e){return this.txnToEvent[e]}handleRemoteEcho(e,t){const r=t.getId(),i=e.getId(),s=t.status;ht.logger.debug(`Got remote echo for event ${r} -> ${i} old status ${s}`),delete this.txnToEvent[e.getUnsigned().transaction_id],this.pendingEventList&&this.removePendingEvent(r),t.handleRemoteEcho(e.event);const o=this.findThreadForEvent(e);if(o&&o.timelineSet.handleRemoteEcho(t,r,i),(o==null?void 0:o.id)===e.getAssociatedId()||!o)for(let c=0;c<this.timelineSets.length;c++)this.timelineSets[c].handleRemoteEcho(t,r,i);this.emit(nt.LocalEchoUpdated,t,this,r,s)}updatePendingEvent(e,t,r){if(ht.logger.log(`setting pendingEvent status to ${t} in ${e.getRoomId()} event ID ${e.getId()} -> ${r}`),t==Pe.EventStatus.SENT&&!r)throw new Error("updatePendingEvent called with status=SENT, but no new event id");if(t==Pe.EventStatus.SENT&&this.getTimelineForEvent(r))return;const i=e.status,s=e.getId();if(!i)throw new Error("updatePendingEventStatus called on an event which is not a local echo.");const o=ZT[i];if(!o||o.indexOf(t)<0)throw new Error("Invalid EventStatus transition "+i+"->"+t);if(e.setStatus(t),t==Pe.EventStatus.SENT){e.replaceLocalEventId(r);const c=this.findThreadForEvent(e);if(c&&c.timelineSet.replaceEventId(s,r),(c==null?void 0:c.id)===e.getAssociatedId()||!c)for(let l=0;l<this.timelineSets.length;l++)this.timelineSets[l].replaceEventId(s,r)}else if(t==Pe.EventStatus.CANCELLED){if(this.pendingEventList){const c=this.pendingEventList.findIndex(l=>l.getId()===s);if(c!==-1){const[l]=this.pendingEventList.splice(c,1);l.isRedaction()&&this.revertRedactionLocalEcho(l)}}this.removeEvent(s)}this.savePendingEvents(),this.emit(nt.LocalEchoUpdated,e,this,s,i)}revertRedactionLocalEcho(e){const t=e.event.redacts;if(!t)return;const r=this.getUnfilteredTimelineSet().findEventById(t);r&&(r.unmarkLocallyRedacted(),this.emit(nt.RedactionCancelled,e,this),r.isRelation()&&this.aggregateNonLiveRelation(r))}addLiveEvents(e,t,r=!1){let i;if(t&&["replace","ignore"].indexOf(t)===-1)throw new Error("duplicateStrategy MUST be either 'replace' or 'ignore'");for(i=0;i<this.timelineSets.length;i++){const s=this.timelineSets[i].getLiveTimeline();if(s.getPaginationToken(Yt.EventTimeline.FORWARDS))throw new Error("live timeline "+i+" is no longer live - it has a pagination token ("+s.getPaginationToken(Yt.EventTimeline.FORWARDS)+")");if(s.getNeighbouringTimeline(Yt.EventTimeline.FORWARDS))throw new Error("live timeline "+i+" is no longer live - it has a neighbouring timeline")}for(i=0;i<e.length;i++){this.addLiveEvent(e[i],t,r);const s=this.findThreadForEvent(e[i]);s&&s.addEvent(e[i],!0)}}addEphemeralEvents(e){for(const t of e)t.getType()==="m.typing"?this.currentState.setTypingEvent(t):t.getType()==="m.receipt"&&this.addReceipt(t)}removeEvents(e){for(let t=0;t<e.length;++t)this.removeEvent(e[t])}removeEvent(e){let t=!1;for(let r=0;r<this.timelineSets.length;r++){const i=this.timelineSets[r].removeEvent(e);i&&(i.isRedaction()&&this.revertRedactionLocalEcho(i),t=!0)}return t}recalculate(){const e=this.currentState.getStateEvents($e.EventType.RoomMember,this.myUserId);e&&e.getContent().membership==="invite"&&(e.getUnsigned().invite_room_state||[]).forEach(i=>{this.currentState.getStateEvents(i.type,i.state_key)||this.currentState.setStateEvents([new Zc.MatrixEvent({type:i.type,state_key:i.state_key,content:i.content,event_id:"$fake"+Date.now(),room_id:this.roomId,user_id:this.myUserId})])});const t=this.name;this.name=this.calculateRoomName(this.myUserId),this.normalizedName=(0,zo.normalize)(this.name),this.summary=new GT.RoomSummary(this.roomId,{title:this.name}),t!==this.name&&this.emit(nt.Name,this)}getUsersReadUpTo(e){return this.getReceiptsForEvent(e).filter(function(t){return t.type==="m.read"}).map(function(t){return t.userId})}getReadReceiptForUserId(e,t=!1){var r,i;const[s,o]=(r=(i=this.receipts["m.read"])===null||i===void 0?void 0:i[e])!==null&&r!==void 0?r:[];return t?s:o!=null?o:s}getEventReadUpTo(e,t=!1){var r;const i=this.getReadReceiptForUserId(e,t);return(r=i==null?void 0:i.eventId)!==null&&r!==void 0?r:null}hasUserReadEvent(e,t){const r=this.getEventReadUpTo(e,!1);if(r===t||this.timeline.length&&this.timeline[this.timeline.length-1].getSender()&&this.timeline[this.timeline.length-1].getSender()===e)return!0;for(let i=this.timeline.length-1;i>=0;--i){const s=this.timeline[i];if(s.getId()===t)return!1;if(s.getId()===r)return!0}return!1}getReceiptsForEvent(e){return this.receiptCacheByEventId[e.getId()]||[]}addReceipt(e,t=!1){this.addReceiptsToStructure(e,t),this.emit(nt.Receipt,e,this)}addReceiptsToStructure(e,t){const r=e.getContent();Object.keys(r).forEach(i=>{Object.keys(r[i]).forEach(s=>{Object.keys(r[i][s]).forEach(o=>{var c,l;const u=r[i][s][o];this.receipts[s]||(this.receipts[s]={}),this.receipts[s][o]||(this.receipts[s][o]=[null,null]);const a=this.receipts[s][o];let g=a[xs];if(t){var m;g=(m=a[Ns])!==null&&m!==void 0?m:a[xs]}if(g){const T=this.getUnfilteredTimelineSet().compareEventOrdering(g.eventId,i);if(T!==null&&T>=0)return}const p={eventId:i,data:u},E=t?a[xs]:p,I=t?p:a[Ns];let w=null;E&&I&&(w=this.getUnfilteredTimelineSet().compareEventOrdering(E.eventId,I.eventId));const k=w===null||w<0,P=(c=a[Ns])!==null&&c!==void 0?c:a[xs];t&&k?a[Ns]=p:t||(a[xs]=p,k||(a[Ns]=null));const S=(l=a[Ns])!==null&&l!==void 0?l:a[xs];if(P!==S){if(P&&this.receiptCacheByEventId[P.eventId]){const T=P.eventId;this.receiptCacheByEventId[T]=this.receiptCacheByEventId[T].filter(D=>D.type!==s||D.userId!==o),this.receiptCacheByEventId[T].length<1&&delete this.receiptCacheByEventId[T]}this.receiptCacheByEventId[i]||(this.receiptCacheByEventId[i]=[]),this.receiptCacheByEventId[i].push({userId:o,type:s,data:u})}})})})}addLocalEchoReceipt(e,t,r){this.addReceipt(Zp(e,t,r),!0)}addTags(e){this.tags=e.getContent().tags||{},this.emit(nt.Tags,e,this)}addAccountData(e){for(let t=0;t<e.length;t++){const r=e[t];r.getType()==="m.tag"&&this.addTags(r);const i=this.accountData[r.getType()];this.accountData[r.getType()]=r,this.emit(nt.AccountData,r,this,i)}}getAccountData(e){return this.accountData[e]}maySendMessage(){return this.getMyMembership()==="join"&&(this.client.isRoomEncrypted(this.roomId)?this.currentState.maySendEvent($e.EventType.RoomMessageEncrypted,this.myUserId):this.currentState.maySendEvent($e.EventType.RoomMessage,this.myUserId))}canInvite(e){let t=this.getMyMembership()==="join";const r=this.currentState.getStateEvents($e.EventType.RoomPowerLevels,""),i=r&&r.getContent(),s=this.getMember(e);return i&&s&&i.invite>s.powerLevel&&(t=!1),t}getJoinRule(){return this.currentState.getJoinRule()}getHistoryVisibility(){return this.currentState.getHistoryVisibility()}getGuestAccess(){return this.currentState.getGuestAccess()}getType(){const e=this.currentState.getStateEvents($e.EventType.RoomCreate,"");if(!e){this.getTypeWarning||(ht.logger.warn("[getType] Room "+this.roomId+" does not have an m.room.create event"),this.getTypeWarning=!0);return}return e.getContent()[$e.RoomCreateTypeField]}isSpaceRoom(){return this.getType()===$e.RoomType.Space}calculateRoomName(e,t=!1){if(!t){const m=this.currentState.getStateEvents($e.EventType.RoomName,"");if(m&&m.getContent()&&m.getContent().name)return m.getContent().name}const r=this.getCanonicalAlias();if(r)return r;const i=this.currentState.getJoinedMemberCount(),s=this.currentState.getInvitedMemberCount();let o=i+s-1,c=[];const l=this.currentState.getStateEvents($e.UNSTABLE_ELEMENT_FUNCTIONAL_USERS.name,"");Array.isArray(l==null?void 0:l.getContent().service_members)&&(c=l.getContent().service_members);let u=null;if(this.summaryHeroes)u=[],this.summaryHeroes.forEach(m=>{if(c.includes(m)){o--;return}const p=this.getMember(m);u.push(p?p.name:m)});else{let m=this.currentState.getMembers().filter(p=>p.userId!==e&&(p.membership==="invite"||p.membership==="join"));m=m.filter(({userId:p})=>c.includes(p)?(o--,!1):!0),m.sort((p,E)=>zo.compare(p.userId,E.userId)),m=m.slice(0,5),u=m.map(p=>p.name)}if(o)return Lu(u,o);if(this.getMyMembership()=="join"){const m=this.currentState.getStateEvents($e.EventType.RoomThirdPartyInvite);if(m&&m.length){const p=m.map(E=>E.getContent().display_name);return`Inviting ${Lu(p)}`}}let g=u;return g.length||(g=this.currentState.getMembers().filter(m=>m.userId!==e&&m.membership!=="invite"&&m.membership!=="join").map(m=>m.name)),g.length?`Empty room (was ${Lu(g)})`:"Empty room"}applyNewVisibilityEvent(e){const t=e.asVisibilityChange();if(!t)return;const r=e.getSender();if(!r||!($e.EVENT_VISIBILITY_CHANGE_TYPE.name&&this.currentState.maySendStateEvent($e.EVENT_VISIBILITY_CHANGE_TYPE.name,r)||$e.EVENT_VISIBILITY_CHANGE_TYPE.altName&&this.currentState.maySendStateEvent($e.EVENT_VISIBILITY_CHANGE_TYPE.altName,r)))return;const s=this.visibilityEvents.get(t.eventId);if(s){let c=s.length-1;const l=Math.max(0,s.length-XT);for(;c>=l&&!(s[c].getTs()<e.getTs());--c);c===-1?s.unshift(e):s.splice(c+1,0,e)}else this.visibilityEvents.set(t.eventId,[e]);const o=this.findEventById(t.eventId);!o||o.applyVisibilityEvent(t)}redactVisibilityChangeEvent(e){if(!e.isVisibilityEvent)throw new Error("expected a visibility change event");const r=e.getRelation().event_id,i=this.visibilityEvents.get(r);if(!i)return;const s=i.findIndex(o=>o.getId()===e.getId());if(s!==-1&&(i.splice(s,1),s===i.length)){const o=this.findEventById(r);if(!o)return;if(s===0)this.visibilityEvents.delete(r),o.applyVisibilityEvent();else{const l=i[i.length-1].asVisibilityChange();if(!l)throw new Error("at this stage, visibility changes should be well-formed");o.applyVisibilityEvent(l)}}}applyPendingVisibilityEvents(e){const t=this.visibilityEvents.get(e.getId());if(!t||t.length==0)return;const r=t[t.length-1],i=r.asVisibilityChange();!i||(i.visible,!(r.getTs()<e.getTs())&&e.applyVisibilityEvent(i))}}ar.Room=QT;function Nu(n){return`mx_pending_events_${n}`}const ZT={[Pe.EventStatus.ENCRYPTING]:[Pe.EventStatus.SENDING,Pe.EventStatus.NOT_SENT,Pe.EventStatus.CANCELLED],[Pe.EventStatus.SENDING]:[Pe.EventStatus.ENCRYPTING,Pe.EventStatus.QUEUED,Pe.EventStatus.NOT_SENT,Pe.EventStatus.SENT],[Pe.EventStatus.QUEUED]:[Pe.EventStatus.SENDING,Pe.EventStatus.CANCELLED],[Pe.EventStatus.SENT]:[],[Pe.EventStatus.NOT_SENT]:[Pe.EventStatus.SENDING,Pe.EventStatus.QUEUED,Pe.EventStatus.CANCELLED],[Pe.EventStatus.CANCELLED]:[]};function Lu(n,e=n.length+1){const t=e-1;return n.length?n.length===1&&t<=1?n[0]:n.length===2&&t<=2?`${n[0]} and ${n[1]}`:t>1?`${n[0]} and ${t} others`:`${n[0]} and 1 other`:"Empty room"}var Kl={};Object.defineProperty(Kl,"__esModule",{value:!0});Kl.Group=rc;var eO=kl.exports,tO=rO(G);function Mv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Mv=function(r){return r?t:e})(n)}function rO(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=Mv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}function rc(n){this.groupId=n,this.name=null,this.avatarUrl=null,this.myMembership=null,this.inviter=null}tO.inherits(rc,eO.EventEmitter);rc.prototype.setProfile=function(n,e){this.name===n&&this.avatarUrl===e||(this.name=n||this.groupId,this.avatarUrl=e,this.emit("Group.profile",this))};rc.prototype.setMyMembership=function(n){this.myMembership!==n&&(this.myMembership=n,this.emit("Group.myMembership",this))};rc.prototype.setInviter=function(n){this.inviter=n};var nc={},Be={};Object.defineProperty(Be,"__esModule",{value:!0});Be.TweakName=Be.RuleId=Be.PushRuleKind=Be.PushRuleActionName=Be.DMMemberCountCondition=Be.ConditionOperator=Be.ConditionKind=void 0;Be.isDmMemberCountCondition=iO;let ch;Be.PushRuleActionName=ch;(function(n){n.DontNotify="dont_notify",n.Notify="notify",n.Coalesce="coalesce"})(ch||(Be.PushRuleActionName=ch={}));let lh;Be.TweakName=lh;(function(n){n.Highlight="highlight",n.Sound="sound"})(lh||(Be.TweakName=lh={}));let uh;Be.ConditionOperator=uh;(function(n){n.ExactEquals="==",n.LessThan="<",n.GreaterThan=">",n.GreaterThanOrEqual=">=",n.LessThanOrEqual="<="})(uh||(Be.ConditionOperator=uh={}));const nO="2";Be.DMMemberCountCondition=nO;function iO(n){return n==="==2"||n==="2"}let dh;Be.ConditionKind=dh;(function(n){n.EventMatch="event_match",n.ContainsDisplayName="contains_display_name",n.RoomMemberCount="room_member_count",n.SenderNotificationPermission="sender_notification_permission"})(dh||(Be.ConditionKind=dh={}));let hh;Be.PushRuleKind=hh;(function(n){n.Override="override",n.ContentSpecific="content",n.RoomSpecific="room",n.SenderSpecific="sender",n.Underride="underride"})(hh||(Be.PushRuleKind=hh={}));let fh;Be.RuleId=fh;(function(n){n.Master=".m.rule.master",n.ContainsDisplayName=".m.rule.contains_display_name",n.ContainsUserName=".m.rule.contains_user_name",n.AtRoomNotification=".m.rule.roomnotif",n.DM=".m.rule.room_one_to_one",n.EncryptedDM=".m.rule.encrypted_room_one_to_one",n.Message=".m.rule.message",n.EncryptedMessage=".m.rule.encrypted",n.InviteToSelf=".m.rule.invite_for_me",n.MemberEvent=".m.rule.member_event",n.IncomingCall=".m.rule.call",n.SuppressNotices=".m.rule.suppress_notices",n.Tombstone=".m.rule.tombstone"})(fh||(Be.RuleId=fh={}));var sO=V.exports;Object.defineProperty(nc,"__esModule",{value:!0});nc.PushProcessor=void 0;var Av=sO(Y.exports),Bu=G,oO=ie,Ne=Be;function eg(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function tg(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?eg(Object(t),!0).forEach(function(r){(0,Av.default)(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):eg(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}const Ku=[Ne.PushRuleKind.Override,Ne.PushRuleKind.ContentSpecific,Ne.PushRuleKind.RoomSpecific,Ne.PushRuleKind.SenderSpecific,Ne.PushRuleKind.Underride],aO=[{rule_id:".m.rule.tombstone",default:!0,enabled:!0,conditions:[{kind:Ne.ConditionKind.EventMatch,key:"type",pattern:"m.room.tombstone"},{kind:Ne.ConditionKind.EventMatch,key:"state_key",pattern:""}],actions:[Ne.PushRuleActionName.Notify,{set_tweak:Ne.TweakName.Highlight,value:!0}]},{rule_id:".m.rule.reaction",default:!0,enabled:!0,conditions:[{kind:Ne.ConditionKind.EventMatch,key:"type",pattern:"m.reaction"}],actions:[Ne.PushRuleActionName.DontNotify]}];class Mi{constructor(e){this.client=e}static actionListToActionsObject(e){const t={notify:!1,tweaks:{}};for(let r=0;r<e.length;++r){const i=e[r];i===Ne.PushRuleActionName.Notify?t.notify=!0:typeof i=="object"&&(i.value===void 0&&(i.value=!0),t.tweaks[i.set_tweak]=i.value)}return t}static rewriteDefaultRules(e){let t=JSON.parse(JSON.stringify(e));t||(t={}),t.global||(t.global={}),t.global.override||(t.global.override=[]);const r=t.global.override;for(const i of aO){const s=r.find(o=>o.rule_id===i.rule_id);if(s)s.default=i.default,s.conditions=i.conditions,s.actions=i.actions;else{const o=i.rule_id;oO.logger.warn(`Adding default global override for ${o}`),r.push(i)}}return t}matchingRuleFromKindSet(e,t){for(let r=0;r<Ku.length;++r){const i=Ku[r],s=t[i];if(!!s)for(let o=0;o<s.length;++o){const c=s[o];if(!c.enabled)continue;const l=this.templateRuleToRaw(i,c);if(!!l&&this.ruleMatchesEvent(l,e))return tg(tg({},c),{},{kind:i})}}return null}templateRuleToRaw(e,t){const r={rule_id:t.rule_id,actions:t.actions,conditions:[]};switch(e){case Ne.PushRuleKind.Underride:case Ne.PushRuleKind.Override:r.conditions=t.conditions;break;case Ne.PushRuleKind.RoomSpecific:if(!t.rule_id)return null;r.conditions.push({kind:Ne.ConditionKind.EventMatch,key:"room_id",value:t.rule_id});break;case Ne.PushRuleKind.SenderSpecific:if(!t.rule_id)return null;r.conditions.push({kind:Ne.ConditionKind.EventMatch,key:"user_id",value:t.rule_id});break;case Ne.PushRuleKind.ContentSpecific:if(!t.pattern)return null;r.conditions.push({kind:Ne.ConditionKind.EventMatch,key:"content.body",pattern:t.pattern});break}return r}eventFulfillsCondition(e,t){switch(e.kind){case Ne.ConditionKind.EventMatch:return this.eventFulfillsEventMatchCondition(e,t);case Ne.ConditionKind.ContainsDisplayName:return this.eventFulfillsDisplayNameCondition(e,t);case Ne.ConditionKind.RoomMemberCount:return this.eventFulfillsRoomMemberCountCondition(e,t);case Ne.ConditionKind.SenderNotificationPermission:return this.eventFulfillsSenderNotifPermCondition(e,t)}return!1}eventFulfillsSenderNotifPermCondition(e,t){const r=e.key;if(!r)return!1;const i=this.client.getRoom(t.getRoomId());return i!=null&&i.currentState?i.currentState.mayTriggerNotifOfType(r,t.getSender()):!1}eventFulfillsRoomMemberCountCondition(e,t){if(!e.is)return!1;const r=this.client.getRoom(t.getRoomId());if(!r||!r.currentState||!r.currentState.members)return!1;const i=r.currentState.getJoinedMemberCount(),s=e.is.match(/^([=<>]*)([0-9]*)$/);if(!s)return!1;const o=s[1],c=parseInt(s[2]);if(isNaN(c))return!1;switch(o){case"":case"==":return i==c;case"<":return i<c;case">":return i>c;case"<=":return i<=c;case">=":return i>=c;default:return!1}}eventFulfillsDisplayNameCondition(e,t){let r=t.getContent();if(t.isEncrypted()&&t.getClearContent()&&(r=t.getClearContent()),!r||!r.body||typeof r.body!="string")return!1;const i=this.client.getRoom(t.getRoomId());if(!i||!i.currentState||!i.currentState.members||!i.currentState.getMember(this.client.credentials.userId))return!1;const s=i.currentState.getMember(this.client.credentials.userId).name,o=new RegExp("(^|\\W)"+(0,Bu.escapeRegExp)(s)+"(\\W|$)","i");return r.body.search(o)>-1}eventFulfillsEventMatchCondition(e,t){if(!e.key)return!1;const r=this.valueForDottedKey(e.key,t);if(typeof r!="string")return!1;if(e.value)return e.value===r;if(typeof e.pattern!="string")return!1;let i;return e.key=="content.body"?i=this.createCachedRegex("(^|\\W)",e.pattern,"(\\W|$)"):i=this.createCachedRegex("^",e.pattern,"$"),!!r.match(i)}createCachedRegex(e,t,r){return Mi.cachedGlobToRegex[t]||(Mi.cachedGlobToRegex[t]=new RegExp(e+(0,Bu.globToRegexp)(t)+r,"i")),Mi.cachedGlobToRegex[t]}valueForDottedKey(e,t){const r=e.split(".");let i;const s=r[0];for(s==="content"?(i=t.getContent(),r.shift()):s==="type"?(i=t.getType(),r.shift()):i=t.event;r.length>0;){const o=r.shift();if((0,Bu.isNullOrUndefined)(i[o]))return null;i=i[o]}return i}matchingRuleForEventWithRulesets(e,t){return!t||e.getSender()===this.client.credentials.userId?null:this.matchingRuleFromKindSet(e,t.global)}pushActionsForEventAndRulesets(e,t){const r=this.matchingRuleForEventWithRulesets(e,t);if(!r)return{};const i=Mi.actionListToActionsObject(r.actions);return i.tweaks.highlight===void 0&&(i.tweaks.highlight=r.kind==Ne.PushRuleKind.ContentSpecific),i}ruleMatchesEvent(e,t){var r;if(!((r=e.conditions)!==null&&r!==void 0&&r.length))return!0;let i=!0;for(let s=0;s<e.conditions.length;++s){const o=e.conditions[s];i&=this.eventFulfillsCondition(o,t)}return i}actionsForEvent(e){return this.pushActionsForEventAndRulesets(e,this.client.pushRules)}getPushRuleById(e){for(const t of["global"])if(this.client.pushRules[t]!==void 0){for(const r of Ku)if(this.client.pushRules[t][r]!==void 0){for(const i of this.client.pushRules[t][r])if(i.rule_id===e)return i}}return null}}nc.PushProcessor=Mi;(0,Av.default)(Mi,"cachedGlobToRegex",{});var si={};Object.defineProperty(si,"__esModule",{value:!0});si.InvalidCryptoStoreError=ql;si.InvalidStoreError=Fl;si.KeySignatureUploadError=void 0;function Fl(n,e){const t=`Store is invalid because ${n}, please stop the client, delete all data and start the client again`,r=Reflect.construct(Error,[t]);return Reflect.setPrototypeOf(r,Reflect.getPrototypeOf(this)),r.reason=n,r.value=e,r}Fl.TOGGLED_LAZY_LOADING="TOGGLED_LAZY_LOADING";Fl.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}});Reflect.setPrototypeOf(Fl,Error);function ql(n){const e=`Crypto store is invalid because ${n}, please stop the client, delete all data and start the client again`,t=Reflect.construct(Error,[e]);return Reflect.setPrototypeOf(t,Reflect.getPrototypeOf(this)),t.reason=n,t.name="InvalidCryptoStoreError",t}ql.TOO_NEW="TOO_NEW";ql.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}});Reflect.setPrototypeOf(ql,Error);class cO extends Error{constructor(e,t){super(e);this.value=t}}si.KeySignatureUploadError=cO;var ti={},lO=V.exports;Object.defineProperty(ti,"__esModule",{value:!0});ti.SyncAccumulator=ti.Category=void 0;var Jo=lO(Y.exports),uO=ie,dO=G;let Lt;ti.Category=Lt;(function(n){n.Invite="invite",n.Leave="leave",n.Join="join"})(Lt||(ti.Category=Lt={}));class hO{constructor(e={}){this.opts=e,(0,Jo.default)(this,"accountData",{}),(0,Jo.default)(this,"inviteRooms",{}),(0,Jo.default)(this,"joinRooms",{}),(0,Jo.default)(this,"nextBatch",null),(0,Jo.default)(this,"groups",{invite:{},join:{},leave:{}}),this.opts.maxTimelineEntries=this.opts.maxTimelineEntries||50}accumulate(e,t=!1){this.accumulateRooms(e,t),this.accumulateGroups(e),this.accumulateAccountData(e),this.nextBatch=e.next_batch}accumulateAccountData(e){!e.account_data||!e.account_data.events||e.account_data.events.forEach(t=>{this.accountData[t.type]=t})}accumulateRooms(e,t=!1){!e.rooms||(e.rooms.invite&&Object.keys(e.rooms.invite).forEach(r=>{this.accumulateRoom(r,Lt.Invite,e.rooms.invite[r],t)}),e.rooms.join&&Object.keys(e.rooms.join).forEach(r=>{this.accumulateRoom(r,Lt.Join,e.rooms.join[r],t)}),e.rooms.leave&&Object.keys(e.rooms.leave).forEach(r=>{this.accumulateRoom(r,Lt.Leave,e.rooms.leave[r],t)}))}accumulateRoom(e,t,r,i=!1){switch(t){case Lt.Invite:this.accumulateInviteState(e,r);break;case Lt.Join:this.inviteRooms[e]&&delete this.inviteRooms[e],this.accumulateJoinState(e,r,i);break;case Lt.Leave:this.inviteRooms[e]?delete this.inviteRooms[e]:delete this.joinRooms[e];break;default:uO.logger.error("Unknown cateogory: ",t)}}accumulateInviteState(e,t){if(!t.invite_state||!t.invite_state.events)return;if(!this.inviteRooms[e]){this.inviteRooms[e]={invite_state:t.invite_state};return}const r=this.inviteRooms[e];t.invite_state.events.forEach(i=>{let s=!1;for(let o=0;o<r.invite_state.events.length;o++){const c=r.invite_state.events[o];c.type===i.type&&c.state_key==i.state_key&&(r.invite_state.events[o]=i,s=!0)}s||r.invite_state.events.push(i)})}accumulateJoinState(e,t,r=!1){this.joinRooms[e]||(this.joinRooms[e]={_currentState:Object.create(null),_timeline:[],_accountData:Object.create(null),_unreadNotifications:{},_summary:{},_readReceipts:{}});const i=this.joinRooms[e];if(t.account_data&&t.account_data.events&&t.account_data.events.forEach(s=>{i._accountData[s.type]=s}),t.unread_notifications&&(i._unreadNotifications=t.unread_notifications),t.summary){const s="m.heroes",o="m.invited_member_count",c="m.joined_member_count",l=i._summary,u=t.summary;l[s]=u[s]||l[s],l[c]=u[c]||l[c],l[o]=u[o]||l[o]}if(t.ephemeral&&t.ephemeral.events&&t.ephemeral.events.forEach(s=>{s.type!=="m.receipt"||!s.content||Object.keys(s.content).forEach(o=>{!s.content[o]["m.read"]||Object.keys(s.content[o]["m.read"]).forEach(c=>{i._readReceipts[c]={data:s.content[o]["m.read"][c],eventId:o}})})}),t.timeline&&t.timeline.limited&&(i._timeline=[]),t.state&&t.state.events&&t.state.events.forEach(s=>{Fu(i._currentState,s)}),t.timeline&&t.timeline.events&&t.timeline.events.forEach((s,o)=>{Fu(i._currentState,s);let c;if(r)c=s;else{c=Object.assign({},s),c.unsigned!==void 0&&(c.unsigned=Object.assign({},c.unsigned));const l=s.unsigned?s.unsigned.age:s.age;l!==void 0&&(c._localTs=Date.now()-l)}i._timeline.push({event:c,token:o===0?t.timeline.prev_batch:null})}),i._timeline.length>this.opts.maxTimelineEntries){const s=i._timeline.length-this.opts.maxTimelineEntries;for(let o=s;o<i._timeline.length;o++)if(i._timeline[o].token){i._timeline=i._timeline.slice(o,i._timeline.length);break}}}accumulateGroups(e){!e.groups||(e.groups.invite&&Object.keys(e.groups.invite).forEach(t=>{this.accumulateGroup(t,Lt.Invite,e.groups.invite[t])}),e.groups.join&&Object.keys(e.groups.join).forEach(t=>{this.accumulateGroup(t,Lt.Join,e.groups.join[t])}),e.groups.leave&&Object.keys(e.groups.leave).forEach(t=>{this.accumulateGroup(t,Lt.Leave,e.groups.leave[t])}))}accumulateGroup(e,t,r){for(const i of[Lt.Invite,Lt.Leave,Lt.Join])delete this.groups[i][e];this.groups[t][e]=r}getJSON(e=!1){const t={join:{},invite:{},leave:{}};Object.keys(this.inviteRooms).forEach(i=>{t.invite[i]=this.inviteRooms[i]}),Object.keys(this.joinRooms).forEach(i=>{const s=this.joinRooms[i],o={ephemeral:{events:[]},account_data:{events:[]},state:{events:[]},timeline:{events:[],prev_batch:null},unread_notifications:s._unreadNotifications,summary:s._summary};Object.keys(s._accountData).forEach(u=>{o.account_data.events.push(s._accountData[u])});const c={type:"m.receipt",room_id:i,content:{}};Object.keys(s._readReceipts).forEach(u=>{const a=s._readReceipts[u];c.content[a.eventId]||(c.content[a.eventId]={"m.read":{}}),c.content[a.eventId]["m.read"][u]=a.data}),Object.keys(c.content).length>0&&o.ephemeral.events.push(c),s._timeline.forEach(u=>{if(!o.timeline.prev_batch){if(!u.token)return;o.timeline.prev_batch=u.token}let a;!e&&u.event._localTs?(a=Object.assign({},u.event),a.unsigned!==void 0&&(a.unsigned=Object.assign({},a.unsigned)),delete a._localTs,a.unsigned=a.unsigned||{},a.unsigned.age=Date.now()-u.event._localTs):a=u.event,o.timeline.events.push(a)});const l=Object.create(null);for(let u=o.timeline.events.length-1;u>=0;u--){const a=o.timeline.events[u];if(a.state_key===null||a.state_key===void 0)continue;const g=(0,dO.deepCopy)(a);g.unsigned&&(g.unsigned.prev_content&&(g.content=g.unsigned.prev_content),g.unsigned.prev_sender&&(g.sender=g.unsigned.prev_sender)),Fu(l,g)}Object.keys(s._currentState).forEach(u=>{Object.keys(s._currentState[u]).forEach(a=>{let g=s._currentState[u][a];l[u]&&l[u][a]&&(g=l[u][a]),o.state.events.push(g)})}),t.join[i]=o});const r=[];return Object.keys(this.accountData).forEach(i=>{r.push(this.accountData[i])}),{nextBatch:this.nextBatch,roomsData:t,groupsData:this.groups,accountData:r}}getNextBatchToken(){return this.nextBatch}}ti.SyncAccumulator=hO;function Fu(n,e){e.state_key===null||e.state_key===void 0||!e.type||(n[e.type]||(n[e.type]=Object.create(null)),n[e.type][e.state_key]=e)}var fO=V.exports;Object.defineProperty(Ui,"__esModule",{value:!0});Ui.SyncState=Ui.SyncApi=void 0;var kr=fO(Y.exports),Ls=en,Rt=ar,pO=Kl,Bs=yO(G),rg=Cs,ng=Ft,gO=nc,Qt=ie,ig=si,Fe=it,qu=ti,bc=me,mO=ne,Ei=Tn,wc=tn,ju=_r;function Dv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Dv=function(r){return r?t:e})(n)}function yO(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=Dv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}const sg=80*1e3,vO=3;let Ot;Ui.SyncState=Ot;(function(n){n.Error="ERROR",n.Prepared="PREPARED",n.Stopped="STOPPED",n.Syncing="SYNCING",n.Catchup="CATCHUP",n.Reconnecting="RECONNECTING"})(Ot||(Ui.SyncState=Ot={}));function og(n,e){return"FILTER_SYNC_"+n+(e?"_"+e:"")}function ke(...n){Qt.logger.log(...n)}var ph;(function(n){n.Offline="offline",n.Online="online",n.Unavailable="unavailable"})(ph||(ph={}));class _O{constructor(e,t={}){var r;this.client=e,this.opts=t,(0,kr.default)(this,"_peekRoom",null),(0,kr.default)(this,"currentSyncRequest",null),(0,kr.default)(this,"syncState",null),(0,kr.default)(this,"syncStateData",null),(0,kr.default)(this,"catchingUp",!1),(0,kr.default)(this,"running",!1),(0,kr.default)(this,"keepAliveTimer",null),(0,kr.default)(this,"connectionReturnedDefer",null),(0,kr.default)(this,"notifEvents",[]),(0,kr.default)(this,"failedSyncCount",0),(0,kr.default)(this,"storeIsInvalid",!1),(0,kr.default)(this,"onOnline",()=>{ke("Browser thinks we are back online"),this.startKeepAlives(0)}),this.opts.initialSyncLimit=(r=this.opts.initialSyncLimit)!==null&&r!==void 0?r:8,this.opts.resolveInvitesToProfiles=this.opts.resolveInvitesToProfiles||!1,this.opts.pollTimeout=this.opts.pollTimeout||30*1e3,this.opts.pendingEventOrdering=this.opts.pendingEventOrdering||Fe.PendingEventOrdering.Chronological,this.opts.experimentalThreadSupport=this.opts.experimentalThreadSupport===!0,t.canResetEntireTimeline||(t.canResetEntireTimeline=i=>!1),e.getNotifTimelineSet()&&e.reEmitter.reEmit(e.getNotifTimelineSet(),[Rt.RoomEvent.Timeline,Rt.RoomEvent.TimelineReset])}createRoom(e){const t=this.client,{timelineSupport:r,unstableClientRelationAggregation:i}=t,s=new Rt.Room(e,t,t.getUserId(),{lazyLoadMembers:this.opts.lazyLoadMembers,pendingEventOrdering:this.opts.pendingEventOrdering,timelineSupport:r,unstableClientRelationAggregation:i});return t.reEmitter.reEmit(s,[Rt.RoomEvent.Name,Rt.RoomEvent.Redaction,Rt.RoomEvent.RedactionCancelled,Rt.RoomEvent.Receipt,Rt.RoomEvent.Tags,Rt.RoomEvent.LocalEchoUpdated,Rt.RoomEvent.AccountData,Rt.RoomEvent.MyMembership,Rt.RoomEvent.Timeline,Rt.RoomEvent.TimelineReset]),this.registerStateListeners(s),s}createGroup(e){const t=this.client,r=new pO.Group(e);return t.reEmitter.reEmit(r,[Fe.ClientEvent.GroupProfile,Fe.ClientEvent.GroupMyMembership]),t.store.storeGroup(r),r}registerStateListeners(e){const t=this.client;t.reEmitter.reEmit(e.currentState,[Ei.RoomStateEvent.Events,Ei.RoomStateEvent.Members,Ei.RoomStateEvent.NewMember,Ei.RoomStateEvent.Update,ju.BeaconEvent.New,ju.BeaconEvent.Update,ju.BeaconEvent.LivenessChange]),e.currentState.on(Ei.RoomStateEvent.NewMember,function(r,i,s){s.user=t.getUser(s.userId),t.reEmitter.reEmit(s,[wc.RoomMemberEvent.Name,wc.RoomMemberEvent.Typing,wc.RoomMemberEvent.PowerLevel,wc.RoomMemberEvent.Membership])})}deregisterStateListeners(e){e.currentState.removeAllListeners(Ei.RoomStateEvent.Events),e.currentState.removeAllListeners(Ei.RoomStateEvent.Members),e.currentState.removeAllListeners(Ei.RoomStateEvent.NewMember)}syncLeftRooms(){const e=this.client,t=new rg.Filter(this.client.credentials.userId);t.setTimelineLimit(1),t.setIncludeLeaveRooms(!0);const r=this.opts.pollTimeout+sg,i={timeout:0};return e.getOrCreateFilter(og(e.credentials.userId,"LEFT_ROOMS"),t).then(function(s){return i.filter=s,e.http.authedRequest(void 0,bc.Method.Get,"/sync",i,void 0,r)}).then(s=>{var o;let c=[];(o=s.rooms)!==null&&o!==void 0&&o.leave&&(c=this.mapSyncResponseToRoomArray(s.rooms.leave));const l=[];return c.forEach(async u=>{const a=u.room;if(l.push(a),!u.isBrandNewRoom)return;u.timeline=u.timeline||{};const g=this.mapSyncEventsFormat(u.timeline,a),[m,p]=this.client.partitionThreadedEvents(g),E=this.mapSyncEventsFormat(u.state,a);a.getLiveTimeline().setPaginationToken(u.timeline.prev_batch,ng.EventTimeline.BACKWARDS),this.processRoomEvents(a,E,m),await this.processThreadEvents(a,p,!1),a.recalculate(),e.store.storeRoom(a),e.emit(Fe.ClientEvent.Room,a),this.processEventsForNotifs(a,g)}),l})}peek(e){if(this._peekRoom&&this._peekRoom.roomId===e)return Promise.resolve(this._peekRoom);const t=this.client;return this._peekRoom=this.createRoom(e),this.client.roomInitialSync(e,20).then(r=>{r.messages=r.messages||{chunk:[]},r.messages.chunk=r.messages.chunk||[],r.state=r.state||[];const i=Bs.deepCopy(r.state).map(t.getEventMapper()),s=r.state.map(t.getEventMapper()),o=r.messages.chunk.map(t.getEventMapper());return r.presence&&Array.isArray(r.presence)&&r.presence.map(t.getEventMapper()).forEach(function(c){let l=t.store.getUser(c.getContent().user_id);l?l.setPresenceEvent(c):(l=Rc(t,c.getContent().user_id),l.setPresenceEvent(c),t.store.storeUser(l)),t.emit(Fe.ClientEvent.Event,c)}),r.messages.start&&(this._peekRoom.oldState.paginationToken=r.messages.start),this._peekRoom.oldState.setStateEvents(i),this._peekRoom.currentState.setStateEvents(s),this.resolveInvites(this._peekRoom),this._peekRoom.recalculate(),this._peekRoom.addEventsToTimeline(o.reverse(),!0,this._peekRoom.getLiveTimeline(),r.messages.start),t.store.storeRoom(this._peekRoom),t.emit(Fe.ClientEvent.Room,this._peekRoom),this.peekPoll(this._peekRoom),this._peekRoom})}stopPeeking(){this._peekRoom=null}peekPoll(e,t){if(this._peekRoom!==e){ke("Stopped peeking in room %s",e.roomId);return}this.client.http.authedRequest(void 0,bc.Method.Get,"/events",{room_id:e.roomId,timeout:String(30*1e3),from:t},void 0,50*1e3).then(r=>{if(this._peekRoom!==e){ke("Stopped peeking in room %s",e.roomId);return}r.chunk.filter(function(s){return s.type==="m.presence"}).map(this.client.getEventMapper()).forEach(s=>{let o=this.client.store.getUser(s.getContent().user_id);o?o.setPresenceEvent(s):(o=Rc(this.client,s.getContent().user_id),o.setPresenceEvent(s),this.client.store.storeUser(o)),this.client.emit(Fe.ClientEvent.Event,s)});const i=r.chunk.filter(function(s){return s.room_id===e.roomId&&s.event_id}).map(this.client.getEventMapper());e.addLiveEvents(i),this.peekPoll(e,r.end)},r=>{Qt.logger.error("[%s] Peek poll failed: %s",e.roomId,r),setTimeout(()=>{this.peekPoll(e,t)},30*1e3)})}getSyncState(){return this.syncState}getSyncStateData(){return this.syncStateData}async recoverFromSyncStartupError(e,t){await e;const r=this.startKeepAlives();this.updateSyncState(Ot.Error,{error:t}),await r}async wasLazyLoadingToggled(e=!1){let t=!1;if(!await this.client.store.isNewlyCreated()){const i=await this.client.store.getClientOptions();return i&&(t=!!i.lazyLoadMembers),t!==e}return!1}shouldAbortSync(e){return e.errcode==="M_UNKNOWN_TOKEN"?(Qt.logger.warn("Token no longer valid - assuming logout"),this.stop(),this.updateSyncState(Ot.Error,{error:e}),!0):!1}sync(){const e=this.client;this.running=!0,j.window&&j.window.addEventListener&&j.window.addEventListener("online",this.onOnline,!1);let t=Promise.resolve(),r=null;const i=async()=>{try{ke("Getting push rules...");const l=await e.getPushRules();ke("Got push rules"),e.pushRules=l}catch(l){if(Qt.logger.error("Getting push rules failed",l),this.shouldAbortSync(l))return;ke("Waiting for saved sync before retrying push rules..."),await this.recoverFromSyncStartupError(t,l),i();return}o()},s=()=>{const l=new rg.Filter(e.credentials.userId);return l.setTimelineLimit(this.opts.initialSyncLimit),l},o=async()=>{if(ke("Checking lazy load status..."),this.opts.lazyLoadMembers&&e.isGuest()&&(this.opts.lazyLoadMembers=!1),this.opts.lazyLoadMembers&&(ke("Checking server lazy load support..."),await e.doesServerSupportLazyLoading()?(ke("Enabling lazy load on sync filter..."),this.opts.filter||(this.opts.filter=s()),this.opts.filter.setLazyLoadMembers(!0)):(ke("LL: lazy loading requested but not supported by server, so disabling"),this.opts.lazyLoadMembers=!1)),ke("Checking whether lazy loading has changed in store..."),await this.wasLazyLoadingToggled(this.opts.lazyLoadMembers)){this.storeIsInvalid=!0;const u=ig.InvalidStoreError.TOGGLED_LAZY_LOADING,a=new ig.InvalidStoreError(u,!!this.opts.lazyLoadMembers);this.updateSyncState(Ot.Error,{error:a}),Qt.logger.warn("InvalidStoreError: store is not usable: stopping sync.");return}this.opts.lazyLoadMembers&&this.opts.crypto&&this.opts.crypto.enableLazyLoading();try{ke("Storing client options..."),await this.client.storeClientOptions(),ke("Stored client options")}catch(u){throw Qt.logger.error("Storing client options failed",u),u}c()},c=async()=>{ke("Getting filter...");let l;this.opts.filter?l=this.opts.filter:l=s();let u;try{u=await e.getOrCreateFilter(og(e.credentials.userId),l)}catch(a){if(Qt.logger.error("Getting filter failed",a),this.shouldAbortSync(a))return;ke("Waiting for saved sync before retrying filter..."),await this.recoverFromSyncStartupError(t,a),c();return}e.resetNotifTimelineSet(),this.currentSyncRequest===null&&(ke("Sending first sync request..."),this.currentSyncRequest=this.doSyncRequest({filterId:u},r)),ke("Waiting for saved sync before starting sync processing..."),await t,this.doSync({filterId:u})};e.isGuest()?this.doSync({}):(ke("Getting saved sync token..."),t=e.store.getSavedSyncToken().then(l=>(ke("Got saved sync token"),r=l,ke("Getting saved sync..."),e.store.getSavedSync())).then(l=>{if(ke(`Got reply from saved sync, exists? ${!!l}`),l)return this.syncFromCache(l)}).catch(l=>{Qt.logger.error("Getting saved sync failed",l)}),i())}stop(){ke("SyncApi.stop"),j.window&&j.window.removeEventListener&&j.window.removeEventListener("online",this.onOnline,!1),this.running=!1,this.currentSyncRequest&&this.currentSyncRequest.abort(),this.keepAliveTimer&&(clearTimeout(this.keepAliveTimer),this.keepAliveTimer=null)}retryImmediately(){return this.connectionReturnedDefer?(this.startKeepAlives(0),!0):!1}async syncFromCache(e){ke("sync(): not doing HTTP hit, instead returning stored /sync data");const t=e.nextBatch;this.client.store.setSyncToken(t);const r={oldSyncToken:null,nextSyncToken:t,catchingUp:!1,fromCache:!0},i={next_batch:t,rooms:e.roomsData,groups:e.groupsData,account_data:{events:e.accountData}};try{await this.processSyncResponse(r,i)}catch(s){Qt.logger.error("Error processing cached sync",s.stack||s)}this.storeIsInvalid||this.updateSyncState(Ot.Prepared,r)}async doSync(e){const t=this.client;if(!this.running){ke("Sync no longer running: exiting."),this.connectionReturnedDefer&&(this.connectionReturnedDefer.reject(),this.connectionReturnedDefer=null),this.updateSyncState(Ot.Stopped);return}const r=t.store.getSyncToken();let i;try{this.currentSyncRequest===null&&(this.currentSyncRequest=this.doSyncRequest(e,r)),i=await this.currentSyncRequest}catch(o){this.onSyncError(o,e);return}finally{this.currentSyncRequest=null}t.store.setSyncToken(i.next_batch),this.failedSyncCount=0,await t.store.setSyncData(i);const s={oldSyncToken:r,nextSyncToken:i.next_batch,catchingUp:this.catchingUp};this.opts.crypto&&await this.opts.crypto.onSyncWillProcess(s);try{await this.processSyncResponse(s,i)}catch(o){Qt.logger.error("Caught /sync error",o.stack||o),this.client.emit(Fe.ClientEvent.SyncUnexpectedError,o)}s.catchingUp=this.catchingUp,e.hasSyncedBefore||(this.updateSyncState(Ot.Prepared,s),e.hasSyncedBefore=!0),this.opts.crypto&&await this.opts.crypto.onSyncCompleted(s),this.updateSyncState(Ot.Syncing,s),t.store.wantsSave()&&(this.opts.crypto&&await this.opts.crypto.saveDeviceList(0),t.store.save()),this.doSync(e)}doSyncRequest(e,t){const r=this.getSyncParams(e,t);return this.client.http.authedRequest(void 0,bc.Method.Get,"/sync",r,void 0,r.timeout+sg)}getSyncParams(e,t){let r=this.opts.pollTimeout;(this.getSyncState()!=="SYNCING"||this.catchingUp)&&(this.catchingUp=!0,r=0);let i=e.filterId;this.client.isGuest()&&!i&&(i=this.getGuestFilter());const s={filter:i,timeout:r};return this.opts.disablePresence&&(s.set_presence=ph.Offline),t?s.since=t:s._cacheBuster=Date.now(),(this.getSyncState()=="ERROR"||this.getSyncState()=="RECONNECTING")&&(s.timeout=0),s}onSyncError(e,t){if(!this.running){ke("Sync no longer running: exiting"),this.connectionReturnedDefer&&(this.connectionReturnedDefer.reject(),this.connectionReturnedDefer=null),this.updateSyncState(Ot.Stopped);return}Qt.logger.error("/sync error %s",e),Qt.logger.error(e),!this.shouldAbortSync(e)&&(this.failedSyncCount++,Qt.logger.log("Number of consecutive failed sync requests:",this.failedSyncCount),ke("Starting keep-alive"),this.startKeepAlives().then(r=>{r&&this.getSyncState()===Ot.Error&&this.updateSyncState(Ot.Catchup,{oldSyncToken:null,nextSyncToken:null,catchingUp:!0}),this.doSync(t)}),this.currentSyncRequest=null,this.updateSyncState(this.failedSyncCount>=vO?Ot.Error:Ot.Reconnecting,{error:e}))}async processSyncResponse(e,t){const r=this.client;if(t.presence&&Array.isArray(t.presence.events)&&t.presence.events.map(r.getEventMapper()).forEach(function(c){let l=r.store.getUser(c.getSender());l?l.setPresenceEvent(c):(l=Rc(r,c.getSender()),l.setPresenceEvent(c),r.store.storeUser(l)),r.emit(Fe.ClientEvent.Event,c)}),t.account_data&&Array.isArray(t.account_data.events)){const c=t.account_data.events.map(r.getEventMapper()),l=c.reduce((u,a)=>(u[a.getId()]=r.store.getAccountData(a.getType()),u),{});r.store.storeAccountDataEvents(c),c.forEach(function(u){if(u.getType()===mO.EventType.PushRules){const g=u.getContent();r.pushRules=gO.PushProcessor.rewriteDefaultRules(g)}const a=l[u.getId()];return r.emit(Fe.ClientEvent.AccountData,u,a),u})}if(t.to_device&&Array.isArray(t.to_device.events)&&t.to_device.events.length>0){const c=[];t.to_device.events.map(r.getEventMapper()).map(l=>{if(l.getType()==="m.key.verification.cancel"){const u=l.getContent().transaction_id;u&&c.push(u)}return l}).forEach(function(l){const u=l.getContent();if(l.getType()=="m.room.message"&&u.msgtype=="m.bad.encrypted"){Qt.logger.log("Ignoring undecryptable to-device event from "+l.getSender());return}if(l.getType()==="m.key.verification.start"||l.getType()==="m.key.verification.request"){const a=u.transaction_id;c.includes(a)&&l.flagCancelled()}r.emit(Fe.ClientEvent.ToDeviceEvent,l)})}else this.catchingUp=!1;t.groups&&(t.groups.invite&&this.processGroupSyncEntry(t.groups.invite,qu.Category.Invite),t.groups.join&&this.processGroupSyncEntry(t.groups.join,qu.Category.Join),t.groups.leave&&this.processGroupSyncEntry(t.groups.leave,qu.Category.Leave));let i=[],s=[],o=[];if(t.rooms&&(t.rooms.invite&&(i=this.mapSyncResponseToRoomArray(t.rooms.invite)),t.rooms.join&&(s=this.mapSyncResponseToRoomArray(t.rooms.join)),t.rooms.leave&&(o=this.mapSyncResponseToRoomArray(t.rooms.leave))),this.notifEvents=[],i.forEach(c=>{const l=c.room,u=this.mapSyncEventsFormat(c.invite_state,l);this.processRoomEvents(l,u),c.isBrandNewRoom&&(l.recalculate(),r.store.storeRoom(l),r.emit(Fe.ClientEvent.Room,l)),u.forEach(function(a){r.emit(Fe.ClientEvent.Event,a)}),l.updateMyMembership("invite")}),await Bs.promiseMapSeries(s,async c=>{const l=c.room,u=this.mapSyncEventsFormat(c.state,l),a=this.mapSyncEventsFormat(c.timeline,l,!1),g=this.mapSyncEventsFormat(c.ephemeral),m=this.mapSyncEventsFormat(c.account_data),p=r.isRoomEncrypted(l.roomId);if(c.unread_notifications&&(l.setUnreadNotificationCount(Rt.NotificationCountType.Total,c.unread_notifications.notification_count),(!p||p&&l.getUnreadNotificationCount(Rt.NotificationCountType.Highlight)<=0)&&l.setUnreadNotificationCount(Rt.NotificationCountType.Highlight,c.unread_notifications.highlight_count)),c.timeline=c.timeline||{},c.isBrandNewRoom)l.getLiveTimeline().setPaginationToken(c.timeline.prev_batch,ng.EventTimeline.BACKWARDS);else if(c.timeline.limited){let k=!0;for(let P=a.length-1;P>=0;P--){const S=a[P].getId();if(l.getTimelineForEvent(S)){ke("Already have event "+S+" in limited sync - not resetting"),k=!1,a.splice(0,P);break}}k&&(this.deregisterStateListeners(l),l.resetLiveTimeline(c.timeline.prev_batch,this.opts.canResetEntireTimeline(l.roomId)?null:e.oldSyncToken),r.resetNotifTimelineSet(),this.registerStateListeners(l))}const[E,I]=this.client.partitionThreadedEvents(a);this.processRoomEvents(l,u,E,e.fromCache),await this.processThreadEvents(l,I,!1),c.summary&&l.setSummary(c.summary),l.addEphemeralEvents(g),l.addAccountData(m),l.recalculate(),c.isBrandNewRoom&&(r.store.storeRoom(l),r.emit(Fe.ClientEvent.Room,l)),this.processEventsForNotifs(l,a);const w=async k=>{if(r.emit(Fe.ClientEvent.Event,k),k.isState()&&k.getType()=="m.room.encryption"&&this.opts.crypto&&await this.opts.crypto.onCryptoEvent(k),k.isState()&&k.getType()==="im.vector.user_status"){let P=r.store.getUser(k.getStateKey());P?P.unstable_updateStatusMessage(k):(P=Rc(r,k.getStateKey()),P.unstable_updateStatusMessage(k),r.store.storeUser(P))}};await Bs.promiseMapSeries(u,w),await Bs.promiseMapSeries(E,w),await Bs.promiseMapSeries(I,w),g.forEach(function(k){r.emit(Fe.ClientEvent.Event,k)}),m.forEach(function(k){r.emit(Fe.ClientEvent.Event,k)}),l.updateMyMembership("join"),l.decryptCriticalEvents()}),o.forEach(async c=>{const l=c.room,u=this.mapSyncEventsFormat(c.state,l),a=this.mapSyncEventsFormat(c.timeline,l),g=this.mapSyncEventsFormat(c.account_data),[m,p]=this.client.partitionThreadedEvents(a);this.processRoomEvents(l,u,m),await this.processThreadEvents(l,p,!1),l.addAccountData(g),l.recalculate(),c.isBrandNewRoom&&(r.store.storeRoom(l),r.emit(Fe.ClientEvent.Room,l)),this.processEventsForNotifs(l,a),u.forEach(function(E){r.emit(Fe.ClientEvent.Event,E)}),m.forEach(function(E){r.emit(Fe.ClientEvent.Event,E)}),p.forEach(function(E){r.emit(Fe.ClientEvent.Event,E)}),g.forEach(function(E){r.emit(Fe.ClientEvent.Event,E)}),l.updateMyMembership("leave")}),e.oldSyncToken&&this.notifEvents.length&&(this.notifEvents.sort(function(c,l){return c.getTs()-l.getTs()}),this.notifEvents.forEach(function(c){r.getNotifTimelineSet().addLiveEvent(c)})),t.device_lists&&this.opts.crypto&&await this.opts.crypto.handleDeviceListChanges(e,t.device_lists),this.opts.crypto&&t.device_one_time_keys_count){const c=t.device_one_time_keys_count.signed_curve25519||0;this.opts.crypto.updateOneTimeKeyCount(c)}if(this.opts.crypto&&(t.device_unused_fallback_key_types||t["org.matrix.msc2732.device_unused_fallback_key_types"])){const c=t.device_unused_fallback_key_types||t["org.matrix.msc2732.device_unused_fallback_key_types"];this.opts.crypto.setNeedsNewFallback(c instanceof Array&&!c.includes("signed_curve25519"))}}startKeepAlives(e){return e===void 0&&(e=2e3+Math.floor(Math.random()*5e3)),this.keepAliveTimer!==null&&clearTimeout(this.keepAliveTimer),e>0?this.keepAliveTimer=setTimeout(this.pokeKeepAlive.bind(this),e):this.pokeKeepAlive(),this.connectionReturnedDefer||(this.connectionReturnedDefer=Bs.defer()),this.connectionReturnedDefer.promise}pokeKeepAlive(e=!1){const t=()=>{clearTimeout(this.keepAliveTimer),this.connectionReturnedDefer&&(this.connectionReturnedDefer.resolve(e),this.connectionReturnedDefer=null)};this.client.http.request(void 0,bc.Method.Get,"/_matrix/client/versions",void 0,void 0,{prefix:"",localTimeoutMs:15*1e3}).then(()=>{t()},r=>{r.httpStatus==400||r.httpStatus==404?this.keepAliveTimer=setTimeout(t,2e3):(e=!0,this.keepAliveTimer=setTimeout(this.pokeKeepAlive.bind(this,e),5e3+Math.floor(Math.random()*5e3)),this.updateSyncState(Ot.Error,{error:r}))})}processGroupSyncEntry(e,t){for(const r of Object.keys(e)){const i=e[r];let s=this.client.store.getGroup(r);const o=s===null;s===null&&(s=this.createGroup(r)),i.profile&&s.setProfile(i.profile.name,i.profile.avatar_url),i.inviter&&s.setInviter({userId:i.inviter}),s.setMyMembership(t),o&&this.client.emit(Fe.ClientEvent.Group,s)}}mapSyncResponseToRoomArray(e){const t=this.client;return Object.keys(e).map(r=>{const i=e[r];let s=t.store.getRoom(r),o=!1;return s||(s=this.createRoom(r),o=!0),i.room=s,i.isBrandNewRoom=o,i})}mapSyncEventsFormat(e,t,r=!0){if(!e||!Array.isArray(e.events))return[];const i=this.client.getEventMapper({decrypt:r});return e.events.map(function(s){return t&&(s.room_id=t.roomId),i(s)})}resolveInvites(e){if(!e||!this.opts.resolveInvitesToProfiles)return;const t=this.client;e.getMembersWithMembership("invite").forEach(function(r){if(r._requestedProfileInfo)return;r._requestedProfileInfo=!0;const i=t.getUser(r.userId);let s;i?s=Promise.resolve({avatar_url:i.avatarUrl,displayname:i.displayName}):s=t.getProfileInfo(r.userId),s.then(function(o){const c=r.events.member;c.getContent().membership==="invite"&&(c.getContent().avatar_url=o.avatar_url,c.getContent().displayname=o.displayname,r.setMembershipEvent(c,e.currentState))},function(o){})})}processRoomEvents(e,t,r,i=!1){const s=e.getLiveTimeline(),o=s.getEvents().length==0;if(o){for(const c of t)this.client.getPushActionsForEvent(c);s.initialiseState(t)}this.resolveInvites(e),e.recalculate(),o||(e.oldState.setStateEvents(t||[]),e.currentState.setStateEvents(t||[])),e.addLiveEvents(r||[],null,i)}processThreadEvents(e,t,r){return this.client.processThreadEvents(e,t,r)}processEventsForNotifs(e,t){if(this.client.getNotifTimelineSet())for(let r=0;r<t.length;r++){const i=this.client.getPushActionsForEvent(t[r]);i&&i.notify&&i.tweaks&&i.tweaks.highlight&&this.notifEvents.push(t[r])}}getGuestFilter(){return"{}"}updateSyncState(e,t){const r=this.syncState;this.syncState=e,this.syncStateData=t,this.client.emit(Fe.ClientEvent.Sync,this.syncState,r,t)}}Ui.SyncApi=_O;function Rc(n,e){const t=new Ls.User(e);return n.reEmitter.reEmit(t,[Ls.UserEvent.AvatarUrl,Ls.UserEvent.DisplayName,Ls.UserEvent.Presence,Ls.UserEvent.CurrentlyActive,Ls.UserEvent.LastPresenceTs]),t}var jl={},EO=V.exports;Object.defineProperty(jl,"__esModule",{value:!0});jl.StubStore=void 0;var ag=EO(Y.exports);class SO{constructor(){(0,ag.default)(this,"accountData",{}),(0,ag.default)(this,"fromToken",null)}isNewlyCreated(){return Promise.resolve(!0)}getSyncToken(){return this.fromToken}setSyncToken(e){this.fromToken=e}storeGroup(e){}getGroup(e){return null}getGroups(){return[]}storeRoom(e){}getRoom(e){return null}getRooms(){return[]}removeRoom(e){}getRoomSummaries(){return[]}storeUser(e){}getUser(e){return null}getUsers(){return[]}scrollback(e,t){return[]}storeEvents(e,t,r,i){}storeFilter(e){}getFilter(e,t){return null}getFilterIdByName(e){return null}setFilterIdByName(e,t){}storeAccountDataEvents(e){}getAccountData(e){}setSyncData(e){return Promise.resolve()}wantsSave(){return!1}save(){}startup(){return Promise.resolve()}getSavedSync(){return Promise.resolve(null)}getSavedSyncToken(){return Promise.resolve(null)}deleteAllData(){return Promise.resolve()}getOutOfBandMembers(){return Promise.resolve(null)}setOutOfBandMembers(e,t){return Promise.resolve()}clearOutOfBandMembers(){return Promise.resolve()}getClientOptions(){return Promise.resolve({})}storeClientOptions(e){return Promise.resolve()}}jl.StubStore=SO;var Te={},oi={};Object.defineProperty(oi,"__esModule",{value:!0});oi.randomLowercaseString=RO;oi.randomString=wO;oi.randomUppercaseString=IO;const Uv="abcdefghijklmnopqrstuvwxyz",$v="ABCDEFGHIJKLMNOPQRSTUVWXYZ",bO="0123456789";function wO(n){return cf(n,$v+Uv+bO)}function RO(n){return cf(n,Uv)}function IO(n){return cf(n,$v)}function cf(n,e){let t="";for(let r=0;r<n;++r)t+=e.charAt(Math.floor(Math.random()*e.length));return t}var ps={};Object.defineProperty(ps,"__esModule",{value:!0});ps.SDPStreamMetadataPurpose=ps.SDPStreamMetadataKey=void 0;const TO="org.matrix.msc3077.sdp_stream_metadata";ps.SDPStreamMetadataKey=TO;let gh;ps.SDPStreamMetadataPurpose=gh;(function(n){n.Usermedia="m.usermedia",n.Screenshare="m.screenshare"})(gh||(ps.SDPStreamMetadataPurpose=gh={}));var Qn={},OO=V.exports;Object.defineProperty(Qn,"__esModule",{value:!0});Qn.SPEAKING_THRESHOLD=Qn.CallFeedEvent=Qn.CallFeed=void 0;var ft=OO(Y.exports),kO=qe;const CO=200,xv=-60;Qn.SPEAKING_THRESHOLD=xv;const PO=8;let yn;Qn.CallFeedEvent=yn;(function(n){n.NewStream="new_stream",n.MuteStateChanged="mute_state_changed",n.VolumeChanged="volume_changed",n.Speaking="speaking"})(yn||(Qn.CallFeedEvent=yn={}));class MO extends kO.TypedEventEmitter{constructor(e){super();(0,ft.default)(this,"stream",void 0),(0,ft.default)(this,"userId",void 0),(0,ft.default)(this,"purpose",void 0),(0,ft.default)(this,"speakingVolumeSamples",void 0),(0,ft.default)(this,"client",void 0),(0,ft.default)(this,"roomId",void 0),(0,ft.default)(this,"audioMuted",void 0),(0,ft.default)(this,"videoMuted",void 0),(0,ft.default)(this,"measuringVolumeActivity",!1),(0,ft.default)(this,"audioContext",void 0),(0,ft.default)(this,"analyser",void 0),(0,ft.default)(this,"frequencyBinCount",void 0),(0,ft.default)(this,"speakingThreshold",xv),(0,ft.default)(this,"speaking",!1),(0,ft.default)(this,"volumeLooperTimeout",void 0),(0,ft.default)(this,"onAddTrack",()=>{this.emit(yn.NewStream,this.stream)}),(0,ft.default)(this,"volumeLooper",()=>{if(!this.analyser||!this.measuringVolumeActivity)return;this.analyser.getFloatFrequencyData(this.frequencyBinCount);let t=-1/0;for(let i=0;i<this.frequencyBinCount.length;i++)this.frequencyBinCount[i]>t&&(t=this.frequencyBinCount[i]);this.speakingVolumeSamples.shift(),this.speakingVolumeSamples.push(t),this.emit(yn.VolumeChanged,t);let r=!1;for(let i=0;i<this.speakingVolumeSamples.length;i++)if(this.speakingVolumeSamples[i]>this.speakingThreshold){r=!0;break}this.speaking!==r&&(this.speaking=r,this.emit(yn.Speaking,this.speaking)),this.volumeLooperTimeout=setTimeout(this.volumeLooper,CO)}),this.client=e.client,this.roomId=e.roomId,this.userId=e.userId,this.purpose=e.purpose,this.audioMuted=e.audioMuted,this.videoMuted=e.videoMuted,this.speakingVolumeSamples=new Array(PO).fill(-1/0),this.updateStream(null,e.stream),this.hasAudioTrack&&this.initVolumeMeasuring()}get hasAudioTrack(){return this.stream.getAudioTracks().length>0}updateStream(e,t){t!==e&&(e&&(e.removeEventListener("addtrack",this.onAddTrack),this.measureVolumeActivity(!1)),t&&(this.stream=t,t.addEventListener("addtrack",this.onAddTrack),this.hasAudioTrack?this.initVolumeMeasuring():this.measureVolumeActivity(!1)),this.emit(yn.NewStream,this.stream))}initVolumeMeasuring(){const e=window.AudioContext||window.webkitAudioContext;if(!this.hasAudioTrack||!e)return;this.audioContext=new e,this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=512,this.analyser.smoothingTimeConstant=.1,this.audioContext.createMediaStreamSource(this.stream).connect(this.analyser),this.frequencyBinCount=new Float32Array(this.analyser.frequencyBinCount)}getMember(){return this.client.getRoom(this.roomId).getMember(this.userId)}isLocal(){return this.userId===this.client.getUserId()}isAudioMuted(){return this.stream.getAudioTracks().length===0||this.audioMuted}isVideoMuted(){return this.stream.getVideoTracks().length===0||this.videoMuted}isSpeaking(){return this.speaking}setNewStream(e){this.updateStream(this.stream,e)}setAudioMuted(e){this.audioMuted=e,this.speakingVolumeSamples.fill(-1/0),this.emit(yn.MuteStateChanged,this.audioMuted,this.videoMuted)}setVideoMuted(e){this.videoMuted=e,this.emit(yn.MuteStateChanged,this.audioMuted,this.videoMuted)}measureVolumeActivity(e){if(e){if(!this.audioContext||!this.analyser||!this.frequencyBinCount||!this.hasAudioTrack)return;this.measuringVolumeActivity=!0,this.volumeLooper()}else this.measuringVolumeActivity=!1,this.speakingVolumeSamples.fill(-1/0),this.emit(yn.VolumeChanged,-1/0)}setSpeakingThreshold(e){this.speakingThreshold=e}dispose(){clearTimeout(this.volumeLooperTimeout)}}Qn.CallFeed=MO;var AO=V.exports;Object.defineProperty(Te,"__esModule",{value:!0});Te.MatrixCall=Te.CallType=Te.CallState=Te.CallParty=Te.CallEvent=Te.CallErrorCode=Te.CallError=Te.CallDirection=void 0;Te.createNewMatrixCall=NO;var te=AO(Y.exports),K=ie,Vu=UO(G),Cr=ne,DO=oi,We=ps,Xo=Qn,cg=qe;function Nv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Nv=function(r){return r?t:e})(n)}function UO(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=Nv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}let he;Te.CallState=he;(function(n){n.Fledgling="fledgling",n.InviteSent="invite_sent",n.WaitLocalMedia="wait_local_media",n.CreateOffer="create_offer",n.CreateAnswer="create_answer",n.Connecting="connecting",n.Connected="connected",n.Ringing="ringing",n.Ended="ended"})(he||(Te.CallState=he={}));let Fa;Te.CallType=Fa;(function(n){n.Voice="voice",n.Video="video"})(Fa||(Te.CallType=Fa={}));let Gn;Te.CallDirection=Gn;(function(n){n.Inbound="inbound",n.Outbound="outbound"})(Gn||(Te.CallDirection=Gn={}));let He;Te.CallParty=He;(function(n){n.Local="local",n.Remote="remote"})(He||(Te.CallParty=He={}));let Ce;Te.CallEvent=Ce;(function(n){n.Hangup="hangup",n.State="state",n.Error="error",n.Replaced="replaced",n.LocalHoldUnhold="local_hold_unhold",n.RemoteHoldUnhold="remote_hold_unhold",n.HoldUnhold="hold_unhold",n.FeedsChanged="feeds_changed",n.AssertedIdentityChanged="asserted_identity_changed",n.LengthChanged="length_changed",n.DataChannel="datachannel"})(Ce||(Te.CallEvent=Ce={}));let ge;Te.CallErrorCode=ge;(function(n){n.UserHangup="user_hangup",n.LocalOfferFailed="local_offer_failed",n.NoUserMedia="no_user_media",n.UnknownDevices="unknown_devices",n.SendInvite="send_invite",n.CreateAnswer="create_answer",n.SendAnswer="send_answer",n.SetRemoteDescription="set_remote_description",n.SetLocalDescription="set_local_description",n.AnsweredElsewhere="answered_elsewhere",n.IceFailed="ice_failed",n.InviteTimeout="invite_timeout",n.Replaced="replaced",n.SignallingFailed="signalling_timeout",n.UserBusy="user_busy",n.Transfered="transferred"})(ge||(Te.CallErrorCode=ge={}));const $O=1,xO="stun:turn.matrix.org",lg=6e4;class zi extends Error{constructor(e,t,r){super(t+": "+r);(0,te.default)(this,"code",void 0),this.code=e}}Te.CallError=zi;function Ks(){return Date.now().toString()+(0,DO.randomString)(16)}class Lv extends cg.TypedEventEmitter{constructor(e){super();(0,te.default)(this,"roomId",void 0),(0,te.default)(this,"callId",void 0),(0,te.default)(this,"state",he.Fledgling),(0,te.default)(this,"hangupParty",void 0),(0,te.default)(this,"hangupReason",void 0),(0,te.default)(this,"direction",void 0),(0,te.default)(this,"ourPartyId",void 0),(0,te.default)(this,"client",void 0),(0,te.default)(this,"forceTURN",void 0),(0,te.default)(this,"turnServers",void 0),(0,te.default)(this,"candidateSendQueue",[]),(0,te.default)(this,"candidateSendTries",0),(0,te.default)(this,"sentEndOfCandidates",!1),(0,te.default)(this,"peerConn",void 0),(0,te.default)(this,"feeds",[]),(0,te.default)(this,"usermediaSenders",[]),(0,te.default)(this,"screensharingSenders",[]),(0,te.default)(this,"inviteOrAnswerSent",!1),(0,te.default)(this,"waitForLocalAVStream",void 0),(0,te.default)(this,"successor",void 0),(0,te.default)(this,"opponentMember",void 0),(0,te.default)(this,"opponentVersion",void 0),(0,te.default)(this,"opponentPartyId",void 0),(0,te.default)(this,"opponentCaps",void 0),(0,te.default)(this,"inviteTimeout",void 0),(0,te.default)(this,"remoteOnHold",!1),(0,te.default)(this,"callStatsAtEnd",void 0),(0,te.default)(this,"makingOffer",!1),(0,te.default)(this,"ignoreOffer",void 0),(0,te.default)(this,"remoteCandidateBuffer",new Map),(0,te.default)(this,"remoteAssertedIdentity",void 0),(0,te.default)(this,"remoteSDPStreamMetadata",void 0),(0,te.default)(this,"callLengthInterval",void 0),(0,te.default)(this,"callLength",0),(0,te.default)(this,"gotLocalIceCandidate",t=>{if(t.candidate){if(K.logger.debug("Call "+this.callId+" got local ICE "+t.candidate.sdpMid+" candidate: "+t.candidate.candidate),this.callHasEnded())return;(t.candidate.candidate!==""||!this.sentEndOfCandidates)&&(this.queueCandidate(t.candidate),t.candidate.candidate===""&&(this.sentEndOfCandidates=!0))}}),(0,te.default)(this,"onIceGatheringStateChange",t=>{if(K.logger.debug("ice gathering state changed to "+this.peerConn.iceGatheringState),this.peerConn.iceGatheringState==="complete"&&!this.sentEndOfCandidates){const r={candidate:""};this.queueCandidate(r),this.sentEndOfCandidates=!0}}),(0,te.default)(this,"gotLocalOffer",async t=>{if(K.logger.debug("Created offer: ",t),this.callHasEnded()){K.logger.debug("Ignoring newly created offer on call ID "+this.callId+" because the call has ended");return}try{await this.peerConn.setLocalDescription(t)}catch(s){K.logger.debug("Error setting local description!",s),this.terminate(He.Local,ge.SetLocalDescription,!0);return}if(this.peerConn.iceGatheringState==="gathering"&&await new Promise(s=>{setTimeout(s,200)}),this.callHasEnded())return;const r=this.state===he.CreateOffer?Cr.EventType.CallInvite:Cr.EventType.CallNegotiate,i={lifetime:lg};this.state===he.CreateOffer?i.offer=this.peerConn.localDescription:i.description=this.peerConn.localDescription,i.capabilities={"m.call.transferee":this.client.supportsCallTransfer,"m.call.dtmf":!1},i[We.SDPStreamMetadataKey]=this.getLocalSDPStreamMetadata(),K.logger.info(`Discarding ${this.candidateSendQueue.length} candidates that will be sent in offer`),this.candidateSendQueue=[];try{await this.sendVoipEvent(r,i)}catch(s){K.logger.error("Failed to send invite",s),s.event&&this.client.cancelPendingEvent(s.event);let o=ge.SignallingFailed,c="Signalling failed";this.state===he.CreateOffer&&(o=ge.SendInvite,c="Failed to send invite"),s.name=="UnknownDeviceError"&&(o=ge.UnknownDevices,c="Unknown devices present in the room"),this.emit(Ce.Error,new zi(o,c,s)),this.terminate(He.Local,o,!1);return}this.sendCandidateQueue(),this.state===he.CreateOffer&&(this.inviteOrAnswerSent=!0,this.setState(he.InviteSent),this.inviteTimeout=setTimeout(()=>{this.inviteTimeout=null,this.state===he.InviteSent&&this.hangup(ge.InviteTimeout,!1)},lg))}),(0,te.default)(this,"getLocalOfferFailed",t=>{K.logger.error("Failed to get local offer",t),this.emit(Ce.Error,new zi(ge.LocalOfferFailed,"Failed to get local offer!",t)),this.terminate(He.Local,ge.LocalOfferFailed,!1)}),(0,te.default)(this,"getUserMediaFailed",t=>{if(this.successor){this.successor.getUserMediaFailed(t);return}K.logger.warn("Failed to get user media - ending call",t),this.emit(Ce.Error,new zi(ge.NoUserMedia,"Couldn't start capturing media! Is your microphone set up and does this app have permission?",t)),this.terminate(He.Local,ge.NoUserMedia,!1)}),(0,te.default)(this,"onIceConnectionStateChanged",()=>{this.callHasEnded()||(K.logger.debug("Call ID "+this.callId+": ICE connection state changed to: "+this.peerConn.iceConnectionState),this.peerConn.iceConnectionState=="connected"?(this.setState(he.Connected),this.callLengthInterval||(this.callLengthInterval=setInterval(()=>{this.callLength++,this.emit(Ce.LengthChanged,this.callLength)},1e3))):this.peerConn.iceConnectionState=="failed"&&this.hangup(ge.IceFailed,!1))}),(0,te.default)(this,"onSignallingStateChanged",()=>{K.logger.debug("call "+this.callId+": Signalling state changed to: "+this.peerConn.signalingState)}),(0,te.default)(this,"onTrack",t=>{if(t.streams.length===0){K.logger.warn(`Streamless ${t.track.kind} found: ignoring.`);return}const r=t.streams[0];this.pushRemoteFeed(r),r.addEventListener("removetrack",()=>{r.getTracks().length===0&&(K.logger.info(`Stream ID ${r.id} has no tracks remaining - removing`),this.deleteFeedByStream(r))})}),(0,te.default)(this,"onDataChannel",t=>{this.emit(Ce.DataChannel,t.channel)}),(0,te.default)(this,"onNegotiationNeeded",async()=>{if(K.logger.info("Negotiation is needed!"),this.state!==he.CreateOffer&&this.opponentVersion===0){K.logger.info("Opponent does not support renegotiation: ignoring negotiationneeded event");return}this.makingOffer=!0;try{this.getRidOfRTXCodecs();const t=await this.peerConn.createOffer();await this.gotLocalOffer(t)}catch(t){this.getLocalOfferFailed(t);return}finally{this.makingOffer=!1}}),(0,te.default)(this,"onHangupReceived",t=>{K.logger.debug("Hangup received for call ID "+this.callId),this.partyIdMatches(t)||this.state===he.Ringing?this.terminate(He.Remote,t.reason||ge.UserHangup,!0):K.logger.info(`Ignoring message from party ID ${t.party_id}: our partner is ${this.opponentPartyId}`)}),(0,te.default)(this,"onRejectReceived",t=>{K.logger.debug("Reject received for call ID "+this.callId),[he.InviteSent,he.Ringing].includes(this.state)||this.state===he.Fledgling&&this.direction===Gn.Inbound?this.terminate(He.Remote,t.reason||ge.UserHangup,!0):K.logger.debug(`Call is in state: ${this.state}: ignoring reject`)}),(0,te.default)(this,"onAnsweredElsewhere",t=>{K.logger.debug("Call ID "+this.callId+" answered elsewhere"),this.terminate(He.Remote,ge.AnsweredElsewhere,!0)}),this.roomId=e.roomId,this.client=e.client,this.forceTURN=e.forceTURN,this.ourPartyId=this.client.deviceId,this.turnServers=e.turnServers||[],this.turnServers.length===0&&this.client.isFallbackICEServerAllowed()&&this.turnServers.push({urls:[xO]});for(const t of this.turnServers)Vu.checkObjectHasKeys(t,["urls"]);this.callId=Ks()}async placeVoiceCall(){await this.placeCall(!0,!1)}async placeVideoCall(){await this.placeCall(!0,!0)}createDataChannel(e,t){const r=this.peerConn.createDataChannel(e,t);return this.emit(Ce.DataChannel,r),K.logger.debug("created data channel"),r}getOpponentMember(){return this.opponentMember}opponentCanBeTransferred(){return Boolean(this.opponentCaps&&this.opponentCaps["m.call.transferee"])}opponentSupportsDTMF(){return Boolean(this.opponentCaps&&this.opponentCaps["m.call.dtmf"])}getRemoteAssertedIdentity(){return this.remoteAssertedIdentity}get type(){return this.hasLocalUserMediaVideoTrack||this.hasRemoteUserMediaVideoTrack?Fa.Video:Fa.Voice}get hasLocalUserMediaVideoTrack(){var e;return((e=this.localUsermediaStream)===null||e===void 0?void 0:e.getVideoTracks().length)>0}get hasRemoteUserMediaVideoTrack(){return this.getRemoteFeeds().some(e=>e.purpose===We.SDPStreamMetadataPurpose.Usermedia&&e.stream.getVideoTracks().length>0)}get hasLocalUserMediaAudioTrack(){var e;return((e=this.localUsermediaStream)===null||e===void 0?void 0:e.getAudioTracks().length)>0}get hasRemoteUserMediaAudioTrack(){return this.getRemoteFeeds().some(e=>e.purpose===We.SDPStreamMetadataPurpose.Usermedia&&e.stream.getAudioTracks().length>0)}get localUsermediaFeed(){return this.getLocalFeeds().find(e=>e.purpose===We.SDPStreamMetadataPurpose.Usermedia)}get localScreensharingFeed(){return this.getLocalFeeds().find(e=>e.purpose===We.SDPStreamMetadataPurpose.Screenshare)}get localUsermediaStream(){var e;return(e=this.localUsermediaFeed)===null||e===void 0?void 0:e.stream}get localScreensharingStream(){var e;return(e=this.localScreensharingFeed)===null||e===void 0?void 0:e.stream}get remoteUsermediaFeed(){return this.getRemoteFeeds().find(e=>e.purpose===We.SDPStreamMetadataPurpose.Usermedia)}get remoteScreensharingFeed(){return this.getRemoteFeeds().find(e=>e.purpose===We.SDPStreamMetadataPurpose.Screenshare)}get remoteUsermediaStream(){var e;return(e=this.remoteUsermediaFeed)===null||e===void 0?void 0:e.stream}get remoteScreensharingStream(){var e;return(e=this.remoteScreensharingFeed)===null||e===void 0?void 0:e.stream}getFeedByStreamId(e){return this.getFeeds().find(t=>t.stream.id===e)}getFeeds(){return this.feeds}getLocalFeeds(){return this.feeds.filter(e=>e.isLocal())}getRemoteFeeds(){return this.feeds.filter(e=>!e.isLocal())}getLocalSDPStreamMetadata(){const e={};for(const t of this.getLocalFeeds())e[t.stream.id]={purpose:t.purpose,audio_muted:t.isAudioMuted(),video_muted:t.isVideoMuted()};return K.logger.debug("Got local SDPStreamMetadata",e),e}noIncomingFeeds(){return!this.feeds.some(e=>!e.isLocal())}pushRemoteFeed(e){if(!this.opponentSupportsSDPStreamMetadata()){this.pushRemoteFeedWithoutMetadata(e);return}const t=this.getOpponentMember().userId,r=this.remoteSDPStreamMetadata[e.id].purpose,i=this.remoteSDPStreamMetadata[e.id].audio_muted,s=this.remoteSDPStreamMetadata[e.id].video_muted;if(!r){K.logger.warn(`Ignoring stream with id ${e.id} because we didn't get any metadata about it`);return}const o=this.getRemoteFeeds().find(c=>c.purpose===r);o?o.setNewStream(e):(this.feeds.push(new Xo.CallFeed({client:this.client,roomId:this.roomId,userId:t,stream:e,purpose:r,audioMuted:i,videoMuted:s})),this.emit(Ce.FeedsChanged,this.feeds)),K.logger.info(`Pushed remote stream (id="${e.id}", active="${e.active}", purpose=${r})`)}pushRemoteFeedWithoutMetadata(e){var t;const r=this.getOpponentMember().userId,i=We.SDPStreamMetadataPurpose.Usermedia,s=(t=this.feeds.find(c=>!c.isLocal()))===null||t===void 0?void 0:t.stream;if(s&&e.id!==s.id){K.logger.warn(`Ignoring new stream ID ${e.id}: we already have stream ID ${s.id}`);return}const o=this.getFeedByStreamId(e.id);o?o.setNewStream(e):(this.feeds.push(new Xo.CallFeed({client:this.client,roomId:this.roomId,audioMuted:!1,videoMuted:!1,userId:r,stream:e,purpose:i})),this.emit(Ce.FeedsChanged,this.feeds)),K.logger.info(`Pushed remote stream (id="${e.id}", active="${e.active}")`)}pushNewLocalFeed(e,t,r=!0){const i=this.client.getUserId();Si(e.getAudioTracks(),!0),Si(e.getVideoTracks(),!0);const s=this.getLocalFeeds().find(o=>o.purpose===t);s?s.setNewStream(e):(this.pushLocalFeed(new Xo.CallFeed({client:this.client,roomId:this.roomId,audioMuted:!1,videoMuted:!1,userId:i,stream:e,purpose:t}),r),this.emit(Ce.FeedsChanged,this.feeds))}pushLocalFeed(e,t=!0){if(this.feeds.push(e),t){const r=e.purpose===We.SDPStreamMetadataPurpose.Usermedia?this.usermediaSenders:this.screensharingSenders;r.splice(0,r.length);for(const i of e.stream.getTracks())K.logger.info(`Adding track (id="${i.id}", kind="${i.kind}", streamId="${e.stream.id}", streamPurpose="${e.purpose}", enabled=${i.enabled}) to peer connection`),r.push(this.peerConn.addTrack(i,e.stream))}K.logger.info(`Pushed local stream (id="${e.stream.id}", active="${e.stream.active}", purpose="${e.purpose}")`),this.emit(Ce.FeedsChanged,this.feeds)}removeLocalFeed(e){const t=e.purpose===We.SDPStreamMetadataPurpose.Usermedia?this.usermediaSenders:this.screensharingSenders;for(const r of t)this.peerConn.removeTrack(r);t.splice(0,t.length),this.deleteFeedByStream(e.stream)}deleteAllFeeds(){for(const e of this.feeds)e.dispose();this.feeds=[],this.emit(Ce.FeedsChanged,this.feeds)}deleteFeedByStream(e){K.logger.debug(`Removing feed with stream id ${e.id}`);const t=this.getFeedByStreamId(e.id);if(!t){K.logger.warn(`Didn't find the feed with stream id ${e.id} to delete`);return}t.dispose(),this.feeds.splice(this.feeds.indexOf(t),1),this.emit(Ce.FeedsChanged,this.feeds)}async getCurrentCallStats(){return this.callHasEnded()?this.callStatsAtEnd:this.collectCallStats()}async collectCallStats(){if(!this.peerConn)return;const e=await this.peerConn.getStats(),t=[];for(const r of e)t.push(r[1]);return t}async initWithInvite(e){var t;const r=e.getContent();this.direction=Gn.Inbound,await this.client.checkTurnServers()||K.logger.warn("Failed to get TURN credentials! Proceeding with call anyway...");const s=r[We.SDPStreamMetadataKey];s?this.updateRemoteSDPStreamMetadata(s):K.logger.debug("Did not get any SDPStreamMetadata! Can not send/receive multiple streams"),this.peerConn=this.createPeerConnection(),this.chooseOpponent(e);try{await this.peerConn.setRemoteDescription(r.offer),await this.addBufferedIceCandidates()}catch(c){K.logger.debug("Failed to set remote description",c),this.terminate(He.Local,ge.SetRemoteDescription,!1);return}const o=(t=this.feeds.find(c=>!c.isLocal()))===null||t===void 0?void 0:t.stream;if(!o||o.getTracks().length===0){K.logger.error("No remote stream or no tracks after setting remote description!"),this.terminate(He.Local,ge.SetRemoteDescription,!1);return}this.setState(he.Ringing),e.getLocalAge()&&setTimeout(()=>{this.state==he.Ringing&&(K.logger.debug("Call invite has expired. Hanging up."),this.hangupParty=He.Remote,this.setState(he.Ended),this.stopAllMedia(),this.peerConn.signalingState!="closed"&&this.peerConn.close(),this.emit(Ce.Hangup))},r.lifetime-e.getLocalAge())}initWithHangup(e){this.setState(he.Ended)}shouldAnswerWithMediaType(e,t,r){return e&&!t?(K.logger.warn(`Unable to answer with ${r} because the other side isn't sending it either.`),!1):!Vu.isNullOrUndefined(e)&&e!==t&&!this.opponentSupportsSDPStreamMetadata()?(K.logger.warn(`Unable to answer with ${r}=${e} because the other side doesn't support it. Answering with ${r}=${t}.`),t):e!=null?e:t}async answer(e,t){if(!this.inviteOrAnswerSent){if(e===!1&&t===!1)throw new Error("You CANNOT answer a call without media");if(K.logger.debug(`Answering call ${this.callId}`),!this.localUsermediaStream&&!this.waitForLocalAVStream){const r=this.state,i=this.shouldAnswerWithMediaType(e,this.hasRemoteUserMediaAudioTrack,"audio"),s=this.shouldAnswerWithMediaType(t,this.hasRemoteUserMediaVideoTrack,"video");this.setState(he.WaitLocalMedia),this.waitForLocalAVStream=!0;try{const o=await this.client.getMediaHandler().getUserMediaStream(i,s);this.waitForLocalAVStream=!1;const l=[new Xo.CallFeed({client:this.client,roomId:this.roomId,userId:this.client.getUserId(),stream:o,purpose:We.SDPStreamMetadataPurpose.Usermedia,audioMuted:!1,videoMuted:!1})];this.localScreensharingFeed&&l.push(this.localScreensharingFeed),this.answerWithCallFeeds(l)}catch(o){if(s)K.logger.warn("Failed to getUserMedia(), trying to getUserMedia() without video"),this.setState(r),this.waitForLocalAVStream=!1,await this.answer(i,!1);else{this.getUserMediaFailed(o);return}}}else this.waitForLocalAVStream&&this.setState(he.WaitLocalMedia)}}answerWithCallFeeds(e){this.inviteOrAnswerSent||(K.logger.debug(`Answering call ${this.callId}`),this.gotCallFeedsForAnswer(e))}replacedBy(e){this.state===he.WaitLocalMedia?(K.logger.debug("Telling new call to wait for local media"),e.waitForLocalAVStream=!0):[he.CreateOffer,he.InviteSent].includes(this.state)&&(K.logger.debug("Handing local stream to new call"),e.gotCallFeedsForAnswer(this.getLocalFeeds())),this.successor=e,this.emit(Ce.Replaced,e),this.hangup(ge.Replaced,!0)}hangup(e,t){if(this.callHasEnded()||(K.logger.debug("Ending call "+this.callId),this.terminate(He.Local,e,!t),this.state===he.WaitLocalMedia))return;const r={};(this.opponentVersion&&this.opponentVersion>=1||e!==ge.UserHangup)&&(r.reason=e),this.sendVoipEvent(Cr.EventType.CallHangup,r)}reject(){if(this.state!==he.Ringing)throw Error("Call must be in 'ringing' state to reject!");if(this.opponentVersion<1){K.logger.info(`Opponent version is less than 1 (${this.opponentVersion}): sending hangup instead of reject`),this.hangup(ge.UserHangup,!0);return}K.logger.debug("Rejecting call: "+this.callId),this.terminate(He.Local,ge.UserHangup,!0),this.sendVoipEvent(Cr.EventType.CallReject,{})}async upgradeCall(e,t){if(!(!e&&!t)&&!!this.opponentSupportsSDPStreamMetadata())try{const r=e||this.hasLocalUserMediaAudioTrack,i=t||this.hasLocalUserMediaVideoTrack,s=await this.client.getMediaHandler().getUserMediaStream(r,i,!1);await this.updateLocalUsermediaStream(s,e,t)}catch(r){K.logger.error("Failed to upgrade the call",r),this.emit(Ce.Error,new zi(ge.NoUserMedia,"Failed to get camera access: ",r))}}opponentSupportsSDPStreamMetadata(){return Boolean(this.remoteSDPStreamMetadata)}isScreensharing(){return Boolean(this.localScreensharingStream)}async setScreensharingEnabled(e,t){if(e&&this.isScreensharing())return K.logger.warn("There is already a screensharing stream - there is nothing to do!"),!0;if(!e&&!this.isScreensharing())return K.logger.warn("There already isn't a screensharing stream - there is nothing to do!"),!1;if(!this.opponentSupportsSDPStreamMetadata())return await this.setScreensharingEnabledWithoutMetadataSupport(e,t);if(K.logger.debug(`Set screensharing enabled? ${e}`),e)try{const r=await this.client.getMediaHandler().getScreensharingStream(t);return r?(this.pushNewLocalFeed(r,We.SDPStreamMetadataPurpose.Screenshare),!0):!1}catch(r){return K.logger.error("Failed to get screen-sharing stream:",r),!1}else{for(const r of this.screensharingSenders)this.peerConn.removeTrack(r);return this.client.getMediaHandler().stopScreensharingStream(this.localScreensharingStream),this.deleteFeedByStream(this.localScreensharingStream),!1}}async setScreensharingEnabledWithoutMetadataSupport(e,t){if(K.logger.debug(`Set screensharing enabled? ${e} using replaceTrack()`),e)try{const r=await this.client.getMediaHandler().getScreensharingStream(t);if(!r)return!1;const i=r.getTracks().find(o=>o.kind==="video");return this.usermediaSenders.find(o=>{var c;return((c=o.track)===null||c===void 0?void 0:c.kind)==="video"}).replaceTrack(i),this.pushNewLocalFeed(r,We.SDPStreamMetadataPurpose.Screenshare,!1),!0}catch(r){return K.logger.error("Failed to get screen-sharing stream:",r),!1}else{const r=this.localUsermediaStream.getTracks().find(s=>s.kind==="video");return this.usermediaSenders.find(s=>{var o;return((o=s.track)===null||o===void 0?void 0:o.kind)==="video"}).replaceTrack(r),this.client.getMediaHandler().stopScreensharingStream(this.localScreensharingStream),this.deleteFeedByStream(this.localScreensharingStream),!1}}async updateLocalUsermediaStream(e,t=!1,r=!1){const i=this.localUsermediaFeed,s=t||!i.isAudioMuted()&&!this.remoteOnHold,o=r||!i.isVideoMuted()&&!this.remoteOnHold;Si(e.getAudioTracks(),s),Si(e.getVideoTracks(),o);for(const l of this.localUsermediaStream.getTracks())this.localUsermediaStream.removeTrack(l),l.stop();for(const l of e.getTracks())this.localUsermediaStream.addTrack(l);const c=[];for(const l of e.getTracks()){const u=this.usermediaSenders.find(g=>{var m;return((m=g.track)===null||m===void 0?void 0:m.kind)===l.kind});let a;u?(K.logger.info(`Replacing track (id="${l.id}", kind="${l.kind}", streamId="${e.id}", streamPurpose="${i.purpose}") to peer connection`),await u.replaceTrack(l),a=u):(K.logger.info(`Adding track (id="${l.id}", kind="${l.kind}", streamId="${e.id}", streamPurpose="${i.purpose}") to peer connection`),a=this.peerConn.addTrack(l,this.localUsermediaStream)),c.push(a)}this.usermediaSenders=c}async setLocalVideoMuted(e){var t;return await this.client.getMediaHandler().hasVideoDevice()?!this.hasLocalUserMediaVideoTrack&&!e?(await this.upgradeCall(!1,!0),this.isLocalVideoMuted()):((t=this.localUsermediaFeed)===null||t===void 0||t.setVideoMuted(e),this.updateMuteStatus(),this.isLocalVideoMuted()):this.isLocalVideoMuted()}isLocalVideoMuted(){var e;return(e=this.localUsermediaFeed)===null||e===void 0?void 0:e.isVideoMuted()}async setMicrophoneMuted(e){var t;return await this.client.getMediaHandler().hasAudioDevice()?!this.hasLocalUserMediaAudioTrack&&!e?(await this.upgradeCall(!0,!1),this.isMicrophoneMuted()):((t=this.localUsermediaFeed)===null||t===void 0||t.setAudioMuted(e),this.updateMuteStatus(),this.isMicrophoneMuted()):this.isMicrophoneMuted()}isMicrophoneMuted(){var e;return(e=this.localUsermediaFeed)===null||e===void 0?void 0:e.isAudioMuted()}isRemoteOnHold(){return this.remoteOnHold}setRemoteOnHold(e){if(this.isRemoteOnHold()!==e){this.remoteOnHold=e;for(const t of this.peerConn.getTransceivers())t.direction=e?"sendonly":"sendrecv";this.updateMuteStatus(),this.emit(Ce.RemoteHoldUnhold,this.remoteOnHold)}}isLocalOnHold(){if(this.state!==he.Connected)return!1;let e=!0;for(const t of this.peerConn.getTransceivers())["inactive","recvonly"].includes(t.currentDirection)||(e=!1);return e}sendDtmfDigit(e){for(const t of this.peerConn.getSenders())if(t.track.kind==="audio"&&t.dtmf){t.dtmf.insertDTMF(e);return}throw new Error("Unable to find a track to send DTMF on")}updateMuteStatus(){this.sendVoipEvent(Cr.EventType.CallSDPStreamMetadataChangedPrefix,{[We.SDPStreamMetadataKey]:this.getLocalSDPStreamMetadata()});const e=this.isMicrophoneMuted()||this.remoteOnHold,t=this.isLocalVideoMuted()||this.remoteOnHold;Si(this.localUsermediaStream.getAudioTracks(),!e),Si(this.localUsermediaStream.getVideoTracks(),!t)}gotCallFeedsForInvite(e){if(this.successor){this.successor.gotCallFeedsForAnswer(e);return}if(this.callHasEnded()){this.stopAllMedia();return}for(const t of e)this.pushLocalFeed(t);this.setState(he.CreateOffer),K.logger.debug("gotUserMediaForInvite")}async sendAnswer(){const e={answer:{sdp:this.peerConn.localDescription.sdp,type:this.peerConn.localDescription.type},[We.SDPStreamMetadataKey]:this.getLocalSDPStreamMetadata()};e.capabilities={"m.call.transferee":this.client.supportsCallTransfer,"m.call.dtmf":!1},K.logger.info(`Discarding ${this.candidateSendQueue.length} candidates that will be sent in answer`),this.candidateSendQueue=[];try{await this.sendVoipEvent(Cr.EventType.CallAnswer,e),this.inviteOrAnswerSent=!0}catch(t){this.setState(he.Ringing),this.client.cancelPendingEvent(t.event);let r=ge.SendAnswer,i="Failed to send answer";throw t.name=="UnknownDeviceError"&&(r=ge.UnknownDevices,i="Unknown devices present in the room"),this.emit(Ce.Error,new zi(r,i,t)),t}this.sendCandidateQueue()}async gotCallFeedsForAnswer(e){if(this.callHasEnded())return;this.waitForLocalAVStream=!1;for(const r of e)this.pushLocalFeed(r);this.setState(he.CreateAnswer);let t;try{this.getRidOfRTXCodecs(),t=await this.peerConn.createAnswer()}catch(r){K.logger.debug("Failed to create answer: ",r),this.terminate(He.Local,ge.CreateAnswer,!0);return}try{await this.peerConn.setLocalDescription(t),this.setState(he.Connecting),await new Promise(r=>{setTimeout(r,200)}),this.sendAnswer()}catch(r){K.logger.debug("Error setting local description!",r),this.terminate(He.Local,ge.SetLocalDescription,!0);return}}async onRemoteIceCandidatesReceived(e){if(this.callHasEnded())return;const t=e.getContent(),r=t.candidates;if(!r){K.logger.info("Ignoring candidates event with no candidates!");return}const i=t.version===0?null:t.party_id||null;if(this.opponentPartyId===void 0){K.logger.info(`Buffering ${r.length} candidates until we pick an opponent`);const s=this.remoteCandidateBuffer.get(i)||[];s.push(...r),this.remoteCandidateBuffer.set(i,s);return}if(!this.partyIdMatches(t)){K.logger.info(`Ignoring candidates from party ID ${t.party_id}: we have chosen party ID ${this.opponentPartyId}`);return}await this.addIceCandidates(r)}async onAnswerReceived(e){const t=e.getContent();if(K.logger.debug(`Got answer for call ID ${this.callId} from party ID ${t.party_id}`),this.callHasEnded()){K.logger.debug(`Ignoring answer because call ID ${this.callId} has ended`);return}if(this.opponentPartyId!==void 0){K.logger.info(`Ignoring answer from party ID ${t.party_id}: we already have an answer/reject from ${this.opponentPartyId}`);return}this.chooseOpponent(e),await this.addBufferedIceCandidates(),this.setState(he.Connecting);const r=t[We.SDPStreamMetadataKey];r?this.updateRemoteSDPStreamMetadata(r):K.logger.warn("Did not get any SDPStreamMetadata! Can not send/receive multiple streams");try{await this.peerConn.setRemoteDescription(t.answer)}catch(i){K.logger.debug("Failed to set remote description",i),this.terminate(He.Local,ge.SetRemoteDescription,!1);return}if(this.opponentPartyId!==null)try{await this.sendVoipEvent(Cr.EventType.CallSelectAnswer,{selected_party_id:this.opponentPartyId})}catch(i){K.logger.warn("Failed to send select_answer event",i)}}async onSelectAnswerReceived(e){if(this.direction!==Gn.Inbound){K.logger.warn("Got select_answer for an outbound call: ignoring");return}const t=e.getContent().selected_party_id;if(t==null){K.logger.warn("Got nonsensical select_answer with null/undefined selected_party_id: ignoring");return}t!==this.ourPartyId&&(K.logger.info(`Got select_answer for party ID ${t}: we are party ID ${this.ourPartyId}.`),this.terminate(He.Remote,ge.AnsweredElsewhere,!0))}async onNegotiateReceived(e){const t=e.getContent(),r=t.description;if(!r||!r.sdp||!r.type){K.logger.info("Ignoring invalid m.call.negotiate event");return}const i=this.direction===Gn.Inbound,s=r.type==="offer"&&(this.makingOffer||this.peerConn.signalingState!=="stable");if(this.ignoreOffer=!i&&s,this.ignoreOffer){K.logger.info("Ignoring colliding negotiate event because we're impolite");return}const o=this.isLocalOnHold(),c=t[We.SDPStreamMetadataKey];c?this.updateRemoteSDPStreamMetadata(c):K.logger.warn("Received negotiation event without SDPStreamMetadata!");try{if(await this.peerConn.setRemoteDescription(r),r.type==="offer"){this.getRidOfRTXCodecs();const u=await this.peerConn.createAnswer();await this.peerConn.setLocalDescription(u),this.sendVoipEvent(Cr.EventType.CallNegotiate,{description:this.peerConn.localDescription,[We.SDPStreamMetadataKey]:this.getLocalSDPStreamMetadata()})}}catch(u){K.logger.warn("Failed to complete negotiation",u)}const l=this.isLocalOnHold();o!==l&&(this.emit(Ce.LocalHoldUnhold,l),this.emit(Ce.HoldUnhold,l))}updateRemoteSDPStreamMetadata(e){this.remoteSDPStreamMetadata=Vu.recursivelyAssign(this.remoteSDPStreamMetadata||{},e,!0);for(const s of this.getRemoteFeeds()){var t,r,i;const o=s.stream.id;s.setAudioMuted((t=this.remoteSDPStreamMetadata[o])===null||t===void 0?void 0:t.audio_muted),s.setVideoMuted((r=this.remoteSDPStreamMetadata[o])===null||r===void 0?void 0:r.video_muted),s.purpose=(i=this.remoteSDPStreamMetadata[o])===null||i===void 0?void 0:i.purpose}}onSDPStreamMetadataChangedReceived(e){const r=e.getContent()[We.SDPStreamMetadataKey];this.updateRemoteSDPStreamMetadata(r)}async onAssertedIdentityReceived(e){const t=e.getContent();!t.asserted_identity||(this.remoteAssertedIdentity={id:t.asserted_identity.id,displayName:t.asserted_identity.display_name},this.emit(Ce.AssertedIdentityChanged))}callHasEnded(){return this.state===he.Ended}getRidOfRTXCodecs(){if(!RTCRtpReceiver.getCapabilities||!RTCRtpSender.getCapabilities)return;const e=RTCRtpReceiver.getCapabilities("video").codecs,r=[...RTCRtpSender.getCapabilities("video").codecs,...e];for(const o of r)if(o.mimeType==="video/rtx"){const c=r.indexOf(o);r.splice(c,1)}for(const o of this.peerConn.getTransceivers()){var i,s;this.screensharingSenders.includes(o.sender)&&(((i=o.sender.track)===null||i===void 0?void 0:i.kind)==="video"||((s=o.receiver.track)===null||s===void 0?void 0:s.kind)==="video")&&o.setCodecPreferences(r)}}setState(e){const t=this.state;this.state=e,this.emit(Ce.State,e,t)}sendVoipEvent(e,t){return this.client.sendEvent(this.roomId,e,Object.assign({},t,{version:$O,call_id:this.callId,party_id:this.ourPartyId}))}queueCandidate(e){if(this.candidateSendQueue.push(e),this.state===he.Ringing||!this.inviteOrAnswerSent)return;const t=this.direction===Gn.Inbound?500:2e3;this.candidateSendTries===0&&setTimeout(()=>{this.sendCandidateQueue()},t)}async transfer(e){const t=await this.client.getProfileInfo(e),r=Ks(),i={replacement_id:Ks(),target_user:{id:e,display_name:t.displayname,avatar_url:t.avatar_url},create_call:r};await this.sendVoipEvent(Cr.EventType.CallReplaces,i),await this.terminate(He.Local,ge.Transfered,!0)}async transferToCall(e){const t=await this.client.getProfileInfo(e.getOpponentMember().userId),r=await this.client.getProfileInfo(this.getOpponentMember().userId),i=Ks(),s={replacement_id:Ks(),target_user:{id:this.getOpponentMember().userId,display_name:r.displayname,avatar_url:r.avatar_url},await_call:i};await e.sendVoipEvent(Cr.EventType.CallReplaces,s);const o={replacement_id:Ks(),target_user:{id:e.getOpponentMember().userId,display_name:t.displayname,avatar_url:t.avatar_url},create_call:i};await this.sendVoipEvent(Cr.EventType.CallReplaces,o),await this.terminate(He.Local,ge.Transfered,!0),await e.terminate(He.Local,ge.Transfered,!0)}async terminate(e,t,r){this.callHasEnded()||(this.callStatsAtEnd=await this.collectCallStats(),this.inviteTimeout&&(clearTimeout(this.inviteTimeout),this.inviteTimeout=null),this.callLengthInterval&&(clearInterval(this.callLengthInterval),this.callLengthInterval=null),t!==ge.Replaced&&this.stopAllMedia(),this.deleteAllFeeds(),this.hangupParty=e,this.hangupReason=t,this.setState(he.Ended),this.peerConn&&this.peerConn.signalingState!=="closed"&&this.peerConn.close(),r&&this.emit(Ce.Hangup))}stopAllMedia(){K.logger.debug("Stopping all media for call",this.callId);for(const e of this.feeds)if(e.isLocal()&&e.purpose===We.SDPStreamMetadataPurpose.Usermedia)this.client.getMediaHandler().stopUserMediaStream(e.stream);else if(e.isLocal()&&e.purpose===We.SDPStreamMetadataPurpose.Screenshare)this.client.getMediaHandler().stopScreensharingStream(e.stream);else{K.logger.debug("Stopping remote stream",e.stream.id);for(const t of e.stream.getTracks())t.stop()}}checkForErrorListener(){if(this.listeners(cg.EventEmitterEvents.Error).length===0)throw new Error("You MUST attach an error listener using call.on('error', function() {})")}async sendCandidateQueue(){if(this.candidateSendQueue.length===0)return;const e=this.candidateSendQueue;this.candidateSendQueue=[],++this.candidateSendTries;const t={candidates:e};K.logger.debug("Attempting to send "+e.length+" candidates");try{await this.sendVoipEvent(Cr.EventType.CallCandidates,t),this.candidateSendTries=0}catch(r){if(r.event&&this.client.cancelPendingEvent(r.event),this.candidateSendQueue.push(...e),this.candidateSendTries>5){K.logger.debug("Failed to send candidates on attempt "+this.candidateSendTries+". Giving up on this call.",r);const s=ge.SignallingFailed,o="Signalling failed";this.emit(Ce.Error,new zi(s,o,r)),this.hangup(s,!1);return}const i=500*Math.pow(2,this.candidateSendTries);++this.candidateSendTries,K.logger.debug("Failed to send candidates. Retrying in "+i+"ms",r),setTimeout(()=>{this.sendCandidateQueue()},i)}}async placeCall(e,t){if(!e)throw new Error("You CANNOT start a call without audio");this.setState(he.WaitLocalMedia);try{const r=await this.client.getMediaHandler().getUserMediaStream(e,t);Si(r.getAudioTracks(),!0),Si(r.getVideoTracks(),!0);const i=new Xo.CallFeed({client:this.client,roomId:this.roomId,userId:this.client.getUserId(),stream:r,purpose:We.SDPStreamMetadataPurpose.Usermedia,audioMuted:!1,videoMuted:!1});await this.placeCallWithCallFeeds([i])}catch(r){this.getUserMediaFailed(r);return}}async placeCallWithCallFeeds(e){this.checkForErrorListener(),this.direction=Gn.Outbound,this.client.callEventHandler.calls.set(this.callId,this),await this.client.checkTurnServers()||K.logger.warn("Failed to get TURN credentials! Proceeding with call anyway..."),this.peerConn=this.createPeerConnection(),this.gotCallFeedsForInvite(e)}createPeerConnection(){const e=new window.RTCPeerConnection({iceTransportPolicy:this.forceTURN?"relay":void 0,iceServers:this.turnServers,iceCandidatePoolSize:this.client.iceCandidatePoolSize});return e.addEventListener("iceconnectionstatechange",this.onIceConnectionStateChanged),e.addEventListener("signalingstatechange",this.onSignallingStateChanged),e.addEventListener("icecandidate",this.gotLocalIceCandidate),e.addEventListener("icegatheringstatechange",this.onIceGatheringStateChange),e.addEventListener("track",this.onTrack),e.addEventListener("negotiationneeded",this.onNegotiationNeeded),e.addEventListener("datachannel",this.onDataChannel),e}partyIdMatches(e){return(e.version===0?null:e.party_id||null)===this.opponentPartyId}chooseOpponent(e){const t=e.getContent();K.logger.debug(`Choosing party ID ${t.party_id} for call ID ${this.callId}`),this.opponentVersion=t.version,this.opponentVersion===0?this.opponentPartyId=null:this.opponentPartyId=t.party_id||null,this.opponentCaps=t.capabilities||{},this.opponentMember=e.sender}async addBufferedIceCandidates(){const e=this.remoteCandidateBuffer.get(this.opponentPartyId);e&&(K.logger.info(`Adding ${e.length} buffered candidates for opponent ${this.opponentPartyId}`),await this.addIceCandidates(e)),this.remoteCandidateBuffer=null}async addIceCandidates(e){for(const t of e){if((t.sdpMid===null||t.sdpMid===void 0)&&(t.sdpMLineIndex===null||t.sdpMLineIndex===void 0)){K.logger.debug("Ignoring remote ICE candidate with no sdpMid or sdpMLineIndex");continue}K.logger.debug("Call "+this.callId+" got remote ICE "+t.sdpMid+" candidate: "+t.candidate);try{await this.peerConn.addIceCandidate(t)}catch(r){this.ignoreOffer||K.logger.info("Failed to add remote ICE candidate",r)}}}get hasPeerConnection(){return Boolean(this.peerConn)}}Te.MatrixCall=Lv;function Si(n,e){for(let t=0;t<n.length;t++)n[t].enabled=e}function NO(n,e,t){if(typeof window=="undefined"||typeof document=="undefined")return null;try{if(!Boolean(window.RTCPeerConnection||window.RTCSessionDescription||window.RTCIceCandidate||navigator.mediaDevices))return K.logger.error("WebRTC is not supported in this browser / environment"),null}catch(o){return K.logger.error("Exception thrown when trying to access WebRTC",o),null}const r=t?t.forceTURN:!1,i={client:n,roomId:e,turnServers:n.getTurnServers(),forceTURN:n.forceTURN||r},s=new Lv(i);return n.reEmitter.reEmit(s,Object.values(Ce)),s}var gs={},LO=V.exports;Object.defineProperty(gs,"__esModule",{value:!0});gs.CallEventHandlerEvent=gs.CallEventHandler=void 0;var Fs=LO(Y.exports),BO=qt,bi=ie,pr=Te,Ut=ne,ug=it,KO=Ui,dg=ar;const FO=3e3;let Sl;gs.CallEventHandlerEvent=Sl;(function(n){n.Incoming="Call.incoming"})(Sl||(gs.CallEventHandlerEvent=Sl={}));class qO{constructor(e){(0,Fs.default)(this,"client",void 0),(0,Fs.default)(this,"calls",void 0),(0,Fs.default)(this,"callEventBuffer",void 0),(0,Fs.default)(this,"candidateEventsByCall",void 0),(0,Fs.default)(this,"evaluateEventBuffer",async()=>{if(this.client.getSyncState()===KO.SyncState.Syncing){await Promise.all(this.callEventBuffer.map(r=>{this.client.decryptEventIfNeeded(r)}));const t=new Set;for(const r of this.callEventBuffer)(r.getType()===Ut.EventType.CallAnswer||r.getType()===Ut.EventType.CallHangup)&&t.add(r.getContent().call_id);for(const r of this.callEventBuffer)if(!(r.getType()===Ut.EventType.CallInvite&&t.has(r.getContent().call_id)))try{await this.handleCallEvent(r)}catch(i){bi.logger.error("Caught exception handling call event",i)}this.callEventBuffer=[]}}),(0,Fs.default)(this,"onRoomTimeline",t=>{this.client.decryptEventIfNeeded(t),(this.eventIsACall(t)||t.isBeingDecrypted())&&this.callEventBuffer.push(t),(t.isBeingDecrypted()||t.isDecryptionFailure())&&t.once(BO.MatrixEventEvent.Decrypted,async()=>{if(!!this.eventIsACall(t))if(this.callEventBuffer.includes(t))this.evaluateEventBuffer();else try{await this.handleCallEvent(t)}catch(r){bi.logger.error("Caught exception handling call event",r)}})}),this.client=e,this.calls=new Map,this.callEventBuffer=[],this.candidateEventsByCall=new Map}start(){this.client.on(ug.ClientEvent.Sync,this.evaluateEventBuffer),this.client.on(dg.RoomEvent.Timeline,this.onRoomTimeline)}stop(){this.client.removeListener(ug.ClientEvent.Sync,this.evaluateEventBuffer),this.client.removeListener(dg.RoomEvent.Timeline,this.onRoomTimeline)}eventIsACall(e){const t=e.getType();return t.startsWith("m.call.")||t.startsWith("org.matrix.call.")}async handleCallEvent(e){const t=e.getContent(),r=e.getType(),i=e.getSender()===this.client.credentials.userId;let s=t.call_id?this.calls.get(t.call_id):void 0;if(r===Ut.EventType.CallInvite){if(i||e.getLocalAge()>t.lifetime-FO||s&&s.state===pr.CallState.Ended)return;s&&bi.logger.log(`WARN: Already have a MatrixCall with id ${t.call_id} but got an invite. Clobbering.`);const o=this.client.getTurnServersExpiry()-Date.now();if(bi.logger.info("Current turn creds expire in "+o+" ms"),s=(0,pr.createNewMatrixCall)(this.client,e.getRoomId(),{forceTURN:this.client.forceTURN}),!s){bi.logger.log("Incoming call ID "+t.call_id+" but this client doesn't support WebRTC");return}if(s.callId=t.call_id,await s.initWithInvite(e),this.calls.set(s.callId,s),this.candidateEventsByCall.get(s.callId))for(const l of this.candidateEventsByCall.get(s.callId))s.onRemoteIceCandidatesReceived(l);let c;for(const l of this.calls.values()){const u=[pr.CallState.WaitLocalMedia,pr.CallState.CreateOffer,pr.CallState.InviteSent].includes(l.state);if(s.roomId===l.roomId&&l.direction===pr.CallDirection.Outbound&&u){c=l;break}}c?c.state===pr.CallState.WaitLocalMedia||c.state===pr.CallState.CreateOffer||c.callId>s.callId?(bi.logger.log("Glare detected: answering incoming call "+s.callId+" and canceling outgoing call "+c.callId),c.replacedBy(s),s.answer()):(bi.logger.log("Glare detected: rejecting incoming call "+s.callId+" and keeping outgoing call "+c.callId),s.hangup(pr.CallErrorCode.Replaced,!0)):this.client.emit(Sl.Incoming,s);return}else if(r===Ut.EventType.CallCandidates){if(i)return;s?s.onRemoteIceCandidatesReceived(e):(this.candidateEventsByCall.has(t.call_id)||this.candidateEventsByCall.set(t.call_id,[]),this.candidateEventsByCall.get(t.call_id).push(e));return}else if([Ut.EventType.CallHangup,Ut.EventType.CallReject].includes(r)){s?s.state!==pr.CallState.Ended&&(r===Ut.EventType.CallHangup?s.onHangupReceived(t):s.onRejectReceived(t),s.state===pr.CallState.Ended&&this.calls.delete(t.call_id)):(s=(0,pr.createNewMatrixCall)(this.client,e.getRoomId()),s&&(s.callId=t.call_id,s.initWithHangup(e),this.calls.set(t.call_id,s)));return}if(!s||!s.hasPeerConnection){bi.logger.warn("Discarding an event, we don't have a call/peerConn",r);return}if(e.getContent().party_id!==s.ourPartyId)switch(r){case Ut.EventType.CallAnswer:i?s.state===pr.CallState.Ringing&&s.onAnsweredElsewhere(t):s.onAnswerReceived(e);break;case Ut.EventType.CallSelectAnswer:s.onSelectAnswerReceived(e);break;case Ut.EventType.CallNegotiate:s.onNegotiateReceived(e);break;case Ut.EventType.CallAssertedIdentity:case Ut.EventType.CallAssertedIdentityPrefix:s.onAssertedIdentityReceived(e);break;case Ut.EventType.CallSDPStreamMetadataChanged:case Ut.EventType.CallSDPStreamMetadataChangedPrefix:s.onSDPStreamMetadataChangedReceived(e);break}}}gs.CallEventHandler=qO;var $i={},jO=V.exports;Object.defineProperty($i,"__esModule",{value:!0});$i.AutoDiscoveryAction=$i.AutoDiscovery=void 0;var lr=jO(Y.exports),hg=Oi,$n=ie;let sr;$i.AutoDiscoveryAction=sr;(function(n){n.SUCCESS="SUCCESS",n.IGNORE="IGNORE",n.PROMPT="PROMPT",n.FAIL_PROMPT="FAIL_PROMPT",n.FAIL_ERROR="FAIL_ERROR"})(sr||($i.AutoDiscoveryAction=sr={}));class Z{static async fromDiscoveryConfig(e){const t={"m.homeserver":{state:Z.FAIL_ERROR,error:Z.ERROR_INVALID,base_url:null},"m.identity_server":{state:Z.PROMPT,error:null,base_url:null}};if(!e||!e["m.homeserver"])return $n.logger.error("No m.homeserver key in config"),t["m.homeserver"].state=Z.FAIL_PROMPT,t["m.homeserver"].error=Z.ERROR_INVALID,Promise.resolve(t);if(!e["m.homeserver"].base_url)return $n.logger.error("No m.homeserver base_url in config"),t["m.homeserver"].state=Z.FAIL_PROMPT,t["m.homeserver"].error=Z.ERROR_INVALID_HS_BASE_URL,Promise.resolve(t);const r=this.sanitizeWellKnownUrl(e["m.homeserver"].base_url);if(!r)return $n.logger.error("Invalid base_url for m.homeserver"),t["m.homeserver"].error=Z.ERROR_INVALID_HS_BASE_URL,Promise.resolve(t);const i=await this.fetchWellKnownObject(`${r}/_matrix/client/versions`);if(!i||!i.raw.versions)return $n.logger.error("Invalid /versions response"),t["m.homeserver"].error=Z.ERROR_INVALID_HOMESERVER,t["m.homeserver"].base_url=r,Promise.resolve(t);t["m.homeserver"]={state:Z.SUCCESS,error:null,base_url:r};let s="";if(e["m.identity_server"]){const o={"m.homeserver":t["m.homeserver"],"m.identity_server":{state:Z.FAIL_PROMPT,error:Z.ERROR_INVALID_IS,base_url:null}};if(s=this.sanitizeWellKnownUrl(e["m.identity_server"].base_url),!s)return $n.logger.error("Invalid base_url for m.identity_server"),o["m.identity_server"].error=Z.ERROR_INVALID_IS_BASE_URL,Promise.resolve(o);const c=await this.fetchWellKnownObject(`${s}/_matrix/identity/api/v1`);if(!c||!c.raw||c.action!==sr.SUCCESS)return $n.logger.error("Invalid /api/v1 response"),o["m.identity_server"].error=Z.ERROR_INVALID_IDENTITY_SERVER,o["m.identity_server"].base_url=s,Promise.resolve(o)}return s&&s.toString().length>0&&(t["m.identity_server"]={state:Z.SUCCESS,error:null,base_url:s}),Object.keys(e).map(o=>{if(o==="m.homeserver"||o==="m.identity_server"){const c=["error","state","base_url"];for(const l of Object.keys(e[o]))c.includes(l)||(t[o][l]=e[o][l])}else t[o]=e[o]}),Promise.resolve(t)}static async findClientConfig(e){if(!e||typeof e!="string"||e.length===0)throw new Error("'domain' must be a string of non-zero length");const t={"m.homeserver":{state:Z.FAIL_ERROR,error:Z.ERROR_INVALID,base_url:null},"m.identity_server":{state:Z.PROMPT,error:null,base_url:null}},r=await this.fetchWellKnownObject(`https://${e}/.well-known/matrix/client`);return!r||r.action!==sr.SUCCESS?($n.logger.error("No response or error when parsing .well-known"),r.reason&&$n.logger.error(r.reason),r.action===sr.IGNORE?t["m.homeserver"]={state:Z.PROMPT,error:null,base_url:null}:(t["m.homeserver"].state=Z.FAIL_PROMPT,t["m.homeserver"].error=Z.ERROR_INVALID),Promise.resolve(t)):Z.fromDiscoveryConfig(r.raw)}static async getRawClientConfig(e){if(!e||typeof e!="string"||e.length===0)throw new Error("'domain' must be a string of non-zero length");const t=await this.fetchWellKnownObject(`https://${e}/.well-known/matrix/client`);return t?t.raw||{}:{}}static sanitizeWellKnownUrl(e){if(!e)return!1;try{let t=null;try{hg.URL?t=new hg.URL(e):t=new URL(e)}catch{t=new URL(e)}if(!t||!t.hostname||t.protocol!=="http:"&&t.protocol!=="https:")return!1;const r=t.port?`:${t.port}`:"",i=t.pathname?t.pathname:"";let s=`${t.protocol}//${t.hostname}${r}${i}`;return s.endsWith("/")&&(s=s.substring(0,s.length-1)),s}catch(t){return $n.logger.error(t),!1}}static async fetchWellKnownObject(e){return new Promise(function(t,r){const i=Is.getRequest();if(!i)throw new Error("No request library available");i({method:"GET",uri:e,timeout:5e3},(s,o,c)=>{if(s||o&&(o.statusCode<200||o.statusCode>=300)){let l=sr.FAIL_PROMPT,u=(s?s.message:null)||"General failure";o&&o.statusCode===404&&(l=sr.IGNORE,u=Z.ERROR_MISSING_WELLKNOWN),t({raw:{},action:l,reason:u,error:s});return}try{t({raw:JSON.parse(c),action:sr.SUCCESS})}catch(l){let u=Z.ERROR_INVALID;l.name==="SyntaxError"&&(u=Z.ERROR_INVALID_JSON),t({raw:{},action:sr.FAIL_PROMPT,reason:u,error:l})}})})}}$i.AutoDiscovery=Z;(0,lr.default)(Z,"ERROR_INVALID","Invalid homeserver discovery response");(0,lr.default)(Z,"ERROR_GENERIC_FAILURE","Failed to get autodiscovery configuration from server");(0,lr.default)(Z,"ERROR_INVALID_HS_BASE_URL","Invalid base_url for m.homeserver");(0,lr.default)(Z,"ERROR_INVALID_HOMESERVER","Homeserver URL does not appear to be a valid Matrix homeserver");(0,lr.default)(Z,"ERROR_INVALID_IS_BASE_URL","Invalid base_url for m.identity_server");(0,lr.default)(Z,"ERROR_INVALID_IDENTITY_SERVER","Identity server URL does not appear to be a valid identity server");(0,lr.default)(Z,"ERROR_INVALID_IS","Invalid identity server discovery response");(0,lr.default)(Z,"ERROR_MISSING_WELLKNOWN","No .well-known JSON file found");(0,lr.default)(Z,"ERROR_INVALID_JSON","Invalid JSON");(0,lr.default)(Z,"ALL_ERRORS",[Z.ERROR_INVALID,Z.ERROR_GENERIC_FAILURE,Z.ERROR_INVALID_HS_BASE_URL,Z.ERROR_INVALID_HOMESERVER,Z.ERROR_INVALID_IS_BASE_URL,Z.ERROR_INVALID_IDENTITY_SERVER,Z.ERROR_INVALID_IS,Z.ERROR_MISSING_WELLKNOWN,Z.ERROR_INVALID_JSON]);(0,lr.default)(Z,"FAIL_ERROR",sr.FAIL_ERROR);(0,lr.default)(Z,"FAIL_PROMPT",sr.FAIL_PROMPT);(0,lr.default)(Z,"PROMPT",sr.PROMPT);(0,lr.default)(Z,"SUCCESS",sr.SUCCESS);var Me={},fg=/[\\\"\x00-\x1F]/g,ai={};for(var Ic=0;Ic<32;++Ic)ai[String.fromCharCode(Ic)]="\\U"+("0000"+Ic.toString(16)).slice(-4).toUpperCase();ai["\b"]="\\b";ai[" "]="\\t";ai[` +`]="\\n";ai["\f"]="\\f";ai["\r"]="\\r";ai['"']='\\"';ai["\\"]="\\\\";function Bv(n){return fg.lastIndex=0,n.replace(fg,function(e){return ai[e]})}function lf(n){switch(typeof n){case"string":return'"'+Bv(n)+'"';case"number":return isFinite(n)?n:"null";case"boolean":return n;case"object":return n===null?"null":Array.isArray(n)?VO(n):GO(n);default:throw new Error("Cannot stringify: "+typeof n)}}function VO(n){for(var e="[",t="",r=0;r<n.length;++r)t+=e,e=",",t+=lf(n[r]);return e!=","?"[]":t+"]"}function GO(n){var e="{",t="",r=Object.keys(n);r.sort();for(var i=0;i<r.length;++i){var s=r[i];t+=e+'"'+Bv(s)+'":',e=",",t+=lf(n[s])}return e!=","?"{}":t+"}"}var Vl={stringify:lf},WO=V.exports;Object.defineProperty(Me,"__esModule",{value:!0});Me.OLM_ALGORITHM=Me.MEGOLM_BACKUP_ALGORITHM=zO=Me.MEGOLM_ALGORITHM=void 0;Me.decodeBase64=ik;Me.encodeBase64=Fv;Me.encodeUnpaddedBase64=nk;Me.encryptMessageForDevice=XO;Me.ensureOlmSessionsForDevices=ZO;Me.getExistingOlmSessions=QO;Me.pkSign=tk;Me.pkVerify=rk;Me.verifySignature=Kv;var uf=WO(Vl),Ca=ie,qa;(function(n){n.Olm="m.olm.v1.curve25519-aes-sha2",n.Megolm="m.megolm.v1.aes-sha2",n.MegolmBackup="m.megolm_backup.v1.curve25519-aes-sha2"})(qa||(qa={}));const HO=qa.Olm;Me.OLM_ALGORITHM=HO;const YO=qa.Megolm;var zO=Me.MEGOLM_ALGORITHM=YO;const JO=qa.MegolmBackup;Me.MEGOLM_BACKUP_ALGORITHM=JO;async function XO(n,e,t,r,i,s,o){const c=s.getIdentityKey(),l=await r.getSessionIdForDevice(c);if(l===null)return;Ca.logger.log("Using sessionid "+l+" for device "+i+":"+s.deviceId);const u={sender:e,sender_device:t,keys:{ed25519:r.deviceEd25519Key},recipient:i,recipient_keys:{ed25519:s.getFingerprint()}};Object.assign(u,o),n[c]=await r.encryptMessage(c,l,JSON.stringify(u))}async function QO(n,e,t){const r={},i={},s=[];for(const[o,c]of Object.entries(t))for(const l of c){const u=l.deviceId,a=l.getIdentityKey();s.push((async()=>{const g=await n.getSessionIdForDevice(a,!0);g===null?(r[o]=r[o]||[],r[o].push(l)):(i[o]=i[o]||{},i[o][u]={device:l,sessionId:g})})())}return await Promise.all(s),[r,i]}async function ZO(n,e,t,r=!1,i,s,o=Ca.logger){typeof r=="number"&&(o=s,s=i,i=r,r=!1);const c=[],l={},u={};for(const[,I]of Object.entries(t))for(const w of I){const k=w.getIdentityKey();k!==n.deviceCurve25519Key&&(n.sessionsInProgress[k]||(n.sessionsInProgress[k]=new Promise(P=>{u[k]=S=>{delete n.sessionsInProgress[k],P(S)}})))}for(const[I,w]of Object.entries(t)){l[I]={};for(const k of w){const P=k.deviceId,S=k.getIdentityKey();if(S===n.deviceCurve25519Key){o.info("Attempted to start session with ourself! Ignoring"),l[I][P]={device:k,sessionId:null};continue}const T=`for ${S} (${I}:${P})`,D=await n.getSessionIdForDevice(S,!!u[S],o);D!==null&&u[S]&&u[S](),(D===null||r)&&(r?o.info(`Forcing new Olm session ${T}`):o.info(`Making new Olm session ${T}`),c.push([I,P])),l[I][P]={device:k,sessionId:D}}}if(c.length===0)return l;const a="signed_curve25519";let g,m=`one-time keys for ${c.length} devices`;try{o.debug(`Claiming ${m}`),g=await e.claimOneTimeKeys(c,a,i),o.debug(`Claimed ${m}`)}catch(I){for(const w of Object.values(u))w();throw o.log(`Failed to claim ${m}`,I,c),I}s&&"failures"in g&&s.push(...Object.keys(g.failures));const p=g.one_time_keys||{},E=[];for(const[I,w]of Object.entries(t)){const k=p[I]||{};for(let P=0;P<w.length;P++){const S=w[P],T=S.deviceId,D=S.getIdentityKey();if(D===n.deviceCurve25519Key||l[I][T].sessionId&&!r)continue;const R=k[T]||{};let L=null;for(const H in R)H.indexOf(a+":")===0&&(L=R[H]);if(!L){o.warn(`No one-time keys (alg=${a}) for device ${I}:${T}`),u[D]&&u[D]();continue}E.push(ek(n,L,I,S).then(H=>{u[D]&&u[D](H),l[I][T].sessionId=H},H=>{throw u[D]&&u[D](),H}))}}return m=`Olm sessions for ${E.length} devices`,o.debug(`Starting ${m}`),await Promise.all(E),o.debug(`Started ${m}`),l}async function ek(n,e,t,r){const i=r.deviceId;try{await Kv(n,e,t,i,r.getFingerprint())}catch(o){return Ca.logger.error("Unable to verify signature on one-time key for device "+t+":"+i+":",o),null}let s;try{s=await n.createOutboundSession(r.getIdentityKey(),e.key)}catch(o){return Ca.logger.error("Error starting olm session with device "+t+":"+i+": "+o),null}return Ca.logger.log("Started new olm sessionid "+s+" for device "+t+":"+i),s}async function Kv(n,e,t,r,i){const s="ed25519:"+r,l=((e.signatures||{})[t]||{})[s];if(!l)throw Error("No signature");const u=Object.assign({},e);"unsigned"in u&&delete u.unsigned,delete u.signatures;const a=uf.default.stringify(u);n.verifySignature(i,a,l)}function tk(n,e,t,r){let i=!1;if(e instanceof Uint8Array){const c=new j.Olm.PkSigning;r=c.init_with_seed(e),e=c,i=!0}const s=n.signatures||{};delete n.signatures;const o=n.unsigned;n.unsigned&&delete n.unsigned;try{const c=s[t]||{};return s[t]=c,c["ed25519:"+r]=e.sign(uf.default.stringify(n))}finally{n.signatures=s,o&&(n.unsigned=o),i&&e.free()}}function rk(n,e,t){const r="ed25519:"+e;if(!(n.signatures&&n.signatures[t]&&n.signatures[t][r]))throw new Error("No signature");const i=n.signatures[t][r],s=new j.Olm.Utility,o=n.signatures;delete n.signatures;const c=n.unsigned;n.unsigned&&delete n.unsigned;try{s.ed25519_verify(e,uf.default.stringify(n),i)}finally{n.signatures=o,c&&(n.unsigned=c),s.free()}}function Fv(n){return Buffer.from(n).toString("base64")}function nk(n){return Fv(n).replace(/=+$/g,"")}function ik(n){return Buffer.from(n,"base64")}var Gl={},Kr={},Wl={};Object.defineProperty(Wl,"__esModule",{value:!0});Wl.LocalStorageCryptoStore=void 0;var pg=ie,sk=Po;const br="crypto.",Gu=br+"account",gg=br+"cross_signing_keys",mg=br+"notified_error_devices",yg=br+"device_data",el=br+"inboundgroupsessions/",ok=br+"inboundgroupsessions.withheld/",ak=br+"rooms/",qs=br+"sessionsneedingbackup";function Tc(n){return br+"sessions/"+n}function vg(n){return br+"session.problems/"+n}function Wu(n,e){return el+n+"/"+e}function _g(n,e){return ok+n+"/"+e}function Eg(n){return ak+n}class ck extends sk.MemoryCryptoStore{static exists(e){const t=e.length;for(let r=0;r<t;r++)if(e.key(r).startsWith(br))return!0;return!1}constructor(e){super();this.store=e}countEndToEndSessions(e,t){let r=0;for(let i=0;i<this.store.length;++i)this.store.key(i).startsWith(Tc(""))&&++r;t(r)}_getEndToEndSessions(e){const t=pt(this.store,Tc(e)),r={};for(const[i,s]of Object.entries(t||{}))typeof s=="string"?r[i]={session:s}:r[i]=s;return r}getEndToEndSession(e,t,r,i){const s=this._getEndToEndSessions(e);i(s[t]||{})}getEndToEndSessions(e,t,r){r(this._getEndToEndSessions(e)||{})}getAllEndToEndSessions(e,t){for(let r=0;r<this.store.length;++r)if(this.store.key(r).startsWith(Tc(""))){const i=this.store.key(r).split("/")[1];for(const s of Object.values(this._getEndToEndSessions(i)))t(s)}}storeEndToEndSession(e,t,r,i){const s=this._getEndToEndSessions(e)||{};s[t]=r,Pr(this.store,Tc(e),s)}async storeEndToEndSessionProblem(e,t,r){const i=vg(e),s=pt(this.store,i)||[];s.push({type:t,fixed:r,time:Date.now()}),s.sort((o,c)=>o.time-c.time),Pr(this.store,i,s)}async getEndToEndSessionProblem(e,t){const r=vg(e),i=pt(this.store,r)||[];if(!i.length)return null;const s=i[i.length-1];for(const o of i)if(o.time>t)return Object.assign({},o,{fixed:s.fixed});return s.fixed?null:s}async filterOutNotifiedErrorDevices(e){const t=pt(this.store,mg)||{},r=[];for(const i of e){const{userId:s,deviceInfo:o}=i;s in t?o.deviceId in t[s]||(r.push(i),t[s][o.deviceId]=!0):(r.push(i),t[s]={[o.deviceId]:!0})}return Pr(this.store,mg,t),r}getEndToEndInboundGroupSession(e,t,r,i){i(pt(this.store,Wu(e,t)),pt(this.store,_g(e,t)))}getAllEndToEndInboundGroupSessions(e,t){for(let r=0;r<this.store.length;++r){const i=this.store.key(r);i.startsWith(el)&&t({senderKey:i.substr(el.length,43),sessionId:i.substr(el.length+44),sessionData:pt(this.store,i)})}t(null)}addEndToEndInboundGroupSession(e,t,r,i){pt(this.store,Wu(e,t))||this.storeEndToEndInboundGroupSession(e,t,r,i)}storeEndToEndInboundGroupSession(e,t,r,i){Pr(this.store,Wu(e,t),r)}storeEndToEndInboundGroupSessionWithheld(e,t,r,i){Pr(this.store,_g(e,t),r)}getEndToEndDeviceData(e,t){t(pt(this.store,yg))}storeEndToEndDeviceData(e,t){Pr(this.store,yg,e)}storeEndToEndRoom(e,t,r){Pr(this.store,Eg(e),t)}getEndToEndRooms(e,t){const r={},i=Eg("");for(let s=0;s<this.store.length;++s){const o=this.store.key(s);if(o.startsWith(i)){const c=o.substr(i.length);r[c]=pt(this.store,o)}}t(r)}getSessionsNeedingBackup(e){const t=pt(this.store,qs)||{},r=[];for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)){const s=i.substr(0,43),o=i.substr(44);if(this.getEndToEndInboundGroupSession(s,o,null,c=>{r.push({senderKey:s,sessionId:o,sessionData:c})}),e&&i.length>=e)break}return Promise.resolve(r)}countSessionsNeedingBackup(){const e=pt(this.store,qs)||{};return Promise.resolve(Object.keys(e).length)}unmarkSessionsNeedingBackup(e){const t=pt(this.store,qs)||{};for(const r of e)delete t[r.senderKey+"/"+r.sessionId];return Pr(this.store,qs,t),Promise.resolve()}markSessionsNeedingBackup(e){const t=pt(this.store,qs)||{};for(const r of e)t[r.senderKey+"/"+r.sessionId]=!0;return Pr(this.store,qs,t),Promise.resolve()}deleteAllData(){return this.store.removeItem(Gu),Promise.resolve()}getAccount(e,t){const r=pt(this.store,Gu);t(r)}storeAccount(e,t){Pr(this.store,Gu,t)}getCrossSigningKeys(e,t){const r=pt(this.store,gg);t(r)}getSecretStorePrivateKey(e,t,r){const i=pt(this.store,br+`ssss_cache.${r}`);t(i)}storeCrossSigningKeys(e,t){Pr(this.store,gg,t)}storeSecretStorePrivateKey(e,t,r){Pr(this.store,br+`ssss_cache.${t}`,r)}doTxn(e,t,r){return Promise.resolve(r(null))}}Wl.LocalStorageCryptoStore=ck;function pt(n,e){try{return JSON.parse(n.getItem(e))}catch(t){pg.logger.log("Error: Failed to get key %s: %s",e,t.stack||t),pg.logger.log(t.stack)}return null}function Pr(n,e,t){n.setItem(e,JSON.stringify(t))}var ms={},lk=V.exports;Object.defineProperty(ms,"__esModule",{value:!0});ms.VERSION=ms.Backend=void 0;ms.upgradeDatabase=pk;var uk=lk(Y.exports),vn=ie,dk=hk(G);function qv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(qv=function(r){return r?t:e})(n)}function hk(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=qv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}const jv=10;ms.VERSION=jv;class fk{constructor(e){this.db=e,(0,uk.default)(this,"nextTxnId",0),e.onversionchange=()=>{vn.logger.log(`versionchange for indexeddb ${this.db.name}: closing`),e.close()}}async startup(){return this}async deleteAllData(){throw Error("This is not implemented, call IDBFactory::deleteDatabase(dbName) instead.")}getOrAddOutgoingRoomKeyRequest(e){const t=e.requestBody;return new Promise((r,i)=>{const s=this.db.transaction("outgoingRoomKeyRequests","readwrite");s.onerror=i,this._getOutgoingRoomKeyRequest(s,t,o=>{if(o){vn.logger.log(`already have key request outstanding for ${t.room_id} / ${t.session_id}: not sending another`),r(o);return}vn.logger.log(`enqueueing key request for ${t.room_id} / `+t.session_id),s.oncomplete=()=>{r(e)},s.objectStore("outgoingRoomKeyRequests").add(e)})})}getOutgoingRoomKeyRequest(e){return new Promise((t,r)=>{const i=this.db.transaction("outgoingRoomKeyRequests","readonly");i.onerror=r,this._getOutgoingRoomKeyRequest(i,e,s=>{t(s)})})}_getOutgoingRoomKeyRequest(e,t,r){const o=e.objectStore("outgoingRoomKeyRequests").index("session").openCursor([t.room_id,t.session_id]);o.onsuccess=()=>{const c=o.result;if(!c){r(null);return}const l=c.value;if(dk.deepCompare(l.requestBody,t)){r(l);return}c.continue()}}getOutgoingRoomKeyRequestByState(e){if(e.length===0)return Promise.resolve(null);let t=0,r;function i(){const u=this.result;if(u){r=u.value;return}if(t++,t>=e.length)return;const a=e[t],g=this.source.openCursor(a);g.onsuccess=i}const s=this.db.transaction("outgoingRoomKeyRequests","readonly"),o=s.objectStore("outgoingRoomKeyRequests"),c=e[t],l=o.index("state").openCursor(c);return l.onsuccess=i,ji(s).then(()=>r)}getAllOutgoingRoomKeyRequestsByState(e){return new Promise((t,r)=>{const c=this.db.transaction("outgoingRoomKeyRequests","readonly").objectStore("outgoingRoomKeyRequests").index("state").getAll(e);c.onsuccess=()=>t(c.result),c.onerror=()=>r(c.error)})}getOutgoingRoomKeyRequestsByTarget(e,t,r){let i=0;const s=[];function o(){const g=this.result;if(g){const m=g.value;m.recipients.includes({userId:e,deviceId:t})&&s.push(m),g.continue()}else{if(i++,i>=r.length)return;const m=r[i],p=this.source.openCursor(m);p.onsuccess=o}}const c=this.db.transaction("outgoingRoomKeyRequests","readonly"),l=c.objectStore("outgoingRoomKeyRequests"),u=r[i],a=l.index("state").openCursor(u);return a.onsuccess=o,ji(c).then(()=>s)}updateOutgoingRoomKeyRequest(e,t,r){let i=null;function s(){const l=this.result;if(!l)return;const u=l.value;if(u.state!=t){vn.logger.warn(`Cannot update room key request from ${t} as it was already updated to ${u.state}`);return}Object.assign(u,r),l.update(u),i=u}const o=this.db.transaction("outgoingRoomKeyRequests","readwrite"),c=o.objectStore("outgoingRoomKeyRequests").openCursor(e);return c.onsuccess=s,ji(o).then(()=>i)}deleteOutgoingRoomKeyRequest(e,t){const r=this.db.transaction("outgoingRoomKeyRequests","readwrite"),i=r.objectStore("outgoingRoomKeyRequests").openCursor(e);return i.onsuccess=()=>{const s=i.result;if(!s)return;const o=s.value;if(o.state!=t){vn.logger.warn(`Cannot delete room key request in state ${o.state} (expected ${t})`);return}s.delete()},ji(r)}getAccount(e,t){const i=e.objectStore("account").get("-");i.onsuccess=function(){try{t(i.result||null)}catch(s){zt(e,s)}}}storeAccount(e,t){e.objectStore("account").put(t,"-")}getCrossSigningKeys(e,t){const i=e.objectStore("account").get("crossSigningKeys");i.onsuccess=function(){try{t(i.result||null)}catch(s){zt(e,s)}}}getSecretStorePrivateKey(e,t,r){const s=e.objectStore("account").get(`ssss_cache:${r}`);s.onsuccess=function(){try{t(s.result||null)}catch(o){zt(e,o)}}}storeCrossSigningKeys(e,t){e.objectStore("account").put(t,"crossSigningKeys")}storeSecretStorePrivateKey(e,t,r){e.objectStore("account").put(r,`ssss_cache:${t}`)}countEndToEndSessions(e,t){const i=e.objectStore("sessions").count();i.onsuccess=function(){try{t(i.result)}catch(s){zt(e,s)}}}getEndToEndSessions(e,t,r){const o=t.objectStore("sessions").index("deviceKey").openCursor(e),c={};o.onsuccess=function(){const l=o.result;if(l)c[l.value.sessionId]={session:l.value.session,lastReceivedMessageTs:l.value.lastReceivedMessageTs},l.continue();else try{r(c)}catch(u){zt(t,u)}}}getEndToEndSession(e,t,r,i){const o=r.objectStore("sessions").get([e,t]);o.onsuccess=function(){try{o.result?i({session:o.result.session,lastReceivedMessageTs:o.result.lastReceivedMessageTs}):i(null)}catch(c){zt(r,c)}}}getAllEndToEndSessions(e,t){const i=e.objectStore("sessions").openCursor();i.onsuccess=function(){try{const s=i.result;s?(t(s.value),s.continue()):t(null)}catch(s){zt(e,s)}}}storeEndToEndSession(e,t,r,i){i.objectStore("sessions").put({deviceKey:e,sessionId:t,session:r.session,lastReceivedMessageTs:r.lastReceivedMessageTs})}async storeEndToEndSessionProblem(e,t,r){const i=this.db.transaction("session_problems","readwrite");return i.objectStore("session_problems").put({deviceKey:e,type:t,fixed:r,time:Date.now()}),ji(i)}async getEndToEndSessionProblem(e,t){let r;const i=this.db.transaction("session_problems","readwrite"),c=i.objectStore("session_problems").index("deviceKey").getAll(e);return c.onsuccess=()=>{const l=c.result;if(!l.length){r=null;return}l.sort((a,g)=>a.time-g.time);const u=l[l.length-1];for(const a of l)if(a.time>t){r=Object.assign({},a,{fixed:u.fixed});return}u.fixed?r=null:r=u},await ji(i),r}async filterOutNotifiedErrorDevices(e){const r=this.db.transaction("notified_error_devices","readwrite").objectStore("notified_error_devices"),i=[];return await Promise.all(e.map(s=>new Promise(o=>{const{userId:c,deviceInfo:l}=s,u=r.get([c,l.deviceId]);u.onsuccess=function(){u.result||(r.put({userId:c,deviceId:l.deviceId}),i.push(s)),o()}}))),i}getEndToEndInboundGroupSession(e,t,r,i){let s=!1,o=!1;const l=r.objectStore("inbound_group_sessions").get([e,t]);l.onsuccess=function(){try{l.result?s=l.result.session:s=null,o!==!1&&i(s,o)}catch(g){zt(r,g)}};const a=r.objectStore("inbound_group_sessions_withheld").get([e,t]);a.onsuccess=function(){try{a.result?o=a.result.session:o=null,s!==!1&&i(s,o)}catch(g){zt(r,g)}}}getAllEndToEndInboundGroupSessions(e,t){const i=e.objectStore("inbound_group_sessions").openCursor();i.onsuccess=function(){const s=i.result;if(s){try{t({senderKey:s.value.senderCurve25519Key,sessionId:s.value.sessionId,sessionData:s.value.session})}catch(o){zt(e,o)}s.continue()}else try{t(null)}catch(o){zt(e,o)}}}addEndToEndInboundGroupSession(e,t,r,i){const o=i.objectStore("inbound_group_sessions").add({senderCurve25519Key:e,sessionId:t,session:r});o.onerror=c=>{o.error.name==="ConstraintError"?(c.stopPropagation(),c.preventDefault(),vn.logger.log("Ignoring duplicate inbound group session: "+e+" / "+t)):zt(i,new Error("Failed to add inbound group session: "+o.error))}}storeEndToEndInboundGroupSession(e,t,r,i){i.objectStore("inbound_group_sessions").put({senderCurve25519Key:e,sessionId:t,session:r})}storeEndToEndInboundGroupSessionWithheld(e,t,r,i){i.objectStore("inbound_group_sessions_withheld").put({senderCurve25519Key:e,sessionId:t,session:r})}getEndToEndDeviceData(e,t){const i=e.objectStore("device_data").get("-");i.onsuccess=function(){try{t(i.result||null)}catch(s){zt(e,s)}}}storeEndToEndDeviceData(e,t){t.objectStore("device_data").put(e,"-")}storeEndToEndRoom(e,t,r){r.objectStore("rooms").put(t,e)}getEndToEndRooms(e,t){const r={},s=e.objectStore("rooms").openCursor();s.onsuccess=function(){const o=s.result;if(o)r[o.key]=o.value,o.continue();else try{t(r)}catch(c){zt(e,c)}}}getSessionsNeedingBackup(e){return new Promise((t,r)=>{const i=[],s=this.db.transaction(["sessions_needing_backup","inbound_group_sessions"],"readonly");s.onerror=r,s.oncomplete=function(){t(i)};const o=s.objectStore("sessions_needing_backup"),c=s.objectStore("inbound_group_sessions"),l=o.openCursor();l.onsuccess=function(){const u=l.result;if(u){const a=c.get(u.key);a.onsuccess=function(){i.push({senderKey:a.result.senderCurve25519Key,sessionId:a.result.sessionId,sessionData:a.result.session})},(!e||i.length<e)&&u.continue()}}})}countSessionsNeedingBackup(e){e||(e=this.db.transaction("sessions_needing_backup","readonly"));const t=e.objectStore("sessions_needing_backup");return new Promise((r,i)=>{const s=t.count();s.onerror=i,s.onsuccess=()=>r(s.result)})}async unmarkSessionsNeedingBackup(e,t){t||(t=this.db.transaction("sessions_needing_backup","readwrite"));const r=t.objectStore("sessions_needing_backup");await Promise.all(e.map(i=>new Promise((s,o)=>{const c=r.delete([i.senderKey,i.sessionId]);c.onsuccess=s,c.onerror=o})))}async markSessionsNeedingBackup(e,t){t||(t=this.db.transaction("sessions_needing_backup","readwrite"));const r=t.objectStore("sessions_needing_backup");await Promise.all(e.map(i=>new Promise((s,o)=>{const c=r.put({senderCurve25519Key:i.senderKey,sessionId:i.sessionId});c.onsuccess=s,c.onerror=o})))}addSharedHistoryInboundGroupSession(e,t,r,i){i||(i=this.db.transaction("shared_history_inbound_group_sessions","readwrite"));const s=i.objectStore("shared_history_inbound_group_sessions"),o=s.get([e]);o.onsuccess=()=>{const{sessions:c}=o.result||{sessions:[]};c.push([t,r]),s.put({roomId:e,sessions:c})}}getSharedHistoryInboundGroupSessions(e,t){t||(t=this.db.transaction("shared_history_inbound_group_sessions","readonly"));const i=t.objectStore("shared_history_inbound_group_sessions").get([e]);return new Promise((s,o)=>{i.onsuccess=()=>{const{sessions:c}=i.result||{sessions:[]};s(c)},i.onerror=o})}doTxn(e,t,r,i=vn.logger){const s=this.db.transaction(t,e),o=ji(s),c=r(s);return o.then(()=>c)}}ms.Backend=fk;function pk(n,e){vn.logger.log(`Upgrading IndexedDBCryptoStore from version ${e} to ${jv}`),e<1&&gk(n),e<2&&n.createObjectStore("account"),e<3&&n.createObjectStore("sessions",{keyPath:["deviceKey","sessionId"]}).createIndex("deviceKey","deviceKey"),e<4&&n.createObjectStore("inbound_group_sessions",{keyPath:["senderCurve25519Key","sessionId"]}),e<5&&n.createObjectStore("device_data"),e<6&&n.createObjectStore("rooms"),e<7&&n.createObjectStore("sessions_needing_backup",{keyPath:["senderCurve25519Key","sessionId"]}),e<8&&n.createObjectStore("inbound_group_sessions_withheld",{keyPath:["senderCurve25519Key","sessionId"]}),e<9&&(n.createObjectStore("session_problems",{keyPath:["deviceKey","time"]}).createIndex("deviceKey","deviceKey"),n.createObjectStore("notified_error_devices",{keyPath:["userId","deviceId"]})),e<10&&n.createObjectStore("shared_history_inbound_group_sessions",{keyPath:["roomId"]})}function gk(n){const e=n.createObjectStore("outgoingRoomKeyRequests",{keyPath:"requestId"});e.createIndex("session",["requestBody.room_id","requestBody.session_id"]),e.createIndex("state","state")}function zt(n,e){n._mx_abortexception=e;try{n.abort()}catch{}}function ji(n){return new Promise((e,t)=>{n.oncomplete=()=>{n._mx_abortexception!==void 0&&t(n._mx_abortexception),e(null)},n.onerror=r=>{n._mx_abortexception!==void 0?t(n._mx_abortexception):(vn.logger.log("Error performing indexeddb txn",r),t(n.error))},n.onabort=r=>{n._mx_abortexception!==void 0?t(n._mx_abortexception):(vn.logger.log("Error performing indexeddb txn",r),t(n.error))}})}var Hl={};Object.defineProperty(Hl,"__esModule",{value:!0});Hl.exists=mk;function mk(n,e){return new Promise((t,r)=>{let i=!0;const s=n.open(e);s.onupgradeneeded=()=>{i=!1},s.onblocked=()=>r(s.error),s.onsuccess=()=>{s.result.close(),i||n.deleteDatabase(e),t(i)},s.onerror=o=>r(s.error)})}var yk=V.exports;Object.defineProperty(Kr,"__esModule",{value:!0});Kr.IndexedDBCryptoStore=void 0;var On=yk(Y.exports),Mr=ie,vk=Wl,_k=Po,Hu=Gv(ms),Sg=si,Ek=Gv(Hl);function Vv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Vv=function(r){return r?t:e})(n)}function Gv(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=Vv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}class Br{static exists(e,t){return Ek.exists(e,t)}constructor(e,t){this.indexedDB=e,this.dbName=t,(0,On.default)(this,"backendPromise",null),(0,On.default)(this,"backend",null)}startup(){return this.backendPromise?this.backendPromise:(this.backendPromise=new Promise((e,t)=>{if(!this.indexedDB){t(new Error("no indexeddb support available"));return}Mr.logger.log(`connecting to indexeddb ${this.dbName}`);const r=this.indexedDB.open(this.dbName,Hu.VERSION);r.onupgradeneeded=i=>{const s=r.result,o=i.oldVersion;Hu.upgradeDatabase(s,o)},r.onblocked=()=>{Mr.logger.log("can't yet open IndexedDBCryptoStore because it is open elsewhere")},r.onerror=i=>{Mr.logger.log("Error connecting to indexeddb",i),t(r.error)},r.onsuccess=()=>{const i=r.result;Mr.logger.log(`connected to indexeddb ${this.dbName}`),e(new Hu.Backend(i))}}).then(e=>e.doTxn("readonly",[Br.STORE_INBOUND_GROUP_SESSIONS,Br.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],t=>{e.getEndToEndInboundGroupSession("","",t,()=>{})}).then(()=>e)).catch(e=>{if(e.name==="VersionError")throw Mr.logger.warn("Crypto DB is too new for us to use!",e),new Sg.InvalidCryptoStoreError(Sg.InvalidCryptoStoreError.TOO_NEW);Mr.logger.warn(`unable to connect to indexeddb ${this.dbName}: falling back to localStorage store: ${e}`);try{return new vk.LocalStorageCryptoStore(j.localStorage)}catch(t){return Mr.logger.warn(`unable to open localStorage: falling back to in-memory store: ${t}`),new _k.MemoryCryptoStore}}).then(e=>(this.backend=e,e)),this.backendPromise)}deleteAllData(){return new Promise((e,t)=>{if(!this.indexedDB){t(new Error("no indexeddb support available"));return}Mr.logger.log(`Removing indexeddb instance: ${this.dbName}`);const r=this.indexedDB.deleteDatabase(this.dbName);r.onblocked=()=>{Mr.logger.log("can't yet delete IndexedDBCryptoStore because it is open elsewhere")},r.onerror=i=>{Mr.logger.log("Error deleting data from indexeddb",i),t(r.error)},r.onsuccess=()=>{Mr.logger.log(`Removed indexeddb instance: ${this.dbName}`),e()}}).catch(e=>{Mr.logger.warn(`unable to delete IndexedDBCryptoStore: ${e}`)})}getOrAddOutgoingRoomKeyRequest(e){return this.backend.getOrAddOutgoingRoomKeyRequest(e)}getOutgoingRoomKeyRequest(e){return this.backend.getOutgoingRoomKeyRequest(e)}getOutgoingRoomKeyRequestByState(e){return this.backend.getOutgoingRoomKeyRequestByState(e)}getAllOutgoingRoomKeyRequestsByState(e){return this.backend.getAllOutgoingRoomKeyRequestsByState(e)}getOutgoingRoomKeyRequestsByTarget(e,t,r){return this.backend.getOutgoingRoomKeyRequestsByTarget(e,t,r)}updateOutgoingRoomKeyRequest(e,t,r){return this.backend.updateOutgoingRoomKeyRequest(e,t,r)}deleteOutgoingRoomKeyRequest(e,t){return this.backend.deleteOutgoingRoomKeyRequest(e,t)}getAccount(e,t){this.backend.getAccount(e,t)}storeAccount(e,t){this.backend.storeAccount(e,t)}getCrossSigningKeys(e,t){this.backend.getCrossSigningKeys(e,t)}getSecretStorePrivateKey(e,t,r){this.backend.getSecretStorePrivateKey(e,t,r)}storeCrossSigningKeys(e,t){this.backend.storeCrossSigningKeys(e,t)}storeSecretStorePrivateKey(e,t,r){this.backend.storeSecretStorePrivateKey(e,t,r)}countEndToEndSessions(e,t){this.backend.countEndToEndSessions(e,t)}getEndToEndSession(e,t,r,i){this.backend.getEndToEndSession(e,t,r,i)}getEndToEndSessions(e,t,r){this.backend.getEndToEndSessions(e,t,r)}getAllEndToEndSessions(e,t){this.backend.getAllEndToEndSessions(e,t)}storeEndToEndSession(e,t,r,i){this.backend.storeEndToEndSession(e,t,r,i)}storeEndToEndSessionProblem(e,t,r){return this.backend.storeEndToEndSessionProblem(e,t,r)}getEndToEndSessionProblem(e,t){return this.backend.getEndToEndSessionProblem(e,t)}filterOutNotifiedErrorDevices(e){return this.backend.filterOutNotifiedErrorDevices(e)}getEndToEndInboundGroupSession(e,t,r,i){this.backend.getEndToEndInboundGroupSession(e,t,r,i)}getAllEndToEndInboundGroupSessions(e,t){this.backend.getAllEndToEndInboundGroupSessions(e,t)}addEndToEndInboundGroupSession(e,t,r,i){this.backend.addEndToEndInboundGroupSession(e,t,r,i)}storeEndToEndInboundGroupSession(e,t,r,i){this.backend.storeEndToEndInboundGroupSession(e,t,r,i)}storeEndToEndInboundGroupSessionWithheld(e,t,r,i){this.backend.storeEndToEndInboundGroupSessionWithheld(e,t,r,i)}storeEndToEndDeviceData(e,t){this.backend.storeEndToEndDeviceData(e,t)}getEndToEndDeviceData(e,t){this.backend.getEndToEndDeviceData(e,t)}storeEndToEndRoom(e,t,r){this.backend.storeEndToEndRoom(e,t,r)}getEndToEndRooms(e,t){this.backend.getEndToEndRooms(e,t)}getSessionsNeedingBackup(e){return this.backend.getSessionsNeedingBackup(e)}countSessionsNeedingBackup(e){return this.backend.countSessionsNeedingBackup(e)}unmarkSessionsNeedingBackup(e,t){return this.backend.unmarkSessionsNeedingBackup(e,t)}markSessionsNeedingBackup(e,t){return this.backend.markSessionsNeedingBackup(e,t)}addSharedHistoryInboundGroupSession(e,t,r,i){this.backend.addSharedHistoryInboundGroupSession(e,t,r,i)}getSharedHistoryInboundGroupSessions(e,t){return this.backend.getSharedHistoryInboundGroupSessions(e,t)}doTxn(e,t,r,i){return this.backend.doTxn(e,t,r,i)}}Kr.IndexedDBCryptoStore=Br;(0,On.default)(Br,"STORE_ACCOUNT","account");(0,On.default)(Br,"STORE_SESSIONS","sessions");(0,On.default)(Br,"STORE_INBOUND_GROUP_SESSIONS","inbound_group_sessions");(0,On.default)(Br,"STORE_INBOUND_GROUP_SESSIONS_WITHHELD","inbound_group_sessions_withheld");(0,On.default)(Br,"STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS","shared_history_inbound_group_sessions");(0,On.default)(Br,"STORE_DEVICE_DATA","device_data");(0,On.default)(Br,"STORE_ROOMS","rooms");(0,On.default)(Br,"STORE_BACKUP","sessions_needing_backup");var Sk=V.exports;Object.defineProperty(Gl,"__esModule",{value:!0});Gl.RoomList=void 0;var bk=Sk(Y.exports),bg=Kr;class wk{constructor(e){this.cryptoStore=e,(0,bk.default)(this,"roomEncryption",{})}async init(){await this.cryptoStore.doTxn("readwrite",[bg.IndexedDBCryptoStore.STORE_ROOMS],e=>{this.cryptoStore.getEndToEndRooms(e,t=>{this.roomEncryption=t})})}getRoomEncryption(e){return this.roomEncryption[e]||null}isRoomEncrypted(e){return Boolean(this.getRoomEncryption(e))}async setRoomEncryption(e,t){this.roomEncryption[e]=t,await this.cryptoStore.doTxn("readwrite",[bg.IndexedDBCryptoStore.STORE_ROOMS],r=>{this.cryptoStore.storeEndToEndRoom(e,t,r)})}}Gl.RoomList=wk;var Lo={};Object.defineProperty(Lo,"__esModule",{value:!0});Lo.SERVICE_TYPES=void 0;let mh;Lo.SERVICE_TYPES=mh;(function(n){n.IS="SERVICE_TYPE_IS",n.IM="SERVICE_TYPE_IM"})(mh||(Lo.SERVICE_TYPES=mh={}));var Kt={},ys={},df={},Ps={},Rk=V.exports;Object.defineProperty(Ps,"__esModule",{value:!0});Ps.DeviceInfo=void 0;var Ji=Rk(Y.exports),Xn;(function(n){n[n.Blocked=-1]="Blocked",n[n.Unverified=0]="Unverified",n[n.Verified=1]="Verified"})(Xn||(Xn={}));class Yl{static fromStorage(e,t){const r=new Yl(t);for(const i in e)e.hasOwnProperty(i)&&(r[i]=e[i]);return r}constructor(e){this.deviceId=e,(0,Ji.default)(this,"algorithms",void 0),(0,Ji.default)(this,"keys",{}),(0,Ji.default)(this,"verified",Xn.Unverified),(0,Ji.default)(this,"known",!1),(0,Ji.default)(this,"unsigned",{}),(0,Ji.default)(this,"signatures",{})}toStorage(){return{algorithms:this.algorithms,keys:this.keys,verified:this.verified,known:this.known,unsigned:this.unsigned,signatures:this.signatures}}getFingerprint(){return this.keys["ed25519:"+this.deviceId]}getIdentityKey(){return this.keys["curve25519:"+this.deviceId]}getDisplayName(){return this.unsigned.device_display_name||null}isBlocked(){return this.verified==Xn.Blocked}isVerified(){return this.verified==Xn.Verified}isUnverified(){return this.verified==Xn.Unverified}isKnown(){return this.known===!0}}Ps.DeviceInfo=Yl;(0,Ji.default)(Yl,"DeviceVerification",{VERIFIED:Xn.Verified,UNVERIFIED:Xn.Unverified,BLOCKED:Xn.Blocked});var _t={},Ik=V.exports;Object.defineProperty(_t,"__esModule",{value:!0});_t.UnknownDeviceError=_t.EncryptionAlgorithm=_t.ENCRYPTION_CLASSES=_t.DecryptionError=_t.DecryptionAlgorithm=_t.DECRYPTION_CLASSES=void 0;_t.registerAlgorithm=Mk;var $r=Ik(Y.exports);const Wv={};_t.ENCRYPTION_CLASSES=Wv;const Hv={};_t.DECRYPTION_CLASSES=Hv;class Tk{constructor(e){(0,$r.default)(this,"userId",void 0),(0,$r.default)(this,"deviceId",void 0),(0,$r.default)(this,"crypto",void 0),(0,$r.default)(this,"olmDevice",void 0),(0,$r.default)(this,"baseApis",void 0),(0,$r.default)(this,"roomId",void 0),this.userId=e.userId,this.deviceId=e.deviceId,this.crypto=e.crypto,this.olmDevice=e.olmDevice,this.baseApis=e.baseApis,this.roomId=e.roomId}prepareToEncrypt(e){}onRoomMembership(e,t,r){}}_t.EncryptionAlgorithm=Tk;class Ok{constructor(e){(0,$r.default)(this,"userId",void 0),(0,$r.default)(this,"crypto",void 0),(0,$r.default)(this,"olmDevice",void 0),(0,$r.default)(this,"baseApis",void 0),(0,$r.default)(this,"roomId",void 0),this.userId=e.userId,this.crypto=e.crypto,this.olmDevice=e.olmDevice,this.baseApis=e.baseApis,this.roomId=e.roomId}onRoomKeyEvent(e){}async importRoomKey(e,t){}hasKeysForKeyRequest(e){return Promise.resolve(!1)}shareKeysWithDevice(e){throw new Error("shareKeysWithDevice not supported for this DecryptionAlgorithm")}async retryDecryptionFromSender(e){return!1}}_t.DecryptionAlgorithm=Ok;class kk extends Error{constructor(e,t,r){super(t);this.code=e,(0,$r.default)(this,"detailedString",void 0),this.code=e,this.name="DecryptionError",this.detailedString=Ck(this,r)}}_t.DecryptionError=kk;function Ck(n,e){let t=n.name+"[msg: "+n.message;return e&&(t+=", "+Object.keys(e).map(r=>r+": "+e[r]).join(", ")),t+="]",t}class Pk extends Error{constructor(e,t){super(e);this.devices=t,this.name="UnknownDeviceError",this.devices=t}}_t.UnknownDeviceError=Pk;function Mk(n,e,t){Wv[n]=e,Hv[n]=t}var Ak=V.exports,wg=Ak(Y.exports),Rg=ie,yh=Uk(Me),Dk=Ps,gn=_t;function Yv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Yv=function(r){return r?t:e})(n)}function Uk(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=Yv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}const $k=Dk.DeviceInfo.DeviceVerification;class xk extends gn.EncryptionAlgorithm{constructor(...e){super(...e);(0,wg.default)(this,"sessionPrepared",!1),(0,wg.default)(this,"prepPromise",null)}ensureSession(e){return this.prepPromise?this.prepPromise:this.sessionPrepared?Promise.resolve():(this.prepPromise=this.crypto.downloadKeys(e).then(t=>this.crypto.ensureOlmSessionsForUsers(e)).then(()=>{this.sessionPrepared=!0}).finally(()=>{this.prepPromise=null}),this.prepPromise)}async encryptMessage(e,t,r){const s=(await e.getEncryptionTargetMembers()).map(function(u){return u.userId});await this.ensureSession(s);const o={room_id:e.roomId,type:t,content:r},c={algorithm:yh.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{}},l=[];for(let u=0;u<s.length;++u){const a=s[u],g=this.crypto.getStoredDevicesForUser(a);for(let m=0;m<g.length;++m){const p=g[m];p.getIdentityKey()!=this.olmDevice.deviceCurve25519Key&&p.verified!=$k.BLOCKED&&l.push(yh.encryptMessageForDevice(c.ciphertext,this.userId,this.deviceId,this.olmDevice,a,p,o))}}return await Promise.all(l).then(()=>c)}}class Nk extends gn.DecryptionAlgorithm{async decryptEvent(e){const t=e.getWireContent(),r=t.sender_key,i=t.ciphertext;if(!i)throw new gn.DecryptionError("OLM_MISSING_CIPHERTEXT","Missing ciphertext");if(!(this.olmDevice.deviceCurve25519Key in i))throw new gn.DecryptionError("OLM_NOT_INCLUDED_IN_RECIPIENTS","Not included in recipients");const s=i[this.olmDevice.deviceCurve25519Key];let o;try{o=await this.decryptMessage(r,s)}catch(u){throw new gn.DecryptionError("OLM_BAD_ENCRYPTED_MESSAGE","Bad Encrypted Message",{sender:r,err:u})}const c=JSON.parse(o);if(c.recipient!=this.userId)throw new gn.DecryptionError("OLM_BAD_RECIPIENT","Message was intented for "+c.recipient);if(c.recipient_keys.ed25519!=this.olmDevice.deviceEd25519Key)throw new gn.DecryptionError("OLM_BAD_RECIPIENT_KEY","Message not intended for this device",{intended:c.recipient_keys.ed25519,our_key:this.olmDevice.deviceEd25519Key});if(c.sender!=e.getSender())throw new gn.DecryptionError("OLM_FORWARDED_MESSAGE","Message forwarded from "+c.sender,{reported_sender:e.getSender()});if(c.room_id!==e.getRoomId())throw new gn.DecryptionError("OLM_BAD_ROOM","Message intended for room "+c.room_id,{reported_room:e.getRoomId()});const l=c.keys||{};return{clearEvent:c,senderCurve25519Key:r,claimedEd25519Key:l.ed25519||null}}async decryptMessage(e,t){if(t.type!==0)return this.reallyDecryptMessage(e,t);{const r=this.olmDevice.olmPrekeyPromise.then(()=>this.reallyDecryptMessage(e,t));return this.olmDevice.olmPrekeyPromise=r.catch(()=>{}),await r}}async reallyDecryptMessage(e,t){const r=await this.olmDevice.getSessionIdsForDevice(e),i={};for(let o=0;o<r.length;o++){const c=r[o];try{const l=await this.olmDevice.decryptMessage(e,c,t.type,t.body);return Rg.logger.log("Decrypted Olm message from "+e+" with session "+c),l}catch(l){if(await this.olmDevice.matchesSession(e,c,t.type,t.body))throw new Error("Error decrypting prekey message with existing session id "+c+": "+l.message);i[c]=l.message}}if(t.type!==0)throw r.length===0?new Error("No existing sessions"):new Error("Error decrypting non-prekey message with existing sessions: "+JSON.stringify(i));let s;try{s=await this.olmDevice.createInboundSession(e,t.type,t.body)}catch(o){throw i["(new)"]=o.message,new Error("Error decrypting prekey message: "+JSON.stringify(i))}return Rg.logger.log("created new inbound Olm session ID "+s.session_id+" with "+e),s.payload}}(0,gn.registerAlgorithm)(yh.OLM_ALGORITHM,xk,Nk);var hf={},Lk=V.exports;Object.defineProperty(hf,"__esModule",{value:!0});hf.isRoomSharedHistory=Jv;var xr=Lk(Y.exports),W=ie,Ze=Bk(Me),Wn=_t,Ig=ys;function zv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(zv=function(r){return r?t:e})(n)}function Bk(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=zv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}function Jv(n){var e,t;const r=n==null||(e=n.currentState)===null||e===void 0?void 0:e.getStateEvents("m.room.history_visibility",""),i=r==null||(t=r.getContent())===null||t===void 0?void 0:t.history_visibility;return["world_readable","shared"].includes(i)}class Kk{constructor(e,t=!1){this.sessionId=e,this.sharedHistory=t,(0,xr.default)(this,"useCount",0),(0,xr.default)(this,"creationTime",void 0),(0,xr.default)(this,"sharedWithDevices",{}),(0,xr.default)(this,"blockedDevicesNotified",{}),this.creationTime=new Date().getTime()}needsRotation(e,t){const r=new Date().getTime()-this.creationTime;return this.useCount>=e||r>=t?(W.logger.log("Rotating megolm session after "+this.useCount+" messages, "+r+"ms"),!0):!1}markSharedWithDevice(e,t,r,i){this.sharedWithDevices[e]||(this.sharedWithDevices[e]={}),this.sharedWithDevices[e][t]={deviceKey:r,messageIndex:i}}markNotifiedBlockedDevice(e,t){this.blockedDevicesNotified[e]||(this.blockedDevicesNotified[e]={}),this.blockedDevicesNotified[e][t]=!0}sharedWithTooManyDevices(e){for(const t in this.sharedWithDevices)if(!!this.sharedWithDevices.hasOwnProperty(t)){if(!e.hasOwnProperty(t))return W.logger.log("Starting new megolm session because we shared with "+t),!0;for(const r in this.sharedWithDevices[t])if(!!this.sharedWithDevices[t].hasOwnProperty(r)&&!e[t].hasOwnProperty(r))return W.logger.log("Starting new megolm session because we shared with "+t+":"+r),!0}}}class Fk extends Wn.EncryptionAlgorithm{constructor(e){var t,r,i,s;super(e);(0,xr.default)(this,"setupPromise",Promise.resolve(void 0)),(0,xr.default)(this,"outboundSessions",{}),(0,xr.default)(this,"sessionRotationPeriodMsgs",void 0),(0,xr.default)(this,"sessionRotationPeriodMs",void 0),(0,xr.default)(this,"encryptionPreparation",void 0),(0,xr.default)(this,"encryptionPreparationMetadata",void 0),this.sessionRotationPeriodMsgs=(t=(r=e.config)===null||r===void 0?void 0:r.rotation_period_msgs)!==null&&t!==void 0?t:100,this.sessionRotationPeriodMs=(i=(s=e.config)===null||s===void 0?void 0:s.rotation_period_ms)!==null&&i!==void 0?i:7*24*3600*1e3}async ensureOutboundSession(e,t,r,i=!1){let s;const o=async u=>{s=u;const a=Jv(e);s&&a!==s.sharedHistory&&(s=null),s&&s.needsRotation(this.sessionRotationPeriodMsgs,this.sessionRotationPeriodMs)&&(W.logger.log("Starting new megolm session because we need to rotate."),s=null),s&&s.sharedWithTooManyDevices(t)&&(s=null),s||(W.logger.log(`Starting new megolm session for room ${this.roomId}`),s=await this.prepareNewSession(a),W.logger.log(`Started new megolm session ${s.sessionId} for room ${this.roomId}`),this.outboundSessions[s.sessionId]=s);const g={};for(const[w,k]of Object.entries(t))for(const[P,S]of Object.entries(k))S.getIdentityKey()!=this.olmDevice.deviceCurve25519Key&&(!s.sharedWithDevices[w]||s.sharedWithDevices[w][P]===void 0)&&(g[w]=g[w]||[],g[w].push(S));const m=this.olmDevice.getOutboundGroupSessionKey(s.sessionId),p={type:"m.room_key",content:{algorithm:Ze.MEGOLM_ALGORITHM,room_id:this.roomId,session_id:s.sessionId,session_key:m.key,chain_index:m.chain_index,"org.matrix.msc3061.shared_history":a}},[E,I]=await Ze.getExistingOlmSessions(this.olmDevice,this.baseApis,g);await Promise.all([(async()=>{W.logger.debug(`Sharing keys with existing Olm sessions in ${this.roomId}`,I),await this.shareKeyWithOlmSessions(s,m,p,I),W.logger.debug(`Shared keys with existing Olm sessions in ${this.roomId}`)})(),(async()=>{W.logger.debug(`Sharing keys (start phase 1) with new Olm sessions in ${this.roomId}`,E);const w=[],k=Date.now(),P=[];await this.shareKeyWithDevices(s,m,p,E,w,i?1e4:2e3,P),W.logger.debug(`Shared keys (end phase 1) with new Olm sessions in ${this.roomId}`),!i&&Date.now()-k<1e4?(async()=>{const S={},T=new Set;for(const R of P)T.add(R);const D=[];for(const{userId:R,deviceInfo:L}of w){const H=R.slice(R.indexOf(":")+1);T.has(H)?(S[R]=S[R]||[],S[R].push(L)):D.push({userId:R,deviceInfo:L})}W.logger.debug(`Sharing keys (start phase 2) with new Olm sessions in ${this.roomId}`),await this.shareKeyWithDevices(s,m,p,S,D,3e4),W.logger.debug(`Shared keys (end phase 2) with new Olm sessions in ${this.roomId}`),await this.notifyFailedOlmDevices(s,m,D)})():await this.notifyFailedOlmDevices(s,m,w),W.logger.debug(`Shared keys (all phases done) with new Olm sessions in ${this.roomId}`)})(),(async()=>{W.logger.debug(`There are ${Object.entries(r).length} blocked devices in ${this.roomId}`,Object.entries(r)),W.logger.debug(`Notifying newly blocked devices in ${this.roomId}`);const w={};let k=0;for(const[P,S]of Object.entries(r))for(const[T,D]of Object.entries(S))(!s.blockedDevicesNotified[P]||s.blockedDevicesNotified[P][T]===void 0)&&(w[P]=w[P]||{},w[P][T]={device:D},k++);await this.notifyBlockedDevices(s,w),W.logger.debug(`Notified ${k} newly blocked devices in ${this.roomId}`,w)})()])};function c(){return s}const l=this.setupPromise.then(o);return l.catch(u=>{W.logger.error(`Failed to ensure outbound session in ${this.roomId}`,u)}),this.setupPromise=l.then(c,c),l.then(c)}async prepareNewSession(e){const t=this.olmDevice.createOutboundGroupSession(),r=this.olmDevice.getOutboundGroupSessionKey(t);return await this.olmDevice.addInboundGroupSession(this.roomId,this.olmDevice.deviceCurve25519Key,[],t,r.key,{ed25519:this.olmDevice.deviceEd25519Key},!1,{sharedHistory:e}),this.crypto.backupManager.backupGroupSession(this.olmDevice.deviceCurve25519Key,t),new Kk(t,e)}getDevicesWithoutSessions(e,t,r=[]){for(const[i,s]of Object.entries(t)){const o=e[i];for(const c of s){const l=c.deviceId;if(!o[l].sessionId){r.push({userId:i,deviceInfo:c}),delete o[l];continue}}}return r}splitDevices(e){let r=[];const i=[r];for(const[s,o]of Object.entries(e)){for(const c of Object.values(o))r.push({userId:s,deviceInfo:c.device});r.length>20&&(r=[],i.push(r))}return r.length===0&&i.pop(),i}encryptAndSendKeysToDevices(e,t,r,i){const s={},o=new Map,c=[];for(let l=0;l<r.length;l++){const u={algorithm:Ze.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{}},a=r[l],g=a.userId,m=a.deviceInfo,p=m.deviceId;o.set(p,m),s[g]||(s[g]={}),s[g][p]=u,c.push(Ze.encryptMessageForDevice(u.ciphertext,this.userId,this.deviceId,this.olmDevice,g,m,i))}return Promise.all(c).then(()=>{for(const l of Object.keys(s)){for(const u of Object.keys(s[l]))Object.keys(s[l][u].ciphertext).length===0&&(W.logger.log("No ciphertext for device "+l+":"+u+": pruning"),delete s[l][u]);Object.keys(s[l]).length===0&&(W.logger.log("Pruned all devices for user "+l),delete s[l])}if(Object.keys(s).length===0){W.logger.log("No users left to send to: aborting");return}return this.baseApis.sendToDevice("m.room.encrypted",s).then(()=>{for(const l of Object.keys(s))for(const u of Object.keys(s[l]))e.markSharedWithDevice(l,u,o.get(u).getIdentityKey(),t)})})}async sendBlockedNotificationsToDevices(e,t,r){const i={};for(const s of t){const o=s.userId,c=s.deviceInfo,u=c.deviceInfo.deviceId,a=Object.assign({},r);a.code=c.code,a.reason=c.reason,a.code==="m.no_olm"&&(delete a.room_id,delete a.session_id),i[o]||(i[o]={}),i[o][u]=a}await this.baseApis.sendToDevice("org.matrix.room_key.withheld",i),await this.baseApis.sendToDevice("m.room_key.withheld",i);for(const s of Object.keys(i))for(const o of Object.keys(i[s]))e.markNotifiedBlockedDevice(s,o)}async reshareKeyWithDevice(e,t,r,i){const s=this.outboundSessions[t];if(!s){W.logger.debug(`megolm session ${t} not found: not re-sharing keys`);return}if(s.sharedWithDevices[r]===void 0){W.logger.debug(`megolm session ${t} never shared with user ${r}`);return}const o=s.sharedWithDevices[r][i.deviceId];if(o===void 0){W.logger.debug("megolm session ID "+t+" never shared with device "+r+":"+i.deviceId);return}if(o.deviceKey!==i.getIdentityKey()){W.logger.warn(`Session has been shared with device ${i.deviceId} but with identity key ${o.deviceKey}. Key is now ${i.getIdentityKey()}!`);return}const c=await this.olmDevice.getInboundGroupSessionKey(this.roomId,e,t,o.messageIndex);if(!c){W.logger.warn(`No inbound session key found for megolm ${t}: not re-sharing keys`);return}await Ze.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,{[r]:[i]});const l={type:"m.forwarded_room_key",content:{algorithm:Ze.MEGOLM_ALGORITHM,room_id:this.roomId,session_id:t,session_key:c.key,chain_index:c.chain_index,sender_key:e,sender_claimed_ed25519_key:c.sender_claimed_ed25519_key,forwarding_curve25519_key_chain:c.forwarding_curve25519_key_chain,"org.matrix.msc3061.shared_history":c.shared_history||!1}},u={algorithm:Ze.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{}};await Ze.encryptMessageForDevice(u.ciphertext,this.userId,this.deviceId,this.olmDevice,r,i,l),await this.baseApis.sendToDevice("m.room.encrypted",{[r]:{[i.deviceId]:u}}),W.logger.debug(`Re-shared key for megolm session ${t} with ${r}:${i.deviceId}`)}async shareKeyWithDevices(e,t,r,i,s,o,c){W.logger.debug(`Ensuring Olm sessions for devices in ${this.roomId}`);const l=await Ze.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,i,!1,o,c,W.logger.withPrefix(`[${this.roomId}]`));W.logger.debug(`Ensured Olm sessions for devices in ${this.roomId}`),this.getDevicesWithoutSessions(l,i,s),W.logger.debug(`Sharing keys with newly created Olm sessions in ${this.roomId}`),await this.shareKeyWithOlmSessions(e,t,r,l),W.logger.debug(`Shared keys with newly created Olm sessions in ${this.roomId}`)}async shareKeyWithOlmSessions(e,t,r,i){const s=this.splitDevices(i);for(let o=0;o<s.length;o++){const c=`megolm keys for ${e.sessionId} in ${this.roomId} (slice ${o+1}/${s.length})`;try{W.logger.debug(`Sharing ${c}`,s[o].map(l=>`${l.userId}/${l.deviceInfo.deviceId}`)),await this.encryptAndSendKeysToDevices(e,t.chain_index,s[o],r),W.logger.debug(`Shared ${c}`)}catch(l){throw W.logger.error(`Failed to share ${c}`),l}}}async notifyFailedOlmDevices(e,t,r){W.logger.debug(`Notifying ${r.length} devices we failed to create Olm sessions in ${this.roomId}`);for(const{userId:o,deviceInfo:c}of r){const l=c.deviceId;e.markSharedWithDevice(o,l,c.getIdentityKey(),t.chain_index)}const i=await this.olmDevice.filterOutNotifiedErrorDevices(r);W.logger.debug(`Need to notify ${i.length} failed devices which haven't been notified before in ${this.roomId}`);const s={};for(const{userId:o,deviceInfo:c}of i)s[o]=s[o]||{},s[o][c.deviceId]={device:{code:"m.no_olm",reason:Ig.WITHHELD_MESSAGES["m.no_olm"],deviceInfo:c}};await this.notifyBlockedDevices(e,s),W.logger.debug(`Notified ${i.length} devices we failed to create Olm sessions in ${this.roomId}`)}async notifyBlockedDevices(e,t){const r={room_id:this.roomId,session_id:e.sessionId,algorithm:Ze.MEGOLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key},i=this.splitDevices(t);for(let s=0;s<i.length;s++)try{await this.sendBlockedNotificationsToDevices(e,i[s],r),W.logger.log(`Completed blacklist notification for ${e.sessionId} in ${this.roomId} (slice ${s+1}/${i.length})`)}catch(o){throw W.logger.log(`blacklist notification for ${e.sessionId} in ${this.roomId} (slice ${s+1}/${i.length}) failed`),o}}prepareToEncrypt(e){if(this.encryptionPreparation){const t=Date.now()-this.encryptionPreparationMetadata.startTime;W.logger.debug(`Already started preparing to encrypt for ${this.roomId} ${t} ms ago, skipping`);return}W.logger.debug(`Preparing to encrypt events for ${this.roomId}`),this.encryptionPreparationMetadata={startTime:Date.now()},this.encryptionPreparation=(async()=>{try{W.logger.debug(`Getting devices in ${this.roomId}`);const[t,r]=await this.getDevicesInRoom(e);this.crypto.getGlobalErrorOnUnknownDevices()&&this.removeUnknownDevices(t),W.logger.debug(`Ensuring outbound session in ${this.roomId}`),await this.ensureOutboundSession(e,t,r,!0),W.logger.debug(`Ready to encrypt events for ${this.roomId}`)}catch(t){W.logger.error(`Failed to prepare to encrypt events for ${this.roomId}`,t)}finally{delete this.encryptionPreparationMetadata,delete this.encryptionPreparation}})()}async encryptMessage(e,t,r){if(W.logger.log(`Starting to encrypt event for ${this.roomId}`),this.encryptionPreparation)try{await this.encryptionPreparation}catch{}const[i,s]=await this.getDevicesInRoom(e);this.crypto.getGlobalErrorOnUnknownDevices()&&this.checkForUnknownDevices(i);const o=await this.ensureOutboundSession(e,i,s),c={room_id:this.roomId,type:t,content:r},l=this.olmDevice.encryptGroupMessage(o.sessionId,JSON.stringify(c)),u={algorithm:Ze.MEGOLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:l,session_id:o.sessionId,device_id:this.deviceId};return o.useCount++,u}forceDiscardSession(){this.setupPromise=this.setupPromise.then(()=>null)}checkForUnknownDevices(e){const t={};if(Object.keys(e).forEach(r=>{Object.keys(e[r]).forEach(i=>{const s=e[r][i];s.isUnverified()&&!s.isKnown()&&(t[r]||(t[r]={}),t[r][i]=s)})}),Object.keys(t).length)throw new Wn.UnknownDeviceError("This room contains unknown devices which have not been verified. We strongly recommend you verify them before continuing.",t)}removeUnknownDevices(e){for(const[t,r]of Object.entries(e)){for(const[i,s]of Object.entries(r))s.isUnverified()&&!s.isKnown()&&delete r[i];Object.keys(r).length===0&&delete e[t]}}async getDevicesInRoom(e){const r=(await e.getEncryptionTargetMembers()).map(function(c){return c.userId});let i=this.crypto.getGlobalBlacklistUnverifiedDevices();typeof e.getBlacklistUnverifiedDevices()=="boolean"&&(i=e.getBlacklistUnverifiedDevices());const s=await this.crypto.downloadKeys(r,!1),o={};for(const c in s){if(!s.hasOwnProperty(c))continue;const l=s[c];for(const u in l){if(!l.hasOwnProperty(u))continue;const a=this.crypto.checkDeviceTrust(c,u);if(l[u].isBlocked()||!a.isVerified()&&i){o[c]||(o[c]={});const g=l[u].isBlocked();o[c][u]={code:g?"m.blacklisted":"m.unverified",reason:Ig.WITHHELD_MESSAGES[g?"m.blacklisted":"m.unverified"],deviceInfo:l[u]},delete l[u]}}}return[s,o]}}class qk extends Wn.DecryptionAlgorithm{constructor(...e){super(...e);(0,xr.default)(this,"pendingEvents",{}),(0,xr.default)(this,"olmlib",Ze)}async decryptEvent(e){const t=e.getWireContent();if(!t.sender_key||!t.session_id||!t.ciphertext)throw new Wn.DecryptionError("MEGOLM_MISSING_FIELDS","Missing fields in input");this.addEventToPendingList(e);let r;try{r=await this.olmDevice.decryptGroupMessage(e.getRoomId(),t.sender_key,t.session_id,t.ciphertext,e.getId(),e.getTs())}catch(s){if(s.name==="DecryptionError")throw s;let o="OLM_DECRYPT_GROUP_MESSAGE_ERROR";throw s&&s.message==="OLM.UNKNOWN_MESSAGE_INDEX"&&(this.requestKeysForEvent(e),o="OLM_UNKNOWN_MESSAGE_INDEX"),new Wn.DecryptionError(o,s?s.toString():"Unknown Error: Error is undefined",{session:t.sender_key+"|"+t.session_id})}if(r===null){this.requestKeysForEvent(e);const s=await this.olmDevice.sessionMayHaveProblems(t.sender_key,e.getTs()-12e4);if(s){let o=Tg[s.type]||Tg.unknown;throw s.fixed&&(o+=" Trying to create a new secure channel and re-requesting the keys."),new Wn.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",o,{session:t.sender_key+"|"+t.session_id})}throw new Wn.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID","The sender's device has not sent us the keys for this message.",{session:t.sender_key+"|"+t.session_id})}this.removeEventFromPendingList(e);const i=JSON.parse(r.result);if(i.room_id!==e.getRoomId())throw new Wn.DecryptionError("MEGOLM_BAD_ROOM","Message intended for room "+i.room_id);return{clearEvent:i,senderCurve25519Key:r.senderKey,claimedEd25519Key:r.keysClaimed.ed25519,forwardingCurve25519KeyChain:r.forwardingCurve25519KeyChain,untrusted:r.untrusted}}requestKeysForEvent(e){const t=e.getWireContent(),r=e.getKeyRequestRecipients(this.userId);this.crypto.requestRoomKey({room_id:e.getRoomId(),algorithm:t.algorithm,sender_key:t.sender_key,session_id:t.session_id},r)}addEventToPendingList(e){const t=e.getWireContent(),r=t.sender_key,i=t.session_id;this.pendingEvents[r]||(this.pendingEvents[r]=new Map);const s=this.pendingEvents[r];s.has(i)||s.set(i,new Set),s.get(i).add(e)}removeEventFromPendingList(e){const t=e.getWireContent(),r=t.sender_key,i=t.session_id,s=this.pendingEvents[r],o=s==null?void 0:s.get(i);!o||(o.delete(e),o.size===0&&s.delete(i),s.size===0&&delete this.pendingEvents[r])}onRoomKeyEvent(e){const t=e.getContent(),r=t.session_id;let i=e.getSenderKey(),s=[],o=!1,c;if(!t.room_id||!r||!t.session_key){W.logger.error("key event is missing fields");return}if(!i){W.logger.error("key event has no sender key (not encrypted?)");return}if(e.getType()=="m.forwarded_room_key"){if(o=!0,s=t.forwarding_curve25519_key_chain,Array.isArray(s)||(s=[]),s=s.slice(),s.push(i),i=t.sender_key,!i){W.logger.error("forwarded_room_key event is missing sender_key field");return}const u=t.sender_claimed_ed25519_key;if(!u){W.logger.error("forwarded_room_key_event is missing sender_claimed_ed25519_key field");return}c={ed25519:u}}else c=e.getKeysClaimed();const l={};return t["org.matrix.msc3061.shared_history"]&&(l.sharedHistory=!0),this.olmDevice.addInboundGroupSession(t.room_id,i,s,r,t.session_key,c,o,l).then(()=>{this.retryDecryption(i,r).then(u=>{u&&this.crypto.cancelRoomKeyRequest({algorithm:t.algorithm,room_id:t.room_id,session_id:t.session_id,sender_key:i})})}).then(()=>{this.crypto.backupManager.backupGroupSession(i,t.session_id)}).catch(u=>{W.logger.error(`Error handling m.room_key_event: ${u}`)})}async onRoomKeyWithheldEvent(e){const t=e.getContent(),r=t.sender_key;if(t.code==="m.no_olm"){const i=e.getSender();if(W.logger.warn(`${i}:${r} was unable to establish an olm session with us`),await this.olmDevice.getSessionIdForDevice(r)){W.logger.debug("New session already created. Not creating a new one."),await this.olmDevice.recordSessionProblem(r,"no_olm",!0),this.retryDecryptionFromSender(r);return}let s=this.crypto.deviceList.getDeviceByIdentityKey(t.algorithm,r);if(!s&&(await this.crypto.downloadKeys([i],!1),s=this.crypto.deviceList.getDeviceByIdentityKey(t.algorithm,r),!s)){W.logger.info("Couldn't find device for identity key "+r+": not establishing session"),await this.olmDevice.recordSessionProblem(r,"no_olm",!1),this.retryDecryptionFromSender(r);return}await Ze.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,{[i]:[s]},!1);const o={algorithm:Ze.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{}};await Ze.encryptMessageForDevice(o.ciphertext,this.userId,void 0,this.olmDevice,i,s,{type:"m.dummy"}),await this.olmDevice.recordSessionProblem(r,"no_olm",!0),this.retryDecryptionFromSender(r),await this.baseApis.sendToDevice("m.room.encrypted",{[i]:{[s.deviceId]:o}})}else await this.olmDevice.addInboundGroupSessionWithheld(t.room_id,r,t.session_id,t.code,t.reason)}hasKeysForKeyRequest(e){const t=e.requestBody;return this.olmDevice.hasInboundSessionKeys(t.room_id,t.sender_key,t.session_id)}shareKeysWithDevice(e){const t=e.userId,r=e.deviceId,i=this.crypto.getStoredDevice(t,r),s=e.requestBody;this.olmlib.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,{[t]:[i]}).then(o=>o[t][r].sessionId?(W.logger.log("sharing keys for session "+s.sender_key+"|"+s.session_id+" with device "+t+":"+r),this.buildKeyForwardingMessage(s.room_id,s.sender_key,s.session_id)):null).then(o=>{const c={algorithm:Ze.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{}};return this.olmlib.encryptMessageForDevice(c.ciphertext,this.userId,void 0,this.olmDevice,t,i,o).then(()=>{const l={[t]:{[r]:c}};return this.baseApis.sendToDevice("m.room.encrypted",l)})})}async buildKeyForwardingMessage(e,t,r){const i=await this.olmDevice.getInboundGroupSessionKey(e,t,r);return{type:"m.forwarded_room_key",content:{algorithm:Ze.MEGOLM_ALGORITHM,room_id:e,sender_key:t,sender_claimed_ed25519_key:i.sender_claimed_ed25519_key,session_id:r,session_key:i.key,chain_index:i.chain_index,forwarding_curve25519_key_chain:i.forwarding_curve25519_key_chain,"org.matrix.msc3061.shared_history":i.shared_history||!1}}}importRoomKey(e,t={}){const r={};return(t.untrusted||e.untrusted)&&(r.untrusted=!0),e["org.matrix.msc3061.shared_history"]&&(r.sharedHistory=!0),this.olmDevice.addInboundGroupSession(e.room_id,e.sender_key,e.forwarding_curve25519_key_chain,e.session_id,e.session_key,e.sender_claimed_keys,!0,r).then(()=>{t.source!=="backup"&&this.crypto.backupManager.backupGroupSession(e.sender_key,e.session_id).catch(i=>{W.logger.log("Failed to back up megolm session",i)}),this.retryDecryption(e.sender_key,e.session_id)})}async retryDecryption(e,t){var r;const i=this.pendingEvents[e];if(!i)return!0;const s=i.get(t);return s?(W.logger.debug("Retrying decryption on events",[...s]),await Promise.all([...s].map(async o=>{try{await o.attemptDecryption(this.crypto,{isRetry:!0})}catch{}})),!((r=this.pendingEvents[e])!==null&&r!==void 0&&r.has(t))):!0}async retryDecryptionFromSender(e){const t=this.pendingEvents[e];return t?(delete this.pendingEvents[e],await Promise.all([...t].map(async([r,i])=>{await Promise.all([...i].map(async s=>{try{await s.attemptDecryption(this.crypto)}catch{}}))})),!this.pendingEvents[e]):!0}async sendSharedHistoryInboundSessions(e){await Ze.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,e),W.logger.log("sendSharedHistoryInboundSessions to users",Object.keys(e));const t=await this.olmDevice.getSharedHistoryInboundGroupSessions(this.roomId);W.logger.log("shared-history sessions",t);for(const[r,i]of t){const s=await this.buildKeyForwardingMessage(this.roomId,r,i),o=[],c={};for(const[l,u]of Object.entries(e)){c[l]={};for(const a of u){const g={algorithm:Ze.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{}};c[l][a.deviceId]=g,o.push(Ze.encryptMessageForDevice(g.ciphertext,this.userId,void 0,this.olmDevice,l,a,s))}}await Promise.all(o);for(const l of Object.keys(c)){for(const u of Object.keys(c[l]))Object.keys(c[l][u].ciphertext).length===0&&(W.logger.log("No ciphertext for device "+l+":"+u+": pruning"),delete c[l][u]);Object.keys(c[l]).length===0&&(W.logger.log("Pruned all devices for user "+l),delete c[l])}if(Object.keys(c).length===0){W.logger.log("No users left to send to: aborting");return}await this.baseApis.sendToDevice("m.room.encrypted",c)}}}const Tg={no_olm:"The sender was unable to establish a secure channel.",unknown:"The secure channel with the sender was corrupted."};(0,Wn.registerAlgorithm)(Ze.MEGOLM_ALGORITHM,Fk,qk);(function(n){Object.defineProperty(n,"__esModule",{value:!0});var e=_t;Object.keys(e).forEach(function(t){t==="default"||t==="__esModule"||t in n&&n[t]===e[t]||Object.defineProperty(n,t,{enumerable:!0,get:function(){return e[t]}})})})(df);var jk=V.exports;Object.defineProperty(ys,"__esModule",{value:!0});ys.WITHHELD_MESSAGES=ys.OlmDevice=void 0;var wi=jk(Y.exports),tt=ie,Se=Kr,Og=Vk(df);function Xv(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Xv=function(r){return r?t:e})(n)}function Vk(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=Xv(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}const kg=65536*3/4;function Cg(n){if(n===void 0)throw new Error("payloadString undefined");if(n.length>kg){const e=new Error("Message too long ("+n.length+" bytes). The maximum for an encrypted message is "+kg+" bytes.");throw e.data={errcode:"M_TOO_LARGE",error:"Payload too large for encrypted message"},e}}class Gk{constructor(e){this.cryptoStore=e,(0,wi.default)(this,"pickleKey","DEFAULT_KEY"),(0,wi.default)(this,"deviceCurve25519Key",null),(0,wi.default)(this,"deviceEd25519Key",null),(0,wi.default)(this,"maxOneTimeKeys",null),(0,wi.default)(this,"outboundGroupSessionStore",{}),(0,wi.default)(this,"inboundGroupSessionMessageIndexes",{}),(0,wi.default)(this,"sessionsInProgress",{}),(0,wi.default)(this,"olmPrekeyPromise",Promise.resolve())}static getOlmVersion(){return j.Olm.get_library_version()}async init({pickleKey:e,fromExportedDevice:t}={}){let r;const i=new j.Olm.Account;try{t?(e&&tt.logger.warn("ignoring opts.pickleKey because opts.fromExportedDevice is present."),this.pickleKey=t.pickleKey,await this.initialiseFromExportedDevice(t,i)):(e&&(this.pickleKey=e),await this.initialiseAccount(i)),r=JSON.parse(i.identity_keys()),this.maxOneTimeKeys=i.max_number_of_one_time_keys()}finally{i.free()}this.deviceCurve25519Key=r.curve25519,this.deviceEd25519Key=r.ed25519}async initialiseFromExportedDevice(e,t){await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_ACCOUNT,Se.IndexedDBCryptoStore.STORE_SESSIONS],r=>{this.cryptoStore.storeAccount(r,e.pickledAccount),e.sessions.forEach(i=>{const{deviceKey:s,sessionId:o}=i,c={session:i.session,lastReceivedMessageTs:i.lastReceivedMessageTs};this.cryptoStore.storeEndToEndSession(s,o,c,r)})}),t.unpickle(this.pickleKey,e.pickledAccount)}async initialiseAccount(e){await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this.cryptoStore.getAccount(t,r=>{r!==null?e.unpickle(this.pickleKey,r):(e.create(),r=e.pickle(this.pickleKey),this.cryptoStore.storeAccount(t,r))})})}getAccount(e,t){this.cryptoStore.getAccount(e,r=>{const i=new j.Olm.Account;try{i.unpickle(this.pickleKey,r),t(i)}finally{i.free()}})}storeAccount(e,t){this.cryptoStore.storeAccount(e,t.pickle(this.pickleKey))}async export(){const e={pickleKey:this.pickleKey};return await this.cryptoStore.doTxn("readonly",[Se.IndexedDBCryptoStore.STORE_ACCOUNT,Se.IndexedDBCryptoStore.STORE_SESSIONS],t=>{this.cryptoStore.getAccount(t,r=>{e.pickledAccount=r}),e.sessions=[],this.cryptoStore.getAllEndToEndSessions(t,r=>{e.sessions.push(r)})}),e}getSession(e,t,r,i){this.cryptoStore.getEndToEndSession(e,t,r,s=>{this.unpickleSession(s,i)})}unpickleSession(e,t){const r=new j.Olm.Session;try{r.unpickle(this.pickleKey,e.session);const i=Object.assign({},e,{session:r});t(i)}finally{r.free()}}saveSession(e,t,r){const i=t.session.session_id(),s=Object.assign(t,{session:t.session.pickle(this.pickleKey)});this.cryptoStore.storeEndToEndSession(e,i,s,r)}getUtility(e){const t=new j.Olm.Utility;try{return e(t)}finally{t.free()}}async sign(e){let t;return await this.cryptoStore.doTxn("readonly",[Se.IndexedDBCryptoStore.STORE_ACCOUNT],r=>{this.getAccount(r,i=>{t=i.sign(e)})}),t}async getOneTimeKeys(){let e;return await this.cryptoStore.doTxn("readonly",[Se.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this.getAccount(t,r=>{e=JSON.parse(r.one_time_keys())})}),e}maxNumberOfOneTimeKeys(){return this.maxOneTimeKeys}async markKeysAsPublished(){await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this.getAccount(e,t=>{t.mark_keys_as_published(),this.storeAccount(e,t)})})}generateOneTimeKeys(e){return this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this.getAccount(t,r=>{r.generate_one_time_keys(e),this.storeAccount(t,r)})})}async generateFallbackKey(){await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this.getAccount(e,t=>{t.generate_fallback_key(),this.storeAccount(e,t)})})}async getFallbackKey(){let e;return await this.cryptoStore.doTxn("readonly",[Se.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this.getAccount(t,r=>{e=JSON.parse(r.unpublished_fallback_key())})}),e}async forgetOldFallbackKey(){await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this.getAccount(e,t=>{t.forget_old_fallback_key(),this.storeAccount(e,t)})})}async createOutboundSession(e,t){let r;return await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_ACCOUNT,Se.IndexedDBCryptoStore.STORE_SESSIONS],i=>{this.getAccount(i,s=>{const o=new j.Olm.Session;try{o.create_outbound(s,e,t),r=o.session_id(),this.storeAccount(i,s);const c={session:o,lastReceivedMessageTs:Date.now()};this.saveSession(e,c,i)}finally{o.free()}})},tt.logger.withPrefix("[createOutboundSession]")),r}async createInboundSession(e,t,r){if(t!==0)throw new Error("Need messageType == 0 to create inbound session");let i;return await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_ACCOUNT,Se.IndexedDBCryptoStore.STORE_SESSIONS],s=>{this.getAccount(s,o=>{const c=new j.Olm.Session;try{c.create_inbound_from(o,e,r),o.remove_one_time_keys(c),this.storeAccount(s,o);const l=c.decrypt(t,r),u={session:c,lastReceivedMessageTs:Date.now()};this.saveSession(e,u,s),i={payload:l,session_id:c.session_id()}}finally{c.free()}})},tt.logger.withPrefix("[createInboundSession]")),i}async getSessionIdsForDevice(e){const t=tt.logger.withPrefix("[getSessionIdsForDevice]");if(this.sessionsInProgress[e]){t.debug(`Waiting for Olm session for ${e} to be created`);try{await this.sessionsInProgress[e]}catch{}}let r;return await this.cryptoStore.doTxn("readonly",[Se.IndexedDBCryptoStore.STORE_SESSIONS],i=>{this.cryptoStore.getEndToEndSessions(e,i,s=>{r=Object.keys(s)})},t),r}async getSessionIdForDevice(e,t=!1,r){const i=await this.getSessionInfoForDevice(e,t,r);if(i.length===0)return null;let s=0;for(let o=1;o<i.length;o++){const c=i[o],l=c.lastReceivedMessageTs===void 0?0:c.lastReceivedMessageTs,u=i[s],a=u.lastReceivedMessageTs===void 0?0:u.lastReceivedMessageTs;(l>a||l===a&&c.sessionId<u.sessionId)&&(s=o)}return i[s].sessionId}async getSessionInfoForDevice(e,t=!1,r=tt.logger){if(r=r.withPrefix("[getSessionInfoForDevice]"),this.sessionsInProgress[e]&&!t){r.debug(`Waiting for Olm session for ${e} to be created`);try{await this.sessionsInProgress[e]}catch{}}const i=[];return await this.cryptoStore.doTxn("readonly",[Se.IndexedDBCryptoStore.STORE_SESSIONS],s=>{this.cryptoStore.getEndToEndSessions(e,s,o=>{const c=Object.keys(o).sort();for(const l of c)this.unpickleSession(o[l],u=>{i.push({lastReceivedMessageTs:u.lastReceivedMessageTs,hasReceivedMessage:u.session.has_received_message(),sessionId:l})})})},r),i}async encryptMessage(e,t,r){Cg(r);let i;return await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_SESSIONS],s=>{this.getSession(e,t,s,o=>{const c=o.session.describe();tt.logger.log("encryptMessage: Olm Session ID "+t+" to "+e+": "+c),i=o.session.encrypt(r),this.saveSession(e,o,s)})},tt.logger.withPrefix("[encryptMessage]")),i}async decryptMessage(e,t,r,i){let s;return await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this.getSession(e,t,o,c=>{const l=c.session.describe();tt.logger.log("decryptMessage: Olm Session ID "+t+" from "+e+": "+l),s=c.session.decrypt(r,i),c.lastReceivedMessageTs=Date.now(),this.saveSession(e,c,o)})},tt.logger.withPrefix("[decryptMessage]")),s}async matchesSession(e,t,r,i){if(r!==0)return!1;let s;return await this.cryptoStore.doTxn("readonly",[Se.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this.getSession(e,t,o,c=>{s=c.session.matches_inbound(i)})},tt.logger.withPrefix("[matchesSession]")),s}async recordSessionProblem(e,t,r){await this.cryptoStore.storeEndToEndSessionProblem(e,t,r)}async sessionMayHaveProblems(e,t){return await this.cryptoStore.getEndToEndSessionProblem(e,t)}async filterOutNotifiedErrorDevices(e){return await this.cryptoStore.filterOutNotifiedErrorDevices(e)}saveOutboundGroupSession(e){this.outboundGroupSessionStore[e.session_id()]=e.pickle(this.pickleKey)}getOutboundGroupSession(e,t){const r=this.outboundGroupSessionStore[e];if(r===void 0)throw new Error("Unknown outbound group session "+e);const i=new j.Olm.OutboundGroupSession;try{return i.unpickle(this.pickleKey,r),t(i)}finally{i.free()}}createOutboundGroupSession(){const e=new j.Olm.OutboundGroupSession;try{return e.create(),this.saveOutboundGroupSession(e),e.session_id()}finally{e.free()}}encryptGroupMessage(e,t){return tt.logger.log(`encrypting msg with megolm session ${e}`),Cg(t),this.getOutboundGroupSession(e,r=>{const i=r.encrypt(t);return this.saveOutboundGroupSession(r),i})}getOutboundGroupSessionKey(e){return this.getOutboundGroupSession(e,function(t){return{chain_index:t.message_index(),key:t.session_key()}})}unpickleInboundGroupSession(e,t){const r=new j.Olm.InboundGroupSession;try{return r.unpickle(this.pickleKey,e.session),t(r)}finally{r.free()}}getInboundGroupSession(e,t,r,i,s){this.cryptoStore.getEndToEndInboundGroupSession(t,r,i,(o,c)=>{if(o===null){s(null,null,c);return}if(e!==null&&e!==o.room_id)throw new Error("Mismatched room_id for inbound group session (expected "+o.room_id+", was "+e+")");this.unpickleInboundGroupSession(o,l=>{s(l,o,c)})})}async addInboundGroupSession(e,t,r,i,s,o,c,l={}){await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,Se.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD,Se.IndexedDBCryptoStore.STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS],u=>{this.getInboundGroupSession(e,t,i,u,(a,g)=>{const m=new j.Olm.InboundGroupSession;try{if(c?m.import_session(s):m.create(s),i!=m.session_id())throw new Error("Mismatched group session ID from senderKey: "+t);if(a&&(tt.logger.log("Update for megolm session "+t+"/"+i),a.first_known_index()<=m.first_known_index()&&!(a.first_known_index()==m.first_known_index()&&!l.untrusted&&g.untrusted))){tt.logger.log(`Keeping existing megolm session ${i}`);return}tt.logger.info("Storing megolm session "+t+"/"+i+" with first index "+m.first_known_index());const p=Object.assign({},l,{room_id:e,session:m.pickle(this.pickleKey),keysClaimed:o,forwardingCurve25519KeyChain:r});this.cryptoStore.storeEndToEndInboundGroupSession(t,i,p,u),!a&&l.sharedHistory&&this.cryptoStore.addSharedHistoryInboundGroupSession(e,t,i,u)}finally{m.free()}})},tt.logger.withPrefix("[addInboundGroupSession]"))}async addInboundGroupSessionWithheld(e,t,r,i,s){await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this.cryptoStore.storeEndToEndInboundGroupSessionWithheld(t,r,{room_id:e,code:i,reason:s},o)})}async decryptGroupMessage(e,t,r,i,s,o){let c,l;if(await this.cryptoStore.doTxn("readwrite",[Se.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,Se.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],u=>{this.getInboundGroupSession(e,t,r,u,(a,g,m)=>{if(a===null){m&&(l=new Og.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",Pg(m),{session:t+"|"+r})),c=null;return}let p;try{p=a.decrypt(i)}catch(I){I&&I.message==="OLM.UNKNOWN_MESSAGE_INDEX"&&m?l=new Og.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",Pg(m),{session:t+"|"+r}):l=I;return}let E=p.plaintext;if(E===void 0)E=p;else{const I=t+"|"+r+"|"+p.message_index;if(I in this.inboundGroupSessionMessageIndexes){const w=this.inboundGroupSessionMessageIndexes[I];if(w.id!==s||w.timestamp!==o){l=new Error("Duplicate message index, possible replay attack: "+I);return}}this.inboundGroupSessionMessageIndexes[I]={id:s,timestamp:o}}g.session=a.pickle(this.pickleKey),this.cryptoStore.storeEndToEndInboundGroupSession(t,r,g,u),c={result:E,keysClaimed:g.keysClaimed||{},senderKey:t,forwardingCurve25519KeyChain:g.forwardingCurve25519KeyChain||[],untrusted:g.untrusted}})},tt.logger.withPrefix("[decryptGroupMessage]")),l)throw l;return c}async hasInboundSessionKeys(e,t,r){let i;return await this.cryptoStore.doTxn("readonly",[Se.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,Se.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],s=>{this.cryptoStore.getEndToEndInboundGroupSession(t,r,s,o=>{if(o===null){i=!1;return}e!==o.room_id?(tt.logger.warn(`requested keys for inbound group session ${t}|${r}, with incorrect room_id (expected ${o.room_id}, was ${e})`),i=!1):i=!0})},tt.logger.withPrefix("[hasInboundSessionKeys]")),i}async getInboundGroupSessionKey(e,t,r,i){let s;return await this.cryptoStore.doTxn("readonly",[Se.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,Se.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this.getInboundGroupSession(e,t,r,o,(c,l)=>{if(c===null){s=null;return}i===void 0&&(i=c.first_known_index());const u=c.export_session(i),g=(l.keysClaimed||{}).ed25519||null;s={chain_index:i,key:u,forwarding_curve25519_key_chain:l.forwardingCurve25519KeyChain||[],sender_claimed_ed25519_key:g,shared_history:l.sharedHistory||!1}})},tt.logger.withPrefix("[getInboundGroupSessionKey]")),s}exportInboundGroupSession(e,t,r){return this.unpickleInboundGroupSession(r,i=>{const s=i.first_known_index();return{sender_key:e,sender_claimed_keys:r.keysClaimed,room_id:r.room_id,session_id:t,session_key:i.export_session(s),forwarding_curve25519_key_chain:r.forwardingCurve25519KeyChain||[],first_known_index:i.first_known_index(),"org.matrix.msc3061.shared_history":r.sharedHistory||!1}})}async getSharedHistoryInboundGroupSessions(e){let t;return await this.cryptoStore.doTxn("readonly",[Se.IndexedDBCryptoStore.STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS],r=>{t=this.cryptoStore.getSharedHistoryInboundGroupSessions(e,r)},tt.logger.withPrefix("[getSharedHistoryInboundGroupSessionsForRoom]")),t}verifySignature(e,t,r){this.getUtility(function(i){i.ed25519_verify(e,t,r)})}}ys.OlmDevice=Gk;const vh={"m.unverified":"The sender has disabled encrypting to unverified devices.","m.blacklisted":"The sender has blocked you.","m.unauthorised":"You are not authorised to read the message.","m.no_olm":"Unable to establish a secure channel."};ys.WITHHELD_MESSAGES=vh;function Pg(n){return n.code&&n.code in vh?vh[n.code]:n.reason?n.reason:"decryption key withheld"}var vs={},Ct={},ci={};Object.defineProperty(ci,"__esModule",{value:!0});ci.calculateKeyCheck=Qk;ci.decryptAES=Jk;ci.encryptAES=t_;var ff=G,wn=Me;const Rn=typeof window!="undefined"&&window.crypto?window.crypto.subtle||window.crypto.webkitSubtle:null,Qv=new Uint8Array(8);async function Wk(n,e,t,r){const i=(0,ff.getCrypto)();if(!i)throw new Error("No usable crypto implementation");let s;r?s=(0,wn.decodeBase64)(r):(s=i.randomBytes(16),s[8]&=127);const[o,c]=Zv(e,t),l=i.createCipheriv("aes-256-ctr",o,s),u=Buffer.concat([l.update(n,"utf8"),l.final()]),a=i.createHmac("sha256",c).update(u).digest("base64");return{iv:(0,wn.encodeBase64)(s),ciphertext:u.toString("base64"),mac:a}}async function Hk(n,e,t){const r=(0,ff.getCrypto)();if(!r)throw new Error("No usable crypto implementation");const[i,s]=Zv(e,t);if(r.createHmac("sha256",s).update(Buffer.from(n.ciphertext,"base64")).digest("base64").replace(/=+$/g,"")!==n.mac.replace(/=+$/g,""))throw new Error(`Error decrypting secret ${t}: bad MAC`);const c=r.createDecipheriv("aes-256-ctr",i,(0,wn.decodeBase64)(n.iv));return c.update(n.ciphertext,"base64","utf8")+c.final("utf8")}function Zv(n,e){const t=(0,ff.getCrypto)(),r=t.createHmac("sha256",Qv).update(n).digest(),i=Buffer.alloc(1,1),s=t.createHmac("sha256",r).update(e,"utf8").update(i).digest();i[0]=2;const o=t.createHmac("sha256",r).update(s).update(e,"utf8").update(i).digest();return[s,o]}async function Yk(n,e,t,r){let i;r?i=(0,wn.decodeBase64)(r):(i=new Uint8Array(16),window.crypto.getRandomValues(i),i[8]&=127);const[s,o]=await e_(e,t),c=new TextEncoder().encode(n),l=await Rn.encrypt({name:"AES-CTR",counter:i,length:64},s,c),u=await Rn.sign({name:"HMAC"},o,l);return{iv:(0,wn.encodeBase64)(i),ciphertext:(0,wn.encodeBase64)(l),mac:(0,wn.encodeBase64)(u)}}async function zk(n,e,t){const[r,i]=await e_(e,t),s=(0,wn.decodeBase64)(n.ciphertext);if(!await Rn.verify({name:"HMAC"},i,(0,wn.decodeBase64)(n.mac),s))throw new Error(`Error decrypting secret ${t}: bad MAC`);const o=await Rn.decrypt({name:"AES-CTR",counter:(0,wn.decodeBase64)(n.iv),length:64},r,s);return new TextDecoder().decode(new Uint8Array(o))}async function e_(n,e){const t=await Rn.importKey("raw",n,{name:"HKDF"},!1,["deriveBits"]),r=await Rn.deriveBits({name:"HKDF",salt:Qv,info:new TextEncoder().encode(e),hash:"SHA-256"},t,512),i=r.slice(0,32),s=r.slice(32),o=Rn.importKey("raw",i,{name:"AES-CTR"},!1,["encrypt","decrypt"]),c=Rn.importKey("raw",s,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]);return await Promise.all([o,c])}function t_(n,e,t,r){return Rn?Yk(n,e,t,r):Wk(n,e,t,r)}function Jk(n,e,t){return Rn?zk(n,e,t):Hk(n,e,t)}const Xk="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";function Qk(n,e){return t_(Xk,n,"",e)}var Zk=V.exports;Object.defineProperty(Ct,"__esModule",{value:!0});Ct.UserTrustLevel=Ct.DeviceTrustLevel=Ct.CrossSigningLevel=Ct.CrossSigningInfo=void 0;Ct.createCryptoStoreCacheCallbacks=rC;Ct.requestKeysDuringVerification=nC;var Yu=Zk(Y.exports),rr=Me,Bt=ie,Mg=Kr,Ag=ci;const eC=1e3*60;function Oc(n){return Object.values(n.keys)[0]}class zl{constructor(e,t={},r={}){this.userId=e,this.callbacks=t,this.cacheCallbacks=r,(0,Yu.default)(this,"keys",{}),(0,Yu.default)(this,"firstUse",!0),(0,Yu.default)(this,"crossSigningVerifiedBefore",!1)}static fromStorage(e,t){const r=new zl(t);for(const i in e)e.hasOwnProperty(i)&&(r[i]=e[i]);return r}toStorage(){return{keys:this.keys,firstUse:this.firstUse,crossSigningVerifiedBefore:this.crossSigningVerifiedBefore}}async getCrossSigningKey(e,t){const r=["master","self_signing","user_signing"].indexOf(e)>=0;if(!this.callbacks.getCrossSigningKey)throw new Error("No getCrossSigningKey callback supplied");t===void 0&&(t=this.getId(e));function i(l){if(!l)return;const u=new j.Olm.PkSigning,a=u.init_with_seed(l);if(a===t)return[a,u];u.free()}let s;this.cacheCallbacks.getCrossSigningKeyCache&&r&&(s=await this.cacheCallbacks.getCrossSigningKeyCache(e,t));const o=i(s);if(o)return o;s=await this.callbacks.getCrossSigningKey(e,t);const c=i(s);if(c)return this.cacheCallbacks.storeCrossSigningKeyCache&&r&&await this.cacheCallbacks.storeCrossSigningKeyCache(e,s),c;throw s?new Error("Key type "+e+" from getCrossSigningKey callback did not match"):new Error("getCrossSigningKey callback for "+e+" returned falsey")}async isStoredInSecretStorage(e){const t=await e.isStored("m.cross_signing.master",!1)||{};function r(i){for(const s of Object.keys(t))i[s]||delete t[s]}for(const i of["self_signing","user_signing"])r(await e.isStored(`m.cross_signing.${i}`,!1)||{});return Object.keys(t).length?t:null}static async storeInSecretStorage(e,t){for(const[r,i]of e){const s=(0,rr.encodeBase64)(i);await t.store(`m.cross_signing.${r}`,s)}}static async getFromSecretStorage(e,t){const r=await t.get(`m.cross_signing.${e}`);return r?(0,rr.decodeBase64)(r):null}async isStoredInKeyCache(e){const t=this.cacheCallbacks;if(!t)return!1;const r=e?[e]:["master","self_signing","user_signing"];for(const i of r)if(!await t.getCrossSigningKeyCache(i))return!1;return!0}async getCrossSigningKeysFromCache(){const e=new Map,t=this.cacheCallbacks;if(!t)return e;for(const r of["master","self_signing","user_signing"]){const i=await t.getCrossSigningKeyCache(r);!i||e.set(r,i)}return e}getId(e="master"){if(!this.keys[e])return null;const t=this.keys[e];return Oc(t)}async resetKeys(e){if(!this.callbacks.saveCrossSigningKeys)throw new Error("No saveCrossSigningKeys callback supplied");if(e===void 0||e&_n.MASTER||!this.keys.master)e=_n.MASTER|_n.USER_SIGNING|_n.SELF_SIGNING;else if(e===0)return;const t={},r={};let i,s;try{if(e&_n.MASTER?(i=new j.Olm.PkSigning,t.master=i.generate_seed(),s=i.init_with_seed(t.master),r.master={user_id:this.userId,usage:["master"],keys:{["ed25519:"+s]:s}}):[s,i]=await this.getCrossSigningKey("master"),e&_n.SELF_SIGNING){const o=new j.Olm.PkSigning;try{t.self_signing=o.generate_seed();const c=o.init_with_seed(t.self_signing);r.self_signing={user_id:this.userId,usage:["self_signing"],keys:{["ed25519:"+c]:c}},(0,rr.pkSign)(r.self_signing,i,this.userId,s)}finally{o.free()}}if(e&_n.USER_SIGNING){const o=new j.Olm.PkSigning;try{t.user_signing=o.generate_seed();const c=o.init_with_seed(t.user_signing);r.user_signing={user_id:this.userId,usage:["user_signing"],keys:{["ed25519:"+c]:c}},(0,rr.pkSign)(r.user_signing,i,this.userId,s)}finally{o.free()}}Object.assign(this.keys,r),this.callbacks.saveCrossSigningKeys(t)}finally{i&&i.free()}}clearKeys(){this.keys={}}setKeys(e){const t={};if(e.master){if(e.master.user_id!==this.userId){const i="Mismatched user ID "+e.master.user_id+" in master key from "+this.userId;throw Bt.logger.error(i),new Error(i)}this.keys.master?Oc(e.master)!==this.getId()&&(this.firstUse=!1):this.firstUse=!0,t.master=e.master}else if(this.keys.master)t.master=this.keys.master;else throw new Error("Tried to set cross-signing keys without a master key");const r=Oc(t.master);if(e.user_signing){if(e.user_signing.user_id!==this.userId){const i="Mismatched user ID "+e.master.user_id+" in user_signing key from "+this.userId;throw Bt.logger.error(i),new Error(i)}try{(0,rr.pkVerify)(e.user_signing,r,this.userId)}catch(i){throw Bt.logger.error("invalid signature on user-signing key"),i}}if(e.self_signing){if(e.self_signing.user_id!==this.userId){const i="Mismatched user ID "+e.master.user_id+" in self_signing key from "+this.userId;throw Bt.logger.error(i),new Error(i)}try{(0,rr.pkVerify)(e.self_signing,r,this.userId)}catch(i){throw Bt.logger.error("invalid signature on self-signing key"),i}}e.master&&(this.keys.master=e.master,this.keys.self_signing=null,this.keys.user_signing=null),e.self_signing&&(this.keys.self_signing=e.self_signing),e.user_signing&&(this.keys.user_signing=e.user_signing)}updateCrossSigningVerifiedBefore(e){!this.crossSigningVerifiedBefore&&e&&(this.crossSigningVerifiedBefore=!0)}async signObject(e,t){if(!this.keys[t])throw new Error("Attempted to sign with "+t+" key but no such key present");const[r,i]=await this.getCrossSigningKey(t);try{return(0,rr.pkSign)(e,i,this.userId,r),e}finally{i.free()}}async signUser(e){if(!this.keys.user_signing){Bt.logger.info("No user signing key: not signing user");return}return this.signObject(e.keys.master,"user_signing")}async signDevice(e,t){if(e!==this.userId)throw new Error(`Trying to sign ${e}'s device; can only sign our own device`);if(!this.keys.self_signing){Bt.logger.info("No self signing key: not signing device");return}return this.signObject({algorithms:t.algorithms,keys:t.keys,device_id:t.deviceId,user_id:e},"self_signing")}checkUserTrust(e){if(this.userId===e.userId&&this.getId()&&this.getId()===e.getId()&&this.getId("self_signing")&&this.getId("self_signing")===e.getId("self_signing"))return new tl(!0,!0,this.firstUse);if(!this.keys.user_signing)return new tl(!1,!1,e.firstUse);let t;const r=e.keys.master,i=this.getId("user_signing");try{(0,rr.pkVerify)(r,i,this.userId),t=!0}catch{t=!1}return new tl(t,e.crossSigningVerifiedBefore,e.firstUse)}checkDeviceTrust(e,t,r,i){const s=this.checkUserTrust(e),o=e.keys.self_signing;if(!o)return new go(!1,!1,r,i);const c=tC(t,e.userId);try{return(0,rr.pkVerify)(o,e.getId(),e.userId),(0,rr.pkVerify)(c,Oc(o),e.userId),go.fromUserTrustLevel(s,r,i)}catch{return new go(!1,!1,r,i)}}getCacheCallbacks(){return this.cacheCallbacks}}Ct.CrossSigningInfo=zl;function tC(n,e){return{algorithms:n.algorithms,keys:n.keys,device_id:n.deviceId,user_id:e,signatures:n.signatures}}let _n;Ct.CrossSigningLevel=_n;(function(n){n[n.MASTER=4]="MASTER",n[n.USER_SIGNING=2]="USER_SIGNING",n[n.SELF_SIGNING=1]="SELF_SIGNING"})(_n||(Ct.CrossSigningLevel=_n={}));class tl{constructor(e,t,r){this.crossSigningVerified=e,this.crossSigningVerifiedBefore=t,this.tofu=r}isVerified(){return this.isCrossSigningVerified()}isCrossSigningVerified(){return this.crossSigningVerified}wasCrossSigningVerified(){return this.crossSigningVerifiedBefore}isTofu(){return this.tofu}}Ct.UserTrustLevel=tl;class go{constructor(e,t,r,i){this.crossSigningVerified=e,this.tofu=t,this.localVerified=r,this.trustCrossSignedDevices=i}static fromUserTrustLevel(e,t,r){return new go(e.isCrossSigningVerified(),e.isTofu(),t,r)}isVerified(){return Boolean(this.isLocallyVerified()||this.trustCrossSignedDevices&&this.isCrossSigningVerified())}isCrossSigningVerified(){return this.crossSigningVerified}isLocallyVerified(){return this.localVerified}isTofu(){return this.tofu}}Ct.DeviceTrustLevel=go;function rC(n,e){return{getCrossSigningKeyCache:async function(t,r){const i=await new Promise(s=>n.doTxn("readonly",[Mg.IndexedDBCryptoStore.STORE_ACCOUNT],o=>{n.getSecretStorePrivateKey(o,s,t)}));if(i&&i.ciphertext){const s=Buffer.from(e.pickleKey),o=await(0,Ag.decryptAES)(i,s,t);return(0,rr.decodeBase64)(o)}else return i},storeCrossSigningKeyCache:async function(t,r){if(!(r instanceof Uint8Array))throw new Error(`storeCrossSigningKeyCache expects Uint8Array, got ${r}`);const i=Buffer.from(e.pickleKey),s=await(0,Ag.encryptAES)((0,rr.encodeBase64)(r),i,t);return n.doTxn("readwrite",[Mg.IndexedDBCryptoStore.STORE_ACCOUNT],o=>{n.storeSecretStorePrivateKey(o,t,s)})}}}function nC(n,e,t){if(n.getUserId()===e)return Bt.logger.log("Cross-signing: Self-verification done; requesting keys"),new Promise((r,i)=>{const s=n,o=s.crypto.crossSigningInfo,c=new zl(o.userId,{getCrossSigningKey:async a=>{Bt.logger.debug("Cross-signing: requesting secret",a,t);const{promise:g}=s.requestSecret(`m.cross_signing.${a}`,[t]),m=await g,p=(0,rr.decodeBase64)(m);return Uint8Array.from(p)}},o.getCacheCallbacks());c.keys=o.keys;const l=new Promise(a=>{setTimeout(a,eC,new Error("Timeout"))}),u=(async()=>{if(!await s.crypto.getSessionBackupPrivateKey()){Bt.logger.info("No cached backup key found. Requesting...");const m=await s.requestSecret("m.megolm_backup.v1",[t]).promise;Bt.logger.info("Got key backup key, decoding...");const p=(0,rr.decodeBase64)(m);Bt.logger.info("Decoded backup key, storing..."),await s.crypto.storeSessionBackupPrivateKey(Uint8Array.from(p)),Bt.logger.info("Backup key stored. Starting backup restore...");const E=await s.getKeyBackupVersion();s.restoreKeyBackupWithCache(void 0,void 0,E).then(()=>{Bt.logger.info("Backup restored.")})}})();return Promise.race([Promise.all([c.getCrossSigningKey("master"),c.getCrossSigningKey("self_signing"),c.getCrossSigningKey("user_signing"),u]),l]).then(r,i)}).catch(r=>{Bt.logger.warn("Cross-signing: failure while requesting keys:",r)})}var iC=V.exports;Object.defineProperty(vs,"__esModule",{value:!0});vs.TrackingStatus=vs.DeviceList=void 0;var vt=iC(Y.exports),Ae=ie,Pa=Ps,r_=Ct,_h=oC(Me),Dg=Kr,zu=G,sC=qe,Eh=Kt;function n_(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(n_=function(r){return r?t:e})(n)}function oC(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=n_(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}let kt;vs.TrackingStatus=kt;(function(n){n[n.NotTracked=0]="NotTracked",n[n.PendingDownload=1]="PendingDownload",n[n.DownloadInProgress=2]="DownloadInProgress",n[n.UpToDate=3]="UpToDate"})(kt||(vs.TrackingStatus=kt={}));class aC extends sC.TypedEventEmitter{constructor(e,t,r,i=250){super();this.cryptoStore=t,this.keyDownloadChunkSize=i,(0,vt.default)(this,"devices",{}),(0,vt.default)(this,"crossSigningInfo",{}),(0,vt.default)(this,"userByIdentityKey",{}),(0,vt.default)(this,"deviceTrackingStatus",{}),(0,vt.default)(this,"syncToken",null),(0,vt.default)(this,"keyDownloadsInProgressByUser",{}),(0,vt.default)(this,"dirty",!1),(0,vt.default)(this,"savePromise",null),(0,vt.default)(this,"resolveSavePromise",null),(0,vt.default)(this,"savePromiseTime",null),(0,vt.default)(this,"saveTimer",null),(0,vt.default)(this,"hasFetched",null),(0,vt.default)(this,"serialiser",void 0),this.serialiser=new cC(e,r,this)}async load(){await this.cryptoStore.doTxn("readonly",[Dg.IndexedDBCryptoStore.STORE_DEVICE_DATA],e=>{this.cryptoStore.getEndToEndDeviceData(e,t=>{this.hasFetched=Boolean(t&&t.devices),this.devices=t?t.devices:{},this.crossSigningInfo=t?t.crossSigningInfo||{}:{},this.deviceTrackingStatus=t?t.trackingStatus:{},this.syncToken=t?t.syncToken:null,this.userByIdentityKey={};for(const r of Object.keys(this.devices)){const i=this.devices[r];for(const s of Object.keys(i)){const o=i[s].keys["curve25519:"+s];o!==void 0&&(this.userByIdentityKey[o]=r)}}})});for(const e of Object.keys(this.deviceTrackingStatus))this.deviceTrackingStatus[e]==kt.DownloadInProgress&&(this.deviceTrackingStatus[e]=kt.PendingDownload)}stop(){this.saveTimer!==null&&clearTimeout(this.saveTimer)}async saveIfDirty(e=500){if(!this.dirty)return Promise.resolve(!1);const t=Date.now()+e;this.savePromiseTime&&t<this.savePromiseTime&&(clearTimeout(this.saveTimer),this.saveTimer=null,this.savePromiseTime=null);let r=this.savePromise;if(r===null&&(r=new Promise((i,s)=>{this.resolveSavePromise=i}),this.savePromise=r),this.saveTimer===null){const i=this.resolveSavePromise;this.savePromiseTime=t,this.saveTimer=setTimeout(()=>{Ae.logger.log("Saving device tracking data",this.syncToken),this.savePromiseTime=null,this.saveTimer=null,this.savePromise=null,this.resolveSavePromise=null,this.cryptoStore.doTxn("readwrite",[Dg.IndexedDBCryptoStore.STORE_DEVICE_DATA],s=>{this.cryptoStore.storeEndToEndDeviceData({devices:this.devices,crossSigningInfo:this.crossSigningInfo,trackingStatus:this.deviceTrackingStatus,syncToken:this.syncToken},s)}).then(()=>{this.dirty=!1,i(!0)},s=>{Ae.logger.error("Failed to save device tracking data",this.syncToken),Ae.logger.error(s)})},e)}return r}getSyncToken(){return this.syncToken}setSyncToken(e){this.syncToken=e}downloadKeys(e,t){const r=[],i=[];if(e.forEach(s=>{const o=this.deviceTrackingStatus[s];this.keyDownloadsInProgressByUser[s]?(Ae.logger.log(`downloadKeys: already have a download in progress for ${s}: awaiting its result`),i.push(this.keyDownloadsInProgressByUser[s])):(t||o!=kt.UpToDate)&&r.push(s)}),r.length!=0){Ae.logger.log("downloadKeys: downloading for",r);const s=this.doKeyDownload(r);i.push(s)}return i.length===0&&Ae.logger.log("downloadKeys: already have all necessary keys"),Promise.all(i).then(()=>this.getDevicesFromStore(e))}getDevicesFromStore(e){const t={};return e.map(r=>{t[r]={},(this.getStoredDevicesForUser(r)||[]).map(function(s){t[r][s.deviceId]=s})}),t}getKnownUserIds(){return Object.keys(this.devices)}getStoredDevicesForUser(e){const t=this.devices[e];if(!t)return null;const r=[];for(const i in t)t.hasOwnProperty(i)&&r.push(Pa.DeviceInfo.fromStorage(t[i],i));return r}getRawStoredDevicesForUser(e){return this.devices[e]}getStoredCrossSigningForUser(e){return this.crossSigningInfo[e]?r_.CrossSigningInfo.fromStorage(this.crossSigningInfo[e],e):null}storeCrossSigningForUser(e,t){this.crossSigningInfo[e]=t,this.dirty=!0}getStoredDevice(e,t){const r=this.devices[e];if(!(!r||!r[t]))return Pa.DeviceInfo.fromStorage(r[t],t)}getUserByIdentityKey(e,t){return e!==_h.OLM_ALGORITHM&&e!==_h.MEGOLM_ALGORITHM?null:this.userByIdentityKey[t]}getDeviceByIdentityKey(e,t){const r=this.getUserByIdentityKey(e,t);if(!r)return null;const i=this.devices[r];if(!i)return null;for(const s in i){if(!i.hasOwnProperty(s))continue;const o=i[s];for(const c in o.keys){if(!o.keys.hasOwnProperty(c)||c.indexOf("curve25519:")!==0)continue;if(o.keys[c]==t)return Pa.DeviceInfo.fromStorage(o,s)}}return null}storeDevicesForUser(e,t){this.setRawStoredDevicesForUser(e,t),this.dirty=!0}startTrackingDeviceList(e){if(typeof e!="string")throw new Error("userId must be a string; was "+e);this.deviceTrackingStatus[e]||(Ae.logger.log("Now tracking device list for "+e),this.deviceTrackingStatus[e]=kt.PendingDownload,this.dirty=!0)}stopTrackingDeviceList(e){this.deviceTrackingStatus[e]&&(Ae.logger.log("No longer tracking device list for "+e),this.deviceTrackingStatus[e]=kt.NotTracked,this.dirty=!0)}stopTrackingAllDeviceLists(){for(const e of Object.keys(this.deviceTrackingStatus))this.deviceTrackingStatus[e]=kt.NotTracked;this.dirty=!0}invalidateUserDeviceList(e){this.deviceTrackingStatus[e]&&(Ae.logger.log("Marking device list outdated for",e),this.deviceTrackingStatus[e]=kt.PendingDownload,this.dirty=!0)}refreshOutdatedDeviceLists(){this.saveIfDirty();const e=[];for(const t of Object.keys(this.deviceTrackingStatus))this.deviceTrackingStatus[t]==kt.PendingDownload&&e.push(t);return this.doKeyDownload(e)}setRawStoredDevicesForUser(e,t){if(this.devices[e]!==void 0)for(const[r,i]of Object.entries(this.devices[e])){const s=i.keys["curve25519:"+r];delete this.userByIdentityKey[s]}this.devices[e]=t;for(const[r,i]of Object.entries(t)){const s=i.keys["curve25519:"+r];this.userByIdentityKey[s]=e}}setRawStoredCrossSigningForUser(e,t){this.crossSigningInfo[e]=t}doKeyDownload(e){if(e.length===0)return Promise.resolve();const t=this.serialiser.updateDevicesForUsers(e,this.syncToken).then(()=>{r(!0)},i=>{throw Ae.logger.error("Error downloading keys for "+e+":",i),r(!1),i});e.forEach(i=>{this.keyDownloadsInProgressByUser[i]=t,this.deviceTrackingStatus[i]==kt.PendingDownload&&(this.deviceTrackingStatus[i]=kt.DownloadInProgress)});const r=i=>{this.emit(Eh.CryptoEvent.WillUpdateDevices,e,!this.hasFetched),e.forEach(s=>{if(this.dirty=!0,this.keyDownloadsInProgressByUser[s]!==t){Ae.logger.log("Another update in the queue for",s,"- not marking up-to-date");return}delete this.keyDownloadsInProgressByUser[s],this.deviceTrackingStatus[s]==kt.DownloadInProgress&&(i?(this.deviceTrackingStatus[s]=kt.UpToDate,Ae.logger.log("Device list for",s,"now up to date")):this.deviceTrackingStatus[s]=kt.PendingDownload)}),this.saveIfDirty(),this.emit(Eh.CryptoEvent.DevicesUpdated,e,!this.hasFetched),this.hasFetched=!0};return t}}vs.DeviceList=aC;class cC{constructor(e,t,r){this.baseApis=e,this.olmDevice=t,this.deviceList=r,(0,vt.default)(this,"downloadInProgress",!1),(0,vt.default)(this,"keyDownloadsQueuedByUser",{}),(0,vt.default)(this,"queuedQueryDeferred",null),(0,vt.default)(this,"syncToken",null)}updateDevicesForUsers(e,t){return e.forEach(r=>{this.keyDownloadsQueuedByUser[r]=!0}),this.queuedQueryDeferred||(this.queuedQueryDeferred=(0,zu.defer)()),this.syncToken=t,this.downloadInProgress?(Ae.logger.log("Queued key download for",e),this.queuedQueryDeferred.promise):this.doQueuedQueries()}doQueuedQueries(){if(this.downloadInProgress)throw new Error("DeviceListUpdateSerialiser.doQueuedQueries called with request active");const e=Object.keys(this.keyDownloadsQueuedByUser);this.keyDownloadsQueuedByUser={};const t=this.queuedQueryDeferred;this.queuedQueryDeferred=null,Ae.logger.log("Starting key download for",e),this.downloadInProgress=!0;const r={};this.syncToken&&(r.token=this.syncToken);const i=[];for(let s=0;s<e.length;s+=this.deviceList.keyDownloadChunkSize){const o=e.slice(s,s+this.deviceList.keyDownloadChunkSize);i.push(()=>this.baseApis.downloadKeysForUsers(o,r))}return(0,zu.chunkPromises)(i,3).then(async s=>{const o=Object.assign({},...s.map(a=>a.device_keys||{})),c=Object.assign({},...s.map(a=>a.master_keys||{})),l=Object.assign({},...s.map(a=>a.self_signing_keys||{})),u=Object.assign({},...s.map(a=>a.user_signing_keys||{}));for(const a of e){await(0,zu.sleep)(5);try{await this.processQueryResponseForUser(a,o[a],{master:c[a],self_signing:l[a],user_signing:u[a]})}catch(g){Ae.logger.error(`Error processing keys for ${a}:`,g)}}}).then(()=>{Ae.logger.log("Completed key download for "+e),this.downloadInProgress=!1,t.resolve(),this.queuedQueryDeferred&&this.doQueuedQueries()},s=>{Ae.logger.warn("Error downloading keys for "+e+":",s),this.downloadInProgress=!1,t.reject(s)}),t.promise}async processQueryResponseForUser(e,t,r){Ae.logger.log("got device keys for "+e+":",t),Ae.logger.log("got cross-signing keys for "+e+":",r);{const i={},s=this.deviceList.getRawStoredDevicesForUser(e);s&&Object.keys(s).forEach(c=>{const l=Pa.DeviceInfo.fromStorage(s[c],c);i[c]=l}),await lC(this.olmDevice,e,i,t||{},this.baseApis.getUserId(),this.baseApis.deviceId);const o={};Object.keys(i).forEach(c=>{o[c]=i[c].toStorage()}),this.deviceList.setRawStoredDevicesForUser(e,o)}if(r&&(r.master||r.self_signing||r.user_signing)){const i=this.deviceList.getStoredCrossSigningForUser(e)||new r_.CrossSigningInfo(e);i.setKeys(r),this.deviceList.setRawStoredCrossSigningForUser(e,i.toStorage()),this.deviceList.emit(Eh.CryptoEvent.UserCrossSigningUpdated,e)}}}async function lC(n,e,t,r,i,s){let o=!1;for(const c in t)if(!!t.hasOwnProperty(c)&&!(c in r)){if(e===i&&c===s){Ae.logger.warn(`Local device ${c} missing from sync, skipping removal`);continue}Ae.logger.log("Device "+e+":"+c+" has been removed"),delete t[c],o=!0}for(const c in r){if(!r.hasOwnProperty(c))continue;const l=r[c];if(l.user_id!==e){Ae.logger.warn("Mismatched user_id "+l.user_id+" in keys from "+e+":"+c);continue}if(l.device_id!==c){Ae.logger.warn("Mismatched device_id "+l.device_id+" in keys from "+e+":"+c);continue}await uC(n,t,l)&&(o=!0)}return o}async function uC(n,e,t){if(!t.keys)return!1;const r=t.device_id,i=t.user_id,s="ed25519:"+r,o=t.keys[s];if(!o)return Ae.logger.warn("Device "+i+":"+r+" has no ed25519 key"),!1;const c=t.unsigned||{},l=t.signatures||{};try{await _h.verifySignature(n,t,i,r,o)}catch(a){return Ae.logger.warn("Unable to verify signature on device "+i+":"+r+":"+a),!1}let u;if(r in e){if(u=e[r],u.getFingerprint()!=o)return Ae.logger.warn("Ed25519 key for device "+i+":"+r+" has changed"),!1}else e[r]=u=new Pa.DeviceInfo(r);return u.keys=t.keys||{},u.algorithms=t.algorithms||[],u.unsigned=c,u.signatures=l,!0}var bo={},dC=V.exports;Object.defineProperty(bo,"__esModule",{value:!0});bo.EncryptionSetupOperation=bo.EncryptionSetupBuilder=void 0;var En=dC(Y.exports),hC=ie,fC=qt,pC=Ct,gC=Kr,kc=me,mC=Is,yC=qe;class vC{constructor(e,t){(0,En.default)(this,"accountDataClientAdapter",void 0),(0,En.default)(this,"crossSigningCallbacks",void 0),(0,En.default)(this,"ssssCryptoCallbacks",void 0),(0,En.default)(this,"crossSigningKeys",null),(0,En.default)(this,"keySignatures",null),(0,En.default)(this,"keyBackupInfo",null),(0,En.default)(this,"sessionBackupPrivateKey",void 0),this.accountDataClientAdapter=new _C(e),this.crossSigningCallbacks=new EC,this.ssssCryptoCallbacks=new SC(t)}addCrossSigningKeys(e,t){this.crossSigningKeys={authUpload:e,keys:t}}addSessionBackup(e){this.keyBackupInfo=e}addSessionBackupPrivateKeyToCache(e){this.sessionBackupPrivateKey=e}addKeySignature(e,t,r){this.keySignatures||(this.keySignatures={});const i=this.keySignatures[e]||{};this.keySignatures[e]=i,i[t]=r}async setAccountData(e,t){await this.accountDataClientAdapter.setAccountData(e,t)}buildOperation(){const e=this.accountDataClientAdapter.values;return new i_(e,this.crossSigningKeys,this.keyBackupInfo,this.keySignatures)}async persist(e){if(this.crossSigningKeys){const t=(0,pC.createCryptoStoreCacheCallbacks)(e.cryptoStore,e.olmDevice);for(const r of["master","self_signing","user_signing"]){hC.logger.log(`Cache ${r} cross-signing private key locally`);const i=this.crossSigningCallbacks.privateKeys.get(r);await t.storeCrossSigningKeyCache(r,i)}await e.cryptoStore.doTxn("readwrite",[gC.IndexedDBCryptoStore.STORE_ACCOUNT],r=>{e.cryptoStore.storeCrossSigningKeys(r,this.crossSigningKeys.keys)})}this.sessionBackupPrivateKey&&await e.storeSessionBackupPrivateKey(this.sessionBackupPrivateKey)}}bo.EncryptionSetupBuilder=vC;class i_{constructor(e,t,r,i){this.accountData=e,this.crossSigningKeys=t,this.keyBackupInfo=r,this.keySignatures=i}async apply(e){const t=e.baseApis;if(this.crossSigningKeys){const r={};for(const[i,s]of Object.entries(this.crossSigningKeys.keys))r[i+"_key"]=s;await this.crossSigningKeys.authUpload(i=>t.uploadDeviceSigningKeys(i,r)),e.crossSigningInfo.setKeys(this.crossSigningKeys.keys)}if(this.accountData)for(const[r,i]of this.accountData)await t.setAccountData(r,i);this.keySignatures&&await t.uploadKeySignatures(this.keySignatures),this.keyBackupInfo&&(this.keyBackupInfo.version?await t.http.authedRequest(void 0,kc.Method.Put,"/room_keys/version/"+this.keyBackupInfo.version,void 0,{algorithm:this.keyBackupInfo.algorithm,auth_data:this.keyBackupInfo.auth_data},{prefix:kc.PREFIX_UNSTABLE}):await t.http.authedRequest(void 0,kc.Method.Post,"/room_keys/version",void 0,this.keyBackupInfo,{prefix:kc.PREFIX_UNSTABLE}))}}bo.EncryptionSetupOperation=i_;class _C extends yC.TypedEventEmitter{constructor(e){super();this.existingValues=e,(0,En.default)(this,"values",new Map)}getAccountDataFromServer(e){return Promise.resolve(this.getAccountData(e))}getAccountData(e){const t=this.values.get(e);if(t)return t;const r=this.existingValues[e];return r?r.getContent():null}setAccountData(e,t){const r=this.values.get(e);return this.values.set(e,t),Promise.resolve().then(()=>{const i=new fC.MatrixEvent({type:e,content:t});return this.emit(mC.ClientEvent.AccountData,i,r),{}})}}class EC{constructor(){(0,En.default)(this,"privateKeys",new Map)}getCrossSigningKeyCache(e,t){return this.getCrossSigningKey(e,t)}storeCrossSigningKeyCache(e,t){return this.privateKeys.set(e,t),Promise.resolve()}getCrossSigningKey(e,t){return Promise.resolve(this.privateKeys.get(e))}saveCrossSigningKeys(e){for(const[t,r]of Object.entries(e))this.privateKeys.set(t,r)}}class SC{constructor(e){this.delegateCryptoCallbacks=e,(0,En.default)(this,"privateKeys",new Map)}async getSecretStorageKey({keys:e},t){var r;for(const i of Object.keys(e)){const s=this.privateKeys.get(i);if(s)return[i,s]}if(this!==null&&this!==void 0&&(r=this.delegateCryptoCallbacks)!==null&&r!==void 0&&r.getSecretStorageKey){const i=await this.delegateCryptoCallbacks.getSecretStorageKey({keys:e},t);if(i){const[s,o]=i;this.privateKeys.set(s,o)}return i}return null}addPrivateKey(e,t,r){var i,s;this.privateKeys.set(e,r),(i=this.delegateCryptoCallbacks)===null||i===void 0||(s=i.cacheSecretStorageKey)===null||s===void 0||s.call(i,e,t,r)}}var wo={},bC=V.exports;Object.defineProperty(wo,"__esModule",{value:!0});wo.SecretStorage=wo.SECRET_STORAGE_ALGORITHM_V1_AES=void 0;var wC=bC(Y.exports),un=ie,Qo=IC(Me),RC=oi,Cc=ci,Ju=Is;function s_(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(s_=function(r){return r?t:e})(n)}function IC(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=s_(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}const Xi="m.secret_storage.v1.aes-hmac-sha2";wo.SECRET_STORAGE_ALGORITHM_V1_AES=Xi;class TC{constructor(e,t,r){this.accountDataAdapter=e,this.cryptoCallbacks=t,this.baseApis=r,(0,wC.default)(this,"requests",new Map)}async getDefaultKeyId(){const e=await this.accountDataAdapter.getAccountDataFromServer("m.secret_storage.default_key");return e?e.key:null}setDefaultKeyId(e){return new Promise((t,r)=>{const i=s=>{s.getType()==="m.secret_storage.default_key"&&s.getContent().key===e&&(this.accountDataAdapter.removeListener(Ju.ClientEvent.AccountData,i),t())};this.accountDataAdapter.on(Ju.ClientEvent.AccountData,i),this.accountDataAdapter.setAccountData("m.secret_storage.default_key",{key:e}).catch(s=>{this.accountDataAdapter.removeListener(Ju.ClientEvent.AccountData,i),r(s)})})}async addKey(e,t,r){const i={algorithm:e};if(t||(t={}),t.name&&(i.name=t.name),e===Xi){if(t.passphrase&&(i.passphrase=t.passphrase),t.key){const{iv:s,mac:o}=await(0,Cc.calculateKeyCheck)(t.key);i.iv=s,i.mac=o}}else throw new Error(`Unknown key algorithm ${e}`);if(!r)do r=(0,RC.randomString)(32);while(await this.accountDataAdapter.getAccountDataFromServer(`m.secret_storage.key.${r}`));return await this.accountDataAdapter.setAccountData(`m.secret_storage.key.${r}`,i),{keyId:r,keyInfo:i}}async getKey(e){if(e||(e=await this.getDefaultKeyId()),!e)return null;const t=await this.accountDataAdapter.getAccountDataFromServer("m.secret_storage.key."+e);return t?[e,t]:null}async hasKey(e){return Boolean(await this.getKey(e))}async checkKey(e,t){if(t.algorithm===Xi)if(t.mac){const{mac:r}=await(0,Cc.calculateKeyCheck)(e,t.iv);return t.mac.replace(/=+$/g,"")===r.replace(/=+$/g,"")}else return!0;else throw new Error("Unknown algorithm")}async store(e,t,r){const i={};if(!r){const s=await this.getDefaultKeyId();if(!s)throw new Error("No keys specified and no default key present");r=[s]}if(r.length===0)throw new Error("Zero keys given to encrypt with!");for(const s of r){const o=await this.accountDataAdapter.getAccountDataFromServer("m.secret_storage.key."+s);if(!o)throw new Error("Unknown key: "+s);if(o.algorithm===Xi){const c={[s]:o},[,l]=await this.getSecretStorageKey(c,e);i[s]=await l.encrypt(t)}else un.logger.warn("unknown algorithm for secret storage key "+s+": "+o.algorithm)}await this.accountDataAdapter.setAccountData(e,{encrypted:i})}async get(e){const t=await this.accountDataAdapter.getAccountDataFromServer(e);if(!t)return;if(!t.encrypted)throw new Error("Content is not encrypted!");const r={};for(const o of Object.keys(t.encrypted)){const c=await this.accountDataAdapter.getAccountDataFromServer("m.secret_storage.key."+o),l=t.encrypted[o];c.algorithm===Xi&&l.iv&&l.ciphertext&&l.mac&&(r[o]=c)}if(Object.keys(r).length===0)throw new Error(`Could not decrypt ${e} because none of the keys it is encrypted with are for a supported algorithm`);let i,s;try{[i,s]=await this.getSecretStorageKey(r,e);const o=t.encrypted[i];return o.passthrough?(0,Qo.encodeBase64)(s.get_private_key()):await s.decrypt(o)}finally{s&&s.free&&s.free()}}async isStored(e,t){const r=await this.accountDataAdapter.getAccountDataFromServer(e);if(!r||!r.encrypted)return null;const i={};for(const s of Object.keys(r.encrypted)){const o=await this.accountDataAdapter.getAccountDataFromServer("m.secret_storage.key."+s);if(!o)continue;const c=r.encrypted[s];o.algorithm===Xi&&c.iv&&c.ciphertext&&c.mac&&(i[s]=o)}return Object.keys(i).length?i:null}request(e,t){const r=this.baseApis.makeTxnId();let i,s;const o=new Promise((a,g)=>{i=a,s=g});this.requests.set(r,{name:e,devices:t,resolve:i,reject:s});const c=a=>{const g={action:"request_cancellation",requesting_device_id:this.baseApis.deviceId,request_id:r},m={};for(const p of t)m[p]=g;this.baseApis.sendToDevice("m.secret.request",{[this.baseApis.getUserId()]:m}),s(new Error(a||"Cancelled"))},l={name:e,action:"request",requesting_device_id:this.baseApis.deviceId,request_id:r},u={};for(const a of t)u[a]=l;return un.logger.info(`Request secret ${e} from ${t}, id ${r}`),this.baseApis.sendToDevice("m.secret.request",{[this.baseApis.getUserId()]:u}),{requestId:r,promise:o,cancel:c}}async onRequestReceived(e){const t=e.getSender(),r=e.getContent();if(t!==this.baseApis.getUserId()||!(r.name&&r.action&&r.requesting_device_id&&r.request_id))return;const i=r.requesting_device_id;if(r.action!=="request_cancellation"){if(r.action==="request"){if(i===this.baseApis.deviceId||(un.logger.info("received request for secret ("+t+", "+i+", "+r.request_id+")"),!this.cryptoCallbacks.onSecretRequested))return;const s=await this.cryptoCallbacks.onSecretRequested(t,i,r.request_id,r.name,this.baseApis.checkDeviceTrust(t,i));if(s){un.logger.info(`Preparing ${r.name} secret for ${i}`);const o={type:"m.secret.send",content:{request_id:r.request_id,secret:s}},c={algorithm:Qo.OLM_ALGORITHM,sender_key:this.baseApis.crypto.olmDevice.deviceCurve25519Key,ciphertext:{}};await Qo.ensureOlmSessionsForDevices(this.baseApis.crypto.olmDevice,this.baseApis,{[t]:[this.baseApis.getStoredDevice(t,i)]}),await Qo.encryptMessageForDevice(c.ciphertext,this.baseApis.getUserId(),this.baseApis.deviceId,this.baseApis.crypto.olmDevice,t,this.baseApis.getStoredDevice(t,i),o);const l={[t]:{[i]:c}};un.logger.info(`Sending ${r.name} secret for ${i}`),this.baseApis.sendToDevice("m.room.encrypted",l)}else un.logger.info(`Request denied for ${r.name} secret for ${i}`)}}}onSecretReceived(e){if(e.getSender()!==this.baseApis.getUserId())return;const t=e.getContent();un.logger.log("got secret share for request",t.request_id);const r=this.requests.get(t.request_id);if(r){const i=this.baseApis.crypto.deviceList.getDeviceByIdentityKey(Qo.OLM_ALGORITHM,e.getSenderKey());if(!i){un.logger.log("secret share from unknown device with key",e.getSenderKey());return}if(!r.devices.includes(i.deviceId)){un.logger.log("unsolicited secret share from device",i.deviceId);return}un.logger.log(`Successfully received secret ${r.name} from ${i.deviceId}`),r.resolve(t.secret)}}async getSecretStorageKey(e,t){if(!this.cryptoCallbacks.getSecretStorageKey)throw new Error("No getSecretStorageKey callback supplied");const r=await this.cryptoCallbacks.getSecretStorageKey({keys:e},t);if(!r)throw new Error("getSecretStorageKey callback returned falsey");if(r.length<2)throw new Error("getSecretStorageKey callback returned invalid data");const[i,s]=r;if(!e[i])throw new Error("App returned unknown key from getSecretStorageKey!");if(e[i].algorithm===Xi)return[i,{encrypt:async function(c){return await(0,Cc.encryptAES)(c,s,t)},decrypt:async function(c){return await(0,Cc.decryptAES)(c,s,t)}}];throw new Error("Unknown key type: "+e[i].algorithm)}}wo.SecretStorage=TC;var _s={},OC=V.exports;Object.defineProperty(_s,"__esModule",{value:!0});_s.RoomKeyRequestState=_s.OutgoingRoomKeyRequestManager=void 0;var Xu=OC(Y.exports),xn=ie,kC=ne;const CC=500;let _e;_s.RoomKeyRequestState=_e;(function(n){n[n.Unsent=0]="Unsent",n[n.Sent=1]="Sent",n[n.CancellationPending=2]="CancellationPending",n[n.CancellationPendingAndWillResend=3]="CancellationPendingAndWillResend"})(_e||(_s.RoomKeyRequestState=_e={}));class PC{constructor(e,t,r){this.baseApis=e,this.deviceId=t,this.cryptoStore=r,(0,Xu.default)(this,"sendOutgoingRoomKeyRequestsTimer",null),(0,Xu.default)(this,"sendOutgoingRoomKeyRequestsRunning",!1),(0,Xu.default)(this,"clientRunning",!1)}start(){this.clientRunning=!0}stop(){xn.logger.log("stopping OutgoingRoomKeyRequestManager"),this.clientRunning=!1}sendQueuedRequests(){this.startTimer()}async queueRoomKeyRequest(e,t,r=!1){const i=await this.cryptoStore.getOutgoingRoomKeyRequest(e);if(!i)await this.cryptoStore.getOrAddOutgoingRoomKeyRequest({requestBody:e,recipients:t,requestId:this.baseApis.makeTxnId(),state:_e.Unsent});else switch(i.state){case _e.CancellationPendingAndWillResend:case _e.Unsent:return;case _e.CancellationPending:{const s=r?_e.CancellationPendingAndWillResend:_e.Sent;await this.cryptoStore.updateOutgoingRoomKeyRequest(i.requestId,_e.CancellationPending,{state:s,cancellationTxnId:this.baseApis.makeTxnId()});break}case _e.Sent:{if(r){const s=_e.CancellationPendingAndWillResend,o=await this.cryptoStore.updateOutgoingRoomKeyRequest(i.requestId,_e.Sent,{state:s,cancellationTxnId:this.baseApis.makeTxnId(),requestTxnId:this.baseApis.makeTxnId()});if(!o)return await this.queueRoomKeyRequest(e,t,r);try{await this.sendOutgoingRoomKeyRequestCancellation(o,!0)}catch(c){xn.logger.error("Error sending room key request cancellation; will retry later.",c)}}break}default:throw new Error("unhandled state: "+i.state)}}cancelRoomKeyRequest(e){return this.cryptoStore.getOutgoingRoomKeyRequest(e).then(t=>{if(!!t)switch(t.state){case _e.CancellationPending:case _e.CancellationPendingAndWillResend:return;case _e.Unsent:return xn.logger.log("deleting unnecessary room key request for "+Pc(e)),this.cryptoStore.deleteOutgoingRoomKeyRequest(t.requestId,_e.Unsent);case _e.Sent:return this.cryptoStore.updateOutgoingRoomKeyRequest(t.requestId,_e.Sent,{state:_e.CancellationPending,cancellationTxnId:this.baseApis.makeTxnId()}).then(r=>{if(!r){xn.logger.log("Tried to cancel room key request for "+Pc(e)+" but it was already cancelled in another tab");return}this.sendOutgoingRoomKeyRequestCancellation(r).catch(i=>{xn.logger.error("Error sending room key request cancellation; will retry later.",i),this.startTimer()})});default:throw new Error("unhandled state: "+t.state)}})}getOutgoingSentRoomKeyRequest(e,t){return this.cryptoStore.getOutgoingRoomKeyRequestsByTarget(e,t,[_e.Sent])}async cancelAndResendAllOutgoingRequests(){const e=await this.cryptoStore.getAllOutgoingRoomKeyRequestsByState(_e.Sent);return Promise.all(e.map(({requestBody:t,recipients:r})=>this.queueRoomKeyRequest(t,r,!0)))}startTimer(){if(this.sendOutgoingRoomKeyRequestsTimer)return;const e=()=>{if(this.sendOutgoingRoomKeyRequestsRunning)throw new Error("RoomKeyRequestSend already in progress!");this.sendOutgoingRoomKeyRequestsRunning=!0,this.sendOutgoingRoomKeyRequests().finally(()=>{this.sendOutgoingRoomKeyRequestsRunning=!1}).catch(t=>{xn.logger.warn(`error in OutgoingRoomKeyRequestManager: ${t}`)})};this.sendOutgoingRoomKeyRequestsTimer=setTimeout(e,CC)}sendOutgoingRoomKeyRequests(){return this.clientRunning?this.cryptoStore.getOutgoingRoomKeyRequestByState([_e.CancellationPending,_e.CancellationPendingAndWillResend,_e.Unsent]).then(e=>{if(!e){this.sendOutgoingRoomKeyRequestsTimer=null;return}let t;switch(e.state){case _e.Unsent:t=this.sendOutgoingRoomKeyRequest(e);break;case _e.CancellationPending:t=this.sendOutgoingRoomKeyRequestCancellation(e);break;case _e.CancellationPendingAndWillResend:t=this.sendOutgoingRoomKeyRequestCancellation(e,!0);break}return t.then(()=>this.sendOutgoingRoomKeyRequests()).catch(r=>{xn.logger.error("Error sending room key request; will retry later.",r),this.sendOutgoingRoomKeyRequestsTimer=null})}):(this.sendOutgoingRoomKeyRequestsTimer=null,Promise.resolve())}sendOutgoingRoomKeyRequest(e){xn.logger.log(`Requesting keys for ${Pc(e.requestBody)} from ${Ug(e.recipients)}(id ${e.requestId})`);const t={action:"request",requesting_device_id:this.deviceId,request_id:e.requestId,body:e.requestBody};return this.sendMessageToDevices(t,e.recipients,e.requestTxnId||e.requestId).then(()=>this.cryptoStore.updateOutgoingRoomKeyRequest(e.requestId,_e.Unsent,{state:_e.Sent}))}sendOutgoingRoomKeyRequestCancellation(e,t=!1){xn.logger.log(`Sending cancellation for key request for ${Pc(e.requestBody)} to ${Ug(e.recipients)} (cancellation id ${e.cancellationTxnId})`);const r={action:"request_cancellation",requesting_device_id:this.deviceId,request_id:e.requestId};return this.sendMessageToDevices(r,e.recipients,e.cancellationTxnId).then(()=>t?this.cryptoStore.updateOutgoingRoomKeyRequest(e.requestId,_e.CancellationPendingAndWillResend,{state:_e.Unsent}):this.cryptoStore.deleteOutgoingRoomKeyRequest(e.requestId,_e.CancellationPending))}sendMessageToDevices(e,t,r){const i={};for(const s of t)i[s.userId]||(i[s.userId]={}),i[s.userId][s.deviceId]=e;return this.baseApis.sendToDevice(kC.EventType.RoomKeyRequest,i,r)}}_s.OutgoingRoomKeyRequestManager=PC;function Pc(n){return n.room_id+" / "+n.session_id}function Ug(n){return"["+n.map(e=>`${e.userId}:${e.deviceId}`).join(",")+"]"}var or={},Qr={},Le={};Object.defineProperty(Le,"__esModule",{value:!0});Le.errorFactory=li;Le.errorFromEvent=KC;Le.newUserMismatchError=Le.newUserCancelledError=Le.newUnknownTransactionError=Le.newUnknownMethodError=Le.newUnexpectedMessageError=Le.newTimeoutError=Le.newKeyMismatchError=Le.newInvalidMessageError=void 0;Le.newVerificationError=o_;var MC=qt;function o_(n,e,t){const r=Object.assign({},{code:n,reason:e},t);return new MC.MatrixEvent({type:"m.key.verification.cancel",content:r})}function li(n,e){return function(t){return o_(n,e,t)}}const AC=li("m.user","Cancelled by user");Le.newUserCancelledError=AC;const DC=li("m.timeout","Timed out");Le.newTimeoutError=DC;const UC=li("m.unknown_transaction","Unknown transaction");Le.newUnknownTransactionError=UC;const $C=li("m.unknown_method","Unknown method");Le.newUnknownMethodError=$C;const xC=li("m.unexpected_message","Unexpected message");Le.newUnexpectedMessageError=xC;const NC=li("m.key_mismatch","Key mismatch");Le.newKeyMismatchError=NC;const LC=li("m.user_error","User mismatch");Le.newUserMismatchError=LC;const BC=li("m.invalid_message","Invalid message");Le.newInvalidMessageError=BC;function KC(n){const e=n.getContent();if(e){const{code:t,reason:r}=e;return{code:t,reason:r}}else return{code:"Unknown error",reason:"m.unknown"}}var FC=V.exports;Object.defineProperty(Qr,"__esModule",{value:!0});Qr.VerificationEvent=Qr.VerificationBase=Qr.SwitchStartEventError=void 0;var Wr=FC(Y.exports),qC=qt,Zo=ie,jC=Ps,VC=Le,GC=Ct,WC=qe;const $g=new Error("Verification timed out");class a_ extends Error{constructor(e){super();this.startEvent=e}}Qr.SwitchStartEventError=a_;let bl;Qr.VerificationEvent=bl;(function(n){n.Cancel="cancel"})(bl||(Qr.VerificationEvent=bl={}));class HC extends WC.TypedEventEmitter{constructor(e,t,r,i,s,o){super();this.channel=e,this.baseApis=t,this.userId=r,this.deviceId=i,this.startEvent=s,this.request=o,(0,Wr.default)(this,"cancelled",!1),(0,Wr.default)(this,"_done",!1),(0,Wr.default)(this,"promise",null),(0,Wr.default)(this,"transactionTimeoutTimer",null),(0,Wr.default)(this,"expectedEvent",void 0),(0,Wr.default)(this,"resolve",void 0),(0,Wr.default)(this,"reject",void 0),(0,Wr.default)(this,"resolveEvent",void 0),(0,Wr.default)(this,"rejectEvent",void 0),(0,Wr.default)(this,"started",void 0),(0,Wr.default)(this,"doVerification",void 0)}get initiatedByMe(){if(!this.startEvent)return!0;const e=this.startEvent.getSender(),t=this.startEvent.getContent();return e===this.baseApis.getUserId()&&t.from_device===this.baseApis.getDeviceId()}get hasBeenCancelled(){return this.cancelled}resetTimer(){Zo.logger.info("Refreshing/starting the verification transaction timeout timer"),this.transactionTimeoutTimer!==null&&clearTimeout(this.transactionTimeoutTimer),this.transactionTimeoutTimer=setTimeout(()=>{!this._done&&!this.cancelled&&(Zo.logger.info("Triggering verification timeout"),this.cancel($g))},10*60*1e3)}endTimer(){this.transactionTimeoutTimer!==null&&(clearTimeout(this.transactionTimeoutTimer),this.transactionTimeoutTimer=null)}send(e,t){return this.channel.send(e,t)}waitForEvent(e){if(this._done)return Promise.reject(new Error("Verification is already done"));const t=this.request.getEventFromOtherParty(e);return t?Promise.resolve(t):(this.expectedEvent=e,new Promise((r,i)=>{this.resolveEvent=r,this.rejectEvent=i}))}canSwitchStartEvent(e){return!1}switchStartEvent(e){if(this.canSwitchStartEvent(e))if(Zo.logger.log("Verification Base: switching verification start event",{restartingFlow:!!this.rejectEvent}),this.rejectEvent){const t=this.rejectEvent;this.rejectEvent=void 0,t(new a_(e))}else this.startEvent=e}handleEvent(e){if(!this._done){if(e.getType()===this.expectedEvent)this.expectedEvent!=="m.key.verification.done"&&(this.expectedEvent=void 0,this.rejectEvent=void 0,this.resetTimer(),this.resolveEvent(e));else if(e.getType()==="m.key.verification.cancel"){const t=this.reject;if(this.reject=void 0,t){const r=e.getContent(),{reason:i,code:s}=r;t(new Error(`Other side cancelled verification because ${i} (${s})`))}}else if(this.expectedEvent){const t=new Error("Unexpected message: expecting "+this.expectedEvent+" but got "+e.getType());if(this.expectedEvent=void 0,this.rejectEvent){const r=this.rejectEvent;this.rejectEvent=void 0,r(t)}this.cancel(t)}}}done(){if(this.endTimer(),!this._done)return this.request.onVerifierFinished(),this.resolve(),(0,GC.requestKeysDuringVerification)(this.baseApis,this.userId,this.deviceId)}cancel(e){if(this.endTimer(),!this._done){if(this.cancelled=!0,this.request.onVerifierCancelled(),this.userId&&this.deviceId)if(e===$g){const t=(0,VC.newTimeoutError)();this.send(t.getType(),t.getContent())}else if(e instanceof qC.MatrixEvent){if(e.getSender()!==this.userId){const r=e.getContent();e.getType()==="m.key.verification.cancel"?(r.code=r.code||"m.unknown",r.reason=r.reason||r.body||"Unknown reason",this.send("m.key.verification.cancel",r)):this.send("m.key.verification.cancel",{code:"m.unknown",reason:r.body||"Unknown reason"})}}else this.send("m.key.verification.cancel",{code:"m.unknown",reason:e.toString()});this.promise!==null?this.reject&&this.reject(e):this.promise=Promise.reject(e),this.emit(bl.Cancel,e)}}verify(){return this.promise?this.promise:(this.promise=new Promise((e,t)=>{this.resolve=(...r)=>{this._done=!0,this.endTimer(),e(...r)},this.reject=r=>{this._done=!0,this.endTimer(),t(r)}}),this.doVerification&&!this.started&&(this.started=!0,this.resetTimer(),Promise.resolve(this.doVerification()).then(this.done.bind(this),this.cancel.bind(this))),this.promise)}async verifyKeys(e,t,r){const i=[];for(const[s,o]of Object.entries(t)){const c=s.split(":",2)[1],l=this.baseApis.getStoredDevice(e,c);if(l)r(s,l,o),i.push(c);else{const u=this.baseApis.crypto.deviceList.getStoredCrossSigningForUser(e);u&&u.getId()===c?(r(s,jC.DeviceInfo.fromStorage({keys:{[s]:c}},c),o),i.push(c)):Zo.logger.warn(`verification: Could not find device ${c} to verify`)}}if(!i.length)throw new Error("No devices could be verified");Zo.logger.info("Verification completed! Marking devices verified: ",i);for(const s of i)await this.baseApis.setDeviceVerified(e,s)}get events(){}}Qr.VerificationBase=HC;var YC=V.exports;Object.defineProperty(or,"__esModule",{value:!0});or.SHOW_QR_CODE_METHOD=or.SCAN_QR_CODE_METHOD=or.ReciprocateQRCode=or.QrCodeEvent=or.QRCodeData=void 0;var xg=YC(Y.exports),zC=Qr,js=Le,Ng=Me,Lg=ie;const JC="m.qr_code.show.v1";or.SHOW_QR_CODE_METHOD=JC;const XC="m.qr_code.scan.v1";or.SCAN_QR_CODE_METHOD=XC;let wl;or.QrCodeEvent=wl;(function(n){n.ShowReciprocateQr="show_reciprocate_qr"})(wl||(or.QrCodeEvent=wl={}));class pf extends zC.VerificationBase{constructor(...e){super(...e);(0,xg.default)(this,"reciprocateQREvent",void 0),(0,xg.default)(this,"doVerification",async()=>{if(!this.startEvent)throw new Error("It is not currently possible to start verificationwith this method yet.");const{qrCodeData:t}=this.request;if(this.startEvent.getContent().secret!==t.encodedSharedSecret)throw(0,js.newKeyMismatchError)();await new Promise((i,s)=>{this.reciprocateQREvent={confirm:i,cancel:()=>s((0,js.newUserCancelledError)())},this.emit(wl.ShowReciprocateQr,this.reciprocateQREvent)});const r={};switch(t.mode){case nr.VerifyOtherUser:{const i=t.otherUserMasterKey;r[`ed25519:${i}`]=i;break}case nr.VerifySelfTrusted:{const i=this.request.targetDevice.deviceId;r[`ed25519:${i}`]=t.otherDeviceKey;break}case nr.VerifySelfUntrusted:{const i=t.myMasterKey;r[`ed25519:${i}`]=i;break}}await this.verifyKeys(this.userId,r,(i,s,o)=>{const c=r[i];if(!c)throw(0,js.newKeyMismatchError)();if(o!==c)throw Lg.logger.error("key ID from key info does not match"),(0,js.newKeyMismatchError)();for(const l in s.keys){if(!l.startsWith("ed25519"))continue;const u=r[l];if(!u)throw(0,js.newKeyMismatchError)();if(s.keys[l]!==u)throw Lg.logger.error("master key does not match"),(0,js.newKeyMismatchError)()}})})}static factory(e,t,r,i,s,o){return new pf(e,t,r,i,s,o)}static get NAME(){return"m.reciprocate.v1"}}or.ReciprocateQRCode=pf;const QC=2,ZC="MATRIX";var nr;(function(n){n[n.VerifyOtherUser=0]="VerifyOtherUser",n[n.VerifySelfTrusted=1]="VerifySelfTrusted",n[n.VerifySelfUntrusted=2]="VerifySelfUntrusted"})(nr||(nr={}));class Pi{constructor(e,t,r,i,s,o){this.mode=e,this.sharedSecret=t,this.otherUserMasterKey=r,this.otherDeviceKey=i,this.myMasterKey=s,this.buffer=o}static async create(e,t){const r=Pi.generateSharedSecret(),i=Pi.determineMode(e,t);let s=null,o=null,c=null;if(i===nr.VerifyOtherUser)s=t.getStoredCrossSigningForUser(e.otherUserId).getId("master");else if(i===nr.VerifySelfTrusted)o=await Pi.getOtherDeviceKey(e,t);else if(i===nr.VerifySelfUntrusted){const a=t.getUserId();c=t.getStoredCrossSigningForUser(a).getId("master")}const l=Pi.generateQrData(e,t,i,r,s,o,c),u=Pi.generateBuffer(l);return new Pi(i,r,s,o,c,u)}get encodedSharedSecret(){return this.sharedSecret}getBuffer(){return this.buffer}static generateSharedSecret(){const e=new Uint8Array(11);return j.crypto.getRandomValues(e),(0,Ng.encodeUnpaddedBase64)(e)}static async getOtherDeviceKey(e,t){const r=t.getUserId(),i=e.targetDevice,s=i?i.deviceId:null,o=t.getStoredDevice(r,s);if(!o)throw new Error("could not find device "+s);return o.getFingerprint()}static determineMode(e,t){const r=t.getUserId(),i=e.otherUserId;let s=nr.VerifyOtherUser;return r===i&&(t.checkUserTrust(r).isCrossSigningVerified()?s=nr.VerifySelfTrusted:s=nr.VerifySelfUntrusted),s}static generateQrData(e,t,r,i,s,o,c){const l=t.getUserId(),u=e.channel.transactionId,a={prefix:ZC,version:QC,mode:r,transactionId:u,firstKeyB64:"",secondKeyB64:"",secretB64:i},g=t.getStoredCrossSigningForUser(l);return r===nr.VerifyOtherUser?(a.firstKeyB64=g.getId("master"),a.secondKeyB64=s):r===nr.VerifySelfTrusted?(a.firstKeyB64=g.getId("master"),a.secondKeyB64=o):r===nr.VerifySelfUntrusted&&(a.firstKeyB64=t.getDeviceEd25519Key(),a.secondKeyB64=c),a}static generateBuffer(e){let t=Buffer.alloc(0);const r=c=>{const l=Buffer.from([c]);t=Buffer.concat([t,l])},i=c=>{const l=Buffer.alloc(2);l.writeInt16BE(c,0),t=Buffer.concat([t,l])},s=(c,l,u=!0)=>{const a=Buffer.from(c,l);u&&i(a.byteLength),t=Buffer.concat([t,a])},o=c=>{const l=(0,Ng.decodeBase64)(c),u=Buffer.from(l);t=Buffer.concat([t,u])};return s(e.prefix,"ascii",!1),r(e.version),r(e.mode),s(e.transactionId,"utf-8"),o(e.firstKeyB64),o(e.secondKeyB64),o(e.secretB64),t}}or.QRCodeData=Pi;var Es={},c_=V.exports;Object.defineProperty(Es,"__esModule",{value:!0});Es.SasEvent=Es.SAS=void 0;var ea=c_(Y.exports),Bg=c_(Vl),Qu=Qr,qn=Le,eP=ie;const Zu="m.key.verification.start",tP=["m.key.verification.accept","m.key.verification.key","m.key.verification.mac"];let Mc;const Kg=(0,qn.errorFactory)("m.mismatched_sas","Mismatched short authentication string"),rP=(0,qn.errorFactory)("m.mismatched_commitment","Mismatched commitment");function nP(n){return[(n[0]<<5|n[1]>>3)+1e3,((n[1]&7)<<10|n[2]<<2|n[3]>>6)+1e3,((n[3]&63)<<7|n[4]>>1)+1e3]}const iP=[["\u{1F436}","dog"],["\u{1F431}","cat"],["\u{1F981}","lion"],["\u{1F40E}","horse"],["\u{1F984}","unicorn"],["\u{1F437}","pig"],["\u{1F418}","elephant"],["\u{1F430}","rabbit"],["\u{1F43C}","panda"],["\u{1F413}","rooster"],["\u{1F427}","penguin"],["\u{1F422}","turtle"],["\u{1F41F}","fish"],["\u{1F419}","octopus"],["\u{1F98B}","butterfly"],["\u{1F337}","flower"],["\u{1F333}","tree"],["\u{1F335}","cactus"],["\u{1F344}","mushroom"],["\u{1F30F}","globe"],["\u{1F319}","moon"],["\u2601\uFE0F","cloud"],["\u{1F525}","fire"],["\u{1F34C}","banana"],["\u{1F34E}","apple"],["\u{1F353}","strawberry"],["\u{1F33D}","corn"],["\u{1F355}","pizza"],["\u{1F382}","cake"],["\u2764\uFE0F","heart"],["\u{1F642}","smiley"],["\u{1F916}","robot"],["\u{1F3A9}","hat"],["\u{1F453}","glasses"],["\u{1F527}","spanner"],["\u{1F385}","santa"],["\u{1F44D}","thumbs up"],["\u2602\uFE0F","umbrella"],["\u231B","hourglass"],["\u23F0","clock"],["\u{1F381}","gift"],["\u{1F4A1}","light bulb"],["\u{1F4D5}","book"],["\u270F\uFE0F","pencil"],["\u{1F4CE}","paperclip"],["\u2702\uFE0F","scissors"],["\u{1F512}","lock"],["\u{1F511}","key"],["\u{1F528}","hammer"],["\u260E\uFE0F","telephone"],["\u{1F3C1}","flag"],["\u{1F682}","train"],["\u{1F6B2}","bicycle"],["\u2708\uFE0F","aeroplane"],["\u{1F680}","rocket"],["\u{1F3C6}","trophy"],["\u26BD","ball"],["\u{1F3B8}","guitar"],["\u{1F3BA}","trumpet"],["\u{1F514}","bell"],["\u2693\uFE0F","anchor"],["\u{1F3A7}","headphones"],["\u{1F4C1}","folder"],["\u{1F4CC}","pin"]];function sP(n){return[n[0]>>2,(n[0]&3)<<4|n[1]>>4,(n[1]&15)<<2|n[2]>>6,n[2]&63,n[3]>>2,(n[3]&3)<<4|n[4]>>4,(n[4]&15)<<2|n[5]>>6].map(t=>iP[t])}const Sh={decimal:nP,emoji:sP};function Fg(n,e){const t={};for(const r of e)r in Sh&&(t[r]=Sh[r](n));return t}const oP={"hkdf-hmac-sha256":"calculate_mac","hmac-sha256":"calculate_mac_long_kdf"};function ta(n,e){return function(...t){const i=n[oP[e]].apply(n,t);return eP.logger.log("SAS calculateMAC:",e,t,i),i}}const qg={"curve25519-hkdf-sha256":function(n,e,t){const r=`${n.baseApis.getUserId()}|${n.baseApis.deviceId}|${n.ourSASPubKey}|`,i=`${n.userId}|${n.deviceId}|${n.theirSASPubKey}|`,s="MATRIX_KEY_VERIFICATION_SAS|"+(n.initiatedByMe?r+i:i+r)+n.channel.transactionId;return e.generate_bytes(s,t)},curve25519:function(n,e,t){const r=`${n.baseApis.getUserId()}${n.baseApis.deviceId}`,i=`${n.userId}${n.deviceId}`,s="MATRIX_KEY_VERIFICATION_SAS"+(n.initiatedByMe?r+i:i+r)+n.channel.transactionId;return e.generate_bytes(s,t)}},bh=["curve25519-hkdf-sha256","curve25519"],wh=["sha256"],Rh=["hkdf-hmac-sha256","hmac-sha256"],l_=Object.keys(Sh),aP=new Set(bh),cP=new Set(wh),lP=new Set(Rh),jg=new Set(l_);function ra(n,e){return n instanceof Array?n.filter(t=>e.has(t)):[]}let ja;Es.SasEvent=ja;(function(n){n.ShowSas="show_sas"})(ja||(Es.SasEvent=ja={}));class Rl extends Qu.VerificationBase{constructor(...e){super(...e);(0,ea.default)(this,"waitingForAccept",void 0),(0,ea.default)(this,"ourSASPubKey",void 0),(0,ea.default)(this,"theirSASPubKey",void 0),(0,ea.default)(this,"sasEvent",void 0),(0,ea.default)(this,"doVerification",async()=>{await j.Olm.init(),Mc=Mc||new j.Olm.Utility,await this.baseApis.downloadKeys([this.userId]);let t=!1;do try{return this.initiatedByMe?await this.doSendVerification():await this.doRespondVerification()}catch(r){if(r instanceof Qu.SwitchStartEventError)this.startEvent=r.startEvent,t=!0;else throw r}while(t)})}static get NAME(){return"m.sas.v1"}get events(){return tP}canSwitchStartEvent(e){if(e.getType()!==Zu)return!1;const t=e.getContent();return t&&t.method===Rl.NAME&&this.waitingForAccept}async sendStart(){const e=this.channel.completeContent(Zu,{method:Rl.NAME,from_device:this.baseApis.deviceId,key_agreement_protocols:bh,hashes:wh,message_authentication_codes:Rh,short_authentication_string:l_});return await this.channel.sendCompleted(Zu,e),e}async doSendVerification(){this.waitingForAccept=!0;let e;if(this.startEvent?e=this.channel.completedContentFromEvent(this.startEvent):e=await this.sendStart(),!this.initiatedByMe)throw new Qu.SwitchStartEventError(this.startEvent);let t;try{t=await this.waitForEvent("m.key.verification.accept")}finally{this.waitingForAccept=!1}let r=t.getContent();const i=ra(r.short_authentication_string,jg);if(!(aP.has(r.key_agreement_protocol)&&cP.has(r.hash)&&lP.has(r.message_authentication_code)&&i.length))throw(0,qn.newUnknownMethodError)();if(typeof r.commitment!="string")throw(0,qn.newInvalidMessageError)();const s=r.key_agreement_protocol,o=r.message_authentication_code,c=r.commitment,l=new j.Olm.SAS;try{this.ourSASPubKey=l.get_pubkey(),await this.send("m.key.verification.key",{key:this.ourSASPubKey}),t=await this.waitForEvent("m.key.verification.key"),r=t.getContent();const u=r.key+Bg.default.stringify(e);if(Mc.sha256(u)!==c)throw rP();this.theirSASPubKey=r.key,l.set_their_key(r.key);const a=qg[s](this,l,6),g=new Promise((m,p)=>{this.sasEvent={sas:Fg(a,i),confirm:async()=>{try{await this.sendMAC(l,o),m()}catch(E){p(E)}},cancel:()=>p((0,qn.newUserCancelledError)()),mismatch:()=>p(Kg())},this.emit(ja.ShowSas,this.sasEvent)});[t]=await Promise.all([this.waitForEvent("m.key.verification.mac").then(m=>(this.expectedEvent="m.key.verification.done",m)),g]),r=t.getContent(),await this.checkMAC(l,r,o)}finally{l.free()}}async doRespondVerification(){let e=this.channel.completedContentFromEvent(this.startEvent);const t=ra(bh,new Set(e.key_agreement_protocols))[0],r=ra(wh,new Set(e.hashes))[0],i=ra(Rh,new Set(e.message_authentication_codes))[0],s=ra(e.short_authentication_string,jg);if(!(t!==void 0&&r!==void 0&&i!==void 0&&s.length))throw(0,qn.newUnknownMethodError)();const o=new j.Olm.SAS;try{const c=o.get_pubkey()+Bg.default.stringify(e);await this.send("m.key.verification.accept",{key_agreement_protocol:t,hash:r,message_authentication_code:i,short_authentication_string:s,commitment:Mc.sha256(c)});let l=await this.waitForEvent("m.key.verification.key");e=l.getContent(),this.theirSASPubKey=e.key,o.set_their_key(e.key),this.ourSASPubKey=o.get_pubkey(),await this.send("m.key.verification.key",{key:this.ourSASPubKey});const u=qg[t](this,o,6),a=new Promise((g,m)=>{this.sasEvent={sas:Fg(u,s),confirm:async()=>{try{await this.sendMAC(o,i),g()}catch(p){m(p)}},cancel:()=>m((0,qn.newUserCancelledError)()),mismatch:()=>m(Kg())},this.emit(ja.ShowSas,this.sasEvent)});[l]=await Promise.all([this.waitForEvent("m.key.verification.mac").then(g=>(this.expectedEvent="m.key.verification.done",g)),a]),e=l.getContent(),await this.checkMAC(o,e,i)}finally{o.free()}}sendMAC(e,t){const r={},i=[],s="MATRIX_KEY_VERIFICATION_MAC"+this.baseApis.getUserId()+this.baseApis.deviceId+this.userId+this.deviceId+this.channel.transactionId,o=`ed25519:${this.baseApis.deviceId}`;r[o]=ta(e,t)(this.baseApis.getDeviceEd25519Key(),s+o),i.push(o);const c=this.baseApis.getCrossSigningId();if(c){const u=`ed25519:${c}`;r[u]=ta(e,t)(c,s+u),i.push(u)}const l=ta(e,t)(i.sort().join(","),s+"KEY_IDS");return this.send("m.key.verification.mac",{mac:r,keys:l})}async checkMAC(e,t,r){const i="MATRIX_KEY_VERIFICATION_MAC"+this.userId+this.deviceId+this.baseApis.getUserId()+this.baseApis.deviceId+this.channel.transactionId;if(t.keys!==ta(e,r)(Object.keys(t.mac).sort().join(","),i+"KEY_IDS"))throw(0,qn.newKeyMismatchError)();await this.verifyKeys(this.userId,t.mac,(s,o,c)=>{if(c!==ta(e,r)(o.keys[s],i+s))throw(0,qn.newKeyMismatchError)()})}}Es.SAS=Rl;var Ms={};Object.defineProperty(Ms,"__esModule",{value:!0});Ms.deriveKey=mf;Ms.keyFromAuthData=fP;Ms.keyFromPassphrase=pP;var uP=oi,dP=G;const hP=typeof window!="undefined"&&window.crypto?window.crypto.subtle||window.crypto.webkitSubtle:null,Vg=5e5,gf=256;async function fP(n,e){if(!j.Olm)throw new Error("Olm is not available");if(!n.private_key_salt||!n.private_key_iterations)throw new Error("Salt and/or iterations not found: this backup cannot be restored with a passphrase");return await mf(e,n.private_key_salt,n.private_key_iterations,n.private_key_bits||gf)}async function pP(n){if(!j.Olm)throw new Error("Olm is not available");const e=(0,uP.randomString)(32);return{key:await mf(n,e,Vg,gf),salt:e,iterations:Vg}}async function mf(n,e,t,r=gf){return hP?gP(n,e,t,r):mP(n,e,t,r)}async function gP(n,e,t,r){const i=j.crypto.subtle,s=j.TextEncoder;if(!i||!s)throw new Error("Password-based backup is not avaiable on this platform");const o=await i.importKey("raw",new s().encode(n),{name:"PBKDF2"},!1,["deriveBits"]),c=await i.deriveBits({name:"PBKDF2",salt:new s().encode(e),iterations:t,hash:"SHA-512"},o,r);return new Uint8Array(c)}async function mP(n,e,t,r){const i=(0,dP.getCrypto)();if(!i)throw new Error("No usable crypto implementation");return i.pbkdf2Sync(n,Buffer.from(e,"binary"),t,r,"sha512")}var Bo={},Ih={exports:{}},u_={},Jl={};Jl.byteLength=_P;Jl.toByteArray=SP;Jl.fromByteArray=RP;var bn=[],Ur=[],yP=typeof Uint8Array!="undefined"?Uint8Array:Array,ed="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Vs=0,vP=ed.length;Vs<vP;++Vs)bn[Vs]=ed[Vs],Ur[ed.charCodeAt(Vs)]=Vs;Ur["-".charCodeAt(0)]=62;Ur["_".charCodeAt(0)]=63;function d_(n){var e=n.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=n.indexOf("=");t===-1&&(t=e);var r=t===e?0:4-t%4;return[t,r]}function _P(n){var e=d_(n),t=e[0],r=e[1];return(t+r)*3/4-r}function EP(n,e,t){return(e+t)*3/4-t}function SP(n){var e,t=d_(n),r=t[0],i=t[1],s=new yP(EP(n,r,i)),o=0,c=i>0?r-4:r,l;for(l=0;l<c;l+=4)e=Ur[n.charCodeAt(l)]<<18|Ur[n.charCodeAt(l+1)]<<12|Ur[n.charCodeAt(l+2)]<<6|Ur[n.charCodeAt(l+3)],s[o++]=e>>16&255,s[o++]=e>>8&255,s[o++]=e&255;return i===2&&(e=Ur[n.charCodeAt(l)]<<2|Ur[n.charCodeAt(l+1)]>>4,s[o++]=e&255),i===1&&(e=Ur[n.charCodeAt(l)]<<10|Ur[n.charCodeAt(l+1)]<<4|Ur[n.charCodeAt(l+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function bP(n){return bn[n>>18&63]+bn[n>>12&63]+bn[n>>6&63]+bn[n&63]}function wP(n,e,t){for(var r,i=[],s=e;s<t;s+=3)r=(n[s]<<16&16711680)+(n[s+1]<<8&65280)+(n[s+2]&255),i.push(bP(r));return i.join("")}function RP(n){for(var e,t=n.length,r=t%3,i=[],s=16383,o=0,c=t-r;o<c;o+=s)i.push(wP(n,o,o+s>c?c:o+s));return r===1?(e=n[t-1],i.push(bn[e>>2]+bn[e<<4&63]+"==")):r===2&&(e=(n[t-2]<<8)+n[t-1],i.push(bn[e>>10]+bn[e>>4&63]+bn[e<<2&63]+"=")),i.join("")}var yf={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */yf.read=function(n,e,t,r,i){var s,o,c=i*8-r-1,l=(1<<c)-1,u=l>>1,a=-7,g=t?i-1:0,m=t?-1:1,p=n[e+g];for(g+=m,s=p&(1<<-a)-1,p>>=-a,a+=c;a>0;s=s*256+n[e+g],g+=m,a-=8);for(o=s&(1<<-a)-1,s>>=-a,a+=r;a>0;o=o*256+n[e+g],g+=m,a-=8);if(s===0)s=1-u;else{if(s===l)return o?NaN:(p?-1:1)*(1/0);o=o+Math.pow(2,r),s=s-u}return(p?-1:1)*o*Math.pow(2,s-r)};yf.write=function(n,e,t,r,i,s){var o,c,l,u=s*8-i-1,a=(1<<u)-1,g=a>>1,m=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:s-1,E=r?1:-1,I=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(c=isNaN(e)?1:0,o=a):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+g>=1?e+=m/l:e+=m*Math.pow(2,1-g),e*l>=2&&(o++,l/=2),o+g>=a?(c=0,o=a):o+g>=1?(c=(e*l-1)*Math.pow(2,i),o=o+g):(c=e*Math.pow(2,g-1)*Math.pow(2,i),o=0));i>=8;n[t+p]=c&255,p+=E,c/=256,i-=8);for(o=o<<i|c,u+=i;u>0;n[t+p]=o&255,p+=E,o/=256,u-=8);n[t+p-E]|=I*128};/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh <https://feross.org> + * @license MIT + */(function(n){const e=Jl,t=yf,r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;n.Buffer=c,n.SlowBuffer=P,n.INSPECT_MAX_BYTES=50;const i=2147483647;n.kMaxLength=i,c.TYPED_ARRAY_SUPPORT=s(),!c.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{const v=new Uint8Array(1),d={foo:function(){return 42}};return Object.setPrototypeOf(d,Uint8Array.prototype),Object.setPrototypeOf(v,d),v.foo()===42}catch{return!1}}Object.defineProperty(c.prototype,"parent",{enumerable:!0,get:function(){if(!!c.isBuffer(this))return this.buffer}}),Object.defineProperty(c.prototype,"offset",{enumerable:!0,get:function(){if(!!c.isBuffer(this))return this.byteOffset}});function o(v){if(v>i)throw new RangeError('The value "'+v+'" is invalid for option "size"');const d=new Uint8Array(v);return Object.setPrototypeOf(d,c.prototype),d}function c(v,d,h){if(typeof v=="number"){if(typeof d=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return g(v)}return l(v,d,h)}c.poolSize=8192;function l(v,d,h){if(typeof v=="string")return m(v,d);if(ArrayBuffer.isView(v))return E(v);if(v==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof v);if(Gt(v,ArrayBuffer)||v&&Gt(v.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(Gt(v,SharedArrayBuffer)||v&&Gt(v.buffer,SharedArrayBuffer)))return I(v,d,h);if(typeof v=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const b=v.valueOf&&v.valueOf();if(b!=null&&b!==v)return c.from(b,d,h);const C=w(v);if(C)return C;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof v[Symbol.toPrimitive]=="function")return c.from(v[Symbol.toPrimitive]("string"),d,h);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof v)}c.from=function(v,d,h){return l(v,d,h)},Object.setPrototypeOf(c.prototype,Uint8Array.prototype),Object.setPrototypeOf(c,Uint8Array);function u(v){if(typeof v!="number")throw new TypeError('"size" argument must be of type number');if(v<0)throw new RangeError('The value "'+v+'" is invalid for option "size"')}function a(v,d,h){return u(v),v<=0?o(v):d!==void 0?typeof h=="string"?o(v).fill(d,h):o(v).fill(d):o(v)}c.alloc=function(v,d,h){return a(v,d,h)};function g(v){return u(v),o(v<0?0:k(v)|0)}c.allocUnsafe=function(v){return g(v)},c.allocUnsafeSlow=function(v){return g(v)};function m(v,d){if((typeof d!="string"||d==="")&&(d="utf8"),!c.isEncoding(d))throw new TypeError("Unknown encoding: "+d);const h=S(v,d)|0;let b=o(h);const C=b.write(v,d);return C!==h&&(b=b.slice(0,C)),b}function p(v){const d=v.length<0?0:k(v.length)|0,h=o(d);for(let b=0;b<d;b+=1)h[b]=v[b]&255;return h}function E(v){if(Gt(v,Uint8Array)){const d=new Uint8Array(v);return I(d.buffer,d.byteOffset,d.byteLength)}return p(v)}function I(v,d,h){if(d<0||v.byteLength<d)throw new RangeError('"offset" is outside of buffer bounds');if(v.byteLength<d+(h||0))throw new RangeError('"length" is outside of buffer bounds');let b;return d===void 0&&h===void 0?b=new Uint8Array(v):h===void 0?b=new Uint8Array(v,d):b=new Uint8Array(v,d,h),Object.setPrototypeOf(b,c.prototype),b}function w(v){if(c.isBuffer(v)){const d=k(v.length)|0,h=o(d);return h.length===0||v.copy(h,0,0,d),h}if(v.length!==void 0)return typeof v.length!="number"||Fo(v.length)?o(0):p(v);if(v.type==="Buffer"&&Array.isArray(v.data))return p(v.data)}function k(v){if(v>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return v|0}function P(v){return+v!=v&&(v=0),c.alloc(+v)}c.isBuffer=function(d){return d!=null&&d._isBuffer===!0&&d!==c.prototype},c.compare=function(d,h){if(Gt(d,Uint8Array)&&(d=c.from(d,d.offset,d.byteLength)),Gt(h,Uint8Array)&&(h=c.from(h,h.offset,h.byteLength)),!c.isBuffer(d)||!c.isBuffer(h))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(d===h)return 0;let b=d.length,C=h.length;for(let A=0,$=Math.min(b,C);A<$;++A)if(d[A]!==h[A]){b=d[A],C=h[A];break}return b<C?-1:C<b?1:0},c.isEncoding=function(d){switch(String(d).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(d,h){if(!Array.isArray(d))throw new TypeError('"list" argument must be an Array of Buffers');if(d.length===0)return c.alloc(0);let b;if(h===void 0)for(h=0,b=0;b<d.length;++b)h+=d[b].length;const C=c.allocUnsafe(h);let A=0;for(b=0;b<d.length;++b){let $=d[b];if(Gt($,Uint8Array))A+$.length>C.length?(c.isBuffer($)||($=c.from($)),$.copy(C,A)):Uint8Array.prototype.set.call(C,$,A);else if(c.isBuffer($))$.copy(C,A);else throw new TypeError('"list" argument must be an Array of Buffers');A+=$.length}return C};function S(v,d){if(c.isBuffer(v))return v.length;if(ArrayBuffer.isView(v)||Gt(v,ArrayBuffer))return v.byteLength;if(typeof v!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof v);const h=v.length,b=arguments.length>2&&arguments[2]===!0;if(!b&&h===0)return 0;let C=!1;for(;;)switch(d){case"ascii":case"latin1":case"binary":return h;case"utf8":case"utf-8":return Ds(v).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return h*2;case"hex":return h>>>1;case"base64":return Mn(v).length;default:if(C)return b?-1:Ds(v).length;d=(""+d).toLowerCase(),C=!0}}c.byteLength=S;function T(v,d,h){let b=!1;if((d===void 0||d<0)&&(d=0),d>this.length||((h===void 0||h>this.length)&&(h=this.length),h<=0)||(h>>>=0,d>>>=0,h<=d))return"";for(v||(v="utf8");;)switch(v){case"hex":return Fr(this,d,h);case"utf8":case"utf-8":return ut(this,d,h);case"ascii":return Q(this,d,h);case"latin1":case"binary":return sn(this,d,h);case"base64":return De(this,d,h);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ui(this,d,h);default:if(b)throw new TypeError("Unknown encoding: "+v);v=(v+"").toLowerCase(),b=!0}}c.prototype._isBuffer=!0;function D(v,d,h){const b=v[d];v[d]=v[h],v[h]=b}c.prototype.swap16=function(){const d=this.length;if(d%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let h=0;h<d;h+=2)D(this,h,h+1);return this},c.prototype.swap32=function(){const d=this.length;if(d%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let h=0;h<d;h+=4)D(this,h,h+3),D(this,h+1,h+2);return this},c.prototype.swap64=function(){const d=this.length;if(d%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let h=0;h<d;h+=8)D(this,h,h+7),D(this,h+1,h+6),D(this,h+2,h+5),D(this,h+3,h+4);return this},c.prototype.toString=function(){const d=this.length;return d===0?"":arguments.length===0?ut(this,0,d):T.apply(this,arguments)},c.prototype.toLocaleString=c.prototype.toString,c.prototype.equals=function(d){if(!c.isBuffer(d))throw new TypeError("Argument must be a Buffer");return this===d?!0:c.compare(this,d)===0},c.prototype.inspect=function(){let d="";const h=n.INSPECT_MAX_BYTES;return d=this.toString("hex",0,h).replace(/(.{2})/g,"$1 ").trim(),this.length>h&&(d+=" ... "),"<Buffer "+d+">"},r&&(c.prototype[r]=c.prototype.inspect),c.prototype.compare=function(d,h,b,C,A){if(Gt(d,Uint8Array)&&(d=c.from(d,d.offset,d.byteLength)),!c.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(h===void 0&&(h=0),b===void 0&&(b=d?d.length:0),C===void 0&&(C=0),A===void 0&&(A=this.length),h<0||b>d.length||C<0||A>this.length)throw new RangeError("out of range index");if(C>=A&&h>=b)return 0;if(C>=A)return-1;if(h>=b)return 1;if(h>>>=0,b>>>=0,C>>>=0,A>>>=0,this===d)return 0;let $=A-C,re=b-h;const we=Math.min($,re),de=this.slice(C,A),Ie=d.slice(h,b);for(let ye=0;ye<we;++ye)if(de[ye]!==Ie[ye]){$=de[ye],re=Ie[ye];break}return $<re?-1:re<$?1:0};function R(v,d,h,b,C){if(v.length===0)return-1;if(typeof h=="string"?(b=h,h=0):h>2147483647?h=2147483647:h<-2147483648&&(h=-2147483648),h=+h,Fo(h)&&(h=C?0:v.length-1),h<0&&(h=v.length+h),h>=v.length){if(C)return-1;h=v.length-1}else if(h<0)if(C)h=0;else return-1;if(typeof d=="string"&&(d=c.from(d,b)),c.isBuffer(d))return d.length===0?-1:L(v,d,h,b,C);if(typeof d=="number")return d=d&255,typeof Uint8Array.prototype.indexOf=="function"?C?Uint8Array.prototype.indexOf.call(v,d,h):Uint8Array.prototype.lastIndexOf.call(v,d,h):L(v,[d],h,b,C);throw new TypeError("val must be string, number or Buffer")}function L(v,d,h,b,C){let A=1,$=v.length,re=d.length;if(b!==void 0&&(b=String(b).toLowerCase(),b==="ucs2"||b==="ucs-2"||b==="utf16le"||b==="utf-16le")){if(v.length<2||d.length<2)return-1;A=2,$/=2,re/=2,h/=2}function we(Ie,ye){return A===1?Ie[ye]:Ie.readUInt16BE(ye*A)}let de;if(C){let Ie=-1;for(de=h;de<$;de++)if(we(v,de)===we(d,Ie===-1?0:de-Ie)){if(Ie===-1&&(Ie=de),de-Ie+1===re)return Ie*A}else Ie!==-1&&(de-=de-Ie),Ie=-1}else for(h+re>$&&(h=$-re),de=h;de>=0;de--){let Ie=!0;for(let ye=0;ye<re;ye++)if(we(v,de+ye)!==we(d,ye)){Ie=!1;break}if(Ie)return de}return-1}c.prototype.includes=function(d,h,b){return this.indexOf(d,h,b)!==-1},c.prototype.indexOf=function(d,h,b){return R(this,d,h,b,!0)},c.prototype.lastIndexOf=function(d,h,b){return R(this,d,h,b,!1)};function H(v,d,h,b){h=Number(h)||0;const C=v.length-h;b?(b=Number(b),b>C&&(b=C)):b=C;const A=d.length;b>A/2&&(b=A/2);let $;for($=0;$<b;++$){const re=parseInt(d.substr($*2,2),16);if(Fo(re))return $;v[h+$]=re}return $}function F(v,d,h,b){return pi(Ds(d,v.length-h),v,h,b)}function le(v,d,h,b){return pi(oc(d),v,h,b)}function Je(v,d,h,b){return pi(Mn(d),v,h,b)}function Ke(v,d,h,b){return pi(ou(d,v.length-h),v,h,b)}c.prototype.write=function(d,h,b,C){if(h===void 0)C="utf8",b=this.length,h=0;else if(b===void 0&&typeof h=="string")C=h,b=this.length,h=0;else if(isFinite(h))h=h>>>0,isFinite(b)?(b=b>>>0,C===void 0&&(C="utf8")):(C=b,b=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const A=this.length-h;if((b===void 0||b>A)&&(b=A),d.length>0&&(b<0||h<0)||h>this.length)throw new RangeError("Attempt to write outside buffer bounds");C||(C="utf8");let $=!1;for(;;)switch(C){case"hex":return H(this,d,h,b);case"utf8":case"utf-8":return F(this,d,h,b);case"ascii":case"latin1":case"binary":return le(this,d,h,b);case"base64":return Je(this,d,h,b);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ke(this,d,h,b);default:if($)throw new TypeError("Unknown encoding: "+C);C=(""+C).toLowerCase(),$=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function De(v,d,h){return d===0&&h===v.length?e.fromByteArray(v):e.fromByteArray(v.slice(d,h))}function ut(v,d,h){h=Math.min(v.length,h);const b=[];let C=d;for(;C<h;){const A=v[C];let $=null,re=A>239?4:A>223?3:A>191?2:1;if(C+re<=h){let we,de,Ie,ye;switch(re){case 1:A<128&&($=A);break;case 2:we=v[C+1],(we&192)===128&&(ye=(A&31)<<6|we&63,ye>127&&($=ye));break;case 3:we=v[C+1],de=v[C+2],(we&192)===128&&(de&192)===128&&(ye=(A&15)<<12|(we&63)<<6|de&63,ye>2047&&(ye<55296||ye>57343)&&($=ye));break;case 4:we=v[C+1],de=v[C+2],Ie=v[C+3],(we&192)===128&&(de&192)===128&&(Ie&192)===128&&(ye=(A&15)<<18|(we&63)<<12|(de&63)<<6|Ie&63,ye>65535&&ye<1114112&&($=ye))}}$===null?($=65533,re=1):$>65535&&($-=65536,b.push($>>>10&1023|55296),$=56320|$&1023),b.push($),C+=re}return jt(b)}const ur=4096;function jt(v){const d=v.length;if(d<=ur)return String.fromCharCode.apply(String,v);let h="",b=0;for(;b<d;)h+=String.fromCharCode.apply(String,v.slice(b,b+=ur));return h}function Q(v,d,h){let b="";h=Math.min(v.length,h);for(let C=d;C<h;++C)b+=String.fromCharCode(v[C]&127);return b}function sn(v,d,h){let b="";h=Math.min(v.length,h);for(let C=d;C<h;++C)b+=String.fromCharCode(v[C]);return b}function Fr(v,d,h){const b=v.length;(!d||d<0)&&(d=0),(!h||h<0||h>b)&&(h=b);let C="";for(let A=d;A<h;++A)C+=ac[v[A]];return C}function ui(v,d,h){const b=v.slice(d,h);let C="";for(let A=0;A<b.length-1;A+=2)C+=String.fromCharCode(b[A]+b[A+1]*256);return C}c.prototype.slice=function(d,h){const b=this.length;d=~~d,h=h===void 0?b:~~h,d<0?(d+=b,d<0&&(d=0)):d>b&&(d=b),h<0?(h+=b,h<0&&(h=0)):h>b&&(h=b),h<d&&(h=d);const C=this.subarray(d,h);return Object.setPrototypeOf(C,c.prototype),C};function be(v,d,h){if(v%1!==0||v<0)throw new RangeError("offset is not uint");if(v+d>h)throw new RangeError("Trying to access beyond buffer length")}c.prototype.readUintLE=c.prototype.readUIntLE=function(d,h,b){d=d>>>0,h=h>>>0,b||be(d,h,this.length);let C=this[d],A=1,$=0;for(;++$<h&&(A*=256);)C+=this[d+$]*A;return C},c.prototype.readUintBE=c.prototype.readUIntBE=function(d,h,b){d=d>>>0,h=h>>>0,b||be(d,h,this.length);let C=this[d+--h],A=1;for(;h>0&&(A*=256);)C+=this[d+--h]*A;return C},c.prototype.readUint8=c.prototype.readUInt8=function(d,h){return d=d>>>0,h||be(d,1,this.length),this[d]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(d,h){return d=d>>>0,h||be(d,2,this.length),this[d]|this[d+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(d,h){return d=d>>>0,h||be(d,2,this.length),this[d]<<8|this[d+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(d,h){return d=d>>>0,h||be(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+this[d+3]*16777216},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(d,h){return d=d>>>0,h||be(d,4,this.length),this[d]*16777216+(this[d+1]<<16|this[d+2]<<8|this[d+3])},c.prototype.readBigUInt64LE=jr(function(d){d=d>>>0,st(d,"offset");const h=this[d],b=this[d+7];(h===void 0||b===void 0)&&ot(d,this.length-8);const C=h+this[++d]*2**8+this[++d]*2**16+this[++d]*2**24,A=this[++d]+this[++d]*2**8+this[++d]*2**16+b*2**24;return BigInt(C)+(BigInt(A)<<BigInt(32))}),c.prototype.readBigUInt64BE=jr(function(d){d=d>>>0,st(d,"offset");const h=this[d],b=this[d+7];(h===void 0||b===void 0)&&ot(d,this.length-8);const C=h*2**24+this[++d]*2**16+this[++d]*2**8+this[++d],A=this[++d]*2**24+this[++d]*2**16+this[++d]*2**8+b;return(BigInt(C)<<BigInt(32))+BigInt(A)}),c.prototype.readIntLE=function(d,h,b){d=d>>>0,h=h>>>0,b||be(d,h,this.length);let C=this[d],A=1,$=0;for(;++$<h&&(A*=256);)C+=this[d+$]*A;return A*=128,C>=A&&(C-=Math.pow(2,8*h)),C},c.prototype.readIntBE=function(d,h,b){d=d>>>0,h=h>>>0,b||be(d,h,this.length);let C=h,A=1,$=this[d+--C];for(;C>0&&(A*=256);)$+=this[d+--C]*A;return A*=128,$>=A&&($-=Math.pow(2,8*h)),$},c.prototype.readInt8=function(d,h){return d=d>>>0,h||be(d,1,this.length),this[d]&128?(255-this[d]+1)*-1:this[d]},c.prototype.readInt16LE=function(d,h){d=d>>>0,h||be(d,2,this.length);const b=this[d]|this[d+1]<<8;return b&32768?b|4294901760:b},c.prototype.readInt16BE=function(d,h){d=d>>>0,h||be(d,2,this.length);const b=this[d+1]|this[d]<<8;return b&32768?b|4294901760:b},c.prototype.readInt32LE=function(d,h){return d=d>>>0,h||be(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},c.prototype.readInt32BE=function(d,h){return d=d>>>0,h||be(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},c.prototype.readBigInt64LE=jr(function(d){d=d>>>0,st(d,"offset");const h=this[d],b=this[d+7];(h===void 0||b===void 0)&&ot(d,this.length-8);const C=this[d+4]+this[d+5]*2**8+this[d+6]*2**16+(b<<24);return(BigInt(C)<<BigInt(32))+BigInt(h+this[++d]*2**8+this[++d]*2**16+this[++d]*2**24)}),c.prototype.readBigInt64BE=jr(function(d){d=d>>>0,st(d,"offset");const h=this[d],b=this[d+7];(h===void 0||b===void 0)&&ot(d,this.length-8);const C=(h<<24)+this[++d]*2**16+this[++d]*2**8+this[++d];return(BigInt(C)<<BigInt(32))+BigInt(this[++d]*2**24+this[++d]*2**16+this[++d]*2**8+b)}),c.prototype.readFloatLE=function(d,h){return d=d>>>0,h||be(d,4,this.length),t.read(this,d,!0,23,4)},c.prototype.readFloatBE=function(d,h){return d=d>>>0,h||be(d,4,this.length),t.read(this,d,!1,23,4)},c.prototype.readDoubleLE=function(d,h){return d=d>>>0,h||be(d,8,this.length),t.read(this,d,!0,52,8)},c.prototype.readDoubleBE=function(d,h){return d=d>>>0,h||be(d,8,this.length),t.read(this,d,!1,52,8)};function Ue(v,d,h,b,C,A){if(!c.isBuffer(v))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>C||d<A)throw new RangeError('"value" argument is out of bounds');if(h+b>v.length)throw new RangeError("Index out of range")}c.prototype.writeUintLE=c.prototype.writeUIntLE=function(d,h,b,C){if(d=+d,h=h>>>0,b=b>>>0,!C){const re=Math.pow(2,8*b)-1;Ue(this,d,h,b,re,0)}let A=1,$=0;for(this[h]=d&255;++$<b&&(A*=256);)this[h+$]=d/A&255;return h+b},c.prototype.writeUintBE=c.prototype.writeUIntBE=function(d,h,b,C){if(d=+d,h=h>>>0,b=b>>>0,!C){const re=Math.pow(2,8*b)-1;Ue(this,d,h,b,re,0)}let A=b-1,$=1;for(this[h+A]=d&255;--A>=0&&($*=256);)this[h+A]=d/$&255;return h+b},c.prototype.writeUint8=c.prototype.writeUInt8=function(d,h,b){return d=+d,h=h>>>0,b||Ue(this,d,h,1,255,0),this[h]=d&255,h+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(d,h,b){return d=+d,h=h>>>0,b||Ue(this,d,h,2,65535,0),this[h]=d&255,this[h+1]=d>>>8,h+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(d,h,b){return d=+d,h=h>>>0,b||Ue(this,d,h,2,65535,0),this[h]=d>>>8,this[h+1]=d&255,h+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(d,h,b){return d=+d,h=h>>>0,b||Ue(this,d,h,4,4294967295,0),this[h+3]=d>>>24,this[h+2]=d>>>16,this[h+1]=d>>>8,this[h]=d&255,h+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(d,h,b){return d=+d,h=h>>>0,b||Ue(this,d,h,4,4294967295,0),this[h]=d>>>24,this[h+1]=d>>>16,this[h+2]=d>>>8,this[h+3]=d&255,h+4};function di(v,d,h,b,C){wr(d,b,C,v,h,7);let A=Number(d&BigInt(4294967295));v[h++]=A,A=A>>8,v[h++]=A,A=A>>8,v[h++]=A,A=A>>8,v[h++]=A;let $=Number(d>>BigInt(32)&BigInt(4294967295));return v[h++]=$,$=$>>8,v[h++]=$,$=$>>8,v[h++]=$,$=$>>8,v[h++]=$,h}function qr(v,d,h,b,C){wr(d,b,C,v,h,7);let A=Number(d&BigInt(4294967295));v[h+7]=A,A=A>>8,v[h+6]=A,A=A>>8,v[h+5]=A,A=A>>8,v[h+4]=A;let $=Number(d>>BigInt(32)&BigInt(4294967295));return v[h+3]=$,$=$>>8,v[h+2]=$,$=$>>8,v[h+1]=$,$=$>>8,v[h]=$,h+8}c.prototype.writeBigUInt64LE=jr(function(d,h=0){return di(this,d,h,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeBigUInt64BE=jr(function(d,h=0){return qr(this,d,h,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeIntLE=function(d,h,b,C){if(d=+d,h=h>>>0,!C){const we=Math.pow(2,8*b-1);Ue(this,d,h,b,we-1,-we)}let A=0,$=1,re=0;for(this[h]=d&255;++A<b&&($*=256);)d<0&&re===0&&this[h+A-1]!==0&&(re=1),this[h+A]=(d/$>>0)-re&255;return h+b},c.prototype.writeIntBE=function(d,h,b,C){if(d=+d,h=h>>>0,!C){const we=Math.pow(2,8*b-1);Ue(this,d,h,b,we-1,-we)}let A=b-1,$=1,re=0;for(this[h+A]=d&255;--A>=0&&($*=256);)d<0&&re===0&&this[h+A+1]!==0&&(re=1),this[h+A]=(d/$>>0)-re&255;return h+b},c.prototype.writeInt8=function(d,h,b){return d=+d,h=h>>>0,b||Ue(this,d,h,1,127,-128),d<0&&(d=255+d+1),this[h]=d&255,h+1},c.prototype.writeInt16LE=function(d,h,b){return d=+d,h=h>>>0,b||Ue(this,d,h,2,32767,-32768),this[h]=d&255,this[h+1]=d>>>8,h+2},c.prototype.writeInt16BE=function(d,h,b){return d=+d,h=h>>>0,b||Ue(this,d,h,2,32767,-32768),this[h]=d>>>8,this[h+1]=d&255,h+2},c.prototype.writeInt32LE=function(d,h,b){return d=+d,h=h>>>0,b||Ue(this,d,h,4,2147483647,-2147483648),this[h]=d&255,this[h+1]=d>>>8,this[h+2]=d>>>16,this[h+3]=d>>>24,h+4},c.prototype.writeInt32BE=function(d,h,b){return d=+d,h=h>>>0,b||Ue(this,d,h,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[h]=d>>>24,this[h+1]=d>>>16,this[h+2]=d>>>8,this[h+3]=d&255,h+4},c.prototype.writeBigInt64LE=jr(function(d,h=0){return di(this,d,h,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeBigInt64BE=jr(function(d,h=0){return qr(this,d,h,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Pn(v,d,h,b,C,A){if(h+b>v.length)throw new RangeError("Index out of range");if(h<0)throw new RangeError("Index out of range")}function hi(v,d,h,b,C){return d=+d,h=h>>>0,C||Pn(v,d,h,4),t.write(v,d,h,b,23,4),h+4}c.prototype.writeFloatLE=function(d,h,b){return hi(this,d,h,!0,b)},c.prototype.writeFloatBE=function(d,h,b){return hi(this,d,h,!1,b)};function fi(v,d,h,b,C){return d=+d,h=h>>>0,C||Pn(v,d,h,8),t.write(v,d,h,b,52,8),h+8}c.prototype.writeDoubleLE=function(d,h,b){return fi(this,d,h,!0,b)},c.prototype.writeDoubleBE=function(d,h,b){return fi(this,d,h,!1,b)},c.prototype.copy=function(d,h,b,C){if(!c.isBuffer(d))throw new TypeError("argument should be a Buffer");if(b||(b=0),!C&&C!==0&&(C=this.length),h>=d.length&&(h=d.length),h||(h=0),C>0&&C<b&&(C=b),C===b||d.length===0||this.length===0)return 0;if(h<0)throw new RangeError("targetStart out of bounds");if(b<0||b>=this.length)throw new RangeError("Index out of range");if(C<0)throw new RangeError("sourceEnd out of bounds");C>this.length&&(C=this.length),d.length-h<C-b&&(C=d.length-h+b);const A=C-b;return this===d&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(h,b,C):Uint8Array.prototype.set.call(d,this.subarray(b,C),h),A},c.prototype.fill=function(d,h,b,C){if(typeof d=="string"){if(typeof h=="string"?(C=h,h=0,b=this.length):typeof b=="string"&&(C=b,b=this.length),C!==void 0&&typeof C!="string")throw new TypeError("encoding must be a string");if(typeof C=="string"&&!c.isEncoding(C))throw new TypeError("Unknown encoding: "+C);if(d.length===1){const $=d.charCodeAt(0);(C==="utf8"&&$<128||C==="latin1")&&(d=$)}}else typeof d=="number"?d=d&255:typeof d=="boolean"&&(d=Number(d));if(h<0||this.length<h||this.length<b)throw new RangeError("Out of range index");if(b<=h)return this;h=h>>>0,b=b===void 0?this.length:b>>>0,d||(d=0);let A;if(typeof d=="number")for(A=h;A<b;++A)this[A]=d;else{const $=c.isBuffer(d)?d:c.from(d,C),re=$.length;if(re===0)throw new TypeError('The value "'+d+'" is invalid for argument "value"');for(A=0;A<b-h;++A)this[A+h]=$[A%re]}return this};const _={};function dr(v,d,h){_[v]=class extends h{constructor(){super();Object.defineProperty(this,"message",{value:d.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${v}]`,this.stack,delete this.name}get code(){return v}set code(C){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:C,writable:!0})}toString(){return`${this.name} [${v}]: ${this.message}`}}}dr("ERR_BUFFER_OUT_OF_BOUNDS",function(v){return v?`${v} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),dr("ERR_INVALID_ARG_TYPE",function(v,d){return`The "${v}" argument must be of type number. Received type ${typeof d}`},TypeError),dr("ERR_OUT_OF_RANGE",function(v,d,h){let b=`The value of "${v}" is out of range.`,C=h;return Number.isInteger(h)&&Math.abs(h)>2**32?C=Mt(String(h)):typeof h=="bigint"&&(C=String(h),(h>BigInt(2)**BigInt(32)||h<-(BigInt(2)**BigInt(32)))&&(C=Mt(C)),C+="n"),b+=` It must be ${d}. Received ${C}`,b},RangeError);function Mt(v){let d="",h=v.length;const b=v[0]==="-"?1:0;for(;h>=b+4;h-=3)d=`_${v.slice(h-3,h)}${d}`;return`${v.slice(0,h)}${d}`}function hr(v,d,h){st(d,"offset"),(v[d]===void 0||v[d+h]===void 0)&&ot(d,v.length-(h+1))}function wr(v,d,h,b,C,A){if(v>h||v<d){const $=typeof d=="bigint"?"n":"";let re;throw A>3?d===0||d===BigInt(0)?re=`>= 0${$} and < 2${$} ** ${(A+1)*8}${$}`:re=`>= -(2${$} ** ${(A+1)*8-1}${$}) and < 2 ** ${(A+1)*8-1}${$}`:re=`>= ${d}${$} and <= ${h}${$}`,new _.ERR_OUT_OF_RANGE("value",re,v)}hr(b,C,A)}function st(v,d){if(typeof v!="number")throw new _.ERR_INVALID_ARG_TYPE(d,"number",v)}function ot(v,d,h){throw Math.floor(v)!==v?(st(v,h),new _.ERR_OUT_OF_RANGE(h||"offset","an integer",v)):d<0?new _.ERR_BUFFER_OUT_OF_BOUNDS:new _.ERR_OUT_OF_RANGE(h||"offset",`>= ${h?1:0} and <= ${d}`,v)}const sc=/[^+/0-9A-Za-z-_]/g;function Vt(v){if(v=v.split("=")[0],v=v.trim().replace(sc,""),v.length<2)return"";for(;v.length%4!==0;)v=v+"=";return v}function Ds(v,d){d=d||1/0;let h;const b=v.length;let C=null;const A=[];for(let $=0;$<b;++$){if(h=v.charCodeAt($),h>55295&&h<57344){if(!C){if(h>56319){(d-=3)>-1&&A.push(239,191,189);continue}else if($+1===b){(d-=3)>-1&&A.push(239,191,189);continue}C=h;continue}if(h<56320){(d-=3)>-1&&A.push(239,191,189),C=h;continue}h=(C-55296<<10|h-56320)+65536}else C&&(d-=3)>-1&&A.push(239,191,189);if(C=null,h<128){if((d-=1)<0)break;A.push(h)}else if(h<2048){if((d-=2)<0)break;A.push(h>>6|192,h&63|128)}else if(h<65536){if((d-=3)<0)break;A.push(h>>12|224,h>>6&63|128,h&63|128)}else if(h<1114112){if((d-=4)<0)break;A.push(h>>18|240,h>>12&63|128,h>>6&63|128,h&63|128)}else throw new Error("Invalid code point")}return A}function oc(v){const d=[];for(let h=0;h<v.length;++h)d.push(v.charCodeAt(h)&255);return d}function ou(v,d){let h,b,C;const A=[];for(let $=0;$<v.length&&!((d-=2)<0);++$)h=v.charCodeAt($),b=h>>8,C=h%256,A.push(C),A.push(b);return A}function Mn(v){return e.toByteArray(Vt(v))}function pi(v,d,h,b){let C;for(C=0;C<b&&!(C+h>=d.length||C>=v.length);++C)d[C+h]=v[C];return C}function Gt(v,d){return v instanceof d||v!=null&&v.constructor!=null&&v.constructor.name!=null&&v.constructor.name===d.name}function Fo(v){return v!==v}const ac=function(){const v="0123456789abcdef",d=new Array(256);for(let h=0;h<16;++h){const b=h*16;for(let C=0;C<16;++C)d[b+C]=v[h]+v[C]}return d}();function jr(v){return typeof BigInt=="undefined"?cc:v}function cc(){throw new Error("BigInt not supported")}})(u_);(function(n,e){var t=u_,r=t.Buffer;function i(o,c){for(var l in o)c[l]=o[l]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?n.exports=t:(i(t,e),e.Buffer=s);function s(o,c,l){return r(o,c,l)}i(r,s),s.from=function(o,c,l){if(typeof o=="number")throw new TypeError("Argument must not be a number");return r(o,c,l)},s.alloc=function(o,c,l){if(typeof o!="number")throw new TypeError("Argument must be a number");var u=r(o);return c!==void 0?typeof l=="string"?u.fill(c,l):u.fill(c):u.fill(0),u},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return r(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(o)}})(Ih,Ih.exports);var Ac=Ih.exports.Buffer;function IP(n){if(n.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),t=0;t<e.length;t++)e[t]=255;for(var r=0;r<n.length;r++){var i=n.charAt(r),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=r}var o=n.length,c=n.charAt(0),l=Math.log(o)/Math.log(256),u=Math.log(256)/Math.log(o);function a(p){if((Array.isArray(p)||p instanceof Uint8Array)&&(p=Ac.from(p)),!Ac.isBuffer(p))throw new TypeError("Expected Buffer");if(p.length===0)return"";for(var E=0,I=0,w=0,k=p.length;w!==k&&p[w]===0;)w++,E++;for(var P=(k-w)*u+1>>>0,S=new Uint8Array(P);w!==k;){for(var T=p[w],D=0,R=P-1;(T!==0||D<I)&&R!==-1;R--,D++)T+=256*S[R]>>>0,S[R]=T%o>>>0,T=T/o>>>0;if(T!==0)throw new Error("Non-zero carry");I=D,w++}for(var L=P-I;L!==P&&S[L]===0;)L++;for(var H=c.repeat(E);L<P;++L)H+=n.charAt(S[L]);return H}function g(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return Ac.alloc(0);for(var E=0,I=0,w=0;p[E]===c;)I++,E++;for(var k=(p.length-E)*l+1>>>0,P=new Uint8Array(k);p[E];){var S=e[p.charCodeAt(E)];if(S===255)return;for(var T=0,D=k-1;(S!==0||T<w)&&D!==-1;D--,T++)S+=o*P[D]>>>0,P[D]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");w=T,E++}for(var R=k-w;R!==k&&P[R]===0;)R++;var L=Ac.allocUnsafe(I+(k-R));L.fill(0,0,I);for(var H=I;R!==k;)L[H++]=P[R++];return L}function m(p){var E=g(p);if(E)return E;throw new Error("Non-base"+o+" character")}return{encode:a,decodeUnsafe:g,decode:m}}var TP=IP,OP=TP,kP="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",CP=OP(kP),PP=V.exports;Object.defineProperty(Bo,"__esModule",{value:!0});Bo.decodeRecoveryKey=AP;Bo.encodeRecoveryKey=MP;var h_=PP(CP);const Ai=[139,1];function MP(n){const e=new Buffer(Ai.length+n.length+1);e.set(Ai,0),e.set(n,Ai.length);let t=0;for(let i=0;i<e.length-1;++i)t^=e[i];return e[e.length-1]=t,h_.default.encode(e).match(/.{1,4}/g).join(" ")}function AP(n){const e=h_.default.decode(n.replace(/ /g,""));let t=0;for(const r of e)t^=r;if(t!==0)throw new Error("Incorrect parity");for(let r=0;r<Ai.length;++r)if(e[r]!==Ai[r])throw new Error("Incorrect prefix");if(e.length!==Ai.length+j.Olm.PRIVATE_KEY_LENGTH+1)throw new Error("Incorrect length");return Uint8Array.from(e.slice(Ai.length,Ai.length+j.Olm.PRIVATE_KEY_LENGTH))}var fe={},DP=V.exports;Object.defineProperty(fe,"__esModule",{value:!0});fe.VerificationRequestEvent=fe.VerificationRequest=fe.START_TYPE=fe.REQUEST_TYPE=fe.READY_TYPE=fe.Phase=fe.PHASE_UNSENT=fe.PHASE_STARTED=fe.PHASE_REQUESTED=fe.PHASE_READY=fe.PHASE_DONE=fe.PHASE_CANCELLED=fe.EVENT_PREFIX=fe.DONE_TYPE=fe.CANCEL_TYPE=void 0;var It=DP(Y.exports),Vi=ie,Gi=Le,Gg=or,UP=qe;const $P=10*60*1e3,xP=2*60*1e3,NP=3*1e3,As="m.key.verification.";fe.EVENT_PREFIX=As;const Zt=As+"request";fe.REQUEST_TYPE=Zt;const gr=As+"start";fe.START_TYPE=gr;const Qi=As+"cancel";fe.CANCEL_TYPE=Qi;const f_=As+"done";fe.DONE_TYPE=f_;const Ti=As+"ready";fe.READY_TYPE=Ti;let ri;fe.Phase=ri;(function(n){n[n.Unsent=1]="Unsent",n[n.Requested=2]="Requested",n[n.Ready=3]="Ready",n[n.Started=4]="Started",n[n.Cancelled=5]="Cancelled",n[n.Done=6]="Done"})(ri||(fe.Phase=ri={}));const fn=ri.Unsent;fe.PHASE_UNSENT=fn;const Dr=ri.Requested;fe.PHASE_REQUESTED=Dr;const pn=ri.Ready;fe.PHASE_READY=pn;const Zi=ri.Started;fe.PHASE_STARTED=Zi;const no=ri.Cancelled;fe.PHASE_CANCELLED=no;const io=ri.Done;fe.PHASE_DONE=io;let Hn;fe.VerificationRequestEvent=Hn;(function(n){n.Change="change"})(Hn||(fe.VerificationRequestEvent=Hn={}));class LP extends UP.TypedEventEmitter{constructor(e,t,r){super();this.channel=e,this.verificationMethods=t,this.client=r,(0,It.default)(this,"eventsByUs",new Map),(0,It.default)(this,"eventsByThem",new Map),(0,It.default)(this,"_observeOnly",!1),(0,It.default)(this,"timeoutTimer",null),(0,It.default)(this,"_accepting",!1),(0,It.default)(this,"_declining",!1),(0,It.default)(this,"verifierHasFinished",!1),(0,It.default)(this,"_cancelled",!1),(0,It.default)(this,"_chosenMethod",null),(0,It.default)(this,"_qrCodeData",null),(0,It.default)(this,"requestReceivedAt",null),(0,It.default)(this,"commonMethods",[]),(0,It.default)(this,"_phase",void 0),(0,It.default)(this,"_cancellingUserId",void 0),(0,It.default)(this,"_verifier",void 0),(0,It.default)(this,"cancelOnTimeout",()=>{try{this.initiatedByMe?this.cancel({reason:"Other party didn't accept in time",code:"m.timeout"}):this.cancel({reason:"User didn't accept in time",code:"m.timeout"})}catch(i){Vi.logger.error("Error while cancelling verification request",i)}}),this.channel.request=this,this.setPhase(fn,!1)}static validateEvent(e,t,r){const i=t.getContent();return!e||!e.startsWith(As)?!1:i?(e===Zt||e===Ti)&&!Array.isArray(i.methods)?(Vi.logger.log("VerificationRequest: validateEvent: fail because methods"),!1):(e===Zt||e===Ti||e===gr)&&(typeof i.from_device!="string"||i.from_device.length===0)?(Vi.logger.log("VerificationRequest: validateEvent: fail because from_device"),!1):!0:(Vi.logger.log("VerificationRequest: validateEvent: no content"),!1)}get invalid(){return this.phase===fn}get requested(){return this.phase===Dr}get cancelled(){return this.phase===no}get ready(){return this.phase===pn}get started(){return this.phase===Zi}get done(){return this.phase===io}get methods(){return this.commonMethods}get chosenMethod(){return this._chosenMethod}calculateEventTimeout(e){let t=this.channel.getTimestamp(e)+$P;if(this.requestReceivedAt&&!this.initiatedByMe&&this.phase<=Dr){const r=this.requestReceivedAt+xP;t=Math.min(t,r)}return Math.max(0,t-Date.now())}get timeout(){const e=this.getEventByEither(Zt);return e?this.calculateEventTimeout(e):0}get requestEvent(){return this.getEventByEither(Zt)}get phase(){return this._phase}get verifier(){return this._verifier}get canAccept(){return this.phase<pn&&!this._accepting&&!this._declining}get accepting(){return this._accepting}get declining(){return this._declining}get pending(){return!this.observeOnly&&this._phase!==io&&this._phase!==no}get qrCodeData(){return this._qrCodeData}otherPartySupportsMethod(e,t=!1){if(!t&&!this.ready&&!this.started)return!1;const r=this.eventsByThem.get(Zt)||this.eventsByThem.get(Ti);if(!r){if(this.started&&this.initiatedByMe){const o=this.eventsByUs.get(gr),c=o&&o.getContent(),l=c&&c.method;return e==l}return!1}const i=r.getContent();if(!i)return!1;const{methods:s}=i;return Array.isArray(s)?s.includes(e):!1}get initiatedByMe(){const e=this.eventsByUs.size+this.eventsByThem.size===0;if(this._phase===fn&&e)return!0;const t=this.eventsByUs.has(Zt),r=this.eventsByThem.has(Zt);if(t&&!r)return!0;if(!t&&r)return!1;const i=this.eventsByUs.has(gr),s=this.eventsByThem.has(gr);return!!(i&&!s)}get requestingUserId(){return this.initiatedByMe?this.client.getUserId():this.otherUserId}get receivingUserId(){return this.initiatedByMe?this.otherUserId:this.client.getUserId()}get otherUserId(){return this.channel.userId}get isSelfVerification(){return this.client.getUserId()===this.otherUserId}get cancellingUserId(){const e=this.eventsByUs.get(Qi),t=this.eventsByThem.get(Qi);if(e&&(!t||e.getId()<t.getId()))return e.getSender();if(t)return t.getSender()}get cancellationCode(){const e=this.getEventByEither(Qi);return e?e.getContent().code:null}get observeOnly(){return this._observeOnly}get targetDevice(){const r=(this.eventsByThem.get(Zt)||this.eventsByThem.get(Ti)||this.eventsByThem.get(gr)).getContent().from_device;return{userId:this.otherUserId,deviceId:r}}beginKeyVerification(e,t=null){if(!this.observeOnly&&!this._verifier&&(this.phase===Dr||this.phase===pn||this.phase===fn&&this.channel.canCreateRequest(gr))){if(this.commonMethods.length&&!this.commonMethods.includes(e)||(this._verifier=this.createVerifier(e,null,t),!this._verifier))throw(0,Gi.newUnknownMethodError)();this._chosenMethod=e}return this._verifier}async sendRequest(){if(!this.observeOnly&&this._phase===fn){const e=[...this.verificationMethods.keys()];await this.channel.send(Zt,{methods:e})}}async cancel({reason:e="User declined",code:t="m.user"}={}){if(!this.observeOnly&&this._phase!==no){if(this._declining=!0,this.emit(Hn.Change),this._verifier)return this._verifier.cancel((0,Gi.errorFactory)(t,e)());this._cancellingUserId=this.client.getUserId(),await this.channel.send(Qi,{code:t,reason:e})}}async accept(){if(!this.observeOnly&&this.phase===Dr&&!this.initiatedByMe){const e=[...this.verificationMethods.keys()];this._accepting=!0,this.emit(Hn.Change),await this.channel.send(Ti,{methods:e})}}waitFor(e){return new Promise((t,r)=>{const i=()=>{let s=!1;return e(this)?(t(this),s=!0):this.cancelled&&(r(new Error("cancelled")),s=!0),s&&this.off(Hn.Change,i),s};i()||this.on(Hn.Change,i)})}setPhase(e,t=!0){this._phase=e,t&&this.emit(Hn.Change)}getEventByEither(e){return this.eventsByThem.get(e)||this.eventsByUs.get(e)}getEventBy(e,t=!1){return t?this.eventsByThem.get(e):this.eventsByUs.get(e)}calculatePhaseTransitions(){const e=[{phase:fn}],t=()=>e[e.length-1].phase,r=this.eventsByThem.has(Zt),i=this.getEventBy(Zt,r);i&&e.push({phase:Dr,event:i});const s=i&&this.getEventBy(Ti,!r);s&&t()===Dr&&e.push({phase:pn,event:s});let o;if(s||!i){const u=this.eventsByThem.get(gr),a=this.eventsByUs.get(gr);u&&a?o=u.getSender()<a.getSender()?u:a:o=u||a}else o=this.getEventBy(gr,!r);if(o){const u=t()===Dr&&i.getSender()!==o.getSender(),a=t()===fn&&this.channel.canCreateRequest(gr);(u||t()===pn||a)&&e.push({phase:Zi,event:o})}const c=this.eventsByUs.get(f_);(this.verifierHasFinished||c&&t()===Zi)&&e.push({phase:io});const l=this.getEventByEither(Qi);return(this._cancelled||l)&&t()!==io&&e.push({phase:no,event:l}),e}transitionToPhase(e){const{phase:t,event:r}=e;if((t===Dr||t===pn)&&!this.wasSentByOwnDevice(r)){const i=r.getContent();this.commonMethods=i.methods.filter(s=>this.verificationMethods.has(s))}if(this.observeOnly||(t===Dr||t===Zi||t===pn)&&this.channel.receiveStartFromOtherDevices&&this.wasSentByOwnUser(r)&&!this.wasSentByOwnDevice(r)&&(this._observeOnly=!0),t===Zi){const{method:i}=r.getContent();!this._verifier&&!this.observeOnly&&(this._verifier=this.createVerifier(i,r),this._verifier?this._chosenMethod=i:this.cancel({code:"m.unknown_method",reason:`Unknown method: ${i}`}))}}applyPhaseTransitions(){const e=this.calculatePhaseTransitions(),t=e.findIndex(i=>i.phase===this.phase),r=e.slice(t+1);for(const i of r)this.transitionToPhase(i);return r}isWinningStartRace(e){if(e.getType()!==gr)return!1;const t=this._verifier.startEvent;let r;if(this.isSelfVerification)if(t){const s=t.getContent();r=s&&s.from_device}else r=this.client.getDeviceId();else t?r=t.getSender():r=this.client.getUserId();let i;if(this.isSelfVerification){const s=e.getContent();i=s&&s.from_device}else i=e.getSender();return i<r}hasEventId(e){for(const t of this.eventsByUs.values())if(t.getId()===e)return!0;for(const t of this.eventsByThem.values())if(t.getId()===e)return!0;return!1}async handleEvent(e,t,r,i,s){if(this.done||this.cancelled)return;const o=this._observeOnly;if(this.adjustObserveOnly(t,r),!this.observeOnly&&!i&&await this.cancelOnError(e,t)||(s?this.eventsByUs.has(e):this.eventsByThem.has(e)))return;const l=this.phase;this.addEvent(e,t,s);const u=this.applyPhaseTransitions();try{if(this._verifier&&!this.observeOnly){const g=this.isWinningStartRace(t);if(this._verifier.canSwitchStartEvent(t)&&g)this._verifier.switchStartEvent(t);else if(!i){var a;(e===Qi||(a=this._verifier.events)!==null&&a!==void 0&&a.includes(e))&&this._verifier.handleEvent(t)}}if(u.length){r&&u.some(p=>p.phase===pn)&&this.otherPartySupportsMethod(Gg.SCAN_QR_CODE_METHOD,!0)&&(this._qrCodeData=await Gg.QRCodeData.create(this,this.client));const g=u[u.length-1],{phase:m}=g;this.setupTimeout(m),this.setPhase(m)}else this._observeOnly!==o&&this.emit(Hn.Change)}finally{Vi.logger.log(`Verification request ${this.channel.transactionId}: ${e} event with id:${t.getId()}, content:${JSON.stringify(t.getContent())} deviceId:${this.channel.deviceId}, sender:${t.getSender()}, isSentByUs:${s}, isLiveEvent:${r}, isRemoteEcho:${i}, phase:${l}=>${this.phase}, observeOnly:${o}=>${this._observeOnly}`)}}setupTimeout(e){!this.timeoutTimer&&!this.observeOnly&&e===Dr&&(this.timeoutTimer=setTimeout(this.cancelOnTimeout,this.timeout)),this.timeoutTimer&&(e===Zi||e===pn||e===io||e===no)&&(clearTimeout(this.timeoutTimer),this.timeoutTimer=null)}async cancelOnError(e,t){if(e===gr){const s=t.getContent().method;if(!this.verificationMethods.has(s))return await this.cancel((0,Gi.errorFromEvent)((0,Gi.newUnknownMethodError)())),!0}const r=e===Zt&&this.phase!==fn,i=e===Ti&&this.phase!==Dr;if(this.phase!==fn&&(r||i)){Vi.logger.warn(`Cancelling, unexpected ${e} verification event from ${t.getSender()}`);const s=`Unexpected ${e} event in phase ${this.phase}`;return await this.cancel((0,Gi.errorFromEvent)((0,Gi.newUnexpectedMessageError)({reason:s}))),!0}return!1}adjustObserveOnly(e,t=!1){t||(this._observeOnly=!0),this.calculateEventTimeout(e)<NP&&(this._observeOnly=!0)}addEvent(e,t,r=!1){if(r?this.eventsByUs.set(e,t):this.eventsByThem.set(e,t),e===Zt){for(const[i,s]of this.eventsByThem.entries())s.getSender()!==this.otherUserId&&this.eventsByThem.delete(i);this.requestReceivedAt=Date.now()}}createVerifier(e,t=null,r=null){r||(r=this.targetDevice);const{userId:i,deviceId:s}=r,o=this.verificationMethods.get(e);if(!o){Vi.logger.warn("could not find verifier constructor for method",e);return}return new o(this.channel,this.client,i,s,t,this)}wasSentByOwnUser(e){return e.getSender()===this.client.getUserId()}wasSentByOwnDevice(e){if(!this.wasSentByOwnUser(e))return!1;const t=e.getContent();return!(!t||t.from_device!==this.client.getDeviceId())}onVerifierCancelled(){this._cancelled=!0;const e=this.applyPhaseTransitions();e.length&&this.setPhase(e[e.length-1].phase)}onVerifierFinished(){this.channel.send("m.key.verification.done",{}),this.verifierHasFinished=!0;const e=this.applyPhaseTransitions();e.length&&this.setPhase(e[e.length-1].phase)}getEventFromOtherParty(e){return this.eventsByThem.get(e)}}fe.VerificationRequest=LP;var Ro={},BP=V.exports;Object.defineProperty(Ro,"__esModule",{value:!0});Ro.InRoomRequests=Ro.InRoomChannel=void 0;var p_=BP(Y.exports),$t=fe,td=ie,KP=ne;const Wg=KP.EventType.RoomMessage,Hg="m.reference",Yg="m.relates_to";class ir{constructor(e,t,r=null){this.client=e,this.roomId=t,this.userId=r,(0,p_.default)(this,"requestEventId",null)}get receiveStartFromOtherDevices(){return!0}get transactionId(){return this.requestEventId}static getOtherPartyUserId(e,t){if(ir.getEventType(e)!==$t.REQUEST_TYPE)return;const i=t.getUserId(),s=e.getSender(),c=e.getContent().to;if(s===i)return c;if(c===i)return s}getTimestamp(e){return e.getTs()}static canCreateRequest(e){return e===$t.REQUEST_TYPE}canCreateRequest(e){return ir.canCreateRequest(e)}static getTransactionId(e){if(ir.getEventType(e)===$t.REQUEST_TYPE)return e.getId();{const t=e.getRelation();if(t&&t.rel_type===Hg)return t.event_id}}static validateEvent(e,t){const r=ir.getTransactionId(e);if(typeof r!="string"||r.length===0)return!1;const i=ir.getEventType(e),s=e.getContent();if(i===$t.REQUEST_TYPE){if(!s||typeof s.to!="string"||!s.to.length)return td.logger.log("InRoomChannel: validateEvent: no valid to "+(s&&s.to)),!1;if(!ir.getOtherPartyUserId(e,t))return td.logger.log(`InRoomChannel: validateEvent: not directed to or sent by me: ${e.getSender()}, ${s&&s.to}`),!1}return $t.VerificationRequest.validateEvent(i,e,t)}static getEventType(e){const t=e.getType();if(t===Wg){const r=e.getContent();if(r){const{msgtype:i}=r;if(i===$t.REQUEST_TYPE)return $t.REQUEST_TYPE}}return t&&t!==$t.REQUEST_TYPE?t:""}async handleEvent(e,t,r=!1){if(t.hasEventId(e.getId()))return;const i=ir.getEventType(e);if(e.getRoomId()!==this.roomId)return;if(this.userId===null){const u=ir.getOtherPartyUserId(e,this.client);u&&(this.userId=u)}const s=this.client.getUserId(),o=e.getSender();if(this.userId!==null&&o!==s&&o!==this.userId){td.logger.log(`InRoomChannel: ignoring verification event from non-participating sender ${o}`);return}this.requestEventId===null&&(this.requestEventId=ir.getTransactionId(e));const c=!!e.getUnsigned().transaction_id,l=e.getSender()===this.client.getUserId();return await t.handleEvent(i,e,r,c,l)}completedContentFromEvent(e){const t=Object.assign({},e.getContent());return t[Yg]=e.getRelation(),t}completeContent(e,t){return t=Object.assign({},t),(e===$t.REQUEST_TYPE||e===$t.READY_TYPE||e===$t.START_TYPE)&&(t.from_device=this.client.getDeviceId()),e===$t.REQUEST_TYPE?t={body:this.client.getUserId()+" is requesting to verify your key, but your client does not support in-chat key verification. You will need to use legacy key verification to verify keys.",msgtype:$t.REQUEST_TYPE,to:this.userId,from_device:t.from_device,methods:t.methods}:t[Yg]={rel_type:Hg,event_id:this.transactionId},t}send(e,t){const r=this.completeContent(e,t);return this.sendCompleted(e,r)}async sendCompleted(e,t){let r=e;e===$t.REQUEST_TYPE&&(r=Wg);const i=await this.client.sendEvent(this.roomId,r,t);e===$t.REQUEST_TYPE&&(this.requestEventId=i.event_id)}}Ro.InRoomChannel=ir;class FP{constructor(){(0,p_.default)(this,"requestsByRoomId",new Map)}getRequest(e){const t=e.getRoomId(),r=ir.getTransactionId(e);return this.getRequestByTxnId(t,r)}getRequestByChannel(e){return this.getRequestByTxnId(e.roomId,e.transactionId)}getRequestByTxnId(e,t){const r=this.requestsByRoomId.get(e);if(r)return r.get(t)}setRequest(e,t){this.doSetRequest(e.getRoomId(),ir.getTransactionId(e),t)}setRequestByChannel(e,t){this.doSetRequest(e.roomId,e.transactionId,t)}doSetRequest(e,t,r){let i=this.requestsByRoomId.get(e);i||(i=new Map,this.requestsByRoomId.set(e,i)),i.set(t,r)}removeRequest(e){const t=e.getRoomId(),r=this.requestsByRoomId.get(t);r&&(r.delete(ir.getTransactionId(e)),r.size===0&&this.requestsByRoomId.delete(t))}findRequestInProgress(e){const t=this.requestsByRoomId.get(e);if(t){for(const r of t.values())if(r.pending)return r}}}Ro.InRoomRequests=FP;var Io={},qP=V.exports;Object.defineProperty(Io,"__esModule",{value:!0});Io.ToDeviceRequests=Io.ToDeviceChannel=void 0;var g_=qP(Y.exports),jP=oi,na=ie,xe=fe,zg=Le,VP=qt;class cs{constructor(e,t,r,i=null,s=null){this.client=e,this.userId=t,this.devices=r,this.transactionId=i,this.deviceId=s,(0,g_.default)(this,"request",void 0)}isToDevices(e){if(e.length===this.devices.length){for(const t of e)if(!this.devices.includes(t))return!1;return!0}else return!1}static getEventType(e){return e.getType()}static getTransactionId(e){const t=e.getContent();return t&&t.transaction_id}static canCreateRequest(e){return e===xe.REQUEST_TYPE||e===xe.START_TYPE}canCreateRequest(e){return cs.canCreateRequest(e)}static validateEvent(e,t){if(e.isCancelled())return na.logger.warn("Ignoring flagged verification request from "+e.getSender()),!1;const r=e.getContent();if(!r)return na.logger.warn("ToDeviceChannel.validateEvent: invalid: no content"),!1;if(!r.transaction_id)return na.logger.warn("ToDeviceChannel.validateEvent: invalid: no transaction_id"),!1;const i=e.getType();if(i===xe.REQUEST_TYPE){if(!Number.isFinite(r.timestamp))return na.logger.warn("ToDeviceChannel.validateEvent: invalid: no timestamp"),!1;if(e.getSender()===t.getUserId()&&r.from_device==t.getDeviceId())return na.logger.warn("ToDeviceChannel.validateEvent: invalid: from own device"),!1}return xe.VerificationRequest.validateEvent(i,e,t)}getTimestamp(e){const t=e.getContent();return t&&t.timestamp}async handleEvent(e,t,r=!1){const i=e.getType(),s=e.getContent();if(i===xe.REQUEST_TYPE||i===xe.READY_TYPE||i===xe.START_TYPE){this.transactionId||(this.transactionId=s.transaction_id);const u=s.from_device;if(!this.deviceId&&this.devices.includes(u)&&(this.deviceId=u),!this.deviceId||this.deviceId!==u){const a=this.completeContent(xe.CANCEL_TYPE,(0,zg.errorFromEvent)((0,zg.newUnexpectedMessageError)()));return this.sendToDevices(xe.CANCEL_TYPE,a,[u])}}const o=t.phase===xe.PHASE_STARTED||t.phase===xe.PHASE_READY;await t.handleEvent(e.getType(),e,r,!1,!1);const c=t.phase===xe.PHASE_STARTED||t.phase===xe.PHASE_READY;if((i===xe.START_TYPE||i===xe.READY_TYPE)&&!o&&c&&this.deviceId){const u=this.devices.filter(a=>a!==this.deviceId&&a!==this.client.getDeviceId());if(u.length){const a=this.completeContent(xe.CANCEL_TYPE,{code:"m.accepted",reason:"Verification request accepted by another device"});await this.sendToDevices(xe.CANCEL_TYPE,a,u)}}}completedContentFromEvent(e){return e.getContent()}completeContent(e,t){return t=Object.assign({},t),this.transactionId&&(t.transaction_id=this.transactionId),(e===xe.REQUEST_TYPE||e===xe.READY_TYPE||e===xe.START_TYPE)&&(t.from_device=this.client.getDeviceId()),e===xe.REQUEST_TYPE&&(t.timestamp=Date.now()),t}send(e,t={}){(e===xe.REQUEST_TYPE||e===xe.START_TYPE)&&!this.transactionId&&(this.transactionId=cs.makeTransactionId());const r=this.completeContent(e,t);return this.sendCompleted(e,r)}async sendCompleted(e,t){let r;e===xe.REQUEST_TYPE||e===xe.CANCEL_TYPE&&!this.deviceId?r=await this.sendToDevices(e,t,this.devices):r=await this.sendToDevices(e,t,[this.deviceId]);const i=new VP.MatrixEvent({sender:this.client.getUserId(),content:t,type:e});return await this.request.handleEvent(e,i,!0,!0,!0),r}async sendToDevices(e,t,r){if(r.length){const i={};for(const s of r)i[s]=t;await this.client.sendToDevice(e,{[this.userId]:i})}}static makeTransactionId(){return(0,jP.randomString)(32)}}Io.ToDeviceChannel=cs;class GP{constructor(){(0,g_.default)(this,"requestsByUserId",new Map)}getRequest(e){return this.getRequestBySenderAndTxnId(e.getSender(),cs.getTransactionId(e))}getRequestByChannel(e){return this.getRequestBySenderAndTxnId(e.userId,e.transactionId)}getRequestBySenderAndTxnId(e,t){const r=this.requestsByUserId.get(e);if(r)return r.get(t)}setRequest(e,t){this.setRequestBySenderAndTxnId(e.getSender(),cs.getTransactionId(e),t)}setRequestByChannel(e,t){this.setRequestBySenderAndTxnId(e.userId,e.transactionId,t)}setRequestBySenderAndTxnId(e,t,r){let i=this.requestsByUserId.get(e);i||(i=new Map,this.requestsByUserId.set(e,i)),i.set(t,r)}removeRequest(e){const t=e.getSender(),r=this.requestsByUserId.get(t);r&&(r.delete(cs.getTransactionId(e)),r.size===0&&this.requestsByUserId.delete(t))}findRequestInProgress(e,t){const r=this.requestsByUserId.get(e);if(r){for(const i of r.values())if(i.pending&&i.channel.isToDevices(t))return i}}getRequestsInProgress(e){const t=this.requestsByUserId.get(e);return t?Array.from(t.values()).filter(r=>r.pending):[]}}Io.ToDeviceRequests=GP;var Xl={},WP=V.exports;Object.defineProperty(Xl,"__esModule",{value:!0});Xl.IllegalMethod=void 0;var HP=WP(Y.exports),YP=Qr;class vf extends YP.VerificationBase{constructor(...e){super(...e);(0,HP.default)(this,"doVerification",async()=>{throw new Error("Verification is not possible with this method")})}static factory(e,t,r,i,s,o){return new vf(e,t,r,i,s,o)}static get NAME(){return"org.matrix.illegal_method"}}Xl.IllegalMethod=vf;var Ss={},m_=V.exports;Object.defineProperty(Ss,"__esModule",{value:!0});Ss.DehydrationManager=Ss.DEHYDRATION_ALGORITHM=void 0;var ia=m_(Y.exports),rd=m_(Vl),Jg=Me,nd=Kr,Xg=ci,Nn=ie,Qg=me;const rl="org.matrix.msc2697.v1.olm.libolm_pickle";Ss.DEHYDRATION_ALGORITHM=rl;const Zg=7*24*60*60*1e3;class zP{constructor(e){this.crypto=e,(0,ia.default)(this,"inProgress",!1),(0,ia.default)(this,"timeoutId",void 0),(0,ia.default)(this,"key",void 0),(0,ia.default)(this,"keyInfo",void 0),(0,ia.default)(this,"deviceDisplayName",void 0),this.getDehydrationKeyFromCache()}async getDehydrationKeyFromCache(){return await this.crypto.cryptoStore.doTxn("readonly",[nd.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this.crypto.cryptoStore.getSecretStorePrivateKey(e,async t=>{if(t){const{key:r,keyInfo:i,deviceDisplayName:s,time:o}=t,c=Buffer.from(this.crypto.olmDevice.pickleKey),l=await(0,Xg.decryptAES)(r,c,rl);this.key=(0,Jg.decodeBase64)(l),this.keyInfo=i,this.deviceDisplayName=s;const u=Date.now(),a=Math.max(1,o+Zg-u);this.timeoutId=j.setTimeout(this.dehydrateDevice.bind(this),a)}},"dehydration")})}async setKeyAndQueueDehydration(e,t={},r=void 0){await this.setKey(e,t,r)||this.dehydrateDevice()}async setKey(e,t={},r=void 0){if(!e){this.timeoutId&&(j.clearTimeout(this.timeoutId),this.timeoutId=void 0),await this.crypto.cryptoStore.doTxn("readwrite",[nd.IndexedDBCryptoStore.STORE_ACCOUNT],s=>{this.crypto.cryptoStore.storeSecretStorePrivateKey(s,"dehydration",null)}),this.key=void 0,this.keyInfo=void 0;return}let i=this.key&&e.length==this.key.length;for(let s=0;i&&s<e.length;s++)e[s]!=this.key[s]&&(i=!1);return i||(this.key=e,this.keyInfo=t,this.deviceDisplayName=r),i}async dehydrateDevice(){if(this.inProgress){Nn.logger.log("Dehydration already in progress -- not starting new dehydration");return}this.inProgress=!0,this.timeoutId&&(j.clearTimeout(this.timeoutId),this.timeoutId=void 0);try{const e=Buffer.from(this.crypto.olmDevice.pickleKey),t=await(0,Xg.encryptAES)((0,Jg.encodeBase64)(this.key),e,rl);await this.crypto.cryptoStore.doTxn("readwrite",[nd.IndexedDBCryptoStore.STORE_ACCOUNT],w=>{this.crypto.cryptoStore.storeSecretStorePrivateKey(w,"dehydration",{keyInfo:this.keyInfo,key:t,deviceDisplayName:this.deviceDisplayName,time:Date.now()})}),Nn.logger.log("Attempting to dehydrate device"),Nn.logger.log("Creating account");const r=new j.Olm.Account;r.create();const i=JSON.parse(r.identity_keys()),s=r.max_number_of_one_time_keys();r.generate_one_time_keys(s/2),r.generate_fallback_key();const o=JSON.parse(r.one_time_keys()),c=JSON.parse(r.fallback_key());r.mark_keys_as_published();const l=r.pickle(new Uint8Array(this.key)),u={algorithm:rl,account:l};this.keyInfo.passphrase&&(u.passphrase=this.keyInfo.passphrase),Nn.logger.log("Uploading account to server");const g=(await this.crypto.baseApis.http.authedRequest(void 0,Qg.Method.Put,"/dehydrated_device",void 0,{device_data:u,initial_device_display_name:this.deviceDisplayName},{prefix:"/_matrix/client/unstable/org.matrix.msc2697.v2"})).device_id;Nn.logger.log("Preparing device keys",g);const m={algorithms:this.crypto.supportedAlgorithms,device_id:g,user_id:this.crypto.userId,keys:{[`ed25519:${g}`]:i.ed25519,[`curve25519:${g}`]:i.curve25519}},p=r.sign(rd.default.stringify(m));m.signatures={[this.crypto.userId]:{[`ed25519:${g}`]:p}},this.crypto.crossSigningInfo.getId("self_signing")&&await this.crypto.crossSigningInfo.signObject(m,"self_signing"),Nn.logger.log("Preparing one-time keys");const E={};for(const[w,k]of Object.entries(o.curve25519)){const P={key:k},S=r.sign(rd.default.stringify(P));P.signatures={[this.crypto.userId]:{[`ed25519:${g}`]:S}},E[`signed_curve25519:${w}`]=P}Nn.logger.log("Preparing fallback keys");const I={};for(const[w,k]of Object.entries(c.curve25519)){const P={key:k,fallback:!0},S=r.sign(rd.default.stringify(P));P.signatures={[this.crypto.userId]:{[`ed25519:${g}`]:S}},I[`signed_curve25519:${w}`]=P}return Nn.logger.log("Uploading keys to server"),await this.crypto.baseApis.http.authedRequest(void 0,Qg.Method.Post,"/keys/upload/"+encodeURI(g),void 0,{device_keys:m,one_time_keys:E,"org.matrix.msc2732.fallback_keys":I}),Nn.logger.log("Done dehydrating"),this.timeoutId=j.setTimeout(this.dehydrateDevice.bind(this),Zg),g}finally{this.inProgress=!1}}stop(){this.timeoutId&&(j.clearTimeout(this.timeoutId),this.timeoutId=void 0)}}Ss.DehydrationManager=zP;var vr={},JP=V.exports;Object.defineProperty(vr,"__esModule",{value:!0});vr.algorithmsByName=vr.DefaultAlgorithm=vr.Curve25519=vr.BackupManager=vr.Aes256=void 0;var oo=JP(Y.exports),XP=it,mt=ie,sa=Me,y_=Ms,Th=G,em=Kr,QP=Bo,oa=ci,ZP=Sr,Gs=Kt;const eM=200;class Ma{constructor(e,t){this.baseApis=e,this.getKey=t,(0,oo.default)(this,"algorithm",void 0),(0,oo.default)(this,"backupInfo",void 0),(0,oo.default)(this,"checkedForBackup",void 0),(0,oo.default)(this,"sendingBackups",void 0),this.checkedForBackup=!1,this.sendingBackups=!1}get version(){return this.backupInfo&&this.backupInfo.version}static checkBackupVersion(e){const t=nl[e.algorithm];if(!t)throw new Error("Unknown backup algorithm: "+e.algorithm);if(typeof e.auth_data!="object")throw new Error("Invalid backup data returned");return t.checkBackupVersion(e)}static async makeAlgorithm(e,t){const r=nl[e.algorithm];if(!r)throw new Error("Unknown backup algorithm");return await r.init(e.auth_data,t)}async enableKeyBackup(e){this.backupInfo=e,this.algorithm&&this.algorithm.free(),this.algorithm=await Ma.makeAlgorithm(e,this.getKey),this.baseApis.emit(Gs.CryptoEvent.KeyBackupStatus,!0),this.scheduleKeyBackupSend()}disableKeyBackup(){this.algorithm&&this.algorithm.free(),this.algorithm=void 0,this.backupInfo=void 0,this.baseApis.emit(Gs.CryptoEvent.KeyBackupStatus,!1)}getKeyBackupEnabled(){return this.checkedForBackup?Boolean(this.algorithm):null}async prepareKeyBackupVersion(e,t){const r=t?nl[t]:v_;if(!r)throw new Error("Unknown backup algorithm");const[i,s]=await r.prepare(e),o=(0,QP.encodeRecoveryKey)(i);return{algorithm:r.algorithmName,auth_data:s,recovery_key:o,privateKey:i}}async createKeyBackupVersion(e){this.algorithm=await Ma.makeAlgorithm(e,this.getKey)}async checkAndStart(){if(mt.logger.log("Checking key backup status..."),this.baseApis.isGuest())return mt.logger.log("Skipping key backup check since user is guest"),this.checkedForBackup=!0,null;let e;try{e=await this.baseApis.getKeyBackupVersion()}catch(r){return mt.logger.log("Error checking for active key backup",r),r.httpStatus===404&&(this.checkedForBackup=!0),null}this.checkedForBackup=!0;const t=await this.isKeyBackupTrusted(e);return t.usable&&!this.backupInfo?(mt.logger.log("Found usable key backup v"+e.version+": enabling key backups"),await this.enableKeyBackup(e)):!t.usable&&this.backupInfo?(mt.logger.log("No usable key backup: disabling key backup"),this.disableKeyBackup()):!t.usable&&!this.backupInfo?mt.logger.log("No usable key backup: not enabling key backup"):t.usable&&this.backupInfo&&(e.version!==this.backupInfo.version?(mt.logger.log("On backup version "+this.backupInfo.version+" but found version "+e.version+": switching."),this.disableKeyBackup(),await this.enableKeyBackup(e),await this.scheduleAllGroupSessionsForBackup()):mt.logger.log("Backup version "+e.version+" still current")),{backupInfo:e,trustInfo:t}}async checkKeyBackup(){return this.checkedForBackup=!1,this.checkAndStart()}async isKeyBackupTrusted(e){const t={usable:!1,trusted_locally:!1,sigs:[]};if(!e||!e.algorithm||!e.auth_data||!e.auth_data.signatures)return mt.logger.info("Key backup is absent or missing required data"),t;const r=await this.baseApis.crypto.getSessionBackupPrivateKey();if(r){let s;try{s=await Ma.makeAlgorithm(e,async()=>r),await s.keyMatches(r)&&(mt.logger.info("Backup is trusted locally"),t.trusted_locally=!0)}catch{}finally{s&&s.free()}}const i=e.auth_data.signatures[this.baseApis.getUserId()]||{};for(const s of Object.keys(i)){const o=s.split(":");if(o[0]!=="ed25519"){mt.logger.log("Ignoring unknown signature type: "+o[0]);continue}const c={deviceId:o[1]},l=this.baseApis.crypto.crossSigningInfo.getId();if(l===c.deviceId){c.crossSigningId=!0;try{await(0,sa.verifySignature)(this.baseApis.crypto.olmDevice,e.auth_data,this.baseApis.getUserId(),c.deviceId,l),c.valid=!0}catch(a){mt.logger.warn("Bad signature from cross signing key "+l,a),c.valid=!1}t.sigs.push(c);continue}const u=this.baseApis.crypto.deviceList.getStoredDevice(this.baseApis.getUserId(),c.deviceId);if(u){c.device=u,c.deviceTrust=await this.baseApis.checkDeviceTrust(this.baseApis.getUserId(),c.deviceId);try{await(0,sa.verifySignature)(this.baseApis.crypto.olmDevice,e.auth_data,this.baseApis.getUserId(),u.deviceId,u.getFingerprint()),c.valid=!0}catch(a){mt.logger.info("Bad signature from key ID "+s+" userID "+this.baseApis.getUserId()+" device ID "+u.deviceId+" fingerprint: "+u.getFingerprint(),e.auth_data,a),c.valid=!1}}else c.valid=null,mt.logger.info("Ignoring signature from unknown key "+s);t.sigs.push(c)}return t.usable=t.sigs.some(s=>s.valid&&(s.device&&s.deviceTrust.isVerified()||s.crossSigningId)),t.usable=t.usable||t.trusted_locally,t}async scheduleKeyBackupSend(e=1e4){if(!this.sendingBackups){this.sendingBackups=!0;try{const t=Math.random()*e;await(0,Th.sleep)(t,void 0);let r=0;for(;;){if(!this.algorithm)return;try{if(await this.backupPendingKeys(eM)===0)return;r=0}catch(i){if(r++,mt.logger.log("Key backup request failed",i),i.data&&(i.data.errcode=="M_NOT_FOUND"||i.data.errcode=="M_WRONG_ROOM_KEYS_VERSION"))throw await this.checkKeyBackup(),this.baseApis.crypto.emit(Gs.CryptoEvent.KeyBackupFailed,i.data.errcode),i}r&&await(0,Th.sleep)(1e3*Math.pow(2,Math.min(r-1,4)),void 0)}}finally{this.sendingBackups=!1}}}async backupPendingKeys(e){const t=await this.baseApis.crypto.cryptoStore.getSessionsNeedingBackup(e);if(!t.length)return 0;let r=await this.baseApis.crypto.cryptoStore.countSessionsNeedingBackup();this.baseApis.crypto.emit(Gs.CryptoEvent.KeyBackupSessionsRemaining,r);const i={};for(const s of t){const o=s.sessionData.room_id;i[o]===void 0&&(i[o]={sessions:{}});const c=await this.baseApis.crypto.olmDevice.exportInboundGroupSession(s.senderKey,s.sessionId,s.sessionData);c.algorithm=sa.MEGOLM_ALGORITHM;const l=(c.forwarding_curve25519_key_chain||[]).length,u=this.baseApis.crypto.deviceList.getUserByIdentityKey(sa.MEGOLM_ALGORITHM,s.senderKey),a=this.baseApis.crypto.deviceList.getDeviceByIdentityKey(sa.MEGOLM_ALGORITHM,s.senderKey),g=this.baseApis.crypto.checkDeviceInfoTrust(u,a).isVerified();i[o].sessions[s.sessionId]={first_message_index:c.first_known_index,forwarded_count:l,is_verified:g,session_data:await this.algorithm.encryptSession(c)}}return await this.baseApis.sendKeyBackup(void 0,void 0,this.backupInfo.version,{rooms:i}),await this.baseApis.crypto.cryptoStore.unmarkSessionsNeedingBackup(t),r=await this.baseApis.crypto.cryptoStore.countSessionsNeedingBackup(),this.baseApis.crypto.emit(Gs.CryptoEvent.KeyBackupSessionsRemaining,r),t.length}async backupGroupSession(e,t){await this.baseApis.crypto.cryptoStore.markSessionsNeedingBackup([{senderKey:e,sessionId:t}]),this.backupInfo&&this.scheduleKeyBackupSend()}async scheduleAllGroupSessionsForBackup(){await this.flagAllGroupSessionsForBackup(),this.scheduleKeyBackupSend(0)}async flagAllGroupSessionsForBackup(){await this.baseApis.crypto.cryptoStore.doTxn("readwrite",[em.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,em.IndexedDBCryptoStore.STORE_BACKUP],t=>{this.baseApis.crypto.cryptoStore.getAllEndToEndInboundGroupSessions(t,r=>{r!==null&&this.baseApis.crypto.cryptoStore.markSessionsNeedingBackup([r],t)})});const e=await this.baseApis.crypto.cryptoStore.countSessionsNeedingBackup();return this.baseApis.emit(Gs.CryptoEvent.KeyBackupSessionsRemaining,e),e}countSessionsNeedingBackup(){return this.baseApis.crypto.cryptoStore.countSessionsNeedingBackup()}}vr.BackupManager=Ma;class bs{constructor(e,t,r){this.authData=e,this.publicKey=t,this.getKey=r}static async init(e,t){if(!e||!("public_key"in e))throw new Error("auth_data missing required information");const r=new j.Olm.PkEncryption;return r.set_recipient_key(e.public_key),new bs(e,r,t)}static async prepare(e){const t=new j.Olm.PkDecryption;try{const r={};if(!e)r.public_key=t.generate_key();else if(e instanceof Uint8Array)r.public_key=t.init_with_private_key(e);else{const s=await(0,y_.keyFromPassphrase)(e);r.private_key_salt=s.salt,r.private_key_iterations=s.iterations,r.public_key=t.init_with_private_key(s.key)}return new j.Olm.PkEncryption().set_recipient_key(r.public_key),[t.get_private_key(),r]}finally{t.free()}}static checkBackupVersion(e){if(!("public_key"in e.auth_data))throw new Error("Invalid backup data returned")}get untrusted(){return!0}async encryptSession(e){const t=Object.assign({},e);return delete t.session_id,delete t.room_id,delete t.first_known_index,this.publicKey.encrypt(JSON.stringify(t))}async decryptSessions(e){const t=await this.getKey(),r=new j.Olm.PkDecryption;try{if(r.init_with_private_key(t)!==this.authData.public_key)throw{errcode:XP.MatrixClient.RESTORE_BACKUP_ERROR_BAD_KEY};const s=[];for(const[o,c]of Object.entries(e))try{const l=JSON.parse(r.decrypt(c.session_data.ephemeral,c.session_data.mac,c.session_data.ciphertext));l.session_id=o,s.push(l)}catch(l){mt.logger.log("Failed to decrypt megolm session from backup",l,c)}return s}finally{r.free()}}async keyMatches(e){const t=new j.Olm.PkDecryption;let r;try{r=t.init_with_private_key(e)}finally{t.free()}return r===this.authData.public_key}free(){this.publicKey.free()}}vr.Curve25519=bs;(0,oo.default)(bs,"algorithmName","m.megolm_backup.v1.curve25519-aes-sha2");function tM(n){var e;const t=(0,Th.getCrypto)();if(t)return t.randomBytes(n);if((e=window)!==null&&e!==void 0&&e.crypto){const r=new Uint8Array(n);return window.crypto.getRandomValues(r),r}throw new Error("No usable crypto implementation")}const rM=new ZP.UnstableValue(null,"org.matrix.msc3270.v1.aes-hmac-sha2");class To{constructor(e,t){this.authData=e,this.key=t}static async init(e,t){if(!e)throw new Error("auth_data missing");const r=await t();if(e.mac){const{mac:i}=await(0,oa.calculateKeyCheck)(r,e.iv);if(e.mac.replace(/=+$/g,"")!==i.replace(/=+/g,""))throw new Error("Key does not match")}return new To(e,r)}static async prepare(e){let t;const r={};if(!e)t=tM(32);else if(e instanceof Uint8Array)t=new Uint8Array(e);else{const o=await(0,y_.keyFromPassphrase)(e);r.private_key_salt=o.salt,r.private_key_iterations=o.iterations,t=o.key}const{iv:i,mac:s}=await(0,oa.calculateKeyCheck)(t);return r.iv=i,r.mac=s,[t,r]}static checkBackupVersion(e){if(!("iv"in e.auth_data&&"mac"in e.auth_data))throw new Error("Invalid backup data returned")}get untrusted(){return!1}async encryptSession(e){const t=Object.assign({},e);return delete t.session_id,delete t.room_id,delete t.first_known_index,await(0,oa.encryptAES)(JSON.stringify(t),this.key,e.session_id)}async decryptSessions(e){const t=[];for(const[r,i]of Object.entries(e))try{const s=JSON.parse(await(0,oa.decryptAES)(i.session_data,this.key,r));s.session_id=r,t.push(s)}catch(s){mt.logger.log("Failed to decrypt megolm session from backup",s,i)}return t}async keyMatches(e){if(this.authData.mac){const{mac:t}=await(0,oa.calculateKeyCheck)(e,this.authData.iv);return this.authData.mac.replace(/=+$/g,"")===t.replace(/=+/g,"")}else return!0}free(){this.key.fill(0)}}vr.Aes256=To;(0,oo.default)(To,"algorithmName",rM.name);const nl={[bs.algorithmName]:bs,[To.algorithmName]:To};vr.algorithmsByName=nl;const v_=bs;vr.DefaultAlgorithm=v_;var __=V.exports;Object.defineProperty(Kt,"__esModule",{value:!0});Kt.IncomingRoomKeyRequest=Kt.CryptoEvent=Kt.Crypto=void 0;Kt.fixBackupKey=sl;Kt.isCryptoAvailable=gM;Kt.verificationMethods=void 0;var oe=__(Y.exports),nM=__(Vl),iM=nn,N=ie,tm=ys,Tt=S_(Me),sM=vs,il=Ps,Dc=S_(df),Ln=Ct,rm=bo,Ws=wo,oM=_s,aa=Kr,va=or,Oh=Es,aM=Ms,nm=Bo,ca=fe,Uc=Ro,Hr=Io,im=Xl,$c=si,id=ci,cM=Ss,lM=vr,uM=ar,dM=tn,Bn=qt,hM=it,fM=qe;function E_(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(E_=function(r){return r?t:e})(n)}function S_(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=E_(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}const Kn=il.DeviceInfo.DeviceVerification,sd={[va.ReciprocateQRCode.NAME]:va.ReciprocateQRCode,[Oh.SAS.NAME]:Oh.SAS,[va.SHOW_QR_CODE_METHOD]:im.IllegalMethod,[va.SCAN_QR_CODE_METHOD]:im.IllegalMethod},pM={RECIPROCATE_QR_CODE:va.ReciprocateQRCode.NAME,SAS:Oh.SAS.NAME};Kt.verificationMethods=pM;function gM(){return Boolean(j.Olm)}const mM=60*60*1e3;let Qe;Kt.CryptoEvent=Qe;(function(n){n.DeviceVerificationChanged="deviceVerificationChanged",n.UserTrustStatusChanged="userTrustStatusChanged",n.UserCrossSigningUpdated="userCrossSigningUpdated",n.RoomKeyRequest="crypto.roomKeyRequest",n.RoomKeyRequestCancellation="crypto.roomKeyRequestCancellation",n.KeyBackupStatus="crypto.keyBackupStatus",n.KeyBackupFailed="crypto.keyBackupFailed",n.KeyBackupSessionsRemaining="crypto.keyBackupSessionsRemaining",n.KeySignatureUploadFailure="crypto.keySignatureUploadFailure",n.VerificationRequest="crypto.verification.request",n.Warning="crypto.warning",n.WillUpdateDevices="crypto.willUpdateDevices",n.DevicesUpdated="crypto.devicesUpdated",n.KeysChanged="crossSigning.keysChanged"})(Qe||(Kt.CryptoEvent=Qe={}));class yM extends fM.TypedEventEmitter{static getOlmVersion(){return tm.OlmDevice.getOlmVersion()}constructor(e,t,r,i,s,o,c,l){super();if(this.baseApis=e,this.sessionStore=t,this.userId=r,this.deviceId=i,this.clientStore=s,this.cryptoStore=o,this.roomList=c,(0,oe.default)(this,"backupManager",void 0),(0,oe.default)(this,"crossSigningInfo",void 0),(0,oe.default)(this,"olmDevice",void 0),(0,oe.default)(this,"deviceList",void 0),(0,oe.default)(this,"dehydrationManager",void 0),(0,oe.default)(this,"secretStorage",void 0),(0,oe.default)(this,"reEmitter",void 0),(0,oe.default)(this,"verificationMethods",void 0),(0,oe.default)(this,"supportedAlgorithms",void 0),(0,oe.default)(this,"outgoingRoomKeyRequestManager",void 0),(0,oe.default)(this,"toDeviceVerificationRequests",void 0),(0,oe.default)(this,"inRoomVerificationRequests",void 0),(0,oe.default)(this,"trustCrossSignedDevices",!0),(0,oe.default)(this,"lastOneTimeKeyCheck",null),(0,oe.default)(this,"oneTimeKeyCheckInProgress",!1),(0,oe.default)(this,"roomEncryptors",{}),(0,oe.default)(this,"roomDecryptors",{}),(0,oe.default)(this,"deviceKeys",{}),(0,oe.default)(this,"globalBlacklistUnverifiedDevices",!1),(0,oe.default)(this,"globalErrorOnUnknownDevices",!0),(0,oe.default)(this,"receivedRoomKeyRequests",[]),(0,oe.default)(this,"receivedRoomKeyRequestCancellations",[]),(0,oe.default)(this,"processingRoomKeyRequests",!1),(0,oe.default)(this,"lazyLoadMembers",!1),(0,oe.default)(this,"roomDeviceTrackingState",{}),(0,oe.default)(this,"lastNewSessionForced",{}),(0,oe.default)(this,"sendKeyRequestsImmediately",!1),(0,oe.default)(this,"oneTimeKeyCount",void 0),(0,oe.default)(this,"needsNewFallback",void 0),(0,oe.default)(this,"fallbackCleanup",void 0),(0,oe.default)(this,"onDeviceListUserCrossSigningUpdated",async g=>{if(g===this.userId){const m=this.deviceList.getStoredCrossSigningForUser(g),p=m?m.getId():null,E=this.crossSigningInfo.getId();E&&p&&!(E!==p)?await this.checkOwnCrossSigningTrust():(this.storeTrustedSelfKeys(null),this.emit(Qe.KeysChanged,{}),this.emit(Qe.UserTrustStatusChanged,this.userId,this.checkUserTrust(g)))}else{await this.checkDeviceVerifications(g);const m=this.deviceList.getStoredCrossSigningForUser(g);m&&(m.updateCrossSigningVerifiedBefore(this.checkUserTrust(g).isCrossSigningVerified()),this.deviceList.setRawStoredCrossSigningForUser(g,m.toStorage())),this.emit(Qe.UserTrustStatusChanged,g,this.checkUserTrust(g))}}),(0,oe.default)(this,"onMembership",(g,m,p)=>{try{this.onRoomMembership(g,m,p)}catch(E){N.logger.error("Error handling membership change:",E)}}),(0,oe.default)(this,"onToDeviceEvent",g=>{try{N.logger.log(`received to_device ${g.getType()} from: ${g.getSender()} id: ${g.getId()}`),g.getType()=="m.room_key"||g.getType()=="m.forwarded_room_key"?this.onRoomKeyEvent(g):g.getType()=="m.room_key_request"?this.onRoomKeyRequestEvent(g):g.getType()==="m.secret.request"?this.secretStorage.onRequestReceived(g):g.getType()==="m.secret.send"?this.secretStorage.onSecretReceived(g):g.getType()==="m.room_key.withheld"||g.getType()==="org.matrix.room_key.withheld"?this.onRoomKeyWithheldEvent(g):g.getContent().transaction_id?this.onKeyVerificationMessage(g):g.getContent().msgtype==="m.bad.encrypted"?this.onToDeviceBadEncrypted(g):(g.isBeingDecrypted()||g.shouldAttemptDecryption())&&(g.isBeingDecrypted()||g.attemptDecryption(this),g.once(Bn.MatrixEventEvent.Decrypted,m=>{this.onToDeviceEvent(m)}))}catch(m){N.logger.error("Error handling toDeviceEvent:",m)}}),(0,oe.default)(this,"onTimelineEvent",(g,m,p,E,{liveEvent:I=!0}={})=>{if(!Uc.InRoomChannel.validateEvent(g,this.baseApis))return;const w=k=>{const P=new Uc.InRoomChannel(this.baseApis,k.getRoomId());return new ca.VerificationRequest(P,this.verificationMethods,this.baseApis)};this.handleVerificationEvent(g,this.inRoomVerificationRequests,w,I)}),this.reEmitter=new iM.TypedReEmitter(this),l){this.verificationMethods=new Map;for(const g of l)typeof g=="string"?sd[g]&&this.verificationMethods.set(g,sd[g]):g.NAME?this.verificationMethods.set(g.NAME,g):N.logger.warn(`Excluding unknown verification method ${g}`)}else this.verificationMethods=new Map(Object.entries(sd));this.backupManager=new lM.BackupManager(e,async()=>{const g=await this.getSessionBackupPrivateKey();if(g)return g;const m=await this.getSecret("m.megolm_backup.v1");if(m){const p=sl(m);if(p){const[E]=await this.getSecretStorageKey();await this.storeSecret("m.megolm_backup.v1",p,[E])}return Tt.decodeBase64(p||m)}if(this.baseApis.cryptoCallbacks&&this.baseApis.cryptoCallbacks.getBackupKey)return await this.baseApis.cryptoCallbacks.getBackupKey();throw new Error("Unable to get private key")}),this.olmDevice=new tm.OlmDevice(o),this.deviceList=new sM.DeviceList(e,o,this.olmDevice),this.deviceList.on(Qe.UserCrossSigningUpdated,this.onDeviceListUserCrossSigningUpdated),this.reEmitter.reEmit(this.deviceList,[Qe.DevicesUpdated,Qe.WillUpdateDevices]),this.supportedAlgorithms=Object.keys(Dc.DECRYPTION_CLASSES),this.outgoingRoomKeyRequestManager=new oM.OutgoingRoomKeyRequestManager(e,this.deviceId,this.cryptoStore),this.toDeviceVerificationRequests=new Hr.ToDeviceRequests,this.inRoomVerificationRequests=new Uc.InRoomRequests;const u=this.baseApis.cryptoCallbacks||{},a=(0,Ln.createCryptoStoreCacheCallbacks)(o,this.olmDevice);this.crossSigningInfo=new Ln.CrossSigningInfo(r,u,a),this.secretStorage=new Ws.SecretStorage(e,u,e),this.dehydrationManager=new cM.DehydrationManager(this),!u.getCrossSigningKey&&u.getSecretStorageKey&&(u.getCrossSigningKey=async g=>Ln.CrossSigningInfo.getFromSecretStorage(g,this.secretStorage))}async init({exportedOlmDevice:e,pickleKey:t}={}){N.logger.log("Crypto: initialising Olm..."),await j.Olm.init(),N.logger.log(e?"Crypto: initialising Olm device from exported device...":"Crypto: initialising Olm device..."),await this.olmDevice.init({fromExportedDevice:e,pickleKey:t}),N.logger.log("Crypto: loading device list..."),await this.deviceList.load(),this.deviceKeys["ed25519:"+this.deviceId]=this.olmDevice.deviceEd25519Key,this.deviceKeys["curve25519:"+this.deviceId]=this.olmDevice.deviceCurve25519Key,N.logger.log("Crypto: fetching own devices...");let r=this.deviceList.getRawStoredDevicesForUser(this.userId);if(r||(r={}),!r[this.deviceId]){N.logger.log("Crypto: adding this device to the store...");const i={keys:this.deviceKeys,algorithms:this.supportedAlgorithms,verified:Kn.VERIFIED,known:!0};r[this.deviceId]=i,this.deviceList.storeDevicesForUser(this.userId,r),this.deviceList.saveIfDirty()}await this.cryptoStore.doTxn("readonly",[aa.IndexedDBCryptoStore.STORE_ACCOUNT],i=>{this.cryptoStore.getCrossSigningKeys(i,s=>{s&&Object.keys(s).length!==0&&(N.logger.log("Loaded cross-signing public keys from crypto store"),this.crossSigningInfo.setKeys(s))})}),this.deviceList.startTrackingDeviceList(this.userId),N.logger.log("Crypto: checking for key backup..."),this.backupManager.checkAndStart()}getCryptoTrustCrossSignedDevices(){return this.trustCrossSignedDevices}setCryptoTrustCrossSignedDevices(e){this.trustCrossSignedDevices=e;for(const t of this.deviceList.getKnownUserIds()){const r=this.deviceList.getRawStoredDevicesForUser(t);for(const i of Object.keys(r)){const s=this.checkDeviceTrust(t,i);if(!s.isLocallyVerified()&&s.isCrossSigningVerified()){const o=this.deviceList.getStoredDevice(t,i);this.emit(Qe.DeviceVerificationChanged,t,i,o)}}}}async createRecoveryKeyFromPassphrase(e){const t=new j.Olm.PkDecryption;try{const r={};if(e){const o=await(0,aM.keyFromPassphrase)(e);r.passphrase={algorithm:"m.pbkdf2",iterations:o.iterations,salt:o.salt},r.pubkey=t.init_with_private_key(o.key)}else r.pubkey=t.generate_key();const i=t.get_private_key(),s=(0,nm.encodeRecoveryKey)(i);return{keyInfo:r,encodedPrivateKey:s,privateKey:i}}finally{t&&t.free()}}async isCrossSigningReady(){const e=this.crossSigningInfo.getId(),t=await this.crossSigningInfo.isStoredInKeyCache()||await this.crossSigningInfo.isStoredInSecretStorage(this.secretStorage);return!!(e&&t)}async isSecretStorageReady(){const e=await this.secretStorage.hasKey(),t=await this.crossSigningInfo.isStoredInSecretStorage(this.secretStorage),r=!this.backupManager.getKeyBackupEnabled()||await this.baseApis.isKeyBackupKeyStored();return!!(e&&t&&r)}async bootstrapCrossSigning({authUploadDeviceSigningKeys:e,setupNewCrossSigning:t}={}){N.logger.log("Bootstrapping cross-signing");const r=this.baseApis.cryptoCallbacks,i=new rm.EncryptionSetupBuilder(this.baseApis.store.accountData,r),s=new Ln.CrossSigningInfo(this.userId,i.crossSigningCallbacks,i.crossSigningCallbacks),o=async()=>{s.resetKeys(),await this.signObject(s.keys.master),i.addCrossSigningKeys(e,s.keys);const p=this.deviceList.getStoredDevice(this.userId,this.deviceId),E=await s.signDevice(this.userId,p);i.addKeySignature(this.userId,this.deviceId,E),this.backupManager.backupInfo&&(await s.signObject(this.backupManager.backupInfo.auth_data,"master"),i.addSessionBackup(this.backupManager.backupInfo))},c=this.crossSigningInfo.getId(),l=await this.crossSigningInfo.isStoredInKeyCache(),u=await this.crossSigningInfo.isStoredInSecretStorage(this.secretStorage),a=l||u;N.logger.log({setupNewCrossSigning:t,publicKeysOnDevice:c,privateKeysInCache:l,privateKeysInStorage:u,privateKeysExistSomewhere:a}),!a||t?(N.logger.log("Cross-signing private keys not found locally or in secret storage, creating new keys"),await o()):c&&l?N.logger.log("Cross-signing public keys trusted and private keys found locally"):u&&(N.logger.log("Cross-signing private keys not found locally, but they are available in secret storage, reading storage and caching locally"),await this.checkOwnCrossSigningTrust({allowPrivateKeyRequests:!0}));const g=i.crossSigningCallbacks.privateKeys;if(g.size&&!this.baseApis.cryptoCallbacks.saveCrossSigningKeys){const p=new Ws.SecretStorage(i.accountDataClientAdapter,i.ssssCryptoCallbacks);await p.hasKey()&&(N.logger.log("Storing new cross-signing private keys in secret storage"),await Ln.CrossSigningInfo.storeInSecretStorage(g,p))}await i.buildOperation().apply(this),await i.persist(this),N.logger.log("Cross-signing ready")}async bootstrapSecretStorage({createSecretStorageKey:e=async()=>({}),keyBackupInfo:t,setupNewKeyBackup:r,setupNewSecretStorage:i,getKeyBackupPassphrase:s}={}){N.logger.log("Bootstrapping Secure Secret Storage");const o=this.baseApis.cryptoCallbacks,c=new rm.EncryptionSetupBuilder(this.baseApis.store.accountData,o),l=new Ws.SecretStorage(c.accountDataClientAdapter,c.ssssCryptoCallbacks);let u=null;const a=async(S,T)=>{T&&(S.key=T);const{keyId:D,keyInfo:R}=await l.addKey(Ws.SECRET_STORAGE_ALGORITHM_V1_AES,S);return T&&c.ssssCryptoCallbacks.addPrivateKey(D,R,T),await l.setDefaultKeyId(D),D},g=async(S,T)=>{if(!T.mac){const D=await this.baseApis.cryptoCallbacks.getSecretStorageKey({keys:{[S]:T}},"");if(D){const R=D[1];c.ssssCryptoCallbacks.addPrivateKey(S,T,R);const{iv:L,mac:H}=await(0,id.calculateKeyCheck)(R);T.iv=L,T.mac=H,await c.setAccountData(`m.secret_storage.key.${S}`,T)}}},m=async S=>{if(this.crossSigningInfo.getId()&&await this.crossSigningInfo.isStoredInKeyCache("master"))try{N.logger.log("Adding cross-signing signature to key backup"),await this.crossSigningInfo.signObject(S,"master")}catch(T){N.logger.error("Signing key backup with cross-signing keys failed",T)}else N.logger.warn("Cross-signing keys not available, skipping signature on key backup")},p=await this.getSecretStorageKey(),[E,I]=p||[null,null],w=!i&&I&&I.algorithm===Ws.SECRET_STORAGE_ALGORITHM_V1_AES;if(N.logger.log({keyBackupInfo:t,setupNewKeyBackup:r,setupNewSecretStorage:i,storageExists:w,oldKeyInfo:I}),!w&&!t){N.logger.log("Secret storage does not exist, creating new storage key");const{keyInfo:S,privateKey:T}=await e();u=await a(S,T)}else if(!w&&t){N.logger.log("Secret storage does not exist, using key backup key");const S=await this.getSessionBackupPrivateKey()||await s(),T={};t.auth_data.private_key_salt&&t.auth_data.private_key_iterations&&(T.passphrase={algorithm:"m.pbkdf2",iterations:t.auth_data.private_key_iterations,salt:t.auth_data.private_key_salt,bits:256}),u=await a(T,S),await l.store("m.megolm_backup.v1",Tt.encodeBase64(S),[u]),await m(t.auth_data),c.addSessionBackup(t)}else N.logger.log("Secret storage exists"),I&&I.algorithm===Ws.SECRET_STORAGE_ALGORITHM_V1_AES&&await g(E,I);if(!this.baseApis.cryptoCallbacks.saveCrossSigningKeys&&await this.isCrossSigningReady()&&(u||!await this.crossSigningInfo.isStoredInSecretStorage(l))){N.logger.log("Copying cross-signing private keys from cache to secret storage");const S=await this.crossSigningInfo.getCrossSigningKeysFromCache();await Ln.CrossSigningInfo.storeInSecretStorage(S,l)}if(r&&!t){N.logger.log("Creating new message key backup version");const S=await this.baseApis.prepareKeyBackupVersion(null,{secureSecretStorage:!1}),T=(0,nm.decodeRecoveryKey)(S.recovery_key);await l.store("m.megolm_backup.v1",Tt.encodeBase64(T));const D={algorithm:S.algorithm,auth_data:S.auth_data};await m(D.auth_data),await this.signObject(D.auth_data),c.addSessionBackup(D)}const k=await l.get("m.megolm_backup.v1");if(k){N.logger.info("Got session backup key from secret storage: caching");const S=sl(k);S&&await l.store("m.megolm_backup.v1",S,[u||E]);const T=new Uint8Array(Tt.decodeBase64(S||k));await c.addSessionBackupPrivateKeyToCache(T)}else if(this.backupManager.getKeyBackupEnabled()){const S=await this.getSessionBackupPrivateKey()||await s();if(!S){N.logger.error("Key backup is enabled but couldn't get key backup key!");return}N.logger.info("Got session backup key from cache/user that wasn't in SSSS: saving to SSSS"),await l.store("m.megolm_backup.v1",Tt.encodeBase64(S))}await c.buildOperation().apply(this),await c.persist(this),N.logger.log("Secure Secret Storage ready")}addSecretStorageKey(e,t,r){return this.secretStorage.addKey(e,t,r)}hasSecretStorageKey(e){return this.secretStorage.hasKey(e)}getSecretStorageKey(e){return this.secretStorage.getKey(e)}storeSecret(e,t,r){return this.secretStorage.store(e,t,r)}getSecret(e){return this.secretStorage.get(e)}isSecretStored(e,t){return this.secretStorage.isStored(e,t)}requestSecret(e,t){return t||(t=Object.keys(this.deviceList.getRawStoredDevicesForUser(this.userId))),this.secretStorage.request(e,t)}getDefaultSecretStorageKeyId(){return this.secretStorage.getDefaultKeyId()}setDefaultSecretStorageKeyId(e){return this.secretStorage.setDefaultKeyId(e)}checkSecretStorageKey(e,t){return this.secretStorage.checkKey(e,t)}checkSecretStoragePrivateKey(e,t){let r=null;try{return r=new j.Olm.PkDecryption,r.init_with_private_key(e)===t}finally{r&&r.free()}}async getSessionBackupPrivateKey(){let e=await new Promise(t=>{this.cryptoStore.doTxn("readonly",[aa.IndexedDBCryptoStore.STORE_ACCOUNT],r=>{this.cryptoStore.getSecretStorePrivateKey(r,t,"m.megolm_backup.v1")})});if(e&&typeof e=="string"&&(e=new Uint8Array(Tt.decodeBase64(sl(e)||e)),await this.storeSessionBackupPrivateKey(e)),e&&e.ciphertext){const t=Buffer.from(this.olmDevice.pickleKey),r=await(0,id.decryptAES)(e,t,"m.megolm_backup.v1");e=Tt.decodeBase64(r)}return e}async storeSessionBackupPrivateKey(e){if(!(e instanceof Uint8Array))throw new Error(`storeSessionBackupPrivateKey expects Uint8Array, got ${e}`);const t=Buffer.from(this.olmDevice.pickleKey),r=await(0,id.encryptAES)(Tt.encodeBase64(e),t,"m.megolm_backup.v1");return this.cryptoStore.doTxn("readwrite",[aa.IndexedDBCryptoStore.STORE_ACCOUNT],i=>{this.cryptoStore.storeSecretStorePrivateKey(i,"m.megolm_backup.v1",r)})}checkCrossSigningPrivateKey(e,t){let r=null;try{return r=new j.Olm.PkSigning,r.init_with_seed(e)===t}finally{r&&r.free()}}async afterCrossSigningLocalKeyChange(){N.logger.info("Starting cross-signing key change post-processing");const e=this.deviceList.getStoredDevice(this.userId,this.deviceId),t=await this.crossSigningInfo.signDevice(this.userId,e);N.logger.info(`Starting background key sig upload for ${this.deviceId}`);const r=({shouldEmit:s=!1})=>this.baseApis.uploadKeySignatures({[this.userId]:{[this.deviceId]:t}}).then(o=>{const{failures:c}=o||{};if(Object.keys(c||[]).length>0)throw s&&this.baseApis.emit(Qe.KeySignatureUploadFailure,c,"afterCrossSigningLocalKeyChange",r),new $c.KeySignatureUploadError("Key upload failed",{failures:c});N.logger.info(`Finished background key sig upload for ${this.deviceId}`)}).catch(o=>{N.logger.error(`Error during background key sig upload for ${this.deviceId}`,o)});r({shouldEmit:!0});const i=this.baseApis.cryptoCallbacks.shouldUpgradeDeviceVerifications;if(i){N.logger.info("Starting device verification upgrade");const s={};for(const[o,c]of Object.entries(this.deviceList.crossSigningInfo)){const l=await this.checkForDeviceVerificationUpgrade(o,Ln.CrossSigningInfo.fromStorage(c,o));l&&(s[o]=l)}if(Object.keys(s).length>0){N.logger.info(`Found ${Object.keys(s).length} verif users to upgrade`);try{const o=await i({users:s});if(o)for(const c of o)c in s&&await this.baseApis.setDeviceVerified(c,s[c].crossSigningInfo.getId())}catch(o){N.logger.log("shouldUpgradeDeviceVerifications threw an error: not upgrading",o)}}N.logger.info("Finished device verification upgrade")}N.logger.info("Finished cross-signing key change post-processing")}async checkForDeviceVerificationUpgrade(e,t){const r=this.crossSigningInfo.checkUserTrust(t);if(t.firstUse&&!r.isVerified()){const i=this.deviceList.getRawStoredDevicesForUser(e),s=await this.checkForValidDeviceSignature(e,t.keys.master,i);if(s.length)return{devices:s.map(o=>il.DeviceInfo.fromStorage(i[o],o)),crossSigningInfo:t}}}async checkForValidDeviceSignature(e,t,r){const i=[];if(r&&t.signatures&&t.signatures[e])for(const s of Object.keys(t.signatures[e])){const[,o]=s.split(":",2);if(o in r&&r[o].verified===Kn.VERIFIED)try{await Tt.verifySignature(this.olmDevice,t,e,o,r[o].keys[s]),i.push(o)}catch{}}return i}getCrossSigningId(e){return this.crossSigningInfo.getId(e)}getStoredCrossSigningForUser(e){return this.deviceList.getStoredCrossSigningForUser(e)}checkUserTrust(e){const t=this.deviceList.getStoredCrossSigningForUser(e);return t?this.crossSigningInfo.checkUserTrust(t):new Ln.UserTrustLevel(!1,!1,!1)}checkDeviceTrust(e,t){const r=this.deviceList.getStoredDevice(e,t);return this.checkDeviceInfoTrust(e,r)}checkDeviceInfoTrust(e,t){const r=!!(t&&t.isVerified()),i=this.deviceList.getStoredCrossSigningForUser(e);if(t&&i){const s=this.trustCrossSignedDevices||e===this.userId;return this.crossSigningInfo.checkDeviceTrust(i,t,r,s)}else return new Ln.DeviceTrustLevel(!1,!1,r,!1)}async checkOwnCrossSigningTrust({allowPrivateKeyRequests:e=!1}={}){const t=this.userId;await this.downloadKeys([this.userId]);const r=await this.crossSigningInfo.getCrossSigningKeysFromCache(),i=this.deviceList.getStoredCrossSigningForUser(t);if(!i){N.logger.error("Got cross-signing update event for user "+t+" but no new cross-signing information found!");return}const s=i.getId(),o=this.crossSigningInfo.getId()!==s,c=i.getId()&&!r.has("master");if(o&&N.logger.info("Got new master public key",s),e&&(o||c)){N.logger.info("Attempting to retrieve cross-signing master private key");let w=null;try{w=(await this.crossSigningInfo.getCrossSigningKey("master",s))[1],N.logger.info("Got cross-signing master private key")}finally{w&&w.free()}}const l=this.crossSigningInfo.getId("self_signing"),u=this.crossSigningInfo.getId("user_signing");this.storeTrustedSelfKeys(i.keys);const a=l!==i.getId("self_signing"),g=u!==i.getId("user_signing"),m=i.getId("self_signing")&&!r.has("self_signing"),p=i.getId("user_signing")&&!r.has("user_signing"),E={};if(a&&N.logger.info("Got new self-signing key",i.getId("self_signing")),e&&(a||m)){N.logger.info("Attempting to retrieve cross-signing self-signing private key");let w=null;try{w=(await this.crossSigningInfo.getCrossSigningKey("self_signing",i.getId("self_signing")))[1],N.logger.info("Got cross-signing self-signing private key")}finally{w&&w.free()}const k=this.deviceList.getStoredDevice(this.userId,this.deviceId),P=await this.crossSigningInfo.signDevice(this.userId,k);E[this.deviceId]=P}if(g&&N.logger.info("Got new user-signing key",i.getId("user_signing")),e&&(g||p)){N.logger.info("Attempting to retrieve cross-signing user-signing private key");let w=null;try{w=(await this.crossSigningInfo.getCrossSigningKey("user_signing",i.getId("user_signing")))[1],N.logger.info("Got cross-signing user-signing private key")}finally{w&&w.free()}}if(o){const w=this.crossSigningInfo.keys.master;await this.signObject(w);const k=w.signatures[this.userId]["ed25519:"+this.deviceId];E[this.crossSigningInfo.getId()]=Object.assign({},w,{signatures:{[this.userId]:{["ed25519:"+this.deviceId]:k}}})}const I=Object.keys(E);if(I.length){const w=({shouldEmit:k=!1})=>(N.logger.info(`Starting background key sig upload for ${I}`),this.baseApis.uploadKeySignatures({[this.userId]:E}).then(P=>{const{failures:S}=P||{};if(N.logger.info(`Finished background key sig upload for ${I}`),Object.keys(S||[]).length>0)throw k&&this.baseApis.emit(Qe.KeySignatureUploadFailure,S,"checkOwnCrossSigningTrust",w),new $c.KeySignatureUploadError("Key upload failed",{failures:S})}).catch(P=>{N.logger.error(`Error during background key sig upload for ${I}`,P)}));w({shouldEmit:!0})}this.emit(Qe.UserTrustStatusChanged,t,this.checkUserTrust(t)),o&&(this.emit(Qe.KeysChanged,{}),await this.afterCrossSigningLocalKeyChange()),await this.backupManager.checkKeyBackup()}async storeTrustedSelfKeys(e){e?this.crossSigningInfo.setKeys(e):this.crossSigningInfo.clearKeys(),await this.cryptoStore.doTxn("readwrite",[aa.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this.cryptoStore.storeCrossSigningKeys(t,this.crossSigningInfo.keys)})}async checkDeviceVerifications(e){const t=this.baseApis.cryptoCallbacks.shouldUpgradeDeviceVerifications;if(!!t){if(N.logger.info(`Starting device verification upgrade for ${e}`),this.crossSigningInfo.keys.user_signing){const r=this.deviceList.getStoredCrossSigningForUser(e);if(r){const i=await this.checkForDeviceVerificationUpgrade(e,r);i&&(await t({users:{[e]:i}})).includes(e)&&await this.baseApis.setDeviceVerified(e,r.getId())}}N.logger.info(`Finished device verification upgrade for ${e}`)}}async setTrustedBackupPubKey(e){this.sessionStore.setLocalTrustedBackupPubKey(e),await this.backupManager.checkKeyBackup()}enableLazyLoading(){this.lazyLoadMembers=!0}registerEventHandlers(e){e.on(dM.RoomMemberEvent.Membership,this.onMembership),e.on(hM.ClientEvent.ToDeviceEvent,this.onToDeviceEvent),e.on(uM.RoomEvent.Timeline,this.onTimelineEvent),e.on(Bn.MatrixEventEvent.Decrypted,this.onTimelineEvent)}start(){this.outgoingRoomKeyRequestManager.start()}stop(){this.outgoingRoomKeyRequestManager.stop(),this.deviceList.stop(),this.dehydrationManager.stop()}getDeviceEd25519Key(){return this.olmDevice.deviceEd25519Key}getDeviceCurve25519Key(){return this.olmDevice.deviceCurve25519Key}setGlobalBlacklistUnverifiedDevices(e){this.globalBlacklistUnverifiedDevices=e}getGlobalBlacklistUnverifiedDevices(){return this.globalBlacklistUnverifiedDevices}setGlobalErrorOnUnknownDevices(e){this.globalErrorOnUnknownDevices=e}getGlobalErrorOnUnknownDevices(){return this.globalErrorOnUnknownDevices}uploadDeviceKeys(){const e={algorithms:this.supportedAlgorithms,device_id:this.deviceId,keys:this.deviceKeys,user_id:this.userId};return this.signObject(e).then(()=>this.baseApis.uploadKeysRequest({device_keys:e}))}updateOneTimeKeyCount(e){if(isFinite(e))this.oneTimeKeyCount=e;else throw new TypeError("Parameter for updateOneTimeKeyCount has to be a number")}setNeedsNewFallback(e){this.needsNewFallback=!!e}getNeedsNewFallback(){return this.needsNewFallback}maybeUploadOneTimeKeys(){if(this.oneTimeKeyCheckInProgress)return;const r=Date.now();if(this.lastOneTimeKeyCheck!==null&&r-this.lastOneTimeKeyCheck<6e4)return;this.lastOneTimeKeyCheck=r;const i=this.olmDevice.maxNumberOfOneTimeKeys(),s=Math.floor(i/2),o=async c=>{for(;s>c||this.getNeedsNewFallback();){if(s>c){N.logger.info("generating oneTimeKeys");const u=Math.min(s-c,5);await this.olmDevice.generateOneTimeKeys(u)}if(this.getNeedsNewFallback()){const u=await this.olmDevice.getFallbackKey();(!u.curve25519||Object.keys(u.curve25519).length==0)&&(N.logger.info("generating fallback key"),this.fallbackCleanup&&(clearTimeout(this.fallbackCleanup),delete this.fallbackCleanup),await this.olmDevice.generateFallbackKey())}N.logger.info("calling uploadOneTimeKeys");const l=await this.uploadOneTimeKeys();if(l.one_time_key_counts&&l.one_time_key_counts.signed_curve25519)c=l.one_time_key_counts.signed_curve25519;else throw new Error("response for uploading keys does not contain one_time_key_counts.signed_curve25519")}};this.oneTimeKeyCheckInProgress=!0,Promise.resolve().then(()=>this.oneTimeKeyCount!==void 0?Promise.resolve(this.oneTimeKeyCount):this.baseApis.uploadKeysRequest({}).then(c=>c.one_time_key_counts.signed_curve25519||0)).then(c=>o(c)).catch(c=>{N.logger.error("Error uploading one-time keys",c.stack||c)}).finally(()=>{this.oneTimeKeyCount=void 0,this.oneTimeKeyCheckInProgress=!1})}async uploadOneTimeKeys(){const e=[];let t;if(this.getNeedsNewFallback()){t={};const c=await this.olmDevice.getFallbackKey();for(const[l,u]of Object.entries(c.curve25519)){const a={key:u,fallback:!0};t["signed_curve25519:"+l]=a,e.push(this.signObject(a))}this.setNeedsNewFallback(!1)}const r=await this.olmDevice.getOneTimeKeys(),i={};for(const c in r.curve25519)if(r.curve25519.hasOwnProperty(c)){const l={key:r.curve25519[c]};i["signed_curve25519:"+c]=l,e.push(this.signObject(l))}await Promise.all(e);const s={one_time_keys:i};t&&(s["org.matrix.msc2732.fallback_keys"]=t,s.fallback_keys=t);const o=await this.baseApis.uploadKeysRequest(s);return t&&(this.fallbackCleanup=setTimeout(()=>{delete this.fallbackCleanup,this.olmDevice.forgetOldFallbackKey()},60*60*1e3)),await this.olmDevice.markKeysAsPublished(),o}downloadKeys(e,t){return this.deviceList.downloadKeys(e,t)}getStoredDevicesForUser(e){return this.deviceList.getStoredDevicesForUser(e)}getStoredDevice(e,t){return this.deviceList.getStoredDevice(e,t)}saveDeviceList(e){return this.deviceList.saveIfDirty(e)}async setDeviceVerification(e,t,r,i,s){r===void 0&&(r=null),i===void 0&&(i=null),s===void 0&&(s=null);const o=this.deviceList.getStoredCrossSigningForUser(e);if(o&&o.getId()===t){if(i!==null||s!==null)throw new Error("Cannot set blocked or known for a cross-signing key");if(!r)throw new Error("Cannot set a cross-signing key as unverified");if(!this.crossSigningInfo.getId()&&e===this.crossSigningInfo.userId&&(this.storeTrustedSelfKeys(o.keys),this.emit(Qe.UserTrustStatusChanged,this.userId,this.checkUserTrust(e))),e!==this.userId){N.logger.info("Master key "+o.getId()+" for "+e+" marked verified. Signing...");const m=await this.crossSigningInfo.signUser(o);if(m){const p=async({shouldEmit:E=!1})=>{N.logger.info("Uploading signature for "+e+"...");const I=await this.baseApis.uploadKeySignatures({[e]:{[t]:m}}),{failures:w}=I||{};if(Object.keys(w||[]).length>0)throw E&&this.baseApis.emit(Qe.KeySignatureUploadFailure,w,"setDeviceVerification",p),new $c.KeySignatureUploadError("Key upload failed",{failures:w})};await p({shouldEmit:!0})}return m}else return o}const c=this.deviceList.getRawStoredDevicesForUser(e);if(!c||!c[t])throw new Error("Unknown device "+e+":"+t);const l=c[t];let u=l.verified;r?u=Kn.VERIFIED:r!==null&&u==Kn.VERIFIED&&(u=Kn.UNVERIFIED),i?u=Kn.BLOCKED:i!==null&&u==Kn.BLOCKED&&(u=Kn.UNVERIFIED);let a=l.known;if(s!==null&&(a=s),(l.verified!==u||l.known!==a)&&(l.verified=u,l.known=a,this.deviceList.storeDevicesForUser(e,c),this.deviceList.saveIfDirty()),r&&e===this.userId){N.logger.info("Own device "+t+" marked verified: signing");let m;if(this.checkDeviceTrust(e,t).isCrossSigningVerified()?N.logger.log(`Own device ${t} already cross-signing verified`):m=await this.crossSigningInfo.signDevice(e,il.DeviceInfo.fromStorage(l,t)),m){const E=async({shouldEmit:I=!1})=>{N.logger.info("Uploading signature for "+t);const w=await this.baseApis.uploadKeySignatures({[e]:{[t]:m}}),{failures:k}=w||{};if(Object.keys(k||[]).length>0)throw I&&this.baseApis.emit(Qe.KeySignatureUploadFailure,k,"setDeviceVerification",E),new $c.KeySignatureUploadError("Key upload failed",{failures:k})};await E({shouldEmit:!0})}}const g=il.DeviceInfo.fromStorage(l,t);return this.emit(Qe.DeviceVerificationChanged,e,t,g),g}findVerificationRequestDMInProgress(e){return this.inRoomVerificationRequests.findRequestInProgress(e)}getVerificationRequestsToDeviceInProgress(e){return this.toDeviceVerificationRequests.getRequestsInProgress(e)}requestVerificationDM(e,t){const r=this.inRoomVerificationRequests.findRequestInProgress(t);if(r)return Promise.resolve(r);const i=new Uc.InRoomChannel(this.baseApis,t,e);return this.requestVerificationWithChannel(e,i,this.inRoomVerificationRequests)}requestVerification(e,t){t||(t=Object.keys(this.deviceList.getRawStoredDevicesForUser(e)));const r=this.toDeviceVerificationRequests.findRequestInProgress(e,t);if(r)return Promise.resolve(r);const i=new Hr.ToDeviceChannel(this.baseApis,e,t,Hr.ToDeviceChannel.makeTransactionId());return this.requestVerificationWithChannel(e,i,this.toDeviceVerificationRequests)}async requestVerificationWithChannel(e,t,r){let i=new ca.VerificationRequest(t,this.verificationMethods,this.baseApis);t.transactionId&&r.setRequestByChannel(t,i),await i.sendRequest();const s=r.getRequestByChannel(t);return s?i=s:(N.logger.log(`Crypto: adding new request to requestsByTxnId with id ${t.transactionId} ${t.roomId}`),r.setRequestByChannel(t,i)),i}beginKeyVerification(e,t,r,i=null){let s;if(i){if(s=this.toDeviceVerificationRequests.getRequestBySenderAndTxnId(t,i),!s)throw new Error(`No request found for user ${t} with transactionId ${i}`)}else{i=Hr.ToDeviceChannel.makeTransactionId();const o=new Hr.ToDeviceChannel(this.baseApis,t,[r],i,r);s=new ca.VerificationRequest(o,this.verificationMethods,this.baseApis),this.toDeviceVerificationRequests.setRequestBySenderAndTxnId(t,i,s)}return s.beginKeyVerification(e,{userId:t,deviceId:r})}async legacyDeviceVerification(e,t,r){const i=Hr.ToDeviceChannel.makeTransactionId(),s=new Hr.ToDeviceChannel(this.baseApis,e,[t],i,t),o=new ca.VerificationRequest(s,this.verificationMethods,this.baseApis);this.toDeviceVerificationRequests.setRequestBySenderAndTxnId(e,i,o);const c=o.beginKeyVerification(r,{userId:e,deviceId:t});return await Promise.race([c.verify(),o.waitFor(l=>l.started)]),o}async getOlmSessionsForUser(e){const t=this.getStoredDevicesForUser(e)||[],r={};for(let i=0;i<t.length;++i){const s=t[i],o=s.getIdentityKey(),c=await this.olmDevice.getSessionInfoForDevice(o);r[s.deviceId]={deviceIdKey:o,sessions:c}}return r}getEventSenderDeviceInfo(e){const t=e.getSenderKey(),r=e.getWireContent().algorithm;if(!t||!r||e.getForwardingCurve25519KeyChain().length>0||e.isKeySourceUntrusted())return null;const s=this.deviceList.getDeviceByIdentityKey(r,t);if(s===null)return null;const o=e.getClaimedEd25519Key();return o?o!==s.getFingerprint()?(N.logger.warn("Event "+e.getId()+" claims ed25519 key "+o+" but sender device has key "+s.getFingerprint()),null):s:(N.logger.warn("Event "+e.getId()+" claims no ed25519 key: cannot verify sending device"),null)}getEventEncryptionInfo(e){const t={};if(t.senderKey=e.getSenderKey(),t.algorithm=e.getWireContent().algorithm,!t.senderKey||!t.algorithm)return t.encrypted=!1,t;t.encrypted=!0,e.getForwardingCurve25519KeyChain().length>0||e.isKeySourceUntrusted()?t.authenticated=!1:t.authenticated=!0,t.sender=this.deviceList.getDeviceByIdentityKey(t.algorithm,t.senderKey);const i=e.getClaimedEd25519Key();return i||(N.logger.warn("Event "+e.getId()+" claims no ed25519 key: cannot verify sending device"),t.mismatchedSender=!0),t.sender&&i!==t.sender.getFingerprint()&&(N.logger.warn("Event "+e.getId()+" claims ed25519 key "+i+"but sender device has key "+t.sender.getFingerprint()),t.mismatchedSender=!0),t}forceDiscardSession(e){const t=this.roomEncryptors[e];if(t===void 0)throw new Error("Room not encrypted");if(t.forceDiscardSession===void 0)throw new Error("Room encryption algorithm doesn't support session discarding");t.forceDiscardSession()}async setRoomEncryption(e,t,r){if(!t.algorithm){N.logger.log("Ignoring setRoomEncryption with no algorithm");return}const i=this.roomList.getRoomEncryption(e);if(i&&JSON.stringify(i)!=JSON.stringify(t)){N.logger.error("Ignoring m.room.encryption event which requests a change of config in "+e);return}if(this.roomEncryptors[e])return;let o=null;i||(o=this.roomList.setRoomEncryption(e,t));const c=Dc.ENCRYPTION_CLASSES[t.algorithm];if(!c)throw new Error("Unable to encrypt with "+t.algorithm);const l=new c({userId:this.userId,deviceId:this.deviceId,crypto:this,olmDevice:this.olmDevice,baseApis:this.baseApis,roomId:e,config:t});this.roomEncryptors[e]=l,o&&await o,this.lazyLoadMembers?N.logger.log("Enabling encryption in "+e):(N.logger.log("Enabling encryption in "+e+"; starting to track device lists for all users therein"),await this.trackRoomDevices(e),r||this.deviceList.refreshOutdatedDeviceLists())}trackRoomDevices(e){const t=async()=>{if(!this.roomEncryptors[e])return;const i=this.clientStore.getRoom(e);if(!i)throw new Error(`Unable to start tracking devices in unknown room ${e}`);N.logger.log(`Starting to track devices for room ${e} ...`),(await i.getEncryptionTargetMembers()).forEach(o=>{this.deviceList.startTrackingDeviceList(o.userId)})};let r=this.roomDeviceTrackingState[e];return r||(r=t(),this.roomDeviceTrackingState[e]=r.catch(i=>{throw this.roomDeviceTrackingState[e]=null,i})),r}ensureOlmSessionsForUsers(e,t){const r={};for(let i=0;i<e.length;++i){const s=e[i];r[s]=[];const o=this.getStoredDevicesForUser(s)||[];for(let c=0;c<o.length;++c){const l=o[c];l.getIdentityKey()!=this.olmDevice.deviceCurve25519Key&&l.verified!=Kn.BLOCKED&&r[s].push(l)}}return Tt.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,r,t)}async exportRoomKeys(){const e=[];return await this.cryptoStore.doTxn("readonly",[aa.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS],t=>{this.cryptoStore.getAllEndToEndInboundGroupSessions(t,r=>{if(r===null)return;const i=this.olmDevice.exportInboundGroupSession(r.senderKey,r.sessionId,r.sessionData);delete i.first_known_index,i.algorithm=Tt.MEGOLM_ALGORITHM,e.push(i)})}),e}importRoomKeys(e,t={}){let r=0,i=0;const s=e.length;function o(){t.progressCallback({stage:"load_keys",successes:r,failures:i,total:s})}return Promise.all(e.map(c=>!c.room_id||!c.algorithm?(N.logger.warn("ignoring room key entry with missing fields",c),i++,t.progressCallback&&o(),null):this.getRoomDecryptor(c.room_id,c.algorithm).importRoomKey(c,t).finally(()=>{r++,t.progressCallback&&o()}))).then()}countSessionsNeedingBackup(){return this.backupManager.countSessionsNeedingBackup()}prepareToEncrypt(e){const t=this.roomEncryptors[e.roomId];t&&t.prepareToEncrypt(e)}async encryptEvent(e,t){if(!t)throw new Error("Cannot send encrypted messages in unknown rooms");const r=e.getRoomId(),i=this.roomEncryptors[r];if(!i)throw new Error("Room was previously configured to use encryption, but is no longer. Perhaps the homeserver is hiding the configuration event.");this.roomDeviceTrackingState[r]||this.trackRoomDevices(r),await this.roomDeviceTrackingState[r];let s=e.getContent();const o=s["m.relates_to"];o&&(s=Object.assign({},s),delete s["m.relates_to"]);const c=s["io.element.performance_metrics"];c&&(s=Object.assign({},s),delete s["io.element.performance_metrics"]);const l=await i.encryptMessage(t,e.getType(),s);o&&(l["m.relates_to"]=o),c&&(l["io.element.performance_metrics"]=c),e.makeEncrypted("m.room.encrypted",l,this.olmDevice.deviceCurve25519Key,this.olmDevice.deviceEd25519Key)}async decryptEvent(e){if(e.isRedacted()){const t=new Bn.MatrixEvent(e.getUnsigned().redacted_because),r=await this.decryptEvent(t);return{clearEvent:{room_id:e.getRoomId(),type:"m.room.message",content:{},unsigned:{redacted_because:r.clearEvent}}}}else{const t=e.getWireContent();return await this.getRoomDecryptor(e.getRoomId(),t.algorithm).decryptEvent(e)}}async handleDeviceListChanges(e,t){!e.oldSyncToken||await this.evalDeviceListChanges(t)}requestRoomKey(e,t,r=!1){return this.outgoingRoomKeyRequestManager.queueRoomKeyRequest(e,t,r).then(()=>{this.sendKeyRequestsImmediately&&this.outgoingRoomKeyRequestManager.sendQueuedRequests()}).catch(i=>{N.logger.error("Error requesting key for event",i)})}cancelRoomKeyRequest(e){this.outgoingRoomKeyRequestManager.cancelRoomKeyRequest(e).catch(t=>{N.logger.warn("Error clearing pending room key requests",t)})}async cancelAndResendAllOutgoingKeyRequests(){await this.outgoingRoomKeyRequestManager.cancelAndResendAllOutgoingRequests()}async onCryptoEvent(e){const t=e.getRoomId(),r=e.getContent();try{await this.setRoomEncryption(t,r,!0)}catch(i){N.logger.error("Error configuring encryption in room "+t+":",i)}}async onSyncWillProcess(e){e.oldSyncToken||(N.logger.log("Initial sync performed - resetting device tracking state"),this.deviceList.stopTrackingAllDeviceLists(),this.deviceList.startTrackingDeviceList(this.userId),this.roomDeviceTrackingState={}),this.sendKeyRequestsImmediately=!1}async onSyncCompleted(e){this.deviceList.setSyncToken(e.nextSyncToken),this.deviceList.saveIfDirty(),this.deviceList.startTrackingDeviceList(this.userId),this.deviceList.refreshOutdatedDeviceLists(),e.catchingUp||(this.maybeUploadOneTimeKeys(),this.processReceivedRoomKeyRequests(),this.outgoingRoomKeyRequestManager.sendQueuedRequests(),this.sendKeyRequestsImmediately=!0)}async evalDeviceListChanges(e){if(e.changed&&Array.isArray(e.changed)&&e.changed.forEach(t=>{this.deviceList.invalidateUserDeviceList(t)}),e.left&&Array.isArray(e.left)&&e.left.length){const t=new Set(await this.getTrackedE2eUsers());e.left.forEach(r=>{t.has(r)||this.deviceList.stopTrackingDeviceList(r)})}}async getTrackedE2eUsers(){const e=[];for(const t of this.getTrackedE2eRooms()){const r=await t.getEncryptionTargetMembers();for(const i of r)e.push(i.userId)}return e}getTrackedE2eRooms(){return this.clientStore.getRooms().filter(e=>{if(!this.roomEncryptors[e.roomId]||!this.roomDeviceTrackingState[e.roomId])return!1;const r=e.getMyMembership();return r==="join"||r==="invite"})}onRoomKeyEvent(e){const t=e.getContent();if(!t.room_id||!t.algorithm){N.logger.error("key event is missing fields");return}this.backupManager.checkedForBackup||this.backupManager.checkAndStart(),this.getRoomDecryptor(t.room_id,t.algorithm).onRoomKeyEvent(e)}onRoomKeyWithheldEvent(e){const t=e.getContent();if(t.code!=="m.no_olm"&&(!t.room_id||!t.session_id)||!t.algorithm||!t.sender_key){N.logger.error("key withheld event is missing fields");return}N.logger.info(`Got room key withheld event from ${e.getSender()} (${t.sender_key}) for ${t.algorithm}/${t.room_id}/${t.session_id} with reason ${t.code} (${t.reason})`);const r=this.getRoomDecryptor(t.room_id,t.algorithm);if(r.onRoomKeyWithheldEvent&&r.onRoomKeyWithheldEvent(e),!t.room_id){const i=this.getRoomDecryptors(t.algorithm);for(const s of i)s.retryDecryptionFromSender(t.sender_key)}}onKeyVerificationMessage(e){if(!Hr.ToDeviceChannel.validateEvent(e,this.baseApis))return;const t=r=>{if(!Hr.ToDeviceChannel.canCreateRequest(Hr.ToDeviceChannel.getEventType(r)))return;const i=r.getContent(),s=i&&i.from_device;if(!s)return;const o=r.getSender(),c=new Hr.ToDeviceChannel(this.baseApis,o,[s]);return new ca.VerificationRequest(c,this.verificationMethods,this.baseApis)};this.handleVerificationEvent(e,this.toDeviceVerificationRequests,t)}async handleVerificationEvent(e,t,r,i=!0){if(e.isSending()&&e.status!=Bn.EventStatus.SENT){let l,u;try{await new Promise((a,g)=>{l=a,u=()=>{e.status==Bn.EventStatus.CANCELLED&&g(new Error("Event status set to CANCELLED."))},e.once(Bn.MatrixEventEvent.LocalEventIdReplaced,l),e.on(Bn.MatrixEventEvent.Status,u)})}catch(a){N.logger.error("error while waiting for the verification event to be sent: "+a.message);return}finally{e.removeListener(Bn.MatrixEventEvent.LocalEventIdReplaced,l),e.removeListener(Bn.MatrixEventEvent.Status,u)}}let s=t.getRequest(e),o=!1;if(!s){if(s=r(e),!s){N.logger.log(`Crypto: could not find VerificationRequest for ${e.getType()}, and could not create one, so ignoring.`);return}o=!0,t.setRequest(e,s)}e.setVerificationRequest(s);try{await s.channel.handleEvent(e,s,i)}catch(l){N.logger.error("error while handling verification event: "+l.message)}o&&!s.initiatedByMe&&!s.invalid&&!s.observeOnly&&this.baseApis.emit(Qe.VerificationRequest,s)}async onToDeviceBadEncrypted(e){const t=e.getWireContent(),r=e.getSender(),i=t.algorithm,s=t.sender_key,o=()=>{const m=this.getRoomDecryptors(Tt.MEGOLM_ALGORITHM);for(const p of m)p.retryDecryptionFromSender(s)};if(r===void 0||s===void 0||s===void 0)return;this.lastNewSessionForced[r]=this.lastNewSessionForced[r]||{};const c=this.lastNewSessionForced[r][s]||0;if(c+mM>Date.now()){N.logger.debug("New session already forced with device "+r+":"+s+" at "+c+": not forcing another"),await this.olmDevice.recordSessionProblem(s,"wedged",!0),o();return}let l=this.deviceList.getDeviceByIdentityKey(i,s);if(!l&&(await this.downloadKeys([r],!1),l=this.deviceList.getDeviceByIdentityKey(i,s),!l)){N.logger.info("Couldn't find device for identity key "+s+": not re-establishing session"),await this.olmDevice.recordSessionProblem(s,"wedged",!1),o();return}const u={};u[r]=[l],await Tt.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,u,!0),this.lastNewSessionForced[r][s]=Date.now();const a={algorithm:Tt.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{}};await Tt.encryptMessageForDevice(a.ciphertext,this.userId,this.deviceId,this.olmDevice,r,l,{type:"m.dummy"}),await this.olmDevice.recordSessionProblem(s,"wedged",!0),o(),await this.baseApis.sendToDevice("m.room.encrypted",{[r]:{[l.deviceId]:a}});const g=await this.outgoingRoomKeyRequestManager.getOutgoingSentRoomKeyRequest(r,l.deviceId);for(const m of g)this.requestRoomKey(m.requestBody,m.recipients,!0)}onRoomMembership(e,t,r){const i=t.roomId,s=this.roomEncryptors[i];!s||(this.roomDeviceTrackingState[i]&&(t.membership=="join"?(N.logger.log("Join event for "+t.userId+" in "+i),this.deviceList.startTrackingDeviceList(t.userId)):t.membership=="invite"&&this.clientStore.getRoom(i).shouldEncryptForInvitedMembers()&&(N.logger.log("Invite event for "+t.userId+" in "+i),this.deviceList.startTrackingDeviceList(t.userId))),s.onRoomMembership(e,t,r))}onRoomKeyRequestEvent(e){const t=e.getContent();if(t.action==="request"){const r=new b_(e);this.receivedRoomKeyRequests.push(r)}else if(t.action==="request_cancellation"){const r=new vM(e);this.receivedRoomKeyRequestCancellations.push(r)}}async processReceivedRoomKeyRequests(){if(!this.processingRoomKeyRequests){this.processingRoomKeyRequests=!0;try{const e=this.receivedRoomKeyRequests;this.receivedRoomKeyRequests=[];const t=this.receivedRoomKeyRequestCancellations;this.receivedRoomKeyRequestCancellations=[],await Promise.all(e.map(r=>this.processReceivedRoomKeyRequest(r))),await Promise.all(t.map(r=>this.processReceivedRoomKeyRequestCancellation(r)))}catch(e){N.logger.error(`Error processing room key requsts: ${e}`)}finally{this.processingRoomKeyRequests=!1}}}async processReceivedRoomKeyRequest(e){const t=e.userId,r=e.deviceId,i=e.requestBody,s=i.room_id,o=i.algorithm;if(N.logger.log(`m.room_key_request from ${t}:${r} for ${s} / ${i.session_id} (id ${e.requestId})`),t!==this.userId){if(!this.roomEncryptors[s]){N.logger.debug(`room key request for unencrypted room ${s}`);return}const l=this.roomEncryptors[s],u=this.deviceList.getStoredDevice(t,r);if(!u){N.logger.debug(`Ignoring keyshare for unknown device ${t}:${r}`);return}try{await l.reshareKeyWithDevice(i.sender_key,i.session_id,t,u)}catch(a){N.logger.warn("Failed to re-share keys for session "+i.session_id+" with device "+t+":"+u.deviceId,a)}return}if(r===this.deviceId){N.logger.log("Ignoring room key request from ourselves");return}if(!this.roomDecryptors[s]){N.logger.log(`room key request for unencrypted room ${s}`);return}const c=this.roomDecryptors[s][o];if(!c){N.logger.log(`room key request for unknown alg ${o} in room ${s}`);return}if(!await c.hasKeysForKeyRequest(e)){N.logger.log(`room key request for unknown session ${s} / `+i.session_id);return}if(e.share=()=>{c.shareKeysWithDevice(e)},this.checkDeviceTrust(t,r).isVerified()){N.logger.log("device is already verified: sharing keys"),e.share();return}this.emit(Qe.RoomKeyRequest,e)}async processReceivedRoomKeyRequestCancellation(e){N.logger.log(`m.room_key_request cancellation for ${e.userId}:${e.deviceId} (id ${e.requestId})`),this.emit(Qe.RoomKeyRequestCancellation,e)}getRoomDecryptor(e,t){let r,i;if(e=e||null,e&&(r=this.roomDecryptors[e],r||(this.roomDecryptors[e]=r={}),i=r[t],i))return i;const s=Dc.DECRYPTION_CLASSES[t];if(!s)throw new Dc.DecryptionError("UNKNOWN_ENCRYPTION_ALGORITHM",'Unknown encryption algorithm "'+t+'".');return i=new s({userId:this.userId,crypto:this,olmDevice:this.olmDevice,baseApis:this.baseApis,roomId:e}),r&&(r[t]=i),i}getRoomDecryptors(e){const t=[];for(const r of Object.values(this.roomDecryptors))e in r&&t.push(r[e]);return t}async signObject(e){const t=e.signatures||{},r=e.unsigned;delete e.signatures,delete e.unsigned,t[this.userId]=t[this.userId]||{},t[this.userId]["ed25519:"+this.deviceId]=await this.olmDevice.sign(nM.default.stringify(e)),e.signatures=t,r!==void 0&&(e.unsigned=r)}}Kt.Crypto=yM;function sl(n){if(typeof n!="string"||n.indexOf(",")<0)return null;const e=Uint8Array.from(n.split(","),t=>parseInt(t));return Tt.encodeBase64(e)}class b_{constructor(e){(0,oe.default)(this,"userId",void 0),(0,oe.default)(this,"deviceId",void 0),(0,oe.default)(this,"requestId",void 0),(0,oe.default)(this,"requestBody",void 0),(0,oe.default)(this,"share",void 0);const t=e.getContent();this.userId=e.getSender(),this.deviceId=t.requesting_device_id,this.requestId=t.request_id,this.requestBody=t.body||{},this.share=()=>{throw new Error("don't know how to share keys for this request yet")}}}Kt.IncomingRoomKeyRequest=b_;class vM{constructor(e){(0,oe.default)(this,"userId",void 0),(0,oe.default)(this,"deviceId",void 0),(0,oe.default)(this,"requestId",void 0);const t=e.getContent();this.userId=e.getSender(),this.deviceId=t.requesting_device_id,this.requestId=t.request_id}}var Ql={},Zl={},_M=V.exports;Object.defineProperty(Zl,"__esModule",{value:!0});Zl.EventContext=void 0;var od=_M(Y.exports),Hs=Ft;class EM{constructor(e){(0,od.default)(this,"timeline",void 0),(0,od.default)(this,"ourEventIndex",0),(0,od.default)(this,"paginateTokens",{[Hs.Direction.Backward]:null,[Hs.Direction.Forward]:null}),this.timeline=[e]}getEvent(){return this.timeline[this.ourEventIndex]}getTimeline(){return this.timeline}getOurEventIndex(){return this.ourEventIndex}getPaginateToken(e=!1){return this.paginateTokens[e?Hs.Direction.Backward:Hs.Direction.Forward]}setPaginateToken(e,t=!1){this.paginateTokens[t?Hs.Direction.Backward:Hs.Direction.Forward]=e}addEvents(e,t=!1){t?(this.timeline=e.concat(this.timeline),this.ourEventIndex+=e.length):this.timeline=this.timeline.concat(e)}}Zl.EventContext=EM;Object.defineProperty(Ql,"__esModule",{value:!0});Ql.SearchResult=void 0;var SM=Zl;class _f{static fromJson(e,t){const r=e.context||{},i=r.events_before||[],s=r.events_after||[],o=new SM.EventContext(t(e.result));return o.setPaginateToken(r.start,!0),o.addEvents(i.map(t),!0),o.addEvents(s.map(t),!1),o.setPaginateToken(r.end,!1),new _f(e.rank,o)}constructor(e,t){this.rank=e,this.context=t}}Ql.SearchResult=_f;var ic={};Object.defineProperty(ic,"__esModule",{value:!0});ic.CrossSigningKey=void 0;let kh;ic.CrossSigningKey=kh;(function(n){n.Master="master",n.SelfSigning="self_signing",n.UserSigning="user_signing"})(kh||(ic.CrossSigningKey=kh={}));var Ef={};Object.defineProperty(Ef,"__esModule",{value:!0});Ef.eventMapperFor=bM;var xc=qt;function bM(n,e){const t=Boolean(e.preventReEmit),r=e.decrypt!==!1;function i(s){const o=new xc.MatrixEvent(s),c=n.getRoom(o.getRoomId());return c!=null&&c.threads.has(o.getId())&&o.setThread(c.threads.get(o.getId())),o.isEncrypted()&&(t||n.reEmitter.reEmit(o,[xc.MatrixEventEvent.Decrypted]),r&&n.decryptEventIfNeeded(o)),t||n.reEmitter.reEmit(o,[xc.MatrixEventEvent.Replaced,xc.MatrixEventEvent.VisibilityChange]),o}return i}var Zn={},eu={},wM=V.exports;Object.defineProperty(eu,"__esModule",{value:!0});eu.MSC3089Branch=void 0;var RM=wM(Y.exports),Ys=ne,IM=Ft;function sm(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ri(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?sm(Object(t),!0).forEach(function(r){(0,RM.default)(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):sm(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}class TM{constructor(e,t,r){this.client=e,this.indexEvent=t,this.directory=r}get id(){const e=this.indexEvent.getStateKey();if(!e)throw new Error("State key not found for branch");return e}get isActive(){return this.indexEvent.getContent().active===!0}get version(){var e;return(e=this.indexEvent.getContent().version)!==null&&e!==void 0?e:1}get roomId(){return this.indexEvent.getRoomId()}async delete(){await this.client.sendStateEvent(this.roomId,Ys.UNSTABLE_MSC3089_BRANCH.name,{},this.id),await this.client.redactEvent(this.roomId,this.id);const e=(await this.getVersionHistory())[1];e&&await e.delete()}getName(){return this.indexEvent.getContent().name||"Unnamed File"}async setName(e){await this.client.sendStateEvent(this.roomId,Ys.UNSTABLE_MSC3089_BRANCH.name,Ri(Ri({},this.indexEvent.getContent()),{},{name:e}),this.id)}isLocked(){return this.indexEvent.getContent().locked||!1}async setLocked(e){await this.client.sendStateEvent(this.roomId,Ys.UNSTABLE_MSC3089_BRANCH.name,Ri(Ri({},this.indexEvent.getContent()),{},{locked:e}),this.id)}async getFileInfo(){const t=(await this.getFileEvent()).getOriginalContent().file,r=this.client.mxcUrlToHttp(t.url);if(!r)throw new Error(`No HTTP URL available for ${t.url}`);return{info:t,httpUrl:r}}async getFileEvent(){const e=this.client.getRoom(this.roomId);if(!e)throw new Error("Unknown room");let t=e.getUnfilteredTimelineSet().findEventById(this.id);for(;!t&&e.getLiveTimeline().getState(IM.EventTimeline.BACKWARDS).paginationToken;)await this.client.scrollback(e,100),t=e.getUnfilteredTimelineSet().findEventById(this.id);if(!t)throw new Error("Failed to find event");return await this.client.decryptEventIfNeeded(t,{emit:!0,isRetry:!0}),t}async createNewVersion(e,t,r,i){const s=await this.directory.createFile(e,t,r,Ri(Ri({},i!=null?i:{}),{},{"m.new_content":!0,"m.relates_to":{rel_type:Ys.RelationType.Replace,event_id:this.id}}));return await this.client.sendStateEvent(this.roomId,Ys.UNSTABLE_MSC3089_BRANCH.name,{active:!0,name:e,version:this.version+1},s.event_id),await this.client.sendStateEvent(this.roomId,Ys.UNSTABLE_MSC3089_BRANCH.name,Ri(Ri({},this.indexEvent.getContent()),{},{active:!1}),this.id),s}async getVersionHistory(){const e=[];e.push(this);const t=this.client.getRoom(this.roomId);if(!t)throw new Error("Invalid or unknown room");const r=[...t.getLiveTimeline().getEvents()].reverse();let i,s=await this.getFileEvent();do if(i=r.find(o=>o.replacingEventId()===s.getId()),i){const o=this.directory.getFile(i.getId());if(o)e.push(o),s=i;else break}while(i);return e}}eu.MSC3089Branch=TM;var w_=V.exports;Object.defineProperty(Zn,"__esModule",{value:!0});Zn.TreePermissions=DM=Zn.MSC3089TreeSpace=MM=Zn.DEFAULT_TREE_POWER_LEVELS_TEMPLATE=void 0;var R_=w_(Y.exports),OM=w_(Wa.exports),Ee=ne,kM=ie,Jt=G,om=eu,CM=hf;function am(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Wi(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?am(Object(t),!0).forEach(function(r){(0,R_.default)(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):am(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}const PM={invite:100,kick:100,ban:100,redact:50,state_default:50,events_default:50,users_default:0,events:{[Ee.EventType.RoomPowerLevels]:100,[Ee.EventType.RoomHistoryVisibility]:100,[Ee.EventType.RoomTombstone]:100,[Ee.EventType.RoomEncryption]:100,[Ee.EventType.RoomName]:50,[Ee.EventType.RoomMessage]:50,[Ee.EventType.RoomMessageEncrypted]:50,[Ee.EventType.Sticker]:50},users:{}};var MM=Zn.DEFAULT_TREE_POWER_LEVELS_TEMPLATE=PM;let Yn;Zn.TreePermissions=Yn;(function(n){n.Viewer="viewer",n.Editor="editor",n.Owner="owner"})(Yn||(Zn.TreePermissions=Yn={}));class AM{constructor(e,t){if(this.client=e,this.roomId=t,(0,R_.default)(this,"room",void 0),this.room=this.client.getRoom(this.roomId),!this.room)throw new Error("Unknown room")}get id(){return this.roomId}get isTopLevel(){const e=this.room.currentState.getStateEvents(Ee.EventType.SpaceParent);return e!=null&&e.length?e.every(t=>{var r;return!((r=t.getContent())!==null&&r!==void 0&&r.via)}):!0}async setName(e){await this.client.sendStateEvent(this.roomId,Ee.EventType.RoomName,{name:e},"")}async invite(e,t=!0,r=!0){const i=[this.retryInvite(e)];return t&&i.push(...this.getDirectories().map(s=>s.invite(e,t,r))),Promise.all(i).then(()=>{r&&(0,CM.isRoomSharedHistory)(this.room)&&this.client.sendSharedHistoryKeys(this.roomId,[e])})}retryInvite(e){return(0,Jt.simpleRetryOperation)(async()=>{await this.client.invite(this.roomId,e).catch(t=>{throw(t==null?void 0:t.errcode)==="M_FORBIDDEN"?new OM.default.AbortError(t):t})})}async setPermissions(e,t){var r;const i=this.room.currentState.getStateEvents(Ee.EventType.RoomPowerLevels,"");if(Array.isArray(i))throw new Error("Unexpected return type for power levels");const s=i.getContent()||{},o=s.users_default||0,c=s.events_default||50,l=((r=s.events)===null||r===void 0?void 0:r[Ee.EventType.RoomPowerLevels])||100,u=s.users||{};switch(t){case Yn.Viewer:u[e]=o;break;case Yn.Editor:u[e]=c;break;case Yn.Owner:u[e]=l;break;default:throw new Error("Invalid role: "+t)}s.users=u,await this.client.sendStateEvent(this.roomId,Ee.EventType.RoomPowerLevels,s,"")}getPermissions(e){var t,r;const i=this.room.currentState.getStateEvents(Ee.EventType.RoomPowerLevels,"");if(Array.isArray(i))throw new Error("Unexpected return type for power levels");const s=i.getContent()||{},o=s.users_default||0,c=s.events_default||50,l=((t=s.events)===null||t===void 0?void 0:t[Ee.EventType.RoomPowerLevels])||100,u=((r=s.users)===null||r===void 0?void 0:r[e])||o;return u>=l?Yn.Owner:u>=c?Yn.Editor:Yn.Viewer}async createDirectory(e){const t=await this.client.unstableCreateFileTree(e);return await this.client.sendStateEvent(this.roomId,Ee.EventType.SpaceChild,{via:[this.client.getDomain()]},t.roomId),await this.client.sendStateEvent(t.roomId,Ee.EventType.SpaceParent,{via:[this.client.getDomain()]},this.roomId),t}getDirectories(){const e=[],t=this.room.currentState.getStateEvents(Ee.EventType.SpaceChild);for(const r of t)try{const i=r.getStateKey();if(i){const s=this.client.unstableGetFileTreeSpace(i);s&&e.push(s)}}catch(i){kM.logger.warn("Unable to create tree space instance for listing. Are we joined?",i)}return e}getDirectory(e){return this.getDirectories().find(t=>t.roomId===e)}async delete(){const e=this.getDirectories();for(const i of e)await i.delete();const t=["invite","knock","join"],r=this.room.currentState.getStateEvents(Ee.EventType.RoomMember);for(const i of r)if(i.getStateKey()!==this.client.getUserId()&&t.includes(i.getContent().membership)){const o=i.getStateKey();if(!o)throw new Error("State key not found for branch");await this.client.kick(this.roomId,o,"Room deleted")}await this.client.leave(this.roomId)}getOrderedChildren(e){const t=e.map(r=>({roomId:r.getStateKey(),order:r.getContent().order})).filter(r=>r.roomId);return t.sort((r,i)=>{if(r.order&&!i.order)return-1;if(!r.order&&i.order)return 1;if(!r.order&&!i.order){var s,o,c,l;const u=this.client.getRoom(r.roomId),a=this.client.getRoom(i.roomId);if(!u||!a)return(0,Jt.lexicographicCompare)(r.roomId,i.roomId);const g=(s=(o=u.currentState.getStateEvents(Ee.EventType.RoomCreate,""))===null||o===void 0?void 0:o.getTs())!==null&&s!==void 0?s:0,m=(c=(l=a.currentState.getStateEvents(Ee.EventType.RoomCreate,""))===null||l===void 0?void 0:l.getTs())!==null&&c!==void 0?c:0;return g===m?(0,Jt.lexicographicCompare)(r.roomId,i.roomId):g-m}else return(0,Jt.lexicographicCompare)(r.order,i.order)}),t}getParentRoom(){const t=this.room.currentState.getStateEvents(Ee.EventType.SpaceParent)[0];if(!t)throw new Error("Expected to have a parent in a non-top level space");const r=t.getStateKey();if(!r)throw new Error("No state key found for parent");const i=this.client.getRoom(r);if(!i)throw new Error("Unable to locate room for parent");return i}getOrder(){if(this.isTopLevel)return-1;const t=this.getParentRoom().currentState.getStateEvents(Ee.EventType.SpaceChild);return this.getOrderedChildren(t).findIndex(i=>i.roomId===this.roomId)}async setOrder(e){var t;if(this.isTopLevel)throw new Error("Cannot set order of top level spaces currently");const r=this.getParentRoom(),i=r.currentState.getStateEvents(Ee.EventType.SpaceChild),s=this.getOrderedChildren(i);e=Math.max(Math.min(e,s.length-1),0);const c=this.getOrder()<e;c&&e===s.length-1?e--:!c&&e===0&&e++;const l=s[c?e:e-1],u=s[c?e+1:e];let a=Jt.DEFAULT_ALPHABET[0],g=!1;if(!l)u!=null&&u.order&&(a=(0,Jt.prevString)(u.order));else if(e===s.length-1)u!=null&&u.order&&(a=(0,Jt.nextString)(u.order));else{const I=l==null?void 0:l.order,w=u==null?void 0:u.order;I&&w?I===w?a=(0,Jt.nextString)(I):a=(0,Jt.averageBetweenStrings)(I,w):I?a=(0,Jt.nextString)(I):w?a=(0,Jt.prevString)(w):g=!0}if(g){let I;for(let w=0;w<=e;w++){const k=s[w];if(w===0&&(I=k.order),k.order)I=k.order;else{var m;I=I?(0,Jt.nextString)(I):Jt.DEFAULT_ALPHABET[0];const P=r.currentState.getStateEvents(Ee.EventType.SpaceChild,k.roomId),S=(m=P==null?void 0:P.getContent())!==null&&m!==void 0?m:{via:[this.client.getDomain()]};await this.client.sendStateEvent(r.roomId,Ee.EventType.SpaceChild,Wi(Wi({},S),{},{order:I}),k.roomId)}}I&&(a=(0,Jt.nextString)(I))}const p=r.currentState.getStateEvents(Ee.EventType.SpaceChild,this.roomId),E=(t=p==null?void 0:p.getContent())!==null&&t!==void 0?t:{via:[this.client.getDomain()]};await this.client.sendStateEvent(r.roomId,Ee.EventType.SpaceChild,Wi(Wi({},E),{},{order:a}),this.roomId)}async createFile(e,t,r,i){var s;const o=await this.client.uploadContent(t,{includeFilename:!1,onlyContentUri:!0,rawResponse:!1});r.url=o;const c={msgtype:Ee.MsgType.File,body:e,url:o,file:r};i=(s=i)!==null&&s!==void 0?s:{},i["m.new_content"]&&(i["m.new_content"]=c);const l=await this.client.sendMessage(this.roomId,Wi(Wi(Wi({},i),c),{},{[Ee.UNSTABLE_MSC3089_LEAF.name]:{}}));return await this.client.sendStateEvent(this.roomId,Ee.UNSTABLE_MSC3089_BRANCH.name,{active:!0,name:e},l.event_id),l}getFile(e){const t=this.room.currentState.getStateEvents(Ee.UNSTABLE_MSC3089_BRANCH.name,e);return t?new om.MSC3089Branch(this.client,t,this):null}listFiles(){return this.listAllFiles().filter(e=>e.isActive)}listAllFiles(){var e;return((e=this.room.currentState.getStateEvents(Ee.UNSTABLE_MSC3089_BRANCH.name))!==null&&e!==void 0?e:[]).map(r=>new om.MSC3089Branch(this.client,r,this))}}var DM=Zn.MSC3089TreeSpace=AM,Ko={};Object.defineProperty(Ko,"__esModule",{value:!0});Ko.SearchOrderBy=void 0;var cm;(function(n){n.RoomId="room_id",n.Sender="sender"})(cm||(cm={}));let Ch;Ko.SearchOrderBy=Ch;(function(n){n.Recent="recent",n.Rank="rank"})(Ch||(Ko.SearchOrderBy=Ch={}));var tu={},UM=V.exports;Object.defineProperty(tu,"__esModule",{value:!0});tu.MediaHandler=void 0;var la=UM(Y.exports),Ar=ie,$M=Te;class xM{constructor(e){this.client=e,(0,la.default)(this,"audioInput",void 0),(0,la.default)(this,"videoInput",void 0),(0,la.default)(this,"localUserMediaStream",void 0),(0,la.default)(this,"userMediaStreams",[]),(0,la.default)(this,"screensharingStreams",[])}async setAudioInput(e){Ar.logger.info("LOG setting audio input to",e),this.audioInput!==e&&(this.audioInput=e,await this.updateLocalUsermediaStreams())}async setVideoInput(e){Ar.logger.info("LOG setting video input to",e),this.videoInput!==e&&(this.videoInput=e,await this.updateLocalUsermediaStreams())}async updateLocalUsermediaStreams(){if(this.userMediaStreams.length===0)return;const e=new Map;for(const t of this.client.callEventHandler.calls.values())e.set(t.callId,{audio:t.hasLocalUserMediaAudioTrack,video:t.hasLocalUserMediaVideoTrack});for(const t of this.client.callEventHandler.calls.values()){if(t.state===$M.CallState.Ended||!e.has(t.callId))continue;const{audio:r,video:i}=e.get(t.callId),s=await this.getUserMediaStream(r,i,!1);await t.updateLocalUsermediaStream(s)}}async hasAudioDevice(){return(await navigator.mediaDevices.enumerateDevices()).filter(t=>t.kind==="audioinput").length>0}async hasVideoDevice(){return(await navigator.mediaDevices.enumerateDevices()).filter(t=>t.kind==="videoinput").length>0}async getUserMediaStream(e,t,r=!0){var i,s,o,c;const l=e&&await this.hasAudioDevice(),u=t&&await this.hasVideoDevice();let a;if(!this.localUserMediaStream||this.localUserMediaStream.getAudioTracks().length===0&&l||this.localUserMediaStream.getVideoTracks().length===0&&u||((i=this.localUserMediaStream.getAudioTracks()[0])===null||i===void 0||(s=i.getSettings())===null||s===void 0?void 0:s.deviceId)!==this.audioInput||((o=this.localUserMediaStream.getVideoTracks()[0])===null||o===void 0||(c=o.getSettings())===null||c===void 0?void 0:c.deviceId)!==this.videoInput){const g=this.getUserMediaContraints(l,u);Ar.logger.log("Getting user media with constraints",g),a=await navigator.mediaDevices.getUserMedia(g);for(const m of a.getTracks()){const p=m.getSettings();m.kind==="audio"?this.audioInput=p.deviceId:m.kind==="video"&&(this.videoInput=p.deviceId)}r&&(this.localUserMediaStream=a)}else{if(a=this.localUserMediaStream.clone(),!l)for(const g of a.getAudioTracks())a.removeTrack(g);if(!u)for(const g of a.getVideoTracks())a.removeTrack(g)}return r&&this.userMediaStreams.push(a),a}stopUserMediaStream(e){Ar.logger.debug("Stopping usermedia stream",e.id);for(const r of e.getTracks())r.stop();const t=this.userMediaStreams.indexOf(e);t!==-1&&(Ar.logger.debug("Splicing usermedia stream out stream array",e.id),this.userMediaStreams.splice(t,1)),this.localUserMediaStream===e&&(this.localUserMediaStream=void 0)}async getScreensharingStream(e,t=!0){let r;if(this.screensharingStreams.length===0){const i=this.getScreenshareContraints(e);if(!i)return null;e?(Ar.logger.debug("Getting screensharing stream using getUserMedia()",e),r=await navigator.mediaDevices.getUserMedia(i)):(Ar.logger.debug("Getting screensharing stream using getDisplayMedia()"),r=await navigator.mediaDevices.getDisplayMedia(i))}else{const i=this.screensharingStreams[this.screensharingStreams.length-1];Ar.logger.log("Cloning screensharing stream",i.id),r=i.clone()}return t&&this.screensharingStreams.push(r),r}stopScreensharingStream(e){Ar.logger.debug("Stopping screensharing stream",e.id);for(const r of e.getTracks())r.stop();const t=this.screensharingStreams.indexOf(e);t!==-1&&(Ar.logger.debug("Splicing screensharing stream out stream array",e.id),this.screensharingStreams.splice(t,1))}stopAllStreams(){for(const e of this.userMediaStreams)for(const t of e.getTracks())t.stop();for(const e of this.screensharingStreams)for(const t of e.getTracks())t.stop();this.userMediaStreams=[],this.screensharingStreams=[],this.localUserMediaStream=void 0}getUserMediaContraints(e,t){const r=!!navigator.webkitGetUserMedia;return{audio:e?{deviceId:this.audioInput?{ideal:this.audioInput}:void 0}:!1,video:t?{deviceId:this.videoInput?{ideal:this.videoInput}:void 0,width:r?{exact:640}:{ideal:640},height:r?{exact:360}:{ideal:360}}:!1}}getScreenshareContraints(e){return e?(Ar.logger.debug("Using desktop capturer source",e),{audio:!1,video:{mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:e}}}):(Ar.logger.debug("Not using desktop capturer source"),{audio:!1,video:!0})}}tu.MediaHandler=xM;var NM=V.exports;Object.defineProperty(it,"__esModule",{value:!0});it.RoomVersionStability=it.PendingEventOrdering=it.MatrixClient=it.ClientEvent=it.CRYPTO_ENABLED=void 0;var X=NM(Y.exports),ad=Pl,zs=Ui,rt=qt,LM=jl,lm=Te,Nc=Cs,BM=gs,x=Sf(G),ua=Ft,cd=nc,KM=$i,ld=Sf(Me),FM=nn,qM=Gl,se=ie,um=Lo,M=me,xt=Kt,ud=Bo,dm=Ms,dd=en,jM=Mo,VM=Ql,GM=Ss,Js=Is,WM=ic,Xs=Sf(ze),ue=ne,HM=Ye,YM=Ef,zM=oi,hm=vr,hd=Zn,JM=Ko,Lc=Be,XM=tu,QM=qe,Bc=ct,ZM=In;function I_(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(I_=function(r){return r?t:e})(n)}function Sf(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=I_(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}function fm(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Kc(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?fm(Object(t),!0).forEach(function(r){(0,X.default)(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):fm(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}const eA=3e3,tA=(0,xt.isCryptoAvailable)();it.CRYPTO_ENABLED=tA;const rA=216e5,pm=10*60*1e3;let Ph;it.PendingEventOrdering=Ph;(function(n){n.Chronological="chronological",n.Detached="detached"})(Ph||(it.PendingEventOrdering=Ph={}));let Mh;it.RoomVersionStability=Mh;(function(n){n.Stable="stable",n.Unstable="unstable"})(Mh||(it.RoomVersionStability=Mh={}));var gm;(function(n){n.MasterKey="master_key",n.SelfSigningKey="self_signing_key",n.UserSigningKey="user_signing_key"})(gm||(gm={}));const dn="$";let ss;it.ClientEvent=ss;(function(n){n.Sync="sync",n.Event="event",n.ToDeviceEvent="toDeviceEvent",n.AccountData="accountData",n.Room="Room",n.DeleteRoom="deleteRoom",n.SyncUnexpectedError="sync.unexpectedError",n.ClientWellKnown="WellKnown.client",n.Group="Group",n.GroupProfile="Group.profile",n.GroupMyMembership="Group.myMembership"})(ss||(it.ClientEvent=ss={}));class ru extends QM.TypedEventEmitter{constructor(e){super();(0,X.default)(this,"reEmitter",new FM.TypedReEmitter(this)),(0,X.default)(this,"olmVersion",null),(0,X.default)(this,"usingExternalCrypto",!1),(0,X.default)(this,"store",void 0),(0,X.default)(this,"deviceId",void 0),(0,X.default)(this,"credentials",void 0),(0,X.default)(this,"pickleKey",void 0),(0,X.default)(this,"scheduler",void 0),(0,X.default)(this,"clientRunning",!1),(0,X.default)(this,"timelineSupport",!1),(0,X.default)(this,"urlPreviewCache",{}),(0,X.default)(this,"unstableClientRelationAggregation",!1),(0,X.default)(this,"identityServer",void 0),(0,X.default)(this,"sessionStore",void 0),(0,X.default)(this,"http",void 0),(0,X.default)(this,"crypto",void 0),(0,X.default)(this,"cryptoCallbacks",void 0),(0,X.default)(this,"callEventHandler",void 0),(0,X.default)(this,"supportsCallTransfer",!1),(0,X.default)(this,"forceTURN",!1),(0,X.default)(this,"iceCandidatePoolSize",0),(0,X.default)(this,"idBaseUrl",void 0),(0,X.default)(this,"baseUrl",void 0),(0,X.default)(this,"canSupportVoip",!1),(0,X.default)(this,"peekSync",null),(0,X.default)(this,"isGuestAccount",!1),(0,X.default)(this,"ongoingScrollbacks",{}),(0,X.default)(this,"notifTimelineSet",null),(0,X.default)(this,"cryptoStore",void 0),(0,X.default)(this,"verificationMethods",void 0),(0,X.default)(this,"fallbackICEServerAllowed",!1),(0,X.default)(this,"roomList",void 0),(0,X.default)(this,"syncApi",void 0),(0,X.default)(this,"pushRules",void 0),(0,X.default)(this,"syncLeftRoomsPromise",void 0),(0,X.default)(this,"syncedLeftRooms",!1),(0,X.default)(this,"clientOpts",void 0),(0,X.default)(this,"clientWellKnownIntervalID",void 0),(0,X.default)(this,"canResetTimelineCallback",void 0),(0,X.default)(this,"pushProcessor",new cd.PushProcessor(this)),(0,X.default)(this,"serverVersionsPromise",void 0),(0,X.default)(this,"cachedCapabilities",void 0),(0,X.default)(this,"clientWellKnown",void 0),(0,X.default)(this,"clientWellKnownPromise",void 0),(0,X.default)(this,"turnServers",[]),(0,X.default)(this,"turnServersExpiry",0),(0,X.default)(this,"checkTurnServersIntervalID",void 0),(0,X.default)(this,"exportedOlmDeviceToImport",void 0),(0,X.default)(this,"txnCtr",0),(0,X.default)(this,"mediaHandler",new XM.MediaHandler(this)),(0,X.default)(this,"pendingEventEncryption",new Map),(0,X.default)(this,"startCallEventHandler",()=>{this.isInitialSyncComplete()&&(this.callEventHandler.start(),this.off(ss.Sync,this.startCallEventHandler))}),e.baseUrl=x.ensureNoTrailingSlash(e.baseUrl),e.idBaseUrl=x.ensureNoTrailingSlash(e.idBaseUrl),this.baseUrl=e.baseUrl,this.idBaseUrl=e.idBaseUrl,this.usingExternalCrypto=e.usingExternalCrypto,this.store=e.store||new LM.StubStore,this.deviceId=e.deviceId||null;const t=e.userId||null;this.credentials={userId:t},this.http=new M.MatrixHttpApi(this,{baseUrl:e.baseUrl,idBaseUrl:e.idBaseUrl,accessToken:e.accessToken,request:e.request,prefix:M.PREFIX_R0,onlyData:!0,extraParams:e.queryParams,localTimeoutMs:e.localTimeoutMs,useAuthorizationHeader:e.useAuthorizationHeader}),e.deviceToImport?this.deviceId?se.logger.warn("not importing device because device ID is provided to constructor independently of exported data"):this.credentials.userId?se.logger.warn("not importing device because user ID is provided to constructor independently of exported data"):e.deviceToImport.deviceId?(this.deviceId=e.deviceToImport.deviceId,this.credentials.userId=e.deviceToImport.userId,this.exportedOlmDeviceToImport=e.deviceToImport.olmDevice):se.logger.warn("not importing device because no device ID in exported data"):e.pickleKey&&(this.pickleKey=e.pickleKey),this.scheduler=e.scheduler,this.scheduler&&this.scheduler.setProcessFunction(async i=>{const s=this.getRoom(i.getRoomId());i.status!==rt.EventStatus.SENDING&&this.updatePendingEventStatus(s,i,rt.EventStatus.SENDING);const o=await this.sendEventHttpRequest(i);return s&&s.updatePendingEvent(i,rt.EventStatus.SENT,o.event_id),o}),(0,lm.createNewMatrixCall)(this,void 0,void 0)&&(this.callEventHandler=new BM.CallEventHandler(this),this.canSupportVoip=!0,this.on(ss.Sync,this.startCallEventHandler)),this.timelineSupport=Boolean(e.timelineSupport),this.unstableClientRelationAggregation=!!e.unstableClientRelationAggregation,this.cryptoStore=e.cryptoStore,this.sessionStore=e.sessionStore,this.verificationMethods=e.verificationMethods,this.cryptoCallbacks=e.cryptoCallbacks||{},this.forceTURN=e.forceTURN||!1,this.iceCandidatePoolSize=e.iceCandidatePoolSize===void 0?0:e.iceCandidatePoolSize,this.supportsCallTransfer=e.supportsCallTransfer||!1,this.fallbackICEServerAllowed=e.fallbackICEServerAllowed||!1,this.roomList=new qM.RoomList(this.cryptoStore),this.on(rt.MatrixEventEvent.Decrypted,i=>{var s,o;const c=i.getPushActions(),l=this.getPushActionsForEvent(i,!0),u=this.getRoom(i.getRoomId());if(!u)return;const a=u.getUnreadNotificationCount(Js.NotificationCountType.Highlight),g=!!(c!=null&&(s=c.tweaks)!==null&&s!==void 0&&s.highlight),m=!!(l!=null&&(o=l.tweaks)!==null&&o!==void 0&&o.highlight);if((g!==m||a>0)&&!u.hasUserReadEvent(this.getUserId(),i.getId())){let p=a;m&&!g&&p++,!m&&g&&p--,u.setUnreadNotificationCount(Js.NotificationCountType.Highlight,p),u.getUnreadNotificationCount(Js.NotificationCountType.Total)<p&&u.setUnreadNotificationCount(Js.NotificationCountType.Total,p)}}),this.on(Js.RoomEvent.Receipt,(i,s)=>{if(s&&this.isRoomEncrypted(s.roomId)){const o=i.getContent();if(!(Object.keys(o).filter(g=>Object.keys(o[g]["m.read"]).includes(this.getUserId())).length>0))return;const l=20,u=s.getLiveTimeline().getEvents();let a=0;for(let g=u.length-1;g>=0;g--){if(g===u.length-l)return;const m=u[g];if(s.hasUserReadEvent(this.getUserId(),m.getId()))break;const p=this.getPushActionsForEvent(m);a+=p.tweaks&&p.tweaks.highlight?1:0}s.setUnreadNotificationCount(Js.NotificationCountType.Highlight,a)}})}async startClient(e){if(this.clientRunning)return;this.clientRunning=!0,typeof e=="number"&&(e={initialSyncLimit:e});const t=this.getUserId();t&&this.store.storeUser(new dd.User(t)),this.crypto&&(this.crypto.uploadDeviceKeys(),this.crypto.start()),this.canSupportVoip&&(this.checkTurnServersIntervalID=setInterval(()=>{this.checkTurnServers()},pm),this.checkTurnServers()),this.syncApi&&(se.logger.error("Still have sync object whilst not running: stopping old one"),this.syncApi.stop());try{const{serverSupport:r,stable:i}=await this.doesServerSupportThread();Bc.Thread.setServerSideSupport(r,i)}catch{Bc.Thread.setServerSideSupport(!1,!0)}this.clientOpts=Object.assign({},e),this.clientOpts.crypto=this.crypto,this.clientOpts.canResetEntireTimeline=r=>this.canResetTimelineCallback?this.canResetTimelineCallback(r):!1,this.syncApi=new zs.SyncApi(this,this.clientOpts),this.syncApi.sync(),this.clientOpts.clientWellKnownPollPeriod!==void 0&&(this.clientWellKnownIntervalID=setInterval(()=>{this.fetchClientWellKnown()},1e3*this.clientOpts.clientWellKnownPollPeriod),this.fetchClientWellKnown())}stopClient(){var e,t,r,i;se.logger.log("stopping MatrixClient"),this.clientRunning=!1,(e=this.syncApi)===null||e===void 0||e.stop(),this.syncApi=null,(t=this.crypto)===null||t===void 0||t.stop(),(r=this.peekSync)===null||r===void 0||r.stopPeeking(),(i=this.callEventHandler)===null||i===void 0||i.stop(),this.callEventHandler=null,j.clearInterval(this.checkTurnServersIntervalID),this.clientWellKnownIntervalID!==void 0&&j.clearInterval(this.clientWellKnownIntervalID)}async rehydrateDevice(){if(this.crypto)throw new Error("Cannot rehydrate device after crypto is initialized");if(!this.cryptoCallbacks.getDehydrationKey)return;const e=await this.getDehydratedDevice();if(!e)return;if(!e.device_data||!e.device_id){se.logger.info("no dehydrated device found");return}const t=new j.Olm.Account;try{const r=e.device_data;if(r.algorithm!==GM.DEHYDRATION_ALGORITHM){se.logger.warn("Wrong algorithm for dehydrated device");return}se.logger.log("unpickling dehydrated device");const i=await this.cryptoCallbacks.getDehydrationKey(r,o=>{t.unpickle(new Uint8Array(o),r.account)});if(t.unpickle(i,r.account),se.logger.log("unpickled device"),(await this.http.authedRequest(void 0,M.Method.Post,"/dehydrated_device/claim",void 0,{device_id:e.device_id},{prefix:"/_matrix/client/unstable/org.matrix.msc2697.v2"})).success===!0){this.deviceId=e.device_id,se.logger.info("using dehydrated device");const o=this.pickleKey||"DEFAULT_KEY";return this.exportedOlmDeviceToImport={pickledAccount:t.pickle(o),sessions:[],pickleKey:o},t.free(),this.deviceId}else{t.free(),se.logger.info("not using dehydrated device");return}}catch(r){t.free(),se.logger.warn("could not unpickle",r)}}async getDehydratedDevice(){try{return await this.http.authedRequest(void 0,M.Method.Get,"/dehydrated_device",void 0,void 0,{prefix:"/_matrix/client/unstable/org.matrix.msc2697.v2"})}catch(e){se.logger.info("could not get dehydrated device",e.toString());return}}async setDehydrationKey(e,t,r){if(!this.crypto){se.logger.warn("not dehydrating device if crypto is not enabled");return}return await this.crypto.dehydrationManager.setKeyAndQueueDehydration(e,t,r)}async createDehydratedDevice(e,t,r){if(!this.crypto){se.logger.warn("not dehydrating device if crypto is not enabled");return}return await this.crypto.dehydrationManager.setKey(e,t,r),await this.crypto.dehydrationManager.dehydrateDevice()}async exportDevice(){if(!this.crypto){se.logger.warn("not exporting device if crypto is not enabled");return}return{userId:this.credentials.userId,deviceId:this.deviceId,olmDevice:await this.crypto.olmDevice.export()}}clearStores(){if(this.clientRunning)throw new Error("Cannot clear stores while client is running");const e=[];return e.push(this.store.deleteAllData()),this.cryptoStore&&e.push(this.cryptoStore.deleteAllData()),Promise.all(e).then()}getUserId(){return this.credentials&&this.credentials.userId?this.credentials.userId:null}getDomain(){return this.credentials&&this.credentials.userId?this.credentials.userId.replace(/^.*?:/,""):null}getUserIdLocalpart(){return this.credentials&&this.credentials.userId?this.credentials.userId.split(":")[0].substring(1):null}getDeviceId(){return this.deviceId}supportsVoip(){return this.canSupportVoip}getMediaHandler(){return this.mediaHandler}setForceTURN(e){this.forceTURN=e}setSupportsCallTransfer(e){this.supportsCallTransfer=e}createCall(e){return(0,lm.createNewMatrixCall)(this,e)}getSyncState(){return this.syncApi?this.syncApi.getSyncState():null}getSyncStateData(){return this.syncApi?this.syncApi.getSyncStateData():null}isInitialSyncComplete(){const e=this.getSyncState();return e?e===zs.SyncState.Prepared||e===zs.SyncState.Syncing:!1}isGuest(){return this.isGuestAccount}setGuest(e){this.isGuestAccount=e}getScheduler(){return this.scheduler}retryImmediately(){return this.syncApi.retryImmediately()}getNotifTimelineSet(){return this.notifTimelineSet}setNotifTimelineSet(e){this.notifTimelineSet=e}getCapabilities(e=!1){const t=new Date().getTime();return this.cachedCapabilities&&!e&&t<this.cachedCapabilities.expiration?(se.logger.log("Returning cached capabilities"),Promise.resolve(this.cachedCapabilities.capabilities)):this.http.authedRequest(void 0,M.Method.Get,"/capabilities").catch(r=>{se.logger.error(r)}).then((r={})=>{const i=r.capabilities||{},s=Object.keys(i).length?rA:6e4+Math.random()*5e3;return this.cachedCapabilities={capabilities:i,expiration:t+s},se.logger.log("Caching capabilities: ",i),i})}async initCrypto(){if(!(0,xt.isCryptoAvailable)())throw new Error("End-to-end encryption not supported in this js-sdk build: did you remember to load the olm library?");if(this.crypto){se.logger.warn("Attempt to re-initialise e2e encryption on MatrixClient");return}if(!this.sessionStore)throw new Error("Cannot enable encryption: no sessionStore provided");if(!this.cryptoStore)throw new Error("Cannot enable encryption: no cryptoStore provided");se.logger.log("Crypto: Starting up crypto store..."),await this.cryptoStore.startup(),se.logger.log("Crypto: initialising roomlist..."),await this.roomList.init();const e=this.getUserId();if(e===null)throw new Error("Cannot enable encryption on MatrixClient with unknown userId: ensure userId is passed in createClient().");if(this.deviceId===null)throw new Error("Cannot enable encryption on MatrixClient with unknown deviceId: ensure deviceId is passed in createClient().");const t=new xt.Crypto(this,this.sessionStore,e,this.deviceId,this.store,this.cryptoStore,this.roomList,this.verificationMethods);this.reEmitter.reEmit(t,[xt.CryptoEvent.KeyBackupFailed,xt.CryptoEvent.KeyBackupSessionsRemaining,xt.CryptoEvent.RoomKeyRequest,xt.CryptoEvent.RoomKeyRequestCancellation,xt.CryptoEvent.Warning,xt.CryptoEvent.DevicesUpdated,xt.CryptoEvent.WillUpdateDevices,xt.CryptoEvent.DeviceVerificationChanged,xt.CryptoEvent.UserTrustStatusChanged,xt.CryptoEvent.KeysChanged]),se.logger.log("Crypto: initialising crypto object..."),await t.init({exportedOlmDevice:this.exportedOlmDeviceToImport,pickleKey:this.pickleKey}),delete this.exportedOlmDeviceToImport,this.olmVersion=xt.Crypto.getOlmVersion(),t.registerEventHandlers(this),this.crypto=t}isCryptoEnabled(){return!!this.crypto}getDeviceEd25519Key(){return this.crypto?this.crypto.getDeviceEd25519Key():null}getDeviceCurve25519Key(){return this.crypto?this.crypto.getDeviceCurve25519Key():null}async uploadKeys(){if(!this.crypto)throw new Error("End-to-end encryption disabled");await this.crypto.uploadDeviceKeys()}downloadKeys(e,t){return this.crypto?this.crypto.downloadKeys(e,t):Promise.reject(new Error("End-to-end encryption disabled"))}getStoredDevicesForUser(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getStoredDevicesForUser(e)||[]}getStoredDevice(e,t){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getStoredDevice(e,t)||null}setDeviceVerified(e,t,r=!0){const i=this.setDeviceVerification(e,t,r,null,null);return e==this.credentials.userId&&this.checkKeyBackup(),i}setDeviceBlocked(e,t,r=!0){return this.setDeviceVerification(e,t,null,r,null)}setDeviceKnown(e,t,r=!0){return this.setDeviceVerification(e,t,null,null,r)}async setDeviceVerification(e,t,r,i,s){if(!this.crypto)throw new Error("End-to-end encryption disabled");await this.crypto.setDeviceVerification(e,t,r,i,s)}requestVerificationDM(e,t){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.requestVerificationDM(e,t)}findVerificationRequestDMInProgress(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.findVerificationRequestDMInProgress(e)}getVerificationRequestsToDeviceInProgress(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getVerificationRequestsToDeviceInProgress(e)}requestVerification(e,t){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.requestVerification(e,t)}beginKeyVerification(e,t,r){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.beginKeyVerification(e,t,r)}checkSecretStorageKey(e,t){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkSecretStorageKey(e,t)}setGlobalBlacklistUnverifiedDevices(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.setGlobalBlacklistUnverifiedDevices(e)}getGlobalBlacklistUnverifiedDevices(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getGlobalBlacklistUnverifiedDevices()}setGlobalErrorOnUnknownDevices(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.setGlobalErrorOnUnknownDevices(e)}getGlobalErrorOnUnknownDevices(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getGlobalErrorOnUnknownDevices()}getCrossSigningId(e=WM.CrossSigningKey.Master){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getCrossSigningId(e)}getStoredCrossSigningForUser(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getStoredCrossSigningForUser(e)}checkUserTrust(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkUserTrust(e)}checkDeviceTrust(e,t){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkDeviceTrust(e,t)}checkOwnCrossSigningTrust(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkOwnCrossSigningTrust(e)}checkCrossSigningPrivateKey(e,t){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkCrossSigningPrivateKey(e,t)}legacyDeviceVerification(e,t,r){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.legacyDeviceVerification(e,t,r)}prepareToEncrypt(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.prepareToEncrypt(e)}isCrossSigningReady(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.isCrossSigningReady()}bootstrapCrossSigning(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.bootstrapCrossSigning(e)}getCryptoTrustCrossSignedDevices(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getCryptoTrustCrossSignedDevices()}setCryptoTrustCrossSignedDevices(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.setCryptoTrustCrossSignedDevices(e)}countSessionsNeedingBackup(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.countSessionsNeedingBackup()}getEventEncryptionInfo(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getEventEncryptionInfo(e)}createRecoveryKeyFromPassphrase(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.createRecoveryKeyFromPassphrase(e)}isSecretStorageReady(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.isSecretStorageReady()}bootstrapSecretStorage(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.bootstrapSecretStorage(e)}addSecretStorageKey(e,t,r){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.addSecretStorageKey(e,t,r)}hasSecretStorageKey(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.hasSecretStorageKey(e)}storeSecret(e,t,r){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.storeSecret(e,t,r)}getSecret(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getSecret(e)}isSecretStored(e,t){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.isSecretStored(e,t)}requestSecret(e,t){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.requestSecret(e,t)}getDefaultSecretStorageKeyId(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getDefaultSecretStorageKeyId()}setDefaultSecretStorageKeyId(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.setDefaultSecretStorageKeyId(e)}checkSecretStoragePrivateKey(e,t){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkSecretStoragePrivateKey(e,t)}async getEventSenderDeviceInfo(e){return this.crypto?this.crypto.getEventSenderDeviceInfo(e):null}async isEventSenderVerified(e){const t=await this.getEventSenderDeviceInfo(e);return t?t.isVerified():!1}cancelAndResendEventRoomKeyRequest(e){return e.cancelAndResendKeyRequest(this.crypto,this.getUserId())}setRoomEncryption(e,t){if(!this.crypto)throw new Error("End-to-End encryption disabled");return this.crypto.setRoomEncryption(e,t)}isRoomEncrypted(e){const t=this.getRoom(e);return t?t.currentState.getStateEvents(ue.EventType.RoomEncryption,"")?!0:this.roomList.isRoomEncrypted(e):!1}forceDiscardSession(e){if(!this.crypto)throw new Error("End-to-End encryption disabled");this.crypto.forceDiscardSession(e)}exportRoomKeys(){return this.crypto?this.crypto.exportRoomKeys():Promise.reject(new Error("End-to-end encryption disabled"))}importRoomKeys(e,t){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.importRoomKeys(e,t)}checkKeyBackup(){return this.crypto.backupManager.checkKeyBackup()}async getKeyBackupVersion(){let e;try{e=await this.http.authedRequest(void 0,M.Method.Get,"/room_keys/version",void 0,void 0,{prefix:M.PREFIX_UNSTABLE})}catch(t){if(t.errcode==="M_NOT_FOUND")return null;throw t}try{hm.BackupManager.checkBackupVersion(e)}catch(t){throw t}return e}isKeyBackupTrusted(e){return this.crypto.backupManager.isKeyBackupTrusted(e)}getKeyBackupEnabled(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.backupManager.getKeyBackupEnabled()}enableKeyBackup(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.backupManager.enableKeyBackup(e)}disableKeyBackup(){if(!this.crypto)throw new Error("End-to-end encryption disabled");this.crypto.backupManager.disableKeyBackup()}async prepareKeyBackupVersion(e,t={secureSecretStorage:!1}){if(!this.crypto)throw new Error("End-to-end encryption disabled");const{algorithm:r,auth_data:i,recovery_key:s,privateKey:o}=await this.crypto.backupManager.prepareKeyBackupVersion(e);return t.secureSecretStorage&&(await this.storeSecret("m.megolm_backup.v1",(0,ld.encodeBase64)(o)),se.logger.info("Key backup private key stored in secret storage")),{algorithm:r,auth_data:i,recovery_key:s}}isKeyBackupKeyStored(){return Promise.resolve(this.isSecretStored("m.megolm_backup.v1",!1))}async createKeyBackupVersion(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");await this.crypto.backupManager.createKeyBackupVersion(e);const t={algorithm:e.algorithm,auth_data:e.auth_data};await this.crypto.signObject(t.auth_data),this.cryptoCallbacks.getCrossSigningKey&&this.crypto.crossSigningInfo.getId()&&await this.crypto.crossSigningInfo.signObject(t.auth_data,"master");const r=await this.http.authedRequest(void 0,M.Method.Post,"/room_keys/version",void 0,t,{prefix:M.PREFIX_UNSTABLE});return await this.checkKeyBackup(),this.getKeyBackupEnabled()||se.logger.error("Key backup not usable even though we just created it"),r}deleteKeyBackupVersion(e){if(!this.crypto)throw new Error("End-to-end encryption disabled");this.crypto.backupManager.version&&this.crypto.backupManager.disableKeyBackup();const t=x.encodeUri("/room_keys/version/$version",{$version:e});return this.http.authedRequest(void 0,M.Method.Delete,t,void 0,void 0,{prefix:M.PREFIX_UNSTABLE})}makeKeyBackupPath(e,t,r){let i;return t!==void 0?i=x.encodeUri("/room_keys/keys/$roomId/$sessionId",{$roomId:e,$sessionId:t}):e!==void 0?i=x.encodeUri("/room_keys/keys/$roomId",{$roomId:e}):i="/room_keys/keys",{path:i,queryData:r===void 0?void 0:{version:r}}}sendKeyBackup(e,t,r,i){if(!this.crypto)throw new Error("End-to-end encryption disabled");const s=this.makeKeyBackupPath(e,t,r);return this.http.authedRequest(void 0,M.Method.Put,s.path,s.queryData,i,{prefix:M.PREFIX_UNSTABLE})}async scheduleAllGroupSessionsForBackup(){if(!this.crypto)throw new Error("End-to-end encryption disabled");await this.crypto.backupManager.scheduleAllGroupSessionsForBackup()}flagAllGroupSessionsForBackup(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.backupManager.flagAllGroupSessionsForBackup()}isValidRecoveryKey(e){try{return(0,ud.decodeRecoveryKey)(e),!0}catch{return!1}}keyBackupKeyFromPassword(e,t){return(0,dm.keyFromAuthData)(t.auth_data,e)}keyBackupKeyFromRecoveryKey(e){return(0,ud.decodeRecoveryKey)(e)}async restoreKeyBackupWithPassword(e,t,r,i,s){const o=await(0,dm.keyFromAuthData)(i.auth_data,e);return this.restoreKeyBackup(o,t,r,i,s)}async restoreKeyBackupWithSecretStorage(e,t,r,i){const s=await this.getSecret("m.megolm_backup.v1"),o=(0,xt.fixBackupKey)(s);if(o){const[l]=await this.crypto.getSecretStorageKey();await this.storeSecret("m.megolm_backup.v1",o,[l])}const c=(0,ld.decodeBase64)(o||s);return this.restoreKeyBackup(c,t,r,e,i)}restoreKeyBackupWithRecoveryKey(e,t,r,i,s){const o=(0,ud.decodeRecoveryKey)(e);return this.restoreKeyBackup(o,t,r,i,s)}async restoreKeyBackupWithCache(e,t,r,i){const s=await this.crypto.getSessionBackupPrivateKey();if(!s)throw new Error("Couldn't get key");return this.restoreKeyBackup(s,e,t,r,i)}async restoreKeyBackup(e,t,r,i,s){const o=s==null?void 0:s.cacheCompleteCallback,c=s==null?void 0:s.progressCallback;if(!this.crypto)throw new Error("End-to-end encryption disabled");let l=0,u=[];const a=this.makeKeyBackupPath(t,r,i.version),g=await hm.BackupManager.makeAlgorithm(i,async()=>e),m=g.untrusted;try{if(!await g.keyMatches(e))return Promise.reject(new M.MatrixError({errcode:ru.RESTORE_BACKUP_ERROR_BAD_KEY}));this.crypto.storeSessionBackupPrivateKey(e).catch(E=>{se.logger.warn("Error caching session backup key:",E)}).then(o),c&&c({stage:"fetch"});const p=await this.http.authedRequest(void 0,M.Method.Get,a.path,a.queryData,void 0,{prefix:M.PREFIX_UNSTABLE});if(p.rooms){const E=p.rooms;for(const[I,w]of Object.entries(E)){if(!w.sessions)continue;l+=Object.keys(w.sessions).length;const k=await g.decryptSessions(w.sessions);for(const P of k)P.room_id=I,u.push(P)}}else if(p.sessions){const E=p.sessions;l=Object.keys(E).length,u=await g.decryptSessions(E);for(const I of u)I.room_id=t}else{l=1;try{const[E]=await g.decryptSessions({[r]:p});E.room_id=t,E.session_id=r,u.push(E)}catch(E){se.logger.log("Failed to decrypt megolm session from backup",E)}}}finally{g.free()}return await this.importRoomKeys(u,{progressCallback:c,untrusted:m,source:"backup"}),await this.checkKeyBackup(),{total:l,imported:u.length}}deleteKeysFromBackup(e,t,r){if(!this.crypto)throw new Error("End-to-end encryption disabled");const i=this.makeKeyBackupPath(e,t,r);return this.http.authedRequest(void 0,M.Method.Delete,i.path,i.queryData,void 0,{prefix:M.PREFIX_UNSTABLE})}async sendSharedHistoryKeys(e,t){if(!this.crypto)throw new Error("End-to-end encryption disabled");const r=this.roomList.getRoomEncryption(e);if(!r){se.logger.error("Unknown room. Not sharing decryption keys");return}const i=await this.crypto.downloadKeys(t),s={};for(const[c,l]of Object.entries(i))s[c]=Object.values(l);const o=this.crypto.getRoomDecryptor(e,r.algorithm);o.sendSharedHistoryInboundSessions?await o.sendSharedHistoryInboundSessions(s):se.logger.warn("Algorithm does not support sharing previous keys",r.algorithm)}getGroup(e){return this.store.getGroup(e)}getGroups(){return this.store.getGroups()}getMediaConfig(e){return this.http.authedRequest(e,M.Method.Get,"/config",void 0,void 0,{prefix:M.PREFIX_MEDIA_R0})}getRoom(e){return this.store.getRoom(e)}getRooms(){return this.store.getRooms()}getVisibleRooms(){const e=this.store.getRooms(),t=new Set;for(const r of e){const i=r.currentState.getStateEvents(ue.EventType.RoomCreate,"");if(i){const s=i.getContent().predecessor;s&&s.room_id&&t.add(s.room_id)}}return e.filter(r=>!(r.currentState.getStateEvents(ue.EventType.RoomTombstone,"")&&t.has(r.roomId)))}getUser(e){return this.store.getUser(e)}getUsers(){return this.store.getUsers()}setAccountData(e,t,r){const i=x.encodeUri("/user/$userId/account_data/$type",{$userId:this.credentials.userId,$type:e}),s=(0,M.retryNetworkOperation)(5,()=>this.http.authedRequest(void 0,M.Method.Put,i,void 0,t));return r&&s.then(o=>r(null,o),r),s}getAccountData(e){return this.store.getAccountData(e)}async getAccountDataFromServer(e){if(this.isInitialSyncComplete()){const r=this.store.getAccountData(e);return r?r.getContent():null}const t=x.encodeUri("/user/$userId/account_data/$type",{$userId:this.credentials.userId,$type:e});try{return await this.http.authedRequest(void 0,M.Method.Get,t,void 0)}catch(r){if(r.data&&r.data.errcode==="M_NOT_FOUND")return null;throw r}}getIgnoredUsers(){const e=this.getAccountData("m.ignored_user_list");return!e||!e.getContent()||!e.getContent().ignored_users?[]:Object.keys(e.getContent().ignored_users)}setIgnoredUsers(e,t){const r={ignored_users:{}};return e.map(i=>r.ignored_users[i]={}),this.setAccountData("m.ignored_user_list",r,t)}isUserIgnored(e){return this.getIgnoredUsers().includes(e)}async joinRoom(e,t,r){if(x.isFunction(t))throw new Error("Expected 'opts' object, got function.");t=t||{},t.syncRoom===void 0&&(t.syncRoom=!0);const i=this.getRoom(e);if(i&&i.hasMembershipState(this.credentials.userId,"join"))return Promise.resolve(i);let s=Promise.resolve();t.inviteSignUrl&&(s=this.http.requestOtherUrl(void 0,M.Method.Post,t.inviteSignUrl,{mxid:this.credentials.userId}));const o={};t.viaServers&&(o.server_name=t.viaServers);const c={qsStringifyOptions:{arrayFormat:"repeat"}};try{const l={},u=await s;u&&(l.third_party_signed=u);const a=x.encodeUri("/join/$roomid",{$roomid:e}),m=(await this.http.authedRequest(void 0,M.Method.Post,a,o,l,c)).room_id,E=new zs.SyncApi(this,this.clientOpts).createRoom(m);return t.syncRoom,r==null||r(null,E),E}catch(l){throw r==null||r(l),l}}resendEvent(e,t){return this.updatePendingEventStatus(t,e,rt.EventStatus.SENDING),this.encryptAndSendEvent(t,e)}cancelPendingEvent(e){if(![rt.EventStatus.QUEUED,rt.EventStatus.NOT_SENT,rt.EventStatus.ENCRYPTING].includes(e.status))throw new Error("cannot cancel an event with status "+e.status);e.status===rt.EventStatus.ENCRYPTING?this.pendingEventEncryption.delete(e.getId()):this.scheduler&&e.status===rt.EventStatus.QUEUED&&this.scheduler.removeEventFromQueue(e);const t=this.getRoom(e.getRoomId());this.updatePendingEventStatus(t,e,rt.EventStatus.CANCELLED)}setRoomName(e,t,r){return this.sendStateEvent(e,ue.EventType.RoomName,{name:t},void 0,r)}setRoomTopic(e,t,r){return this.sendStateEvent(e,ue.EventType.RoomTopic,{topic:t},void 0,r)}getRoomTags(e,t){const r=x.encodeUri("/user/$userId/rooms/$roomId/tags/",{$userId:this.credentials.userId,$roomId:e});return this.http.authedRequest(t,M.Method.Get,r,void 0)}setRoomTag(e,t,r,i){const s=x.encodeUri("/user/$userId/rooms/$roomId/tags/$tag",{$userId:this.credentials.userId,$roomId:e,$tag:t});return this.http.authedRequest(i,M.Method.Put,s,void 0,r)}deleteRoomTag(e,t,r){const i=x.encodeUri("/user/$userId/rooms/$roomId/tags/$tag",{$userId:this.credentials.userId,$roomId:e,$tag:t});return this.http.authedRequest(r,M.Method.Delete,i,void 0,void 0)}setRoomAccountData(e,t,r,i){const s=x.encodeUri("/user/$userId/rooms/$roomId/account_data/$type",{$userId:this.credentials.userId,$roomId:e,$type:t});return this.http.authedRequest(i,M.Method.Put,s,void 0,r)}setPowerLevel(e,t,r,i,s){let o={users:{}};(i==null?void 0:i.getType())===ue.EventType.RoomPowerLevels&&(o=x.deepCopy(i.getContent())),o.users[t]=r;const c=x.encodeUri("/rooms/$roomId/state/m.room.power_levels",{$roomId:e});return this.http.authedRequest(s,M.Method.Put,c,void 0,o)}async unstable_createLiveBeacon(e,t,r){const i=this.getUserId(),s=ZM.M_BEACON_INFO_VARIABLE.name.replace("*",`${i}.${r}`);return this.unstable_setLiveBeacon(e,s,t)}async unstable_setLiveBeacon(e,t,r){const i=this.getUserId();return this.sendStateEvent(e,t,r,i)}sendEvent(e,t,r,i,s,o){var c,l;if(!((c=t)!==null&&c!==void 0&&c.startsWith(dn))&&t!==null&&(o=s,s=i,i=r,r=t,t=null),t&&!((l=i["m.relates_to"])!==null&&l!==void 0&&l.rel_type)){var u;i["m.relates_to"]=Kc(Kc({},i["m.relates_to"]),{},{rel_type:Bc.THREAD_RELATION_TYPE.name,event_id:t});const g=(u=this.getRoom(e))===null||u===void 0?void 0:u.threads.get(t);if(g){var a;i["m.relates_to"]["m.in_reply_to"]={event_id:(a=g.lastReply(m=>m.isRelation(Bc.THREAD_RELATION_TYPE.name)&&!m.status))===null||a===void 0?void 0:a.getId()}}}return this.sendCompleteEvent(e,t,{type:r,content:i},s,o)}sendCompleteEvent(e,t,r,i,s){x.isFunction(i)&&(s=i,i=void 0),i||(i=this.makeTxnId());const o=new rt.MatrixEvent(Object.assign(r,{event_id:"~"+e+":"+i,user_id:this.credentials.userId,sender:this.credentials.userId,room_id:e,origin_server_ts:new Date().getTime()})),c=this.getRoom(e),l=c==null?void 0:c.threads.get(t);l&&(o.setThread(l),o.setThreadId(l.id));const u=o.getAssociatedId();if(u!=null&&u.startsWith("~")){const g=c.getPendingEvents().find(m=>m.getId()===u);g.once(rt.MatrixEventEvent.LocalEventIdReplaced,()=>{o.updateAssociatedId(g.getId())})}const a=o.getType();return se.logger.log(`sendEvent of type ${a} in ${e} with txnId ${i}`),o.setTxnId(i),o.setStatus(rt.EventStatus.SENDING),c&&c.addPendingEvent(o,i),o.status===rt.EventStatus.NOT_SENT?Promise.reject(new Error("Event blocked by other events not yet sent")):this.encryptAndSendEvent(c,o,s)}encryptAndSendEvent(e,t,r){let i=!1;return Promise.resolve().then(()=>{const s=this.encryptEventIfNeeded(t,e);return s?(this.pendingEventEncryption.set(t.getId(),s),this.updatePendingEventStatus(e,t,rt.EventStatus.ENCRYPTING),s.then(()=>{if(!this.pendingEventEncryption.has(t.getId())){i=!0;return}this.updatePendingEventStatus(e,t,rt.EventStatus.SENDING)})):null}).then(()=>{if(i)return{};let s;return this.scheduler&&(s=this.scheduler.queueEvent(t),s&&this.scheduler.getQueueForEvent(t).length>1&&this.updatePendingEventStatus(e,t,rt.EventStatus.QUEUED)),s||(s=this.sendEventHttpRequest(t),e&&(s=s.then(o=>(e.updatePendingEvent(t,rt.EventStatus.SENT,o.event_id),o)))),s}).then(s=>(r==null||r(null,s),s)).catch(s=>{se.logger.error("Error sending event",s.stack||s);try{t.error=s,this.updatePendingEventStatus(e,t,rt.EventStatus.NOT_SENT),s.event=t,r==null||r(s)}catch(o){se.logger.error("Exception in error handler!",o.stack||s)}throw s})}encryptEventIfNeeded(e,t){if(e.isEncrypted()||e.isRedaction()||!this.isRoomEncrypted(e.getRoomId())||!this.crypto&&this.usingExternalCrypto||e.getType()===ue.EventType.Reaction)return null;if(!this.crypto)throw new Error("This room is configured to use encryption, but your client does not support encryption.");return this.crypto.encryptEvent(e,t)}getEncryptedIfNeededEventType(e,t){return t===ue.EventType.Reaction?t:this.isRoomEncrypted(e)?ue.EventType.RoomMessageEncrypted:t}updatePendingEventStatus(e,t,r){e?e.updatePendingEvent(t,r):t.setStatus(r)}sendEventHttpRequest(e){let t=e.getTxnId();t||(t=this.makeTxnId(),e.setTxnId(t));const r={$roomId:e.getRoomId(),$eventType:e.getWireType(),$stateKey:e.getStateKey(),$txnId:t};let i;if(e.isState()){let s="/rooms/$roomId/state/$eventType";e.getStateKey()&&e.getStateKey().length>0&&(s="/rooms/$roomId/state/$eventType/$stateKey"),i=x.encodeUri(s,r)}else if(e.isRedaction()){const s="/rooms/$roomId/redact/$redactsEventId/$txnId";i=x.encodeUri(s,Object.assign({$redactsEventId:e.event.redacts},r))}else i=x.encodeUri("/rooms/$roomId/send/$eventType/$txnId",r);return this.http.authedRequest(void 0,M.Method.Put,i,void 0,e.getWireContent()).then(s=>(se.logger.log(`Event sent to ${e.getRoomId()} with event id ${s.event_id}`),s))}redactEvent(e,t,r,i,s){var o;(o=r)!==null&&o!==void 0&&o.startsWith(dn)||(s=i,i=r,r=t,t=null);const l=(typeof s=="object"?s:{}).reason,u=typeof s=="function"?s:void 0;return this.sendCompleteEvent(e,t,{type:ue.EventType.RoomRedaction,content:{reason:l},redacts:r},i,u)}sendMessage(e,t,r,i,s){typeof t!="string"&&t!==null&&(s=i,i=r,r=t,t=null),x.isFunction(i)&&(s=i,i=void 0);let o=ue.EventType.RoomMessage,c=r;const l=(a={},g=!0)=>{let m=null;if(a.msgtype===ue.MsgType.Text?m=ad.MessageEvent.from(a.body,a.formatted_body).serialize():a.msgtype===ue.MsgType.Emote?m=ad.EmoteEvent.from(a.body,a.formatted_body).serialize():a.msgtype===ue.MsgType.Notice&&(m=ad.NoticeEvent.from(a.body,a.formatted_body).serialize()),m&&a["m.new_content"]&&g){const p=l(a["m.new_content"],!1);p&&(m.content["m.new_content"]=p.content)}if(m)for(const[p,E]of Object.entries(a))m.content.hasOwnProperty(p)||(m.content[p]=E);return m},u=l(c);return u&&(o=u.type,c=u.content),this.sendEvent(e,t,o,c,i,s)}sendTextMessage(e,t,r,i,s){var o;!((o=t)!==null&&o!==void 0&&o.startsWith(dn))&&t!==null&&(s=i,i=r,r=t,t=null);const c=Xs.makeTextMessage(r);return this.sendMessage(e,t,c,i,s)}sendNotice(e,t,r,i,s){var o;!((o=t)!==null&&o!==void 0&&o.startsWith(dn))&&t!==null&&(s=i,i=r,r=t,t=null);const c=Xs.makeNotice(r);return this.sendMessage(e,t,c,i,s)}sendEmoteMessage(e,t,r,i,s){var o;!((o=t)!==null&&o!==void 0&&o.startsWith(dn))&&t!==null&&(s=i,i=r,r=t,t=null);const c=Xs.makeEmoteMessage(r);return this.sendMessage(e,t,c,i,s)}sendImageMessage(e,t,r,i,s="Image",o){var c;!((c=t)!==null&&c!==void 0&&c.startsWith(dn))&&t!==null&&(o=s,s=i||"Image",i=r,r=t,t=null),x.isFunction(s)&&(o=s,s=void 0);const l={msgtype:ue.MsgType.Image,url:r,info:i,body:s};return this.sendMessage(e,t,l,void 0,o)}sendStickerMessage(e,t,r,i,s="Sticker",o){var c;!((c=t)!==null&&c!==void 0&&c.startsWith(dn))&&t!==null&&(o=s,s=i||"Sticker",i=r,r=t,t=null),x.isFunction(s)&&(o=s,s=void 0);const l={url:r,info:i,body:s};return this.sendEvent(e,t,ue.EventType.Sticker,l,void 0,o)}sendHtmlMessage(e,t,r,i,s){var o;!((o=t)!==null&&o!==void 0&&o.startsWith(dn))&&t!==null&&(s=i,i=r,r=t,t=null);const c=Xs.makeHtmlMessage(r,i);return this.sendMessage(e,t,c,void 0,s)}sendHtmlNotice(e,t,r,i,s){var o;!((o=t)!==null&&o!==void 0&&o.startsWith(dn))&&t!==null&&(s=i,i=r,r=t,t=null);const c=Xs.makeHtmlNotice(r,i);return this.sendMessage(e,t,c,void 0,s)}sendHtmlEmote(e,t,r,i,s){var o;!((o=t)!==null&&o!==void 0&&o.startsWith(dn))&&t!==null&&(s=i,i=r,r=t,t=null);const c=Xs.makeHtmlEmote(r,i);return this.sendMessage(e,t,c,void 0,s)}sendReceipt(e,t,r,i){if(typeof r=="function"&&(i=r,r={}),this.isGuest())return Promise.resolve({});const s=x.encodeUri("/rooms/$roomId/receipt/$receiptType/$eventId",{$roomId:e.getRoomId(),$receiptType:t,$eventId:e.getId()}),o=this.http.authedRequest(i,M.Method.Post,s,void 0,r||{}),c=this.getRoom(e.getRoomId());return c&&c.addLocalEchoReceipt(this.credentials.userId,e,t),o}async sendReadReceipt(e,t,r){typeof t=="function"&&(r=t,t={}),t||(t={});const i=e.getId(),s=this.getRoom(e.getRoomId());if(s&&s.hasPendingEvent(i))throw new Error(`Cannot set read receipt to a pending event (${i})`);const o={"org.matrix.msc2285.hidden":Boolean(t.hidden)};return this.sendReceipt(e,"m.read",o,r)}async setRoomReadMarkers(e,t,r,i){const s=this.getRoom(e);if(s&&s.hasPendingEvent(t))throw new Error(`Cannot set read marker to a pending event (${t})`);let o;if(r){if(o=r.getId(),s&&s.hasPendingEvent(o))throw new Error(`Cannot set read receipt to a pending event (${o})`);s&&s.addLocalEchoReceipt(this.credentials.userId,r,"m.read")}return this.setRoomReadMarkersHttpRequest(e,t,o,i)}getUrlPreview(e,t,r){t=Math.floor(t/6e4)*6e4;const i=new URL(e);i.hash="",e=i.toString();const s=t+"_"+e,o=this.urlPreviewCache[s];if(o)return r&&o.then(r).catch(r),o;const c=this.http.authedRequest(r,M.Method.Get,"/preview_url",{url:e,ts:t.toString()},void 0,{prefix:M.PREFIX_MEDIA_R0});return this.urlPreviewCache[s]=c,c}sendTyping(e,t,r,i){if(this.isGuest())return Promise.resolve({});const s=x.encodeUri("/rooms/$roomId/typing/$userId",{$roomId:e,$userId:this.credentials.userId}),o={typing:t};return t&&(o.timeout=r||2e4),this.http.authedRequest(i,M.Method.Put,s,void 0,o)}getRoomUpgradeHistory(e,t=!1){let r=this.getRoom(e);if(!r)return[];const i=[r];let s=r.currentState.getStateEvents(ue.EventType.RoomCreate,"");for(;s;){const c=s.getContent().predecessor;if(c&&c.room_id){const l=this.getRoom(c.room_id);if(!l)break;if(t){const u=l.currentState.getStateEvents(ue.EventType.RoomTombstone,"");if(!u||u.getContent().replacement_room!==l.roomId)break}i.splice(0,0,l),s=l.currentState.getStateEvents(ue.EventType.RoomCreate,"")}else break}let o=r.currentState.getStateEvents(ue.EventType.RoomTombstone,"");for(;o;){const c=this.getRoom(o.getContent().replacement_room);if(!c||c.roomId===r.roomId||t&&(s=c.currentState.getStateEvents(ue.EventType.RoomCreate,""),!s||!s.getContent().predecessor||s.getContent().predecessor.room_id!==r.roomId))break;if(i.push(c),new Set(i.map(u=>u.roomId)).size<i.length)return i.slice(0,i.length-1);r=c,o=r.currentState.getStateEvents(ue.EventType.RoomTombstone,"")}return i}invite(e,t,r,i){return this.membershipChange(e,t,"invite",i,r)}inviteByEmail(e,t,r){return this.inviteByThreePid(e,"email",t,r)}async inviteByThreePid(e,t,r,i){const s=x.encodeUri("/rooms/$roomId/invite",{$roomId:e}),o=this.getIdentityServerUrl(!0);if(!o)return Promise.reject(new M.MatrixError({error:"No supplied identity server URL",errcode:"ORG.MATRIX.JSSDK_MISSING_PARAM"}));const c={id_server:o,medium:t,address:r};if(this.identityServer&&this.identityServer.getAccessToken&&await this.doesServerAcceptIdentityAccessToken()){const l=await this.identityServer.getAccessToken();l&&(c.id_access_token=l)}return this.http.authedRequest(i,M.Method.Post,s,void 0,c)}leave(e,t){return this.membershipChange(e,void 0,"leave",void 0,t)}leaveRoomChain(e,t=!0){const r=this.getRoomUpgradeHistory(e);let i=r;if(!t){i=[];for(const l of r)if(i.push(l),l.roomId===e)break}const s={},o=[],c=l=>this.leave(l).then(()=>{s[l]=null}).catch(u=>(s[l]=u,null));for(const l of i)o.push(c(l.roomId));return Promise.all(o).then(()=>s)}ban(e,t,r,i){return this.membershipChange(e,t,"ban",r,i)}forget(e,t,r){t===void 0&&(t=!0);const i=this.membershipChange(e,void 0,"forget",void 0,r);return t?i.then(s=>(this.store.removeRoom(e),this.emit(ss.DeleteRoom,e),s)):i}unban(e,t,r){const i=x.encodeUri("/rooms/$roomId/unban",{$roomId:e}),s={user_id:t};return this.http.authedRequest(r,M.Method.Post,i,void 0,s)}kick(e,t,r,i){const s=x.encodeUri("/rooms/$roomId/kick",{$roomId:e}),o={user_id:t,reason:r};return this.http.authedRequest(i,M.Method.Post,s,void 0,o)}membershipChange(e,t,r,i,s){x.isFunction(i)&&(s=i,i=void 0);const o=x.encodeUri("/rooms/$room_id/$membership",{$room_id:e,$membership:r});return this.http.authedRequest(s,M.Method.Post,o,void 0,{user_id:t,reason:i})}getPushActionsForEvent(e,t=!1){return(!e.getPushActions()||t)&&e.setPushActions(this.pushProcessor.actionsForEvent(e)),e.getPushActions()}setProfileInfo(e,t,r){const i=x.encodeUri("/profile/$userId/$info",{$userId:this.credentials.userId,$info:e});return this.http.authedRequest(r,M.Method.Put,i,void 0,t)}async setDisplayName(e,t){const r=await this.setProfileInfo("displayname",{displayname:e},t),i=this.getUser(this.getUserId());return i&&(i.displayName=e,i.emit(dd.UserEvent.DisplayName,i.events.presence,i)),r}async setAvatarUrl(e,t){const r=await this.setProfileInfo("avatar_url",{avatar_url:e},t),i=this.getUser(this.getUserId());return i&&(i.avatarUrl=e,i.emit(dd.UserEvent.AvatarUrl,i.events.presence,i)),r}mxcUrlToHttp(e,t,r,i,s){return(0,jM.getHttpUriForMxc)(this.baseUrl,e,t,r,i,s)}_unstable_setStatusMessage(e){const t="im.vector.user_status";return Promise.all(this.getRooms().map(async r=>{const i=r.getMyMembership()==="join",s=r.getInvitedAndJoinedMemberCount()===2;!i||!s||!r.currentState.mayClientSendStateEvent(t,this)||await this.sendStateEvent(r.roomId,t,{status:e},this.getUserId())})).then()}setPresence(e,t){const r=x.encodeUri("/presence/$userId/status",{$userId:this.credentials.userId});if(typeof e=="string"&&(e={presence:e}),["offline","online","unavailable"].indexOf(e.presence)===-1)throw new Error("Bad presence value: "+e.presence);return this.http.authedRequest(t,M.Method.Put,r,void 0,e)}getPresence(e,t){const r=x.encodeUri("/presence/$userId/status",{$userId:e});return this.http.authedRequest(t,M.Method.Get,r,void 0,void 0)}scrollback(e,t=30,r){x.isFunction(t)&&(r=t,t=void 0);let i=0,s=this.ongoingScrollbacks[e.roomId]||{};if(s.promise)return s.promise;if(s.errorTs){const l=Date.now()-s.errorTs;i=Math.max(eA-l,0)}if(e.oldState.paginationToken===null)return Promise.resolve(e);const o=this.store.scrollback(e,t).length;if(o===t)return Promise.resolve(e);t=t-o;const c=new Promise((l,u)=>{(0,x.sleep)(i).then(()=>this.createMessagesRequest(e.roomId,e.oldState.paginationToken,t,ua.Direction.Backward)).then(async a=>{var g;const m=a.chunk.map(this.getEventMapper());if(a.state){const I=a.state.map(this.getEventMapper());e.currentState.setUnknownStateEvents(I)}const[p,E]=this.partitionThreadedEvents(m);e.addEventsToTimeline(p,!0,e.getLiveTimeline()),await this.processThreadEvents(e,E,!0),e.oldState.paginationToken=a.end,a.chunk.length===0&&(e.oldState.paginationToken=null),this.store.storeEvents(e,m,a.end,!0),this.ongoingScrollbacks[e.roomId]=null,(g=r)===null||g===void 0||g(null,e),l(e)}).catch(a=>{var g;this.ongoingScrollbacks[e.roomId]={errorTs:Date.now()},(g=r)===null||g===void 0||g(a),u(a)})});return s={promise:c,errorTs:null},this.ongoingScrollbacks[e.roomId]=s,c}getEventMapper(e){return(0,YM.eventMapperFor)(this,e||{})}getEventTimeline(e,t){if(!this.timelineSupport)throw new Error("timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.");if(e.getTimelineForEvent(t))return Promise.resolve(e.getTimelineForEvent(t));const r=x.encodeUri("/rooms/$roomId/context/$eventId",{$roomId:e.room.roomId,$eventId:t});let i;return this.clientOpts.lazyLoadMembers&&(i={filter:JSON.stringify(Nc.Filter.LAZY_LOADING_MESSAGES_FILTER)}),this.http.authedRequest(void 0,M.Method.Get,r,i).then(async o=>{if(!o.event)throw new Error("'event' not in '/context' result - homeserver too old?");if(e.getTimelineForEvent(t))return e.getTimelineForEvent(t);o.events_after.reverse();const l=o.events_after.concat([o.event]).concat(o.events_before).map(this.getEventMapper());let u=e.getTimelineForEvent(l[0].getId());if(!u)u=e.addTimeline(),u.initialiseState(o.state.map(this.getEventMapper())),u.getState(ua.EventTimeline.FORWARDS).paginationToken=o.end;else{const m=o.state.map(this.getEventMapper());u.getState(ua.EventTimeline.BACKWARDS).setUnknownStateEvents(m)}const[a,g]=this.partitionThreadedEvents(l);return e.addEventsToTimeline(a,!0,u,o.start),await this.processThreadEvents(e.room,g,!0),e.getTimelineForEvent(t)||u})}createMessagesRequest(e,t,r=30,i,s){const o=x.encodeUri("/rooms/$roomId/messages",{$roomId:e}),c={limit:r.toString(),dir:i};t&&(c.from=t);let l=null;if(this.clientOpts.lazyLoadMembers&&(l=Object.assign({},Nc.Filter.LAZY_LOADING_MESSAGES_FILTER)),s){var u;l=l||{},Object.assign(l,(u=s.getRoomTimelineFilterComponent())===null||u===void 0?void 0:u.toJSON())}return l&&(c.filter=JSON.stringify(l)),this.http.authedRequest(void 0,M.Method.Get,o,c)}paginateEventTimeline(e,t){const r=e.getTimelineSet()===this.notifTimelineSet;t=t||{};const i=t.backwards||!1;if(r&&!i)throw new Error("paginateNotifTimeline can only paginate backwards");const s=i?ua.EventTimeline.BACKWARDS:ua.EventTimeline.FORWARDS,o=e.getPaginationToken(s),c=e.paginationRequests[s];if(c)return c;let l,u,a;if(r){var g;l="/notifications",u={limit:((g=t.limit)!==null&&g!==void 0?g:30).toString(),only:"highlight"},o!=="end"&&(u.from=o),a=this.http.authedRequest(void 0,M.Method.Get,l,u,void 0).then(async m=>{const p=m.next_token,E=[];for(let P=0;P<m.notifications.length;P++){const S=m.notifications[P],T=this.getEventMapper()(S.event);T.setPushActions(cd.PushProcessor.actionListToActionsObject(S.actions)),T.event.room_id=S.room_id,E[P]=T}const[I,w]=this.partitionThreadedEvents(E),k=e.getTimelineSet();return k.addEventsToTimeline(I,i,e,p),await this.processThreadEvents(k.room,w,i),i&&!m.next_token&&e.setPaginationToken(null,s),!!m.next_token}).finally(()=>{e.paginationRequests[s]=null}),e.paginationRequests[s]=a}else{const m=this.getRoom(e.getRoomId());if(!m)throw new Error("Unknown room "+e.getRoomId());a=this.createMessagesRequest(e.getRoomId(),o,t.limit,s,e.getFilter()).then(async p=>{if(p.state){const P=e.getState(s),S=p.state.map(this.getEventMapper());P.setUnknownStateEvents(S)}const E=p.end,I=p.chunk.map(this.getEventMapper()),[w,k]=this.partitionThreadedEvents(I);return e.getTimelineSet().addEventsToTimeline(w,i,e,E),await this.processThreadEvents(m,k,i),i&&p.end==p.start&&e.setPaginationToken(null,s),p.end!=p.start}).finally(()=>{e.paginationRequests[s]=null}),e.paginationRequests[s]=a}return a}resetNotifTimelineSet(){!this.notifTimelineSet||this.notifTimelineSet.resetLiveTimeline("end",null)}peekInRoom(e){return this.peekSync&&this.peekSync.stopPeeking(),this.peekSync=new zs.SyncApi(this,this.clientOpts),this.peekSync.peek(e)}stopPeeking(){this.peekSync&&(this.peekSync.stopPeeking(),this.peekSync=null)}setGuestAccess(e,t){const r=this.sendStateEvent(e,ue.EventType.RoomGuestAccess,{guest_access:t.allowJoin?"can_join":"forbidden"},"");let i=Promise.resolve(void 0);return t.allowRead&&(i=this.sendStateEvent(e,ue.EventType.RoomHistoryVisibility,{history_visibility:"world_readable"},"")),Promise.all([i,r]).then()}requestRegisterEmailToken(e,t,r,i){return this.requestTokenFromEndpoint("/register/email/requestToken",{email:e,client_secret:t,send_attempt:r,next_link:i})}requestRegisterMsisdnToken(e,t,r,i,s){return this.requestTokenFromEndpoint("/register/msisdn/requestToken",{country:e,phone_number:t,client_secret:r,send_attempt:i,next_link:s})}requestAdd3pidEmailToken(e,t,r,i){return this.requestTokenFromEndpoint("/account/3pid/email/requestToken",{email:e,client_secret:t,send_attempt:r,next_link:i})}requestAdd3pidMsisdnToken(e,t,r,i,s){return this.requestTokenFromEndpoint("/account/3pid/msisdn/requestToken",{country:e,phone_number:t,client_secret:r,send_attempt:i,next_link:s})}requestPasswordEmailToken(e,t,r,i){return this.requestTokenFromEndpoint("/account/password/email/requestToken",{email:e,client_secret:t,send_attempt:r,next_link:i})}requestPasswordMsisdnToken(e,t,r,i,s){return this.requestTokenFromEndpoint("/account/password/msisdn/requestToken",{country:e,phone_number:t,client_secret:r,send_attempt:i,next_link:s})}async requestTokenFromEndpoint(e,t){const r=Object.assign({},t);if(!await this.doesServerSupportSeparateAddAndBind()&&this.idBaseUrl){const i=new URL(this.idBaseUrl);if(r.id_server=i.host,this.identityServer&&this.identityServer.getAccessToken&&await this.doesServerAcceptIdentityAccessToken()){const s=await this.identityServer.getAccessToken();s&&(r.id_access_token=s)}}return this.http.request(void 0,M.Method.Post,e,void 0,r)}getRoomPushRule(e,t){if(this.pushRules)for(let r=0;r<this.pushRules[e].room.length;r++){const i=this.pushRules[e].room[r];if(i.rule_id===t)return i}else throw new Error("SyncApi.sync() must be done before accessing to push rules.")}setRoomMutePushRule(e,t,r){let i,s;const o=this.getRoomPushRule(e,t);if(o&&0<=o.actions.indexOf("dont_notify")&&(s=!0),!r)s&&(i=this.deletePushRule(e,Lc.PushRuleKind.RoomSpecific,o.rule_id));else if(!o)i=this.addPushRule(e,Lc.PushRuleKind.RoomSpecific,t,{actions:["dont_notify"]});else if(!s){const c=x.defer();this.deletePushRule(e,Lc.PushRuleKind.RoomSpecific,o.rule_id).then(()=>{this.addPushRule(e,Lc.PushRuleKind.RoomSpecific,t,{actions:["dont_notify"]}).then(()=>{c.resolve()}).catch(l=>{c.reject(l)})}).catch(l=>{c.reject(l)}),i=c.promise}if(i)return new Promise((c,l)=>{i.then(()=>{this.getPushRules().then(u=>{this.pushRules=u,c()}).catch(u=>{l(u)})}).catch(u=>{this.getPushRules().then(a=>{this.pushRules=a,l(u)}).catch(a=>{l(u)})})})}searchMessageText(e,t){const r={search_term:e.query};return"keys"in e&&(r.keys=e.keys),this.search({body:{search_categories:{room_events:r}}},t)}searchRoomEvents(e){const t={search_categories:{room_events:{search_term:e.term,filter:e.filter,order_by:JM.SearchOrderBy.Recent,event_context:{before_limit:1,after_limit:1,include_profile:!0}}}},r={_query:t,results:[],highlights:[]};return this.search({body:t}).then(i=>this.processRoomEventsSearch(r,i))}backPaginateRoomEventsSearch(e){if(!e.next_batch)return Promise.reject(new Error("Cannot backpaginate event search any further"));if(e.pendingRequest)return e.pendingRequest;const t={body:e._query,next_batch:e.next_batch},r=this.search(t).then(i=>this.processRoomEventsSearch(e,i)).finally(()=>{e.pendingRequest=null});return e.pendingRequest=r,r}processRoomEventsSearch(e,t){const r=t.search_categories.room_events;e.count=r.count,e.next_batch=r.next_batch;const i=new Set(r.highlights);e.highlights.forEach(o=>{i.add(o)}),e.highlights=Array.from(i);const s=r.results?r.results.length:0;for(let o=0;o<s;o++){const c=VM.SearchResult.fromJson(r.results[o],this.getEventMapper()),l=this.getRoom(c.context.getEvent().getRoomId());if(l)for(const u of c.context.getTimeline()){const a=l.getMember(u.getSender());!u.sender&&a&&(u.sender=a)}e.results.push(c)}return e}syncLeftRooms(){if(this.syncedLeftRooms)return Promise.resolve([]);if(this.syncLeftRoomsPromise)return this.syncLeftRoomsPromise;const e=new zs.SyncApi(this,this.clientOpts);return this.syncLeftRoomsPromise=e.syncLeftRooms(),this.syncLeftRoomsPromise.then(t=>{se.logger.log("Marking success of sync left room request"),this.syncedLeftRooms=!0}).finally(()=>{this.syncLeftRoomsPromise=null}),this.syncLeftRoomsPromise}createFilter(e){const t=x.encodeUri("/user/$userId/filter",{$userId:this.credentials.userId});return this.http.authedRequest(void 0,M.Method.Post,t,void 0,e).then(r=>{const i=Nc.Filter.fromJson(this.credentials.userId,r.filter_id,e);return this.store.storeFilter(i),i})}getFilter(e,t,r){if(r){const s=this.store.getFilter(e,t);if(s)return Promise.resolve(s)}const i=x.encodeUri("/user/$userId/filter/$filterId",{$userId:e,$filterId:t});return this.http.authedRequest(void 0,M.Method.Get,i,void 0,void 0).then(s=>{const o=Nc.Filter.fromJson(e,t,s);return this.store.storeFilter(o),o})}async getOrCreateFilter(e,t){const r=this.store.getFilterIdByName(e);let i;if(r){try{const o=await this.getFilter(this.credentials.userId,r,!0);if(o){const c=o.getDefinition(),l=t.getDefinition();x.deepCompare(c,l)&&(i=r)}}catch(o){if(o.errcode!=="M_UNKNOWN"&&o.errcode!=="M_NOT_FOUND")throw o}i||this.store.setFilterIdByName(e,void 0)}if(i)return i;const s=await this.createFilter(t.getDefinition());return this.store.setFilterIdByName(e,s.filterId),s.filterId}getOpenIdToken(){const e=x.encodeUri("/user/$userId/openid/request_token",{$userId:this.credentials.userId});return this.http.authedRequest(void 0,M.Method.Post,e,void 0,{})}turnServer(e){return this.http.authedRequest(e,M.Method.Get,"/voip/turnServer")}getTurnServers(){return this.turnServers||[]}getTurnServersExpiry(){return this.turnServersExpiry}async checkTurnServers(){if(!this.canSupportVoip)return;let e=!1;const t=this.turnServersExpiry-Date.now();if(t>pm)se.logger.debug("TURN creds are valid for another "+t+" ms: not fetching new ones."),e=!0;else{se.logger.debug("Fetching new TURN credentials");try{const r=await this.turnServer();if(r.uris){se.logger.log("Got TURN URIs: "+r.uris+" refresh in "+r.ttl+" secs");const i={urls:r.uris,username:r.username,credential:r.password};this.turnServers=[i],this.turnServersExpiry=Date.now()+r.ttl*1e3,e=!0}}catch(r){se.logger.error("Failed to get TURN URIs",r),r.httpStatus===403&&(se.logger.info("TURN access unavailable for this account: stopping credentials checks"),this.checkTurnServersIntervalID!==null&&j.clearInterval(this.checkTurnServersIntervalID),this.checkTurnServersIntervalID=null)}}return e}setFallbackICEServerAllowed(e){this.fallbackICEServerAllowed=e}isFallbackICEServerAllowed(){return this.fallbackICEServerAllowed}isSynapseAdministrator(){const e=x.encodeUri("/_synapse/admin/v1/users/$userId/admin",{$userId:this.getUserId()});return this.http.authedRequest(void 0,M.Method.Get,e,void 0,void 0,{prefix:""}).then(t=>t.admin)}whoisSynapseUser(e){const t=x.encodeUri("/_synapse/admin/v1/whois/$userId",{$userId:e});return this.http.authedRequest(void 0,M.Method.Get,t,void 0,void 0,{prefix:""})}deactivateSynapseUser(e){const t=x.encodeUri("/_synapse/admin/v1/deactivate/$userId",{$userId:e});return this.http.authedRequest(void 0,M.Method.Post,t,void 0,void 0,{prefix:""})}async fetchClientWellKnown(){this.clientWellKnownPromise=KM.AutoDiscovery.getRawClientConfig(this.getDomain()),this.clientWellKnown=await this.clientWellKnownPromise,this.emit(ss.ClientWellKnown,this.clientWellKnown)}getClientWellKnown(){return this.clientWellKnown}waitForClientWellKnown(){return this.clientWellKnownPromise}storeClientOptions(){const e=["boolean","string","number"],t=Object.entries(this.clientOpts).filter(([r,i])=>e.includes(typeof i)).reduce((r,[i,s])=>(r[i]=s,r),{});return this.store.storeClientOptions(t)}async _unstable_getSharedRooms(e){if(!await this.doesServerSupportUnstableFeature("uk.half-shot.msc2666"))throw Error("Server does not support shared_rooms API");const t=x.encodeUri("/uk.half-shot.msc2666/user/shared_rooms/$userId",{$userId:e});return(await this.http.authedRequest(void 0,M.Method.Get,t,void 0,void 0,{prefix:M.PREFIX_UNSTABLE})).joined}getVersions(){return this.serverVersionsPromise?this.serverVersionsPromise:(this.serverVersionsPromise=this.http.request(void 0,M.Method.Get,"/_matrix/client/versions",void 0,void 0,{prefix:""}).catch(e=>{throw this.serverVersionsPromise=null,e}),this.serverVersionsPromise)}async isVersionSupported(e){const{versions:t}=await this.getVersions();return t&&t.includes(e)}async doesServerSupportLazyLoading(){const e=await this.getVersions();if(!e)return!1;const t=e.versions,r=e.unstable_features;return t&&t.includes("r0.5.0")||r&&r["m.lazy_load_members"]}async doesServerRequireIdServerParam(){const e=await this.getVersions();if(!e)return!0;const t=e.versions;if(t&&t.includes("r0.6.0"))return!1;const r=e.unstable_features;return!r||r["m.require_identity_server"]===void 0?!0:r["m.require_identity_server"]}async doesServerAcceptIdentityAccessToken(){const e=await this.getVersions();if(!e)return!1;const t=e.versions,r=e.unstable_features;return t&&t.includes("r0.6.0")||r&&r["m.id_access_token"]}async doesServerSupportSeparateAddAndBind(){const e=await this.getVersions();if(!e)return!1;const t=e.versions,r=e.unstable_features;return t&&t.includes("r0.6.0")||r&&r["m.separate_add_and_bind"]}async doesServerSupportUnstableFeature(e){const t=await this.getVersions();if(!t)return!1;const r=t.unstable_features;return r&&!!r[e]}async doesServerForceEncryptionForPreset(e){const t=await this.getVersions();if(!t)return!1;const r=t.unstable_features,i=e.includes("_chat")?e.substring(0,e.indexOf("_chat")):e;return r&&!!r[`io.element.e2ee_forced.${i}`]}async doesServerSupportThread(){try{const e=await this.doesServerSupportUnstableFeature("org.matrix.msc3440"),t=await this.doesServerSupportUnstableFeature("org.matrix.msc3440.stable")||await this.isVersionSupported("v1.3");return{serverSupport:e||t,stable:t}}catch{return null}}hasLazyLoadMembersEnabled(){return!!this.clientOpts.lazyLoadMembers}setCanResetTimelineCallback(e){this.canResetTimelineCallback=e}getCanResetTimelineCallback(){return this.canResetTimelineCallback}async relations(e,t,r,i,s={}){const o=this.getEncryptedIfNeededEventType(e,i),c=await this.fetchRelations(e,t,r,o,s),l=this.getEventMapper();let u;c.original_event&&(u=l(c.original_event));let a=c.chunk.map(l);if(o===ue.EventType.RoomMessageEncrypted){const g=u?a.concat(u):a;await Promise.all(g.map(m=>this.decryptEventIfNeeded(m))),i!==null&&(a=a.filter(m=>m.getType()===i))}return u&&r===ue.RelationType.Replace&&(a=a.filter(g=>g.getSender()===u.getSender())),{originalEvent:u,events:a,nextBatch:c.next_batch,prevBatch:c.prev_batch}}getCrossSigningCacheCallbacks(){var e;return(e=this.crypto)===null||e===void 0?void 0:e.crossSigningInfo.getCacheCallbacks()}generateClientSecret(){return(0,zM.randomString)(32)}decryptEventIfNeeded(e,t){return e.shouldAttemptDecryption()&&e.attemptDecryption(this.crypto,t),e.isBeingDecrypted()?e.getDecryptionPromise():Promise.resolve()}termsUrlForService(e,t){switch(e){case um.SERVICE_TYPES.IS:return t+M.PREFIX_IDENTITY_V2+"/terms";case um.SERVICE_TYPES.IM:return t+"/_matrix/integrations/v1/terms";default:throw new Error("Unsupported service type")}}getHomeserverUrl(){return this.baseUrl}getIdentityServerUrl(e=!1){return e&&(this.idBaseUrl.startsWith("http://")||this.idBaseUrl.startsWith("https://"))?this.idBaseUrl.split("://")[1]:this.idBaseUrl}setIdentityServerUrl(e){this.idBaseUrl=x.ensureNoTrailingSlash(e),this.http.setIdBaseUrl(this.idBaseUrl)}getAccessToken(){return this.http.opts.accessToken||null}setAccessToken(e){this.http.opts.accessToken=e}isLoggedIn(){return this.http.opts.accessToken!==void 0}makeTxnId(){return"m"+new Date().getTime()+"."+this.txnCtr++}isUsernameAvailable(e){return this.http.authedRequest(void 0,M.Method.Get,"/register/available",{username:e}).then(t=>t.available).catch(t=>t.errcode==="M_USER_IN_USE"?!1:Promise.reject(t))}register(e,t,r,i,s,o,c,l){s===!0?s={email:!0}:(s==null||s===!1)&&(s={}),typeof c=="function"&&(l=c,c=void 0),r&&(i.session=r);const u={auth:i,refresh_token:!0};return e!=null&&(u.username=e),t!=null&&(u.password=t),s.email&&(u.bind_email=!0),s.msisdn&&(u.bind_msisdn=!0),o!=null&&(u.guest_access_token=o),c!=null&&(u.inhibit_login=c),t!=null&&(u.x_show_msisdn=!0),this.registerRequest(u,void 0,l)}registerGuest(e,t){return e=e||{},e.body=e.body||{},this.registerRequest(e.body,"guest",t)}registerRequest(e,t,r){const i={};return t&&(i.kind=t),this.http.request(r,M.Method.Post,"/register",i,e)}refreshToken(e){return this.http.authedRequest(void 0,M.Method.Post,"/refresh",void 0,{refresh_token:e},{prefix:M.PREFIX_V1,inhibitLogoutEmit:!0})}loginFlows(e){return this.http.request(e,M.Method.Get,"/login")}login(e,t,r){const i={type:e};return Object.assign(i,t),this.http.authedRequest((s,o)=>{o&&o.access_token&&o.user_id&&(this.http.opts.accessToken=o.access_token,this.credentials={userId:o.user_id}),r&&r(s,o)},M.Method.Post,"/login",void 0,i)}loginWithPassword(e,t,r){return this.login("m.login.password",{user:e,password:t},r)}loginWithSAML2(e,t){return this.login("m.login.saml2",{relay_state:e},t)}getCasLoginUrl(e){return this.getSsoLoginUrl(e,"cas")}getSsoLoginUrl(e,t="sso",r){let i="/login/"+t+"/redirect";return r&&(i+="/"+r),this.http.getUrl(i,{redirectUrl:e},M.PREFIX_R0)}loginWithToken(e,t){return this.login("m.login.token",{token:e},t)}async logout(e){var t,r;if((t=this.crypto)!==null&&t!==void 0&&(r=t.backupManager)!==null&&r!==void 0&&r.getKeyBackupEnabled())try{for(;await this.crypto.backupManager.backupPendingKeys(200)>0;);}catch(i){se.logger.error("Key backup request failed when logging out. Some keys may be missing from backup",i)}return this.http.authedRequest(e,M.Method.Post,"/logout")}deactivateAccount(e,t){if(typeof t=="function")throw new Error("deactivateAccount no longer accepts a callback parameter");const r={};return e&&(r.auth=e),t!==void 0&&(r.erase=t),this.http.authedRequest(void 0,M.Method.Post,"/account/deactivate",void 0,r)}getFallbackAuthUrl(e,t){const r=x.encodeUri("/auth/$loginType/fallback/web",{$loginType:e});return this.http.getUrl(r,{session:t},M.PREFIX_R0)}async createRoom(e,t){const r=(e.invite_3pid||[]).filter(i=>!i.id_access_token);if(r.length>0&&this.identityServer&&this.identityServer.getAccessToken&&await this.doesServerAcceptIdentityAccessToken()){const i=await this.identityServer.getAccessToken();if(i)for(const s of r)s.id_access_token=i}return this.http.authedRequest(t,M.Method.Post,"/createRoom",void 0,e)}async fetchRelations(e,t,r,i,s={}){const o=x.encodeParams(s);let c="/rooms/$roomId/relations/$eventId";r!==null?(c+="/$relationType",i!==null&&(c+="/$eventType")):i!==null&&(se.logger.warn(`eventType: ${i} ignored when fetching + relations as relationType is null`),i=null);const l=x.encodeUri(c+"?"+o,{$roomId:e,$eventId:t,$relationType:r,$eventType:i});return await this.http.authedRequest(void 0,M.Method.Get,l,null,null,{prefix:M.PREFIX_UNSTABLE})}roomState(e,t){const r=x.encodeUri("/rooms/$roomId/state",{$roomId:e});return this.http.authedRequest(t,M.Method.Get,r)}fetchRoomEvent(e,t,r){const i=x.encodeUri("/rooms/$roomId/event/$eventId",{$roomId:e,$eventId:t});return this.http.authedRequest(r,M.Method.Get,i)}members(e,t,r,i,s){const o={};t&&(o.membership=t),r&&(o.not_membership=r),i&&(o.at=i);const c=x.encodeParams(o),l=x.encodeUri("/rooms/$roomId/members?"+c,{$roomId:e});return this.http.authedRequest(s,M.Method.Get,l)}upgradeRoom(e,t){const r=x.encodeUri("/rooms/$roomId/upgrade",{$roomId:e});return this.http.authedRequest(void 0,M.Method.Post,r,void 0,{new_version:t})}getStateEvent(e,t,r,i){const s={$roomId:e,$eventType:t,$stateKey:r};let o=x.encodeUri("/rooms/$roomId/state/$eventType",s);return r!==void 0&&(o=x.encodeUri(o+"/$stateKey",s)),this.http.authedRequest(i,M.Method.Get,o)}sendStateEvent(e,t,r,i="",s){const o={$roomId:e,$eventType:t,$stateKey:i};let c=x.encodeUri("/rooms/$roomId/state/$eventType",o);return i!==void 0&&(c=x.encodeUri(c+"/$stateKey",o)),this.http.authedRequest(s,M.Method.Put,c,void 0,r)}roomInitialSync(e,t,r){var i,s;x.isFunction(t)&&(r=t,t=void 0);const o=x.encodeUri("/rooms/$roomId/initialSync",{$roomId:e});return this.http.authedRequest(r,M.Method.Get,o,{limit:(i=(s=t)===null||s===void 0?void 0:s.toString())!==null&&i!==void 0?i:"30"})}setRoomReadMarkersHttpRequest(e,t,r,i){const s=x.encodeUri("/rooms/$roomId/read_markers",{$roomId:e}),o={"m.fully_read":t,"m.read":r,"org.matrix.msc2285.hidden":Boolean(i?i.hidden:!1)};return this.http.authedRequest(void 0,M.Method.Post,s,void 0,o)}getJoinedRooms(){const e=x.encodeUri("/joined_rooms",{});return this.http.authedRequest(void 0,M.Method.Get,e)}getJoinedRoomMembers(e){const t=x.encodeUri("/rooms/$roomId/joined_members",{$roomId:e});return this.http.authedRequest(void 0,M.Method.Get,t)}publicRooms(e,t){typeof e=="function"&&(t=e,e={}),e===void 0&&(e={});const r={};return e.server&&(r.server=e.server,delete e.server),Object.keys(e).length===0&&Object.keys(r).length===0?this.http.authedRequest(t,M.Method.Get,"/publicRooms"):this.http.authedRequest(t,M.Method.Post,"/publicRooms",r,e)}createAlias(e,t,r){const i=x.encodeUri("/directory/room/$alias",{$alias:e}),s={room_id:t};return this.http.authedRequest(r,M.Method.Put,i,void 0,s)}deleteAlias(e,t){const r=x.encodeUri("/directory/room/$alias",{$alias:e});return this.http.authedRequest(t,M.Method.Delete,r,void 0,void 0)}unstableGetLocalAliases(e,t){const r=x.encodeUri("/rooms/$roomId/aliases",{$roomId:e}),i=M.PREFIX_UNSTABLE+"/org.matrix.msc2432";return this.http.authedRequest(t,M.Method.Get,r,null,null,{prefix:i})}getRoomIdForAlias(e,t){const r=x.encodeUri("/directory/room/$alias",{$alias:e});return this.http.authedRequest(t,M.Method.Get,r)}resolveRoomAlias(e,t){const r=x.encodeUri("/directory/room/$alias",{$alias:e});return this.http.request(t,M.Method.Get,r)}getRoomDirectoryVisibility(e,t){const r=x.encodeUri("/directory/list/room/$roomId",{$roomId:e});return this.http.authedRequest(t,M.Method.Get,r)}setRoomDirectoryVisibility(e,t,r){const i=x.encodeUri("/directory/list/room/$roomId",{$roomId:e});return this.http.authedRequest(r,M.Method.Put,i,void 0,{visibility:t})}setRoomDirectoryVisibilityAppService(e,t,r,i){const s=x.encodeUri("/directory/list/appservice/$networkId/$roomId",{$networkId:e,$roomId:t});return this.http.authedRequest(i,M.Method.Put,s,void 0,{visibility:r})}searchUserDirectory(e){const t={search_term:e.term};return e.limit!==void 0&&(t.limit=e.limit),this.http.authedRequest(void 0,M.Method.Post,"/user_directory/search",void 0,t)}uploadContent(e,t){return this.http.uploadContent(e,t)}cancelUpload(e){return this.http.cancelUpload(e)}getCurrentUploads(){return this.http.getCurrentUploads()}getProfileInfo(e,t,r){x.isFunction(t)&&(r=t,t=void 0);const i=t?x.encodeUri("/profile/$userId/$info",{$userId:e,$info:t}):x.encodeUri("/profile/$userId",{$userId:e});return this.http.authedRequest(r,M.Method.Get,i)}getThreePids(e){const t="/account/3pid";return this.http.authedRequest(e,M.Method.Get,t,void 0,void 0)}addThreePid(e,t,r){const i="/account/3pid",s={threePidCreds:e,bind:t};return this.http.authedRequest(r,M.Method.Post,i,null,s)}async addThreePidOnly(e){const t="/account/3pid/add",r=await this.isVersionSupported("r0.6.0")?M.PREFIX_R0:M.PREFIX_UNSTABLE;return this.http.authedRequest(void 0,M.Method.Post,t,null,e,{prefix:r})}async bindThreePid(e){const t="/account/3pid/bind",r=await this.isVersionSupported("r0.6.0")?M.PREFIX_R0:M.PREFIX_UNSTABLE;return this.http.authedRequest(void 0,M.Method.Post,t,null,e,{prefix:r})}async unbindThreePid(e,t){const r="/account/3pid/unbind",i={medium:e,address:t,id_server:this.getIdentityServerUrl(!0)},s=await this.isVersionSupported("r0.6.0")?M.PREFIX_R0:M.PREFIX_UNSTABLE;return this.http.authedRequest(void 0,M.Method.Post,r,null,i,{prefix:s})}deleteThreePid(e,t){const r="/account/3pid/delete";return this.http.authedRequest(void 0,M.Method.Post,r,null,{medium:e,address:t})}setPassword(e,t,r){const i="/account/password",s={auth:e,new_password:t};return this.http.authedRequest(r,M.Method.Post,i,null,s)}getDevices(){return this.http.authedRequest(void 0,M.Method.Get,"/devices",void 0,void 0)}getDevice(e){const t=x.encodeUri("/devices/$device_id",{$device_id:e});return this.http.authedRequest(void 0,M.Method.Get,t,void 0,void 0)}setDeviceDetails(e,t){const r=x.encodeUri("/devices/$device_id",{$device_id:e});return this.http.authedRequest(void 0,M.Method.Put,r,void 0,t)}deleteDevice(e,t){const r=x.encodeUri("/devices/$device_id",{$device_id:e}),i={};return t&&(i.auth=t),this.http.authedRequest(void 0,M.Method.Delete,r,void 0,i)}deleteMultipleDevices(e,t){const r={devices:e};t&&(r.auth=t);const i="/delete_devices";return this.http.authedRequest(void 0,M.Method.Post,i,void 0,r)}getPushers(e){const t="/pushers";return this.http.authedRequest(e,M.Method.Get,t,void 0,void 0)}setPusher(e,t){const r="/pushers/set";return this.http.authedRequest(t,M.Method.Post,r,null,e)}getPushRules(e){return this.http.authedRequest(e,M.Method.Get,"/pushrules/").then(t=>cd.PushProcessor.rewriteDefaultRules(t))}addPushRule(e,t,r,i,s){const o=x.encodeUri("/pushrules/"+e+"/$kind/$ruleId",{$kind:t,$ruleId:r});return this.http.authedRequest(s,M.Method.Put,o,void 0,i)}deletePushRule(e,t,r,i){const s=x.encodeUri("/pushrules/"+e+"/$kind/$ruleId",{$kind:t,$ruleId:r});return this.http.authedRequest(i,M.Method.Delete,s)}setPushRuleEnabled(e,t,r,i,s){const o=x.encodeUri("/pushrules/"+e+"/$kind/$ruleId/enabled",{$kind:t,$ruleId:r});return this.http.authedRequest(s,M.Method.Put,o,void 0,{enabled:i})}setPushRuleActions(e,t,r,i,s){const o=x.encodeUri("/pushrules/"+e+"/$kind/$ruleId/actions",{$kind:t,$ruleId:r});return this.http.authedRequest(s,M.Method.Put,o,void 0,{actions:i})}search(e,t){const r={};return e.next_batch&&(r.next_batch=e.next_batch),this.http.authedRequest(t,M.Method.Post,"/search",r,e.body)}uploadKeysRequest(e,t,r){return this.http.authedRequest(r,M.Method.Post,"/keys/upload",void 0,e)}uploadKeySignatures(e){return this.http.authedRequest(void 0,M.Method.Post,"/keys/signatures/upload",void 0,e,{prefix:M.PREFIX_UNSTABLE})}downloadKeysForUsers(e,t){if(x.isFunction(t))throw new Error("downloadKeysForUsers no longer accepts a callback parameter");t=t||{};const r={device_keys:{}};return"token"in t&&(r.token=t.token),e.forEach(i=>{r.device_keys[i]=[]}),this.http.authedRequest(void 0,M.Method.Post,"/keys/query",void 0,r)}claimOneTimeKeys(e,t="signed_curve25519",r){const i={};t===void 0&&(t="signed_curve25519");for(let c=0;c<e.length;++c){const l=e[c][0],u=e[c][1],a=i[l]||{};i[l]=a,a[u]=t}const s={one_time_keys:i};r&&(s.timeout=r);const o="/keys/claim";return this.http.authedRequest(void 0,M.Method.Post,o,void 0,s)}getKeyChanges(e,t){const r={from:e,to:t},i="/keys/changes";return this.http.authedRequest(void 0,M.Method.Get,i,r,void 0)}uploadDeviceSigningKeys(e,t){const r=Object.assign({},t);return e&&Object.assign(r,{auth:e}),this.http.authedRequest(void 0,M.Method.Post,"/keys/device_signing/upload",void 0,r,{prefix:M.PREFIX_UNSTABLE})}registerWithIdentityServer(e){if(!this.idBaseUrl)throw new Error("No identity server base URL set");const t=this.idBaseUrl+M.PREFIX_IDENTITY_V2+"/account/register";return this.http.requestOtherUrl(void 0,M.Method.Post,t,null,e)}async requestEmailToken(e,t,r,i,s,o){const c={client_secret:t,email:e,send_attempt:r==null?void 0:r.toString(),next_link:i};return await this.http.idServerRequest(s,M.Method.Post,"/validate/email/requestToken",c,M.PREFIX_IDENTITY_V2,o)}async requestMsisdnToken(e,t,r,i,s,o,c){const l={client_secret:r,country:e,phone_number:t,send_attempt:i==null?void 0:i.toString(),next_link:s};return await this.http.idServerRequest(o,M.Method.Post,"/validate/msisdn/requestToken",l,M.PREFIX_IDENTITY_V2,c)}async submitMsisdnToken(e,t,r,i){const s={sid:e,client_secret:t,token:r};return await this.http.idServerRequest(void 0,M.Method.Post,"/validate/msisdn/submitToken",s,M.PREFIX_IDENTITY_V2,i)}submitMsisdnTokenOtherUrl(e,t,r,i){const s={sid:t,client_secret:r,token:i};return this.http.requestOtherUrl(void 0,M.Method.Post,e,void 0,s)}getIdentityHashDetails(e){return this.http.idServerRequest(void 0,M.Method.Get,"/hash_details",null,M.PREFIX_IDENTITY_V2,e)}async identityHashedLookup(e,t){const r={},i=await this.getIdentityHashDetails(t);if(!i||!i.lookup_pepper||!i.algorithms)throw new Error("Unsupported identity server: bad response");r.pepper=i.lookup_pepper;const s={};if(i.algorithms.includes("sha256")){const l=new j.Olm.Utility;r.addresses=e.map(u=>{const a=u[0].toLowerCase(),g=u[1].toLowerCase(),m=l.sha256(`${a} ${g} ${r.pepper}`).replace(/\+/g,"-").replace(/\//g,"_");return s[m]=u[0],m}),r.algorithm="sha256"}else if(i.algorithms.includes("none"))r.addresses=e.map(l=>{const u=l[0].toLowerCase(),a=l[1].toLowerCase(),g=`${u} ${a}`;return s[g]=l[0],g}),r.algorithm="none";else throw new Error("Unsupported identity server: unknown hash algorithm");const o=await this.http.idServerRequest(void 0,M.Method.Post,"/lookup",r,M.PREFIX_IDENTITY_V2,t);if(!o||!o.mappings)return[];const c=[];for(const l of Object.keys(o.mappings)){const u=o.mappings[l],a=s[l];if(!a)throw new Error("Identity server returned more results than expected");c.push({address:a,mxid:u})}return c}async lookupThreePid(e,t,r,i){const o=(await this.identityHashedLookup([[t,e]],i)).find(l=>l.address===t);if(!o)return r&&r(null,{}),{};const c={address:t,medium:e,mxid:o.mxid};return r&&r(null,c),c}async bulkLookupThreePids(e,t){const r=await this.identityHashedLookup(e.map(s=>[s[1],s[0]]),t),i=[];for(const s of r){const o=e.find(c=>c[1]===s.address);if(!o)throw new Error("Identity sever returned unexpected results");i.push([o[0],s.address,s.mxid])}return{threepids:i}}getIdentityAccount(e){return this.http.idServerRequest(void 0,M.Method.Get,"/account",void 0,M.PREFIX_IDENTITY_V2,e)}sendToDevice(e,t,r){const i=x.encodeUri("/sendToDevice/$eventType/$txnId",{$eventType:e,$txnId:r||this.makeTxnId()}),s={messages:t},o=Object.keys(t).reduce((c,l)=>(c[l]=Object.keys(t[l]),c),{});return se.logger.log(`PUT ${i}`,o),this.http.authedRequest(void 0,M.Method.Put,i,void 0,s)}getThirdpartyProtocols(){return this.http.authedRequest(void 0,M.Method.Get,"/thirdparty/protocols",void 0,void 0).then(e=>{if(!e||typeof e!="object")throw new Error(`/thirdparty/protocols did not return an object: ${e}`);return e})}getThirdpartyLocation(e,t){const r=x.encodeUri("/thirdparty/location/$protocol",{$protocol:e});return this.http.authedRequest(void 0,M.Method.Get,r,t,void 0)}getThirdpartyUser(e,t){const r=x.encodeUri("/thirdparty/user/$protocol",{$protocol:e});return this.http.authedRequest(void 0,M.Method.Get,r,t,void 0)}getTerms(e,t){const r=this.termsUrlForService(e,t);return this.http.requestOtherUrl(void 0,M.Method.Get,r)}agreeToTerms(e,t,r,i){const s=this.termsUrlForService(e,t),o={Authorization:"Bearer "+r};return this.http.requestOtherUrl(void 0,M.Method.Post,s,null,{user_accepts:i},{headers:o})}reportEvent(e,t,r,i){const s=x.encodeUri("/rooms/$roomId/report/$eventId",{$roomId:e,$eventId:t});return this.http.authedRequest(void 0,M.Method.Post,s,null,{score:r,reason:i})}getRoomHierarchy(e,t,r,i=!1,s){const o=x.encodeUri("/rooms/$roomId/hierarchy",{$roomId:e}),c={suggested_only:String(i),max_depth:r==null?void 0:r.toString(),from:s,limit:t==null?void 0:t.toString()};return this.http.authedRequest(void 0,M.Method.Get,o,c,void 0,{prefix:M.PREFIX_V1}).catch(l=>{if(l.errcode==="M_UNRECOGNIZED")return this.http.authedRequest(void 0,M.Method.Get,o,c,void 0,{prefix:"/_matrix/client/unstable/org.matrix.msc2946"});throw l})}async unstableCreateFileTree(e){const{room_id:t}=await this.createRoom({name:e,preset:HM.Preset.PrivateChat,power_level_content_override:Kc(Kc({},hd.DEFAULT_TREE_POWER_LEVELS_TEMPLATE),{},{users:{[this.getUserId()]:100}}),creation_content:{[ue.RoomCreateTypeField]:ue.RoomType.Space},initial_state:[{type:ue.UNSTABLE_MSC3088_PURPOSE.name,state_key:ue.UNSTABLE_MSC3089_TREE_SUBTYPE.name,content:{[ue.UNSTABLE_MSC3088_ENABLED.name]:!0}},{type:ue.EventType.RoomEncryption,state_key:"",content:{algorithm:ld.MEGOLM_ALGORITHM}}]});return new hd.MSC3089TreeSpace(this,t)}unstableGetFileTreeSpace(e){var t,r;const i=this.getRoom(e);if((i==null?void 0:i.getMyMembership())!=="join")return null;const s=i.currentState.getStateEvents(ue.EventType.RoomCreate,""),o=i.currentState.getStateEvents(ue.UNSTABLE_MSC3088_PURPOSE.name,ue.UNSTABLE_MSC3089_TREE_SUBTYPE.name);if(!s)throw new Error("Expected single room create event");return!(o!=null&&(t=o.getContent())!==null&&t!==void 0&&t[ue.UNSTABLE_MSC3088_ENABLED.name])||((r=s.getContent())===null||r===void 0?void 0:r[ue.RoomCreateTypeField])!==ue.RoomType.Space?null:new hd.MSC3089TreeSpace(this,e)}getGroupSummary(e){const t=x.encodeUri("/groups/$groupId/summary",{$groupId:e});return this.http.authedRequest(void 0,M.Method.Get,t)}getGroupProfile(e){const t=x.encodeUri("/groups/$groupId/profile",{$groupId:e});return this.http.authedRequest(void 0,M.Method.Get,t)}setGroupProfile(e,t){const r=x.encodeUri("/groups/$groupId/profile",{$groupId:e});return this.http.authedRequest(void 0,M.Method.Post,r,void 0,t)}setGroupJoinPolicy(e,t){const r=x.encodeUri("/groups/$groupId/settings/m.join_policy",{$groupId:e});return this.http.authedRequest(void 0,M.Method.Put,r,void 0,{"m.join_policy":t})}getGroupUsers(e){const t=x.encodeUri("/groups/$groupId/users",{$groupId:e});return this.http.authedRequest(void 0,M.Method.Get,t)}getGroupInvitedUsers(e){const t=x.encodeUri("/groups/$groupId/invited_users",{$groupId:e});return this.http.authedRequest(void 0,M.Method.Get,t)}getGroupRooms(e){const t=x.encodeUri("/groups/$groupId/rooms",{$groupId:e});return this.http.authedRequest(void 0,M.Method.Get,t)}inviteUserToGroup(e,t){const r=x.encodeUri("/groups/$groupId/admin/users/invite/$userId",{$groupId:e,$userId:t});return this.http.authedRequest(void 0,M.Method.Put,r,void 0,{})}removeUserFromGroup(e,t){const r=x.encodeUri("/groups/$groupId/admin/users/remove/$userId",{$groupId:e,$userId:t});return this.http.authedRequest(void 0,M.Method.Put,r,void 0,{})}addUserToGroupSummary(e,t,r){const i=x.encodeUri(r?"/groups/$groupId/summary/$roleId/users/$userId":"/groups/$groupId/summary/users/$userId",{$groupId:e,$roleId:r,$userId:t});return this.http.authedRequest(void 0,M.Method.Put,i,void 0,{})}removeUserFromGroupSummary(e,t){const r=x.encodeUri("/groups/$groupId/summary/users/$userId",{$groupId:e,$userId:t});return this.http.authedRequest(void 0,M.Method.Delete,r,void 0,{})}addRoomToGroupSummary(e,t,r){const i=x.encodeUri(r?"/groups/$groupId/summary/$categoryId/rooms/$roomId":"/groups/$groupId/summary/rooms/$roomId",{$groupId:e,$categoryId:r,$roomId:t});return this.http.authedRequest(void 0,M.Method.Put,i,void 0,{})}removeRoomFromGroupSummary(e,t){const r=x.encodeUri("/groups/$groupId/summary/rooms/$roomId",{$groupId:e,$roomId:t});return this.http.authedRequest(void 0,M.Method.Delete,r,void 0,{})}addRoomToGroup(e,t,r){r===void 0&&(r=!0);const i=x.encodeUri("/groups/$groupId/admin/rooms/$roomId",{$groupId:e,$roomId:t});return this.http.authedRequest(void 0,M.Method.Put,i,void 0,{"m.visibility":{type:r?"public":"private"}})}updateGroupRoomVisibility(e,t,r){const i=x.encodeUri("/groups/$groupId/admin/rooms/$roomId/config/m.visibility",{$groupId:e,$roomId:t});return this.http.authedRequest(void 0,M.Method.Put,i,void 0,{type:r?"public":"private"})}removeRoomFromGroup(e,t){const r=x.encodeUri("/groups/$groupId/admin/rooms/$roomId",{$groupId:e,$roomId:t});return this.http.authedRequest(void 0,M.Method.Delete,r,void 0,{})}acceptGroupInvite(e,t=null){const r=x.encodeUri("/groups/$groupId/self/accept_invite",{$groupId:e});return this.http.authedRequest(void 0,M.Method.Put,r,void 0,t||{})}joinGroup(e){const t=x.encodeUri("/groups/$groupId/self/join",{$groupId:e});return this.http.authedRequest(void 0,M.Method.Put,t,void 0,{})}leaveGroup(e){const t=x.encodeUri("/groups/$groupId/self/leave",{$groupId:e});return this.http.authedRequest(void 0,M.Method.Put,t,void 0,{})}getJoinedGroups(){const e=x.encodeUri("/joined_groups",{});return this.http.authedRequest(void 0,M.Method.Get,e)}createGroup(e){const t=x.encodeUri("/create_group",{});return this.http.authedRequest(void 0,M.Method.Post,t,void 0,e)}getPublicisedGroups(e){const t=x.encodeUri("/publicised_groups",{});return this.http.authedRequest(void 0,M.Method.Post,t,void 0,{user_ids:e})}setGroupPublicity(e,t){const r=x.encodeUri("/groups/$groupId/self/update_publicity",{$groupId:e});return this.http.authedRequest(void 0,M.Method.Put,r,void 0,{publicise:t})}supportsExperimentalThreads(){var e;return((e=this.clientOpts)===null||e===void 0?void 0:e.experimentalThreadSupport)||!1}async getRoomSummary(e,t){const r=x.encodeUri("/rooms/$roomid/summary",{$roomid:e});return this.http.authedRequest(void 0,M.Method.Get,r,{via:t},null,{qsStringifyOptions:{arrayFormat:"repeat"},prefix:"/_matrix/client/unstable/im.nheko.summary"})}findThreadRoots(e){const t=new Set;for(const r of e)r.isThreadRelation&&t.add(r.relationEventId);return t}eventShouldLiveIn(e,t,r,i){if(e.isThreadRoot)return{shouldLiveInRoom:!0,shouldLiveInThread:!0,threadId:e.getId()};if(e.isThreadRelation)return{shouldLiveInRoom:!1,shouldLiveInThread:!0,threadId:e.relationEventId};const s=e.getAssociatedId(),o=(t==null?void 0:t.findEventById(s))||r.find(l=>l.getId()===s);return(o==null?void 0:o.isThreadRoot)||i.has(e.relationEventId)?{shouldLiveInRoom:!0,shouldLiveInThread:!0,threadId:e.relationEventId}:o!=null&&o.getAssociatedId()?this.eventShouldLiveIn(o,t,r,i):{shouldLiveInRoom:!0,shouldLiveInThread:!1}}partitionThreadedEvents(e){if(this.supportsExperimentalThreads()){const i=this.findThreadRoots(e);return e.reduce((s,o)=>{const c=this.getRoom(o.getRoomId()),{shouldLiveInRoom:l,shouldLiveInThread:u,threadId:a}=this.eventShouldLiveIn(o,c,e,i);return l&&s[0].push(o),u&&(o.setThreadId(a),s[1].push(o)),s},[[],[]])}else return[e,[]]}async processThreadEvents(e,t,r){for(const i of t)await e.addThreadedEvent(i,r)}async whoami(){return this.http.authedRequest(void 0,M.Method.Get,"/account/whoami")}async timestampToEvent(e,t,r){const i=x.encodeUri("/rooms/$roomId/timestamp_to_event",{$roomId:e});return await this.http.authedRequest(void 0,M.Method.Get,i,{ts:t.toString(),dir:r},void 0,{prefix:"/_matrix/client/unstable/org.matrix.msc3030"})}}it.MatrixClient=ru;(0,X.default)(ru,"RESTORE_BACKUP_ERROR_BAD_KEY","RESTORE_BACKUP_ERROR_BAD_KEY");var Oo={},nA=V.exports;Object.defineProperty(Oo,"__esModule",{value:!0});Oo.TimelineWindow=Oo.TimelineIndex=void 0;var _a=nA(Y.exports),jn=Ft;const mm=function(){},iA=5;class sA{constructor(e,t,r={}){this.client=e,this.timelineSet=t,(0,_a.default)(this,"windowLimit",void 0),(0,_a.default)(this,"start",null),(0,_a.default)(this,"end",null),(0,_a.default)(this,"eventCount",0),this.windowLimit=r.windowLimit||1e3}load(e,t=20){const r=i=>{let s;const o=i.getEvents();if(!e)s=o.length;else{for(let u=0;u<o.length;u++)if(o[u].getId()==e){s=u;break}if(s===void 0)throw new Error("getEventTimeline result didn't include requested event")}const c=Math.min(o.length,s+Math.ceil(t/2)),l=Math.max(0,c-t);this.start=new Ah(i,l-i.getBaseIndex()),this.end=new Ah(i,c-i.getBaseIndex()),this.eventCount=c-l};if(e){const i=this.timelineSet.getTimelineForEvent(e);return i?(r(i),Promise.resolve(i)):this.client.getEventTimeline(this.timelineSet,e).then(r)}else{const i=this.timelineSet.getLiveTimeline();return r(i),Promise.resolve()}}getTimelineIndex(e){if(e==jn.EventTimeline.BACKWARDS)return this.start;if(e==jn.EventTimeline.FORWARDS)return this.end;throw new Error("Invalid direction '"+e+"'")}extend(e,t){const r=this.getTimelineIndex(e);if(!r)return!1;const i=e==jn.EventTimeline.BACKWARDS?r.retreat(t):r.advance(t);if(i){this.eventCount+=i,mm("TimelineWindow: increased cap by "+i+" (now "+this.eventCount+")");const s=this.eventCount-this.windowLimit;return s>0&&this.unpaginate(s,e!=jn.EventTimeline.BACKWARDS),!0}return!1}canPaginate(e){const t=this.getTimelineIndex(e);if(!t)return!1;if(e==jn.EventTimeline.BACKWARDS){if(t.index>t.minIndex())return!0}else if(t.index<t.maxIndex())return!0;return Boolean(t.timeline.getNeighbouringTimeline(e)||t.timeline.getPaginationToken(e)!==null)}paginate(e,t,r=!0,i=iA){const s=this.getTimelineIndex(e);if(!s)return Promise.resolve(!1);if(s.pendingPaginate)return s.pendingPaginate;if(this.extend(e,t))return Promise.resolve(!0);if(!r||i===0||s.timeline.getPaginationToken(e)===null)return Promise.resolve(!1);const c=this.client.paginateEventTimeline(s.timeline,{backwards:e==jn.EventTimeline.BACKWARDS,limit:t}).finally(function(){s.pendingPaginate=null}).then(l=>l?this.paginate(e,t,!0,i-1):!1);return s.pendingPaginate=c,c}unpaginate(e,t){const r=t?this.start:this.end;if(e>this.eventCount||e<0)throw new Error("Attemting to unpaginate "+e+" events, but only have "+this.eventCount+" in the timeline");for(;e>0;){const i=t?r.advance(e):r.retreat(e);if(i<=0)throw new Error("Unable to unpaginate any further, but still have "+this.eventCount+" events");e-=i,this.eventCount-=i,mm("TimelineWindow.unpaginate: dropped "+i+" (now "+this.eventCount+")")}}getEvents(){if(!this.start)return[];const e=[];let t=this.start.timeline;for(;;){const r=t.getEvents();let i=0,s=r.length;t===this.start.timeline&&(i=this.start.index+t.getBaseIndex()),t===this.end.timeline&&(s=this.end.index+t.getBaseIndex());for(let o=i;o<s;o++)e.push(r[o]);if(t===this.end.timeline)break;t=t.getNeighbouringTimeline(jn.EventTimeline.FORWARDS)}return e}}Oo.TimelineWindow=sA;class Ah{constructor(e,t){this.timeline=e,this.index=t,(0,_a.default)(this,"pendingPaginate",void 0)}minIndex(){return this.timeline.getBaseIndex()*-1}maxIndex(){return this.timeline.getEvents().length-this.timeline.getBaseIndex()}advance(e){if(!e)return 0;let t;if(e<0){if(t=Math.max(e,this.minIndex()-this.index),t<0)return this.index+=t,t}else if(t=Math.min(e,this.maxIndex()-this.index),t>0)return this.index+=t,t;const r=this.timeline.getNeighbouringTimeline(e<0?jn.EventTimeline.BACKWARDS:jn.EventTimeline.FORWARDS);return r?(this.timeline=r,e<0?this.index=this.maxIndex():this.index=this.minIndex(),this.advance(e)):0}retreat(e){return this.advance(e*-1)*-1}}Oo.TimelineIndex=Ah;var ws={},oA=V.exports;Object.defineProperty(ws,"__esModule",{value:!0});ws.InteractiveAuth=ws.AuthType=void 0;var Nt=oA(Y.exports),fd=ie,aA=G;const da="m.login.email.identity",ym="m.login.msisdn";let Va;ws.AuthType=Va;(function(n){n.Password="m.login.password",n.Recaptcha="m.login.recaptcha",n.Terms="m.login.terms",n.Email="m.login.email.identity",n.Msisdn="m.login.msisdn",n.Sso="m.login.sso",n.SsoUnstable="org.matrix.login.sso",n.Dummy="m.login.dummy",n.RegistrationToken="org.matrix.msc3231.login.registration_token"})(Va||(ws.AuthType=Va={}));class cA extends Error{constructor(e,t,r){super(e);this.required_stages=t,this.flows=r,(0,Nt.default)(this,"name","NoAuthFlowFoundError")}}class lA{constructor(e){var t;(0,Nt.default)(this,"matrixClient",void 0),(0,Nt.default)(this,"inputs",void 0),(0,Nt.default)(this,"clientSecret",void 0),(0,Nt.default)(this,"requestCallback",void 0),(0,Nt.default)(this,"busyChangedCallback",void 0),(0,Nt.default)(this,"stateUpdatedCallback",void 0),(0,Nt.default)(this,"requestEmailTokenCallback",void 0),(0,Nt.default)(this,"data",void 0),(0,Nt.default)(this,"emailSid",void 0),(0,Nt.default)(this,"requestingEmailToken",!1),(0,Nt.default)(this,"attemptAuthDeferred",null),(0,Nt.default)(this,"chosenFlow",null),(0,Nt.default)(this,"currentStage",null),(0,Nt.default)(this,"submitPromise",null),this.matrixClient=e.matrixClient,this.data=e.authData||{},this.requestCallback=e.doRequest,this.busyChangedCallback=e.busyChanged,this.stateUpdatedCallback=e.stateUpdated||e.startAuthStage,this.requestEmailTokenCallback=e.requestEmailToken,this.inputs=e.inputs||{},e.sessionId&&(this.data.session=e.sessionId),this.clientSecret=e.clientSecret||this.matrixClient.generateClientSecret(),this.emailSid=(t=e.emailSid)!==null&&t!==void 0?t:null}attemptAuth(){var e;this.attemptAuthDeferred=(0,aA.defer)();const t=this.attemptAuthDeferred.promise;if((e=this.data)!==null&&e!==void 0&&e.flows)this.startNextAuthStage();else{var r;(r=this.busyChangedCallback)===null||r===void 0||r.call(this,!0);let i=null;this.data.session&&(i={session:this.data.session}),this.doRequest(i).finally(()=>{var s;(s=this.busyChangedCallback)===null||s===void 0||s.call(this,!1)})}return t}async poll(){if(!this.data.session||!this.attemptAuthDeferred||this.submitPromise)return;let e={};if(this.currentStage==da&&this.emailSid){const t={sid:this.emailSid,client_secret:this.clientSecret};if(await this.matrixClient.doesServerRequireIdServerParam()){const r=new URL(this.matrixClient.getIdentityServerUrl());t.id_server=r.host}e={type:da,threepid_creds:t,threepidCreds:t}}this.submitAuthDict(e,!0)}getSessionId(){return this.data?this.data.session:void 0}getClientSecret(){return this.clientSecret}getStageParams(e){var t;return(t=this.data.params)===null||t===void 0?void 0:t[e]}getChosenFlow(){return this.chosenFlow}async submitAuthDict(e,t=!1){if(!this.attemptAuthDeferred)throw new Error("submitAuthDict() called before attemptAuth()");if(!t){var r;(r=this.busyChangedCallback)===null||r===void 0||r.call(this,!0)}for(;this.submitPromise;)try{await this.submitPromise}catch{}let i;this.data.session?(i={session:this.data.session},Object.assign(i,e)):i=e;try{this.submitPromise=this.doRequest(i,t),await this.submitPromise}finally{if(this.submitPromise=null,!t){var s;(s=this.busyChangedCallback)===null||s===void 0||s.call(this,!1)}}}getEmailSid(){return this.emailSid}setEmailSid(e){this.emailSid=e}async doRequest(e,t=!1){try{const o=await this.requestCallback(e,t);this.attemptAuthDeferred.resolve(o),this.attemptAuthDeferred=null}catch(o){var r,i;const c=(r=(i=o.data)===null||i===void 0?void 0:i.flows)!==null&&r!==void 0?r:null,l=this.data.flows||Boolean(c);if(o.httpStatus!==401||!o.data||!l)if(t)fd.logger.log("Background poll request failed doing UI auth: ignoring",o);else{var s;(s=this.attemptAuthDeferred)===null||s===void 0||s.reject(o)}!o.data.flows&&!o.data.completed&&!o.data.session&&(o.data.flows=this.data.flows,o.data.completed=this.data.completed,o.data.session=this.data.session),this.data=o.data;try{this.startNextAuthStage()}catch(u){this.attemptAuthDeferred.reject(u),this.attemptAuthDeferred=null;return}if(!this.emailSid&&!this.requestingEmailToken&&this.chosenFlow.stages.includes(Va.Email)){this.requestingEmailToken=!0;try{const u=await this.requestEmailTokenCallback(this.inputs.emailAddress,this.clientSecret,1,this.data.session);this.emailSid=u.sid}catch(u){this.attemptAuthDeferred.reject(u),this.attemptAuthDeferred=null}finally{this.requestingEmailToken=!1}}}}startNextAuthStage(){const e=this.chooseStage();if(!e)throw new Error("No incomplete flows from the server");if(this.currentStage=e,e===Va.Dummy){this.submitAuthDict({type:"m.login.dummy"});return}if(this.data&&this.data.errcode||this.data.error){this.stateUpdatedCallback(e,{errcode:this.data.errcode||"",error:this.data.error||""});return}const t={};e==da&&(t.emailSid=this.emailSid),this.stateUpdatedCallback(e,t)}chooseStage(){this.chosenFlow===null&&(this.chosenFlow=this.chooseFlow()),fd.logger.log("Active flow => %s",JSON.stringify(this.chosenFlow));const e=this.firstUncompletedStage(this.chosenFlow);return fd.logger.log("Next stage: %s",e),e}chooseFlow(){const e=this.data.flows||[],t=Boolean(this.inputs.emailAddress)||Boolean(this.emailSid),r=Boolean(this.inputs.phoneCountry)&&Boolean(this.inputs.phoneNumber);for(const s of e){let o=!1,c=!1;for(const l of s.stages)l===da?o=!0:l==ym&&(c=!0);if(o==t&&c==r)return s}const i=[];throw t&&i.push(da),r&&i.push(ym),new cA("No appropriate authentication flow found",i,e)}firstUncompletedStage(e){const t=this.data.completed||[];for(let r=0;r<e.stages.length;++r){const i=e.stages[r];if(t.indexOf(i)===-1)return i}}}ws.InteractiveAuth=lA;var nu={},iu={},uA=V.exports;Object.defineProperty(iu,"__esModule",{value:!0});iu.LocalIndexedDBStoreBackend=void 0;var ha=uA(Y.exports),dA=ti,Hi=O_(G),hA=O_(Hl),Xe=ie;function T_(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(T_=function(r){return r?t:e})(n)}function O_(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=T_(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}const fA=3;function pA(n){n.createObjectStore("users",{keyPath:["userId"]}),n.createObjectStore("accountData",{keyPath:["type"]}),n.createObjectStore("sync",{keyPath:["clobber"]})}function gA(n){n.createObjectStore("oob_membership_events",{keyPath:["room_id","state_key"]}).createIndex("room","room_id")}function mA(n){n.createObjectStore("client_options",{keyPath:["clobber"]})}function Fc(n,e,t){const r=n.openCursor(e);return new Promise((i,s)=>{const o=[];r.onerror=()=>{s(new Error("Query failed: "+r.error))},r.onsuccess=()=>{const c=r.result;if(!c){i(o);return}o.push(t(c)),c.continue()}})}function fa(n){return new Promise((e,t)=>{n.oncomplete=function(r){e(r)},n.onerror=function(){t(n.error)}})}function k_(n){return new Promise((e,t)=>{n.onsuccess=function(r){e(r)},n.onerror=function(){t(n.error)}})}function yA(n){return new Promise((e,t)=>{n.onsuccess=()=>e(n),n.onerror=r=>t(r)})}function vm(n){return k_(n).then(e=>n.result)}class vA{static exists(e,t){return t="matrix-js-sdk:"+(t||"default"),hA.exists(e,t)}constructor(e,t){this.indexedDB=e,(0,ha.default)(this,"dbName",void 0),(0,ha.default)(this,"syncAccumulator",void 0),(0,ha.default)(this,"db",null),(0,ha.default)(this,"disconnected",!0),(0,ha.default)(this,"_isNewlyCreated",!1),this.dbName="matrix-js-sdk:"+(t||"default"),this.syncAccumulator=new dA.SyncAccumulator}connect(){if(!this.disconnected)return Xe.logger.log("LocalIndexedDBStoreBackend.connect: already connected or connecting"),Promise.resolve();this.disconnected=!1,Xe.logger.log("LocalIndexedDBStoreBackend.connect: connecting...");const e=this.indexedDB.open(this.dbName,fA);return e.onupgradeneeded=t=>{const r=e.result,i=t.oldVersion;Xe.logger.log(`LocalIndexedDBStoreBackend.connect: upgrading from ${i}`),i<1&&(this._isNewlyCreated=!0,pA(r)),i<2&&gA(r),i<3&&mA(r)},e.onblocked=()=>{Xe.logger.log("can't yet open LocalIndexedDBStoreBackend because it is open elsewhere")},Xe.logger.log("LocalIndexedDBStoreBackend.connect: awaiting connection..."),k_(e).then(()=>(Xe.logger.log("LocalIndexedDBStoreBackend.connect: connected"),this.db=e.result,this.db.onversionchange=()=>{this.db.close()},this.init()))}isNewlyCreated(){return Promise.resolve(this._isNewlyCreated)}init(){return Promise.all([this.loadAccountData(),this.loadSyncData()]).then(([e,t])=>{Xe.logger.log("LocalIndexedDBStoreBackend: loaded initial data"),this.syncAccumulator.accumulate({next_batch:t.nextBatch,rooms:t.roomsData,groups:t.groupsData,account_data:{events:e}},!0)})}getOutOfBandMembers(e){return new Promise((t,r)=>{const o=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),c=IDBKeyRange.only(e),l=o.openCursor(c),u=[];let a=!1;l.onsuccess=()=>{const g=l.result;if(!g)return!u.length&&!a?t(null):t(u);const m=g.value;m.oob_written?a=!0:u.push(m),g.continue()},l.onerror=g=>{r(g)}}).then(t=>(Xe.logger.log(`LL: got ${t&&t.length} membershipEvents from storage for room ${e} ...`),t))}async setOutOfBandMembers(e,t){Xe.logger.log(`LL: backend about to store ${t.length} members for ${e}`);const r=this.db.transaction(["oob_membership_events"],"readwrite"),i=r.objectStore("oob_membership_events");t.forEach(o=>{i.put(o)});const s={room_id:e,oob_written:!0,state_key:0};i.put(s),await fa(r),Xe.logger.log(`LL: backend done storing for ${e}!`)}async clearOutOfBandMembers(e){const i=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),s=IDBKeyRange.only(e),o=vm(i.openKeyCursor(s,"next")).then(p=>p&&p.primaryKey[1]),c=vm(i.openKeyCursor(s,"prev")).then(p=>p&&p.primaryKey[1]),[l,u]=await Promise.all([o,c]),g=this.db.transaction(["oob_membership_events"],"readwrite").objectStore("oob_membership_events"),m=IDBKeyRange.bound([e,l],[e,u]);Xe.logger.log(`LL: Deleting all users + marker in storage for room ${e}, with key range:`,[e,l],[e,u]),await yA(g.delete(m))}clearDatabase(){return new Promise(e=>{Xe.logger.log(`Removing indexeddb instance: ${this.dbName}`);const t=this.indexedDB.deleteDatabase(this.dbName);t.onblocked=()=>{Xe.logger.log(`can't yet delete indexeddb ${this.dbName} because it is open elsewhere`)},t.onerror=()=>{Xe.logger.warn(`unable to delete js-sdk store indexeddb: ${t.error}`),e()},t.onsuccess=()=>{Xe.logger.log(`Removed indexeddb instance: ${this.dbName}`),e()}})}getSavedSync(e=!0){const t=this.syncAccumulator.getJSON();return t.nextBatch?e?Promise.resolve(Hi.deepCopy(t)):Promise.resolve(t):Promise.resolve(null)}getNextBatchToken(){return Promise.resolve(this.syncAccumulator.getNextBatchToken())}setSyncData(e){return Promise.resolve().then(()=>{this.syncAccumulator.accumulate(e)})}async syncToDatabase(e){const t=this.syncAccumulator.getJSON(!0);await Promise.all([this.persistUserPresenceEvents(e),this.persistAccountData(t.accountData),this.persistSyncData(t.nextBatch,t.roomsData,t.groupsData)])}persistSyncData(e,t,r){return Xe.logger.log("Persisting sync data up to",e),Hi.promiseTry(()=>{const i=this.db.transaction(["sync"],"readwrite");return i.objectStore("sync").put({clobber:"-",nextBatch:e,roomsData:t,groupsData:r}),fa(i).then()})}persistAccountData(e){return Hi.promiseTry(()=>{const t=this.db.transaction(["accountData"],"readwrite"),r=t.objectStore("accountData");for(let i=0;i<e.length;i++)r.put(e[i]);return fa(t).then()})}persistUserPresenceEvents(e){return Hi.promiseTry(()=>{const t=this.db.transaction(["users"],"readwrite"),r=t.objectStore("users");for(const i of e)r.put({userId:i[0],event:i[1]});return fa(t).then()})}getUserPresenceEvents(){return Hi.promiseTry(()=>{const t=this.db.transaction(["users"],"readonly").objectStore("users");return Fc(t,void 0,r=>[r.value.userId,r.value.event])})}loadAccountData(){return Xe.logger.log("LocalIndexedDBStoreBackend: loading account data..."),Hi.promiseTry(()=>{const t=this.db.transaction(["accountData"],"readonly").objectStore("accountData");return Fc(t,void 0,r=>r.value).then(r=>(Xe.logger.log("LocalIndexedDBStoreBackend: loaded account data"),r))})}loadSyncData(){return Xe.logger.log("LocalIndexedDBStoreBackend: loading sync data..."),Hi.promiseTry(()=>{const t=this.db.transaction(["sync"],"readonly").objectStore("sync");return Fc(t,void 0,r=>r.value).then(r=>(Xe.logger.log("LocalIndexedDBStoreBackend: loaded sync data"),r.length>1&&Xe.logger.warn("loadSyncData: More than 1 sync row found."),r.length>0?r[0]:{}))})}getClientOptions(){return Promise.resolve().then(()=>{const t=this.db.transaction(["client_options"],"readonly").objectStore("client_options");return Fc(t,void 0,r=>{if(r.value&&r.value&&r.value.options)return r.value.options}).then(r=>r[0])})}async storeClientOptions(e){const t=this.db.transaction(["client_options"],"readwrite");t.objectStore("client_options").put({clobber:"-",options:e}),await fa(t)}}iu.LocalIndexedDBStoreBackend=vA;var su={},_A=V.exports;Object.defineProperty(su,"__esModule",{value:!0});su.RemoteIndexedDBStoreBackend=void 0;var pa=_A(Y.exports),qc=ie,EA=G;class SA{constructor(e,t){this.workerFactory=e,this.dbName=t,(0,pa.default)(this,"worker",void 0),(0,pa.default)(this,"nextSeq",0),(0,pa.default)(this,"inFlight",{}),(0,pa.default)(this,"startPromise",null),(0,pa.default)(this,"onWorkerMessage",r=>{const i=r.data;if(i.command=="cmd_success"||i.command=="cmd_fail"){if(i.seq===void 0){qc.logger.error("Got reply from worker with no seq");return}const s=this.inFlight[i.seq];if(s===void 0){qc.logger.error("Got reply for unknown seq "+i.seq);return}if(delete this.inFlight[i.seq],i.command=="cmd_success")s.resolve(i.result);else{const o=new Error(i.error.message);o.name=i.error.name,s.reject(o)}}else qc.logger.warn("Unrecognised message from worker: ",i)})}connect(){return this.ensureStarted().then(()=>this.doCmd("connect"))}clearDatabase(){return this.ensureStarted().then(()=>this.doCmd("clearDatabase"))}isNewlyCreated(){return this.doCmd("isNewlyCreated")}getSavedSync(){return this.doCmd("getSavedSync")}getNextBatchToken(){return this.doCmd("getNextBatchToken")}setSyncData(e){return this.doCmd("setSyncData",[e])}syncToDatabase(e){return this.doCmd("syncToDatabase",[e])}getOutOfBandMembers(e){return this.doCmd("getOutOfBandMembers",[e])}setOutOfBandMembers(e,t){return this.doCmd("setOutOfBandMembers",[e,t])}clearOutOfBandMembers(e){return this.doCmd("clearOutOfBandMembers",[e])}getClientOptions(){return this.doCmd("getClientOptions")}storeClientOptions(e){return this.doCmd("storeClientOptions",[e])}getUserPresenceEvents(){return this.doCmd("getUserPresenceEvents")}ensureStarted(){return this.startPromise===null&&(this.worker=this.workerFactory(),this.worker.onmessage=this.onWorkerMessage,this.startPromise=this.doCmd("_setupWorker",[this.dbName]).then(()=>{qc.logger.log("IndexedDB worker is ready")})),this.startPromise}doCmd(e,t){return Promise.resolve().then(()=>{const r=this.nextSeq++,i=(0,EA.defer)();return this.inFlight[r]=i,this.worker.postMessage({command:e,seq:r,args:t}),i.promise})}}su.RemoteIndexedDBStoreBackend=SA;var bA=V.exports;Object.defineProperty(nu,"__esModule",{value:!0});nu.IndexedDBStore=void 0;var gt=bA(Y.exports),wA=Ha,_m=iu,RA=su,IA=en,TA=qt,hn=ie,OA=qe;const kA=1e3*60*5;class CA extends wA.MemoryStore{static exists(e,t){return _m.LocalIndexedDBStoreBackend.exists(e,t)}constructor(e){super(e);if((0,gt.default)(this,"backend",void 0),(0,gt.default)(this,"startedUp",!1),(0,gt.default)(this,"syncTs",0),(0,gt.default)(this,"userModifiedMap",{}),(0,gt.default)(this,"emitter",new OA.TypedEventEmitter),(0,gt.default)(this,"on",this.emitter.on.bind(this.emitter)),(0,gt.default)(this,"getSavedSync",this.degradable(()=>this.backend.getSavedSync(),"getSavedSync")),(0,gt.default)(this,"isNewlyCreated",this.degradable(()=>this.backend.isNewlyCreated(),"isNewlyCreated")),(0,gt.default)(this,"getSavedSyncToken",this.degradable(()=>this.backend.getNextBatchToken(),"getSavedSyncToken")),(0,gt.default)(this,"deleteAllData",this.degradable(()=>(super.deleteAllData(),this.backend.clearDatabase().then(()=>{hn.logger.log("Deleted indexeddb data.")},t=>{throw hn.logger.error(`Failed to delete indexeddb data: ${t}`),t})))),(0,gt.default)(this,"reallySave",this.degradable(()=>{this.syncTs=Date.now();const t=[];for(const r of this.getUsers())this.userModifiedMap[r.userId]!==r.getLastModifiedTime()&&(!r.events.presence||(t.push([r.userId,r.events.presence.event]),this.userModifiedMap[r.userId]=r.getLastModifiedTime()));return this.backend.syncToDatabase(t)})),(0,gt.default)(this,"setSyncData",this.degradable(t=>this.backend.setSyncData(t),"setSyncData")),(0,gt.default)(this,"getOutOfBandMembers",this.degradable(t=>this.backend.getOutOfBandMembers(t),"getOutOfBandMembers")),(0,gt.default)(this,"setOutOfBandMembers",this.degradable((t,r)=>(super.setOutOfBandMembers(t,r),this.backend.setOutOfBandMembers(t,r)),"setOutOfBandMembers")),(0,gt.default)(this,"clearOutOfBandMembers",this.degradable(t=>(super.clearOutOfBandMembers(t),this.backend.clearOutOfBandMembers(t)),"clearOutOfBandMembers")),(0,gt.default)(this,"getClientOptions",this.degradable(()=>this.backend.getClientOptions(),"getClientOptions")),(0,gt.default)(this,"storeClientOptions",this.degradable(t=>(super.storeClientOptions(t),this.backend.storeClientOptions(t)),"storeClientOptions")),!e.indexedDB)throw new Error("Missing required option: indexedDB");e.workerFactory?this.backend=new RA.RemoteIndexedDBStoreBackend(e.workerFactory,e.dbName):this.backend=new _m.LocalIndexedDBStoreBackend(e.indexedDB,e.dbName)}startup(){return this.startedUp?(hn.logger.log("IndexedDBStore.startup: already started"),Promise.resolve()):(hn.logger.log("IndexedDBStore.startup: connecting to backend"),this.backend.connect().then(()=>(hn.logger.log("IndexedDBStore.startup: loading presence events"),this.backend.getUserPresenceEvents())).then(e=>{hn.logger.log("IndexedDBStore.startup: processing presence events"),e.forEach(([t,r])=>{const i=new IA.User(t);r&&i.setPresenceEvent(new TA.MatrixEvent(r)),this.userModifiedMap[i.userId]=i.getLastModifiedTime(),this.storeUser(i)})}))}wantsSave(){return Date.now()-this.syncTs>kA}save(e=!1){return e||this.wantsSave()?this.reallySave():Promise.resolve()}degradable(e,t){const r=super[t];return async(...i)=>{try{return e.call(this,...i)}catch(s){hn.logger.error("IndexedDBStore failure, degrading to MemoryStore",s),this.emitter.emit("degraded",s);try{hn.logger.log("IndexedDBStore trying to delete degraded data"),await this.backend.clearDatabase(),hn.logger.log("IndexedDBStore delete after degrading succeeded")}catch(o){hn.logger.warn("IndexedDBStore delete after degrading failed",o)}if(r)return r(...i)}}}}nu.IndexedDBStore=CA;var bf={};Object.defineProperty(bf,"__esModule",{value:!0});var KA=bf.WebStorageSessionStore=P_,jc=PA(G);function C_(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(C_=function(r){return r?t:e})(n)}function PA(n,e){if(!e&&n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var t=C_(e);if(t&&t.has(n))return t.get(n);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in n)if(s!=="default"&&Object.prototype.hasOwnProperty.call(n,s)){var o=i?Object.getOwnPropertyDescriptor(n,s):null;o&&(o.get||o.set)?Object.defineProperty(r,s,o):r[s]=n[s]}return r.default=n,t&&t.set(n,r),r}const kn="session.e2e.";function P_(n){if(this.store=n,!jc.isFunction(n.getItem)||!jc.isFunction(n.setItem)||!jc.isFunction(n.removeItem)||!jc.isFunction(n.key)||typeof n.length!="number")throw new Error("Supplied webStore does not meet the WebStorage API interface")}P_.prototype={removeEndToEndAccount:function(){this.store.removeItem(Em)},getEndToEndAccount:function(){return this.store.getItem(Em)},getAllEndToEndDevices:function(){const n=Rm(""),e={};for(let t=0;t<this.store.length;++t){const r=this.store.key(t),i=r.substr(n.length);r.startsWith(n)&&(e[i]=Qs(this.store,r))}return e},getEndToEndDeviceTrackingStatus:function(){return Qs(this.store,bm)},getEndToEndDeviceSyncToken:function(){return Qs(this.store,Sm)},removeEndToEndDeviceData:function(){Zs(this.store,Rm("")),Zs(this.store,bm),Zs(this.store,Sm)},getEndToEndSessions:function(n){return Qs(this.store,Vc(n))},getAllEndToEndSessions:function(){const n=Im(this.store,Vc("")),e={};for(const t of n){const r=t.substr(Vc("").length);e[r]=Qs(this.store,t)}return e},removeAllEndToEndSessions:function(){Zs(this.store,Vc(""))},getAllEndToEndInboundGroupSessionKeys:function(){const n=kn+"inboundgroupsessions/",e=[];for(let t=0;t<this.store.length;t++){const r=this.store.key(t);!r.startsWith(n)||e.push({senderKey:r.substr(n.length,43),sessionId:r.substr(n.length+44)})}return e},getEndToEndInboundGroupSession:function(n,e){const t=MA(n,e);return this.store.getItem(t)},removeAllEndToEndInboundGroupSessions:function(){Zs(this.store,kn+"inboundgroupsessions/")},getAllEndToEndRooms:function(){const n=Im(this.store,pd("")),e={};for(const t of n){const r=t.substr(pd("").length);e[r]=Qs(this.store,t)}return e},removeAllEndToEndRooms:function(){Zs(this.store,pd(""))},setLocalTrustedBackupPubKey:function(n){this.store.setItem(wm,n)},getLocalTrustedBackupPubKey:function(){return this.store.getItem(wm)}};const Em=kn+"account",Sm=kn+"device_sync_token",bm=kn+"device_tracking",wm=kn+"trusted_backup_pubkey";function Rm(n){return kn+"devices/"+n}function Vc(n){return kn+"sessions/"+n}function MA(n,e){return kn+"inboundgroupsessions/"+n+"/"+e}function pd(n){return kn+"rooms/"+n}function Qs(n,e){try{return JSON.parse(n.getItem(e))}catch(t){AA(t.stack)}return null}function Im(n,e){const t=[];for(let r=0;r<n.length;++r){const i=n.key(r);i.startsWith(e)&&t.push(i)}return t}function Zs(n,e){const t=[];for(let r=0;r<n.length;++r){const i=n.key(r);i.startsWith(e)&&t.push(i)}for(const r of t)n.removeItem(r)}function AA(...n){}var M_={};Object.defineProperty(M_,"__esModule",{value:!0});(function(n){Object.defineProperty(n,"__esModule",{value:!0});var e={request:!0,getRequest:!0,wrapRequest:!0,setCryptoStoreFactory:!0,createClient:!0,ContentHelpers:!0,createNewMatrixCall:!0};n.ContentHelpers=void 0,n.createClient=fi,Object.defineProperty(n,"createNewMatrixCall",{enumerable:!0,get:function(){return sn.createNewMatrixCall}}),n.getRequest=di,n.request=Ue,n.setCryptoStoreFactory=hi,n.wrapRequest=qr;var t=Po;Object.keys(t).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===t[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return t[_]}})});var r=Ha;Object.keys(r).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===r[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return r[_]}})});var i=$l;Object.keys(i).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===i[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return i[_]}})});var s=it;Object.keys(s).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===s[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return s[_]}})});var o=me;Object.keys(o).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===o[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return o[_]}})});var c=$i;Object.keys(c).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===c[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return c[_]}})});var l=ti;Object.keys(l).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===l[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return l[_]}})});var u=si;Object.keys(u).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===u[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return u[_]}})});var a=_r;Object.keys(a).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===a[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return a[_]}})});var g=qt;Object.keys(g).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===g[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return g[_]}})});var m=ar;Object.keys(m).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===m[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return m[_]}})});var p=Kl;Object.keys(p).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===p[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return p[_]}})});var E=Ft;Object.keys(E).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===E[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return E[_]}})});var I=ei;Object.keys(I).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===I[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return I[_]}})});var w=tn;Object.keys(w).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===w[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return w[_]}})});var k=Tn;Object.keys(k).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===k[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return k[_]}})});var P=en;Object.keys(P).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===P[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return P[_]}})});var S=Cs;Object.keys(S).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===S[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return S[_]}})});var T=Oo;Object.keys(T).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===T[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return T[_]}})});var D=ws;Object.keys(D).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===D[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return D[_]}})});var R=Lo;Object.keys(R).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===R[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return R[_]}})});var L=nu;Object.keys(L).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===L[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return L[_]}})});var H=bf;Object.keys(H).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===H[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return H[_]}})});var F=Kr;Object.keys(F).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===F[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return F[_]}})});var le=Mo;Object.keys(le).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===le[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return le[_]}})});var Je=ne;Object.keys(Je).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===Je[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return Je[_]}})});var Ke=Be;Object.keys(Ke).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===Ke[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return Ke[_]}})});var De=Ye;Object.keys(De).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===De[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return De[_]}})});var ut=M_;Object.keys(ut).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===ut[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return ut[_]}})});var ur=Ko;Object.keys(ur).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===ur[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return ur[_]}})});var jt=ec;Object.keys(jt).forEach(function(_){_==="default"||_==="__esModule"||Object.prototype.hasOwnProperty.call(e,_)||_ in n&&n[_]===jt[_]||Object.defineProperty(n,_,{enumerable:!0,get:function(){return jt[_]}})});var Q=ui(ze);n.ContentHelpers=Q;var sn=Te;function Fr(_){if(typeof WeakMap!="function")return null;var dr=new WeakMap,Mt=new WeakMap;return(Fr=function(hr){return hr?Mt:dr})(_)}function ui(_,dr){if(!dr&&_&&_.__esModule)return _;if(_===null||typeof _!="object"&&typeof _!="function")return{default:_};var Mt=Fr(dr);if(Mt&&Mt.has(_))return Mt.get(_);var hr={},wr=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var st in _)if(st!=="default"&&Object.prototype.hasOwnProperty.call(_,st)){var ot=wr?Object.getOwnPropertyDescriptor(_,st):null;ot&&(ot.get||ot.set)?Object.defineProperty(hr,st,ot):hr[st]=_[st]}return hr.default=_,Mt&&Mt.set(_,hr),hr}let be;function Ue(_){be=_}function di(){return be}function qr(_){const dr=be;be=function(Mt,hr){return _(dr,Mt,hr)}}let Pn=()=>new t.MemoryCryptoStore;function hi(_){Pn=_}function fi(_){return typeof _=="string"&&(_={baseUrl:_}),_.request=_.request||be,_.store=_.store||new r.MemoryStore({localStorage:j.localStorage}),_.scheduler=_.scheduler||new i.MatrixScheduler,_.cryptoStore=_.cryptoStore||Pn(),new s.MatrixClient(_)}})(Is);(function(n){var e=V.exports;Object.defineProperty(n,"__esModule",{value:!0});var t={};n.default=void 0;var r=e(my.exports),i=e(gb),s=c(Is);Object.keys(s).forEach(function(a){a==="default"||a==="__esModule"||Object.prototype.hasOwnProperty.call(t,a)||a in n&&n[a]===s[a]||Object.defineProperty(n,a,{enumerable:!0,get:function(){return s[a]}})});function o(a){if(typeof WeakMap!="function")return null;var g=new WeakMap,m=new WeakMap;return(o=function(p){return p?m:g})(a)}function c(a,g){if(!g&&a&&a.__esModule)return a;if(a===null||typeof a!="object"&&typeof a!="function")return{default:a};var m=o(g);if(m&&m.has(a))return m.get(a);var p={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var I in a)if(I!=="default"&&Object.prototype.hasOwnProperty.call(a,I)){var w=E?Object.getOwnPropertyDescriptor(a,I):null;w&&(w.get||w.set)?Object.defineProperty(p,I,w):p[I]=a[I]}return p.default=a,m&&m.set(a,p),p}if(s.getRequest())throw new Error("Multiple matrix-js-sdk entrypoints detected!");s.request(function(a,g){return a.qs=i.default.stringify(a.qs||{},a.qsStringifyOptions),(0,r.default)(a,g)});let l;try{l=j.indexedDB}catch{}l&&s.setCryptoStoreFactory(function(){return new s.IndexedDBCryptoStore(l,"matrix-js-sdk:crypto")});var u=s;n.default=u,j.matrixcs=s})(IE);export{X_ as $,Il as D,ll as E,ty as F,ba as L,DM as M,LA as O,$A as P,yo as S,KA as W,mE as a,UA as b,eE as c,IE as d,MM as e,zO as f,NA as g,yE as j,Pl as l,xA as o}; diff --git a/pr-121/fonts/Inter-Black.woff2 b/pr-121/fonts/Inter-Black.woff2 Binary files differ. diff --git a/pr-121/fonts/Inter-Bold.woff2 b/pr-121/fonts/Inter-Bold.woff2 Binary files differ. diff --git a/pr-121/fonts/Inter-ExtraBold.woff2 b/pr-121/fonts/Inter-ExtraBold.woff2 Binary files differ. diff --git a/pr-121/fonts/Inter-ExtraLight.woff2 b/pr-121/fonts/Inter-ExtraLight.woff2 Binary files differ. diff --git a/pr-121/fonts/Inter-Light.woff2 b/pr-121/fonts/Inter-Light.woff2 Binary files differ. diff --git a/pr-121/fonts/Inter-Medium.woff2 b/pr-121/fonts/Inter-Medium.woff2 Binary files differ. diff --git a/pr-121/fonts/Inter-Regular.woff2 b/pr-121/fonts/Inter-Regular.woff2 Binary files differ. diff --git a/pr-121/fonts/Inter-SemiBold.woff2 b/pr-121/fonts/Inter-SemiBold.woff2 Binary files differ. diff --git a/pr-121/fonts/Inter-Thin.woff2 b/pr-121/fonts/Inter-Thin.woff2 Binary files differ. diff --git a/pr-121/fonts/Inter-VariableFont_slnt,wght.woff2 b/pr-121/fonts/Inter-VariableFont_slnt,wght.woff2 Binary files differ. diff --git a/pr-121/index.html b/pr-121/index.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8" /> + <link rel="icon" type="image/svg+xml" href="/Logo_colored.svg" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="description" content="Matrix-Art is an image gallery for Matrix."> + <title>Matrix Art</title> + <script> + global = globalThis // fix for "global not defined" error + globalThis.OLM_OPTIONS = undefined; // Fix missing var for olm + </script> + <script type="module" crossorigin src="/assets/index.d4976c03.js"></script> + <link rel="modulepreload" href="/assets/vendor.d127a5c1.js"> + <link rel="stylesheet" href="/assets/index.b49f94f5.css"> +</head> + +<body> + <div id="app"></div> + +</body> + +</html> +\ No newline at end of file diff --git a/pr-121/tick.svg b/pr-121/tick.svg @@ -0,0 +1,4 @@ +<svg viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"> + <path + d="M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z" /> +</svg> +\ No newline at end of file